@hunsu/bridge 0.2.0-next.4 → 0.2.0-next.6
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/README.md +1 -1
- package/dist/cli.js +10 -10
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -10
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var ree=Object.create;var aS=Object.defineProperty;var nee=Object.getOwnPropertyDescriptor;var iee=Object.getOwnPropertyNames;var oee=Object.getPrototypeOf,see=Object.prototype.hasOwnProperty;var Nt=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var N=(t,e)=>()=>(t&&(e=t(t=0)),e);var ce=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),bi=(t,e)=>{for(var r in e)aS(t,r,{get:e[r],enumerable:!0})},t4=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of iee(e))!see.call(t,i)&&i!==r&&aS(t,i,{get:()=>e[i],enumerable:!(n=nee(e,i))||n.enumerable});return t};var tt=(t,e,r)=>(r=t!=null?ree(oee(t)):{},t4(e||!t||!t.__esModule?aS(r,"default",{value:t,enumerable:!0}):r,t)),Wi=t=>t4(aS({},"__esModule",{value:!0}),t);var Bu=ce(xU=>{function ume(){var t,e=!1,r=this;r._DeArray=function(n,i,o){return[n.slice(i,i+o)]},r._EnArray=function(n,i,o,s){for(var a=0;a<o;n[i+a]=s[a]?s[a]:0,a++);},r._DeChar=function(n,i){return String.fromCharCode(n[i])},r._EnChar=function(n,i,o){n[i]=o.charCodeAt(0)},r._DeInt=function(n,i){var o=e?t.len-1:0,s=e?-1:1,a=o+s*t.len,c,u,d;for(c=0,u=o,d=1;u!=a;c+=n[i+u]*d,u+=s,d*=256);return t.bSigned&&c&Math.pow(2,t.len*8-1)&&(c-=Math.pow(2,t.len*8)),c},r._EnInt=function(n,i,o){var s=e?t.len-1:0,a=e?-1:1,c=s+a*t.len,u;for(o=o<t.min?t.min:o>t.max?t.max:o,u=s;u!=c;n[i+u]=o&255,u+=a,o>>=8);},r._DeString=function(n,i,o){for(var s=new Array(o),a=0;a<o;s[a]=String.fromCharCode(n[i+a]),a++);return s.join("")},r._EnString=function(n,i,o,s){for(var a,c=0;c<o;n[i+c]=(a=s.charCodeAt(c))?a:0,c++);},r._De754=function(n,i){var o,s,a,c,u,d,l,f,p,g;for(l=t.mLen,f=t.len*8-t.mLen-1,g=(1<<f)-1,p=g>>1,c=e?0:t.len-1,u=e?1:-1,o=n[i+c],c+=u,d=-7,s=o&(1<<-d)-1,o>>=-d,d+=f;d>0;s=s*256+n[i+c],c+=u,d-=8);for(a=s&(1<<-d)-1,s>>=-d,d+=l;d>0;a=a*256+n[i+c],c+=u,d-=8);switch(s){case 0:s=1-p;break;case g:return a?NaN:(o?-1:1)*(1/0);default:a=a+Math.pow(2,l),s=s-p;break}return(o?-1:1)*a*Math.pow(2,s-l)},r._En754=function(n,i,o){var s,a,c,u,d,l,f,p,g,v;for(f=t.mLen,p=t.len*8-t.mLen-1,v=(1<<p)-1,g=v>>1,s=o<0?1:0,o=Math.abs(o),isNaN(o)||o==1/0?(c=isNaN(o)?1:0,a=v):(a=Math.floor(Math.log(o)/Math.LN2),o*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+g>=1?o+=t.rt/l:o+=t.rt*Math.pow(2,1-g),o*l>=2&&(a++,l/=2),a+g>=v?(c=0,a=v):a+g>=1?(c=(o*l-1)*Math.pow(2,f),a=a+g):(c=o*Math.pow(2,g-1)*Math.pow(2,f),a=0)),u=e?t.len-1:0,d=e?-1:1;f>=8;n[i+u]=c&255,u+=d,c/=256,f-=8);for(a=a<<f|c,p+=f;p>0;n[i+u]=a&255,u+=d,a/=256,p-=8);n[i+u-d]|=s*128},r._DeInt64=function(n,i){var o=e?0:7,s=e?1:-1,a=o+s*8,c=[0,0,!t.bSigned],u,d,l;for(u=o,l=1,d=0;u!=a;c[l]=(c[l]<<8>>>0)+n[i+u],u+=s,d++,l=d<4?1:0);return c},r._EnInt64=function(n,i,o){var s=e?0:7,a=e?1:-1,c=s+a*8,u,d,l,f;for(u=s,l=1,d=0,f=24;u!=c;n[i+u]=o[l]>>f&255,u+=a,d++,l=d<4?1:0,f=24-8*(d%4));},r._sPattern="(\\d + )?([AxcbBhHsfdiIlLqQ])",r._lenLut={A:1,x:1,c:1,b:1,B:1,h:2,H:2,s:1,f:4,d:8,i:4,I:4,l:4,L:4,q:8,Q:8},r._elLut={A:{en:r._EnArray,de:r._DeArray},s:{en:r._EnString,de:r._DeString},c:{en:r._EnChar,de:r._DeChar},b:{en:r._EnInt,de:r._DeInt,len:1,bSigned:!0,min:-Math.pow(2,7),max:Math.pow(2,7)-1},B:{en:r._EnInt,de:r._DeInt,len:1,bSigned:!1,min:0,max:Math.pow(2,8)-1},h:{en:r._EnInt,de:r._DeInt,len:2,bSigned:!0,min:-Math.pow(2,15),max:Math.pow(2,15)-1},H:{en:r._EnInt,de:r._DeInt,len:2,bSigned:!1,min:0,max:Math.pow(2,16)-1},i:{en:r._EnInt,de:r._DeInt,len:4,bSigned:!0,min:-Math.pow(2,31),max:Math.pow(2,31)-1},I:{en:r._EnInt,de:r._DeInt,len:4,bSigned:!1,min:0,max:Math.pow(2,32)-1},l:{en:r._EnInt,de:r._DeInt,len:4,bSigned:!0,min:-Math.pow(2,31),max:Math.pow(2,31)-1},L:{en:r._EnInt,de:r._DeInt,len:4,bSigned:!1,min:0,max:Math.pow(2,32)-1},f:{en:r._En754,de:r._De754,len:4,mLen:23,rt:Math.pow(2,-24)-Math.pow(2,-77)},d:{en:r._En754,de:r._De754,len:8,mLen:52,rt:0},q:{en:r._EnInt64,de:r._DeInt64,bSigned:!0},Q:{en:r._EnInt64,de:r._DeInt64,bSigned:!1}},r._UnpackSeries=function(n,i,o,s){for(var a=t.de,c=[],u=0;u<n;c.push(a(o,s+u*i)),u++);return c},r._PackSeries=function(n,i,o,s,a,c){for(var u=t.en,d=0;d<n;u(o,s+d*i,a[c+d]),d++);},r.Unpack=function(n,i,o){e=n.charAt(0)!="<",o=o||0;for(var s=new RegExp(this._sPattern,"g"),a,c,u,d=[];a=s.exec(n);){if(c=a[1]==null||a[1]==""?1:parseInt(a[1]),u=this._lenLut[a[2]],o+c*u>i.length)return;switch(a[2]){case"A":case"s":d.push(this._elLut[a[2]].de(i,o,c));break;case"c":case"b":case"B":case"h":case"H":case"i":case"I":case"l":case"L":case"f":case"d":case"q":case"Q":t=this._elLut[a[2]],d.push(this._UnpackSeries(c,u,i,o));break}o+=c*u}return Array.prototype.concat.apply([],d)},r.PackTo=function(n,i,o,s){e=n.charAt(0)!="<";for(var a=new RegExp(this._sPattern,"g"),c,u,d,l,f=0;c=a.exec(n);){if(u=c[1]==null||c[1]==""?1:parseInt(c[1]),d=this._lenLut[c[2]],o+u*d>i.length)return!1;switch(c[2]){case"A":case"s":if(f+1>s.length)return!1;this._elLut[c[2]].en(i,o,u,s[f]),f+=1;break;case"c":case"b":case"B":case"h":case"H":case"i":case"I":case"l":case"L":case"f":case"d":case"q":case"Q":if(t=this._elLut[c[2]],f+u>s.length)return!1;this._PackSeries(u,d,i,o,s,f),f+=u;break;case"x":for(l=0;l<u;l++)i[o+l]=0;break}o+=u*d}return i},r.Pack=function(n,i){return this.PackTo(n,new Array(this.CalcLength(n)),0,i)},r.CalcLength=function(n){for(var i=new RegExp(this._sPattern,"g"),o=0,s;s=i.exec(n);)o+=(s[1]==null||s[1]==""?1:parseInt(s[1]))*this._lenLut[s[2]];return o}}xU.jspack=new ume});var bU=ce((KOe,SU)=>{var xp=1e3,Sp=xp*60,bp=Sp*60,gl=bp*24,dme=gl*7,lme=gl*365.25;SU.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return fme(t);if(r==="number"&&isFinite(t))return e.long?mme(t):pme(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function fme(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*lme;case"weeks":case"week":case"w":return r*dme;case"days":case"day":case"d":return r*gl;case"hours":case"hour":case"hrs":case"hr":case"h":return r*bp;case"minutes":case"minute":case"mins":case"min":case"m":return r*Sp;case"seconds":case"second":case"secs":case"sec":case"s":return r*xp;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function pme(t){var e=Math.abs(t);return e>=gl?Math.round(t/gl)+"d":e>=bp?Math.round(t/bp)+"h":e>=Sp?Math.round(t/Sp)+"m":e>=xp?Math.round(t/xp)+"s":t+"ms"}function mme(t){var e=Math.abs(t);return e>=gl?pw(t,e,gl,"day"):e>=bp?pw(t,e,bp,"hour"):e>=Sp?pw(t,e,Sp,"minute"):e>=xp?pw(t,e,xp,"second"):t+" ms"}function pw(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var RP=ce((JOe,wU)=>{function hme(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=a,r.humanize=bU(),r.destroy=u,Object.keys(t).forEach(d=>{r[d]=t[d]}),r.names=[],r.skips=[],r.formatters={};function e(d){let l=0;for(let f=0;f<d.length;f++)l=(l<<5)-l+d.charCodeAt(f),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(d){let l,f=null,p,g;function v(...b){if(!v.enabled)return;let C=v,B=Number(new Date),_=B-(l||B);C.diff=_,C.prev=l,C.curr=B,l=B,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let F=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(z,Ae)=>{if(z==="%%")return"%";F++;let de=r.formatters[Ae];if(typeof de=="function"){let R=b[F];z=de.call(C,R),b.splice(F,1),F--}return z}),r.formatArgs.call(C,b),(C.log||r.log).apply(C,b)}return v.namespace=d,v.useColors=r.useColors(),v.color=r.selectColor(d),v.extend=n,v.destroy=r.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(p!==r.namespaces&&(p=r.namespaces,g=r.enabled(d)),g),set:b=>{f=b}}),typeof r.init=="function"&&r.init(v),v}function n(d,l){let f=r(this.namespace+(typeof l>"u"?":":l)+d);return f.log=this.log,f}function i(d){r.save(d),r.namespaces=d,r.names=[],r.skips=[];let l=(typeof d=="string"?d:"").trim().replace(" ",",").split(",").filter(Boolean);for(let f of l)f[0]==="-"?r.skips.push(f.slice(1)):r.names.push(f)}function o(d,l){let f=0,p=0,g=-1,v=0;for(;f<d.length;)if(p<l.length&&(l[p]===d[f]||l[p]==="*"))l[p]==="*"?(g=p,v=f,p++):(f++,p++);else if(g!==-1)p=g+1,v++,f=v;else return!1;for(;p<l.length&&l[p]==="*";)p++;return p===l.length}function s(){let d=[...r.names,...r.skips.map(l=>"-"+l)].join(",");return r.enable(""),d}function a(d){for(let l of r.skips)if(o(d,l))return!1;for(let l of r.names)if(o(d,l))return!0;return!1}function c(d){return d instanceof Error?d.stack||d.message:d}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}wU.exports=hme});var IU=ce((Qi,mw)=>{Qi.formatArgs=yme;Qi.save=vme;Qi.load=xme;Qi.useColors=gme;Qi.storage=Sme();Qi.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Qi.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function gme(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function yme(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+mw.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}Qi.log=console.debug||console.log||(()=>{});function vme(t){try{t?Qi.storage.setItem("debug",t):Qi.storage.removeItem("debug")}catch{}}function xme(){let t;try{t=Qi.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Sme(){try{return localStorage}catch{}}mw.exports=RP()(Qi);var{formatters:bme}=mw.exports;bme.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var kU={};bi(kU,{createSupportsColor:()=>AP,default:()=>Ame});import CP from"node:process";import wme from"node:os";import EU from"node:tty";function So(t,e=globalThis.Deno?globalThis.Deno.args:CP.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),i=e.indexOf("--");return n!==-1&&(i===-1||n<i)}function Ime(){if(!("FORCE_COLOR"in Ar))return;if(Ar.FORCE_COLOR==="true")return 1;if(Ar.FORCE_COLOR==="false")return 0;if(Ar.FORCE_COLOR.length===0)return 1;let t=Math.min(Number.parseInt(Ar.FORCE_COLOR,10),3);if([0,1,2,3].includes(t))return t}function Eme(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function kme(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=Ime();n!==void 0&&(hw=n);let i=r?hw:n;if(i===0)return 0;if(r){if(So("color=16m")||So("color=full")||So("color=truecolor"))return 3;if(So("color=256"))return 2}if("TF_BUILD"in Ar&&"AGENT_NAME"in Ar)return 1;if(t&&!e&&i===void 0)return 0;let o=i||0;if(Ar.TERM==="dumb")return o;if(CP.platform==="win32"){let s=wme.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in Ar)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in Ar)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in Ar)||Ar.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in Ar)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ar.TEAMCITY_VERSION)?1:0;if(Ar.COLORTERM==="truecolor"||Ar.TERM==="xterm-kitty"||Ar.TERM==="xterm-ghostty"||Ar.TERM==="wezterm")return 3;if("TERM_PROGRAM"in Ar){let s=Number.parseInt((Ar.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ar.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ar.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ar.TERM)||"COLORTERM"in Ar?1:o}function AP(t,e={}){let r=kme(t,{streamIsTTY:t&&t.isTTY,...e});return Eme(r)}var Ar,hw,Rme,Ame,RU=N(()=>{({env:Ar}=CP);So("no-color")||So("no-colors")||So("color=false")||So("color=never")?hw=0:(So("color")||So("colors")||So("color=true")||So("color=always"))&&(hw=1);Rme={stdout:AP({isTTY:EU.isatty(1)}),stderr:AP({isTTY:EU.isatty(2)})},Ame=Rme});var CU=ce((En,yw)=>{var Cme=Nt("node:tty"),gw=Nt("node:util");En.init=Ome;En.log=Bme;En.formatArgs=_me;En.save=Dme;En.load=Nme;En.useColors=Pme;En.destroy=gw.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");En.colors=[6,2,3,4,5,1];try{let t=(RU(),Wi(kU));t&&(t.stderr||t).level>=2&&(En.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}En.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(i,o)=>o.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function Pme(){return"colors"in En.inspectOpts?!!En.inspectOpts.colors:Cme.isatty(process.stderr.fd)}function _me(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),o=` ${i};1m${e} \x1B[0m`;t[0]=o+t[0].split(`
|
|
1
|
+
var ree=Object.create;var aS=Object.defineProperty;var nee=Object.getOwnPropertyDescriptor;var iee=Object.getOwnPropertyNames;var oee=Object.getPrototypeOf,see=Object.prototype.hasOwnProperty;var Nt=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var N=(t,e)=>()=>(t&&(e=t(t=0)),e);var ce=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),bi=(t,e)=>{for(var r in e)aS(t,r,{get:e[r],enumerable:!0})},t3=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of iee(e))!see.call(t,i)&&i!==r&&aS(t,i,{get:()=>e[i],enumerable:!(n=nee(e,i))||n.enumerable});return t};var tt=(t,e,r)=>(r=t!=null?ree(oee(t)):{},t3(e||!t||!t.__esModule?aS(r,"default",{value:t,enumerable:!0}):r,t)),Wi=t=>t3(aS({},"__esModule",{value:!0}),t);var Bu=ce(xU=>{function ume(){var t,e=!1,r=this;r._DeArray=function(n,i,o){return[n.slice(i,i+o)]},r._EnArray=function(n,i,o,s){for(var a=0;a<o;n[i+a]=s[a]?s[a]:0,a++);},r._DeChar=function(n,i){return String.fromCharCode(n[i])},r._EnChar=function(n,i,o){n[i]=o.charCodeAt(0)},r._DeInt=function(n,i){var o=e?t.len-1:0,s=e?-1:1,a=o+s*t.len,c,u,d;for(c=0,u=o,d=1;u!=a;c+=n[i+u]*d,u+=s,d*=256);return t.bSigned&&c&Math.pow(2,t.len*8-1)&&(c-=Math.pow(2,t.len*8)),c},r._EnInt=function(n,i,o){var s=e?t.len-1:0,a=e?-1:1,c=s+a*t.len,u;for(o=o<t.min?t.min:o>t.max?t.max:o,u=s;u!=c;n[i+u]=o&255,u+=a,o>>=8);},r._DeString=function(n,i,o){for(var s=new Array(o),a=0;a<o;s[a]=String.fromCharCode(n[i+a]),a++);return s.join("")},r._EnString=function(n,i,o,s){for(var a,c=0;c<o;n[i+c]=(a=s.charCodeAt(c))?a:0,c++);},r._De754=function(n,i){var o,s,a,c,u,d,l,f,p,g;for(l=t.mLen,f=t.len*8-t.mLen-1,g=(1<<f)-1,p=g>>1,c=e?0:t.len-1,u=e?1:-1,o=n[i+c],c+=u,d=-7,s=o&(1<<-d)-1,o>>=-d,d+=f;d>0;s=s*256+n[i+c],c+=u,d-=8);for(a=s&(1<<-d)-1,s>>=-d,d+=l;d>0;a=a*256+n[i+c],c+=u,d-=8);switch(s){case 0:s=1-p;break;case g:return a?NaN:(o?-1:1)*(1/0);default:a=a+Math.pow(2,l),s=s-p;break}return(o?-1:1)*a*Math.pow(2,s-l)},r._En754=function(n,i,o){var s,a,c,u,d,l,f,p,g,v;for(f=t.mLen,p=t.len*8-t.mLen-1,v=(1<<p)-1,g=v>>1,s=o<0?1:0,o=Math.abs(o),isNaN(o)||o==1/0?(c=isNaN(o)?1:0,a=v):(a=Math.floor(Math.log(o)/Math.LN2),o*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+g>=1?o+=t.rt/l:o+=t.rt*Math.pow(2,1-g),o*l>=2&&(a++,l/=2),a+g>=v?(c=0,a=v):a+g>=1?(c=(o*l-1)*Math.pow(2,f),a=a+g):(c=o*Math.pow(2,g-1)*Math.pow(2,f),a=0)),u=e?t.len-1:0,d=e?-1:1;f>=8;n[i+u]=c&255,u+=d,c/=256,f-=8);for(a=a<<f|c,p+=f;p>0;n[i+u]=a&255,u+=d,a/=256,p-=8);n[i+u-d]|=s*128},r._DeInt64=function(n,i){var o=e?0:7,s=e?1:-1,a=o+s*8,c=[0,0,!t.bSigned],u,d,l;for(u=o,l=1,d=0;u!=a;c[l]=(c[l]<<8>>>0)+n[i+u],u+=s,d++,l=d<4?1:0);return c},r._EnInt64=function(n,i,o){var s=e?0:7,a=e?1:-1,c=s+a*8,u,d,l,f;for(u=s,l=1,d=0,f=24;u!=c;n[i+u]=o[l]>>f&255,u+=a,d++,l=d<4?1:0,f=24-8*(d%4));},r._sPattern="(\\d + )?([AxcbBhHsfdiIlLqQ])",r._lenLut={A:1,x:1,c:1,b:1,B:1,h:2,H:2,s:1,f:4,d:8,i:4,I:4,l:4,L:4,q:8,Q:8},r._elLut={A:{en:r._EnArray,de:r._DeArray},s:{en:r._EnString,de:r._DeString},c:{en:r._EnChar,de:r._DeChar},b:{en:r._EnInt,de:r._DeInt,len:1,bSigned:!0,min:-Math.pow(2,7),max:Math.pow(2,7)-1},B:{en:r._EnInt,de:r._DeInt,len:1,bSigned:!1,min:0,max:Math.pow(2,8)-1},h:{en:r._EnInt,de:r._DeInt,len:2,bSigned:!0,min:-Math.pow(2,15),max:Math.pow(2,15)-1},H:{en:r._EnInt,de:r._DeInt,len:2,bSigned:!1,min:0,max:Math.pow(2,16)-1},i:{en:r._EnInt,de:r._DeInt,len:4,bSigned:!0,min:-Math.pow(2,31),max:Math.pow(2,31)-1},I:{en:r._EnInt,de:r._DeInt,len:4,bSigned:!1,min:0,max:Math.pow(2,32)-1},l:{en:r._EnInt,de:r._DeInt,len:4,bSigned:!0,min:-Math.pow(2,31),max:Math.pow(2,31)-1},L:{en:r._EnInt,de:r._DeInt,len:4,bSigned:!1,min:0,max:Math.pow(2,32)-1},f:{en:r._En754,de:r._De754,len:4,mLen:23,rt:Math.pow(2,-24)-Math.pow(2,-77)},d:{en:r._En754,de:r._De754,len:8,mLen:52,rt:0},q:{en:r._EnInt64,de:r._DeInt64,bSigned:!0},Q:{en:r._EnInt64,de:r._DeInt64,bSigned:!1}},r._UnpackSeries=function(n,i,o,s){for(var a=t.de,c=[],u=0;u<n;c.push(a(o,s+u*i)),u++);return c},r._PackSeries=function(n,i,o,s,a,c){for(var u=t.en,d=0;d<n;u(o,s+d*i,a[c+d]),d++);},r.Unpack=function(n,i,o){e=n.charAt(0)!="<",o=o||0;for(var s=new RegExp(this._sPattern,"g"),a,c,u,d=[];a=s.exec(n);){if(c=a[1]==null||a[1]==""?1:parseInt(a[1]),u=this._lenLut[a[2]],o+c*u>i.length)return;switch(a[2]){case"A":case"s":d.push(this._elLut[a[2]].de(i,o,c));break;case"c":case"b":case"B":case"h":case"H":case"i":case"I":case"l":case"L":case"f":case"d":case"q":case"Q":t=this._elLut[a[2]],d.push(this._UnpackSeries(c,u,i,o));break}o+=c*u}return Array.prototype.concat.apply([],d)},r.PackTo=function(n,i,o,s){e=n.charAt(0)!="<";for(var a=new RegExp(this._sPattern,"g"),c,u,d,l,f=0;c=a.exec(n);){if(u=c[1]==null||c[1]==""?1:parseInt(c[1]),d=this._lenLut[c[2]],o+u*d>i.length)return!1;switch(c[2]){case"A":case"s":if(f+1>s.length)return!1;this._elLut[c[2]].en(i,o,u,s[f]),f+=1;break;case"c":case"b":case"B":case"h":case"H":case"i":case"I":case"l":case"L":case"f":case"d":case"q":case"Q":if(t=this._elLut[c[2]],f+u>s.length)return!1;this._PackSeries(u,d,i,o,s,f),f+=u;break;case"x":for(l=0;l<u;l++)i[o+l]=0;break}o+=u*d}return i},r.Pack=function(n,i){return this.PackTo(n,new Array(this.CalcLength(n)),0,i)},r.CalcLength=function(n){for(var i=new RegExp(this._sPattern,"g"),o=0,s;s=i.exec(n);)o+=(s[1]==null||s[1]==""?1:parseInt(s[1]))*this._lenLut[s[2]];return o}}xU.jspack=new ume});var bU=ce((KOe,SU)=>{var xp=1e3,Sp=xp*60,bp=Sp*60,gl=bp*24,dme=gl*7,lme=gl*365.25;SU.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return fme(t);if(r==="number"&&isFinite(t))return e.long?mme(t):pme(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function fme(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*lme;case"weeks":case"week":case"w":return r*dme;case"days":case"day":case"d":return r*gl;case"hours":case"hour":case"hrs":case"hr":case"h":return r*bp;case"minutes":case"minute":case"mins":case"min":case"m":return r*Sp;case"seconds":case"second":case"secs":case"sec":case"s":return r*xp;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function pme(t){var e=Math.abs(t);return e>=gl?Math.round(t/gl)+"d":e>=bp?Math.round(t/bp)+"h":e>=Sp?Math.round(t/Sp)+"m":e>=xp?Math.round(t/xp)+"s":t+"ms"}function mme(t){var e=Math.abs(t);return e>=gl?pw(t,e,gl,"day"):e>=bp?pw(t,e,bp,"hour"):e>=Sp?pw(t,e,Sp,"minute"):e>=xp?pw(t,e,xp,"second"):t+" ms"}function pw(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var RP=ce((JOe,wU)=>{function hme(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=a,r.humanize=bU(),r.destroy=u,Object.keys(t).forEach(d=>{r[d]=t[d]}),r.names=[],r.skips=[],r.formatters={};function e(d){let l=0;for(let f=0;f<d.length;f++)l=(l<<5)-l+d.charCodeAt(f),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(d){let l,f=null,p,g;function v(...b){if(!v.enabled)return;let C=v,B=Number(new Date),_=B-(l||B);C.diff=_,C.prev=l,C.curr=B,l=B,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let F=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(z,Ae)=>{if(z==="%%")return"%";F++;let de=r.formatters[Ae];if(typeof de=="function"){let R=b[F];z=de.call(C,R),b.splice(F,1),F--}return z}),r.formatArgs.call(C,b),(C.log||r.log).apply(C,b)}return v.namespace=d,v.useColors=r.useColors(),v.color=r.selectColor(d),v.extend=n,v.destroy=r.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(p!==r.namespaces&&(p=r.namespaces,g=r.enabled(d)),g),set:b=>{f=b}}),typeof r.init=="function"&&r.init(v),v}function n(d,l){let f=r(this.namespace+(typeof l>"u"?":":l)+d);return f.log=this.log,f}function i(d){r.save(d),r.namespaces=d,r.names=[],r.skips=[];let l=(typeof d=="string"?d:"").trim().replace(" ",",").split(",").filter(Boolean);for(let f of l)f[0]==="-"?r.skips.push(f.slice(1)):r.names.push(f)}function o(d,l){let f=0,p=0,g=-1,v=0;for(;f<d.length;)if(p<l.length&&(l[p]===d[f]||l[p]==="*"))l[p]==="*"?(g=p,v=f,p++):(f++,p++);else if(g!==-1)p=g+1,v++,f=v;else return!1;for(;p<l.length&&l[p]==="*";)p++;return p===l.length}function s(){let d=[...r.names,...r.skips.map(l=>"-"+l)].join(",");return r.enable(""),d}function a(d){for(let l of r.skips)if(o(d,l))return!1;for(let l of r.names)if(o(d,l))return!0;return!1}function c(d){return d instanceof Error?d.stack||d.message:d}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}wU.exports=hme});var IU=ce((Qi,mw)=>{Qi.formatArgs=yme;Qi.save=vme;Qi.load=xme;Qi.useColors=gme;Qi.storage=Sme();Qi.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Qi.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function gme(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function yme(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+mw.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}Qi.log=console.debug||console.log||(()=>{});function vme(t){try{t?Qi.storage.setItem("debug",t):Qi.storage.removeItem("debug")}catch{}}function xme(){let t;try{t=Qi.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Sme(){try{return localStorage}catch{}}mw.exports=RP()(Qi);var{formatters:bme}=mw.exports;bme.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var kU={};bi(kU,{createSupportsColor:()=>AP,default:()=>Ame});import CP from"node:process";import wme from"node:os";import EU from"node:tty";function So(t,e=globalThis.Deno?globalThis.Deno.args:CP.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),i=e.indexOf("--");return n!==-1&&(i===-1||n<i)}function Ime(){if(!("FORCE_COLOR"in Ar))return;if(Ar.FORCE_COLOR==="true")return 1;if(Ar.FORCE_COLOR==="false")return 0;if(Ar.FORCE_COLOR.length===0)return 1;let t=Math.min(Number.parseInt(Ar.FORCE_COLOR,10),3);if([0,1,2,3].includes(t))return t}function Eme(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function kme(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let n=Ime();n!==void 0&&(hw=n);let i=r?hw:n;if(i===0)return 0;if(r){if(So("color=16m")||So("color=full")||So("color=truecolor"))return 3;if(So("color=256"))return 2}if("TF_BUILD"in Ar&&"AGENT_NAME"in Ar)return 1;if(t&&!e&&i===void 0)return 0;let o=i||0;if(Ar.TERM==="dumb")return o;if(CP.platform==="win32"){let s=wme.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in Ar)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in Ar)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in Ar)||Ar.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in Ar)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ar.TEAMCITY_VERSION)?1:0;if(Ar.COLORTERM==="truecolor"||Ar.TERM==="xterm-kitty"||Ar.TERM==="xterm-ghostty"||Ar.TERM==="wezterm")return 3;if("TERM_PROGRAM"in Ar){let s=Number.parseInt((Ar.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ar.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ar.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ar.TERM)||"COLORTERM"in Ar?1:o}function AP(t,e={}){let r=kme(t,{streamIsTTY:t&&t.isTTY,...e});return Eme(r)}var Ar,hw,Rme,Ame,RU=N(()=>{({env:Ar}=CP);So("no-color")||So("no-colors")||So("color=false")||So("color=never")?hw=0:(So("color")||So("colors")||So("color=true")||So("color=always"))&&(hw=1);Rme={stdout:AP({isTTY:EU.isatty(1)}),stderr:AP({isTTY:EU.isatty(2)})},Ame=Rme});var CU=ce((En,yw)=>{var Cme=Nt("node:tty"),gw=Nt("node:util");En.init=Ome;En.log=Bme;En.formatArgs=_me;En.save=Dme;En.load=Nme;En.useColors=Pme;En.destroy=gw.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");En.colors=[6,2,3,4,5,1];try{let t=(RU(),Wi(kU));t&&(t.stderr||t).level>=2&&(En.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}En.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(i,o)=>o.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function Pme(){return"colors"in En.inspectOpts?!!En.inspectOpts.colors:Cme.isatty(process.stderr.fd)}function _me(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),o=` ${i};1m${e} \x1B[0m`;t[0]=o+t[0].split(`
|
|
2
2
|
`).join(`
|
|
3
3
|
`+o),t.push(i+"m+"+yw.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Tme()+e+" "+t[0]}function Tme(){return En.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Bme(...t){return process.stderr.write(gw.formatWithOptions(En.inspectOpts,...t)+`
|
|
4
4
|
`)}function Dme(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Nme(){return process.env.DEBUG}function Ome(t){t.inspectOpts={};let e=Object.keys(En.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=En.inspectOpts[e[r]]}yw.exports=RP()(En);var{formatters:AU}=yw.exports;AU.o=function(t){return this.inspectOpts.colors=this.useColors,gw.inspect(t,this.inspectOpts).split(`
|
|
5
|
-
`).map(e=>e.trim()).join(" ")};AU.O=function(t){return this.inspectOpts.colors=this.useColors,gw.inspect(t,this.inspectOpts)}});var PU=ce((ZOe,PP)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?PP.exports=IU():PP.exports=CU()});var vw=ce(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});var Mme=Nt("node:net");function Lme(t){switch(Mme.isIP(t)){case 4:return Buffer.from(t.split(".").map(i=>parseInt(i,10)));case 6:let e=t.split(":"),r=Buffer.alloc(16),n=0;e[e.length-1]===""&&(e[e.length-1]="0");for(let i=0;i<e.length;i++){if(e[i]===""){i+1<e.length&&e[i+1]!==""&&(n=16-(e.length-i-1)*2);continue}r.writeUInt16BE(parseInt(e[i],16),n),n+=2}return r;default:return null}}wp.bytesFromIP=Lme;function Hme(t){switch(t.length){case 4:return[t[0],t[1],t[2],t[3]].join(".");case 16:let e=[],r=-1,n=0,i=-1,o=0;for(let s=0;s<t.length;s+=2){let a=t[s]<<8|t[s+1];a===0?(n++,r===-1&&(r=e.length),n>o&&(o=n,i=r)):(r=-1,n=0),e.push(a.toString(16))}if(o>0){let s="",a=e.slice(i+o);e.length=i,e.length===0&&(s+=":"),a.length===0&&(s+=":"),e.push(s,...a)}return e.join(":");default:return""}}wp.bytesToIP=Hme;var Du=Object.create(null),_U=/^[0-9.]+$/;function Ume(t){return _U.test(t)&&Du[t]!==""?t:Du[t]==null?"":Du[t]}wp.getOID=Ume;function $me(t){return!_U.test(t)&&Du[t]!==""||Du[t]==null?t:Du[t]}wp.getOIDName=$me;function ue(t,e){Du[t]=e,Du[e]=t}ue("1.2.840.113549.1.1.1","rsaEncryption");ue("1.2.840.113549.1.1.4","md5WithRsaEncryption");ue("1.2.840.113549.1.1.5","sha1WithRsaEncryption");ue("1.2.840.113549.1.1.8","mgf1");ue("1.2.840.113549.1.1.10","RSASSA-PSS");ue("1.2.840.113549.1.1.11","sha256WithRsaEncryption");ue("1.2.840.113549.1.1.12","sha384WithRsaEncryption");ue("1.2.840.113549.1.1.13","sha512WithRsaEncryption");ue("1.2.840.10045.2.1","ecEncryption");ue("1.2.840.10045.4.1","ecdsaWithSha1");ue("1.2.840.10045.4.3.2","ecdsaWithSha256");ue("1.2.840.10045.4.3.3","ecdsaWithSha384");ue("1.2.840.10045.4.3.4","ecdsaWithSha512");ue("1.2.840.10040.4.3","dsaWithSha1");ue("2.16.840.1.101.3.4.3.2","dsaWithSha256");ue("1.3.14.3.2.7","desCBC");ue("1.3.14.3.2.26","sha1");ue("2.16.840.1.101.3.4.2.1","sha256");ue("2.16.840.1.101.3.4.2.2","sha384");ue("2.16.840.1.101.3.4.2.3","sha512");ue("1.2.840.113549.2.5","md5");ue("1.3.101.110","X25519");ue("1.3.101.111","X448");ue("1.3.101.112","Ed25519");ue("1.3.101.113","Ed448");ue("1.2.840.113549.1.7.1","data");ue("1.2.840.113549.1.7.2","signedData");ue("1.2.840.113549.1.7.3","envelopedData");ue("1.2.840.113549.1.7.4","signedAndEnvelopedData");ue("1.2.840.113549.1.7.5","digestedData");ue("1.2.840.113549.1.7.6","encryptedData");ue("1.2.840.113549.1.9.1","emailAddress");ue("1.2.840.113549.1.9.2","unstructuredName");ue("1.2.840.113549.1.9.3","contentType");ue("1.2.840.113549.1.9.4","messageDigest");ue("1.2.840.113549.1.9.5","signingTime");ue("1.2.840.113549.1.9.6","counterSignature");ue("1.2.840.113549.1.9.7","challengePassword");ue("1.2.840.113549.1.9.8","unstructuredAddress");ue("1.2.840.113549.1.9.14","extensionRequest");ue("1.2.840.113549.1.9.20","friendlyName");ue("1.2.840.113549.1.9.21","localKeyId");ue("1.2.840.113549.1.9.22.1","x509Certificate");ue("1.2.840.113549.1.12.10.1.1","keyBag");ue("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");ue("1.2.840.113549.1.12.10.1.3","certBag");ue("1.2.840.113549.1.12.10.1.4","crlBag");ue("1.2.840.113549.1.12.10.1.5","secretBag");ue("1.2.840.113549.1.12.10.1.6","safeContentsBag");ue("1.2.840.113549.1.5.13","pkcs5PBES2");ue("1.2.840.113549.1.5.12","pkcs5PBKDF2");ue("1.2.840.113549.2.7","hmacWithSha1");ue("1.2.840.113549.2.9","hmacWithSha256");ue("1.2.840.113549.2.10","hmacWithSha384");ue("1.2.840.113549.2.11","hmacWithSha512");ue("1.2.840.113549.3.7","3desCBC");ue("2.16.840.1.101.3.4.1.2","aesCBC128");ue("2.16.840.1.101.3.4.1.42","aesCBC256");ue("2.5.4.3","commonName");ue("2.5.4.5","serialName");ue("2.5.4.6","countryName");ue("2.5.4.7","localityName");ue("2.5.4.8","stateOrProvinceName");ue("2.5.4.10","organizationName");ue("2.5.4.11","organizationalUnitName");ue("2.5.4.15","businessCategory");ue("2.16.840.1.113730.1.1","nsCertType");ue("2.5.29.2","keyAttributes");ue("2.5.29.4","keyUsageRestriction");ue("2.5.29.6","subtreesConstraint");ue("2.5.29.9","subjectDirectoryAttributes");ue("2.5.29.14","subjectKeyIdentifier");ue("2.5.29.15","keyUsage");ue("2.5.29.16","privateKeyUsagePeriod");ue("2.5.29.17","subjectAltName");ue("2.5.29.18","issuerAltName");ue("2.5.29.19","basicConstraints");ue("2.5.29.20","cRLNumber");ue("2.5.29.21","cRLReason");ue("2.5.29.22","expirationDate");ue("2.5.29.23","instructionCode");ue("2.5.29.24","invalidityDate");ue("2.5.29.27","deltaCRLIndicator");ue("2.5.29.28","issuingDistributionPoint");ue("2.5.29.29","certificateIssuer");ue("2.5.29.30","nameConstraints");ue("2.5.29.31","cRLDistributionPoints");ue("2.5.29.32","certificatePolicies");ue("2.5.29.33","policyMappings");ue("2.5.29.35","authorityKeyIdentifier");ue("2.5.29.36","policyConstraints");ue("2.5.29.37","extKeyUsage");ue("2.5.29.46","freshestCRL");ue("2.5.29.54","inhibitAnyPolicy");ue("1.3.6.1.4.1.311.60.2.1.2","jurisdictionST");ue("1.3.6.1.4.1.311.60.2.1.3","jurisdictionC");ue("1.3.6.1.4.1.11129.2.4.2","timestampList");ue("1.3.6.1.5.5.7.1.1","authorityInfoAccess");ue("1.3.6.1.5.5.7.3.1","serverAuth");ue("1.3.6.1.5.5.7.3.2","clientAuth");ue("1.3.6.1.5.5.7.3.3","codeSigning");ue("1.3.6.1.5.5.7.3.4","emailProtection");ue("1.3.6.1.5.5.7.3.8","timeStamping");ue("1.3.6.1.5.5.7.48.1","authorityInfoAccessOcsp");ue("1.3.6.1.5.5.7.48.2","authorityInfoAccessIssuers")});var Sw=ce((t4e,xw)=>{(function(t){"use strict";var e=function(y){var I,w=new Float64Array(16);if(y)for(I=0;I<y.length;I++)w[I]=y[I];return w},r=function(){throw new Error("no PRNG")},n=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var o=e(),s=e([1]),a=e([56129,1]),c=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),u=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),d=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),l=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),f=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function p(y,I,w,m){y[I]=w>>24&255,y[I+1]=w>>16&255,y[I+2]=w>>8&255,y[I+3]=w&255,y[I+4]=m>>24&255,y[I+5]=m>>16&255,y[I+6]=m>>8&255,y[I+7]=m&255}function g(y,I,w,m,E){var O,U=0;for(O=0;O<E;O++)U|=y[I+O]^w[m+O];return(1&U-1>>>8)-1}function v(y,I,w,m){return g(y,I,w,m,16)}function b(y,I,w,m){return g(y,I,w,m,32)}function C(y,I,w,m){for(var E=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,O=w[0]&255|(w[1]&255)<<8|(w[2]&255)<<16|(w[3]&255)<<24,U=w[4]&255|(w[5]&255)<<8|(w[6]&255)<<16|(w[7]&255)<<24,ee=w[8]&255|(w[9]&255)<<8|(w[10]&255)<<16|(w[11]&255)<<24,we=w[12]&255|(w[13]&255)<<8|(w[14]&255)<<16|(w[15]&255)<<24,Qe=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,Me=I[0]&255|(I[1]&255)<<8|(I[2]&255)<<16|(I[3]&255)<<24,Kt=I[4]&255|(I[5]&255)<<8|(I[6]&255)<<16|(I[7]&255)<<24,We=I[8]&255|(I[9]&255)<<8|(I[10]&255)<<16|(I[11]&255)<<24,lt=I[12]&255|(I[13]&255)<<8|(I[14]&255)<<16|(I[15]&255)<<24,ht=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,Et=w[16]&255|(w[17]&255)<<8|(w[18]&255)<<16|(w[19]&255)<<24,bt=w[20]&255|(w[21]&255)<<8|(w[22]&255)<<16|(w[23]&255)<<24,gt=w[24]&255|(w[25]&255)<<8|(w[26]&255)<<16|(w[27]&255)<<24,vt=w[28]&255|(w[29]&255)<<8|(w[30]&255)<<16|(w[31]&255)<<24,yt=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,ze=E,nt=O,He=U,Ke=ee,Ye=we,De=Qe,J=Me,X=Kt,pe=We,Z=lt,te=ht,ve=Et,st=bt,kt=gt,Ct=vt,Rt=yt,A,Dt=0;Dt<20;Dt+=2)A=ze+st|0,Ye^=A<<7|A>>>25,A=Ye+ze|0,pe^=A<<9|A>>>23,A=pe+Ye|0,st^=A<<13|A>>>19,A=st+pe|0,ze^=A<<18|A>>>14,A=De+nt|0,Z^=A<<7|A>>>25,A=Z+De|0,kt^=A<<9|A>>>23,A=kt+Z|0,nt^=A<<13|A>>>19,A=nt+kt|0,De^=A<<18|A>>>14,A=te+J|0,Ct^=A<<7|A>>>25,A=Ct+te|0,He^=A<<9|A>>>23,A=He+Ct|0,J^=A<<13|A>>>19,A=J+He|0,te^=A<<18|A>>>14,A=Rt+ve|0,Ke^=A<<7|A>>>25,A=Ke+Rt|0,X^=A<<9|A>>>23,A=X+Ke|0,ve^=A<<13|A>>>19,A=ve+X|0,Rt^=A<<18|A>>>14,A=ze+Ke|0,nt^=A<<7|A>>>25,A=nt+ze|0,He^=A<<9|A>>>23,A=He+nt|0,Ke^=A<<13|A>>>19,A=Ke+He|0,ze^=A<<18|A>>>14,A=De+Ye|0,J^=A<<7|A>>>25,A=J+De|0,X^=A<<9|A>>>23,A=X+J|0,Ye^=A<<13|A>>>19,A=Ye+X|0,De^=A<<18|A>>>14,A=te+Z|0,ve^=A<<7|A>>>25,A=ve+te|0,pe^=A<<9|A>>>23,A=pe+ve|0,Z^=A<<13|A>>>19,A=Z+pe|0,te^=A<<18|A>>>14,A=Rt+Ct|0,st^=A<<7|A>>>25,A=st+Rt|0,kt^=A<<9|A>>>23,A=kt+st|0,Ct^=A<<13|A>>>19,A=Ct+kt|0,Rt^=A<<18|A>>>14;ze=ze+E|0,nt=nt+O|0,He=He+U|0,Ke=Ke+ee|0,Ye=Ye+we|0,De=De+Qe|0,J=J+Me|0,X=X+Kt|0,pe=pe+We|0,Z=Z+lt|0,te=te+ht|0,ve=ve+Et|0,st=st+bt|0,kt=kt+gt|0,Ct=Ct+vt|0,Rt=Rt+yt|0,y[0]=ze>>>0&255,y[1]=ze>>>8&255,y[2]=ze>>>16&255,y[3]=ze>>>24&255,y[4]=nt>>>0&255,y[5]=nt>>>8&255,y[6]=nt>>>16&255,y[7]=nt>>>24&255,y[8]=He>>>0&255,y[9]=He>>>8&255,y[10]=He>>>16&255,y[11]=He>>>24&255,y[12]=Ke>>>0&255,y[13]=Ke>>>8&255,y[14]=Ke>>>16&255,y[15]=Ke>>>24&255,y[16]=Ye>>>0&255,y[17]=Ye>>>8&255,y[18]=Ye>>>16&255,y[19]=Ye>>>24&255,y[20]=De>>>0&255,y[21]=De>>>8&255,y[22]=De>>>16&255,y[23]=De>>>24&255,y[24]=J>>>0&255,y[25]=J>>>8&255,y[26]=J>>>16&255,y[27]=J>>>24&255,y[28]=X>>>0&255,y[29]=X>>>8&255,y[30]=X>>>16&255,y[31]=X>>>24&255,y[32]=pe>>>0&255,y[33]=pe>>>8&255,y[34]=pe>>>16&255,y[35]=pe>>>24&255,y[36]=Z>>>0&255,y[37]=Z>>>8&255,y[38]=Z>>>16&255,y[39]=Z>>>24&255,y[40]=te>>>0&255,y[41]=te>>>8&255,y[42]=te>>>16&255,y[43]=te>>>24&255,y[44]=ve>>>0&255,y[45]=ve>>>8&255,y[46]=ve>>>16&255,y[47]=ve>>>24&255,y[48]=st>>>0&255,y[49]=st>>>8&255,y[50]=st>>>16&255,y[51]=st>>>24&255,y[52]=kt>>>0&255,y[53]=kt>>>8&255,y[54]=kt>>>16&255,y[55]=kt>>>24&255,y[56]=Ct>>>0&255,y[57]=Ct>>>8&255,y[58]=Ct>>>16&255,y[59]=Ct>>>24&255,y[60]=Rt>>>0&255,y[61]=Rt>>>8&255,y[62]=Rt>>>16&255,y[63]=Rt>>>24&255}function B(y,I,w,m){for(var E=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,O=w[0]&255|(w[1]&255)<<8|(w[2]&255)<<16|(w[3]&255)<<24,U=w[4]&255|(w[5]&255)<<8|(w[6]&255)<<16|(w[7]&255)<<24,ee=w[8]&255|(w[9]&255)<<8|(w[10]&255)<<16|(w[11]&255)<<24,we=w[12]&255|(w[13]&255)<<8|(w[14]&255)<<16|(w[15]&255)<<24,Qe=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,Me=I[0]&255|(I[1]&255)<<8|(I[2]&255)<<16|(I[3]&255)<<24,Kt=I[4]&255|(I[5]&255)<<8|(I[6]&255)<<16|(I[7]&255)<<24,We=I[8]&255|(I[9]&255)<<8|(I[10]&255)<<16|(I[11]&255)<<24,lt=I[12]&255|(I[13]&255)<<8|(I[14]&255)<<16|(I[15]&255)<<24,ht=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,Et=w[16]&255|(w[17]&255)<<8|(w[18]&255)<<16|(w[19]&255)<<24,bt=w[20]&255|(w[21]&255)<<8|(w[22]&255)<<16|(w[23]&255)<<24,gt=w[24]&255|(w[25]&255)<<8|(w[26]&255)<<16|(w[27]&255)<<24,vt=w[28]&255|(w[29]&255)<<8|(w[30]&255)<<16|(w[31]&255)<<24,yt=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,ze=E,nt=O,He=U,Ke=ee,Ye=we,De=Qe,J=Me,X=Kt,pe=We,Z=lt,te=ht,ve=Et,st=bt,kt=gt,Ct=vt,Rt=yt,A,Dt=0;Dt<20;Dt+=2)A=ze+st|0,Ye^=A<<7|A>>>25,A=Ye+ze|0,pe^=A<<9|A>>>23,A=pe+Ye|0,st^=A<<13|A>>>19,A=st+pe|0,ze^=A<<18|A>>>14,A=De+nt|0,Z^=A<<7|A>>>25,A=Z+De|0,kt^=A<<9|A>>>23,A=kt+Z|0,nt^=A<<13|A>>>19,A=nt+kt|0,De^=A<<18|A>>>14,A=te+J|0,Ct^=A<<7|A>>>25,A=Ct+te|0,He^=A<<9|A>>>23,A=He+Ct|0,J^=A<<13|A>>>19,A=J+He|0,te^=A<<18|A>>>14,A=Rt+ve|0,Ke^=A<<7|A>>>25,A=Ke+Rt|0,X^=A<<9|A>>>23,A=X+Ke|0,ve^=A<<13|A>>>19,A=ve+X|0,Rt^=A<<18|A>>>14,A=ze+Ke|0,nt^=A<<7|A>>>25,A=nt+ze|0,He^=A<<9|A>>>23,A=He+nt|0,Ke^=A<<13|A>>>19,A=Ke+He|0,ze^=A<<18|A>>>14,A=De+Ye|0,J^=A<<7|A>>>25,A=J+De|0,X^=A<<9|A>>>23,A=X+J|0,Ye^=A<<13|A>>>19,A=Ye+X|0,De^=A<<18|A>>>14,A=te+Z|0,ve^=A<<7|A>>>25,A=ve+te|0,pe^=A<<9|A>>>23,A=pe+ve|0,Z^=A<<13|A>>>19,A=Z+pe|0,te^=A<<18|A>>>14,A=Rt+Ct|0,st^=A<<7|A>>>25,A=st+Rt|0,kt^=A<<9|A>>>23,A=kt+st|0,Ct^=A<<13|A>>>19,A=Ct+kt|0,Rt^=A<<18|A>>>14;y[0]=ze>>>0&255,y[1]=ze>>>8&255,y[2]=ze>>>16&255,y[3]=ze>>>24&255,y[4]=De>>>0&255,y[5]=De>>>8&255,y[6]=De>>>16&255,y[7]=De>>>24&255,y[8]=te>>>0&255,y[9]=te>>>8&255,y[10]=te>>>16&255,y[11]=te>>>24&255,y[12]=Rt>>>0&255,y[13]=Rt>>>8&255,y[14]=Rt>>>16&255,y[15]=Rt>>>24&255,y[16]=J>>>0&255,y[17]=J>>>8&255,y[18]=J>>>16&255,y[19]=J>>>24&255,y[20]=X>>>0&255,y[21]=X>>>8&255,y[22]=X>>>16&255,y[23]=X>>>24&255,y[24]=pe>>>0&255,y[25]=pe>>>8&255,y[26]=pe>>>16&255,y[27]=pe>>>24&255,y[28]=Z>>>0&255,y[29]=Z>>>8&255,y[30]=Z>>>16&255,y[31]=Z>>>24&255}function _(y,I,w,m){C(y,I,w,m)}function F(y,I,w,m){B(y,I,w,m)}var he=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function z(y,I,w,m,E,O,U){var ee=new Uint8Array(16),we=new Uint8Array(64),Qe,Me;for(Me=0;Me<16;Me++)ee[Me]=0;for(Me=0;Me<8;Me++)ee[Me]=O[Me];for(;E>=64;){for(_(we,ee,U,he),Me=0;Me<64;Me++)y[I+Me]=w[m+Me]^we[Me];for(Qe=1,Me=8;Me<16;Me++)Qe=Qe+(ee[Me]&255)|0,ee[Me]=Qe&255,Qe>>>=8;E-=64,I+=64,m+=64}if(E>0)for(_(we,ee,U,he),Me=0;Me<E;Me++)y[I+Me]=w[m+Me]^we[Me];return 0}function Ae(y,I,w,m,E){var O=new Uint8Array(16),U=new Uint8Array(64),ee,we;for(we=0;we<16;we++)O[we]=0;for(we=0;we<8;we++)O[we]=m[we];for(;w>=64;){for(_(U,O,E,he),we=0;we<64;we++)y[I+we]=U[we];for(ee=1,we=8;we<16;we++)ee=ee+(O[we]&255)|0,O[we]=ee&255,ee>>>=8;w-=64,I+=64}if(w>0)for(_(U,O,E,he),we=0;we<w;we++)y[I+we]=U[we];return 0}function de(y,I,w,m,E){var O=new Uint8Array(32);F(O,m,E,he);for(var U=new Uint8Array(8),ee=0;ee<8;ee++)U[ee]=m[ee+16];return Ae(y,I,w,U,O)}function R(y,I,w,m,E,O,U){var ee=new Uint8Array(32);F(ee,O,U,he);for(var we=new Uint8Array(8),Qe=0;Qe<8;Qe++)we[Qe]=O[Qe+16];return z(y,I,w,m,E,we,ee)}var V=function(y){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var I,w,m,E,O,U,ee,we;I=y[0]&255|(y[1]&255)<<8,this.r[0]=I&8191,w=y[2]&255|(y[3]&255)<<8,this.r[1]=(I>>>13|w<<3)&8191,m=y[4]&255|(y[5]&255)<<8,this.r[2]=(w>>>10|m<<6)&7939,E=y[6]&255|(y[7]&255)<<8,this.r[3]=(m>>>7|E<<9)&8191,O=y[8]&255|(y[9]&255)<<8,this.r[4]=(E>>>4|O<<12)&255,this.r[5]=O>>>1&8190,U=y[10]&255|(y[11]&255)<<8,this.r[6]=(O>>>14|U<<2)&8191,ee=y[12]&255|(y[13]&255)<<8,this.r[7]=(U>>>11|ee<<5)&8065,we=y[14]&255|(y[15]&255)<<8,this.r[8]=(ee>>>8|we<<8)&8191,this.r[9]=we>>>5&127,this.pad[0]=y[16]&255|(y[17]&255)<<8,this.pad[1]=y[18]&255|(y[19]&255)<<8,this.pad[2]=y[20]&255|(y[21]&255)<<8,this.pad[3]=y[22]&255|(y[23]&255)<<8,this.pad[4]=y[24]&255|(y[25]&255)<<8,this.pad[5]=y[26]&255|(y[27]&255)<<8,this.pad[6]=y[28]&255|(y[29]&255)<<8,this.pad[7]=y[30]&255|(y[31]&255)<<8};V.prototype.blocks=function(y,I,w){for(var m=this.fin?0:2048,E,O,U,ee,we,Qe,Me,Kt,We,lt,ht,Et,bt,gt,vt,yt,ze,nt,He,Ke=this.h[0],Ye=this.h[1],De=this.h[2],J=this.h[3],X=this.h[4],pe=this.h[5],Z=this.h[6],te=this.h[7],ve=this.h[8],st=this.h[9],kt=this.r[0],Ct=this.r[1],Rt=this.r[2],A=this.r[3],Dt=this.r[4],Jt=this.r[5],Xt=this.r[6],Tt=this.r[7],qt=this.r[8],Wt=this.r[9];w>=16;)E=y[I+0]&255|(y[I+1]&255)<<8,Ke+=E&8191,O=y[I+2]&255|(y[I+3]&255)<<8,Ye+=(E>>>13|O<<3)&8191,U=y[I+4]&255|(y[I+5]&255)<<8,De+=(O>>>10|U<<6)&8191,ee=y[I+6]&255|(y[I+7]&255)<<8,J+=(U>>>7|ee<<9)&8191,we=y[I+8]&255|(y[I+9]&255)<<8,X+=(ee>>>4|we<<12)&8191,pe+=we>>>1&8191,Qe=y[I+10]&255|(y[I+11]&255)<<8,Z+=(we>>>14|Qe<<2)&8191,Me=y[I+12]&255|(y[I+13]&255)<<8,te+=(Qe>>>11|Me<<5)&8191,Kt=y[I+14]&255|(y[I+15]&255)<<8,ve+=(Me>>>8|Kt<<8)&8191,st+=Kt>>>5|m,We=0,lt=We,lt+=Ke*kt,lt+=Ye*(5*Wt),lt+=De*(5*qt),lt+=J*(5*Tt),lt+=X*(5*Xt),We=lt>>>13,lt&=8191,lt+=pe*(5*Jt),lt+=Z*(5*Dt),lt+=te*(5*A),lt+=ve*(5*Rt),lt+=st*(5*Ct),We+=lt>>>13,lt&=8191,ht=We,ht+=Ke*Ct,ht+=Ye*kt,ht+=De*(5*Wt),ht+=J*(5*qt),ht+=X*(5*Tt),We=ht>>>13,ht&=8191,ht+=pe*(5*Xt),ht+=Z*(5*Jt),ht+=te*(5*Dt),ht+=ve*(5*A),ht+=st*(5*Rt),We+=ht>>>13,ht&=8191,Et=We,Et+=Ke*Rt,Et+=Ye*Ct,Et+=De*kt,Et+=J*(5*Wt),Et+=X*(5*qt),We=Et>>>13,Et&=8191,Et+=pe*(5*Tt),Et+=Z*(5*Xt),Et+=te*(5*Jt),Et+=ve*(5*Dt),Et+=st*(5*A),We+=Et>>>13,Et&=8191,bt=We,bt+=Ke*A,bt+=Ye*Rt,bt+=De*Ct,bt+=J*kt,bt+=X*(5*Wt),We=bt>>>13,bt&=8191,bt+=pe*(5*qt),bt+=Z*(5*Tt),bt+=te*(5*Xt),bt+=ve*(5*Jt),bt+=st*(5*Dt),We+=bt>>>13,bt&=8191,gt=We,gt+=Ke*Dt,gt+=Ye*A,gt+=De*Rt,gt+=J*Ct,gt+=X*kt,We=gt>>>13,gt&=8191,gt+=pe*(5*Wt),gt+=Z*(5*qt),gt+=te*(5*Tt),gt+=ve*(5*Xt),gt+=st*(5*Jt),We+=gt>>>13,gt&=8191,vt=We,vt+=Ke*Jt,vt+=Ye*Dt,vt+=De*A,vt+=J*Rt,vt+=X*Ct,We=vt>>>13,vt&=8191,vt+=pe*kt,vt+=Z*(5*Wt),vt+=te*(5*qt),vt+=ve*(5*Tt),vt+=st*(5*Xt),We+=vt>>>13,vt&=8191,yt=We,yt+=Ke*Xt,yt+=Ye*Jt,yt+=De*Dt,yt+=J*A,yt+=X*Rt,We=yt>>>13,yt&=8191,yt+=pe*Ct,yt+=Z*kt,yt+=te*(5*Wt),yt+=ve*(5*qt),yt+=st*(5*Tt),We+=yt>>>13,yt&=8191,ze=We,ze+=Ke*Tt,ze+=Ye*Xt,ze+=De*Jt,ze+=J*Dt,ze+=X*A,We=ze>>>13,ze&=8191,ze+=pe*Rt,ze+=Z*Ct,ze+=te*kt,ze+=ve*(5*Wt),ze+=st*(5*qt),We+=ze>>>13,ze&=8191,nt=We,nt+=Ke*qt,nt+=Ye*Tt,nt+=De*Xt,nt+=J*Jt,nt+=X*Dt,We=nt>>>13,nt&=8191,nt+=pe*A,nt+=Z*Rt,nt+=te*Ct,nt+=ve*kt,nt+=st*(5*Wt),We+=nt>>>13,nt&=8191,He=We,He+=Ke*Wt,He+=Ye*qt,He+=De*Tt,He+=J*Xt,He+=X*Jt,We=He>>>13,He&=8191,He+=pe*Dt,He+=Z*A,He+=te*Rt,He+=ve*Ct,He+=st*kt,We+=He>>>13,He&=8191,We=(We<<2)+We|0,We=We+lt|0,lt=We&8191,We=We>>>13,ht+=We,Ke=lt,Ye=ht,De=Et,J=bt,X=gt,pe=vt,Z=yt,te=ze,ve=nt,st=He,I+=16,w-=16;this.h[0]=Ke,this.h[1]=Ye,this.h[2]=De,this.h[3]=J,this.h[4]=X,this.h[5]=pe,this.h[6]=Z,this.h[7]=te,this.h[8]=ve,this.h[9]=st},V.prototype.finish=function(y,I){var w=new Uint16Array(10),m,E,O,U;if(this.leftover){for(U=this.leftover,this.buffer[U++]=1;U<16;U++)this.buffer[U]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(m=this.h[1]>>>13,this.h[1]&=8191,U=2;U<10;U++)this.h[U]+=m,m=this.h[U]>>>13,this.h[U]&=8191;for(this.h[0]+=m*5,m=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=m,m=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=m,w[0]=this.h[0]+5,m=w[0]>>>13,w[0]&=8191,U=1;U<10;U++)w[U]=this.h[U]+m,m=w[U]>>>13,w[U]&=8191;for(w[9]-=8192,E=(m^1)-1,U=0;U<10;U++)w[U]&=E;for(E=~E,U=0;U<10;U++)this.h[U]=this.h[U]&E|w[U];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,O=this.h[0]+this.pad[0],this.h[0]=O&65535,U=1;U<8;U++)O=(this.h[U]+this.pad[U]|0)+(O>>>16)|0,this.h[U]=O&65535;y[I+0]=this.h[0]>>>0&255,y[I+1]=this.h[0]>>>8&255,y[I+2]=this.h[1]>>>0&255,y[I+3]=this.h[1]>>>8&255,y[I+4]=this.h[2]>>>0&255,y[I+5]=this.h[2]>>>8&255,y[I+6]=this.h[3]>>>0&255,y[I+7]=this.h[3]>>>8&255,y[I+8]=this.h[4]>>>0&255,y[I+9]=this.h[4]>>>8&255,y[I+10]=this.h[5]>>>0&255,y[I+11]=this.h[5]>>>8&255,y[I+12]=this.h[6]>>>0&255,y[I+13]=this.h[6]>>>8&255,y[I+14]=this.h[7]>>>0&255,y[I+15]=this.h[7]>>>8&255},V.prototype.update=function(y,I,w){var m,E;if(this.leftover){for(E=16-this.leftover,E>w&&(E=w),m=0;m<E;m++)this.buffer[this.leftover+m]=y[I+m];if(w-=E,I+=E,this.leftover+=E,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(w>=16&&(E=w-w%16,this.blocks(y,I,E),I+=E,w-=E),w){for(m=0;m<w;m++)this.buffer[this.leftover+m]=y[I+m];this.leftover+=w}};function le(y,I,w,m,E,O){var U=new V(O);return U.update(w,m,E),U.finish(y,I),0}function se(y,I,w,m,E,O){var U=new Uint8Array(16);return le(U,0,w,m,E,O),v(y,I,U,0)}function H(y,I,w,m,E){var O;if(w<32)return-1;for(R(y,0,I,0,w,m,E),le(y,16,y,32,w-32,y),O=0;O<16;O++)y[O]=0;return 0}function G(y,I,w,m,E){var O,U=new Uint8Array(32);if(w<32||(de(U,0,32,m,E),se(I,16,I,32,w-32,U)!==0))return-1;for(R(y,0,I,0,w,m,E),O=0;O<32;O++)y[O]=0;return 0}function j(y,I){var w;for(w=0;w<16;w++)y[w]=I[w]|0}function me(y){var I,w,m=1;for(I=0;I<16;I++)w=y[I]+m+65535,m=Math.floor(w/65536),y[I]=w-m*65536;y[0]+=m-1+37*(m-1)}function Ce(y,I,w){for(var m,E=~(w-1),O=0;O<16;O++)m=E&(y[O]^I[O]),y[O]^=m,I[O]^=m}function _e(y,I){var w,m,E,O=e(),U=e();for(w=0;w<16;w++)U[w]=I[w];for(me(U),me(U),me(U),m=0;m<2;m++){for(O[0]=U[0]-65517,w=1;w<15;w++)O[w]=U[w]-65535-(O[w-1]>>16&1),O[w-1]&=65535;O[15]=U[15]-32767-(O[14]>>16&1),E=O[15]>>16&1,O[14]&=65535,Ce(U,O,1-E)}for(w=0;w<16;w++)y[2*w]=U[w]&255,y[2*w+1]=U[w]>>8}function P(y,I){var w=new Uint8Array(32),m=new Uint8Array(32);return _e(w,y),_e(m,I),b(w,0,m,0)}function D(y){var I=new Uint8Array(32);return _e(I,y),I[0]&1}function K(y,I){var w;for(w=0;w<16;w++)y[w]=I[2*w]+(I[2*w+1]<<8);y[15]&=32767}function T(y,I,w){for(var m=0;m<16;m++)y[m]=I[m]+w[m]}function $(y,I,w){for(var m=0;m<16;m++)y[m]=I[m]-w[m]}function ye(y,I,w){var m,E,O=0,U=0,ee=0,we=0,Qe=0,Me=0,Kt=0,We=0,lt=0,ht=0,Et=0,bt=0,gt=0,vt=0,yt=0,ze=0,nt=0,He=0,Ke=0,Ye=0,De=0,J=0,X=0,pe=0,Z=0,te=0,ve=0,st=0,kt=0,Ct=0,Rt=0,A=w[0],Dt=w[1],Jt=w[2],Xt=w[3],Tt=w[4],qt=w[5],Wt=w[6],Vr=w[7],nr=w[8],Mr=w[9],Lr=w[10],Hr=w[11],an=w[12],jn=w[13],qn=w[14],Wn=w[15];m=I[0],O+=m*A,U+=m*Dt,ee+=m*Jt,we+=m*Xt,Qe+=m*Tt,Me+=m*qt,Kt+=m*Wt,We+=m*Vr,lt+=m*nr,ht+=m*Mr,Et+=m*Lr,bt+=m*Hr,gt+=m*an,vt+=m*jn,yt+=m*qn,ze+=m*Wn,m=I[1],U+=m*A,ee+=m*Dt,we+=m*Jt,Qe+=m*Xt,Me+=m*Tt,Kt+=m*qt,We+=m*Wt,lt+=m*Vr,ht+=m*nr,Et+=m*Mr,bt+=m*Lr,gt+=m*Hr,vt+=m*an,yt+=m*jn,ze+=m*qn,nt+=m*Wn,m=I[2],ee+=m*A,we+=m*Dt,Qe+=m*Jt,Me+=m*Xt,Kt+=m*Tt,We+=m*qt,lt+=m*Wt,ht+=m*Vr,Et+=m*nr,bt+=m*Mr,gt+=m*Lr,vt+=m*Hr,yt+=m*an,ze+=m*jn,nt+=m*qn,He+=m*Wn,m=I[3],we+=m*A,Qe+=m*Dt,Me+=m*Jt,Kt+=m*Xt,We+=m*Tt,lt+=m*qt,ht+=m*Wt,Et+=m*Vr,bt+=m*nr,gt+=m*Mr,vt+=m*Lr,yt+=m*Hr,ze+=m*an,nt+=m*jn,He+=m*qn,Ke+=m*Wn,m=I[4],Qe+=m*A,Me+=m*Dt,Kt+=m*Jt,We+=m*Xt,lt+=m*Tt,ht+=m*qt,Et+=m*Wt,bt+=m*Vr,gt+=m*nr,vt+=m*Mr,yt+=m*Lr,ze+=m*Hr,nt+=m*an,He+=m*jn,Ke+=m*qn,Ye+=m*Wn,m=I[5],Me+=m*A,Kt+=m*Dt,We+=m*Jt,lt+=m*Xt,ht+=m*Tt,Et+=m*qt,bt+=m*Wt,gt+=m*Vr,vt+=m*nr,yt+=m*Mr,ze+=m*Lr,nt+=m*Hr,He+=m*an,Ke+=m*jn,Ye+=m*qn,De+=m*Wn,m=I[6],Kt+=m*A,We+=m*Dt,lt+=m*Jt,ht+=m*Xt,Et+=m*Tt,bt+=m*qt,gt+=m*Wt,vt+=m*Vr,yt+=m*nr,ze+=m*Mr,nt+=m*Lr,He+=m*Hr,Ke+=m*an,Ye+=m*jn,De+=m*qn,J+=m*Wn,m=I[7],We+=m*A,lt+=m*Dt,ht+=m*Jt,Et+=m*Xt,bt+=m*Tt,gt+=m*qt,vt+=m*Wt,yt+=m*Vr,ze+=m*nr,nt+=m*Mr,He+=m*Lr,Ke+=m*Hr,Ye+=m*an,De+=m*jn,J+=m*qn,X+=m*Wn,m=I[8],lt+=m*A,ht+=m*Dt,Et+=m*Jt,bt+=m*Xt,gt+=m*Tt,vt+=m*qt,yt+=m*Wt,ze+=m*Vr,nt+=m*nr,He+=m*Mr,Ke+=m*Lr,Ye+=m*Hr,De+=m*an,J+=m*jn,X+=m*qn,pe+=m*Wn,m=I[9],ht+=m*A,Et+=m*Dt,bt+=m*Jt,gt+=m*Xt,vt+=m*Tt,yt+=m*qt,ze+=m*Wt,nt+=m*Vr,He+=m*nr,Ke+=m*Mr,Ye+=m*Lr,De+=m*Hr,J+=m*an,X+=m*jn,pe+=m*qn,Z+=m*Wn,m=I[10],Et+=m*A,bt+=m*Dt,gt+=m*Jt,vt+=m*Xt,yt+=m*Tt,ze+=m*qt,nt+=m*Wt,He+=m*Vr,Ke+=m*nr,Ye+=m*Mr,De+=m*Lr,J+=m*Hr,X+=m*an,pe+=m*jn,Z+=m*qn,te+=m*Wn,m=I[11],bt+=m*A,gt+=m*Dt,vt+=m*Jt,yt+=m*Xt,ze+=m*Tt,nt+=m*qt,He+=m*Wt,Ke+=m*Vr,Ye+=m*nr,De+=m*Mr,J+=m*Lr,X+=m*Hr,pe+=m*an,Z+=m*jn,te+=m*qn,ve+=m*Wn,m=I[12],gt+=m*A,vt+=m*Dt,yt+=m*Jt,ze+=m*Xt,nt+=m*Tt,He+=m*qt,Ke+=m*Wt,Ye+=m*Vr,De+=m*nr,J+=m*Mr,X+=m*Lr,pe+=m*Hr,Z+=m*an,te+=m*jn,ve+=m*qn,st+=m*Wn,m=I[13],vt+=m*A,yt+=m*Dt,ze+=m*Jt,nt+=m*Xt,He+=m*Tt,Ke+=m*qt,Ye+=m*Wt,De+=m*Vr,J+=m*nr,X+=m*Mr,pe+=m*Lr,Z+=m*Hr,te+=m*an,ve+=m*jn,st+=m*qn,kt+=m*Wn,m=I[14],yt+=m*A,ze+=m*Dt,nt+=m*Jt,He+=m*Xt,Ke+=m*Tt,Ye+=m*qt,De+=m*Wt,J+=m*Vr,X+=m*nr,pe+=m*Mr,Z+=m*Lr,te+=m*Hr,ve+=m*an,st+=m*jn,kt+=m*qn,Ct+=m*Wn,m=I[15],ze+=m*A,nt+=m*Dt,He+=m*Jt,Ke+=m*Xt,Ye+=m*Tt,De+=m*qt,J+=m*Wt,X+=m*Vr,pe+=m*nr,Z+=m*Mr,te+=m*Lr,ve+=m*Hr,st+=m*an,kt+=m*jn,Ct+=m*qn,Rt+=m*Wn,O+=38*nt,U+=38*He,ee+=38*Ke,we+=38*Ye,Qe+=38*De,Me+=38*J,Kt+=38*X,We+=38*pe,lt+=38*Z,ht+=38*te,Et+=38*ve,bt+=38*st,gt+=38*kt,vt+=38*Ct,yt+=38*Rt,E=1,m=O+E+65535,E=Math.floor(m/65536),O=m-E*65536,m=U+E+65535,E=Math.floor(m/65536),U=m-E*65536,m=ee+E+65535,E=Math.floor(m/65536),ee=m-E*65536,m=we+E+65535,E=Math.floor(m/65536),we=m-E*65536,m=Qe+E+65535,E=Math.floor(m/65536),Qe=m-E*65536,m=Me+E+65535,E=Math.floor(m/65536),Me=m-E*65536,m=Kt+E+65535,E=Math.floor(m/65536),Kt=m-E*65536,m=We+E+65535,E=Math.floor(m/65536),We=m-E*65536,m=lt+E+65535,E=Math.floor(m/65536),lt=m-E*65536,m=ht+E+65535,E=Math.floor(m/65536),ht=m-E*65536,m=Et+E+65535,E=Math.floor(m/65536),Et=m-E*65536,m=bt+E+65535,E=Math.floor(m/65536),bt=m-E*65536,m=gt+E+65535,E=Math.floor(m/65536),gt=m-E*65536,m=vt+E+65535,E=Math.floor(m/65536),vt=m-E*65536,m=yt+E+65535,E=Math.floor(m/65536),yt=m-E*65536,m=ze+E+65535,E=Math.floor(m/65536),ze=m-E*65536,O+=E-1+37*(E-1),E=1,m=O+E+65535,E=Math.floor(m/65536),O=m-E*65536,m=U+E+65535,E=Math.floor(m/65536),U=m-E*65536,m=ee+E+65535,E=Math.floor(m/65536),ee=m-E*65536,m=we+E+65535,E=Math.floor(m/65536),we=m-E*65536,m=Qe+E+65535,E=Math.floor(m/65536),Qe=m-E*65536,m=Me+E+65535,E=Math.floor(m/65536),Me=m-E*65536,m=Kt+E+65535,E=Math.floor(m/65536),Kt=m-E*65536,m=We+E+65535,E=Math.floor(m/65536),We=m-E*65536,m=lt+E+65535,E=Math.floor(m/65536),lt=m-E*65536,m=ht+E+65535,E=Math.floor(m/65536),ht=m-E*65536,m=Et+E+65535,E=Math.floor(m/65536),Et=m-E*65536,m=bt+E+65535,E=Math.floor(m/65536),bt=m-E*65536,m=gt+E+65535,E=Math.floor(m/65536),gt=m-E*65536,m=vt+E+65535,E=Math.floor(m/65536),vt=m-E*65536,m=yt+E+65535,E=Math.floor(m/65536),yt=m-E*65536,m=ze+E+65535,E=Math.floor(m/65536),ze=m-E*65536,O+=E-1+37*(E-1),y[0]=O,y[1]=U,y[2]=ee,y[3]=we,y[4]=Qe,y[5]=Me,y[6]=Kt,y[7]=We,y[8]=lt,y[9]=ht,y[10]=Et,y[11]=bt,y[12]=gt,y[13]=vt,y[14]=yt,y[15]=ze}function Se(y,I){ye(y,I,I)}function ct(y,I){var w=e(),m;for(m=0;m<16;m++)w[m]=I[m];for(m=253;m>=0;m--)Se(w,w),m!==2&&m!==4&&ye(w,w,I);for(m=0;m<16;m++)y[m]=w[m]}function It(y,I){var w=e(),m;for(m=0;m<16;m++)w[m]=I[m];for(m=250;m>=0;m--)Se(w,w),m!==1&&ye(w,w,I);for(m=0;m<16;m++)y[m]=w[m]}function Qt(y,I,w){var m=new Uint8Array(32),E=new Float64Array(80),O,U,ee=e(),we=e(),Qe=e(),Me=e(),Kt=e(),We=e();for(U=0;U<31;U++)m[U]=I[U];for(m[31]=I[31]&127|64,m[0]&=248,K(E,w),U=0;U<16;U++)we[U]=E[U],Me[U]=ee[U]=Qe[U]=0;for(ee[0]=Me[0]=1,U=254;U>=0;--U)O=m[U>>>3]>>>(U&7)&1,Ce(ee,we,O),Ce(Qe,Me,O),T(Kt,ee,Qe),$(ee,ee,Qe),T(Qe,we,Me),$(we,we,Me),Se(Me,Kt),Se(We,ee),ye(ee,Qe,ee),ye(Qe,we,Kt),T(Kt,ee,Qe),$(ee,ee,Qe),Se(we,ee),$(Qe,Me,We),ye(ee,Qe,a),T(ee,ee,Me),ye(Qe,Qe,ee),ye(ee,Me,We),ye(Me,we,E),Se(we,Kt),Ce(ee,we,O),Ce(Qe,Me,O);for(U=0;U<16;U++)E[U+16]=ee[U],E[U+32]=Qe[U],E[U+48]=we[U],E[U+64]=Me[U];var lt=E.subarray(32),ht=E.subarray(16);return ct(lt,lt),ye(ht,ht,lt),_e(y,ht),0}function Bt(y,I){return Qt(y,I,i)}function _t(y,I){return r(I,32),Bt(y,I)}function ao(y,I,w){var m=new Uint8Array(32);return Qt(m,w,I),F(y,n,m,he)}var co=H,Od=G;function OR(y,I,w,m,E,O){var U=new Uint8Array(32);return ao(U,E,O),co(y,I,w,m,U)}function Dh(y,I,w,m,E,O){var U=new Uint8Array(32);return ao(U,E,O),Od(y,I,w,m,U)}var Nh=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Oh(y,I,w,m){for(var E=new Int32Array(16),O=new Int32Array(16),U,ee,we,Qe,Me,Kt,We,lt,ht,Et,bt,gt,vt,yt,ze,nt,He,Ke,Ye,De,J,X,pe,Z,te,ve,st=y[0],kt=y[1],Ct=y[2],Rt=y[3],A=y[4],Dt=y[5],Jt=y[6],Xt=y[7],Tt=I[0],qt=I[1],Wt=I[2],Vr=I[3],nr=I[4],Mr=I[5],Lr=I[6],Hr=I[7],an=0;m>=128;){for(Ye=0;Ye<16;Ye++)De=8*Ye+an,E[Ye]=w[De+0]<<24|w[De+1]<<16|w[De+2]<<8|w[De+3],O[Ye]=w[De+4]<<24|w[De+5]<<16|w[De+6]<<8|w[De+7];for(Ye=0;Ye<80;Ye++)if(U=st,ee=kt,we=Ct,Qe=Rt,Me=A,Kt=Dt,We=Jt,lt=Xt,ht=Tt,Et=qt,bt=Wt,gt=Vr,vt=nr,yt=Mr,ze=Lr,nt=Hr,J=Xt,X=Hr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=(A>>>14|nr<<18)^(A>>>18|nr<<14)^(nr>>>9|A<<23),X=(nr>>>14|A<<18)^(nr>>>18|A<<14)^(A>>>9|nr<<23),pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,J=A&Dt^~A&Jt,X=nr&Mr^~nr&Lr,pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,J=Nh[Ye*2],X=Nh[Ye*2+1],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,J=E[Ye%16],X=O[Ye%16],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,He=te&65535|ve<<16,Ke=pe&65535|Z<<16,J=He,X=Ke,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=(st>>>28|Tt<<4)^(Tt>>>2|st<<30)^(Tt>>>7|st<<25),X=(Tt>>>28|st<<4)^(st>>>2|Tt<<30)^(st>>>7|Tt<<25),pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,J=st&kt^st&Ct^kt&Ct,X=Tt&qt^Tt&Wt^qt&Wt,pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,lt=te&65535|ve<<16,nt=pe&65535|Z<<16,J=Qe,X=gt,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=He,X=Ke,pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,Qe=te&65535|ve<<16,gt=pe&65535|Z<<16,kt=U,Ct=ee,Rt=we,A=Qe,Dt=Me,Jt=Kt,Xt=We,st=lt,qt=ht,Wt=Et,Vr=bt,nr=gt,Mr=vt,Lr=yt,Hr=ze,Tt=nt,Ye%16===15)for(De=0;De<16;De++)J=E[De],X=O[De],pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=E[(De+9)%16],X=O[(De+9)%16],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,He=E[(De+1)%16],Ke=O[(De+1)%16],J=(He>>>1|Ke<<31)^(He>>>8|Ke<<24)^He>>>7,X=(Ke>>>1|He<<31)^(Ke>>>8|He<<24)^(Ke>>>7|He<<25),pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,He=E[(De+14)%16],Ke=O[(De+14)%16],J=(He>>>19|Ke<<13)^(Ke>>>29|He<<3)^He>>>6,X=(Ke>>>19|He<<13)^(He>>>29|Ke<<3)^(Ke>>>6|He<<26),pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,E[De]=te&65535|ve<<16,O[De]=pe&65535|Z<<16;J=st,X=Tt,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[0],X=I[0],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[0]=st=te&65535|ve<<16,I[0]=Tt=pe&65535|Z<<16,J=kt,X=qt,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[1],X=I[1],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[1]=kt=te&65535|ve<<16,I[1]=qt=pe&65535|Z<<16,J=Ct,X=Wt,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[2],X=I[2],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[2]=Ct=te&65535|ve<<16,I[2]=Wt=pe&65535|Z<<16,J=Rt,X=Vr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[3],X=I[3],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[3]=Rt=te&65535|ve<<16,I[3]=Vr=pe&65535|Z<<16,J=A,X=nr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[4],X=I[4],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[4]=A=te&65535|ve<<16,I[4]=nr=pe&65535|Z<<16,J=Dt,X=Mr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[5],X=I[5],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[5]=Dt=te&65535|ve<<16,I[5]=Mr=pe&65535|Z<<16,J=Jt,X=Lr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[6],X=I[6],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[6]=Jt=te&65535|ve<<16,I[6]=Lr=pe&65535|Z<<16,J=Xt,X=Hr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[7],X=I[7],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[7]=Xt=te&65535|ve<<16,I[7]=Hr=pe&65535|Z<<16,an+=128,m-=128}return m}function Ps(y,I,w){var m=new Int32Array(8),E=new Int32Array(8),O=new Uint8Array(256),U,ee=w;for(m[0]=1779033703,m[1]=3144134277,m[2]=1013904242,m[3]=2773480762,m[4]=1359893119,m[5]=2600822924,m[6]=528734635,m[7]=1541459225,E[0]=4089235720,E[1]=2227873595,E[2]=4271175723,E[3]=1595750129,E[4]=2917565137,E[5]=725511199,E[6]=4215389547,E[7]=327033209,Oh(m,E,I,w),w%=128,U=0;U<w;U++)O[U]=I[ee-w+U];for(O[w]=128,w=256-128*(w<112?1:0),O[w-9]=0,p(O,w-8,ee/536870912|0,ee<<3),Oh(m,E,O,w),U=0;U<8;U++)p(y,8*U,m[U],E[U]);return 0}function Md(y,I){var w=e(),m=e(),E=e(),O=e(),U=e(),ee=e(),we=e(),Qe=e(),Me=e();$(w,y[1],y[0]),$(Me,I[1],I[0]),ye(w,w,Me),T(m,y[0],y[1]),T(Me,I[0],I[1]),ye(m,m,Me),ye(E,y[3],I[3]),ye(E,E,u),ye(O,y[2],I[2]),T(O,O,O),$(U,m,w),$(ee,O,E),T(we,O,E),T(Qe,m,w),ye(y[0],U,ee),ye(y[1],Qe,we),ye(y[2],we,ee),ye(y[3],U,Qe)}function Mh(y,I,w){var m;for(m=0;m<4;m++)Ce(y[m],I[m],w)}function Ld(y,I){var w=e(),m=e(),E=e();ct(E,I[2]),ye(w,I[0],E),ye(m,I[1],E),_e(y,m),y[31]^=D(w)<<7}function Lh(y,I,w){var m,E;for(j(y[0],o),j(y[1],s),j(y[2],s),j(y[3],o),E=255;E>=0;--E)m=w[E/8|0]>>(E&7)&1,Mh(y,I,m),Md(I,y),Md(y,y),Mh(y,I,m)}function Of(y,I){var w=[e(),e(),e(),e()];j(w[0],d),j(w[1],l),j(w[2],s),ye(w[3],d,l),Lh(y,w,I)}function Hh(y,I,w){var m=new Uint8Array(64),E=[e(),e(),e(),e()],O;for(w||r(I,32),Ps(m,I,32),m[0]&=248,m[31]&=127,m[31]|=64,Of(E,m),Ld(y,E),O=0;O<32;O++)I[O+32]=y[O];return 0}var Mf=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Pa(y,I){var w,m,E,O;for(m=63;m>=32;--m){for(w=0,E=m-32,O=m-12;E<O;++E)I[E]+=w-16*I[m]*Mf[E-(m-32)],w=Math.floor((I[E]+128)/256),I[E]-=w*256;I[E]+=w,I[m]=0}for(w=0,E=0;E<32;E++)I[E]+=w-(I[31]>>4)*Mf[E],w=I[E]>>8,I[E]&=255;for(E=0;E<32;E++)I[E]-=w*Mf[E];for(m=0;m<32;m++)I[m+1]+=I[m]>>8,y[m]=I[m]&255}function Uh(y){var I=new Float64Array(64),w;for(w=0;w<64;w++)I[w]=y[w];for(w=0;w<64;w++)y[w]=0;Pa(y,I)}function oS(y,I,w,m){var E=new Uint8Array(64),O=new Uint8Array(64),U=new Uint8Array(64),ee,we,Qe=new Float64Array(64),Me=[e(),e(),e(),e()];Ps(E,m,32),E[0]&=248,E[31]&=127,E[31]|=64;var Kt=w+64;for(ee=0;ee<w;ee++)y[64+ee]=I[ee];for(ee=0;ee<32;ee++)y[32+ee]=E[32+ee];for(Ps(U,y.subarray(32),w+32),Uh(U),Of(Me,U),Ld(y,Me),ee=32;ee<64;ee++)y[ee]=m[ee];for(Ps(O,y,w+64),Uh(O),ee=0;ee<64;ee++)Qe[ee]=0;for(ee=0;ee<32;ee++)Qe[ee]=U[ee];for(ee=0;ee<32;ee++)for(we=0;we<32;we++)Qe[ee+we]+=O[ee]*E[we];return Pa(y.subarray(32),Qe),Kt}function MR(y,I){var w=e(),m=e(),E=e(),O=e(),U=e(),ee=e(),we=e();return j(y[2],s),K(y[1],I),Se(E,y[1]),ye(O,E,c),$(E,E,y[2]),T(O,y[2],O),Se(U,O),Se(ee,U),ye(we,ee,U),ye(w,we,E),ye(w,w,O),It(w,w),ye(w,w,E),ye(w,w,O),ye(w,w,O),ye(y[0],w,O),Se(m,y[0]),ye(m,m,O),P(m,E)&&ye(y[0],y[0],f),Se(m,y[0]),ye(m,m,O),P(m,E)?-1:(D(y[0])===I[31]>>7&&$(y[0],o,y[0]),ye(y[3],y[0],y[1]),0)}function Hd(y,I,w,m){var E,O=new Uint8Array(32),U=new Uint8Array(64),ee=[e(),e(),e(),e()],we=[e(),e(),e(),e()];if(w<64||MR(we,m))return-1;for(E=0;E<w;E++)y[E]=I[E];for(E=0;E<32;E++)y[E+32]=m[E];if(Ps(U,y,w),Uh(U),Lh(ee,we,U),Of(we,I.subarray(32)),Md(ee,we),Ld(O,ee),w-=64,b(I,0,O,0)){for(E=0;E<w;E++)y[E]=0;return-1}for(E=0;E<w;E++)y[E]=I[E+64];return w}var M=32,q=24,Y=32,be=16,et=32,yr=32,br=32,St=32,Te=32,$e=q,Ge=Y,Xe=be,mt=64,zt=32,ur=64,ni=32,Lf=64;t.lowlevel={crypto_core_hsalsa20:F,crypto_stream_xor:R,crypto_stream:de,crypto_stream_salsa20_xor:z,crypto_stream_salsa20:Ae,crypto_onetimeauth:le,crypto_onetimeauth_verify:se,crypto_verify_16:v,crypto_verify_32:b,crypto_secretbox:H,crypto_secretbox_open:G,crypto_scalarmult:Qt,crypto_scalarmult_base:Bt,crypto_box_beforenm:ao,crypto_box_afternm:co,crypto_box:OR,crypto_box_open:Dh,crypto_box_keypair:_t,crypto_hash:Ps,crypto_sign:oS,crypto_sign_keypair:Hh,crypto_sign_open:Hd,crypto_secretbox_KEYBYTES:M,crypto_secretbox_NONCEBYTES:q,crypto_secretbox_ZEROBYTES:Y,crypto_secretbox_BOXZEROBYTES:be,crypto_scalarmult_BYTES:et,crypto_scalarmult_SCALARBYTES:yr,crypto_box_PUBLICKEYBYTES:br,crypto_box_SECRETKEYBYTES:St,crypto_box_BEFORENMBYTES:Te,crypto_box_NONCEBYTES:$e,crypto_box_ZEROBYTES:Ge,crypto_box_BOXZEROBYTES:Xe,crypto_sign_BYTES:mt,crypto_sign_PUBLICKEYBYTES:zt,crypto_sign_SECRETKEYBYTES:ur,crypto_sign_SEEDBYTES:ni,crypto_hash_BYTES:Lf,gf:e,D:c,L:Mf,pack25519:_e,unpack25519:K,M:ye,A:T,S:Se,Z:$,pow2523:It,add:Md,set25519:j,modL:Pa,scalarmult:Lh,scalarbase:Of};function sS(y,I){if(y.length!==M)throw new Error("bad key size");if(I.length!==q)throw new Error("bad nonce size")}function LR(y,I){if(y.length!==br)throw new Error("bad public key size");if(I.length!==St)throw new Error("bad secret key size")}function qi(){for(var y=0;y<arguments.length;y++)if(!(arguments[y]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function e4(y){for(var I=0;I<y.length;I++)y[I]=0}t.randomBytes=function(y){var I=new Uint8Array(y);return r(I,y),I},t.secretbox=function(y,I,w){qi(y,I,w),sS(w,I);for(var m=new Uint8Array(Y+y.length),E=new Uint8Array(m.length),O=0;O<y.length;O++)m[O+Y]=y[O];return H(E,m,m.length,I,w),E.subarray(be)},t.secretbox.open=function(y,I,w){qi(y,I,w),sS(w,I);for(var m=new Uint8Array(be+y.length),E=new Uint8Array(m.length),O=0;O<y.length;O++)m[O+be]=y[O];return m.length<32||G(E,m,m.length,I,w)!==0?null:E.subarray(Y)},t.secretbox.keyLength=M,t.secretbox.nonceLength=q,t.secretbox.overheadLength=be,t.scalarMult=function(y,I){if(qi(y,I),y.length!==yr)throw new Error("bad n size");if(I.length!==et)throw new Error("bad p size");var w=new Uint8Array(et);return Qt(w,y,I),w},t.scalarMult.base=function(y){if(qi(y),y.length!==yr)throw new Error("bad n size");var I=new Uint8Array(et);return Bt(I,y),I},t.scalarMult.scalarLength=yr,t.scalarMult.groupElementLength=et,t.box=function(y,I,w,m){var E=t.box.before(w,m);return t.secretbox(y,I,E)},t.box.before=function(y,I){qi(y,I),LR(y,I);var w=new Uint8Array(Te);return ao(w,y,I),w},t.box.after=t.secretbox,t.box.open=function(y,I,w,m){var E=t.box.before(w,m);return t.secretbox.open(y,I,E)},t.box.open.after=t.secretbox.open,t.box.keyPair=function(){var y=new Uint8Array(br),I=new Uint8Array(St);return _t(y,I),{publicKey:y,secretKey:I}},t.box.keyPair.fromSecretKey=function(y){if(qi(y),y.length!==St)throw new Error("bad secret key size");var I=new Uint8Array(br);return Bt(I,y),{publicKey:I,secretKey:new Uint8Array(y)}},t.box.publicKeyLength=br,t.box.secretKeyLength=St,t.box.sharedKeyLength=Te,t.box.nonceLength=$e,t.box.overheadLength=t.secretbox.overheadLength,t.sign=function(y,I){if(qi(y,I),I.length!==ur)throw new Error("bad secret key size");var w=new Uint8Array(mt+y.length);return oS(w,y,y.length,I),w},t.sign.open=function(y,I){if(qi(y,I),I.length!==zt)throw new Error("bad public key size");var w=new Uint8Array(y.length),m=Hd(w,y,y.length,I);if(m<0)return null;for(var E=new Uint8Array(m),O=0;O<E.length;O++)E[O]=w[O];return E},t.sign.detached=function(y,I){for(var w=t.sign(y,I),m=new Uint8Array(mt),E=0;E<m.length;E++)m[E]=w[E];return m},t.sign.detached.verify=function(y,I,w){if(qi(y,I,w),I.length!==mt)throw new Error("bad signature size");if(w.length!==zt)throw new Error("bad public key size");var m=new Uint8Array(mt+y.length),E=new Uint8Array(mt+y.length),O;for(O=0;O<mt;O++)m[O]=I[O];for(O=0;O<y.length;O++)m[O+mt]=y[O];return Hd(E,m,m.length,w)>=0},t.sign.keyPair=function(){var y=new Uint8Array(zt),I=new Uint8Array(ur);return Hh(y,I),{publicKey:y,secretKey:I}},t.sign.keyPair.fromSecretKey=function(y){if(qi(y),y.length!==ur)throw new Error("bad secret key size");for(var I=new Uint8Array(zt),w=0;w<I.length;w++)I[w]=y[32+w];return{publicKey:I,secretKey:new Uint8Array(y)}},t.sign.keyPair.fromSeed=function(y){if(qi(y),y.length!==ni)throw new Error("bad seed size");for(var I=new Uint8Array(zt),w=new Uint8Array(ur),m=0;m<32;m++)w[m]=y[m];return Hh(I,w,!0),{publicKey:I,secretKey:w}},t.sign.publicKeyLength=zt,t.sign.secretKeyLength=ur,t.sign.seedLength=ni,t.sign.signatureLength=mt,t.hash=function(y){qi(y);var I=new Uint8Array(Lf);return Ps(I,y,y.length),I},t.hash.hashLength=Lf,t.verify=function(y,I){return qi(y,I),y.length===0||I.length===0||y.length!==I.length?!1:g(y,0,I,0,y.length)===0},t.setPRNG=function(y){r=y},(function(){var y=typeof self<"u"?self.crypto||self.msCrypto:null;if(y&&y.getRandomValues){var I=65536;t.setPRNG(function(w,m){var E,O=new Uint8Array(m);for(E=0;E<m;E+=I)y.getRandomValues(O.subarray(E,E+Math.min(m-E,I)));for(E=0;E<m;E++)w[E]=O[E];e4(O)})}else typeof Nt<"u"&&(y=Nt("node:crypto"),y&&y.randomBytes&&t.setPRNG(function(w,m){var E,O=y.randomBytes(m);for(E=0;E<m;E++)w[E]=O[E];e4(O)}))})()})(typeof xw<"u"&&xw.exports?xw.exports:self.nacl=self.nacl||{})});var BP=ce(TP=>{"use strict";Object.defineProperty(TP,"__esModule",{value:!0});var _P=class{constructor(e,r=0,n=0){this.start=r,this.end=n>r?n:r,this.buf=e}get length(){return this.buf.length}reset(e=0,r=0){return this.start=e,r>=this.start?this.end=r:this.end<this.start&&(this.end=this.start),this}walk(e){return this.start=this.end,this.end+=e,this}mustHas(e,r="Too few bytes to parse."){let n=this.end+e;if(n>this.buf.length){let i=new Error(r);throw i.available=this.buf.length,i.requested=n,i}return this.walk(0),this}mustWalk(e,r){return this.mustHas(e,r),this.walk(e),this}};TP.BufferVisitor=_P});var DU=ce(MP=>{"use strict";Object.defineProperty(MP,"__esModule",{value:!0});var TU=Nt("node:util"),BU=64,NP="-----BEGIN ",OP="-----END ",c0="-----",DP="Proc-Type",bw=class{static parse(e){let r=[],n=e.toString("utf8").split(`
|
|
5
|
+
`).map(e=>e.trim()).join(" ")};AU.O=function(t){return this.inspectOpts.colors=this.useColors,gw.inspect(t,this.inspectOpts)}});var PU=ce((ZOe,PP)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?PP.exports=IU():PP.exports=CU()});var vw=ce(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});var Mme=Nt("node:net");function Lme(t){switch(Mme.isIP(t)){case 4:return Buffer.from(t.split(".").map(i=>parseInt(i,10)));case 6:let e=t.split(":"),r=Buffer.alloc(16),n=0;e[e.length-1]===""&&(e[e.length-1]="0");for(let i=0;i<e.length;i++){if(e[i]===""){i+1<e.length&&e[i+1]!==""&&(n=16-(e.length-i-1)*2);continue}r.writeUInt16BE(parseInt(e[i],16),n),n+=2}return r;default:return null}}wp.bytesFromIP=Lme;function Hme(t){switch(t.length){case 4:return[t[0],t[1],t[2],t[3]].join(".");case 16:let e=[],r=-1,n=0,i=-1,o=0;for(let s=0;s<t.length;s+=2){let a=t[s]<<8|t[s+1];a===0?(n++,r===-1&&(r=e.length),n>o&&(o=n,i=r)):(r=-1,n=0),e.push(a.toString(16))}if(o>0){let s="",a=e.slice(i+o);e.length=i,e.length===0&&(s+=":"),a.length===0&&(s+=":"),e.push(s,...a)}return e.join(":");default:return""}}wp.bytesToIP=Hme;var Du=Object.create(null),_U=/^[0-9.]+$/;function Ume(t){return _U.test(t)&&Du[t]!==""?t:Du[t]==null?"":Du[t]}wp.getOID=Ume;function $me(t){return!_U.test(t)&&Du[t]!==""||Du[t]==null?t:Du[t]}wp.getOIDName=$me;function ue(t,e){Du[t]=e,Du[e]=t}ue("1.2.840.113549.1.1.1","rsaEncryption");ue("1.2.840.113549.1.1.4","md5WithRsaEncryption");ue("1.2.840.113549.1.1.5","sha1WithRsaEncryption");ue("1.2.840.113549.1.1.8","mgf1");ue("1.2.840.113549.1.1.10","RSASSA-PSS");ue("1.2.840.113549.1.1.11","sha256WithRsaEncryption");ue("1.2.840.113549.1.1.12","sha384WithRsaEncryption");ue("1.2.840.113549.1.1.13","sha512WithRsaEncryption");ue("1.2.840.10045.2.1","ecEncryption");ue("1.2.840.10045.4.1","ecdsaWithSha1");ue("1.2.840.10045.4.3.2","ecdsaWithSha256");ue("1.2.840.10045.4.3.3","ecdsaWithSha384");ue("1.2.840.10045.4.3.4","ecdsaWithSha512");ue("1.2.840.10040.4.3","dsaWithSha1");ue("2.16.840.1.101.3.4.3.2","dsaWithSha256");ue("1.3.14.3.2.7","desCBC");ue("1.3.14.3.2.26","sha1");ue("2.16.840.1.101.3.4.2.1","sha256");ue("2.16.840.1.101.3.4.2.2","sha384");ue("2.16.840.1.101.3.4.2.3","sha512");ue("1.2.840.113549.2.5","md5");ue("1.3.101.110","X25519");ue("1.3.101.111","X448");ue("1.3.101.112","Ed25519");ue("1.3.101.113","Ed448");ue("1.2.840.113549.1.7.1","data");ue("1.2.840.113549.1.7.2","signedData");ue("1.2.840.113549.1.7.3","envelopedData");ue("1.2.840.113549.1.7.4","signedAndEnvelopedData");ue("1.2.840.113549.1.7.5","digestedData");ue("1.2.840.113549.1.7.6","encryptedData");ue("1.2.840.113549.1.9.1","emailAddress");ue("1.2.840.113549.1.9.2","unstructuredName");ue("1.2.840.113549.1.9.3","contentType");ue("1.2.840.113549.1.9.4","messageDigest");ue("1.2.840.113549.1.9.5","signingTime");ue("1.2.840.113549.1.9.6","counterSignature");ue("1.2.840.113549.1.9.7","challengePassword");ue("1.2.840.113549.1.9.8","unstructuredAddress");ue("1.2.840.113549.1.9.14","extensionRequest");ue("1.2.840.113549.1.9.20","friendlyName");ue("1.2.840.113549.1.9.21","localKeyId");ue("1.2.840.113549.1.9.22.1","x509Certificate");ue("1.2.840.113549.1.12.10.1.1","keyBag");ue("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");ue("1.2.840.113549.1.12.10.1.3","certBag");ue("1.2.840.113549.1.12.10.1.4","crlBag");ue("1.2.840.113549.1.12.10.1.5","secretBag");ue("1.2.840.113549.1.12.10.1.6","safeContentsBag");ue("1.2.840.113549.1.5.13","pkcs5PBES2");ue("1.2.840.113549.1.5.12","pkcs5PBKDF2");ue("1.2.840.113549.2.7","hmacWithSha1");ue("1.2.840.113549.2.9","hmacWithSha256");ue("1.2.840.113549.2.10","hmacWithSha384");ue("1.2.840.113549.2.11","hmacWithSha512");ue("1.2.840.113549.3.7","3desCBC");ue("2.16.840.1.101.3.4.1.2","aesCBC128");ue("2.16.840.1.101.3.4.1.42","aesCBC256");ue("2.5.4.3","commonName");ue("2.5.4.5","serialName");ue("2.5.4.6","countryName");ue("2.5.4.7","localityName");ue("2.5.4.8","stateOrProvinceName");ue("2.5.4.10","organizationName");ue("2.5.4.11","organizationalUnitName");ue("2.5.4.15","businessCategory");ue("2.16.840.1.113730.1.1","nsCertType");ue("2.5.29.2","keyAttributes");ue("2.5.29.4","keyUsageRestriction");ue("2.5.29.6","subtreesConstraint");ue("2.5.29.9","subjectDirectoryAttributes");ue("2.5.29.14","subjectKeyIdentifier");ue("2.5.29.15","keyUsage");ue("2.5.29.16","privateKeyUsagePeriod");ue("2.5.29.17","subjectAltName");ue("2.5.29.18","issuerAltName");ue("2.5.29.19","basicConstraints");ue("2.5.29.20","cRLNumber");ue("2.5.29.21","cRLReason");ue("2.5.29.22","expirationDate");ue("2.5.29.23","instructionCode");ue("2.5.29.24","invalidityDate");ue("2.5.29.27","deltaCRLIndicator");ue("2.5.29.28","issuingDistributionPoint");ue("2.5.29.29","certificateIssuer");ue("2.5.29.30","nameConstraints");ue("2.5.29.31","cRLDistributionPoints");ue("2.5.29.32","certificatePolicies");ue("2.5.29.33","policyMappings");ue("2.5.29.35","authorityKeyIdentifier");ue("2.5.29.36","policyConstraints");ue("2.5.29.37","extKeyUsage");ue("2.5.29.46","freshestCRL");ue("2.5.29.54","inhibitAnyPolicy");ue("1.3.6.1.4.1.311.60.2.1.2","jurisdictionST");ue("1.3.6.1.4.1.311.60.2.1.3","jurisdictionC");ue("1.3.6.1.4.1.11129.2.4.2","timestampList");ue("1.3.6.1.5.5.7.1.1","authorityInfoAccess");ue("1.3.6.1.5.5.7.3.1","serverAuth");ue("1.3.6.1.5.5.7.3.2","clientAuth");ue("1.3.6.1.5.5.7.3.3","codeSigning");ue("1.3.6.1.5.5.7.3.4","emailProtection");ue("1.3.6.1.5.5.7.3.8","timeStamping");ue("1.3.6.1.5.5.7.48.1","authorityInfoAccessOcsp");ue("1.3.6.1.5.5.7.48.2","authorityInfoAccessIssuers")});var Sw=ce((t3e,xw)=>{(function(t){"use strict";var e=function(y){var I,w=new Float64Array(16);if(y)for(I=0;I<y.length;I++)w[I]=y[I];return w},r=function(){throw new Error("no PRNG")},n=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var o=e(),s=e([1]),a=e([56129,1]),c=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),u=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),d=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),l=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),f=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function p(y,I,w,m){y[I]=w>>24&255,y[I+1]=w>>16&255,y[I+2]=w>>8&255,y[I+3]=w&255,y[I+4]=m>>24&255,y[I+5]=m>>16&255,y[I+6]=m>>8&255,y[I+7]=m&255}function g(y,I,w,m,E){var O,U=0;for(O=0;O<E;O++)U|=y[I+O]^w[m+O];return(1&U-1>>>8)-1}function v(y,I,w,m){return g(y,I,w,m,16)}function b(y,I,w,m){return g(y,I,w,m,32)}function C(y,I,w,m){for(var E=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,O=w[0]&255|(w[1]&255)<<8|(w[2]&255)<<16|(w[3]&255)<<24,U=w[4]&255|(w[5]&255)<<8|(w[6]&255)<<16|(w[7]&255)<<24,ee=w[8]&255|(w[9]&255)<<8|(w[10]&255)<<16|(w[11]&255)<<24,we=w[12]&255|(w[13]&255)<<8|(w[14]&255)<<16|(w[15]&255)<<24,Qe=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,Me=I[0]&255|(I[1]&255)<<8|(I[2]&255)<<16|(I[3]&255)<<24,Kt=I[4]&255|(I[5]&255)<<8|(I[6]&255)<<16|(I[7]&255)<<24,We=I[8]&255|(I[9]&255)<<8|(I[10]&255)<<16|(I[11]&255)<<24,lt=I[12]&255|(I[13]&255)<<8|(I[14]&255)<<16|(I[15]&255)<<24,ht=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,Et=w[16]&255|(w[17]&255)<<8|(w[18]&255)<<16|(w[19]&255)<<24,bt=w[20]&255|(w[21]&255)<<8|(w[22]&255)<<16|(w[23]&255)<<24,gt=w[24]&255|(w[25]&255)<<8|(w[26]&255)<<16|(w[27]&255)<<24,vt=w[28]&255|(w[29]&255)<<8|(w[30]&255)<<16|(w[31]&255)<<24,yt=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,ze=E,nt=O,He=U,Ke=ee,Ye=we,De=Qe,J=Me,X=Kt,pe=We,Z=lt,te=ht,ve=Et,st=bt,kt=gt,Ct=vt,Rt=yt,A,Dt=0;Dt<20;Dt+=2)A=ze+st|0,Ye^=A<<7|A>>>25,A=Ye+ze|0,pe^=A<<9|A>>>23,A=pe+Ye|0,st^=A<<13|A>>>19,A=st+pe|0,ze^=A<<18|A>>>14,A=De+nt|0,Z^=A<<7|A>>>25,A=Z+De|0,kt^=A<<9|A>>>23,A=kt+Z|0,nt^=A<<13|A>>>19,A=nt+kt|0,De^=A<<18|A>>>14,A=te+J|0,Ct^=A<<7|A>>>25,A=Ct+te|0,He^=A<<9|A>>>23,A=He+Ct|0,J^=A<<13|A>>>19,A=J+He|0,te^=A<<18|A>>>14,A=Rt+ve|0,Ke^=A<<7|A>>>25,A=Ke+Rt|0,X^=A<<9|A>>>23,A=X+Ke|0,ve^=A<<13|A>>>19,A=ve+X|0,Rt^=A<<18|A>>>14,A=ze+Ke|0,nt^=A<<7|A>>>25,A=nt+ze|0,He^=A<<9|A>>>23,A=He+nt|0,Ke^=A<<13|A>>>19,A=Ke+He|0,ze^=A<<18|A>>>14,A=De+Ye|0,J^=A<<7|A>>>25,A=J+De|0,X^=A<<9|A>>>23,A=X+J|0,Ye^=A<<13|A>>>19,A=Ye+X|0,De^=A<<18|A>>>14,A=te+Z|0,ve^=A<<7|A>>>25,A=ve+te|0,pe^=A<<9|A>>>23,A=pe+ve|0,Z^=A<<13|A>>>19,A=Z+pe|0,te^=A<<18|A>>>14,A=Rt+Ct|0,st^=A<<7|A>>>25,A=st+Rt|0,kt^=A<<9|A>>>23,A=kt+st|0,Ct^=A<<13|A>>>19,A=Ct+kt|0,Rt^=A<<18|A>>>14;ze=ze+E|0,nt=nt+O|0,He=He+U|0,Ke=Ke+ee|0,Ye=Ye+we|0,De=De+Qe|0,J=J+Me|0,X=X+Kt|0,pe=pe+We|0,Z=Z+lt|0,te=te+ht|0,ve=ve+Et|0,st=st+bt|0,kt=kt+gt|0,Ct=Ct+vt|0,Rt=Rt+yt|0,y[0]=ze>>>0&255,y[1]=ze>>>8&255,y[2]=ze>>>16&255,y[3]=ze>>>24&255,y[4]=nt>>>0&255,y[5]=nt>>>8&255,y[6]=nt>>>16&255,y[7]=nt>>>24&255,y[8]=He>>>0&255,y[9]=He>>>8&255,y[10]=He>>>16&255,y[11]=He>>>24&255,y[12]=Ke>>>0&255,y[13]=Ke>>>8&255,y[14]=Ke>>>16&255,y[15]=Ke>>>24&255,y[16]=Ye>>>0&255,y[17]=Ye>>>8&255,y[18]=Ye>>>16&255,y[19]=Ye>>>24&255,y[20]=De>>>0&255,y[21]=De>>>8&255,y[22]=De>>>16&255,y[23]=De>>>24&255,y[24]=J>>>0&255,y[25]=J>>>8&255,y[26]=J>>>16&255,y[27]=J>>>24&255,y[28]=X>>>0&255,y[29]=X>>>8&255,y[30]=X>>>16&255,y[31]=X>>>24&255,y[32]=pe>>>0&255,y[33]=pe>>>8&255,y[34]=pe>>>16&255,y[35]=pe>>>24&255,y[36]=Z>>>0&255,y[37]=Z>>>8&255,y[38]=Z>>>16&255,y[39]=Z>>>24&255,y[40]=te>>>0&255,y[41]=te>>>8&255,y[42]=te>>>16&255,y[43]=te>>>24&255,y[44]=ve>>>0&255,y[45]=ve>>>8&255,y[46]=ve>>>16&255,y[47]=ve>>>24&255,y[48]=st>>>0&255,y[49]=st>>>8&255,y[50]=st>>>16&255,y[51]=st>>>24&255,y[52]=kt>>>0&255,y[53]=kt>>>8&255,y[54]=kt>>>16&255,y[55]=kt>>>24&255,y[56]=Ct>>>0&255,y[57]=Ct>>>8&255,y[58]=Ct>>>16&255,y[59]=Ct>>>24&255,y[60]=Rt>>>0&255,y[61]=Rt>>>8&255,y[62]=Rt>>>16&255,y[63]=Rt>>>24&255}function B(y,I,w,m){for(var E=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,O=w[0]&255|(w[1]&255)<<8|(w[2]&255)<<16|(w[3]&255)<<24,U=w[4]&255|(w[5]&255)<<8|(w[6]&255)<<16|(w[7]&255)<<24,ee=w[8]&255|(w[9]&255)<<8|(w[10]&255)<<16|(w[11]&255)<<24,we=w[12]&255|(w[13]&255)<<8|(w[14]&255)<<16|(w[15]&255)<<24,Qe=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,Me=I[0]&255|(I[1]&255)<<8|(I[2]&255)<<16|(I[3]&255)<<24,Kt=I[4]&255|(I[5]&255)<<8|(I[6]&255)<<16|(I[7]&255)<<24,We=I[8]&255|(I[9]&255)<<8|(I[10]&255)<<16|(I[11]&255)<<24,lt=I[12]&255|(I[13]&255)<<8|(I[14]&255)<<16|(I[15]&255)<<24,ht=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,Et=w[16]&255|(w[17]&255)<<8|(w[18]&255)<<16|(w[19]&255)<<24,bt=w[20]&255|(w[21]&255)<<8|(w[22]&255)<<16|(w[23]&255)<<24,gt=w[24]&255|(w[25]&255)<<8|(w[26]&255)<<16|(w[27]&255)<<24,vt=w[28]&255|(w[29]&255)<<8|(w[30]&255)<<16|(w[31]&255)<<24,yt=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,ze=E,nt=O,He=U,Ke=ee,Ye=we,De=Qe,J=Me,X=Kt,pe=We,Z=lt,te=ht,ve=Et,st=bt,kt=gt,Ct=vt,Rt=yt,A,Dt=0;Dt<20;Dt+=2)A=ze+st|0,Ye^=A<<7|A>>>25,A=Ye+ze|0,pe^=A<<9|A>>>23,A=pe+Ye|0,st^=A<<13|A>>>19,A=st+pe|0,ze^=A<<18|A>>>14,A=De+nt|0,Z^=A<<7|A>>>25,A=Z+De|0,kt^=A<<9|A>>>23,A=kt+Z|0,nt^=A<<13|A>>>19,A=nt+kt|0,De^=A<<18|A>>>14,A=te+J|0,Ct^=A<<7|A>>>25,A=Ct+te|0,He^=A<<9|A>>>23,A=He+Ct|0,J^=A<<13|A>>>19,A=J+He|0,te^=A<<18|A>>>14,A=Rt+ve|0,Ke^=A<<7|A>>>25,A=Ke+Rt|0,X^=A<<9|A>>>23,A=X+Ke|0,ve^=A<<13|A>>>19,A=ve+X|0,Rt^=A<<18|A>>>14,A=ze+Ke|0,nt^=A<<7|A>>>25,A=nt+ze|0,He^=A<<9|A>>>23,A=He+nt|0,Ke^=A<<13|A>>>19,A=Ke+He|0,ze^=A<<18|A>>>14,A=De+Ye|0,J^=A<<7|A>>>25,A=J+De|0,X^=A<<9|A>>>23,A=X+J|0,Ye^=A<<13|A>>>19,A=Ye+X|0,De^=A<<18|A>>>14,A=te+Z|0,ve^=A<<7|A>>>25,A=ve+te|0,pe^=A<<9|A>>>23,A=pe+ve|0,Z^=A<<13|A>>>19,A=Z+pe|0,te^=A<<18|A>>>14,A=Rt+Ct|0,st^=A<<7|A>>>25,A=st+Rt|0,kt^=A<<9|A>>>23,A=kt+st|0,Ct^=A<<13|A>>>19,A=Ct+kt|0,Rt^=A<<18|A>>>14;y[0]=ze>>>0&255,y[1]=ze>>>8&255,y[2]=ze>>>16&255,y[3]=ze>>>24&255,y[4]=De>>>0&255,y[5]=De>>>8&255,y[6]=De>>>16&255,y[7]=De>>>24&255,y[8]=te>>>0&255,y[9]=te>>>8&255,y[10]=te>>>16&255,y[11]=te>>>24&255,y[12]=Rt>>>0&255,y[13]=Rt>>>8&255,y[14]=Rt>>>16&255,y[15]=Rt>>>24&255,y[16]=J>>>0&255,y[17]=J>>>8&255,y[18]=J>>>16&255,y[19]=J>>>24&255,y[20]=X>>>0&255,y[21]=X>>>8&255,y[22]=X>>>16&255,y[23]=X>>>24&255,y[24]=pe>>>0&255,y[25]=pe>>>8&255,y[26]=pe>>>16&255,y[27]=pe>>>24&255,y[28]=Z>>>0&255,y[29]=Z>>>8&255,y[30]=Z>>>16&255,y[31]=Z>>>24&255}function _(y,I,w,m){C(y,I,w,m)}function F(y,I,w,m){B(y,I,w,m)}var he=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function z(y,I,w,m,E,O,U){var ee=new Uint8Array(16),we=new Uint8Array(64),Qe,Me;for(Me=0;Me<16;Me++)ee[Me]=0;for(Me=0;Me<8;Me++)ee[Me]=O[Me];for(;E>=64;){for(_(we,ee,U,he),Me=0;Me<64;Me++)y[I+Me]=w[m+Me]^we[Me];for(Qe=1,Me=8;Me<16;Me++)Qe=Qe+(ee[Me]&255)|0,ee[Me]=Qe&255,Qe>>>=8;E-=64,I+=64,m+=64}if(E>0)for(_(we,ee,U,he),Me=0;Me<E;Me++)y[I+Me]=w[m+Me]^we[Me];return 0}function Ae(y,I,w,m,E){var O=new Uint8Array(16),U=new Uint8Array(64),ee,we;for(we=0;we<16;we++)O[we]=0;for(we=0;we<8;we++)O[we]=m[we];for(;w>=64;){for(_(U,O,E,he),we=0;we<64;we++)y[I+we]=U[we];for(ee=1,we=8;we<16;we++)ee=ee+(O[we]&255)|0,O[we]=ee&255,ee>>>=8;w-=64,I+=64}if(w>0)for(_(U,O,E,he),we=0;we<w;we++)y[I+we]=U[we];return 0}function de(y,I,w,m,E){var O=new Uint8Array(32);F(O,m,E,he);for(var U=new Uint8Array(8),ee=0;ee<8;ee++)U[ee]=m[ee+16];return Ae(y,I,w,U,O)}function R(y,I,w,m,E,O,U){var ee=new Uint8Array(32);F(ee,O,U,he);for(var we=new Uint8Array(8),Qe=0;Qe<8;Qe++)we[Qe]=O[Qe+16];return z(y,I,w,m,E,we,ee)}var V=function(y){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var I,w,m,E,O,U,ee,we;I=y[0]&255|(y[1]&255)<<8,this.r[0]=I&8191,w=y[2]&255|(y[3]&255)<<8,this.r[1]=(I>>>13|w<<3)&8191,m=y[4]&255|(y[5]&255)<<8,this.r[2]=(w>>>10|m<<6)&7939,E=y[6]&255|(y[7]&255)<<8,this.r[3]=(m>>>7|E<<9)&8191,O=y[8]&255|(y[9]&255)<<8,this.r[4]=(E>>>4|O<<12)&255,this.r[5]=O>>>1&8190,U=y[10]&255|(y[11]&255)<<8,this.r[6]=(O>>>14|U<<2)&8191,ee=y[12]&255|(y[13]&255)<<8,this.r[7]=(U>>>11|ee<<5)&8065,we=y[14]&255|(y[15]&255)<<8,this.r[8]=(ee>>>8|we<<8)&8191,this.r[9]=we>>>5&127,this.pad[0]=y[16]&255|(y[17]&255)<<8,this.pad[1]=y[18]&255|(y[19]&255)<<8,this.pad[2]=y[20]&255|(y[21]&255)<<8,this.pad[3]=y[22]&255|(y[23]&255)<<8,this.pad[4]=y[24]&255|(y[25]&255)<<8,this.pad[5]=y[26]&255|(y[27]&255)<<8,this.pad[6]=y[28]&255|(y[29]&255)<<8,this.pad[7]=y[30]&255|(y[31]&255)<<8};V.prototype.blocks=function(y,I,w){for(var m=this.fin?0:2048,E,O,U,ee,we,Qe,Me,Kt,We,lt,ht,Et,bt,gt,vt,yt,ze,nt,He,Ke=this.h[0],Ye=this.h[1],De=this.h[2],J=this.h[3],X=this.h[4],pe=this.h[5],Z=this.h[6],te=this.h[7],ve=this.h[8],st=this.h[9],kt=this.r[0],Ct=this.r[1],Rt=this.r[2],A=this.r[3],Dt=this.r[4],Jt=this.r[5],Xt=this.r[6],Tt=this.r[7],qt=this.r[8],Wt=this.r[9];w>=16;)E=y[I+0]&255|(y[I+1]&255)<<8,Ke+=E&8191,O=y[I+2]&255|(y[I+3]&255)<<8,Ye+=(E>>>13|O<<3)&8191,U=y[I+4]&255|(y[I+5]&255)<<8,De+=(O>>>10|U<<6)&8191,ee=y[I+6]&255|(y[I+7]&255)<<8,J+=(U>>>7|ee<<9)&8191,we=y[I+8]&255|(y[I+9]&255)<<8,X+=(ee>>>4|we<<12)&8191,pe+=we>>>1&8191,Qe=y[I+10]&255|(y[I+11]&255)<<8,Z+=(we>>>14|Qe<<2)&8191,Me=y[I+12]&255|(y[I+13]&255)<<8,te+=(Qe>>>11|Me<<5)&8191,Kt=y[I+14]&255|(y[I+15]&255)<<8,ve+=(Me>>>8|Kt<<8)&8191,st+=Kt>>>5|m,We=0,lt=We,lt+=Ke*kt,lt+=Ye*(5*Wt),lt+=De*(5*qt),lt+=J*(5*Tt),lt+=X*(5*Xt),We=lt>>>13,lt&=8191,lt+=pe*(5*Jt),lt+=Z*(5*Dt),lt+=te*(5*A),lt+=ve*(5*Rt),lt+=st*(5*Ct),We+=lt>>>13,lt&=8191,ht=We,ht+=Ke*Ct,ht+=Ye*kt,ht+=De*(5*Wt),ht+=J*(5*qt),ht+=X*(5*Tt),We=ht>>>13,ht&=8191,ht+=pe*(5*Xt),ht+=Z*(5*Jt),ht+=te*(5*Dt),ht+=ve*(5*A),ht+=st*(5*Rt),We+=ht>>>13,ht&=8191,Et=We,Et+=Ke*Rt,Et+=Ye*Ct,Et+=De*kt,Et+=J*(5*Wt),Et+=X*(5*qt),We=Et>>>13,Et&=8191,Et+=pe*(5*Tt),Et+=Z*(5*Xt),Et+=te*(5*Jt),Et+=ve*(5*Dt),Et+=st*(5*A),We+=Et>>>13,Et&=8191,bt=We,bt+=Ke*A,bt+=Ye*Rt,bt+=De*Ct,bt+=J*kt,bt+=X*(5*Wt),We=bt>>>13,bt&=8191,bt+=pe*(5*qt),bt+=Z*(5*Tt),bt+=te*(5*Xt),bt+=ve*(5*Jt),bt+=st*(5*Dt),We+=bt>>>13,bt&=8191,gt=We,gt+=Ke*Dt,gt+=Ye*A,gt+=De*Rt,gt+=J*Ct,gt+=X*kt,We=gt>>>13,gt&=8191,gt+=pe*(5*Wt),gt+=Z*(5*qt),gt+=te*(5*Tt),gt+=ve*(5*Xt),gt+=st*(5*Jt),We+=gt>>>13,gt&=8191,vt=We,vt+=Ke*Jt,vt+=Ye*Dt,vt+=De*A,vt+=J*Rt,vt+=X*Ct,We=vt>>>13,vt&=8191,vt+=pe*kt,vt+=Z*(5*Wt),vt+=te*(5*qt),vt+=ve*(5*Tt),vt+=st*(5*Xt),We+=vt>>>13,vt&=8191,yt=We,yt+=Ke*Xt,yt+=Ye*Jt,yt+=De*Dt,yt+=J*A,yt+=X*Rt,We=yt>>>13,yt&=8191,yt+=pe*Ct,yt+=Z*kt,yt+=te*(5*Wt),yt+=ve*(5*qt),yt+=st*(5*Tt),We+=yt>>>13,yt&=8191,ze=We,ze+=Ke*Tt,ze+=Ye*Xt,ze+=De*Jt,ze+=J*Dt,ze+=X*A,We=ze>>>13,ze&=8191,ze+=pe*Rt,ze+=Z*Ct,ze+=te*kt,ze+=ve*(5*Wt),ze+=st*(5*qt),We+=ze>>>13,ze&=8191,nt=We,nt+=Ke*qt,nt+=Ye*Tt,nt+=De*Xt,nt+=J*Jt,nt+=X*Dt,We=nt>>>13,nt&=8191,nt+=pe*A,nt+=Z*Rt,nt+=te*Ct,nt+=ve*kt,nt+=st*(5*Wt),We+=nt>>>13,nt&=8191,He=We,He+=Ke*Wt,He+=Ye*qt,He+=De*Tt,He+=J*Xt,He+=X*Jt,We=He>>>13,He&=8191,He+=pe*Dt,He+=Z*A,He+=te*Rt,He+=ve*Ct,He+=st*kt,We+=He>>>13,He&=8191,We=(We<<2)+We|0,We=We+lt|0,lt=We&8191,We=We>>>13,ht+=We,Ke=lt,Ye=ht,De=Et,J=bt,X=gt,pe=vt,Z=yt,te=ze,ve=nt,st=He,I+=16,w-=16;this.h[0]=Ke,this.h[1]=Ye,this.h[2]=De,this.h[3]=J,this.h[4]=X,this.h[5]=pe,this.h[6]=Z,this.h[7]=te,this.h[8]=ve,this.h[9]=st},V.prototype.finish=function(y,I){var w=new Uint16Array(10),m,E,O,U;if(this.leftover){for(U=this.leftover,this.buffer[U++]=1;U<16;U++)this.buffer[U]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(m=this.h[1]>>>13,this.h[1]&=8191,U=2;U<10;U++)this.h[U]+=m,m=this.h[U]>>>13,this.h[U]&=8191;for(this.h[0]+=m*5,m=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=m,m=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=m,w[0]=this.h[0]+5,m=w[0]>>>13,w[0]&=8191,U=1;U<10;U++)w[U]=this.h[U]+m,m=w[U]>>>13,w[U]&=8191;for(w[9]-=8192,E=(m^1)-1,U=0;U<10;U++)w[U]&=E;for(E=~E,U=0;U<10;U++)this.h[U]=this.h[U]&E|w[U];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,O=this.h[0]+this.pad[0],this.h[0]=O&65535,U=1;U<8;U++)O=(this.h[U]+this.pad[U]|0)+(O>>>16)|0,this.h[U]=O&65535;y[I+0]=this.h[0]>>>0&255,y[I+1]=this.h[0]>>>8&255,y[I+2]=this.h[1]>>>0&255,y[I+3]=this.h[1]>>>8&255,y[I+4]=this.h[2]>>>0&255,y[I+5]=this.h[2]>>>8&255,y[I+6]=this.h[3]>>>0&255,y[I+7]=this.h[3]>>>8&255,y[I+8]=this.h[4]>>>0&255,y[I+9]=this.h[4]>>>8&255,y[I+10]=this.h[5]>>>0&255,y[I+11]=this.h[5]>>>8&255,y[I+12]=this.h[6]>>>0&255,y[I+13]=this.h[6]>>>8&255,y[I+14]=this.h[7]>>>0&255,y[I+15]=this.h[7]>>>8&255},V.prototype.update=function(y,I,w){var m,E;if(this.leftover){for(E=16-this.leftover,E>w&&(E=w),m=0;m<E;m++)this.buffer[this.leftover+m]=y[I+m];if(w-=E,I+=E,this.leftover+=E,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(w>=16&&(E=w-w%16,this.blocks(y,I,E),I+=E,w-=E),w){for(m=0;m<w;m++)this.buffer[this.leftover+m]=y[I+m];this.leftover+=w}};function le(y,I,w,m,E,O){var U=new V(O);return U.update(w,m,E),U.finish(y,I),0}function se(y,I,w,m,E,O){var U=new Uint8Array(16);return le(U,0,w,m,E,O),v(y,I,U,0)}function H(y,I,w,m,E){var O;if(w<32)return-1;for(R(y,0,I,0,w,m,E),le(y,16,y,32,w-32,y),O=0;O<16;O++)y[O]=0;return 0}function G(y,I,w,m,E){var O,U=new Uint8Array(32);if(w<32||(de(U,0,32,m,E),se(I,16,I,32,w-32,U)!==0))return-1;for(R(y,0,I,0,w,m,E),O=0;O<32;O++)y[O]=0;return 0}function j(y,I){var w;for(w=0;w<16;w++)y[w]=I[w]|0}function me(y){var I,w,m=1;for(I=0;I<16;I++)w=y[I]+m+65535,m=Math.floor(w/65536),y[I]=w-m*65536;y[0]+=m-1+37*(m-1)}function Ce(y,I,w){for(var m,E=~(w-1),O=0;O<16;O++)m=E&(y[O]^I[O]),y[O]^=m,I[O]^=m}function _e(y,I){var w,m,E,O=e(),U=e();for(w=0;w<16;w++)U[w]=I[w];for(me(U),me(U),me(U),m=0;m<2;m++){for(O[0]=U[0]-65517,w=1;w<15;w++)O[w]=U[w]-65535-(O[w-1]>>16&1),O[w-1]&=65535;O[15]=U[15]-32767-(O[14]>>16&1),E=O[15]>>16&1,O[14]&=65535,Ce(U,O,1-E)}for(w=0;w<16;w++)y[2*w]=U[w]&255,y[2*w+1]=U[w]>>8}function P(y,I){var w=new Uint8Array(32),m=new Uint8Array(32);return _e(w,y),_e(m,I),b(w,0,m,0)}function D(y){var I=new Uint8Array(32);return _e(I,y),I[0]&1}function K(y,I){var w;for(w=0;w<16;w++)y[w]=I[2*w]+(I[2*w+1]<<8);y[15]&=32767}function T(y,I,w){for(var m=0;m<16;m++)y[m]=I[m]+w[m]}function $(y,I,w){for(var m=0;m<16;m++)y[m]=I[m]-w[m]}function ye(y,I,w){var m,E,O=0,U=0,ee=0,we=0,Qe=0,Me=0,Kt=0,We=0,lt=0,ht=0,Et=0,bt=0,gt=0,vt=0,yt=0,ze=0,nt=0,He=0,Ke=0,Ye=0,De=0,J=0,X=0,pe=0,Z=0,te=0,ve=0,st=0,kt=0,Ct=0,Rt=0,A=w[0],Dt=w[1],Jt=w[2],Xt=w[3],Tt=w[4],qt=w[5],Wt=w[6],Vr=w[7],nr=w[8],Mr=w[9],Lr=w[10],Hr=w[11],an=w[12],jn=w[13],qn=w[14],Wn=w[15];m=I[0],O+=m*A,U+=m*Dt,ee+=m*Jt,we+=m*Xt,Qe+=m*Tt,Me+=m*qt,Kt+=m*Wt,We+=m*Vr,lt+=m*nr,ht+=m*Mr,Et+=m*Lr,bt+=m*Hr,gt+=m*an,vt+=m*jn,yt+=m*qn,ze+=m*Wn,m=I[1],U+=m*A,ee+=m*Dt,we+=m*Jt,Qe+=m*Xt,Me+=m*Tt,Kt+=m*qt,We+=m*Wt,lt+=m*Vr,ht+=m*nr,Et+=m*Mr,bt+=m*Lr,gt+=m*Hr,vt+=m*an,yt+=m*jn,ze+=m*qn,nt+=m*Wn,m=I[2],ee+=m*A,we+=m*Dt,Qe+=m*Jt,Me+=m*Xt,Kt+=m*Tt,We+=m*qt,lt+=m*Wt,ht+=m*Vr,Et+=m*nr,bt+=m*Mr,gt+=m*Lr,vt+=m*Hr,yt+=m*an,ze+=m*jn,nt+=m*qn,He+=m*Wn,m=I[3],we+=m*A,Qe+=m*Dt,Me+=m*Jt,Kt+=m*Xt,We+=m*Tt,lt+=m*qt,ht+=m*Wt,Et+=m*Vr,bt+=m*nr,gt+=m*Mr,vt+=m*Lr,yt+=m*Hr,ze+=m*an,nt+=m*jn,He+=m*qn,Ke+=m*Wn,m=I[4],Qe+=m*A,Me+=m*Dt,Kt+=m*Jt,We+=m*Xt,lt+=m*Tt,ht+=m*qt,Et+=m*Wt,bt+=m*Vr,gt+=m*nr,vt+=m*Mr,yt+=m*Lr,ze+=m*Hr,nt+=m*an,He+=m*jn,Ke+=m*qn,Ye+=m*Wn,m=I[5],Me+=m*A,Kt+=m*Dt,We+=m*Jt,lt+=m*Xt,ht+=m*Tt,Et+=m*qt,bt+=m*Wt,gt+=m*Vr,vt+=m*nr,yt+=m*Mr,ze+=m*Lr,nt+=m*Hr,He+=m*an,Ke+=m*jn,Ye+=m*qn,De+=m*Wn,m=I[6],Kt+=m*A,We+=m*Dt,lt+=m*Jt,ht+=m*Xt,Et+=m*Tt,bt+=m*qt,gt+=m*Wt,vt+=m*Vr,yt+=m*nr,ze+=m*Mr,nt+=m*Lr,He+=m*Hr,Ke+=m*an,Ye+=m*jn,De+=m*qn,J+=m*Wn,m=I[7],We+=m*A,lt+=m*Dt,ht+=m*Jt,Et+=m*Xt,bt+=m*Tt,gt+=m*qt,vt+=m*Wt,yt+=m*Vr,ze+=m*nr,nt+=m*Mr,He+=m*Lr,Ke+=m*Hr,Ye+=m*an,De+=m*jn,J+=m*qn,X+=m*Wn,m=I[8],lt+=m*A,ht+=m*Dt,Et+=m*Jt,bt+=m*Xt,gt+=m*Tt,vt+=m*qt,yt+=m*Wt,ze+=m*Vr,nt+=m*nr,He+=m*Mr,Ke+=m*Lr,Ye+=m*Hr,De+=m*an,J+=m*jn,X+=m*qn,pe+=m*Wn,m=I[9],ht+=m*A,Et+=m*Dt,bt+=m*Jt,gt+=m*Xt,vt+=m*Tt,yt+=m*qt,ze+=m*Wt,nt+=m*Vr,He+=m*nr,Ke+=m*Mr,Ye+=m*Lr,De+=m*Hr,J+=m*an,X+=m*jn,pe+=m*qn,Z+=m*Wn,m=I[10],Et+=m*A,bt+=m*Dt,gt+=m*Jt,vt+=m*Xt,yt+=m*Tt,ze+=m*qt,nt+=m*Wt,He+=m*Vr,Ke+=m*nr,Ye+=m*Mr,De+=m*Lr,J+=m*Hr,X+=m*an,pe+=m*jn,Z+=m*qn,te+=m*Wn,m=I[11],bt+=m*A,gt+=m*Dt,vt+=m*Jt,yt+=m*Xt,ze+=m*Tt,nt+=m*qt,He+=m*Wt,Ke+=m*Vr,Ye+=m*nr,De+=m*Mr,J+=m*Lr,X+=m*Hr,pe+=m*an,Z+=m*jn,te+=m*qn,ve+=m*Wn,m=I[12],gt+=m*A,vt+=m*Dt,yt+=m*Jt,ze+=m*Xt,nt+=m*Tt,He+=m*qt,Ke+=m*Wt,Ye+=m*Vr,De+=m*nr,J+=m*Mr,X+=m*Lr,pe+=m*Hr,Z+=m*an,te+=m*jn,ve+=m*qn,st+=m*Wn,m=I[13],vt+=m*A,yt+=m*Dt,ze+=m*Jt,nt+=m*Xt,He+=m*Tt,Ke+=m*qt,Ye+=m*Wt,De+=m*Vr,J+=m*nr,X+=m*Mr,pe+=m*Lr,Z+=m*Hr,te+=m*an,ve+=m*jn,st+=m*qn,kt+=m*Wn,m=I[14],yt+=m*A,ze+=m*Dt,nt+=m*Jt,He+=m*Xt,Ke+=m*Tt,Ye+=m*qt,De+=m*Wt,J+=m*Vr,X+=m*nr,pe+=m*Mr,Z+=m*Lr,te+=m*Hr,ve+=m*an,st+=m*jn,kt+=m*qn,Ct+=m*Wn,m=I[15],ze+=m*A,nt+=m*Dt,He+=m*Jt,Ke+=m*Xt,Ye+=m*Tt,De+=m*qt,J+=m*Wt,X+=m*Vr,pe+=m*nr,Z+=m*Mr,te+=m*Lr,ve+=m*Hr,st+=m*an,kt+=m*jn,Ct+=m*qn,Rt+=m*Wn,O+=38*nt,U+=38*He,ee+=38*Ke,we+=38*Ye,Qe+=38*De,Me+=38*J,Kt+=38*X,We+=38*pe,lt+=38*Z,ht+=38*te,Et+=38*ve,bt+=38*st,gt+=38*kt,vt+=38*Ct,yt+=38*Rt,E=1,m=O+E+65535,E=Math.floor(m/65536),O=m-E*65536,m=U+E+65535,E=Math.floor(m/65536),U=m-E*65536,m=ee+E+65535,E=Math.floor(m/65536),ee=m-E*65536,m=we+E+65535,E=Math.floor(m/65536),we=m-E*65536,m=Qe+E+65535,E=Math.floor(m/65536),Qe=m-E*65536,m=Me+E+65535,E=Math.floor(m/65536),Me=m-E*65536,m=Kt+E+65535,E=Math.floor(m/65536),Kt=m-E*65536,m=We+E+65535,E=Math.floor(m/65536),We=m-E*65536,m=lt+E+65535,E=Math.floor(m/65536),lt=m-E*65536,m=ht+E+65535,E=Math.floor(m/65536),ht=m-E*65536,m=Et+E+65535,E=Math.floor(m/65536),Et=m-E*65536,m=bt+E+65535,E=Math.floor(m/65536),bt=m-E*65536,m=gt+E+65535,E=Math.floor(m/65536),gt=m-E*65536,m=vt+E+65535,E=Math.floor(m/65536),vt=m-E*65536,m=yt+E+65535,E=Math.floor(m/65536),yt=m-E*65536,m=ze+E+65535,E=Math.floor(m/65536),ze=m-E*65536,O+=E-1+37*(E-1),E=1,m=O+E+65535,E=Math.floor(m/65536),O=m-E*65536,m=U+E+65535,E=Math.floor(m/65536),U=m-E*65536,m=ee+E+65535,E=Math.floor(m/65536),ee=m-E*65536,m=we+E+65535,E=Math.floor(m/65536),we=m-E*65536,m=Qe+E+65535,E=Math.floor(m/65536),Qe=m-E*65536,m=Me+E+65535,E=Math.floor(m/65536),Me=m-E*65536,m=Kt+E+65535,E=Math.floor(m/65536),Kt=m-E*65536,m=We+E+65535,E=Math.floor(m/65536),We=m-E*65536,m=lt+E+65535,E=Math.floor(m/65536),lt=m-E*65536,m=ht+E+65535,E=Math.floor(m/65536),ht=m-E*65536,m=Et+E+65535,E=Math.floor(m/65536),Et=m-E*65536,m=bt+E+65535,E=Math.floor(m/65536),bt=m-E*65536,m=gt+E+65535,E=Math.floor(m/65536),gt=m-E*65536,m=vt+E+65535,E=Math.floor(m/65536),vt=m-E*65536,m=yt+E+65535,E=Math.floor(m/65536),yt=m-E*65536,m=ze+E+65535,E=Math.floor(m/65536),ze=m-E*65536,O+=E-1+37*(E-1),y[0]=O,y[1]=U,y[2]=ee,y[3]=we,y[4]=Qe,y[5]=Me,y[6]=Kt,y[7]=We,y[8]=lt,y[9]=ht,y[10]=Et,y[11]=bt,y[12]=gt,y[13]=vt,y[14]=yt,y[15]=ze}function Se(y,I){ye(y,I,I)}function ct(y,I){var w=e(),m;for(m=0;m<16;m++)w[m]=I[m];for(m=253;m>=0;m--)Se(w,w),m!==2&&m!==4&&ye(w,w,I);for(m=0;m<16;m++)y[m]=w[m]}function It(y,I){var w=e(),m;for(m=0;m<16;m++)w[m]=I[m];for(m=250;m>=0;m--)Se(w,w),m!==1&&ye(w,w,I);for(m=0;m<16;m++)y[m]=w[m]}function Qt(y,I,w){var m=new Uint8Array(32),E=new Float64Array(80),O,U,ee=e(),we=e(),Qe=e(),Me=e(),Kt=e(),We=e();for(U=0;U<31;U++)m[U]=I[U];for(m[31]=I[31]&127|64,m[0]&=248,K(E,w),U=0;U<16;U++)we[U]=E[U],Me[U]=ee[U]=Qe[U]=0;for(ee[0]=Me[0]=1,U=254;U>=0;--U)O=m[U>>>3]>>>(U&7)&1,Ce(ee,we,O),Ce(Qe,Me,O),T(Kt,ee,Qe),$(ee,ee,Qe),T(Qe,we,Me),$(we,we,Me),Se(Me,Kt),Se(We,ee),ye(ee,Qe,ee),ye(Qe,we,Kt),T(Kt,ee,Qe),$(ee,ee,Qe),Se(we,ee),$(Qe,Me,We),ye(ee,Qe,a),T(ee,ee,Me),ye(Qe,Qe,ee),ye(ee,Me,We),ye(Me,we,E),Se(we,Kt),Ce(ee,we,O),Ce(Qe,Me,O);for(U=0;U<16;U++)E[U+16]=ee[U],E[U+32]=Qe[U],E[U+48]=we[U],E[U+64]=Me[U];var lt=E.subarray(32),ht=E.subarray(16);return ct(lt,lt),ye(ht,ht,lt),_e(y,ht),0}function Bt(y,I){return Qt(y,I,i)}function _t(y,I){return r(I,32),Bt(y,I)}function ao(y,I,w){var m=new Uint8Array(32);return Qt(m,w,I),F(y,n,m,he)}var co=H,Od=G;function OR(y,I,w,m,E,O){var U=new Uint8Array(32);return ao(U,E,O),co(y,I,w,m,U)}function Dh(y,I,w,m,E,O){var U=new Uint8Array(32);return ao(U,E,O),Od(y,I,w,m,U)}var Nh=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Oh(y,I,w,m){for(var E=new Int32Array(16),O=new Int32Array(16),U,ee,we,Qe,Me,Kt,We,lt,ht,Et,bt,gt,vt,yt,ze,nt,He,Ke,Ye,De,J,X,pe,Z,te,ve,st=y[0],kt=y[1],Ct=y[2],Rt=y[3],A=y[4],Dt=y[5],Jt=y[6],Xt=y[7],Tt=I[0],qt=I[1],Wt=I[2],Vr=I[3],nr=I[4],Mr=I[5],Lr=I[6],Hr=I[7],an=0;m>=128;){for(Ye=0;Ye<16;Ye++)De=8*Ye+an,E[Ye]=w[De+0]<<24|w[De+1]<<16|w[De+2]<<8|w[De+3],O[Ye]=w[De+4]<<24|w[De+5]<<16|w[De+6]<<8|w[De+7];for(Ye=0;Ye<80;Ye++)if(U=st,ee=kt,we=Ct,Qe=Rt,Me=A,Kt=Dt,We=Jt,lt=Xt,ht=Tt,Et=qt,bt=Wt,gt=Vr,vt=nr,yt=Mr,ze=Lr,nt=Hr,J=Xt,X=Hr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=(A>>>14|nr<<18)^(A>>>18|nr<<14)^(nr>>>9|A<<23),X=(nr>>>14|A<<18)^(nr>>>18|A<<14)^(A>>>9|nr<<23),pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,J=A&Dt^~A&Jt,X=nr&Mr^~nr&Lr,pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,J=Nh[Ye*2],X=Nh[Ye*2+1],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,J=E[Ye%16],X=O[Ye%16],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,He=te&65535|ve<<16,Ke=pe&65535|Z<<16,J=He,X=Ke,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=(st>>>28|Tt<<4)^(Tt>>>2|st<<30)^(Tt>>>7|st<<25),X=(Tt>>>28|st<<4)^(st>>>2|Tt<<30)^(st>>>7|Tt<<25),pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,J=st&kt^st&Ct^kt&Ct,X=Tt&qt^Tt&Wt^qt&Wt,pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,lt=te&65535|ve<<16,nt=pe&65535|Z<<16,J=Qe,X=gt,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=He,X=Ke,pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,Qe=te&65535|ve<<16,gt=pe&65535|Z<<16,kt=U,Ct=ee,Rt=we,A=Qe,Dt=Me,Jt=Kt,Xt=We,st=lt,qt=ht,Wt=Et,Vr=bt,nr=gt,Mr=vt,Lr=yt,Hr=ze,Tt=nt,Ye%16===15)for(De=0;De<16;De++)J=E[De],X=O[De],pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=E[(De+9)%16],X=O[(De+9)%16],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,He=E[(De+1)%16],Ke=O[(De+1)%16],J=(He>>>1|Ke<<31)^(He>>>8|Ke<<24)^He>>>7,X=(Ke>>>1|He<<31)^(Ke>>>8|He<<24)^(Ke>>>7|He<<25),pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,He=E[(De+14)%16],Ke=O[(De+14)%16],J=(He>>>19|Ke<<13)^(Ke>>>29|He<<3)^He>>>6,X=(Ke>>>19|He<<13)^(He>>>29|Ke<<3)^(Ke>>>6|He<<26),pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,E[De]=te&65535|ve<<16,O[De]=pe&65535|Z<<16;J=st,X=Tt,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[0],X=I[0],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[0]=st=te&65535|ve<<16,I[0]=Tt=pe&65535|Z<<16,J=kt,X=qt,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[1],X=I[1],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[1]=kt=te&65535|ve<<16,I[1]=qt=pe&65535|Z<<16,J=Ct,X=Wt,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[2],X=I[2],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[2]=Ct=te&65535|ve<<16,I[2]=Wt=pe&65535|Z<<16,J=Rt,X=Vr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[3],X=I[3],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[3]=Rt=te&65535|ve<<16,I[3]=Vr=pe&65535|Z<<16,J=A,X=nr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[4],X=I[4],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[4]=A=te&65535|ve<<16,I[4]=nr=pe&65535|Z<<16,J=Dt,X=Mr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[5],X=I[5],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[5]=Dt=te&65535|ve<<16,I[5]=Mr=pe&65535|Z<<16,J=Jt,X=Lr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[6],X=I[6],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[6]=Jt=te&65535|ve<<16,I[6]=Lr=pe&65535|Z<<16,J=Xt,X=Hr,pe=X&65535,Z=X>>>16,te=J&65535,ve=J>>>16,J=y[7],X=I[7],pe+=X&65535,Z+=X>>>16,te+=J&65535,ve+=J>>>16,Z+=pe>>>16,te+=Z>>>16,ve+=te>>>16,y[7]=Xt=te&65535|ve<<16,I[7]=Hr=pe&65535|Z<<16,an+=128,m-=128}return m}function Ps(y,I,w){var m=new Int32Array(8),E=new Int32Array(8),O=new Uint8Array(256),U,ee=w;for(m[0]=1779033703,m[1]=3144134277,m[2]=1013904242,m[3]=2773480762,m[4]=1359893119,m[5]=2600822924,m[6]=528734635,m[7]=1541459225,E[0]=4089235720,E[1]=2227873595,E[2]=4271175723,E[3]=1595750129,E[4]=2917565137,E[5]=725511199,E[6]=4215389547,E[7]=327033209,Oh(m,E,I,w),w%=128,U=0;U<w;U++)O[U]=I[ee-w+U];for(O[w]=128,w=256-128*(w<112?1:0),O[w-9]=0,p(O,w-8,ee/536870912|0,ee<<3),Oh(m,E,O,w),U=0;U<8;U++)p(y,8*U,m[U],E[U]);return 0}function Md(y,I){var w=e(),m=e(),E=e(),O=e(),U=e(),ee=e(),we=e(),Qe=e(),Me=e();$(w,y[1],y[0]),$(Me,I[1],I[0]),ye(w,w,Me),T(m,y[0],y[1]),T(Me,I[0],I[1]),ye(m,m,Me),ye(E,y[3],I[3]),ye(E,E,u),ye(O,y[2],I[2]),T(O,O,O),$(U,m,w),$(ee,O,E),T(we,O,E),T(Qe,m,w),ye(y[0],U,ee),ye(y[1],Qe,we),ye(y[2],we,ee),ye(y[3],U,Qe)}function Mh(y,I,w){var m;for(m=0;m<4;m++)Ce(y[m],I[m],w)}function Ld(y,I){var w=e(),m=e(),E=e();ct(E,I[2]),ye(w,I[0],E),ye(m,I[1],E),_e(y,m),y[31]^=D(w)<<7}function Lh(y,I,w){var m,E;for(j(y[0],o),j(y[1],s),j(y[2],s),j(y[3],o),E=255;E>=0;--E)m=w[E/8|0]>>(E&7)&1,Mh(y,I,m),Md(I,y),Md(y,y),Mh(y,I,m)}function Of(y,I){var w=[e(),e(),e(),e()];j(w[0],d),j(w[1],l),j(w[2],s),ye(w[3],d,l),Lh(y,w,I)}function Hh(y,I,w){var m=new Uint8Array(64),E=[e(),e(),e(),e()],O;for(w||r(I,32),Ps(m,I,32),m[0]&=248,m[31]&=127,m[31]|=64,Of(E,m),Ld(y,E),O=0;O<32;O++)I[O+32]=y[O];return 0}var Mf=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Pa(y,I){var w,m,E,O;for(m=63;m>=32;--m){for(w=0,E=m-32,O=m-12;E<O;++E)I[E]+=w-16*I[m]*Mf[E-(m-32)],w=Math.floor((I[E]+128)/256),I[E]-=w*256;I[E]+=w,I[m]=0}for(w=0,E=0;E<32;E++)I[E]+=w-(I[31]>>4)*Mf[E],w=I[E]>>8,I[E]&=255;for(E=0;E<32;E++)I[E]-=w*Mf[E];for(m=0;m<32;m++)I[m+1]+=I[m]>>8,y[m]=I[m]&255}function Uh(y){var I=new Float64Array(64),w;for(w=0;w<64;w++)I[w]=y[w];for(w=0;w<64;w++)y[w]=0;Pa(y,I)}function oS(y,I,w,m){var E=new Uint8Array(64),O=new Uint8Array(64),U=new Uint8Array(64),ee,we,Qe=new Float64Array(64),Me=[e(),e(),e(),e()];Ps(E,m,32),E[0]&=248,E[31]&=127,E[31]|=64;var Kt=w+64;for(ee=0;ee<w;ee++)y[64+ee]=I[ee];for(ee=0;ee<32;ee++)y[32+ee]=E[32+ee];for(Ps(U,y.subarray(32),w+32),Uh(U),Of(Me,U),Ld(y,Me),ee=32;ee<64;ee++)y[ee]=m[ee];for(Ps(O,y,w+64),Uh(O),ee=0;ee<64;ee++)Qe[ee]=0;for(ee=0;ee<32;ee++)Qe[ee]=U[ee];for(ee=0;ee<32;ee++)for(we=0;we<32;we++)Qe[ee+we]+=O[ee]*E[we];return Pa(y.subarray(32),Qe),Kt}function MR(y,I){var w=e(),m=e(),E=e(),O=e(),U=e(),ee=e(),we=e();return j(y[2],s),K(y[1],I),Se(E,y[1]),ye(O,E,c),$(E,E,y[2]),T(O,y[2],O),Se(U,O),Se(ee,U),ye(we,ee,U),ye(w,we,E),ye(w,w,O),It(w,w),ye(w,w,E),ye(w,w,O),ye(w,w,O),ye(y[0],w,O),Se(m,y[0]),ye(m,m,O),P(m,E)&&ye(y[0],y[0],f),Se(m,y[0]),ye(m,m,O),P(m,E)?-1:(D(y[0])===I[31]>>7&&$(y[0],o,y[0]),ye(y[3],y[0],y[1]),0)}function Hd(y,I,w,m){var E,O=new Uint8Array(32),U=new Uint8Array(64),ee=[e(),e(),e(),e()],we=[e(),e(),e(),e()];if(w<64||MR(we,m))return-1;for(E=0;E<w;E++)y[E]=I[E];for(E=0;E<32;E++)y[E+32]=m[E];if(Ps(U,y,w),Uh(U),Lh(ee,we,U),Of(we,I.subarray(32)),Md(ee,we),Ld(O,ee),w-=64,b(I,0,O,0)){for(E=0;E<w;E++)y[E]=0;return-1}for(E=0;E<w;E++)y[E]=I[E+64];return w}var M=32,q=24,Y=32,be=16,et=32,yr=32,br=32,St=32,Te=32,$e=q,Ge=Y,Xe=be,mt=64,zt=32,ur=64,ni=32,Lf=64;t.lowlevel={crypto_core_hsalsa20:F,crypto_stream_xor:R,crypto_stream:de,crypto_stream_salsa20_xor:z,crypto_stream_salsa20:Ae,crypto_onetimeauth:le,crypto_onetimeauth_verify:se,crypto_verify_16:v,crypto_verify_32:b,crypto_secretbox:H,crypto_secretbox_open:G,crypto_scalarmult:Qt,crypto_scalarmult_base:Bt,crypto_box_beforenm:ao,crypto_box_afternm:co,crypto_box:OR,crypto_box_open:Dh,crypto_box_keypair:_t,crypto_hash:Ps,crypto_sign:oS,crypto_sign_keypair:Hh,crypto_sign_open:Hd,crypto_secretbox_KEYBYTES:M,crypto_secretbox_NONCEBYTES:q,crypto_secretbox_ZEROBYTES:Y,crypto_secretbox_BOXZEROBYTES:be,crypto_scalarmult_BYTES:et,crypto_scalarmult_SCALARBYTES:yr,crypto_box_PUBLICKEYBYTES:br,crypto_box_SECRETKEYBYTES:St,crypto_box_BEFORENMBYTES:Te,crypto_box_NONCEBYTES:$e,crypto_box_ZEROBYTES:Ge,crypto_box_BOXZEROBYTES:Xe,crypto_sign_BYTES:mt,crypto_sign_PUBLICKEYBYTES:zt,crypto_sign_SECRETKEYBYTES:ur,crypto_sign_SEEDBYTES:ni,crypto_hash_BYTES:Lf,gf:e,D:c,L:Mf,pack25519:_e,unpack25519:K,M:ye,A:T,S:Se,Z:$,pow2523:It,add:Md,set25519:j,modL:Pa,scalarmult:Lh,scalarbase:Of};function sS(y,I){if(y.length!==M)throw new Error("bad key size");if(I.length!==q)throw new Error("bad nonce size")}function LR(y,I){if(y.length!==br)throw new Error("bad public key size");if(I.length!==St)throw new Error("bad secret key size")}function qi(){for(var y=0;y<arguments.length;y++)if(!(arguments[y]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function e3(y){for(var I=0;I<y.length;I++)y[I]=0}t.randomBytes=function(y){var I=new Uint8Array(y);return r(I,y),I},t.secretbox=function(y,I,w){qi(y,I,w),sS(w,I);for(var m=new Uint8Array(Y+y.length),E=new Uint8Array(m.length),O=0;O<y.length;O++)m[O+Y]=y[O];return H(E,m,m.length,I,w),E.subarray(be)},t.secretbox.open=function(y,I,w){qi(y,I,w),sS(w,I);for(var m=new Uint8Array(be+y.length),E=new Uint8Array(m.length),O=0;O<y.length;O++)m[O+be]=y[O];return m.length<32||G(E,m,m.length,I,w)!==0?null:E.subarray(Y)},t.secretbox.keyLength=M,t.secretbox.nonceLength=q,t.secretbox.overheadLength=be,t.scalarMult=function(y,I){if(qi(y,I),y.length!==yr)throw new Error("bad n size");if(I.length!==et)throw new Error("bad p size");var w=new Uint8Array(et);return Qt(w,y,I),w},t.scalarMult.base=function(y){if(qi(y),y.length!==yr)throw new Error("bad n size");var I=new Uint8Array(et);return Bt(I,y),I},t.scalarMult.scalarLength=yr,t.scalarMult.groupElementLength=et,t.box=function(y,I,w,m){var E=t.box.before(w,m);return t.secretbox(y,I,E)},t.box.before=function(y,I){qi(y,I),LR(y,I);var w=new Uint8Array(Te);return ao(w,y,I),w},t.box.after=t.secretbox,t.box.open=function(y,I,w,m){var E=t.box.before(w,m);return t.secretbox.open(y,I,E)},t.box.open.after=t.secretbox.open,t.box.keyPair=function(){var y=new Uint8Array(br),I=new Uint8Array(St);return _t(y,I),{publicKey:y,secretKey:I}},t.box.keyPair.fromSecretKey=function(y){if(qi(y),y.length!==St)throw new Error("bad secret key size");var I=new Uint8Array(br);return Bt(I,y),{publicKey:I,secretKey:new Uint8Array(y)}},t.box.publicKeyLength=br,t.box.secretKeyLength=St,t.box.sharedKeyLength=Te,t.box.nonceLength=$e,t.box.overheadLength=t.secretbox.overheadLength,t.sign=function(y,I){if(qi(y,I),I.length!==ur)throw new Error("bad secret key size");var w=new Uint8Array(mt+y.length);return oS(w,y,y.length,I),w},t.sign.open=function(y,I){if(qi(y,I),I.length!==zt)throw new Error("bad public key size");var w=new Uint8Array(y.length),m=Hd(w,y,y.length,I);if(m<0)return null;for(var E=new Uint8Array(m),O=0;O<E.length;O++)E[O]=w[O];return E},t.sign.detached=function(y,I){for(var w=t.sign(y,I),m=new Uint8Array(mt),E=0;E<m.length;E++)m[E]=w[E];return m},t.sign.detached.verify=function(y,I,w){if(qi(y,I,w),I.length!==mt)throw new Error("bad signature size");if(w.length!==zt)throw new Error("bad public key size");var m=new Uint8Array(mt+y.length),E=new Uint8Array(mt+y.length),O;for(O=0;O<mt;O++)m[O]=I[O];for(O=0;O<y.length;O++)m[O+mt]=y[O];return Hd(E,m,m.length,w)>=0},t.sign.keyPair=function(){var y=new Uint8Array(zt),I=new Uint8Array(ur);return Hh(y,I),{publicKey:y,secretKey:I}},t.sign.keyPair.fromSecretKey=function(y){if(qi(y),y.length!==ur)throw new Error("bad secret key size");for(var I=new Uint8Array(zt),w=0;w<I.length;w++)I[w]=y[32+w];return{publicKey:I,secretKey:new Uint8Array(y)}},t.sign.keyPair.fromSeed=function(y){if(qi(y),y.length!==ni)throw new Error("bad seed size");for(var I=new Uint8Array(zt),w=new Uint8Array(ur),m=0;m<32;m++)w[m]=y[m];return Hh(I,w,!0),{publicKey:I,secretKey:w}},t.sign.publicKeyLength=zt,t.sign.secretKeyLength=ur,t.sign.seedLength=ni,t.sign.signatureLength=mt,t.hash=function(y){qi(y);var I=new Uint8Array(Lf);return Ps(I,y,y.length),I},t.hash.hashLength=Lf,t.verify=function(y,I){return qi(y,I),y.length===0||I.length===0||y.length!==I.length?!1:g(y,0,I,0,y.length)===0},t.setPRNG=function(y){r=y},(function(){var y=typeof self<"u"?self.crypto||self.msCrypto:null;if(y&&y.getRandomValues){var I=65536;t.setPRNG(function(w,m){var E,O=new Uint8Array(m);for(E=0;E<m;E+=I)y.getRandomValues(O.subarray(E,E+Math.min(m-E,I)));for(E=0;E<m;E++)w[E]=O[E];e3(O)})}else typeof Nt<"u"&&(y=Nt("node:crypto"),y&&y.randomBytes&&t.setPRNG(function(w,m){var E,O=y.randomBytes(m);for(E=0;E<m;E++)w[E]=O[E];e3(O)}))})()})(typeof xw<"u"&&xw.exports?xw.exports:self.nacl=self.nacl||{})});var BP=ce(TP=>{"use strict";Object.defineProperty(TP,"__esModule",{value:!0});var _P=class{constructor(e,r=0,n=0){this.start=r,this.end=n>r?n:r,this.buf=e}get length(){return this.buf.length}reset(e=0,r=0){return this.start=e,r>=this.start?this.end=r:this.end<this.start&&(this.end=this.start),this}walk(e){return this.start=this.end,this.end+=e,this}mustHas(e,r="Too few bytes to parse."){let n=this.end+e;if(n>this.buf.length){let i=new Error(r);throw i.available=this.buf.length,i.requested=n,i}return this.walk(0),this}mustWalk(e,r){return this.mustHas(e,r),this.walk(e),this}};TP.BufferVisitor=_P});var DU=ce(MP=>{"use strict";Object.defineProperty(MP,"__esModule",{value:!0});var TU=Nt("node:util"),BU=64,NP="-----BEGIN ",OP="-----END ",c0="-----",DP="Proc-Type",bw=class{static parse(e){let r=[],n=e.toString("utf8").split(`
|
|
6
6
|
`).map(i=>i.trim()).filter(i=>i!==""&&!i.startsWith("#"));for(;n.length>0;)r.push(Fme(n));if(r.length===0)throw new Error("PEM: no block");return r}constructor(e,r){this.type=e,this.body=r,this.headers=Object.create(null)}get procType(){return this.getHeader(DP)}getHeader(e){let r=this.headers[e];return r??""}setHeader(e,r){if(e.includes(":"))throw new Error("pem: cannot encode a header key that contains a colon");if(e===""||r==="")throw new Error("pem: invalid header key or value");this.headers[e]=r}toString(){let e=NP+this.type+c0+`
|
|
7
7
|
`,r=Object.keys(this.headers);if(r.length>0){let o=this.procType;o!==""&&(e+=`${DP}: ${o}
|
|
8
8
|
`),r.sort();for(let s of r)s!==DP&&(e+=`${s}: ${this.headers[s]}
|
|
@@ -13,7 +13,7 @@ var ree=Object.create;var aS=Object.defineProperty;var nee=Object.getOwnProperty
|
|
|
13
13
|
`).map(i=>` ${i}`).join(`
|
|
14
14
|
`));let r=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${r} :
|
|
15
15
|
${e.join(`
|
|
16
|
-
`)}`:`${r} :`}};a9=ec;je.Constructed=a9;ec.NAME="CONSTRUCTED";var Dw=class extends kn{fromBER(e,r,n){return r}toBER(e){return Xs}};Dw.override="EndOfContentValueBlock";var c9,y0=class extends pn{constructor(e={}){super(e,Dw),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};c9=y0;je.EndOfContent=c9;y0.NAME=m0;var u9,v0=class extends pn{constructor(e={}){super(e,kn),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,r,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,r+n>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):r+n}toBER(e,r){let n=new ArrayBuffer(2);if(!e){let i=new Uint8Array(n);i[0]=5,i[1]=0}return r&&r.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};u9=v0;je.Null=u9;v0.NAME="NULL";var Nw=class extends Ys(kn){get value(){for(let e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}constructor({value:e,...r}={}){super(r),r.valueHex?this.valueHexView=$t.BufferSourceConverter.toUint8Array(r.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}fromBER(e,r,n){let i=$t.BufferSourceConverter.toUint8Array(e);return tc(this,i,r,n)?(this.valueHexView=i.subarray(r,r+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,ar.utilDecodeTC.call(this),this.blockLength=n,r+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Nw.NAME="BooleanValueBlock";var d9,x0=class extends pn{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor(e={}){super(e,Nw),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};d9=x0;je.Boolean=d9;x0.NAME="BOOLEAN";var Ow=class extends Ys(Ks){constructor({isConstructed:e=!1,...r}={}){super(r),this.isConstructed=e}fromBER(e,r,n,i){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=Ks.prototype.fromBER.call(this,e,r,n,i),o===-1)return o;for(let s=0;s<this.value.length;s++){let a=this.value[s].constructor.NAME;if(a===m0){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==e9)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(e,r,n),this.blockLength=n;return o}toBER(e,r){return this.isConstructed?Ks.prototype.toBER.call(this,e,r):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Ow.NAME="OctetStringValueBlock";var ZP,S0=class extends pn{constructor({idBlock:e={},lenBlock:r={},...n}={}){var i,o;(i=n.isConstructed)!==null&&i!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...e},lenBlock:{...r,isIndefiniteForm:!!n.isIndefiniteForm},...n},Ow),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,r,n,i){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),r;if(!this.valueBlock.isConstructed){let s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(r,r+n);try{if(s.byteLength){let a=i??z0(),c=QP(s,0,s.byteLength,a);c.offset!==-1&&c.offset===n&&(this.valueBlock.value=[c.result])}}catch{}}return super.fromBER(e,r,n,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return ec.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,r=$t.Convert.ToHex(this.valueBlock.valueHexView);return`${e} : ${r}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let r of this.valueBlock.value)r instanceof ZP&&e.push(r.valueBlock.valueHexView);return $t.BufferSourceConverter.concat(e)}};ZP=S0;je.OctetString=ZP;S0.NAME=e9;var Mw=class extends Ys(Ks){constructor({unusedBits:e=0,isConstructed:r=!1,...n}={}){super(n),this.unusedBits=e,this.isConstructed=r,this.blockLength=this.valueHexView.byteLength}fromBER(e,r,n,i){if(!n)return r;let o=-1;if(this.isConstructed){if(o=Ks.prototype.fromBER.call(this,e,r,n,i),o===-1)return o;for(let c of this.value){let u=c.constructor.NAME;if(u===m0){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(u!==t9)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let d=c.valueBlock;if(this.unusedBits>0&&d.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=d.unusedBits}return o}let s=$t.BufferSourceConverter.toUint8Array(e);if(!tc(this,s,r,n))return-1;let a=s.subarray(r,r+n);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let c=a.subarray(1);try{if(c.byteLength){let u=i??z0(),d=QP(c,0,c.byteLength,u);d.offset!==-1&&d.offset===n-1&&(this.value=[d.result])}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,r+n}toBER(e,r){if(this.isConstructed)return Ks.prototype.toBER.call(this,e,r);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let i=new Uint8Array(1);return i[0]=0,i.buffer}let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Mw.NAME="BitStringValueBlock";var l9,b0=class extends pn{constructor({idBlock:e={},lenBlock:r={},...n}={}){var i,o;(i=n.isConstructed)!==null&&i!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...e},lenBlock:{...r,isIndefiniteForm:!!n.isIndefiniteForm},...n},Mw),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,r,n,i){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,r,n,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return ec.prototype.onAsciiEncoding.call(this);{let e=[],r=this.valueBlock.valueHexView;for(let s of r)e.push(s.toString(2).padStart(8,"0"));let n=e.join(""),i=this.constructor.NAME,o=n.substring(0,n.length-this.valueBlock.unusedBits);return`${i} : ${o}`}}};l9=b0;je.BitString=l9;b0.NAME=t9;var f9;function tge(t,e){let r=new Uint8Array([0]),n=new Uint8Array(t),i=new Uint8Array(e),o=n.slice(0),s=o.length-1,a=i.slice(0),c=a.length-1,u=0,d=c<s?s:c,l=0;for(let f=d;f>=0;f--,l++)!0===l<a.length?u=o[s-l]+a[c-l]+r[0]:u=o[s-l]+r[0],r[0]=u/10,!0===l>=o.length?o=ar.utilConcatView(new Uint8Array([u%10]),o):o[s-l]=u%10;return r[0]>0&&(o=ar.utilConcatView(r,o)),o}function QU(t){if(t>=f0.length)for(let e=f0.length;e<=t;e++){let r=new Uint8Array([0]),n=f0[e-1].slice(0);for(let i=n.length-1;i>=0;i--){let o=new Uint8Array([(n[i]<<1)+r[0]]);r[0]=o[0]/10,n[i]=o[0]%10}r[0]>0&&(n=ar.utilConcatView(r,n)),f0.push(n)}return f0[t]}function rge(t,e){let r=0,n=new Uint8Array(t),i=new Uint8Array(e),o=n.slice(0),s=o.length-1,a=i.slice(0),c=a.length-1,u,d=0;for(let l=c;l>=0;l--,d++)u=o[s-d]-a[c-d]-r,!0===u<0?(r=1,o[s-d]=u+10):(r=0,o[s-d]=u);if(r>0)for(let l=s-c+1;l>=0;l--,d++)if(u=o[s-d]-r,u<0)r=1,o[s-d]=u+10;else{r=0,o[s-d]=u;break}return o.slice()}var w0=class extends Ys(kn){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=ar.utilDecodeTC.call(this)))}constructor({value:e,...r}={}){super(r),this._valueDec=0,r.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(ar.utilEncodeTC(e))}get valueDec(){return this._valueDec}fromDER(e,r,n,i=0){let o=this.fromBER(e,r,n);if(o===-1)return o;let s=this.valueHexView;return s[0]===0&&(s[1]&128)!==0?this.valueHexView=s.subarray(1):i!==0&&s.length<i&&(i-s.length>1&&(i=s.length+1),this.valueHexView=s.subarray(i-s.length)),o}toDER(e=!1){let r=this.valueHexView;switch(!0){case(r[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(r,1),this.valueHexView=n}break;case(r[0]===0&&(r[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,r,n){let i=super.fromBER(e,r,n);return i===-1||this.setValueHex(),i}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,r=new Uint8Array(this.valueHexView.length*8/3),n=0,i,o=this.valueHexView,s="",a=!1;for(let c=o.byteLength-1;c>=0;c--){i=o[c];for(let u=0;u<8;u++)(i&1)===1&&(n===e?(r=rge(QU(n),r),s="-"):r=tge(r,QU(n))),n++,i>>=1}for(let c=0;c<r.length;c++)r[c]&&(a=!0),a&&(s+=XU.charAt(r[c]));return a===!1&&(s+=XU.charAt(0)),s}};f9=w0;w0.NAME="IntegerValueBlock";Object.defineProperty(f9.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var p0,Cp=class extends pn{constructor(e={}){super(e,w0),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Pw(),BigInt(this.valueBlock.toString())}static fromBigInt(e){Pw();let r=BigInt(e),n=new Ap,i=r.toString(16).replace(/^-/,""),o=new Uint8Array($t.Convert.FromHex(i));if(r<0){let a=new Uint8Array(o.length+(o[0]&128?1:0));a[0]|=128;let u=BigInt(`0x${$t.Convert.ToHex(a)}`)+r,d=$t.BufferSourceConverter.toUint8Array($t.Convert.FromHex(u.toString(16)));d[0]|=128,n.write(d)}else o[0]&128&&n.write(new Uint8Array([0])),n.write(o);return new p0({valueHex:n.final()})}convertToDER(){let e=new p0({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new p0({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};p0=Cp;je.Integer=p0;Cp.NAME="INTEGER";var p9,I0=class extends Cp{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};p9=I0;je.Enumerated=p9;I0.NAME="ENUMERATED";var E0=class extends Ys(kn){constructor({valueDec:e=-1,isFirstSid:r=!1,...n}={}){super(n),this.valueDec=e,this.isFirstSid=r}fromBER(e,r,n){if(!n)return r;let i=$t.BufferSourceConverter.toUint8Array(e);if(!tc(this,i,r,n))return-1;let o=i.subarray(r,r+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,(o[a]&128)!==0);a++);let s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)s[a]=this.valueHexView[a];return this.valueHexView=s,(o[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ar.utilFromBase(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),r+this.blockLength)}set valueBigInt(e){Pw();let r=BigInt(e).toString(2);for(;r.length%7;)r="0"+r;let n=new Uint8Array(r.length/7);for(let i=0;i<n.length;i++)n[i]=parseInt(r.slice(i*7,i*7+7),2)+(i+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let i=this.valueHexView,o=new Uint8Array(this.blockLength);for(let s=0;s<this.blockLength-1;s++)o[s]=i[s]|128;return o[this.blockLength-1]=i[this.blockLength-1],o.buffer}let r=ar.utilToBase(this.valueDec,7);if(r.byteLength===0)return this.error="Error during encoding SID value",Xs;let n=new Uint8Array(r.byteLength);if(!e){let i=new Uint8Array(r),o=r.byteLength-1;for(let s=0;s<o;s++)n[s]=i[s]|128;n[o]=i[o]}return n}toString(){let e="";if(this.isHexOnly)e=$t.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let r=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",r-=40):(e="2.",r-=80),e+=r.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};E0.NAME="sidBlock";var Lw=class extends kn{constructor({value:e=Pi,...r}={}){super(r),this.value=[],e&&this.fromString(e)}fromBER(e,r,n){let i=r;for(;n>0;){let o=new E0;if(i=o.fromBER(e,i,n),i===-1)return this.blockLength=0,this.error=o.error,i;this.value.length===0&&(o.isFirstSid=!0),this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return i}toBER(e){let r=[];for(let n=0;n<this.value.length;n++){let i=this.value[n].toBER(e);if(i.byteLength===0)return this.error=this.value[n].error,Xs;r.push(i)}return YP(r)}fromString(e){this.value=[];let r=0,n=0,i="",o=!1;do if(n=e.indexOf(".",r),n===-1?i=e.substring(r):i=e.substring(r,n),r=n+1,o){let s=this.value[0],a=0;switch(s.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(i,10);if(isNaN(c))return;s.valueDec=c+a,o=!1}else{let s=new E0;if(i>Number.MAX_SAFE_INTEGER){Pw();let a=BigInt(i);s.valueBigInt=a}else if(s.valueDec=parseInt(i,10),isNaN(s.valueDec))return;this.value.length||(s.isFirstSid=!0,o=!0),this.value.push(s)}while(n!==-1)}toString(){let e="",r=!1;for(let n=0;n<this.value.length;n++){r=this.value[n].isHexOnly;let i=this.value[n].toString();n!==0&&(e=`${e}.`),r?(i=`{${i}}`,this.value[n].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let r=0;r<this.value.length;r++)e.sidArray.push(this.value[r].toJSON());return e}};Lw.NAME="ObjectIdentifierValueBlock";var m9,k0=class extends pn{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,Lw),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};m9=k0;je.ObjectIdentifier=m9;k0.NAME="OBJECT IDENTIFIER";var R0=class extends Ys(Za){constructor({valueDec:e=0,...r}={}){super(r),this.valueDec=e}fromBER(e,r,n){if(n===0)return r;let i=$t.BufferSourceConverter.toUint8Array(e);if(!tc(this,i,r,n))return-1;let o=i.subarray(r,r+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,(o[a]&128)!==0);a++);let s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)s[a]=this.valueHexView[a];return this.valueHexView=s,(o[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ar.utilFromBase(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),r+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let i=this.valueHexView,o=new Uint8Array(this.blockLength);for(let s=0;s<this.blockLength-1;s++)o[s]=i[s]|128;return o[this.blockLength-1]=i[this.blockLength-1],o.buffer}let r=ar.utilToBase(this.valueDec,7);if(r.byteLength===0)return this.error="Error during encoding SID value",Xs;let n=new Uint8Array(r.byteLength);if(!e){let i=new Uint8Array(r),o=r.byteLength-1;for(let s=0;s<o;s++)n[s]=i[s]|128;n[o]=i[o]}return n.buffer}toString(){let e="";return this.isHexOnly?e=$t.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};R0.NAME="relativeSidBlock";var Hw=class extends kn{constructor({value:e=Pi,...r}={}){super(r),this.value=[],e&&this.fromString(e)}fromBER(e,r,n){let i=r;for(;n>0;){let o=new R0;if(i=o.fromBER(e,i,n),i===-1)return this.blockLength=0,this.error=o.error,i;this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return i}toBER(e,r){let n=[];for(let i=0;i<this.value.length;i++){let o=this.value[i].toBER(e);if(o.byteLength===0)return this.error=this.value[i].error,Xs;n.push(o)}return YP(n)}fromString(e){this.value=[];let r=0,n=0,i="";do{n=e.indexOf(".",r),n===-1?i=e.substring(r):i=e.substring(r,n),r=n+1;let o=new R0;if(o.valueDec=parseInt(i,10),isNaN(o.valueDec))return!0;this.value.push(o)}while(n!==-1);return!0}toString(){let e="",r=!1;for(let n=0;n<this.value.length;n++){r=this.value[n].isHexOnly;let i=this.value[n].toString();n!==0&&(e=`${e}.`),r&&(i=`{${i}}`),e+=i}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let r=0;r<this.value.length;r++)e.sidArray.push(this.value[r].toJSON());return e}};Hw.NAME="RelativeObjectIdentifierValueBlock";var h9,A0=class extends pn{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,Hw),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};h9=A0;je.RelativeObjectIdentifier=h9;A0.NAME="RelativeObjectIdentifier";var g9,C0=class extends ec{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};g9=C0;je.Sequence=g9;C0.NAME="SEQUENCE";var y9,P0=class extends ec{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};y9=P0;je.Set=y9;P0.NAME="SET";var Uw=class extends Ys(kn){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Pi}toJSON(){return{...super.toJSON(),value:this.value}}};Uw.NAME="StringValueBlock";var $w=class extends Uw{};$w.NAME="SimpleStringValueBlock";var di=class extends h0{constructor({...e}={}){super(e,$w)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,$t.BufferSourceConverter.toUint8Array(e))}fromString(e){let r=e.length,n=this.valueBlock.valueHexView=new Uint8Array(r);for(let i=0;i<r;i++)n[i]=e.charCodeAt(i);this.valueBlock.value=e}};di.NAME="SIMPLE STRING";var Fw=class extends di{fromBuffer(e){this.valueBlock.valueHexView=$t.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=$t.Convert.ToUtf8String(e)}catch(r){this.warnings.push(`Error during "decodeURIComponent": ${r}, using raw string`),this.valueBlock.value=$t.Convert.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array($t.Convert.FromUtf8String(e)),this.valueBlock.value=e}};Fw.NAME="Utf8StringValueBlock";var v9,Js=class extends Fw{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};v9=Js;je.Utf8String=v9;Js.NAME="UTF8String";var jw=class extends di{fromBuffer(e){this.valueBlock.value=$t.Convert.ToUtf16String(e),this.valueBlock.valueHexView=$t.BufferSourceConverter.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array($t.Convert.FromUtf16String(e))}};jw.NAME="BmpStringValueBlock";var x9,_0=class extends jw{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};x9=_0;je.BmpString=x9;_0.NAME="BMPString";var qw=class extends di{fromBuffer(e){let r=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),n=new Uint8Array(r);for(let i=0;i<n.length;i+=4)n[i]=n[i+3],n[i+1]=n[i+2],n[i+2]=0,n[i+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(r))}fromString(e){let r=e.length,n=this.valueBlock.valueHexView=new Uint8Array(r*4);for(let i=0;i<r;i++){let o=ar.utilToBase(e.charCodeAt(i),8),s=new Uint8Array(o);if(s.length>4)continue;let a=4-s.length;for(let c=s.length-1;c>=0;c--)n[i*4+c+a]=s[c]}this.valueBlock.value=e}};qw.NAME="UniversalStringValueBlock";var S9,T0=class extends qw{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};S9=T0;je.UniversalString=S9;T0.NAME="UniversalString";var b9,B0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};b9=B0;je.NumericString=b9;B0.NAME="NumericString";var w9,D0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};w9=D0;je.PrintableString=w9;D0.NAME="PrintableString";var I9,N0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};I9=N0;je.TeletexString=I9;N0.NAME="TeletexString";var E9,O0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};E9=O0;je.VideotexString=E9;O0.NAME="VideotexString";var k9,M0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};k9=M0;je.IA5String=k9;M0.NAME="IA5String";var R9,L0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};R9=L0;je.GraphicString=R9;L0.NAME="GraphicString";var A9,Pp=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};A9=Pp;je.VisibleString=A9;Pp.NAME="VisibleString";var C9,H0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};C9=H0;je.GeneralString=C9;H0.NAME="GeneralString";var P9,U0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};P9=U0;je.CharacterString=P9;U0.NAME="CharacterString";var _9,_p=class extends Pp{constructor({value:e,valueDate:r,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let i=0;i<e.length;i++)this.valueBlock.valueHexView[i]=e.charCodeAt(i)}r&&(this.fromDate(r),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,$t.BufferSourceConverter.toUint8Array(e)))}toBuffer(){let e=this.toString(),r=new ArrayBuffer(e.length),n=new Uint8Array(r);for(let i=0;i<e.length;i++)n[i]=e.charCodeAt(i);return r}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(n===null){this.error="Wrong input string for conversion";return}let i=parseInt(n[1],10);i>=50?this.year=1900+i:this.year=2e3+i,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(e="iso"){if(e==="iso"){let r=new Array(7);return r[0]=ar.padNumber(this.year<2e3?this.year-1900:this.year-2e3,2),r[1]=ar.padNumber(this.month,2),r[2]=ar.padNumber(this.day,2),r[3]=ar.padNumber(this.hour,2),r[4]=ar.padNumber(this.minute,2),r[5]=ar.padNumber(this.second,2),r[6]="Z",r.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};_9=_p;je.UTCTime=_9;_p.NAME="UTCTime";var T9,$0=class extends _p{constructor(e={}){var r;super(e),(r=this.millisecond)!==null&&r!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){let e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let r=!1,n="",i="",o=0,s,a=0,c=0;if(e[e.length-1]==="Z")n=e.substring(0,e.length-1),r=!0;else{let l=new Number(e[e.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=e}if(r){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let l=1,f=n.indexOf("+"),p="";if(f===-1&&(f=n.indexOf("-"),l=-1),f!==-1){if(p=n.substring(f+1),n=n.substring(0,f),p.length!==2&&p.length!==4)throw new Error("Wrong input string for conversion");let g=parseInt(p.substring(0,2),10);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*g,p.length===4){if(g=parseInt(p.substring(2,4),10),isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");c=l*g}}}let u=n.indexOf(".");if(u===-1&&(u=n.indexOf(",")),u!==-1){let l=new Number(`0${n.substring(u)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");o=l.valueOf(),i=n.substring(0,u)}else i=n;switch(!0){case i.length===8:if(s=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*o;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case i.length===12:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*o;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case i.length===14:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=1e3*o;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let d=s.exec(i);if(d===null)throw new Error("Wrong input string for conversion");for(let l=1;l<d.length;l++)switch(l){case 1:this.year=parseInt(d[l],10);break;case 2:this.month=parseInt(d[l],10);break;case 3:this.day=parseInt(d[l],10);break;case 4:this.hour=parseInt(d[l],10)+a;break;case 5:this.minute=parseInt(d[l],10)+c;break;case 6:this.second=parseInt(d[l],10);break;default:throw new Error("Wrong input string for conversion")}if(r===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){let r=[];return r.push(ar.padNumber(this.year,4)),r.push(ar.padNumber(this.month,2)),r.push(ar.padNumber(this.day,2)),r.push(ar.padNumber(this.hour,2)),r.push(ar.padNumber(this.minute,2)),r.push(ar.padNumber(this.second,2)),this.millisecond!==0&&(r.push("."),r.push(ar.padNumber(this.millisecond,3))),r.push("Z"),r.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};T9=$0;je.GeneralizedTime=T9;$0.NAME="GeneralizedTime";var B9,F0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};B9=F0;je.DATE=B9;F0.NAME="DATE";var D9,j0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};D9=j0;je.TimeOfDay=D9;j0.NAME="TimeOfDay";var N9,q0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};N9=q0;je.DateTime=N9;q0.NAME="DateTime";var O9,W0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};O9=W0;je.Duration=O9;W0.NAME="Duration";var M9,V0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};M9=V0;je.TIME=M9;V0.NAME="TIME";var yl=class{constructor({name:e=Pi,optional:r=!1}={}){this.name=e,this.optional=r}},Ww=class extends yl{constructor({value:e=[],...r}={}){super(r),this.value=e}},G0=class extends yl{constructor({value:e=new yl,local:r=!1,...n}={}){super(n),this.value=e,this.local=r}},XP=class{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=$t.BufferSourceConverter.toUint8Array(e)}constructor({data:e=Vw}={}){this.dataView=$t.BufferSourceConverter.toUint8Array(e)}fromBER(e,r,n){let i=r+n;return this.dataView=$t.BufferSourceConverter.toUint8Array(e).subarray(r,i),i}toBER(e){return this.dataView.slice().buffer}};function Rp(t,e,r){if(r instanceof Ww){for(let o of r.value)if(Rp(t,e,o).verified)return{verified:!0,result:t};{let o={verified:!1,result:{error:"Wrong values for Choice type"}};return r.hasOwnProperty(JP)&&(o.name=r.name),o}}if(r instanceof yl)return r.hasOwnProperty(JP)&&(t[r.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(r instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Uhe in r))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(qhe in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Whe in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};let n=r.idBlock.toBER(!1);if(n.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(r.idBlock.fromBER(n,0,n.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(r.idBlock.hasOwnProperty($he)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(r.idBlock.hasOwnProperty(Fhe)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(r.idBlock.hasOwnProperty(jhe)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(Hhe in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(r.idBlock.isHexOnly){if(!(YU in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};let o=r.idBlock.valueHexView,s=e.idBlock.valueHexView;if(o.length!==s.length)return{verified:!1,result:t};for(let a=0;a<o.length;a++)if(o[a]!==s[1])return{verified:!1,result:t}}if(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&(t[r.name]=e)),r instanceof je.Constructed){let o=0,s={verified:!1,result:{error:"Unknown error"}},a=r.valueBlock.value.length;if(a>0&&r.valueBlock.value[0]instanceof G0&&(a=e.valueBlock.value.length),a===0)return{verified:!0,result:t};if(e.valueBlock.value.length===0&&r.valueBlock.value.length!==0){let c=!0;for(let u=0;u<r.valueBlock.value.length;u++)c=c&&(r.valueBlock.value[u].optional||!1);return c?{verified:!0,result:t}:(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&delete t[r.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let c=0;c<a;c++)if(c-o>=e.valueBlock.value.length){if(r.valueBlock.value[c].optional===!1){let u={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&(delete t[r.name],u.name=r.name)),u}}else if(r.valueBlock.value[0]instanceof G0){if(s=Rp(t,e.valueBlock.value[c],r.valueBlock.value[0].value),s.verified===!1)if(r.valueBlock.value[0].optional)o++;else return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&delete t[r.name]),s;if(JP in r.valueBlock.value[0]&&r.valueBlock.value[0].name.length>0){let u={};Vhe in r.valueBlock.value[0]&&r.valueBlock.value[0].local?u=e:u=t,typeof u[r.valueBlock.value[0].name]>"u"&&(u[r.valueBlock.value[0].name]=[]),u[r.valueBlock.value[0].name].push(e.valueBlock.value[c])}}else if(s=Rp(t,e.valueBlock.value[c-o],r.valueBlock.value[c]),s.verified===!1)if(r.valueBlock.value[c].optional)o++;else return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&delete t[r.name]),s;if(s.verified===!1){let c={verified:!1,result:t};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&(delete t[r.name],c.name=r.name)),c}return{verified:!0,result:t}}if(r.primitiveSchema&&YU in e.valueBlock){let o=Gw(e.valueBlock.valueHexView);if(o.offset===-1){let s={verified:!1,result:o.result};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&(delete t[r.name],s.name=r.name)),s}return Rp(t,o.result,r.primitiveSchema)}return{verified:!0,result:t}}function nge(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};let r=Gw($t.BufferSourceConverter.toUint8Array(t));return r.offset===-1?{verified:!1,result:r.result}:Rp(r.result,r.result,e)}ut.Any=yl;ut.BaseBlock=pn;ut.BaseStringBlock=h0;ut.BitString=b0;ut.BmpString=_0;ut.Boolean=x0;ut.CharacterString=U0;ut.Choice=Ww;ut.Constructed=ec;ut.DATE=F0;ut.DEFAULT_MAX_CONTENT_LENGTH=s9;ut.DEFAULT_MAX_DEPTH=i9;ut.DEFAULT_MAX_NODES=o9;ut.DateTime=q0;ut.Duration=W0;ut.EndOfContent=y0;ut.Enumerated=I0;ut.GeneralString=H0;ut.GeneralizedTime=$0;ut.GraphicString=L0;ut.HexBlock=Ys;ut.IA5String=M0;ut.Integer=Cp;ut.Null=v0;ut.NumericString=B0;ut.ObjectIdentifier=k0;ut.OctetString=S0;ut.Primitive=g0;ut.PrintableString=D0;ut.RawData=XP;ut.RelativeObjectIdentifier=A0;ut.Repeated=G0;ut.Sequence=C0;ut.Set=P0;ut.TIME=V0;ut.TeletexString=N0;ut.TimeOfDay=j0;ut.UTCTime=_p;ut.UniversalString=T0;ut.Utf8String=Js;ut.ValueBlock=kn;ut.VideotexString=O0;ut.ViewWriter=Ap;ut.VisibleString=Pp;ut.compareSchema=Rp;ut.fromBER=Zhe;ut.verifySchema=nge});function L9(t){return Object.prototype.toString.call(t)}function sge(t){if(ArrayBuffer.isView(t))return!0;if(!t||typeof t!="object")return!1;let e=t;return typeof e.byteOffset=="number"&&typeof e.byteLength=="number"&&zw(e.buffer)}function e_(t){return L9(t)===ige}function H9(t){return typeof SharedArrayBuffer<"u"&&L9(t)===oge}function zw(t){return e_(t)||H9(t)}function U9(t){return sge(t)}function rc(t){return zw(t)||U9(t)}function t_(t){if(!rc(t))throw new TypeError("Expected ArrayBuffer, SharedArrayBuffer, or ArrayBufferView")}function Io(t){return t_(t),zw(t)?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function mn(t){if(t_(t),e_(t))return t;let e=new ArrayBuffer(t.byteLength);return new Uint8Array(e).set(Io(t)),e}var ige,oge,K0=N(()=>{ige="[object ArrayBuffer]",oge="[object SharedArrayBuffer]"});var $9=N(()=>{K0()});function r_(t,e,r={}){let n=Io(t),i=Io(e);if(!r.constantTime&&n.byteLength!==i.byteLength)return!1;let o=Math.max(n.byteLength,i.byteLength),s=n.byteLength^i.byteLength;for(let a=0;a<o;a++)s|=(n[a]??0)^(i[a]??0);return s===0}var F9=N(()=>{K0()});var j9=N(()=>{K0()});var Zi=N(()=>{K0();$9();F9();j9()});var L,k,vl=N(()=>{(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(L||(L={}));(function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"})(k||(k={}))});var Kw,es,q9=N(()=>{Kw=tt(Hu(),1);Zi();es=class{unusedBits=0;value=new ArrayBuffer(0);constructor(e,r=0){if(e)if(typeof e=="number")this.fromNumber(e);else if(rc(e))this.unusedBits=r,this.value=mn(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof Kw.BitString))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=mn(e.valueBlock.valueHex),this}toASN(){return new Kw.BitString({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new Kw.BitString({name:e})}toNumber(){let e="",r=new Uint8Array(this.value);for(let n of r)e+=n.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let r=e.toString(2),n=r.length+7>>3;this.unusedBits=(n<<3)-r.length;let i=new Uint8Array(n);r=r.padStart(n<<3,"0").split("").reverse().join("");let o=0;for(;o<n;)i[o]=parseInt(r.slice(o<<3,(o<<3)+8),2),o++;this.value=i.buffer}}});var Jw,rt,W9=N(()=>{Jw=tt(Hu(),1);Zi();rt=class{buffer;get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):rc(e)?this.buffer=mn(e):Array.isArray(e)?this.buffer=new Uint8Array(e).buffer:this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof Jw.OctetString))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=mn(e.valueBlock.valueHex),this}toASN(){return new Jw.OctetString({valueHex:this.buffer})}toSchema(e){return new Jw.OctetString({name:e})}}});var n_=N(()=>{q9();W9()});function Eo(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}function nc(t){switch(t){case k.Any:return V9;case k.BitString:return K9;case k.BmpString:return Q9;case k.Boolean:return X9;case k.CharacterString:return c$;case k.Enumerated:return z9;case k.GeneralString:return a$;case k.GeneralizedTime:return d$;case k.GraphicString:return o$;case k.IA5String:return i$;case k.Integer:return G9;case k.Null:return l$;case k.NumericString:return e$;case k.ObjectIdentifier:return J9;case k.OctetString:return xl;case k.PrintableString:return t$;case k.TeletexString:return r$;case k.UTCTime:return u$;case k.UniversalString:return Z9;case k.Utf8String:return Y9;case k.VideotexString:return n$;case k.VisibleString:return s$;default:return null}}var dt,V9,G9,z9,Ot,uge,K9,J9,X9,xl,i_,Y9,Q9,Z9,e$,t$,r$,n$,i$,o$,s$,a$,c$,u$,d$,l$,J0=N(()=>{dt=tt(Hu(),1);Zi();vl();n_();V9={fromASN:t=>t instanceof dt.Null?null:mn(t.valueBeforeDecodeView),toASN:t=>{if(t===null)return new dt.Null;let e=dt.fromBER(t);if(e.result.error)throw new Error(e.result.error);return e.result}},G9={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new dt.Integer({value:+t})},z9={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new dt.Enumerated({value:t})},Ot={fromASN:t=>mn(t.valueBlock.valueHexView),toASN:t=>new dt.Integer({valueHex:t})},uge={fromASN:t=>t.toBigInt(),toASN:t=>dt.Integer.fromBigInt(t)},K9={fromASN:t=>mn(t.valueBlock.valueHexView),toASN:t=>new dt.BitString({valueHex:t})},J9={fromASN:t=>t.valueBlock.toString(),toASN:t=>new dt.ObjectIdentifier({value:t})},X9={fromASN:t=>t.valueBlock.value,toASN:t=>new dt.Boolean({value:t})},xl={fromASN:t=>mn(t.valueBlock.valueHexView),toASN:t=>new dt.OctetString({valueHex:t})},i_={fromASN:t=>new rt(t.getValue()),toASN:t=>t.toASN()};Y9=Eo(dt.Utf8String),Q9=Eo(dt.BmpString),Z9=Eo(dt.UniversalString),e$=Eo(dt.NumericString),t$=Eo(dt.PrintableString),r$=Eo(dt.TeletexString),n$=Eo(dt.VideotexString),i$=Eo(dt.IA5String),o$=Eo(dt.GraphicString),s$=Eo(dt.VisibleString),a$=Eo(dt.GeneralString),c$=Eo(dt.CharacterString),u$={fromASN:t=>t.toDate(),toASN:t=>new dt.UTCTime({valueDate:t})},d$={fromASN:t=>t.toDate(),toASN:t=>new dt.GeneralizedTime({valueDate:t})},l$={fromASN:()=>null,toASN:()=>new dt.Null}});function ko(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:ko(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function s_(t){if(t){let e=Object.getPrototypeOf(t);return e?.prototype?.constructor===Array?!0:s_(e)}return!1}function f$(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;let r=new Uint8Array(t),n=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(r[i]!==n[i])return!1;return!0}var Xw=N(()=>{});var en,Yw,p$=N(()=>{en=tt(Hu(),1);vl();Xw();Yw=class{items=new WeakMap;has(e){return this.items.has(e)}get(e,r=!1){let n=this.items.get(e);if(!n)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(r&&!n.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return n}cache(e){let r=this.get(e);r.schema||(r.schema=this.create(e,!0))}createDefault(e){let r={type:L.Sequence,items:{}},n=this.findParentSchema(e);return n&&(Object.assign(r,n),r.items=Object.assign({},r.items,n.items)),r}create(e,r){let n=this.items.get(e)||this.createDefault(e),i=[];for(let o in n.items){let s=n.items[o],a=r?o:"",c;if(typeof s.type=="number"){let d=k[s.type],l=en[d];if(!l)throw new Error(`Cannot get ASN1 class by name '${d}'`);c=new l({name:a})}else ko(s.type)?c=new s.type().toSchema(a):s.optional?this.get(s.type).type===L.Choice?c=new en.Any({name:a}):(c=this.create(s.type,!1),c.name=a):c=new en.Any({name:a});let u=!!s.optional||s.defaultValue!==void 0;if(s.repeated){c.name="";let d=s.repeated==="set"?en.Set:en.Sequence;c=new d({name:"",value:[new en.Repeated({name:a,value:c})]})}if(s.context!==null&&s.context!==void 0)if(s.implicit)if(typeof s.type=="number"||ko(s.type)){let d=s.repeated?en.Constructed:en.Primitive;i.push(new d({name:a,optional:u,idBlock:{tagClass:3,tagNumber:s.context}}))}else{this.cache(s.type);let d=!!s.repeated,l=d?c:this.get(s.type,!0).schema;l="valueBlock"in l?l.valueBlock.value:l.value,i.push(new en.Constructed({name:d?"":a,optional:u,idBlock:{tagClass:3,tagNumber:s.context},value:l}))}else i.push(new en.Constructed({optional:u,idBlock:{tagClass:3,tagNumber:s.context},value:[c]}));else c.optional=u,i.push(c)}switch(n.type){case L.Sequence:return new en.Sequence({value:i,name:""});case L.Set:return new en.Set({value:i,name:""});case L.Choice:return new en.Choice({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,r){return this.items.set(e,r),this}findParentSchema(e){let r=Object.getPrototypeOf(e);return r?this.items.get(r)||this.findParentSchema(r):null}}});var tn,Qw=N(()=>{p$();tn=new Yw});var W,m$,h$,g$,x,y$=N(()=>{J0();vl();Qw();W=t=>e=>{let r;tn.has(e)?r=tn.get(e):(r=tn.createDefault(e),tn.set(e,r)),Object.assign(r,t)},m$=()=>W({type:L.Choice}),h$=t=>W({type:L.Set,...t}),g$=t=>W({type:L.Sequence,...t}),x=t=>(e,r)=>{let n;tn.has(e.constructor)?n=tn.get(e.constructor):(n=tn.createDefault(e.constructor),tn.set(e.constructor,n));let i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){let o=nc(t.type);if(!o)throw new Error(`Cannot get default converter for property '${r}' of ${e.constructor.name}`);i.converter=o}i.raw=t.raw,n.items[r]=i}});var ic,v$=N(()=>{ic=class extends Error{schemas=[]}});var a_=N(()=>{v$()});var hn,Tp,c_=N(()=>{hn=tt(Hu(),1);Zi();vl();J0();a_();Xw();Qw();Tp=class{static parse(e,r,n){let i=hn.fromBER(mn(e),n?.berOptions);if(i.result.error)throw new Error(i.result.error);return this.fromASN(i.result,r,n)}static fromASN(e,r,n){try{if(ko(r))return new r().fromASN(e);let i=tn.get(r);tn.cache(r);let o=i.schema,s=this.handleChoiceTypes(e,i,r,o,n);if(s?.result)return s.result;s?.targetSchema&&(o=s.targetSchema);let a=this.handleSequenceTypes(e,i,r,o),c=new r;return s_(r)?this.handleArrayTypes(e,i,r,n):(this.processSchemaItems(i,a,c,n),c)}catch(i){throw i instanceof ic&&i.schemas.push(r.name),i}}static handleChoiceTypes(e,r,n,i,o){if(e.constructor===hn.Constructed&&r.type===L.Choice&&e.idBlock.tagClass===3)for(let s in r.items){let a=r.items[s];if(a.context===e.idBlock.tagNumber&&a.implicit&&typeof a.type=="function"&&tn.has(a.type)){let c=tn.get(a.type);if(c&&c.type===L.Sequence){let u=new hn.Sequence;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in u.valueBlock){u.valueBlock.value=e.valueBlock.value;let d=this.fromASN(u,a.type,o),l=new n;return l[s]=d,{result:l}}}}}else if(e.constructor===hn.Constructed&&r.type!==L.Choice){let s=new hn.Constructed({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:r.schema.valueBlock.value});for(let a in r.items)delete e[a];return{targetSchema:s}}return null}static handleSequenceTypes(e,r,n,i){if(r.type===L.Sequence){let o=hn.compareSchema({},e,i);if(!o.verified)throw new ic(`Data does not match to ${n.name} ASN1 schema.${o.result.error?` ${o.result.error}`:""}`);return o}else{let o=hn.compareSchema({},e,i);if(!o.verified)throw new ic(`Data does not match to ${n.name} ASN1 schema.${o.result.error?` ${o.result.error}`:""}`);return o}}static processRepeatedField(e,r,n){let i=e.slice(r);if(i.length===1&&i[0].constructor.name==="Sequence"){let o=i[0];o.valueBlock&&o.valueBlock.value&&Array.isArray(o.valueBlock.value)&&(i=o.valueBlock.value)}if(typeof n.type=="number"){let o=nc(n.type);if(!o)throw new Error(`No converter for ASN.1 type ${n.type}`);return i.filter(s=>s&&s.valueBlock).map(s=>{try{return o.fromASN(s)}catch{return}}).filter(s=>s!==void 0)}else return i.filter(o=>o&&o.valueBlock).map(o=>{try{return this.fromASN(o,n.type)}catch{return}}).filter(o=>o!==void 0)}static processPrimitiveField(e,r){let n=nc(r.type);if(!n)throw new Error(`No converter for ASN.1 type ${r.type}`);return n.fromASN(e)}static isOptionalChoiceField(e){return e.optional&&typeof e.type=="function"&&tn.has(e.type)&&tn.get(e.type).type===L.Choice}static processOptionalChoiceField(e,r){try{return{processed:!0,value:this.fromASN(e,r.type)}}catch(n){if(n instanceof ic&&/Wrong values for Choice type/.test(n.message))return{processed:!1};throw n}}static handleArrayTypes(e,r,n,i){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");let o=r.itemType;if(typeof o=="number"){let s=nc(o);if(!s)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(e.valueBlock.value,a=>s.fromASN(a))}else return n.from(e.valueBlock.value,s=>this.fromASN(s,o,i))}static processSchemaItems(e,r,n,i){for(let o in e.items){let s=r.result[o];if(!s)continue;let a=e.items[o],c=a.type,u;typeof c=="number"||ko(c)?u=this.processPrimitiveSchemaItem(s,a,c,i):u=this.processComplexSchemaItem(s,a,c,i),u&&typeof u=="object"&&"value"in u&&"raw"in u?(n[o]=u.value,n[`${o}Raw`]=u.raw):n[o]=u}}static processPrimitiveSchemaItem(e,r,n,i){let o=r.converter??(ko(n)?new n:null);if(!o)throw new Error("Converter is empty");return r.repeated?this.processRepeatedPrimitiveItem(e,r,o,i):this.processSinglePrimitiveItem(e,r,n,o,i)}static processRepeatedPrimitiveItem(e,r,n,i){if(r.implicit){let o=r.repeated==="sequence"?hn.Sequence:hn.Set,s=new o;s.valueBlock=e.valueBlock;let a=hn.fromBER(s.toBER(!1),i?.berOptions);if(a.offset===-1)throw new Error(`Cannot parse the child item. ${a.result.error}`);if(!("value"in a.result.valueBlock&&Array.isArray(a.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");let c=a.result.valueBlock.value;return Array.from(c,u=>n.fromASN(u))}else return Array.from(e,o=>n.fromASN(o))}static processSinglePrimitiveItem(e,r,n,i,o){let s=e;if(r.implicit){let a;if(ko(n))a=new n().toSchema("");else{let c=k[n],u=hn[c];if(!u)throw new Error(`Cannot get '${c}' class from asn1js module`);a=new u}a.valueBlock=s.valueBlock,s=hn.fromBER(a.toBER(!1),o?.berOptions).result}return i.fromASN(s)}static processComplexSchemaItem(e,r,n,i){if(r.repeated){if(!Array.isArray(e))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");return Array.from(e,o=>this.fromASN(o,n,i))}else{let o=this.handleImplicitTagging(e,r,n);if(this.isOptionalChoiceField(r))try{return this.fromASN(o,n,i)}catch(s){if(s instanceof ic&&/Wrong values for Choice type/.test(s.message))return;throw s}else{let s=this.fromASN(o,n,i);return r.raw?{value:s,raw:e.valueBeforeDecodeView}:s}}}static handleImplicitTagging(e,r,n){if(r.implicit&&typeof r.context=="number"){let i=tn.get(n);if(i.type===L.Sequence){let o=new hn.Sequence;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in o.valueBlock)return o.valueBlock.value=e.valueBlock.value,o}else if(i.type===L.Set){let o=new hn.Set;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in o.valueBlock)return o.valueBlock.value=e.valueBlock.value,o}}return e}}});var Nn,Bp,u_=N(()=>{Nn=tt(Hu(),1);Zi();J0();vl();Xw();Qw();Bp=class t{static serialize(e){return e instanceof Nn.BaseBlock?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&ko(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");let r=e.constructor,n=tn.get(r);tn.cache(r);let i=[];if(n.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof n.itemType=="number"){let s=nc(n.itemType);if(!s)throw new Error(`Cannot get default converter for array item of ${r.name} ASN1 schema`);i=e.map(a=>s.toASN(a))}else i=e.map(s=>this.toAsnItem({type:n.itemType},"[]",r,s))}else for(let s in n.items){let a=n.items[s],c=e[s];if(c===void 0||a.defaultValue===c||typeof a.defaultValue=="object"&&typeof c=="object"&&f$(this.serialize(a.defaultValue),this.serialize(c)))continue;let u=t.toAsnItem(a,s,r,c);if(typeof a.context=="number")if(a.implicit)if(!a.repeated&&(typeof a.type=="number"||ko(a.type))){let d={};d.valueHex=u instanceof Nn.Null?mn(u.valueBeforeDecodeView):u.valueBlock.toBER(),i.push(new Nn.Primitive({optional:a.optional,idBlock:{tagClass:3,tagNumber:a.context},...d}))}else i.push(new Nn.Constructed({optional:a.optional,idBlock:{tagClass:3,tagNumber:a.context},value:u.valueBlock.value}));else i.push(new Nn.Constructed({optional:a.optional,idBlock:{tagClass:3,tagNumber:a.context},value:[u]}));else a.repeated?i=i.concat(u):i.push(u)}let o;switch(n.type){case L.Sequence:o=new Nn.Sequence({value:i});break;case L.Set:o=new Nn.Set({value:i});break;case L.Choice:if(!i[0])throw new Error(`Schema '${r.name}' has wrong data. Choice cannot be empty.`);o=i[0];break}return o}static toAsnItem(e,r,n,i){let o;if(typeof e.type=="number"){let s=e.converter;if(!s)throw new Error(`Property '${r}' doesn't have converter for type ${k[e.type]} in schema '${n.name}'`);if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");let a=Array.from(i,u=>s.toASN(u)),c=e.repeated==="sequence"?Nn.Sequence:Nn.Set;o=new c({value:a})}else o=s.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");let s=Array.from(i,c=>this.toASN(c)),a=e.repeated==="sequence"?Nn.Sequence:Nn.Set;o=new a({value:s})}else o=this.toASN(i);return o}}});var Ze,x$=N(()=>{Ze=class extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(let r of e)this.push(r)}}}});var S$,Ro,b$=N(()=>{S$=tt(Hu(),1);Zi();c_();u_();Ro=class t{static serialize(e){return Bp.serialize(e)}static parse(e,r,n){return Tp.parse(e,r,n)}static toString(e,r){let n=rc(e)?mn(e):t.serialize(e),i=S$.fromBER(n,r?.berOptions);if(i.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${i.result.error}`);return i.result.toString()}}});var w$={};bi(w$,{AsnAnyConverter:()=>V9,AsnArray:()=>Ze,AsnBitStringConverter:()=>K9,AsnBmpStringConverter:()=>Q9,AsnBooleanConverter:()=>X9,AsnCharacterStringConverter:()=>c$,AsnChoiceType:()=>m$,AsnConstructedOctetStringConverter:()=>i_,AsnConvert:()=>Ro,AsnEnumeratedConverter:()=>z9,AsnGeneralStringConverter:()=>a$,AsnGeneralizedTimeConverter:()=>d$,AsnGraphicStringConverter:()=>o$,AsnIA5StringConverter:()=>i$,AsnIntegerArrayBufferConverter:()=>Ot,AsnIntegerBigIntConverter:()=>uge,AsnIntegerConverter:()=>G9,AsnNullConverter:()=>l$,AsnNumericStringConverter:()=>e$,AsnObjectIdentifierConverter:()=>J9,AsnOctetStringConverter:()=>xl,AsnParser:()=>Tp,AsnPrintableStringConverter:()=>t$,AsnProp:()=>x,AsnPropTypes:()=>k,AsnSchemaValidationError:()=>ic,AsnSequenceType:()=>g$,AsnSerializer:()=>Bp,AsnSetType:()=>h$,AsnTeletexStringConverter:()=>r$,AsnType:()=>W,AsnTypeTypes:()=>L,AsnUTCTimeConverter:()=>u$,AsnUniversalStringConverter:()=>Z9,AsnUtf8StringConverter:()=>Y9,AsnVideotexStringConverter:()=>n$,AsnVisibleStringConverter:()=>s$,BitString:()=>es,OctetString:()=>rt,defaultConverter:()=>nc});var ae=N(()=>{J0();n_();y$();vl();c_();u_();a_();x$();b$()});var Y$=ce((O3e,tI)=>{var I$,E$,k$,R$,A$,C$,P$,_$,T$,B$,D$,N$,O$,Zw,d_,M$,L$,H$,Dp,U$,$$,F$,j$,q$,W$,V$,G$,z$,eI,K$,J$,X$;(function(t){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){t(r(e,r(n)))}):typeof tI=="object"&&typeof tI.exports=="object"?t(r(e,r(tI.exports))):t(r(e));function r(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(o,s){return n[o]=i?i(o,s):s}}})(function(t){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(o[a]=s[a])};I$=function(o,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(o,s);function a(){this.constructor=o}o.prototype=s===null?Object.create(s):(a.prototype=s.prototype,new a)},E$=Object.assign||function(o){for(var s,a=1,c=arguments.length;a<c;a++){s=arguments[a];for(var u in s)Object.prototype.hasOwnProperty.call(s,u)&&(o[u]=s[u])}return o},k$=function(o,s){var a={};for(var c in o)Object.prototype.hasOwnProperty.call(o,c)&&s.indexOf(c)<0&&(a[c]=o[c]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var u=0,c=Object.getOwnPropertySymbols(o);u<c.length;u++)s.indexOf(c[u])<0&&Object.prototype.propertyIsEnumerable.call(o,c[u])&&(a[c[u]]=o[c[u]]);return a},R$=function(o,s,a,c){var u=arguments.length,d=u<3?s:c===null?c=Object.getOwnPropertyDescriptor(s,a):c,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")d=Reflect.decorate(o,s,a,c);else for(var f=o.length-1;f>=0;f--)(l=o[f])&&(d=(u<3?l(d):u>3?l(s,a,d):l(s,a))||d);return u>3&&d&&Object.defineProperty(s,a,d),d},A$=function(o,s){return function(a,c){s(a,c,o)}},C$=function(o,s,a,c,u,d){function l(z){if(z!==void 0&&typeof z!="function")throw new TypeError("Function expected");return z}for(var f=c.kind,p=f==="getter"?"get":f==="setter"?"set":"value",g=!s&&o?c.static?o:o.prototype:null,v=s||(g?Object.getOwnPropertyDescriptor(g,c.name):{}),b,C=!1,B=a.length-1;B>=0;B--){var _={};for(var F in c)_[F]=F==="access"?{}:c[F];for(var F in c.access)_.access[F]=c.access[F];_.addInitializer=function(z){if(C)throw new TypeError("Cannot add initializers after decoration has completed");d.push(l(z||null))};var he=(0,a[B])(f==="accessor"?{get:v.get,set:v.set}:v[p],_);if(f==="accessor"){if(he===void 0)continue;if(he===null||typeof he!="object")throw new TypeError("Object expected");(b=l(he.get))&&(v.get=b),(b=l(he.set))&&(v.set=b),(b=l(he.init))&&u.unshift(b)}else(b=l(he))&&(f==="field"?u.unshift(b):v[p]=b)}g&&Object.defineProperty(g,c.name,v),C=!0},P$=function(o,s,a){for(var c=arguments.length>2,u=0;u<s.length;u++)a=c?s[u].call(o,a):s[u].call(o);return c?a:void 0},_$=function(o){return typeof o=="symbol"?o:"".concat(o)},T$=function(o,s,a){return typeof s=="symbol"&&(s=s.description?"[".concat(s.description,"]"):""),Object.defineProperty(o,"name",{configurable:!0,value:a?"".concat(a," ",s):s})},B$=function(o,s){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,s)},D$=function(o,s,a,c){function u(d){return d instanceof a?d:new a(function(l){l(d)})}return new(a||(a=Promise))(function(d,l){function f(v){try{g(c.next(v))}catch(b){l(b)}}function p(v){try{g(c.throw(v))}catch(b){l(b)}}function g(v){v.done?d(v.value):u(v.value).then(f,p)}g((c=c.apply(o,s||[])).next())})},N$=function(o,s){var a={label:0,sent:function(){if(d[0]&1)throw d[1];return d[1]},trys:[],ops:[]},c,u,d,l=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return l.next=f(0),l.throw=f(1),l.return=f(2),typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function f(g){return function(v){return p([g,v])}}function p(g){if(c)throw new TypeError("Generator is already executing.");for(;l&&(l=0,g[0]&&(a=0)),a;)try{if(c=1,u&&(d=g[0]&2?u.return:g[0]?u.throw||((d=u.return)&&d.call(u),0):u.next)&&!(d=d.call(u,g[1])).done)return d;switch(u=0,d&&(g=[g[0]&2,d.value]),g[0]){case 0:case 1:d=g;break;case 4:return a.label++,{value:g[1],done:!1};case 5:a.label++,u=g[1],g=[0];continue;case 7:g=a.ops.pop(),a.trys.pop();continue;default:if(d=a.trys,!(d=d.length>0&&d[d.length-1])&&(g[0]===6||g[0]===2)){a=0;continue}if(g[0]===3&&(!d||g[1]>d[0]&&g[1]<d[3])){a.label=g[1];break}if(g[0]===6&&a.label<d[1]){a.label=d[1],d=g;break}if(d&&a.label<d[2]){a.label=d[2],a.ops.push(g);break}d[2]&&a.ops.pop(),a.trys.pop();continue}g=s.call(o,a)}catch(v){g=[6,v],u=0}finally{c=d=0}if(g[0]&5)throw g[1];return{value:g[0]?g[1]:void 0,done:!0}}},O$=function(o,s){for(var a in o)a!=="default"&&!Object.prototype.hasOwnProperty.call(s,a)&&eI(s,o,a)},eI=Object.create?(function(o,s,a,c){c===void 0&&(c=a);var u=Object.getOwnPropertyDescriptor(s,a);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[a]}}),Object.defineProperty(o,c,u)}):(function(o,s,a,c){c===void 0&&(c=a),o[c]=s[a]}),Zw=function(o){var s=typeof Symbol=="function"&&Symbol.iterator,a=s&&o[s],c=0;if(a)return a.call(o);if(o&&typeof o.length=="number")return{next:function(){return o&&c>=o.length&&(o=void 0),{value:o&&o[c++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},d_=function(o,s){var a=typeof Symbol=="function"&&o[Symbol.iterator];if(!a)return o;var c=a.call(o),u,d=[],l;try{for(;(s===void 0||s-- >0)&&!(u=c.next()).done;)d.push(u.value)}catch(f){l={error:f}}finally{try{u&&!u.done&&(a=c.return)&&a.call(c)}finally{if(l)throw l.error}}return d},M$=function(){for(var o=[],s=0;s<arguments.length;s++)o=o.concat(d_(arguments[s]));return o},L$=function(){for(var o=0,s=0,a=arguments.length;s<a;s++)o+=arguments[s].length;for(var c=Array(o),u=0,s=0;s<a;s++)for(var d=arguments[s],l=0,f=d.length;l<f;l++,u++)c[u]=d[l];return c},H$=function(o,s,a){if(a||arguments.length===2)for(var c=0,u=s.length,d;c<u;c++)(d||!(c in s))&&(d||(d=Array.prototype.slice.call(s,0,c)),d[c]=s[c]);return o.concat(d||Array.prototype.slice.call(s))},Dp=function(o){return this instanceof Dp?(this.v=o,this):new Dp(o)},U$=function(o,s,a){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var c=a.apply(o,s||[]),u,d=[];return u=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),f("next"),f("throw"),f("return",l),u[Symbol.asyncIterator]=function(){return this},u;function l(B){return function(_){return Promise.resolve(_).then(B,b)}}function f(B,_){c[B]&&(u[B]=function(F){return new Promise(function(he,z){d.push([B,F,he,z])>1||p(B,F)})},_&&(u[B]=_(u[B])))}function p(B,_){try{g(c[B](_))}catch(F){C(d[0][3],F)}}function g(B){B.value instanceof Dp?Promise.resolve(B.value.v).then(v,b):C(d[0][2],B)}function v(B){p("next",B)}function b(B){p("throw",B)}function C(B,_){B(_),d.shift(),d.length&&p(d[0][0],d[0][1])}},$$=function(o){var s,a;return s={},c("next"),c("throw",function(u){throw u}),c("return"),s[Symbol.iterator]=function(){return this},s;function c(u,d){s[u]=o[u]?function(l){return(a=!a)?{value:Dp(o[u](l)),done:!1}:d?d(l):l}:d}},F$=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s=o[Symbol.asyncIterator],a;return s?s.call(o):(o=typeof Zw=="function"?Zw(o):o[Symbol.iterator](),a={},c("next"),c("throw"),c("return"),a[Symbol.asyncIterator]=function(){return this},a);function c(d){a[d]=o[d]&&function(l){return new Promise(function(f,p){l=o[d](l),u(f,p,l.done,l.value)})}}function u(d,l,f,p){Promise.resolve(p).then(function(g){d({value:g,done:f})},l)}},j$=function(o,s){return Object.defineProperty?Object.defineProperty(o,"raw",{value:s}):o.raw=s,o};var r=Object.create?(function(o,s){Object.defineProperty(o,"default",{enumerable:!0,value:s})}):function(o,s){o.default=s},n=function(o){return n=Object.getOwnPropertyNames||function(s){var a=[];for(var c in s)Object.prototype.hasOwnProperty.call(s,c)&&(a[a.length]=c);return a},n(o)};q$=function(o){if(o&&o.__esModule)return o;var s={};if(o!=null)for(var a=n(o),c=0;c<a.length;c++)a[c]!=="default"&&eI(s,o,a[c]);return r(s,o),s},W$=function(o){return o&&o.__esModule?o:{default:o}},V$=function(o,s,a,c){if(a==="a"&&!c)throw new TypeError("Private accessor was defined without a getter");if(typeof s=="function"?o!==s||!c:!s.has(o))throw new TypeError("Cannot read private member from an object whose class did not declare it");return a==="m"?c:a==="a"?c.call(o):c?c.value:s.get(o)},G$=function(o,s,a,c,u){if(c==="m")throw new TypeError("Private method is not writable");if(c==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof s=="function"?o!==s||!u:!s.has(o))throw new TypeError("Cannot write private member to an object whose class did not declare it");return c==="a"?u.call(o,a):u?u.value=a:s.set(o,a),a},z$=function(o,s){if(s===null||typeof s!="object"&&typeof s!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof o=="function"?s===o:o.has(s)},K$=function(o,s,a){if(s!=null){if(typeof s!="object"&&typeof s!="function")throw new TypeError("Object expected.");var c,u;if(a){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");c=s[Symbol.asyncDispose]}if(c===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");c=s[Symbol.dispose],a&&(u=c)}if(typeof c!="function")throw new TypeError("Object not disposable.");u&&(c=function(){try{u.call(this)}catch(d){return Promise.reject(d)}}),o.stack.push({value:s,dispose:c,async:a})}else a&&o.stack.push({async:!0});return s};var i=typeof SuppressedError=="function"?SuppressedError:function(o,s,a){var c=new Error(a);return c.name="SuppressedError",c.error=o,c.suppressed=s,c};J$=function(o){function s(d){o.error=o.hasError?new i(d,o.error,"An error was suppressed during disposal."):d,o.hasError=!0}var a,c=0;function u(){for(;a=o.stack.pop();)try{if(!a.async&&c===1)return c=0,o.stack.push(a),Promise.resolve().then(u);if(a.dispose){var d=a.dispose.call(a.value);if(a.async)return c|=2,Promise.resolve(d).then(u,function(l){return s(l),u()})}else c|=1}catch(l){s(l)}if(c===1)return o.hasError?Promise.reject(o.error):Promise.resolve();if(o.hasError)throw o.error}return u()},X$=function(o,s){return typeof o=="string"&&/^\.\.?\//.test(o)?o.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(a,c,u,d,l){return c?s?".jsx":".js":u&&(!d||!l)?a:u+d+"."+l.toLowerCase()+"js"}):o},t("__extends",I$),t("__assign",E$),t("__rest",k$),t("__decorate",R$),t("__param",A$),t("__esDecorate",C$),t("__runInitializers",P$),t("__propKey",_$),t("__setFunctionName",T$),t("__metadata",B$),t("__awaiter",D$),t("__generator",N$),t("__exportStar",O$),t("__createBinding",eI),t("__values",Zw),t("__read",d_),t("__spread",M$),t("__spreadArrays",L$),t("__spreadArray",H$),t("__await",Dp),t("__asyncGenerator",U$),t("__asyncDelegator",$$),t("__asyncValues",F$),t("__makeTemplateObject",j$),t("__importStar",q$),t("__importDefault",W$),t("__classPrivateFieldGet",V$),t("__classPrivateFieldSet",G$),t("__classPrivateFieldIn",z$),t("__addDisposableResource",K$),t("__disposeResources",J$),t("__rewriteRelativeImportExtension",X$)})});var Q$={};bi(Q$,{__addDisposableResource:()=>Hge,__assign:()=>lge,__asyncDelegator:()=>_ge,__asyncGenerator:()=>Pge,__asyncValues:()=>Tge,__await:()=>Cge,__awaiter:()=>xge,__classPrivateFieldGet:()=>Oge,__classPrivateFieldIn:()=>Lge,__classPrivateFieldSet:()=>Mge,__createBinding:()=>wge,__decorate:()=>h,__disposeResources:()=>Uge,__esDecorate:()=>mge,__exportStar:()=>bge,__extends:()=>dge,__generator:()=>Sge,__importDefault:()=>Nge,__importStar:()=>Dge,__makeTemplateObject:()=>Bge,__metadata:()=>vge,__param:()=>pge,__propKey:()=>gge,__read:()=>Ege,__rest:()=>fge,__rewriteRelativeImportExtension:()=>$ge,__runInitializers:()=>hge,__setFunctionName:()=>yge,__spread:()=>kge,__spreadArray:()=>Age,__spreadArrays:()=>Rge,__values:()=>Ige,default:()=>Fge});var l_,dge,lge,fge,h,pge,mge,hge,gge,yge,vge,xge,Sge,bge,wge,Ige,Ege,kge,Rge,Age,Cge,Pge,_ge,Tge,Bge,Dge,Nge,Oge,Mge,Lge,Hge,Uge,$ge,Fge,fe=N(()=>{l_=tt(Y$(),1),{__extends:dge,__assign:lge,__rest:fge,__decorate:h,__param:pge,__esDecorate:mge,__runInitializers:hge,__propKey:gge,__setFunctionName:yge,__metadata:vge,__awaiter:xge,__generator:Sge,__exportStar:bge,__createBinding:wge,__values:Ige,__read:Ege,__spread:kge,__spreadArrays:Rge,__spreadArray:Age,__await:Cge,__asyncGenerator:Pge,__asyncDelegator:_ge,__asyncValues:Tge,__makeTemplateObject:Bge,__importStar:Dge,__importDefault:Nge,__classPrivateFieldGet:Oge,__classPrivateFieldSet:Mge,__classPrivateFieldIn:Lge,__addDisposableResource:Hge,__disposeResources:Uge,__rewriteRelativeImportExtension:$ge}=l_.default,Fge=l_.default});var f_=N(()=>{Zi()});var Np={};bi(Np,{decode:()=>m_,encode:()=>p_,format:()=>n7,formats:()=>i7,hex:()=>Zge,is:()=>t7,normalize:()=>X0,parse:()=>r7});function Vge(t){return t.separators==="none"?[]:!t.separators||t.separators==="common"?Wge:t.separators}function Gge(t){if(!t)throw new TypeError("Hex separators must be non-empty strings")}function zge(t,e,r){for(let n of r)if(t.startsWith(n,e))return n}function Kge(t){let e=/[A-F]/.test(t),r=/[a-f]/.test(t);return e&&!r?"upper":"lower"}function Jge(t){let e=/\r\n|\n/.exec(t);if(e)return e[0]===`\r
|
|
16
|
+
`)}`:`${r} :`}};a9=ec;je.Constructed=a9;ec.NAME="CONSTRUCTED";var Dw=class extends kn{fromBER(e,r,n){return r}toBER(e){return Xs}};Dw.override="EndOfContentValueBlock";var c9,y0=class extends pn{constructor(e={}){super(e,Dw),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};c9=y0;je.EndOfContent=c9;y0.NAME=m0;var u9,v0=class extends pn{constructor(e={}){super(e,kn),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,r,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,r+n>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):r+n}toBER(e,r){let n=new ArrayBuffer(2);if(!e){let i=new Uint8Array(n);i[0]=5,i[1]=0}return r&&r.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};u9=v0;je.Null=u9;v0.NAME="NULL";var Nw=class extends Ys(kn){get value(){for(let e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}constructor({value:e,...r}={}){super(r),r.valueHex?this.valueHexView=$t.BufferSourceConverter.toUint8Array(r.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}fromBER(e,r,n){let i=$t.BufferSourceConverter.toUint8Array(e);return tc(this,i,r,n)?(this.valueHexView=i.subarray(r,r+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,ar.utilDecodeTC.call(this),this.blockLength=n,r+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Nw.NAME="BooleanValueBlock";var d9,x0=class extends pn{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor(e={}){super(e,Nw),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};d9=x0;je.Boolean=d9;x0.NAME="BOOLEAN";var Ow=class extends Ys(Ks){constructor({isConstructed:e=!1,...r}={}){super(r),this.isConstructed=e}fromBER(e,r,n,i){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=Ks.prototype.fromBER.call(this,e,r,n,i),o===-1)return o;for(let s=0;s<this.value.length;s++){let a=this.value[s].constructor.NAME;if(a===m0){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==e9)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(e,r,n),this.blockLength=n;return o}toBER(e,r){return this.isConstructed?Ks.prototype.toBER.call(this,e,r):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Ow.NAME="OctetStringValueBlock";var ZP,S0=class extends pn{constructor({idBlock:e={},lenBlock:r={},...n}={}){var i,o;(i=n.isConstructed)!==null&&i!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...e},lenBlock:{...r,isIndefiniteForm:!!n.isIndefiniteForm},...n},Ow),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,r,n,i){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),r;if(!this.valueBlock.isConstructed){let s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(r,r+n);try{if(s.byteLength){let a=i??z0(),c=QP(s,0,s.byteLength,a);c.offset!==-1&&c.offset===n&&(this.valueBlock.value=[c.result])}}catch{}}return super.fromBER(e,r,n,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return ec.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,r=$t.Convert.ToHex(this.valueBlock.valueHexView);return`${e} : ${r}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let r of this.valueBlock.value)r instanceof ZP&&e.push(r.valueBlock.valueHexView);return $t.BufferSourceConverter.concat(e)}};ZP=S0;je.OctetString=ZP;S0.NAME=e9;var Mw=class extends Ys(Ks){constructor({unusedBits:e=0,isConstructed:r=!1,...n}={}){super(n),this.unusedBits=e,this.isConstructed=r,this.blockLength=this.valueHexView.byteLength}fromBER(e,r,n,i){if(!n)return r;let o=-1;if(this.isConstructed){if(o=Ks.prototype.fromBER.call(this,e,r,n,i),o===-1)return o;for(let c of this.value){let u=c.constructor.NAME;if(u===m0){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(u!==t9)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let d=c.valueBlock;if(this.unusedBits>0&&d.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=d.unusedBits}return o}let s=$t.BufferSourceConverter.toUint8Array(e);if(!tc(this,s,r,n))return-1;let a=s.subarray(r,r+n);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let c=a.subarray(1);try{if(c.byteLength){let u=i??z0(),d=QP(c,0,c.byteLength,u);d.offset!==-1&&d.offset===n-1&&(this.value=[d.result])}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,r+n}toBER(e,r){if(this.isConstructed)return Ks.prototype.toBER.call(this,e,r);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let i=new Uint8Array(1);return i[0]=0,i.buffer}let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Mw.NAME="BitStringValueBlock";var l9,b0=class extends pn{constructor({idBlock:e={},lenBlock:r={},...n}={}){var i,o;(i=n.isConstructed)!==null&&i!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...e},lenBlock:{...r,isIndefiniteForm:!!n.isIndefiniteForm},...n},Mw),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,r,n,i){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,r,n,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return ec.prototype.onAsciiEncoding.call(this);{let e=[],r=this.valueBlock.valueHexView;for(let s of r)e.push(s.toString(2).padStart(8,"0"));let n=e.join(""),i=this.constructor.NAME,o=n.substring(0,n.length-this.valueBlock.unusedBits);return`${i} : ${o}`}}};l9=b0;je.BitString=l9;b0.NAME=t9;var f9;function tge(t,e){let r=new Uint8Array([0]),n=new Uint8Array(t),i=new Uint8Array(e),o=n.slice(0),s=o.length-1,a=i.slice(0),c=a.length-1,u=0,d=c<s?s:c,l=0;for(let f=d;f>=0;f--,l++)!0===l<a.length?u=o[s-l]+a[c-l]+r[0]:u=o[s-l]+r[0],r[0]=u/10,!0===l>=o.length?o=ar.utilConcatView(new Uint8Array([u%10]),o):o[s-l]=u%10;return r[0]>0&&(o=ar.utilConcatView(r,o)),o}function QU(t){if(t>=f0.length)for(let e=f0.length;e<=t;e++){let r=new Uint8Array([0]),n=f0[e-1].slice(0);for(let i=n.length-1;i>=0;i--){let o=new Uint8Array([(n[i]<<1)+r[0]]);r[0]=o[0]/10,n[i]=o[0]%10}r[0]>0&&(n=ar.utilConcatView(r,n)),f0.push(n)}return f0[t]}function rge(t,e){let r=0,n=new Uint8Array(t),i=new Uint8Array(e),o=n.slice(0),s=o.length-1,a=i.slice(0),c=a.length-1,u,d=0;for(let l=c;l>=0;l--,d++)u=o[s-d]-a[c-d]-r,!0===u<0?(r=1,o[s-d]=u+10):(r=0,o[s-d]=u);if(r>0)for(let l=s-c+1;l>=0;l--,d++)if(u=o[s-d]-r,u<0)r=1,o[s-d]=u+10;else{r=0,o[s-d]=u;break}return o.slice()}var w0=class extends Ys(kn){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=ar.utilDecodeTC.call(this)))}constructor({value:e,...r}={}){super(r),this._valueDec=0,r.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(ar.utilEncodeTC(e))}get valueDec(){return this._valueDec}fromDER(e,r,n,i=0){let o=this.fromBER(e,r,n);if(o===-1)return o;let s=this.valueHexView;return s[0]===0&&(s[1]&128)!==0?this.valueHexView=s.subarray(1):i!==0&&s.length<i&&(i-s.length>1&&(i=s.length+1),this.valueHexView=s.subarray(i-s.length)),o}toDER(e=!1){let r=this.valueHexView;switch(!0){case(r[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(r,1),this.valueHexView=n}break;case(r[0]===0&&(r[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,r,n){let i=super.fromBER(e,r,n);return i===-1||this.setValueHex(),i}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,r=new Uint8Array(this.valueHexView.length*8/3),n=0,i,o=this.valueHexView,s="",a=!1;for(let c=o.byteLength-1;c>=0;c--){i=o[c];for(let u=0;u<8;u++)(i&1)===1&&(n===e?(r=rge(QU(n),r),s="-"):r=tge(r,QU(n))),n++,i>>=1}for(let c=0;c<r.length;c++)r[c]&&(a=!0),a&&(s+=XU.charAt(r[c]));return a===!1&&(s+=XU.charAt(0)),s}};f9=w0;w0.NAME="IntegerValueBlock";Object.defineProperty(f9.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var p0,Cp=class extends pn{constructor(e={}){super(e,w0),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Pw(),BigInt(this.valueBlock.toString())}static fromBigInt(e){Pw();let r=BigInt(e),n=new Ap,i=r.toString(16).replace(/^-/,""),o=new Uint8Array($t.Convert.FromHex(i));if(r<0){let a=new Uint8Array(o.length+(o[0]&128?1:0));a[0]|=128;let u=BigInt(`0x${$t.Convert.ToHex(a)}`)+r,d=$t.BufferSourceConverter.toUint8Array($t.Convert.FromHex(u.toString(16)));d[0]|=128,n.write(d)}else o[0]&128&&n.write(new Uint8Array([0])),n.write(o);return new p0({valueHex:n.final()})}convertToDER(){let e=new p0({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new p0({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};p0=Cp;je.Integer=p0;Cp.NAME="INTEGER";var p9,I0=class extends Cp{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};p9=I0;je.Enumerated=p9;I0.NAME="ENUMERATED";var E0=class extends Ys(kn){constructor({valueDec:e=-1,isFirstSid:r=!1,...n}={}){super(n),this.valueDec=e,this.isFirstSid=r}fromBER(e,r,n){if(!n)return r;let i=$t.BufferSourceConverter.toUint8Array(e);if(!tc(this,i,r,n))return-1;let o=i.subarray(r,r+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,(o[a]&128)!==0);a++);let s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)s[a]=this.valueHexView[a];return this.valueHexView=s,(o[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ar.utilFromBase(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),r+this.blockLength)}set valueBigInt(e){Pw();let r=BigInt(e).toString(2);for(;r.length%7;)r="0"+r;let n=new Uint8Array(r.length/7);for(let i=0;i<n.length;i++)n[i]=parseInt(r.slice(i*7,i*7+7),2)+(i+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let i=this.valueHexView,o=new Uint8Array(this.blockLength);for(let s=0;s<this.blockLength-1;s++)o[s]=i[s]|128;return o[this.blockLength-1]=i[this.blockLength-1],o.buffer}let r=ar.utilToBase(this.valueDec,7);if(r.byteLength===0)return this.error="Error during encoding SID value",Xs;let n=new Uint8Array(r.byteLength);if(!e){let i=new Uint8Array(r),o=r.byteLength-1;for(let s=0;s<o;s++)n[s]=i[s]|128;n[o]=i[o]}return n}toString(){let e="";if(this.isHexOnly)e=$t.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let r=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",r-=40):(e="2.",r-=80),e+=r.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};E0.NAME="sidBlock";var Lw=class extends kn{constructor({value:e=Pi,...r}={}){super(r),this.value=[],e&&this.fromString(e)}fromBER(e,r,n){let i=r;for(;n>0;){let o=new E0;if(i=o.fromBER(e,i,n),i===-1)return this.blockLength=0,this.error=o.error,i;this.value.length===0&&(o.isFirstSid=!0),this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return i}toBER(e){let r=[];for(let n=0;n<this.value.length;n++){let i=this.value[n].toBER(e);if(i.byteLength===0)return this.error=this.value[n].error,Xs;r.push(i)}return YP(r)}fromString(e){this.value=[];let r=0,n=0,i="",o=!1;do if(n=e.indexOf(".",r),n===-1?i=e.substring(r):i=e.substring(r,n),r=n+1,o){let s=this.value[0],a=0;switch(s.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(i,10);if(isNaN(c))return;s.valueDec=c+a,o=!1}else{let s=new E0;if(i>Number.MAX_SAFE_INTEGER){Pw();let a=BigInt(i);s.valueBigInt=a}else if(s.valueDec=parseInt(i,10),isNaN(s.valueDec))return;this.value.length||(s.isFirstSid=!0,o=!0),this.value.push(s)}while(n!==-1)}toString(){let e="",r=!1;for(let n=0;n<this.value.length;n++){r=this.value[n].isHexOnly;let i=this.value[n].toString();n!==0&&(e=`${e}.`),r?(i=`{${i}}`,this.value[n].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let r=0;r<this.value.length;r++)e.sidArray.push(this.value[r].toJSON());return e}};Lw.NAME="ObjectIdentifierValueBlock";var m9,k0=class extends pn{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,Lw),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};m9=k0;je.ObjectIdentifier=m9;k0.NAME="OBJECT IDENTIFIER";var R0=class extends Ys(Za){constructor({valueDec:e=0,...r}={}){super(r),this.valueDec=e}fromBER(e,r,n){if(n===0)return r;let i=$t.BufferSourceConverter.toUint8Array(e);if(!tc(this,i,r,n))return-1;let o=i.subarray(r,r+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,(o[a]&128)!==0);a++);let s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)s[a]=this.valueHexView[a];return this.valueHexView=s,(o[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ar.utilFromBase(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),r+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let i=this.valueHexView,o=new Uint8Array(this.blockLength);for(let s=0;s<this.blockLength-1;s++)o[s]=i[s]|128;return o[this.blockLength-1]=i[this.blockLength-1],o.buffer}let r=ar.utilToBase(this.valueDec,7);if(r.byteLength===0)return this.error="Error during encoding SID value",Xs;let n=new Uint8Array(r.byteLength);if(!e){let i=new Uint8Array(r),o=r.byteLength-1;for(let s=0;s<o;s++)n[s]=i[s]|128;n[o]=i[o]}return n.buffer}toString(){let e="";return this.isHexOnly?e=$t.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};R0.NAME="relativeSidBlock";var Hw=class extends kn{constructor({value:e=Pi,...r}={}){super(r),this.value=[],e&&this.fromString(e)}fromBER(e,r,n){let i=r;for(;n>0;){let o=new R0;if(i=o.fromBER(e,i,n),i===-1)return this.blockLength=0,this.error=o.error,i;this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return i}toBER(e,r){let n=[];for(let i=0;i<this.value.length;i++){let o=this.value[i].toBER(e);if(o.byteLength===0)return this.error=this.value[i].error,Xs;n.push(o)}return YP(n)}fromString(e){this.value=[];let r=0,n=0,i="";do{n=e.indexOf(".",r),n===-1?i=e.substring(r):i=e.substring(r,n),r=n+1;let o=new R0;if(o.valueDec=parseInt(i,10),isNaN(o.valueDec))return!0;this.value.push(o)}while(n!==-1);return!0}toString(){let e="",r=!1;for(let n=0;n<this.value.length;n++){r=this.value[n].isHexOnly;let i=this.value[n].toString();n!==0&&(e=`${e}.`),r&&(i=`{${i}}`),e+=i}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let r=0;r<this.value.length;r++)e.sidArray.push(this.value[r].toJSON());return e}};Hw.NAME="RelativeObjectIdentifierValueBlock";var h9,A0=class extends pn{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,Hw),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};h9=A0;je.RelativeObjectIdentifier=h9;A0.NAME="RelativeObjectIdentifier";var g9,C0=class extends ec{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};g9=C0;je.Sequence=g9;C0.NAME="SEQUENCE";var y9,P0=class extends ec{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};y9=P0;je.Set=y9;P0.NAME="SET";var Uw=class extends Ys(kn){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Pi}toJSON(){return{...super.toJSON(),value:this.value}}};Uw.NAME="StringValueBlock";var $w=class extends Uw{};$w.NAME="SimpleStringValueBlock";var di=class extends h0{constructor({...e}={}){super(e,$w)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,$t.BufferSourceConverter.toUint8Array(e))}fromString(e){let r=e.length,n=this.valueBlock.valueHexView=new Uint8Array(r);for(let i=0;i<r;i++)n[i]=e.charCodeAt(i);this.valueBlock.value=e}};di.NAME="SIMPLE STRING";var Fw=class extends di{fromBuffer(e){this.valueBlock.valueHexView=$t.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=$t.Convert.ToUtf8String(e)}catch(r){this.warnings.push(`Error during "decodeURIComponent": ${r}, using raw string`),this.valueBlock.value=$t.Convert.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array($t.Convert.FromUtf8String(e)),this.valueBlock.value=e}};Fw.NAME="Utf8StringValueBlock";var v9,Js=class extends Fw{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};v9=Js;je.Utf8String=v9;Js.NAME="UTF8String";var jw=class extends di{fromBuffer(e){this.valueBlock.value=$t.Convert.ToUtf16String(e),this.valueBlock.valueHexView=$t.BufferSourceConverter.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array($t.Convert.FromUtf16String(e))}};jw.NAME="BmpStringValueBlock";var x9,_0=class extends jw{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};x9=_0;je.BmpString=x9;_0.NAME="BMPString";var qw=class extends di{fromBuffer(e){let r=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),n=new Uint8Array(r);for(let i=0;i<n.length;i+=4)n[i]=n[i+3],n[i+1]=n[i+2],n[i+2]=0,n[i+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(r))}fromString(e){let r=e.length,n=this.valueBlock.valueHexView=new Uint8Array(r*4);for(let i=0;i<r;i++){let o=ar.utilToBase(e.charCodeAt(i),8),s=new Uint8Array(o);if(s.length>4)continue;let a=4-s.length;for(let c=s.length-1;c>=0;c--)n[i*4+c+a]=s[c]}this.valueBlock.value=e}};qw.NAME="UniversalStringValueBlock";var S9,T0=class extends qw{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};S9=T0;je.UniversalString=S9;T0.NAME="UniversalString";var b9,B0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};b9=B0;je.NumericString=b9;B0.NAME="NumericString";var w9,D0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};w9=D0;je.PrintableString=w9;D0.NAME="PrintableString";var I9,N0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};I9=N0;je.TeletexString=I9;N0.NAME="TeletexString";var E9,O0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};E9=O0;je.VideotexString=E9;O0.NAME="VideotexString";var k9,M0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};k9=M0;je.IA5String=k9;M0.NAME="IA5String";var R9,L0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};R9=L0;je.GraphicString=R9;L0.NAME="GraphicString";var A9,Pp=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};A9=Pp;je.VisibleString=A9;Pp.NAME="VisibleString";var C9,H0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};C9=H0;je.GeneralString=C9;H0.NAME="GeneralString";var P9,U0=class extends di{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};P9=U0;je.CharacterString=P9;U0.NAME="CharacterString";var _9,_p=class extends Pp{constructor({value:e,valueDate:r,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let i=0;i<e.length;i++)this.valueBlock.valueHexView[i]=e.charCodeAt(i)}r&&(this.fromDate(r),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,$t.BufferSourceConverter.toUint8Array(e)))}toBuffer(){let e=this.toString(),r=new ArrayBuffer(e.length),n=new Uint8Array(r);for(let i=0;i<e.length;i++)n[i]=e.charCodeAt(i);return r}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(n===null){this.error="Wrong input string for conversion";return}let i=parseInt(n[1],10);i>=50?this.year=1900+i:this.year=2e3+i,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(e="iso"){if(e==="iso"){let r=new Array(7);return r[0]=ar.padNumber(this.year<2e3?this.year-1900:this.year-2e3,2),r[1]=ar.padNumber(this.month,2),r[2]=ar.padNumber(this.day,2),r[3]=ar.padNumber(this.hour,2),r[4]=ar.padNumber(this.minute,2),r[5]=ar.padNumber(this.second,2),r[6]="Z",r.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};_9=_p;je.UTCTime=_9;_p.NAME="UTCTime";var T9,$0=class extends _p{constructor(e={}){var r;super(e),(r=this.millisecond)!==null&&r!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){let e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let r=!1,n="",i="",o=0,s,a=0,c=0;if(e[e.length-1]==="Z")n=e.substring(0,e.length-1),r=!0;else{let l=new Number(e[e.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=e}if(r){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let l=1,f=n.indexOf("+"),p="";if(f===-1&&(f=n.indexOf("-"),l=-1),f!==-1){if(p=n.substring(f+1),n=n.substring(0,f),p.length!==2&&p.length!==4)throw new Error("Wrong input string for conversion");let g=parseInt(p.substring(0,2),10);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*g,p.length===4){if(g=parseInt(p.substring(2,4),10),isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");c=l*g}}}let u=n.indexOf(".");if(u===-1&&(u=n.indexOf(",")),u!==-1){let l=new Number(`0${n.substring(u)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");o=l.valueOf(),i=n.substring(0,u)}else i=n;switch(!0){case i.length===8:if(s=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*o;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case i.length===12:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*o;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case i.length===14:if(s=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=1e3*o;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let d=s.exec(i);if(d===null)throw new Error("Wrong input string for conversion");for(let l=1;l<d.length;l++)switch(l){case 1:this.year=parseInt(d[l],10);break;case 2:this.month=parseInt(d[l],10);break;case 3:this.day=parseInt(d[l],10);break;case 4:this.hour=parseInt(d[l],10)+a;break;case 5:this.minute=parseInt(d[l],10)+c;break;case 6:this.second=parseInt(d[l],10);break;default:throw new Error("Wrong input string for conversion")}if(r===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){let r=[];return r.push(ar.padNumber(this.year,4)),r.push(ar.padNumber(this.month,2)),r.push(ar.padNumber(this.day,2)),r.push(ar.padNumber(this.hour,2)),r.push(ar.padNumber(this.minute,2)),r.push(ar.padNumber(this.second,2)),this.millisecond!==0&&(r.push("."),r.push(ar.padNumber(this.millisecond,3))),r.push("Z"),r.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};T9=$0;je.GeneralizedTime=T9;$0.NAME="GeneralizedTime";var B9,F0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};B9=F0;je.DATE=B9;F0.NAME="DATE";var D9,j0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};D9=j0;je.TimeOfDay=D9;j0.NAME="TimeOfDay";var N9,q0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};N9=q0;je.DateTime=N9;q0.NAME="DateTime";var O9,W0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};O9=W0;je.Duration=O9;W0.NAME="Duration";var M9,V0=class extends Js{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};M9=V0;je.TIME=M9;V0.NAME="TIME";var yl=class{constructor({name:e=Pi,optional:r=!1}={}){this.name=e,this.optional=r}},Ww=class extends yl{constructor({value:e=[],...r}={}){super(r),this.value=e}},G0=class extends yl{constructor({value:e=new yl,local:r=!1,...n}={}){super(n),this.value=e,this.local=r}},XP=class{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=$t.BufferSourceConverter.toUint8Array(e)}constructor({data:e=Vw}={}){this.dataView=$t.BufferSourceConverter.toUint8Array(e)}fromBER(e,r,n){let i=r+n;return this.dataView=$t.BufferSourceConverter.toUint8Array(e).subarray(r,i),i}toBER(e){return this.dataView.slice().buffer}};function Rp(t,e,r){if(r instanceof Ww){for(let o of r.value)if(Rp(t,e,o).verified)return{verified:!0,result:t};{let o={verified:!1,result:{error:"Wrong values for Choice type"}};return r.hasOwnProperty(JP)&&(o.name=r.name),o}}if(r instanceof yl)return r.hasOwnProperty(JP)&&(t[r.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(r instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Uhe in r))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(qhe in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Whe in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};let n=r.idBlock.toBER(!1);if(n.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(r.idBlock.fromBER(n,0,n.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(r.idBlock.hasOwnProperty($he)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(r.idBlock.hasOwnProperty(Fhe)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(r.idBlock.hasOwnProperty(jhe)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(Hhe in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(r.idBlock.isHexOnly){if(!(YU in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};let o=r.idBlock.valueHexView,s=e.idBlock.valueHexView;if(o.length!==s.length)return{verified:!1,result:t};for(let a=0;a<o.length;a++)if(o[a]!==s[1])return{verified:!1,result:t}}if(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&(t[r.name]=e)),r instanceof je.Constructed){let o=0,s={verified:!1,result:{error:"Unknown error"}},a=r.valueBlock.value.length;if(a>0&&r.valueBlock.value[0]instanceof G0&&(a=e.valueBlock.value.length),a===0)return{verified:!0,result:t};if(e.valueBlock.value.length===0&&r.valueBlock.value.length!==0){let c=!0;for(let u=0;u<r.valueBlock.value.length;u++)c=c&&(r.valueBlock.value[u].optional||!1);return c?{verified:!0,result:t}:(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&delete t[r.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let c=0;c<a;c++)if(c-o>=e.valueBlock.value.length){if(r.valueBlock.value[c].optional===!1){let u={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&(delete t[r.name],u.name=r.name)),u}}else if(r.valueBlock.value[0]instanceof G0){if(s=Rp(t,e.valueBlock.value[c],r.valueBlock.value[0].value),s.verified===!1)if(r.valueBlock.value[0].optional)o++;else return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&delete t[r.name]),s;if(JP in r.valueBlock.value[0]&&r.valueBlock.value[0].name.length>0){let u={};Vhe in r.valueBlock.value[0]&&r.valueBlock.value[0].local?u=e:u=t,typeof u[r.valueBlock.value[0].name]>"u"&&(u[r.valueBlock.value[0].name]=[]),u[r.valueBlock.value[0].name].push(e.valueBlock.value[c])}}else if(s=Rp(t,e.valueBlock.value[c-o],r.valueBlock.value[c]),s.verified===!1)if(r.valueBlock.value[c].optional)o++;else return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&delete t[r.name]),s;if(s.verified===!1){let c={verified:!1,result:t};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&(delete t[r.name],c.name=r.name)),c}return{verified:!0,result:t}}if(r.primitiveSchema&&YU in e.valueBlock){let o=Gw(e.valueBlock.valueHexView);if(o.offset===-1){let s={verified:!1,result:o.result};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Pi),r.name&&(delete t[r.name],s.name=r.name)),s}return Rp(t,o.result,r.primitiveSchema)}return{verified:!0,result:t}}function nge(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};let r=Gw($t.BufferSourceConverter.toUint8Array(t));return r.offset===-1?{verified:!1,result:r.result}:Rp(r.result,r.result,e)}ut.Any=yl;ut.BaseBlock=pn;ut.BaseStringBlock=h0;ut.BitString=b0;ut.BmpString=_0;ut.Boolean=x0;ut.CharacterString=U0;ut.Choice=Ww;ut.Constructed=ec;ut.DATE=F0;ut.DEFAULT_MAX_CONTENT_LENGTH=s9;ut.DEFAULT_MAX_DEPTH=i9;ut.DEFAULT_MAX_NODES=o9;ut.DateTime=q0;ut.Duration=W0;ut.EndOfContent=y0;ut.Enumerated=I0;ut.GeneralString=H0;ut.GeneralizedTime=$0;ut.GraphicString=L0;ut.HexBlock=Ys;ut.IA5String=M0;ut.Integer=Cp;ut.Null=v0;ut.NumericString=B0;ut.ObjectIdentifier=k0;ut.OctetString=S0;ut.Primitive=g0;ut.PrintableString=D0;ut.RawData=XP;ut.RelativeObjectIdentifier=A0;ut.Repeated=G0;ut.Sequence=C0;ut.Set=P0;ut.TIME=V0;ut.TeletexString=N0;ut.TimeOfDay=j0;ut.UTCTime=_p;ut.UniversalString=T0;ut.Utf8String=Js;ut.ValueBlock=kn;ut.VideotexString=O0;ut.ViewWriter=Ap;ut.VisibleString=Pp;ut.compareSchema=Rp;ut.fromBER=Zhe;ut.verifySchema=nge});function L9(t){return Object.prototype.toString.call(t)}function sge(t){if(ArrayBuffer.isView(t))return!0;if(!t||typeof t!="object")return!1;let e=t;return typeof e.byteOffset=="number"&&typeof e.byteLength=="number"&&zw(e.buffer)}function e_(t){return L9(t)===ige}function H9(t){return typeof SharedArrayBuffer<"u"&&L9(t)===oge}function zw(t){return e_(t)||H9(t)}function U9(t){return sge(t)}function rc(t){return zw(t)||U9(t)}function t_(t){if(!rc(t))throw new TypeError("Expected ArrayBuffer, SharedArrayBuffer, or ArrayBufferView")}function Io(t){return t_(t),zw(t)?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function mn(t){if(t_(t),e_(t))return t;let e=new ArrayBuffer(t.byteLength);return new Uint8Array(e).set(Io(t)),e}var ige,oge,K0=N(()=>{ige="[object ArrayBuffer]",oge="[object SharedArrayBuffer]"});var $9=N(()=>{K0()});function r_(t,e,r={}){let n=Io(t),i=Io(e);if(!r.constantTime&&n.byteLength!==i.byteLength)return!1;let o=Math.max(n.byteLength,i.byteLength),s=n.byteLength^i.byteLength;for(let a=0;a<o;a++)s|=(n[a]??0)^(i[a]??0);return s===0}var F9=N(()=>{K0()});var j9=N(()=>{K0()});var Zi=N(()=>{K0();$9();F9();j9()});var L,k,vl=N(()=>{(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(L||(L={}));(function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"})(k||(k={}))});var Kw,es,q9=N(()=>{Kw=tt(Hu(),1);Zi();es=class{unusedBits=0;value=new ArrayBuffer(0);constructor(e,r=0){if(e)if(typeof e=="number")this.fromNumber(e);else if(rc(e))this.unusedBits=r,this.value=mn(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof Kw.BitString))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=mn(e.valueBlock.valueHex),this}toASN(){return new Kw.BitString({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new Kw.BitString({name:e})}toNumber(){let e="",r=new Uint8Array(this.value);for(let n of r)e+=n.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let r=e.toString(2),n=r.length+7>>3;this.unusedBits=(n<<3)-r.length;let i=new Uint8Array(n);r=r.padStart(n<<3,"0").split("").reverse().join("");let o=0;for(;o<n;)i[o]=parseInt(r.slice(o<<3,(o<<3)+8),2),o++;this.value=i.buffer}}});var Jw,rt,W9=N(()=>{Jw=tt(Hu(),1);Zi();rt=class{buffer;get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):rc(e)?this.buffer=mn(e):Array.isArray(e)?this.buffer=new Uint8Array(e).buffer:this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof Jw.OctetString))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=mn(e.valueBlock.valueHex),this}toASN(){return new Jw.OctetString({valueHex:this.buffer})}toSchema(e){return new Jw.OctetString({name:e})}}});var n_=N(()=>{q9();W9()});function Eo(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}function nc(t){switch(t){case k.Any:return V9;case k.BitString:return K9;case k.BmpString:return Q9;case k.Boolean:return X9;case k.CharacterString:return c$;case k.Enumerated:return z9;case k.GeneralString:return a$;case k.GeneralizedTime:return d$;case k.GraphicString:return o$;case k.IA5String:return i$;case k.Integer:return G9;case k.Null:return l$;case k.NumericString:return e$;case k.ObjectIdentifier:return J9;case k.OctetString:return xl;case k.PrintableString:return t$;case k.TeletexString:return r$;case k.UTCTime:return u$;case k.UniversalString:return Z9;case k.Utf8String:return Y9;case k.VideotexString:return n$;case k.VisibleString:return s$;default:return null}}var dt,V9,G9,z9,Ot,uge,K9,J9,X9,xl,i_,Y9,Q9,Z9,e$,t$,r$,n$,i$,o$,s$,a$,c$,u$,d$,l$,J0=N(()=>{dt=tt(Hu(),1);Zi();vl();n_();V9={fromASN:t=>t instanceof dt.Null?null:mn(t.valueBeforeDecodeView),toASN:t=>{if(t===null)return new dt.Null;let e=dt.fromBER(t);if(e.result.error)throw new Error(e.result.error);return e.result}},G9={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new dt.Integer({value:+t})},z9={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new dt.Enumerated({value:t})},Ot={fromASN:t=>mn(t.valueBlock.valueHexView),toASN:t=>new dt.Integer({valueHex:t})},uge={fromASN:t=>t.toBigInt(),toASN:t=>dt.Integer.fromBigInt(t)},K9={fromASN:t=>mn(t.valueBlock.valueHexView),toASN:t=>new dt.BitString({valueHex:t})},J9={fromASN:t=>t.valueBlock.toString(),toASN:t=>new dt.ObjectIdentifier({value:t})},X9={fromASN:t=>t.valueBlock.value,toASN:t=>new dt.Boolean({value:t})},xl={fromASN:t=>mn(t.valueBlock.valueHexView),toASN:t=>new dt.OctetString({valueHex:t})},i_={fromASN:t=>new rt(t.getValue()),toASN:t=>t.toASN()};Y9=Eo(dt.Utf8String),Q9=Eo(dt.BmpString),Z9=Eo(dt.UniversalString),e$=Eo(dt.NumericString),t$=Eo(dt.PrintableString),r$=Eo(dt.TeletexString),n$=Eo(dt.VideotexString),i$=Eo(dt.IA5String),o$=Eo(dt.GraphicString),s$=Eo(dt.VisibleString),a$=Eo(dt.GeneralString),c$=Eo(dt.CharacterString),u$={fromASN:t=>t.toDate(),toASN:t=>new dt.UTCTime({valueDate:t})},d$={fromASN:t=>t.toDate(),toASN:t=>new dt.GeneralizedTime({valueDate:t})},l$={fromASN:()=>null,toASN:()=>new dt.Null}});function ko(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:ko(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function s_(t){if(t){let e=Object.getPrototypeOf(t);return e?.prototype?.constructor===Array?!0:s_(e)}return!1}function f$(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;let r=new Uint8Array(t),n=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(r[i]!==n[i])return!1;return!0}var Xw=N(()=>{});var en,Yw,p$=N(()=>{en=tt(Hu(),1);vl();Xw();Yw=class{items=new WeakMap;has(e){return this.items.has(e)}get(e,r=!1){let n=this.items.get(e);if(!n)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(r&&!n.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return n}cache(e){let r=this.get(e);r.schema||(r.schema=this.create(e,!0))}createDefault(e){let r={type:L.Sequence,items:{}},n=this.findParentSchema(e);return n&&(Object.assign(r,n),r.items=Object.assign({},r.items,n.items)),r}create(e,r){let n=this.items.get(e)||this.createDefault(e),i=[];for(let o in n.items){let s=n.items[o],a=r?o:"",c;if(typeof s.type=="number"){let d=k[s.type],l=en[d];if(!l)throw new Error(`Cannot get ASN1 class by name '${d}'`);c=new l({name:a})}else ko(s.type)?c=new s.type().toSchema(a):s.optional?this.get(s.type).type===L.Choice?c=new en.Any({name:a}):(c=this.create(s.type,!1),c.name=a):c=new en.Any({name:a});let u=!!s.optional||s.defaultValue!==void 0;if(s.repeated){c.name="";let d=s.repeated==="set"?en.Set:en.Sequence;c=new d({name:"",value:[new en.Repeated({name:a,value:c})]})}if(s.context!==null&&s.context!==void 0)if(s.implicit)if(typeof s.type=="number"||ko(s.type)){let d=s.repeated?en.Constructed:en.Primitive;i.push(new d({name:a,optional:u,idBlock:{tagClass:3,tagNumber:s.context}}))}else{this.cache(s.type);let d=!!s.repeated,l=d?c:this.get(s.type,!0).schema;l="valueBlock"in l?l.valueBlock.value:l.value,i.push(new en.Constructed({name:d?"":a,optional:u,idBlock:{tagClass:3,tagNumber:s.context},value:l}))}else i.push(new en.Constructed({optional:u,idBlock:{tagClass:3,tagNumber:s.context},value:[c]}));else c.optional=u,i.push(c)}switch(n.type){case L.Sequence:return new en.Sequence({value:i,name:""});case L.Set:return new en.Set({value:i,name:""});case L.Choice:return new en.Choice({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,r){return this.items.set(e,r),this}findParentSchema(e){let r=Object.getPrototypeOf(e);return r?this.items.get(r)||this.findParentSchema(r):null}}});var tn,Qw=N(()=>{p$();tn=new Yw});var W,m$,h$,g$,x,y$=N(()=>{J0();vl();Qw();W=t=>e=>{let r;tn.has(e)?r=tn.get(e):(r=tn.createDefault(e),tn.set(e,r)),Object.assign(r,t)},m$=()=>W({type:L.Choice}),h$=t=>W({type:L.Set,...t}),g$=t=>W({type:L.Sequence,...t}),x=t=>(e,r)=>{let n;tn.has(e.constructor)?n=tn.get(e.constructor):(n=tn.createDefault(e.constructor),tn.set(e.constructor,n));let i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){let o=nc(t.type);if(!o)throw new Error(`Cannot get default converter for property '${r}' of ${e.constructor.name}`);i.converter=o}i.raw=t.raw,n.items[r]=i}});var ic,v$=N(()=>{ic=class extends Error{schemas=[]}});var a_=N(()=>{v$()});var hn,Tp,c_=N(()=>{hn=tt(Hu(),1);Zi();vl();J0();a_();Xw();Qw();Tp=class{static parse(e,r,n){let i=hn.fromBER(mn(e),n?.berOptions);if(i.result.error)throw new Error(i.result.error);return this.fromASN(i.result,r,n)}static fromASN(e,r,n){try{if(ko(r))return new r().fromASN(e);let i=tn.get(r);tn.cache(r);let o=i.schema,s=this.handleChoiceTypes(e,i,r,o,n);if(s?.result)return s.result;s?.targetSchema&&(o=s.targetSchema);let a=this.handleSequenceTypes(e,i,r,o),c=new r;return s_(r)?this.handleArrayTypes(e,i,r,n):(this.processSchemaItems(i,a,c,n),c)}catch(i){throw i instanceof ic&&i.schemas.push(r.name),i}}static handleChoiceTypes(e,r,n,i,o){if(e.constructor===hn.Constructed&&r.type===L.Choice&&e.idBlock.tagClass===3)for(let s in r.items){let a=r.items[s];if(a.context===e.idBlock.tagNumber&&a.implicit&&typeof a.type=="function"&&tn.has(a.type)){let c=tn.get(a.type);if(c&&c.type===L.Sequence){let u=new hn.Sequence;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in u.valueBlock){u.valueBlock.value=e.valueBlock.value;let d=this.fromASN(u,a.type,o),l=new n;return l[s]=d,{result:l}}}}}else if(e.constructor===hn.Constructed&&r.type!==L.Choice){let s=new hn.Constructed({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:r.schema.valueBlock.value});for(let a in r.items)delete e[a];return{targetSchema:s}}return null}static handleSequenceTypes(e,r,n,i){if(r.type===L.Sequence){let o=hn.compareSchema({},e,i);if(!o.verified)throw new ic(`Data does not match to ${n.name} ASN1 schema.${o.result.error?` ${o.result.error}`:""}`);return o}else{let o=hn.compareSchema({},e,i);if(!o.verified)throw new ic(`Data does not match to ${n.name} ASN1 schema.${o.result.error?` ${o.result.error}`:""}`);return o}}static processRepeatedField(e,r,n){let i=e.slice(r);if(i.length===1&&i[0].constructor.name==="Sequence"){let o=i[0];o.valueBlock&&o.valueBlock.value&&Array.isArray(o.valueBlock.value)&&(i=o.valueBlock.value)}if(typeof n.type=="number"){let o=nc(n.type);if(!o)throw new Error(`No converter for ASN.1 type ${n.type}`);return i.filter(s=>s&&s.valueBlock).map(s=>{try{return o.fromASN(s)}catch{return}}).filter(s=>s!==void 0)}else return i.filter(o=>o&&o.valueBlock).map(o=>{try{return this.fromASN(o,n.type)}catch{return}}).filter(o=>o!==void 0)}static processPrimitiveField(e,r){let n=nc(r.type);if(!n)throw new Error(`No converter for ASN.1 type ${r.type}`);return n.fromASN(e)}static isOptionalChoiceField(e){return e.optional&&typeof e.type=="function"&&tn.has(e.type)&&tn.get(e.type).type===L.Choice}static processOptionalChoiceField(e,r){try{return{processed:!0,value:this.fromASN(e,r.type)}}catch(n){if(n instanceof ic&&/Wrong values for Choice type/.test(n.message))return{processed:!1};throw n}}static handleArrayTypes(e,r,n,i){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");let o=r.itemType;if(typeof o=="number"){let s=nc(o);if(!s)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(e.valueBlock.value,a=>s.fromASN(a))}else return n.from(e.valueBlock.value,s=>this.fromASN(s,o,i))}static processSchemaItems(e,r,n,i){for(let o in e.items){let s=r.result[o];if(!s)continue;let a=e.items[o],c=a.type,u;typeof c=="number"||ko(c)?u=this.processPrimitiveSchemaItem(s,a,c,i):u=this.processComplexSchemaItem(s,a,c,i),u&&typeof u=="object"&&"value"in u&&"raw"in u?(n[o]=u.value,n[`${o}Raw`]=u.raw):n[o]=u}}static processPrimitiveSchemaItem(e,r,n,i){let o=r.converter??(ko(n)?new n:null);if(!o)throw new Error("Converter is empty");return r.repeated?this.processRepeatedPrimitiveItem(e,r,o,i):this.processSinglePrimitiveItem(e,r,n,o,i)}static processRepeatedPrimitiveItem(e,r,n,i){if(r.implicit){let o=r.repeated==="sequence"?hn.Sequence:hn.Set,s=new o;s.valueBlock=e.valueBlock;let a=hn.fromBER(s.toBER(!1),i?.berOptions);if(a.offset===-1)throw new Error(`Cannot parse the child item. ${a.result.error}`);if(!("value"in a.result.valueBlock&&Array.isArray(a.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");let c=a.result.valueBlock.value;return Array.from(c,u=>n.fromASN(u))}else return Array.from(e,o=>n.fromASN(o))}static processSinglePrimitiveItem(e,r,n,i,o){let s=e;if(r.implicit){let a;if(ko(n))a=new n().toSchema("");else{let c=k[n],u=hn[c];if(!u)throw new Error(`Cannot get '${c}' class from asn1js module`);a=new u}a.valueBlock=s.valueBlock,s=hn.fromBER(a.toBER(!1),o?.berOptions).result}return i.fromASN(s)}static processComplexSchemaItem(e,r,n,i){if(r.repeated){if(!Array.isArray(e))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");return Array.from(e,o=>this.fromASN(o,n,i))}else{let o=this.handleImplicitTagging(e,r,n);if(this.isOptionalChoiceField(r))try{return this.fromASN(o,n,i)}catch(s){if(s instanceof ic&&/Wrong values for Choice type/.test(s.message))return;throw s}else{let s=this.fromASN(o,n,i);return r.raw?{value:s,raw:e.valueBeforeDecodeView}:s}}}static handleImplicitTagging(e,r,n){if(r.implicit&&typeof r.context=="number"){let i=tn.get(n);if(i.type===L.Sequence){let o=new hn.Sequence;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in o.valueBlock)return o.valueBlock.value=e.valueBlock.value,o}else if(i.type===L.Set){let o=new hn.Set;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in o.valueBlock)return o.valueBlock.value=e.valueBlock.value,o}}return e}}});var Nn,Bp,u_=N(()=>{Nn=tt(Hu(),1);Zi();J0();vl();Xw();Qw();Bp=class t{static serialize(e){return e instanceof Nn.BaseBlock?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&ko(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");let r=e.constructor,n=tn.get(r);tn.cache(r);let i=[];if(n.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof n.itemType=="number"){let s=nc(n.itemType);if(!s)throw new Error(`Cannot get default converter for array item of ${r.name} ASN1 schema`);i=e.map(a=>s.toASN(a))}else i=e.map(s=>this.toAsnItem({type:n.itemType},"[]",r,s))}else for(let s in n.items){let a=n.items[s],c=e[s];if(c===void 0||a.defaultValue===c||typeof a.defaultValue=="object"&&typeof c=="object"&&f$(this.serialize(a.defaultValue),this.serialize(c)))continue;let u=t.toAsnItem(a,s,r,c);if(typeof a.context=="number")if(a.implicit)if(!a.repeated&&(typeof a.type=="number"||ko(a.type))){let d={};d.valueHex=u instanceof Nn.Null?mn(u.valueBeforeDecodeView):u.valueBlock.toBER(),i.push(new Nn.Primitive({optional:a.optional,idBlock:{tagClass:3,tagNumber:a.context},...d}))}else i.push(new Nn.Constructed({optional:a.optional,idBlock:{tagClass:3,tagNumber:a.context},value:u.valueBlock.value}));else i.push(new Nn.Constructed({optional:a.optional,idBlock:{tagClass:3,tagNumber:a.context},value:[u]}));else a.repeated?i=i.concat(u):i.push(u)}let o;switch(n.type){case L.Sequence:o=new Nn.Sequence({value:i});break;case L.Set:o=new Nn.Set({value:i});break;case L.Choice:if(!i[0])throw new Error(`Schema '${r.name}' has wrong data. Choice cannot be empty.`);o=i[0];break}return o}static toAsnItem(e,r,n,i){let o;if(typeof e.type=="number"){let s=e.converter;if(!s)throw new Error(`Property '${r}' doesn't have converter for type ${k[e.type]} in schema '${n.name}'`);if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");let a=Array.from(i,u=>s.toASN(u)),c=e.repeated==="sequence"?Nn.Sequence:Nn.Set;o=new c({value:a})}else o=s.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");let s=Array.from(i,c=>this.toASN(c)),a=e.repeated==="sequence"?Nn.Sequence:Nn.Set;o=new a({value:s})}else o=this.toASN(i);return o}}});var Ze,x$=N(()=>{Ze=class extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(let r of e)this.push(r)}}}});var S$,Ro,b$=N(()=>{S$=tt(Hu(),1);Zi();c_();u_();Ro=class t{static serialize(e){return Bp.serialize(e)}static parse(e,r,n){return Tp.parse(e,r,n)}static toString(e,r){let n=rc(e)?mn(e):t.serialize(e),i=S$.fromBER(n,r?.berOptions);if(i.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${i.result.error}`);return i.result.toString()}}});var w$={};bi(w$,{AsnAnyConverter:()=>V9,AsnArray:()=>Ze,AsnBitStringConverter:()=>K9,AsnBmpStringConverter:()=>Q9,AsnBooleanConverter:()=>X9,AsnCharacterStringConverter:()=>c$,AsnChoiceType:()=>m$,AsnConstructedOctetStringConverter:()=>i_,AsnConvert:()=>Ro,AsnEnumeratedConverter:()=>z9,AsnGeneralStringConverter:()=>a$,AsnGeneralizedTimeConverter:()=>d$,AsnGraphicStringConverter:()=>o$,AsnIA5StringConverter:()=>i$,AsnIntegerArrayBufferConverter:()=>Ot,AsnIntegerBigIntConverter:()=>uge,AsnIntegerConverter:()=>G9,AsnNullConverter:()=>l$,AsnNumericStringConverter:()=>e$,AsnObjectIdentifierConverter:()=>J9,AsnOctetStringConverter:()=>xl,AsnParser:()=>Tp,AsnPrintableStringConverter:()=>t$,AsnProp:()=>x,AsnPropTypes:()=>k,AsnSchemaValidationError:()=>ic,AsnSequenceType:()=>g$,AsnSerializer:()=>Bp,AsnSetType:()=>h$,AsnTeletexStringConverter:()=>r$,AsnType:()=>W,AsnTypeTypes:()=>L,AsnUTCTimeConverter:()=>u$,AsnUniversalStringConverter:()=>Z9,AsnUtf8StringConverter:()=>Y9,AsnVideotexStringConverter:()=>n$,AsnVisibleStringConverter:()=>s$,BitString:()=>es,OctetString:()=>rt,defaultConverter:()=>nc});var ae=N(()=>{J0();n_();y$();vl();c_();u_();a_();x$();b$()});var Y$=ce((O4e,tI)=>{var I$,E$,k$,R$,A$,C$,P$,_$,T$,B$,D$,N$,O$,Zw,d_,M$,L$,H$,Dp,U$,$$,F$,j$,q$,W$,V$,G$,z$,eI,K$,J$,X$;(function(t){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(n){t(r(e,r(n)))}):typeof tI=="object"&&typeof tI.exports=="object"?t(r(e,r(tI.exports))):t(r(e));function r(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(o,s){return n[o]=i?i(o,s):s}}})(function(t){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(o[a]=s[a])};I$=function(o,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(o,s);function a(){this.constructor=o}o.prototype=s===null?Object.create(s):(a.prototype=s.prototype,new a)},E$=Object.assign||function(o){for(var s,a=1,c=arguments.length;a<c;a++){s=arguments[a];for(var u in s)Object.prototype.hasOwnProperty.call(s,u)&&(o[u]=s[u])}return o},k$=function(o,s){var a={};for(var c in o)Object.prototype.hasOwnProperty.call(o,c)&&s.indexOf(c)<0&&(a[c]=o[c]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var u=0,c=Object.getOwnPropertySymbols(o);u<c.length;u++)s.indexOf(c[u])<0&&Object.prototype.propertyIsEnumerable.call(o,c[u])&&(a[c[u]]=o[c[u]]);return a},R$=function(o,s,a,c){var u=arguments.length,d=u<3?s:c===null?c=Object.getOwnPropertyDescriptor(s,a):c,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")d=Reflect.decorate(o,s,a,c);else for(var f=o.length-1;f>=0;f--)(l=o[f])&&(d=(u<3?l(d):u>3?l(s,a,d):l(s,a))||d);return u>3&&d&&Object.defineProperty(s,a,d),d},A$=function(o,s){return function(a,c){s(a,c,o)}},C$=function(o,s,a,c,u,d){function l(z){if(z!==void 0&&typeof z!="function")throw new TypeError("Function expected");return z}for(var f=c.kind,p=f==="getter"?"get":f==="setter"?"set":"value",g=!s&&o?c.static?o:o.prototype:null,v=s||(g?Object.getOwnPropertyDescriptor(g,c.name):{}),b,C=!1,B=a.length-1;B>=0;B--){var _={};for(var F in c)_[F]=F==="access"?{}:c[F];for(var F in c.access)_.access[F]=c.access[F];_.addInitializer=function(z){if(C)throw new TypeError("Cannot add initializers after decoration has completed");d.push(l(z||null))};var he=(0,a[B])(f==="accessor"?{get:v.get,set:v.set}:v[p],_);if(f==="accessor"){if(he===void 0)continue;if(he===null||typeof he!="object")throw new TypeError("Object expected");(b=l(he.get))&&(v.get=b),(b=l(he.set))&&(v.set=b),(b=l(he.init))&&u.unshift(b)}else(b=l(he))&&(f==="field"?u.unshift(b):v[p]=b)}g&&Object.defineProperty(g,c.name,v),C=!0},P$=function(o,s,a){for(var c=arguments.length>2,u=0;u<s.length;u++)a=c?s[u].call(o,a):s[u].call(o);return c?a:void 0},_$=function(o){return typeof o=="symbol"?o:"".concat(o)},T$=function(o,s,a){return typeof s=="symbol"&&(s=s.description?"[".concat(s.description,"]"):""),Object.defineProperty(o,"name",{configurable:!0,value:a?"".concat(a," ",s):s})},B$=function(o,s){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,s)},D$=function(o,s,a,c){function u(d){return d instanceof a?d:new a(function(l){l(d)})}return new(a||(a=Promise))(function(d,l){function f(v){try{g(c.next(v))}catch(b){l(b)}}function p(v){try{g(c.throw(v))}catch(b){l(b)}}function g(v){v.done?d(v.value):u(v.value).then(f,p)}g((c=c.apply(o,s||[])).next())})},N$=function(o,s){var a={label:0,sent:function(){if(d[0]&1)throw d[1];return d[1]},trys:[],ops:[]},c,u,d,l=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return l.next=f(0),l.throw=f(1),l.return=f(2),typeof Symbol=="function"&&(l[Symbol.iterator]=function(){return this}),l;function f(g){return function(v){return p([g,v])}}function p(g){if(c)throw new TypeError("Generator is already executing.");for(;l&&(l=0,g[0]&&(a=0)),a;)try{if(c=1,u&&(d=g[0]&2?u.return:g[0]?u.throw||((d=u.return)&&d.call(u),0):u.next)&&!(d=d.call(u,g[1])).done)return d;switch(u=0,d&&(g=[g[0]&2,d.value]),g[0]){case 0:case 1:d=g;break;case 4:return a.label++,{value:g[1],done:!1};case 5:a.label++,u=g[1],g=[0];continue;case 7:g=a.ops.pop(),a.trys.pop();continue;default:if(d=a.trys,!(d=d.length>0&&d[d.length-1])&&(g[0]===6||g[0]===2)){a=0;continue}if(g[0]===3&&(!d||g[1]>d[0]&&g[1]<d[3])){a.label=g[1];break}if(g[0]===6&&a.label<d[1]){a.label=d[1],d=g;break}if(d&&a.label<d[2]){a.label=d[2],a.ops.push(g);break}d[2]&&a.ops.pop(),a.trys.pop();continue}g=s.call(o,a)}catch(v){g=[6,v],u=0}finally{c=d=0}if(g[0]&5)throw g[1];return{value:g[0]?g[1]:void 0,done:!0}}},O$=function(o,s){for(var a in o)a!=="default"&&!Object.prototype.hasOwnProperty.call(s,a)&&eI(s,o,a)},eI=Object.create?(function(o,s,a,c){c===void 0&&(c=a);var u=Object.getOwnPropertyDescriptor(s,a);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return s[a]}}),Object.defineProperty(o,c,u)}):(function(o,s,a,c){c===void 0&&(c=a),o[c]=s[a]}),Zw=function(o){var s=typeof Symbol=="function"&&Symbol.iterator,a=s&&o[s],c=0;if(a)return a.call(o);if(o&&typeof o.length=="number")return{next:function(){return o&&c>=o.length&&(o=void 0),{value:o&&o[c++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},d_=function(o,s){var a=typeof Symbol=="function"&&o[Symbol.iterator];if(!a)return o;var c=a.call(o),u,d=[],l;try{for(;(s===void 0||s-- >0)&&!(u=c.next()).done;)d.push(u.value)}catch(f){l={error:f}}finally{try{u&&!u.done&&(a=c.return)&&a.call(c)}finally{if(l)throw l.error}}return d},M$=function(){for(var o=[],s=0;s<arguments.length;s++)o=o.concat(d_(arguments[s]));return o},L$=function(){for(var o=0,s=0,a=arguments.length;s<a;s++)o+=arguments[s].length;for(var c=Array(o),u=0,s=0;s<a;s++)for(var d=arguments[s],l=0,f=d.length;l<f;l++,u++)c[u]=d[l];return c},H$=function(o,s,a){if(a||arguments.length===2)for(var c=0,u=s.length,d;c<u;c++)(d||!(c in s))&&(d||(d=Array.prototype.slice.call(s,0,c)),d[c]=s[c]);return o.concat(d||Array.prototype.slice.call(s))},Dp=function(o){return this instanceof Dp?(this.v=o,this):new Dp(o)},U$=function(o,s,a){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var c=a.apply(o,s||[]),u,d=[];return u=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),f("next"),f("throw"),f("return",l),u[Symbol.asyncIterator]=function(){return this},u;function l(B){return function(_){return Promise.resolve(_).then(B,b)}}function f(B,_){c[B]&&(u[B]=function(F){return new Promise(function(he,z){d.push([B,F,he,z])>1||p(B,F)})},_&&(u[B]=_(u[B])))}function p(B,_){try{g(c[B](_))}catch(F){C(d[0][3],F)}}function g(B){B.value instanceof Dp?Promise.resolve(B.value.v).then(v,b):C(d[0][2],B)}function v(B){p("next",B)}function b(B){p("throw",B)}function C(B,_){B(_),d.shift(),d.length&&p(d[0][0],d[0][1])}},$$=function(o){var s,a;return s={},c("next"),c("throw",function(u){throw u}),c("return"),s[Symbol.iterator]=function(){return this},s;function c(u,d){s[u]=o[u]?function(l){return(a=!a)?{value:Dp(o[u](l)),done:!1}:d?d(l):l}:d}},F$=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s=o[Symbol.asyncIterator],a;return s?s.call(o):(o=typeof Zw=="function"?Zw(o):o[Symbol.iterator](),a={},c("next"),c("throw"),c("return"),a[Symbol.asyncIterator]=function(){return this},a);function c(d){a[d]=o[d]&&function(l){return new Promise(function(f,p){l=o[d](l),u(f,p,l.done,l.value)})}}function u(d,l,f,p){Promise.resolve(p).then(function(g){d({value:g,done:f})},l)}},j$=function(o,s){return Object.defineProperty?Object.defineProperty(o,"raw",{value:s}):o.raw=s,o};var r=Object.create?(function(o,s){Object.defineProperty(o,"default",{enumerable:!0,value:s})}):function(o,s){o.default=s},n=function(o){return n=Object.getOwnPropertyNames||function(s){var a=[];for(var c in s)Object.prototype.hasOwnProperty.call(s,c)&&(a[a.length]=c);return a},n(o)};q$=function(o){if(o&&o.__esModule)return o;var s={};if(o!=null)for(var a=n(o),c=0;c<a.length;c++)a[c]!=="default"&&eI(s,o,a[c]);return r(s,o),s},W$=function(o){return o&&o.__esModule?o:{default:o}},V$=function(o,s,a,c){if(a==="a"&&!c)throw new TypeError("Private accessor was defined without a getter");if(typeof s=="function"?o!==s||!c:!s.has(o))throw new TypeError("Cannot read private member from an object whose class did not declare it");return a==="m"?c:a==="a"?c.call(o):c?c.value:s.get(o)},G$=function(o,s,a,c,u){if(c==="m")throw new TypeError("Private method is not writable");if(c==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof s=="function"?o!==s||!u:!s.has(o))throw new TypeError("Cannot write private member to an object whose class did not declare it");return c==="a"?u.call(o,a):u?u.value=a:s.set(o,a),a},z$=function(o,s){if(s===null||typeof s!="object"&&typeof s!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof o=="function"?s===o:o.has(s)},K$=function(o,s,a){if(s!=null){if(typeof s!="object"&&typeof s!="function")throw new TypeError("Object expected.");var c,u;if(a){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");c=s[Symbol.asyncDispose]}if(c===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");c=s[Symbol.dispose],a&&(u=c)}if(typeof c!="function")throw new TypeError("Object not disposable.");u&&(c=function(){try{u.call(this)}catch(d){return Promise.reject(d)}}),o.stack.push({value:s,dispose:c,async:a})}else a&&o.stack.push({async:!0});return s};var i=typeof SuppressedError=="function"?SuppressedError:function(o,s,a){var c=new Error(a);return c.name="SuppressedError",c.error=o,c.suppressed=s,c};J$=function(o){function s(d){o.error=o.hasError?new i(d,o.error,"An error was suppressed during disposal."):d,o.hasError=!0}var a,c=0;function u(){for(;a=o.stack.pop();)try{if(!a.async&&c===1)return c=0,o.stack.push(a),Promise.resolve().then(u);if(a.dispose){var d=a.dispose.call(a.value);if(a.async)return c|=2,Promise.resolve(d).then(u,function(l){return s(l),u()})}else c|=1}catch(l){s(l)}if(c===1)return o.hasError?Promise.reject(o.error):Promise.resolve();if(o.hasError)throw o.error}return u()},X$=function(o,s){return typeof o=="string"&&/^\.\.?\//.test(o)?o.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(a,c,u,d,l){return c?s?".jsx":".js":u&&(!d||!l)?a:u+d+"."+l.toLowerCase()+"js"}):o},t("__extends",I$),t("__assign",E$),t("__rest",k$),t("__decorate",R$),t("__param",A$),t("__esDecorate",C$),t("__runInitializers",P$),t("__propKey",_$),t("__setFunctionName",T$),t("__metadata",B$),t("__awaiter",D$),t("__generator",N$),t("__exportStar",O$),t("__createBinding",eI),t("__values",Zw),t("__read",d_),t("__spread",M$),t("__spreadArrays",L$),t("__spreadArray",H$),t("__await",Dp),t("__asyncGenerator",U$),t("__asyncDelegator",$$),t("__asyncValues",F$),t("__makeTemplateObject",j$),t("__importStar",q$),t("__importDefault",W$),t("__classPrivateFieldGet",V$),t("__classPrivateFieldSet",G$),t("__classPrivateFieldIn",z$),t("__addDisposableResource",K$),t("__disposeResources",J$),t("__rewriteRelativeImportExtension",X$)})});var Q$={};bi(Q$,{__addDisposableResource:()=>Hge,__assign:()=>lge,__asyncDelegator:()=>_ge,__asyncGenerator:()=>Pge,__asyncValues:()=>Tge,__await:()=>Cge,__awaiter:()=>xge,__classPrivateFieldGet:()=>Oge,__classPrivateFieldIn:()=>Lge,__classPrivateFieldSet:()=>Mge,__createBinding:()=>wge,__decorate:()=>h,__disposeResources:()=>Uge,__esDecorate:()=>mge,__exportStar:()=>bge,__extends:()=>dge,__generator:()=>Sge,__importDefault:()=>Nge,__importStar:()=>Dge,__makeTemplateObject:()=>Bge,__metadata:()=>vge,__param:()=>pge,__propKey:()=>gge,__read:()=>Ege,__rest:()=>fge,__rewriteRelativeImportExtension:()=>$ge,__runInitializers:()=>hge,__setFunctionName:()=>yge,__spread:()=>kge,__spreadArray:()=>Age,__spreadArrays:()=>Rge,__values:()=>Ige,default:()=>Fge});var l_,dge,lge,fge,h,pge,mge,hge,gge,yge,vge,xge,Sge,bge,wge,Ige,Ege,kge,Rge,Age,Cge,Pge,_ge,Tge,Bge,Dge,Nge,Oge,Mge,Lge,Hge,Uge,$ge,Fge,fe=N(()=>{l_=tt(Y$(),1),{__extends:dge,__assign:lge,__rest:fge,__decorate:h,__param:pge,__esDecorate:mge,__runInitializers:hge,__propKey:gge,__setFunctionName:yge,__metadata:vge,__awaiter:xge,__generator:Sge,__exportStar:bge,__createBinding:wge,__values:Ige,__read:Ege,__spread:kge,__spreadArrays:Rge,__spreadArray:Age,__await:Cge,__asyncGenerator:Pge,__asyncDelegator:_ge,__asyncValues:Tge,__makeTemplateObject:Bge,__importStar:Dge,__importDefault:Nge,__classPrivateFieldGet:Oge,__classPrivateFieldSet:Mge,__classPrivateFieldIn:Lge,__addDisposableResource:Hge,__disposeResources:Uge,__rewriteRelativeImportExtension:$ge}=l_.default,Fge=l_.default});var f_=N(()=>{Zi()});var Np={};bi(Np,{decode:()=>m_,encode:()=>p_,format:()=>n7,formats:()=>i7,hex:()=>Zge,is:()=>t7,normalize:()=>X0,parse:()=>r7});function Vge(t){return t.separators==="none"?[]:!t.separators||t.separators==="common"?Wge:t.separators}function Gge(t){if(!t)throw new TypeError("Hex separators must be non-empty strings")}function zge(t,e,r){for(let n of r)if(t.startsWith(n,e))return n}function Kge(t){let e=/[A-F]/.test(t),r=/[a-f]/.test(t);return e&&!r?"upper":"lower"}function Jge(t){let e=/\r\n|\n/.exec(t);if(e)return e[0]===`\r
|
|
17
17
|
`?`\r
|
|
18
18
|
`:`
|
|
19
19
|
`}function Z$(t){return t.replace(/[^0-9a-f]/gi,"")}function Xge(t){let e=t.match(/[0-9A-Fa-f]+|[^0-9A-Fa-f]+/g)??[];if(e.length<3)return;let r=e.filter((s,a)=>a%2===0),n=e.filter((s,a)=>a%2===1),i=n[0];if(!i||n.some(s=>s!==i)||r.some(s=>s.length===0||s.length%2!==0))return;let o=r[0]?.length??0;if(o&&!r.slice(0,-1).some(s=>s.length!==o)&&!((r[r.length-1]?.length??0)>o))return{size:o/2,separator:i}}function Yge(t){let e=t.trim(),r=/^0x/i.test(e)?"0x":"",n=r?e.slice(2):e,i=Jge(n),o=n.split(/\r\n|\n/).filter(u=>u.length>0),s=o[0]?.trim()??"",a=Xge(s),c={case:Kge(e),prefix:r};if(a&&(c.group=a),i&&o.length>1){let u=Z$(o[0]??"").length/2;u>0&&o.slice(0,-1).every(d=>Z$(d).length/2===u)&&(c.line={bytesPerLine:u,separator:i})}return c}function Qge(t,e){let r=e.allowPrefix??!0,n=[...Vge(e)].sort((a,c)=>c.length-a.length);for(let a of n)Gge(a);let i=t.trim();if(/^0x/i.test(i)){if(!r)throw new TypeError("Hexadecimal text must not include a 0x prefix");i=i.slice(2)}let o="",s=!1;for(let a=0;a<i.length;){let c=i[a]??"";if(qge.test(c)){o+=c,s=!1,a+=1;continue}let u=zge(i,a,n);if(!u)throw new TypeError("Input is not valid hexadecimal text");if(e.strict&&(s||o.length===0))throw new TypeError("Hexadecimal text contains misplaced separators");s=!0,a+=u.length}if(e.strict&&s&&o.length>0)throw new TypeError("Hexadecimal text must not end with a separator");if(o.length%2!==0){if(!e.allowOddLength)throw new TypeError("Hexadecimal text must contain an even number of characters");o=`0${o}`}return o.toLowerCase()}function e7(t,e){if(!e)return t.join("");if(!Number.isInteger(e.size)||e.size<1)throw new RangeError("Hex group size must be a positive integer");let r=[];for(let n=0;n<t.length;n+=e.size)r.push(t.slice(n,n+e.size).join(""));return r.join(e.separator)}function X0(t,e={}){return Qge(t,e)}function t7(t,e={}){if(typeof t!="string")return!1;try{return X0(t,e),!0}catch{return!1}}function p_(t,e={}){let r=Io(t),n=e.case??"lower",i=Array.from(r,s=>{let a=s.toString(16).padStart(2,"0");return n==="upper"?a.toUpperCase():a}),o="";if(e.line){let s=e.line.bytesPerLine;if(!Number.isInteger(s)||s<1)throw new RangeError("Hex bytesPerLine must be a positive integer");let a=e.line.separator??`
|
|
@@ -135,12 +135,12 @@ ${e.join(`
|
|
|
135
135
|
`)+`\r
|
|
136
136
|
\r
|
|
137
137
|
`+r)}function Cf(t,e,r,n,i,o){if(t.listenerCount("wsClientError")){let s=new Error(i);Error.captureStackTrace(s,Cf),t.emit("wsClientError",s,r,e)}else Gx(r,n,i,o)}});var _Q={};bi(_Q,{PerMessageDeflate:()=>kQ.default,Receiver:()=>RQ.default,Sender:()=>AQ.default,WebSocket:()=>hO.default,WebSocketServer:()=>PQ.default,createWebSocketStream:()=>IQ.default,default:()=>BAe,extension:()=>EQ.default,subprotocol:()=>CQ.default});var IQ,EQ,kQ,RQ,AQ,CQ,hO,PQ,BAe,TQ=N(()=>{IQ=tt(mQ(),1),EQ=tt(sR(),1),kQ=tt(wh(),1),RQ=tt(iO(),1),AQ=tt(aO(),1),CQ=tt(pO(),1),hO=tt(dR(),1),PQ=tt(wQ(),1),BAe=hO.default});import{mkdir as aee,open as cee,readFile as uee,rename as dee,unlink as lee}from"node:fs/promises";import{basename as $h,dirname as fee,join as pee}from"node:path";import{randomBytes as mee}from"node:crypto";var _s=class extends Error{code="BRIDGE_STATE_INVALID";file;constructor(e,r,n){super(r,n),this.name="BridgeStateError",this.file=e}};async function ii(t){let e;try{e=await uee(t,"utf8")}catch(r){if(er(r)&&r.code==="ENOENT")return;throw new _s(t,`Unable to read Bridge state file: ${$h(t)}.`,{cause:r})}try{return JSON.parse(e)}catch(r){throw new _s(t,`Bridge state file is not valid JSON: ${$h(t)}.`,{cause:r})}}async function bn(t,e,r={}){let n=fee(t),i=r.mode??384;await aee(n,{recursive:!0,mode:448});let o=pee(n,`.${$h(t)}.${process.pid}.${mee(8).toString("hex")}.tmp`),s;try{s=await cee(o,"wx",i),await s.writeFile(`${JSON.stringify(e,null,2)}
|
|
138
|
-
`,"utf8"),await s.sync(),await s.chmod(i),await s.close(),s=void 0,await r.prepareTemporaryFile?.(o),await dee(o,t),r.onCommitted?.()}catch(a){throw new _s(t,`Unable to persist Bridge state file: ${$h(t)}.`,{cause:a})}finally{await s?.close().catch(()=>{}),await lee(o).catch(a=>{if(!er(a)||a.code!=="ENOENT")throw a})}}function Ue(t,e){return new _s(t,`Bridge state file is invalid (${$h(t)}): ${e}`)}function er(t){return t instanceof Error&&"code"in t}var Fh="hunsu.bridge.cli-result.v1",hee="Start Hunsu Bridge with `hunsu-bridge service start`.",Fe=class extends Error{code;recovery;cause;constructor(e,r,n={}){super(r),this.name="BridgeError",this.code=e,this.recovery=n.recovery,this.cause=n.cause}};function lr(t,e,r="OK"){return{schema:Fh,ok:!0,code:r,message:t,...e===void 0?{}:{value:e}}}function dr(t,e,r){return{schema:Fh,ok:!1,code:t,message:e,...r?{recovery:r}:{}}}function r4(){return dr("BRIDGE_NOT_RUNNING",hee)}function _a(t){return t instanceof Fe?dr(t.code,t.message,t.recovery):t instanceof _s?dr(t.code,t.message):dr("BRIDGE_CONTROL_UNAVAILABLE","Hunsu Bridge command failed unexpectedly.")}import{access as vee}from"node:fs/promises";var gee=["production","preview"],yee=Object.freeze({production:Object.freeze({webUrl:"https://hunsu.app/studio",connectApiUrl:"https://connect.hunsu.app",connectWsUrl:"wss://connect.hunsu.app/v1/connect/device",connectTicketIssuer:"https://connect.hunsu.app",connectTicketSigningKeyId:"connect-Ea21pgXVRp5WfId1kXKSeyea",connectTicketSigningPublicJwk:Object.freeze({kty:"EC",crv:"P-256",x:"SekGyUfv_HqJlJ35q9uE4cUzM7jWW6V6B7k4_HGy6ck",y:"zY0W0qv5kHQKxF6aynjmy0kGv1XodPwF4MX4yvTW_C8"})}),preview:Object.freeze({webUrl:"https://preview.hunsu.app/studio",connectApiUrl:"https://connect.preview.hunsu.app",connectWsUrl:"wss://connect.preview.hunsu.app/v1/connect/device",connectTicketIssuer:"https://connect.preview.hunsu.app",connectTicketSigningKeyId:"connect-vd_GiPDTK2lPIDS3Y2dDIEck",connectTicketSigningPublicJwk:Object.freeze({kty:"EC",crv:"P-256",x:"DZDAFyOricZ4dOBOhNrNtAS2X_EdqrE2wQxB23raNcc",y:"qLXw7DinTp-5T0i_MdU9jN15Wpnxu0dXh-Owo5ydL1U"})})});function wn(t){return t==="production"||t==="preview"}function HR(t){return yee[t]}function jh(t){return t==="preview"?"candidate-next":"next"}var uS="hunsu.bridge.config.v1",Hf="hunsu.bridge.config.v2",n4=Object.freeze({schema:Hf,deploymentProfile:"production",host:"127.0.0.1",port:19687,provider:Object.freeze({kind:"unconfigured"}),remote:Object.freeze({enabled:!1})});function Fo(t){let e=Promise.resolve(),r=async()=>{let i=await ii(t.configFile);return i===void 0?o4(n4):eu(t.configFile,i)},n=i=>{let o=e.then(i,i);return e=o.then(()=>{},()=>{}),o};return{async read(){return await e,r()},async write(i){await n(async()=>{await bn(t.configFile,eu(t.configFile,i))})},async update(i){return n(async()=>{let o=eu(t.configFile,i(await r()));return await bn(t.configFile,o),o})},async ensureDeploymentProfile(i){return n(async()=>{let o=await ii(t.configFile);if(o===void 0){if(i!=="production"&&await bee(t))throw Ue(t.configFile,"a populated HUNSU_HOME without an explicit profile is treated as production and cannot switch to preview");let a={...o4(n4),deploymentProfile:i};return await bn(t.configFile,a),a}let s=eu(t.configFile,o);if(s.deploymentProfile!==i)throw Ue(t.configFile,`deploymentProfile is ${s.deploymentProfile} and cannot switch to ${i} in a populated HUNSU_HOME`);return wee(o)&&await bn(t.configFile,s),s})}}}function eu(t,e){if(!dS(e)||e.schema!==Hf&&e.schema!==uS)throw Ue(t,`expected schema ${Hf} or ${uS}`);let r=e.schema===uS?"production":xee(t,e.deploymentProfile);if(typeof e.host!="string"||e.host.trim()==="")throw Ue(t,"host must be a non-empty string");if(!Number.isInteger(e.port)||e.port<0||e.port>65535)throw Ue(t,"port must be an integer from 0 through 65535");if(!dS(e.remote)||typeof e.remote.enabled!="boolean")throw Ue(t,"remote.enabled must be a boolean");let n=See(t,e.provider);return{schema:Hf,deploymentProfile:r,host:e.host.trim(),port:e.port,provider:n,remote:{enabled:e.remote.enabled}}}function xee(t,e){if(!wn(e))throw Ue(t,"deploymentProfile must be production or preview");return e}function See(t,e){if(!dS(e))throw Ue(t,"provider must be configured explicitly");if(e.kind==="unconfigured")return{kind:"unconfigured"};if(e.kind!=="codex")throw Ue(t,"provider.kind must be unconfigured or codex");let r=cS(t,"provider.binaryPath",e.binaryPath),n=cS(t,"provider.home",e.home),i=cS(t,"provider.appServerCommand",e.appServerCommand),o=cS(t,"provider.appServerArgs",e.appServerArgs),s=i4(t,"provider.installChannel",e.installChannel,["stable","latest","manual"]),a=i4(t,"provider.authenticationPreference",e.authenticationPreference,["chatgpt","api_key","device_code"]);return{kind:"codex",...r?{binaryPath:r}:{},...n?{home:n}:{},...i?{appServerCommand:i}:{},...o?{appServerArgs:o}:{},...s?{installChannel:s}:{},...a?{authenticationPreference:a}:{}}}function i4(t,e,r,n){if(r!==void 0){if(typeof r!="string"||!n.includes(r))throw Ue(t,`${e} must be one of ${n.join(", ")} when present`);return r}}function cS(t,e,r){if(r!==void 0){if(typeof r!="string"||r.trim()==="")throw Ue(t,`${e} must be a non-empty string when present`);return r}}function o4(t){return{...t,provider:{...t.provider},remote:{...t.remote}}}async function bee(t){let e=[t.homeOwnershipFile,t.credentialsFile,t.workspacesFile,t.runtimeFile,t.runtimeInstallFile,t.setupTransactionFile];return(await Promise.all(e.map(async n=>{try{return await vee(n),!0}catch(i){if(er(i)&&i.code==="ENOENT")return!1;throw Ue(n,"durable Bridge state could not be inspected safely")}}))).some(Boolean)}function wee(t){return dS(t)&&t.schema===uS}function dS(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}import{chmod as Ree}from"node:fs/promises";import{execFile as Aee}from"node:child_process";import{promisify as Cee}from"node:util";import{randomBytes as Pee}from"node:crypto";import{win32 as Iee}from"node:path";var Eee=new Set(["psmodulepath","winpsmodulepath"]);function lS(t,e){if(/[\u0000-\u001f\u007f]/u.test(t))throw new Error("Windows ACL paths cannot contain control characters.");if(!/^[A-Za-z][A-Za-z0-9]*$/u.test(e))throw new Error("Windows ACL PowerShell variable names must be identifiers.");let r=`$${e}`,n=["$ErrorActionPreference = 'Stop'",`${r} = ${kee(t)}`,"$sid = [System.Security.Principal.WindowsIdentity]::GetCurrent().User","$acl = [System.Security.AccessControl.FileSecurity]::new()","$acl.SetOwner($sid)","$acl.SetAccessRuleProtection($true, $false)","$rule = [System.Security.AccessControl.FileSystemAccessRule]::new($sid, [System.Security.AccessControl.FileSystemRights]::FullControl, [System.Security.AccessControl.AccessControlType]::Allow)","$acl.SetAccessRule($rule)",`[System.IO.File]::SetAccessControl(${r}, $acl)`].join("; ");return{command:"powershell.exe",args:["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",Buffer.from(n,"utf16le").toString("base64")]}}function fS(t){let e=Iee.basename(t).toLowerCase();return e==="powershell"||e==="powershell.exe"}function Ts(t){let e={};for(let[r,n]of Object.entries(t))Eee.has(r.toLowerCase())||n===void 0||(e[r]=n);return e}function kee(t){return`'${t.replace(/'/g,"''")}'`}var Ud="hunsu.bridge.credentials.v2";function ru(t,e={}){let r=e.randomBytes??Pee,n=e.platform??process.platform,i=e.windowsAclHardener??(d=>Tee(d,e.processEnv??{})),o=Promise.resolve(),s=async()=>{let d=await ii(t.credentialsFile);if(d!==void 0)return Dee(t.credentialsFile,d)},a=async()=>(await o,s()),c=d=>{let l=o.then(d,d);return o=l.then(()=>{},()=>{}),l},u=async d=>c(async()=>{let l=await s(),f={schema:Ud,controlToken:qh(t.credentialsFile,"controlToken",d.controlToken??l?.controlToken??UR(r)),connect:d.connect===void 0?l?.connect??null:c4(t.credentialsFile,d.connect)};return await bn(t.credentialsFile,f,{mode:384,...n==="win32"?{prepareTemporaryFile:i}:{}}),f});return{read:a,async ensure(){let d=await a();return d?(n==="win32"?await i(t.credentialsFile):await Ree(t.credentialsFile,384),d):u({})},write:u,rotateControlToken(d={}){return c(async()=>{let l=await s(),f=UR(r);for(let g=0;f===l?.controlToken&&g<8;g+=1)f=UR(r);if(f===l?.controlToken)throw Ue(t.credentialsFile,"a distinct control credential could not be generated");let p={schema:Ud,controlToken:f,connect:l?.connect??null};return await bn(t.credentialsFile,p,{mode:384,...n==="win32"?{prepareTemporaryFile:i}:{},onCommitted:()=>d.onCommitted?.(p)}),p})}}}var _ee=Cee(Aee);async function Tee(t,e){let r=Bee(t);try{await _ee(r.command,r.args,{env:Ts(e),windowsHide:!0})}catch{throw Ue(t,"credentials ACL could not be restricted to the current Windows user")}}function Bee(t){if(/[\u0000-\u001f\u007f]/u.test(t))throw Ue(t,"credentials path cannot contain control characters");return lS(t,"CredentialPath")}function UR(t){return`hunsu_control_${Buffer.from(t(32)).toString("base64url")}`}function Dee(t,e){if(!$R(e)||e.schema!==Ud)throw Ue(t,`expected schema ${Ud}`);return{schema:Ud,controlToken:qh(t,"controlToken",e.controlToken),connect:c4(t,e.connect)}}function c4(t,e){if(e===null)return null;if(!$R(e))throw Ue(t,"connect must be null or a Connect credential");let r={signingPrivateKey:pS(t,"connect.signingPrivateKey",e.signingPrivateKey,!0),signingPublicKey:pS(t,"connect.signingPublicKey",e.signingPublicKey,!1),agreementPrivateKey:pS(t,"connect.agreementPrivateKey",e.agreementPrivateKey,!0),agreementPublicKey:pS(t,"connect.agreementPublicKey",e.agreementPublicKey,!1)};if(e.state==="enrolling")return{...r,state:"enrolling",enrollmentId:tu(t,"connect.enrollmentId",e.enrollmentId),deviceCode:qh(t,"connect.deviceCode",e.deviceCode),userCode:tu(t,"connect.userCode",e.userCode),verificationUri:a4(t,"connect.verificationUri",e.verificationUri),verificationUriComplete:a4(t,"connect.verificationUriComplete",e.verificationUriComplete),interval:Oee(t,"connect.interval",e.interval),expiresAt:s4(t,"connect.expiresAt",e.expiresAt)};if(e.state!=="registered")throw Ue(t,"connect.state must be enrolling or registered");return{...r,state:"registered",deviceId:tu(t,"connect.deviceId",e.deviceId),accountId:tu(t,"connect.accountId",e.accountId),refreshToken:qh(t,"connect.refreshToken",e.refreshToken),accessToken:qh(t,"connect.accessToken",e.accessToken),expiresAt:s4(t,"connect.expiresAt",e.expiresAt),connectWsUrl:Nee(t,"connect.connectWsUrl",e.connectWsUrl)}}function qh(t,e,r){return tu(t,e,r)}function tu(t,e,r){if(typeof r!="string"||r.trim()==="")throw Ue(t,`${e} must be a non-empty string`);return r}function s4(t,e,r){let n=tu(t,e,r);if(!Number.isFinite(Date.parse(n)))throw Ue(t,`${e} must be a valid timestamp`);return n}function Nee(t,e,r){let n=tu(t,e,r),i;try{i=new URL(n)}catch{throw Ue(t,`${e} must be a valid WebSocket URL`)}let o=i.hostname==="localhost"||i.hostname==="127.0.0.1"||i.hostname==="[::1]"||i.hostname==="::1";if(i.protocol!=="wss:"&&!(i.protocol==="ws:"&&o))throw Ue(t,`${e} must use WSS except for loopback fixtures`);if(i.username||i.password||i.search||i.hash)throw Ue(t,`${e} must not contain credentials`);return i.toString()}function a4(t,e,r){let n=tu(t,e,r),i;try{i=new URL(n)}catch{throw Ue(t,`${e} must be a valid URL`)}let o=i.hostname==="localhost"||i.hostname==="127.0.0.1"||i.hostname==="[::1]"||i.hostname==="::1";if(i.protocol!=="https:"&&!(i.protocol==="http:"&&o))throw Ue(t,`${e} must use HTTPS except for loopback fixtures`);if(i.username||i.password||i.hash)throw Ue(t,`${e} must not contain credentials`);return i.toString()}function Oee(t,e,r){if(!Number.isInteger(r)||Number(r)<1||Number(r)>30)throw Ue(t,`${e} must be an integer from 1 through 30`);return Number(r)}function pS(t,e,r,n){if(!$R(r)||r.kty!=="EC"||r.crv!=="P-256"||typeof r.x!="string"||typeof r.y!="string"||n&&typeof r.d!="string"||!n&&r.d!==void 0)throw Ue(t,`${e} must be a ${n?"private":"public"} P-256 JWK`);return{kty:"EC",crv:"P-256",x:r.x,y:r.y,...n?{d:r.d}:{},ext:!0}}function $R(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function u4(t){return{async readEndpointConfig(){let{host:e,port:r}=await Fo(t).read();return{host:e,port:r}},async readCredential(){let e=await ru(t).read();return e?{controlToken:e.controlToken}:void 0}}}import{homedir as Mee}from"node:os";import{posix as d4,win32 as l4}from"node:path";function f4(t={}){let e=t.platform??process.platform,r=e==="win32"?l4:d4,n=t.env??{},i=Wh(t.home)??Wh(n.HUNSU_HOME);if(i)return r.isAbsolute(i)?i:r.resolve(i);let o=Wh(t.userHome)??Mee();if(e==="win32"){let s=Wh(t.localAppData)??Wh(n.LOCALAPPDATA)??r.join(o,"AppData","Local");return r.join(s,"Hunsu","Bridge")}return e==="darwin"?r.join(o,"Library","Application Support","Hunsu","Bridge"):r.join(o,".local","share","hunsu","bridge")}function uo(t={}){let e=f4(t),r=(t.platform??process.platform)==="win32"?l4:d4,n=r.join(e,"logs"),i=r.join(e,"runtime");return{home:e,homeOwnershipFile:r.join(e,".hunsu-bridge-home.json"),configFile:r.join(e,"config.json"),workspacesFile:r.join(e,"workspaces.json"),credentialsFile:r.join(e,"credentials.json"),runtimeFile:r.join(e,"runtime.json"),logsDirectory:n,structuredLogFile:r.join(n,"bridge.jsonl"),runtimeDirectory:i,runtimeStagingDirectory:r.join(i,"staging"),runtimeVersionsDirectory:r.join(i,"versions"),runtimeInstallFile:r.join(i,"install.json"),setupTransactionFile:r.join(i,"setup-transaction.json"),setupLockFile:r.join(i,"setup.lock"),daemonLockFile:r.join(i,"daemon.lock")}}function Wh(t){let e=t?.trim();return e||void 0}var nu="X-Hunsu-Bridge-Control-Token";function mS(t={}){let e=t.paths??uo(t),r=t.fetchImpl??fetch,n=t.timeoutMs??2e3,i=t.stateReader??u4(e),o=async()=>{if(t.endpoint)return Lee(t.endpoint);let s=await i.readEndpointConfig();return Vh(s.host,s.port)};return{endpoint:o,async probe(){return(await FR(r,await o(),n)).probe},async health(){try{return(await FR(r,await o(),n)).health}catch{return}},async request(s,a={}){let c;try{c=await o()}catch(v){return _a(v)}let u=a.timeoutMs??n,d=await FR(r,c,u);if(d.probe.state==="offline")return r4();if(d.probe.state==="foreign-listener")return dr("BRIDGE_PORT_IN_USE","The configured Hunsu Bridge endpoint is in use by another service.");if(d.probe.state==="hunsu-unhealthy")return dr("BRIDGE_CONTROL_UNAVAILABLE",d.probe.status===void 0?"Hunsu Bridge health is unavailable.":`Hunsu Bridge health is unavailable (HTTP ${d.probe.status}).`);let l;try{l=await i.readCredential()}catch(v){return _a(v)}if(!l?.controlToken)return dr("BRIDGE_CONTROL_UNAUTHORIZED","Hunsu Bridge control credentials are missing.");let f;try{f=Hee(s)}catch(v){return _a(v)}let p;try{p=await r(new URL(f,c),{method:a.method??"GET",headers:{[nu]:l.controlToken,...a.body===void 0?{}:{"content-type":"application/json"}},...a.body===void 0?{}:{body:JSON.stringify(a.body)},redirect:"error",signal:AbortSignal.timeout(u)})}catch{return dr("BRIDGE_CONTROL_UNAVAILABLE","Hunsu Bridge was healthy, but the authenticated control request did not complete.")}if(p.status===401||p.status===403)return dr("BRIDGE_CONTROL_UNAUTHORIZED","Hunsu Bridge rejected the local control credential.");let g=await Uee(p);return g||dr("BRIDGE_CONTROL_UNAVAILABLE",`Hunsu Bridge returned an invalid control response (HTTP ${p.status}).`)}}}async function FR(t,e,r){let n;try{n=await t(new URL("/health",e),{method:"GET",redirect:"error",signal:AbortSignal.timeout(r)})}catch{return{probe:{state:"offline"}}}let i=await n.json().catch(()=>{});return n.ok&&i?.ok===!0&&i.service==="hunsu-bridge"&&typeof i.version=="string"&&i.protocolVersion==="local-bridge-v1"&&wn(i.deploymentProfile)?{probe:{state:"hunsu-healthy"},health:i}:i?.service==="hunsu-bridge"?{probe:{state:"hunsu-unhealthy",status:n.status}}:{probe:{state:"foreign-listener"}}}function Vh(t,e){if(!p4(t))throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration must use a loopback host.");return`http://${t.includes(":")&&!t.startsWith("[")?`[${t}]`:t}:${e}`}function Lee(t){let e;try{e=new URL(t)}catch(r){throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration is invalid.",{cause:r})}if(e.protocol!=="http:"&&e.protocol!=="https:")throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration must use HTTP or HTTPS.");if(!p4(e.hostname))throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration must use a loopback host.");if(e.username||e.password)throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration must not contain credentials.");return e.pathname="/",e.search="",e.hash="",e.toString().replace(/\/$/,"")}function p4(t){return t==="localhost"||t==="127.0.0.1"||t==="::1"||t==="[::1]"}function Hee(t){if(!t.startsWith("/v1/control"))throw new Fe("BRIDGE_CONTROL_UNAVAILABLE","The Bridge control client may call only control API routes.");return t}async function Uee(t){if(!(t.headers.get("content-type")??"").toLowerCase().includes("application/json"))return;let r=await t.json().catch(()=>{});if(!(!r||r.schema!==Fh||typeof r.ok!="boolean"||typeof r.code!="string"||typeof r.message!="string"))return r}import{pathToFileURL as KPe}from"node:url";var oi="[redacted]",m4=new Set(["hunsuBridgeToken","hunsuConnectAccessToken","hunsuConnectRefreshToken","hunsuConnectDeviceCode","token","access_token","refresh_token","authorization","controlToken","bridgeControlToken","code","state"].map(t=>t.toLowerCase())),h4=["hunsuBridgeToken","hunsuConnectAccessToken","hunsuConnectRefreshToken","hunsuConnectDeviceCode","access_token","refresh_token","authorization","controlToken","bridgeControlToken","token","code","state"].join("|"),$ee=[h4,"apiKey","accessToken","refreshToken","authToken","bridgeAuthToken","controlToken","bridgeControlToken","OPENAI_API_KEY","CODEX_ACCESS_TOKEN"].join("|"),Fee=/([?&])([^=&#\s"'<>\\]+)=([^&#\s"'<>\\]*)/giu,jee=new RegExp(`((?:%3f|%26)(?:${h4})(?:%3d|=))((?:(?!%26|%23)[^\\s"'<>\\\\])+)`,"giu"),qee=/("(?:[^"\\]*(?:token|secret|api.?key|authorization|credential|auth\.json|password|cookie)[^"\\]*)"\s*:\s*)("(?:\\.|[^"\\])*"|[^,}\]\s]+)/giu,Wee=new RegExp(`(^|[\\s,;])(${$ee})(\\s*=\\s*)(?:Bearer\\s+)?[^\\s,;&]+`,"gimu");function g4(t){return t.replace(Fee,(e,r,n,i)=>{let o=Gee(n);return m4.has(o)?`${r}${n}=${b4(i)}`:e})}function Gh(t){let e=Vee(t);return e!==void 0?e:g4(t).replace(jee,(r,n,i)=>`${n}${b4(i)}`).replace(/sk-[A-Za-z0-9_-]{10,}/gu,oi).replace(/\bhunsu_bridge_[A-Za-z0-9_-]+\b/giu,oi).replace(/\bhunsu_control_[A-Za-z0-9_-]+\b/giu,oi).replace(/(OPENAI_API_KEY|CODEX_ACCESS_TOKEN)(\s*=\s*)(?:"[^"]*"|'[^']*'|\S+)/giu,`$1$2${oi}`).replace(/~\/\.codex\/auth\.json/giu,oi).replace(qee,`$1"${oi}"`).replace(Wee,(r,n,i,o)=>`${n}${i}${o}${oi}`).replace(/(Bearer\s+)(?!\[redacted\])[^\s,"'\\]+/giu,`$1${oi}`)}function Xr(t){return qR(t,new WeakSet)}function Bs(t){y4(t,new WeakSet)}function qR(t,e){if(typeof t=="string")return Gh(t);if(Array.isArray(t)){if(e.has(t))return"[circular]";e.add(t);let n=t.map((i,o)=>S4(t[o-1])?oi:qR(i,e));return e.delete(t),n}if(typeof t!="object"||t===null)return t;if(t instanceof Date)return t.toISOString();if(e.has(t))return"[circular]";e.add(t);let r={};for(let[n,i]of Object.entries(t))r[n]=x4(n,i)?oi:qR(i,e);return e.delete(t),r}function y4(t,e){if(typeof t=="string"){if(Gh(t)!==t)throw jR();return}if(!(typeof t!="object"||t===null||t instanceof Date)&&!e.has(t)){e.add(t);for(let[r,[n,i]]of Object.entries(t).entries()){if(Array.isArray(t)&&S4(t[r-1])&&i!==oi||x4(n,i)&&i!==oi)throw jR();y4(i,e)}e.delete(t)}}function Vee(t){let e=t.trim();if(!(!(e.startsWith("{")&&e.endsWith("}"))&&!(e.startsWith("[")&&e.endsWith("]"))))try{let r=JSON.parse(e);if(typeof r!="object"||r===null)return;let n=Xr(r);return JSON.stringify(r)===JSON.stringify(n)?void 0:JSON.stringify(n)}catch{return}}function Gee(t){let e=t.replace(/^amp;/iu,"");try{return decodeURIComponent(e.replace(/\+/gu," ")).toLowerCase()}catch{return e.toLowerCase()}}function v4(t){return/token|secret|api.?key|authorization|credential|auth\.json|password|cookie/iu.test(t)}function x4(t,e){return!(t==="credentialsPresent"&&typeof e=="boolean")&&v4(t)}function S4(t){if(typeof t!="string"||!/^--?[^=]+$/u.test(t))return!1;let e=t.replace(/^--?/u,"").replace(/[-_]/gu,"");return v4(e)||m4.has(e.toLowerCase())}function b4(t){return zee(t)?t:oi}function zee(t){if(t.toLowerCase()===oi)return!0;try{return decodeURIComponent(t).toLowerCase()===oi}catch{return!1}}function jR(){return new Error("Diagnostics contain sensitive data.")}import{randomBytes as SCe}from"node:crypto";import{mkdir as bCe}from"node:fs/promises";import{isAbsolute as wCe,resolve as ICe}from"node:path";import{homedir as Kee}from"node:os";import{join as Jee,resolve as E4}from"node:path";var hS="127.0.0.1";var Xee="https://hunsu.app/studio",WR={bridgeApi:{name:"bridgeApi",defaultHost:hS,hostEnv:["HUNSU_BRIDGE_HOST","HOST"],defaultPort:19687,portEnv:["HUNSU_BRIDGE_PORT","PORT"],reserved:!1,allowPortZero:!0},studioWeb:{name:"studioWeb",defaultHost:hS,hostEnv:["HUNSU_WEB_HOST"],defaultPort:19688,portEnv:["HUNSU_WEB_PORT"],reserved:!1,allowPortZero:!1},agentPreview:{name:"agentPreview",defaultHost:hS,hostEnv:["HUNSU_AGENT_PREVIEW_HOST"],defaultPort:19673,portEnv:["HUNSU_AGENT_PREVIEW_PORT"],reserved:!0,allowPortZero:!1}};var Yee=["read-only","workspace-write","danger-full-access"],Qee=["never","on-request","on-failure","untrusted"],Zee=["user","auto_review"],ete=["deterministic"];function In(t){return{ok:!0,value:t}}function Ta(t){return{ok:!1,error:t}}function Ba(t,e){return t.ok?In(e(t.value)):t}function jo(t,e){return t.ok?e(t.value):t}function Uf(t){if(t.ok)return t.value;throw new Error(t.error.message)}function tte(t,e={}){let r=VR(WR.bridgeApi,t,e.overrides?.bridgeApi);if(!r.ok)return r;let n=VR(WR.studioWeb,t,e.overrides?.studioWeb);if(!n.ok)return n;let i=VR(WR.agentPreview,t,e.overrides?.agentPreview);return i.ok?In({bridgeApi:r.value,studioWeb:n.value,agentPreview:i.value}):i}function rte(t,e){return jo(tte(t,e),r=>ite(r,e.activePortNames))}function k4(t){return Ba(ote(t,"HUNSU_WEB_URL",Xee),e=>({webUrl:e}))}function Rr(){return process.env}function nte(t){return Ba(rte(t,{activePortNames:["bridgeApi"]}),e=>({bridgeApi:e.bridgeApi}))}function yS(t,e={}){let r=A4(e.processEnv??t);return jo(nte(t),({bridgeApi:n})=>jo(fte(e.roadmapRegistryPath,t,"HUNSU_ROADMAP_REGISTRY_PATH",Jee(e.homeDir??Kee(),".config","hunsu","roadmaps.json"),e.cwd),i=>jo(zR(e.routeWorktreeRoot,t,"HUNSU_ROUTE_WORKTREE_ROOT",void 0,e.cwd),o=>jo(zR(e.actionWorktreeRoot,t,"HUNSU_ACTION_WORKTREE_ROOT",void 0,e.cwd),s=>jo(gS(t,"HUNSU_BRIDGE_TEST_RUNNER",ete),a=>jo(zh(t,e.codexAppServer),c=>Ba(ste(t,e.codexThreadOptions),u=>({bridgeApi:n,processEnv:r,roadmapRegistryPath:i,routeWorktreeRoot:o,actionWorktreeRoot:s,testRunner:a,codexAppServer:c,codexThreadOptions:u}))))))))}function ite(t,e){for(let r=0;r<e.length;r+=1){let n=t[e[r]];if(n.port!==0)for(let i=r+1;i<e.length;i+=1){let o=t[e[i]];if(!(o.port!==n.port||o.port===0)&>e(n.host,o.host))return Ta({code:"port_conflict",message:`Hunsu port conflict: ${n.name} and ${o.name} both use ${n.host}:${n.port}.`,port:n.port})}}return In(t)}function vS(t){return`http://${t.host}:${t.port}`}function ote(t,e,r){let n=t[e];return lte(n===void 0||n.trim()===""?r:n,e)}function zh(t,e={}){let r=e.command??KR(t,["HUNSU_CODEX_APP_SERVER_COMMAND"])?.value??"codex";return r.trim()===""?Ta({code:"missing_required_env",env:"HUNSU_CODEX_APP_SERVER_COMMAND",message:"Invalid HUNSU_CODEX_APP_SERVER_COMMAND: expected a non-empty command."}):Ba(pte(t,e.args),n=>({command:r,args:n,environment:A4(e.environment??t)}))}function ste(t,e={}){return jo(gS(t,"HUNSU_CODEX_SANDBOX_MODE",Yee),r=>jo(gS(t,"HUNSU_CODEX_APPROVAL_POLICY",Qee),n=>jo(gS(t,"HUNSU_CODEX_APPROVALS_REVIEWER",Zee),i=>jo(ute(t,"HUNSU_CODEX_NETWORK_ACCESS"),o=>Ba(hte(t,"HUNSU_CODEX_ADDITIONAL_DIRECTORIES"),s=>({...r===void 0?{}:{sandboxMode:r},...n===void 0?{}:{approvalPolicy:n},...i===void 0?{}:{approvalsReviewer:i},...o===void 0?{}:{networkAccessEnabled:o},...s.length===0?{}:{additionalDirectories:s},...e}))))))}function VR(t,e,r){let n=r?.host!==void 0?{value:r.host,source:"override",env:void 0}:KR(e,t.hostEnv)??{value:t.defaultHost,source:"default",env:void 0},i=r?.port!==void 0?Ba(R4(r.port,t,void 0),o=>({value:o,source:"override",env:void 0})):ate(e,t);return Ba(i,o=>({name:t.name,host:n.value,hostSource:n.source,hostEnv:n.env,port:o.value,portSource:o.source,portEnv:o.env,reserved:t.reserved}))}function ate(t,e){let r=KR(t,e.portEnv);return r?Ba(R4(r.value,e,r.env),n=>({value:n,source:"env",env:r.env})):In({value:e.defaultPort,source:"default"})}function R4(t,e,r){let n=typeof t=="number"?t:Number(t),i=e.allowPortZero?0:1;return!Number.isInteger(n)||n<i||n>65535?Ta({code:"invalid_port",env:r,portName:e.name,message:r?`Invalid ${r}: ${t}. Expected an integer port from ${i} to 65535.`:`Invalid ${e.name} port: ${t}. Expected an integer port from ${i} to 65535.`}):In(n)}function cte(t,e){return/^(1|true|yes|on)$/i.test(e)?In(!0):/^(0|false|no|off)$/i.test(e)?In(!1):Ta({code:"invalid_boolean",env:t,message:`Invalid ${t}: ${e}. Expected true, false, 1, 0, yes, no, on, or off.`})}function ute(t,e){let r=t[e];return r===void 0||r.trim()===""?In(void 0):cte(e,r)}function dte(t,e,r){return r.includes(e)?In(e):Ta({code:"invalid_enum",env:t,value:e,allowed:r,message:`Invalid ${t}: ${e}. Expected one of: ${r.join(", ")}.`})}function gS(t,e,r){let n=t[e];return n===void 0||n.trim()===""?In(void 0):dte(e,n,r)}function lte(t,e){try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:")throw new Error("Unsupported protocol");return In(r.toString().replace(/\/$/,""))}catch{return Ta({code:"invalid_url",env:e,value:t,message:e?`Invalid ${e}: ${t}. Expected an http or https URL.`:`Invalid URL: ${t}. Expected an http or https URL.`})}}function zR(t,e,r,n,i){if(t!==void 0)return GR(t,void 0,i);let o=e[r];return o!==void 0&&o.trim()!==""?GR(o,r,i):n===void 0?In(void 0):GR(n,void 0,i)}function fte(t,e,r,n,i){return Ba(zR(t,e,r,n,i),o=>o??E4(i??".",n))}function GR(t,e,r="."){return t.trim()===""||t.includes("\0")?Ta({code:"invalid_path",env:e,path:t,message:e?`Invalid ${e}: expected a non-empty filesystem path.`:"Invalid filesystem path: expected a non-empty path."}):In(E4(r,t))}function pte(t,e){if(e!==void 0)return In([...e]);let r=t.HUNSU_CODEX_APP_SERVER_ARGS;return r===void 0||r.trim()===""?In(["app-server","--stdio"]):r.trim().startsWith("[")?mte("HUNSU_CODEX_APP_SERVER_ARGS",r):In(r.split(/\s+/).filter(Boolean))}function mte(t,e){try{let r=JSON.parse(e);if(Array.isArray(r)&&r.every(n=>typeof n=="string"))return In(r)}catch{return Ta({code:"invalid_json",env:t,value:e,message:`Invalid ${t}: expected a JSON string array.`})}return Ta({code:"invalid_json",env:t,value:e,message:`Invalid ${t}: expected a JSON string array.`})}function hte(t,e){let r=t[e];return In(r===void 0||r.trim()===""?[]:r.split(",").map(n=>n.trim()).filter(Boolean))}function A4(t){let e={};for(let[r,n]of Object.entries(t))n!==void 0&&(e[r]=n);return e}function KR(t,e){for(let r of e){let n=t[r];if(n!==void 0&&n.trim()!=="")return{value:n,source:"env",env:r}}}function gte(t,e){let r=w4(t),n=w4(e);return r===n||I4(r)||I4(n)}function w4(t){let e=t.trim().toLowerCase();return e==="localhost"?hS:e}function I4(t){return t==="0.0.0.0"||t==="::"||t==="[::]"}import{execFile as pce,spawn as mce}from"node:child_process";import{existsSync as Yt,mkdirSync as xo,mkdtempSync as hce,readFileSync as Vs,readdirSync as Qg,realpathSync as gce,renameSync as yce,rmSync as Zg,statSync as Cu,writeFileSync as Yo}from"node:fs";import{createHash as ci,randomBytes as vce,timingSafeEqual as xce}from"node:crypto";import{homedir as qs,tmpdir as Xb}from"node:os";import{basename as Qo,dirname as Ai,isAbsolute as Kg,join as at,normalize as jC,relative as qC,resolve as Xn}from"node:path";import{fileURLToPath as Sce}from"node:url";import{promisify as bce}from"node:util";function S(t){return{ok:!0,value:t}}function oe(t){return{ok:!1,error:t}}function Ie(t,e="text"){return typeof t!="string"||t.trim()===""?Ff(e,`${e} must be a non-empty string`):S(t)}function xS(t){return po(t,"title")}function SS(t){return po(t,"goal")}function C4(t,e="title"){return po(t,e)}function P4(t,e="acceptanceCriterion"){return po(t,e)}function _4(t,e="constraint"){return po(t,e)}function T4(t,e="notes"){return po(t,e)}function qo(t,e="summary"){return po(t,e)}function B4(t,e="evidence"){return po(t,e)}function Wo(t,e="failureReason"){return po(t,e)}function D4(t,e="risk"){return po(t,e)}function $d(t,e="commit"){return po(t,e)}function cn(t,e="teamName"){return po(t,e)}function Da(t,e="number"){return!Number.isInteger(t)||Number(t)<1?Ff(e,`${e} must be a positive integer`):S(t)}function N4(t,e="number"){return!Number.isInteger(t)||Number(t)<0?Ff(e,`${e} must be a non-negative integer`):S(t)}function lo(t,e="array"){return t.length===0?Ff(e,`${e} must include at least one item`):S(t)}function $f(t,e="array"){return t.length!==1?Ff(e,`${e} must include exactly one item`):S(t)}function Vi(t,e){let r=Ie(t,e);return r.ok?/\s/.test(r.value)?Ff(e,`${e} must not contain whitespace`):S(r.value):r}function Gi(t){return Vi(t,"requestId")}function fo(t){return Vi(t,"destinationId")}function _n(t){return Vi(t,"moveId")}function Vo(t){return Vi(t,"hunsuId")}function Kh(t){return Vi(t,"hunsuDraftId")}function fr(t){return Vi(t,"lineId")}function Yr(t){return Vi(t,"nodeId")}function O4(t){return Vi(t,"artifactId")}function M4(t){return Vi(t,"artifactActionId")}function iu(t){return Vi(t,"skillDraftId")}function Jh(t){return Vi(t,"agentConversationHash")}function L4(t){return Vi(t,"executeId")}function Fd(t){return Vi(t,"worktreeHash")}function Ff(t,e){return oe({type:"PrimitiveValidationError",field:t,message:e})}function po(t,e){let r=Ie(t,e);return r.ok?S(r.value):r}var pr=class extends Error{constructor(e){super(e),this.name="DomainInvariantError"}};function Ee(t){return oe({type:"DomainWorkflowError",message:t})}function Xh(t){return{type:"DomainWorkflowError",message:t instanceof Error?t.message:String(t)}}function Zt(t){if(t.ok)return t.value;throw new pr(t.error.message)}function yte(t){return{kind:"direct",provider:{providerId:"codex",model:JR(t.model??"codex-default"),reasoningEffort:t.reasoningEffort??"default",serviceTier:t.serviceTier??"default",experimental:!0}}}function XR(t){let e=t.model??vte(t.modelSelection),r=t.reasoningEffort??xte(t.modelSelection),n=t.serviceTier??Ste(t.modelSelection);return{...t,model:e,reasoningEffort:r,serviceTier:n,modelSelection:t.modelSelection??yte({model:e,reasoningEffort:r,serviceTier:n})}}function H4(t){return t.kind==="direct"?t.provider:void 0}function vte(t){return t?.kind==="direct"?JR(t.provider.model):JR("codex-default")}function xte(t){return t?.kind==="direct"?t.provider.reasoningEffort??"default":"default"}function Ste(t){return t?.kind==="direct"?t.provider.serviceTier??"default":"default"}function JR(t){return Zt(Ie(t,"modelSelection.provider.model"))}var bS=["default","minimal","low","medium","high","xhigh"],wS=["default","fast"],U4=["TEAM","DIRECTOR","SYSTEM"],$4=["input","output","context","artifact","final_evidence"],F4=["warn","block"],j4=["majority","unanimous","weighted","coordinator_decides"],q4=["pending","claimed","in_progress","reached","blocked","superseded","canceled"],W4=["initial-execute-team","initial-request","hunsu"],V4=["active","paused","complete","failed","abandoned"],G4=["arrived","accident"],z4=["draft","ready","confirmed","discarded"],K4=["draft","accepted","discarded"],J4=["transcript","command-output","test-log","screenshot","diff-summary","note"],X4=["host","check"],Y4=["move","commit","move-or-commit"];var IS="hunsu-template-v1";function jf(t){return{engine:IS,template:t}}function jd(t,e){if(typeof t!="object"||t===null||Array.isArray(t))return Ee(`${e} must be an object`);let r=t,n=new Set(["engine","template"]),i=Object.keys(r).filter(o=>!n.has(o));return i.length>0?Ee(`${e} has unsupported field: ${i[0]}`):"engine"in r?"template"in r?r.engine!==IS?Ee(`${e}.engine must be ${IS}`):typeof r.template!="string"?Ee(`${e}.template must be a string`):S({engine:IS,template:r.template}):Ee(`${e}.template is required`):Ee(`${e}.engine is required`)}function Q4(t,e){let r=jd(t,e);if(!r.ok)throw new pr(r.error.message)}function Yh(t,e){return Q4(t,"promptTemplate"),t.template.replace(/\{\{\s*([A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[[0-9]+\])*)\s*\}\}/g,(r,n)=>{let i=bte(e,n);if(i==null)throw new pr(`Prompt template value is unavailable: ${n}`);return Z4(i)})}function bte(t,e){let r=e.match(/[A-Za-z_$][\w$]*|\[[0-9]+\]/g);if(!r||r.join("").replace(/\]\[/g,"][")==="")return;let n=t;for(let i of r){if(i.startsWith("[")){let o=Number(i.slice(1,-1));if(!Array.isArray(n))return;n=n[o];continue}if(typeof n!="object"||n===null)return;n=n[i]}return n}function Z4(t){return typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):Array.isArray(t)?t.map(Z4).join(`
|
|
139
|
-
`):typeof t=="object"&&t!==null?JSON.stringify(t):""}var kS="Create a closure-free ExecutionPlan using the available Members.",
|
|
138
|
+
`,"utf8"),await s.sync(),await s.chmod(i),await s.close(),s=void 0,await r.prepareTemporaryFile?.(o),await dee(o,t),r.onCommitted?.()}catch(a){throw new _s(t,`Unable to persist Bridge state file: ${$h(t)}.`,{cause:a})}finally{await s?.close().catch(()=>{}),await lee(o).catch(a=>{if(!er(a)||a.code!=="ENOENT")throw a})}}function Ue(t,e){return new _s(t,`Bridge state file is invalid (${$h(t)}): ${e}`)}function er(t){return t instanceof Error&&"code"in t}var Fh="hunsu.bridge.cli-result.v1",hee="Start Hunsu Bridge with `hunsu-bridge service start`.",Fe=class extends Error{code;recovery;cause;constructor(e,r,n={}){super(r),this.name="BridgeError",this.code=e,this.recovery=n.recovery,this.cause=n.cause}};function lr(t,e,r="OK"){return{schema:Fh,ok:!0,code:r,message:t,...e===void 0?{}:{value:e}}}function dr(t,e,r){return{schema:Fh,ok:!1,code:t,message:e,...r?{recovery:r}:{}}}function r3(){return dr("BRIDGE_NOT_RUNNING",hee)}function _a(t){return t instanceof Fe?dr(t.code,t.message,t.recovery):t instanceof _s?dr(t.code,t.message):dr("BRIDGE_CONTROL_UNAVAILABLE","Hunsu Bridge command failed unexpectedly.")}import{access as vee}from"node:fs/promises";var gee=["production","preview"],yee=Object.freeze({production:Object.freeze({webUrl:"https://hunsu.app/studio",connectApiUrl:"https://connect.hunsu.app",connectWsUrl:"wss://connect.hunsu.app/v1/connect/device",connectTicketIssuer:"https://connect.hunsu.app",connectTicketSigningKeyId:"connect-Ea21pgXVRp5WfId1kXKSeyea",connectTicketSigningPublicJwk:Object.freeze({kty:"EC",crv:"P-256",x:"SekGyUfv_HqJlJ35q9uE4cUzM7jWW6V6B7k4_HGy6ck",y:"zY0W0qv5kHQKxF6aynjmy0kGv1XodPwF4MX4yvTW_C8"})}),preview:Object.freeze({webUrl:"https://preview.hunsu.app/studio",connectApiUrl:"https://connect.preview.hunsu.app",connectWsUrl:"wss://connect.preview.hunsu.app/v1/connect/device",connectTicketIssuer:"https://connect.preview.hunsu.app",connectTicketSigningKeyId:"connect-vd_GiPDTK2lPIDS3Y2dDIEck",connectTicketSigningPublicJwk:Object.freeze({kty:"EC",crv:"P-256",x:"DZDAFyOricZ4dOBOhNrNtAS2X_EdqrE2wQxB23raNcc",y:"qLXw7DinTp-5T0i_MdU9jN15Wpnxu0dXh-Owo5ydL1U"})})});function wn(t){return t==="production"||t==="preview"}function HR(t){return yee[t]}function jh(t){return t==="preview"?"candidate-next":"next"}var uS="hunsu.bridge.config.v1",Hf="hunsu.bridge.config.v2",n3=Object.freeze({schema:Hf,deploymentProfile:"production",host:"127.0.0.1",port:19687,provider:Object.freeze({kind:"unconfigured"}),remote:Object.freeze({enabled:!1})});function Fo(t){let e=Promise.resolve(),r=async()=>{let i=await ii(t.configFile);return i===void 0?o3(n3):eu(t.configFile,i)},n=i=>{let o=e.then(i,i);return e=o.then(()=>{},()=>{}),o};return{async read(){return await e,r()},async write(i){await n(async()=>{await bn(t.configFile,eu(t.configFile,i))})},async update(i){return n(async()=>{let o=eu(t.configFile,i(await r()));return await bn(t.configFile,o),o})},async ensureDeploymentProfile(i){return n(async()=>{let o=await ii(t.configFile);if(o===void 0){if(i!=="production"&&await bee(t))throw Ue(t.configFile,"a populated HUNSU_HOME without an explicit profile is treated as production and cannot switch to preview");let a={...o3(n3),deploymentProfile:i};return await bn(t.configFile,a),a}let s=eu(t.configFile,o);if(s.deploymentProfile!==i)throw Ue(t.configFile,`deploymentProfile is ${s.deploymentProfile} and cannot switch to ${i} in a populated HUNSU_HOME`);return wee(o)&&await bn(t.configFile,s),s})}}}function eu(t,e){if(!dS(e)||e.schema!==Hf&&e.schema!==uS)throw Ue(t,`expected schema ${Hf} or ${uS}`);let r=e.schema===uS?"production":xee(t,e.deploymentProfile);if(typeof e.host!="string"||e.host.trim()==="")throw Ue(t,"host must be a non-empty string");if(!Number.isInteger(e.port)||e.port<0||e.port>65535)throw Ue(t,"port must be an integer from 0 through 65535");if(!dS(e.remote)||typeof e.remote.enabled!="boolean")throw Ue(t,"remote.enabled must be a boolean");let n=See(t,e.provider);return{schema:Hf,deploymentProfile:r,host:e.host.trim(),port:e.port,provider:n,remote:{enabled:e.remote.enabled}}}function xee(t,e){if(!wn(e))throw Ue(t,"deploymentProfile must be production or preview");return e}function See(t,e){if(!dS(e))throw Ue(t,"provider must be configured explicitly");if(e.kind==="unconfigured")return{kind:"unconfigured"};if(e.kind!=="codex")throw Ue(t,"provider.kind must be unconfigured or codex");let r=cS(t,"provider.binaryPath",e.binaryPath),n=cS(t,"provider.home",e.home),i=cS(t,"provider.appServerCommand",e.appServerCommand),o=cS(t,"provider.appServerArgs",e.appServerArgs),s=i3(t,"provider.installChannel",e.installChannel,["stable","latest","manual"]),a=i3(t,"provider.authenticationPreference",e.authenticationPreference,["chatgpt","api_key","device_code"]);return{kind:"codex",...r?{binaryPath:r}:{},...n?{home:n}:{},...i?{appServerCommand:i}:{},...o?{appServerArgs:o}:{},...s?{installChannel:s}:{},...a?{authenticationPreference:a}:{}}}function i3(t,e,r,n){if(r!==void 0){if(typeof r!="string"||!n.includes(r))throw Ue(t,`${e} must be one of ${n.join(", ")} when present`);return r}}function cS(t,e,r){if(r!==void 0){if(typeof r!="string"||r.trim()==="")throw Ue(t,`${e} must be a non-empty string when present`);return r}}function o3(t){return{...t,provider:{...t.provider},remote:{...t.remote}}}async function bee(t){let e=[t.homeOwnershipFile,t.credentialsFile,t.workspacesFile,t.runtimeFile,t.runtimeInstallFile,t.setupTransactionFile];return(await Promise.all(e.map(async n=>{try{return await vee(n),!0}catch(i){if(er(i)&&i.code==="ENOENT")return!1;throw Ue(n,"durable Bridge state could not be inspected safely")}}))).some(Boolean)}function wee(t){return dS(t)&&t.schema===uS}function dS(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}import{chmod as Ree}from"node:fs/promises";import{execFile as Aee}from"node:child_process";import{promisify as Cee}from"node:util";import{randomBytes as Pee}from"node:crypto";import{win32 as Iee}from"node:path";var Eee=new Set(["psmodulepath","winpsmodulepath"]);function lS(t,e){if(/[\u0000-\u001f\u007f]/u.test(t))throw new Error("Windows ACL paths cannot contain control characters.");if(!/^[A-Za-z][A-Za-z0-9]*$/u.test(e))throw new Error("Windows ACL PowerShell variable names must be identifiers.");let r=`$${e}`,n=["$ErrorActionPreference = 'Stop'",`${r} = ${kee(t)}`,"$sid = [System.Security.Principal.WindowsIdentity]::GetCurrent().User","$acl = [System.Security.AccessControl.FileSecurity]::new()","$acl.SetOwner($sid)","$acl.SetAccessRuleProtection($true, $false)","$rule = [System.Security.AccessControl.FileSystemAccessRule]::new($sid, [System.Security.AccessControl.FileSystemRights]::FullControl, [System.Security.AccessControl.AccessControlType]::Allow)","$acl.SetAccessRule($rule)",`[System.IO.File]::SetAccessControl(${r}, $acl)`].join("; ");return{command:"powershell.exe",args:["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",Buffer.from(n,"utf16le").toString("base64")]}}function fS(t){let e=Iee.basename(t).toLowerCase();return e==="powershell"||e==="powershell.exe"}function Ts(t){let e={};for(let[r,n]of Object.entries(t))Eee.has(r.toLowerCase())||n===void 0||(e[r]=n);return e}function kee(t){return`'${t.replace(/'/g,"''")}'`}var Ud="hunsu.bridge.credentials.v2";function ru(t,e={}){let r=e.randomBytes??Pee,n=e.platform??process.platform,i=e.windowsAclHardener??(d=>Tee(d,e.processEnv??{})),o=Promise.resolve(),s=async()=>{let d=await ii(t.credentialsFile);if(d!==void 0)return Dee(t.credentialsFile,d)},a=async()=>(await o,s()),c=d=>{let l=o.then(d,d);return o=l.then(()=>{},()=>{}),l},u=async d=>c(async()=>{let l=await s(),f={schema:Ud,controlToken:qh(t.credentialsFile,"controlToken",d.controlToken??l?.controlToken??UR(r)),connect:d.connect===void 0?l?.connect??null:c3(t.credentialsFile,d.connect)};return await bn(t.credentialsFile,f,{mode:384,...n==="win32"?{prepareTemporaryFile:i}:{}}),f});return{read:a,async ensure(){let d=await a();return d?(n==="win32"?await i(t.credentialsFile):await Ree(t.credentialsFile,384),d):u({})},write:u,rotateControlToken(d={}){return c(async()=>{let l=await s(),f=UR(r);for(let g=0;f===l?.controlToken&&g<8;g+=1)f=UR(r);if(f===l?.controlToken)throw Ue(t.credentialsFile,"a distinct control credential could not be generated");let p={schema:Ud,controlToken:f,connect:l?.connect??null};return await bn(t.credentialsFile,p,{mode:384,...n==="win32"?{prepareTemporaryFile:i}:{},onCommitted:()=>d.onCommitted?.(p)}),p})}}}var _ee=Cee(Aee);async function Tee(t,e){let r=Bee(t);try{await _ee(r.command,r.args,{env:Ts(e),windowsHide:!0})}catch{throw Ue(t,"credentials ACL could not be restricted to the current Windows user")}}function Bee(t){if(/[\u0000-\u001f\u007f]/u.test(t))throw Ue(t,"credentials path cannot contain control characters");return lS(t,"CredentialPath")}function UR(t){return`hunsu_control_${Buffer.from(t(32)).toString("base64url")}`}function Dee(t,e){if(!$R(e)||e.schema!==Ud)throw Ue(t,`expected schema ${Ud}`);return{schema:Ud,controlToken:qh(t,"controlToken",e.controlToken),connect:c3(t,e.connect)}}function c3(t,e){if(e===null)return null;if(!$R(e))throw Ue(t,"connect must be null or a Connect credential");let r={signingPrivateKey:pS(t,"connect.signingPrivateKey",e.signingPrivateKey,!0),signingPublicKey:pS(t,"connect.signingPublicKey",e.signingPublicKey,!1),agreementPrivateKey:pS(t,"connect.agreementPrivateKey",e.agreementPrivateKey,!0),agreementPublicKey:pS(t,"connect.agreementPublicKey",e.agreementPublicKey,!1)};if(e.state==="enrolling")return{...r,state:"enrolling",enrollmentId:tu(t,"connect.enrollmentId",e.enrollmentId),deviceCode:qh(t,"connect.deviceCode",e.deviceCode),userCode:tu(t,"connect.userCode",e.userCode),verificationUri:a3(t,"connect.verificationUri",e.verificationUri),verificationUriComplete:a3(t,"connect.verificationUriComplete",e.verificationUriComplete),interval:Oee(t,"connect.interval",e.interval),expiresAt:s3(t,"connect.expiresAt",e.expiresAt)};if(e.state!=="registered")throw Ue(t,"connect.state must be enrolling or registered");return{...r,state:"registered",deviceId:tu(t,"connect.deviceId",e.deviceId),accountId:tu(t,"connect.accountId",e.accountId),refreshToken:qh(t,"connect.refreshToken",e.refreshToken),accessToken:qh(t,"connect.accessToken",e.accessToken),expiresAt:s3(t,"connect.expiresAt",e.expiresAt),connectWsUrl:Nee(t,"connect.connectWsUrl",e.connectWsUrl)}}function qh(t,e,r){return tu(t,e,r)}function tu(t,e,r){if(typeof r!="string"||r.trim()==="")throw Ue(t,`${e} must be a non-empty string`);return r}function s3(t,e,r){let n=tu(t,e,r);if(!Number.isFinite(Date.parse(n)))throw Ue(t,`${e} must be a valid timestamp`);return n}function Nee(t,e,r){let n=tu(t,e,r),i;try{i=new URL(n)}catch{throw Ue(t,`${e} must be a valid WebSocket URL`)}let o=i.hostname==="localhost"||i.hostname==="127.0.0.1"||i.hostname==="[::1]"||i.hostname==="::1";if(i.protocol!=="wss:"&&!(i.protocol==="ws:"&&o))throw Ue(t,`${e} must use WSS except for loopback fixtures`);if(i.username||i.password||i.search||i.hash)throw Ue(t,`${e} must not contain credentials`);return i.toString()}function a3(t,e,r){let n=tu(t,e,r),i;try{i=new URL(n)}catch{throw Ue(t,`${e} must be a valid URL`)}let o=i.hostname==="localhost"||i.hostname==="127.0.0.1"||i.hostname==="[::1]"||i.hostname==="::1";if(i.protocol!=="https:"&&!(i.protocol==="http:"&&o))throw Ue(t,`${e} must use HTTPS except for loopback fixtures`);if(i.username||i.password||i.hash)throw Ue(t,`${e} must not contain credentials`);return i.toString()}function Oee(t,e,r){if(!Number.isInteger(r)||Number(r)<1||Number(r)>30)throw Ue(t,`${e} must be an integer from 1 through 30`);return Number(r)}function pS(t,e,r,n){if(!$R(r)||r.kty!=="EC"||r.crv!=="P-256"||typeof r.x!="string"||typeof r.y!="string"||n&&typeof r.d!="string"||!n&&r.d!==void 0)throw Ue(t,`${e} must be a ${n?"private":"public"} P-256 JWK`);return{kty:"EC",crv:"P-256",x:r.x,y:r.y,...n?{d:r.d}:{},ext:!0}}function $R(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function u3(t){return{async readEndpointConfig(){let{host:e,port:r}=await Fo(t).read();return{host:e,port:r}},async readCredential(){let e=await ru(t).read();return e?{controlToken:e.controlToken}:void 0}}}import{homedir as Mee}from"node:os";import{posix as d3,win32 as l3}from"node:path";function f3(t={}){let e=t.platform??process.platform,r=e==="win32"?l3:d3,n=t.env??{},i=Wh(t.home)??Wh(n.HUNSU_HOME);if(i)return r.isAbsolute(i)?i:r.resolve(i);let o=Wh(t.userHome)??Mee();if(e==="win32"){let s=Wh(t.localAppData)??Wh(n.LOCALAPPDATA)??r.join(o,"AppData","Local");return r.join(s,"Hunsu","Bridge")}return e==="darwin"?r.join(o,"Library","Application Support","Hunsu","Bridge"):r.join(o,".local","share","hunsu","bridge")}function uo(t={}){let e=f3(t),r=(t.platform??process.platform)==="win32"?l3:d3,n=r.join(e,"logs"),i=r.join(e,"runtime");return{home:e,homeOwnershipFile:r.join(e,".hunsu-bridge-home.json"),configFile:r.join(e,"config.json"),workspacesFile:r.join(e,"workspaces.json"),credentialsFile:r.join(e,"credentials.json"),runtimeFile:r.join(e,"runtime.json"),logsDirectory:n,structuredLogFile:r.join(n,"bridge.jsonl"),runtimeDirectory:i,runtimeStagingDirectory:r.join(i,"staging"),runtimeVersionsDirectory:r.join(i,"versions"),runtimeInstallFile:r.join(i,"install.json"),setupTransactionFile:r.join(i,"setup-transaction.json"),setupLockFile:r.join(i,"setup.lock"),daemonLockFile:r.join(i,"daemon.lock")}}function Wh(t){let e=t?.trim();return e||void 0}var nu="X-Hunsu-Bridge-Control-Token";function mS(t={}){let e=t.paths??uo(t),r=t.fetchImpl??fetch,n=t.timeoutMs??2e3,i=t.stateReader??u3(e),o=async()=>{if(t.endpoint)return Lee(t.endpoint);let s=await i.readEndpointConfig();return Vh(s.host,s.port)};return{endpoint:o,async probe(){return(await FR(r,await o(),n)).probe},async health(){try{return(await FR(r,await o(),n)).health}catch{return}},async request(s,a={}){let c;try{c=await o()}catch(v){return _a(v)}let u=a.timeoutMs??n,d=await FR(r,c,u);if(d.probe.state==="offline")return r3();if(d.probe.state==="foreign-listener")return dr("BRIDGE_PORT_IN_USE","The configured Hunsu Bridge endpoint is in use by another service.");if(d.probe.state==="hunsu-unhealthy")return dr("BRIDGE_CONTROL_UNAVAILABLE",d.probe.status===void 0?"Hunsu Bridge health is unavailable.":`Hunsu Bridge health is unavailable (HTTP ${d.probe.status}).`);let l;try{l=await i.readCredential()}catch(v){return _a(v)}if(!l?.controlToken)return dr("BRIDGE_CONTROL_UNAUTHORIZED","Hunsu Bridge control credentials are missing.");let f;try{f=Hee(s)}catch(v){return _a(v)}let p;try{p=await r(new URL(f,c),{method:a.method??"GET",headers:{[nu]:l.controlToken,...a.body===void 0?{}:{"content-type":"application/json"}},...a.body===void 0?{}:{body:JSON.stringify(a.body)},redirect:"error",signal:AbortSignal.timeout(u)})}catch{return dr("BRIDGE_CONTROL_UNAVAILABLE","Hunsu Bridge was healthy, but the authenticated control request did not complete.")}if(p.status===401||p.status===403)return dr("BRIDGE_CONTROL_UNAUTHORIZED","Hunsu Bridge rejected the local control credential.");let g=await Uee(p);return g||dr("BRIDGE_CONTROL_UNAVAILABLE",`Hunsu Bridge returned an invalid control response (HTTP ${p.status}).`)}}}async function FR(t,e,r){let n;try{n=await t(new URL("/health",e),{method:"GET",redirect:"error",signal:AbortSignal.timeout(r)})}catch{return{probe:{state:"offline"}}}let i=await n.json().catch(()=>{});return n.ok&&i?.ok===!0&&i.service==="hunsu-bridge"&&typeof i.version=="string"&&i.protocolVersion==="local-bridge-v1"&&wn(i.deploymentProfile)?{probe:{state:"hunsu-healthy"},health:i}:i?.service==="hunsu-bridge"?{probe:{state:"hunsu-unhealthy",status:n.status}}:{probe:{state:"foreign-listener"}}}function Vh(t,e){if(!p3(t))throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration must use a loopback host.");return`http://${t.includes(":")&&!t.startsWith("[")?`[${t}]`:t}:${e}`}function Lee(t){let e;try{e=new URL(t)}catch(r){throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration is invalid.",{cause:r})}if(e.protocol!=="http:"&&e.protocol!=="https:")throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration must use HTTP or HTTPS.");if(!p3(e.hostname))throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration must use a loopback host.");if(e.username||e.password)throw new Fe("BRIDGE_STATE_INVALID","Bridge control endpoint configuration must not contain credentials.");return e.pathname="/",e.search="",e.hash="",e.toString().replace(/\/$/,"")}function p3(t){return t==="localhost"||t==="127.0.0.1"||t==="::1"||t==="[::1]"}function Hee(t){if(!t.startsWith("/v1/control"))throw new Fe("BRIDGE_CONTROL_UNAVAILABLE","The Bridge control client may call only control API routes.");return t}async function Uee(t){if(!(t.headers.get("content-type")??"").toLowerCase().includes("application/json"))return;let r=await t.json().catch(()=>{});if(!(!r||r.schema!==Fh||typeof r.ok!="boolean"||typeof r.code!="string"||typeof r.message!="string"))return r}import{pathToFileURL as KPe}from"node:url";var oi="[redacted]",m3=new Set(["hunsuBridgeToken","hunsuConnectAccessToken","hunsuConnectRefreshToken","hunsuConnectDeviceCode","token","access_token","refresh_token","authorization","controlToken","bridgeControlToken","code","state"].map(t=>t.toLowerCase())),h3=["hunsuBridgeToken","hunsuConnectAccessToken","hunsuConnectRefreshToken","hunsuConnectDeviceCode","access_token","refresh_token","authorization","controlToken","bridgeControlToken","token","code","state"].join("|"),$ee=[h3,"apiKey","accessToken","refreshToken","authToken","bridgeAuthToken","controlToken","bridgeControlToken","OPENAI_API_KEY","CODEX_ACCESS_TOKEN"].join("|"),Fee=/([?&])([^=&#\s"'<>\\]+)=([^&#\s"'<>\\]*)/giu,jee=new RegExp(`((?:%3f|%26)(?:${h3})(?:%3d|=))((?:(?!%26|%23)[^\\s"'<>\\\\])+)`,"giu"),qee=/("(?:[^"\\]*(?:token|secret|api.?key|authorization|credential|auth\.json|password|cookie)[^"\\]*)"\s*:\s*)("(?:\\.|[^"\\])*"|[^,}\]\s]+)/giu,Wee=new RegExp(`(^|[\\s,;])(${$ee})(\\s*=\\s*)(?:Bearer\\s+)?[^\\s,;&]+`,"gimu");function g3(t){return t.replace(Fee,(e,r,n,i)=>{let o=Gee(n);return m3.has(o)?`${r}${n}=${b3(i)}`:e})}function Gh(t){let e=Vee(t);return e!==void 0?e:g3(t).replace(jee,(r,n,i)=>`${n}${b3(i)}`).replace(/sk-[A-Za-z0-9_-]{10,}/gu,oi).replace(/\bhunsu_bridge_[A-Za-z0-9_-]+\b/giu,oi).replace(/\bhunsu_control_[A-Za-z0-9_-]+\b/giu,oi).replace(/(OPENAI_API_KEY|CODEX_ACCESS_TOKEN)(\s*=\s*)(?:"[^"]*"|'[^']*'|\S+)/giu,`$1$2${oi}`).replace(/~\/\.codex\/auth\.json/giu,oi).replace(qee,`$1"${oi}"`).replace(Wee,(r,n,i,o)=>`${n}${i}${o}${oi}`).replace(/(Bearer\s+)(?!\[redacted\])[^\s,"'\\]+/giu,`$1${oi}`)}function Xr(t){return qR(t,new WeakSet)}function Bs(t){y3(t,new WeakSet)}function qR(t,e){if(typeof t=="string")return Gh(t);if(Array.isArray(t)){if(e.has(t))return"[circular]";e.add(t);let n=t.map((i,o)=>S3(t[o-1])?oi:qR(i,e));return e.delete(t),n}if(typeof t!="object"||t===null)return t;if(t instanceof Date)return t.toISOString();if(e.has(t))return"[circular]";e.add(t);let r={};for(let[n,i]of Object.entries(t))r[n]=x3(n,i)?oi:qR(i,e);return e.delete(t),r}function y3(t,e){if(typeof t=="string"){if(Gh(t)!==t)throw jR();return}if(!(typeof t!="object"||t===null||t instanceof Date)&&!e.has(t)){e.add(t);for(let[r,[n,i]]of Object.entries(t).entries()){if(Array.isArray(t)&&S3(t[r-1])&&i!==oi||x3(n,i)&&i!==oi)throw jR();y3(i,e)}e.delete(t)}}function Vee(t){let e=t.trim();if(!(!(e.startsWith("{")&&e.endsWith("}"))&&!(e.startsWith("[")&&e.endsWith("]"))))try{let r=JSON.parse(e);if(typeof r!="object"||r===null)return;let n=Xr(r);return JSON.stringify(r)===JSON.stringify(n)?void 0:JSON.stringify(n)}catch{return}}function Gee(t){let e=t.replace(/^amp;/iu,"");try{return decodeURIComponent(e.replace(/\+/gu," ")).toLowerCase()}catch{return e.toLowerCase()}}function v3(t){return/token|secret|api.?key|authorization|credential|auth\.json|password|cookie/iu.test(t)}function x3(t,e){return!(t==="credentialsPresent"&&typeof e=="boolean")&&v3(t)}function S3(t){if(typeof t!="string"||!/^--?[^=]+$/u.test(t))return!1;let e=t.replace(/^--?/u,"").replace(/[-_]/gu,"");return v3(e)||m3.has(e.toLowerCase())}function b3(t){return zee(t)?t:oi}function zee(t){if(t.toLowerCase()===oi)return!0;try{return decodeURIComponent(t).toLowerCase()===oi}catch{return!1}}function jR(){return new Error("Diagnostics contain sensitive data.")}import{randomBytes as SCe}from"node:crypto";import{mkdir as bCe}from"node:fs/promises";import{isAbsolute as wCe,resolve as ICe}from"node:path";import{homedir as Kee}from"node:os";import{join as Jee,resolve as E3}from"node:path";var hS="127.0.0.1";var Xee="https://hunsu.app/studio",WR={bridgeApi:{name:"bridgeApi",defaultHost:hS,hostEnv:["HUNSU_BRIDGE_HOST","HOST"],defaultPort:19687,portEnv:["HUNSU_BRIDGE_PORT","PORT"],reserved:!1,allowPortZero:!0},studioWeb:{name:"studioWeb",defaultHost:hS,hostEnv:["HUNSU_WEB_HOST"],defaultPort:19688,portEnv:["HUNSU_WEB_PORT"],reserved:!1,allowPortZero:!1},agentPreview:{name:"agentPreview",defaultHost:hS,hostEnv:["HUNSU_AGENT_PREVIEW_HOST"],defaultPort:19673,portEnv:["HUNSU_AGENT_PREVIEW_PORT"],reserved:!0,allowPortZero:!1}};var Yee=["read-only","workspace-write","danger-full-access"],Qee=["never","on-request","on-failure","untrusted"],Zee=["user","auto_review"],ete=["deterministic"];function In(t){return{ok:!0,value:t}}function Ta(t){return{ok:!1,error:t}}function Ba(t,e){return t.ok?In(e(t.value)):t}function jo(t,e){return t.ok?e(t.value):t}function Uf(t){if(t.ok)return t.value;throw new Error(t.error.message)}function tte(t,e={}){let r=VR(WR.bridgeApi,t,e.overrides?.bridgeApi);if(!r.ok)return r;let n=VR(WR.studioWeb,t,e.overrides?.studioWeb);if(!n.ok)return n;let i=VR(WR.agentPreview,t,e.overrides?.agentPreview);return i.ok?In({bridgeApi:r.value,studioWeb:n.value,agentPreview:i.value}):i}function rte(t,e){return jo(tte(t,e),r=>ite(r,e.activePortNames))}function k3(t){return Ba(ote(t,"HUNSU_WEB_URL",Xee),e=>({webUrl:e}))}function Rr(){return process.env}function nte(t){return Ba(rte(t,{activePortNames:["bridgeApi"]}),e=>({bridgeApi:e.bridgeApi}))}function yS(t,e={}){let r=A3(e.processEnv??t);return jo(nte(t),({bridgeApi:n})=>jo(fte(e.roadmapRegistryPath,t,"HUNSU_ROADMAP_REGISTRY_PATH",Jee(e.homeDir??Kee(),".config","hunsu","roadmaps.json"),e.cwd),i=>jo(zR(e.routeWorktreeRoot,t,"HUNSU_ROUTE_WORKTREE_ROOT",void 0,e.cwd),o=>jo(zR(e.actionWorktreeRoot,t,"HUNSU_ACTION_WORKTREE_ROOT",void 0,e.cwd),s=>jo(gS(t,"HUNSU_BRIDGE_TEST_RUNNER",ete),a=>jo(zh(t,e.codexAppServer),c=>Ba(ste(t,e.codexThreadOptions),u=>({bridgeApi:n,processEnv:r,roadmapRegistryPath:i,routeWorktreeRoot:o,actionWorktreeRoot:s,testRunner:a,codexAppServer:c,codexThreadOptions:u}))))))))}function ite(t,e){for(let r=0;r<e.length;r+=1){let n=t[e[r]];if(n.port!==0)for(let i=r+1;i<e.length;i+=1){let o=t[e[i]];if(!(o.port!==n.port||o.port===0)&>e(n.host,o.host))return Ta({code:"port_conflict",message:`Hunsu port conflict: ${n.name} and ${o.name} both use ${n.host}:${n.port}.`,port:n.port})}}return In(t)}function vS(t){return`http://${t.host}:${t.port}`}function ote(t,e,r){let n=t[e];return lte(n===void 0||n.trim()===""?r:n,e)}function zh(t,e={}){let r=e.command??KR(t,["HUNSU_CODEX_APP_SERVER_COMMAND"])?.value??"codex";return r.trim()===""?Ta({code:"missing_required_env",env:"HUNSU_CODEX_APP_SERVER_COMMAND",message:"Invalid HUNSU_CODEX_APP_SERVER_COMMAND: expected a non-empty command."}):Ba(pte(t,e.args),n=>({command:r,args:n,environment:A3(e.environment??t)}))}function ste(t,e={}){return jo(gS(t,"HUNSU_CODEX_SANDBOX_MODE",Yee),r=>jo(gS(t,"HUNSU_CODEX_APPROVAL_POLICY",Qee),n=>jo(gS(t,"HUNSU_CODEX_APPROVALS_REVIEWER",Zee),i=>jo(ute(t,"HUNSU_CODEX_NETWORK_ACCESS"),o=>Ba(hte(t,"HUNSU_CODEX_ADDITIONAL_DIRECTORIES"),s=>({...r===void 0?{}:{sandboxMode:r},...n===void 0?{}:{approvalPolicy:n},...i===void 0?{}:{approvalsReviewer:i},...o===void 0?{}:{networkAccessEnabled:o},...s.length===0?{}:{additionalDirectories:s},...e}))))))}function VR(t,e,r){let n=r?.host!==void 0?{value:r.host,source:"override",env:void 0}:KR(e,t.hostEnv)??{value:t.defaultHost,source:"default",env:void 0},i=r?.port!==void 0?Ba(R3(r.port,t,void 0),o=>({value:o,source:"override",env:void 0})):ate(e,t);return Ba(i,o=>({name:t.name,host:n.value,hostSource:n.source,hostEnv:n.env,port:o.value,portSource:o.source,portEnv:o.env,reserved:t.reserved}))}function ate(t,e){let r=KR(t,e.portEnv);return r?Ba(R3(r.value,e,r.env),n=>({value:n,source:"env",env:r.env})):In({value:e.defaultPort,source:"default"})}function R3(t,e,r){let n=typeof t=="number"?t:Number(t),i=e.allowPortZero?0:1;return!Number.isInteger(n)||n<i||n>65535?Ta({code:"invalid_port",env:r,portName:e.name,message:r?`Invalid ${r}: ${t}. Expected an integer port from ${i} to 65535.`:`Invalid ${e.name} port: ${t}. Expected an integer port from ${i} to 65535.`}):In(n)}function cte(t,e){return/^(1|true|yes|on)$/i.test(e)?In(!0):/^(0|false|no|off)$/i.test(e)?In(!1):Ta({code:"invalid_boolean",env:t,message:`Invalid ${t}: ${e}. Expected true, false, 1, 0, yes, no, on, or off.`})}function ute(t,e){let r=t[e];return r===void 0||r.trim()===""?In(void 0):cte(e,r)}function dte(t,e,r){return r.includes(e)?In(e):Ta({code:"invalid_enum",env:t,value:e,allowed:r,message:`Invalid ${t}: ${e}. Expected one of: ${r.join(", ")}.`})}function gS(t,e,r){let n=t[e];return n===void 0||n.trim()===""?In(void 0):dte(e,n,r)}function lte(t,e){try{let r=new URL(t);if(r.protocol!=="http:"&&r.protocol!=="https:")throw new Error("Unsupported protocol");return In(r.toString().replace(/\/$/,""))}catch{return Ta({code:"invalid_url",env:e,value:t,message:e?`Invalid ${e}: ${t}. Expected an http or https URL.`:`Invalid URL: ${t}. Expected an http or https URL.`})}}function zR(t,e,r,n,i){if(t!==void 0)return GR(t,void 0,i);let o=e[r];return o!==void 0&&o.trim()!==""?GR(o,r,i):n===void 0?In(void 0):GR(n,void 0,i)}function fte(t,e,r,n,i){return Ba(zR(t,e,r,n,i),o=>o??E3(i??".",n))}function GR(t,e,r="."){return t.trim()===""||t.includes("\0")?Ta({code:"invalid_path",env:e,path:t,message:e?`Invalid ${e}: expected a non-empty filesystem path.`:"Invalid filesystem path: expected a non-empty path."}):In(E3(r,t))}function pte(t,e){if(e!==void 0)return In([...e]);let r=t.HUNSU_CODEX_APP_SERVER_ARGS;return r===void 0||r.trim()===""?In(["app-server","--stdio"]):r.trim().startsWith("[")?mte("HUNSU_CODEX_APP_SERVER_ARGS",r):In(r.split(/\s+/).filter(Boolean))}function mte(t,e){try{let r=JSON.parse(e);if(Array.isArray(r)&&r.every(n=>typeof n=="string"))return In(r)}catch{return Ta({code:"invalid_json",env:t,value:e,message:`Invalid ${t}: expected a JSON string array.`})}return Ta({code:"invalid_json",env:t,value:e,message:`Invalid ${t}: expected a JSON string array.`})}function hte(t,e){let r=t[e];return In(r===void 0||r.trim()===""?[]:r.split(",").map(n=>n.trim()).filter(Boolean))}function A3(t){let e={};for(let[r,n]of Object.entries(t))n!==void 0&&(e[r]=n);return e}function KR(t,e){for(let r of e){let n=t[r];if(n!==void 0&&n.trim()!=="")return{value:n,source:"env",env:r}}}function gte(t,e){let r=w3(t),n=w3(e);return r===n||I3(r)||I3(n)}function w3(t){let e=t.trim().toLowerCase();return e==="localhost"?hS:e}function I3(t){return t==="0.0.0.0"||t==="::"||t==="[::]"}import{execFile as pce,spawn as mce}from"node:child_process";import{existsSync as Yt,mkdirSync as xo,mkdtempSync as hce,readFileSync as Vs,readdirSync as Qg,realpathSync as gce,renameSync as yce,rmSync as Zg,statSync as Cu,writeFileSync as Yo}from"node:fs";import{createHash as ci,randomBytes as vce,timingSafeEqual as xce}from"node:crypto";import{homedir as qs,tmpdir as Xb}from"node:os";import{basename as Qo,dirname as Ai,isAbsolute as Kg,join as at,normalize as jC,relative as qC,resolve as Xn}from"node:path";import{fileURLToPath as Sce}from"node:url";import{promisify as bce}from"node:util";function S(t){return{ok:!0,value:t}}function oe(t){return{ok:!1,error:t}}function Ie(t,e="text"){return typeof t!="string"||t.trim()===""?Ff(e,`${e} must be a non-empty string`):S(t)}function xS(t){return po(t,"title")}function SS(t){return po(t,"goal")}function C3(t,e="title"){return po(t,e)}function P3(t,e="acceptanceCriterion"){return po(t,e)}function _3(t,e="constraint"){return po(t,e)}function T3(t,e="notes"){return po(t,e)}function qo(t,e="summary"){return po(t,e)}function B3(t,e="evidence"){return po(t,e)}function Wo(t,e="failureReason"){return po(t,e)}function D3(t,e="risk"){return po(t,e)}function $d(t,e="commit"){return po(t,e)}function cn(t,e="teamName"){return po(t,e)}function Da(t,e="number"){return!Number.isInteger(t)||Number(t)<1?Ff(e,`${e} must be a positive integer`):S(t)}function N3(t,e="number"){return!Number.isInteger(t)||Number(t)<0?Ff(e,`${e} must be a non-negative integer`):S(t)}function lo(t,e="array"){return t.length===0?Ff(e,`${e} must include at least one item`):S(t)}function $f(t,e="array"){return t.length!==1?Ff(e,`${e} must include exactly one item`):S(t)}function Vi(t,e){let r=Ie(t,e);return r.ok?/\s/.test(r.value)?Ff(e,`${e} must not contain whitespace`):S(r.value):r}function Gi(t){return Vi(t,"requestId")}function fo(t){return Vi(t,"destinationId")}function _n(t){return Vi(t,"moveId")}function Vo(t){return Vi(t,"hunsuId")}function Kh(t){return Vi(t,"hunsuDraftId")}function fr(t){return Vi(t,"lineId")}function Yr(t){return Vi(t,"nodeId")}function O3(t){return Vi(t,"artifactId")}function M3(t){return Vi(t,"artifactActionId")}function iu(t){return Vi(t,"skillDraftId")}function Jh(t){return Vi(t,"agentConversationHash")}function L3(t){return Vi(t,"executeId")}function Fd(t){return Vi(t,"worktreeHash")}function Ff(t,e){return oe({type:"PrimitiveValidationError",field:t,message:e})}function po(t,e){let r=Ie(t,e);return r.ok?S(r.value):r}var pr=class extends Error{constructor(e){super(e),this.name="DomainInvariantError"}};function Ee(t){return oe({type:"DomainWorkflowError",message:t})}function Xh(t){return{type:"DomainWorkflowError",message:t instanceof Error?t.message:String(t)}}function Zt(t){if(t.ok)return t.value;throw new pr(t.error.message)}function yte(t){return{kind:"direct",provider:{providerId:"codex",model:JR(t.model??"codex-default"),reasoningEffort:t.reasoningEffort??"default",serviceTier:t.serviceTier??"default",experimental:!0}}}function XR(t){let e=t.model??vte(t.modelSelection),r=t.reasoningEffort??xte(t.modelSelection),n=t.serviceTier??Ste(t.modelSelection);return{...t,model:e,reasoningEffort:r,serviceTier:n,modelSelection:t.modelSelection??yte({model:e,reasoningEffort:r,serviceTier:n})}}function H3(t){return t.kind==="direct"?t.provider:void 0}function vte(t){return t?.kind==="direct"?JR(t.provider.model):JR("codex-default")}function xte(t){return t?.kind==="direct"?t.provider.reasoningEffort??"default":"default"}function Ste(t){return t?.kind==="direct"?t.provider.serviceTier??"default":"default"}function JR(t){return Zt(Ie(t,"modelSelection.provider.model"))}var bS=["default","minimal","low","medium","high","xhigh"],wS=["default","fast"],U3=["TEAM","DIRECTOR","SYSTEM"],$3=["input","output","context","artifact","final_evidence"],F3=["warn","block"],j3=["majority","unanimous","weighted","coordinator_decides"],q3=["pending","claimed","in_progress","reached","blocked","superseded","canceled"],W3=["initial-execute-team","initial-request","hunsu"],V3=["active","paused","complete","failed","abandoned"],G3=["arrived","accident"],z3=["draft","ready","confirmed","discarded"],K3=["draft","accepted","discarded"],J3=["transcript","command-output","test-log","screenshot","diff-summary","note"],X3=["host","check"],Y3=["move","commit","move-or-commit"];var IS="hunsu-template-v1";function jf(t){return{engine:IS,template:t}}function jd(t,e){if(typeof t!="object"||t===null||Array.isArray(t))return Ee(`${e} must be an object`);let r=t,n=new Set(["engine","template"]),i=Object.keys(r).filter(o=>!n.has(o));return i.length>0?Ee(`${e} has unsupported field: ${i[0]}`):"engine"in r?"template"in r?r.engine!==IS?Ee(`${e}.engine must be ${IS}`):typeof r.template!="string"?Ee(`${e}.template must be a string`):S({engine:IS,template:r.template}):Ee(`${e}.template is required`):Ee(`${e}.engine is required`)}function Q3(t,e){let r=jd(t,e);if(!r.ok)throw new pr(r.error.message)}function Yh(t,e){return Q3(t,"promptTemplate"),t.template.replace(/\{\{\s*([A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[[0-9]+\])*)\s*\}\}/g,(r,n)=>{let i=bte(e,n);if(i==null)throw new pr(`Prompt template value is unavailable: ${n}`);return Z3(i)})}function bte(t,e){let r=e.match(/[A-Za-z_$][\w$]*|\[[0-9]+\]/g);if(!r||r.join("").replace(/\]\[/g,"][")==="")return;let n=t;for(let i of r){if(i.startsWith("[")){let o=Number(i.slice(1,-1));if(!Array.isArray(n))return;n=n[o];continue}if(typeof n!="object"||n===null)return;n=n[i]}return n}function Z3(t){return typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):Array.isArray(t)?t.map(Z3).join(`
|
|
139
|
+
`):typeof t=="object"&&t!==null?JSON.stringify(t):""}var kS="Create a closure-free ExecutionPlan using the available Members.",e4=["Discuss HUNSU changes conversationally and edit only decoded request files under .hunsu-request when a file-backed draft change is needed.","Help the user refine divergent Hunsu changes while preserving the current Execute result as the source of truth."].join(" "),QR={kind:"read_only",network:"disabled"},ZR={policy:"never"},wte=["read_only","worktree_write","unrestricted"],Ite=["disabled","enabled"],Ete=["never","on_request"],kte=["user","auto_review"],Rte="root-team";function Qh(t){return Cte(t)}function qd(t,e="Harness"){let r=Ur(t,e);if(!r.ok)return r;if(typeof r.value.rootTeamId!="string"||r.value.rootTeamId.trim()==="")return Ve(`${e}.rootTeamId must be a non-empty string`);if(!Array.isArray(r.value.executors))return Ve(`${e}.executors must be an array`);if(!Array.isArray(r.value.resources))return Ve(`${e}.resources must be an array`);let n=new Set;for(let[u,d]of r.value.executors.entries()){let l=jte(d,`${e}.executors[${u}]`);if(!l.ok)return l;let f=String(d.id);if(n.has(f))return Ve(`${e}.executors must not include duplicate Executor ${f}`);n.add(f)}if(!r.value.executors.find(u=>{let d=u;return d.id===r.value.rootTeamId&&d.kind==="team"}))return Ve(`${e}.rootTeamId must reference a Team Executor`);let o=new Map,s=new Map;for(let u of r.value.executors){let d=u,l=String(d.id),f=d.kind==="team"?"team":"member";o.set(l,f),f==="team"&&s.set(l,(d.members??[]).map(p=>String(p.executorId)))}for(let[u,d]of r.value.executors.entries()){let l=d;if(l.kind!=="team")continue;let f=l.members;for(let[p,g]of f.entries()){let v=String(g.executorId),b=o.get(v);if(!b)return Ve(`${e}.executors[${u}].members[${p}].executorId references unknown Executor ${g.executorId}`);if(g.visibleProfile.kind!==b)return Ve(`${e}.executors[${u}].members[${p}].visibleProfile.kind must match Executor ${v} kind ${b}`)}}let a=Ate(s);if(a)return Ve(`${e}.executors must not contain cyclic Team Memberships: ${a.join(" -> ")}`);for(let[u,d]of r.value.resources.entries()){let l=Jte(d,`${e}.resources[${u}]`);if(!l.ok)return l}let c=a1(r.value.guardrails,`${e}.guardrails`);return c.ok?Array.isArray(r.value.artifactActions)?S(mo(r.value)):Ve(`${e}.artifactActions must be an array`):c}function Ate(t){let e=new Set,r=new Set,n=[],i=o=>{if(e.has(o)){let s=n.indexOf(o);return[...n.slice(s),o]}if(!r.has(o)){e.add(o),n.push(o);for(let s of t.get(o)??[]){if(!t.has(s))continue;let a=i(s);if(a)return a}n.pop(),e.delete(o),r.add(o)}};for(let o of t.keys()){let s=i(o);if(s)return s}}function e1(t,e="Member"){let r=Ur(t,e);if(!r.ok)return r;let n=a4(r.value,e);return n.ok?S(_S(r.value)):n}function Zh(t,e="Manager"){let r=Ur(t,e);if(!r.ok)return r;let n=Fte(r.value,e);return n.ok?S(Zte(r.value)):n}function Cte(t){let e=Ur(t,"Harness");if(!e.ok)return e;let r=Hte(e.value);switch(r.kind){case"team_execution_plan":return ES({...r,kind:"team_execution_plan"},"team_execution_plan","maxAttemptCount");case"role_squad":return ES(r,"role_squad","maxRoundCount");case"council_vote":return Qte(Ii("council_vote.voteRule",r.voteRule,j3),()=>ES(r,"council_vote","maxRoundCount"));case"court_debate":return ES(r,"court_debate","maxRoundCount");default:return Ve(`Unsupported Harness kind: ${String(r.kind)}`)}}function t1(t){return t.kind==="team_execution_plan"}function RS(t){return t1(t)?S(t):oe({type:"DomainWorkflowError",message:`Harness ${t.kind} is not executable yet`})}function Vn(t="",e=[]){return{kind:"team_execution_plan",maxAttemptCount:Zt(Da(5,"team_execution_plan.maxAttemptCount")),team:{promptTemplate:jf(t||kS)},members:[wi("azir","Plan briefly, then implement the focused goal in this repository.",e),wi("galio","Verify the completed work against the focused goal with concrete evidence.",[])]}}function wi(t,e="",r=[],n=QR,i=ZR,o=[]){return{id:Zt(Ie(t,"executorId")),promptTemplate:jf(e),skills:TS(r),plugins:DS(o),model:Zt(Ie("codex-default","member.model")),reasoningEffort:"default",serviceTier:"default",execution:eg(n),approval:tg(i)}}function qf(t="manager.hunsu.default",e=e4,r=[],n=[],i){return{id:Zt(Ie(t,"manager.id")),promptTemplate:jf(e),skills:TS(r),plugins:DS(n),...i?{modelSelection:JSON.parse(JSON.stringify(i))}:{}}}function Ei(t){let e=JSON.parse(JSON.stringify(t));return{...e,guardrails:e.guardrails?.map(r=>({...r})),members:e.members.map(_S)}}function t4(t){let e=JSON.parse(JSON.stringify(t));return{...e,team:{promptTemplate:{...e.team.promptTemplate}},guardrails:e.guardrails?.map(r=>({...r}))}}function r4(t){let e=Ei(t),{members:r,...n}=e;return t4(n)}function Ds(t,e=Rte){let r=Pte(e,"rootTeamId"),n=r4(t),i=t.members.map(_S),o=i.map(s=>({executorId:s.id,visibleProfile:Bte(s)}));return{rootTeamId:r,executors:[{kind:"team",id:r,planner:{promptTemplate:{...n.team.promptTemplate},maxAttemptCount:"maxAttemptCount"in n?n.maxAttemptCount:void 0,guardrails:n.guardrails?.map(s=>({...s}))},members:o},...i.map(Tte)],resources:Ote(i),guardrails:n.guardrails?.map(s=>({...s}))??[],artifactActions:[]}}function Wd(t,e=t.rootTeamId){let r=n4(t,e);if(!r)throw new pr(`Harness does not define Team ${e}`);let n=r.members.map(o=>Dte(t,o));return{kind:"team_execution_plan",maxAttemptCount:r.planner.maxAttemptCount??Zt(Da(5,"team.maxAttemptCount")),guardrails:r.planner.guardrails?.map(o=>({...o})),team:{promptTemplate:{...r.planner.promptTemplate}},members:n}}function ou(t){return Wd(t,t.rootTeamId)}function mo(t){return{rootTeamId:t.rootTeamId,executors:t.executors.map(n1),resources:t.resources.map(Lte),guardrails:t.guardrails.map(e=>({...e})),artifactActions:JSON.parse(JSON.stringify(t.artifactActions))}}function AS(t,e){let r=t.executors.find(n=>n.id===e);return r?n1(r):void 0}function n4(t,e){let r=t.executors.find(n=>n.id===e&&n.kind==="team");return r?n1(r):void 0}function r1(t,e){let r=t.executors.find(n=>n.id===e&&n.kind==="member");return r?o4(r):void 0}function CS(t){let e=XR(t.runtimePolicy);return{id:t.id,promptTemplate:{...t.promptTemplate},skills:t.resources.filter(r=>r.kind==="skill").map(r=>BS(r.skill)),plugins:t.resources.filter(r=>r.kind==="plugin").map(r=>({...r.plugin})),...t.runtimePolicy.modelSelection?{modelSelection:e.modelSelection}:{},model:e.model,reasoningEffort:e.reasoningEffort,serviceTier:e.serviceTier,execution:eg(e.execution),approval:tg(e.approval)}}function Wf(t,e){return t.members.find(r=>r.id===e)?_S(t.members.find(r=>r.id===e)):void 0}function Pte(t,e){return Zt(Ie(t,e))}function _te(t){return{...t.modelSelection?{modelSelection:t.modelSelection}:{},model:t.model,reasoningEffort:t.reasoningEffort,serviceTier:t.serviceTier,execution:eg(t.execution),approval:tg(t.approval)}}function i4(t){return[...t.skills.map(e=>({kind:"skill",skill:BS(e)})),...(t.plugins??[]).map(e=>({kind:"plugin",plugin:{...e}}))]}function Tte(t){return{kind:"member",id:t.id,promptTemplate:{...t.promptTemplate},resources:i4(t),runtimePolicy:_te(t)}}function Bte(t){return{kind:"member",label:t.id,summary:Zt(Ie(t.promptTemplate.template||`Member ${t.id}`,"visibleProfile.summary")),capabilities:t.skills.map(e=>e.name)}}function Dte(t,e){let r=t.executors.find(n=>n.id===e.executorId);if(!r)throw new pr(`Team Membership references unknown Executor ${e.executorId}`);return r.kind==="member"?CS(r):wi(r.id,Nte(e.visibleProfile),[],QR,ZR,[])}function Nte(t){let e=t.capabilities?.length?`
|
|
140
140
|
Capabilities:
|
|
141
141
|
${t.capabilities.map(r=>`- ${r}`).join(`
|
|
142
142
|
`)}`:"";return[t.kind==="team"?"Composite Team Executor.":"Member Executor.",t.label?`Label: ${t.label}`:void 0,t.summary?`Summary: ${t.summary}`:void 0,e||void 0].filter(Boolean).join(`
|
|
143
|
-
`)}function Ote(t){let e=[],r=new Set;for(let n of t)for(let i of i3(n)){let o=Mte(n.id,i);r.has(o)||(r.add(o),e.push({id:o,binding:i}))}return e}function Mte(t,e){return e.kind==="skill"?`resource.${t}.skill.${e.skill.name}`:e.kind==="plugin"?`resource.${t}.plugin.${e.plugin.id}`:`resource.${t}.package.${e.lock.kind}.${e.lock.key}.${e.lock.version}`}function n1(t){return t.kind==="member"?{...o3(t),packageLock:t.packageLock?{...t.packageLock}:void 0}:{...t,planner:{promptTemplate:{...t.planner.promptTemplate},maxAttemptCount:t.planner.maxAttemptCount,guardrails:t.planner.guardrails?.map(e=>({...e}))},members:t.members.map(e=>({executorId:e.executorId,visibleProfile:{...e.visibleProfile,capabilities:e.visibleProfile.capabilities?[...e.visibleProfile.capabilities]:void 0}})),packageLock:t.packageLock?{...t.packageLock}:void 0}}function o3(t){let e=XR(t.runtimePolicy);return{kind:"member",id:t.id,promptTemplate:{...t.promptTemplate},resources:t.resources.map(s3),runtimePolicy:{...t.runtimePolicy.modelSelection?{modelSelection:e.modelSelection}:{},model:e.model,reasoningEffort:e.reasoningEffort,serviceTier:e.serviceTier,execution:eg(e.execution),approval:tg(e.approval)}}}function s3(t){return t.kind==="skill"?{kind:"skill",skill:BS(t.skill)}:t.kind==="plugin"?{kind:"plugin",plugin:{...t.plugin}}:{kind:"package",lock:{...t.lock}}}function Lte(t){return{id:t.id,binding:s3(t.binding),packageLock:t.packageLock?{...t.packageLock}:void 0}}function ES(t,e,r){for(let n of[l3(t[r],`${e}.${r}`),a1(t.guardrails,`${e}.guardrails`),Ute(t.team,`${e}.team`),$te(t.members,`${e}.members`,!0)])if(!n.ok)return n;return S(Ei(t))}function Hte(t){return t.kind==="team_execution_plan"?{...t,kind:"team_execution_plan"}:t}function i1(t,e){let r=Ur(t,e);if(!r.ok)return r;if(r.value.kind!=="local-snapshot"&&r.value.kind!=="local-root-installed"&&r.value.kind!=="registry-package"&&r.value.kind!=="skillMeta")return Ve(`${e}.kind must be local-snapshot, local-root-installed, registry-package, or skillMeta`);if(typeof r.value.name!="string"||r.value.name.trim()==="")return Ve(`${e}.name must be a non-empty string`);if(r.value.kind==="skillMeta"){let n=Xte(r.value,["agent","kind","name","source"],e);return n.ok?typeof r.value.source!="string"||r.value.source.trim()===""?Ve(`${e}.source must be a non-empty string`):r.value.agent!=="codex"?Ve(`${e}.agent must be codex`):S(void 0):n}if(r.value.kind==="local-root-installed")return r.value.sourcePath!==void 0&&(typeof r.value.sourcePath!="string"||r.value.sourcePath.trim()==="")?Ve(`${e}.sourcePath must be a non-empty string when provided`):S(void 0);if(r.value.kind==="local-snapshot"){for(let n of["sourcePath","contentHash","snapshotRef"])if(typeof r.value[n]!="string"||r.value[n].trim()==="")return Ve(`${e}.${n} must be a non-empty string`);if(r.value.snapshotFiles!==void 0){if(!Array.isArray(r.value.snapshotFiles))return Ve(`${e}.snapshotFiles must be an array`);for(let[n,i]of r.value.snapshotFiles.entries()){let o=Ur(i,`${e}.snapshotFiles[${n}]`);if(!o.ok)return o;if(typeof o.value.path!="string"||o.value.path.trim()==="")return Ve(`${e}.snapshotFiles[${n}].path must be a non-empty string`);if(typeof o.value.text!="string")return Ve(`${e}.snapshotFiles[${n}].text must be a string`)}}return S(void 0)}if(r.value.registryKind!=="apm")return Ve(`${e}.registryKind must be apm`);for(let n of["registry","package","version","integrity","contentHash"])if(typeof r.value[n]!="string"||r.value[n].trim()==="")return Ve(`${e}.${n} must be a non-empty string`);return ere(String(r.value.version))?r.value.snapshotFiles!==void 0?Ve(`${e}.snapshotFiles is not supported for registry-package skills`):S(void 0):Ve(`${e}.version must be an exact semver version`)}function o1(t,e){let r=Ur(t,e);return r.ok?r.value.kind!=="local-root-installed"?Ve(`${e}.kind must be local-root-installed`):typeof r.value.id!="string"||r.value.id.trim()===""?Ve(`${e}.id must be a non-empty string`):S(void 0):r}function Ute(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=jd(r.value.promptTemplate,`${e}.promptTemplate`);return n.ok?S(void 0):n}function $te(t,e,r){if(!Array.isArray(t))return Ve(`${e} must be an array`);if(r&&t.length===0)return Ve(`${e} must include at least one Member`);let n=new Set;for(let[i,o]of t.entries()){let s=Ur(o,`${e}[${i}]`);if(!s.ok)return s;let a=a3(s.value,`${e}[${i}]`);if(!a.ok)return a;let c=String(s.value.id);if(n.has(c))return Ve(`${e} must not include duplicate Member ${c}`);n.add(c)}return S(void 0)}function a3(t,e){if(typeof t.id!="string"||t.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let r=jd(t.promptTemplate,`${e}.promptTemplate`);if(!r.ok)return r;if(typeof t.model!="string"||t.model.trim()==="")return Ve(`${e}.model must be a non-empty string`);for(let n of[s1(t.modelSelection,`${e}.modelSelection`,!0),Ii(`${e}.reasoningEffort`,t.reasoningEffort,bS),t.serviceTier===void 0?S(void 0):Ii(`${e}.serviceTier`,t.serviceTier,wS),u3(t.execution,`${e}.execution`),d3(t.approval,`${e}.approval`)])if(!n.ok)return n;if(!Array.isArray(t.skills))return Ve(`${e}.skills must be an array`);for(let[n,i]of t.skills.entries()){let o=i1(i,`${e}.skills[${n}]`);if(!o.ok)return o}if(t.plugins!==void 0){if(!Array.isArray(t.plugins))return Ve(`${e}.plugins must be an array`);for(let[n,i]of t.plugins.entries()){let o=o1(i,`${e}.plugins[${n}]`);if(!o.ok)return o}}return S(void 0)}function Fte(t,e){let r=Yte(t,["id","plugins","promptTemplate","skills"],["modelSelection"],e);if(!r.ok)return r;if(typeof t.id!="string"||t.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let n=jd(t.promptTemplate,`${e}.promptTemplate`);if(!n.ok)return n;let i=s1(t.modelSelection,`${e}.modelSelection`,!0);if(!i.ok)return i;if(!Array.isArray(t.skills))return Ve(`${e}.skills must be an array`);for(let[o,s]of t.skills.entries()){let a=i1(s,`${e}.skills[${o}]`);if(!a.ok)return a}if(!Array.isArray(t.plugins))return Ve(`${e}.plugins must be an array`);for(let[o,s]of t.plugins.entries()){let a=o1(s,`${e}.plugins[${o}]`);if(!a.ok)return a}return S(void 0)}function jte(t,e){let r=Ur(t,e);return r.ok?r.value.kind==="team"?qte(r.value,e):r.value.kind==="member"?zte(r.value,e):Ve(`${e}.kind must be team or member`):r}function qte(t,e){if(typeof t.id!="string"||t.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let r=Wte(t.planner,`${e}.planner`);if(!r.ok)return r;if(!Array.isArray(t.members))return Ve(`${e}.members must be an array`);let n=new Set;for(let[i,o]of t.members.entries()){let s=Vte(o,`${e}.members[${i}]`);if(!s.ok)return s;let a=String(o.executorId);if(n.has(a))return Ve(`${e}.members must not include duplicate Membership ${a}`);n.add(a)}return PS(t.packageLock,`${e}.packageLock`)}function Wte(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=jd(r.value.promptTemplate,`${e}.promptTemplate`);if(!n.ok)return n;if(r.value.maxAttemptCount!==void 0){let i=l3(r.value.maxAttemptCount,`${e}.maxAttemptCount`);if(!i.ok)return i}return a1(r.value.guardrails,`${e}.guardrails`)}function Vte(t,e){let r=Ur(t,e);return r.ok?typeof r.value.executorId!="string"||r.value.executorId.trim()===""?Ve(`${e}.executorId must be a non-empty string`):Gte(r.value.visibleProfile,`${e}.visibleProfile`):r}function Gte(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=Ii(`${e}.kind`,r.value.kind,["team","member"]);if(!n.ok)return n;for(let i of["label","summary"])if(r.value[i]!==void 0&&(typeof r.value[i]!="string"||String(r.value[i]).trim()===""))return Ve(`${e}.${i} must be a non-empty string when provided`);if(r.value.capabilities!==void 0){if(!Array.isArray(r.value.capabilities))return Ve(`${e}.capabilities must be an array`);for(let[i,o]of r.value.capabilities.entries())if(typeof o!="string"||o.trim()==="")return Ve(`${e}.capabilities[${i}] must be a non-empty string`)}return S(void 0)}function zte(t,e){if(typeof t.id!="string"||t.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let r=jd(t.promptTemplate,`${e}.promptTemplate`);if(!r.ok)return r;if(!Array.isArray(t.resources))return Ve(`${e}.resources must be an array`);for(let[i,o]of t.resources.entries()){let s=c3(o,`${e}.resources[${i}]`);if(!s.ok)return s}let n=Kte(t.runtimePolicy,`${e}.runtimePolicy`);return n.ok?PS(t.packageLock,`${e}.packageLock`):n}function Kte(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=s1(r.value.modelSelection,`${e}.modelSelection`,!0);if(!n.ok)return n;let i=r.value.modelSelection!==void 0;if(r.value.model!==void 0&&(typeof r.value.model!="string"||r.value.model.trim()===""))return Ve(`${e}.model must be a non-empty string when provided`);if(r.value.model===void 0&&!i)return Ve(`${e}.modelSelection or ${e}.model must be provided`);for(let o of[r.value.reasoningEffort===void 0&&i?S(void 0):Ii(`${e}.reasoningEffort`,r.value.reasoningEffort,bS),r.value.serviceTier===void 0?S(void 0):Ii(`${e}.serviceTier`,r.value.serviceTier,wS),u3(r.value.execution,`${e}.execution`),d3(r.value.approval,`${e}.approval`)])if(!o.ok)return o;return S(void 0)}function s1(t,e,r=!1){if(t===void 0&&r)return S(void 0);let n=Ur(t,e);if(!n.ok)return n;if(n.value.kind==="alias")return YR(n.value.aliasId,`${e}.aliasId`);if(n.value.kind!=="direct")return Ve(`${e}.kind must be direct or alias`);let i=Ur(n.value.provider,`${e}.provider`);if(!i.ok)return i;for(let o of[YR(i.value.providerId,`${e}.provider.providerId`),YR(i.value.model,`${e}.provider.model`),i.value.reasoningEffort===void 0?S(void 0):Ii(`${e}.provider.reasoningEffort`,i.value.reasoningEffort,bS),i.value.serviceTier===void 0?S(void 0):Ii(`${e}.provider.serviceTier`,i.value.serviceTier,wS)])if(!o.ok)return o;if(i.value.experimental!==void 0&&typeof i.value.experimental!="boolean")return Ve(`${e}.provider.experimental must be a boolean when provided`);if(i.value.providerId==="codex"&&i.value.experimental!==!0){if(i.value.model==="gpt-5.5-thinking"&&i.value.reasoningEffort!=="high"&&i.value.reasoningEffort!=="xhigh")return Ve(`${e}.provider.reasoningEffort must be high or xhigh for gpt-5.5-thinking`);if(i.value.model==="gpt-5.5"&&(i.value.reasoningEffort==="minimal"||i.value.reasoningEffort==="xhigh"))return Ve(`${e}.provider.reasoningEffort is not supported for gpt-5.5`)}return S(void 0)}function YR(t,e){return typeof t=="string"&&t.trim()!==""?S(void 0):Ve(`${e} must be a non-empty string`)}function Jte(t,e){let r=Ur(t,e);if(!r.ok)return r;if(typeof r.value.id!="string"||r.value.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let n=c3(r.value.binding,`${e}.binding`);return n.ok?PS(r.value.packageLock,`${e}.packageLock`):n}function c3(t,e){let r=Ur(t,e);return r.ok?r.value.kind==="skill"?i1(r.value.skill,`${e}.skill`):r.value.kind==="plugin"?o1(r.value.plugin,`${e}.plugin`):r.value.kind==="package"?PS(r.value.lock,`${e}.lock`):Ve(`${e}.kind must be skill, plugin, or package`):r}function PS(t,e){if(t===void 0)return S(void 0);let r=Ur(t,e);if(!r.ok)return r;for(let n of["origin","kind","key","version","integrity"])if(typeof r.value[n]!="string"||String(r.value[n]).trim()==="")return Ve(`${e}.${n} must be a non-empty string`);return S(void 0)}function u3(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=Ii(`${e}.kind`,r.value.kind,wte);if(!n.ok)return n;let i=Ii(`${e}.network`,r.value.network,Ite);return i.ok?S(void 0):i}function d3(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=Ii(`${e}.policy`,r.value.policy,Ete);if(!n.ok)return n;if(r.value.policy==="on_request"){let i=Ii(`${e}.reviewer`,r.value.reviewer,kte);return i.ok?S(void 0):i}return"reviewer"in r.value?Ve(`${e}.reviewer is only allowed when policy is on_request`):S(void 0)}function a1(t,e){if(t===void 0)return S(void 0);if(!Array.isArray(t))return Ve(`${e} must be an array`);for(let[r,n]of t.entries()){let i=Ur(n,`${e}[${r}]`);if(!i.ok)return i;if(typeof i.value.name!="string"||i.value.name.trim()==="")return Ve(`${e}[${r}].name must be a non-empty string`);let o=Ii(`${e}[${r}].scope`,i.value.scope,$4);if(!o.ok)return o;if(typeof i.value.rule!="string"||i.value.rule.trim()==="")return Ve(`${e}[${r}].rule must be a non-empty string`);let s=Ii(`${e}[${r}].severity`,i.value.severity,F4);if(!s.ok)return s}return S(void 0)}function Ur(t,e){return t&&typeof t=="object"&&!Array.isArray(t)?S(t):Ve(`${e} must be an object`)}function Xte(t,e,r){let n=e.filter(o=>!(o in t));if(n.length>0)return Ve(`${r} is missing required keys: ${n.join(", ")}`);let i=Object.keys(t).filter(o=>!e.includes(o));return i.length>0?Ve(`${r} has unsupported keys: ${i.join(", ")}`):S(void 0)}function Yte(t,e,r,n){let i=e.filter(a=>!(a in t));if(i.length>0)return Ve(`${n} is missing required keys: ${i.join(", ")}`);let o=[...e,...r],s=Object.keys(t).filter(a=>!o.includes(a));return s.length>0?Ve(`${n} has unsupported keys: ${s.join(", ")}`):S(void 0)}function l3(t,e){return Number.isInteger(t)&&Number(t)>=1?S(void 0):Ve(`${e} must be a positive integer`)}function Ii(t,e,r){return typeof e=="string"&&r.includes(e)?S(e):Ve(`${t} must be one of: ${r.join(", ")}`)}function Qte(t,e){return t.ok?e():t}function Ve(t){return oe({type:"DomainWorkflowError",message:t})}function _S(t){let e={...t,promptTemplate:{...t.promptTemplate},skills:TS(t.skills),plugins:DS(t.plugins??[]),execution:eg(t.execution),approval:tg(t.approval)};return t.modelSelection&&(e.modelSelection=JSON.parse(JSON.stringify(t.modelSelection))),e}function Zte(t){let e={...t,promptTemplate:{...t.promptTemplate},skills:TS(t.skills),plugins:DS(t.plugins)};return t.modelSelection&&(e.modelSelection=JSON.parse(JSON.stringify(t.modelSelection))),e}function eg(t){return{...t}}function tg(t){return{...t}}function TS(t=[]){return t.map(BS)}function BS(t){return t.kind==="local-snapshot"?{...t,snapshotFiles:t.snapshotFiles?.map(e=>({...e}))}:{...t}}function DS(t=[]){return t.map(e=>({...e}))}function ere(t){return/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(t)}function f3(t,e,r,n){let i=r==="initial-execute-team"||r==="initial-request"?"SYSTEM":"DIRECTOR";return{...e,requestId:t,status:"pending",source:r,createdBy:i,updatedBy:i,createdAt:n,updatedAt:n}}function rg(t,e){return MS(e.claimedBy)?t.status!=="pending"&&t.status!=="blocked"?Gr(`Destination ${t.id} cannot be claimed from status ${t.status}`):S({...OS(t,e),status:"claimed",claimedBy:e.claimedBy}):Gr("Claim Destination requires claimedBy")}function ng(t,e){return MS(e.claimedBy)?t.status==="blocked"?Gr(`Destination ${t.id} cannot start work from status blocked`):p1(t)?Gr(`Destination ${t.id} cannot start work from status ${t.status}`):S({...OS(t,e),status:"in_progress",claimedBy:e.claimedBy}):Gr("Start Destination work requires claimedBy")}function ig(t,e){return MS(e.blockedReason)?p1(t)?Gr(`Destination ${t.id} cannot be blocked from status ${t.status}`):S({...OS(t,e),status:"blocked",claimedBy:"claimedBy"in t?t.claimedBy:void 0,blockedReason:e.blockedReason}):Gr("Block Destination requires blockedReason")}function og(t,e){return MS(e.reachedByMoveId)?p1(t)?Gr(`Destination ${t.id} cannot be reached from status ${t.status}`):S({...OS(t,e),status:"reached",claimedBy:"claimedBy"in t?t.claimedBy:void 0,reachedByMoveId:e.reachedByMoveId}):Gr("Reach Destination requires reachedByMoveId")}function sg(t){return t.status==="active"?S({...t,status:"paused"}):Gr(`Line ${t.id} cannot be paused from status ${t.status}`)}function ag(t){return t.status==="paused"?S({...t,status:"active"}):Gr(`Line ${t.id} cannot be resumed from status ${t.status}`)}function cg(t){return t.status==="active"||t.status==="paused"?S({...t,status:"complete"}):Gr(`Line ${t.id} cannot be completed from status ${t.status}`)}function ug(t){return t.status==="active"||t.status==="paused"?S({...t,status:"abandoned"}):Gr(`Line ${t.id} cannot be abandoned from status ${t.status}`)}function p3(t){return t.status==="active"?S({...t,status:"failed"}):Gr(`Line ${t.id} cannot fail from status ${t.status}`)}function m3(t){return t.status==="active"?S(t):Gr(`TEAM line ${t.id} cannot continue from status ${t.status}`)}function c1(t){let e=$f(t.reachedDestinationIds,"reachedDestinationIds");if(!e.ok)return Gr("Arrived MOVE must reach exactly one Destination");let r=lo(t.evidence,"evidence");return r.ok?S({...t,outcome:"arrived",reachedDestinationIds:e.value,evidence:r.value}):Gr("Arrived MOVE requires evidence")}function u1(t){let e=Wo(t.failureReason,"failureReason");if(!e.ok)return Gr("Accident MOVE requires failureReason");let r=lo(t.evidence,"evidence");return r.ok?S({...t,outcome:"accident",reachedDestinationIds:[],failureReason:e.value,evidence:r.value}):Gr("Accident MOVE requires evidence")}function d1(t,e){return t.outcome==="accident"?{...t,...e,outcome:"accident",reachedDestinationIds:[],failureReason:t.failureReason}:{...t,...e,outcome:"arrived",reachedDestinationIds:t.reachedDestinationIds}}function NS(t){return t.outcome==="accident"?u1(t):c1({...t,reachedDestinationIds:t.reachedDestinationIds})}function h3(t){return{...t,status:"draft"}}function l1(t,e){return t.status!=="draft"?Gr(`Skill Draft ${t.id} cannot be accepted from status ${t.status}`):S({...t,status:"accepted",acceptedSnapshot:e})}function f1(t){return t.status!=="draft"?Gr(`Skill Draft ${t.id} cannot be discarded from status ${t.status}`):S({...t,status:"discarded"})}function OS(t,e){let{claimedBy:r,reachedByMoveId:n,blockedReason:i,canceledReason:o,supersededByDestinationId:s,...a}=t;return{...a,updatedBy:e.updatedBy,updatedAt:e.updatedAt}}function p1(t){return t.status==="reached"||t.status==="canceled"||t.status==="superseded"}function MS(t){return typeof t=="string"&&t.trim()!==""}function Gr(t){return oe({type:"DomainModelError",message:t})}function Vt(t,e){return t&&typeof t=="object"&&!Array.isArray(t)?S(t):Ee(`${e} must be an object`)}function si(t,e){return Array.isArray(t)?S(t):Ee(`${e} must be an array`)}function un(t,e,r){return typeof e=="string"&&r.includes(e)?S(e):Ee(`${t} must be one of: ${r.join(", ")}`)}function m1(t,e){return un(e,t,U4)}function tre(t,e){return un(e,t,W4)}function rre(t,e){return typeof t=="number"&&Number.isFinite(t)?S(t):Ee(`${e} must be a finite number`)}function v3(t,e){return t===void 0?S(void 0):typeof t=="boolean"?S(t):Ee(`${e} must be a boolean`)}function HS(t,e){return Number.isInteger(t)&&Number(t)>=0?S(Number(t)):Ee(`${e} must be a non-negative integer`)}function Ns(t,e){return t===void 0?S(void 0):typeof t=="string"?S(t):Ee(`${e} must be a string`)}function $r(t,e){if(t===void 0)return S(void 0);let r=Ie(t,e);return r.ok?S(r.value):Ee(r.error.message)}function h1(t,e){let r=Ie(t,e);return r.ok?S(r.value):Ee(r.error.message)}function ir(t,e="at"){return Ns(t,e)}function nre(t,e){if(t===void 0)return S(void 0);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Q(Ie(r.value[i],`${e}[${i}]`));if(!o.ok)return o;n.push(o.value)}return S(n)}function ire(t,e){return t===void 0?S(void 0):rre(t,e)}function g1(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(Gi(r.value.id));if(!n.ok)return n;let i=Q(xS(r.value.title));if(!i.ok)return i;let o=Q(SS(r.value.goal));if(!o.ok)return o;let s=m1(r.value.createdBy,`${e}.createdBy`);if(!s.ok)return s;let a=Ns(r.value.createdAt,`${e}.createdAt`);return a.ok?S({id:n.value,title:i.value,goal:o.value,createdBy:s.value,createdAt:a.value}):a}function US(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(fo(r.value.id));if(!n.ok)return n;let i=Q(C4(r.value.title,`${e}.title`));if(!i.ok)return i;let o=ore(r.value.acceptanceCriteria,`${e}.acceptanceCriteria`);if(!o.ok)return o;let s=sre(r.value.constraints,`${e}.constraints`);if(!s.ok)return s;let a=ire(r.value.priority,`${e}.priority`);if(!a.ok)return a;let c=r.value.notes===void 0?S(void 0):Q(T4(r.value.notes,`${e}.notes`));return c.ok?S({id:n.value,title:i.value,acceptanceCriteria:o.value,constraints:s.value,priority:a.value,notes:c.value}):c}function $S(t,e,r=!0){let n=si(t,e);if(!n.ok)return n;if(r){let s=Q(lo(n.value,e));if(!s.ok)return s}let i=[];for(let s=0;s<n.value.length;s+=1){let a=US(n.value[s],`${e}[${s}]`);if(!a.ok)return a;i.push(a.value)}let o=GS(i.map(s=>s.id),e,"DestinationId");return o.ok?S(i):o}function ore(t,e){if(t===void 0)return S(void 0);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Q(P4(r.value[i],`${e}[${i}]`));if(!o.ok)return o;n.push(o.value)}return S(n)}function sre(t,e){if(t===void 0)return S(void 0);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Q(_4(r.value[i],`${e}[${i}]`));if(!o.ok)return o;n.push(o.value)}return S(n)}function are(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=US(r.value,e);if(!n.ok)return n;let i=Q(Gi(r.value.requestId));if(!i.ok)return i;let o=tre(r.value.source,`${e}.source`);if(!o.ok)return o;let s=m1(r.value.createdBy,`${e}.createdBy`);if(!s.ok)return s;let a=m1(r.value.updatedBy,`${e}.updatedBy`);if(!a.ok)return a;let c=un(`${e}.status`,r.value.status,q4);if(!c.ok)return c;let u=Ns(r.value.createdAt,`${e}.createdAt`);if(!u.ok)return u;let d=Ns(r.value.updatedAt,`${e}.updatedAt`);if(!d.ok)return d;let l={...n.value,requestId:i.value,source:o.value,createdBy:s.value,updatedBy:a.value,createdAt:u.value,updatedAt:d.value};switch(c.value){case"pending":return Ere(r.value,e,["claimedBy","reachedByMoveId","blockedReason","canceledReason","supersededByDestinationId"],l);case"claimed":case"in_progress":{let f=Q(Ie(r.value.claimedBy,`${e}.claimedBy`));if(!f.ok)return f;let p=Vf(r.value,e,["reachedByMoveId","blockedReason","canceledReason","supersededByDestinationId"]);return p.ok?S({...l,status:c.value,claimedBy:f.value}):p}case"reached":{let f=Q(_n(r.value.reachedByMoveId));if(!f.ok)return f;let p=$r(r.value.claimedBy,`${e}.claimedBy`);if(!p.ok)return p;let g=Vf(r.value,e,["blockedReason","canceledReason","supersededByDestinationId"]);return g.ok?S({...l,status:"reached",reachedByMoveId:f.value,claimedBy:p.value}):g}case"blocked":{let f=Q(Wo(r.value.blockedReason,`${e}.blockedReason`));if(!f.ok)return f;let p=$r(r.value.claimedBy,`${e}.claimedBy`);if(!p.ok)return p;let g=Vf(r.value,e,["reachedByMoveId","canceledReason","supersededByDestinationId"]);return g.ok?S({...l,status:"blocked",blockedReason:f.value,claimedBy:p.value}):g}case"superseded":{let f=Q(fo(r.value.supersededByDestinationId));if(!f.ok)return f;let p=$r(r.value.claimedBy,`${e}.claimedBy`);if(!p.ok)return p;let g=Vf(r.value,e,["reachedByMoveId","blockedReason","canceledReason"]);return g.ok?S({...l,status:"superseded",supersededByDestinationId:f.value,claimedBy:p.value}):g}case"canceled":{let f=Q(Wo(r.value.canceledReason,`${e}.canceledReason`));if(!f.ok)return f;let p=$r(r.value.claimedBy,`${e}.claimedBy`);if(!p.ok)return p;let g=Vf(r.value,e,["reachedByMoveId","blockedReason","supersededByDestinationId"]);return g.ok?S({...l,status:"canceled",canceledReason:f.value,claimedBy:p.value}):g}}}function x3(t,e){let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=are(r.value[i],`${e}[${i}]`);if(!o.ok)return o;n.push(o.value)}return S(n)}function LS(t,e,r){let n=si(t,e);if(!n.ok)return n;if(r){let s=Q(lo(n.value,e));if(!s.ok)return s}let i=[];for(let s=0;s<n.value.length;s+=1){let a=Q(fo(n.value[s]));if(!a.ok)return a;i.push(a.value)}let o=GS(i,e,"DestinationId");return o.ok?S(i):o}function cre(t,e,r){let n=si(t,e);if(!n.ok)return n;if(r){let s=Q(lo(n.value,e));if(!s.ok)return s}let i=[];for(let s=0;s<n.value.length;s+=1){let a=Q(_n(n.value[s]));if(!a.ok)return a;i.push(a.value)}let o=GS(i,e,"MoveId");return o.ok?S(i):o}function ure(t,e,r){let n=si(t,e);if(!n.ok)return n;if(r){let s=Q(lo(n.value,e));if(!s.ok)return s}let i=[];for(let s=0;s<n.value.length;s+=1){let a=Q(Yr(n.value[s]));if(!a.ok)return a;i.push(a.value)}let o=GS(i,e,"NodeId");return o.ok?r?Q(lo(i,e)):S(i):o}function FS(t,e,r){let n=si(t,e);if(!n.ok)return n;if(r){let o=Q(lo(n.value,e));if(!o.ok)return o}let i=[];for(let o=0;o<n.value.length;o+=1){let s=Q(B4(n.value[o],`${e}[${o}]`));if(!s.ok)return s;i.push(s.value)}return S(i)}function jS(t,e){let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Q(D4(r.value[i],`${e}[${i}]`));if(!o.ok)return o;n.push(o.value)}return S(n)}function dre(t,e){return t===void 0?S(void 0):jS(t,e)}function S3(t,e){let r=Vt(t,e);if(!r.ok)return r;switch(r.value.type){case"destination":{let n=Q(fo(r.value.id));return n.ok?S({type:"destination",id:n.value}):n}case"move":{let n=Q(_n(r.value.id));return n.ok?S({type:"move",id:n.value}):n}case"line":{let n=Q(fr(r.value.id));return n.ok?S({type:"line",id:n.value}):n}case"node":{let n=Q(Yr(r.value.id));return n.ok?S({type:"node",id:n.value}):n}default:return Ee(`${e}.type must be destination, move, line, or node`)}}function su(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n=un(`${e}.provider`,r.value.provider,["codex","local"]);if(!n.ok)return n;let i=Q(Jh(r.value.conversationHash));if(!i.ok)return i;let o=$r(r.value.threadId,`${e}.threadId`);if(!o.ok)return o;let s=Q(Ie(r.value.contextHash,`${e}.contextHash`));if(!s.ok)return s;let a=r.value.worktreeHash===void 0?S(void 0):Q(Fd(r.value.worktreeHash));if(!a.ok)return a;let c=Q(Ie(r.value.startedAt,`${e}.startedAt`));if(!c.ok)return c;let u=$r(r.value.endedAt,`${e}.endedAt`);if(!u.ok)return u;let d={conversationHash:i.value,contextHash:s.value,worktreeHash:a.value,startedAt:c.value};return n.value==="local"?o.value!==void 0?Ee(`${e}.threadId is only valid for codex conversations`):u.value===void 0?S({provider:"local",...d}):S({provider:"local",...d,endedAt:u.value}):u.value===void 0?S({provider:"codex",...d,threadId:o.value}):S({provider:"codex",...d,threadId:o.value,endedAt:u.value})}function qS(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n=Q(Fd(r.value.worktreeHash));if(!n.ok)return n;let i=Q(Ie(r.value.path,`${e}.path`));if(!i.ok)return i;let o=Q(Ie(r.value.branch,`${e}.branch`));if(!o.ok)return o;let s=Q(Ie(r.value.baseRef,`${e}.baseRef`));if(!s.ok)return s;let a=Q(Ie(r.value.createdAt,`${e}.createdAt`));if(!a.ok)return a;let c=$r(r.value.removedAt,`${e}.removedAt`);if(!c.ok)return c;let u={worktreeHash:n.value,path:i.value,branch:o.value,baseRef:s.value,createdAt:a.value};return c.value===void 0?S(u):S({...u,removedAt:c.value})}function y1(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=un(`${e}.kind`,r.value.kind,["local-snapshot","local-root-installed","registry-package","skillMeta"]);if(!n.ok)return n;let i=Q(Ie(r.value.name,`${e}.name`));if(!i.ok)return i;if(n.value==="skillMeta"){let l=Q(Ie(r.value.source,`${e}.source`));if(!l.ok)return l;let f=un(`${e}.agent`,r.value.agent,["codex"]);return f.ok?S({kind:"skillMeta",name:i.value,source:l.value,agent:f.value}):f}if(n.value==="local-root-installed"){let l=$r(r.value.sourcePath,`${e}.sourcePath`);return l.ok?S({kind:"local-root-installed",name:i.value,sourcePath:l.value}):l}if(n.value==="local-snapshot"){let l=Q(Ie(r.value.sourcePath,`${e}.sourcePath`));if(!l.ok)return l;let f=Q(Ie(r.value.contentHash,`${e}.contentHash`));if(!f.ok)return f;let p=Q(Ie(r.value.snapshotRef,`${e}.snapshotRef`));if(!p.ok)return p;let g=r.value.snapshotFiles===void 0?S(void 0):gre(r.value.snapshotFiles,`${e}.snapshotFiles`);return g.ok?S({kind:"local-snapshot",name:i.value,sourcePath:l.value,contentHash:f.value,snapshotRef:p.value,snapshotFiles:g.value}):g}let o=un(`${e}.registryKind`,r.value.registryKind,["apm"]);if(!o.ok)return o;let s=Q(Ie(r.value.registry,`${e}.registry`));if(!s.ok)return s;let a=Q(Ie(r.value.package,`${e}.package`));if(!a.ok)return a;let c=Q(Ie(r.value.version,`${e}.version`));if(!c.ok)return c;if(!yre(String(c.value)))return Ee(`${e}.version must be an exact semver version`);let u=Q(Ie(r.value.integrity,`${e}.integrity`));if(!u.ok)return u;let d=Q(Ie(r.value.contentHash,`${e}.contentHash`));return d.ok?r.value.snapshotFiles!==void 0?Ee(`${e}.snapshotFiles is not supported for registry-package skills`):S({kind:"registry-package",registryKind:o.value,name:i.value,registry:s.value,package:a.value,version:c.value,integrity:u.value,contentHash:d.value}):d}function au(t,e,r){if(t===void 0)return S(void 0);let n=Vt(t,e);if(!n.ok)return n;let i=Q(Ie(n.value.origin,`${e}.origin`));if(!i.ok)return i;let o=un(`${e}.kind`,n.value.kind,["team","member","manager","skill"]);if(!o.ok)return o;if(r&&!r.includes(o.value))return Ee(`${e}.kind must be ${r.join(" or ")}`);let s=Q(Ie(n.value.key,`${e}.key`));if(!s.ok)return s;let a=Q(Ie(n.value.version,`${e}.version`));if(!a.ok)return a;let c=Q(Ie(n.value.integrity,`${e}.integrity`));return c.ok?S({origin:i.value,kind:o.value,key:s.value,version:a.value,integrity:c.value}):c}function b3(t,e){if(t===void 0)return S([]);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Vt(r.value[i],`${e}[${i}]`);if(!o.ok)return o;let s=Q(Ie(o.value.executorId,`${e}[${i}].executorId`));if(!s.ok)return s;let a=au(o.value.lock,`${e}[${i}].lock`,["member"]);if(!a.ok)return a;if(!a.value)return Ee(`${e}[${i}].lock is required`);n.push({executorId:s.value,lock:a.value})}return S(n)}function w3(t,e){if(t===void 0)return S([]);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Vt(r.value[i],`${e}[${i}]`);if(!o.ok)return o;let s=Q(Ie(o.value.name,`${e}[${i}].name`));if(!s.ok)return s;let a=au(o.value.lock,`${e}[${i}].lock`,["skill"]);if(!a.ok)return a;if(!a.value)return Ee(`${e}[${i}].lock is required`);n.push({name:s.value,lock:a.value})}return S(n)}function WS(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(Ie(r.value.name,`${e}.name`));if(!n.ok)return n;let i=Q(Ie(r.value.url,`${e}.url`));if(!i.ok)return i;let o=un(`${e}.transport`,r.value.transport,["http","ssh"]);if(!o.ok)return o;let s=$r(r.value.identity,`${e}.identity`);return s.ok?S({name:n.value,url:i.value,transport:o.value,identity:s.value}):s}function dg(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(O4(r.value.id));if(!n.ok)return n;let i=vre(r.value.owner,`${e}.owner`);if(!i.ok)return i;let o=un(`${e}.kind`,r.value.kind,J4);if(!o.ok)return o;let s=$r(r.value.path,`${e}.path`);if(!s.ok)return s;let a=$r(r.value.text,`${e}.text`);return a.ok?s.value===void 0&&a.value===void 0?Ee(`${e} must include path, text, or both`):s.value!==void 0&&a.value!==void 0?S({id:n.value,owner:i.value,kind:o.value,path:s.value,text:a.value}):s.value!==void 0?S({id:n.value,owner:i.value,kind:o.value,path:s.value}):S({id:n.value,owner:i.value,kind:o.value,text:a.value}):a}function I3(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(M4(r.value.id));if(!n.ok)return n;let i=Q(Ie(r.value.title,`${e}.title`));if(!i.ok)return i;let o=un(`${e}.kind`,r.value.kind,X4);if(!o.ok)return o;let s=un(`${e}.sourceScope`,r.value.sourceScope,Y4);if(!s.ok)return s;let a=xre(r.value.env,`${e}.env`);if(!a.ok)return a;let c=Sre(r.value.runner,`${e}.runner`);if(!c.ok)return c;let u=bre(r.value.aliases,`${e}.aliases`);if(!u.ok)return u;let d=lre(a.value,u.value,`${e}.env`);if(!d.ok)return d;let l=wre(r.value.evidence,`${e}.evidence`);if(!l.ok)return l;let f=HS(r.value.displayOrder,`${e}.displayOrder`);return f.ok?o.value==="check"&&c.value.type!=="command"?Ee(`${e}.runner.type must be command for check actions`):S({id:n.value,title:i.value,kind:o.value,sourceScope:s.value,env:a.value,runner:c.value,aliases:u.value,evidence:l.value,displayOrder:f.value}):f}function lre(t,e,r){let n=new Set(Object.keys(e??{}));for(let[i,o]of Object.entries(t??{})){if("alias"in o&&!n.has(String(o.alias)))return Ee(`${r}.${i}.alias references unknown alias: ${o.alias}`);if("fromAliasUrl"in o&&!n.has(String(o.fromAliasUrl)))return Ee(`${r}.${i}.fromAliasUrl references unknown alias: ${o.fromAliasUrl}`)}return S(void 0)}function v1(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(fr(r.value.id));if(!n.ok)return n;let i=Q(Gi(r.value.requestId));if(!i.ok)return i;let o=r.value.teamName===void 0?S(void 0):Q(cn(r.value.teamName,`${e}.teamName`));if(!o.ok)return o;let s=un(`${e}.status`,r.value.status,V4);if(!s.ok)return s;let a=cre(r.value.moveIds,`${e}.moveIds`,!1);if(!a.ok)return a;let c=Q(Yr(r.value.rootNodeId));if(!c.ok)return c;let u=Q(Yr(r.value.currentNodeId));if(!u.ok)return u;let d=ure(r.value.nodeIds,`${e}.nodeIds`,!0);if(!d.ok)return d;let l=_3(r.value.parentLineId);if(!l.ok)return l;let f=lg(r.value.forkedFromMoveId);if(!f.ok)return f;if(f.value!==void 0&&l.value===void 0)return Ee(`${e}.parentLineId is required when forkedFromMoveId is present`);let p={id:n.value,requestId:i.value,teamName:o.value,moveIds:a.value,rootNodeId:c.value,currentNodeId:u.value,nodeIds:d.value};if(l.value!==void 0){let v={...p,parentLineId:l.value,forkedFromMoveId:f.value};return y3(v,s.value)}return y3(p,s.value)}function E3(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(iu(r.value.id));if(!n.ok)return n;let i=Q(Ie(r.value.name,`${e}.name`));if(!i.ok)return i;let o=$r(r.value.sourcePath,`${e}.sourcePath`);if(!o.ok)return o;let s=Q(Ie(r.value.draftPath,`${e}.draftPath`));if(!s.ok)return s;let a=hre(r.value.createdFromNodeId);if(!a.ok)return a;let c=Ns(r.value.createdAt,`${e}.createdAt`);if(!c.ok)return c;let u=un(`${e}.status`,r.value.status,K4);if(!u.ok)return u;let d={id:n.value,name:i.value,sourcePath:o.value,draftPath:s.value,createdFromNodeId:a.value,createdAt:c.value};switch(u.value){case"accepted":{let l=y1(r.value.acceptedSnapshot,`${e}.acceptedSnapshot`);return l.ok?S({...d,status:"accepted",acceptedSnapshot:l.value}):l}case"draft":return r.value.acceptedSnapshot!==void 0?Ee(`${e}.acceptedSnapshot is only valid for accepted Skill Drafts`):S({...d,status:"draft"});case"discarded":return r.value.acceptedSnapshot!==void 0?Ee(`${e}.acceptedSnapshot is only valid for accepted Skill Drafts`):S({...d,status:"discarded"})}}function k3(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(Kh(n.value.id));if(!i.ok)return i;let o=Q(fr(n.value.sourceLineId));if(!o.ok)return o;let s=Q(Yr(n.value.sourceNodeId));if(!s.ok)return s;let a=lg(n.value.sourceMoveId);if(!a.ok)return a;let c=S3(n.value.target,`${e}.target`);if(!c.ok)return c;let u=Q(cn(n.value.newTeamName,`${e}.newTeamName`));if(!u.ok)return u;let d=Q(qo(n.value.summary,`${e}.summary`));if(!d.ok)return d;let l=x1(n.value.teamSnapshot,`${e}.teamSnapshot`,r);if(!l.ok)return l;let f=C3(n.value.changedFiles,`${e}.changedFiles`);if(!f.ok)return f;let p=Ns(n.value.createdAt,`${e}.createdAt`);if(!p.ok)return p;let g=Ns(n.value.updatedAt,`${e}.updatedAt`);if(!g.ok)return g;let v=un(`${e}.status`,n.value.status,z4);if(!v.ok)return v;let b={id:i.value,sourceLineId:o.value,sourceNodeId:s.value,sourceMoveId:a.value,target:c.value,newTeamName:u.value,summary:d.value,teamSnapshot:l.value,changedFiles:f.value,createdAt:p.value,updatedAt:g.value};switch(v.value){case"ready":{let B=Q(Vo(n.value.hunsuId));if(!B.ok)return B;let _=Q(fr(n.value.newLineId));if(!_.ok)return _;if(n.value.conversationRef===void 0)return Ee(`${e}.conversationRef is required for ready HUNSU Drafts`);let F=su(n.value.conversationRef,`${e}.conversationRef`);return F.ok?F.value?S({...b,status:"ready",hunsuId:B.value,newLineId:_.value,conversationRef:F.value}):Ee(`${e}.conversationRef is required for ready HUNSU Drafts`):F}case"confirmed":{let B=Q(Vo(n.value.hunsuId));if(!B.ok)return B;let _=Q(fr(n.value.newLineId));if(!_.ok)return _;if(n.value.conversationRef===void 0)return Ee(`${e}.conversationRef is required for confirmed HUNSU Drafts`);let F=su(n.value.conversationRef,`${e}.conversationRef`);return F.ok?F.value?S({...b,status:"confirmed",hunsuId:B.value,newLineId:_.value,conversationRef:F.value}):Ee(`${e}.conversationRef is required for confirmed HUNSU Drafts`):F}case"draft":return n.value.hunsuId!==void 0||n.value.newLineId!==void 0||n.value.conversationRef!==void 0?Ee(`${e} draft status cannot carry hunsuId, newLineId, or conversationRef`):S({...b,status:"draft"});case"discarded":if(n.value.hunsuId!==void 0||n.value.newLineId!==void 0)return Ee(`${e} discarded status cannot carry hunsuId or newLineId`);if(n.value.conversationRef===void 0)return S({...b,status:"discarded"});let C=su(n.value.conversationRef,`${e}.conversationRef`);return C.ok?S({...b,status:"discarded",conversationRef:C.value}):C}}function R3(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(_n(n.value.id));if(!i.ok)return i;let o=Q(fr(n.value.lineId));if(!o.ok)return o;let s=Q(Yr(n.value.fromNodeId));if(!s.ok)return s;let a=Q(Yr(n.value.toNodeId));if(!a.ok)return a;let c=n.value.teamName===void 0?S(void 0):Q(cn(n.value.teamName,`${e}.teamName`));if(!c.ok)return c;let u=n.value.ordinal===void 0?S(void 0):HS(n.value.ordinal,`${e}.ordinal`);if(!u.ok)return u;let d=n.value.snapshot===void 0?S(void 0):x1(n.value.snapshot,`${e}.snapshot`,r);if(!d.ok)return d;let l=mre(n.value.sourceHunsuId);if(!l.ok)return l;let f=VS(n.value.executeId);if(!f.ok)return f;let p=su(n.value.conversationRef,`${e}.conversationRef`);if(!p.ok)return p;let g=qS(n.value.worktree,`${e}.worktree`);if(!g.ok)return g;let v=Q(qo(n.value.summary,`${e}.summary`));if(!v.ok)return v;let b=Q($d(n.value.commit,`${e}.commit`));if(!b.ok)return b;let C=FS(n.value.evidence,`${e}.evidence`,!0);if(!C.ok)return C;let B=dre(n.value.risks,`${e}.risks`);if(!B.ok)return B;let _=un(`${e}.recordedBy`,n.value.recordedBy,["SYSTEM"]);if(!_.ok)return _;let F=Ns(n.value.recordedAt,`${e}.recordedAt`);if(!F.ok)return F;let he=un(`${e}.outcome`,n.value.outcome,G4);if(!he.ok)return he;let z={id:i.value,lineId:o.value,fromNodeId:s.value,toNodeId:a.value,teamName:c.value,ordinal:u.value,snapshot:d.value,sourceHunsuId:l.value,executeId:f.value,conversationRef:p.value,worktree:g.value,summary:v.value,commit:b.value,evidence:C.value,risks:B.value,recordedBy:_.value,recordedAt:F.value};if(he.value==="arrived"){let R=LS(n.value.reachedDestinationIds,`${e}.reachedDestinationIds`,!0);if(!R.ok)return R;let V=Q($f(R.value,`${e}.reachedDestinationIds`));return V.ok?n.value.failureReason!==void 0?Ee(`${e}.failureReason is only valid for accident MOVEs`):S({...z,outcome:"arrived",reachedDestinationIds:V.value}):V}let Ae=LS(n.value.reachedDestinationIds,`${e}.reachedDestinationIds`,!1);if(!Ae.ok)return Ae;if(Ae.value.length!==0)return Ee(`${e}.reachedDestinationIds must be empty for accident MOVEs`);let de=Q(Wo(n.value.failureReason,`${e}.failureReason`));return de.ok?S({...z,outcome:"accident",reachedDestinationIds:[],failureReason:de.value}):de}function A3(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(Vo(n.value.id));if(!i.ok)return i;let o=pre(n.value.hunsuDraftId);if(!o.ok)return o;let s=su(n.value.conversationRef,`${e}.conversationRef`);if(!s.ok)return s;let a=Q(fr(n.value.lineId));if(!a.ok)return a;let c=Q(Yr(n.value.fromNodeId));if(!c.ok)return c;let u=Q(Yr(n.value.toNodeId));if(!u.ok)return u;let d=S3(n.value.target,`${e}.target`);if(!d.ok)return d;let l=Q(qo(n.value.summary,`${e}.summary`));if(!l.ok)return l;let f=n.value.newLineId===void 0?S(void 0):Q(fr(n.value.newLineId));if(!f.ok)return f;let p=lg(n.value.sourceMoveId);if(!p.ok)return p;let g=n.value.newTeamName===void 0?S(void 0):Q(cn(n.value.newTeamName,`${e}.newTeamName`));if(!g.ok)return g;let v=x1(n.value.teamSnapshot,`${e}.teamSnapshot`,r);if(!v.ok)return v;let b=C3(n.value.changedFiles,`${e}.changedFiles`);if(!b.ok)return b;let C=un(`${e}.recordedBy`,n.value.recordedBy,["DIRECTOR"]);if(!C.ok)return C;let B=Ns(n.value.recordedAt,`${e}.recordedAt`);return B.ok?S({id:i.value,hunsuDraftId:o.value,conversationRef:s.value,lineId:a.value,fromNodeId:c.value,toNodeId:u.value,target:d.value,summary:l.value,newLineId:f.value,sourceMoveId:p.value,newTeamName:g.value,teamSnapshot:v.value,changedFiles:b.value,recordedBy:C.value,recordedAt:B.value}):B}function C3(t,e){let r=si(t,e);if(!r.ok)return r;if(r.value.length===0)return Ee(`${e} must contain at least one changed file`);let n=[];for(let i=0;i<r.value.length;i+=1){let o=fre(r.value[i],`${e}[${i}]`);if(!o.ok)return o;n.push(o.value)}return S(n)}function fre(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(Ie(r.value.path,`${e}.path`));if(!n.ok)return n;let i=un(`${e}.kind`,r.value.kind,["added","updated","removed"]);if(!i.ok)return i;let o=Q(qo(r.value.summary,`${e}.summary`));return o.ok?S({path:n.value,kind:i.value,summary:o.value}):o}function P3(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(Yr(n.value.id));if(!i.ok)return i;let o=Q(Gi(n.value.requestId));if(!o.ok)return o;let s=_3(n.value.lineId);if(!s.ok)return s;let a=n.value.teamName===void 0?S(void 0):Q(cn(n.value.teamName,`${e}.teamName`));if(!a.ok)return a;let c=HS(n.value.ordinal,`${e}.ordinal`);if(!c.ok)return c;let u=x3(n.value.destinations,`${e}.destinations`);if(!u.ok)return u;let d=r(n.value.harness);if(!d.ok)return d;let l=T3(n.value.harnessGraph,d.value,`${e}.harnessGraph`);if(!l.ok)return l;let f=au(n.value.harnessLock,`${e}.harnessLock`,["team"]);if(!f.ok)return f;let p=b3(n.value.executorPackageBindings,`${e}.executorPackageBindings`);if(!p.ok)return p;let g=w3(n.value.resourcePackageBindings,`${e}.resourcePackageBindings`);if(!g.ok)return g;let v=fg(n.value.artifactActions??[],`${e}.artifactActions`);if(!v.ok)return v;let b=Ire(n.value.source,`${e}.source`);if(!b.ok)return b;let C=Ns(n.value.createdAt,`${e}.createdAt`);return C.ok?S({id:i.value,requestId:o.value,lineId:s.value,teamName:a.value,ordinal:c.value,destinations:u.value,harness:d.value,harnessGraph:l.value,harnessLock:f.value,executorPackageBindings:p.value,resourcePackageBindings:g.value,artifactActions:v.value,source:b.value,createdAt:C.value}):C}function pre(t){return t===void 0?S(void 0):Q(Kh(t))}function mre(t){return t===void 0?S(void 0):Q(Vo(t))}function lg(t){return t===void 0?S(void 0):Q(_n(t))}function _3(t){return t===void 0?S(void 0):Q(fr(t))}function hre(t){return t===void 0?S(void 0):Q(Yr(t))}function VS(t){return t===void 0?S(void 0):Q(L4(t))}function x1(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(cn(n.value.teamName,`${e}.teamName`));if(!i.ok)return i;let o=HS(n.value.moveOrdinal,`${e}.moveOrdinal`);if(!o.ok)return o;let s=x3(n.value.destinations,`${e}.destinations`);if(!s.ok)return s;let a=r(n.value.harness);if(!a.ok)return a;let c=T3(n.value.harnessGraph,a.value,`${e}.harnessGraph`);if(!c.ok)return c;let u=au(n.value.harnessLock,`${e}.harnessLock`,["team"]);if(!u.ok)return u;let d=b3(n.value.executorPackageBindings,`${e}.executorPackageBindings`);if(!d.ok)return d;let l=w3(n.value.resourcePackageBindings,`${e}.resourcePackageBindings`);if(!l.ok)return l;let f=fg(n.value.artifactActions??[],`${e}.artifactActions`);return f.ok?S({teamName:i.value,moveOrdinal:o.value,destinations:s.value,harness:a.value,harnessGraph:c.value,harnessLock:u.value,executorPackageBindings:d.value,resourcePackageBindings:l.value,artifactActions:f.value}):f}function T3(t,e,r){return t===void 0?S(Ds(e)):qd(t,r)}function fg(t,e){let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=I3(r.value[i],`${e}[${i}]`);if(!o.ok)return o;if(n.some(s=>s.id===o.value.id))return Ee(`${e} contains duplicate ArtifactActionId: ${o.value.id}`);n.push(o.value)}return S(n)}function gre(t,e){let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Vt(r.value[i],`${e}[${i}]`);if(!o.ok)return o;let s=Q(Ie(o.value.path,`${e}[${i}].path`));if(!s.ok)return s;let a=o.value.text;if(typeof a!="string")return Ee(`${e}[${i}].text must be a string`);n.push({path:s.value,text:a})}return S(n)}function yre(t){return/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(t)}function vre(t,e){let r=Vt(t,e);if(!r.ok)return r;switch(r.value.type){case"move":{let n=Q(_n(r.value.id));return n.ok?S({type:"move",id:n.value}):n}case"hunsu":{let n=Q(Vo(r.value.id));return n.ok?S({type:"hunsu",id:n.value}):n}case"line":{let n=Q(fr(r.value.id));return n.ok?S({type:"line",id:n.value}):n}default:return Ee(`${e}.type must be move, hunsu, or line`)}}function xre(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n={};for(let[i,o]of Object.entries(r.value)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(i))return Ee(`${e}.${i} must be a valid environment variable name`);let s=Vt(o,`${e}.${i}`);if(!s.ok)return s;if(["default","value","required","alias","fromAliasUrl"].filter(c=>c in s.value).length!==1)return Ee(`${e}.${i} must declare exactly one of default, value, required, alias, or fromAliasUrl`);if("default"in s.value){let c=g3(s.value.default,`${e}.${i}.default`);if(!c.ok)return c;n[i]={default:c.value}}else if("value"in s.value){let c=g3(s.value.value,`${e}.${i}.value`);if(!c.ok)return c;n[i]={value:c.value}}else if("alias"in s.value){let c=Q(Ie(s.value.alias,`${e}.${i}.alias`));if(!c.ok)return c;n[i]={alias:c.value}}else if("fromAliasUrl"in s.value){let c=Q(Ie(s.value.fromAliasUrl,`${e}.${i}.fromAliasUrl`));if(!c.ok)return c;n[i]={fromAliasUrl:c.value}}else{if(s.value.required!==!0)return Ee(`${e}.${i}.required must be true`);let c=v3(s.value.secret,`${e}.${i}.secret`);if(!c.ok)return c;n[i]={required:!0,secret:c.value}}}return S(n)}function Sre(t,e){let r=Vt(t,e);if(!r.ok)return r;switch(r.value.type){case"docker_compose":{let n=Q(Ie(r.value.file,`${e}.file`));if(!n.ok)return n;let i=$r(r.value.projectName,`${e}.projectName`);return i.ok?S({type:"docker_compose",file:n.value,projectName:i.value}):i}case"command":{let n=Q(Ie(r.value.command,`${e}.command`));if(!n.ok)return n;let i=$r(r.value.stopCommand,`${e}.stopCommand`);return i.ok?S({type:"command",command:n.value,stopCommand:i.value}):i}default:return Ee(`${e}.type must be docker_compose or command`)}}function bre(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n={};for(let[i,o]of Object.entries(r.value)){if(!/^[A-Za-z][A-Za-z0-9_-]*$/.test(i))return Ee(`${e}.${i} must start with a letter and contain only letters, numbers, "_" or "-"`);let s=Vt(o,`${e}.${i}`);if(!s.ok)return s;let a="target"in s.value,c="service"in s.value,u="containerPort"in s.value;if(a&&(c||u||"healthPath"in s.value))return Ee(`${e}.${i} must not mix target with docker service fields`);if(a){let p=Q(Ie(s.value.target,`${e}.${i}.target`));if(!p.ok)return p;n[i]={target:p.value};continue}if(!c||!u)return Ee(`${e}.${i} must declare either target or both service and containerPort`);let d=Q(Ie(s.value.service,`${e}.${i}.service`));if(!d.ok)return d;let l=Q(Da(s.value.containerPort,`${e}.${i}.containerPort`));if(!l.ok)return l;let f=$r(s.value.healthPath,`${e}.${i}.healthPath`);if(!f.ok)return f;n[i]={service:d.value,containerPort:l.value,healthPath:f.value}}return S(n)}function wre(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n=nre(r.value.paths,`${e}.paths`);if(!n.ok)return n;let i=v3(r.value.attach,`${e}.attach`);return i.ok?S({attach:i.value,paths:n.value}):i}function g3(t,e){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"?S(t):Ee(`${e} must be a string, number, or boolean`)}function GS(t,e,r){let n=new Set;for(let i of t){if(n.has(i))return Ee(`${e} contains duplicate ${r}: ${i}`);n.add(i)}return S(void 0)}function Ire(t,e){let r=Vt(t,e);if(!r.ok)return r;switch(r.value.type){case"initial-execute-team":case"request":{let n=Q(Gi(r.value.requestId));return n.ok?S({type:r.value.type,requestId:n.value}):n}case"move":{let n=Q(_n(r.value.moveId));if(!n.ok)return n;let i=Q(Yr(r.value.fromNodeId));return i.ok?S({type:"move",moveId:n.value,fromNodeId:i.value}):i}case"hunsu":{let n=Q(Vo(r.value.hunsuId));if(!n.ok)return n;let i=Q(Yr(r.value.fromNodeId));return i.ok?S({type:"hunsu",hunsuId:n.value,fromNodeId:i.value}):i}default:return Ee(`${e}.type must be a supported node source type`)}}function y3(t,e){switch(e){case"active":return S({...t,status:"active"});case"paused":return S({...t,status:"paused"});case"complete":return S({...t,status:"complete"});case"failed":return S({...t,status:"failed"});case"abandoned":return S({...t,status:"abandoned"})}}function Ere(t,e,r,n){let i=Vf(t,e,r);return i.ok?S({...n,status:"pending"}):i}function Vf(t,e,r){let n=r.find(i=>t[i]!==void 0);return n?Ee(`${e}.${n} is not valid for this lifecycle status`):S(void 0)}function Q(t){return t.ok?S(t.value):Ee(t.error.message)}function B3(t,e){let r=Vt(t,"Command");if(!r.ok)return r;switch(r.value.type){case"RegisterHunsuOrigin":{let n=WS(r.value.origin,"origin");if(!n.ok)return n;let i=$r(r.value.actor,"actor");if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:"RegisterHunsuOrigin",origin:n.value,actor:i.value,at:o.value}):o}case"CreateInitialTeam":{let n=Ut(Gi(r.value.requestId));if(!n.ok)return n;let i=Ut(fr(r.value.lineId));if(!i.ok)return i;let o=Ut(xS(r.value.title));if(!o.ok)return o;let s=Ut(SS(r.value.goal));if(!s.ok)return s;let a=$S(r.value.destinations,"destinations");if(!a.ok)return a;let c=r.value.harness===void 0?S(void 0):e(r.value.harness);if(!c.ok)return c;let u=au(r.value.harnessLock,"harnessLock",["team"]);if(!u.ok)return u;let d=r.value.teamName===void 0?S(void 0):Ut(cn(r.value.teamName));if(!d.ok)return d;let l=$r(r.value.actor,"actor");if(!l.ok)return l;let f=ir(r.value.at);return f.ok?S({type:"CreateInitialTeam",requestId:n.value,lineId:i.value,title:o.value,goal:s.value,destinations:a.value,harness:c.value,harnessLock:u.value,teamName:d.value,actor:l.value,at:f.value}):f}case"StartLine":{let n=Ut(Gi(r.value.requestId));if(!n.ok)return n;let i=Ut(fr(r.value.lineId));if(!i.ok)return i;let o=r.value.teamName===void 0?S(void 0):Ut(cn(r.value.teamName));if(!o.ok)return o;let s=ir(r.value.at);return s.ok?S({type:"StartLine",lineId:i.value,requestId:n.value,teamName:o.value,at:s.value}):s}case"PauseLine":case"ResumeLine":{let n=Ut(fr(r.value.lineId));if(!n.ok)return n;let i=ir(r.value.at);return i.ok?S({type:r.value.type,lineId:n.value,at:i.value}):i}case"AcceptLine":case"RejectLine":{let n=Ut(fr(r.value.lineId));if(!n.ok)return n;let i=$r(r.value.reason,"reason");if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:r.value.type,lineId:n.value,reason:i.value,at:o.value}):o}case"ClaimDestination":case"StartDestinationWork":{let n=Ut(fo(r.value.destinationId));if(!n.ok)return n;let i=Ut(Ie(r.value.actor,"actor"));if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:r.value.type,destinationId:n.value,actor:i.value,at:o.value}):o}case"ReportDestinationBlocked":{let n=Ut(fo(r.value.destinationId));if(!n.ok)return n;let i=Ut(Wo(r.value.reason,"reason"));if(!i.ok)return i;let o=Ut(Ie(r.value.actor,"actor"));if(!o.ok)return o;let s=ir(r.value.at);return s.ok?S({type:"ReportDestinationBlocked",destinationId:n.value,reason:i.value,actor:o.value,at:s.value}):s}case"RecordMove":{let n=Ut(fr(r.value.lineId));if(!n.ok)return n;let i=Ut(_n(r.value.moveId));if(!i.ok)return i;let o=Ut(qo(r.value.summary));if(!o.ok)return o;let s=Ut($d(r.value.commit,"commit"));if(!s.ok)return s;let a=LS(r.value.reachedDestinationIds,"reachedDestinationIds",!0);if(!a.ok)return a;let c=Ut($f(a.value,"reachedDestinationIds"));if(!c.ok)return c;let u=FS(r.value.evidence,"evidence",!0);if(!u.ok)return u;let d=r.value.risks===void 0?S(void 0):jS(r.value.risks,"risks");if(!d.ok)return d;let l=VS(r.value.executeId);if(!l.ok)return l;let f=su(r.value.conversationRef,"conversationRef");if(!f.ok)return f;let p=qS(r.value.worktree,"worktree");if(!p.ok)return p;let g=Ut(Ie(r.value.actor,"actor"));if(!g.ok)return g;let v=ir(r.value.at);return v.ok?S({type:"RecordMove",lineId:n.value,moveId:i.value,summary:o.value,commit:s.value,reachedDestinationIds:c.value,evidence:u.value,risks:d.value,executeId:l.value,conversationRef:f.value,worktree:p.value,actor:g.value,at:v.value}):v}case"RecordAccident":{let n=Ut(fr(r.value.lineId));if(!n.ok)return n;let i=Ut(_n(r.value.moveId));if(!i.ok)return i;let o=Ut(qo(r.value.summary));if(!o.ok)return o;let s=Ut($d(r.value.commit,"commit"));if(!s.ok)return s;let a=FS(r.value.evidence,"evidence",!0);if(!a.ok)return a;let c=Ut(Wo(r.value.failureReason));if(!c.ok)return c;let u=r.value.risks===void 0?S(void 0):jS(r.value.risks,"risks");if(!u.ok)return u;let d=VS(r.value.executeId);if(!d.ok)return d;let l=su(r.value.conversationRef,"conversationRef");if(!l.ok)return l;let f=qS(r.value.worktree,"worktree");if(!f.ok)return f;let p=Ut(Ie(r.value.actor,"actor"));if(!p.ok)return p;let g=ir(r.value.at);return g.ok?S({type:"RecordAccident",lineId:n.value,moveId:i.value,summary:o.value,commit:s.value,evidence:a.value,failureReason:c.value,risks:u.value,executeId:d.value,conversationRef:l.value,worktree:f.value,actor:p.value,at:g.value}):g}case"AttachMoveEvidence":{let n=Ut(_n(r.value.moveId));if(!n.ok)return n;let i=dg(r.value.artifact,"artifact");if(!i.ok)return i;let o=Ut(Ie(r.value.actor,"actor"));if(!o.ok)return o;let s=ir(r.value.at);return s.ok?S({type:"AttachMoveEvidence",moveId:n.value,artifact:i.value,actor:o.value,at:s.value}):s}case"ConfirmHunsuDraft":{let n=k3(r.value.draft,"draft",e);if(!n.ok)return n;if(n.value.status!=="ready")return Ee(`HUNSU Draft ${n.value.id} cannot be confirmed from status ${n.value.status}`);let i=Ut(Ie(r.value.actor,"actor"));if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:"ConfirmHunsuDraft",draft:n.value,actor:i.value,at:o.value}):o}case"CreateSkillDraft":{let n=Ut(iu(r.value.draftId));if(!n.ok)return n;let i=Ut(fr(r.value.lineId));if(!i.ok)return i;let o=Ut(Ie(r.value.name,"name"));if(!o.ok)return o;let s=Ut(Ie(r.value.draftPath,"draftPath"));if(!s.ok)return s;let a=$r(r.value.sourcePath,"sourcePath");if(!a.ok)return a;let c=Ut(Ie(r.value.actor,"actor"));if(!c.ok)return c;let u=ir(r.value.at);return u.ok?S({type:"CreateSkillDraft",draftId:n.value,lineId:i.value,name:o.value,draftPath:s.value,sourcePath:a.value,actor:c.value,at:u.value}):u}case"DiscardSkillDraft":{let n=Ut(iu(r.value.draftId));if(!n.ok)return n;let i=Ut(Ie(r.value.actor,"actor"));if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:"DiscardSkillDraft",draftId:n.value,actor:i.value,at:o.value}):o}case"RecordArtifact":{let n=dg(r.value.artifact,"artifact");if(!n.ok)return n;let i=ir(r.value.at);return i.ok?S({type:"RecordArtifact",artifact:n.value,at:i.value}):i}default:return Ee(`Unsupported command type: ${String(r.value.type)}`)}}function Ut(t){return t.ok?S(t.value):Ee(t.error.message)}function D3(t,e){let r=Vt(t,"DomainEvent");if(!r.ok)return r;switch(r.value.type){case"HunsuOriginRegistered":{let n=WS(r.value.origin,"event.origin");if(!n.ok)return n;let i=ir(r.value.at,"event.at");return i.ok?S({type:"HunsuOriginRegistered",origin:n.value,at:i.value}):i}case"InitialTeamCreated":{let n=g1(r.value.request,"event.request");if(!n.ok)return n;let i=v1(r.value.line,"event.line");if(!i.ok)return i;let o=$S(r.value.destinations,"event.destinations");if(!o.ok)return o;let s=r.value.harness===void 0?S(void 0):e(r.value.harness);if(!s.ok)return s;let a=au(r.value.harnessLock,"event.harnessLock",["team"]);if(!a.ok)return a;let c=ir(r.value.at,"event.at");return c.ok?S({type:"InitialTeamCreated",request:n.value,line:i.value,destinations:o.value,harness:s.value,harnessLock:a.value,at:c.value}):c}case"RequestCreated":{let n=g1(r.value.request,"event.request");return n.ok?S({type:"RequestCreated",request:n.value}):n}case"DestinationDeclared":{let n=Gn(Gi(r.value.requestId));if(!n.ok)return n;let i=US(r.value.destination,"event.destination");if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:"DestinationDeclared",requestId:n.value,destination:i.value,at:o.value}):o}case"HarnessSeeded":{let n=Gn(Gi(r.value.requestId));if(!n.ok)return n;let i=e(r.value.harness);if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:"HarnessSeeded",requestId:n.value,harness:i.value,at:o.value}):o}case"LineStarted":{let n=v1(r.value.line,"event.line");return n.ok?S({type:"LineStarted",line:n.value}):n}case"SkillDraftCreated":{let n=E3(r.value.draft,"event.draft");return n.ok?S({type:"SkillDraftCreated",draft:n.value}):n}case"SkillDraftAccepted":{let n=Gn(iu(r.value.draftId));if(!n.ok)return n;let i=y1(r.value.skill,"event.skill");if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:"SkillDraftAccepted",draftId:n.value,skill:i.value,at:o.value}):o}case"SkillDraftDiscarded":{let n=Gn(iu(r.value.draftId));if(!n.ok)return n;let i=ir(r.value.at,"event.at");return i.ok?S({type:"SkillDraftDiscarded",draftId:n.value,at:i.value}):i}case"NodeCreated":{let n=P3(r.value.node,"event.node",e);return n.ok?S({type:"NodeCreated",node:n.value}):n}case"LinePaused":case"LineResumed":{let n=Gn(fr(r.value.lineId));if(!n.ok)return n;let i=ir(r.value.at,"event.at");return i.ok?S({type:r.value.type,lineId:n.value,at:i.value}):i}case"LineAccepted":case"LineRejected":{let n=Gn(fr(r.value.lineId));if(!n.ok)return n;let i=$r(r.value.reason,"event.reason");if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:r.value.type,lineId:n.value,reason:i.value,at:o.value}):o}case"DestinationClaimed":case"DestinationWorkStarted":{let n=Gn(fo(r.value.destinationId));if(!n.ok)return n;let i=h1(r.value.actor,"event.actor");if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:r.value.type,destinationId:n.value,actor:i.value,at:o.value}):o}case"DestinationBlocked":{let n=Gn(fo(r.value.destinationId));if(!n.ok)return n;let i=Gn(Wo(r.value.reason,"event.reason"));if(!i.ok)return i;let o=h1(r.value.actor,"event.actor");if(!o.ok)return o;let s=ir(r.value.at,"event.at");return s.ok?S({type:"DestinationBlocked",destinationId:n.value,reason:i.value,actor:o.value,at:s.value}):s}case"MoveRecorded":{let n=R3(r.value.move,"event.move",e);return n.ok?S({type:"MoveRecorded",move:n.value}):n}case"DestinationReached":{let n=Gn(fo(r.value.destinationId));if(!n.ok)return n;let i=Gn(_n(r.value.moveId));if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:"DestinationReached",destinationId:n.value,moveId:i.value,at:o.value}):o}case"HunsuRecorded":{let n=A3(r.value.hunsu,"event.hunsu",e);return n.ok?S({type:"HunsuRecorded",hunsu:n.value}):n}case"LineForkedByHunsu":{let n=Gn(Vo(r.value.hunsuId));if(!n.ok)return n;let i=Gn(fr(r.value.fromLineId));if(!i.ok)return i;let o=Gn(fr(r.value.newLineId));if(!o.ok)return o;let s=r.value.newTeamName??r.value.newTeamName,a=s===void 0?S(void 0):Gn(cn(s,(s===r.value.newTeamName,"event.newTeamName")));if(!a.ok)return a;let c=lg(r.value.fromMoveId);if(!c.ok)return c;let u=Gn(Gi(r.value.requestId));if(!u.ok)return u;let d=ir(r.value.at,"event.at");return d.ok?S({type:"LineForkedByHunsu",hunsuId:n.value,fromLineId:i.value,newLineId:o.value,newTeamName:a.value,fromMoveId:c.value,requestId:u.value,at:d.value}):d}case"ArtifactRecorded":{let n=dg(r.value.artifact,"event.artifact");if(!n.ok)return n;let i=ir(r.value.at,"event.at");return i.ok?S({type:"ArtifactRecorded",artifact:n.value,at:i.value}):i}default:return Ee(`Unsupported Hunsu domain event type: ${String(r.value.type)}`)}}function Gn(t){return t.ok?S(t.value):Ee(t.error.message)}var S1=["T1","Gen.G","Hanwha Life Esports","KT Rolster","Dplus KIA","DRX","Nongshim RedForce","BNK FearX","DN Freecs","OKSavingsBank BRION","Bilibili Gaming","JD Gaming","Top Esports","Anyone's Legend","Ninjas in Pyjamas","Weibo Gaming","Invictus Gaming","Team WE","LNG Esports","TT Gaming","LGD Gaming","EDward Gaming","Ultra Prime","Oh My God","Cloud9","Team Liquid","FlyQuest","Shopify Rebellion","100 Thieves","Dignitas","LYON","Sentinels","G2 Esports","Fnatic","Karmine Corp","Team Vitality","Team Heretics","GIANTX","Movistar KOI","SK Gaming","Natus Vincere","Rogue"];function zr(t,e){return t.some(r=>r.id===e.id)?t.map(r=>r.id===e.id?e:r):[...t,e]}function b1(t){return Array.from(new Set(t))}function Os(t){return Zt(Yr(`${t}:root`))}function zS(t){let e=t.nodes.reduce((r,n)=>{let i=n.id.match(/^N(\d+)$/i);return i?Math.max(r,Number(i[1])):r},0);return Zt(Yr(`N${String(e+1).padStart(4,"0")}`))}function Ms(t){let e=new Set(t.lines.map(n=>n.teamName).filter(n=>!!n)),r=S1.find(n=>!e.has(n));return r?Zt(cn(r)):Zt(cn(`${S1[t.lines.length%S1.length]}-${t.lines.length+1}`))}function N3(t,e){if(!t.requests.some(r=>r.id===e))throw new pr(`Unknown request: ${e}`)}function zn(t,e){let r=t.lines.find(n=>n.id===e);if(!r)throw new pr(`Unknown line: ${e}`);return r}function w1(t){if(t.status!=="active")throw new pr(`TEAM line ${t.id} cannot continue from status ${t.status}`)}function Vd(t,e){let r=t.nodes.find(n=>n.id===e);if(!r)throw new pr(`Unknown node: ${e}`);return r}function KS(t,e){return Vd(t,Os(e))}function JS(t,e){return Vd(t,e.currentNodeId)}function I1(t,e){let r=t.moves.find(n=>n.id===e);if(!r)throw new pr(`Unknown MOVE: ${e}`);return r}function O3(t,e){let r=t.skillDrafts.find(n=>n.id===e);if(!r)throw new pr(`Unknown Skill Draft: ${e}`);return r}function XS(t,e){let r=t.destinations.find(n=>n.id===e);if(!r)throw new pr(`Unknown Destination: ${e}`);return r}function kre(t,e){let r=t.destinations.find(n=>n.id===e);if(!r)throw new pr(`Unknown Destination in node ${t.id}: ${e}`);return r}function M3(t,e){let r=XS(t,e);if(r.status!=="pending"&&r.status!=="blocked")throw new pr(`Destination ${e} cannot be claimed from status ${r.status}`);return r}function L3(t,e){let r=XS(t,e);if(U3(r))throw new pr(`Destination ${e} cannot be blocked from status ${r.status}`);return r}function H3(t,e){let r=kre(t,e);if(U3(r))throw new pr(`Destination ${e} cannot be reached from status ${r.status}`);return r}function U3(t){return t.status==="reached"||t.status==="canceled"||t.status==="superseded"}function pg(t,e){if(t.length===0)throw new pr(e)}function $3(t,e){if(t.length!==1)throw new pr(e)}function F3(t,e){if(t.trim()==="")throw new pr(e)}function cu(){return{origins:[],requests:[],destinations:[],nodes:[],edges:[],lines:[],moves:[],hunsus:[],skillDrafts:[],artifacts:[],artifactActions:[],futureConstraints:[]}}function q3(t){return zi(t.reduce((e,r)=>R1(e,r),cu()))}function uu(t){let e=W3(t);if(!e.ok)return e;try{return S(q3(t))}catch(r){return oe(Xh(r))}}function W3(t){let e={requestIds:new Set,destinationIds:new Set,lineIds:new Set,moveIds:new Set,hunsuIds:new Set,skillDraftIds:new Set,artifactIds:new Set},r=cu();for(let n=0;n<t.length;n+=1){let i=t[n],o=Are(i,n,e);if(!o.ok)return o;let s=Cre(i,n,r);if(!s.ok)return s;try{r=R1(r,i)}catch(c){return oe(Xh(c))}let a=Ure(r,n);if(!a.ok)return a}return S(t)}function R1(t,e){switch(e.type){case"HunsuOriginRegistered":return{...t,origins:Rre(t.origins,e.origin)};case"InitialTeamCreated":return Fre(t,e);case"RequestCreated":return zi({...t,requests:zr(t.requests,e.request)});case"DestinationDeclared":return jre(t,e.requestId,e.destination,e.at);case"HarnessSeeded":return qre(t,e.requestId,e.harness,e.at);case"LineStarted":return zi({...t,lines:zr(t.lines,G3(t,e.line))});case"SkillDraftCreated":return{...t,skillDrafts:zr(t.skillDrafts,e.draft)};case"SkillDraftAccepted":return{...t,skillDrafts:t.skillDrafts.map(r=>r.id===e.draftId?Zt(l1(r,{...e.skill})):r)};case"SkillDraftDiscarded":return{...t,skillDrafts:t.skillDrafts.map(r=>r.id===e.draftId?Zt(f1(r)):r)};case"NodeCreated":return zi({...t,nodes:zr(t.nodes,e.node)});case"LinePaused":return mg(t,e.lineId,sg);case"LineResumed":return mg(t,e.lineId,ag);case"LineAccepted":return mg(t,e.lineId,cg);case"LineRejected":return mg(t,e.lineId,ug);case"DestinationClaimed":return k1(t,e.destinationId,r=>rg(r,{claimedBy:e.actor,updatedBy:"TEAM",updatedAt:e.at}));case"DestinationWorkStarted":return k1(t,e.destinationId,r=>ng(r,{claimedBy:e.actor,updatedBy:"TEAM",updatedAt:e.at}));case"DestinationBlocked":return k1(t,e.destinationId,r=>ig(r,{blockedReason:e.reason,updatedBy:"TEAM",updatedAt:e.at}));case"MoveRecorded":return Wre(t,e.move);case"DestinationReached":return t;case"HunsuRecorded":return Vre(t,e.hunsu);case"LineForkedByHunsu":return Gre(t,e);case"ArtifactRecorded":return{...t,artifacts:zr(t.artifacts,e.artifact)}}}function Rre(t,e){return t.some(r=>r.name===e.name)?t.map(r=>r.name===e.name?{...e}:{...r}):[...t.map(r=>({...r})),{...e}]}function Are(t,e,r){switch(t.type){case"InitialTeamCreated":{let n=Go(r.requestIds,"RequestId",t.request.id,e);if(!n.ok)return n;let i=Go(r.lineIds,"LineId",t.line.id,e);return i.ok?$re(r.destinationIds,t.destinations,e):i}case"RequestCreated":return Go(r.requestIds,"RequestId",t.request.id,e);case"DestinationDeclared":return Go(r.destinationIds,"DestinationId",t.destination.id,e);case"LineStarted":return Go(r.lineIds,"LineId",t.line.id,e);case"SkillDraftCreated":return Go(r.skillDraftIds,"SkillDraftId",t.draft.id,e);case"MoveRecorded":return Go(r.moveIds,"MoveId",t.move.id,e);case"HunsuRecorded":return Go(r.hunsuIds,"HunsuId",t.hunsu.id,e);case"LineForkedByHunsu":return Go(r.lineIds,"LineId",t.newLineId,e);case"ArtifactRecorded":return Go(r.artifactIds,"ArtifactId",t.artifact.id,e);case"HunsuOriginRegistered":case"HarnessSeeded":case"SkillDraftAccepted":case"SkillDraftDiscarded":case"NodeCreated":case"LinePaused":case"LineResumed":case"LineAccepted":case"LineRejected":case"DestinationClaimed":case"DestinationWorkStarted":case"DestinationBlocked":case"DestinationReached":return S(void 0)}}function Cre(t,e,r){switch(t.type){case"InitialTeamCreated":return Pre(t,e);case"DestinationDeclared":return r.requests.some(n=>n.id===t.requestId)?S(void 0):Le(e,`Unknown request: ${t.requestId}`);case"HarnessSeeded":return r.nodes.some(n=>n.id===Os(t.requestId))?S(void 0):Le(e,`Unknown root node for request: ${t.requestId}`);case"LineStarted":return _re(r,t.line,e);case"SkillDraftAccepted":return j3(r,t.draftId,e,n=>l1(n,t.skill));case"SkillDraftDiscarded":return j3(r,t.draftId,e,f1);case"NodeCreated":return Tre(r,t.node,e);case"LinePaused":return YS(r,t.lineId,e,sg);case"LineResumed":return YS(r,t.lineId,e,ag);case"LineAccepted":return YS(r,t.lineId,e,cg);case"LineRejected":return YS(r,t.lineId,e,ug);case"DestinationClaimed":return E1(r,t.destinationId,e,n=>rg(n,{claimedBy:t.actor,updatedBy:"TEAM",updatedAt:t.at}));case"DestinationWorkStarted":return E1(r,t.destinationId,e,n=>ng(n,{claimedBy:t.actor,updatedBy:"TEAM",updatedAt:t.at}));case"DestinationBlocked":return E1(r,t.destinationId,e,n=>ig(n,{blockedReason:t.reason,updatedBy:"TEAM",updatedAt:t.at}));case"MoveRecorded":return Bre(r,t.move,e);case"HunsuRecorded":return Dre(r,t.hunsu,e);case"LineForkedByHunsu":return Lre(r,t,e);case"ArtifactRecorded":return Hre(r,t.artifact,e);case"DestinationReached":return Le(e,"DestinationReached is a legacy no-op event and cannot be projected");case"HunsuOriginRegistered":case"RequestCreated":case"SkillDraftCreated":return S(void 0)}}function Pre(t,e){return t.line.requestId!==t.request.id?Le(e,`Initial line ${t.line.id} request ${t.line.requestId} does not match request ${t.request.id}`):t.line.status!=="active"?Le(e,`Initial line ${t.line.id} cannot start from status ${t.line.status}`):t.line.rootNodeId!==t.line.currentNodeId?Le(e,`Initial line ${t.line.id} currentNodeId must start at rootNodeId`):t.line.nodeIds.includes(t.line.rootNodeId)?t.line.moveIds.length!==0?Le(e,`Initial line ${t.line.id} cannot start with MOVEs`):"parentLineId"in t.line||"forkedFromMoveId"in t.line?Le(e,`Initial line ${t.line.id} cannot carry fork metadata`):S(void 0):Le(e,`Initial line ${t.line.id} nodeIds must include rootNodeId ${t.line.rootNodeId}`)}function _re(t,e,r){if(!t.requests.some(i=>i.id===e.requestId))return Le(r,`Unknown request: ${e.requestId}`);if(e.status!=="active")return Le(r,`Line ${e.id} cannot start from status ${e.status}`);let n=t.nodes.find(i=>i.id===Os(e.requestId));return n?e.rootNodeId!==n.id||e.currentNodeId!==n.id||!e.nodeIds.includes(n.id)?Le(r,`Line ${e.id} must start at request root node ${n.id}`):e.moveIds.length!==0?Le(r,`Line ${e.id} cannot start with MOVEs`):"parentLineId"in e||"forkedFromMoveId"in e?Le(r,`LineStarted ${e.id} cannot carry fork metadata`):S(void 0):Le(r,`Unknown root node for request: ${e.requestId}`)}function j3(t,e,r,n){let i=t.skillDrafts.find(o=>o.id===e);return i?QS(r,n(i)):Le(r,`Unknown Skill Draft: ${e}`)}function Tre(t,e,r){if(e.lineId){let i=t.lines.find(o=>o.id===e.lineId);if(!i)return Le(r,`Unknown line: ${e.lineId}`);if(i.requestId!==e.requestId)return Le(r,`Node ${e.id} request ${e.requestId} does not match line ${i.id} request ${i.requestId}`)}let n=e.source;switch(n.type){case"initial-execute-team":case"request":return t.requests.some(i=>i.id===n.requestId)?S(void 0):Le(r,`Unknown request: ${n.requestId}`);case"move":{let i=t.moves.find(o=>o.id===n.moveId);return i?i.toNodeId===e.id&&i.fromNodeId===n.fromNodeId?S(void 0):Le(r,`Node ${e.id} does not match MOVE ${i.id} topology`):Le(r,`Unknown MOVE: ${n.moveId}`)}case"hunsu":{let i=t.hunsus.find(o=>o.id===n.hunsuId);return i?i.toNodeId===e.id&&i.fromNodeId===n.fromNodeId?S(void 0):Le(r,`Node ${e.id} does not match HUNSU ${i.id} topology`):Le(r,`Unknown HUNSU: ${n.hunsuId}`)}}}function YS(t,e,r,n){let i=t.lines.find(o=>o.id===e);return i?QS(r,n(i)):Le(r,`Unknown line: ${e}`)}function E1(t,e,r,n){let i=new Set(t.lines.map(s=>s.currentNodeId)),o=t.nodes.filter(s=>i.has(s.id)).flatMap(s=>s.destinations.filter(a=>a.id===e));if(o.length===0)return Le(r,`Unknown Destination in active route nodes: ${e}`);for(let s of o){let a=QS(r,n(s));if(!a.ok)return a}return S(void 0)}function Bre(t,e,r){let n=t.lines.find(s=>s.id===e.lineId);if(!n)return Le(r,`Unknown line: ${e.lineId}`);if(n.status!=="active")return Le(r,`TEAM line ${n.id} cannot continue from status ${n.status}`);let i=t.nodes.find(s=>s.id===e.fromNodeId);if(!i)return Le(r,`Unknown node: ${e.fromNodeId}`);if(i.id!==n.currentNodeId||i.requestId!==n.requestId)return Le(r,`MOVE ${e.id} source node ${i.id} does not match current node for line ${n.id}`);if(e.toNodeId===e.fromNodeId)return Le(r,`MOVE ${e.id} cannot be a self-loop`);if(t.nodes.some(s=>s.id===e.toNodeId))return Le(r,`MOVE ${e.id} target node already exists: ${e.toNodeId}`);let o=NS(e);if(!o.ok)return Le(r,o.error.message);for(let s of e.reachedDestinationIds){let a=Mre(i,s,r);if(!a.ok)return a;let c=QS(r,og(a.value,{reachedByMoveId:e.id,updatedBy:"TEAM",updatedAt:e.recordedAt}));if(!c.ok)return c}return S(void 0)}function Dre(t,e,r){let n=t.lines.find(s=>s.id===e.lineId);if(!n)return Le(r,`Unknown line: ${e.lineId}`);let i=t.nodes.find(s=>s.id===e.fromNodeId);if(!i)return Le(r,`Unknown node: ${e.fromNodeId}`);if(i.requestId!==n.requestId||!n.nodeIds.includes(i.id))return Le(r,`Node ${i.id} does not belong to line ${n.id}`);if(e.toNodeId===e.fromNodeId)return Le(r,`HUNSU ${e.id} cannot be a self-loop`);if(t.nodes.some(s=>s.id===e.toNodeId))return Le(r,`HUNSU ${e.id} target node already exists: ${e.toNodeId}`);let o=Nre(t,e,n,i,r);return o.ok?Ore(t,e,i,r):o}function Nre(t,e,r,n,i){switch(e.target.type){case"line":{let o=t.lines.find(s=>s.id===e.target.id);return o?o.id===e.lineId?S(void 0):Le(i,`HUNSU target line ${o.id} does not match event line ${e.lineId}`):Le(i,`Unknown line: ${e.target.id}`)}case"node":{let o=t.nodes.find(s=>s.id===e.target.id);return o?o.requestId===r.requestId&&r.nodeIds.includes(o.id)?S(void 0):Le(i,`Node ${o.id} does not belong to line ${r.id}`):Le(i,`Unknown node: ${e.target.id}`)}case"move":{let o=V3(t,r,e.target.id,i);return o.ok?S(void 0):o}case"destination":return n.destinations.some(o=>o.id===e.target.id)?S(void 0):Le(i,`Unknown Destination in node ${n.id}: ${e.target.id}`)}return Le(i,`Unsupported HUNSU target: ${JSON.stringify(e.target)}`)}function Ore(t,e,r,n){if(e.changedFiles.length===0)return Le(n,`HUNSU ${e.id} must include changed runtime files`);let i=new Set;for(let c of e.changedFiles){let u=String(c.path);if(!u.startsWith(".hunsu-request/"))return Le(n,`HUNSU changed file must be under .hunsu-request: ${u}`);if(i.has(u))return Le(n,`Duplicate HUNSU changed file: ${u}`);i.add(u)}if(e.teamSnapshot.moveOrdinal!==r.ordinal)return Le(n,`HUNSU ${e.id} Team snapshot ordinal ${e.teamSnapshot.moveOrdinal} does not match source node ordinal ${r.ordinal}`);let o=new Set(r.destinations.map(c=>String(c.id))),s=new Set(t.destinations.map(c=>String(c.id))),a=new Set;for(let c of e.teamSnapshot.destinations){let u=String(c.id);if(a.has(u))return Le(n,`Duplicate DestinationId in HUNSU Team snapshot: ${u}`);if(a.add(u),c.requestId!==r.requestId)return Le(n,`Destination ${c.id} request ${c.requestId} does not match source request ${r.requestId}`);if(!o.has(u)&&s.has(u))return Le(n,`Duplicate DestinationId in HUNSU Team snapshot: ${u}`)}return S(void 0)}function Mre(t,e,r){let n=t.destinations.find(i=>i.id===e);return n?S(n):Le(r,`Unknown Destination in node ${t.id}: ${e}`)}function V3(t,e,r,n){let i=t.moves.find(o=>o.id===r);return i?i.lineId===e.id||e.moveIds.includes(i.id)?S(i):Le(n,`MOVE ${i.id} does not belong to line ${e.id}`):Le(n,`Unknown MOVE: ${r}`)}function Lre(t,e,r){let n=t.lines.find(o=>o.id===e.fromLineId);if(!n)return Le(r,`Unknown line: ${e.fromLineId}`);if(e.requestId!==n.requestId)return Le(r,`LineForkedByHunsu request ${e.requestId} does not match parent line ${n.id}`);let i=t.hunsus.find(o=>o.id===e.hunsuId);if(!i)return Le(r,`Unknown HUNSU: ${e.hunsuId}`);if(i.lineId!==e.fromLineId)return Le(r,`HUNSU ${i.id} does not belong to parent line ${e.fromLineId}`);if(i.newLineId!==e.newLineId)return Le(r,`Line fork ${e.newLineId} does not match HUNSU recorded new line ${i.newLineId}`);if(i.sourceMoveId!==e.fromMoveId)return Le(r,`Line fork ${e.newLineId} fromMoveId does not match HUNSU source move`);if(i.newTeamName!==e.newTeamName)return Le(r,`Line fork ${e.newLineId} Team name does not match HUNSU record`);if(e.fromMoveId){let o=V3(t,n,e.fromMoveId,r);if(!o.ok)return o;if(o.value.toNodeId!==i.fromNodeId)return Le(r,`Line fork source MOVE ${o.value.id} does not end at HUNSU source node ${i.fromNodeId}`)}return t.nodes.some(o=>o.id===i.toNodeId)?S(void 0):Le(r,`Unknown HUNSU target node: ${i.toNodeId}`)}function Hre(t,e,r){switch(e.owner.type){case"move":return t.moves.some(n=>n.id===e.owner.id)?S(void 0):Le(r,`Unknown MOVE: ${e.owner.id}`);case"hunsu":return t.hunsus.some(n=>n.id===e.owner.id)?S(void 0):Le(r,`Unknown HUNSU: ${e.owner.id}`);case"line":return t.lines.some(n=>n.id===e.owner.id)?S(void 0):Le(r,`Unknown line: ${e.owner.id}`)}}function Ure(t,e){for(let r of t.edges){if(!t.nodes.find(o=>o.id===r.fromNodeId))return Le(e,`Edge ${r.id} references missing fromNode ${r.fromNodeId}`);if(!t.nodes.find(o=>o.id===r.toNodeId))return Le(e,`Edge ${r.id} references missing toNode ${r.toNodeId}`);switch(r.type){case"move":{let o=t.moves.find(s=>s.id===r.moveId);if(!o)return Le(e,`MOVE edge ${r.id} references missing MOVE ${r.moveId}`);if(o.lineId!==r.lineId||o.fromNodeId!==r.fromNodeId||o.toNodeId!==r.toNodeId||o.id!==r.id)return Le(e,`MOVE edge ${r.id} does not match MOVE ${o.id}`);break}case"hunsu":{let o=t.hunsus.find(s=>s.id===r.hunsuId);if(!o)return Le(e,`HUNSU edge ${r.id} references missing HUNSU ${r.hunsuId}`);if(o.lineId!==r.lineId||o.fromNodeId!==r.fromNodeId||o.toNodeId!==r.toNodeId||o.id!==r.id)return Le(e,`HUNSU edge ${r.id} does not match HUNSU ${o.id}`);break}}}return S(void 0)}function QS(t,e){return e.ok?S(void 0):Le(t,e.error.message)}function Le(t,e){return Ee(`Invalid event stream at event ${t}: ${e}`)}function $re(t,e,r){for(let n of e){let i=Go(t,"DestinationId",n.id,r);if(!i.ok)return i}return S(void 0)}function Go(t,e,r,n){return t.has(r)?Ee(`Duplicate ${e} in event stream at event ${n}: ${r}`):(t.add(r),S(void 0))}function Fre(t,e){let r=e.destinations.map(s=>J3(e.request.id,s,"initial-execute-team",e.at)),n=Ei(e.harness??Vn()),i={id:e.line.rootNodeId,requestId:e.request.id,lineId:e.line.id,teamName:e.line.teamName,ordinal:0,destinations:r,harness:n,harnessGraph:Ds(n),harnessLock:e.harnessLock?{...e.harnessLock}:void 0,executorPackageBindings:[],resourcePackageBindings:[],artifactActions:[],source:{type:"initial-execute-team",requestId:e.request.id},createdAt:e.at??e.request.createdAt},o=G3({...t,requests:zr(t.requests,e.request),nodes:zr(t.nodes,i)},{...e.line,rootNodeId:i.id,currentNodeId:e.line.currentNodeId,nodeIds:e.line.nodeIds});return zi({...t,requests:zr(t.requests,e.request),nodes:zr(t.nodes,i),lines:zr(t.lines,o)})}function jre(t,e,r,n){let i=J3(e,r,"initial-request",n),o=t.nodes.find(a=>a.id===Os(e)),s=o?{...o,destinations:zr(o.destinations,i)}:{id:Os(e),requestId:e,ordinal:0,destinations:[i],harness:Vn(),harnessGraph:Ds(Vn()),artifactActions:[],source:{type:"request",requestId:e},createdAt:n};return zi({...t,nodes:zr(t.nodes,s)})}function qre(t,e,r,n){let i=KS(t,e);return zi({...t,nodes:zr(t.nodes,{...i,harness:Ei(r),harnessGraph:Ds(r),createdAt:i.createdAt??n})})}function Wre(t,e){let r=zn(t,e.lineId),n=Vd(t,e.fromNodeId),i=e.toNodeId,o=Zt(NS(d1(e,{fromNodeId:n.id,toNodeId:i,teamName:e.teamName??r.teamName??n.teamName??Ms(t),ordinal:e.ordinal??n.ordinal+1}))),s=t.nodes.find(l=>l.id===i)??zre(n,o,i),a=Zt(NS(d1(o,{snapshot:o.snapshot??Xre(s)}))),c={id:a.id,type:"move",lineId:a.lineId,fromNodeId:n.id,toNodeId:i,moveId:a.id},u={...t,nodes:zr(t.nodes,s),moves:zr(t.moves,a),edges:zr(t.edges,c)},d=X3(Qre(u,a),a.lineId,i);return zi(a.outcome==="accident"?mg(d,a.lineId,p3):d)}function Vre(t,e){zn(t,e.lineId);let r=Vd(t,e.fromNodeId),n=e.toNodeId,i={...e,fromNodeId:r.id,toNodeId:n},o=t.nodes.find(c=>c.id===n)??Kre(r,i,n),s={id:i.id,type:"hunsu",lineId:i.lineId,fromNodeId:r.id,toNodeId:n,hunsuId:i.id},a={...t,nodes:zr(t.nodes,o),hunsus:zr(t.hunsus,i),edges:zr(t.edges,s)};return i.newLineId?zi(a):zi(X3(a,i.lineId,n))}function Gre(t,e){let r=zn(t,e.fromLineId),n=t.hunsus.find(c=>c.id===e.hunsuId),i=e.fromMoveId?t.moves.find(c=>c.id===e.fromMoveId):void 0,o=n?.toNodeId??i?.toNodeId??r.currentNodeId,s=e.fromMoveId?r.moveIds.indexOf(e.fromMoveId):-1,a=s>=0?r.moveIds.slice(0,s+1):[];return zi({...t,lines:zr(t.lines,{id:e.newLineId,requestId:e.requestId,teamName:e.newTeamName??Ms(t),status:"active",moveIds:a,rootNodeId:r.rootNodeId,currentNodeId:o,nodeIds:[o],parentLineId:e.fromLineId,forkedFromMoveId:e.fromMoveId})})}function G3(t,e){return{...e,teamName:e.teamName??Ms(t)}}function zre(t,e,r){let n=new Set(e.reachedDestinationIds);return{id:r,requestId:t.requestId,lineId:e.lineId,teamName:e.teamName??t.teamName,ordinal:e.ordinal??t.ordinal+1,destinations:t.destinations.map(i=>n.has(i.id)?Zt(og(i,{reachedByMoveId:e.id,updatedBy:"TEAM",updatedAt:e.recordedAt})):{...i}),harness:Ei(t.harness),harnessGraph:mo(t.harnessGraph),harnessLock:t.harnessLock?{...t.harnessLock}:void 0,executorPackageBindings:t.executorPackageBindings?.map(i=>({executorId:i.executorId,lock:{...i.lock}})),resourcePackageBindings:t.resourcePackageBindings?.map(i=>({name:i.name,lock:{...i.lock}})),artifactActions:A1(t.artifactActions),source:{type:"move",moveId:e.id,fromNodeId:t.id},createdAt:e.recordedAt}}function Kre(t,e,r){let n=e.teamSnapshot;return{id:r,requestId:t.requestId,lineId:e.newLineId??e.lineId,teamName:n.teamName,ordinal:n.moveOrdinal,destinations:n.destinations.map(i=>({...i})),harness:Ei(n.harness),harnessGraph:mo(n.harnessGraph),harnessLock:n.harnessLock?{...n.harnessLock}:void 0,executorPackageBindings:n.executorPackageBindings?.map(i=>({executorId:i.executorId,lock:{...i.lock}})),resourcePackageBindings:n.resourcePackageBindings?.map(i=>({name:i.name,lock:{...i.lock}})),artifactActions:A1(n.artifactActions),source:{type:"hunsu",hunsuId:e.id,fromNodeId:t.id},createdAt:e.recordedAt}}function A1(t){return K3((t??[]).map(z3))}function z3(t){return{...t,env:t.env?Object.fromEntries(Object.entries(t.env).map(([e,r])=>[e,{...r}])):void 0,runner:{...t.runner},aliases:t.aliases?Object.fromEntries(Object.entries(t.aliases).map(([e,r])=>[e,{...r}])):void 0,evidence:t.evidence?{...t.evidence,paths:t.evidence.paths?.slice()}:void 0}}function K3(t){return t.slice().sort((e,r)=>e.displayOrder-r.displayOrder||String(e.id).localeCompare(String(r.id)))}function Jre(t){let e=new Set,r=[];for(let n of t)e.has(n.id)||(e.add(n.id),r.push(z3(n)));return r}function Xre(t){return{teamName:t.teamName??Zt(cn("Team")),moveOrdinal:t.ordinal,destinations:t.destinations.map(e=>({...e})),harness:Ei(t.harness),harnessGraph:mo(t.harnessGraph),harnessLock:t.harnessLock?{...t.harnessLock}:void 0,executorPackageBindings:t.executorPackageBindings?.map(e=>({executorId:e.executorId,lock:{...e.lock}})),resourcePackageBindings:t.resourcePackageBindings?.map(e=>({name:e.name,lock:{...e.lock}})),artifactActions:A1(t.artifactActions)}}function J3(t,e,r,n){return f3(t,e,r,n)}function Yre(t,e,r){return t.map(n=>n.id===e?Zt(r(n)):{...n})}function k1(t,e,r){let n=new Set(t.lines.map(o=>o.currentNodeId)),i=t.nodes.map(o=>!n.has(o.id)||!o.destinations.some(s=>s.id===e)?o:{...o,destinations:Yre(o.destinations,e,r)});return zi({...t,nodes:i})}function mg(t,e,r){return zn(t,e),zi({...t,lines:t.lines.map(n=>n.id===e?Zt(r(n)):n)})}function Qre(t,e){return zn(t,e.lineId),{...t,lines:t.lines.map(r=>r.id===e.lineId?{...r,moveIds:b1([...r.moveIds,e.id])}:r)}}function X3(t,e,r){return zn(t,e),{...t,lines:t.lines.map(n=>n.id===e?{...n,currentNodeId:r,nodeIds:Zt(lo(b1([...n.nodeIds,r]),"nodeIds"))}:n)}}function zi(t){let e=t.requests.flatMap(i=>{let o=Zre(t,i.id);return o?[o]:[]}),r=e.flatMap(i=>i.destinations),n=e.flatMap(i=>i.artifactActions);return{...t,destinations:r.map(i=>({...i})),artifactActions:K3(Jre(n))}}function Zre(t,e){let r=t.lines.filter(i=>i.requestId===e&&i.status!=="abandoned"),n=r.findLast(i=>i.status==="active")??r.at(-1);return n?t.nodes.find(i=>i.id===n.currentNodeId):t.nodes.find(i=>i.id===Os(e))}function ene(t,e=cu()){let r=rne(t);if(!r.ok)return r;let n=nne(r.value,e);if(!n.ok)return n;try{return S(tne(n.value,e))}catch(i){return oe(Xh(i))}}function tne(t,e=cu()){switch(t.type){case"RegisterHunsuOrigin":return[{type:"HunsuOriginRegistered",origin:{...t.origin},at:t.at}];case"CreateInitialTeam":{pg(t.destinations,"CreateInitialTeam requires at least one Destination");let r=t.harness?Ei(t.harness):Vn(),n=Os(t.requestId);return[{type:"InitialTeamCreated",request:{id:t.requestId,title:t.title,goal:t.goal,createdBy:"SYSTEM",createdAt:t.at},line:{id:t.lineId,requestId:t.requestId,teamName:t.teamName??Ms(e),status:"active",moveIds:[],rootNodeId:n,currentNodeId:n,nodeIds:[n]},destinations:t.destinations,harness:r,harnessLock:t.harnessLock,at:t.at}]}case"StartLine":{N3(e,t.requestId);let r=KS(e,t.requestId),n=t.teamName??Ms(e);return[{type:"LineStarted",line:{id:t.lineId,requestId:t.requestId,teamName:n,status:"active",moveIds:[],rootNodeId:r.id,currentNodeId:r.id,nodeIds:[r.id]}}]}case"PauseLine":return zn(e,t.lineId),[{type:"LinePaused",lineId:t.lineId,at:t.at}];case"ResumeLine":return zn(e,t.lineId),[{type:"LineResumed",lineId:t.lineId,at:t.at}];case"AcceptLine":return zn(e,t.lineId),[{type:"LineAccepted",lineId:t.lineId,reason:t.reason,at:t.at}];case"RejectLine":return zn(e,t.lineId),[{type:"LineRejected",lineId:t.lineId,reason:t.reason,at:t.at}];case"ClaimDestination":return M3(e,t.destinationId),[{type:"DestinationClaimed",destinationId:t.destinationId,actor:t.actor,at:t.at}];case"StartDestinationWork":return XS(e,t.destinationId),[{type:"DestinationWorkStarted",destinationId:t.destinationId,actor:t.actor,at:t.at}];case"ReportDestinationBlocked":return L3(e,t.destinationId),[{type:"DestinationBlocked",destinationId:t.destinationId,reason:t.reason,actor:t.actor,at:t.at}];case"RecordMove":{let r=zn(e,t.lineId);w1(r);let n=JS(e,r);$3(t.reachedDestinationIds,"MOVE must reach exactly one Destination");for(let s of t.reachedDestinationIds)H3(n,s);let i=zS(e);return[{type:"MoveRecorded",move:Zt(c1({id:t.moveId,lineId:t.lineId,fromNodeId:n.id,toNodeId:i,executeId:t.executeId,conversationRef:t.conversationRef,worktree:t.worktree,summary:t.summary,commit:t.commit,reachedDestinationIds:t.reachedDestinationIds,evidence:t.evidence,risks:t.risks,recordedBy:"SYSTEM",recordedAt:t.at}))}]}case"RecordAccident":{let r=zn(e,t.lineId);w1(r);let n=JS(e,r);pg(t.evidence,"A ACCIDENT must include evidence"),F3(t.failureReason,"A ACCIDENT must include a failure reason");let i=zS(e);return[{type:"MoveRecorded",move:Zt(u1({id:t.moveId,lineId:t.lineId,fromNodeId:n.id,toNodeId:i,executeId:t.executeId,conversationRef:t.conversationRef,worktree:t.worktree,failureReason:t.failureReason,summary:t.summary,commit:t.commit,evidence:t.evidence,risks:t.risks,recordedBy:"SYSTEM",recordedAt:t.at}))}]}case"AttachMoveEvidence":return I1(e,t.moveId),[{type:"ArtifactRecorded",artifact:t.artifact,at:t.at}];case"ConfirmHunsuDraft":{let r=t.draft,n=zn(e,r.sourceLineId),i=Vd(e,r.sourceNodeId);if(i.requestId!==n.requestId)throw new pr(`Node ${i.id} does not belong to line ${n.id}`);return r.sourceMoveId&&I1(e,r.sourceMoveId),pg(r.changedFiles,"A confirmed HUNSU Draft must include at least one changed runtime file"),[one(r.hunsuId,r.sourceLineId,i.id,zS(e),r.target,r.summary,r.teamSnapshot,r.changedFiles,t.at,{hunsuDraftId:r.id,conversationRef:r.conversationRef,newLineId:r.newLineId,sourceMoveId:r.sourceMoveId,newTeamName:r.newTeamName}),{type:"LineForkedByHunsu",hunsuId:r.hunsuId,fromLineId:r.sourceLineId,newLineId:r.newLineId,newTeamName:r.newTeamName,fromMoveId:r.sourceMoveId,requestId:i.requestId,at:t.at}]}case"CreateSkillDraft":{let r=zn(e,t.lineId),n=JS(e,r);return[{type:"SkillDraftCreated",draft:h3({id:t.draftId,name:t.name,sourcePath:t.sourcePath,draftPath:t.draftPath,createdFromNodeId:n.id,createdAt:t.at})}]}case"DiscardSkillDraft":{let r=O3(e,t.draftId);if(r.status!=="draft")throw new pr(`Skill Draft ${t.draftId} cannot be discarded from status ${r.status}`);return[{type:"SkillDraftDiscarded",draftId:t.draftId,at:t.at}]}case"RecordArtifact":return[{type:"ArtifactRecorded",artifact:t.artifact,at:t.at}]}}function hg(t,e){let r=uu(t);if(!r.ok)return r;let n=r.value,i=ene(e,n);return i.ok?S([...t,...i.value]):i}function rne(t){return B3(t,Qh)}function ZS(t){return D3(t,Qh)}function nne(t,e){let r=ine(t,e);if(!r.ok)return r;switch(t.type){case"RegisterHunsuOrigin":case"CreateInitialTeam":return S(t);case"RecordArtifact":return ai([Ane(e,t.artifact)],t);case"StartLine":return ai([pne(e,t.requestId),xne(e,t.requestId)],t);case"PauseLine":return ai([hne(e,t.lineId)],t);case"ResumeLine":return ai([gne(e,t.lineId)],t);case"AcceptLine":return ai([yne(e,t.lineId)],t);case"RejectLine":return ai([vne(e,t.lineId)],t);case"ClaimDestination":return ai([wne(e,t.destinationId)],t);case"StartDestinationWork":return ai([bne(e,t.destinationId)],t);case"ReportDestinationBlocked":return ai([Ine(e,t.destinationId)],t);case"RecordMove":return ai([Y3(e,t.lineId),P1(e,t.lineId),...kne(e,t.lineId,t.moveId,t.reachedDestinationIds)],t);case"RecordAccident":return ai([Y3(e,t.lineId),P1(e,t.lineId)],t);case"AttachMoveEvidence":return ai([Q3(e,t.moveId),Cne(t.artifact,t.moveId)],t);case"ConfirmHunsuDraft":return ai([Z3(e,t.draft.sourceNodeId,t.draft.sourceLineId),Pne(e,t.draft.sourceLineId,t.draft.target),...t.draft.sourceMoveId?[e8(e,t.draft.sourceMoveId,t.draft.sourceLineId)]:[]],t);case"CreateSkillDraft":return ai([P1(e,t.lineId)],t);case"DiscardSkillDraft":return ai([_ne(e,t.draftId,"discarded")],t)}}function ine(t,e){switch(t.type){case"CreateInitialTeam":{let r=sne(e,t.requestId);if(!r.ok)return r;let n=C1(e,t.lineId);return n.ok?lne(e,t.destinations.map(i=>i.id)):n}case"StartLine":return C1(e,t.lineId);case"RecordMove":case"RecordAccident":return ane(e,t.moveId);case"AttachMoveEvidence":case"RecordArtifact":return dne(e,t.artifact.id);case"CreateSkillDraft":return une(e,t.draftId);case"ConfirmHunsuDraft":{let r=cne(e,t.draft.hunsuId);return r.ok?C1(e,t.draft.newLineId):r}case"RegisterHunsuOrigin":case"PauseLine":case"ResumeLine":case"AcceptLine":case"RejectLine":case"ClaimDestination":case"StartDestinationWork":case"ReportDestinationBlocked":case"DiscardSkillDraft":return S(void 0)}}function ai(t,e){let r=t.find(n=>!n.ok);return r&&!r.ok?oe(r.error):S(e)}function one(t,e,r,n,i,o,s,a,c,u={}){return pg(a,"A HUNSU must include at least one changed runtime file"),{type:"HunsuRecorded",hunsu:{id:t,...u,lineId:e,fromNodeId:r,toNodeId:n,target:i,summary:o,teamSnapshot:s,changedFiles:a,recordedBy:"DIRECTOR",recordedAt:c}}}function Na(t,e){return e.ok?S(t):Ee(e.error.message)}function sne(t,e){return t.requests.some(r=>r.id===e)?Ee(`Duplicate RequestId: ${e}`):S(void 0)}function C1(t,e){return t.lines.some(r=>r.id===e)?Ee(`Duplicate LineId: ${e}`):S(void 0)}function ane(t,e){return t.moves.some(r=>r.id===e)?Ee(`Duplicate MoveId: ${e}`):S(void 0)}function cne(t,e){return t.hunsus.some(r=>r.id===e)?Ee(`Duplicate HunsuId: ${e}`):S(void 0)}function une(t,e){return t.skillDrafts.some(r=>r.id===e)?Ee(`Duplicate SkillDraftId: ${e}`):S(void 0)}function dne(t,e){return t.artifacts.some(r=>r.id===e)?Ee(`Duplicate ArtifactId: ${e}`):S(void 0)}function lne(t,e){let r=new Set,n=fne(t);for(let i of e){if(r.has(i))return Ee(`Duplicate DestinationId in command: ${i}`);if(n.has(i))return Ee(`Duplicate DestinationId: ${i}`);r.add(i)}return S(void 0)}function fne(t){return new Set([...t.destinations.map(e=>e.id),...t.nodes.flatMap(e=>e.destinations.map(r=>r.id))])}function pne(t,e){return t.requests.some(r=>r.id===e)?S(void 0):Ee(`Unknown request: ${e}`)}function mne(t,e){return zo(t,e)}function hne(t,e){let r=zo(t,e);return r.ok?Na(r.value,sg(r.value)):r}function gne(t,e){let r=zo(t,e);return r.ok?Na(r.value,ag(r.value)):r}function yne(t,e){let r=zo(t,e);return r.ok?Na(r.value,cg(r.value)):r}function vne(t,e){let r=zo(t,e);return r.ok?Na(r.value,ug(r.value)):r}function xne(t,e){return _1(t,Os(e))}function Q3(t,e){return t8(t,e)}function Sne(t,e){return Tne(t,e)}function bne(t,e){let r=B1(t,e);return r.ok?Na(r.value,ng(r.value,{claimedBy:"validation",updatedBy:"TEAM"})):r}function P1(t,e){return T1(t,e)}function Y3(t,e){let r=zo(t,e);return r.ok?Na(r.value,m3(r.value)):r}function wne(t,e){let r=B1(t,e);return r.ok?Na(r.value,rg(r.value,{claimedBy:"validation",updatedBy:"TEAM"})):r}function Ine(t,e){let r=B1(t,e);return r.ok?Na(r.value,ig(r.value,{blockedReason:"validation",updatedBy:"TEAM"})):r}function Ene(t,e,r){let n=T1(t,e);return n.ok?r8(n.value,r):n}function kne(t,e,r,n){let i=T1(t,e);return i.ok?n.length!==1?[Ee("MOVE must reach exactly one Destination")]:n.map(o=>Rne(i.value,o,r)):[i]}function Rne(t,e,r){let n=r8(t,e);return n.ok?Na(n.value,og(n.value,{reachedByMoveId:r,updatedBy:"TEAM"})):n}function Ane(t,e){switch(e.owner.type){case"move":return Q3(t,e.owner.id);case"hunsu":return Sne(t,e.owner.id);case"line":return mne(t,e.owner.id)}}function Cne(t,e){return t.owner.type!=="move"||t.owner.id!==e?Ee(`AttachMoveEvidence artifact owner must be move ${e}`):S(void 0)}function Z3(t,e,r){let n=zo(t,r);if(!n.ok)return n;let i=_1(t,e);return i.ok?n.value.nodeIds.includes(i.value.id)?i:Ee(`Node ${i.value.id} does not belong to line ${n.value.id}`):i}function e8(t,e,r){let n=zo(t,r);if(!n.ok)return n;let i=t8(t,e);return i.ok&&i.value.lineId!==n.value.id&&!n.value.moveIds.includes(i.value.id)?Ee(`MOVE ${i.value.id} does not belong to line ${n.value.id}`):i}function Pne(t,e,r){switch(r.type){case"line":{let n=zo(t,e);if(!n.ok)return n;let i=zo(t,r.id);return i.ok?i.value.id===n.value.id?S(n.value):Ee(`HUNSU target line ${i.value.id} does not match command line ${n.value.id}`):i}case"node":return Z3(t,r.id,e);case"move":return e8(t,r.id,e);case"destination":return Ene(t,e,r.id)}}function _ne(t,e,r){let n=Bne(t,e);return n.ok?n.value.status!=="draft"?Ee(`Skill Draft ${e} cannot be ${r} from status ${n.value.status}`):S(n.value):n}function zo(t,e){let r=t.lines.find(n=>n.id===e);return r?S(r):Ee(`Unknown line: ${e}`)}function _1(t,e){let r=t.nodes.find(n=>n.id===e);return r?S(r):Ee(`Unknown node: ${e}`)}function T1(t,e){let r=zo(t,e);return r.ok?_1(t,r.value.currentNodeId):r}function t8(t,e){let r=t.moves.find(n=>n.id===e);return r?S(r):Ee(`Unknown MOVE: ${e}`)}function Tne(t,e){let r=t.hunsus.find(n=>n.id===e);return r?S(r):Ee(`Unknown HUNSU: ${e}`)}function Bne(t,e){let r=t.skillDrafts.find(n=>n.id===e);return r?S(r):Ee(`Unknown Skill Draft: ${e}`)}function B1(t,e){let r=t.destinations.find(n=>n.id===e);return r?S(r):Ee(`Unknown Destination: ${e}`)}function r8(t,e){let r=t.destinations.find(n=>n.id===e);return r?S(r):Ee(`Unknown Destination in node ${t.id}: ${e}`)}var i8="hunsu.connect.enrollment.v1";var zf="hunsu.connect.signal-frame.v1",o8="hunsu.connect.control-frame.v1";function s8(t){return!Dne(t)||!Nne(t,["schema","sessionId","sequence","iv","ciphertext"])?Gf("$signal","Connect signal frame has unknown or missing fields."):t.schema!==zf?Gf("schema","Connect signal frame schema is not supported."):typeof t.sessionId!="string"||!/^cs_[A-Za-z0-9_-]{20,125}$/u.test(t.sessionId)?Gf("sessionId","Connect session ID is invalid."):!Number.isSafeInteger(t.sequence)||Number(t.sequence)<1?Gf("sequence","Connect signal sequence must be a positive safe integer starting at 1."):n8(t.iv,12,12)?n8(t.ciphertext,16,65536)?{ok:!0,value:{schema:zf,sessionId:t.sessionId,sequence:Number(t.sequence),iv:t.iv,ciphertext:t.ciphertext}}:Gf("ciphertext","Connect signal ciphertext must contain 16-65536 bytes of base64url data."):Gf("iv","Connect signal IV must be exactly 12 bytes of base64url data.")}function Gf(t,e){return{ok:!1,error:{code:"INVALID_CONNECT_WIRE",field:t,message:e}}}function Dne(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Nne(t,e){let r=Object.keys(t);return r.length===e.length&&r.every(n=>e.includes(n))}function n8(t,e,r){if(typeof t!="string"||!/^[A-Za-z0-9_-]+$/u.test(t)||t.length%4===1)return!1;let i=Math.floor(t.length*3/4);return i>=e&&i<=r}var Ma="hunsu-peer-v1",N1="hunsu.control.v1",O1="hunsu.stream.v1",a8="stun:stun.cloudflare.com:3478",c8=12*6e4,gg=64*1024,QTe=32*1024,u8=32,One=["health","bridge.status","connection.status","provider.inventory","modelAlias.validate","modelAlias.resolve","roadmap.registry.list","roadmap.registry.remove","roadmap.open","roadmap.port.inspect","roadmap.port.apply","roadmap.create","roadmap.board","roadmap.worktree","roadmap.skills","roadmap.commands","execute.start","execute.pause","execute.resume","execute.stop","execute.completeMove","execute.status","artifactAction.list","artifactAction.runs","artifactAction.start","artifactAction.stop","moveFile.tree","moveFile.blob","moveFile.diff","hunsuDraft.list","hunsuDraft.start","hunsuDraft.get","hunsuDraft.message","hunsuDraft.diffArtifact.create","hunsuDraft.diffArtifact.get","hunsuDraft.approve","hunsuDraft.discard","line.accept","line.reject","agentSession.list","agentSession.get","agentSession.events","live.events"];var Gd=256,Mne=1024,Lne=64*1024,Hne=2*1024,Une=new Set(["projectPath","repositoryPath","repositoryRoot","worktreePath","runtimePath","cwd"]);function d8(t){let e=["remote.access"];return(t==="execute.start"||t==="execute.pause"||t==="execute.resume"||t==="execute.stop"||t==="execute.completeMove")&&e.push("execute.start"),(t==="artifactAction.start"||t==="artifactAction.stop")&&e.push("artifactAction.run"),(t==="artifactAction.list"||t==="artifactAction.runs"||t==="artifactAction.start"||t==="artifactAction.stop")&&e.push("env.read","hostAlias.expose"),e}function l8(t){let e=tb(t,"$signalPlaintext");if(!e.ok)return e;if(e.value.type==="peer.offer"||e.value.type==="peer.answer"){let r=Oa(e.value,["type","sdp"],"$signalPlaintext");if(!r.ok)return r;let n=ki(e.value.sdp,"sdp",Lne,!1);return n.ok?S({type:e.value.type,sdp:n.value}):n}if(e.value.type==="peer.ice"){let r=Oa(e.value,["type","candidate","sdpMid","sdpMLineIndex","usernameFragment"],"$signalPlaintext");if(!r.ok)return r;let n=ki(e.value.candidate,"candidate",Hne),i=D1(e.value.sdpMid,"sdpMid",64),o=D1(e.value.usernameFragment,"usernameFragment",256);return n.ok?i.ok?o.ok?e.value.sdpMLineIndex!==void 0&&(!Number.isInteger(e.value.sdpMLineIndex)||Number(e.value.sdpMLineIndex)<0||Number(e.value.sdpMLineIndex)>8)?Tn("sdpMLineIndex","ICE media line index is invalid."):S({type:"peer.ice",candidate:n.value,...i.value?{sdpMid:i.value}:{},...e.value.sdpMLineIndex===void 0?{}:{sdpMLineIndex:Number(e.value.sdpMLineIndex)},...o.value?{usernameFragment:o.value}:{}}):o:i:n}if(e.value.type==="peer.close"){let r=Oa(e.value,["type","reason"],"$signalPlaintext");return r.ok?e.value.reason==="complete"||e.value.reason==="canceled"||e.value.reason==="expired"||e.value.reason==="failed"?S({type:"peer.close",reason:e.value.reason}):Tn("reason","Peer close reason is invalid."):r}return Tn("type","Peer signaling message type is not supported.")}function f8(t){let e=tb(t,"$hello");if(!e.ok)return e;let r=Oa(e.value,["type","protocolVersion","sessionId","ticket","browserAgreementPublicJwk","browserNonce"],"$hello");if(!r.ok)return r;if(e.value.type!=="peer.client-hello"||e.value.protocolVersion!==Ma)return Tn("type","Peer client hello version is not supported.");let n=ki(e.value.sessionId,"sessionId",Gd),i=ki(e.value.ticket,"ticket",8192),o=Fne(e.value.browserAgreementPublicJwk,"browserAgreementPublicJwk"),s=eb(e.value.browserNonce,"browserNonce",24,64);return n.ok?i.ok?o.ok?s.ok?S({type:"peer.client-hello",protocolVersion:Ma,sessionId:n.value,ticket:i.value,browserAgreementPublicJwk:o.value,browserNonce:s.value}):s:o:i:n}function p8(t){let e=m8(t,"$message",new WeakSet);if(!e.ok)return e;let r=tb(t,"$message");if(!r.ok)return r;let n=ki(r.value.type,"type",64),i=ki(r.value.sessionId,"sessionId",Gd);if(!n.ok)return n;if(!i.ok)return i;if(n.value==="session.confirm"){let o=Oa(r.value,["type","sessionId","transcriptHash"],"$message");if(!o.ok)return o;let s=eb(r.value.transcriptHash,"transcriptHash",32,32);return s.ok?S({type:"session.confirm",sessionId:i.value,transcriptHash:s.value}):s}if(n.value==="command.request"){let o=Oa(r.value,["type","sessionId","requestId","workspaceId","deadline","command","payload"],"$message");if(!o.ok)return o;let s=ki(r.value.requestId,"requestId",Gd),a=ki(r.value.workspaceId,"workspaceId",Gd),c=jne(r.value.deadline,"deadline");return s.ok?a.ok?c.ok?$ne(r.value.command)?S({type:"command.request",sessionId:i.value,requestId:s.value,workspaceId:a.value,deadline:c.value,command:r.value.command,...r.value.payload===void 0?{}:{payload:r.value.payload}}):Tn("command","Remote command name is not supported."):c:a:s}if(n.value==="stream.cancel"){let o=Oa(r.value,["type","sessionId","requestId","streamId","workspaceId","reason"],"$message");if(!o.ok)return o;let s=ki(r.value.requestId,"requestId",Gd),a=ki(r.value.streamId,"streamId",Gd),c=ki(r.value.workspaceId,"workspaceId",Gd),u=D1(r.value.reason,"reason",Mne);return s.ok?a.ok?c.ok?u.ok?S({type:"stream.cancel",sessionId:i.value,requestId:s.value,streamId:a.value,workspaceId:c.value,...u.value?{reason:u.value}:{}}):u:c:a:s}if(n.value==="session.close"){let o=Oa(r.value,["type","sessionId","reason"],"$message");return o.ok?r.value.reason==="lease_expired"||r.value.reason==="replaced"||r.value.reason==="canceled"||r.value.reason==="protocol_error"?S({type:"session.close",sessionId:i.value,reason:r.value.reason}):Tn("reason","Session close reason is invalid."):o}return Tn("type","Inbound remote control message is not supported.")}function $ne(t){return typeof t=="string"&&One.includes(t)}function Fne(t,e){let r=tb(t,e);if(!r.ok)return r;let n=Oa(r.value,["kty","crv","x","y","key_ops","ext"],e);if(!n.ok)return n;if(r.value.kty!=="EC"||r.value.crv!=="P-256"||r.value.d!==void 0)return Tn(e,"Peer public key must be a public P-256 EC key.");let i=eb(r.value.x,`${e}.x`,32,32),o=eb(r.value.y,`${e}.y`,32,32);return i.ok?o.ok?S({kty:"EC",crv:"P-256",x:i.value,y:o.value,ext:!0}):o:i}function m8(t,e,r){if(typeof t!="object"||t===null)return S(!0);if(r.has(t))return Tn(e,"Remote peer message must not be cyclic.");r.add(t);for(let[n,i]of Object.entries(t)){if(Une.has(n))return Tn(`${e}.${n}`,"Remote peer messages cannot contain canonical local paths.");let o=m8(i,`${e}.${n}`,r);if(!o.ok)return o}return r.delete(t),S(!0)}function tb(t,e){return typeof t=="object"&&t!==null&&!Array.isArray(t)?S(t):Tn(e,"Value must be an object.")}function ki(t,e,r,n=!0){if(typeof t!="string")return Tn(e,"Value must be a string.");let i=n?t.trim():t;return i&&i.length<=r&&!/[\u0000\u000b\u000c\u007f]/u.test(i)?S(i):Tn(e,`Value must contain 1-${r} allowed characters.`)}function D1(t,e,r){return t===void 0?S(void 0):ki(t,e,r)}function jne(t,e){let r=ki(t,e,64);return r.ok&&Number.isFinite(Date.parse(r.value))?r:Tn(e,"Value must be an ISO timestamp.")}function eb(t,e,r,n){let i=Math.ceil(n*4/3),o=ki(t,e,i);if(!o.ok)return o;if(!/^[A-Za-z0-9_-]+$/u.test(o.value)||o.value.length%4===1)return Tn(e,"Value must be unpadded base64url.");let s=Math.floor(o.value.length*3/4);return s>=r&&s<=n?S(o.value):Tn(e,"Decoded value has an invalid size.")}function Oa(t,e,r){let n=new Set(e),i=Object.keys(t).find(o=>!n.has(o));return i?Tn(`${r}.${i}`,"Field is not allowed."):S(!0)}function Tn(t,e){return oe({code:"INVALID_REMOTE_PEER_WIRE",field:t,message:e})}import{delimiter as qne,dirname as Wne,join as Vne,resolve as Gne}from"node:path";import{fileURLToPath as zne}from"node:url";import{spawn as Kne}from"node:child_process";import{createInterface as Jne}from"node:readline";import{Buffer as Xne}from"node:buffer";var w8=kS,Yne={type:"object",properties:{executorId:{type:"string"},goal:{type:"string"}},required:["executorId","goal"],additionalProperties:!1},Qne={type:["object","null"],properties:{executorId:{type:"string"},prompt:{type:"string"}},required:["executorId","prompt"],additionalProperties:!1},Zne={type:["string","array"],items:{type:"string"}},eie={type:"object",properties:{kind:{type:"string",enum:["goal"]},stage:{type:"string",enum:["needs_evaluation"]},id:{type:"string"},assignee:Yne,evaluator:Qne,remainingAttempts:{type:"integer",minimum:0},requires:Zne},required:["kind","stage","id","assignee","evaluator","remainingAttempts","requires"],additionalProperties:!1},h8={type:"object",properties:{kind:{type:"string",enum:["queue"]},id:{type:"string"},items:{type:"array",items:eie}},required:["kind","id","items"],additionalProperties:!1},I8={type:"object",properties:{type:{type:"string",enum:["pass","fail"]},summary:{type:"string"},reason:{type:"string"},feedback:{type:"string"},nextGoal:{type:"string"},evidence:{type:"array",items:{type:"string"}}},required:["type","summary","reason","feedback","nextGoal","evidence"],additionalProperties:!1},tie={sandboxMode:"workspace-write",approvalPolicy:"never",approvalsReviewer:"user",networkAccessEnabled:!1},M1=class{subscribers=new Map;push(e){let r=this.subscribers.get(e.runId);if(r)for(let n of r)n.closed||(n.queue.push(e),n.resolve?.(),n.resolve=void 0)}close(e){let r=this.subscribers.get(e);if(r)for(let n of r)n.closed=!0,n.resolve?.(),n.resolve=void 0}async*events(e){let r={queue:[],closed:!1},n=this.subscribers.get(e);n||(n=new Set,this.subscribers.set(e,n)),n.add(r);try{for(;;){let i=r.queue.shift();if(i){yield i;continue}if(r.closed)return;await new Promise(o=>{r.resolve=o})}}finally{n.delete(r),n.size===0&&this.subscribers.delete(e)}}},yg=class extends Error{code;data;constructor(e,r,n){super(r),this.code=e,this.data=n}},L1=class{child;stdout;messageHandlers=new Set;errorHandlers=new Set;closeHandlers=new Set;constructor(e){this.child=Kne(e.command,e.args,{cwd:e.cwd,env:Aie(e.environment)}),this.stdout=Jne({input:this.child.stdout}),this.stdout.on("line",r=>this.handleLine(r)),this.child.stderr.on("data",()=>{}),this.child.once("error",r=>this.emitError(r)),this.child.once("close",()=>this.emitClose())}send(e){if(this.child.stdin.destroyed||!this.child.stdin.writable)throw new Error("Codex app-server stdin is closed");this.child.stdin.write(`${JSON.stringify(e)}
|
|
143
|
+
`)}function Ote(t){let e=[],r=new Set;for(let n of t)for(let i of i4(n)){let o=Mte(n.id,i);r.has(o)||(r.add(o),e.push({id:o,binding:i}))}return e}function Mte(t,e){return e.kind==="skill"?`resource.${t}.skill.${e.skill.name}`:e.kind==="plugin"?`resource.${t}.plugin.${e.plugin.id}`:`resource.${t}.package.${e.lock.kind}.${e.lock.key}.${e.lock.version}`}function n1(t){return t.kind==="member"?{...o4(t),packageLock:t.packageLock?{...t.packageLock}:void 0}:{...t,planner:{promptTemplate:{...t.planner.promptTemplate},maxAttemptCount:t.planner.maxAttemptCount,guardrails:t.planner.guardrails?.map(e=>({...e}))},members:t.members.map(e=>({executorId:e.executorId,visibleProfile:{...e.visibleProfile,capabilities:e.visibleProfile.capabilities?[...e.visibleProfile.capabilities]:void 0}})),packageLock:t.packageLock?{...t.packageLock}:void 0}}function o4(t){let e=XR(t.runtimePolicy);return{kind:"member",id:t.id,promptTemplate:{...t.promptTemplate},resources:t.resources.map(s4),runtimePolicy:{...t.runtimePolicy.modelSelection?{modelSelection:e.modelSelection}:{},model:e.model,reasoningEffort:e.reasoningEffort,serviceTier:e.serviceTier,execution:eg(e.execution),approval:tg(e.approval)}}}function s4(t){return t.kind==="skill"?{kind:"skill",skill:BS(t.skill)}:t.kind==="plugin"?{kind:"plugin",plugin:{...t.plugin}}:{kind:"package",lock:{...t.lock}}}function Lte(t){return{id:t.id,binding:s4(t.binding),packageLock:t.packageLock?{...t.packageLock}:void 0}}function ES(t,e,r){for(let n of[l4(t[r],`${e}.${r}`),a1(t.guardrails,`${e}.guardrails`),Ute(t.team,`${e}.team`),$te(t.members,`${e}.members`,!0)])if(!n.ok)return n;return S(Ei(t))}function Hte(t){return t.kind==="team_execution_plan"?{...t,kind:"team_execution_plan"}:t}function i1(t,e){let r=Ur(t,e);if(!r.ok)return r;if(r.value.kind!=="local-snapshot"&&r.value.kind!=="local-root-installed"&&r.value.kind!=="registry-package"&&r.value.kind!=="skillMeta")return Ve(`${e}.kind must be local-snapshot, local-root-installed, registry-package, or skillMeta`);if(typeof r.value.name!="string"||r.value.name.trim()==="")return Ve(`${e}.name must be a non-empty string`);if(r.value.kind==="skillMeta"){let n=Xte(r.value,["agent","kind","name","source"],e);return n.ok?typeof r.value.source!="string"||r.value.source.trim()===""?Ve(`${e}.source must be a non-empty string`):r.value.agent!=="codex"?Ve(`${e}.agent must be codex`):S(void 0):n}if(r.value.kind==="local-root-installed")return r.value.sourcePath!==void 0&&(typeof r.value.sourcePath!="string"||r.value.sourcePath.trim()==="")?Ve(`${e}.sourcePath must be a non-empty string when provided`):S(void 0);if(r.value.kind==="local-snapshot"){for(let n of["sourcePath","contentHash","snapshotRef"])if(typeof r.value[n]!="string"||r.value[n].trim()==="")return Ve(`${e}.${n} must be a non-empty string`);if(r.value.snapshotFiles!==void 0){if(!Array.isArray(r.value.snapshotFiles))return Ve(`${e}.snapshotFiles must be an array`);for(let[n,i]of r.value.snapshotFiles.entries()){let o=Ur(i,`${e}.snapshotFiles[${n}]`);if(!o.ok)return o;if(typeof o.value.path!="string"||o.value.path.trim()==="")return Ve(`${e}.snapshotFiles[${n}].path must be a non-empty string`);if(typeof o.value.text!="string")return Ve(`${e}.snapshotFiles[${n}].text must be a string`)}}return S(void 0)}if(r.value.registryKind!=="apm")return Ve(`${e}.registryKind must be apm`);for(let n of["registry","package","version","integrity","contentHash"])if(typeof r.value[n]!="string"||r.value[n].trim()==="")return Ve(`${e}.${n} must be a non-empty string`);return ere(String(r.value.version))?r.value.snapshotFiles!==void 0?Ve(`${e}.snapshotFiles is not supported for registry-package skills`):S(void 0):Ve(`${e}.version must be an exact semver version`)}function o1(t,e){let r=Ur(t,e);return r.ok?r.value.kind!=="local-root-installed"?Ve(`${e}.kind must be local-root-installed`):typeof r.value.id!="string"||r.value.id.trim()===""?Ve(`${e}.id must be a non-empty string`):S(void 0):r}function Ute(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=jd(r.value.promptTemplate,`${e}.promptTemplate`);return n.ok?S(void 0):n}function $te(t,e,r){if(!Array.isArray(t))return Ve(`${e} must be an array`);if(r&&t.length===0)return Ve(`${e} must include at least one Member`);let n=new Set;for(let[i,o]of t.entries()){let s=Ur(o,`${e}[${i}]`);if(!s.ok)return s;let a=a4(s.value,`${e}[${i}]`);if(!a.ok)return a;let c=String(s.value.id);if(n.has(c))return Ve(`${e} must not include duplicate Member ${c}`);n.add(c)}return S(void 0)}function a4(t,e){if(typeof t.id!="string"||t.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let r=jd(t.promptTemplate,`${e}.promptTemplate`);if(!r.ok)return r;if(typeof t.model!="string"||t.model.trim()==="")return Ve(`${e}.model must be a non-empty string`);for(let n of[s1(t.modelSelection,`${e}.modelSelection`,!0),Ii(`${e}.reasoningEffort`,t.reasoningEffort,bS),t.serviceTier===void 0?S(void 0):Ii(`${e}.serviceTier`,t.serviceTier,wS),u4(t.execution,`${e}.execution`),d4(t.approval,`${e}.approval`)])if(!n.ok)return n;if(!Array.isArray(t.skills))return Ve(`${e}.skills must be an array`);for(let[n,i]of t.skills.entries()){let o=i1(i,`${e}.skills[${n}]`);if(!o.ok)return o}if(t.plugins!==void 0){if(!Array.isArray(t.plugins))return Ve(`${e}.plugins must be an array`);for(let[n,i]of t.plugins.entries()){let o=o1(i,`${e}.plugins[${n}]`);if(!o.ok)return o}}return S(void 0)}function Fte(t,e){let r=Yte(t,["id","plugins","promptTemplate","skills"],["modelSelection"],e);if(!r.ok)return r;if(typeof t.id!="string"||t.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let n=jd(t.promptTemplate,`${e}.promptTemplate`);if(!n.ok)return n;let i=s1(t.modelSelection,`${e}.modelSelection`,!0);if(!i.ok)return i;if(!Array.isArray(t.skills))return Ve(`${e}.skills must be an array`);for(let[o,s]of t.skills.entries()){let a=i1(s,`${e}.skills[${o}]`);if(!a.ok)return a}if(!Array.isArray(t.plugins))return Ve(`${e}.plugins must be an array`);for(let[o,s]of t.plugins.entries()){let a=o1(s,`${e}.plugins[${o}]`);if(!a.ok)return a}return S(void 0)}function jte(t,e){let r=Ur(t,e);return r.ok?r.value.kind==="team"?qte(r.value,e):r.value.kind==="member"?zte(r.value,e):Ve(`${e}.kind must be team or member`):r}function qte(t,e){if(typeof t.id!="string"||t.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let r=Wte(t.planner,`${e}.planner`);if(!r.ok)return r;if(!Array.isArray(t.members))return Ve(`${e}.members must be an array`);let n=new Set;for(let[i,o]of t.members.entries()){let s=Vte(o,`${e}.members[${i}]`);if(!s.ok)return s;let a=String(o.executorId);if(n.has(a))return Ve(`${e}.members must not include duplicate Membership ${a}`);n.add(a)}return PS(t.packageLock,`${e}.packageLock`)}function Wte(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=jd(r.value.promptTemplate,`${e}.promptTemplate`);if(!n.ok)return n;if(r.value.maxAttemptCount!==void 0){let i=l4(r.value.maxAttemptCount,`${e}.maxAttemptCount`);if(!i.ok)return i}return a1(r.value.guardrails,`${e}.guardrails`)}function Vte(t,e){let r=Ur(t,e);return r.ok?typeof r.value.executorId!="string"||r.value.executorId.trim()===""?Ve(`${e}.executorId must be a non-empty string`):Gte(r.value.visibleProfile,`${e}.visibleProfile`):r}function Gte(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=Ii(`${e}.kind`,r.value.kind,["team","member"]);if(!n.ok)return n;for(let i of["label","summary"])if(r.value[i]!==void 0&&(typeof r.value[i]!="string"||String(r.value[i]).trim()===""))return Ve(`${e}.${i} must be a non-empty string when provided`);if(r.value.capabilities!==void 0){if(!Array.isArray(r.value.capabilities))return Ve(`${e}.capabilities must be an array`);for(let[i,o]of r.value.capabilities.entries())if(typeof o!="string"||o.trim()==="")return Ve(`${e}.capabilities[${i}] must be a non-empty string`)}return S(void 0)}function zte(t,e){if(typeof t.id!="string"||t.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let r=jd(t.promptTemplate,`${e}.promptTemplate`);if(!r.ok)return r;if(!Array.isArray(t.resources))return Ve(`${e}.resources must be an array`);for(let[i,o]of t.resources.entries()){let s=c4(o,`${e}.resources[${i}]`);if(!s.ok)return s}let n=Kte(t.runtimePolicy,`${e}.runtimePolicy`);return n.ok?PS(t.packageLock,`${e}.packageLock`):n}function Kte(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=s1(r.value.modelSelection,`${e}.modelSelection`,!0);if(!n.ok)return n;let i=r.value.modelSelection!==void 0;if(r.value.model!==void 0&&(typeof r.value.model!="string"||r.value.model.trim()===""))return Ve(`${e}.model must be a non-empty string when provided`);if(r.value.model===void 0&&!i)return Ve(`${e}.modelSelection or ${e}.model must be provided`);for(let o of[r.value.reasoningEffort===void 0&&i?S(void 0):Ii(`${e}.reasoningEffort`,r.value.reasoningEffort,bS),r.value.serviceTier===void 0?S(void 0):Ii(`${e}.serviceTier`,r.value.serviceTier,wS),u4(r.value.execution,`${e}.execution`),d4(r.value.approval,`${e}.approval`)])if(!o.ok)return o;return S(void 0)}function s1(t,e,r=!1){if(t===void 0&&r)return S(void 0);let n=Ur(t,e);if(!n.ok)return n;if(n.value.kind==="alias")return YR(n.value.aliasId,`${e}.aliasId`);if(n.value.kind!=="direct")return Ve(`${e}.kind must be direct or alias`);let i=Ur(n.value.provider,`${e}.provider`);if(!i.ok)return i;for(let o of[YR(i.value.providerId,`${e}.provider.providerId`),YR(i.value.model,`${e}.provider.model`),i.value.reasoningEffort===void 0?S(void 0):Ii(`${e}.provider.reasoningEffort`,i.value.reasoningEffort,bS),i.value.serviceTier===void 0?S(void 0):Ii(`${e}.provider.serviceTier`,i.value.serviceTier,wS)])if(!o.ok)return o;if(i.value.experimental!==void 0&&typeof i.value.experimental!="boolean")return Ve(`${e}.provider.experimental must be a boolean when provided`);if(i.value.providerId==="codex"&&i.value.experimental!==!0){if(i.value.model==="gpt-5.5-thinking"&&i.value.reasoningEffort!=="high"&&i.value.reasoningEffort!=="xhigh")return Ve(`${e}.provider.reasoningEffort must be high or xhigh for gpt-5.5-thinking`);if(i.value.model==="gpt-5.5"&&(i.value.reasoningEffort==="minimal"||i.value.reasoningEffort==="xhigh"))return Ve(`${e}.provider.reasoningEffort is not supported for gpt-5.5`)}return S(void 0)}function YR(t,e){return typeof t=="string"&&t.trim()!==""?S(void 0):Ve(`${e} must be a non-empty string`)}function Jte(t,e){let r=Ur(t,e);if(!r.ok)return r;if(typeof r.value.id!="string"||r.value.id.trim()==="")return Ve(`${e}.id must be a non-empty string`);let n=c4(r.value.binding,`${e}.binding`);return n.ok?PS(r.value.packageLock,`${e}.packageLock`):n}function c4(t,e){let r=Ur(t,e);return r.ok?r.value.kind==="skill"?i1(r.value.skill,`${e}.skill`):r.value.kind==="plugin"?o1(r.value.plugin,`${e}.plugin`):r.value.kind==="package"?PS(r.value.lock,`${e}.lock`):Ve(`${e}.kind must be skill, plugin, or package`):r}function PS(t,e){if(t===void 0)return S(void 0);let r=Ur(t,e);if(!r.ok)return r;for(let n of["origin","kind","key","version","integrity"])if(typeof r.value[n]!="string"||String(r.value[n]).trim()==="")return Ve(`${e}.${n} must be a non-empty string`);return S(void 0)}function u4(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=Ii(`${e}.kind`,r.value.kind,wte);if(!n.ok)return n;let i=Ii(`${e}.network`,r.value.network,Ite);return i.ok?S(void 0):i}function d4(t,e){let r=Ur(t,e);if(!r.ok)return r;let n=Ii(`${e}.policy`,r.value.policy,Ete);if(!n.ok)return n;if(r.value.policy==="on_request"){let i=Ii(`${e}.reviewer`,r.value.reviewer,kte);return i.ok?S(void 0):i}return"reviewer"in r.value?Ve(`${e}.reviewer is only allowed when policy is on_request`):S(void 0)}function a1(t,e){if(t===void 0)return S(void 0);if(!Array.isArray(t))return Ve(`${e} must be an array`);for(let[r,n]of t.entries()){let i=Ur(n,`${e}[${r}]`);if(!i.ok)return i;if(typeof i.value.name!="string"||i.value.name.trim()==="")return Ve(`${e}[${r}].name must be a non-empty string`);let o=Ii(`${e}[${r}].scope`,i.value.scope,$3);if(!o.ok)return o;if(typeof i.value.rule!="string"||i.value.rule.trim()==="")return Ve(`${e}[${r}].rule must be a non-empty string`);let s=Ii(`${e}[${r}].severity`,i.value.severity,F3);if(!s.ok)return s}return S(void 0)}function Ur(t,e){return t&&typeof t=="object"&&!Array.isArray(t)?S(t):Ve(`${e} must be an object`)}function Xte(t,e,r){let n=e.filter(o=>!(o in t));if(n.length>0)return Ve(`${r} is missing required keys: ${n.join(", ")}`);let i=Object.keys(t).filter(o=>!e.includes(o));return i.length>0?Ve(`${r} has unsupported keys: ${i.join(", ")}`):S(void 0)}function Yte(t,e,r,n){let i=e.filter(a=>!(a in t));if(i.length>0)return Ve(`${n} is missing required keys: ${i.join(", ")}`);let o=[...e,...r],s=Object.keys(t).filter(a=>!o.includes(a));return s.length>0?Ve(`${n} has unsupported keys: ${s.join(", ")}`):S(void 0)}function l4(t,e){return Number.isInteger(t)&&Number(t)>=1?S(void 0):Ve(`${e} must be a positive integer`)}function Ii(t,e,r){return typeof e=="string"&&r.includes(e)?S(e):Ve(`${t} must be one of: ${r.join(", ")}`)}function Qte(t,e){return t.ok?e():t}function Ve(t){return oe({type:"DomainWorkflowError",message:t})}function _S(t){let e={...t,promptTemplate:{...t.promptTemplate},skills:TS(t.skills),plugins:DS(t.plugins??[]),execution:eg(t.execution),approval:tg(t.approval)};return t.modelSelection&&(e.modelSelection=JSON.parse(JSON.stringify(t.modelSelection))),e}function Zte(t){let e={...t,promptTemplate:{...t.promptTemplate},skills:TS(t.skills),plugins:DS(t.plugins)};return t.modelSelection&&(e.modelSelection=JSON.parse(JSON.stringify(t.modelSelection))),e}function eg(t){return{...t}}function tg(t){return{...t}}function TS(t=[]){return t.map(BS)}function BS(t){return t.kind==="local-snapshot"?{...t,snapshotFiles:t.snapshotFiles?.map(e=>({...e}))}:{...t}}function DS(t=[]){return t.map(e=>({...e}))}function ere(t){return/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(t)}function f4(t,e,r,n){let i=r==="initial-execute-team"||r==="initial-request"?"SYSTEM":"DIRECTOR";return{...e,requestId:t,status:"pending",source:r,createdBy:i,updatedBy:i,createdAt:n,updatedAt:n}}function rg(t,e){return MS(e.claimedBy)?t.status!=="pending"&&t.status!=="blocked"?Gr(`Destination ${t.id} cannot be claimed from status ${t.status}`):S({...OS(t,e),status:"claimed",claimedBy:e.claimedBy}):Gr("Claim Destination requires claimedBy")}function ng(t,e){return MS(e.claimedBy)?t.status==="blocked"?Gr(`Destination ${t.id} cannot start work from status blocked`):p1(t)?Gr(`Destination ${t.id} cannot start work from status ${t.status}`):S({...OS(t,e),status:"in_progress",claimedBy:e.claimedBy}):Gr("Start Destination work requires claimedBy")}function ig(t,e){return MS(e.blockedReason)?p1(t)?Gr(`Destination ${t.id} cannot be blocked from status ${t.status}`):S({...OS(t,e),status:"blocked",claimedBy:"claimedBy"in t?t.claimedBy:void 0,blockedReason:e.blockedReason}):Gr("Block Destination requires blockedReason")}function og(t,e){return MS(e.reachedByMoveId)?p1(t)?Gr(`Destination ${t.id} cannot be reached from status ${t.status}`):S({...OS(t,e),status:"reached",claimedBy:"claimedBy"in t?t.claimedBy:void 0,reachedByMoveId:e.reachedByMoveId}):Gr("Reach Destination requires reachedByMoveId")}function sg(t){return t.status==="active"?S({...t,status:"paused"}):Gr(`Line ${t.id} cannot be paused from status ${t.status}`)}function ag(t){return t.status==="paused"?S({...t,status:"active"}):Gr(`Line ${t.id} cannot be resumed from status ${t.status}`)}function cg(t){return t.status==="active"||t.status==="paused"?S({...t,status:"complete"}):Gr(`Line ${t.id} cannot be completed from status ${t.status}`)}function ug(t){return t.status==="active"||t.status==="paused"?S({...t,status:"abandoned"}):Gr(`Line ${t.id} cannot be abandoned from status ${t.status}`)}function p4(t){return t.status==="active"?S({...t,status:"failed"}):Gr(`Line ${t.id} cannot fail from status ${t.status}`)}function m4(t){return t.status==="active"?S(t):Gr(`TEAM line ${t.id} cannot continue from status ${t.status}`)}function c1(t){let e=$f(t.reachedDestinationIds,"reachedDestinationIds");if(!e.ok)return Gr("Arrived MOVE must reach exactly one Destination");let r=lo(t.evidence,"evidence");return r.ok?S({...t,outcome:"arrived",reachedDestinationIds:e.value,evidence:r.value}):Gr("Arrived MOVE requires evidence")}function u1(t){let e=Wo(t.failureReason,"failureReason");if(!e.ok)return Gr("Accident MOVE requires failureReason");let r=lo(t.evidence,"evidence");return r.ok?S({...t,outcome:"accident",reachedDestinationIds:[],failureReason:e.value,evidence:r.value}):Gr("Accident MOVE requires evidence")}function d1(t,e){return t.outcome==="accident"?{...t,...e,outcome:"accident",reachedDestinationIds:[],failureReason:t.failureReason}:{...t,...e,outcome:"arrived",reachedDestinationIds:t.reachedDestinationIds}}function NS(t){return t.outcome==="accident"?u1(t):c1({...t,reachedDestinationIds:t.reachedDestinationIds})}function h4(t){return{...t,status:"draft"}}function l1(t,e){return t.status!=="draft"?Gr(`Skill Draft ${t.id} cannot be accepted from status ${t.status}`):S({...t,status:"accepted",acceptedSnapshot:e})}function f1(t){return t.status!=="draft"?Gr(`Skill Draft ${t.id} cannot be discarded from status ${t.status}`):S({...t,status:"discarded"})}function OS(t,e){let{claimedBy:r,reachedByMoveId:n,blockedReason:i,canceledReason:o,supersededByDestinationId:s,...a}=t;return{...a,updatedBy:e.updatedBy,updatedAt:e.updatedAt}}function p1(t){return t.status==="reached"||t.status==="canceled"||t.status==="superseded"}function MS(t){return typeof t=="string"&&t.trim()!==""}function Gr(t){return oe({type:"DomainModelError",message:t})}function Vt(t,e){return t&&typeof t=="object"&&!Array.isArray(t)?S(t):Ee(`${e} must be an object`)}function si(t,e){return Array.isArray(t)?S(t):Ee(`${e} must be an array`)}function un(t,e,r){return typeof e=="string"&&r.includes(e)?S(e):Ee(`${t} must be one of: ${r.join(", ")}`)}function m1(t,e){return un(e,t,U3)}function tre(t,e){return un(e,t,W3)}function rre(t,e){return typeof t=="number"&&Number.isFinite(t)?S(t):Ee(`${e} must be a finite number`)}function v4(t,e){return t===void 0?S(void 0):typeof t=="boolean"?S(t):Ee(`${e} must be a boolean`)}function HS(t,e){return Number.isInteger(t)&&Number(t)>=0?S(Number(t)):Ee(`${e} must be a non-negative integer`)}function Ns(t,e){return t===void 0?S(void 0):typeof t=="string"?S(t):Ee(`${e} must be a string`)}function $r(t,e){if(t===void 0)return S(void 0);let r=Ie(t,e);return r.ok?S(r.value):Ee(r.error.message)}function h1(t,e){let r=Ie(t,e);return r.ok?S(r.value):Ee(r.error.message)}function ir(t,e="at"){return Ns(t,e)}function nre(t,e){if(t===void 0)return S(void 0);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Q(Ie(r.value[i],`${e}[${i}]`));if(!o.ok)return o;n.push(o.value)}return S(n)}function ire(t,e){return t===void 0?S(void 0):rre(t,e)}function g1(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(Gi(r.value.id));if(!n.ok)return n;let i=Q(xS(r.value.title));if(!i.ok)return i;let o=Q(SS(r.value.goal));if(!o.ok)return o;let s=m1(r.value.createdBy,`${e}.createdBy`);if(!s.ok)return s;let a=Ns(r.value.createdAt,`${e}.createdAt`);return a.ok?S({id:n.value,title:i.value,goal:o.value,createdBy:s.value,createdAt:a.value}):a}function US(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(fo(r.value.id));if(!n.ok)return n;let i=Q(C3(r.value.title,`${e}.title`));if(!i.ok)return i;let o=ore(r.value.acceptanceCriteria,`${e}.acceptanceCriteria`);if(!o.ok)return o;let s=sre(r.value.constraints,`${e}.constraints`);if(!s.ok)return s;let a=ire(r.value.priority,`${e}.priority`);if(!a.ok)return a;let c=r.value.notes===void 0?S(void 0):Q(T3(r.value.notes,`${e}.notes`));return c.ok?S({id:n.value,title:i.value,acceptanceCriteria:o.value,constraints:s.value,priority:a.value,notes:c.value}):c}function $S(t,e,r=!0){let n=si(t,e);if(!n.ok)return n;if(r){let s=Q(lo(n.value,e));if(!s.ok)return s}let i=[];for(let s=0;s<n.value.length;s+=1){let a=US(n.value[s],`${e}[${s}]`);if(!a.ok)return a;i.push(a.value)}let o=GS(i.map(s=>s.id),e,"DestinationId");return o.ok?S(i):o}function ore(t,e){if(t===void 0)return S(void 0);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Q(P3(r.value[i],`${e}[${i}]`));if(!o.ok)return o;n.push(o.value)}return S(n)}function sre(t,e){if(t===void 0)return S(void 0);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Q(_3(r.value[i],`${e}[${i}]`));if(!o.ok)return o;n.push(o.value)}return S(n)}function are(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=US(r.value,e);if(!n.ok)return n;let i=Q(Gi(r.value.requestId));if(!i.ok)return i;let o=tre(r.value.source,`${e}.source`);if(!o.ok)return o;let s=m1(r.value.createdBy,`${e}.createdBy`);if(!s.ok)return s;let a=m1(r.value.updatedBy,`${e}.updatedBy`);if(!a.ok)return a;let c=un(`${e}.status`,r.value.status,q3);if(!c.ok)return c;let u=Ns(r.value.createdAt,`${e}.createdAt`);if(!u.ok)return u;let d=Ns(r.value.updatedAt,`${e}.updatedAt`);if(!d.ok)return d;let l={...n.value,requestId:i.value,source:o.value,createdBy:s.value,updatedBy:a.value,createdAt:u.value,updatedAt:d.value};switch(c.value){case"pending":return Ere(r.value,e,["claimedBy","reachedByMoveId","blockedReason","canceledReason","supersededByDestinationId"],l);case"claimed":case"in_progress":{let f=Q(Ie(r.value.claimedBy,`${e}.claimedBy`));if(!f.ok)return f;let p=Vf(r.value,e,["reachedByMoveId","blockedReason","canceledReason","supersededByDestinationId"]);return p.ok?S({...l,status:c.value,claimedBy:f.value}):p}case"reached":{let f=Q(_n(r.value.reachedByMoveId));if(!f.ok)return f;let p=$r(r.value.claimedBy,`${e}.claimedBy`);if(!p.ok)return p;let g=Vf(r.value,e,["blockedReason","canceledReason","supersededByDestinationId"]);return g.ok?S({...l,status:"reached",reachedByMoveId:f.value,claimedBy:p.value}):g}case"blocked":{let f=Q(Wo(r.value.blockedReason,`${e}.blockedReason`));if(!f.ok)return f;let p=$r(r.value.claimedBy,`${e}.claimedBy`);if(!p.ok)return p;let g=Vf(r.value,e,["reachedByMoveId","canceledReason","supersededByDestinationId"]);return g.ok?S({...l,status:"blocked",blockedReason:f.value,claimedBy:p.value}):g}case"superseded":{let f=Q(fo(r.value.supersededByDestinationId));if(!f.ok)return f;let p=$r(r.value.claimedBy,`${e}.claimedBy`);if(!p.ok)return p;let g=Vf(r.value,e,["reachedByMoveId","blockedReason","canceledReason"]);return g.ok?S({...l,status:"superseded",supersededByDestinationId:f.value,claimedBy:p.value}):g}case"canceled":{let f=Q(Wo(r.value.canceledReason,`${e}.canceledReason`));if(!f.ok)return f;let p=$r(r.value.claimedBy,`${e}.claimedBy`);if(!p.ok)return p;let g=Vf(r.value,e,["reachedByMoveId","blockedReason","supersededByDestinationId"]);return g.ok?S({...l,status:"canceled",canceledReason:f.value,claimedBy:p.value}):g}}}function x4(t,e){let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=are(r.value[i],`${e}[${i}]`);if(!o.ok)return o;n.push(o.value)}return S(n)}function LS(t,e,r){let n=si(t,e);if(!n.ok)return n;if(r){let s=Q(lo(n.value,e));if(!s.ok)return s}let i=[];for(let s=0;s<n.value.length;s+=1){let a=Q(fo(n.value[s]));if(!a.ok)return a;i.push(a.value)}let o=GS(i,e,"DestinationId");return o.ok?S(i):o}function cre(t,e,r){let n=si(t,e);if(!n.ok)return n;if(r){let s=Q(lo(n.value,e));if(!s.ok)return s}let i=[];for(let s=0;s<n.value.length;s+=1){let a=Q(_n(n.value[s]));if(!a.ok)return a;i.push(a.value)}let o=GS(i,e,"MoveId");return o.ok?S(i):o}function ure(t,e,r){let n=si(t,e);if(!n.ok)return n;if(r){let s=Q(lo(n.value,e));if(!s.ok)return s}let i=[];for(let s=0;s<n.value.length;s+=1){let a=Q(Yr(n.value[s]));if(!a.ok)return a;i.push(a.value)}let o=GS(i,e,"NodeId");return o.ok?r?Q(lo(i,e)):S(i):o}function FS(t,e,r){let n=si(t,e);if(!n.ok)return n;if(r){let o=Q(lo(n.value,e));if(!o.ok)return o}let i=[];for(let o=0;o<n.value.length;o+=1){let s=Q(B3(n.value[o],`${e}[${o}]`));if(!s.ok)return s;i.push(s.value)}return S(i)}function jS(t,e){let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Q(D3(r.value[i],`${e}[${i}]`));if(!o.ok)return o;n.push(o.value)}return S(n)}function dre(t,e){return t===void 0?S(void 0):jS(t,e)}function S4(t,e){let r=Vt(t,e);if(!r.ok)return r;switch(r.value.type){case"destination":{let n=Q(fo(r.value.id));return n.ok?S({type:"destination",id:n.value}):n}case"move":{let n=Q(_n(r.value.id));return n.ok?S({type:"move",id:n.value}):n}case"line":{let n=Q(fr(r.value.id));return n.ok?S({type:"line",id:n.value}):n}case"node":{let n=Q(Yr(r.value.id));return n.ok?S({type:"node",id:n.value}):n}default:return Ee(`${e}.type must be destination, move, line, or node`)}}function su(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n=un(`${e}.provider`,r.value.provider,["codex","local"]);if(!n.ok)return n;let i=Q(Jh(r.value.conversationHash));if(!i.ok)return i;let o=$r(r.value.threadId,`${e}.threadId`);if(!o.ok)return o;let s=Q(Ie(r.value.contextHash,`${e}.contextHash`));if(!s.ok)return s;let a=r.value.worktreeHash===void 0?S(void 0):Q(Fd(r.value.worktreeHash));if(!a.ok)return a;let c=Q(Ie(r.value.startedAt,`${e}.startedAt`));if(!c.ok)return c;let u=$r(r.value.endedAt,`${e}.endedAt`);if(!u.ok)return u;let d={conversationHash:i.value,contextHash:s.value,worktreeHash:a.value,startedAt:c.value};return n.value==="local"?o.value!==void 0?Ee(`${e}.threadId is only valid for codex conversations`):u.value===void 0?S({provider:"local",...d}):S({provider:"local",...d,endedAt:u.value}):u.value===void 0?S({provider:"codex",...d,threadId:o.value}):S({provider:"codex",...d,threadId:o.value,endedAt:u.value})}function qS(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n=Q(Fd(r.value.worktreeHash));if(!n.ok)return n;let i=Q(Ie(r.value.path,`${e}.path`));if(!i.ok)return i;let o=Q(Ie(r.value.branch,`${e}.branch`));if(!o.ok)return o;let s=Q(Ie(r.value.baseRef,`${e}.baseRef`));if(!s.ok)return s;let a=Q(Ie(r.value.createdAt,`${e}.createdAt`));if(!a.ok)return a;let c=$r(r.value.removedAt,`${e}.removedAt`);if(!c.ok)return c;let u={worktreeHash:n.value,path:i.value,branch:o.value,baseRef:s.value,createdAt:a.value};return c.value===void 0?S(u):S({...u,removedAt:c.value})}function y1(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=un(`${e}.kind`,r.value.kind,["local-snapshot","local-root-installed","registry-package","skillMeta"]);if(!n.ok)return n;let i=Q(Ie(r.value.name,`${e}.name`));if(!i.ok)return i;if(n.value==="skillMeta"){let l=Q(Ie(r.value.source,`${e}.source`));if(!l.ok)return l;let f=un(`${e}.agent`,r.value.agent,["codex"]);return f.ok?S({kind:"skillMeta",name:i.value,source:l.value,agent:f.value}):f}if(n.value==="local-root-installed"){let l=$r(r.value.sourcePath,`${e}.sourcePath`);return l.ok?S({kind:"local-root-installed",name:i.value,sourcePath:l.value}):l}if(n.value==="local-snapshot"){let l=Q(Ie(r.value.sourcePath,`${e}.sourcePath`));if(!l.ok)return l;let f=Q(Ie(r.value.contentHash,`${e}.contentHash`));if(!f.ok)return f;let p=Q(Ie(r.value.snapshotRef,`${e}.snapshotRef`));if(!p.ok)return p;let g=r.value.snapshotFiles===void 0?S(void 0):gre(r.value.snapshotFiles,`${e}.snapshotFiles`);return g.ok?S({kind:"local-snapshot",name:i.value,sourcePath:l.value,contentHash:f.value,snapshotRef:p.value,snapshotFiles:g.value}):g}let o=un(`${e}.registryKind`,r.value.registryKind,["apm"]);if(!o.ok)return o;let s=Q(Ie(r.value.registry,`${e}.registry`));if(!s.ok)return s;let a=Q(Ie(r.value.package,`${e}.package`));if(!a.ok)return a;let c=Q(Ie(r.value.version,`${e}.version`));if(!c.ok)return c;if(!yre(String(c.value)))return Ee(`${e}.version must be an exact semver version`);let u=Q(Ie(r.value.integrity,`${e}.integrity`));if(!u.ok)return u;let d=Q(Ie(r.value.contentHash,`${e}.contentHash`));return d.ok?r.value.snapshotFiles!==void 0?Ee(`${e}.snapshotFiles is not supported for registry-package skills`):S({kind:"registry-package",registryKind:o.value,name:i.value,registry:s.value,package:a.value,version:c.value,integrity:u.value,contentHash:d.value}):d}function au(t,e,r){if(t===void 0)return S(void 0);let n=Vt(t,e);if(!n.ok)return n;let i=Q(Ie(n.value.origin,`${e}.origin`));if(!i.ok)return i;let o=un(`${e}.kind`,n.value.kind,["team","member","manager","skill"]);if(!o.ok)return o;if(r&&!r.includes(o.value))return Ee(`${e}.kind must be ${r.join(" or ")}`);let s=Q(Ie(n.value.key,`${e}.key`));if(!s.ok)return s;let a=Q(Ie(n.value.version,`${e}.version`));if(!a.ok)return a;let c=Q(Ie(n.value.integrity,`${e}.integrity`));return c.ok?S({origin:i.value,kind:o.value,key:s.value,version:a.value,integrity:c.value}):c}function b4(t,e){if(t===void 0)return S([]);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Vt(r.value[i],`${e}[${i}]`);if(!o.ok)return o;let s=Q(Ie(o.value.executorId,`${e}[${i}].executorId`));if(!s.ok)return s;let a=au(o.value.lock,`${e}[${i}].lock`,["member"]);if(!a.ok)return a;if(!a.value)return Ee(`${e}[${i}].lock is required`);n.push({executorId:s.value,lock:a.value})}return S(n)}function w4(t,e){if(t===void 0)return S([]);let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Vt(r.value[i],`${e}[${i}]`);if(!o.ok)return o;let s=Q(Ie(o.value.name,`${e}[${i}].name`));if(!s.ok)return s;let a=au(o.value.lock,`${e}[${i}].lock`,["skill"]);if(!a.ok)return a;if(!a.value)return Ee(`${e}[${i}].lock is required`);n.push({name:s.value,lock:a.value})}return S(n)}function WS(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(Ie(r.value.name,`${e}.name`));if(!n.ok)return n;let i=Q(Ie(r.value.url,`${e}.url`));if(!i.ok)return i;let o=un(`${e}.transport`,r.value.transport,["http","ssh"]);if(!o.ok)return o;let s=$r(r.value.identity,`${e}.identity`);return s.ok?S({name:n.value,url:i.value,transport:o.value,identity:s.value}):s}function dg(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(O3(r.value.id));if(!n.ok)return n;let i=vre(r.value.owner,`${e}.owner`);if(!i.ok)return i;let o=un(`${e}.kind`,r.value.kind,J3);if(!o.ok)return o;let s=$r(r.value.path,`${e}.path`);if(!s.ok)return s;let a=$r(r.value.text,`${e}.text`);return a.ok?s.value===void 0&&a.value===void 0?Ee(`${e} must include path, text, or both`):s.value!==void 0&&a.value!==void 0?S({id:n.value,owner:i.value,kind:o.value,path:s.value,text:a.value}):s.value!==void 0?S({id:n.value,owner:i.value,kind:o.value,path:s.value}):S({id:n.value,owner:i.value,kind:o.value,text:a.value}):a}function I4(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(M3(r.value.id));if(!n.ok)return n;let i=Q(Ie(r.value.title,`${e}.title`));if(!i.ok)return i;let o=un(`${e}.kind`,r.value.kind,X3);if(!o.ok)return o;let s=un(`${e}.sourceScope`,r.value.sourceScope,Y3);if(!s.ok)return s;let a=xre(r.value.env,`${e}.env`);if(!a.ok)return a;let c=Sre(r.value.runner,`${e}.runner`);if(!c.ok)return c;let u=bre(r.value.aliases,`${e}.aliases`);if(!u.ok)return u;let d=lre(a.value,u.value,`${e}.env`);if(!d.ok)return d;let l=wre(r.value.evidence,`${e}.evidence`);if(!l.ok)return l;let f=HS(r.value.displayOrder,`${e}.displayOrder`);return f.ok?o.value==="check"&&c.value.type!=="command"?Ee(`${e}.runner.type must be command for check actions`):S({id:n.value,title:i.value,kind:o.value,sourceScope:s.value,env:a.value,runner:c.value,aliases:u.value,evidence:l.value,displayOrder:f.value}):f}function lre(t,e,r){let n=new Set(Object.keys(e??{}));for(let[i,o]of Object.entries(t??{})){if("alias"in o&&!n.has(String(o.alias)))return Ee(`${r}.${i}.alias references unknown alias: ${o.alias}`);if("fromAliasUrl"in o&&!n.has(String(o.fromAliasUrl)))return Ee(`${r}.${i}.fromAliasUrl references unknown alias: ${o.fromAliasUrl}`)}return S(void 0)}function v1(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(fr(r.value.id));if(!n.ok)return n;let i=Q(Gi(r.value.requestId));if(!i.ok)return i;let o=r.value.teamName===void 0?S(void 0):Q(cn(r.value.teamName,`${e}.teamName`));if(!o.ok)return o;let s=un(`${e}.status`,r.value.status,V3);if(!s.ok)return s;let a=cre(r.value.moveIds,`${e}.moveIds`,!1);if(!a.ok)return a;let c=Q(Yr(r.value.rootNodeId));if(!c.ok)return c;let u=Q(Yr(r.value.currentNodeId));if(!u.ok)return u;let d=ure(r.value.nodeIds,`${e}.nodeIds`,!0);if(!d.ok)return d;let l=_4(r.value.parentLineId);if(!l.ok)return l;let f=lg(r.value.forkedFromMoveId);if(!f.ok)return f;if(f.value!==void 0&&l.value===void 0)return Ee(`${e}.parentLineId is required when forkedFromMoveId is present`);let p={id:n.value,requestId:i.value,teamName:o.value,moveIds:a.value,rootNodeId:c.value,currentNodeId:u.value,nodeIds:d.value};if(l.value!==void 0){let v={...p,parentLineId:l.value,forkedFromMoveId:f.value};return y4(v,s.value)}return y4(p,s.value)}function E4(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(iu(r.value.id));if(!n.ok)return n;let i=Q(Ie(r.value.name,`${e}.name`));if(!i.ok)return i;let o=$r(r.value.sourcePath,`${e}.sourcePath`);if(!o.ok)return o;let s=Q(Ie(r.value.draftPath,`${e}.draftPath`));if(!s.ok)return s;let a=hre(r.value.createdFromNodeId);if(!a.ok)return a;let c=Ns(r.value.createdAt,`${e}.createdAt`);if(!c.ok)return c;let u=un(`${e}.status`,r.value.status,K3);if(!u.ok)return u;let d={id:n.value,name:i.value,sourcePath:o.value,draftPath:s.value,createdFromNodeId:a.value,createdAt:c.value};switch(u.value){case"accepted":{let l=y1(r.value.acceptedSnapshot,`${e}.acceptedSnapshot`);return l.ok?S({...d,status:"accepted",acceptedSnapshot:l.value}):l}case"draft":return r.value.acceptedSnapshot!==void 0?Ee(`${e}.acceptedSnapshot is only valid for accepted Skill Drafts`):S({...d,status:"draft"});case"discarded":return r.value.acceptedSnapshot!==void 0?Ee(`${e}.acceptedSnapshot is only valid for accepted Skill Drafts`):S({...d,status:"discarded"})}}function k4(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(Kh(n.value.id));if(!i.ok)return i;let o=Q(fr(n.value.sourceLineId));if(!o.ok)return o;let s=Q(Yr(n.value.sourceNodeId));if(!s.ok)return s;let a=lg(n.value.sourceMoveId);if(!a.ok)return a;let c=S4(n.value.target,`${e}.target`);if(!c.ok)return c;let u=Q(cn(n.value.newTeamName,`${e}.newTeamName`));if(!u.ok)return u;let d=Q(qo(n.value.summary,`${e}.summary`));if(!d.ok)return d;let l=x1(n.value.teamSnapshot,`${e}.teamSnapshot`,r);if(!l.ok)return l;let f=C4(n.value.changedFiles,`${e}.changedFiles`);if(!f.ok)return f;let p=Ns(n.value.createdAt,`${e}.createdAt`);if(!p.ok)return p;let g=Ns(n.value.updatedAt,`${e}.updatedAt`);if(!g.ok)return g;let v=un(`${e}.status`,n.value.status,z3);if(!v.ok)return v;let b={id:i.value,sourceLineId:o.value,sourceNodeId:s.value,sourceMoveId:a.value,target:c.value,newTeamName:u.value,summary:d.value,teamSnapshot:l.value,changedFiles:f.value,createdAt:p.value,updatedAt:g.value};switch(v.value){case"ready":{let B=Q(Vo(n.value.hunsuId));if(!B.ok)return B;let _=Q(fr(n.value.newLineId));if(!_.ok)return _;if(n.value.conversationRef===void 0)return Ee(`${e}.conversationRef is required for ready HUNSU Drafts`);let F=su(n.value.conversationRef,`${e}.conversationRef`);return F.ok?F.value?S({...b,status:"ready",hunsuId:B.value,newLineId:_.value,conversationRef:F.value}):Ee(`${e}.conversationRef is required for ready HUNSU Drafts`):F}case"confirmed":{let B=Q(Vo(n.value.hunsuId));if(!B.ok)return B;let _=Q(fr(n.value.newLineId));if(!_.ok)return _;if(n.value.conversationRef===void 0)return Ee(`${e}.conversationRef is required for confirmed HUNSU Drafts`);let F=su(n.value.conversationRef,`${e}.conversationRef`);return F.ok?F.value?S({...b,status:"confirmed",hunsuId:B.value,newLineId:_.value,conversationRef:F.value}):Ee(`${e}.conversationRef is required for confirmed HUNSU Drafts`):F}case"draft":return n.value.hunsuId!==void 0||n.value.newLineId!==void 0||n.value.conversationRef!==void 0?Ee(`${e} draft status cannot carry hunsuId, newLineId, or conversationRef`):S({...b,status:"draft"});case"discarded":if(n.value.hunsuId!==void 0||n.value.newLineId!==void 0)return Ee(`${e} discarded status cannot carry hunsuId or newLineId`);if(n.value.conversationRef===void 0)return S({...b,status:"discarded"});let C=su(n.value.conversationRef,`${e}.conversationRef`);return C.ok?S({...b,status:"discarded",conversationRef:C.value}):C}}function R4(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(_n(n.value.id));if(!i.ok)return i;let o=Q(fr(n.value.lineId));if(!o.ok)return o;let s=Q(Yr(n.value.fromNodeId));if(!s.ok)return s;let a=Q(Yr(n.value.toNodeId));if(!a.ok)return a;let c=n.value.teamName===void 0?S(void 0):Q(cn(n.value.teamName,`${e}.teamName`));if(!c.ok)return c;let u=n.value.ordinal===void 0?S(void 0):HS(n.value.ordinal,`${e}.ordinal`);if(!u.ok)return u;let d=n.value.snapshot===void 0?S(void 0):x1(n.value.snapshot,`${e}.snapshot`,r);if(!d.ok)return d;let l=mre(n.value.sourceHunsuId);if(!l.ok)return l;let f=VS(n.value.executeId);if(!f.ok)return f;let p=su(n.value.conversationRef,`${e}.conversationRef`);if(!p.ok)return p;let g=qS(n.value.worktree,`${e}.worktree`);if(!g.ok)return g;let v=Q(qo(n.value.summary,`${e}.summary`));if(!v.ok)return v;let b=Q($d(n.value.commit,`${e}.commit`));if(!b.ok)return b;let C=FS(n.value.evidence,`${e}.evidence`,!0);if(!C.ok)return C;let B=dre(n.value.risks,`${e}.risks`);if(!B.ok)return B;let _=un(`${e}.recordedBy`,n.value.recordedBy,["SYSTEM"]);if(!_.ok)return _;let F=Ns(n.value.recordedAt,`${e}.recordedAt`);if(!F.ok)return F;let he=un(`${e}.outcome`,n.value.outcome,G3);if(!he.ok)return he;let z={id:i.value,lineId:o.value,fromNodeId:s.value,toNodeId:a.value,teamName:c.value,ordinal:u.value,snapshot:d.value,sourceHunsuId:l.value,executeId:f.value,conversationRef:p.value,worktree:g.value,summary:v.value,commit:b.value,evidence:C.value,risks:B.value,recordedBy:_.value,recordedAt:F.value};if(he.value==="arrived"){let R=LS(n.value.reachedDestinationIds,`${e}.reachedDestinationIds`,!0);if(!R.ok)return R;let V=Q($f(R.value,`${e}.reachedDestinationIds`));return V.ok?n.value.failureReason!==void 0?Ee(`${e}.failureReason is only valid for accident MOVEs`):S({...z,outcome:"arrived",reachedDestinationIds:V.value}):V}let Ae=LS(n.value.reachedDestinationIds,`${e}.reachedDestinationIds`,!1);if(!Ae.ok)return Ae;if(Ae.value.length!==0)return Ee(`${e}.reachedDestinationIds must be empty for accident MOVEs`);let de=Q(Wo(n.value.failureReason,`${e}.failureReason`));return de.ok?S({...z,outcome:"accident",reachedDestinationIds:[],failureReason:de.value}):de}function A4(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(Vo(n.value.id));if(!i.ok)return i;let o=pre(n.value.hunsuDraftId);if(!o.ok)return o;let s=su(n.value.conversationRef,`${e}.conversationRef`);if(!s.ok)return s;let a=Q(fr(n.value.lineId));if(!a.ok)return a;let c=Q(Yr(n.value.fromNodeId));if(!c.ok)return c;let u=Q(Yr(n.value.toNodeId));if(!u.ok)return u;let d=S4(n.value.target,`${e}.target`);if(!d.ok)return d;let l=Q(qo(n.value.summary,`${e}.summary`));if(!l.ok)return l;let f=n.value.newLineId===void 0?S(void 0):Q(fr(n.value.newLineId));if(!f.ok)return f;let p=lg(n.value.sourceMoveId);if(!p.ok)return p;let g=n.value.newTeamName===void 0?S(void 0):Q(cn(n.value.newTeamName,`${e}.newTeamName`));if(!g.ok)return g;let v=x1(n.value.teamSnapshot,`${e}.teamSnapshot`,r);if(!v.ok)return v;let b=C4(n.value.changedFiles,`${e}.changedFiles`);if(!b.ok)return b;let C=un(`${e}.recordedBy`,n.value.recordedBy,["DIRECTOR"]);if(!C.ok)return C;let B=Ns(n.value.recordedAt,`${e}.recordedAt`);return B.ok?S({id:i.value,hunsuDraftId:o.value,conversationRef:s.value,lineId:a.value,fromNodeId:c.value,toNodeId:u.value,target:d.value,summary:l.value,newLineId:f.value,sourceMoveId:p.value,newTeamName:g.value,teamSnapshot:v.value,changedFiles:b.value,recordedBy:C.value,recordedAt:B.value}):B}function C4(t,e){let r=si(t,e);if(!r.ok)return r;if(r.value.length===0)return Ee(`${e} must contain at least one changed file`);let n=[];for(let i=0;i<r.value.length;i+=1){let o=fre(r.value[i],`${e}[${i}]`);if(!o.ok)return o;n.push(o.value)}return S(n)}function fre(t,e){let r=Vt(t,e);if(!r.ok)return r;let n=Q(Ie(r.value.path,`${e}.path`));if(!n.ok)return n;let i=un(`${e}.kind`,r.value.kind,["added","updated","removed"]);if(!i.ok)return i;let o=Q(qo(r.value.summary,`${e}.summary`));return o.ok?S({path:n.value,kind:i.value,summary:o.value}):o}function P4(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(Yr(n.value.id));if(!i.ok)return i;let o=Q(Gi(n.value.requestId));if(!o.ok)return o;let s=_4(n.value.lineId);if(!s.ok)return s;let a=n.value.teamName===void 0?S(void 0):Q(cn(n.value.teamName,`${e}.teamName`));if(!a.ok)return a;let c=HS(n.value.ordinal,`${e}.ordinal`);if(!c.ok)return c;let u=x4(n.value.destinations,`${e}.destinations`);if(!u.ok)return u;let d=r(n.value.harness);if(!d.ok)return d;let l=T4(n.value.harnessGraph,d.value,`${e}.harnessGraph`);if(!l.ok)return l;let f=au(n.value.harnessLock,`${e}.harnessLock`,["team"]);if(!f.ok)return f;let p=b4(n.value.executorPackageBindings,`${e}.executorPackageBindings`);if(!p.ok)return p;let g=w4(n.value.resourcePackageBindings,`${e}.resourcePackageBindings`);if(!g.ok)return g;let v=fg(n.value.artifactActions??[],`${e}.artifactActions`);if(!v.ok)return v;let b=Ire(n.value.source,`${e}.source`);if(!b.ok)return b;let C=Ns(n.value.createdAt,`${e}.createdAt`);return C.ok?S({id:i.value,requestId:o.value,lineId:s.value,teamName:a.value,ordinal:c.value,destinations:u.value,harness:d.value,harnessGraph:l.value,harnessLock:f.value,executorPackageBindings:p.value,resourcePackageBindings:g.value,artifactActions:v.value,source:b.value,createdAt:C.value}):C}function pre(t){return t===void 0?S(void 0):Q(Kh(t))}function mre(t){return t===void 0?S(void 0):Q(Vo(t))}function lg(t){return t===void 0?S(void 0):Q(_n(t))}function _4(t){return t===void 0?S(void 0):Q(fr(t))}function hre(t){return t===void 0?S(void 0):Q(Yr(t))}function VS(t){return t===void 0?S(void 0):Q(L3(t))}function x1(t,e,r){let n=Vt(t,e);if(!n.ok)return n;let i=Q(cn(n.value.teamName,`${e}.teamName`));if(!i.ok)return i;let o=HS(n.value.moveOrdinal,`${e}.moveOrdinal`);if(!o.ok)return o;let s=x4(n.value.destinations,`${e}.destinations`);if(!s.ok)return s;let a=r(n.value.harness);if(!a.ok)return a;let c=T4(n.value.harnessGraph,a.value,`${e}.harnessGraph`);if(!c.ok)return c;let u=au(n.value.harnessLock,`${e}.harnessLock`,["team"]);if(!u.ok)return u;let d=b4(n.value.executorPackageBindings,`${e}.executorPackageBindings`);if(!d.ok)return d;let l=w4(n.value.resourcePackageBindings,`${e}.resourcePackageBindings`);if(!l.ok)return l;let f=fg(n.value.artifactActions??[],`${e}.artifactActions`);return f.ok?S({teamName:i.value,moveOrdinal:o.value,destinations:s.value,harness:a.value,harnessGraph:c.value,harnessLock:u.value,executorPackageBindings:d.value,resourcePackageBindings:l.value,artifactActions:f.value}):f}function T4(t,e,r){return t===void 0?S(Ds(e)):qd(t,r)}function fg(t,e){let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=I4(r.value[i],`${e}[${i}]`);if(!o.ok)return o;if(n.some(s=>s.id===o.value.id))return Ee(`${e} contains duplicate ArtifactActionId: ${o.value.id}`);n.push(o.value)}return S(n)}function gre(t,e){let r=si(t,e);if(!r.ok)return r;let n=[];for(let i=0;i<r.value.length;i+=1){let o=Vt(r.value[i],`${e}[${i}]`);if(!o.ok)return o;let s=Q(Ie(o.value.path,`${e}[${i}].path`));if(!s.ok)return s;let a=o.value.text;if(typeof a!="string")return Ee(`${e}[${i}].text must be a string`);n.push({path:s.value,text:a})}return S(n)}function yre(t){return/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(t)}function vre(t,e){let r=Vt(t,e);if(!r.ok)return r;switch(r.value.type){case"move":{let n=Q(_n(r.value.id));return n.ok?S({type:"move",id:n.value}):n}case"hunsu":{let n=Q(Vo(r.value.id));return n.ok?S({type:"hunsu",id:n.value}):n}case"line":{let n=Q(fr(r.value.id));return n.ok?S({type:"line",id:n.value}):n}default:return Ee(`${e}.type must be move, hunsu, or line`)}}function xre(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n={};for(let[i,o]of Object.entries(r.value)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(i))return Ee(`${e}.${i} must be a valid environment variable name`);let s=Vt(o,`${e}.${i}`);if(!s.ok)return s;if(["default","value","required","alias","fromAliasUrl"].filter(c=>c in s.value).length!==1)return Ee(`${e}.${i} must declare exactly one of default, value, required, alias, or fromAliasUrl`);if("default"in s.value){let c=g4(s.value.default,`${e}.${i}.default`);if(!c.ok)return c;n[i]={default:c.value}}else if("value"in s.value){let c=g4(s.value.value,`${e}.${i}.value`);if(!c.ok)return c;n[i]={value:c.value}}else if("alias"in s.value){let c=Q(Ie(s.value.alias,`${e}.${i}.alias`));if(!c.ok)return c;n[i]={alias:c.value}}else if("fromAliasUrl"in s.value){let c=Q(Ie(s.value.fromAliasUrl,`${e}.${i}.fromAliasUrl`));if(!c.ok)return c;n[i]={fromAliasUrl:c.value}}else{if(s.value.required!==!0)return Ee(`${e}.${i}.required must be true`);let c=v4(s.value.secret,`${e}.${i}.secret`);if(!c.ok)return c;n[i]={required:!0,secret:c.value}}}return S(n)}function Sre(t,e){let r=Vt(t,e);if(!r.ok)return r;switch(r.value.type){case"docker_compose":{let n=Q(Ie(r.value.file,`${e}.file`));if(!n.ok)return n;let i=$r(r.value.projectName,`${e}.projectName`);return i.ok?S({type:"docker_compose",file:n.value,projectName:i.value}):i}case"command":{let n=Q(Ie(r.value.command,`${e}.command`));if(!n.ok)return n;let i=$r(r.value.stopCommand,`${e}.stopCommand`);return i.ok?S({type:"command",command:n.value,stopCommand:i.value}):i}default:return Ee(`${e}.type must be docker_compose or command`)}}function bre(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n={};for(let[i,o]of Object.entries(r.value)){if(!/^[A-Za-z][A-Za-z0-9_-]*$/.test(i))return Ee(`${e}.${i} must start with a letter and contain only letters, numbers, "_" or "-"`);let s=Vt(o,`${e}.${i}`);if(!s.ok)return s;let a="target"in s.value,c="service"in s.value,u="containerPort"in s.value;if(a&&(c||u||"healthPath"in s.value))return Ee(`${e}.${i} must not mix target with docker service fields`);if(a){let p=Q(Ie(s.value.target,`${e}.${i}.target`));if(!p.ok)return p;n[i]={target:p.value};continue}if(!c||!u)return Ee(`${e}.${i} must declare either target or both service and containerPort`);let d=Q(Ie(s.value.service,`${e}.${i}.service`));if(!d.ok)return d;let l=Q(Da(s.value.containerPort,`${e}.${i}.containerPort`));if(!l.ok)return l;let f=$r(s.value.healthPath,`${e}.${i}.healthPath`);if(!f.ok)return f;n[i]={service:d.value,containerPort:l.value,healthPath:f.value}}return S(n)}function wre(t,e){if(t===void 0)return S(void 0);let r=Vt(t,e);if(!r.ok)return r;let n=nre(r.value.paths,`${e}.paths`);if(!n.ok)return n;let i=v4(r.value.attach,`${e}.attach`);return i.ok?S({attach:i.value,paths:n.value}):i}function g4(t,e){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"?S(t):Ee(`${e} must be a string, number, or boolean`)}function GS(t,e,r){let n=new Set;for(let i of t){if(n.has(i))return Ee(`${e} contains duplicate ${r}: ${i}`);n.add(i)}return S(void 0)}function Ire(t,e){let r=Vt(t,e);if(!r.ok)return r;switch(r.value.type){case"initial-execute-team":case"request":{let n=Q(Gi(r.value.requestId));return n.ok?S({type:r.value.type,requestId:n.value}):n}case"move":{let n=Q(_n(r.value.moveId));if(!n.ok)return n;let i=Q(Yr(r.value.fromNodeId));return i.ok?S({type:"move",moveId:n.value,fromNodeId:i.value}):i}case"hunsu":{let n=Q(Vo(r.value.hunsuId));if(!n.ok)return n;let i=Q(Yr(r.value.fromNodeId));return i.ok?S({type:"hunsu",hunsuId:n.value,fromNodeId:i.value}):i}default:return Ee(`${e}.type must be a supported node source type`)}}function y4(t,e){switch(e){case"active":return S({...t,status:"active"});case"paused":return S({...t,status:"paused"});case"complete":return S({...t,status:"complete"});case"failed":return S({...t,status:"failed"});case"abandoned":return S({...t,status:"abandoned"})}}function Ere(t,e,r,n){let i=Vf(t,e,r);return i.ok?S({...n,status:"pending"}):i}function Vf(t,e,r){let n=r.find(i=>t[i]!==void 0);return n?Ee(`${e}.${n} is not valid for this lifecycle status`):S(void 0)}function Q(t){return t.ok?S(t.value):Ee(t.error.message)}function B4(t,e){let r=Vt(t,"Command");if(!r.ok)return r;switch(r.value.type){case"RegisterHunsuOrigin":{let n=WS(r.value.origin,"origin");if(!n.ok)return n;let i=$r(r.value.actor,"actor");if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:"RegisterHunsuOrigin",origin:n.value,actor:i.value,at:o.value}):o}case"CreateInitialTeam":{let n=Ut(Gi(r.value.requestId));if(!n.ok)return n;let i=Ut(fr(r.value.lineId));if(!i.ok)return i;let o=Ut(xS(r.value.title));if(!o.ok)return o;let s=Ut(SS(r.value.goal));if(!s.ok)return s;let a=$S(r.value.destinations,"destinations");if(!a.ok)return a;let c=r.value.harness===void 0?S(void 0):e(r.value.harness);if(!c.ok)return c;let u=au(r.value.harnessLock,"harnessLock",["team"]);if(!u.ok)return u;let d=r.value.teamName===void 0?S(void 0):Ut(cn(r.value.teamName));if(!d.ok)return d;let l=$r(r.value.actor,"actor");if(!l.ok)return l;let f=ir(r.value.at);return f.ok?S({type:"CreateInitialTeam",requestId:n.value,lineId:i.value,title:o.value,goal:s.value,destinations:a.value,harness:c.value,harnessLock:u.value,teamName:d.value,actor:l.value,at:f.value}):f}case"StartLine":{let n=Ut(Gi(r.value.requestId));if(!n.ok)return n;let i=Ut(fr(r.value.lineId));if(!i.ok)return i;let o=r.value.teamName===void 0?S(void 0):Ut(cn(r.value.teamName));if(!o.ok)return o;let s=ir(r.value.at);return s.ok?S({type:"StartLine",lineId:i.value,requestId:n.value,teamName:o.value,at:s.value}):s}case"PauseLine":case"ResumeLine":{let n=Ut(fr(r.value.lineId));if(!n.ok)return n;let i=ir(r.value.at);return i.ok?S({type:r.value.type,lineId:n.value,at:i.value}):i}case"AcceptLine":case"RejectLine":{let n=Ut(fr(r.value.lineId));if(!n.ok)return n;let i=$r(r.value.reason,"reason");if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:r.value.type,lineId:n.value,reason:i.value,at:o.value}):o}case"ClaimDestination":case"StartDestinationWork":{let n=Ut(fo(r.value.destinationId));if(!n.ok)return n;let i=Ut(Ie(r.value.actor,"actor"));if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:r.value.type,destinationId:n.value,actor:i.value,at:o.value}):o}case"ReportDestinationBlocked":{let n=Ut(fo(r.value.destinationId));if(!n.ok)return n;let i=Ut(Wo(r.value.reason,"reason"));if(!i.ok)return i;let o=Ut(Ie(r.value.actor,"actor"));if(!o.ok)return o;let s=ir(r.value.at);return s.ok?S({type:"ReportDestinationBlocked",destinationId:n.value,reason:i.value,actor:o.value,at:s.value}):s}case"RecordMove":{let n=Ut(fr(r.value.lineId));if(!n.ok)return n;let i=Ut(_n(r.value.moveId));if(!i.ok)return i;let o=Ut(qo(r.value.summary));if(!o.ok)return o;let s=Ut($d(r.value.commit,"commit"));if(!s.ok)return s;let a=LS(r.value.reachedDestinationIds,"reachedDestinationIds",!0);if(!a.ok)return a;let c=Ut($f(a.value,"reachedDestinationIds"));if(!c.ok)return c;let u=FS(r.value.evidence,"evidence",!0);if(!u.ok)return u;let d=r.value.risks===void 0?S(void 0):jS(r.value.risks,"risks");if(!d.ok)return d;let l=VS(r.value.executeId);if(!l.ok)return l;let f=su(r.value.conversationRef,"conversationRef");if(!f.ok)return f;let p=qS(r.value.worktree,"worktree");if(!p.ok)return p;let g=Ut(Ie(r.value.actor,"actor"));if(!g.ok)return g;let v=ir(r.value.at);return v.ok?S({type:"RecordMove",lineId:n.value,moveId:i.value,summary:o.value,commit:s.value,reachedDestinationIds:c.value,evidence:u.value,risks:d.value,executeId:l.value,conversationRef:f.value,worktree:p.value,actor:g.value,at:v.value}):v}case"RecordAccident":{let n=Ut(fr(r.value.lineId));if(!n.ok)return n;let i=Ut(_n(r.value.moveId));if(!i.ok)return i;let o=Ut(qo(r.value.summary));if(!o.ok)return o;let s=Ut($d(r.value.commit,"commit"));if(!s.ok)return s;let a=FS(r.value.evidence,"evidence",!0);if(!a.ok)return a;let c=Ut(Wo(r.value.failureReason));if(!c.ok)return c;let u=r.value.risks===void 0?S(void 0):jS(r.value.risks,"risks");if(!u.ok)return u;let d=VS(r.value.executeId);if(!d.ok)return d;let l=su(r.value.conversationRef,"conversationRef");if(!l.ok)return l;let f=qS(r.value.worktree,"worktree");if(!f.ok)return f;let p=Ut(Ie(r.value.actor,"actor"));if(!p.ok)return p;let g=ir(r.value.at);return g.ok?S({type:"RecordAccident",lineId:n.value,moveId:i.value,summary:o.value,commit:s.value,evidence:a.value,failureReason:c.value,risks:u.value,executeId:d.value,conversationRef:l.value,worktree:f.value,actor:p.value,at:g.value}):g}case"AttachMoveEvidence":{let n=Ut(_n(r.value.moveId));if(!n.ok)return n;let i=dg(r.value.artifact,"artifact");if(!i.ok)return i;let o=Ut(Ie(r.value.actor,"actor"));if(!o.ok)return o;let s=ir(r.value.at);return s.ok?S({type:"AttachMoveEvidence",moveId:n.value,artifact:i.value,actor:o.value,at:s.value}):s}case"ConfirmHunsuDraft":{let n=k4(r.value.draft,"draft",e);if(!n.ok)return n;if(n.value.status!=="ready")return Ee(`HUNSU Draft ${n.value.id} cannot be confirmed from status ${n.value.status}`);let i=Ut(Ie(r.value.actor,"actor"));if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:"ConfirmHunsuDraft",draft:n.value,actor:i.value,at:o.value}):o}case"CreateSkillDraft":{let n=Ut(iu(r.value.draftId));if(!n.ok)return n;let i=Ut(fr(r.value.lineId));if(!i.ok)return i;let o=Ut(Ie(r.value.name,"name"));if(!o.ok)return o;let s=Ut(Ie(r.value.draftPath,"draftPath"));if(!s.ok)return s;let a=$r(r.value.sourcePath,"sourcePath");if(!a.ok)return a;let c=Ut(Ie(r.value.actor,"actor"));if(!c.ok)return c;let u=ir(r.value.at);return u.ok?S({type:"CreateSkillDraft",draftId:n.value,lineId:i.value,name:o.value,draftPath:s.value,sourcePath:a.value,actor:c.value,at:u.value}):u}case"DiscardSkillDraft":{let n=Ut(iu(r.value.draftId));if(!n.ok)return n;let i=Ut(Ie(r.value.actor,"actor"));if(!i.ok)return i;let o=ir(r.value.at);return o.ok?S({type:"DiscardSkillDraft",draftId:n.value,actor:i.value,at:o.value}):o}case"RecordArtifact":{let n=dg(r.value.artifact,"artifact");if(!n.ok)return n;let i=ir(r.value.at);return i.ok?S({type:"RecordArtifact",artifact:n.value,at:i.value}):i}default:return Ee(`Unsupported command type: ${String(r.value.type)}`)}}function Ut(t){return t.ok?S(t.value):Ee(t.error.message)}function D4(t,e){let r=Vt(t,"DomainEvent");if(!r.ok)return r;switch(r.value.type){case"HunsuOriginRegistered":{let n=WS(r.value.origin,"event.origin");if(!n.ok)return n;let i=ir(r.value.at,"event.at");return i.ok?S({type:"HunsuOriginRegistered",origin:n.value,at:i.value}):i}case"InitialTeamCreated":{let n=g1(r.value.request,"event.request");if(!n.ok)return n;let i=v1(r.value.line,"event.line");if(!i.ok)return i;let o=$S(r.value.destinations,"event.destinations");if(!o.ok)return o;let s=r.value.harness===void 0?S(void 0):e(r.value.harness);if(!s.ok)return s;let a=au(r.value.harnessLock,"event.harnessLock",["team"]);if(!a.ok)return a;let c=ir(r.value.at,"event.at");return c.ok?S({type:"InitialTeamCreated",request:n.value,line:i.value,destinations:o.value,harness:s.value,harnessLock:a.value,at:c.value}):c}case"RequestCreated":{let n=g1(r.value.request,"event.request");return n.ok?S({type:"RequestCreated",request:n.value}):n}case"DestinationDeclared":{let n=Gn(Gi(r.value.requestId));if(!n.ok)return n;let i=US(r.value.destination,"event.destination");if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:"DestinationDeclared",requestId:n.value,destination:i.value,at:o.value}):o}case"HarnessSeeded":{let n=Gn(Gi(r.value.requestId));if(!n.ok)return n;let i=e(r.value.harness);if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:"HarnessSeeded",requestId:n.value,harness:i.value,at:o.value}):o}case"LineStarted":{let n=v1(r.value.line,"event.line");return n.ok?S({type:"LineStarted",line:n.value}):n}case"SkillDraftCreated":{let n=E4(r.value.draft,"event.draft");return n.ok?S({type:"SkillDraftCreated",draft:n.value}):n}case"SkillDraftAccepted":{let n=Gn(iu(r.value.draftId));if(!n.ok)return n;let i=y1(r.value.skill,"event.skill");if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:"SkillDraftAccepted",draftId:n.value,skill:i.value,at:o.value}):o}case"SkillDraftDiscarded":{let n=Gn(iu(r.value.draftId));if(!n.ok)return n;let i=ir(r.value.at,"event.at");return i.ok?S({type:"SkillDraftDiscarded",draftId:n.value,at:i.value}):i}case"NodeCreated":{let n=P4(r.value.node,"event.node",e);return n.ok?S({type:"NodeCreated",node:n.value}):n}case"LinePaused":case"LineResumed":{let n=Gn(fr(r.value.lineId));if(!n.ok)return n;let i=ir(r.value.at,"event.at");return i.ok?S({type:r.value.type,lineId:n.value,at:i.value}):i}case"LineAccepted":case"LineRejected":{let n=Gn(fr(r.value.lineId));if(!n.ok)return n;let i=$r(r.value.reason,"event.reason");if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:r.value.type,lineId:n.value,reason:i.value,at:o.value}):o}case"DestinationClaimed":case"DestinationWorkStarted":{let n=Gn(fo(r.value.destinationId));if(!n.ok)return n;let i=h1(r.value.actor,"event.actor");if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:r.value.type,destinationId:n.value,actor:i.value,at:o.value}):o}case"DestinationBlocked":{let n=Gn(fo(r.value.destinationId));if(!n.ok)return n;let i=Gn(Wo(r.value.reason,"event.reason"));if(!i.ok)return i;let o=h1(r.value.actor,"event.actor");if(!o.ok)return o;let s=ir(r.value.at,"event.at");return s.ok?S({type:"DestinationBlocked",destinationId:n.value,reason:i.value,actor:o.value,at:s.value}):s}case"MoveRecorded":{let n=R4(r.value.move,"event.move",e);return n.ok?S({type:"MoveRecorded",move:n.value}):n}case"DestinationReached":{let n=Gn(fo(r.value.destinationId));if(!n.ok)return n;let i=Gn(_n(r.value.moveId));if(!i.ok)return i;let o=ir(r.value.at,"event.at");return o.ok?S({type:"DestinationReached",destinationId:n.value,moveId:i.value,at:o.value}):o}case"HunsuRecorded":{let n=A4(r.value.hunsu,"event.hunsu",e);return n.ok?S({type:"HunsuRecorded",hunsu:n.value}):n}case"LineForkedByHunsu":{let n=Gn(Vo(r.value.hunsuId));if(!n.ok)return n;let i=Gn(fr(r.value.fromLineId));if(!i.ok)return i;let o=Gn(fr(r.value.newLineId));if(!o.ok)return o;let s=r.value.newTeamName??r.value.newTeamName,a=s===void 0?S(void 0):Gn(cn(s,(s===r.value.newTeamName,"event.newTeamName")));if(!a.ok)return a;let c=lg(r.value.fromMoveId);if(!c.ok)return c;let u=Gn(Gi(r.value.requestId));if(!u.ok)return u;let d=ir(r.value.at,"event.at");return d.ok?S({type:"LineForkedByHunsu",hunsuId:n.value,fromLineId:i.value,newLineId:o.value,newTeamName:a.value,fromMoveId:c.value,requestId:u.value,at:d.value}):d}case"ArtifactRecorded":{let n=dg(r.value.artifact,"event.artifact");if(!n.ok)return n;let i=ir(r.value.at,"event.at");return i.ok?S({type:"ArtifactRecorded",artifact:n.value,at:i.value}):i}default:return Ee(`Unsupported Hunsu domain event type: ${String(r.value.type)}`)}}function Gn(t){return t.ok?S(t.value):Ee(t.error.message)}var S1=["T1","Gen.G","Hanwha Life Esports","KT Rolster","Dplus KIA","DRX","Nongshim RedForce","BNK FearX","DN Freecs","OKSavingsBank BRION","Bilibili Gaming","JD Gaming","Top Esports","Anyone's Legend","Ninjas in Pyjamas","Weibo Gaming","Invictus Gaming","Team WE","LNG Esports","TT Gaming","LGD Gaming","EDward Gaming","Ultra Prime","Oh My God","Cloud9","Team Liquid","FlyQuest","Shopify Rebellion","100 Thieves","Dignitas","LYON","Sentinels","G2 Esports","Fnatic","Karmine Corp","Team Vitality","Team Heretics","GIANTX","Movistar KOI","SK Gaming","Natus Vincere","Rogue"];function zr(t,e){return t.some(r=>r.id===e.id)?t.map(r=>r.id===e.id?e:r):[...t,e]}function b1(t){return Array.from(new Set(t))}function Os(t){return Zt(Yr(`${t}:root`))}function zS(t){let e=t.nodes.reduce((r,n)=>{let i=n.id.match(/^N(\d+)$/i);return i?Math.max(r,Number(i[1])):r},0);return Zt(Yr(`N${String(e+1).padStart(4,"0")}`))}function Ms(t){let e=new Set(t.lines.map(n=>n.teamName).filter(n=>!!n)),r=S1.find(n=>!e.has(n));return r?Zt(cn(r)):Zt(cn(`${S1[t.lines.length%S1.length]}-${t.lines.length+1}`))}function N4(t,e){if(!t.requests.some(r=>r.id===e))throw new pr(`Unknown request: ${e}`)}function zn(t,e){let r=t.lines.find(n=>n.id===e);if(!r)throw new pr(`Unknown line: ${e}`);return r}function w1(t){if(t.status!=="active")throw new pr(`TEAM line ${t.id} cannot continue from status ${t.status}`)}function Vd(t,e){let r=t.nodes.find(n=>n.id===e);if(!r)throw new pr(`Unknown node: ${e}`);return r}function KS(t,e){return Vd(t,Os(e))}function JS(t,e){return Vd(t,e.currentNodeId)}function I1(t,e){let r=t.moves.find(n=>n.id===e);if(!r)throw new pr(`Unknown MOVE: ${e}`);return r}function O4(t,e){let r=t.skillDrafts.find(n=>n.id===e);if(!r)throw new pr(`Unknown Skill Draft: ${e}`);return r}function XS(t,e){let r=t.destinations.find(n=>n.id===e);if(!r)throw new pr(`Unknown Destination: ${e}`);return r}function kre(t,e){let r=t.destinations.find(n=>n.id===e);if(!r)throw new pr(`Unknown Destination in node ${t.id}: ${e}`);return r}function M4(t,e){let r=XS(t,e);if(r.status!=="pending"&&r.status!=="blocked")throw new pr(`Destination ${e} cannot be claimed from status ${r.status}`);return r}function L4(t,e){let r=XS(t,e);if(U4(r))throw new pr(`Destination ${e} cannot be blocked from status ${r.status}`);return r}function H4(t,e){let r=kre(t,e);if(U4(r))throw new pr(`Destination ${e} cannot be reached from status ${r.status}`);return r}function U4(t){return t.status==="reached"||t.status==="canceled"||t.status==="superseded"}function pg(t,e){if(t.length===0)throw new pr(e)}function $4(t,e){if(t.length!==1)throw new pr(e)}function F4(t,e){if(t.trim()==="")throw new pr(e)}function cu(){return{origins:[],requests:[],destinations:[],nodes:[],edges:[],lines:[],moves:[],hunsus:[],skillDrafts:[],artifacts:[],artifactActions:[],futureConstraints:[]}}function q4(t){return zi(t.reduce((e,r)=>R1(e,r),cu()))}function uu(t){let e=W4(t);if(!e.ok)return e;try{return S(q4(t))}catch(r){return oe(Xh(r))}}function W4(t){let e={requestIds:new Set,destinationIds:new Set,lineIds:new Set,moveIds:new Set,hunsuIds:new Set,skillDraftIds:new Set,artifactIds:new Set},r=cu();for(let n=0;n<t.length;n+=1){let i=t[n],o=Are(i,n,e);if(!o.ok)return o;let s=Cre(i,n,r);if(!s.ok)return s;try{r=R1(r,i)}catch(c){return oe(Xh(c))}let a=Ure(r,n);if(!a.ok)return a}return S(t)}function R1(t,e){switch(e.type){case"HunsuOriginRegistered":return{...t,origins:Rre(t.origins,e.origin)};case"InitialTeamCreated":return Fre(t,e);case"RequestCreated":return zi({...t,requests:zr(t.requests,e.request)});case"DestinationDeclared":return jre(t,e.requestId,e.destination,e.at);case"HarnessSeeded":return qre(t,e.requestId,e.harness,e.at);case"LineStarted":return zi({...t,lines:zr(t.lines,G4(t,e.line))});case"SkillDraftCreated":return{...t,skillDrafts:zr(t.skillDrafts,e.draft)};case"SkillDraftAccepted":return{...t,skillDrafts:t.skillDrafts.map(r=>r.id===e.draftId?Zt(l1(r,{...e.skill})):r)};case"SkillDraftDiscarded":return{...t,skillDrafts:t.skillDrafts.map(r=>r.id===e.draftId?Zt(f1(r)):r)};case"NodeCreated":return zi({...t,nodes:zr(t.nodes,e.node)});case"LinePaused":return mg(t,e.lineId,sg);case"LineResumed":return mg(t,e.lineId,ag);case"LineAccepted":return mg(t,e.lineId,cg);case"LineRejected":return mg(t,e.lineId,ug);case"DestinationClaimed":return k1(t,e.destinationId,r=>rg(r,{claimedBy:e.actor,updatedBy:"TEAM",updatedAt:e.at}));case"DestinationWorkStarted":return k1(t,e.destinationId,r=>ng(r,{claimedBy:e.actor,updatedBy:"TEAM",updatedAt:e.at}));case"DestinationBlocked":return k1(t,e.destinationId,r=>ig(r,{blockedReason:e.reason,updatedBy:"TEAM",updatedAt:e.at}));case"MoveRecorded":return Wre(t,e.move);case"DestinationReached":return t;case"HunsuRecorded":return Vre(t,e.hunsu);case"LineForkedByHunsu":return Gre(t,e);case"ArtifactRecorded":return{...t,artifacts:zr(t.artifacts,e.artifact)}}}function Rre(t,e){return t.some(r=>r.name===e.name)?t.map(r=>r.name===e.name?{...e}:{...r}):[...t.map(r=>({...r})),{...e}]}function Are(t,e,r){switch(t.type){case"InitialTeamCreated":{let n=Go(r.requestIds,"RequestId",t.request.id,e);if(!n.ok)return n;let i=Go(r.lineIds,"LineId",t.line.id,e);return i.ok?$re(r.destinationIds,t.destinations,e):i}case"RequestCreated":return Go(r.requestIds,"RequestId",t.request.id,e);case"DestinationDeclared":return Go(r.destinationIds,"DestinationId",t.destination.id,e);case"LineStarted":return Go(r.lineIds,"LineId",t.line.id,e);case"SkillDraftCreated":return Go(r.skillDraftIds,"SkillDraftId",t.draft.id,e);case"MoveRecorded":return Go(r.moveIds,"MoveId",t.move.id,e);case"HunsuRecorded":return Go(r.hunsuIds,"HunsuId",t.hunsu.id,e);case"LineForkedByHunsu":return Go(r.lineIds,"LineId",t.newLineId,e);case"ArtifactRecorded":return Go(r.artifactIds,"ArtifactId",t.artifact.id,e);case"HunsuOriginRegistered":case"HarnessSeeded":case"SkillDraftAccepted":case"SkillDraftDiscarded":case"NodeCreated":case"LinePaused":case"LineResumed":case"LineAccepted":case"LineRejected":case"DestinationClaimed":case"DestinationWorkStarted":case"DestinationBlocked":case"DestinationReached":return S(void 0)}}function Cre(t,e,r){switch(t.type){case"InitialTeamCreated":return Pre(t,e);case"DestinationDeclared":return r.requests.some(n=>n.id===t.requestId)?S(void 0):Le(e,`Unknown request: ${t.requestId}`);case"HarnessSeeded":return r.nodes.some(n=>n.id===Os(t.requestId))?S(void 0):Le(e,`Unknown root node for request: ${t.requestId}`);case"LineStarted":return _re(r,t.line,e);case"SkillDraftAccepted":return j4(r,t.draftId,e,n=>l1(n,t.skill));case"SkillDraftDiscarded":return j4(r,t.draftId,e,f1);case"NodeCreated":return Tre(r,t.node,e);case"LinePaused":return YS(r,t.lineId,e,sg);case"LineResumed":return YS(r,t.lineId,e,ag);case"LineAccepted":return YS(r,t.lineId,e,cg);case"LineRejected":return YS(r,t.lineId,e,ug);case"DestinationClaimed":return E1(r,t.destinationId,e,n=>rg(n,{claimedBy:t.actor,updatedBy:"TEAM",updatedAt:t.at}));case"DestinationWorkStarted":return E1(r,t.destinationId,e,n=>ng(n,{claimedBy:t.actor,updatedBy:"TEAM",updatedAt:t.at}));case"DestinationBlocked":return E1(r,t.destinationId,e,n=>ig(n,{blockedReason:t.reason,updatedBy:"TEAM",updatedAt:t.at}));case"MoveRecorded":return Bre(r,t.move,e);case"HunsuRecorded":return Dre(r,t.hunsu,e);case"LineForkedByHunsu":return Lre(r,t,e);case"ArtifactRecorded":return Hre(r,t.artifact,e);case"DestinationReached":return Le(e,"DestinationReached is a legacy no-op event and cannot be projected");case"HunsuOriginRegistered":case"RequestCreated":case"SkillDraftCreated":return S(void 0)}}function Pre(t,e){return t.line.requestId!==t.request.id?Le(e,`Initial line ${t.line.id} request ${t.line.requestId} does not match request ${t.request.id}`):t.line.status!=="active"?Le(e,`Initial line ${t.line.id} cannot start from status ${t.line.status}`):t.line.rootNodeId!==t.line.currentNodeId?Le(e,`Initial line ${t.line.id} currentNodeId must start at rootNodeId`):t.line.nodeIds.includes(t.line.rootNodeId)?t.line.moveIds.length!==0?Le(e,`Initial line ${t.line.id} cannot start with MOVEs`):"parentLineId"in t.line||"forkedFromMoveId"in t.line?Le(e,`Initial line ${t.line.id} cannot carry fork metadata`):S(void 0):Le(e,`Initial line ${t.line.id} nodeIds must include rootNodeId ${t.line.rootNodeId}`)}function _re(t,e,r){if(!t.requests.some(i=>i.id===e.requestId))return Le(r,`Unknown request: ${e.requestId}`);if(e.status!=="active")return Le(r,`Line ${e.id} cannot start from status ${e.status}`);let n=t.nodes.find(i=>i.id===Os(e.requestId));return n?e.rootNodeId!==n.id||e.currentNodeId!==n.id||!e.nodeIds.includes(n.id)?Le(r,`Line ${e.id} must start at request root node ${n.id}`):e.moveIds.length!==0?Le(r,`Line ${e.id} cannot start with MOVEs`):"parentLineId"in e||"forkedFromMoveId"in e?Le(r,`LineStarted ${e.id} cannot carry fork metadata`):S(void 0):Le(r,`Unknown root node for request: ${e.requestId}`)}function j4(t,e,r,n){let i=t.skillDrafts.find(o=>o.id===e);return i?QS(r,n(i)):Le(r,`Unknown Skill Draft: ${e}`)}function Tre(t,e,r){if(e.lineId){let i=t.lines.find(o=>o.id===e.lineId);if(!i)return Le(r,`Unknown line: ${e.lineId}`);if(i.requestId!==e.requestId)return Le(r,`Node ${e.id} request ${e.requestId} does not match line ${i.id} request ${i.requestId}`)}let n=e.source;switch(n.type){case"initial-execute-team":case"request":return t.requests.some(i=>i.id===n.requestId)?S(void 0):Le(r,`Unknown request: ${n.requestId}`);case"move":{let i=t.moves.find(o=>o.id===n.moveId);return i?i.toNodeId===e.id&&i.fromNodeId===n.fromNodeId?S(void 0):Le(r,`Node ${e.id} does not match MOVE ${i.id} topology`):Le(r,`Unknown MOVE: ${n.moveId}`)}case"hunsu":{let i=t.hunsus.find(o=>o.id===n.hunsuId);return i?i.toNodeId===e.id&&i.fromNodeId===n.fromNodeId?S(void 0):Le(r,`Node ${e.id} does not match HUNSU ${i.id} topology`):Le(r,`Unknown HUNSU: ${n.hunsuId}`)}}}function YS(t,e,r,n){let i=t.lines.find(o=>o.id===e);return i?QS(r,n(i)):Le(r,`Unknown line: ${e}`)}function E1(t,e,r,n){let i=new Set(t.lines.map(s=>s.currentNodeId)),o=t.nodes.filter(s=>i.has(s.id)).flatMap(s=>s.destinations.filter(a=>a.id===e));if(o.length===0)return Le(r,`Unknown Destination in active route nodes: ${e}`);for(let s of o){let a=QS(r,n(s));if(!a.ok)return a}return S(void 0)}function Bre(t,e,r){let n=t.lines.find(s=>s.id===e.lineId);if(!n)return Le(r,`Unknown line: ${e.lineId}`);if(n.status!=="active")return Le(r,`TEAM line ${n.id} cannot continue from status ${n.status}`);let i=t.nodes.find(s=>s.id===e.fromNodeId);if(!i)return Le(r,`Unknown node: ${e.fromNodeId}`);if(i.id!==n.currentNodeId||i.requestId!==n.requestId)return Le(r,`MOVE ${e.id} source node ${i.id} does not match current node for line ${n.id}`);if(e.toNodeId===e.fromNodeId)return Le(r,`MOVE ${e.id} cannot be a self-loop`);if(t.nodes.some(s=>s.id===e.toNodeId))return Le(r,`MOVE ${e.id} target node already exists: ${e.toNodeId}`);let o=NS(e);if(!o.ok)return Le(r,o.error.message);for(let s of e.reachedDestinationIds){let a=Mre(i,s,r);if(!a.ok)return a;let c=QS(r,og(a.value,{reachedByMoveId:e.id,updatedBy:"TEAM",updatedAt:e.recordedAt}));if(!c.ok)return c}return S(void 0)}function Dre(t,e,r){let n=t.lines.find(s=>s.id===e.lineId);if(!n)return Le(r,`Unknown line: ${e.lineId}`);let i=t.nodes.find(s=>s.id===e.fromNodeId);if(!i)return Le(r,`Unknown node: ${e.fromNodeId}`);if(i.requestId!==n.requestId||!n.nodeIds.includes(i.id))return Le(r,`Node ${i.id} does not belong to line ${n.id}`);if(e.toNodeId===e.fromNodeId)return Le(r,`HUNSU ${e.id} cannot be a self-loop`);if(t.nodes.some(s=>s.id===e.toNodeId))return Le(r,`HUNSU ${e.id} target node already exists: ${e.toNodeId}`);let o=Nre(t,e,n,i,r);return o.ok?Ore(t,e,i,r):o}function Nre(t,e,r,n,i){switch(e.target.type){case"line":{let o=t.lines.find(s=>s.id===e.target.id);return o?o.id===e.lineId?S(void 0):Le(i,`HUNSU target line ${o.id} does not match event line ${e.lineId}`):Le(i,`Unknown line: ${e.target.id}`)}case"node":{let o=t.nodes.find(s=>s.id===e.target.id);return o?o.requestId===r.requestId&&r.nodeIds.includes(o.id)?S(void 0):Le(i,`Node ${o.id} does not belong to line ${r.id}`):Le(i,`Unknown node: ${e.target.id}`)}case"move":{let o=V4(t,r,e.target.id,i);return o.ok?S(void 0):o}case"destination":return n.destinations.some(o=>o.id===e.target.id)?S(void 0):Le(i,`Unknown Destination in node ${n.id}: ${e.target.id}`)}return Le(i,`Unsupported HUNSU target: ${JSON.stringify(e.target)}`)}function Ore(t,e,r,n){if(e.changedFiles.length===0)return Le(n,`HUNSU ${e.id} must include changed runtime files`);let i=new Set;for(let c of e.changedFiles){let u=String(c.path);if(!u.startsWith(".hunsu-request/"))return Le(n,`HUNSU changed file must be under .hunsu-request: ${u}`);if(i.has(u))return Le(n,`Duplicate HUNSU changed file: ${u}`);i.add(u)}if(e.teamSnapshot.moveOrdinal!==r.ordinal)return Le(n,`HUNSU ${e.id} Team snapshot ordinal ${e.teamSnapshot.moveOrdinal} does not match source node ordinal ${r.ordinal}`);let o=new Set(r.destinations.map(c=>String(c.id))),s=new Set(t.destinations.map(c=>String(c.id))),a=new Set;for(let c of e.teamSnapshot.destinations){let u=String(c.id);if(a.has(u))return Le(n,`Duplicate DestinationId in HUNSU Team snapshot: ${u}`);if(a.add(u),c.requestId!==r.requestId)return Le(n,`Destination ${c.id} request ${c.requestId} does not match source request ${r.requestId}`);if(!o.has(u)&&s.has(u))return Le(n,`Duplicate DestinationId in HUNSU Team snapshot: ${u}`)}return S(void 0)}function Mre(t,e,r){let n=t.destinations.find(i=>i.id===e);return n?S(n):Le(r,`Unknown Destination in node ${t.id}: ${e}`)}function V4(t,e,r,n){let i=t.moves.find(o=>o.id===r);return i?i.lineId===e.id||e.moveIds.includes(i.id)?S(i):Le(n,`MOVE ${i.id} does not belong to line ${e.id}`):Le(n,`Unknown MOVE: ${r}`)}function Lre(t,e,r){let n=t.lines.find(o=>o.id===e.fromLineId);if(!n)return Le(r,`Unknown line: ${e.fromLineId}`);if(e.requestId!==n.requestId)return Le(r,`LineForkedByHunsu request ${e.requestId} does not match parent line ${n.id}`);let i=t.hunsus.find(o=>o.id===e.hunsuId);if(!i)return Le(r,`Unknown HUNSU: ${e.hunsuId}`);if(i.lineId!==e.fromLineId)return Le(r,`HUNSU ${i.id} does not belong to parent line ${e.fromLineId}`);if(i.newLineId!==e.newLineId)return Le(r,`Line fork ${e.newLineId} does not match HUNSU recorded new line ${i.newLineId}`);if(i.sourceMoveId!==e.fromMoveId)return Le(r,`Line fork ${e.newLineId} fromMoveId does not match HUNSU source move`);if(i.newTeamName!==e.newTeamName)return Le(r,`Line fork ${e.newLineId} Team name does not match HUNSU record`);if(e.fromMoveId){let o=V4(t,n,e.fromMoveId,r);if(!o.ok)return o;if(o.value.toNodeId!==i.fromNodeId)return Le(r,`Line fork source MOVE ${o.value.id} does not end at HUNSU source node ${i.fromNodeId}`)}return t.nodes.some(o=>o.id===i.toNodeId)?S(void 0):Le(r,`Unknown HUNSU target node: ${i.toNodeId}`)}function Hre(t,e,r){switch(e.owner.type){case"move":return t.moves.some(n=>n.id===e.owner.id)?S(void 0):Le(r,`Unknown MOVE: ${e.owner.id}`);case"hunsu":return t.hunsus.some(n=>n.id===e.owner.id)?S(void 0):Le(r,`Unknown HUNSU: ${e.owner.id}`);case"line":return t.lines.some(n=>n.id===e.owner.id)?S(void 0):Le(r,`Unknown line: ${e.owner.id}`)}}function Ure(t,e){for(let r of t.edges){if(!t.nodes.find(o=>o.id===r.fromNodeId))return Le(e,`Edge ${r.id} references missing fromNode ${r.fromNodeId}`);if(!t.nodes.find(o=>o.id===r.toNodeId))return Le(e,`Edge ${r.id} references missing toNode ${r.toNodeId}`);switch(r.type){case"move":{let o=t.moves.find(s=>s.id===r.moveId);if(!o)return Le(e,`MOVE edge ${r.id} references missing MOVE ${r.moveId}`);if(o.lineId!==r.lineId||o.fromNodeId!==r.fromNodeId||o.toNodeId!==r.toNodeId||o.id!==r.id)return Le(e,`MOVE edge ${r.id} does not match MOVE ${o.id}`);break}case"hunsu":{let o=t.hunsus.find(s=>s.id===r.hunsuId);if(!o)return Le(e,`HUNSU edge ${r.id} references missing HUNSU ${r.hunsuId}`);if(o.lineId!==r.lineId||o.fromNodeId!==r.fromNodeId||o.toNodeId!==r.toNodeId||o.id!==r.id)return Le(e,`HUNSU edge ${r.id} does not match HUNSU ${o.id}`);break}}}return S(void 0)}function QS(t,e){return e.ok?S(void 0):Le(t,e.error.message)}function Le(t,e){return Ee(`Invalid event stream at event ${t}: ${e}`)}function $re(t,e,r){for(let n of e){let i=Go(t,"DestinationId",n.id,r);if(!i.ok)return i}return S(void 0)}function Go(t,e,r,n){return t.has(r)?Ee(`Duplicate ${e} in event stream at event ${n}: ${r}`):(t.add(r),S(void 0))}function Fre(t,e){let r=e.destinations.map(s=>J4(e.request.id,s,"initial-execute-team",e.at)),n=Ei(e.harness??Vn()),i={id:e.line.rootNodeId,requestId:e.request.id,lineId:e.line.id,teamName:e.line.teamName,ordinal:0,destinations:r,harness:n,harnessGraph:Ds(n),harnessLock:e.harnessLock?{...e.harnessLock}:void 0,executorPackageBindings:[],resourcePackageBindings:[],artifactActions:[],source:{type:"initial-execute-team",requestId:e.request.id},createdAt:e.at??e.request.createdAt},o=G4({...t,requests:zr(t.requests,e.request),nodes:zr(t.nodes,i)},{...e.line,rootNodeId:i.id,currentNodeId:e.line.currentNodeId,nodeIds:e.line.nodeIds});return zi({...t,requests:zr(t.requests,e.request),nodes:zr(t.nodes,i),lines:zr(t.lines,o)})}function jre(t,e,r,n){let i=J4(e,r,"initial-request",n),o=t.nodes.find(a=>a.id===Os(e)),s=o?{...o,destinations:zr(o.destinations,i)}:{id:Os(e),requestId:e,ordinal:0,destinations:[i],harness:Vn(),harnessGraph:Ds(Vn()),artifactActions:[],source:{type:"request",requestId:e},createdAt:n};return zi({...t,nodes:zr(t.nodes,s)})}function qre(t,e,r,n){let i=KS(t,e);return zi({...t,nodes:zr(t.nodes,{...i,harness:Ei(r),harnessGraph:Ds(r),createdAt:i.createdAt??n})})}function Wre(t,e){let r=zn(t,e.lineId),n=Vd(t,e.fromNodeId),i=e.toNodeId,o=Zt(NS(d1(e,{fromNodeId:n.id,toNodeId:i,teamName:e.teamName??r.teamName??n.teamName??Ms(t),ordinal:e.ordinal??n.ordinal+1}))),s=t.nodes.find(l=>l.id===i)??zre(n,o,i),a=Zt(NS(d1(o,{snapshot:o.snapshot??Xre(s)}))),c={id:a.id,type:"move",lineId:a.lineId,fromNodeId:n.id,toNodeId:i,moveId:a.id},u={...t,nodes:zr(t.nodes,s),moves:zr(t.moves,a),edges:zr(t.edges,c)},d=X4(Qre(u,a),a.lineId,i);return zi(a.outcome==="accident"?mg(d,a.lineId,p4):d)}function Vre(t,e){zn(t,e.lineId);let r=Vd(t,e.fromNodeId),n=e.toNodeId,i={...e,fromNodeId:r.id,toNodeId:n},o=t.nodes.find(c=>c.id===n)??Kre(r,i,n),s={id:i.id,type:"hunsu",lineId:i.lineId,fromNodeId:r.id,toNodeId:n,hunsuId:i.id},a={...t,nodes:zr(t.nodes,o),hunsus:zr(t.hunsus,i),edges:zr(t.edges,s)};return i.newLineId?zi(a):zi(X4(a,i.lineId,n))}function Gre(t,e){let r=zn(t,e.fromLineId),n=t.hunsus.find(c=>c.id===e.hunsuId),i=e.fromMoveId?t.moves.find(c=>c.id===e.fromMoveId):void 0,o=n?.toNodeId??i?.toNodeId??r.currentNodeId,s=e.fromMoveId?r.moveIds.indexOf(e.fromMoveId):-1,a=s>=0?r.moveIds.slice(0,s+1):[];return zi({...t,lines:zr(t.lines,{id:e.newLineId,requestId:e.requestId,teamName:e.newTeamName??Ms(t),status:"active",moveIds:a,rootNodeId:r.rootNodeId,currentNodeId:o,nodeIds:[o],parentLineId:e.fromLineId,forkedFromMoveId:e.fromMoveId})})}function G4(t,e){return{...e,teamName:e.teamName??Ms(t)}}function zre(t,e,r){let n=new Set(e.reachedDestinationIds);return{id:r,requestId:t.requestId,lineId:e.lineId,teamName:e.teamName??t.teamName,ordinal:e.ordinal??t.ordinal+1,destinations:t.destinations.map(i=>n.has(i.id)?Zt(og(i,{reachedByMoveId:e.id,updatedBy:"TEAM",updatedAt:e.recordedAt})):{...i}),harness:Ei(t.harness),harnessGraph:mo(t.harnessGraph),harnessLock:t.harnessLock?{...t.harnessLock}:void 0,executorPackageBindings:t.executorPackageBindings?.map(i=>({executorId:i.executorId,lock:{...i.lock}})),resourcePackageBindings:t.resourcePackageBindings?.map(i=>({name:i.name,lock:{...i.lock}})),artifactActions:A1(t.artifactActions),source:{type:"move",moveId:e.id,fromNodeId:t.id},createdAt:e.recordedAt}}function Kre(t,e,r){let n=e.teamSnapshot;return{id:r,requestId:t.requestId,lineId:e.newLineId??e.lineId,teamName:n.teamName,ordinal:n.moveOrdinal,destinations:n.destinations.map(i=>({...i})),harness:Ei(n.harness),harnessGraph:mo(n.harnessGraph),harnessLock:n.harnessLock?{...n.harnessLock}:void 0,executorPackageBindings:n.executorPackageBindings?.map(i=>({executorId:i.executorId,lock:{...i.lock}})),resourcePackageBindings:n.resourcePackageBindings?.map(i=>({name:i.name,lock:{...i.lock}})),artifactActions:A1(n.artifactActions),source:{type:"hunsu",hunsuId:e.id,fromNodeId:t.id},createdAt:e.recordedAt}}function A1(t){return K4((t??[]).map(z4))}function z4(t){return{...t,env:t.env?Object.fromEntries(Object.entries(t.env).map(([e,r])=>[e,{...r}])):void 0,runner:{...t.runner},aliases:t.aliases?Object.fromEntries(Object.entries(t.aliases).map(([e,r])=>[e,{...r}])):void 0,evidence:t.evidence?{...t.evidence,paths:t.evidence.paths?.slice()}:void 0}}function K4(t){return t.slice().sort((e,r)=>e.displayOrder-r.displayOrder||String(e.id).localeCompare(String(r.id)))}function Jre(t){let e=new Set,r=[];for(let n of t)e.has(n.id)||(e.add(n.id),r.push(z4(n)));return r}function Xre(t){return{teamName:t.teamName??Zt(cn("Team")),moveOrdinal:t.ordinal,destinations:t.destinations.map(e=>({...e})),harness:Ei(t.harness),harnessGraph:mo(t.harnessGraph),harnessLock:t.harnessLock?{...t.harnessLock}:void 0,executorPackageBindings:t.executorPackageBindings?.map(e=>({executorId:e.executorId,lock:{...e.lock}})),resourcePackageBindings:t.resourcePackageBindings?.map(e=>({name:e.name,lock:{...e.lock}})),artifactActions:A1(t.artifactActions)}}function J4(t,e,r,n){return f4(t,e,r,n)}function Yre(t,e,r){return t.map(n=>n.id===e?Zt(r(n)):{...n})}function k1(t,e,r){let n=new Set(t.lines.map(o=>o.currentNodeId)),i=t.nodes.map(o=>!n.has(o.id)||!o.destinations.some(s=>s.id===e)?o:{...o,destinations:Yre(o.destinations,e,r)});return zi({...t,nodes:i})}function mg(t,e,r){return zn(t,e),zi({...t,lines:t.lines.map(n=>n.id===e?Zt(r(n)):n)})}function Qre(t,e){return zn(t,e.lineId),{...t,lines:t.lines.map(r=>r.id===e.lineId?{...r,moveIds:b1([...r.moveIds,e.id])}:r)}}function X4(t,e,r){return zn(t,e),{...t,lines:t.lines.map(n=>n.id===e?{...n,currentNodeId:r,nodeIds:Zt(lo(b1([...n.nodeIds,r]),"nodeIds"))}:n)}}function zi(t){let e=t.requests.flatMap(i=>{let o=Zre(t,i.id);return o?[o]:[]}),r=e.flatMap(i=>i.destinations),n=e.flatMap(i=>i.artifactActions);return{...t,destinations:r.map(i=>({...i})),artifactActions:K4(Jre(n))}}function Zre(t,e){let r=t.lines.filter(i=>i.requestId===e&&i.status!=="abandoned"),n=r.findLast(i=>i.status==="active")??r.at(-1);return n?t.nodes.find(i=>i.id===n.currentNodeId):t.nodes.find(i=>i.id===Os(e))}function ene(t,e=cu()){let r=rne(t);if(!r.ok)return r;let n=nne(r.value,e);if(!n.ok)return n;try{return S(tne(n.value,e))}catch(i){return oe(Xh(i))}}function tne(t,e=cu()){switch(t.type){case"RegisterHunsuOrigin":return[{type:"HunsuOriginRegistered",origin:{...t.origin},at:t.at}];case"CreateInitialTeam":{pg(t.destinations,"CreateInitialTeam requires at least one Destination");let r=t.harness?Ei(t.harness):Vn(),n=Os(t.requestId);return[{type:"InitialTeamCreated",request:{id:t.requestId,title:t.title,goal:t.goal,createdBy:"SYSTEM",createdAt:t.at},line:{id:t.lineId,requestId:t.requestId,teamName:t.teamName??Ms(e),status:"active",moveIds:[],rootNodeId:n,currentNodeId:n,nodeIds:[n]},destinations:t.destinations,harness:r,harnessLock:t.harnessLock,at:t.at}]}case"StartLine":{N4(e,t.requestId);let r=KS(e,t.requestId),n=t.teamName??Ms(e);return[{type:"LineStarted",line:{id:t.lineId,requestId:t.requestId,teamName:n,status:"active",moveIds:[],rootNodeId:r.id,currentNodeId:r.id,nodeIds:[r.id]}}]}case"PauseLine":return zn(e,t.lineId),[{type:"LinePaused",lineId:t.lineId,at:t.at}];case"ResumeLine":return zn(e,t.lineId),[{type:"LineResumed",lineId:t.lineId,at:t.at}];case"AcceptLine":return zn(e,t.lineId),[{type:"LineAccepted",lineId:t.lineId,reason:t.reason,at:t.at}];case"RejectLine":return zn(e,t.lineId),[{type:"LineRejected",lineId:t.lineId,reason:t.reason,at:t.at}];case"ClaimDestination":return M4(e,t.destinationId),[{type:"DestinationClaimed",destinationId:t.destinationId,actor:t.actor,at:t.at}];case"StartDestinationWork":return XS(e,t.destinationId),[{type:"DestinationWorkStarted",destinationId:t.destinationId,actor:t.actor,at:t.at}];case"ReportDestinationBlocked":return L4(e,t.destinationId),[{type:"DestinationBlocked",destinationId:t.destinationId,reason:t.reason,actor:t.actor,at:t.at}];case"RecordMove":{let r=zn(e,t.lineId);w1(r);let n=JS(e,r);$4(t.reachedDestinationIds,"MOVE must reach exactly one Destination");for(let s of t.reachedDestinationIds)H4(n,s);let i=zS(e);return[{type:"MoveRecorded",move:Zt(c1({id:t.moveId,lineId:t.lineId,fromNodeId:n.id,toNodeId:i,executeId:t.executeId,conversationRef:t.conversationRef,worktree:t.worktree,summary:t.summary,commit:t.commit,reachedDestinationIds:t.reachedDestinationIds,evidence:t.evidence,risks:t.risks,recordedBy:"SYSTEM",recordedAt:t.at}))}]}case"RecordAccident":{let r=zn(e,t.lineId);w1(r);let n=JS(e,r);pg(t.evidence,"A ACCIDENT must include evidence"),F4(t.failureReason,"A ACCIDENT must include a failure reason");let i=zS(e);return[{type:"MoveRecorded",move:Zt(u1({id:t.moveId,lineId:t.lineId,fromNodeId:n.id,toNodeId:i,executeId:t.executeId,conversationRef:t.conversationRef,worktree:t.worktree,failureReason:t.failureReason,summary:t.summary,commit:t.commit,evidence:t.evidence,risks:t.risks,recordedBy:"SYSTEM",recordedAt:t.at}))}]}case"AttachMoveEvidence":return I1(e,t.moveId),[{type:"ArtifactRecorded",artifact:t.artifact,at:t.at}];case"ConfirmHunsuDraft":{let r=t.draft,n=zn(e,r.sourceLineId),i=Vd(e,r.sourceNodeId);if(i.requestId!==n.requestId)throw new pr(`Node ${i.id} does not belong to line ${n.id}`);return r.sourceMoveId&&I1(e,r.sourceMoveId),pg(r.changedFiles,"A confirmed HUNSU Draft must include at least one changed runtime file"),[one(r.hunsuId,r.sourceLineId,i.id,zS(e),r.target,r.summary,r.teamSnapshot,r.changedFiles,t.at,{hunsuDraftId:r.id,conversationRef:r.conversationRef,newLineId:r.newLineId,sourceMoveId:r.sourceMoveId,newTeamName:r.newTeamName}),{type:"LineForkedByHunsu",hunsuId:r.hunsuId,fromLineId:r.sourceLineId,newLineId:r.newLineId,newTeamName:r.newTeamName,fromMoveId:r.sourceMoveId,requestId:i.requestId,at:t.at}]}case"CreateSkillDraft":{let r=zn(e,t.lineId),n=JS(e,r);return[{type:"SkillDraftCreated",draft:h4({id:t.draftId,name:t.name,sourcePath:t.sourcePath,draftPath:t.draftPath,createdFromNodeId:n.id,createdAt:t.at})}]}case"DiscardSkillDraft":{let r=O4(e,t.draftId);if(r.status!=="draft")throw new pr(`Skill Draft ${t.draftId} cannot be discarded from status ${r.status}`);return[{type:"SkillDraftDiscarded",draftId:t.draftId,at:t.at}]}case"RecordArtifact":return[{type:"ArtifactRecorded",artifact:t.artifact,at:t.at}]}}function hg(t,e){let r=uu(t);if(!r.ok)return r;let n=r.value,i=ene(e,n);return i.ok?S([...t,...i.value]):i}function rne(t){return B4(t,Qh)}function ZS(t){return D4(t,Qh)}function nne(t,e){let r=ine(t,e);if(!r.ok)return r;switch(t.type){case"RegisterHunsuOrigin":case"CreateInitialTeam":return S(t);case"RecordArtifact":return ai([Ane(e,t.artifact)],t);case"StartLine":return ai([pne(e,t.requestId),xne(e,t.requestId)],t);case"PauseLine":return ai([hne(e,t.lineId)],t);case"ResumeLine":return ai([gne(e,t.lineId)],t);case"AcceptLine":return ai([yne(e,t.lineId)],t);case"RejectLine":return ai([vne(e,t.lineId)],t);case"ClaimDestination":return ai([wne(e,t.destinationId)],t);case"StartDestinationWork":return ai([bne(e,t.destinationId)],t);case"ReportDestinationBlocked":return ai([Ine(e,t.destinationId)],t);case"RecordMove":return ai([Y4(e,t.lineId),P1(e,t.lineId),...kne(e,t.lineId,t.moveId,t.reachedDestinationIds)],t);case"RecordAccident":return ai([Y4(e,t.lineId),P1(e,t.lineId)],t);case"AttachMoveEvidence":return ai([Q4(e,t.moveId),Cne(t.artifact,t.moveId)],t);case"ConfirmHunsuDraft":return ai([Z4(e,t.draft.sourceNodeId,t.draft.sourceLineId),Pne(e,t.draft.sourceLineId,t.draft.target),...t.draft.sourceMoveId?[e8(e,t.draft.sourceMoveId,t.draft.sourceLineId)]:[]],t);case"CreateSkillDraft":return ai([P1(e,t.lineId)],t);case"DiscardSkillDraft":return ai([_ne(e,t.draftId,"discarded")],t)}}function ine(t,e){switch(t.type){case"CreateInitialTeam":{let r=sne(e,t.requestId);if(!r.ok)return r;let n=C1(e,t.lineId);return n.ok?lne(e,t.destinations.map(i=>i.id)):n}case"StartLine":return C1(e,t.lineId);case"RecordMove":case"RecordAccident":return ane(e,t.moveId);case"AttachMoveEvidence":case"RecordArtifact":return dne(e,t.artifact.id);case"CreateSkillDraft":return une(e,t.draftId);case"ConfirmHunsuDraft":{let r=cne(e,t.draft.hunsuId);return r.ok?C1(e,t.draft.newLineId):r}case"RegisterHunsuOrigin":case"PauseLine":case"ResumeLine":case"AcceptLine":case"RejectLine":case"ClaimDestination":case"StartDestinationWork":case"ReportDestinationBlocked":case"DiscardSkillDraft":return S(void 0)}}function ai(t,e){let r=t.find(n=>!n.ok);return r&&!r.ok?oe(r.error):S(e)}function one(t,e,r,n,i,o,s,a,c,u={}){return pg(a,"A HUNSU must include at least one changed runtime file"),{type:"HunsuRecorded",hunsu:{id:t,...u,lineId:e,fromNodeId:r,toNodeId:n,target:i,summary:o,teamSnapshot:s,changedFiles:a,recordedBy:"DIRECTOR",recordedAt:c}}}function Na(t,e){return e.ok?S(t):Ee(e.error.message)}function sne(t,e){return t.requests.some(r=>r.id===e)?Ee(`Duplicate RequestId: ${e}`):S(void 0)}function C1(t,e){return t.lines.some(r=>r.id===e)?Ee(`Duplicate LineId: ${e}`):S(void 0)}function ane(t,e){return t.moves.some(r=>r.id===e)?Ee(`Duplicate MoveId: ${e}`):S(void 0)}function cne(t,e){return t.hunsus.some(r=>r.id===e)?Ee(`Duplicate HunsuId: ${e}`):S(void 0)}function une(t,e){return t.skillDrafts.some(r=>r.id===e)?Ee(`Duplicate SkillDraftId: ${e}`):S(void 0)}function dne(t,e){return t.artifacts.some(r=>r.id===e)?Ee(`Duplicate ArtifactId: ${e}`):S(void 0)}function lne(t,e){let r=new Set,n=fne(t);for(let i of e){if(r.has(i))return Ee(`Duplicate DestinationId in command: ${i}`);if(n.has(i))return Ee(`Duplicate DestinationId: ${i}`);r.add(i)}return S(void 0)}function fne(t){return new Set([...t.destinations.map(e=>e.id),...t.nodes.flatMap(e=>e.destinations.map(r=>r.id))])}function pne(t,e){return t.requests.some(r=>r.id===e)?S(void 0):Ee(`Unknown request: ${e}`)}function mne(t,e){return zo(t,e)}function hne(t,e){let r=zo(t,e);return r.ok?Na(r.value,sg(r.value)):r}function gne(t,e){let r=zo(t,e);return r.ok?Na(r.value,ag(r.value)):r}function yne(t,e){let r=zo(t,e);return r.ok?Na(r.value,cg(r.value)):r}function vne(t,e){let r=zo(t,e);return r.ok?Na(r.value,ug(r.value)):r}function xne(t,e){return _1(t,Os(e))}function Q4(t,e){return t8(t,e)}function Sne(t,e){return Tne(t,e)}function bne(t,e){let r=B1(t,e);return r.ok?Na(r.value,ng(r.value,{claimedBy:"validation",updatedBy:"TEAM"})):r}function P1(t,e){return T1(t,e)}function Y4(t,e){let r=zo(t,e);return r.ok?Na(r.value,m4(r.value)):r}function wne(t,e){let r=B1(t,e);return r.ok?Na(r.value,rg(r.value,{claimedBy:"validation",updatedBy:"TEAM"})):r}function Ine(t,e){let r=B1(t,e);return r.ok?Na(r.value,ig(r.value,{blockedReason:"validation",updatedBy:"TEAM"})):r}function Ene(t,e,r){let n=T1(t,e);return n.ok?r8(n.value,r):n}function kne(t,e,r,n){let i=T1(t,e);return i.ok?n.length!==1?[Ee("MOVE must reach exactly one Destination")]:n.map(o=>Rne(i.value,o,r)):[i]}function Rne(t,e,r){let n=r8(t,e);return n.ok?Na(n.value,og(n.value,{reachedByMoveId:r,updatedBy:"TEAM"})):n}function Ane(t,e){switch(e.owner.type){case"move":return Q4(t,e.owner.id);case"hunsu":return Sne(t,e.owner.id);case"line":return mne(t,e.owner.id)}}function Cne(t,e){return t.owner.type!=="move"||t.owner.id!==e?Ee(`AttachMoveEvidence artifact owner must be move ${e}`):S(void 0)}function Z4(t,e,r){let n=zo(t,r);if(!n.ok)return n;let i=_1(t,e);return i.ok?n.value.nodeIds.includes(i.value.id)?i:Ee(`Node ${i.value.id} does not belong to line ${n.value.id}`):i}function e8(t,e,r){let n=zo(t,r);if(!n.ok)return n;let i=t8(t,e);return i.ok&&i.value.lineId!==n.value.id&&!n.value.moveIds.includes(i.value.id)?Ee(`MOVE ${i.value.id} does not belong to line ${n.value.id}`):i}function Pne(t,e,r){switch(r.type){case"line":{let n=zo(t,e);if(!n.ok)return n;let i=zo(t,r.id);return i.ok?i.value.id===n.value.id?S(n.value):Ee(`HUNSU target line ${i.value.id} does not match command line ${n.value.id}`):i}case"node":return Z4(t,r.id,e);case"move":return e8(t,r.id,e);case"destination":return Ene(t,e,r.id)}}function _ne(t,e,r){let n=Bne(t,e);return n.ok?n.value.status!=="draft"?Ee(`Skill Draft ${e} cannot be ${r} from status ${n.value.status}`):S(n.value):n}function zo(t,e){let r=t.lines.find(n=>n.id===e);return r?S(r):Ee(`Unknown line: ${e}`)}function _1(t,e){let r=t.nodes.find(n=>n.id===e);return r?S(r):Ee(`Unknown node: ${e}`)}function T1(t,e){let r=zo(t,e);return r.ok?_1(t,r.value.currentNodeId):r}function t8(t,e){let r=t.moves.find(n=>n.id===e);return r?S(r):Ee(`Unknown MOVE: ${e}`)}function Tne(t,e){let r=t.hunsus.find(n=>n.id===e);return r?S(r):Ee(`Unknown HUNSU: ${e}`)}function Bne(t,e){let r=t.skillDrafts.find(n=>n.id===e);return r?S(r):Ee(`Unknown Skill Draft: ${e}`)}function B1(t,e){let r=t.destinations.find(n=>n.id===e);return r?S(r):Ee(`Unknown Destination: ${e}`)}function r8(t,e){let r=t.destinations.find(n=>n.id===e);return r?S(r):Ee(`Unknown Destination in node ${t.id}: ${e}`)}var i8="hunsu.connect.enrollment.v1";var zf="hunsu.connect.signal-frame.v1",o8="hunsu.connect.control-frame.v1";function s8(t){return!Dne(t)||!Nne(t,["schema","sessionId","sequence","iv","ciphertext"])?Gf("$signal","Connect signal frame has unknown or missing fields."):t.schema!==zf?Gf("schema","Connect signal frame schema is not supported."):typeof t.sessionId!="string"||!/^cs_[A-Za-z0-9_-]{20,125}$/u.test(t.sessionId)?Gf("sessionId","Connect session ID is invalid."):!Number.isSafeInteger(t.sequence)||Number(t.sequence)<1?Gf("sequence","Connect signal sequence must be a positive safe integer starting at 1."):n8(t.iv,12,12)?n8(t.ciphertext,16,65536)?{ok:!0,value:{schema:zf,sessionId:t.sessionId,sequence:Number(t.sequence),iv:t.iv,ciphertext:t.ciphertext}}:Gf("ciphertext","Connect signal ciphertext must contain 16-65536 bytes of base64url data."):Gf("iv","Connect signal IV must be exactly 12 bytes of base64url data.")}function Gf(t,e){return{ok:!1,error:{code:"INVALID_CONNECT_WIRE",field:t,message:e}}}function Dne(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Nne(t,e){let r=Object.keys(t);return r.length===e.length&&r.every(n=>e.includes(n))}function n8(t,e,r){if(typeof t!="string"||!/^[A-Za-z0-9_-]+$/u.test(t)||t.length%4===1)return!1;let i=Math.floor(t.length*3/4);return i>=e&&i<=r}var Ma="hunsu-peer-v1",N1="hunsu.control.v1",O1="hunsu.stream.v1",a8="stun:stun.cloudflare.com:3478",c8=12*6e4,gg=64*1024,QTe=32*1024,u8=32,One=["health","bridge.status","connection.status","provider.inventory","modelAlias.validate","modelAlias.resolve","roadmap.registry.list","roadmap.registry.remove","roadmap.open","roadmap.port.inspect","roadmap.port.apply","roadmap.create","roadmap.board","roadmap.worktree","roadmap.skills","roadmap.commands","execute.start","execute.pause","execute.resume","execute.stop","execute.completeMove","execute.status","artifactAction.list","artifactAction.runs","artifactAction.start","artifactAction.stop","moveFile.tree","moveFile.blob","moveFile.diff","hunsuDraft.list","hunsuDraft.start","hunsuDraft.get","hunsuDraft.message","hunsuDraft.diffArtifact.create","hunsuDraft.diffArtifact.get","hunsuDraft.approve","hunsuDraft.discard","line.accept","line.reject","agentSession.list","agentSession.get","agentSession.events","live.events"];var Gd=256,Mne=1024,Lne=64*1024,Hne=2*1024,Une=new Set(["projectPath","repositoryPath","repositoryRoot","worktreePath","runtimePath","cwd"]);function d8(t){let e=["remote.access"];return(t==="execute.start"||t==="execute.pause"||t==="execute.resume"||t==="execute.stop"||t==="execute.completeMove")&&e.push("execute.start"),(t==="artifactAction.start"||t==="artifactAction.stop")&&e.push("artifactAction.run"),(t==="artifactAction.list"||t==="artifactAction.runs"||t==="artifactAction.start"||t==="artifactAction.stop")&&e.push("env.read","hostAlias.expose"),e}function l8(t){let e=tb(t,"$signalPlaintext");if(!e.ok)return e;if(e.value.type==="peer.offer"||e.value.type==="peer.answer"){let r=Oa(e.value,["type","sdp"],"$signalPlaintext");if(!r.ok)return r;let n=ki(e.value.sdp,"sdp",Lne,!1);return n.ok?S({type:e.value.type,sdp:n.value}):n}if(e.value.type==="peer.ice"){let r=Oa(e.value,["type","candidate","sdpMid","sdpMLineIndex","usernameFragment"],"$signalPlaintext");if(!r.ok)return r;let n=ki(e.value.candidate,"candidate",Hne),i=D1(e.value.sdpMid,"sdpMid",64),o=D1(e.value.usernameFragment,"usernameFragment",256);return n.ok?i.ok?o.ok?e.value.sdpMLineIndex!==void 0&&(!Number.isInteger(e.value.sdpMLineIndex)||Number(e.value.sdpMLineIndex)<0||Number(e.value.sdpMLineIndex)>8)?Tn("sdpMLineIndex","ICE media line index is invalid."):S({type:"peer.ice",candidate:n.value,...i.value?{sdpMid:i.value}:{},...e.value.sdpMLineIndex===void 0?{}:{sdpMLineIndex:Number(e.value.sdpMLineIndex)},...o.value?{usernameFragment:o.value}:{}}):o:i:n}if(e.value.type==="peer.close"){let r=Oa(e.value,["type","reason"],"$signalPlaintext");return r.ok?e.value.reason==="complete"||e.value.reason==="canceled"||e.value.reason==="expired"||e.value.reason==="failed"?S({type:"peer.close",reason:e.value.reason}):Tn("reason","Peer close reason is invalid."):r}return Tn("type","Peer signaling message type is not supported.")}function f8(t){let e=tb(t,"$hello");if(!e.ok)return e;let r=Oa(e.value,["type","protocolVersion","sessionId","ticket","browserAgreementPublicJwk","browserNonce"],"$hello");if(!r.ok)return r;if(e.value.type!=="peer.client-hello"||e.value.protocolVersion!==Ma)return Tn("type","Peer client hello version is not supported.");let n=ki(e.value.sessionId,"sessionId",Gd),i=ki(e.value.ticket,"ticket",8192),o=Fne(e.value.browserAgreementPublicJwk,"browserAgreementPublicJwk"),s=eb(e.value.browserNonce,"browserNonce",24,64);return n.ok?i.ok?o.ok?s.ok?S({type:"peer.client-hello",protocolVersion:Ma,sessionId:n.value,ticket:i.value,browserAgreementPublicJwk:o.value,browserNonce:s.value}):s:o:i:n}function p8(t){let e=m8(t,"$message",new WeakSet);if(!e.ok)return e;let r=tb(t,"$message");if(!r.ok)return r;let n=ki(r.value.type,"type",64),i=ki(r.value.sessionId,"sessionId",Gd);if(!n.ok)return n;if(!i.ok)return i;if(n.value==="session.confirm"){let o=Oa(r.value,["type","sessionId","transcriptHash"],"$message");if(!o.ok)return o;let s=eb(r.value.transcriptHash,"transcriptHash",32,32);return s.ok?S({type:"session.confirm",sessionId:i.value,transcriptHash:s.value}):s}if(n.value==="command.request"){let o=Oa(r.value,["type","sessionId","requestId","workspaceId","deadline","command","payload"],"$message");if(!o.ok)return o;let s=ki(r.value.requestId,"requestId",Gd),a=ki(r.value.workspaceId,"workspaceId",Gd),c=jne(r.value.deadline,"deadline");return s.ok?a.ok?c.ok?$ne(r.value.command)?S({type:"command.request",sessionId:i.value,requestId:s.value,workspaceId:a.value,deadline:c.value,command:r.value.command,...r.value.payload===void 0?{}:{payload:r.value.payload}}):Tn("command","Remote command name is not supported."):c:a:s}if(n.value==="stream.cancel"){let o=Oa(r.value,["type","sessionId","requestId","streamId","workspaceId","reason"],"$message");if(!o.ok)return o;let s=ki(r.value.requestId,"requestId",Gd),a=ki(r.value.streamId,"streamId",Gd),c=ki(r.value.workspaceId,"workspaceId",Gd),u=D1(r.value.reason,"reason",Mne);return s.ok?a.ok?c.ok?u.ok?S({type:"stream.cancel",sessionId:i.value,requestId:s.value,streamId:a.value,workspaceId:c.value,...u.value?{reason:u.value}:{}}):u:c:a:s}if(n.value==="session.close"){let o=Oa(r.value,["type","sessionId","reason"],"$message");return o.ok?r.value.reason==="lease_expired"||r.value.reason==="replaced"||r.value.reason==="canceled"||r.value.reason==="protocol_error"?S({type:"session.close",sessionId:i.value,reason:r.value.reason}):Tn("reason","Session close reason is invalid."):o}return Tn("type","Inbound remote control message is not supported.")}function $ne(t){return typeof t=="string"&&One.includes(t)}function Fne(t,e){let r=tb(t,e);if(!r.ok)return r;let n=Oa(r.value,["kty","crv","x","y","key_ops","ext"],e);if(!n.ok)return n;if(r.value.kty!=="EC"||r.value.crv!=="P-256"||r.value.d!==void 0)return Tn(e,"Peer public key must be a public P-256 EC key.");let i=eb(r.value.x,`${e}.x`,32,32),o=eb(r.value.y,`${e}.y`,32,32);return i.ok?o.ok?S({kty:"EC",crv:"P-256",x:i.value,y:o.value,ext:!0}):o:i}function m8(t,e,r){if(typeof t!="object"||t===null)return S(!0);if(r.has(t))return Tn(e,"Remote peer message must not be cyclic.");r.add(t);for(let[n,i]of Object.entries(t)){if(Une.has(n))return Tn(`${e}.${n}`,"Remote peer messages cannot contain canonical local paths.");let o=m8(i,`${e}.${n}`,r);if(!o.ok)return o}return r.delete(t),S(!0)}function tb(t,e){return typeof t=="object"&&t!==null&&!Array.isArray(t)?S(t):Tn(e,"Value must be an object.")}function ki(t,e,r,n=!0){if(typeof t!="string")return Tn(e,"Value must be a string.");let i=n?t.trim():t;return i&&i.length<=r&&!/[\u0000\u000b\u000c\u007f]/u.test(i)?S(i):Tn(e,`Value must contain 1-${r} allowed characters.`)}function D1(t,e,r){return t===void 0?S(void 0):ki(t,e,r)}function jne(t,e){let r=ki(t,e,64);return r.ok&&Number.isFinite(Date.parse(r.value))?r:Tn(e,"Value must be an ISO timestamp.")}function eb(t,e,r,n){let i=Math.ceil(n*4/3),o=ki(t,e,i);if(!o.ok)return o;if(!/^[A-Za-z0-9_-]+$/u.test(o.value)||o.value.length%4===1)return Tn(e,"Value must be unpadded base64url.");let s=Math.floor(o.value.length*3/4);return s>=r&&s<=n?S(o.value):Tn(e,"Decoded value has an invalid size.")}function Oa(t,e,r){let n=new Set(e),i=Object.keys(t).find(o=>!n.has(o));return i?Tn(`${r}.${i}`,"Field is not allowed."):S(!0)}function Tn(t,e){return oe({code:"INVALID_REMOTE_PEER_WIRE",field:t,message:e})}import{delimiter as qne,dirname as Wne,join as Vne,resolve as Gne}from"node:path";import{fileURLToPath as zne}from"node:url";import{spawn as Kne}from"node:child_process";import{createInterface as Jne}from"node:readline";import{Buffer as Xne}from"node:buffer";var w8=kS,Yne={type:"object",properties:{executorId:{type:"string"},goal:{type:"string"}},required:["executorId","goal"],additionalProperties:!1},Qne={type:["object","null"],properties:{executorId:{type:"string"},prompt:{type:"string"}},required:["executorId","prompt"],additionalProperties:!1},Zne={type:["string","array"],items:{type:"string"}},eie={type:"object",properties:{kind:{type:"string",enum:["goal"]},stage:{type:"string",enum:["needs_evaluation"]},id:{type:"string"},assignee:Yne,evaluator:Qne,remainingAttempts:{type:"integer",minimum:0},requires:Zne},required:["kind","stage","id","assignee","evaluator","remainingAttempts","requires"],additionalProperties:!1},h8={type:"object",properties:{kind:{type:"string",enum:["queue"]},id:{type:"string"},items:{type:"array",items:eie}},required:["kind","id","items"],additionalProperties:!1},I8={type:"object",properties:{type:{type:"string",enum:["pass","fail"]},summary:{type:"string"},reason:{type:"string"},feedback:{type:"string"},nextGoal:{type:"string"},evidence:{type:"array",items:{type:"string"}}},required:["type","summary","reason","feedback","nextGoal","evidence"],additionalProperties:!1},tie={sandboxMode:"workspace-write",approvalPolicy:"never",approvalsReviewer:"user",networkAccessEnabled:!1},M1=class{subscribers=new Map;push(e){let r=this.subscribers.get(e.runId);if(r)for(let n of r)n.closed||(n.queue.push(e),n.resolve?.(),n.resolve=void 0)}close(e){let r=this.subscribers.get(e);if(r)for(let n of r)n.closed=!0,n.resolve?.(),n.resolve=void 0}async*events(e){let r={queue:[],closed:!1},n=this.subscribers.get(e);n||(n=new Set,this.subscribers.set(e,n)),n.add(r);try{for(;;){let i=r.queue.shift();if(i){yield i;continue}if(r.closed)return;await new Promise(o=>{r.resolve=o})}}finally{n.delete(r),n.size===0&&this.subscribers.delete(e)}}},yg=class extends Error{code;data;constructor(e,r,n){super(r),this.code=e,this.data=n}},L1=class{child;stdout;messageHandlers=new Set;errorHandlers=new Set;closeHandlers=new Set;constructor(e){this.child=Kne(e.command,e.args,{cwd:e.cwd,env:Aie(e.environment)}),this.stdout=Jne({input:this.child.stdout}),this.stdout.on("line",r=>this.handleLine(r)),this.child.stderr.on("data",()=>{}),this.child.once("error",r=>this.emitError(r)),this.child.once("close",()=>this.emitClose())}send(e){if(this.child.stdin.destroyed||!this.child.stdin.writable)throw new Error("Codex app-server stdin is closed");this.child.stdin.write(`${JSON.stringify(e)}
|
|
144
144
|
`)}close(){this.stdout.close(),this.child.killed||this.child.kill("SIGTERM")}onMessage(e){return this.messageHandlers.add(e),()=>this.messageHandlers.delete(e)}onError(e){return this.errorHandlers.add(e),()=>this.errorHandlers.delete(e)}onClose(e){return this.closeHandlers.add(e),()=>this.closeHandlers.delete(e)}handleLine(e){if(e.trim())try{let r=JSON.parse(e);for(let n of this.messageHandlers)n(r)}catch(r){this.emitError(new Error(`Invalid Codex app-server JSON-RPC message: ${r instanceof Error?r.message:String(r)}`))}}emitError(e){for(let r of this.errorHandlers)r(e)}emitClose(){for(let e of this.closeHandlers)e()}},H1=class{requestTimeoutMs;transportFactory;clientInfo;serverRequestHandler;transport;startPromise;initialized;nextId=1;pending=new Map;notificationHandlers=new Set;constructor(e={}){let r=e.environment??{},n=e.command??"codex",i=e.args??["app-server","--stdio"];this.requestTimeoutMs=e.requestTimeoutMs??6e4,this.clientInfo=e.clientInfo??{name:"hunsu-studio",title:"Hunsu Studio",version:"0.1.0"},this.transportFactory=e.transportFactory??(()=>new L1({command:n,args:i,environment:r,cwd:e.cwd})),this.serverRequestHandler=e.handleServerRequest??E8}setServerRequestHandler(e){this.serverRequestHandler=e}async initialize(){return await this.ensureStarted(),this.initialized}async request(e,r,n={}){return await this.ensureStarted(),this.requestRaw(e,r,n.timeoutMs)}notify(e,r){this.transport?.send(r===void 0?{method:e}:{method:e,params:r})}onNotification(e){return this.notificationHandlers.add(e),()=>this.notificationHandlers.delete(e)}close(){this.disposeTransport(new Error("Codex app-server client closed"),!0)}async ensureStarted(){if(!(this.transport&&this.initialized)){if(this.startPromise)return this.startPromise;this.startPromise=this.start();try{await this.startPromise}finally{this.startPromise=void 0}}}async start(){let e=this.transportFactory();this.transport=e,e.onMessage(r=>this.handleMessage(r)),e.onError(r=>this.disposeTransport(r,!0)),e.onClose(()=>{this.disposeTransport(new Error("Codex app-server process exited"),!1)}),this.initialized=await this.requestRaw("initialize",{clientInfo:this.clientInfo,capabilities:null},this.requestTimeoutMs),this.notify("initialized")}requestRaw(e,r,n=this.requestTimeoutMs){let i=this.transport;if(!i)throw new Error("Codex app-server transport is not started");let o=`hunsu-${this.nextId++}`;return new Promise((s,a)=>{let c=setTimeout(()=>{this.pending.delete(o);let u=new Error(`Codex app-server request timed out: ${e}`);a(u),this.disposeTransport(u,!0)},n);this.pending.set(o,{method:e,resolve:s,reject:a,timer:c});try{i.send(r===void 0?{id:o,method:e}:{id:o,method:e,params:r})}catch(u){clearTimeout(c),this.pending.delete(o),a(u instanceof Error?u:new Error(String(u)))}})}handleMessage(e){if(e.id!==void 0&&(e.result!==void 0||e.error!==void 0)&&!e.method){this.handleResponse(e);return}if(e.id!==void 0&&typeof e.method=="string"){this.handleServerRequest(e);return}if(typeof e.method=="string")for(let r of this.notificationHandlers)r(e)}handleResponse(e){let r=this.pending.get(e.id);if(r){if(clearTimeout(r.timer),this.pending.delete(e.id),e.error){r.reject(new Error(`Codex app-server ${r.method} failed: ${e.error.message}`));return}r.resolve(e.result)}}async handleServerRequest(e){try{let r=await this.serverRequestHandler(e);this.transport?.send({id:e.id,result:r})}catch(r){let n=r instanceof yg?r:new yg(-32603,r instanceof Error?r.message:String(r));this.transport?.send({id:e.id,error:{code:n.code,message:n.message,data:n.data}})}}rejectPending(e){for(let[r,n]of this.pending)clearTimeout(n.timer),n.reject(e),this.pending.delete(r)}disposeTransport(e,r){let n=this.transport;this.transport=void 0,this.initialized=void 0,this.rejectPending(e),r&&n?.close()}},U1=class{eventBus=new M1;client;threadOptions;activeByRunId=new Map;activeByThreadId=new Map;activeByTurnId=new Map;constructor(e={}){this.threadOptions={...tie,...e.threadOptions},this.client=e.client??new H1({...e.clientOptions,environment:e.clientOptions?.environment??e.environment??{}}),this.client.setServerRequestHandler(r=>this.handleServerRequest(r)),this.client.onNotification(r=>this.handleNotification(r))}async runTeamPlanning(e){let r=S8(e);return this.executeTurn(e,r,x8(e),void 0,!0,h8)}async runMemberPath(e){let r=T8(e,e.memberPath.executorId);return this.executeTurn(e,r,hie(e),void 0,!1,e.outputSchema)}async runMoveFinalizer(e){let r=kie();return this.executeTurn(e,r,gie(e),void 0,!0)}async runHunsuDraftTurn(e){let r=b8(e.manager);return this.executeTurn(e,r,yie(e),e.providerThreadId,!1,void 0,{reusePreparedThread:!0})}async prepareHunsuDraftSession(e){let r=b8(e.manager),n=await this.prepareThread(e,r,e.providerThreadId,!1);return{runId:e.runId,provider:"codex",providerThreadId:n}}async resumeRun(e){let r=S8(e);return this.executeTurn(e,r,x8(e),e.providerThreadId,!0,h8)}async pauseRun(e){this.eventBus.push({type:"runner.status.changed",runId:e,phase:"waiting",headline:"Pause requested",detail:"Codex app-server will stop after the current turn boundary."})}async stopRun(e){let r=this.activeByRunId.get(e);if(this.eventBus.push({type:"runner.status.changed",runId:e,phase:"waiting",headline:"Stop requested"}),r?.threadId&&r.turnId){try{await this.client.request("turn/interrupt",{threadId:r.threadId,turnId:r.turnId},{timeoutMs:1e4})}catch(n){this.eventBus.push({type:"runner.error",runId:e,error:`Codex app-server interrupt failed: ${n instanceof Error?n.message:String(n)}`})}r.completed=!0,r.reject(new Error("Codex turn interrupted by Studio"));return}if(r){r.completed=!0,this.client.close(),r.reject(new Error("Codex turn interrupted by Studio before app-server returned a turn id"));return}this.eventBus.close(e)}async providerStatus(){try{let r={backend:"app-server",available:!0,initialized:await this.client.initialize()};try{r.account=await this.client.request("account/read",{refreshToken:!1})}catch(i){r.accountError=i instanceof Error?i.message:String(i)}try{r.rateLimits=await this.client.request("account/rateLimits/read")}catch(i){r.rateLimitsError=i instanceof Error?i.message:String(i)}let n=[r.accountError,r.rateLimitsError].filter(Boolean);return n.length>0&&(r.error=n.join("; ")),r}catch(e){return{backend:"app-server",available:!1,error:e instanceof Error?e.message:String(e)}}}events(e){return this.eventBus.events(e)}async executeTurn(e,r,n,i,o=!1,s,a={}){let c=a.reusePreparedThread===!0&&i!==void 0&&!s;try{let u=c?i:await this.prepareThread(e,r,i,o,s);c&&this.eventBus.push({type:"runner.status.changed",runId:e.runId,phase:"working",headline:"Prepared thread reused",detail:u,providerThreadId:u});try{return await this.startTurn(e,r,u,n,o,s)}catch(d){if(!c)throw d;let l=d instanceof Error?d.message:String(d);this.eventBus.push({type:"runner.status.changed",runId:e.runId,phase:"working",headline:"Prepared thread reuse failed",detail:l,providerThreadId:i});let f=await this.prepareThread(e,r,i,o,s);return await this.startTurn(e,r,f,n,o,s)}}catch(u){let d=u instanceof Error?u.message:String(u);throw this.eventBus.push({type:"runner.error",runId:e.runId,error:d}),u}finally{this.eventBus.close(e.runId)}}async startTurn(e,r,n,i,o,s){let a;try{return await new Promise((c,u)=>{a={runId:e.runId,threadId:n,rawEvents:[],activeCommandExecutionIds:new Set,backgroundTerminalCleanupRequested:!1,finalEmitted:!1,completed:!1,resolve:c,reject:u},this.trackActiveTurn(a),this.client.request("turn/start",this.turnStartParamsFor(e,r,n,i,o,s),{timeoutMs:6e4}).then(d=>{let l=Ha(d,"turn");if(!a||a.completed)return;let f=ft(l,"id");f&&this.setActiveTurnId(a,f),l&&ft(l,"status")!=="inProgress"&&this.completeActiveTurn(a,l)}).catch(d=>{a?.completed||u(d instanceof Error?d:new Error(String(d)))})})}finally{a&&this.untrackActiveTurn(a)}}async prepareThread(e,r,n,i,o){let s=n?await this.client.request("thread/resume",this.threadResumeParamsFor(e,r,n,i)):await this.client.request("thread/start",this.threadStartParamsFor(e,r,i)),a=rb(s,["thread","id"])??n;if(!a)throw new Error("Codex app-server did not return a thread id");return this.eventBus.push({type:"runner.status.changed",runId:e.runId,phase:"working",headline:"Thread ready",detail:a,providerThreadId:a}),o?(await this.client.request("thread/goal/clear",{threadId:a},{timeoutMs:6e4}),this.eventBus.push({type:"runner.status.changed",runId:e.runId,phase:"working",headline:"Provider goal cleared",providerThreadId:a})):(await this.client.request("thread/goal/set",this.threadGoalSetParamsFor(e,r,a),{timeoutMs:6e4}),this.eventBus.push({type:"runner.status.changed",runId:e.runId,phase:"working",headline:"Provider goal set",providerThreadId:a})),a}threadStartParamsFor(e,r,n){let i=this.effectiveThreadOptions(e,r,n);return{cwd:e.repositoryPath,approvalPolicy:i.approvalPolicy,approvalsReviewer:i.approvalsReviewer??"user",sandbox:i.sandboxMode,model:i.model??null,serviceTier:i.serviceTier==="fast"?"fast":null,ephemeral:!1,threadSource:"user"}}threadResumeParamsFor(e,r,n,i){let o=this.effectiveThreadOptions(e,r,i);return{threadId:n,cwd:e.repositoryPath,approvalPolicy:o.approvalPolicy,approvalsReviewer:o.approvalsReviewer??"user",sandbox:o.sandboxMode,model:o.model??null,serviceTier:o.serviceTier==="fast"?"fast":null}}threadGoalSetParamsFor(e,r,n){return{threadId:n,objective:vie(e,r)}}turnStartParamsFor(e,r,n,i,o,s){let a=this.effectiveThreadOptions(e,r,o);return{threadId:n,input:[{type:"text",text:i,text_elements:[]}],cwd:e.repositoryPath,approvalPolicy:a.approvalPolicy,approvalsReviewer:a.approvalsReviewer??"user",sandboxPolicy:rie(e.repositoryPath,a,o),model:a.model??null,serviceTier:a.serviceTier==="fast"?"fast":null,effort:a.modelReasoningEffort??null,outputSchema:s??null}}effectiveThreadOptions(e,r,n){let i=Rie(r),o={...this.threadOptions,...e.codexThreadOptions,...i,...B8(e.resolvedModelSelection)};return n&&(o.networkAccessEnabled=e.codexThreadOptions?.networkAccessEnabled??this.threadOptions.networkAccessEnabled??i.networkAccessEnabled,o.sandboxMode="read-only",o.approvalPolicy="never",o.approvalsReviewer="user"),o}handleNotification(e){let r=g8(e,this.activeByThreadId,this.activeByTurnId);if(!r)return;r.rawEvents.push(y8(e));let n=Ki(e.params)?e.params:{},i=ft(n,"turnId")??rb(n,["turn","id"]);this.eventBus.push({type:"runner.appServer.message",runId:r.runId,direction:"server-notification",providerThreadId:r.threadId,providerTurnId:i??r.turnId,method:e.method,message:e}),i&&i!==r.turnId&&this.setActiveTurnId(r,i),(e.method==="item/started"||e.method==="item/completed")&&this.trackCommandExecutionItem(r,e.method,Ha(n,"item"));let o=nie({runId:r.runId,providerThreadId:r.threadId,providerTurnId:i??r.turnId},e);for(let s of o)switch(s.kind){case"setTurnId":this.setActiveTurnId(r,s.turnId);break;case"usage":r.usage=s.usage;break;case"teamEvent":this.eventBus.push(s.event);break;case"finalResponse":r.finalResponse=s.finalResponse,this.requestBackgroundTerminalCleanupIfNeeded(r);break;case"completeTurn":this.completeActiveTurn(r,s.turn);break}}trackCommandExecutionItem(e,r,n){if(ft(n,"type")!=="commandExecution")return;let i=vg(n);if(!i)return;let o=ft(n,"status");if(r==="item/completed"||o==="completed"||o==="failed"||o==="declined"){e.activeCommandExecutionIds.delete(i);return}e.activeCommandExecutionIds.add(i)}requestBackgroundTerminalCleanupIfNeeded(e){e.backgroundTerminalCleanupRequested||e.activeCommandExecutionIds.size===0||(e.backgroundTerminalCleanupRequested=!0,this.client.request("thread/backgroundTerminals/clean",{threadId:e.threadId},{timeoutMs:1e4}).catch(()=>{}))}completeActiveTurn(e,r){if(e.completed)return;e.completed=!0;let n=ft(r,"id")??e.turnId;n&&this.setActiveTurnId(e,n);let i=ft(r,"status");if(i==="failed"){let s=Ha(r,"error"),a=ft(s,"message")??"Codex app-server turn failed";this.eventBus.push({type:"runner.error",runId:e.runId,error:a}),e.reject(new Error(a));return}if(i==="interrupted"){e.reject(new Error("Codex app-server turn interrupted"));return}let o=e.finalResponse??fie(r);o&&!e.finalEmitted&&(e.finalEmitted=!0,this.eventBus.push({type:"runner.final",runId:e.runId,finalResponse:o})),e.resolve({runId:e.runId,provider:"codex",providerThreadId:e.threadId,providerTurnId:e.turnId,finalResponse:o,rawResult:{rawEvents:e.rawEvents,finalResponse:o,usage:e.usage,turn:r}})}trackActiveTurn(e){this.activeByRunId.set(e.runId,e),this.activeByThreadId.set(e.threadId,e),e.turnId&&this.activeByTurnId.set(e.turnId,e)}setActiveTurnId(e,r){e.turnId&&e.turnId!==r&&this.activeByTurnId.delete(e.turnId),e.turnId=r,this.activeByTurnId.set(r,e)}untrackActiveTurn(e){this.activeByRunId.delete(e.runId),this.activeByThreadId.delete(e.threadId),e.turnId&&this.activeByTurnId.delete(e.turnId)}async handleServerRequest(e){let r=Ki(e.params)?e.params:{},n=g8(e,this.activeByThreadId,this.activeByTurnId);n?.rawEvents.push(y8(e));let i=n?.runId;i&&this.eventBus.push({type:"runner.appServer.message",runId:i,direction:"server-request",providerThreadId:n?.threadId,providerTurnId:n?.turnId,method:e.method,message:e});let o=sie(e.method,r);return i&&o&&this.eventBus.push({type:"runner.status.changed",runId:i,phase:"waiting",headline:"Approval requested",detail:o,providerThreadId:n?.threadId,providerTurnId:n?.turnId}),e.method==="item/permissions/requestApproval"&&(n?.threadId&&n.turnId&&this.client.request("turn/interrupt",{threadId:n.threadId,turnId:n.turnId},{timeoutMs:1e4}).catch(()=>{}),i&&this.eventBus.push({type:"runner.error",runId:i,error:"Codex app-server requested additional permissions; Hunsu declined and interrupted the turn."}),n&&!n.completed&&(n.completed=!0,n.reject(new Error("Codex app-server requested additional permissions; Hunsu declined and interrupted the turn.")))),E8(e)}};function zd(t={}){return new U1(t)}function E8(t){switch(t.method){case"item/commandExecution/requestApproval":return{decision:"decline"};case"item/fileChange/requestApproval":return{decision:"decline"};case"execCommandApproval":case"applyPatchApproval":return{decision:"denied"};case"item/permissions/requestApproval":return{permissions:{},scope:"turn",strictAutoReview:!0};default:throw new yg(-32601,`Unsupported Codex app-server request: ${t.method??"unknown"}`)}}function rie(t,e,r){let n=e.networkAccessEnabled===!0;return r||e.sandboxMode==="read-only"?{type:"readOnly",networkAccess:n}:e.sandboxMode==="danger-full-access"?{type:"dangerFullAccess",networkAccess:n}:{type:"workspaceWrite",writableRoots:[t],networkAccess:n,excludeTmpdirEnvVar:!1,excludeSlashTmp:!1}}function g8(t,e,r){let n=Ki(t.params)?t.params:{},i=ft(n,"turnId")??rb(n,["turn","id"]);if(i){let s=r.get(i);if(s)return s}let o=ft(n,"threadId")??rb(n,["thread","id"]);return o?e.get(o):void 0}function y8(t){return{source:"codex.app-server",message:t}}function nie(t,e){let r=Ki(e.params)?e.params:{};switch(e.method){case"turn/started":{let n=Ha(r,"turn"),i=ft(n,"id")??ft(r,"turnId")??t.providerTurnId??"turn";return[...i?[{kind:"setTurnId",turnId:i}]:[],{kind:"teamEvent",event:{type:"runner.turn.started",runId:t.runId,providerThreadId:t.providerThreadId,providerTurnId:i,turn:n,startedAtMs:Ua(r,"startedAtMs")}},{kind:"teamEvent",event:{type:"runner.status.changed",runId:t.runId,phase:"working",headline:"Working",detail:i,providerThreadId:t.providerThreadId,providerTurnId:i}}]}case"turn/completed":{let n=Ha(r,"turn"),i=ft(n,"id")??ft(r,"turnId")??t.providerTurnId;return[{kind:"teamEvent",event:{type:"runner.turn.completed",runId:t.runId,providerThreadId:t.providerThreadId,providerTurnId:i,turn:n,completedAtMs:Ua(r,"completedAtMs")}},{kind:"completeTurn",turn:n}]}case"thread/tokenUsage/updated":{let n=iie(r);return[{kind:"usage",usage:n},{kind:"teamEvent",event:{type:"runner.status.changed",runId:t.runId,phase:"working",headline:"Working",detail:oie(n),providerThreadId:t.providerThreadId,providerTurnId:t.providerTurnId}}]}case"item/started":case"item/completed":return aie(t,e.method,Ha(r,"item"));case"item/agentMessage/delta":case"item/agentMessage/textDelta":case"item/agentMessage/outputDelta":case"item/assistantMessage/delta":case"item/assistantMessage/textDelta":case"item/assistantMessage/outputDelta":{let n=v8(r);if(!n)return[];let i=vg(r)??"agentMessage",o=ft(r,"turnId")??t.providerTurnId;return[{kind:"teamEvent",event:{type:"runner.item.delta",runId:t.runId,providerThreadId:t.providerThreadId,providerTurnId:o,itemId:i,deltaKind:"agentMessage",delta:n}}]}case"item/commandExecution/outputDelta":case"item/fileChange/outputDelta":case"item/plan/delta":case"item/reasoning/textDelta":case"item/reasoning/summaryTextDelta":{let n=v8(r);if(!n)return[];let i=cie(e.method),o=vg(r)??i,s=ft(r,"turnId")??t.providerTurnId;return[{kind:"teamEvent",event:{type:"runner.item.delta",runId:t.runId,providerThreadId:t.providerThreadId,providerTurnId:s,itemId:o,deltaKind:i,delta:n,contentIndex:Ua(r,"contentIndex")}}]}case"turn/plan/updated":{let n=ft(r,"explanation");return[{kind:"teamEvent",event:{type:"runner.status.changed",runId:t.runId,phase:"thinking",headline:"Planning",detail:n?Kf(n,500):"Codex plan updated.",providerThreadId:t.providerThreadId,providerTurnId:t.providerTurnId}}]}case"error":{let n=Ha(r,"error");return[{kind:"teamEvent",event:{type:"runner.error",runId:t.runId,error:ft(n,"message")??"Codex app-server error"}}]}default:return[]}}function iie(t){let e=Ha(t,"tokenUsage"),r=Ha(e,"last");if(r)return{input_tokens:Ua(r,"inputTokens")??0,cached_input_tokens:Ua(r,"cachedInputTokens")??0,output_tokens:Ua(r,"outputTokens")??0,reasoning_output_tokens:Ua(r,"reasoningOutputTokens")??0}}function oie(t){return t?`Codex turn usage. Input ${t.input_tokens}, output ${t.output_tokens}, reasoning ${t.reasoning_output_tokens}.`:"Codex app-server usage updated."}function sie(t,e){switch(t){case"item/commandExecution/requestApproval":return`Codex app-server requested command approval; Hunsu declined: ${ft(e,"command")??"unknown command"}`;case"item/fileChange/requestApproval":return`Codex app-server requested file-change approval; Hunsu declined${ft(e,"grantRoot")?` for ${ft(e,"grantRoot")}`:""}.`;case"item/permissions/requestApproval":return"Codex app-server requested additional permissions; Hunsu declined.";case"execCommandApproval":return`Codex app-server requested command approval; Hunsu declined: ${e.command?.join(" ")??"unknown command"}`;case"applyPatchApproval":return"Codex app-server requested patch approval; Hunsu declined.";default:return}}function aie(t,e,r){let n=e==="item/started"?"started":"completed",i=uie(r);if(!i)return[];let o=i.id??vg(r)??i.type,s={kind:"teamEvent",event:n==="started"?{type:"runner.item.started",runId:t.runId,providerThreadId:t.providerThreadId,providerTurnId:t.providerTurnId,itemId:o,item:i}:{type:"runner.item.completed",runId:t.runId,providerThreadId:t.providerThreadId,providerTurnId:t.providerTurnId,itemId:o,item:i}};switch(i.type){case"agentMessage":{let a=i.text;return n!=="completed"||!a?[s]:[s,{kind:"finalResponse",finalResponse:a}]}case"reasoning":return[s];case"plan":return[s];case"commandExecution":return[s];case"fileChange":return[s];case"mcpToolCall":return[s];case"webSearch":return[s];default:return[s]}}function cie(t){switch(t){case"item/agentMessage/delta":case"item/agentMessage/textDelta":case"item/agentMessage/outputDelta":case"item/assistantMessage/delta":case"item/assistantMessage/textDelta":case"item/assistantMessage/outputDelta":return"agentMessage";case"item/plan/delta":return"plan";case"item/reasoning/textDelta":return"reasoningText";case"item/reasoning/summaryTextDelta":return"reasoningSummary";case"item/fileChange/outputDelta":return"fileChangeOutput";default:return"commandOutput"}}function uie(t){let e=ft(t,"type");if(!t||!e)return;let r={id:vg(t),type:e,raw:t},n=ft(t,"text");if(n!==void 0)r.text=n;else{let b=die(t);b!==void 0&&(r.text=b)}let i=$1(t.summary);i.length>0&&(r.summary=i);let o=$1(t.content);o.length>0&&(r.content=o);let s=ft(t,"command");s!==void 0&&(r.command=s);let a=ft(t,"cwd");a!==void 0&&(r.cwd=a);let c=ft(t,"status");c!==void 0&&(r.status=c);let u=lie(t);u.length>0&&(r.commandActions=u);let d=ft(t,"aggregatedOutput");d!==void 0&&(r.aggregatedOutput=d);let l=Ua(t,"exitCode");l!==void 0&&(r.exitCode=l);let f=Ua(t,"durationMs");f!==void 0&&(r.durationMs=f),"changes"in t&&(r.changes=t.changes);let p=ft(t,"server");p!==void 0&&(r.server=p);let g=ft(t,"tool");g!==void 0&&(r.tool=g);let v=ft(t,"query");return v!==void 0&&(r.query=v),r}function die(t){let e=$1(t.content);if(e.length!==0)return e.join(`
|
|
145
145
|
|
|
146
146
|
`)}function $1(t){return Array.isArray(t)?t.flatMap(e=>{if(typeof e=="string")return e?[e]:[];if(!Ki(e))return[];let r=ft(e,"text")??ft(e,"content")??ft(e,"summary");return r?[r]:[]}):[]}function lie(t){let e=t.commandActions;return Array.isArray(e)?e.flatMap(r=>{if(!Ki(r))return[];let n=ft(r,"type");switch(n){case"read":return[{type:n,command:ft(r,"command"),name:ft(r,"name"),path:ft(r,"path")}];case"listFiles":return[{type:n,command:ft(r,"command"),path:ft(r,"path")}];case"search":return[{type:n,command:ft(r,"command"),query:ft(r,"query"),path:ft(r,"path")}];case"unknown":return[{type:n,command:ft(r,"command")}];default:return[]}}):[]}function fie(t){let e=Array.isArray(t?.items)?t.items:[];for(let r of[...e].reverse())if(Ki(r)&&r.type==="agentMessage"&&typeof r.text=="string")return r.text}function vg(t){if(Ki(t))return ft(t,"itemId")??ft(t,"id")}function Ha(t,e){if(!Ki(t))return;let r=t[e];return Ki(r)?r:void 0}function ft(t,e){if(!Ki(t))return;let r=t[e];return typeof r=="string"?r:void 0}function v8(t){let e=ft(t,"delta");if(e!==void 0)return e;let r=ft(t,"deltaBase64");if(r)try{return Xne.from(r,r.includes("-")||r.includes("_")?"base64url":"base64").toString("utf8")}catch{return}}function Ua(t,e){if(!Ki(t))return;let r=t[e];return typeof r=="number"?r:void 0}function rb(t,e){let r=t;for(let n of e){if(!Ki(r))return;r=r[n]}return typeof r=="string"?r:void 0}function Ki(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function x8(t){let e=nb(t);return["<role>"," <purpose>"," Plan a closure-free executable ExecutionPlan."," </purpose>",""," <instructions>",La(k8(t,e),4)," </instructions>","</role>","","<goal>",La(P8(t),2),"</goal>","","<member_profiles>",Sie(e.members),"</member_profiles>","","<rules>"," Return one structured ExecutionPlan object with root kind queue."," Put each executable step in the queue items array as kind goal with stage needs_evaluation."," Use each goal item to delegate to one assignee Executor and optionally one evaluator Executor."," A goal assignee must name executorId and a standalone goal."," A goal evaluator, when present, must name executorId and a prompt that can return pass or fail with type, summary, reason, feedback, nextGoal, and evidence.",` Set remainingAttempts to ${mie(t.maxAttemptCount)||pie(e)} for each goal unless a smaller bound is clearly enough.`," Set requires to PrevMove unless this goal intentionally depends on earlier Path ids.","</rules>"].join(`
|
|
@@ -179,7 +179,7 @@ ${r}`:void 0].filter(n=>n!==void 0).join(`
|
|
|
179
179
|
`):"- none"].filter(e=>e!==void 0).join(`
|
|
180
180
|
`)}function Eie(t){return t.length===0?"No prior draft conversation.":t.map(e=>`${e.role==="draft-agent"?"Draft Agent":e.role==="user"?"User":"System"}: ${Kf(e.text,1200)}`).join(`
|
|
181
181
|
|
|
182
|
-
`)}function S8(t){let e=nb(t);return wi("team",k8(t,e),[])}function kie(){return wi("move-finalizer","Write a precise final MOVE commit message from the completed Execute diff and evidence.",[])}function b8(t=qf()){return{...wi(String(t.id),t.promptTemplate.template,t.skills),promptTemplate:{...t.promptTemplate},plugins:t.plugins.map(r=>({...r})),...t.modelSelection?{modelSelection:JSON.parse(JSON.stringify(t.modelSelection))}:{},execution:{kind:"worktree_write",network:"enabled"},approval:{policy:"never"}}}function T8(t,e){if(t.harnessGraph){let i=r1(t.harnessGraph,e);if(!i)throw new Error(`Harness does not define required Member ${e}`);return CS(i)}let r=nb(t),n=Wf(r,e);if(!n)throw new Error(`Harness ${r.kind} does not define required Member ${e}`);return n}function nb(t){return t.harnessGraph?Wd(t.harnessGraph,t.teamScopeId??t.harnessGraph.rootTeamId):t.harness??Vn()}function Rie(t){let e={approvalPolicy:t.approval.policy==="on_request"?"on-request":"never",approvalsReviewer:t.approval.policy==="on_request"?t.approval.reviewer:"user",networkAccessEnabled:t.execution.network==="enabled"};switch(t.execution.kind){case"read_only":e.sandboxMode="read-only";break;case"worktree_write":e.sandboxMode="workspace-write";break;case"unrestricted":e.sandboxMode="danger-full-access";break}let r=t.modelSelection?
|
|
182
|
+
`)}function S8(t){let e=nb(t);return wi("team",k8(t,e),[])}function kie(){return wi("move-finalizer","Write a precise final MOVE commit message from the completed Execute diff and evidence.",[])}function b8(t=qf()){return{...wi(String(t.id),t.promptTemplate.template,t.skills),promptTemplate:{...t.promptTemplate},plugins:t.plugins.map(r=>({...r})),...t.modelSelection?{modelSelection:JSON.parse(JSON.stringify(t.modelSelection))}:{},execution:{kind:"worktree_write",network:"enabled"},approval:{policy:"never"}}}function T8(t,e){if(t.harnessGraph){let i=r1(t.harnessGraph,e);if(!i)throw new Error(`Harness does not define required Member ${e}`);return CS(i)}let r=nb(t),n=Wf(r,e);if(!n)throw new Error(`Harness ${r.kind} does not define required Member ${e}`);return n}function nb(t){return t.harnessGraph?Wd(t.harnessGraph,t.teamScopeId??t.harnessGraph.rootTeamId):t.harness??Vn()}function Rie(t){let e={approvalPolicy:t.approval.policy==="on_request"?"on-request":"never",approvalsReviewer:t.approval.policy==="on_request"?t.approval.reviewer:"user",networkAccessEnabled:t.execution.network==="enabled"};switch(t.execution.kind){case"read_only":e.sandboxMode="read-only";break;case"worktree_write":e.sandboxMode="workspace-write";break;case"unrestricted":e.sandboxMode="danger-full-access";break}let r=t.modelSelection?H3(t.modelSelection):void 0;return r?{...e,...B8(r)}:(t.modelSelection||(t.model&&t.model!=="codex-default"&&(e.model=t.model),t.reasoningEffort&&t.reasoningEffort!=="default"&&(e.modelReasoningEffort=t.reasoningEffort),e.serviceTier=t.serviceTier??"default"),e)}function B8(t){return!t||t.providerId!=="codex"?{}:{model:t.model==="codex-default"?void 0:t.model,modelReasoningEffort:t.reasoningEffort&&t.reasoningEffort!=="default"?t.reasoningEffort:void 0,serviceTier:t.serviceTier??"default"}}function D8(t){return"memberPath"in t}function F1(t){return"draftSessionId"in t&&"sourceSnapshot"in t&&"userMessage"in t}function N8(t){return"draftSessionId"in t&&"sourceSnapshot"in t}function Aie(t){let e={};for(let[i,o]of Object.entries(t))o!==void 0&&(e[i]=o);let r=Gne(Wne(zne(import.meta.url)),"../../.."),n=Vne(r,"node_modules",".bin");return e.PATH=[n,t.PATH].filter(Boolean).join(qne),e}function Kf(t,e=4e3){return t.length<=e?t:`${t.slice(0,e-1)}...`}var du=class extends Error{constructor(e){super(e),this.name="HunsuError"}};var Tr=class extends du{command;stderr;constructor(e,r){super(`Git command failed: git ${e.join(" ")}${r?`
|
|
183
183
|
${r}`:""}`),this.name="GitError",this.command=e,this.stderr=r}};function q1(t){let e=[];for(let[r,n]of Object.entries(t))n!==void 0&&e.push(`${r}: ${String(n)}`);return e.join(`
|
|
184
184
|
`)}function O8(t,e="commitSha"){return typeof t=="string"&&/^[0-9a-f]{40}$/i.test(t)?S(t):L8(e,"must be a 40-character Git commit SHA")}function Pie(t,e="runtimeChecksum"){return typeof t=="string"&&/^[0-9a-f]{64}$/i.test(t)?S(t):L8(e,"must be a SHA-256 hex checksum")}function Kr(t,e="commitSha"){return M8(O8(t,e))}function Jf(t,e="runtimeChecksum"){return M8(Pie(t,e))}function M8(t){if(t.ok)return t.value;throw new du(`${t.error.field} ${t.error.message}`)}function L8(t,e){return oe({type:"CorePrimitiveError",field:t,message:e})}import{createHash as $ie}from"node:crypto";import{gzipSync as Fie,gunzipSync as jie}from"node:zlib";import{existsSync as Ig,mkdirSync as qie,readFileSync as Y1,rmSync as $8,writeFileSync as Wie}from"node:fs";import{dirname as Vie,join as fu}from"node:path";import{mkdirSync as _ie,mkdtempSync as Tie,rmSync as W1,writeFileSync as V1}from"node:fs";import{isAbsolute as Bie,join as Sg}from"node:path";import{spawnSync as Die}from"node:child_process";var Nie="",Oie=64*1024*1024,rBe=["%H","%h","%P","%D","%an","%aI","%s","%B"].join(Nie);function ke(t,e={}){let r=Die("git",t,{cwd:e.cwd,input:e.input,encoding:"utf8",maxBuffer:Oie,env:e.env});if(r.status!==0)throw new Tr(t,r.stderr.trim());return r.stdout}function jt(t=process.cwd()){return ke(["rev-parse","--show-toplevel"],{cwd:t}).trim()}function Mie(t,e={}){let r=e.cwd??process.cwd(),n=z1(r,"hunsu-move-"),i=Sg(n,"message.txt");try{return V1(i,t,"utf8"),ke(["commit","-F",i],{cwd:r}),{commitSha:Kr(ke(["rev-parse","HEAD"],{cwd:r}).trim()),message:t}}finally{W1(n,{recursive:!0,force:!0})}}function H8(t,e={}){let r=e.cwd??process.cwd();if(!ke(["status","--porcelain=v1"],{cwd:r}).trim())throw new du("Cannot create MOVE commit without worktree changes");return ke(["add","--all"],{cwd:r}),Mie(t,{cwd:r})}function Lie(t){let e=t.finalizerMessage.trim();if(!e)throw new du("MOVE finalizer returned an empty commit message");let r=q1({"Hunsu-Event":"move","Hunsu-Run":t.runId,"Hunsu-Move":t.moveId,"Hunsu-Goal":t.goal,"Hunsu-Role":"move-finalizer","Hunsu-Actor":t.actor??"agent:codex","Hunsu-Status":"complete"});return`${e}
|
|
185
185
|
|
|
@@ -201,14 +201,14 @@ ${n}
|
|
|
201
201
|
`),s=n.slice(i+2).trim();if(o[0]!==r)return Bn(`Invalid Hunsu runtime header in ${e}`);let a=new Map(o.slice(1).map(l=>{let f=l.indexOf(":");return f===-1?[l.trim(),""]:[l.slice(0,f).trim(),l.slice(f+1).trim()]}));if(a.get("encoding")!==F8)return Bn(`Unsupported Hunsu runtime encoding in ${e}: ${a.get("encoding")??"missing"}`);let c=a.get("checksum")?.replace(/^sha256:/,"");if(!c)return Bn(`Missing Hunsu runtime checksum in ${e}`);let u;try{u=jie(Buffer.from(s,"base64url")).toString("utf8")}catch(l){return Bn(`Invalid Hunsu runtime payload in ${e}: ${l instanceof Error?l.message:String(l)}`)}let d=Cg(u);if(d!==c)return Bn(`Hunsu runtime checksum mismatch in ${e}`);try{return S({value:JSON.parse(u),checksum:Jf(d)})}catch(l){return Bn(`Invalid Hunsu runtime JSON in ${e}: ${l instanceof Error?l.message:String(l)}`)}}function boe(t){let e=jt(t),r=fu(e,J1);if(!Ig(r))return;let n=Ag(Y8(Y1(r,"utf8"),r));return{state:n,checksum:Q8(n)}}function woe(t,e){let r=jt(t);try{let n=ke(["show",`${e}:${J1}`],{cwd:r}),i=Ag(Y8(n,`${e}:${J1}`));return{state:i,checksum:Q8(i)}}catch(n){if(n instanceof Tr)return;throw n}}function Y8(t,e){let r=fb(t,e,Gie);if(!r.ok)return r;let n=r.value.value;if(!n||typeof n!="object")return Bn(`Invalid legacy Hunsu runtime state JSON in ${e}: expected object`);let i=n;if(i.version!==1||!Array.isArray(i.events))return Bn(`Invalid legacy Hunsu runtime state in ${e}`);let o=[];for(let[s,a]of i.events.entries()){let c=ZS(a);if(!c.ok)return Bn(`Invalid legacy Hunsu runtime state event ${s} in ${e}: ${c.error.message}`);o.push(c.value)}return S({version:1,events:o,...typeof i.updatedAt=="string"?{updatedAt:i.updatedAt}:{}})}function Q8(t){return Jf(Cg(`${JSON.stringify(t)}
|
|
202
202
|
`))}function Bn(t){return oe({type:"DomainStoreError",message:t})}function wg(t,e,r){let n=fu(t,e,r);try{return S(JSON.parse(Y1(n,"utf8")))}catch(i){return Bn(`Cannot read ${e}/${r}: ${i instanceof Error?i.message:String(i)}`)}}function Kd(t){return JSON.parse(JSON.stringify(t))}function ob(t){return JSON.stringify(X1(t))}function X1(t){return Array.isArray(t)?t.map(X1):t&&typeof t=="object"?Object.fromEntries(Object.entries(t).sort(([e],[r])=>e.localeCompare(r)).map(([e,r])=>[e,X1(r)])):t}function Ag(t){if(t.ok)return t.value;throw new Error(t.error.message)}function Ioe(t){try{return Kr(ke(["rev-parse","--verify","HEAD^{commit}"],{cwd:t}).trim())}catch(e){if(e instanceof Tr)return;throw e}}function Eoe(t){return t instanceof Error?"code"in t&&t.code==="ENOENT":!1}function Cg(t){return $ie("sha256").update(t).digest("hex")}function koe(t){let[e,r,n]=t.split(Jie);return{ref:e,object:r,objectType:n,ordinal:Roe(e)}}function Roe(t){let r=t.slice(t.lastIndexOf("/")+1).match(/^E(\d+)(?:-|$)/);return r?Number.parseInt(r[1],10):Number.MAX_SAFE_INTEGER}import{existsSync as Ls,readFileSync as t5,readdirSync as Aoe,statSync as Coe,writeFileSync as Poe}from"node:fs";import{basename as _oe,join as $a,resolve as Toe}from"node:path";var Boe="Port Git Project",Doe="Make this project ready for Hunsu-managed MOVEs and Artifact Actions.";function dA(t=process.cwd()){let e=Toe(t),r=[],n=e,i=!1;try{n=jt(e),i=!0}catch{r.push("Not a Git repository. Hunsu Port expects an existing Git project.")}let o=Moe(n),s=o?.scripts??{},a=Ooe(n,o),c=Z8(n,/^Dockerfile(?:\.|$)/),u=Z8(n,/^(?:docker-)?compose(?:\.[^.]+)?\.ya?ml$/),d=i&&r5(n),l=Noe(n),f=Loe(n,s),p=[];return!o&&i&&r.push("No package.json found. Port can still create Roadmap state, but Artifact Actions may need a later Hunsu setup."),i&&!d&&r.push("Hunsu runtime state is missing. Port apply will create Initial Team state."),{root:n,isGitRepository:i,isHunsuRoadmap:d,packageManager:a,packageScripts:s,docker:{dockerfiles:c,composeFiles:u},artifactActions:l,env:f,recommendedFiles:p,issues:r}}function lA(t={}){let e=dA(t.cwd);if(!e.isGitRepository)throw new Error("Hunsu Port requires an existing Git repository");let r=t.title?.trim()||_oe(e.root)||Boe,n=t.goal?.trim()||Doe,i=t.destinations&&t.destinations.length>0?t.destinations:[{id:"destination_001",title:"Establish artifact-action-ready product execution",priority:100}],o=e.isHunsuRoadmap?[]:[{type:"CreateInitialTeam",requestId:e5("req",r),lineId:`run/${e5("req",r)}`,title:r,goal:n,destinations:i,harness:t.harness}];return{root:e.root,title:r,goal:n,destinations:i,inspection:e,files:[],commands:o}}function fA(t={}){let e=lA(t),r=[];for(let i of e.files){let o=$a(e.root,i.path);Ls(o)||(Poe(o,i.content,"utf8"),r.push(i.path))}let n=e.commands.length>0?kg(e.commands,{cwd:e.root,commitMessage:`hunsu: port ${e.title}`}):{acceptedEvents:[],board:Dn(e.root).board};return{root:e.root,plan:e,writtenFiles:r,acceptedEvents:n.acceptedEvents,board:n.board}}function Noe(t){if(!r5(t))return{configured:!1,count:0,issues:[]};let e=Dn(t).board;return{configured:e.artifactActions.length>0,count:e.artifactActions.length,issues:[]}}function Ooe(t,e){if(Ls($a(t,"pnpm-lock.yaml"))||e?.packageManager?.startsWith("pnpm@"))return"pnpm";if(Ls($a(t,"yarn.lock"))||e?.packageManager?.startsWith("yarn@"))return"yarn";if(Ls($a(t,"bun.lockb"))||Ls($a(t,"bun.lock"))||e?.packageManager?.startsWith("bun@"))return"bun";if(Ls($a(t,"package-lock.json"))||e)return"npm"}function Moe(t){let e=$a(t,"package.json");if(Ls(e))return JSON.parse(t5(e,"utf8"))}function Z8(t,e){return!Ls(t)||!Coe(t).isDirectory()?[]:Aoe(t).filter(r=>e.test(r)).sort()}function r5(t){try{return Rg(t)||sA(t).length>0||ke(["for-each-ref","--count=1","--format=%(refname)","refs/hunsu"],{cwd:t}).trim().length>0}catch(e){if(e instanceof Tr)return!1;throw e}}function Loe(t,e){let r=[".env",".env.local",".env.development",".env.example"].filter(i=>Ls($a(t,i))),n=Object.entries(e).filter(([,i])=>/\b(?:3000|5173|8080|4187)\b|localhost|127\.0\.0\.1/.test(i)).map(([i])=>`package.json scripts.${i}`);for(let i of["vite.config.ts","vite.config.js","next.config.js","next.config.mjs"]){let o=$a(t,i);if(!Ls(o))continue;let s=t5(o,"utf8");/\b(?:3000|5173|8080|4187)\b|localhost|127\.0\.0\.1/.test(s)&&n.push(i)}return{files:r,hardcodedHints:n}}function e5(t,e){let r=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,48);return`${t}_${r||"project"}`}import{createHash as Hoe}from"node:crypto";import{spawnSync as Uoe}from"node:child_process";import{existsSync as gb,mkdirSync as n5,readFileSync as $oe,readdirSync as Foe,rmSync as i5,writeFileSync as joe}from"node:fs";import{tmpdir as qoe}from"node:os";import{basename as Woe,join as pb,resolve as hA}from"node:path";function o5(t=process.cwd(),e){let r=jt(t),n=Dn(r);if(e){let i=n.board.moves.find(s=>s.id===e);if(!i)throw new Error(`No MOVE found for Artifact Action source: ${e}`);let o=n.board.nodes.find(s=>s.id===i.toNodeId);return hb(i.snapshot?.artifactActions??o?.artifactActions??[])}return hb(n.board.artifactActions)}function gA(t){let e=jt(t.cwd??process.cwd()),r=Voe(e,t),n=r.actions.find(d=>d.id===t.actionId);if(!n)throw new Error(`Unknown Artifact Action for selected source: ${t.actionId}`);Goe(n,r.source);let i=t.now??new Date().toISOString(),o=Qoe(n.id,r.source,i),s=t.baseActionPath??Yoe(t.roadmapId,o),a=n.kind==="host"?Koe(n,s):void 0,c=yA(n,t.env,t.ambientEnv),u={runId:o,actionId:n.id,roadmapId:t.roadmapId,action:mA(n),source:r.source,status:"queued",env:zoe(n,c),aliases:a,createdAt:i,updatedAt:i};return{action:mA(n),run:u,commands:u5(e,n,u,c)}}function s5(t,e={}){let r=jt(t.cwd??process.cwd()),n=gA(t),i=t.now??new Date().toISOString(),o=Xoe(r,n.run.runId,n.run.source.commit,i,t.worktreeRoot),s=t.processEnv??e.processEnv,a=e.runner??((l,f,p)=>h5(l,f,{...p,processEnv:s})),c={...n.run,status:(n.action.kind==="host","running"),sourceWorktree:o,updatedAt:i},u=yA(n.action,t.env,t.ambientEnv),d=u5(r,n.action,c,u);try{if(n.action.runner.type==="docker_compose")Pg(a,d[0]),Pg(a,d[1]),c.aliases=Joe(r,c,a,u),c.status="running";else{let l=Pg(a,d[0]);if(c.exitCode=l.status,c.stdout=l.stdout,c.stderr=l.stderr,c.status=n.action.kind==="host"?"running":"succeeded",n.action.kind==="check"){let f=mb(r,o.path);c.sourceWorktree={...o,removedAt:f}}}c.updatedAt=new Date().toISOString()}catch(l){c.status="failed",c.updatedAt=new Date().toISOString(),c.error=l instanceof Error?l.message:String(l);let f=mb(r,o.path);c.sourceWorktree={...o,removedAt:f}}if(e.store!==!1&&l5(r,c),c.status==="failed")throw new Error(c.error??`Artifact Action ${c.runId} failed`);return c}function a5(t=process.cwd()){let e=jt(t),r=vA(e);return gb(r)?Foe(r).filter(n=>n.endsWith(".json")).map(n=>_g(e,n.slice(0,-5))).sort((n,i)=>i.updatedAt.localeCompare(n.updatedAt)):[]}function _g(t,e){let r=jt(t),n=f5(r,e);if(!gb(n))throw new Error(`Unknown Artifact Action Run: ${e}`);return JSON.parse($oe(n,"utf8"))}function c5(t,e,r={}){let n=jt(t),i=_g(n,e),o=r.runner??((u,d,l)=>h5(u,d,{...l,processEnv:r.processEnv})),s=yA(i.action,i.env,r.processEnv);i.action.runner.type==="docker_compose"?Pg(o,pA(n,i,["down"],s)):i.action.runner.stopCommand&&Pg(o,d5(n,i,i.action.runner.stopCommand,s));let a=i.sourceWorktree?.path?mb(n,i.sourceWorktree.path):void 0,c={...i,sourceWorktree:i.sourceWorktree?{...i.sourceWorktree,removedAt:a}:void 0,status:"stopped",stoppedAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return r.store!==!1&&l5(n,c),c}function Voe(t,e){if(e.moveId&&e.commit)throw new Error("Artifact Action source accepts either moveId or commit, not both");let r=Dn(t);if(e.moveId){let i=r.board.moves.find(s=>s.id===e.moveId);if(!i)throw new Error(`No MOVE found for Artifact Action source: ${e.moveId}`);let o=r.board.nodes.find(s=>s.id===i.toNodeId);return{source:{moveId:i.id,commit:ke(["rev-parse","--verify",`${i.commit}^{commit}`],{cwd:t}).trim(),ref:i.commit},actions:hb(i.snapshot?.artifactActions??o?.artifactActions??[])}}let n=e.commit??"HEAD";return{source:{commit:ke(["rev-parse","--verify",`${n}^{commit}`],{cwd:t}).trim(),ref:n},actions:hb(r.board.artifactActions)}}function Goe(t,e){if(t.sourceScope==="move"&&!e.moveId)throw new Error(`Artifact Action ${t.id} can only run against a MOVE source`);if(t.sourceScope==="commit"&&e.moveId)throw new Error(`Artifact Action ${t.id} can only run against a commit source`)}function yA(t,e={},r={}){let n={},i=new Set;for(let[o,s]of Object.entries(t.env??{}))if(i.add(o),"default"in s)n[o]=e[o]??String(s.default);else if("value"in s)n[o]=e[o]??String(s.value);else if("alias"in s){let a=t.aliases?.[s.alias];if(!a)throw new Error(`Artifact Action env ${o} references unknown alias: ${s.alias}`);n[o]=String(a.containerPort??a.target??"")}else if("fromAliasUrl"in s){let a=t.aliases?.[s.fromAliasUrl];if(!a)throw new Error(`Artifact Action env ${o} references unknown alias: ${s.fromAliasUrl}`);n[o]=a.service&&a.containerPort?`http://${a.service}:${a.containerPort}`:String(a.target??"")}else if(s.required){let a=e[o]??r[o];if(!a)throw new Error(`Artifact Action env ${o} is required but not set`);n[o]=a}for(let[o,s]of Object.entries(e))i.has(o)||(n[o]=s);return n}function zoe(t,e){let r={};for(let[n,i]of Object.entries(e)){let o=t.env?.[n];r[n]=o&&"required"in o&&o.secret?"<secret>":i}return r}function u5(t,e,r,n){return e.runner.type==="docker_compose"?[pA(t,r,["build"],n),pA(t,r,["up","-d"],n)]:[d5(t,r,e.runner.command,n)]}function pA(t,e,r,n){if(e.action.runner.type!=="docker_compose")throw new Error(`Artifact Action ${e.actionId} does not use docker compose`);let i=e.source.commit.slice(0,12),o=p5(m5(e.action.runner.projectName??`hunsu-${e.actionId}-${i}`,{actionId:e.actionId,runId:e.runId,commit:e.source.commit,shortCommit:i,moveId:e.source.moveId??""}));return{command:"docker",args:["compose","-f",hA(e.sourceWorktree?.path??t,e.action.runner.file),"-p",o,...r],cwd:e.sourceWorktree?.path??t,env:n}}function d5(t,e,r,n){return{command:"sh",args:["-lc",r],cwd:e.sourceWorktree?.path??t,env:n}}function Pg(t,e){let r=t(e.command,e.args,{cwd:e.cwd,env:e.env});if(r.status!==0)throw new Error(`${e.command} ${e.args.join(" ")} failed
|
|
203
203
|
${r.stderr||r.stdout}`);return r}function Koe(t,e){if(t.aliases)return Object.fromEntries(Object.entries(t.aliases).map(([r,n])=>[r,{alias:r,service:n.service,containerPort:n.containerPort,healthPath:n.healthPath,target:n.target,internalUrl:n.service&&n.containerPort?`http://${n.service}:${n.containerPort}`:n.target,externalPath:`${e}/${encodeURIComponent(r)}/`}]))}function Joe(t,e,r,n){if(!e.aliases||e.action.runner.type!=="docker_compose")return e.aliases;let i=e.action.runner;return Object.fromEntries(Object.entries(e.aliases).map(([o,s])=>{if(!s.service||!s.containerPort)return[o,s];let a=r("docker",["compose","-f",hA(e.sourceWorktree?.path??t,i.file),"-p",p5(m5(i.projectName??`hunsu-${e.actionId}-${e.source.commit.slice(0,12)}`,{actionId:e.actionId,runId:e.runId,commit:e.source.commit,shortCommit:e.source.commit.slice(0,12),moveId:e.source.moveId??""})),"port",s.service,String(s.containerPort)],{cwd:e.sourceWorktree?.path??t,env:n});return a.status!==0||!a.stdout.trim()?[o,s]:[o,{...s,directUrl:ese(a.stdout.trim())}]}))}function Xoe(t,e,r,n,i){let o=hA(i??pb(qoe(),"hunsu-action-runs",`${Woe(t)}-${Zoe(t)}`)),s=pb(o,xA(e));return n5(o,{recursive:!0}),gb(s)&&(mb(t,s),i5(s,{recursive:!0,force:!0})),ke(["worktree","add","--detach",s,r],{cwd:t}),{path:s,commit:r,createdAt:n}}function mb(t,e){let r=new Date().toISOString();if(!gb(e))return r;try{ke(["worktree","remove","--force",e],{cwd:t})}catch{i5(e,{recursive:!0,force:!0}),ke(["worktree","prune"],{cwd:t})}return r}function l5(t,e){n5(vA(t),{recursive:!0}),joe(f5(t,e.runId),`${JSON.stringify(e,null,2)}
|
|
204
|
-
`,"utf8")}function vA(t){return pb(t,".hunsu","action-runs")}function f5(t,e){return pb(vA(t),`${xA(e)}.json`)}function Yoe(t,e){return t?`/api/roadmaps/${encodeURIComponent(t)}/action-runs/${encodeURIComponent(e)}/proxy`:`/api/action-runs/${encodeURIComponent(e)}/proxy`}function Qoe(t,e,r){return xA(`${t}-${e.moveId??e.commit.slice(0,12)}-${r.replace(/[^0-9A-Za-z]/g,"").slice(0,14)}`)}function xA(t){return t.toLowerCase().replace(/[^a-z0-9_.-]+/g,"-").replace(/^-+|-+$/g,"")||"action-run"}function p5(t){return t.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,63)||"hunsu-action"}function m5(t,e){return t.replace(/\{([a-zA-Z][a-zA-Z0-9]*)\}/g,(r,n)=>e[n]??"")}function Zoe(t){return Hoe("sha256").update(t).digest("hex").slice(0,12)}function ese(t){let e=t.split(/\r?\n/).find(Boolean)??t,r=e.match(/(?:0\.0\.0\.0|127\.0\.0\.1|localhost|\[::\]|::):(\d+)$/);return r?`http://127.0.0.1:${r[1]}`:/^https?:\/\//.test(e)?e:`http://${e}`}function h5(t,e,r){let n=Uoe(t,e,{cwd:r.cwd,env:{...tse(r.processEnv),...r.env},encoding:"utf8",maxBuffer:16777216});return{status:n.status??1,stdout:n.stdout,stderr:n.stderr}}function tse(t){if(t===void 0)return;let e={};for(let[r,n]of Object.entries(t))n!==void 0&&(e[r]=n);return e}function hb(t){return t.map(mA).sort((e,r)=>e.displayOrder-r.displayOrder||String(e.id).localeCompare(String(r.id)))}function mA(t){return{...t,env:t.env?Object.fromEntries(Object.entries(t.env).map(([e,r])=>[e,{...r}])):void 0,runner:{...t.runner},aliases:t.aliases?Object.fromEntries(Object.entries(t.aliases).map(([e,r])=>[e,{...r}])):void 0,evidence:t.evidence?{...t.evidence,paths:t.evidence.paths?.slice()}:void 0}}import{createHash as rse}from"node:crypto";var nse="hunsu.hub-package-manifest.v1",g5="hunsu-json-c14n-v1+sha256:";function ise(t){IA(t);let{integrity:e,...r}=t;return JSON.stringify(wA(r,"manifest"))}function ose(t){let e=ise(t);return`${g5}${rse("sha256").update(e,"utf8").digest("hex")}`}async function Tg(t,e){if(!t.integrity.startsWith(g5))throw new Error(`Unsupported Hub package integrity prefix: ${t.integrity}`);let r=e.origins.find(a=>a.name===t.origin);if(!r)throw new Error(`Unknown Origin: ${t.origin}`);if(r.transport!=="http")throw new Error(`Origin ${r.name} uses unsupported transport ${r.transport}`);let i=await(e.fetch??fetch)(sse(r.url,t.kind,t.key,t.version));if(!i.ok)throw i.status===404?new Error(`Missing Hub package manifest: ${t.origin}/${t.kind}/${t.key}@${t.version}`):new Error(`Origin ${r.name} returned ${i.status} for ${t.kind}/${t.key}@${t.version}`);let o=await i.json();if(IA(o),o.kind!==t.kind||o.key!==t.key||o.version!==t.version)throw new Error(`Hub package manifest from ${r.name} does not match requested ${t.kind}/${t.key}@${t.version}`);let s=ose(o);if(s!==t.integrity)throw new Error(`Hub package integrity mismatch for ${t.origin}/${t.kind}/${t.key}@${t.version}: expected ${t.integrity}, got ${s}`);return{lock:{...t},manifest:o,integrity:s,origin:{...r}}}function sse(t,e,r,n){let i=new URL(t),o=`/v1/packages/${e}/${encodeURIComponent(r)}/versions/${encodeURIComponent(n)}`;return new URL(o,i).toString()}function y5(t){if(IA(t),t.kind!=="team")throw new Error(`Hub package ${t.kind}/${t.key}@${t.version} is not a team package`);return fse(t.team)}function IA(t){let e=SA(t,"manifest");if(e.schema!==nse)throw new Error(`Unsupported Hub package manifest schema: ${String(e.schema)}`);bA(e,["integrity","key","kind","team","member","manager","schema","skill","version"],"manifest");let r=lse(e.kind,"manifest.kind");switch(Qf(e.key,"manifest.key"),Qf(e.version,"manifest.version"),e.integrity!==void 0&&Qf(e.integrity,"manifest.integrity"),r){case"team":if(ase(e.team),e.member!==void 0||e.manager!==void 0||e.skill!==void 0)throw new Error("Team package manifest must not include member, manager, or skill payloads");return;case"member":if(cse(e.member),e.team!==void 0||e.manager!==void 0||e.skill!==void 0)throw new Error("Member package manifest must not include team, manager, or skill payloads");return;case"manager":if(use(e.manager),e.team!==void 0||e.member!==void 0||e.skill!==void 0)throw new Error("Manager package manifest must not include team, member, or skill payloads");return;case"skill":if(dse(e.skill),e.team!==void 0||e.member!==void 0||e.manager!==void 0)throw new Error("Skill package manifest must not include team, member, or manager payloads");return}}function ase(t){let e=qd(t,"manifest.team");if(!e.ok)throw new Error(`Invalid manifest.team: ${e.error.message}`)}function cse(t){let e=e1(t,"manifest.member");if(!e.ok)throw new Error(`Invalid manifest.member: ${e.error.message}`)}function use(t){let e=Zh(t,"manifest.manager");if(!e.ok)throw new Error(`Invalid manifest.manager: ${e.error.message}`)}function dse(t){let e=SA(t,"manifest.skill");if(bA(e,["contentHash","files","name"],"manifest.skill"),Qf(e.name,"manifest.skill.name"),Qf(e.contentHash,"manifest.skill.contentHash"),e.files!==void 0){if(!Array.isArray(e.files))throw new Error("manifest.skill.files must be an array");for(let[r,n]of e.files.entries()){let i=SA(n,`manifest.skill.files[${r}]`);bA(i,["path","text"],`manifest.skill.files[${r}]`),Qf(i.path,`manifest.skill.files[${r}].path`),v5(i.text,`manifest.skill.files[${r}].text`)}}}function lse(t,e){if(t==="team"||t==="member"||t==="manager"||t==="skill")return t;throw new Error(`${e} must be team, member, manager, or skill`)}function SA(t,e){if(typeof t!="object"||t===null||Array.isArray(t))throw new Error(`${e} must be an object`);return t}function bA(t,e,r){let n=e.filter(o=>o!=="integrity"&&o!=="team"&&o!=="member"&&o!=="manager"&&o!=="skill"&&o!=="files"&&!(o in t));if(n.length>0)throw new Error(`${r} is missing required keys: ${n.join(", ")}`);let i=Object.keys(t).filter(o=>!e.includes(o));if(i.length>0)throw new Error(`${r} has unsupported keys: ${i.join(", ")}`)}function v5(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);return t}function Qf(t,e){let r=v5(t,e);if(r.trim().length===0)throw new Error(`${e} must be non-empty`);return r}function wA(t,e){if(t===null||typeof t=="string"||typeof t=="boolean")return t;if(typeof t=="number"){if(!Number.isFinite(t))throw new Error(`${e} must be a finite number`);return t}if(Array.isArray(t))return t.map((r,n)=>{if(r===void 0)throw new Error(`${e}[${n}] must not be undefined`);return wA(r,`${e}[${n}]`)});if(typeof t=="object"&&t!==null){let r=t,n={};for(let i of Object.keys(r).sort()){let o=r[i];o!==void 0&&(n[i]=wA(o,`${e}.${i}`))}return n}throw new Error(`${e} must be JSON-serializable`)}function fse(t){return JSON.parse(JSON.stringify(t))}function wt(t,e,r){return r===void 0?{code:t,message:e}:{code:t,message:e,details:r}}function Bg(t){let e=new Error(t.message);return e.name=`ExecuteOrchestrationError:${t.code}`,t.details!==void 0&&(e.details=t.details),e}function Jd(t){if(t.ok)return t.value;throw Bg(t.error)}function kA(t){let e=C5(t,"Team planning final response must be a JSON ExecutionPlan object");return e.ok?AA(e.value,"execution"):e}function S5(t){let e=C5(t,"Goal evaluator final response must be a JSON object");if(!e.ok)return e;let r=e.value;if(r.type==="pass"){if(typeof r.summary!="string"||r.summary.trim()==="")return oe(wt("goal_evaluation_invalid","pass evaluation must include a non-empty summary"));let n=EA(r.evidence,"evidence");return n.ok?S({type:"pass",summary:r.summary,evidence:n.value}):n}if(r.type==="fail"){if(typeof r.reason!="string"||r.reason.trim()==="")return oe(wt("goal_evaluation_invalid","fail evaluation must include a non-empty reason"));if(typeof r.feedback!="string"||r.feedback.trim()==="")return oe(wt("goal_evaluation_invalid","fail evaluation must include non-empty feedback"));if(r.nextGoal!==void 0&&typeof r.nextGoal!="string")return oe(wt("goal_evaluation_invalid","fail evaluation nextGoal must be a string when present"));let n=EA(r.evidence,"evidence");return n.ok?S({type:"fail",reason:r.reason,feedback:r.feedback,nextGoal:typeof r.nextGoal=="string"&&r.nextGoal.trim()!==""?r.nextGoal:void 0,evidence:n.value}):n}return oe(wt("goal_evaluation_invalid","Goal evaluator response type must be pass or fail"))}function RA(t,e,r,n){if(e==="assignee")return{id:r,executorId:t.assignee.executorId,goal:t.assignee.goal,requires:n};let i=t.evaluator;if(!i)throw new Error(`Goal ${t.id} does not define an evaluator`);return{id:r,executorId:i.executorId,goal:i.prompt,requires:n}}function b5(t,e){let[,...r]=t.items;if(e)return{...t,items:[e,...r]};if(r.length!==0)return{...t,items:r}}function AA(t,e){return Dg(t)?t.kind==="queue"?pse(t,e):t.kind==="goal"?w5(t,e):t.kind==="continuation"?mse(t,e):oe(wt("execution_plan_invalid",`${e}.kind must be queue, goal, or continuation`)):oe(wt("execution_plan_invalid",`${e} must be an object`))}function pse(t,e){let r=E5(t.id,`${e}.id`);if(!r.ok)return r;if(!Array.isArray(t.items))return oe(wt("execution_plan_invalid",`${e}.items must be an array`));let n=[];for(let[i,o]of t.items.entries()){let s=AA(o,`${e}.items[${i}]`);if(!s.ok)return s;n.push(s.value)}return S({kind:"queue",id:r.value,items:n})}function w5(t,e){return t.stage==="needs_evaluation"?I5(t,e):t.stage==="needs_execution"?hse(t,e):oe(wt("execution_plan_invalid",`${e}.stage must be needs_evaluation or needs_execution`))}function mse(t,e){let r=CA(t.id,`${e}.id`);if(!r.ok)return r;let n=k5(t.teamScopeId,`${e}.teamScopeId`);if(!n.ok)return n;let i=AA(t.execution,`${e}.execution`);if(!i.ok)return i;let o=t.continuation===void 0?S(void 0):Dg(t.continuation)?w5(t.continuation,`${e}.continuation`):oe(wt("execution_plan_invalid",`${e}.continuation must be an object`));return o.ok?S({kind:"continuation",id:r.value,teamScopeId:n.value,execution:i.value,continuation:o.value}):o}function I5(t,e){let r=CA(t.id,`${e}.id`);if(!r.ok)return r;let n=x5(t.assignee,`${e}.assignee`,"goal");if(!n.ok)return n;let i=t.evaluator===void 0||t.evaluator===null?S(void 0):x5(t.evaluator,`${e}.evaluator`,"prompt");if(!i.ok)return i;let o=N4(t.remainingAttempts,`${e}.remainingAttempts`);if(!o.ok)return oe(wt("execution_plan_invalid",o.error.message));let s=yse(t.requires,`${e}.requires`);return s.ok?S({kind:"goal",stage:"needs_evaluation",id:r.value,assignee:{executorId:n.value.executorId,goal:n.value.text},evaluator:i.value?{executorId:i.value.executorId,prompt:i.value.text}:void 0,remainingAttempts:o.value,requires:s.value}):s}function hse(t,e){let r=I5({...t,stage:"needs_evaluation"},e);if(!r.ok)return r;let n=CA(t.evaluationPathId,`${e}.evaluationPathId`);if(!n.ok)return n;let i=gse(t.evaluation,`${e}.evaluation`);if(!i.ok)return i;if(!Array.isArray(t.requires))return oe(wt("execution_plan_invalid",`${e}.requires must be an array for needs_execution`));let o=R5(t.requires,`${e}.requires`);return o.ok?o.value.length!==1||o.value[0]!==n.value?oe(wt("execution_plan_invalid",`${e}.requires must contain only ${e}.evaluationPathId`)):S({...r.value,stage:"needs_execution",evaluationPathId:n.value,evaluation:i.value,requires:o.value}):o}function x5(t,e,r){if(!Dg(t))return oe(wt("execution_plan_invalid",`${e} must be an object`));let n=k5(t.executorId,`${e}.executorId`);if(!n.ok)return n;let i=E5(t[r],`${e}.${r}`);return i.ok?S({executorId:n.value,text:i.value}):i}function gse(t,e){if(!Dg(t))return oe(wt("execution_plan_invalid",`${e} must be an object`));if(t.type!=="fail")return oe(wt("execution_plan_invalid",`${e}.type must be fail`));if(typeof t.reason!="string"||t.reason.trim()==="")return oe(wt("execution_plan_invalid",`${e}.reason must be a non-empty string`));if(typeof t.feedback!="string"||t.feedback.trim()==="")return oe(wt("execution_plan_invalid",`${e}.feedback must be a non-empty string`));if(t.nextGoal!==void 0&&typeof t.nextGoal!="string")return oe(wt("execution_plan_invalid",`${e}.nextGoal must be a string when present`));let r=EA(t.evidence,`${e}.evidence`);return r.ok?S({type:"fail",reason:t.reason,feedback:t.feedback,nextGoal:typeof t.nextGoal=="string"&&t.nextGoal.trim()!==""?t.nextGoal:void 0,evidence:r.value}):r}function E5(t,e){return typeof t!="string"||t.trim()===""?oe(wt("execution_plan_invalid",`${e} must be a non-empty string`)):S(t)}function CA(t,e){let r=Ie(t,e);return r.ok?S(r.value):oe(wt("execution_plan_invalid",r.error.message))}function k5(t,e){let r=Ie(t,e);return r.ok?S(r.value):oe(wt("execution_plan_invalid",r.error.message))}function yse(t,e){return t==="PrevMove"?S("PrevMove"):R5(t,e)}function R5(t,e){let r=A5(t,e,"execution_plan_invalid");if(!r.ok)return r;let n=[];for(let[i,o]of r.value.entries()){let s=Ie(o,`${e}[${i}]`);if(!s.ok)return oe(wt("execution_plan_invalid",s.error.message));n.push(s.value)}return S(n)}function EA(t,e){return t===void 0?S(void 0):A5(t,e,"goal_evaluation_invalid")}function A5(t,e,r){return Array.isArray(t)?t.every(n=>typeof n=="string")?S([...t]):oe(wt(r,`${e} must be an array of strings`)):oe(wt(r,`${e} must be an array of strings`))}function C5(t,e){try{let r=JSON.parse(t);return Dg(r)?S(r):oe(wt("execution_plan_invalid",e))}catch(r){return oe(wt("execution_plan_invalid",e,{cause:r instanceof Error?r.message:String(r)}))}}function Dg(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function PA(t){let{line:e,lineNode:r}=t;if(!r)return oe(wt("invalid_start_state",`No execute-ready MOVE found for Team route ${e.id}`));if(e.status==="failed"||e.status==="complete"||e.status==="abandoned")return oe(wt("invalid_start_state",`Cannot start Execute from ${e.id} because the route is ${e.status}`));if(new Set(t.board.edges.filter(a=>a.type==="move").map(a=>a.fromNodeId)).has(r.id))return oe(wt("invalid_start_state",`Cannot start Execute from ${P5(r,t.formatMovePosition)} because Arrived or Accident already exists`));if(t.existingRuns.find(a=>a.sourceNodeId===r.id&&(a.status==="running"||a.status==="paused")))return oe(wt("active_execute_exists",`A Execute is already active for ${P5(r,t.formatMovePosition)}`));let o=Da(r.ordinal+1,"targetMoveOrdinal");if(!o.ok)return oe(wt("invalid_start_state",o.error.message));let s=vse(t.selectedDestinationIds,t.activeDestinations);return s.ok?S({lineNode:r,selectedDestinationIds:s.value,targetMoveOrdinal:o.value}):s}function _5(t){return t?S(t):oe(wt("terminal_output_missing","ExecutionPlan completed without a terminal output"))}function vse(t,e){let r=xse(e);return t&&t.length>0?t.length!==1?oe(wt("invalid_start_state","Execute must select exactly one Destination")):r&&t[0]===r.id?S([...t]):oe(wt("invalid_start_state","Execute must select the next Destination in the queue")):S(r?[r.id]:[])}function xse(t){return[...t].sort(Sse)[0]}function Sse(t,e){return(e.priority??0)-(t.priority??0)}function P5(t,e){return e?e(t):`${t.teamName??"Team"} MOVE ${t.ordinal}`}import{execFile as Ise,spawn as Ese}from"node:child_process";import{accessSync as kse,constants as Rse,existsSync as Ng,readdirSync as Ase,statSync as Cse}from"node:fs";import{delimiter as D5,isAbsolute as vb,join as Hs}from"node:path";import{promisify as Pse}from"node:util";function yb(t,e,r,n=process.platform){return n!=="win32"||!/\.(?:cmd|bat)$/iu.test(t)?{command:t,args:e}:{command:r.ComSpec??r.COMSPEC??"cmd.exe",args:["/d","/s","/v:off","/c",bse(t,e)],windowsVerbatimArguments:!0}}function bse(t,e){return`"${[t,...e].map(wse).join(" ")}"`}function wse(t){if(/[%"\u0000-\u001f\u007f]/u.test(t))throw new Error("Windows command-shim paths and arguments cannot contain percent, quote, or control characters.");return`"${t}"`}var dn="0.2.0-next.4",hu="local-bridge-v1";var Sb=Pse(Ise),Mg=3500;async function gu(t={}){let e=t.env??Rr(),r=t.platform??process.platform,n=await _se({env:e,platform:r,customBinaryPath:t.customBinaryPath}),i=[];for(let c of n){let u=await Tse(c,e,r,t.timeoutMs);if(i.push(u),c.rejectWhitespace&&u.error?.includes("HUNSU_CODEX_APP_SERVER_COMMAND"))return{installed:!1,source:u.source,appServerAvailable:!1,discovery:i,error:u.error};if(u.usable&&u.path)return{installed:!0,binaryPath:u.path,source:u.source,version:u.version,appServerAvailable:!0,discovery:i}}let o=i.find(c=>c.path&&c.versionOk===!0&&c.appServerOk===!1);if(o?.path)return{installed:!0,binaryPath:o.path,source:o.source,version:o.version,appServerAvailable:!1,discovery:i,error:o.error??"Codex was found, but Codex app-server is not available."};let s=i.find(c=>c.source==="windows_apps_alias"||c.path&&DA(c.path,r));if(s)return{installed:!1,binaryPath:s.path,source:"windows_apps_alias",appServerAvailable:!1,discovery:i,aliasDetected:!0,error:s.error??"Codex resolved to a WindowsApps execution alias. Select the real Codex binary path in Hunsu Bridge."};let a=i.find(c=>c.path)??i[0];return{installed:!1,binaryPath:a?.path,source:a?.source??"unknown",appServerAvailable:!1,discovery:i,error:a?.error??"Codex CLI was not found by Hunsu Bridge."}}async function bb(t){try{let e=t.env??Rr(),r=t.platform??process.platform,n=M5(t.binaryPath,["--version"],e,r),{stdout:i,stderr:o}=await Sb(n.command,n.args,{env:L5(e,r),timeout:t.timeoutMs??Mg,windowsHide:!0,windowsVerbatimArguments:n.windowsVerbatimArguments,maxBuffer:64*1024});return`${i}
|
|
204
|
+
`,"utf8")}function vA(t){return pb(t,".hunsu","action-runs")}function f5(t,e){return pb(vA(t),`${xA(e)}.json`)}function Yoe(t,e){return t?`/api/roadmaps/${encodeURIComponent(t)}/action-runs/${encodeURIComponent(e)}/proxy`:`/api/action-runs/${encodeURIComponent(e)}/proxy`}function Qoe(t,e,r){return xA(`${t}-${e.moveId??e.commit.slice(0,12)}-${r.replace(/[^0-9A-Za-z]/g,"").slice(0,14)}`)}function xA(t){return t.toLowerCase().replace(/[^a-z0-9_.-]+/g,"-").replace(/^-+|-+$/g,"")||"action-run"}function p5(t){return t.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,63)||"hunsu-action"}function m5(t,e){return t.replace(/\{([a-zA-Z][a-zA-Z0-9]*)\}/g,(r,n)=>e[n]??"")}function Zoe(t){return Hoe("sha256").update(t).digest("hex").slice(0,12)}function ese(t){let e=t.split(/\r?\n/).find(Boolean)??t,r=e.match(/(?:0\.0\.0\.0|127\.0\.0\.1|localhost|\[::\]|::):(\d+)$/);return r?`http://127.0.0.1:${r[1]}`:/^https?:\/\//.test(e)?e:`http://${e}`}function h5(t,e,r){let n=Uoe(t,e,{cwd:r.cwd,env:{...tse(r.processEnv),...r.env},encoding:"utf8",maxBuffer:16777216});return{status:n.status??1,stdout:n.stdout,stderr:n.stderr}}function tse(t){if(t===void 0)return;let e={};for(let[r,n]of Object.entries(t))n!==void 0&&(e[r]=n);return e}function hb(t){return t.map(mA).sort((e,r)=>e.displayOrder-r.displayOrder||String(e.id).localeCompare(String(r.id)))}function mA(t){return{...t,env:t.env?Object.fromEntries(Object.entries(t.env).map(([e,r])=>[e,{...r}])):void 0,runner:{...t.runner},aliases:t.aliases?Object.fromEntries(Object.entries(t.aliases).map(([e,r])=>[e,{...r}])):void 0,evidence:t.evidence?{...t.evidence,paths:t.evidence.paths?.slice()}:void 0}}import{createHash as rse}from"node:crypto";var nse="hunsu.hub-package-manifest.v1",g5="hunsu-json-c14n-v1+sha256:";function ise(t){IA(t);let{integrity:e,...r}=t;return JSON.stringify(wA(r,"manifest"))}function ose(t){let e=ise(t);return`${g5}${rse("sha256").update(e,"utf8").digest("hex")}`}async function Tg(t,e){if(!t.integrity.startsWith(g5))throw new Error(`Unsupported Hub package integrity prefix: ${t.integrity}`);let r=e.origins.find(a=>a.name===t.origin);if(!r)throw new Error(`Unknown Origin: ${t.origin}`);if(r.transport!=="http")throw new Error(`Origin ${r.name} uses unsupported transport ${r.transport}`);let i=await(e.fetch??fetch)(sse(r.url,t.kind,t.key,t.version));if(!i.ok)throw i.status===404?new Error(`Missing Hub package manifest: ${t.origin}/${t.kind}/${t.key}@${t.version}`):new Error(`Origin ${r.name} returned ${i.status} for ${t.kind}/${t.key}@${t.version}`);let o=await i.json();if(IA(o),o.kind!==t.kind||o.key!==t.key||o.version!==t.version)throw new Error(`Hub package manifest from ${r.name} does not match requested ${t.kind}/${t.key}@${t.version}`);let s=ose(o);if(s!==t.integrity)throw new Error(`Hub package integrity mismatch for ${t.origin}/${t.kind}/${t.key}@${t.version}: expected ${t.integrity}, got ${s}`);return{lock:{...t},manifest:o,integrity:s,origin:{...r}}}function sse(t,e,r,n){let i=new URL(t),o=`/v1/packages/${e}/${encodeURIComponent(r)}/versions/${encodeURIComponent(n)}`;return new URL(o,i).toString()}function y5(t){if(IA(t),t.kind!=="team")throw new Error(`Hub package ${t.kind}/${t.key}@${t.version} is not a team package`);return fse(t.team)}function IA(t){let e=SA(t,"manifest");if(e.schema!==nse)throw new Error(`Unsupported Hub package manifest schema: ${String(e.schema)}`);bA(e,["integrity","key","kind","team","member","manager","schema","skill","version"],"manifest");let r=lse(e.kind,"manifest.kind");switch(Qf(e.key,"manifest.key"),Qf(e.version,"manifest.version"),e.integrity!==void 0&&Qf(e.integrity,"manifest.integrity"),r){case"team":if(ase(e.team),e.member!==void 0||e.manager!==void 0||e.skill!==void 0)throw new Error("Team package manifest must not include member, manager, or skill payloads");return;case"member":if(cse(e.member),e.team!==void 0||e.manager!==void 0||e.skill!==void 0)throw new Error("Member package manifest must not include team, manager, or skill payloads");return;case"manager":if(use(e.manager),e.team!==void 0||e.member!==void 0||e.skill!==void 0)throw new Error("Manager package manifest must not include team, member, or skill payloads");return;case"skill":if(dse(e.skill),e.team!==void 0||e.member!==void 0||e.manager!==void 0)throw new Error("Skill package manifest must not include team, member, or manager payloads");return}}function ase(t){let e=qd(t,"manifest.team");if(!e.ok)throw new Error(`Invalid manifest.team: ${e.error.message}`)}function cse(t){let e=e1(t,"manifest.member");if(!e.ok)throw new Error(`Invalid manifest.member: ${e.error.message}`)}function use(t){let e=Zh(t,"manifest.manager");if(!e.ok)throw new Error(`Invalid manifest.manager: ${e.error.message}`)}function dse(t){let e=SA(t,"manifest.skill");if(bA(e,["contentHash","files","name"],"manifest.skill"),Qf(e.name,"manifest.skill.name"),Qf(e.contentHash,"manifest.skill.contentHash"),e.files!==void 0){if(!Array.isArray(e.files))throw new Error("manifest.skill.files must be an array");for(let[r,n]of e.files.entries()){let i=SA(n,`manifest.skill.files[${r}]`);bA(i,["path","text"],`manifest.skill.files[${r}]`),Qf(i.path,`manifest.skill.files[${r}].path`),v5(i.text,`manifest.skill.files[${r}].text`)}}}function lse(t,e){if(t==="team"||t==="member"||t==="manager"||t==="skill")return t;throw new Error(`${e} must be team, member, manager, or skill`)}function SA(t,e){if(typeof t!="object"||t===null||Array.isArray(t))throw new Error(`${e} must be an object`);return t}function bA(t,e,r){let n=e.filter(o=>o!=="integrity"&&o!=="team"&&o!=="member"&&o!=="manager"&&o!=="skill"&&o!=="files"&&!(o in t));if(n.length>0)throw new Error(`${r} is missing required keys: ${n.join(", ")}`);let i=Object.keys(t).filter(o=>!e.includes(o));if(i.length>0)throw new Error(`${r} has unsupported keys: ${i.join(", ")}`)}function v5(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);return t}function Qf(t,e){let r=v5(t,e);if(r.trim().length===0)throw new Error(`${e} must be non-empty`);return r}function wA(t,e){if(t===null||typeof t=="string"||typeof t=="boolean")return t;if(typeof t=="number"){if(!Number.isFinite(t))throw new Error(`${e} must be a finite number`);return t}if(Array.isArray(t))return t.map((r,n)=>{if(r===void 0)throw new Error(`${e}[${n}] must not be undefined`);return wA(r,`${e}[${n}]`)});if(typeof t=="object"&&t!==null){let r=t,n={};for(let i of Object.keys(r).sort()){let o=r[i];o!==void 0&&(n[i]=wA(o,`${e}.${i}`))}return n}throw new Error(`${e} must be JSON-serializable`)}function fse(t){return JSON.parse(JSON.stringify(t))}function wt(t,e,r){return r===void 0?{code:t,message:e}:{code:t,message:e,details:r}}function Bg(t){let e=new Error(t.message);return e.name=`ExecuteOrchestrationError:${t.code}`,t.details!==void 0&&(e.details=t.details),e}function Jd(t){if(t.ok)return t.value;throw Bg(t.error)}function kA(t){let e=C5(t,"Team planning final response must be a JSON ExecutionPlan object");return e.ok?AA(e.value,"execution"):e}function S5(t){let e=C5(t,"Goal evaluator final response must be a JSON object");if(!e.ok)return e;let r=e.value;if(r.type==="pass"){if(typeof r.summary!="string"||r.summary.trim()==="")return oe(wt("goal_evaluation_invalid","pass evaluation must include a non-empty summary"));let n=EA(r.evidence,"evidence");return n.ok?S({type:"pass",summary:r.summary,evidence:n.value}):n}if(r.type==="fail"){if(typeof r.reason!="string"||r.reason.trim()==="")return oe(wt("goal_evaluation_invalid","fail evaluation must include a non-empty reason"));if(typeof r.feedback!="string"||r.feedback.trim()==="")return oe(wt("goal_evaluation_invalid","fail evaluation must include non-empty feedback"));if(r.nextGoal!==void 0&&typeof r.nextGoal!="string")return oe(wt("goal_evaluation_invalid","fail evaluation nextGoal must be a string when present"));let n=EA(r.evidence,"evidence");return n.ok?S({type:"fail",reason:r.reason,feedback:r.feedback,nextGoal:typeof r.nextGoal=="string"&&r.nextGoal.trim()!==""?r.nextGoal:void 0,evidence:n.value}):n}return oe(wt("goal_evaluation_invalid","Goal evaluator response type must be pass or fail"))}function RA(t,e,r,n){if(e==="assignee")return{id:r,executorId:t.assignee.executorId,goal:t.assignee.goal,requires:n};let i=t.evaluator;if(!i)throw new Error(`Goal ${t.id} does not define an evaluator`);return{id:r,executorId:i.executorId,goal:i.prompt,requires:n}}function b5(t,e){let[,...r]=t.items;if(e)return{...t,items:[e,...r]};if(r.length!==0)return{...t,items:r}}function AA(t,e){return Dg(t)?t.kind==="queue"?pse(t,e):t.kind==="goal"?w5(t,e):t.kind==="continuation"?mse(t,e):oe(wt("execution_plan_invalid",`${e}.kind must be queue, goal, or continuation`)):oe(wt("execution_plan_invalid",`${e} must be an object`))}function pse(t,e){let r=E5(t.id,`${e}.id`);if(!r.ok)return r;if(!Array.isArray(t.items))return oe(wt("execution_plan_invalid",`${e}.items must be an array`));let n=[];for(let[i,o]of t.items.entries()){let s=AA(o,`${e}.items[${i}]`);if(!s.ok)return s;n.push(s.value)}return S({kind:"queue",id:r.value,items:n})}function w5(t,e){return t.stage==="needs_evaluation"?I5(t,e):t.stage==="needs_execution"?hse(t,e):oe(wt("execution_plan_invalid",`${e}.stage must be needs_evaluation or needs_execution`))}function mse(t,e){let r=CA(t.id,`${e}.id`);if(!r.ok)return r;let n=k5(t.teamScopeId,`${e}.teamScopeId`);if(!n.ok)return n;let i=AA(t.execution,`${e}.execution`);if(!i.ok)return i;let o=t.continuation===void 0?S(void 0):Dg(t.continuation)?w5(t.continuation,`${e}.continuation`):oe(wt("execution_plan_invalid",`${e}.continuation must be an object`));return o.ok?S({kind:"continuation",id:r.value,teamScopeId:n.value,execution:i.value,continuation:o.value}):o}function I5(t,e){let r=CA(t.id,`${e}.id`);if(!r.ok)return r;let n=x5(t.assignee,`${e}.assignee`,"goal");if(!n.ok)return n;let i=t.evaluator===void 0||t.evaluator===null?S(void 0):x5(t.evaluator,`${e}.evaluator`,"prompt");if(!i.ok)return i;let o=N3(t.remainingAttempts,`${e}.remainingAttempts`);if(!o.ok)return oe(wt("execution_plan_invalid",o.error.message));let s=yse(t.requires,`${e}.requires`);return s.ok?S({kind:"goal",stage:"needs_evaluation",id:r.value,assignee:{executorId:n.value.executorId,goal:n.value.text},evaluator:i.value?{executorId:i.value.executorId,prompt:i.value.text}:void 0,remainingAttempts:o.value,requires:s.value}):s}function hse(t,e){let r=I5({...t,stage:"needs_evaluation"},e);if(!r.ok)return r;let n=CA(t.evaluationPathId,`${e}.evaluationPathId`);if(!n.ok)return n;let i=gse(t.evaluation,`${e}.evaluation`);if(!i.ok)return i;if(!Array.isArray(t.requires))return oe(wt("execution_plan_invalid",`${e}.requires must be an array for needs_execution`));let o=R5(t.requires,`${e}.requires`);return o.ok?o.value.length!==1||o.value[0]!==n.value?oe(wt("execution_plan_invalid",`${e}.requires must contain only ${e}.evaluationPathId`)):S({...r.value,stage:"needs_execution",evaluationPathId:n.value,evaluation:i.value,requires:o.value}):o}function x5(t,e,r){if(!Dg(t))return oe(wt("execution_plan_invalid",`${e} must be an object`));let n=k5(t.executorId,`${e}.executorId`);if(!n.ok)return n;let i=E5(t[r],`${e}.${r}`);return i.ok?S({executorId:n.value,text:i.value}):i}function gse(t,e){if(!Dg(t))return oe(wt("execution_plan_invalid",`${e} must be an object`));if(t.type!=="fail")return oe(wt("execution_plan_invalid",`${e}.type must be fail`));if(typeof t.reason!="string"||t.reason.trim()==="")return oe(wt("execution_plan_invalid",`${e}.reason must be a non-empty string`));if(typeof t.feedback!="string"||t.feedback.trim()==="")return oe(wt("execution_plan_invalid",`${e}.feedback must be a non-empty string`));if(t.nextGoal!==void 0&&typeof t.nextGoal!="string")return oe(wt("execution_plan_invalid",`${e}.nextGoal must be a string when present`));let r=EA(t.evidence,`${e}.evidence`);return r.ok?S({type:"fail",reason:t.reason,feedback:t.feedback,nextGoal:typeof t.nextGoal=="string"&&t.nextGoal.trim()!==""?t.nextGoal:void 0,evidence:r.value}):r}function E5(t,e){return typeof t!="string"||t.trim()===""?oe(wt("execution_plan_invalid",`${e} must be a non-empty string`)):S(t)}function CA(t,e){let r=Ie(t,e);return r.ok?S(r.value):oe(wt("execution_plan_invalid",r.error.message))}function k5(t,e){let r=Ie(t,e);return r.ok?S(r.value):oe(wt("execution_plan_invalid",r.error.message))}function yse(t,e){return t==="PrevMove"?S("PrevMove"):R5(t,e)}function R5(t,e){let r=A5(t,e,"execution_plan_invalid");if(!r.ok)return r;let n=[];for(let[i,o]of r.value.entries()){let s=Ie(o,`${e}[${i}]`);if(!s.ok)return oe(wt("execution_plan_invalid",s.error.message));n.push(s.value)}return S(n)}function EA(t,e){return t===void 0?S(void 0):A5(t,e,"goal_evaluation_invalid")}function A5(t,e,r){return Array.isArray(t)?t.every(n=>typeof n=="string")?S([...t]):oe(wt(r,`${e} must be an array of strings`)):oe(wt(r,`${e} must be an array of strings`))}function C5(t,e){try{let r=JSON.parse(t);return Dg(r)?S(r):oe(wt("execution_plan_invalid",e))}catch(r){return oe(wt("execution_plan_invalid",e,{cause:r instanceof Error?r.message:String(r)}))}}function Dg(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function PA(t){let{line:e,lineNode:r}=t;if(!r)return oe(wt("invalid_start_state",`No execute-ready MOVE found for Team route ${e.id}`));if(e.status==="failed"||e.status==="complete"||e.status==="abandoned")return oe(wt("invalid_start_state",`Cannot start Execute from ${e.id} because the route is ${e.status}`));if(new Set(t.board.edges.filter(a=>a.type==="move").map(a=>a.fromNodeId)).has(r.id))return oe(wt("invalid_start_state",`Cannot start Execute from ${P5(r,t.formatMovePosition)} because Arrived or Accident already exists`));if(t.existingRuns.find(a=>a.sourceNodeId===r.id&&(a.status==="running"||a.status==="paused")))return oe(wt("active_execute_exists",`A Execute is already active for ${P5(r,t.formatMovePosition)}`));let o=Da(r.ordinal+1,"targetMoveOrdinal");if(!o.ok)return oe(wt("invalid_start_state",o.error.message));let s=vse(t.selectedDestinationIds,t.activeDestinations);return s.ok?S({lineNode:r,selectedDestinationIds:s.value,targetMoveOrdinal:o.value}):s}function _5(t){return t?S(t):oe(wt("terminal_output_missing","ExecutionPlan completed without a terminal output"))}function vse(t,e){let r=xse(e);return t&&t.length>0?t.length!==1?oe(wt("invalid_start_state","Execute must select exactly one Destination")):r&&t[0]===r.id?S([...t]):oe(wt("invalid_start_state","Execute must select the next Destination in the queue")):S(r?[r.id]:[])}function xse(t){return[...t].sort(Sse)[0]}function Sse(t,e){return(e.priority??0)-(t.priority??0)}function P5(t,e){return e?e(t):`${t.teamName??"Team"} MOVE ${t.ordinal}`}import{execFile as Ise,spawn as Ese}from"node:child_process";import{accessSync as kse,constants as Rse,existsSync as Ng,readdirSync as Ase,statSync as Cse}from"node:fs";import{delimiter as D5,isAbsolute as vb,join as Hs}from"node:path";import{promisify as Pse}from"node:util";function yb(t,e,r,n=process.platform){return n!=="win32"||!/\.(?:cmd|bat)$/iu.test(t)?{command:t,args:e}:{command:r.ComSpec??r.COMSPEC??"cmd.exe",args:["/d","/s","/v:off","/c",bse(t,e)],windowsVerbatimArguments:!0}}function bse(t,e){return`"${[t,...e].map(wse).join(" ")}"`}function wse(t){if(/[%"\u0000-\u001f\u007f]/u.test(t))throw new Error("Windows command-shim paths and arguments cannot contain percent, quote, or control characters.");return`"${t}"`}var dn="0.2.0-next.6",hu="local-bridge-v1";var Sb=Pse(Ise),Mg=3500;async function gu(t={}){let e=t.env??Rr(),r=t.platform??process.platform,n=await _se({env:e,platform:r,customBinaryPath:t.customBinaryPath}),i=[];for(let c of n){let u=await Tse(c,e,r,t.timeoutMs);if(i.push(u),c.rejectWhitespace&&u.error?.includes("HUNSU_CODEX_APP_SERVER_COMMAND"))return{installed:!1,source:u.source,appServerAvailable:!1,discovery:i,error:u.error};if(u.usable&&u.path)return{installed:!0,binaryPath:u.path,source:u.source,version:u.version,appServerAvailable:!0,discovery:i}}let o=i.find(c=>c.path&&c.versionOk===!0&&c.appServerOk===!1);if(o?.path)return{installed:!0,binaryPath:o.path,source:o.source,version:o.version,appServerAvailable:!1,discovery:i,error:o.error??"Codex was found, but Codex app-server is not available."};let s=i.find(c=>c.source==="windows_apps_alias"||c.path&&DA(c.path,r));if(s)return{installed:!1,binaryPath:s.path,source:"windows_apps_alias",appServerAvailable:!1,discovery:i,aliasDetected:!0,error:s.error??"Codex resolved to a WindowsApps execution alias. Select the real Codex binary path in Hunsu Bridge."};let a=i.find(c=>c.path)??i[0];return{installed:!1,binaryPath:a?.path,source:a?.source??"unknown",appServerAvailable:!1,discovery:i,error:a?.error??"Codex CLI was not found by Hunsu Bridge."}}async function bb(t){try{let e=t.env??Rr(),r=t.platform??process.platform,n=M5(t.binaryPath,["--version"],e,r),{stdout:i,stderr:o}=await Sb(n.command,n.args,{env:L5(e,r),timeout:t.timeoutMs??Mg,windowsHide:!0,windowsVerbatimArguments:n.windowsVerbatimArguments,maxBuffer:64*1024});return`${i}
|
|
205
205
|
${o}`.trim().split(/\r?\n/).map(a=>a.trim()).find(Boolean)}catch{return}}async function N5(t){let e=t.env??Rr(),r=t.command?{ok:!0,value:{command:t.command,args:t.args??["app-server","--stdio"]}}:_A({env:e,cliBinaryPath:t.binaryPath});if(!r.ok)return{available:!1,error:r.error};let n=new Og(r.value.command,t.timeoutMs??Mg,{env:e,platform:t.platform,args:r.value.args});try{let i=await n.initialize();return{available:!0,initialized:Xr(i)}}catch(i){return{available:!1,error:Xd(i)}}finally{n.close()}}function _A(t){let e=t.env.HUNSU_CODEX_APP_SERVER_COMMAND?.trim();if(e&&/\s/.test(e))return{ok:!1,error:"HUNSU_CODEX_APP_SERVER_COMMAND must be a binary path or command name without arguments. Put arguments in HUNSU_CODEX_APP_SERVER_ARGS."};let r=zh(t.env);if(!r.ok)return{ok:!1,error:r.error.message};let n=t.cliBinaryPath?.trim();return{ok:!0,value:{command:r.value.command==="codex"&&n?n:r.value.command,args:r.value.args}}}function TA(t,e){if(e!=="win32")return[];let r=Zf(t,"LOCALAPPDATA","LocalAppData","localappdata"),n=Zf(t,"APPDATA","AppData","appdata");return Ib([r?Hs(r,"OpenAI","Codex","bin"):void 0,n?Hs(n,"npm"):void 0,r?Hs(r,"Programs","OpenAI Codex"):void 0])}function BA(t,e){return e!=="win32"?t.PATH??"":[t.PATH,t.Path,t.path,t.HUNSU_WINDOWS_USER_PATH,t.HUNSU_WINDOWS_MACHINE_PATH].filter(r=>typeof r=="string"&&r.trim().length>0).join(";")}async function _se(t){let{env:e,platform:r}=t,n=[],i=t.customBinaryPath?.trim();i&&n.push({candidate:i,source:"custom"});let o=e.HUNSU_CODEX_BINARY_PATH?.trim();o&&n.push({candidate:o,source:e.HUNSU_CODEX_BINARY_PATH_SOURCE==="user_config"?"custom":"env"});let s=e.HUNSU_CODEX_APP_SERVER_COMMAND?.trim();if(s&&n.push({candidate:s,source:"env",rejectWhitespace:!0}),n.push(...xb("codex",e,r,wb(e,r)).map(a=>({candidate:a,source:"process_path"}))),r==="win32"){n.push(...xb("codex",e,r,await T5("user",e,r)).map(c=>({candidate:c,source:"registry_user_path"}))),n.push(...xb("codex",e,r,await T5("machine",e,r)).map(c=>({candidate:c,source:"registry_machine_path"}))),n.push(...(await Ose(e)).map(c=>({candidate:c,source:"where"}))),n.push(...(await Mse(e)).map(c=>({candidate:c,source:"powershell_get_command"}))),n.push(...Nse(e,r).map(c=>({candidate:c,source:"known_install_dir"})));let a=Hse(e,r);a&&n.push({candidate:a,source:"windows_apps_alias"})}return $se(n)}async function Tse(t,e,r,n){let i=Bse(t.candidate,t.source,e,r,{rejectWhitespace:t.rejectWhitespace});if(i.kind!=="binary")return{source:i.source==="unknown"?t.source:i.source,path:i.kind==="missing"?i.binaryPath:void 0,usable:!1,error:i.error};let o=DA(i.binaryPath,r)?"windows_apps_alias":i.source;if(o==="windows_apps_alias")return{source:o,path:i.binaryPath,usable:!1,versionOk:!1,appServerOk:!1,error:"Codex resolved to a WindowsApps execution alias. Select the real Codex binary path in Hunsu Bridge."};let s=await bb({binaryPath:i.binaryPath,timeoutMs:n,env:e,platform:r});if(!s)return{source:o,path:i.binaryPath,usable:!1,versionOk:!1,appServerOk:!1,error:"Codex candidate did not return a CLI version."};let a=await N5({binaryPath:i.binaryPath,timeoutMs:n,env:e,platform:r});return a.available?{source:o,path:i.binaryPath,usable:!0,versionOk:!0,appServerOk:!0,version:s}:{source:o,path:i.binaryPath,usable:!1,versionOk:!0,appServerOk:!1,version:s,error:a.error}}function Bse(t,e,r,n,i={}){let o=t.trim();if(!o)return{kind:"missing",installed:!1,source:e??"unknown",error:"Codex command is empty."};if(i.rejectWhitespace&&/\s/.test(o))return{kind:"unsupported_command_string",installed:!1,source:"env",error:"HUNSU_CODEX_APP_SERVER_COMMAND must be a binary path or command name without arguments. Put arguments in HUNSU_CODEX_APP_SERVER_ARGS."};let s=vb(o)?o:Dse(o,r,n,wb(r,n));if(!s)return{kind:"missing",installed:!1,source:e??"unknown",binaryPath:vb(o)?o:void 0,error:vb(o)?"Configured Codex path does not exist.":`Codex command was not found on PATH: ${o}`};if(DA(s,n))return{kind:"missing",installed:!1,source:"windows_apps_alias",binaryPath:s,error:"Codex resolved to a WindowsApps execution alias. Select the real Codex binary path in Hunsu Bridge."};try{return Cse(s).isFile()?(n!=="win32"&&kse(s,Rse.X_OK),{kind:"binary",installed:!0,binaryPath:s,source:e==="unknown"||e===void 0?"process_path":e}):{kind:"missing",installed:!1,binaryPath:s,source:e??"unknown",error:"Configured Codex path is not a file."}}catch(a){return{kind:"missing",installed:!1,binaryPath:s,source:e??"unknown",error:Xd(a)}}}function Dse(t,e,r=process.platform,n=wb(e,r)){return xb(t,e,r,n)[0]}function xb(t,e,r=process.platform,n=wb(e,r)){if(vb(t))return Ng(t)?[t]:[];let i=r==="win32"?["",...(e.PATHEXT??e.PathExt??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean)]:[""],o=r==="win32"?";":D5,s=[];for(let a of n.split(o).filter(Boolean))for(let c of i){let u=Hs(a,r==="win32"&&!t.toUpperCase().endsWith(c.toUpperCase())?`${t}${c}`:t);Ng(u)&&s.push(u)}return Ib(s)}function Nse(t,e){if(e!=="win32")return[];let r=Zf(t,"LOCALAPPDATA","LocalAppData","localappdata"),n=Zf(t,"APPDATA","AppData","appdata"),i=[];if(r){let o=Hs(r,"OpenAI","Codex","bin");if(Ng(o))for(let s of Use(o))i.push(Hs(o,s,"codex.exe"));i.push(Hs(r,"OpenAI","Codex","bin","codex.exe"),Hs(r,"Programs","OpenAI Codex","codex.exe"))}return n&&i.push(Hs(n,"npm","codex.cmd")),Ib(i.filter(Ng))}async function T5(t,e,r){if(r!=="win32")return"";let n=t==="user"?e.HUNSU_WINDOWS_USER_PATH:e.HUNSU_WINDOWS_MACHINE_PATH;if(n?.trim())return B5(n,e);let i=t==="user"?"HKCU\\Environment":"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";try{let{stdout:o}=await Sb("reg.exe",["query",i,"/v","Path"],{env:e,timeout:1500,windowsHide:!0,maxBuffer:65536});return B5(Lse(o),e)}catch{return""}}async function Ose(t){try{let{stdout:e}=await Sb("where.exe",["codex"],{env:t,timeout:1500,windowsHide:!0,maxBuffer:65536});return O5(e)}catch{return[]}}async function Mse(t){let e="Get-Command codex -All | ForEach-Object { $_.Source }";for(let r of["powershell.exe","pwsh"])try{let{stdout:n}=await Sb(r,["-NoProfile","-Command",e],{env:r==="powershell.exe"?Ts(t):t,timeout:2e3,windowsHide:!0,maxBuffer:65536}),i=O5(n);if(i.length>0)return i}catch{}return[]}function Lse(t){return t.split(/\r?\n/).map(r=>r.trim()).find(r=>/^Path\s+REG_/i.test(r))?.replace(/^Path\s+REG_\w+\s+/i,"").trim()??""}function O5(t){return Ib(t.split(/\r?\n/).map(e=>e.trim()).filter(e=>e.length>0&&!/^[-\s]+$/.test(e)&&!/^CommandType\b|^Name\b|^Source\b/i.test(e)))}function Hse(t,e){if(e!=="win32")return;let r=Zf(t,"LOCALAPPDATA","LocalAppData","localappdata"),n=r?Hs(r,"Microsoft","WindowsApps","codex.exe"):void 0;return n&&Ng(n)?n:void 0}function wb(t,e){return e!=="win32"?t.PATH??"":[t.PATH,t.Path,t.path].filter(r=>typeof r=="string"&&r.trim().length>0).join(";")}function Use(t){try{return Ase(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return[]}}function $se(t){let e=new Set,r=[];for(let n of t){let i=`${n.source}:${n.candidate}`;e.has(i)||(e.add(i),r.push(n))}return r}function Zf(t,...e){return e.map(r=>t[r]).find(r=>typeof r=="string"&&r.trim().length>0)?.trim()}function Ib(t){return[...new Set(t.filter(e=>typeof e=="string"&&e.length>0))]}function DA(t,e){return e==="win32"&&/(?:^|[\\/])WindowsApps[\\/]/i.test(t)}function B5(t,e){return t.replace(/%([^%]+)%/g,(r,n)=>{let i=n.trim(),o=Rr();return Zf(e,i,i.toUpperCase(),i.toLowerCase())??o[i]??r})}function M5(t,e,r,n){return yb(t,e,r,n)}function L5(t,e){let r=Rr(),n={...r,...t},i=e==="win32"?";":D5;for(let o of["PATH","Path","path"]){let s=t[o],a=r[o];if(s===""&&a){n[o]=a;continue}s&&a&&!s.split(i).includes(a)&&(n[o]=`${s}${i}${a}`)}return n}var Og=class{command;args;timeoutMs;child;nextId=1;buffer="";pending=new Map;constructor(e,r,n={}){this.command=e,this.args=n.args??["app-server","--stdio"],this.timeoutMs=r;let i=n.env??Rr(),o=n.platform??process.platform,s=M5(this.command,this.args,i,o);this.child=Ese(s.command,s.args,{env:L5(i,o),stdio:["pipe","pipe","pipe"],windowsHide:!0,windowsVerbatimArguments:s.windowsVerbatimArguments}),this.child.stdout.setEncoding("utf8"),this.child.stdout.on("data",a=>this.read(a)),this.child.stderr.setEncoding("utf8"),this.child.on("error",a=>this.rejectAll(a)),this.child.on("exit",()=>this.rejectAll(new Error("Codex app-server process exited before probe completed.")))}request(e,r){let n=this.nextId;return this.nextId+=1,new Promise((i,o)=>{let s=setTimeout(()=>{this.pending.delete(n),o(new Error(`Codex app-server probe timed out: ${e}`))},this.timeoutMs);this.pending.set(n,{resolve:i,reject:o,timer:s});try{this.write({jsonrpc:"2.0",id:n,method:e,params:r})}catch(a){clearTimeout(s),this.pending.delete(n),o(a instanceof Error?a:new Error(String(a)))}})}async initialize(){let e=await this.request("initialize",{clientInfo:{name:"hunsu-bridge",title:"Hunsu Bridge",version:dn}});return this.notify("initialized",{}),e}notify(e,r){this.write({jsonrpc:"2.0",method:e,params:r})}close(){this.rejectAll(new Error("Codex app-server probe closed.")),this.child.kill()}write(e){this.child.stdin.write(`${JSON.stringify(e)}
|
|
206
206
|
`)}read(e){this.buffer+=e;let r=this.buffer.indexOf(`
|
|
207
207
|
`);for(;r>=0;){let n=this.buffer.slice(0,r).trim();if(this.buffer=this.buffer.slice(r+1),r=this.buffer.indexOf(`
|
|
208
208
|
`),!n)continue;let i;try{i=JSON.parse(n)}catch(s){this.rejectAll(new Error(`Invalid Codex app-server JSON-RPC line: ${Xd(s)}`));continue}if(i.id===void 0||typeof i.id!="number")continue;let o=this.pending.get(i.id);o&&(clearTimeout(o.timer),this.pending.delete(i.id),i.error?o.reject(new Error(i.error.message??"Codex app-server request failed.")):o.resolve(i.result))}}rejectAll(e){for(let[r,n]of this.pending)clearTimeout(n.timer),n.reject(e),this.pending.delete(r)}};function NA(t){return Gh(t)}function Xd(t){return NA(t instanceof Error?t.message:String(t))}import{existsSync as Fse}from"node:fs";import{homedir as F5}from"node:os";import{join as OA}from"node:path";var jse=5e3,Yd;async function j5(t){let e=t.env??Rr(),r=_A({env:e,cliBinaryPath:t.binaryPath});if(!r.ok)return{appServer:{available:!1,error:r.error}};let n=new Og(r.value.command,t.timeoutMs??Mg,{env:e,platform:t.platform,args:r.value.args});try{let i=await n.initialize(),o=await qse(n),s=await Wse(n);return{appServer:{available:!0,initialized:Xr(i)},account:o,rateLimits:s}}catch(i){return{appServer:{available:!1,error:Xd(i)}}}finally{n.close()}}async function yu(t={}){let e=t.env??Rr(),r=t.platform??process.platform,n=JSON.stringify({customBinaryPath:t.customBinaryPath??e.HUNSU_CODEX_BINARY_PATH,envCommand:e.HUNSU_CODEX_APP_SERVER_COMMAND,envArgs:e.HUNSU_CODEX_APP_SERVER_ARGS,codexHome:e.CODEX_HOME,path:BA(e,r),knownWindowsInstallDirs:TA(e,r),platform:r,lastRunUsage:t.lastRunUsage});if(!t.force&&Yd&&Yd.key===n&&Date.now()-Yd.at<jse)return Yd.status;let i=await gu(t);if(!i.installed||!i.binaryPath){let C={runtime:"codex",cli:{installed:!1,source:i.source,discovery:i.discovery,installActionAvailable:!0,error:i.error},appServer:{available:!1},auth:{state:"unknown",access:"unknown"},usage:{rateLimitsAvailable:!1,lastRunUsage:t.lastRunUsage},ready:!1,recommendedAction:i.aliasDetected||i.error?.includes("WindowsApps")?"select_binary":"install_codex"};return Yd={at:Date.now(),key:n,status:C},C}let o=i.version??await bb({binaryPath:i.binaryPath,timeoutMs:t.timeoutMs,env:e,platform:r}),s=await j5({binaryPath:i.binaryPath,timeoutMs:t.timeoutMs,env:e,platform:r}),a=s.appServer;if(!a.available){let C={runtime:"codex",cli:{installed:!0,binaryPath:i.binaryPath,source:i.source,version:o,discovery:i.discovery,installActionAvailable:!1,error:i.error},appServer:a,auth:{state:"unknown",access:"unknown"},usage:{rateLimitsAvailable:!1,lastRunUsage:t.lastRunUsage},ready:!1,recommendedAction:"recheck"};return Yd={at:Date.now(),key:n,status:C},C}let c=s.account??{ok:!1,authState:"unknown",error:"Codex account probe did not return a result."},u=s.rateLimits??{ok:!1,error:"Codex rate limit probe did not return a result."},d=c.ok?Gse(c.account):{state:c.authState,access:"unknown",error:c.error},l=q5({env:e,platform:r}),f=d.state==="not_authenticated"||d.state==="expired"||d.state==="invalid"?{...d,homeDiagnostic:l}:d,p=u.ok?Jse(u.rateLimits):void 0,g=u.ok?{rateLimitsAvailable:!0,rateLimitSummary:p?.summary,rateLimited:p?.rateLimited,lastRunUsage:t.lastRunUsage}:{rateLimitsAvailable:!1,lastRunUsage:t.lastRunUsage,error:u.error},v=f.state==="authenticated"&&g.rateLimited!==!0,b={runtime:"codex",cli:{installed:!0,binaryPath:i.binaryPath,source:i.source,version:o,discovery:i.discovery,installActionAvailable:!1,error:i.error},appServer:a,auth:f,usage:g,ready:v,recommendedAction:v?"none":f.state==="not_authenticated"||f.state==="expired"||f.state==="invalid"?"login_codex":"recheck"};return Yd={at:Date.now(),key:n,status:b},b}async function qse(t){try{let e=await t.request("account/read",{refreshToken:!1});return{ok:!0,account:Xr(e)}}catch(e){let r=Xd(e);return{ok:!1,authState:Kse(r),error:r}}}async function Wse(t){try{let e=await t.request("account/rateLimits/read");return{ok:!0,rateLimits:Xr(e)}}catch(e){return{ok:!1,error:Xd(e)}}}function q5(t={}){let e=t.env??Rr(),r=t.platform??process.platform,n=Vse(e,r,t.homeDir??F5()),i=e.CODEX_HOME?.trim()||n,o=H5(i),s=H5(n),a=!!(i&&n&&!o&&s&&U5(i,r)!==U5(n,r));return{effectiveCodexHome:i,defaultCodexHome:n,authFileExistsAtEffectiveHome:o,authFileExistsAtDefaultHome:s,likelyHomeMismatch:a,remediation:a?{type:"set_codex_home",message:`Codex auth was not found for CODEX_HOME=${i}. Default Codex auth appears to exist at ${n}. Set Codex Home to this path or sign in again for the current Codex Home.`,suggestedCodexHome:n}:o?void 0:{type:"login_again",message:`Codex auth was not found for CODEX_HOME=${i}. Sign in again for this Codex Home.`}}}function Vse(t,e,r=F5()){if(e==="win32"){let n=Lg(t,["USERPROFILE","UserProfile","userprofile"]),i=Lg(t,["HOMEDRIVE","HomeDrive","homedrive"]),o=Lg(t,["HOMEPATH","HomePath","homepath"]),s=n??(i&&o?`${i}${o}`:void 0)??Lg(t,["HOME","Home","home"])??r;return OA(s,".codex")}return OA(Lg(t,["HOME"])??r,".codex")}function H5(t){return!!(t&&Fse(OA(t,"auth.json")))}function U5(t,e){let r=t.replace(/\\/g,"/").replace(/\/+$/,"");return e==="win32"?r.toLowerCase():r}function Lg(t,e){for(let r of e){let n=t[r];if(typeof n=="string"&&n.trim())return n.trim()}}function Gse(t){let e=Eb(t)?t:{};if(e.requiresOpenaiAuth===!0)return{state:"not_authenticated",access:"unknown"};let r=zse(e);return{state:"authenticated",method:r,access:r==="api_key"||r==="access_token"?"usage_based":r==="chatgpt"?"subscription":"unknown",accountSummary:{displayName:Ko(e,["displayName","name","userName"]),email:Ko(e,["email","userEmail"]),workspaceName:Ko(e,["workspaceName","organizationName","orgName"]),planLabel:Ko(e,["planLabel","plan","subscriptionPlan"])}}}function zse(t){let e=Eb(t.account)?t.account:{},r=`${Ko(t,["authMethod","method","loginMethod","accountType","type"])??Ko(e,["authMethod","method","loginMethod","accountType","type"])??""}`.toLowerCase();return r.includes("chatgpt")||r.includes("subscription")?"chatgpt":r.includes("api")?"api_key":r.includes("access")?"access_token":"unknown"}function Kse(t){let e=t.toLowerCase();return e.includes("not authenticated")||e.includes("login")||e.includes("sign in")||e.includes("unauthorized")?"not_authenticated":e.includes("expired")?"expired":e.includes("invalid")?"invalid":"error"}function Jse(t){let e=Xse(t),r={label:Ko(e,["label","status","summary"])??($5(e)?"Rate limited":"Available"),resetAt:Ko(e,["resetAt","reset_at"]),remainingLabel:Ko(e,["remainingLabel","remaining"])};return{summary:r,rateLimited:$5(e)||W5(`${r.label} ${r.remainingLabel??""}`)}}function Xse(t){return Eb(t)?Eb(t.rateLimits)?{...t,...t.rateLimits}:t:{}}function $5(t){if(t.rateLimited===!0||t.limited===!0)return!0;let e=Ko(t,["rateLimitReachedType","rate_limit_reached_type"]);return e&&e.toLowerCase()!=="none"?!0:W5(Ko(t,["label","status","summary","remainingLabel","remaining"])??"")}function W5(t){return/\brate.?limited\b|quota exceeded|temporarily unavailable|no remaining/i.test(t)}function Ko(t,e){for(let r of e){let n=t[r];if(typeof n=="string"&&n.trim())return NA(n.trim());if(typeof n=="number")return String(n)}}function Eb(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}import{isAbsolute as iae,resolve as oae}from"node:path";var MA=[{name:"binaryPath",envName:"HUNSU_CODEX_BINARY_PATH",label:"Codex binary",description:"Path to the Codex CLI executable used by Hunsu.",kind:"file",required:!1,secret:!1,primary:!0,validation:{mustExist:!0,executable:!0}},{name:"codexHome",envName:"CODEX_HOME",label:"Codex home",description:"Directory where Codex stores auth and configuration. Usually ~/.codex.",kind:"directory",required:!1,secret:!1,primary:!0,placeholder:"~/.codex",validation:{directory:!0}},{name:"appServerCommand",envName:"HUNSU_CODEX_APP_SERVER_COMMAND",label:"App-server command",description:"Advanced override for the Codex command used by Hunsu.",kind:"text",required:!1,secret:!1,primary:!1,advanced:!0},{name:"appServerArgs",envName:"HUNSU_CODEX_APP_SERVER_ARGS",label:"App-server args",description:"Advanced app-server arguments.",kind:"text",required:!1,secret:!1,primary:!1,advanced:!0},{name:"authenticationPreference",label:"Authentication method",kind:"select",required:!1,secret:!1,primary:!1,default:"chatgpt",options:[{value:"chatgpt",label:"ChatGPT sign-in"},{value:"device_code",label:"Device code"},{value:"api_key",label:"API key"}]}],Ab={providerId:"codex",label:"Codex",description:"OpenAI Codex CLI through the local app-server boundary.",configKeys:MA,setupSteps:["Choose the Codex executable Hunsu should use.","Choose the Codex Home that contains the auth.json file for this daemon.","Sign in or recheck after saving."]},Yse=new Set(MA.map(t=>t.name));function Qd(t){return{...t.baseEnv,...t.settings.binaryPath?{HUNSU_CODEX_BINARY_PATH:t.settings.binaryPath,HUNSU_CODEX_BINARY_PATH_SOURCE:"user_config"}:{},...t.settings.codexHome?{CODEX_HOME:t.settings.codexHome}:{},...t.settings.appServerCommand?{HUNSU_CODEX_APP_SERVER_COMMAND:t.settings.appServerCommand}:{},...t.settings.appServerArgs?{HUNSU_CODEX_APP_SERVER_ARGS:t.settings.appServerArgs}:{}}}function Hg(t){return{HUNSU_CODEX_BINARY_PATH:t.HUNSU_CODEX_BINARY_PATH??null,CODEX_HOME:t.CODEX_HOME??null,HUNSU_CODEX_APP_SERVER_COMMAND:t.HUNSU_CODEX_APP_SERVER_COMMAND??null,HUNSU_CODEX_APP_SERVER_ARGS:t.HUNSU_CODEX_APP_SERVER_ARGS??null}}function Jo(t){let e=Rb(t,"binaryPath"),r=Rb(t,"codexHome"),n=Rb(t,"appServerCommand"),i=Rb(t,"appServerArgs"),o=t?.installChannel==="stable"||t?.installChannel==="latest"||t?.installChannel==="manual"?t.installChannel:void 0,s=t?.authenticationPreference==="chatgpt"||t?.authenticationPreference==="api_key"||t?.authenticationPreference==="device_code"?t.authenticationPreference:void 0;return{...e?{binaryPath:e}:{},...r?{codexHome:r}:{},...n?{appServerCommand:n}:{},...i?{appServerArgs:i}:{},...o?{installChannel:o}:{},...s?{authenticationPreference:s}:{}}}function Cb(t){return MA.map(e=>{let r=t[e.name],n=typeof r=="string"?r:void 0;return{key:e.name,value:n??e.default,isSet:!!n,isSecret:e.secret,label:e.label}})}function Zd(t,e){let r={...t};for(let n of e){let i=n.key.trim();if(!Yse.has(i))throw new Error(`Unsupported Codex provider config key: ${i}`);let o=typeof n.value=="string"?n.value.trim():"";switch(i){case"binaryPath":kb(r,"binaryPath",o);break;case"codexHome":kb(r,"codexHome",o);break;case"appServerCommand":kb(r,"appServerCommand",o);break;case"appServerArgs":kb(r,"appServerArgs",o);break;case"authenticationPreference":if(o==="")delete r.authenticationPreference;else if(o==="chatgpt"||o==="api_key"||o==="device_code")r.authenticationPreference=o;else throw new Error(`Unsupported Codex authenticationPreference: ${o}`);break}}return r}function kb(t,e,r){r?t[e]=r:delete t[e]}function Rb(t,e){let r=t?.[e];return typeof r=="string"&&r.trim()?r.trim():void 0}import{spawn as Qse,spawnSync as Zse}from"node:child_process";var eae="npm is required to install Codex. Install npm and retry, or use Select Existing Codex.";function LA(t=process.platform){return t==="win32"?"npm.cmd":"npm"}function V5(t){let e=LA(t.platform),r={...Rr(),...t.env},n=z5(e,["--version"],r,t.platform),i=Zse(n.command,n.args,{encoding:"utf8",stdio:["ignore","pipe","pipe"],env:r,windowsHide:!0,windowsVerbatimArguments:n.windowsVerbatimArguments});if(i.status===0){let o=`${i.stdout??""}
|
|
209
209
|
${i.stderr??""}`.trim().split(/\r?\n/u).find(Boolean);return{available:!0,command:e,version:o}}return{available:!1,command:e,message:eae}}function HA(t={available:!0,command:LA()}){return{providerId:"codex",available:t.available,label:"Install Codex",command:t.command,args:["install","-g","@openai/codex@latest"],confirmationRequired:!0,instructions:t.available?["Hunsu Bridge can run the Codex npm installer after you confirm.","If Codex is already installed in a custom location, use Select Existing Codex."]:[t.message,"pnpm and yarn cannot run this npm-specific provider installer."]}}var G5=async t=>{let e=LA(),r=["install","-g","@openai/codex@latest"];return t.dryRun?{ok:!0,command:e,args:r}:new Promise(n=>{let i={...Rr(),...t.env},o=z5(e,r,i),s=Qse(o.command,o.args,{stdio:["ignore","pipe","pipe"],env:i,windowsHide:!0,windowsVerbatimArguments:o.windowsVerbatimArguments}),a="",c=u=>{a=`${a}${u.toString()}`.slice(-16*1024)};s.stdout?.on("data",c),s.stderr?.on("data",c),s.once("error",u=>{n({ok:!1,command:e,args:r,output:a.trim(),error:u.message})}),s.once("close",u=>{n({ok:u===0,command:e,args:r,exitCode:u??void 0,output:a.trim(),error:u===0?void 0:`Codex installer exited with status ${u??"unknown"}.`})})})};function z5(t,e,r,n=process.platform){return yb(t,e,r,n)}import{spawn as jA}from"node:child_process";var vu=new WeakMap;async function Ug(t,e){let r=await gu({env:e});return!r.installed||!r.binaryPath?{started:!1,args:t,message:r.error??"Codex CLI was not found."}:(jA(r.binaryPath,t,{detached:!0,stdio:"ignore",env:{...Rr(),...e},windowsHide:!0}).unref(),{started:!0,command:r.binaryPath,args:t})}async function Pb(t,e){let r=["login"],n=await gu({env:e}),i=new Date().toISOString();if(!n.installed||!n.binaryPath){let o=Fa(t,{kind:"chatgpt",startedAt:i,status:"failed",error:n.error??"Codex CLI was not found.",lastOutput:"Browser login failed to start."});return UA(void 0,r,o,!1)}try{let o=jA(n.binaryPath,r,{detached:!0,stdio:"ignore",env:{...Rr(),...e},windowsHide:!0});o.unref();let s=Fa(t,{kind:"chatgpt",pid:o.pid,startedAt:i,status:"pending",lastOutput:"Browser login started. Complete sign-in, then click Recheck."});return UA(n.binaryPath,r,s)}catch(o){let s=Fa(t,{kind:"chatgpt",startedAt:i,status:"failed",error:o instanceof Error?o.message:String(o),lastOutput:"Browser login failed to start."});return UA(n.binaryPath,r,s,!1)}}async function _b(t,e,r=3e3){let n=["login","--device-auth"],i=vu.get(t);if(i&&!i.cleared)return $A(i.child.spawnfile,n,t.codexLogin);let o=await gu({env:e});if(!o.installed||!o.binaryPath){let u=Fa(t,{kind:"device",startedAt:new Date().toISOString(),status:"failed",error:o.error??"Codex CLI was not found."});return $A(void 0,n,u,!1)}let s=jA(o.binaryPath,n,{detached:!0,stdio:["ignore","pipe","pipe"],env:{...Rr(),...e},windowsHide:!0}),a={child:s,startedAt:new Date().toISOString(),output:"",cleared:!1};vu.set(t,a),Fa(t,{kind:"device",pid:s.pid,startedAt:a.startedAt,status:"starting"});let c=u=>{if(a.cleared)return;a.output=`${a.output}${u.toString()}`.slice(-64*1024);let d=FA(a.output);Fa(t,{kind:"device",pid:s.pid,startedAt:a.startedAt,status:d.verificationUri||d.userCode?"device_code":"pending",...d,lastOutput:a.output.trim().slice(-4096)})};return s.stdout?.on("data",c),s.stderr?.on("data",c),s.once("error",u=>{a.cleared||(Fa(t,{kind:"device",pid:s.pid,startedAt:a.startedAt,status:"failed",error:u.message,lastOutput:a.output.trim().slice(-4096)}),vu.delete(t))}),s.once("close",(u,d)=>{if(a.cleared)return;let l=FA(a.output),f=u!==0;Fa(t,{kind:"device",pid:s.pid,startedAt:a.startedAt,status:f?"failed":l.verificationUri||l.userCode?"device_code":"completed",...l,lastOutput:a.output.trim().slice(-4096),error:f?`Codex device login exited with status ${u??d??"unknown"}.`:void 0}),vu.delete(t)}),await tae(t,r),$A(o.binaryPath,n,t.codexLogin)}function K5(t){let e=vu.get(t);e&&(e.cleared=!0,vu.delete(t)),t.codexLogin=void 0}function FA(t){let e=[...t.matchAll(/https?:\/\/[^\s)'"]+/g)].map(s=>s[0].replace(/[.,;:]+$/,"")),r=e.find(s=>/[?&](user_?code|code)=/i.test(s)),n=e.find(s=>s!==r)??r,i=r?nae(r):void 0,o=t.match(/(?:user\s+code|one[-\s]?code|one[-\s]?time\s+code|code)[:\s]+([A-Z0-9][A-Z0-9\-\s]{3,}[A-Z0-9])/i)?.[1]?.trim().replace(/\s+/g,"-");return{...n?{verificationUri:n}:{},...r?{verificationUriComplete:r}:{},...i??o?{userCode:i??o}:{}}}function UA(t,e,r,n=!0){return{started:n,command:t,args:e,state:r.status,status:r.status,lastOutput:r.lastOutput,error:r.error,message:r.status==="failed"?r.error??"Codex login failed to start.":"Codex login started. Complete sign-in in your browser, then click Recheck."}}function $A(t,e,r,n=!0){let i=r?.status??"pending";return{started:n,command:t,args:e,state:i,status:i,verificationUri:r?.verificationUri,verificationUriComplete:r?.verificationUriComplete,userCode:r?.userCode,lastOutput:r?.lastOutput,error:r?.error,message:i==="failed"?r?.error??"Codex device login failed.":r?.verificationUri||r?.userCode?"Codex device login started. Complete authorization in your browser.":i==="completed"?"Codex device login completed.":"Codex device login started."}}function Fa(t,e){return t.codexLogin=e,e}async function tae(t,e){let r=t.codexLogin?.startedAt,n=Date.now()+e;for(;Date.now()<n;){let o=t.codexLogin,s=o&&o.startedAt===r?o.status:void 0;if(s==="device_code"){await rae(t,r);return}if(s==="failed"||s==="completed")return;await J5(50)}let i=vu.get(t);i&&!i.cleared&&t.codexLogin?.startedAt===i.startedAt&&t.codexLogin.status==="starting"&&Fa(t,{...t.codexLogin,status:"pending"})}async function rae(t,e,r=100){let n=Date.now()+r;for(;Date.now()<n;){let i=t.codexLogin;if((i&&i.startedAt===e?i.status:void 0)!=="device_code"||!vu.has(t))return;await J5(10)}}function nae(t){try{let e=new URL(t);return e.searchParams.get("user_code")??e.searchParams.get("user-code")??e.searchParams.get("code")??void 0}catch{return}}function J5(t){return new Promise(e=>setTimeout(e,t))}function $g(){return[qA("codex-default","Codex Default",["default","low","medium","high"],["default","fast"],"default"),qA("gpt-5.5-thinking","GPT-5.5 Thinking",["high","xhigh"],["default","fast"],"high"),qA("gpt-5.5","GPT-5.5",["default","low","medium","high"],["default","fast"],"medium")]}function qA(t,e,r,n,i){return{model:WA(t,"providerInventory.model"),label:WA(e,"providerInventory.model.label"),capabilities:{reasoningEfforts:r,serviceTiers:n,supportsReasoning:r.length>0,supportsFastTier:n.includes("fast")},defaultConfig:{providerId:"codex",model:WA(t,"providerInventory.model.defaultConfig.model"),reasoningEffort:i,serviceTier:"default",...t==="codex-default"?{experimental:!0}:{}}}}function WA(t,e){return Zt(Ie(t,e))}var sae={canExecute:!0,canEditFiles:!0,canRunShell:!0,supportsWorktree:!0,supportsEventStream:!0,supportsUsage:!0,supportsSubscriptionAuth:!0,supportsDeviceAuth:!0,supportsApiKeyAuth:!0,supportsRemoteAccess:!0,supportsAcp:!1},el=class{providerId="codex";kind="codex";label="Codex";settings;internalLoginState={};options;constructor(e={}){this.options=e,this.settings=Jo(e.settings)}metadata(){return Ab}async readConfig(){return Cb(this.settings)}async validateConfig(e){let r=Zd(this.settings,e);return this.validateSettings(r)}async saveConfig(e){let r=Zd(this.settings,e),n=await this.validateSettings(r);if(!n.valid)throw new Error(n.provider.safeMessage??n.provider.auth.error??n.provider.install?.error??"Codex provider configuration is invalid.");return this.settings=r,this.options.onConfigure?.(this.settings),n.provider}async deleteConfig(e){return this.settings=e&&e.length>0?Zd(this.settings,e.map(r=>({key:r,value:"",isSet:!1,isSecret:!1}))):{},this.options.onConfigure?.(this.settings),this.status({force:!0})}effectiveEnv(e={}){return this.statusEnv(e)}async status(e={}){let r=this.statusEnv(e.env),n=await yu({force:e.force,env:r});return VA(n,{effectiveEnv:Hg(r)})}async recheck(){return this.status({force:!0})}async installPlan(){return HA(await this.installerPrerequisite(this.statusEnv()))}async install(e={}){let r=this.statusEnv(e.env),n=await this.status({force:!0,env:r}),i=await this.installerPrerequisite(r),o=HA(i);if(n.installed)return{providerId:this.providerId,confirmed:e.confirmed===!0,started:!1,status:"already_installed",message:"Codex is already installed.",plan:o,providerStatus:n};if(!i.available)return{providerId:this.providerId,confirmed:e.confirmed===!0,started:!1,status:"prerequisite_missing",message:i.message,plan:o,providerStatus:n};if(e.confirmed!==!0)return{providerId:this.providerId,confirmed:!1,started:!1,status:"confirmation_required",message:"Confirm Codex installation before Hunsu Bridge runs the installer.",plan:o,providerStatus:n};let a=await(this.options.installer??G5)({env:r,dryRun:e.dryRun===!0||r.HUNSU_CODEX_INSTALL_DRY_RUN==="1"}),c=await this.status({force:!0,env:r});return{providerId:this.providerId,confirmed:!0,started:!0,status:a.ok?a.exitCode===void 0?"dry_run":"completed":"failed",message:a.ok?a.exitCode===void 0?"Codex install dry run completed. No installer was run.":"Codex installer completed. Provider status was rechecked.":a.error??"Codex installer failed.",plan:o,command:a.command,args:a.args,exitCode:a.exitCode,output:a.output,error:a.error,providerStatus:c}}async login(e){let r=e.method==="default"?lae(this.settings.authenticationPreference):e.method,n=this.statusEnv(),i=this.options.loginState??this.internalLoginState;if(r==="device")return{providerId:this.providerId,method:r,...await _b(i,n)};if(r==="api_key"){let o=await Ug(["login","--api-key"],n);return{providerId:this.providerId,method:r,...o,message:o.started?"Codex API-key login started.":o.message??"Codex API-key login could not start."}}return{providerId:this.providerId,method:r,...await Pb(i,n)}}async configure(e){if(e.authMethod==="api_key")return this.configureApiKey(e);if(e.clearBinaryPath){let i={...this.settings};return delete i.binaryPath,this.settings=i,this.options.onConfigure?.(this.settings),this.status({force:!0,env:e.env})}let r=e.binaryPath?.trim()||e.selectBinaryPath?.trim();if(!r)return this.status({force:!0,env:e.env});let n=iae(r)?r:oae(r);return this.saveConfig([{key:"binaryPath",value:n,isSet:!0,isSecret:!1}])}async configureApiKey(e){let r=e.apiKey?.trim(),n=r?this.statusEnv({...e.env,OPENAI_API_KEY:r}):this.statusEnv(e.env);return this.status({force:!0,env:n})}statusEnv(e={}){return Qd({baseEnv:this.baseEnv(e),settings:this.settings})}installerPrerequisite(e){return Promise.resolve((this.options.installerPrerequisite??V5)({env:e}))}baseEnv(e={}){return{...Rr(),...this.options.env?.()??{},...e}}async validateSettings(e){let r=Qd({baseEnv:this.baseEnv(),settings:e}),n=await yu({force:!0,env:r,customBinaryPath:e.binaryPath}),i=VA(n,{effectiveEnv:Hg(r)}),o=n.cli.installed===!0&&!!n.cli.version&&n.appServer.available===!0;return{valid:o,provider:i,diagnostics:i.diagnostics??{effectiveEnv:Hg(r)},errors:o?[]:aae(e,n)}}};function aae(t,e){return!e.cli.installed||!e.cli.version?[{field:"binaryPath",message:t.binaryPath?"Select a Codex executable that Hunsu Bridge can run.":"Select an existing Codex executable or install Codex first."}]:e.appServer.available?[]:[{field:t.appServerCommand?"appServerCommand":t.appServerArgs?"appServerArgs":"binaryPath",message:"Codex app-server could not be started with this setting."}]}function VA(t,e={}){let r=t.cli.installed,n=r&&t.appServer.available,i=t.auth.state==="authenticated"?!0:t.auth.state==="unknown"||t.auth.state==="error"?"unknown":!1;return{providerId:"codex",kind:"codex",label:"Codex",description:"OpenAI Codex CLI through the local app-server boundary.",connectionKind:"local_cli",installed:r,configured:n,authenticated:i,ready:t.ready,auth:{kind:cae(t),state:t.auth.state,access:t.auth.access,accountSummary:t.auth.accountSummary,error:t.auth.error,homeDiagnostic:t.auth.homeDiagnostic},install:{installed:r,binaryPath:t.cli.binaryPath,source:t.cli.source,version:t.cli.version,error:t.cli.error,discovery:t.cli.discovery},usage:{available:t.usage.rateLimitsAvailable,rateLimited:t.usage.rateLimited,summary:t.usage.rateLimitSummary,lastRunUsage:t.usage.lastRunUsage,error:t.usage.error},capabilities:sae,modelInventory:{state:"available",models:$g()},recommendedAction:uae(t),diagnostics:{...e.effectiveEnv?{effectiveEnv:e.effectiveEnv}:{},...t.auth.homeDiagnostic?{codexHome:t.auth.homeDiagnostic}:{}},safeMessage:dae(t)}}async function Fg(t,e,r={}){let n=await yu({env:t,force:r.force,lastRunUsage:r.lastRunUsage});return n.auth.state==="authenticated"&&e.codexLogin&&K5(e),e.codexLogin?{...n,codexLogin:e.codexLogin}:n}function cae(t){return t.auth.method==="chatgpt"?"chatgpt_oauth":t.auth.method==="api_key"||t.auth.method==="access_token"?"api_key":t.auth.state==="not_authenticated"?"chatgpt_oauth":"unknown"}function uae(t){return t.recommendedAction==="install_codex"?"install":t.recommendedAction==="select_binary"?"select_binary":t.recommendedAction==="login_codex"?"login":t.recommendedAction==="recheck"?"recheck":"none"}function dae(t){return t.recommendedAction==="select_binary"?"Select the real Codex binary path. WindowsApps aliases cannot be used for Execute.":t.cli.installed?t.appServer.available?t.auth.homeDiagnostic?.likelyHomeMismatch&&t.auth.homeDiagnostic.remediation?.message?t.auth.homeDiagnostic.remediation.message:t.auth.state==="not_authenticated"?"Sign in to Codex to enable Execute.":t.auth.state==="expired"||t.auth.state==="invalid"?"Codex sign-in needs to be refreshed.":t.usage.rateLimited?"Codex is temporarily rate limited.":t.ready?"Codex is ready.":"Codex needs attention.":"Codex is installed, but the app-server is not available.":"Codex was not found by Hunsu Bridge."}function lae(t){return t==="device_code"?"device":t==="api_key"?"api_key":"chatgpt"}import{existsSync as fae,mkdirSync as pae,readFileSync as mae,renameSync as hae,writeFileSync as gae}from"node:fs";import{dirname as yae}from"node:path";function Tb(){return{currentProviderId:"codex",providers:{codex:{enabled:!0,settings:{}}}}}function qg(t){let e=Tb();if(!jg(t))return e;let r=jg(t.providers)?Object.fromEntries(Object.entries(t.providers).map(([n,i])=>{let o=jg(i)?i:{};return[n,{enabled:n==="codex"&&o.enabled!==!1,settings:jg(o.settings)?o.settings:{}}]})):{};return r.codex={enabled:!0,settings:jg(r.codex?.settings)?r.codex.settings:{}},{currentProviderId:t.currentProviderId==="codex"?"codex":e.currentProviderId,providers:r}}function X5(t=Rr()){return uo({env:t}).configFile}function vae(t=Rr()){let e=Q5(X5(t));return!e||e.provider.kind!=="codex"?Tb():qg({currentProviderId:"codex",providers:{codex:{enabled:!0,settings:{...e.provider.binaryPath?{binaryPath:e.provider.binaryPath}:{},...e.provider.home?{codexHome:e.provider.home}:{},...e.provider.appServerCommand?{appServerCommand:e.provider.appServerCommand}:{},...e.provider.appServerArgs?{appServerArgs:e.provider.appServerArgs}:{},...e.provider.installChannel?{installChannel:e.provider.installChannel}:{},...e.provider.authenticationPreference?{authenticationPreference:e.provider.authenticationPreference}:{}}}}})}function Y5(t=Rr()){let e=X5(t);return{read:()=>vae(t),write(r){let n=Q5(e)??{schema:Hf,deploymentProfile:"production",host:"127.0.0.1",port:19687,provider:{kind:"unconfigured"},remote:{enabled:!1}},i=Jo(r.providers.codex?.settings),o={...n,provider:{kind:"codex",...i.binaryPath?{binaryPath:i.binaryPath}:{},...i.codexHome?{home:i.codexHome}:{},...i.appServerCommand?{appServerCommand:i.appServerCommand}:{},...i.appServerArgs?{appServerArgs:i.appServerArgs}:{},...i.installChannel?{installChannel:i.installChannel}:{},...i.authenticationPreference?{authenticationPreference:i.authenticationPreference}:{}}};xae(e,o)}}}function Q5(t){if(fae(t))try{let e=JSON.parse(mae(t,"utf8"));return eu(t,e)}catch{return}}function xae(t,e){pae(yae(t),{recursive:!0});let r=`${t}.tmp-${process.pid}-${Date.now()}`;gae(r,`${JSON.stringify(e,null,2)}
|
|
210
210
|
`,{encoding:"utf8",mode:384}),hae(r,t)}function jg(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Z5={canExecute:!1,canEditFiles:!1,canRunShell:!1,supportsWorktree:!1,supportsEventStream:!1,supportsUsage:!1,supportsSubscriptionAuth:!1,supportsDeviceAuth:!1,supportsApiKeyAuth:!1,supportsRemoteAccess:!1,supportsAcp:!1};var Sae={codex:"Codex",claude_code:"Claude Code",gemini_cli:"Gemini CLI",openhands:"OpenHands Agent Server",acp_agent:"ACP Agent",litellm_gateway:"LiteLLM Gateway",openrouter_gateway:"OpenRouter Gateway",custom:"Custom Provider"};function GA(t={}){let e=qg(t.providerState??t.providerStateStore?.read()??{...Tb(),currentProviderId:t.currentProviderId??"codex"}),r=e.providers[e.currentProviderId]?.enabled?e.currentProviderId:"codex",n=t.providers??[new el({...t.codex,settings:e.providers.codex?.settings??{},onConfigure(i){e=bae(e,i),t.providerStateStore?.write(e),t.codex?.onConfigure?.(i)}}),tl("claude_code"),tl("gemini_cli"),tl("openhands"),tl("acp_agent"),tl("litellm_gateway"),tl("openrouter_gateway")];return{list:()=>[...n],get:i=>n.find(o=>o.providerId===i),current:()=>n.find(i=>i.providerId===r)??n[0],async setCurrent(i){let o=n.find(s=>s.providerId===i);if(!o)throw new Error(`Unknown runtime provider: ${i}`);if(o.providerId!=="codex"||e.providers[o.providerId]?.enabled!==!0)throw new Error(`${o.label} is not an enabled runtime provider yet.`);r=o.providerId,e=qg({...e,currentProviderId:r}),t.providerStateStore?.write(e)}}}function bae(t,e){let r=wae(e);return qg({...t,providers:{...t.providers,codex:{enabled:!0,settings:r}}})}function wae(t){let e=Jo(t),r={};for(let[n,i]of Object.entries(e))i!==void 0&&(r[n]=i);return r}function tl(t){let e=Sae[t];return{providerId:t,kind:t,label:e,hiddenByDefault:!0,metadata(){return{providerId:t,label:e,description:"Future runtime provider.",configKeys:[]}},async readConfig(){return[]},async saveConfig(){throw new Error(`${e} does not support configuration yet.`)},async status(){return{providerId:t,kind:t,label:e,description:"Future runtime provider.",connectionKind:t.includes("gateway")?"gateway":t==="openhands"||t==="acp_agent"?"remote_agent_server":"local_cli",installed:!1,configured:!1,authenticated:"unknown",ready:!1,auth:{kind:"unknown",state:"unknown",access:"unknown"},install:{installed:!1},usage:{available:!1},capabilities:Z5,modelInventory:{state:"unavailable",reason:"not_supported",message:`${e} does not publish a model inventory yet.`},recommendedAction:"configure",safeMessage:"Coming later"}},async recheck(){return this.status()}}}async function rM(t,e,r,n,i){if(t.method==="GET"&&r==="/api/providers"){let o=n.searchParams.get("advanced")==="1"||n.searchParams.get("advanced")==="true",s=i.providerRegistry.list().filter(a=>o||!a.hiddenByDefault);return i.sendJson(e,200,{currentProviderId:i.providerRegistry.current().providerId,providers:await Promise.all(s.map(a=>a.status({env:i.env})))}),!0}if(t.method==="GET"&&r==="/api/codex/status"&&i.legacyCodexStatus){let o=await i.legacyCodexStatus();return i.sendJson(e,200,i.sanitizeLegacyCodexStatus?i.sanitizeLegacyCodexStatus(o):o),!0}if(t.method==="GET"&&r==="/api/runtimes/codex/status"){let o=ep(i);return i.sendJson(e,200,await Fg(o,i.codexLoginState??{},{lastRunUsage:i.latestCodexRunUsage?.()})),!0}if(t.method==="POST"&&r==="/api/runtimes/codex/recheck"){let o=ep(i);return i.sendJson(e,202,await Fg(o,i.codexLoginState??{},{force:!0,lastRunUsage:i.latestCodexRunUsage?.()})),!0}if(t.method==="POST"&&r==="/api/runtimes/codex/install"){let o=await tM(t,i.readJson),s=i.providerRegistry.get("codex")??i.providerRegistry.current();return i.sendJson(e,202,s.install?await s.install({confirmed:o.confirmed,dryRun:o.dryRun,env:i.env}):await s.installPlan?.()),!0}if(t.method==="POST"&&r==="/api/runtimes/codex/login/chatgpt"){let o=i.providerRegistry.get("codex")??i.providerRegistry.current();return i.sendJson(e,202,o.login?await o.login({method:"chatgpt"}):await Pb(i.codexLoginState??{},ep(i))),!0}if(t.method==="POST"&&r==="/api/runtimes/codex/login/device"){let o=i.providerRegistry.get("codex")??i.providerRegistry.current();return i.sendJson(e,202,o.login?await o.login({method:"device"}):await _b(i.codexLoginState??{},ep(i))),!0}if(t.method==="POST"&&r==="/api/runtimes/codex/login/api-key"){let o=i.providerRegistry.get("codex")??i.providerRegistry.current();return i.sendJson(e,202,o.login?await o.login({method:"api_key"}):await Ug(["login","--api-key"],ep(i))),!0}if(t.method==="POST"&&r==="/api/runtimes/codex/logout")return i.sendJson(e,202,await Ug(["logout"],ep(i))),!0;if(t.method==="GET"&&r==="/api/providers/current")return i.sendJson(e,200,await i.providerRegistry.current().status({env:i.env})),!0;if(t.method==="GET"&&r==="/api/providers/current/metadata")return i.sendJson(e,200,i.providerRegistry.current().metadata()),!0;if(t.method==="GET"&&r==="/api/providers/current/config")return i.sendJson(e,200,await zA(i.providerRegistry.current(),i)),!0;if(t.method==="POST"&&r==="/api/providers/current/validate"){let o=await eM(t,i.readJson),s=i.providerRegistry.current();return s.validateConfig?(i.sendJson(e,200,await s.validateConfig(o.fields)),!0):(i.sendJson(e,501,{error:"Current provider does not support configuration validation yet."}),!0)}if(t.method==="POST"&&r==="/api/providers/current/config"){let o=await eM(t,i.readJson),s=i.providerRegistry.current();return await s.saveConfig(o.fields),i.sendJson(e,202,await zA(s,i)),!0}if(t.method==="DELETE"&&(r==="/api/providers/current/config"||r.startsWith("/api/providers/current/config/"))){let o=i.providerRegistry.current();return o.deleteConfig?(await o.deleteConfig(Iae(r,n)),i.sendJson(e,202,await zA(o,i)),!0):(i.sendJson(e,501,{error:"Current provider does not support configuration reset yet."}),!0)}if(t.method==="POST"&&r==="/api/providers/current/recheck")return i.sendJson(e,202,await i.providerRegistry.current().status({env:i.env,force:!0})),!0;if(t.method==="POST"&&r==="/api/providers/current/install"){let o=i.providerRegistry.current();if(!o.install)return i.sendJson(e,501,{error:"Current provider does not support installation yet."}),!0;let s=await tM(t,i.readJson);return i.sendJson(e,202,await o.install({confirmed:s.confirmed,dryRun:s.dryRun,env:i.env})),!0}if(t.method==="POST"&&r==="/api/providers/current/login"){let o=await i.readJson(t),s=i.providerRegistry.current();return s.login?(i.sendJson(e,202,await s.login({method:o.method??"default"})),!0):(i.sendJson(e,501,{error:"Current provider does not support login yet."}),!0)}if(t.method==="POST"&&r==="/api/providers/current/authenticate"){let o=await i.readJson(t),s=i.providerRegistry.current();return s.login?(i.sendJson(e,202,await s.login({method:o.method??"default"})),!0):(i.sendJson(e,501,{error:"Current provider does not support authentication yet."}),!0)}if(t.method==="POST"&&r==="/api/providers/current/configure"){let o=await i.readJson(t),s=i.providerRegistry.current();return s.configure?(i.sendJson(e,202,await s.configure({...o,env:i.env})),!0):(i.sendJson(e,501,{error:"Current provider does not support configuration yet."}),!0)}return!1}function Iae(t,e){let r="/api/providers/current/config/";if(t.startsWith(r)){let i=decodeURIComponent(t.slice(r.length)).trim();return i?[i]:void 0}let n=e.searchParams.getAll("key").map(i=>i.trim()).filter(Boolean);return n.length>0?n:void 0}function ep(t){let r=t.providerRegistry.get("codex");return r?.effectiveEnv?r.effectiveEnv(t.env):t.env}async function zA(t,e){let r=await t.status({env:e.env,force:!0});return{providerId:t.providerId,metadata:t.metadata(),fields:await t.readConfig(),status:r,diagnostics:r.diagnostics}}async function eM(t,e){let r=await e(t);return{fields:Array.isArray(r)?r:r.fields??[]}}async function tM(t,e){try{return await e(t)}catch{return{}}}import{existsSync as Eae}from"node:fs";var kae=["local-pairing","project-finder","roadmap-registry","artifact-actions","connection-status","headless-daemon","remote-ready"],Rae={minBridgeVersion:dn,requiredProtocolVersion:hu,requiredFeatures:["local-pairing","connection-status"]};function rl(){return{bridgeVersion:dn,protocolVersion:hu,supportedFeatures:[...kae]}}function iM(t,e,r="0.1.0"){if(nM(t.bridgeVersion,e.minBridgeVersion)<0)return{compatible:!1,reason:"bridge_update_needed",message:`Bridge ${t.bridgeVersion} is older than required ${e.minBridgeVersion}.`};if(t.protocolVersion!==e.requiredProtocolVersion)return{compatible:!1,reason:"bridge_update_needed",message:`Bridge protocol ${t.protocolVersion} does not match required ${e.requiredProtocolVersion}.`};let n=e.requiredFeatures.find(i=>!t.supportedFeatures.includes(i));return n?{compatible:!1,reason:"feature_unavailable",message:`Bridge feature is unavailable: ${n}.`}:t.minSupportedStudioVersion&&nM(r,t.minSupportedStudioVersion)<0?{compatible:!1,reason:"studio_update_needed",message:`Studio ${r} is older than Bridge requires ${t.minSupportedStudioVersion}.`}:{compatible:!0}}function KA(t){let e=[];Aae(t.runtimeConfig.bridgeApi.host)&&e.push("public_bind"),t.repositoryPath&&!Eae(t.repositoryPath)&&e.push("project_missing");let r=t.bridgeVersion??rl(),n=iM(r,t.requirement??Rae,t.studioVersion);n.compatible||e.push("version_mismatch");let i=t.error??(n.compatible?void 0:n.message);return{mode:"local",transport:"direct",health:i===void 0?"connected":"error",auth:t.auth??"paired",projectAccess:t.projectAccess??(t.repositoryPath?"granted":"not_applicable"),bridge:{id:`local:${t.runtimeConfig.bridgeApi.host}:${t.runtimeConfig.bridgeApi.port}`,name:"Local Bridge",version:r.bridgeVersion,protocolVersion:r.protocolVersion,startedAt:t.startedAt,lastSeenAt:new Date().toISOString()},endpoint:{apiUrl:t.bridgeApiUrl},project:t.repositoryPath?{roadmapId:t.roadmapId,displayName:t.roadmapDisplayName,repositoryPath:t.repositoryPath}:void 0,warnings:e,error:i,version:r,compatibility:n}}function nM(t,e){let r=t.split(/[.-]/).map(o=>Number.parseInt(o,10)),n=e.split(/[.-]/).map(o=>Number.parseInt(o,10)),i=Math.max(r.length,n.length);for(let o=0;o<i;o+=1){let s=Number.isFinite(r[o])?r[o]:0,a=Number.isFinite(n[o])?n[o]:0;if(s!==a)return s>a?1:-1}return 0}function Aae(t){return t==="0.0.0.0"||t==="::"||t==="[::]"}async function oM(t,e,r,n){if(t.method==="GET"&&r==="/api/connection/status")return n.sendJson(e,200,n.studioConnectionStatus()),!0;if(t.method==="GET"&&r==="/api/bridge/status")return n.sendJson(e,200,await n.bridgeStatus()),!0;if(t.method==="GET"&&r==="/api/connections"){let i=await n.bridgeStatus();return n.sendJson(e,200,{connections:i.connections}),!0}if(t.method==="GET"&&r==="/api/connections/local"){let i=await n.bridgeStatus();return n.sendJson(e,200,{connection:i.connections.find(o=>o.mode==="local")}),!0}return t.method==="GET"&&r==="/api/connections/remote"?(n.sendJson(e,200,{connections:[]}),!0):t.method==="POST"&&r==="/api/connections/remote/enable"?n.headlessRemote?(n.sendJson(e,202,{enabled:!0,remote:await n.headlessRemote.enable()}),!0):(n.sendJson(e,503,{error:"remote_unavailable",message:"Remote access is owned by the headless Bridge service."}),!0):t.method==="POST"&&r==="/api/connections/remote/disable"?n.headlessRemote?(n.sendJson(e,202,{enabled:!1,remote:await n.headlessRemote.disable()}),!0):(n.sendJson(e,503,{error:"remote_unavailable",message:"Remote access is owned by the headless Bridge service."}),!0):!1}function xu(t,e){let r=JA(t.lifecycle),n=e.redactPath?void 0:t.repositoryPath;return{workspaceId:t.roadmapId,roadmapId:t.roadmapId,displayName:t.displayName,path:n,pathRedacted:e.redactPath||void 0,lifecycle:r,health:Cae(t),backendId:e.backendId??"local",connectionMode:e.connectionMode??"local",provider:{providerId:e.provider.providerId,label:e.provider.label,readyForExecute:e.provider.ready},actions:Pae(r,t.primaryAction)}}function Su(t,e){return t.filter(r=>e.activeOnly!==!0||JA(r.lifecycle)==="active").filter(r=>e.remoteOnly!==!0||r.remoteAccess?.enabled===!0&&JA(r.lifecycle)==="active").map(r=>xu(r,e))}function JA(t){return t==="inactive"||t==="missing"||t==="needs_upgrade"||t==="error"?t:"active"}function Cae(t){return t.lifecycle==="missing"||t.health==="missing"?"missing":t.lifecycle==="needs_upgrade"||t.health==="needs-upgrade"||t.health==="missing-runtime"?"needs_upgrade":t.lifecycle==="error"?"error":t.health==="ok"||t.health==="git-dirty"?"ok":"unknown"}function Pae(t,e){let r=[];return t==="active"?r.push("open_studio","deactivate"):t==="inactive"?r.push("activate","remove"):r.push(e==="repair"?"repair":"remove"),r}async function aM(t,e,r,n){if(await _ae(t,e,r,n))return!0;if(t.method==="GET"&&r==="/api/workspaces"){let i=await n.bridgeStatus();return n.sendJson(e,200,i.workspaces),!0}if(t.method==="GET"&&r==="/api/workspaces/active"){let i=await n.bridgeStatus();return n.sendJson(e,200,{workspaces:i.workspaces.active}),!0}if(t.method==="GET"&&r==="/api/workspaces/managed"){let i=await n.bridgeStatus();return n.sendJson(e,200,{workspaces:i.workspaces.managed}),!0}return t.method==="POST"&&r==="/api/workspaces/add"?(n.sendJson(e,202,await Bae(await n.readJson(t),n)),!0):t.method==="POST"&&r==="/api/workspaces/activate"?(n.sendJson(e,202,await sM(await n.readJson(t),"active",n)),!0):t.method==="POST"&&r==="/api/workspaces/deactivate"?(n.sendJson(e,202,await sM(await n.readJson(t),"inactive",n)),!0):t.method==="POST"&&r==="/api/workspaces/remove"?(n.sendJson(e,202,await Dae(await n.readJson(t),n)),!0):!1}async function _ae(t,e,r,n){return t.method==="GET"&&r==="/api/roadmaps/recent"?(n.sendJson(e,200,{roadmaps:n.recentRoadmaps()}),!0):t.method==="GET"&&r==="/api/roadmaps/managed"?(n.sendJson(e,200,{roadmaps:n.managedRoadmaps()}),!0):t.method==="POST"&&r==="/api/roadmaps/recent/remove"?(n.sendJson(e,202,await n.removeRoadmap(await n.readJson(t))),!0):t.method==="POST"&&r==="/api/roadmaps/activate"?(n.sendJson(e,202,await n.activateRoadmap(await n.readJson(t))),!0):t.method==="POST"&&r==="/api/roadmaps/deactivate"?(n.sendJson(e,202,await n.deactivateRoadmap(await n.readJson(t))),!0):t.method==="POST"&&r==="/api/projects/inspect"?(n.sendJson(e,200,{project:await n.inspectProject(await n.readJson(t))}),!0):t.method==="POST"&&r==="/api/roadmaps/open"?(n.sendJson(e,202,await XA(await n.readJson(t),n.openRoadmap,n)),!0):t.method==="POST"&&r==="/api/roadmaps/port/inspect"?(n.sendJson(e,200,await n.inspectRoadmapPort(await n.readJson(t))),!0):t.method==="POST"&&r==="/api/roadmaps/port/apply"?(n.sendJson(e,202,await XA(await n.readJson(t),n.applyRoadmapPort,n)),!0):t.method==="POST"&&r==="/api/roadmaps/create"?(n.sendJson(e,202,await XA(await n.readJson(t),n.createRoadmap,n)),!0):!1}async function XA(t,e,r){let n=await e(t),i=Tae(n);return i&&r.selectRepository?.(i),n}function Tae(t){if(typeof t!="object"||t===null)return;let e=t.repository;if(typeof e!="object"||e===null)return;let r=e.root;return typeof r=="string"&&r.trim()?r:void 0}async function Bae(t,e){let r=await e.addWorkspace(t);r.repository?.root&&e.selectRepository?.(r.repository.root);let n=await e.currentProvider();return{workspace:xu(r.roadmap,{provider:n}),workspaces:Su(e.managedRoadmaps(),{provider:n})}}async function sM(t,e,r){let n=await r.setWorkspaceLifecycle(t,e),i=await r.currentProvider();return{workspace:n.roadmap?xu(n.roadmap,{provider:i}):void 0,workspaces:Su(n.roadmaps,{provider:i})}}async function Dae(t,e){let r=await e.removeWorkspace(t),n=await e.currentProvider();return{removed:r.removed,workspaces:Su(r.roadmaps,{provider:n})}}function YA(t){return{backendId:"local",mode:"local",label:t.label??"This computer",provider:t.provider,connection:t.running===!1?{state:"not_running"}:{state:"connected"},workspaces:t.workspaces}}import{existsSync as Mae,readFileSync as Lae}from"node:fs";var tp=["remote.access","execute.start","artifactAction.run","env.read","hostAlias.expose"];var ja="hunsu.bridge.workspaces.v1";function Bb(t){return{async read(){let e=await ii(t.workspacesFile);return e===void 0?{schema:ja,workspaces:[]}:cM(t.workspacesFile,e)},async write(e){await bn(t.workspacesFile,cM(t.workspacesFile,e))}}}function cM(t,e){if(!QA(e)||e.schema!==ja||!Array.isArray(e.workspaces))throw Ue(t,`expected schema ${ja} and a workspaces array`);let r=e.workspaces.map((o,s)=>Nae(t,o,s)),n=new Set,i=new Set;for(let o of r){if(n.has(o.workspaceId))throw Ue(t,`duplicate workspaceId ${o.workspaceId}`);if(i.has(o.repositoryPath))throw Ue(t,"duplicate repositoryPath");n.add(o.workspaceId),i.add(o.repositoryPath)}return{schema:ja,workspaces:r}}function Nae(t,e,r){if(!QA(e))throw Ue(t,`workspaces[${r}] must be an object`);let n=e.lifecycle;if(n!=="active"&&n!=="inactive")throw Ue(t,`workspaces[${r}].lifecycle is invalid`);return{workspaceId:rp(t,`workspaces[${r}].workspaceId`,e.workspaceId),displayName:rp(t,`workspaces[${r}].displayName`,e.displayName),repositoryPath:rp(t,`workspaces[${r}].repositoryPath`,e.repositoryPath),lifecycle:n,...Oae(t,e.remoteAccess,r),createdAt:rp(t,`workspaces[${r}].createdAt`,e.createdAt),updatedAt:rp(t,`workspaces[${r}].updatedAt`,e.updatedAt)}}function Oae(t,e,r){if(e===void 0)return{};if(!QA(e)||typeof e.enabled!="boolean"||!Array.isArray(e.scopes))throw Ue(t,`workspaces[${r}].remoteAccess must contain enabled and scopes`);let n=e.scopes.map((i,o)=>{let s=rp(t,`workspaces[${r}].remoteAccess.scopes[${o}]`,i);if(!tp.includes(s))throw Ue(t,`workspaces[${r}].remoteAccess.scopes[${o}] is unsupported`);return s});return{remoteAccess:{enabled:e.enabled,scopes:[...new Set(n)]}}}function rp(t,e,r){if(typeof r!="string"||r.trim()==="")throw Ue(t,`${e} must be non-empty`);return r}function QA(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function uM(t){let e=Uae(t);return!e?.connect||e.connect.state!=="registered"?{available:e!==void 0,signedIn:!1}:e.connect.refreshToken?{available:!0,signedIn:!0,userId:e.connect.accountId}:{available:!0,signedIn:!1}}function dM(t){let e=Hae(t)?.provider;return e?.kind==="codex"?Jo({binaryPath:e.binaryPath,codexHome:e.home,appServerCommand:e.appServerCommand,appServerArgs:e.appServerArgs,installChannel:e.installChannel,authenticationPreference:e.authenticationPreference}):{}}function Hae(t){let e=uo({env:t}).configFile,r=lM(e);if(r!==void 0)try{return eu(e,r)}catch{return}}function Uae(t){let e=lM(uo({env:t}).credentialsFile);return e?.schema===Ud?e:void 0}function lM(t){if(Mae(t))try{return JSON.parse(Lae(t,"utf8"))}catch{return}}async function ZA(t,e,r={}){return t.current().status({env:e,force:r.force})}function $ae(t,e){let r=uM(e.processEnv);return r.signedIn?{signedIn:!0,userId:r.userId,source:"daemon"}:{signedIn:!1,source:r.available?"daemon":"none"}}async function bu(t){return Fae({providerRegistry:t.providerRegistry,env:t.runtimeConfig.processEnv,managedRoadmaps:t.managedRoadmaps(),account:$ae(t.request,t.runtimeConfig)})}async function Fae(t){let e=await ZA(t.providerRegistry,t.env),r=Su(t.managedRoadmaps,{provider:e,activeOnly:!0}),n=Su(t.managedRoadmaps,{provider:e,activeOnly:!1});return{provider:e,connections:[YA({provider:e,workspaces:r})],workspaces:{active:r,managed:n},account:t.account}}import{createServer as jae}from"node:http";function fM(t,e={}){let r=jae(t),n=e.runtimeConfig;return n?.bridgeApi.port===0&&r.once("listening",()=>{let i=r.address();!i||typeof i=="string"||qae(n,i.port)}),r}function pM(t){return new URL(t.url??"/","http://localhost")}function qae(t,e){t.bridgeApi={...t.bridgeApi,port:e},t.processEnv.HUNSU_BRIDGE_PORT=String(e),t.codexAppServer.environment.HUNSU_BRIDGE_PORT=String(e)}function eC(t){return t==="/health"}function mM(t){return eC(t)}function tC(t){return t==="/api/bridge/control/status"||t==="/api/bridge/pairing/rotate"||t==="/api/bridge/pairing/revoke"||t==="/api/bridge/control/shutdown"}async function hM(t,e,r,n){if(await Wae(r,n))return!0;if(t.method==="GET"&&r==="/api/board")return n.sendJson(e,200,n.board()),!0;if(t.method==="GET"&&r==="/api/roadmap")return n.sendJson(e,200,n.roadmapView()),!0;if(t.method==="GET"&&r==="/api/events")return n.sendJson(e,200,{events:n.events()}),!0;if(t.method==="GET"&&r==="/api/repository")return n.sendJson(e,200,{repository:n.repository()}),!0;if(t.method==="POST"&&r==="/api/repository")return n.sendJson(e,202,await n.selectRepository(await n.readJson(t))),!0;if(t.method==="GET"&&r==="/api/worktree")return n.sendJson(e,200,n.worktree()),!0;if(t.method==="GET"&&r==="/api/artifacts")return n.sendJson(e,200,{artifacts:n.artifacts()}),!0;if(t.method==="GET"&&r.startsWith("/api/artifacts/")){let i=decodeURIComponent(r.slice(15)),o=n.artifact(i);return n.sendJson(e,o?200:404,o?{artifact:o}:{error:`Unknown artifact: ${i}`}),!0}if(t.method==="GET"&&r==="/api/skills")return n.sendJson(e,200,{skills:n.skills()}),!0;if(t.method==="GET"&&r.startsWith("/api/moves/")&&r.endsWith("/diff")){let i=decodeURIComponent(r.slice(11,-5));return n.sendJson(e,200,{diff:n.moveDiff(i)}),!0}return t.method==="POST"&&r==="/api/commands"?(n.sendJson(e,202,await n.executeCommands(await n.readJson(t))),!0):t.method==="POST"&&r==="/api/lines/accept"?(n.sendJson(e,202,await n.decideLine("accept",await n.readJson(t))),!0):t.method==="POST"&&r==="/api/lines/reject"?(n.sendJson(e,202,await n.decideLine("reject",await n.readJson(t))),!0):!1}async function gM(t,e,r,n){let i=Vae(r);if(!i)return!1;let o=n.repositoryPath(i.roadmapId),s=i.suffix;if(t.method==="GET"&&s==="")return n.sendJson(e,200,n.loadRoadmap(i.roadmapId,o)),!0;if(t.method==="GET"&&s==="/board")return n.sendJson(e,200,n.board(i.roadmapId,o)),!0;if(t.method==="GET"&&s==="/roadmap")return n.sendJson(e,200,n.roadmapView(i.roadmapId,o)),!0;if(t.method==="GET"&&s==="/events")return n.sendJson(e,200,{events:n.events(i.roadmapId,o)}),!0;if(t.method==="GET"&&s==="/repository")return n.sendJson(e,200,{repository:n.repository(i.roadmapId,o)}),!0;if(t.method==="GET"&&s==="/worktree")return n.sendJson(e,200,n.worktree(i.roadmapId,o)),!0;if(t.method==="GET"&&s==="/artifacts")return n.sendJson(e,200,{artifacts:n.artifacts(i.roadmapId,o)}),!0;if(t.method==="GET"&&s.startsWith("/artifacts/")){let c=decodeURIComponent(s.slice(11)),u=n.artifact(i.roadmapId,o,c);return n.sendJson(e,u?200:404,u?{artifact:u}:{error:`Unknown artifact: ${c}`}),!0}if(s==="/artifact-actions"||s.startsWith("/artifact-actions/")||s==="/action-runs"||s.startsWith("/action-runs/"))return n.artifactActions(s,i.roadmapId,o);if(s==="/hunsu/drafts"||s.startsWith("/hunsu/drafts/"))return n.hunsuDrafts(s.slice(13),i.roadmapId,o);if(await n.executes(s,i.roadmapId,o))return!0;if(t.method==="GET"&&s==="/skills")return n.sendJson(e,200,{skills:n.skills(i.roadmapId,o)}),!0;let a=Gae(s);if(a&&t.method==="GET"){let u=new URL(t.url??"/","http://localhost").searchParams.get("path")??void 0;if(a.action==="tree")return n.sendJson(e,200,{tree:n.moveFileTree(i.roadmapId,o,a.moveId,u)}),!0;if(a.action==="blob")return n.sendJson(e,200,{blob:n.moveFileBlob(i.roadmapId,o,a.moveId,u??"")}),!0;if(a.action==="diff")return n.sendJson(e,200,{diff:n.moveDiff(i.roadmapId,o,a.moveId)}),!0}if(t.method==="GET"&&s.startsWith("/moves/")&&s.endsWith("/diff")){let c=decodeURIComponent(s.slice(7,-5));return n.sendJson(e,200,{diff:n.moveDiff(i.roadmapId,o,c)}),!0}return t.method==="POST"&&s==="/commands"?(n.sendJson(e,202,await n.executeCommands(i.roadmapId,o,await n.readJson(t))),!0):t.method==="POST"&&s==="/lines/accept"?(n.sendJson(e,202,await n.decideLine(i.roadmapId,o,"accept",await n.readJson(t))),!0):t.method==="POST"&&s==="/lines/reject"?(n.sendJson(e,202,await n.decideLine(i.roadmapId,o,"reject",await n.readJson(t))),!0):!1}async function Wae(t,e){return t==="/api/artifact-actions"||t.startsWith("/api/artifact-actions/")||t==="/api/action-runs"||t.startsWith("/api/action-runs/")?e.artifactActions(t):!1}function Vae(t){let e="/api/roadmaps/";if(!t.startsWith(e))return;let r=t.slice(e.length),[n,...i]=r.split("/");if(n)return{roadmapId:decodeURIComponent(n),suffix:i.length>0?`/${i.join("/")}`:""}}function Gae(t){if(!t.startsWith("/moves/"))return;let e=t.slice(1).split("/");if(e.length<4||e[0]!=="moves"||e[2]!=="files")return;let r=decodeURIComponent(e[1]??"");if(e[3]==="tree")return{action:"tree",moveId:r};if(e[3]==="blob")return{action:"blob",moveId:r};if(e[3]==="diff")return{action:"diff",moveId:r}}function Us(){return{"access-control-allow-methods":"GET,HEAD,POST,PUT,DELETE,OPTIONS","access-control-allow-headers":"authorization,content-type,x-hunsu-bridge-token,x-hunsu-bridge-control-token","access-control-allow-private-network":"true","access-control-max-age":"600",vary:"origin, access-control-request-method, access-control-request-headers, access-control-request-private-network"}}function yM(){let t=new WeakMap;return{set(e,r){t.set(e,r)},get(e){return t.get(e)??Us()}}}import{randomBytes as zae,timingSafeEqual as Kae}from"node:crypto";var Jae=300*1e3;function Db(t){if(!t.controlToken.trim())throw new Error("Control token is required before pairing can be enabled.");let e=t.ttlMs??Jae;if(!Number.isFinite(e)||e<=0)throw new Error("Pairing TTL must be positive.");let r=t.now??Date.now,n=t.randomBytes??zae,i;if(t.initialPairing){let a=t.initialPairing.credential.trim();if(!a||rC(t.controlToken,a))throw new Error("Initial pairing credential must be non-empty and distinct from the control token.");let c=vM(t.initialPairing.browserUrl);if(!c)throw new Error("Initial pairing browser URL is invalid.");let u=`pair_${Buffer.from(n(12)).toString("base64url")}`;c.searchParams.set("hunsuBridgeToken",a),t.initialPairing.workspaceId&&c.searchParams.set("workspace",t.initialPairing.workspaceId),i={pairingId:u,credential:a,pairingUrl:c.toString(),workspaceId:t.initialPairing.workspaceId??null,expiresAtMs:r()+e,browserOpened:!1,consumed:!1,revoked:!1}}let o=a=>({pairingId:a.pairingId,expiresAt:new Date(a.expiresAtMs).toISOString(),workspaceId:a.workspaceId,browserOpened:a.browserOpened,status:a.revoked?"revoked":r()>=a.expiresAtMs?"expired":a.consumed?"consumed":"active"}),s=a=>!i||!rC(i.credential,a)?oe({code:"PAIRING_CREDENTIAL_INVALID",message:"Pairing credential is invalid."}):i.revoked?oe({code:"PAIRING_CREDENTIAL_REVOKED",message:"Pairing credential has been revoked."}):r()>=i.expiresAtMs?oe({code:"PAIRING_CREDENTIAL_EXPIRED",message:"Pairing credential has expired."}):S({pairingId:i.pairingId,workspaceId:i.workspaceId,expiresAt:new Date(i.expiresAtMs).toISOString()});return{rotate(a){let c=vM(a.browserUrl);if(!c)return oe({code:"PAIRING_ROTATION_FAILED",message:"Browser URL is invalid."});let u=`hunsu_bridge_pair_${Buffer.from(n(32)).toString("base64url")}`;if(u===t.controlToken)return oe({code:"PAIRING_ROTATION_FAILED",message:"Pairing credential generation failed."});let d=`pair_${Buffer.from(n(12)).toString("base64url")}`;return c.searchParams.set("hunsuBridgeToken",u),a.workspaceId&&c.searchParams.set("workspace",a.workspaceId),i&&(i.revoked=!0),i={pairingId:d,credential:u,pairingUrl:c.toString(),workspaceId:a.workspaceId??null,expiresAtMs:r()+e,browserOpened:!1,consumed:!1,revoked:!1},S({safe:o(i),internal:{pairingId:d,credential:u,pairingUrl:i.pairingUrl}})},consume(a){let c=s(a);return c.ok&&i&&(i.consumed=!0),c},validate(a){return a?!i||!rC(i.credential,a)?{valid:!1,reason:"invalid"}:i.revoked?{valid:!1,reason:"revoked"}:r()>=i.expiresAtMs?{valid:!1,reason:"expired"}:{valid:!0}:{valid:!1,reason:"missing"}},revoke(a){return!i||a!==void 0&&i.pairingId!==a?!1:(i.revoked=!0,!0)},markBrowserOpened(a){return!i||i.pairingId!==a||i.revoked||r()>=i.expiresAtMs?!1:(i.browserOpened=!0,!0)},getSafeMetadata(){return i?o(i):null},getPairingUrl(a){if(!i||i.pairingId!==a)return oe({code:"PAIRING_CREDENTIAL_INVALID",message:"Pairing credential is invalid."});let c=s(i.credential);return c.ok?S(i.pairingUrl):c}}}function vM(t){try{let e=new URL(t);return e.protocol==="http:"||e.protocol==="https:"?e:void 0}catch{return}}function rC(t,e){let r=Buffer.from(t),n=Buffer.from(e);return r.length===n.length&&Kae(r,n)}import{unlink as Xae}from"node:fs/promises";import{isAbsolute as Yae}from"node:path";var Wg="hunsu.bridge.runtime.v1";function Nb(t){let e=async()=>{let r=await ii(t.runtimeFile);return r===void 0?void 0:xM(t.runtimeFile,r)};return{read:e,async write(r){await bn(t.runtimeFile,xM(t.runtimeFile,r))},async clear(r){if(r!==void 0){let n=await e();if(n===void 0||n.instanceId!==r)return!1}try{return await Xae(t.runtimeFile),!0}catch(n){if(er(n)&&n.code==="ENOENT")return!1;throw n}}}}function xM(t,e){if(!tce(e)||e.schema!==Wg)throw Ue(t,`expected schema ${Wg}`);if(!Number.isInteger(e.daemonPid)||e.daemonPid<=0)throw Ue(t,"daemonPid must be a positive integer");let r=e.serviceManager;if(r!=="development"&&r!=="windows-task-scheduler"&&r!=="macos-launch-agent"&&r!=="linux-systemd-user")throw Ue(t,"serviceManager is invalid");return{schema:Wg,instanceId:np(t,"instanceId",e.instanceId),daemonPid:e.daemonPid,version:np(t,"version",e.version),protocolVersion:Zae(t,e.protocolVersion),deploymentProfile:Qae(t,e.deploymentProfile),startedAt:np(t,"startedAt",e.startedAt),endpoint:np(t,"endpoint",e.endpoint),runtimePath:ece(t,"runtimePath",e.runtimePath),serviceManager:r,lastHealthyAt:np(t,"lastHealthyAt",e.lastHealthyAt)}}function Qae(t,e){if(e===void 0)return"production";if(!wn(e))throw Ue(t,"deploymentProfile must be production or preview");return e}function Zae(t,e){if(e!=="local-bridge-v1")throw Ue(t,"protocolVersion must be local-bridge-v1");return e}function np(t,e,r){if(typeof r!="string"||r.trim()==="")throw Ue(t,`${e} must be non-empty`);return r}function ece(t,e,r){let n=np(t,e,r);if(!Yae(n)||/[\u0000-\u001f\u007f]/u.test(n))throw Ue(t,`${e} must be an absolute path without control characters`);return n}function tce(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function bM(t){let e={...t.env??{}},r=new Set,n=o=>new el({env:()=>e,settings:wu(o.provider)}),i=o=>{for(let s of r)try{s(SM(o))}catch{}};return{async list(){return[{providerId:"codex",label:"Codex",configured:(await t.configStore.read()).provider.kind==="codex"}]},async configuration(){return SM((await t.configStore.read()).provider)},async status(o=!1){let s=await t.configStore.read();return n(s).status({force:o,env:e})},async setCodex(o){let a={...await t.configStore.read(),provider:{kind:"codex",...o.binaryPath?.trim()?{binaryPath:o.binaryPath.trim()}:{},...o.home?.trim()?{home:o.home.trim()}:{},...o.appServerCommand?.trim()?{appServerCommand:o.appServerCommand.trim()}:{},...o.appServerArgs?.trim()?{appServerArgs:o.appServerArgs.trim()}:{},...o.installChannel?{installChannel:o.installChannel}:{},...o.authenticationPreference?{authenticationPreference:o.authenticationPreference}:{}}},c=await n(a).status({force:!0,env:e});if(!c.installed)throw new Fe("PROVIDER_BINARY_NOT_FOUND",c.safeMessage??"Codex was not found by Hunsu Bridge.");if(!c.configured)throw new Fe("PROVIDER_CHECK_FAILED",c.safeMessage??"Codex could not initialize its app-server.");let u=await t.configStore.update(d=>({...d,provider:a.provider}));return i(u.provider),c},async resetCodex(){let o=await t.configStore.update(s=>({...s,provider:{kind:"unconfigured"}}));return i(o.provider),n(o).status({force:!0,env:e})},onConfigurationChange(o){return r.add(o),()=>r.delete(o)}}}function wM(t){let e=async()=>new el({env:t.env,settings:wu(await t.service.configuration())}),r={providerId:"codex",kind:"codex",label:"Codex",metadata:()=>Ab,async readConfig(){return Cb(wu(await t.service.configuration()))},async validateConfig(i){return(await e()).validateConfig(i)},async saveConfig(i){let o=wu(await t.service.configuration());return t.service.setCodex(nC(Zd(o,i)))},async deleteConfig(i){if(!i?.length)return t.service.resetCodex();let o=wu(await t.service.configuration()),s=Zd(o,i.map(a=>({key:a,value:"",isSet:!1,isSecret:!1})));return t.service.setCodex(nC(s))},status:i=>t.service.status(i?.force),async installPlan(){return(await e()).installPlan()},async install(i){return(await e()).install(i)},async login(i){return(await e()).login(i)},recheck:()=>t.service.status(!0),async configure(i){if(i.authMethod==="api_key")return(await e()).configure(i);let o=wu(await t.service.configuration()),s=i.binaryPath?.trim()||i.selectBinaryPath?.trim(),a={...o,...s?{binaryPath:s}:{}};return i.clearBinaryPath&&delete a.binaryPath,t.service.setCodex(nC(a))},effectiveEnv:i=>({...t.env(),...i??{}})},n=t.fallback.list().map(i=>i.providerId==="codex"?r:i);return n.some(i=>i.providerId==="codex")||n.unshift(r),{list:()=>[...n],get:i=>i==="codex"?r:n.find(o=>o.providerId===i),current:()=>r,async setCurrent(i){i!=="codex"&&await t.fallback.setCurrent(i)}}}function wu(t){return t.kind==="codex"?Jo({binaryPath:t.binaryPath,codexHome:t.home,appServerCommand:t.appServerCommand,appServerArgs:t.appServerArgs,installChannel:t.installChannel,authenticationPreference:t.authenticationPreference}):{}}function nC(t){return{...t.binaryPath?{binaryPath:t.binaryPath}:{},...t.codexHome?{home:t.codexHome}:{},...t.appServerCommand?{appServerCommand:t.appServerCommand}:{},...t.appServerArgs?{appServerArgs:t.appServerArgs}:{},...t.installChannel?{installChannel:t.installChannel}:{},...t.authenticationPreference?{authenticationPreference:t.authenticationPreference}:{}}}function SM(t){return{...t}}var rce="/studio/settings/model-aliases",nce="1970-01-01T00:00:00.000Z",Vg={primary:"PrimaryModel",fast:"FastModel",reviewer:"ReviewerModel",cheap:"CheapModel"};function EM(t=nce){return[Ob(Vg.primary,"Primary Model",{kind:"direct",provider:{providerId:"codex",model:"gpt-5.5-thinking",reasoningEffort:"high",serviceTier:"default"}},t),Ob(Vg.fast,"Fast Model",{kind:"direct",provider:{providerId:"codex",model:"gpt-5.5",reasoningEffort:"medium",serviceTier:"fast"}},t),Ob(Vg.reviewer,"Reviewer Model",{kind:"direct",provider:{providerId:"codex",model:"gpt-5.5-thinking",reasoningEffort:"xhigh",serviceTier:"default"}},t),Ob(Vg.cheap,"Cheap Model",{kind:"direct",provider:{providerId:"codex",model:"gpt-5.5",reasoningEffort:"low",serviceTier:"default"}},t)]}function ice(t,e="local"){let r=Wa(e.trim()||"local","providerInventory.backendId");return t.modelInventory.state==="unavailable"?oe({code:"PROVIDER_INVENTORY_UNAVAILABLE",backendId:r,providerId:t.providerId,message:t.modelInventory.message}):S({providerId:t.providerId,label:Wa(t.label,"providerInventory.label"),ready:t.ready,authState:t.auth.state,models:t.modelInventory.models})}function oC(){return{backendId:Wa("local","providerInventory.backendId"),providers:[{providerId:"codex",label:Wa("Codex","providerInventory.label"),ready:!0,authState:"authenticated",models:$g()}]}}function sC(t){let e=t.backendId?.trim(),r=e?t.connections?.find(s=>s.backendId===e):t.connections?.find(s=>s.mode==="local");if(e&&!r)return $s(e);let n=r?.backendId??"local",i=r?.provider??t.provider;if(!i)return $s(n);let o=ice(i,n);return o.ok?S({backendId:Wa(n,"providerInventory.backendId"),providers:[o.value]}):o}function $s(t,e=`Backend ${t.trim()||"local"} is not available on this Bridge.`){return oe({code:"BACKEND_UNAVAILABLE",backendId:Wa(t.trim()||"local","providerInventory.backendId"),message:e})}function kM(t,e,r){return oe({code:"PROVIDER_INVENTORY_UNAVAILABLE",backendId:Wa(t.trim()||"local","providerInventory.backendId"),providerId:e,message:r})}function nl(t){let e=t.backendId?.trim()||"local",r=t.selection??{kind:"alias",aliasId:Vg.primary},n=t.aliases===void 0?EM():t.aliases;if(r.kind==="direct")return iC(r,t.inventories,e);let i=n.find(s=>s.aliasId===r.aliasId);if(!i)return{ok:!1,backendId:e,error:qa("MODEL_ALIAS_NOT_FOUND",`Model alias ${r.aliasId} does not exist.`,{aliasId:r.aliasId,actions:[Mb()]})};let o=t.overrides?.find(s=>s.aliasId===i.aliasId&&s.backendId===e);return iC(o?.selection??i.selection,t.inventories,e)}function iC(t,e,r="local"){let n=r.trim()||"local",i=t.provider,o=e.find(l=>l.providerId===i.providerId);if(!o)return{ok:!1,backendId:n,error:qa("PROVIDER_NOT_READY",`Provider ${i.providerId} is not available for model selection.`,{providerId:i.providerId,actions:[IM(i.providerId)]})};if(o.authState==="not_authenticated"||o.authState==="expired"||o.authState==="invalid")return{ok:!1,backendId:n,error:qa("PROVIDER_LOGIN_REQUIRED",`${o.label} login is required before this model can run.`,{providerId:i.providerId,actions:[oce(i.providerId,o.label)]})};if(!o.ready)return{ok:!1,backendId:n,error:qa("PROVIDER_NOT_READY",`${o.label} is not ready for Execute.`,{providerId:i.providerId,actions:[IM(i.providerId)]})};let s=o.models.find(l=>l.model===i.model);if(!s)return i.experimental===!0?{ok:!0,backendId:n,selection:t,resolved:i,provider:{providerId:i.providerId,ready:o.ready},model:{providerId:i.providerId,model:i.model,experimental:!0}}:{ok:!1,backendId:n,error:qa("MODEL_UNSUPPORTED",`${o.label} does not advertise model ${i.model}.`,{providerId:i.providerId,model:i.model,actions:[Mb()]})};let a=s.capabilities.reasoningEfforts??[],c=i.reasoningEffort??s.defaultConfig?.reasoningEffort;if(c&&a.length>0&&!a.includes(c))return{ok:!1,backendId:n,error:qa("REASONING_UNSUPPORTED",`${s.label} does not support ${c} reasoning.`,{providerId:i.providerId,model:i.model,actions:[Mb()]})};let u=s.capabilities.serviceTiers??[],d=i.serviceTier??s.defaultConfig?.serviceTier;return d&&u.length>0&&!u.includes(d)?{ok:!1,backendId:n,error:qa("SERVICE_TIER_UNSUPPORTED",`${s.label} does not support the ${d} service tier.`,{providerId:i.providerId,model:i.model,actions:[Mb()]})}:{ok:!0,backendId:n,selection:t,resolved:i,provider:{providerId:i.providerId,ready:o.ready},model:s}}function il(t){return{ok:!1,backendId:t.backendId,error:t.code==="BACKEND_UNAVAILABLE"?qa(t.code,t.message,{actions:[ace(t.backendId)]}):qa(t.code,t.message,{providerId:t.providerId,actions:[sce(t.providerId)]})}}function Iu(t,e){if(t.error==="BACKEND_UNAVAILABLE"){let r=e.startsWith("remote:")||e==="remote";return{area:"connection",backendId:e,error:r?"REMOTE_NOT_CONNECTED":"BRIDGE_NOT_CONNECTED",message:t.message,actions:t.actions}}return{area:"model",backendId:e,providerId:t.providerId,aliasId:t.aliasId,model:t.model,error:t.error,message:t.message,actions:t.actions}}function Ob(t,e,r,n){return{aliasId:Wa(t,"modelAlias.aliasId"),displayName:Wa(e,"modelAlias.displayName"),selection:r,scope:{kind:"user"},createdAt:n,updatedAt:n}}function qa(t,e,r){return{error:t,message:e,...r}}function IM(t){return{type:"open_provider_setup",label:"Run hunsu-bridge provider status",href:"/studio/setup?next=%2Fstudio",providerId:t}}function oce(t,e){return{type:"login_provider",label:`Check ${e} with hunsu-bridge provider check ${t}`,href:"/studio/setup?next=%2Fstudio",providerId:t}}function sce(t){return{type:"recheck_provider",label:`Run hunsu-bridge provider check ${t}`,href:"/studio/setup?next=%2Fstudio",providerId:t}}function ace(t){return{type:"open_connection",label:t.startsWith("remote:")||t==="remote"?"Run hunsu-bridge remote status":"Run hunsu-bridge status",href:"/studio/setup?next=%2Fstudio"}}function Mb(){return{type:"edit_model_alias",label:"Edit Model Alias",href:rce}}function Wa(t,e){return Zt(Ie(t,e))}var Kn="/studio/setup?next=%2Fstudio",RM="/studio";function Lb(t){if(!t.installed){let e=t.recommendedAction==="select_binary"?{type:"open_provider_setup",label:`Run hunsu-bridge provider set ${t.providerId} --binary <path>`,href:Kn,providerId:t.providerId}:{type:"install_provider",label:`Install ${t.label}, then run hunsu-bridge provider check ${t.providerId}`,href:Kn,providerId:t.providerId};return ip(t,"PROVIDER_MISSING",t.safeMessage??`${t.label} is not installed or could not be found.`,[e])}if(!t.configured)return ip(t,"PROVIDER_UNAVAILABLE",`${t.label} is installed but unavailable.`,[{type:"recheck_provider",label:`Run hunsu-bridge provider check ${t.providerId}`,href:Kn,providerId:t.providerId}]);if(t.auth.state==="not_authenticated")return ip(t,"PROVIDER_LOGIN_REQUIRED",`${t.label} login is required before Execute can start.`,[{type:"login_provider",label:`Run hunsu-bridge provider check ${t.providerId}`,href:Kn,providerId:t.providerId}]);if(t.auth.state==="expired"||t.auth.state==="invalid")return ip(t,"PROVIDER_AUTH_EXPIRED",`${t.label} authentication needs to be refreshed.`,[{type:"login_provider",label:`Run hunsu-bridge provider check ${t.providerId}`,href:Kn,providerId:t.providerId},{type:"recheck_provider",label:`Recheck with hunsu-bridge provider check ${t.providerId}`,href:Kn,providerId:t.providerId}]);if(t.usage?.rateLimited)return ip(t,"PROVIDER_RATE_LIMITED",`${t.label} is temporarily rate limited.`,[{type:"recheck_provider",label:`Run hunsu-bridge provider check ${t.providerId}`,href:Kn,providerId:t.providerId}]);if(!t.capabilities.canExecute)return ip(t,"PROVIDER_CAPABILITY_MISSING",`${t.label} cannot execute Hunsu workspaces.`,[{type:"open_provider_setup",label:"Run hunsu-bridge provider status",href:Kn}])}function aC(t){if(!t)return Gg(void 0,"WORKSPACE_MISSING","Choose an active Workspace before starting Execute.");if(t.lifecycle==="inactive")return Gg(t.workspaceId,"WORKSPACE_INACTIVE","This Workspace is inactive. Activate it in Hunsu Bridge before starting Execute.");if(t.lifecycle==="missing")return Gg(t.workspaceId,"WORKSPACE_MISSING","This Workspace path is missing. Repair or remove it in Hunsu Bridge.");if(t.lifecycle==="needs_upgrade")return Gg(t.workspaceId,"WORKSPACE_NEEDS_UPGRADE","This Workspace needs an upgrade before Execute can start.");if(t.lifecycle==="error"||t.health==="error"||t.health==="unknown")return Gg(t.workspaceId,"WORKSPACE_UNHEALTHY","This Workspace needs attention before Execute can start.")}function CM(t,e){return aC(t?xu(t,{provider:e}):void 0)}function cce(t,e,r){let n=Eu(t),i=Ub(e.connections,n),o=i?.provider??r.provider,s=BM(t.workspace?.workspaceId,r.workspace?.workspaceId),a=i?.workspaces.find(u=>u.workspaceId===s||u.roadmapId===s),c=i?.mode==="remote"?a:a??r.workspace;return aC(c)??Lb(o)}function cC(t,e){let r=t.aliases;if(!t.modelSelection&&!r?.length)return;let n=uC(t,e);if(!n.ok){let s=il(n.error);return Iu(s.error,s.backendId)}let i=n.value,o=nl({selection:t.modelSelection,aliases:r,backendId:i.backendId,inventories:i.providers});return o.ok?void 0:Iu(o.error,o.backendId)}function uC(t,e){let r=Eu(t),n=Ub(e.connections,r);if(r.backendId&&!n)return $s(r.backendId,`Backend ${r.backendId} is not connected to this Bridge.`);if(r.remoteRequested&&!n)return $s("remote","No Remote Bridge backend is connected.");let i=e.connections.find(s=>s.mode==="local"),o=n??i;return sC({connections:e.connections,backendId:r.backendId??o?.backendId??"local"})}async function dC(t,e,r){let n=fC(t,e);if(n)return n;let i=Eu(t),o=Ub(e.connections,i)??(i.remoteRequested?void 0:e.connections.find(u=>u.mode==="local")),s=o?Lb(o.provider):void 0;if(s)return s;let a=await r.providerInventory();if(!a.ok){let u=il(a.error);return Iu(u.error,u.backendId)}let c=new Set;for(let u of await r.modelSelections()){if(!u.selection&&!u.aliases?.length)continue;let d=JSON.stringify(u);if(c.has(d))continue;c.add(d);let l=nl({selection:u.selection,aliases:u.aliases,backendId:a.value.backendId,inventories:a.value.providers});if(!l.ok)return Iu(l.error,l.backendId)}}function PM(t,e){return t}function Hb(t){return!!(t.backendId?.trim()||t.connectionMode||t.workspace?.backendId?.trim()||t.workspace?.connectionMode)}async function lC(t,e,r,n){let i=await e.current().status({env:r,force:!0});return n?cce(n.body,n.status,{provider:i,workspace:t?xu(t,{provider:i}):void 0}):CM(t,i)??Lb(i)}async function _M(t){let e=AM(t.repositoryPath),r=t.roadmaps.find(n=>AM(n.repositoryPath)===e);return lC(r,t.registry,t.env,t.selected)}function Eu(t){let e=BM(t.backendId,t.workspace?.backendId),r=e?uce(e)?"remote":"local":t.connectionMode??t.workspace?.connectionMode;return{backendId:e,connectionMode:r,remoteRequested:r==="remote"}}function fC(t,e){let r=Eu(t),n=Ub(e.connections,r);return TM({backend:n,backendId:r.backendId,remoteRequested:r.remoteRequested,accountSignedIn:e.account.signedIn,localBridgeConnected:e.connections.some(i=>i.mode==="local"&&i.connection.state==="connected")})}function TM(t){if(t.localBridgeConnected===!1&&!t.remoteRequested)return ol(t.backendId??"local","BRIDGE_NOT_CONNECTED","Hunsu Bridge is not connected.",[{type:"open_connection",label:"Run hunsu-bridge status",href:Kn}]);if(t.remoteRequested&&t.accountSignedIn===!1)return ol(t.backendId,"REMOTE_LOGIN_REQUIRED","Sign in to Hunsu before using Remote Bridge.",[{type:"open_connection",label:"Run hunsu-bridge login",href:Kn}]);if(!t.backend)return t.remoteRequested?ol(t.backendId,"REMOTE_NOT_CONNECTED","Remote Bridge is not connected.",[{type:"open_connection",label:"Run hunsu-bridge remote status",href:Kn}]):t.backendId?ol(t.backendId,"BRIDGE_NOT_CONNECTED",`Backend ${t.backendId} is not connected to this Bridge.`,[{type:"open_connection",label:"Run hunsu-bridge status",href:Kn}]):void 0;if(t.backend.connection.state!=="connected")return t.backend.connection.state==="login_required"?ol(t.backend.backendId,"REMOTE_LOGIN_REQUIRED","Sign in to Hunsu before using Remote Bridge.",[{type:"open_connection",label:"Run hunsu-bridge login",href:Kn}]):t.backend.mode==="remote"?ol(t.backend.backendId,"REMOTE_NOT_CONNECTED","Remote Bridge is offline or unavailable.",[{type:"open_connection",label:"Run hunsu-bridge remote status",href:Kn}]):ol(t.backend.backendId,"BRIDGE_NOT_CONNECTED","Hunsu Bridge is not connected.",[{type:"open_connection",label:"Run hunsu-bridge status",href:Kn}])}function Ub(t,e){if(e.backendId)return t.find(r=>r.backendId===e.backendId);if(e.connectionMode==="local")return t.find(r=>r.mode==="local");if(e.remoteRequested)return t.find(r=>r.mode==="remote"&&r.connection.state==="connected")??t.find(r=>r.mode==="remote")}function BM(...t){return t.find(e=>e?.trim())?.trim()}function uce(t){return t==="remote"||t.startsWith("remote:")}function AM(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}function ip(t,e,r,n){return{area:"provider",providerId:t.providerId,error:e,message:r,actions:[{type:"open_provider_setup",label:"Run hunsu-bridge provider status",href:Kn,providerId:t.providerId},...n]}}function ol(t,e,r,n){return{area:"connection",backendId:t,error:e,message:r,actions:n}}function Gg(t,e,r){return{area:"workspace",workspaceId:t,error:e,message:r,actions:[{type:"open_workspaces",label:"Run hunsu-bridge workspace list",href:RM},...t?[{type:"activate_workspace",label:`Run hunsu-bridge workspace inspect ${t}`,href:RM,workspaceId:t}]:[]]}}async function DM(t,e,r,n){return OM(t,e,r,n,"/api")}async function NM(t,e,r,n){return OM(t,e,r,n,"")}async function OM(t,e,r,n,i){if(t.method==="GET"&&(r===`${i}/runs`||r===`${i}/executes`)){let o=n.runSummaries();return n.sendJson(e,200,{runs:o,executes:o.map(n.executeView)}),!0}if(t.method==="GET"&&(r===`${i}/runs/events`||r===`${i}/executes/events`))return n.streamLiveEvents(),!0;if(t.method==="POST"&&(r===`${i}/runs/start`||r===`${i}/executes/start`)){let o=await n.readJson(t),s=await dce(o,n);return s?(n.sendJson(e,409,s),!0):(n.sendJson(e,202,await n.startRun(o)),!0)}if(t.method==="POST"&&(r===`${i}/runs/pause`||r===`${i}/executes/pause`))return n.sendJson(e,202,await n.pauseRun(await n.readJson(t))),!0;if(t.method==="POST"&&(r===`${i}/runs/resume`||r===`${i}/executes/resume`)){let o=await n.resumeRun(await n.readJson(t));return o.ok?(n.sendJson(e,202,o.value),!0):(n.sendJson(e,409,o.error),!0)}return t.method==="POST"&&(r===`${i}/runs/stop`||r===`${i}/executes/stop`)?(n.sendJson(e,202,await n.stopRun(await n.readJson(t))),!0):t.method==="POST"&&(r===`${i}/runs/complete-move`||r===`${i}/executes/complete-move`)?(n.sendJson(e,202,await n.completeMove(await n.readJson(t))),!0):lce(t,e,r,n,i)}async function dce(t,e){let r=PM(t,{localBridgeTokenPresent:e.localBridgeTokenPresent()}),n=Hb(r)||r.modelSelection||r.aliases?.length||e.modelPreflight?await e.bridgeStatus():void 0,i=n?fC(r,n):void 0;if(i)return i;let o=n?cC(r,n):void 0;if(o)return o;let s=e.modelPreflight?await e.modelPreflight(r):void 0;if(s)return s;if(e.roadmapId){let a=e.managedRoadmaps().find(c=>c.roadmapId===e.roadmapId);return lC(a,e.providerRegistry,e.env,n?{body:r,status:n}:void 0)}return _M({repositoryPath:e.repositoryPath,registry:e.providerRegistry,roadmaps:e.managedRoadmaps(),env:e.env,selected:n?{body:r,status:n}:void 0})}function lce(t,e,r,n,i){if(t.method==="GET"&&r===`${i}/agent-sessions`)return n.sendJson(e,200,{sessions:n.agentSessions()}),!0;if(t.method==="GET"&&r===`${i}/agent-sessions/events`)return n.streamAgentSessionEvents(),!0;if(t.method==="GET"&&r.startsWith(`${i}/agent-sessions/`)){let o=fce(r.slice(`${i}/agent-sessions`.length));if(o?.action==="show"){let s=n.findAgentSession(o.sessionId);return n.sendJson(e,s?200:404,s?{session:s}:{error:`Unknown AgentSession: ${o.sessionId}`}),!0}if(o?.action==="events")return n.streamAgentSessionEvents(o.sessionId),!0}return!1}function fce(t){if(!t.startsWith("/"))return;if(t.endsWith("/events")){let r=t.slice(1,-7);return r?{action:"events",sessionId:decodeURIComponent(r)}:void 0}let e=t.slice(1);return e?{action:"show",sessionId:decodeURIComponent(e)}:void 0}async function MM(t,e,r,n,i){return t.method==="GET"&&r==="/api/filesystem/roots"?(i.sendJson(e,200,{roots:i.browseRootEntries(i.cwd)}),!0):t.method==="GET"&&r==="/api/filesystem/browse"?(i.sendJson(e,200,i.browse(n.searchParams.get("path")??void 0,{cwd:i.cwd,rootId:n.searchParams.get("rootId")??void 0})),!0):t.method==="POST"&&r==="/api/filesystem/grants"?(i.sendJson(e,201,i.createGrant(await i.readJson(t),{cwd:i.cwd})),!0):!1}var IL=bce(pce),wce=Xn(Ai(Sce(import.meta.url)),"../../.."),LM="# HUNSU-MANAGED-CODEX-ENVIRONMENT v1",WC=".hunsu-materialized-skill",sp=".hunsu-prev",ul=".hunsu-request",e0=["destinations.json","harness.json","executors.json","resources.json","artifact-actions.json"],Ice=e0.map(t=>`${sp}/${t}`),zg=e0.map(t=>`${ul}/${t}`),Ece=[...Ice,...zg],EL="check-command",kce="Hello World Web Project",Rce=["Create a minimal Hello World web project from this empty checkout.","Add the smallest practical web app files, package scripts, and run instructions needed to launch it locally through an Artifact Action from a clean checkout.","Keep the implementation simple and verify the project can be started or built with a concrete command."].join(" "),Ace=[{id:"destination_001",title:"Create a runnable Hello World web app",acceptanceCriteria:["The repository contains a minimal runnable web app.","The app renders Hello World or an equivalent visible greeting in a browser.","A documented package script starts or builds the hosted action surface."],constraints:["Prefer the smallest static or Vite-style implementation that is easy to inspect.","Do not add unrelated product features."],priority:100}],Cce=["Act as Faker, a pragmatic engineer.","Build the smallest working web project that satisfies the goal, prefer simple conventional files and scripts, and verify the result with concrete commands."].join(" "),Pce=["Act as Keria, a careful reviewer.","Verify the completed web project against the goal with concrete evidence, and call out any missing run or build proof."].join(" "),HM="Plan the smallest ExecutionPlan needed for the available engineer Member to create and verify the Hello World web project.",qb=`
|
|
211
|
-
...[truncated]`,Fs=8*1024,or=128*1024,js=32*1024,_ce=100,Tce=256*1024,kL=50,RL=256*1024,Bce=512*1024,Dce=256*1024,Nce=1024*1024,Oce=250,Mce=300,Lce=900*1e3,wC=256*1024,IC=new WeakMap,Yb=yM(),Hce="hunsuBridgeToken",EC="x-hunsu-bridge-token",Uce="x-hunsu-bridge-control-token",$ce=900*1e3,Fce=["http://127.0.0.1:19688","http://localhost:19688"];async function VC(t,e){let r=typeof t=="function"?await t(e):t,n=r.ok?r.value.backendId:r.error.backendId,i=Eu(e);return i.backendId&&n!==i.backendId?$s(i.backendId,`Provider inventory backend ${n} does not match selected backend ${i.backendId}.`):!i.backendId&&i.connectionMode==="remote"&&n==="local"?$s("remote","A remote backend selection requires a remote provider inventory."):!i.backendId&&i.connectionMode!=="remote"&&n!=="local"?$s("local",`Provider inventory backend ${n} does not match the default local backend.`):r}function jce(t=[]){return{events:t,runs:{},agentSessions:{},hunsuDrafts:{},hunsuDraftArtifacts:{},filesystemCapabilities:{},liveSubscribers:new Set,agentSessionSubscribers:new Set}}function AL(t,e){let r=t??Uf(
|
|
211
|
+
...[truncated]`,Fs=8*1024,or=128*1024,js=32*1024,_ce=100,Tce=256*1024,kL=50,RL=256*1024,Bce=512*1024,Dce=256*1024,Nce=1024*1024,Oce=250,Mce=300,Lce=900*1e3,wC=256*1024,IC=new WeakMap,Yb=yM(),Hce="hunsuBridgeToken",EC="x-hunsu-bridge-token",Uce="x-hunsu-bridge-control-token",$ce=900*1e3,Fce=["http://127.0.0.1:19688","http://localhost:19688"];async function VC(t,e){let r=typeof t=="function"?await t(e):t,n=r.ok?r.value.backendId:r.error.backendId,i=Eu(e);return i.backendId&&n!==i.backendId?$s(i.backendId,`Provider inventory backend ${n} does not match selected backend ${i.backendId}.`):!i.backendId&&i.connectionMode==="remote"&&n==="local"?$s("remote","A remote backend selection requires a remote provider inventory."):!i.backendId&&i.connectionMode!=="remote"&&n!=="local"?$s("local",`Provider inventory backend ${n} does not match the default local backend.`):r}function jce(t=[]){return{events:t,runs:{},agentSessions:{},hunsuDrafts:{},hunsuDraftArtifacts:{},filesystemCapabilities:{},liveSubscribers:new Set,agentSessionSubscribers:new Set}}function AL(t,e){let r=t??Uf(k3(e)).webUrl;try{return new URL(r).toString()}catch{throw new Error(`Invalid Studio web URL: ${r}`)}}function qce(t){let e=process.platform==="darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",r=process.platform==="win32"?["/c","start","",t]:[t];return new Promise((n,i)=>{let o=mce(e,r,{detached:!0,stdio:"ignore",windowsHide:!0});o.once("spawn",()=>{o.unref(),n()}),o.once("error",i)})}function GC(t){return qce(t)}function Wce(t,e){let r=dl(t,"host");return r?`http://${_L(e.bridgeApi.host)?r.replace(/^(0\.0\.0\.0|\[::\])(?=:|$)/,"127.0.0.1"):r}`:vS(e.bridgeApi)}function Vce(t,e){let r=typeof t?.controlToken=="function"?al(t.controlToken()):al(t?.controlToken),n=al(t?.authToken),i=Math.max(1,t?.pairingTokenTtlMs??$ce),o=t?.pairingService??(r?Db({controlToken:r,ttlMs:i,...n?{initialPairing:{credential:n,browserUrl:AL(void 0,e.processEnv)}}:{}}):void 0);if(t?.pairingService&&n&&!t.pairingService.validate(n).valid)throw new Error("The supplied pairing service must own the explicit browser auth token.");return{authToken:o?void 0:n,controlToken:typeof t?.controlToken=="function"?t.controlToken:al(t?.controlToken),pairingService:o,allowedOrigins:Yce([...Fce,...Jce(e.processEnv),...t?.allowedOrigins??[]].map(PL).filter(s=>s!==void 0)),allowNoOrigin:t?.allowNoOrigin??!0,requirePairing:t?.requirePairing??!!(t?.authToken||o||t?.pairingValidator),pairingValidator:t?.pairingValidator}}function Gce(t,e,r,n={}){let i=dl(t,"origin"),o=zce(i,r);if(i&&o===void 0)return{allowed:!1,status:403,error:`Origin is not allowed for Hunsu Bridge: ${i}`,code:"origin_not_allowed",corsHeaders:Us()};if(!i&&!r.allowNoOrigin)return{allowed:!1,status:403,error:"Requests without an Origin header are not allowed.",code:"origin_missing",corsHeaders:Us()};let s=o??Us(),a=!n.skipAuth&&r.requirePairing&&!mM(e.pathname)?Kce(t,e,r):{valid:!0};return a.valid?{allowed:!0,corsHeaders:s}:{allowed:!1,status:401,error:a.error,code:a.code,corsHeaders:s}}function zce(t,e){if(!t)return Us();let r=PL(t);if(!(!r||!e.allowedOrigins.includes(r)))return{...Us(),"access-control-allow-origin":r}}function UM(t,e){let r=typeof e.controlToken=="function"?al(e.controlToken()):e.controlToken;if(!r)return{allowed:!1,status:404,error:"Bridge control endpoint is not enabled.",code:"bridge_control_unavailable",corsHeaders:Us()};let n=dl(t,Uce);return!n||!CL(n,r)?{allowed:!1,status:401,error:"Missing or invalid Hunsu Bridge control token.",code:"bridge_control_token_invalid",corsHeaders:Us()}:{allowed:!0,corsHeaders:Us()}}function Kce(t,e,r){let n=r.authToken,o=dl(t,"authorization")?.match(/^Bearer\s+(.+)$/i)?.[1]?.trim(),s=dl(t,EC),a=e.searchParams.get(Hce)??void 0,c=[o,s,a].find(d=>d!==void 0);if(c===void 0)return{valid:!1,code:"pairing_token_missing",error:"Missing Hunsu Bridge pairing token."};let u=r.pairingService?.validate(c)??r.pairingValidator?.(c);if(u?.valid)return{valid:!0};if(u?.valid===!1||!n||!CL(c,n)){let d=u?.valid===!1?u.reason:"invalid";return{valid:!1,code:d==="expired"?"pairing_token_expired":d==="revoked"?"pairing_token_revoked":"pairing_token_invalid",error:d==="expired"?"Hunsu Bridge pairing token expired. Pair again with `hunsu-bridge pair`.":d==="revoked"?"Hunsu Bridge pairing token was revoked. Pair again with `hunsu-bridge pair`.":"Invalid Hunsu Bridge pairing token."}}return{valid:!0}}function CL(t,e){let r=Buffer.from(t),n=Buffer.from(e);return r.length===n.length&&xce(r,n)}function dl(t,e){let n=(t.headers??{})[e.toLowerCase()];return Array.isArray(n)?n[0]:n}function Jce(t){let e=al(t.HUNSU_WEB_PORT),r=al(t.HUNSU_WEB_HOST);return[...Xce(t.HUNSU_BRIDGE_ALLOWED_ORIGINS),e?`http://127.0.0.1:${e}`:void 0,e?`http://localhost:${e}`:void 0,r&&e&&!_L(r)?`http://${r}:${e}`:void 0].filter(n=>n!==void 0)}function Xce(t){return t?.split(",").map(e=>e.trim()).filter(Boolean)??[]}function PL(t){if(t?.trim())try{return new URL(t.trim()).origin}catch{return}}function al(t){return t?.trim()?t.trim():void 0}function Yce(t){return[...new Set(t)]}function _L(t){return t==="0.0.0.0"||t==="::"||t==="[::]"}function pC(t){if(t.testRunner==="deterministic")return new kC;let e=t.processEnv.HUNSU_CODEX_BINARY_PATH?.trim(),r=e&&t.codexAppServer.command==="codex"?e:t.codexAppServer.command;return zd({clientOptions:{command:r,args:t.codexAppServer.args,environment:t.codexAppServer.environment},threadOptions:t.codexThreadOptions})}async function Qce(t,e){let r=e?await Fg(t,e,{lastRunUsage:TL(e)}):await yu({env:t});return{bridge:{connected:!0,version:rl().bridgeVersion,protocolVersion:rl().protocolVersion},runtimes:{codex:r},...e?.codexLogin?{codexLogin:e.codexLogin}:{},tools:{git:await $M("git",["--version"]),node:await $M(process.execPath,["--version"])}}}function Zce(t){let e="account"in t?eue(t.account):void 0,r="rateLimits"in t?tue(t.rateLimits):void 0,n=["accountError"in t?t.accountError:void 0,"rateLimitsError"in t?t.rateLimitsError:void 0,t.error].filter(i=>typeof i=="string"&&i.trim().length>0);return{backend:t.backend,available:t.available,initialized:"initialized"in t?t.initialized!==void 0:void 0,auth:e?.auth,accountSummary:e?.summary,rateLimitSummary:r?.summary,rateLimited:r?.rateLimited,accountError:"accountError"in t?Fb(t.accountError):void 0,rateLimitsError:"rateLimitsError"in t?Fb(t.rateLimitsError):void 0,error:n.length>0?Fb(n.join("; ")):void 0}}function eue(t){if(!Wb(t))return;let r={...Wb(t.account)?t.account:{},...t},n=r.requiresOpenaiAuth===!0,i=rue(r);return{auth:{state:n?"not_authenticated":"authenticated",method:i,access:i==="chatgpt"?"subscription":i==="api_key"||i==="access_token"?"usage_based":"unknown"},summary:n?void 0:{displayName:Va(r,["displayName","name","userName"]),email:Va(r,["email","userEmail"]),workspaceName:Va(r,["workspaceName","organizationName","orgName"]),planLabel:Va(r,["planLabel","plan","planType","subscriptionPlan"])}}}function tue(t){if(!Wb(t))return;let e=Wb(t.rateLimits)?t.rateLimits:{},r={...t,...e},n=Va(r,["rateLimitReachedType","rate_limit_reached_type"]),i=Va(r,["label","status","summary"])??(n&&n.toLowerCase()!=="none"?"Rate limited":"Available"),o=Va(r,["remainingLabel","remaining"]),s=r.rateLimited===!0||r.limited===!0||n!==void 0&&n.toLowerCase()!=="none"||/\brate.?limited\b|quota exceeded|temporarily unavailable|no remaining/i.test(`${i} ${o??""}`);return{summary:{label:i,resetAt:Va(r,["resetAt","reset_at"]),remainingLabel:o},rateLimited:s}}function rue(t){let e=`${Va(t,["authMethod","method","loginMethod","accountType","type"])??""}`.toLowerCase();return e.includes("chatgpt")||e.includes("subscription")?"chatgpt":e.includes("api")?"api_key":e.includes("access")?"access_token":"unknown"}function Va(t,e){for(let r of e){let n=t[r];if(typeof n=="string"&&n.trim())return Fb(n.trim());if(typeof n=="number")return String(n)}}function Fb(t){if(!t)return;let e=Xr(t);return typeof e=="string"?e:void 0}function Wb(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}async function $M(t,e){try{let{stdout:r,stderr:n}=await IL(t,e,{timeout:2e3,windowsHide:!0}),i=`${r}
|
|
212
212
|
${n}`.trim().split(/\r?\n/).find(Boolean);return{installed:!0,binaryPath:t,version:i}}catch(r){return{installed:!1,binaryPath:t,error:r instanceof Error?r.message:String(r)}}}function TL(t){return Object.values(t.runs).filter(r=>r.lastRunUsage).sort((r,n)=>n.updatedAt.localeCompare(r.updatedAt))[0]?.lastRunUsage}function nue(t){if(t)return{inputTokens:t.input_tokens,cachedInputTokens:t.cached_input_tokens,outputTokens:t.output_tokens,reasoningTokens:t.reasoning_output_tokens}}var kC=class{async runTeamPlanning(e){return{runId:e.runId,provider:"codex",providerThreadId:this.threadId(e.runId,"team"),providerTurnId:this.turnId(e.runId,"plan"),finalResponse:JSON.stringify({kind:"queue",id:"deterministic-e2e-execute",items:[{kind:"goal",stage:"needs_evaluation",id:"hello-world-web-app",assignee:{executorId:"faker",goal:"Create the smallest static Hello World web app with package scripts."},evaluator:{executorId:"keria",prompt:"Verify the static Hello World app files and scripts exist."},remainingAttempts:1,requires:"PrevMove"}]},null,2)}}async runMemberPath(e){return e.outputSchema?{runId:e.runId,provider:"codex",providerThreadId:this.threadId(e.runId,"evaluator"),providerTurnId:this.turnId(e.runId,e.memberPath.id),finalResponse:JSON.stringify(this.evaluateHelloWorldApp(e.repositoryPath),null,2)}:(iue(e.repositoryPath),{runId:e.runId,provider:"codex",providerThreadId:this.threadId(e.runId,"member"),providerTurnId:this.turnId(e.runId,e.memberPath.id),finalResponse:"Created a minimal static Hello World web app with index.html, package.json, and README.md."})}async runMoveFinalizer(e){return{runId:e.runId,provider:"codex",providerThreadId:this.threadId(e.runId,"finalizer"),providerTurnId:this.turnId(e.runId,`finalize-${e.moveId}`),finalResponse:["move: create runnable Hello World web app","",e.completionSummary,"","Evidence:",...e.pathOutputs.map(r=>`- ${r.pathId}: ${r.finalResponse??"completed"}`)].join(`
|
|
213
213
|
`)}}async prepareHunsuDraftSession(e){return{runId:e.runId,provider:"codex",providerThreadId:this.threadId(e.runId,"hunsu-draft")}}async runHunsuDraftTurn(e){return{runId:e.runId,provider:"codex",providerThreadId:e.providerThreadId??this.threadId(e.runId,"hunsu-draft"),providerTurnId:this.turnId(e.runId,"hunsu-draft-turn"),finalResponse:"Updated the decoded Hunsu request files. Run the supplied Draft check command to create a DiffArtifact."}}resumeRun(e){return this.runTeamPlanning(e)}pauseRun(e){return Promise.resolve()}stopRun(e){return Promise.resolve()}providerStatus(){return Promise.resolve({backend:"app-server",available:!0,initialized:{runner:"deterministic"}})}async*events(e){if(e.startsWith("hunsu-draft:")){yield*this.hunsuDraftEvents(e);return}yield{type:"runner.status.changed",runId:e,phase:"working",headline:"Deterministic E2E runner"}}async*hunsuDraftEvents(e){let r=this.threadId(e,"hunsu-draft"),n=this.turnId(e,"hunsu-draft-turn"),i=Date.now();yield{type:"runner.turn.started",runId:e,providerThreadId:r,providerTurnId:n,startedAtMs:i},await Xo(80),yield{type:"runner.item.started",runId:e,providerThreadId:r,providerTurnId:n,itemId:"reasoning_001",item:{id:"reasoning_001",type:"reasoning",raw:{type:"reasoning",id:"reasoning_001"}},startedAtMs:i+80},await Xo(80),yield{type:"runner.item.delta",runId:e,providerThreadId:r,providerTurnId:n,itemId:"reasoning_001",deltaKind:"reasoningSummary",delta:"Inspecting decoded request runtime files."},await Xo(80),yield{type:"runner.item.delta",runId:e,providerThreadId:r,providerTurnId:n,itemId:"reasoning_001",deltaKind:"reasoningText",delta:"Mapping the request to the editable Hunsu runtime surface."},await Xo(80),yield{type:"runner.item.completed",runId:e,providerThreadId:r,providerTurnId:n,itemId:"reasoning_001",item:{id:"reasoning_001",type:"reasoning",summary:["Inspecting decoded request runtime files."],content:["Mapping the request to the editable Hunsu runtime surface."],durationMs:240,raw:{type:"reasoning",id:"reasoning_001"}},completedAtMs:i+320},await Xo(80),yield{type:"runner.item.started",runId:e,providerThreadId:r,providerTurnId:n,itemId:"cmd_check_001",item:{id:"cmd_check_001",type:"commandExecution",command:"node --input-type=module -e <draft-check-command>",commandActions:[{type:"unknown",command:"node --input-type=module -e <draft-check-command>"}],raw:{type:"commandExecution",id:"cmd_check_001"}},startedAtMs:i+400},await Xo(80),yield{type:"runner.item.delta",runId:e,providerThreadId:r,providerTurnId:n,itemId:"cmd_check_001",deltaKind:"commandOutput",delta:`Draft check command completed.
|
|
214
214
|
`},await Xo(80),yield{type:"runner.item.completed",runId:e,providerThreadId:r,providerTurnId:n,itemId:"cmd_check_001",item:{id:"cmd_check_001",type:"commandExecution",status:"completed",command:"node --input-type=module -e <draft-check-command>",aggregatedOutput:`Draft check command completed.
|
|
@@ -296,7 +296,7 @@ Common options:
|
|
|
296
296
|
--version Show the package version.`}var t_e={stdout:t=>process.stdout.write(`${t}
|
|
297
297
|
`),stderr:t=>process.stderr.write(`${t}
|
|
298
298
|
`)};process.argv[1]&&import.meta.url===KPe(process.argv[1]).href&&tee().then(t=>{process.exitCode=t}).catch(()=>{process.stderr.write(`Hunsu Bridge command failed unexpectedly.
|
|
299
|
-
`),process.exitCode=1});export{Fh as BRIDGE_CLI_RESULT_SCHEMA,gee as BRIDGE_DEPLOYMENT_PROFILES,hu as HUNSU_BRIDGE_PROTOCOL_VERSION,dn as HUNSU_BRIDGE_VERSION,HR as bridgeDeploymentEndpoints,jh as bridgeSetupPackageTag,mS as createBridgeControlClient,wn as isBridgeDeploymentProfile,
|
|
299
|
+
`),process.exitCode=1});export{Fh as BRIDGE_CLI_RESULT_SCHEMA,gee as BRIDGE_DEPLOYMENT_PROFILES,hu as HUNSU_BRIDGE_PROTOCOL_VERSION,dn as HUNSU_BRIDGE_VERSION,HR as bridgeDeploymentEndpoints,jh as bridgeSetupPackageTag,mS as createBridgeControlClient,wn as isBridgeDeploymentProfile,f3 as resolveHunsuHome,uo as resolveHunsuPaths,tee as runBridgeCli,kO as startBridgeDaemon};
|
|
300
300
|
/*! Bundled license information:
|
|
301
301
|
|
|
302
302
|
reflect-metadata/Reflect.js:
|