@netlify/agent-runner-cli 1.163.0-PAW-328.6 → 1.163.0-PAW-328.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin-local.js CHANGED
@@ -14,7 +14,7 @@ ${e}`;return Object.assign(new Error(r),t,{stack:i})}var qO=class extends Tbe.Ev
14
14
  `;)R++;return R}function m(){if(a.length>0)return a.shift();if(c)return u();var y,R,P,O,N,I=r===0;do{if(r===n)return null;for(y=!1;Nwe.test(P=d(r));)if(P===`
15
15
  `&&(I=!0,++i),++r===n)return null;if(d(r)==="/"){if(++r===n)throw l("comment");if(d(r)==="/")if(e){if(O=r,N=!1,p(r-1)){N=!0;do if(r=h(r),r===n||(r++,!I))break;while(p(r))}else r=Math.min(n,h(r)+1);N&&(f(O,r,I),I=!0),i++,y=!0}else{for(N=d(O=r+1)==="/";d(++r)!==`
16
16
  `;)if(r===n)return null;++r,N&&(f(O,r-1,I),I=!0),++i,y=!0}else if((P=d(r))==="*"){O=r+1,N=e||d(O)==="*";do{if(P===`
17
- `&&++i,++r===n)throw l("comment");R=P,P=d(r)}while(R!=="*"||P!=="/");++r,N&&(f(O,r-2,I),I=!0),y=!0}else return"/"}}while(y);var L=r;ok.lastIndex=0;var _=ok.test(d(L++));if(!_)for(;L<n&&!ok.test(d(L));)++L;var ee=t.substring(r,r=L);return(ee==='"'||ee==="'")&&(c=ee),ee}function S(y){a.push(y)}function E(){if(!a.length){var y=m();if(y===null)return null;S(y)}return a[0]}function b(y,R){var P=E(),O=P===y;if(O)return m(),!0;if(!R)throw l("token '"+P+"', '"+y+"' expected");return!1}function A(y){var R=null,P;return y===void 0?(P=s[i-1],delete s[i-1],P&&(e||P.type==="*"||P.lineEmpty)&&(R=P.leading?P.text:null)):(o<y&&E(),P=s[y],delete s[y],P&&!P.lineEmpty&&(e||P.type==="/")&&(R=P.leading?null:P.text)),R}return Object.defineProperty({next:m,peek:E,push:S,skip:b,cmnt:A},"line",{get:function(){return i}})}});var f5=T((Uct,d5)=>{"use strict";d5.exports=rs;rs.filename=null;rs.defaults={keepCase:!1};var Dwe=sk(),a5=ZT(),c5=HT(),l5=_a(),Lwe=BT(),u5=gl(),$we=yi(),Uwe=zT(),Fwe=jT(),Bwe=ya(),jwe=_l(),ts=Jt(),zwe=/^[1-9][0-9]*$/,Gwe=/^-?[1-9][0-9]*$/,qwe=/^0[x][0-9a-fA-F]+$/,Vwe=/^-?0[x][0-9a-fA-F]+$/,Hwe=/^0[0-7]+$/,Wwe=/^-?0[0-7]+$/,Ywe=ts.patterns.numberRe,io=/^[a-zA-Z_][a-zA-Z_0-9]*$/,oo=ts.patterns.typeRefRe;function rs(t,e,r){e instanceof a5||(r=e,e=new a5),r||(r=rs.defaults);var n=r.preferTrailingComment||!1,i=Dwe(t,r.alternateCommentMode||!1),o=i.next,s=i.push,a=i.peek,c=i.skip,l=i.cmnt,u=!0,d,f,p,h="proto2",m=e,S=[],E={},b=r.keepCase?function(x){return x}:ts.camelCase;function A(){S.forEach(x=>{x._edition=h,Object.keys(E).forEach(F=>{x.getOption(F)===void 0&&x.setOption(F,E[F],!0)})})}function y(x,F,j){var H=rs.filename;return j||(rs.filename=null),Error("illegal "+(F||"token")+" '"+x+"' ("+(H?H+", ":"")+"line "+i.line+")")}function R(){var x=[],F;do{if((F=o())!=='"'&&F!=="'")throw y(F);x.push(o()),c(F),F=a()}while(F==='"'||F==="'");return x.join("")}function P(x){var F=o();switch(F){case"'":case'"':return s(F),R();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return N(F,!0)}catch{if(x&&oo.test(F))return F;throw y(F,"value")}}function O(x,F){var j,H;do if(F&&((j=a())==='"'||j==="'")){var X=R();if(x.push(X),h>=2023)throw y(X,"id")}else try{x.push([H=I(o()),c("to",!0)?I(o()):H])}catch(Y){if(F&&oo.test(j)&&h>=2023)x.push(j);else throw Y}while(c(",",!0));var q={options:void 0};q.setOption=function(Y,pe){this.options===void 0&&(this.options={}),this.options[Y]=pe},v(q,function(pe){if(pe==="option")we(q,pe),c(";");else throw y(pe)},function(){ye(q)})}function N(x,F){var j=1;switch(x.charAt(0)==="-"&&(j=-1,x=x.substring(1)),x){case"inf":case"INF":case"Inf":return j*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(zwe.test(x))return j*parseInt(x,10);if(qwe.test(x))return j*parseInt(x,16);if(Hwe.test(x))return j*parseInt(x,8);if(Ywe.test(x))return j*parseFloat(x);throw y(x,"number",F)}function I(x,F){switch(x){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(!F&&x.charAt(0)==="-")throw y(x,"id");if(Gwe.test(x))return parseInt(x,10);if(Vwe.test(x))return parseInt(x,16);if(Wwe.test(x))return parseInt(x,8);throw y(x,"id")}function L(){if(d!==void 0)throw y("package");if(d=o(),!oo.test(d))throw y(d,"name");m=m.define(d),c(";")}function _(){var x=a(),F;switch(x){case"weak":F=p||(p=[]),o();break;case"public":o();default:F=f||(f=[]);break}x=R(),c(";"),F.push(x)}function ee(){if(c("="),h=R(),h<2023)throw y(h,"syntax");c(";")}function k(){if(c("="),h=R(),!["2023"].includes(h))throw y(h,"edition");c(";")}function g(x,F,j){switch(j===void 0&&(j=0),F){case"option":return we(x,F),c(";"),!0;case"message":return C(x,F,j+1),!0;case"enum":return xe(x,F),!0;case"service":return Ue(x,F,j+1),!0;case"extend":return oe(x,F,j),!0}return!1}function v(x,F,j){var H=i.line;if(x&&(typeof x.comment!="string"&&(x.comment=l()),x.filename=rs.filename),c("{",!0)){for(var X;(X=o())!=="}";)F(X);c(";",!0)}else j&&j(),c(";"),x&&(typeof x.comment!="string"||n)&&(x.comment=l(H)||x.comment)}function C(x,F,j){if(j===void 0&&(j=0),j>ts.nestingLimit)throw Error("max depth exceeded");if(!io.test(F=o()))throw y(F,"type name");var H=new c5(F);v(H,function(q){if(!g(H,q,j))switch(q){case"map":he(H,q);break;case"required":if(h!=="proto2")throw y(q);case"repeated":Z(H,q,void 0,j+1);break;case"optional":if(h==="proto3")Z(H,"proto3_optional",void 0,j+1);else{if(h!=="proto2")throw y(q);Z(H,"optional",void 0,j+1)}break;case"oneof":ke(H,q,j+1);break;case"extensions":O(H.extensions||(H.extensions=[]));break;case"reserved":O(H.reserved||(H.reserved=[]),!0);break;default:if(h==="proto2"||!oo.test(q))throw y(q);s(q),Z(H,"optional",void 0,j+1);break}}),x.add(H),x===m&&S.push(H)}function Z(x,F,j,H){var X=o();if(X==="group"){z(x,F,H);return}for(;X.endsWith(".")||a().startsWith(".");)X+=o();if(!oo.test(X))throw y(X,"type");var q=o();if(!io.test(q))throw y(q,"name");q=b(q),c("=");var Y=new l5(q,I(o()),X,F,j);if(v(Y,function(Ze){if(Ze==="option")we(Y,Ze),c(";");else throw y(Ze)},function(){ye(Y)}),F==="proto3_optional"){var pe=new u5("_"+q);Y.setOption("proto3_optional",!0),pe.add(Y),x.add(pe)}else x.add(Y);x===m&&S.push(Y)}function z(x,F,j){if(j===void 0&&(j=0),j>ts.nestingLimit)throw Error("max depth exceeded");if(h>=2023)throw y("group");var H=o();if(!io.test(H))throw y(H,"name");var X=ts.lcFirst(H);H===X&&(H=ts.ucFirst(H)),c("=");var q=I(o()),Y=new c5(H);Y.group=!0;var pe=new l5(X,q,H,F);pe.filename=rs.filename,v(Y,function(Ze){switch(Ze){case"option":we(Y,Ze),c(";");break;case"required":case"repeated":Z(Y,Ze,void 0,j+1);break;case"optional":h==="proto3"?Z(Y,"proto3_optional",void 0,j+1):Z(Y,"optional",void 0,j+1);break;case"message":C(Y,Ze,j+1);break;case"enum":xe(Y,Ze);break;case"reserved":O(Y.reserved||(Y.reserved=[]),!0);break;default:throw y(Ze)}}),x.add(Y).add(pe)}function he(x){c("<");var F=o();if(jwe.mapKey[F]===void 0)throw y(F,"type");c(",");var j=o();if(!oo.test(j))throw y(j,"type");c(">");var H=o();if(!io.test(H))throw y(H,"name");c("=");var X=new Lwe(b(H),I(o()),F,j);v(X,function(Y){if(Y==="option")we(X,Y),c(";");else throw y(Y)},function(){ye(X)}),x.add(X)}function ke(x,F,j){if(!io.test(F=o()))throw y(F,"name");var H=new u5(b(F));v(H,function(q){q==="option"?(we(H,q),c(";")):(s(q),Z(H,"optional",void 0,j))}),x.add(H)}function xe(x,F){if(!io.test(F=o()))throw y(F,"name");var j=new $we(F);v(j,function(X){switch(X){case"option":we(j,X),c(";");break;case"reserved":O(j.reserved||(j.reserved=[]),!0),j.reserved===void 0&&(j.reserved=[]);break;default:Ie(j,X)}}),x.add(j),x===m&&S.push(j)}function Ie(x,F){if(!io.test(F))throw y(F,"name");c("=");var j=I(o(),!0),H={options:void 0};H.getOption=function(X){return this.options[X]},H.setOption=function(X,q){Bwe.prototype.setOption.call(H,X,q)},H.setParsedOption=function(){},v(H,function(q){if(q==="option")we(H,q),c(";");else throw y(q)},function(){ye(H)}),x.add(F,j,H.comment,H.parsedOptions||H.options)}function we(x,F){var j,H,X=!0;for(F==="option"&&(F=o());F!=="=";){if(F==="("){var q=o();c(")"),F="("+q+")"}if(X){if(X=!1,F.includes(".")&&!F.includes("(")){var Y=F.split(".");j=Y[0]+".",F=Y[1];continue}j=F}else H=H?H+=F:F;F=o()}var pe=H?j.concat(H):j,Ce=Oe(x,pe);H=H&&H[0]==="."?H.slice(1):H,j=j&&j[j.length-1]==="."?j.slice(0,-1):j,de(x,j,Ce,H)}function Oe(x,F,j){if(j===void 0&&(j=0),j>ts.recursionLimit)throw Error("max depth exceeded");if(c("{",!0)){for(var H={};!c("}",!0);){if(!io.test(D=o()))throw y(D,"name");if(D===null)throw y(D,"end of input");var X,q=D;if(c(":",!0),a()==="{")X=Oe(x,F+"."+D,j+1);else if(a()==="["){X=[];var Y;if(c("[",!0)){do Y=P(!0),X.push(Y);while(c(",",!0));c("]"),typeof Y<"u"&&Re(x,F+"."+D,Y)}}else X=P(!0),Re(x,F+"."+D,X);var pe=H[q];pe&&(X=[].concat(pe).concat(X)),q!=="__proto__"&&(H[q]=X),c(",",!0),c(";",!0)}return H}var Ce=P(!0);return Re(x,F,Ce),Ce}function Re(x,F,j){if(m===x&&/^features\./.test(F)){E[F]=j;return}x.setOption&&x.setOption(F,j)}function de(x,F,j,H){x.setParsedOption&&x.setParsedOption(F,j,H)}function ye(x){if(c("[",!0)){do we(x,"option");while(c(",",!0));c("]")}return x}function Ue(x,F,j){if(j===void 0&&(j=0),j>ts.recursionLimit)throw Error("max depth exceeded");if(!io.test(F=o()))throw y(F,"service name");var H=new Uwe(F);v(H,function(q){if(!g(H,q,j))if(q==="rpc")V(H,q);else throw y(q)}),x.add(H),x===m&&S.push(H)}function V(x,F){var j=l(),H=F;if(!io.test(F=o()))throw y(F,"name");var X=F,q,Y,pe,Ce;if(c("("),c("stream",!0)&&(Y=!0),!oo.test(F=o())||(q=F,c(")"),c("returns"),c("("),c("stream",!0)&&(Ce=!0),!oo.test(F=o())))throw y(F);pe=F,c(")");var Ze=new Fwe(X,H,q,pe,Y,Ce);Ze.comment=j,v(Ze,function(Un){if(Un==="option")we(Ze,Un),c(";");else throw y(Un)}),x.add(Ze)}function oe(x,F,j){if(!oo.test(F=o()))throw y(F,"reference");var H=F;v(null,function(q){switch(q){case"required":case"repeated":Z(x,q,H,j+1);break;case"optional":h==="proto3"?Z(x,"proto3_optional",H,j+1):Z(x,"optional",H,j+1);break;default:if(h==="proto2"||!oo.test(q))throw y(q);s(q),Z(x,"optional",H,j+1);break}})}for(var D;(D=o())!==null;)switch(D){case"package":if(!u)throw y(D);L();break;case"import":if(!u)throw y(D);_();break;case"syntax":if(!u)throw y(D);ee();break;case"edition":if(!u)throw y(D);k();break;case"option":we(m,D),c(";",!0);break;default:if(g(m,D,0)){u=!1;continue}throw y(D)}return A(),rs.filename=null,{package:d,imports:f,weakImports:p,root:e}}});var m5=T((Fct,h5)=>{"use strict";h5.exports=vi;var Kwe=/\/|\./;function vi(t,e){Kwe.test(t)||(t="google/protobuf/"+t+".proto",e={nested:{google:{nested:{protobuf:{nested:e}}}}}),vi[t]=e}vi("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}});var p5;vi("duration",{Duration:p5={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}});vi("timestamp",{Timestamp:p5});vi("empty",{Empty:{fields:{}}});vi("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}});vi("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}});vi("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}});vi.get=function(e){return vi[e]||null}});var _5=T((Bct,g5)=>{"use strict";var Sa=g5.exports=n5();Sa.build="full";Sa.tokenize=sk();Sa.parse=f5();Sa.common=m5();Sa.Root._configure(Sa.Type,Sa.parse,Sa.common)});var eb=T((jct,y5)=>{"use strict";y5.exports=_5()});var ak=T((zct,Zwe)=>{Zwe.exports={nested:{google:{nested:{protobuf:{options:{go_package:"google.golang.org/protobuf/types/descriptorpb",java_package:"com.google.protobuf",java_outer_classname:"DescriptorProtos",csharp_namespace:"Google.Protobuf.Reflection",objc_class_prefix:"GPB",cc_enable_arenas:!0,optimize_for:"SPEED"},nested:{FileDescriptorSet:{edition:"proto2",fields:{file:{rule:"repeated",type:"FileDescriptorProto",id:1}},extensions:[[536e6,536e6]]},Edition:{edition:"proto2",values:{EDITION_UNKNOWN:0,EDITION_LEGACY:900,EDITION_PROTO2:998,EDITION_PROTO3:999,EDITION_2023:1e3,EDITION_2024:1001,EDITION_1_TEST_ONLY:1,EDITION_2_TEST_ONLY:2,EDITION_99997_TEST_ONLY:99997,EDITION_99998_TEST_ONLY:99998,EDITION_99999_TEST_ONLY:99999,EDITION_MAX:2147483647}},FileDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},package:{type:"string",id:2},dependency:{rule:"repeated",type:"string",id:3},publicDependency:{rule:"repeated",type:"int32",id:10},weakDependency:{rule:"repeated",type:"int32",id:11},optionDependency:{rule:"repeated",type:"string",id:15},messageType:{rule:"repeated",type:"DescriptorProto",id:4},enumType:{rule:"repeated",type:"EnumDescriptorProto",id:5},service:{rule:"repeated",type:"ServiceDescriptorProto",id:6},extension:{rule:"repeated",type:"FieldDescriptorProto",id:7},options:{type:"FileOptions",id:8},sourceCodeInfo:{type:"SourceCodeInfo",id:9},syntax:{type:"string",id:12},edition:{type:"Edition",id:14}}},DescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},field:{rule:"repeated",type:"FieldDescriptorProto",id:2},extension:{rule:"repeated",type:"FieldDescriptorProto",id:6},nestedType:{rule:"repeated",type:"DescriptorProto",id:3},enumType:{rule:"repeated",type:"EnumDescriptorProto",id:4},extensionRange:{rule:"repeated",type:"ExtensionRange",id:5},oneofDecl:{rule:"repeated",type:"OneofDescriptorProto",id:8},options:{type:"MessageOptions",id:7},reservedRange:{rule:"repeated",type:"ReservedRange",id:9},reservedName:{rule:"repeated",type:"string",id:10},visibility:{type:"SymbolVisibility",id:11}},nested:{ExtensionRange:{fields:{start:{type:"int32",id:1},end:{type:"int32",id:2},options:{type:"ExtensionRangeOptions",id:3}}},ReservedRange:{fields:{start:{type:"int32",id:1},end:{type:"int32",id:2}}}}},ExtensionRangeOptions:{edition:"proto2",fields:{uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999},declaration:{rule:"repeated",type:"Declaration",id:2,options:{retention:"RETENTION_SOURCE"}},features:{type:"FeatureSet",id:50},verification:{type:"VerificationState",id:3,options:{default:"UNVERIFIED",retention:"RETENTION_SOURCE"}}},extensions:[[1e3,536870911]],nested:{Declaration:{fields:{number:{type:"int32",id:1},fullName:{type:"string",id:2},type:{type:"string",id:3},reserved:{type:"bool",id:5},repeated:{type:"bool",id:6}},reserved:[[4,4]]},VerificationState:{values:{DECLARATION:0,UNVERIFIED:1}}}},FieldDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},number:{type:"int32",id:3},label:{type:"Label",id:4},type:{type:"Type",id:5},typeName:{type:"string",id:6},extendee:{type:"string",id:2},defaultValue:{type:"string",id:7},oneofIndex:{type:"int32",id:9},jsonName:{type:"string",id:10},options:{type:"FieldOptions",id:8},proto3Optional:{type:"bool",id:17}},nested:{Type:{values:{TYPE_DOUBLE:1,TYPE_FLOAT:2,TYPE_INT64:3,TYPE_UINT64:4,TYPE_INT32:5,TYPE_FIXED64:6,TYPE_FIXED32:7,TYPE_BOOL:8,TYPE_STRING:9,TYPE_GROUP:10,TYPE_MESSAGE:11,TYPE_BYTES:12,TYPE_UINT32:13,TYPE_ENUM:14,TYPE_SFIXED32:15,TYPE_SFIXED64:16,TYPE_SINT32:17,TYPE_SINT64:18}},Label:{values:{LABEL_OPTIONAL:1,LABEL_REPEATED:3,LABEL_REQUIRED:2}}}},OneofDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},options:{type:"OneofOptions",id:2}}},EnumDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},value:{rule:"repeated",type:"EnumValueDescriptorProto",id:2},options:{type:"EnumOptions",id:3},reservedRange:{rule:"repeated",type:"EnumReservedRange",id:4},reservedName:{rule:"repeated",type:"string",id:5},visibility:{type:"SymbolVisibility",id:6}},nested:{EnumReservedRange:{fields:{start:{type:"int32",id:1},end:{type:"int32",id:2}}}}},EnumValueDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},number:{type:"int32",id:2},options:{type:"EnumValueOptions",id:3}}},ServiceDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},method:{rule:"repeated",type:"MethodDescriptorProto",id:2},options:{type:"ServiceOptions",id:3}}},MethodDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},inputType:{type:"string",id:2},outputType:{type:"string",id:3},options:{type:"MethodOptions",id:4},clientStreaming:{type:"bool",id:5},serverStreaming:{type:"bool",id:6}}},FileOptions:{edition:"proto2",fields:{javaPackage:{type:"string",id:1},javaOuterClassname:{type:"string",id:8},javaMultipleFiles:{type:"bool",id:10},javaGenerateEqualsAndHash:{type:"bool",id:20,options:{deprecated:!0}},javaStringCheckUtf8:{type:"bool",id:27},optimizeFor:{type:"OptimizeMode",id:9,options:{default:"SPEED"}},goPackage:{type:"string",id:11},ccGenericServices:{type:"bool",id:16},javaGenericServices:{type:"bool",id:17},pyGenericServices:{type:"bool",id:18},deprecated:{type:"bool",id:23},ccEnableArenas:{type:"bool",id:31,options:{default:!0}},objcClassPrefix:{type:"string",id:36},csharpNamespace:{type:"string",id:37},swiftPrefix:{type:"string",id:39},phpClassPrefix:{type:"string",id:40},phpNamespace:{type:"string",id:41},phpMetadataNamespace:{type:"string",id:44},rubyPackage:{type:"string",id:45},features:{type:"FeatureSet",id:50},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],reserved:[[42,42],[38,38],"php_generic_services"],nested:{OptimizeMode:{values:{SPEED:1,CODE_SIZE:2,LITE_RUNTIME:3}}}},MessageOptions:{edition:"proto2",fields:{messageSetWireFormat:{type:"bool",id:1},noStandardDescriptorAccessor:{type:"bool",id:2},deprecated:{type:"bool",id:3},mapEntry:{type:"bool",id:7},deprecatedLegacyJsonFieldConflicts:{type:"bool",id:11,options:{deprecated:!0}},features:{type:"FeatureSet",id:12},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],reserved:[[4,4],[5,5],[6,6],[8,8],[9,9]]},FieldOptions:{edition:"proto2",fields:{ctype:{type:"CType",id:1,options:{default:"STRING"}},packed:{type:"bool",id:2},jstype:{type:"JSType",id:6,options:{default:"JS_NORMAL"}},lazy:{type:"bool",id:5},unverifiedLazy:{type:"bool",id:15},deprecated:{type:"bool",id:3},weak:{type:"bool",id:10,options:{deprecated:!0}},debugRedact:{type:"bool",id:16},retention:{type:"OptionRetention",id:17},targets:{rule:"repeated",type:"OptionTargetType",id:19},editionDefaults:{rule:"repeated",type:"EditionDefault",id:20},features:{type:"FeatureSet",id:21},featureSupport:{type:"FeatureSupport",id:22},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],reserved:[[4,4],[18,18]],nested:{CType:{values:{STRING:0,CORD:1,STRING_PIECE:2}},JSType:{values:{JS_NORMAL:0,JS_STRING:1,JS_NUMBER:2}},OptionRetention:{values:{RETENTION_UNKNOWN:0,RETENTION_RUNTIME:1,RETENTION_SOURCE:2}},OptionTargetType:{values:{TARGET_TYPE_UNKNOWN:0,TARGET_TYPE_FILE:1,TARGET_TYPE_EXTENSION_RANGE:2,TARGET_TYPE_MESSAGE:3,TARGET_TYPE_FIELD:4,TARGET_TYPE_ONEOF:5,TARGET_TYPE_ENUM:6,TARGET_TYPE_ENUM_ENTRY:7,TARGET_TYPE_SERVICE:8,TARGET_TYPE_METHOD:9}},EditionDefault:{fields:{edition:{type:"Edition",id:3},value:{type:"string",id:2}}},FeatureSupport:{fields:{editionIntroduced:{type:"Edition",id:1},editionDeprecated:{type:"Edition",id:2},deprecationWarning:{type:"string",id:3},editionRemoved:{type:"Edition",id:4}}}}},OneofOptions:{edition:"proto2",fields:{features:{type:"FeatureSet",id:1},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]]},EnumOptions:{edition:"proto2",fields:{allowAlias:{type:"bool",id:2},deprecated:{type:"bool",id:3},deprecatedLegacyJsonFieldConflicts:{type:"bool",id:6,options:{deprecated:!0}},features:{type:"FeatureSet",id:7},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],reserved:[[5,5]]},EnumValueOptions:{edition:"proto2",fields:{deprecated:{type:"bool",id:1},features:{type:"FeatureSet",id:2},debugRedact:{type:"bool",id:3},featureSupport:{type:"FieldOptions.FeatureSupport",id:4},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]]},ServiceOptions:{edition:"proto2",fields:{features:{type:"FeatureSet",id:34},deprecated:{type:"bool",id:33},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]]},MethodOptions:{edition:"proto2",fields:{deprecated:{type:"bool",id:33},idempotencyLevel:{type:"IdempotencyLevel",id:34,options:{default:"IDEMPOTENCY_UNKNOWN"}},features:{type:"FeatureSet",id:35},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],nested:{IdempotencyLevel:{values:{IDEMPOTENCY_UNKNOWN:0,NO_SIDE_EFFECTS:1,IDEMPOTENT:2}}}},UninterpretedOption:{edition:"proto2",fields:{name:{rule:"repeated",type:"NamePart",id:2},identifierValue:{type:"string",id:3},positiveIntValue:{type:"uint64",id:4},negativeIntValue:{type:"int64",id:5},doubleValue:{type:"double",id:6},stringValue:{type:"bytes",id:7},aggregateValue:{type:"string",id:8}},nested:{NamePart:{fields:{namePart:{rule:"required",type:"string",id:1},isExtension:{rule:"required",type:"bool",id:2}}}}},FeatureSet:{edition:"proto2",fields:{fieldPresence:{type:"FieldPresence",id:1,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_2023","edition_defaults.value":"EXPLICIT"}},enumType:{type:"EnumType",id:2,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"OPEN"}},repeatedFieldEncoding:{type:"RepeatedFieldEncoding",id:3,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"PACKED"}},utf8Validation:{type:"Utf8Validation",id:4,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"VERIFY"}},messageEncoding:{type:"MessageEncoding",id:5,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_LEGACY","edition_defaults.value":"LENGTH_PREFIXED"}},jsonFormat:{type:"JsonFormat",id:6,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"ALLOW"}},enforceNamingStyle:{type:"EnforceNamingStyle",id:7,options:{retention:"RETENTION_SOURCE",targets:"TARGET_TYPE_METHOD","feature_support.edition_introduced":"EDITION_2024","edition_defaults.edition":"EDITION_2024","edition_defaults.value":"STYLE2024"}},defaultSymbolVisibility:{type:"VisibilityFeature.DefaultSymbolVisibility",id:8,options:{retention:"RETENTION_SOURCE",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2024","edition_defaults.edition":"EDITION_2024","edition_defaults.value":"EXPORT_TOP_LEVEL"}}},extensions:[[1e3,9994],[9995,9999],[1e4,1e4]],reserved:[[999,999]],nested:{FieldPresence:{values:{FIELD_PRESENCE_UNKNOWN:0,EXPLICIT:1,IMPLICIT:2,LEGACY_REQUIRED:3}},EnumType:{values:{ENUM_TYPE_UNKNOWN:0,OPEN:1,CLOSED:2}},RepeatedFieldEncoding:{values:{REPEATED_FIELD_ENCODING_UNKNOWN:0,PACKED:1,EXPANDED:2}},Utf8Validation:{values:{UTF8_VALIDATION_UNKNOWN:0,VERIFY:2,NONE:3}},MessageEncoding:{values:{MESSAGE_ENCODING_UNKNOWN:0,LENGTH_PREFIXED:1,DELIMITED:2}},JsonFormat:{values:{JSON_FORMAT_UNKNOWN:0,ALLOW:1,LEGACY_BEST_EFFORT:2}},EnforceNamingStyle:{values:{ENFORCE_NAMING_STYLE_UNKNOWN:0,STYLE2024:1,STYLE_LEGACY:2}},VisibilityFeature:{fields:{},reserved:[[1,536870911]],nested:{DefaultSymbolVisibility:{values:{DEFAULT_SYMBOL_VISIBILITY_UNKNOWN:0,EXPORT_ALL:1,EXPORT_TOP_LEVEL:2,LOCAL_ALL:3,STRICT:4}}}}}},FeatureSetDefaults:{edition:"proto2",fields:{defaults:{rule:"repeated",type:"FeatureSetEditionDefault",id:1},minimumEdition:{type:"Edition",id:4},maximumEdition:{type:"Edition",id:5}},nested:{FeatureSetEditionDefault:{fields:{edition:{type:"Edition",id:3},overridableFeatures:{type:"FeatureSet",id:4},fixedFeatures:{type:"FeatureSet",id:5}},reserved:[[1,1],[2,2],"features"]}}},SourceCodeInfo:{edition:"proto2",fields:{location:{rule:"repeated",type:"Location",id:1}},extensions:[[536e6,536e6]],nested:{Location:{fields:{path:{rule:"repeated",type:"int32",id:1,options:{packed:!0}},span:{rule:"repeated",type:"int32",id:2,options:{packed:!0}},leadingComments:{type:"string",id:3},trailingComments:{type:"string",id:4},leadingDetachedComments:{rule:"repeated",type:"string",id:6}}}}},GeneratedCodeInfo:{edition:"proto2",fields:{annotation:{rule:"repeated",type:"Annotation",id:1}},nested:{Annotation:{fields:{path:{rule:"repeated",type:"int32",id:1,options:{packed:!0}},sourceFile:{type:"string",id:2},begin:{type:"int32",id:3},end:{type:"int32",id:4},semantic:{type:"Semantic",id:5}},nested:{Semantic:{values:{NONE:0,SET:1,ALIAS:2}}}}}},SymbolVisibility:{edition:"proto2",values:{VISIBILITY_UNSET:0,VISIBILITY_LOCAL:1,VISIBILITY_EXPORT:2}}}}}}}}});var x5=T((je,w5)=>{"use strict";var Dr=eb();w5.exports=je=Dr.descriptor=Dr.Root.fromJSON(ak()).lookup(".google.protobuf");var S5=Dr.Namespace,Og=Dr.Root,ns=Dr.Enum,Ti=Dr.Type,Ea=Dr.Field,Jwe=Dr.MapField,tb=Dr.OneOf,Ng=Dr.Service,rb=Dr.Method,E5=Dr.util.patterns,Xwe=E5.numberRe,nb=E5.typeRefRe;Og.fromDescriptor=function(e){typeof e.length=="number"&&(e=je.FileDescriptorSet.decode(e));var r=new Og;if(e.file)for(var n,i,o=0,s;o<e.file.length;++o){i=r,(n=e.file[o]).package&&n.package.length&&(i=r.define(n.package));var a=axe(n);if(n.name&&n.name.length&&r.files.push(i.filename=n.name),n.messageType)for(s=0;s<n.messageType.length;++s)i.add(Ti.fromDescriptor(n.messageType[s],a));if(n.enumType)for(s=0;s<n.enumType.length;++s)i.add(ns.fromDescriptor(n.enumType[s],a));if(n.extension)for(s=0;s<n.extension.length;++s)i.add(Ea.fromDescriptor(n.extension[s],a));if(n.service)for(s=0;s<n.service.length;++s)i.add(Ng.fromDescriptor(n.service[s],a));var c=Gd(n.options,je.FileOptions);if(c){var l=Object.keys(c);for(s=0;s<l.length;++s)i.setOption(l[s],c[l[s]])}}return r.resolveAll()};Og.prototype.toDescriptor=function(e){var r=je.FileDescriptorSet.create();return v5(this,r.file,e),r};function v5(t,e,r){var n=je.FileDescriptorProto.create({name:t.filename||(t.fullName.substring(1).replace(/\./g,"_")||"root")+".proto"});cxe(r,n),t instanceof Og||(n.package=t.fullName.substring(1));for(var i=0,o;i<t.nestedArray.length;++i)(o=t._nestedArray[i])instanceof Ti?n.messageType.push(o.toDescriptor(r)):o instanceof ns?n.enumType.push(o.toDescriptor()):o instanceof Ea?n.extension.push(o.toDescriptor(r)):o instanceof Ng?n.service.push(o.toDescriptor()):o instanceof S5&&v5(o,e,r);n.options=qd(t.options,je.FileOptions),n.messageType.length+n.enumType.length+n.extension.length+n.service.length&&e.push(n)}var Qwe=0;Ti.fromDescriptor=function(e,r,n,i){if(i===void 0&&(i=0),i>Dr.util.nestingLimit)throw Error("max depth exceeded");typeof e.length=="number"&&(e=je.DescriptorProto.decode(e));var o=new Ti(e.name.length?e.name:"Type"+Qwe++,Gd(e.options,je.MessageOptions)),s;if(n||(o._edition=r),e.oneofDecl)for(s=0;s<e.oneofDecl.length;++s)o.add(tb.fromDescriptor(e.oneofDecl[s]));if(e.field)for(s=0;s<e.field.length;++s){var a=Ea.fromDescriptor(e.field[s],r,!0);o.add(a),e.field[s].hasOwnProperty("oneofIndex")&&o.oneofsArray[e.field[s].oneofIndex].add(a)}if(e.extension)for(s=0;s<e.extension.length;++s)o.add(Ea.fromDescriptor(e.extension[s],r,!0));if(e.nestedType)for(s=0;s<e.nestedType.length;++s)o.add(Ti.fromDescriptor(e.nestedType[s],r,!0,i+1)),e.nestedType[s].options&&e.nestedType[s].options.mapEntry&&o.setOption("map_entry",!0);if(e.enumType)for(s=0;s<e.enumType.length;++s)o.add(ns.fromDescriptor(e.enumType[s],r,!0));if(e.extensionRange&&e.extensionRange.length)for(o.extensions=[],s=0;s<e.extensionRange.length;++s)o.extensions.push([e.extensionRange[s].start,e.extensionRange[s].end]);if(e.reservedRange&&e.reservedRange.length||e.reservedName&&e.reservedName.length){if(o.reserved=[],e.reservedRange)for(s=0;s<e.reservedRange.length;++s)o.reserved.push([e.reservedRange[s].start,e.reservedRange[s].end]);if(e.reservedName)for(s=0;s<e.reservedName.length;++s)o.reserved.push(e.reservedName[s])}return o};Ti.prototype.toDescriptor=function(e){var r=je.DescriptorProto.create({name:this.name}),n;for(n=0;n<this.fieldsArray.length;++n){var i;if(r.field.push(i=this._fieldsArray[n].toDescriptor(e)),this._fieldsArray[n]instanceof Jwe){var o=ck(this._fieldsArray[n].keyType,this._fieldsArray[n].resolvedKeyType,!1),s=ck(this._fieldsArray[n].type,this._fieldsArray[n].resolvedType,!1),a=s===11||s===14?this._fieldsArray[n].resolvedType&&A5(this.parent,this._fieldsArray[n].resolvedType)||this._fieldsArray[n].type:void 0;r.nestedType.push(je.DescriptorProto.create({name:i.typeName,field:[je.FieldDescriptorProto.create({name:"key",number:1,label:1,type:o}),je.FieldDescriptorProto.create({name:"value",number:2,label:1,type:s,typeName:a})],options:je.MessageOptions.create({mapEntry:!0})}))}}for(n=0;n<this.oneofsArray.length;++n)r.oneofDecl.push(this._oneofsArray[n].toDescriptor());for(n=0;n<this.nestedArray.length;++n)this._nestedArray[n]instanceof Ea?r.field.push(this._nestedArray[n].toDescriptor(e)):this._nestedArray[n]instanceof Ti?r.nestedType.push(this._nestedArray[n].toDescriptor(e)):this._nestedArray[n]instanceof ns&&r.enumType.push(this._nestedArray[n].toDescriptor());if(this.extensions)for(n=0;n<this.extensions.length;++n)r.extensionRange.push(je.DescriptorProto.ExtensionRange.create({start:this.extensions[n][0],end:this.extensions[n][1]}));if(this.reserved)for(n=0;n<this.reserved.length;++n)typeof this.reserved[n]=="string"?r.reservedName.push(this.reserved[n]):r.reservedRange.push(je.DescriptorProto.ReservedRange.create({start:this.reserved[n][0],end:this.reserved[n][1]}));return r.options=qd(this.options,je.MessageOptions),r};Ea.fromDescriptor=function(e,r,n){if(typeof e.length=="number"&&(e=je.DescriptorProto.decode(e)),typeof e.number!="number")throw Error("missing field id");var i=e.typeName,o;if(i!=null&&i!==""){if(typeof i!="string"||!nb.test(i))throw Error("illegal type name: "+i);o=i}else o=ixe(e.type);var s;switch(e.label){case 1:s=void 0;break;case 2:s="required";break;case 3:s="repeated";break;default:throw Error("illegal label: "+e.label)}var a=e.extendee;if(a!=null&&a!==""){if(typeof a!="string"||!nb.test(a))throw Error("illegal type name: "+a)}else a=void 0;var c=new Ea(e.name.length?e.name:"field"+e.number,e.number,o,s,a);if(n||(c._edition=r),c.options=Gd(e.options,je.FieldOptions),e.proto3_optional&&(c.options.proto3_optional=!0),e.defaultValue&&e.defaultValue.length){var l=e.defaultValue;switch(l){case"true":case"TRUE":l=!0;break;case"false":case"FALSE":l=!1;break;default:var u=Xwe.exec(l);u&&(l=parseInt(l));break}c.setOption("default",l)}return oxe(e.type)&&(r==="proto3"?e.options&&!e.options.packed&&c.setOption("packed",!1):(!r||r==="proto2")&&e.options&&e.options.packed&&c.setOption("packed",!0)),c};Ea.prototype.toDescriptor=function(e){var r=je.FieldDescriptorProto.create({name:this.name,number:this.id});if(this.map)r.type=11,r.typeName=Dr.util.ucFirst(this.name),r.label=3;else{switch(r.type=ck(this.type,this.resolve().resolvedType,this.delimited)){case 10:case 11:case 14:r.typeName=this.resolvedType?A5(this.parent,this.resolvedType):this.type;break}this.rule==="repeated"?r.label=3:this.required&&e==="proto2"?r.label=2:r.label=1}if(r.extendee=this.extensionField?this.extensionField.parent.fullName:this.extend,this.partOf&&this.parent instanceof Ti&&(r.oneofIndex=this.parent.oneofsArray.indexOf(this.partOf))<0)throw Error("missing oneof");return this.options&&(r.options=qd(this.options,je.FieldOptions),this.options.default!=null&&(r.defaultValue=String(this.options.default)),this.options.proto3_optional&&(r.proto3_optional=!0)),e==="proto3"?this.packed||((r.options||(r.options=je.FieldOptions.create())).packed=!1):(!e||e==="proto2")&&this.packed&&((r.options||(r.options=je.FieldOptions.create())).packed=!0),r};var exe=0;ns.fromDescriptor=function(e,r,n){typeof e.length=="number"&&(e=je.EnumDescriptorProto.decode(e));var i={};if(e.value)for(var o=0;o<e.value.length;++o){var s=e.value[o].name,a=e.value[o].number||0;i[s&&s.length?s:"NAME"+a]=a}var c=new ns(e.name&&e.name.length?e.name:"Enum"+exe++,i,Gd(e.options,je.EnumOptions));return n||(c._edition=r),c};ns.prototype.toDescriptor=function(){for(var e=[],r=0,n=Object.keys(this.values);r<n.length;++r)e.push(je.EnumValueDescriptorProto.create({name:n[r],number:this.values[n[r]]}));return je.EnumDescriptorProto.create({name:this.name,value:e,options:qd(this.options,je.EnumOptions)})};var txe=0;tb.fromDescriptor=function(e){return typeof e.length=="number"&&(e=je.OneofDescriptorProto.decode(e)),new tb(e.name&&e.name.length?e.name:"oneof"+txe++)};tb.prototype.toDescriptor=function(){return je.OneofDescriptorProto.create({name:this.name})};var rxe=0;Ng.fromDescriptor=function(e,r,n){typeof e.length=="number"&&(e=je.ServiceDescriptorProto.decode(e));var i=new Ng(e.name&&e.name.length?e.name:"Service"+rxe++,Gd(e.options,je.ServiceOptions));if(n||(i._edition=r),e.method)for(var o=0;o<e.method.length;++o)i.add(rb.fromDescriptor(e.method[o]));return i};Ng.prototype.toDescriptor=function(){for(var e=[],r=0;r<this.methodsArray.length;++r)e.push(this._methodsArray[r].toDescriptor());return je.ServiceDescriptorProto.create({name:this.name,method:e,options:qd(this.options,je.ServiceOptions)})};var nxe=0;rb.fromDescriptor=function(e){typeof e.length=="number"&&(e=je.MethodDescriptorProto.decode(e));var r=e.inputType,n=e.outputType;if(r!=null&&r!==""&&(typeof r!="string"||!nb.test(r)))throw Error("illegal type name: "+r);if(n!=null&&n!==""&&(typeof n!="string"||!nb.test(n)))throw Error("illegal type name: "+n);return new rb(e.name&&e.name.length?e.name:"Method"+nxe++,"rpc",r,n,!!e.clientStreaming,!!e.serverStreaming,Gd(e.options,je.MethodOptions))};rb.prototype.toDescriptor=function(){return je.MethodDescriptorProto.create({name:this.name,inputType:this.resolvedRequestType?this.resolvedRequestType.fullName:this.requestType,outputType:this.resolvedResponseType?this.resolvedResponseType.fullName:this.responseType,clientStreaming:this.requestStream,serverStreaming:this.responseStream,options:qd(this.options,je.MethodOptions)})};function ixe(t){switch(t){case 1:return"double";case 2:return"float";case 3:return"int64";case 4:return"uint64";case 5:return"int32";case 6:return"fixed64";case 7:return"fixed32";case 8:return"bool";case 9:return"string";case 12:return"bytes";case 13:return"uint32";case 15:return"sfixed32";case 16:return"sfixed64";case 17:return"sint32";case 18:return"sint64"}throw Error("illegal type: "+t)}function oxe(t){switch(t){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 13:case 14:case 15:case 16:case 17:case 18:return!0}return!1}function ck(t,e,r){switch(t){case"double":return 1;case"float":return 2;case"int64":return 3;case"uint64":return 4;case"int32":return 5;case"fixed64":return 6;case"fixed32":return 7;case"bool":return 8;case"string":return 9;case"bytes":return 12;case"uint32":return 13;case"sfixed32":return 15;case"sfixed64":return 16;case"sint32":return 17;case"sint64":return 18}if(e instanceof ns)return 14;if(e instanceof Ti)return r?10:11;throw Error("illegal type: "+t)}function T5(t,e){for(var r={},n=0,i,o;n<e.fieldsArray.length;++n)if((o=(i=e._fieldsArray[n]).name)!=="uninterpretedOption"&&Object.prototype.hasOwnProperty.call(t,o)){var s=sxe(o);i.resolvedType instanceof Ti?r[s]=T5(t[o],i.resolvedType):i.resolvedType instanceof ns?r[s]=i.resolvedType.valuesById[t[o]]:r[s]=t[o]}return r}function Gd(t,e){if(t)return T5(e.toObject(t),e)}function b5(t,e){for(var r={},n=Object.keys(t),i=0;i<n.length;++i){var o=n[i],s=Dr.util.camelCase(o);if(Object.prototype.hasOwnProperty.call(e.fields,s)){var a=e.fields[s];a.resolvedType instanceof Ti?r[s]=b5(t[o],a.resolvedType):r[s]=t[o],a.repeated&&!Array.isArray(r[s])&&(r[s]=[r[s]])}}return r}function qd(t,e){if(t)return e.fromObject(b5(t,e))}function A5(t,e){var r=t.fullName.split("."),n=e.fullName.split("."),i=0,o=0,s=n.length-1;if(!(t instanceof Og)&&e instanceof S5)for(;i<r.length&&o<s&&r[i]===n[o];){var a=e.lookup(r[i++],!0);if(a!==null&&a!==e)break;++o}else for(;i<r.length&&o<s&&r[i]===n[o];++i,++o);return n.slice(o).join(".")}function sxe(t){return t.substring(0,1)+t.substring(1).replace(/([A-Z])(?=[a-z]|$)/g,function(e,r){return"_"+r.toLowerCase()})}function axe(t){if(t.syntax==="editions"){if(t.edition===je.Edition.EDITION_2023)return"2023";throw new Error("Unsupported edition "+t.edition)}return t.syntax==="proto3"?"proto3":"proto2"}function cxe(t,e){if(t)if(t==="proto2"||t==="proto3")e.syntax=t;else if(e.syntax="editions",t==="2023")e.edition=je.Edition.EDITION_2023;else throw new Error("Unsupported edition "+t)}});var R5=T((Gct,lxe)=>{lxe.exports={nested:{google:{nested:{protobuf:{nested:{Api:{fields:{name:{type:"string",id:1},methods:{rule:"repeated",type:"Method",id:2},options:{rule:"repeated",type:"Option",id:3},version:{type:"string",id:4},sourceContext:{type:"SourceContext",id:5},mixins:{rule:"repeated",type:"Mixin",id:6},syntax:{type:"Syntax",id:7}}},Method:{fields:{name:{type:"string",id:1},requestTypeUrl:{type:"string",id:2},requestStreaming:{type:"bool",id:3},responseTypeUrl:{type:"string",id:4},responseStreaming:{type:"bool",id:5},options:{rule:"repeated",type:"Option",id:6},syntax:{type:"Syntax",id:7}}},Mixin:{fields:{name:{type:"string",id:1},root:{type:"string",id:2}}},SourceContext:{fields:{fileName:{type:"string",id:1}}},Option:{fields:{name:{type:"string",id:1},value:{type:"Any",id:2}}},Syntax:{values:{SYNTAX_PROTO2:0,SYNTAX_PROTO3:1}}}}}}}}});var I5=T((qct,uxe)=>{uxe.exports={nested:{google:{nested:{protobuf:{nested:{SourceContext:{fields:{fileName:{type:"string",id:1}}}}}}}}}});var C5=T((Vct,dxe)=>{dxe.exports={nested:{google:{nested:{protobuf:{nested:{Type:{fields:{name:{type:"string",id:1},fields:{rule:"repeated",type:"Field",id:2},oneofs:{rule:"repeated",type:"string",id:3},options:{rule:"repeated",type:"Option",id:4},sourceContext:{type:"SourceContext",id:5},syntax:{type:"Syntax",id:6}}},Field:{fields:{kind:{type:"Kind",id:1},cardinality:{type:"Cardinality",id:2},number:{type:"int32",id:3},name:{type:"string",id:4},typeUrl:{type:"string",id:6},oneofIndex:{type:"int32",id:7},packed:{type:"bool",id:8},options:{rule:"repeated",type:"Option",id:9},jsonName:{type:"string",id:10},defaultValue:{type:"string",id:11}},nested:{Kind:{values:{TYPE_UNKNOWN:0,TYPE_DOUBLE:1,TYPE_FLOAT:2,TYPE_INT64:3,TYPE_UINT64:4,TYPE_INT32:5,TYPE_FIXED64:6,TYPE_FIXED32:7,TYPE_BOOL:8,TYPE_STRING:9,TYPE_GROUP:10,TYPE_MESSAGE:11,TYPE_BYTES:12,TYPE_UINT32:13,TYPE_ENUM:14,TYPE_SFIXED32:15,TYPE_SFIXED64:16,TYPE_SINT32:17,TYPE_SINT64:18}},Cardinality:{values:{CARDINALITY_UNKNOWN:0,CARDINALITY_OPTIONAL:1,CARDINALITY_REQUIRED:2,CARDINALITY_REPEATED:3}}}},Enum:{fields:{name:{type:"string",id:1},enumvalue:{rule:"repeated",type:"EnumValue",id:2},options:{rule:"repeated",type:"Option",id:3},sourceContext:{type:"SourceContext",id:4},syntax:{type:"Syntax",id:5}}},EnumValue:{fields:{name:{type:"string",id:1},number:{type:"int32",id:2},options:{rule:"repeated",type:"Option",id:3}}},Option:{fields:{name:{type:"string",id:1},value:{type:"Any",id:2}}},Syntax:{values:{SYNTAX_PROTO2:0,SYNTAX_PROTO3:1}},Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}},SourceContext:{fields:{fileName:{type:"string",id:1}}}}}}}}}});var k5=T(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.addCommonProtos=va.loadProtosWithOptionsSync=va.loadProtosWithOptions=void 0;var P5=Q("fs"),O5=Q("path"),Vd=eb();function N5(t,e){let r=t.resolvePath;t.resolvePath=(n,i)=>{if(O5.isAbsolute(i))return i;for(let o of e){let s=O5.join(o,i);try{return P5.accessSync(s,P5.constants.R_OK),s}catch{continue}}return process.emitWarning(`${i} not found in any of the include paths ${e}`),r(n,i)}}async function fxe(t,e){let r=new Vd.Root;if(e=e||{},e.includeDirs){if(!Array.isArray(e.includeDirs))return Promise.reject(new Error("The includeDirs option must be an array"));N5(r,e.includeDirs)}let n=await r.load(t,e);return n.resolveAll(),n}va.loadProtosWithOptions=fxe;function pxe(t,e){let r=new Vd.Root;if(e=e||{},e.includeDirs){if(!Array.isArray(e.includeDirs))throw new Error("The includeDirs option must be an array");N5(r,e.includeDirs)}let n=r.loadSync(t,e);return n.resolveAll(),n}va.loadProtosWithOptionsSync=pxe;function hxe(){let t=R5(),e=ak(),r=I5(),n=C5();Vd.common("api",t.nested.google.nested.protobuf.nested),Vd.common("descriptor",e.nested.google.nested.protobuf.nested),Vd.common("source_context",r.nested.google.nested.protobuf.nested),Vd.common("type",n.nested.google.nested.protobuf.nested)}va.addCommonProtos=hxe});var hk=T(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.loadFileDescriptorSetFromObject=Ft.loadFileDescriptorSetFromBuffer=Ft.fromJSON=Ft.loadSync=Ft.load=Ft.IdempotencyLevel=Ft.isAnyExtension=Ft.Long=void 0;var mxe=m8(),so=eb(),fk=x5(),pk=k5(),gxe=gN();Ft.Long=gxe;function _xe(t){return"@type"in t&&typeof t["@type"]=="string"}Ft.isAnyExtension=_xe;var M5;(function(t){t.IDEMPOTENCY_UNKNOWN="IDEMPOTENCY_UNKNOWN",t.NO_SIDE_EFFECTS="NO_SIDE_EFFECTS",t.IDEMPOTENT="IDEMPOTENT"})(M5=Ft.IdempotencyLevel||(Ft.IdempotencyLevel={}));var D5={longs:String,enums:String,bytes:String,defaults:!0,oneofs:!0,json:!0};function yxe(t,e){return t===""?e:t+"."+e}function Sxe(t){return t instanceof so.Service||t instanceof so.Type||t instanceof so.Enum}function Exe(t){return t instanceof so.Namespace||t instanceof so.Root}function L5(t,e){let r=yxe(e,t.name);return Sxe(t)?[[r,t]]:Exe(t)&&typeof t.nested<"u"?Object.keys(t.nested).map(n=>L5(t.nested[n],r)).reduce((n,i)=>n.concat(i),[]):[]}function lk(t,e){return function(n){return t.toObject(t.decode(n),e)}}function uk(t){return function(r){if(Array.isArray(r))throw new Error(`Failed to serialize message: expected object with ${t.name} structure, got array instead`);let n=t.fromObject(r);return t.encode(n).finish()}}function vxe(t){return(t||[]).reduce((e,r)=>{for(let[n,i]of Object.entries(r))n==="uninterpreted_option"?e.uninterpreted_option.push(r.uninterpreted_option):e[n]=i;return e},{deprecated:!1,idempotency_level:M5.IDEMPOTENCY_UNKNOWN,uninterpreted_option:[]})}function Txe(t,e,r,n){let i=t.resolvedRequestType,o=t.resolvedResponseType;return{path:"/"+e+"/"+t.name,requestStream:!!t.requestStream,responseStream:!!t.responseStream,requestSerialize:uk(i),requestDeserialize:lk(i,r),responseSerialize:uk(o),responseDeserialize:lk(o,r),originalName:mxe(t.name),requestType:dk(i,r,n),responseType:dk(o,r,n),options:vxe(t.parsedOptions)}}function bxe(t,e,r,n){let i={};for(let o of t.methodsArray)i[o.name]=Txe(o,e,r,n);return i}function dk(t,e,r){let n=t.toDescriptor("proto3");return{format:"Protocol Buffer 3 DescriptorProto",type:n.$type.toObject(n,D5),fileDescriptorProtos:r,serialize:uk(t),deserialize:lk(t,e)}}function Axe(t,e){let r=t.toDescriptor("proto3");return{format:"Protocol Buffer 3 EnumDescriptorProto",type:r.$type.toObject(r,D5),fileDescriptorProtos:e}}function wxe(t,e,r,n){if(t instanceof so.Service)return bxe(t,e,r,n);if(t instanceof so.Type)return dk(t,r,n);if(t instanceof so.Enum)return Axe(t,n);throw new Error("Type mismatch in reflection object handling")}function ib(t,e){let r={};t.resolveAll();let i=t.toDescriptor("proto3").file.map(o=>Buffer.from(fk.FileDescriptorProto.encode(o).finish()));for(let[o,s]of L5(t,""))r[o]=wxe(s,o,e,i);return r}function $5(t,e){e=e||{};let r=so.Root.fromDescriptor(t);return r.resolveAll(),ib(r,e)}function xxe(t,e){return(0,pk.loadProtosWithOptions)(t,e).then(r=>ib(r,e))}Ft.load=xxe;function Rxe(t,e){let r=(0,pk.loadProtosWithOptionsSync)(t,e);return ib(r,e)}Ft.loadSync=Rxe;function Ixe(t,e){e=e||{};let r=so.Root.fromJSON(t);return r.resolveAll(),ib(r,e)}Ft.fromJSON=Ixe;function Cxe(t,e){let r=fk.FileDescriptorSet.decode(t);return $5(r,e)}Ft.loadFileDescriptorSetFromBuffer=Cxe;function Pxe(t,e){let r=fk.FileDescriptorSet.fromObject(t);return $5(r,e)}Ft.loadFileDescriptorSetFromObject=Pxe;(0,pk.addCommonProtos)()});var Ta=T(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.registerChannelzSocket=pt.registerChannelzServer=pt.registerChannelzSubchannel=pt.registerChannelzChannel=pt.ChannelzCallTrackerStub=pt.ChannelzCallTracker=pt.ChannelzChildrenTrackerStub=pt.ChannelzChildrenTracker=pt.ChannelzTrace=pt.ChannelzTraceStub=void 0;pt.unregisterChannelzRef=Dxe;pt.getChannelzHandlers=V5;pt.getChannelzServiceDefinition=H5;pt.setup=Hxe;var sb=Q("net"),Sl=(UK(),Pr($K)),kg=Mr(),Mg=Ge(),Oxe=Xr(),Nxe=AT(),kxe=CT();function mk(t){return{channel_id:t.id,name:t.name}}function Ek(t){return{subchannel_id:t.id,name:t.name}}function Mxe(t){return{server_id:t.id}}function lb(t){return{socket_id:t.id,name:t.name}}var U5=32,vk=100,gk=class{constructor(){this.events=[],this.creationTimestamp=new Date,this.eventsLogged=0}addTrace(){}getTraceMessage(){return{creation_timestamp:ao(this.creationTimestamp),num_events_logged:this.eventsLogged,events:[]}}};pt.ChannelzTraceStub=gk;var _k=class{constructor(){this.events=[],this.eventsLogged=0,this.creationTimestamp=new Date}addTrace(e,r,n){let i=new Date;this.events.push({description:r,severity:e,timestamp:i,childChannel:n?.kind==="channel"?n:void 0,childSubchannel:n?.kind==="subchannel"?n:void 0}),this.events.length>=U5*2&&(this.events=this.events.slice(U5)),this.eventsLogged+=1}getTraceMessage(){return{creation_timestamp:ao(this.creationTimestamp),num_events_logged:this.eventsLogged,events:this.events.map(e=>({description:e.description,severity:e.severity,timestamp:ao(e.timestamp),channel_ref:e.childChannel?mk(e.childChannel):null,subchannel_ref:e.childSubchannel?Ek(e.childSubchannel):null}))}}};pt.ChannelzTrace=_k;var ab=class{constructor(){this.channelChildren=new Sl.OrderedMap,this.subchannelChildren=new Sl.OrderedMap,this.socketChildren=new Sl.OrderedMap,this.trackerMap={channel:this.channelChildren,subchannel:this.subchannelChildren,socket:this.socketChildren}}refChild(e){let r=this.trackerMap[e.kind],n=r.find(e.id);n.equals(r.end())?r.setElement(e.id,{ref:e,count:1},n):n.pointer[1].count+=1}unrefChild(e){let r=this.trackerMap[e.kind],n=r.getElementByKey(e.id);n!==void 0&&(n.count-=1,n.count===0&&r.eraseElementByKey(e.id))}getChildLists(){return{channels:this.channelChildren,subchannels:this.subchannelChildren,sockets:this.socketChildren}}};pt.ChannelzChildrenTracker=ab;var yk=class extends ab{refChild(){}unrefChild(){}};pt.ChannelzChildrenTrackerStub=yk;var cb=class{constructor(){this.callsStarted=0,this.callsSucceeded=0,this.callsFailed=0,this.lastCallStartedTimestamp=null}addCallStarted(){this.callsStarted+=1,this.lastCallStartedTimestamp=new Date}addCallSucceeded(){this.callsSucceeded+=1}addCallFailed(){this.callsFailed+=1}};pt.ChannelzCallTracker=cb;var Sk=class extends cb{addCallStarted(){}addCallSucceeded(){}addCallFailed(){}};pt.ChannelzCallTrackerStub=Sk;var is={channel:new Sl.OrderedMap,subchannel:new Sl.OrderedMap,server:new Sl.OrderedMap,socket:new Sl.OrderedMap},ub=t=>{let e=1;function r(){return e++}let n=is[t];return(i,o,s)=>{let a=r(),c={id:a,name:i,kind:t};return s&&n.setElement(a,{ref:c,getInfo:o}),c}};pt.registerChannelzChannel=ub("channel");pt.registerChannelzSubchannel=ub("subchannel");pt.registerChannelzServer=ub("server");pt.registerChannelzSocket=ub("socket");function Dxe(t){is[t.kind].eraseElementByKey(t.id)}function Lxe(t){let e=Number.parseInt(t,16);return[e/256|0,e%256]}function F5(t){if(t==="")return[];let e=t.split(":").map(n=>Lxe(n));return[].concat(...e)}function $xe(t){return(0,sb.isIPv6)(t)&&t.toLowerCase().startsWith("::ffff:")&&(0,sb.isIPv4)(t.substring(7))}function B5(t){return Buffer.from(Uint8Array.from(t.split(".").map(e=>Number.parseInt(e))))}function Uxe(t){if((0,sb.isIPv4)(t))return B5(t);if($xe(t))return B5(t.substring(7));if((0,sb.isIPv6)(t)){let e,r,n=t.indexOf("::");n===-1?(e=t,r=""):(e=t.substring(0,n),r=t.substring(n+2));let i=Buffer.from(F5(e)),o=Buffer.from(F5(r)),s=Buffer.alloc(16-i.length-o.length,0);return Buffer.concat([i,s,o])}else return null}function z5(t){switch(t){case kg.ConnectivityState.CONNECTING:return{state:"CONNECTING"};case kg.ConnectivityState.IDLE:return{state:"IDLE"};case kg.ConnectivityState.READY:return{state:"READY"};case kg.ConnectivityState.SHUTDOWN:return{state:"SHUTDOWN"};case kg.ConnectivityState.TRANSIENT_FAILURE:return{state:"TRANSIENT_FAILURE"};default:return{state:"UNKNOWN"}}}function ao(t){if(!t)return null;let e=t.getTime();return{seconds:e/1e3|0,nanos:e%1e3*1e6}}function G5(t){let e=t.getInfo(),r=[],n=[];return e.children.channels.forEach(i=>{r.push(mk(i[1].ref))}),e.children.subchannels.forEach(i=>{n.push(Ek(i[1].ref))}),{ref:mk(t.ref),data:{target:e.target,state:z5(e.state),calls_started:e.callTracker.callsStarted,calls_succeeded:e.callTracker.callsSucceeded,calls_failed:e.callTracker.callsFailed,last_call_started_timestamp:ao(e.callTracker.lastCallStartedTimestamp),trace:e.trace.getTraceMessage()},channel_ref:r,subchannel_ref:n}}function Fxe(t,e){let r=parseInt(t.request.channel_id,10),n=is.channel.getElementByKey(r);if(n===void 0){e({code:Mg.Status.NOT_FOUND,details:"No channel data found for id "+r});return}e(null,{channel:G5(n)})}function Bxe(t,e){let r=parseInt(t.request.max_results,10)||vk,n=[],i=parseInt(t.request.start_channel_id,10),o=is.channel,s;for(s=o.lowerBound(i);!s.equals(o.end())&&n.length<r;s=s.next())n.push(G5(s.pointer[1]));e(null,{channel:n,end:s.equals(o.end())})}function q5(t){let e=t.getInfo(),r=[];return e.listenerChildren.sockets.forEach(n=>{r.push(lb(n[1].ref))}),{ref:Mxe(t.ref),data:{calls_started:e.callTracker.callsStarted,calls_succeeded:e.callTracker.callsSucceeded,calls_failed:e.callTracker.callsFailed,last_call_started_timestamp:ao(e.callTracker.lastCallStartedTimestamp),trace:e.trace.getTraceMessage()},listen_socket:r}}function jxe(t,e){let r=parseInt(t.request.server_id,10),i=is.server.getElementByKey(r);if(i===void 0){e({code:Mg.Status.NOT_FOUND,details:"No server data found for id "+r});return}e(null,{server:q5(i)})}function zxe(t,e){let r=parseInt(t.request.max_results,10)||vk,n=parseInt(t.request.start_server_id,10),i=is.server,o=[],s;for(s=i.lowerBound(n);!s.equals(i.end())&&o.length<r;s=s.next())o.push(q5(s.pointer[1]));e(null,{server:o,end:s.equals(i.end())})}function Gxe(t,e){let r=parseInt(t.request.subchannel_id,10),n=is.subchannel.getElementByKey(r);if(n===void 0){e({code:Mg.Status.NOT_FOUND,details:"No subchannel data found for id "+r});return}let i=n.getInfo(),o=[];i.children.sockets.forEach(a=>{o.push(lb(a[1].ref))});let s={ref:Ek(n.ref),data:{target:i.target,state:z5(i.state),calls_started:i.callTracker.callsStarted,calls_succeeded:i.callTracker.callsSucceeded,calls_failed:i.callTracker.callsFailed,last_call_started_timestamp:ao(i.callTracker.lastCallStartedTimestamp),trace:i.trace.getTraceMessage()},socket_ref:o};e(null,{subchannel:s})}function j5(t){var e;return(0,Oxe.isTcpSubchannelAddress)(t)?{address:"tcpip_address",tcpip_address:{ip_address:(e=Uxe(t.host))!==null&&e!==void 0?e:void 0,port:t.port}}:{address:"uds_address",uds_address:{filename:t.path}}}function qxe(t,e){var r,n,i,o,s;let a=parseInt(t.request.socket_id,10),c=is.socket.getElementByKey(a);if(c===void 0){e({code:Mg.Status.NOT_FOUND,details:"No socket data found for id "+a});return}let l=c.getInfo(),u=l.security?{model:"tls",tls:{cipher_suite:l.security.cipherSuiteStandardName?"standard_name":"other_name",standard_name:(r=l.security.cipherSuiteStandardName)!==null&&r!==void 0?r:void 0,other_name:(n=l.security.cipherSuiteOtherName)!==null&&n!==void 0?n:void 0,local_certificate:(i=l.security.localCertificate)!==null&&i!==void 0?i:void 0,remote_certificate:(o=l.security.remoteCertificate)!==null&&o!==void 0?o:void 0}}:null,d={ref:lb(c.ref),local:l.localAddress?j5(l.localAddress):null,remote:l.remoteAddress?j5(l.remoteAddress):null,remote_name:(s=l.remoteName)!==null&&s!==void 0?s:void 0,security:u,data:{keep_alives_sent:l.keepAlivesSent,streams_started:l.streamsStarted,streams_succeeded:l.streamsSucceeded,streams_failed:l.streamsFailed,last_local_stream_created_timestamp:ao(l.lastLocalStreamCreatedTimestamp),last_remote_stream_created_timestamp:ao(l.lastRemoteStreamCreatedTimestamp),messages_received:l.messagesReceived,messages_sent:l.messagesSent,last_message_received_timestamp:ao(l.lastMessageReceivedTimestamp),last_message_sent_timestamp:ao(l.lastMessageSentTimestamp),local_flow_control_window:l.localFlowControlWindow?{value:l.localFlowControlWindow}:null,remote_flow_control_window:l.remoteFlowControlWindow?{value:l.remoteFlowControlWindow}:null}};e(null,{socket:d})}function Vxe(t,e){let r=parseInt(t.request.server_id,10),n=is.server.getElementByKey(r);if(n===void 0){e({code:Mg.Status.NOT_FOUND,details:"No server data found for id "+r});return}let i=parseInt(t.request.start_socket_id,10),o=parseInt(t.request.max_results,10)||vk,a=n.getInfo().sessionChildren.sockets,c=[],l;for(l=a.lowerBound(i);!l.equals(a.end())&&c.length<o;l=l.next())c.push(lb(l.pointer[1].ref));e(null,{socket_ref:c,end:l.equals(a.end())})}function V5(){return{GetChannel:Fxe,GetTopChannels:Bxe,GetServer:jxe,GetServers:zxe,GetSubchannel:Gxe,GetSocket:qxe,GetServerSockets:Vxe}}var ob=null;function H5(){if(ob)return ob;let t=hk().loadSync,e=t("channelz.proto",{keepCase:!0,longs:String,enums:String,defaults:!0,oneofs:!0,includeDirs:[`${__dirname}/../../proto`]});return ob=(0,kxe.loadPackageDefinition)(e).grpc.channelz.v1.Channelz.service,ob}function Hxe(){(0,Nxe.registerAdminService)(H5,V5)}});var db=T(Tk=>{"use strict";Object.defineProperty(Tk,"__esModule",{value:!0});Tk.getNextCallNumber=Yxe;var Wxe=0;function Yxe(){return Wxe++}});var bk=T(fb=>{"use strict";Object.defineProperty(fb,"__esModule",{value:!0});fb.CompressionAlgorithms=void 0;var W5;(function(t){t[t.identity=0]="identity",t[t.deflate=1]="deflate",t[t.gzip=2]="gzip"})(W5||(fb.CompressionAlgorithms=W5={}))});var wk=T(pb=>{"use strict";Object.defineProperty(pb,"__esModule",{value:!0});pb.BaseFilter=void 0;var Ak=class{async sendMetadata(e){return e}receiveMetadata(e){return e}async sendMessage(e){return e}async receiveMessage(e){return e}receiveTrailers(e){return e}};pb.BaseFilter=Ak});var Pk=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.CompressionFilterFactory=Wd.CompressionFilter=void 0;var hb=Q("zlib"),K5=bk(),ba=Ge(),Kxe=wk(),Zxe=lt(),Jxe=t=>typeof t=="number"&&typeof K5.CompressionAlgorithms[t]=="string",Hd=class{async writeMessage(e,r){let n=e;r&&(n=await this.compressMessage(n));let i=Buffer.allocUnsafe(n.length+5);return i.writeUInt8(r?1:0,0),i.writeUInt32BE(n.length,1),n.copy(i,5),i}async readMessage(e){let r=e.readUInt8(0)===1,n=e.slice(5);return r&&(n=await this.decompressMessage(n)),n}},El=class extends Hd{async compressMessage(e){return e}async writeMessage(e,r){let n=Buffer.allocUnsafe(e.length+5);return n.writeUInt8(0,0),n.writeUInt32BE(e.length,1),e.copy(n,5),n}decompressMessage(e){return Promise.reject(new Error('Received compressed message but "grpc-encoding" header was identity'))}},xk=class extends Hd{constructor(e){super(),this.maxRecvMessageLength=e}compressMessage(e){return new Promise((r,n)=>{hb.deflate(e,(i,o)=>{i?n(i):r(o)})})}decompressMessage(e){return new Promise((r,n)=>{let i=0,o=[],s=hb.createInflate();s.on("error",a=>{n({code:ba.Status.INTERNAL,details:"Failed to decompress deflate-encoded message"})}),s.on("data",a=>{o.push(a),i+=a.byteLength,this.maxRecvMessageLength!==-1&&i>this.maxRecvMessageLength&&(s.destroy(),n({code:ba.Status.RESOURCE_EXHAUSTED,details:`Received message that decompresses to a size larger than ${this.maxRecvMessageLength}`}))}),s.on("end",()=>{r(Buffer.concat(o))}),s.write(e),s.end()})}},Rk=class extends Hd{constructor(e){super(),this.maxRecvMessageLength=e}compressMessage(e){return new Promise((r,n)=>{hb.gzip(e,(i,o)=>{i?n(i):r(o)})})}decompressMessage(e){return new Promise((r,n)=>{let i=0,o=[],s=hb.createGunzip();s.on("error",a=>{n({code:ba.Status.INTERNAL,details:"Failed to decompress gzip-encoded message"})}),s.on("data",a=>{o.push(a),i+=a.byteLength,this.maxRecvMessageLength!==-1&&i>this.maxRecvMessageLength&&(s.destroy(),n({code:ba.Status.RESOURCE_EXHAUSTED,details:`Received message that decompresses to a size larger than ${this.maxRecvMessageLength}`}))}),s.on("end",()=>{r(Buffer.concat(o))}),s.write(e),s.end()})}},Ik=class extends Hd{constructor(e){super(),this.compressionName=e}compressMessage(e){return Promise.reject(new Error(`Received message compressed with unsupported compression method ${this.compressionName}`))}decompressMessage(e){return Promise.reject(new Error(`Compression method not supported: ${this.compressionName}`))}};function Y5(t,e){switch(t){case"identity":return new El;case"deflate":return new xk(e);case"gzip":return new Rk(e);default:return new Ik(t)}}var mb=class extends Kxe.BaseFilter{constructor(e,r){var n,i,o;super(),this.sharedFilterConfig=r,this.sendCompression=new El,this.receiveCompression=new El,this.currentCompressionAlgorithm="identity";let s=e["grpc.default_compression_algorithm"];if(this.maxReceiveMessageLength=(n=e["grpc.max_receive_message_length"])!==null&&n!==void 0?n:ba.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH,this.maxSendMessageLength=(i=e["grpc.max_send_message_length"])!==null&&i!==void 0?i:ba.DEFAULT_MAX_SEND_MESSAGE_LENGTH,s!==void 0)if(Jxe(s)){let a=K5.CompressionAlgorithms[s],c=(o=r.serverSupportedEncodingHeader)===null||o===void 0?void 0:o.split(",");(!c||c.includes(a))&&(this.currentCompressionAlgorithm=a,this.sendCompression=Y5(this.currentCompressionAlgorithm,-1))}else Zxe.log(ba.LogVerbosity.ERROR,`Invalid value provided for grpc.default_compression_algorithm option: ${s}`)}async sendMetadata(e){let r=await e;return r.set("grpc-accept-encoding","identity,deflate,gzip"),r.set("accept-encoding","identity"),this.currentCompressionAlgorithm==="identity"?r.remove("grpc-encoding"):r.set("grpc-encoding",this.currentCompressionAlgorithm),r}receiveMetadata(e){let r=e.get("grpc-encoding");if(r.length>0){let i=r[0];typeof i=="string"&&(this.receiveCompression=Y5(i,this.maxReceiveMessageLength))}e.remove("grpc-encoding");let n=e.get("grpc-accept-encoding")[0];return n&&(this.sharedFilterConfig.serverSupportedEncodingHeader=n,n.split(",").includes(this.currentCompressionAlgorithm)||(this.sendCompression=new El,this.currentCompressionAlgorithm="identity")),e.remove("grpc-accept-encoding"),e}async sendMessage(e){var r;let n=await e;if(this.maxSendMessageLength!==-1&&n.message.length>this.maxSendMessageLength)throw{code:ba.Status.RESOURCE_EXHAUSTED,details:`Attempted to send message with a size larger than ${this.maxSendMessageLength}`};let i;return this.sendCompression instanceof El?i=!1:i=(((r=n.flags)!==null&&r!==void 0?r:0)&2)===0,{message:await this.sendCompression.writeMessage(n.message,i),flags:n.flags}}async receiveMessage(e){return this.receiveCompression.readMessage(await e)}};Wd.CompressionFilter=mb;var Ck=class{constructor(e,r){this.options=r,this.sharedFilterConfig={}}createFilter(){return new mb(this.options,this.sharedFilterConfig)}};Wd.CompressionFilterFactory=Ck});var Dg=T(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});Ok.restrictControlPlaneStatusCode=Qxe;var co=Ge(),Xxe=[co.Status.OK,co.Status.INVALID_ARGUMENT,co.Status.NOT_FOUND,co.Status.ALREADY_EXISTS,co.Status.FAILED_PRECONDITION,co.Status.ABORTED,co.Status.OUT_OF_RANGE,co.Status.DATA_LOSS];function Qxe(t,e){return Xxe.includes(t)?{code:co.Status.INTERNAL,details:`Invalid status from control plane: ${t} ${co.Status[t]} ${e}`}:{code:t,details:e}}});var Yd=T(vl=>{"use strict";Object.defineProperty(vl,"__esModule",{value:!0});vl.minDeadline=eRe;vl.getDeadlineTimeoutString=rRe;vl.getRelativeTimeout=iRe;vl.deadlineToString=oRe;vl.formatDateDifference=sRe;function eRe(...t){let e=1/0;for(let r of t){let n=r instanceof Date?r.getTime():r;n<e&&(e=n)}return e}var tRe=[["m",1],["S",1e3],["M",60*1e3],["H",3600*1e3]];function rRe(t){let e=new Date().getTime();t instanceof Date&&(t=t.getTime());let r=Math.max(t-e,0);for(let[n,i]of tRe){let o=r/i;if(o<1e8)return String(Math.ceil(o))+n}throw new Error("Deadline is too far in the future")}var nRe=2147483647;function iRe(t){let e=t instanceof Date?t.getTime():t,r=new Date().getTime(),n=e-r;return n<0?0:n>nRe?1/0:n}function oRe(t){if(t instanceof Date)return t.toISOString();{let e=new Date(t);return Number.isNaN(e.getTime())?""+t:e.toISOString()}}function sRe(t,e){return((e.getTime()-t.getTime())/1e3).toFixed(3)+"s"}});var _b=T(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.FilterStackFactory=Kd.FilterStack=void 0;var gb=class{constructor(e){this.filters=e}sendMetadata(e){let r=e;for(let n=0;n<this.filters.length;n++)r=this.filters[n].sendMetadata(r);return r}receiveMetadata(e){let r=e;for(let n=this.filters.length-1;n>=0;n--)r=this.filters[n].receiveMetadata(r);return r}sendMessage(e){let r=e;for(let n=0;n<this.filters.length;n++)r=this.filters[n].sendMessage(r);return r}receiveMessage(e){let r=e;for(let n=this.filters.length-1;n>=0;n--)r=this.filters[n].receiveMessage(r);return r}receiveTrailers(e){let r=e;for(let n=this.filters.length-1;n>=0;n--)r=this.filters[n].receiveTrailers(r);return r}push(e){this.filters.unshift(...e)}getFilters(){return this.filters}};Kd.FilterStack=gb;var Nk=class t{constructor(e){this.factories=e}push(e){this.factories.unshift(...e)}clone(){return new t([...this.factories])}createFilter(){return new gb(this.factories.map(e=>e.createFilter()))}};Kd.FilterStackFactory=Nk});var Z5=T(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});Sb.SingleSubchannelChannel=void 0;var aRe=db(),Lg=Ta(),cRe=Pk(),lRe=Mr(),$g=Ge(),uRe=Dg(),dRe=Yd(),fRe=_b(),kk=Kt(),pRe=ui(),yb=kr(),Mk=class{constructor(e,r,n,i,o){var s,a;this.subchannel=e,this.method=r,this.options=i,this.callNumber=o,this.childCall=null,this.pendingMessage=null,this.readPending=!1,this.halfClosePending=!1,this.pendingStatus=null,this.readFilterPending=!1,this.writeFilterPending=!1;let c=this.method.split("/"),l="";c.length>=2&&(l=c[1]);let u=(a=(s=(0,yb.splitHostPort)(this.options.host))===null||s===void 0?void 0:s.host)!==null&&a!==void 0?a:"localhost";this.serviceUrl=`https://${u}/${l}`;let d=(0,dRe.getRelativeTimeout)(i.deadline);d!==1/0&&(d<=0?this.cancelWithStatus($g.Status.DEADLINE_EXCEEDED,"Deadline exceeded"):setTimeout(()=>{this.cancelWithStatus($g.Status.DEADLINE_EXCEEDED,"Deadline exceeded")},d)),this.filterStack=n.createFilter()}cancelWithStatus(e,r){this.childCall?this.childCall.cancelWithStatus(e,r):this.pendingStatus={code:e,details:r,metadata:new kk.Metadata}}getPeer(){var e,r;return(r=(e=this.childCall)===null||e===void 0?void 0:e.getPeer())!==null&&r!==void 0?r:this.subchannel.getAddress()}async start(e,r){if(this.pendingStatus){r.onReceiveStatus(this.pendingStatus);return}if(this.subchannel.getConnectivityState()!==lRe.ConnectivityState.READY){r.onReceiveStatus({code:$g.Status.UNAVAILABLE,details:"Subchannel not ready",metadata:new kk.Metadata});return}let n=await this.filterStack.sendMetadata(Promise.resolve(e)),i;try{i=await this.subchannel.getCallCredentials().generateMetadata({method_name:this.method,service_url:this.serviceUrl})}catch(s){let a=s,{code:c,details:l}=(0,uRe.restrictControlPlaneStatusCode)(typeof a.code=="number"?a.code:$g.Status.UNKNOWN,`Getting metadata from plugin failed with error: ${a.message}`);r.onReceiveStatus({code:c,details:l,metadata:new kk.Metadata});return}i.merge(n);let o={onReceiveMetadata:async s=>{r.onReceiveMetadata(await this.filterStack.receiveMetadata(s))},onReceiveMessage:async s=>{this.readFilterPending=!0;let a=await this.filterStack.receiveMessage(s);this.readFilterPending=!1,r.onReceiveMessage(a),this.pendingStatus&&r.onReceiveStatus(this.pendingStatus)},onReceiveStatus:async s=>{let a=await this.filterStack.receiveTrailers(s);this.readFilterPending?this.pendingStatus=a:r.onReceiveStatus(a)}};this.childCall=this.subchannel.createCall(i,this.options.host,this.method,o),this.readPending&&this.childCall.startRead(),this.pendingMessage&&this.childCall.sendMessageWithContext(this.pendingMessage.context,this.pendingMessage.message),this.halfClosePending&&!this.writeFilterPending&&this.childCall.halfClose()}async sendMessageWithContext(e,r){this.writeFilterPending=!0;let n=await this.filterStack.sendMessage(Promise.resolve({message:r,flags:e.flags}));this.writeFilterPending=!1,this.childCall?(this.childCall.sendMessageWithContext(e,n.message),this.halfClosePending&&this.childCall.halfClose()):this.pendingMessage={context:e,message:n.message}}startRead(){this.childCall?this.childCall.startRead():this.readPending=!0}halfClose(){this.childCall&&!this.writeFilterPending?this.childCall.halfClose():this.halfClosePending=!0}getCallNumber(){return this.callNumber}setCredentials(e){throw new Error("Method not implemented.")}getAuthContext(){return this.childCall?this.childCall.getAuthContext():null}},Dk=class{constructor(e,r,n){this.subchannel=e,this.target=r,this.channelzEnabled=!1,this.channelzTrace=new Lg.ChannelzTrace,this.callTracker=new Lg.ChannelzCallTracker,this.childrenTracker=new Lg.ChannelzChildrenTracker,this.channelzEnabled=n["grpc.enable_channelz"]!==0,this.channelzRef=(0,Lg.registerChannelzChannel)((0,yb.uriToString)(r),()=>({target:`${(0,yb.uriToString)(r)} (${e.getAddress()})`,state:this.subchannel.getConnectivityState(),trace:this.channelzTrace,callTracker:this.callTracker,children:this.childrenTracker.getChildLists()}),this.channelzEnabled),this.channelzEnabled&&this.childrenTracker.refChild(e.getChannelzRef()),this.filterStackFactory=new fRe.FilterStackFactory([new cRe.CompressionFilterFactory(this,n)])}close(){this.channelzEnabled&&this.childrenTracker.unrefChild(this.subchannel.getChannelzRef()),(0,Lg.unregisterChannelzRef)(this.channelzRef)}getTarget(){return(0,yb.uriToString)(this.target)}getConnectivityState(e){throw new Error("Method not implemented.")}watchConnectivityState(e,r,n){throw new Error("Method not implemented.")}getChannelzRef(){return this.channelzRef}createCall(e,r){let n={deadline:r,host:(0,pRe.getDefaultAuthority)(this.target),flags:$g.Propagate.DEFAULTS,parentCall:null};return new Mk(this.subchannel,e,this.filterStackFactory,n,(0,aRe.getNextCallNumber)())}};Sb.SingleSubchannelChannel=Dk});var J5=T(vb=>{"use strict";Object.defineProperty(vb,"__esModule",{value:!0});vb.Subchannel=void 0;var it=Mr(),hRe=Id(),Lk=lt(),Eb=Ge(),mRe=kr(),gRe=Xr(),lo=Ta(),_Re=Z5(),yRe="subchannel",SRe=~(1<<31),$k=class{constructor(e,r,n,i,o){var s;this.channelTarget=e,this.subchannelAddress=r,this.options=n,this.connector=o,this.connectivityState=it.ConnectivityState.IDLE,this.transport=null,this.continueConnecting=!1,this.stateListeners=new Set,this.refcount=0,this.channelzEnabled=!0,this.dataProducers=new Map,this.subchannelChannel=null;let a={initialDelay:n["grpc.initial_reconnect_backoff_ms"],maxDelay:n["grpc.max_reconnect_backoff_ms"]};this.backoffTimeout=new hRe.BackoffTimeout(()=>{this.handleBackoffTimer()},a),this.backoffTimeout.unref(),this.subchannelAddressString=(0,gRe.subchannelAddressToString)(r),this.keepaliveTime=(s=n["grpc.keepalive_time_ms"])!==null&&s!==void 0?s:-1,n["grpc.enable_channelz"]===0?(this.channelzEnabled=!1,this.channelzTrace=new lo.ChannelzTraceStub,this.callTracker=new lo.ChannelzCallTrackerStub,this.childrenTracker=new lo.ChannelzChildrenTrackerStub,this.streamTracker=new lo.ChannelzCallTrackerStub):(this.channelzTrace=new lo.ChannelzTrace,this.callTracker=new lo.ChannelzCallTracker,this.childrenTracker=new lo.ChannelzChildrenTracker,this.streamTracker=new lo.ChannelzCallTracker),this.channelzRef=(0,lo.registerChannelzSubchannel)(this.subchannelAddressString,()=>this.getChannelzInfo(),this.channelzEnabled),this.channelzTrace.addTrace("CT_INFO","Subchannel created"),this.trace("Subchannel constructed with options "+JSON.stringify(n,void 0,2)),this.secureConnector=i._createSecureConnector(e,n)}getChannelzInfo(){return{state:this.connectivityState,trace:this.channelzTrace,callTracker:this.callTracker,children:this.childrenTracker.getChildLists(),target:this.subchannelAddressString}}trace(e){Lk.trace(Eb.LogVerbosity.DEBUG,yRe,"("+this.channelzRef.id+") "+this.subchannelAddressString+" "+e)}refTrace(e){Lk.trace(Eb.LogVerbosity.DEBUG,"subchannel_refcount","("+this.channelzRef.id+") "+this.subchannelAddressString+" "+e)}handleBackoffTimer(){this.continueConnecting?this.transitionToState([it.ConnectivityState.TRANSIENT_FAILURE],it.ConnectivityState.CONNECTING):this.transitionToState([it.ConnectivityState.TRANSIENT_FAILURE],it.ConnectivityState.IDLE)}startBackoff(){this.backoffTimeout.runOnce()}stopBackoff(){this.backoffTimeout.stop(),this.backoffTimeout.reset()}startConnectingInternal(){let e=this.options;if(e["grpc.keepalive_time_ms"]){let r=Math.min(this.keepaliveTime,SRe);e=Object.assign(Object.assign({},e),{"grpc.keepalive_time_ms":r})}this.connector.connect(this.subchannelAddress,this.secureConnector,e).then(r=>{this.transitionToState([it.ConnectivityState.CONNECTING],it.ConnectivityState.READY)?(this.transport=r,this.channelzEnabled&&this.childrenTracker.refChild(r.getChannelzRef()),r.addDisconnectListener(n=>{this.transitionToState([it.ConnectivityState.READY],it.ConnectivityState.IDLE),n&&this.keepaliveTime>0&&(this.keepaliveTime*=2,Lk.log(Eb.LogVerbosity.ERROR,`Connection to ${(0,mRe.uriToString)(this.channelTarget)} at ${this.subchannelAddressString} rejected by server because of excess pings. Increasing ping interval to ${this.keepaliveTime} ms`))})):r.shutdown()},r=>{this.transitionToState([it.ConnectivityState.CONNECTING],it.ConnectivityState.TRANSIENT_FAILURE,`${r}`)})}transitionToState(e,r,n){var i,o;if(e.indexOf(this.connectivityState)===-1)return!1;n?this.trace(it.ConnectivityState[this.connectivityState]+" -> "+it.ConnectivityState[r]+' with error "'+n+'"'):this.trace(it.ConnectivityState[this.connectivityState]+" -> "+it.ConnectivityState[r]),this.channelzEnabled&&this.channelzTrace.addTrace("CT_INFO","Connectivity state change to "+it.ConnectivityState[r]);let s=this.connectivityState;switch(this.connectivityState=r,r){case it.ConnectivityState.READY:this.stopBackoff();break;case it.ConnectivityState.CONNECTING:this.startBackoff(),this.startConnectingInternal(),this.continueConnecting=!1;break;case it.ConnectivityState.TRANSIENT_FAILURE:this.channelzEnabled&&this.transport&&this.childrenTracker.unrefChild(this.transport.getChannelzRef()),(i=this.transport)===null||i===void 0||i.shutdown(),this.transport=null,this.backoffTimeout.isRunning()||process.nextTick(()=>{this.handleBackoffTimer()});break;case it.ConnectivityState.IDLE:this.channelzEnabled&&this.transport&&this.childrenTracker.unrefChild(this.transport.getChannelzRef()),(o=this.transport)===null||o===void 0||o.shutdown(),this.transport=null;break;default:throw new Error(`Invalid state: unknown ConnectivityState ${r}`)}for(let a of this.stateListeners)a(this,s,r,this.keepaliveTime,n);return!0}ref(){this.refTrace("refcount "+this.refcount+" -> "+(this.refcount+1)),this.refcount+=1}unref(){this.refTrace("refcount "+this.refcount+" -> "+(this.refcount-1)),this.refcount-=1,this.refcount===0&&(this.channelzTrace.addTrace("CT_INFO","Shutting down"),(0,lo.unregisterChannelzRef)(this.channelzRef),this.secureConnector.destroy(),process.nextTick(()=>{this.transitionToState([it.ConnectivityState.CONNECTING,it.ConnectivityState.READY],it.ConnectivityState.IDLE)}))}unrefIfOneRef(){return this.refcount===1?(this.unref(),!0):!1}createCall(e,r,n,i){if(!this.transport)throw new Error("Cannot create call, subchannel not READY");let o;return this.channelzEnabled?(this.callTracker.addCallStarted(),this.streamTracker.addCallStarted(),o={onCallEnd:s=>{s.code===Eb.Status.OK?this.callTracker.addCallSucceeded():this.callTracker.addCallFailed()}}):o={},this.transport.createCall(e,r,n,i,o)}startConnecting(){process.nextTick(()=>{this.transitionToState([it.ConnectivityState.IDLE],it.ConnectivityState.CONNECTING)||this.connectivityState===it.ConnectivityState.TRANSIENT_FAILURE&&(this.continueConnecting=!0)})}getConnectivityState(){return this.connectivityState}addConnectivityStateListener(e){this.stateListeners.add(e)}removeConnectivityStateListener(e){this.stateListeners.delete(e)}resetBackoff(){process.nextTick(()=>{this.backoffTimeout.reset(),this.transitionToState([it.ConnectivityState.TRANSIENT_FAILURE],it.ConnectivityState.CONNECTING)})}getAddress(){return this.subchannelAddressString}getChannelzRef(){return this.channelzRef}isHealthy(){return!0}addHealthStateWatcher(e){}removeHealthStateWatcher(e){}getRealSubchannel(){return this}realSubchannelEquals(e){return e.getRealSubchannel()===this}throttleKeepalive(e){e>this.keepaliveTime&&(this.keepaliveTime=e)}getCallCredentials(){return this.secureConnector.getCallCredentials()}getChannel(){return this.subchannelChannel||(this.subchannelChannel=new _Re.SingleSubchannelChannel(this,this.channelTarget,this.options)),this.subchannelChannel}addDataWatcher(e){throw new Error("Not implemented")}getOrCreateDataProducer(e,r){let n=this.dataProducers.get(e);if(n)return n;let i=r(this);return this.dataProducers.set(e,i),i}removeDataProducer(e){this.dataProducers.delete(e)}};vb.Subchannel=$k});var X5=T(Tb=>{"use strict";var Uk;Object.defineProperty(Tb,"__esModule",{value:!0});Tb.GRPC_NODE_USE_ALTERNATIVE_RESOLVER=void 0;Tb.GRPC_NODE_USE_ALTERNATIVE_RESOLVER=((Uk=process.env.GRPC_NODE_USE_ALTERNATIVE_RESOLVER)!==null&&Uk!==void 0?Uk:"false")==="true"});var zk=T(Tl=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});Tl.DEFAULT_PORT=void 0;Tl.setup=RRe;var Q5=ui(),Fk=Q("dns"),ERe=LO(),Bk=Ge(),Zd=ul(),vRe=Kt(),TRe=lt(),bRe=Ge(),Aa=kr(),e9=Q("net"),ARe=Id(),t9=X5(),wRe="dns_resolver";function uo(t){TRe.trace(bRe.LogVerbosity.DEBUG,wRe,t)}Tl.DEFAULT_PORT=443;var xRe=3e4,jk=class{constructor(e,r,n){var i,o,s;this.target=e,this.listener=r,this.pendingLookupPromise=null,this.pendingTxtPromise=null,this.latestLookupResult=null,this.latestServiceConfigResult=null,this.continueResolving=!1,this.isNextResolutionTimerRunning=!1,this.isServiceConfigEnabled=!0,this.returnedIpResult=!1,this.alternativeResolver=new Fk.promises.Resolver,uo("Resolver constructed for target "+(0,Aa.uriToString)(e)),e.authority&&this.alternativeResolver.setServers([e.authority]);let a=(0,Aa.splitHostPort)(e.path);a===null?(this.ipResult=null,this.dnsHostname=null,this.port=null):(0,e9.isIPv4)(a.host)||(0,e9.isIPv6)(a.host)?(this.ipResult=[{addresses:[{host:a.host,port:(i=a.port)!==null&&i!==void 0?i:Tl.DEFAULT_PORT}]}],this.dnsHostname=null,this.port=null):(this.ipResult=null,this.dnsHostname=a.host,this.port=(o=a.port)!==null&&o!==void 0?o:Tl.DEFAULT_PORT),this.percentage=Math.random()*100,n["grpc.service_config_disable_resolution"]===1&&(this.isServiceConfigEnabled=!1),this.defaultResolutionError={code:Bk.Status.UNAVAILABLE,details:`Name resolution failed for target ${(0,Aa.uriToString)(this.target)}`,metadata:new vRe.Metadata};let c={initialDelay:n["grpc.initial_reconnect_backoff_ms"],maxDelay:n["grpc.max_reconnect_backoff_ms"]};this.backoff=new ARe.BackoffTimeout(()=>{this.continueResolving&&this.startResolutionWithBackoff()},c),this.backoff.unref(),this.minTimeBetweenResolutionsMs=(s=n["grpc.dns_min_time_between_resolutions_ms"])!==null&&s!==void 0?s:xRe,this.nextResolutionTimer=setTimeout(()=>{},0),clearTimeout(this.nextResolutionTimer)}startResolution(){if(this.ipResult!==null){this.returnedIpResult||(uo("Returning IP address for target "+(0,Aa.uriToString)(this.target)),setImmediate(()=>{this.listener((0,Zd.statusOrFromValue)(this.ipResult),{},null,"")}),this.returnedIpResult=!0),this.backoff.stop(),this.backoff.reset(),this.stopNextResolutionTimer();return}if(this.dnsHostname===null)uo("Failed to parse DNS address "+(0,Aa.uriToString)(this.target)),setImmediate(()=>{this.listener((0,Zd.statusOrFromError)({code:Bk.Status.UNAVAILABLE,details:`Failed to parse DNS address ${(0,Aa.uriToString)(this.target)}`}),{},null,"")}),this.stopNextResolutionTimer();else{if(this.pendingLookupPromise!==null)return;uo("Looking up DNS hostname "+this.dnsHostname),this.latestLookupResult=null;let e=this.dnsHostname;this.pendingLookupPromise=this.lookup(e),this.pendingLookupPromise.then(r=>{if(this.pendingLookupPromise===null)return;this.pendingLookupPromise=null,this.latestLookupResult=(0,Zd.statusOrFromValue)(r.map(o=>({addresses:[o]})));let n="["+r.map(o=>o.host+":"+o.port).join(",")+"]";uo("Resolved addresses for target "+(0,Aa.uriToString)(this.target)+": "+n);let i=this.listener(this.latestLookupResult,{},this.latestServiceConfigResult,"");this.handleHealthStatus(i)},r=>{this.pendingLookupPromise!==null&&(uo("Resolution error for target "+(0,Aa.uriToString)(this.target)+": "+r.message),this.pendingLookupPromise=null,this.stopNextResolutionTimer(),this.listener((0,Zd.statusOrFromError)(this.defaultResolutionError),{},this.latestServiceConfigResult,""))}),this.isServiceConfigEnabled&&this.pendingTxtPromise===null&&(this.pendingTxtPromise=this.resolveTxt(e),this.pendingTxtPromise.then(r=>{if(this.pendingTxtPromise===null)return;this.pendingTxtPromise=null;let n;try{n=(0,ERe.extractAndSelectServiceConfig)(r,this.percentage),n?this.latestServiceConfigResult=(0,Zd.statusOrFromValue)(n):this.latestServiceConfigResult=null}catch(i){this.latestServiceConfigResult=(0,Zd.statusOrFromError)({code:Bk.Status.UNAVAILABLE,details:`Parsing service config failed with error ${i.message}`})}this.latestLookupResult!==null&&this.listener(this.latestLookupResult,{},this.latestServiceConfigResult,"")},r=>{}))}}handleHealthStatus(e){e?(this.backoff.stop(),this.backoff.reset()):this.continueResolving=!0}async lookup(e){if(t9.GRPC_NODE_USE_ALTERNATIVE_RESOLVER){uo("Using alternative DNS resolver.");let n=await Promise.allSettled([this.alternativeResolver.resolve4(e),this.alternativeResolver.resolve6(e)]);if(n.every(i=>i.status==="rejected"))throw new Error(n[0].reason);return n.reduce((i,o)=>o.status==="fulfilled"?[...i,...o.value]:i,[]).map(i=>({host:i,port:+this.port}))}return(await Fk.promises.lookup(e,{all:!0})).map(n=>({host:n.address,port:+this.port}))}async resolveTxt(e){return t9.GRPC_NODE_USE_ALTERNATIVE_RESOLVER?(uo("Using alternative DNS resolver."),this.alternativeResolver.resolveTxt(e)):Fk.promises.resolveTxt(e)}startNextResolutionTimer(){var e,r;clearTimeout(this.nextResolutionTimer),this.nextResolutionTimer=setTimeout(()=>{this.stopNextResolutionTimer(),this.continueResolving&&this.startResolutionWithBackoff()},this.minTimeBetweenResolutionsMs),(r=(e=this.nextResolutionTimer).unref)===null||r===void 0||r.call(e),this.isNextResolutionTimerRunning=!0}stopNextResolutionTimer(){clearTimeout(this.nextResolutionTimer),this.isNextResolutionTimerRunning=!1}startResolutionWithBackoff(){this.pendingLookupPromise===null&&(this.continueResolving=!1,this.backoff.runOnce(),this.startNextResolutionTimer(),this.startResolution())}updateResolution(){this.pendingLookupPromise===null&&(this.isNextResolutionTimerRunning||this.backoff.isRunning()?(this.isNextResolutionTimerRunning?uo('resolution update delayed by "min time between resolutions" rate limit'):uo("resolution update delayed by backoff timer until "+this.backoff.getEndTime().toISOString()),this.continueResolving=!0):this.startResolutionWithBackoff())}destroy(){this.continueResolving=!1,this.backoff.reset(),this.backoff.stop(),this.stopNextResolutionTimer(),this.pendingLookupPromise=null,this.pendingTxtPromise=null,this.latestLookupResult=null,this.latestServiceConfigResult=null,this.returnedIpResult=!1}static getDefaultAuthority(e){return e.path}};function RRe(){(0,Q5.registerResolver)("dns",jk),(0,Q5.registerDefaultScheme)("dns")}});var Gk=T(Bg=>{"use strict";Object.defineProperty(Bg,"__esModule",{value:!0});Bg.parseCIDR=i9;Bg.mapProxyName=$Re;Bg.getProxiedConnection=URe;var Ug=lt(),Jd=Ge(),n9=Q("net"),IRe=Q("http"),CRe=lt(),r9=Xr(),Fg=kr(),PRe=Q("url"),ORe=zk(),NRe="proxy";function Xd(t){CRe.trace(Jd.LogVerbosity.DEBUG,NRe,t)}function kRe(){let t="",e="";if(process.env.grpc_proxy)e="grpc_proxy",t=process.env.grpc_proxy;else if(process.env.https_proxy)e="https_proxy",t=process.env.https_proxy;else if(process.env.http_proxy)e="http_proxy",t=process.env.http_proxy;else return{};let r;try{r=new PRe.URL(t)}catch{return(0,Ug.log)(Jd.LogVerbosity.ERROR,`cannot parse value of "${e}" env var`),{}}if(r.protocol!=="http:")return(0,Ug.log)(Jd.LogVerbosity.ERROR,`"${r.protocol}" scheme not supported in proxy URI`),{};let n=null;r.username&&(r.password?((0,Ug.log)(Jd.LogVerbosity.INFO,"userinfo found in proxy URI"),n=decodeURIComponent(`${r.username}:${r.password}`)):n=r.username);let i=r.hostname,o=r.port;o===""&&(o="80");let s={address:`${i}:${o}`};return n&&(s.creds=n),Xd("Proxy server "+s.address+" set by environment variable "+e),s}function MRe(){let t=process.env.no_grpc_proxy,e="no_grpc_proxy";return t||(t=process.env.no_proxy,e="no_proxy"),t?(Xd("No proxy server list set by environment variable "+e),t.split(",")):[]}function i9(t){let e=t.split("/");if(e.length!==2)return null;let r=parseInt(e[1],10);return!(0,n9.isIPv4)(e[0])||Number.isNaN(r)||r<0||r>32?null:{ip:o9(e[0]),prefixLength:r}}function o9(t){return t.split(".").reduce((e,r)=>(e<<8)+parseInt(r,10),0)}function DRe(t,e){let r=t.ip,n=-1<<32-t.prefixLength;return(o9(e)&n)===(r&n)}function LRe(t){for(let e of MRe()){let r=i9(e);if((0,n9.isIPv4)(t)&&r&&DRe(r,t))return!0;if(t.endsWith(e))return!0}return!1}function $Re(t,e){var r;let n={target:t,extraOptions:{}};if(((r=e["grpc.enable_http_proxy"])!==null&&r!==void 0?r:1)===0||t.scheme==="unix")return n;let i=kRe();if(!i.address)return n;let o=(0,Fg.splitHostPort)(t.path);if(!o)return n;let s=o.host;if(LRe(s))return Xd("Not using proxy for target in no_proxy list: "+(0,Fg.uriToString)(t)),n;let a={"grpc.http_connect_target":(0,Fg.uriToString)(t)};return i.creds&&(a["grpc.http_connect_creds"]=i.creds),{target:{scheme:"dns",path:i.address},extraOptions:a}}function URe(t,e){var r;if(!("grpc.http_connect_target"in e))return Promise.resolve(null);let n=e["grpc.http_connect_target"],i=(0,Fg.parseUri)(n);if(i===null)return Promise.resolve(null);let o=(0,Fg.splitHostPort)(i.path);if(o===null)return Promise.resolve(null);let s=`${o.host}:${(r=o.port)!==null&&r!==void 0?r:ORe.DEFAULT_PORT}`,a={method:"CONNECT",path:s},c={Host:s};(0,r9.isTcpSubchannelAddress)(t)?(a.host=t.host,a.port=t.port):a.socketPath=t.path,"grpc.http_connect_creds"in e&&(c["Proxy-Authorization"]="Basic "+Buffer.from(e["grpc.http_connect_creds"]).toString("base64")),a.headers=c;let l=(0,r9.subchannelAddressToString)(t);return Xd("Using proxy "+l+" to connect to "+a.path),new Promise((u,d)=>{let f=IRe.request(a);f.once("connect",(p,h,m)=>{f.removeAllListeners(),h.removeAllListeners(),p.statusCode===200?(Xd("Successfully connected to "+a.path+" through proxy "+l),m.length>0&&h.unshift(m),Xd("Successfully established a plaintext connection to "+a.path+" through proxy "+l),u(h)):((0,Ug.log)(Jd.LogVerbosity.ERROR,"Failed to connect to "+a.path+" through proxy "+l+" with status "+p.statusCode),d())}),f.once("error",p=>{f.removeAllListeners(),(0,Ug.log)(Jd.LogVerbosity.ERROR,"Failed to connect to proxy "+l+" with error "+p.message),d()}),f.end()})}});var Vk=T(bb=>{"use strict";Object.defineProperty(bb,"__esModule",{value:!0});bb.StreamDecoder=void 0;var fo;(function(t){t[t.NO_DATA=0]="NO_DATA",t[t.READING_SIZE=1]="READING_SIZE",t[t.READING_MESSAGE=2]="READING_MESSAGE"})(fo||(fo={}));var qk=class{constructor(e){this.maxReadMessageLength=e,this.readState=fo.NO_DATA,this.readCompressFlag=Buffer.alloc(1),this.readPartialSize=Buffer.alloc(4),this.readSizeRemaining=4,this.readMessageSize=0,this.readPartialMessage=[],this.readMessageRemaining=0}write(e){let r=0,n,i=[];for(;r<e.length;)switch(this.readState){case fo.NO_DATA:this.readCompressFlag=e.slice(r,r+1),r+=1,this.readState=fo.READING_SIZE,this.readPartialSize.fill(0),this.readSizeRemaining=4,this.readMessageSize=0,this.readMessageRemaining=0,this.readPartialMessage=[];break;case fo.READING_SIZE:if(n=Math.min(e.length-r,this.readSizeRemaining),e.copy(this.readPartialSize,4-this.readSizeRemaining,r,r+n),this.readSizeRemaining-=n,r+=n,this.readSizeRemaining===0){if(this.readMessageSize=this.readPartialSize.readUInt32BE(0),this.maxReadMessageLength!==-1&&this.readMessageSize>this.maxReadMessageLength)throw new Error(`Received message larger than max (${this.readMessageSize} vs ${this.maxReadMessageLength})`);if(this.readMessageRemaining=this.readMessageSize,this.readMessageRemaining>0)this.readState=fo.READING_MESSAGE;else{let o=Buffer.concat([this.readCompressFlag,this.readPartialSize],5);this.readState=fo.NO_DATA,i.push(o)}}break;case fo.READING_MESSAGE:if(n=Math.min(e.length-r,this.readMessageRemaining),this.readPartialMessage.push(e.slice(r,r+n)),this.readMessageRemaining-=n,r+=n,this.readMessageRemaining===0){let o=[this.readCompressFlag,this.readPartialSize].concat(this.readPartialMessage),s=Buffer.concat(o,this.readMessageSize+5);this.readState=fo.NO_DATA,i.push(s)}break;default:throw new Error("Unexpected read state")}return i}};bb.StreamDecoder=qk});var s9=T(Ab=>{"use strict";Object.defineProperty(Ab,"__esModule",{value:!0});Ab.Http2SubchannelCall=void 0;var os=Q("http2"),FRe=Q("os"),ot=Ge(),ss=Kt(),BRe=Vk(),jRe=lt(),zRe=Ge(),GRe="subchannel_call";function qRe(t){for(let[e,r]of Object.entries(FRe.constants.errno))if(r===t)return e;return"Unknown system error "+t}function Hk(t){let e=`Received HTTP status code ${t}`,r;switch(t){case 400:r=ot.Status.INTERNAL;break;case 401:r=ot.Status.UNAUTHENTICATED;break;case 403:r=ot.Status.PERMISSION_DENIED;break;case 404:r=ot.Status.UNIMPLEMENTED;break;case 429:case 502:case 503:case 504:r=ot.Status.UNAVAILABLE;break;default:r=ot.Status.UNKNOWN}return{code:r,details:e,metadata:new ss.Metadata}}var Wk=class{constructor(e,r,n,i,o){var s;this.http2Stream=e,this.callEventTracker=r,this.listener=n,this.transport=i,this.callId=o,this.isReadFilterPending=!1,this.isPushPending=!1,this.canPush=!1,this.readsClosed=!1,this.statusOutput=!1,this.unpushedReadMessages=[],this.finalStatus=null,this.internalError=null,this.serverEndedCall=!1,this.connectionDropped=!1;let a=(s=i.getOptions()["grpc.max_receive_message_length"])!==null&&s!==void 0?s:ot.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;this.decoder=new BRe.StreamDecoder(a),e.on("response",(c,l)=>{let u="";for(let d of Object.keys(c))u+=" "+d+": "+c[d]+`
17
+ `&&++i,++r===n)throw l("comment");R=P,P=d(r)}while(R!=="*"||P!=="/");++r,N&&(f(O,r-2,I),I=!0),y=!0}else return"/"}}while(y);var L=r;ok.lastIndex=0;var _=ok.test(d(L++));if(!_)for(;L<n&&!ok.test(d(L));)++L;var ee=t.substring(r,r=L);return(ee==='"'||ee==="'")&&(c=ee),ee}function S(y){a.push(y)}function E(){if(!a.length){var y=m();if(y===null)return null;S(y)}return a[0]}function b(y,R){var P=E(),O=P===y;if(O)return m(),!0;if(!R)throw l("token '"+P+"', '"+y+"' expected");return!1}function A(y){var R=null,P;return y===void 0?(P=s[i-1],delete s[i-1],P&&(e||P.type==="*"||P.lineEmpty)&&(R=P.leading?P.text:null)):(o<y&&E(),P=s[y],delete s[y],P&&!P.lineEmpty&&(e||P.type==="/")&&(R=P.leading?null:P.text)),R}return Object.defineProperty({next:m,peek:E,push:S,skip:b,cmnt:A},"line",{get:function(){return i}})}});var f5=T((Uct,d5)=>{"use strict";d5.exports=rs;rs.filename=null;rs.defaults={keepCase:!1};var Dwe=sk(),a5=ZT(),c5=HT(),l5=_a(),Lwe=BT(),u5=gl(),$we=yi(),Uwe=zT(),Fwe=jT(),Bwe=ya(),jwe=_l(),ts=Jt(),zwe=/^[1-9][0-9]*$/,Gwe=/^-?[1-9][0-9]*$/,qwe=/^0[x][0-9a-fA-F]+$/,Vwe=/^-?0[x][0-9a-fA-F]+$/,Hwe=/^0[0-7]+$/,Wwe=/^-?0[0-7]+$/,Ywe=ts.patterns.numberRe,io=/^[a-zA-Z_][a-zA-Z_0-9]*$/,oo=ts.patterns.typeRefRe;function rs(t,e,r){e instanceof a5||(r=e,e=new a5),r||(r=rs.defaults);var n=r.preferTrailingComment||!1,i=Dwe(t,r.alternateCommentMode||!1),o=i.next,s=i.push,a=i.peek,c=i.skip,l=i.cmnt,u=!0,d,f,p,h="proto2",m=e,S=[],E={},b=r.keepCase?function(x){return x}:ts.camelCase;function A(){S.forEach(x=>{x._edition=h,Object.keys(E).forEach(F=>{x.getOption(F)===void 0&&x.setOption(F,E[F],!0)})})}function y(x,F,j){var H=rs.filename;return j||(rs.filename=null),Error("illegal "+(F||"token")+" '"+x+"' ("+(H?H+", ":"")+"line "+i.line+")")}function R(){var x=[],F;do{if((F=o())!=='"'&&F!=="'")throw y(F);x.push(o()),c(F),F=a()}while(F==='"'||F==="'");return x.join("")}function P(x){var F=o();switch(F){case"'":case'"':return s(F),R();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return N(F,!0)}catch{if(x&&oo.test(F))return F;throw y(F,"value")}}function O(x,F){var j,H;do if(F&&((j=a())==='"'||j==="'")){var X=R();if(x.push(X),h>=2023)throw y(X,"id")}else try{x.push([H=I(o()),c("to",!0)?I(o()):H])}catch(K){if(F&&oo.test(j)&&h>=2023)x.push(j);else throw K}while(c(",",!0));var q={options:void 0};q.setOption=function(K,pe){this.options===void 0&&(this.options={}),this.options[K]=pe},v(q,function(pe){if(pe==="option")we(q,pe),c(";");else throw y(pe)},function(){ye(q)})}function N(x,F){var j=1;switch(x.charAt(0)==="-"&&(j=-1,x=x.substring(1)),x){case"inf":case"INF":case"Inf":return j*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(zwe.test(x))return j*parseInt(x,10);if(qwe.test(x))return j*parseInt(x,16);if(Hwe.test(x))return j*parseInt(x,8);if(Ywe.test(x))return j*parseFloat(x);throw y(x,"number",F)}function I(x,F){switch(x){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(!F&&x.charAt(0)==="-")throw y(x,"id");if(Gwe.test(x))return parseInt(x,10);if(Vwe.test(x))return parseInt(x,16);if(Wwe.test(x))return parseInt(x,8);throw y(x,"id")}function L(){if(d!==void 0)throw y("package");if(d=o(),!oo.test(d))throw y(d,"name");m=m.define(d),c(";")}function _(){var x=a(),F;switch(x){case"weak":F=p||(p=[]),o();break;case"public":o();default:F=f||(f=[]);break}x=R(),c(";"),F.push(x)}function ee(){if(c("="),h=R(),h<2023)throw y(h,"syntax");c(";")}function k(){if(c("="),h=R(),!["2023"].includes(h))throw y(h,"edition");c(";")}function g(x,F,j){switch(j===void 0&&(j=0),F){case"option":return we(x,F),c(";"),!0;case"message":return C(x,F,j+1),!0;case"enum":return xe(x,F),!0;case"service":return Ue(x,F,j+1),!0;case"extend":return oe(x,F,j),!0}return!1}function v(x,F,j){var H=i.line;if(x&&(typeof x.comment!="string"&&(x.comment=l()),x.filename=rs.filename),c("{",!0)){for(var X;(X=o())!=="}";)F(X);c(";",!0)}else j&&j(),c(";"),x&&(typeof x.comment!="string"||n)&&(x.comment=l(H)||x.comment)}function C(x,F,j){if(j===void 0&&(j=0),j>ts.nestingLimit)throw Error("max depth exceeded");if(!io.test(F=o()))throw y(F,"type name");var H=new c5(F);v(H,function(q){if(!g(H,q,j))switch(q){case"map":he(H,q);break;case"required":if(h!=="proto2")throw y(q);case"repeated":Z(H,q,void 0,j+1);break;case"optional":if(h==="proto3")Z(H,"proto3_optional",void 0,j+1);else{if(h!=="proto2")throw y(q);Z(H,"optional",void 0,j+1)}break;case"oneof":ke(H,q,j+1);break;case"extensions":O(H.extensions||(H.extensions=[]));break;case"reserved":O(H.reserved||(H.reserved=[]),!0);break;default:if(h==="proto2"||!oo.test(q))throw y(q);s(q),Z(H,"optional",void 0,j+1);break}}),x.add(H),x===m&&S.push(H)}function Z(x,F,j,H){var X=o();if(X==="group"){z(x,F,H);return}for(;X.endsWith(".")||a().startsWith(".");)X+=o();if(!oo.test(X))throw y(X,"type");var q=o();if(!io.test(q))throw y(q,"name");q=b(q),c("=");var K=new l5(q,I(o()),X,F,j);if(v(K,function(Ze){if(Ze==="option")we(K,Ze),c(";");else throw y(Ze)},function(){ye(K)}),F==="proto3_optional"){var pe=new u5("_"+q);K.setOption("proto3_optional",!0),pe.add(K),x.add(pe)}else x.add(K);x===m&&S.push(K)}function z(x,F,j){if(j===void 0&&(j=0),j>ts.nestingLimit)throw Error("max depth exceeded");if(h>=2023)throw y("group");var H=o();if(!io.test(H))throw y(H,"name");var X=ts.lcFirst(H);H===X&&(H=ts.ucFirst(H)),c("=");var q=I(o()),K=new c5(H);K.group=!0;var pe=new l5(X,q,H,F);pe.filename=rs.filename,v(K,function(Ze){switch(Ze){case"option":we(K,Ze),c(";");break;case"required":case"repeated":Z(K,Ze,void 0,j+1);break;case"optional":h==="proto3"?Z(K,"proto3_optional",void 0,j+1):Z(K,"optional",void 0,j+1);break;case"message":C(K,Ze,j+1);break;case"enum":xe(K,Ze);break;case"reserved":O(K.reserved||(K.reserved=[]),!0);break;default:throw y(Ze)}}),x.add(K).add(pe)}function he(x){c("<");var F=o();if(jwe.mapKey[F]===void 0)throw y(F,"type");c(",");var j=o();if(!oo.test(j))throw y(j,"type");c(">");var H=o();if(!io.test(H))throw y(H,"name");c("=");var X=new Lwe(b(H),I(o()),F,j);v(X,function(K){if(K==="option")we(X,K),c(";");else throw y(K)},function(){ye(X)}),x.add(X)}function ke(x,F,j){if(!io.test(F=o()))throw y(F,"name");var H=new u5(b(F));v(H,function(q){q==="option"?(we(H,q),c(";")):(s(q),Z(H,"optional",void 0,j))}),x.add(H)}function xe(x,F){if(!io.test(F=o()))throw y(F,"name");var j=new $we(F);v(j,function(X){switch(X){case"option":we(j,X),c(";");break;case"reserved":O(j.reserved||(j.reserved=[]),!0),j.reserved===void 0&&(j.reserved=[]);break;default:Ie(j,X)}}),x.add(j),x===m&&S.push(j)}function Ie(x,F){if(!io.test(F))throw y(F,"name");c("=");var j=I(o(),!0),H={options:void 0};H.getOption=function(X){return this.options[X]},H.setOption=function(X,q){Bwe.prototype.setOption.call(H,X,q)},H.setParsedOption=function(){},v(H,function(q){if(q==="option")we(H,q),c(";");else throw y(q)},function(){ye(H)}),x.add(F,j,H.comment,H.parsedOptions||H.options)}function we(x,F){var j,H,X=!0;for(F==="option"&&(F=o());F!=="=";){if(F==="("){var q=o();c(")"),F="("+q+")"}if(X){if(X=!1,F.includes(".")&&!F.includes("(")){var K=F.split(".");j=K[0]+".",F=K[1];continue}j=F}else H=H?H+=F:F;F=o()}var pe=H?j.concat(H):j,Ce=Oe(x,pe);H=H&&H[0]==="."?H.slice(1):H,j=j&&j[j.length-1]==="."?j.slice(0,-1):j,de(x,j,Ce,H)}function Oe(x,F,j){if(j===void 0&&(j=0),j>ts.recursionLimit)throw Error("max depth exceeded");if(c("{",!0)){for(var H={};!c("}",!0);){if(!io.test(D=o()))throw y(D,"name");if(D===null)throw y(D,"end of input");var X,q=D;if(c(":",!0),a()==="{")X=Oe(x,F+"."+D,j+1);else if(a()==="["){X=[];var K;if(c("[",!0)){do K=P(!0),X.push(K);while(c(",",!0));c("]"),typeof K<"u"&&Re(x,F+"."+D,K)}}else X=P(!0),Re(x,F+"."+D,X);var pe=H[q];pe&&(X=[].concat(pe).concat(X)),q!=="__proto__"&&(H[q]=X),c(",",!0),c(";",!0)}return H}var Ce=P(!0);return Re(x,F,Ce),Ce}function Re(x,F,j){if(m===x&&/^features\./.test(F)){E[F]=j;return}x.setOption&&x.setOption(F,j)}function de(x,F,j,H){x.setParsedOption&&x.setParsedOption(F,j,H)}function ye(x){if(c("[",!0)){do we(x,"option");while(c(",",!0));c("]")}return x}function Ue(x,F,j){if(j===void 0&&(j=0),j>ts.recursionLimit)throw Error("max depth exceeded");if(!io.test(F=o()))throw y(F,"service name");var H=new Uwe(F);v(H,function(q){if(!g(H,q,j))if(q==="rpc")V(H,q);else throw y(q)}),x.add(H),x===m&&S.push(H)}function V(x,F){var j=l(),H=F;if(!io.test(F=o()))throw y(F,"name");var X=F,q,K,pe,Ce;if(c("("),c("stream",!0)&&(K=!0),!oo.test(F=o())||(q=F,c(")"),c("returns"),c("("),c("stream",!0)&&(Ce=!0),!oo.test(F=o())))throw y(F);pe=F,c(")");var Ze=new Fwe(X,H,q,pe,K,Ce);Ze.comment=j,v(Ze,function(Un){if(Un==="option")we(Ze,Un),c(";");else throw y(Un)}),x.add(Ze)}function oe(x,F,j){if(!oo.test(F=o()))throw y(F,"reference");var H=F;v(null,function(q){switch(q){case"required":case"repeated":Z(x,q,H,j+1);break;case"optional":h==="proto3"?Z(x,"proto3_optional",H,j+1):Z(x,"optional",H,j+1);break;default:if(h==="proto2"||!oo.test(q))throw y(q);s(q),Z(x,"optional",H,j+1);break}})}for(var D;(D=o())!==null;)switch(D){case"package":if(!u)throw y(D);L();break;case"import":if(!u)throw y(D);_();break;case"syntax":if(!u)throw y(D);ee();break;case"edition":if(!u)throw y(D);k();break;case"option":we(m,D),c(";",!0);break;default:if(g(m,D,0)){u=!1;continue}throw y(D)}return A(),rs.filename=null,{package:d,imports:f,weakImports:p,root:e}}});var m5=T((Fct,h5)=>{"use strict";h5.exports=vi;var Kwe=/\/|\./;function vi(t,e){Kwe.test(t)||(t="google/protobuf/"+t+".proto",e={nested:{google:{nested:{protobuf:{nested:e}}}}}),vi[t]=e}vi("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}});var p5;vi("duration",{Duration:p5={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}});vi("timestamp",{Timestamp:p5});vi("empty",{Empty:{fields:{}}});vi("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}});vi("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}});vi("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}});vi.get=function(e){return vi[e]||null}});var _5=T((Bct,g5)=>{"use strict";var Sa=g5.exports=n5();Sa.build="full";Sa.tokenize=sk();Sa.parse=f5();Sa.common=m5();Sa.Root._configure(Sa.Type,Sa.parse,Sa.common)});var eb=T((jct,y5)=>{"use strict";y5.exports=_5()});var ak=T((zct,Zwe)=>{Zwe.exports={nested:{google:{nested:{protobuf:{options:{go_package:"google.golang.org/protobuf/types/descriptorpb",java_package:"com.google.protobuf",java_outer_classname:"DescriptorProtos",csharp_namespace:"Google.Protobuf.Reflection",objc_class_prefix:"GPB",cc_enable_arenas:!0,optimize_for:"SPEED"},nested:{FileDescriptorSet:{edition:"proto2",fields:{file:{rule:"repeated",type:"FileDescriptorProto",id:1}},extensions:[[536e6,536e6]]},Edition:{edition:"proto2",values:{EDITION_UNKNOWN:0,EDITION_LEGACY:900,EDITION_PROTO2:998,EDITION_PROTO3:999,EDITION_2023:1e3,EDITION_2024:1001,EDITION_1_TEST_ONLY:1,EDITION_2_TEST_ONLY:2,EDITION_99997_TEST_ONLY:99997,EDITION_99998_TEST_ONLY:99998,EDITION_99999_TEST_ONLY:99999,EDITION_MAX:2147483647}},FileDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},package:{type:"string",id:2},dependency:{rule:"repeated",type:"string",id:3},publicDependency:{rule:"repeated",type:"int32",id:10},weakDependency:{rule:"repeated",type:"int32",id:11},optionDependency:{rule:"repeated",type:"string",id:15},messageType:{rule:"repeated",type:"DescriptorProto",id:4},enumType:{rule:"repeated",type:"EnumDescriptorProto",id:5},service:{rule:"repeated",type:"ServiceDescriptorProto",id:6},extension:{rule:"repeated",type:"FieldDescriptorProto",id:7},options:{type:"FileOptions",id:8},sourceCodeInfo:{type:"SourceCodeInfo",id:9},syntax:{type:"string",id:12},edition:{type:"Edition",id:14}}},DescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},field:{rule:"repeated",type:"FieldDescriptorProto",id:2},extension:{rule:"repeated",type:"FieldDescriptorProto",id:6},nestedType:{rule:"repeated",type:"DescriptorProto",id:3},enumType:{rule:"repeated",type:"EnumDescriptorProto",id:4},extensionRange:{rule:"repeated",type:"ExtensionRange",id:5},oneofDecl:{rule:"repeated",type:"OneofDescriptorProto",id:8},options:{type:"MessageOptions",id:7},reservedRange:{rule:"repeated",type:"ReservedRange",id:9},reservedName:{rule:"repeated",type:"string",id:10},visibility:{type:"SymbolVisibility",id:11}},nested:{ExtensionRange:{fields:{start:{type:"int32",id:1},end:{type:"int32",id:2},options:{type:"ExtensionRangeOptions",id:3}}},ReservedRange:{fields:{start:{type:"int32",id:1},end:{type:"int32",id:2}}}}},ExtensionRangeOptions:{edition:"proto2",fields:{uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999},declaration:{rule:"repeated",type:"Declaration",id:2,options:{retention:"RETENTION_SOURCE"}},features:{type:"FeatureSet",id:50},verification:{type:"VerificationState",id:3,options:{default:"UNVERIFIED",retention:"RETENTION_SOURCE"}}},extensions:[[1e3,536870911]],nested:{Declaration:{fields:{number:{type:"int32",id:1},fullName:{type:"string",id:2},type:{type:"string",id:3},reserved:{type:"bool",id:5},repeated:{type:"bool",id:6}},reserved:[[4,4]]},VerificationState:{values:{DECLARATION:0,UNVERIFIED:1}}}},FieldDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},number:{type:"int32",id:3},label:{type:"Label",id:4},type:{type:"Type",id:5},typeName:{type:"string",id:6},extendee:{type:"string",id:2},defaultValue:{type:"string",id:7},oneofIndex:{type:"int32",id:9},jsonName:{type:"string",id:10},options:{type:"FieldOptions",id:8},proto3Optional:{type:"bool",id:17}},nested:{Type:{values:{TYPE_DOUBLE:1,TYPE_FLOAT:2,TYPE_INT64:3,TYPE_UINT64:4,TYPE_INT32:5,TYPE_FIXED64:6,TYPE_FIXED32:7,TYPE_BOOL:8,TYPE_STRING:9,TYPE_GROUP:10,TYPE_MESSAGE:11,TYPE_BYTES:12,TYPE_UINT32:13,TYPE_ENUM:14,TYPE_SFIXED32:15,TYPE_SFIXED64:16,TYPE_SINT32:17,TYPE_SINT64:18}},Label:{values:{LABEL_OPTIONAL:1,LABEL_REPEATED:3,LABEL_REQUIRED:2}}}},OneofDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},options:{type:"OneofOptions",id:2}}},EnumDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},value:{rule:"repeated",type:"EnumValueDescriptorProto",id:2},options:{type:"EnumOptions",id:3},reservedRange:{rule:"repeated",type:"EnumReservedRange",id:4},reservedName:{rule:"repeated",type:"string",id:5},visibility:{type:"SymbolVisibility",id:6}},nested:{EnumReservedRange:{fields:{start:{type:"int32",id:1},end:{type:"int32",id:2}}}}},EnumValueDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},number:{type:"int32",id:2},options:{type:"EnumValueOptions",id:3}}},ServiceDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},method:{rule:"repeated",type:"MethodDescriptorProto",id:2},options:{type:"ServiceOptions",id:3}}},MethodDescriptorProto:{edition:"proto2",fields:{name:{type:"string",id:1},inputType:{type:"string",id:2},outputType:{type:"string",id:3},options:{type:"MethodOptions",id:4},clientStreaming:{type:"bool",id:5},serverStreaming:{type:"bool",id:6}}},FileOptions:{edition:"proto2",fields:{javaPackage:{type:"string",id:1},javaOuterClassname:{type:"string",id:8},javaMultipleFiles:{type:"bool",id:10},javaGenerateEqualsAndHash:{type:"bool",id:20,options:{deprecated:!0}},javaStringCheckUtf8:{type:"bool",id:27},optimizeFor:{type:"OptimizeMode",id:9,options:{default:"SPEED"}},goPackage:{type:"string",id:11},ccGenericServices:{type:"bool",id:16},javaGenericServices:{type:"bool",id:17},pyGenericServices:{type:"bool",id:18},deprecated:{type:"bool",id:23},ccEnableArenas:{type:"bool",id:31,options:{default:!0}},objcClassPrefix:{type:"string",id:36},csharpNamespace:{type:"string",id:37},swiftPrefix:{type:"string",id:39},phpClassPrefix:{type:"string",id:40},phpNamespace:{type:"string",id:41},phpMetadataNamespace:{type:"string",id:44},rubyPackage:{type:"string",id:45},features:{type:"FeatureSet",id:50},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],reserved:[[42,42],[38,38],"php_generic_services"],nested:{OptimizeMode:{values:{SPEED:1,CODE_SIZE:2,LITE_RUNTIME:3}}}},MessageOptions:{edition:"proto2",fields:{messageSetWireFormat:{type:"bool",id:1},noStandardDescriptorAccessor:{type:"bool",id:2},deprecated:{type:"bool",id:3},mapEntry:{type:"bool",id:7},deprecatedLegacyJsonFieldConflicts:{type:"bool",id:11,options:{deprecated:!0}},features:{type:"FeatureSet",id:12},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],reserved:[[4,4],[5,5],[6,6],[8,8],[9,9]]},FieldOptions:{edition:"proto2",fields:{ctype:{type:"CType",id:1,options:{default:"STRING"}},packed:{type:"bool",id:2},jstype:{type:"JSType",id:6,options:{default:"JS_NORMAL"}},lazy:{type:"bool",id:5},unverifiedLazy:{type:"bool",id:15},deprecated:{type:"bool",id:3},weak:{type:"bool",id:10,options:{deprecated:!0}},debugRedact:{type:"bool",id:16},retention:{type:"OptionRetention",id:17},targets:{rule:"repeated",type:"OptionTargetType",id:19},editionDefaults:{rule:"repeated",type:"EditionDefault",id:20},features:{type:"FeatureSet",id:21},featureSupport:{type:"FeatureSupport",id:22},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],reserved:[[4,4],[18,18]],nested:{CType:{values:{STRING:0,CORD:1,STRING_PIECE:2}},JSType:{values:{JS_NORMAL:0,JS_STRING:1,JS_NUMBER:2}},OptionRetention:{values:{RETENTION_UNKNOWN:0,RETENTION_RUNTIME:1,RETENTION_SOURCE:2}},OptionTargetType:{values:{TARGET_TYPE_UNKNOWN:0,TARGET_TYPE_FILE:1,TARGET_TYPE_EXTENSION_RANGE:2,TARGET_TYPE_MESSAGE:3,TARGET_TYPE_FIELD:4,TARGET_TYPE_ONEOF:5,TARGET_TYPE_ENUM:6,TARGET_TYPE_ENUM_ENTRY:7,TARGET_TYPE_SERVICE:8,TARGET_TYPE_METHOD:9}},EditionDefault:{fields:{edition:{type:"Edition",id:3},value:{type:"string",id:2}}},FeatureSupport:{fields:{editionIntroduced:{type:"Edition",id:1},editionDeprecated:{type:"Edition",id:2},deprecationWarning:{type:"string",id:3},editionRemoved:{type:"Edition",id:4}}}}},OneofOptions:{edition:"proto2",fields:{features:{type:"FeatureSet",id:1},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]]},EnumOptions:{edition:"proto2",fields:{allowAlias:{type:"bool",id:2},deprecated:{type:"bool",id:3},deprecatedLegacyJsonFieldConflicts:{type:"bool",id:6,options:{deprecated:!0}},features:{type:"FeatureSet",id:7},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],reserved:[[5,5]]},EnumValueOptions:{edition:"proto2",fields:{deprecated:{type:"bool",id:1},features:{type:"FeatureSet",id:2},debugRedact:{type:"bool",id:3},featureSupport:{type:"FieldOptions.FeatureSupport",id:4},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]]},ServiceOptions:{edition:"proto2",fields:{features:{type:"FeatureSet",id:34},deprecated:{type:"bool",id:33},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]]},MethodOptions:{edition:"proto2",fields:{deprecated:{type:"bool",id:33},idempotencyLevel:{type:"IdempotencyLevel",id:34,options:{default:"IDEMPOTENCY_UNKNOWN"}},features:{type:"FeatureSet",id:35},uninterpretedOption:{rule:"repeated",type:"UninterpretedOption",id:999}},extensions:[[1e3,536870911]],nested:{IdempotencyLevel:{values:{IDEMPOTENCY_UNKNOWN:0,NO_SIDE_EFFECTS:1,IDEMPOTENT:2}}}},UninterpretedOption:{edition:"proto2",fields:{name:{rule:"repeated",type:"NamePart",id:2},identifierValue:{type:"string",id:3},positiveIntValue:{type:"uint64",id:4},negativeIntValue:{type:"int64",id:5},doubleValue:{type:"double",id:6},stringValue:{type:"bytes",id:7},aggregateValue:{type:"string",id:8}},nested:{NamePart:{fields:{namePart:{rule:"required",type:"string",id:1},isExtension:{rule:"required",type:"bool",id:2}}}}},FeatureSet:{edition:"proto2",fields:{fieldPresence:{type:"FieldPresence",id:1,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_2023","edition_defaults.value":"EXPLICIT"}},enumType:{type:"EnumType",id:2,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"OPEN"}},repeatedFieldEncoding:{type:"RepeatedFieldEncoding",id:3,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"PACKED"}},utf8Validation:{type:"Utf8Validation",id:4,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"VERIFY"}},messageEncoding:{type:"MessageEncoding",id:5,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_LEGACY","edition_defaults.value":"LENGTH_PREFIXED"}},jsonFormat:{type:"JsonFormat",id:6,options:{retention:"RETENTION_RUNTIME",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2023","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"ALLOW"}},enforceNamingStyle:{type:"EnforceNamingStyle",id:7,options:{retention:"RETENTION_SOURCE",targets:"TARGET_TYPE_METHOD","feature_support.edition_introduced":"EDITION_2024","edition_defaults.edition":"EDITION_2024","edition_defaults.value":"STYLE2024"}},defaultSymbolVisibility:{type:"VisibilityFeature.DefaultSymbolVisibility",id:8,options:{retention:"RETENTION_SOURCE",targets:"TARGET_TYPE_FILE","feature_support.edition_introduced":"EDITION_2024","edition_defaults.edition":"EDITION_2024","edition_defaults.value":"EXPORT_TOP_LEVEL"}}},extensions:[[1e3,9994],[9995,9999],[1e4,1e4]],reserved:[[999,999]],nested:{FieldPresence:{values:{FIELD_PRESENCE_UNKNOWN:0,EXPLICIT:1,IMPLICIT:2,LEGACY_REQUIRED:3}},EnumType:{values:{ENUM_TYPE_UNKNOWN:0,OPEN:1,CLOSED:2}},RepeatedFieldEncoding:{values:{REPEATED_FIELD_ENCODING_UNKNOWN:0,PACKED:1,EXPANDED:2}},Utf8Validation:{values:{UTF8_VALIDATION_UNKNOWN:0,VERIFY:2,NONE:3}},MessageEncoding:{values:{MESSAGE_ENCODING_UNKNOWN:0,LENGTH_PREFIXED:1,DELIMITED:2}},JsonFormat:{values:{JSON_FORMAT_UNKNOWN:0,ALLOW:1,LEGACY_BEST_EFFORT:2}},EnforceNamingStyle:{values:{ENFORCE_NAMING_STYLE_UNKNOWN:0,STYLE2024:1,STYLE_LEGACY:2}},VisibilityFeature:{fields:{},reserved:[[1,536870911]],nested:{DefaultSymbolVisibility:{values:{DEFAULT_SYMBOL_VISIBILITY_UNKNOWN:0,EXPORT_ALL:1,EXPORT_TOP_LEVEL:2,LOCAL_ALL:3,STRICT:4}}}}}},FeatureSetDefaults:{edition:"proto2",fields:{defaults:{rule:"repeated",type:"FeatureSetEditionDefault",id:1},minimumEdition:{type:"Edition",id:4},maximumEdition:{type:"Edition",id:5}},nested:{FeatureSetEditionDefault:{fields:{edition:{type:"Edition",id:3},overridableFeatures:{type:"FeatureSet",id:4},fixedFeatures:{type:"FeatureSet",id:5}},reserved:[[1,1],[2,2],"features"]}}},SourceCodeInfo:{edition:"proto2",fields:{location:{rule:"repeated",type:"Location",id:1}},extensions:[[536e6,536e6]],nested:{Location:{fields:{path:{rule:"repeated",type:"int32",id:1,options:{packed:!0}},span:{rule:"repeated",type:"int32",id:2,options:{packed:!0}},leadingComments:{type:"string",id:3},trailingComments:{type:"string",id:4},leadingDetachedComments:{rule:"repeated",type:"string",id:6}}}}},GeneratedCodeInfo:{edition:"proto2",fields:{annotation:{rule:"repeated",type:"Annotation",id:1}},nested:{Annotation:{fields:{path:{rule:"repeated",type:"int32",id:1,options:{packed:!0}},sourceFile:{type:"string",id:2},begin:{type:"int32",id:3},end:{type:"int32",id:4},semantic:{type:"Semantic",id:5}},nested:{Semantic:{values:{NONE:0,SET:1,ALIAS:2}}}}}},SymbolVisibility:{edition:"proto2",values:{VISIBILITY_UNSET:0,VISIBILITY_LOCAL:1,VISIBILITY_EXPORT:2}}}}}}}}});var x5=T((je,w5)=>{"use strict";var Dr=eb();w5.exports=je=Dr.descriptor=Dr.Root.fromJSON(ak()).lookup(".google.protobuf");var S5=Dr.Namespace,Og=Dr.Root,ns=Dr.Enum,Ti=Dr.Type,Ea=Dr.Field,Jwe=Dr.MapField,tb=Dr.OneOf,Ng=Dr.Service,rb=Dr.Method,E5=Dr.util.patterns,Xwe=E5.numberRe,nb=E5.typeRefRe;Og.fromDescriptor=function(e){typeof e.length=="number"&&(e=je.FileDescriptorSet.decode(e));var r=new Og;if(e.file)for(var n,i,o=0,s;o<e.file.length;++o){i=r,(n=e.file[o]).package&&n.package.length&&(i=r.define(n.package));var a=axe(n);if(n.name&&n.name.length&&r.files.push(i.filename=n.name),n.messageType)for(s=0;s<n.messageType.length;++s)i.add(Ti.fromDescriptor(n.messageType[s],a));if(n.enumType)for(s=0;s<n.enumType.length;++s)i.add(ns.fromDescriptor(n.enumType[s],a));if(n.extension)for(s=0;s<n.extension.length;++s)i.add(Ea.fromDescriptor(n.extension[s],a));if(n.service)for(s=0;s<n.service.length;++s)i.add(Ng.fromDescriptor(n.service[s],a));var c=Gd(n.options,je.FileOptions);if(c){var l=Object.keys(c);for(s=0;s<l.length;++s)i.setOption(l[s],c[l[s]])}}return r.resolveAll()};Og.prototype.toDescriptor=function(e){var r=je.FileDescriptorSet.create();return v5(this,r.file,e),r};function v5(t,e,r){var n=je.FileDescriptorProto.create({name:t.filename||(t.fullName.substring(1).replace(/\./g,"_")||"root")+".proto"});cxe(r,n),t instanceof Og||(n.package=t.fullName.substring(1));for(var i=0,o;i<t.nestedArray.length;++i)(o=t._nestedArray[i])instanceof Ti?n.messageType.push(o.toDescriptor(r)):o instanceof ns?n.enumType.push(o.toDescriptor()):o instanceof Ea?n.extension.push(o.toDescriptor(r)):o instanceof Ng?n.service.push(o.toDescriptor()):o instanceof S5&&v5(o,e,r);n.options=qd(t.options,je.FileOptions),n.messageType.length+n.enumType.length+n.extension.length+n.service.length&&e.push(n)}var Qwe=0;Ti.fromDescriptor=function(e,r,n,i){if(i===void 0&&(i=0),i>Dr.util.nestingLimit)throw Error("max depth exceeded");typeof e.length=="number"&&(e=je.DescriptorProto.decode(e));var o=new Ti(e.name.length?e.name:"Type"+Qwe++,Gd(e.options,je.MessageOptions)),s;if(n||(o._edition=r),e.oneofDecl)for(s=0;s<e.oneofDecl.length;++s)o.add(tb.fromDescriptor(e.oneofDecl[s]));if(e.field)for(s=0;s<e.field.length;++s){var a=Ea.fromDescriptor(e.field[s],r,!0);o.add(a),e.field[s].hasOwnProperty("oneofIndex")&&o.oneofsArray[e.field[s].oneofIndex].add(a)}if(e.extension)for(s=0;s<e.extension.length;++s)o.add(Ea.fromDescriptor(e.extension[s],r,!0));if(e.nestedType)for(s=0;s<e.nestedType.length;++s)o.add(Ti.fromDescriptor(e.nestedType[s],r,!0,i+1)),e.nestedType[s].options&&e.nestedType[s].options.mapEntry&&o.setOption("map_entry",!0);if(e.enumType)for(s=0;s<e.enumType.length;++s)o.add(ns.fromDescriptor(e.enumType[s],r,!0));if(e.extensionRange&&e.extensionRange.length)for(o.extensions=[],s=0;s<e.extensionRange.length;++s)o.extensions.push([e.extensionRange[s].start,e.extensionRange[s].end]);if(e.reservedRange&&e.reservedRange.length||e.reservedName&&e.reservedName.length){if(o.reserved=[],e.reservedRange)for(s=0;s<e.reservedRange.length;++s)o.reserved.push([e.reservedRange[s].start,e.reservedRange[s].end]);if(e.reservedName)for(s=0;s<e.reservedName.length;++s)o.reserved.push(e.reservedName[s])}return o};Ti.prototype.toDescriptor=function(e){var r=je.DescriptorProto.create({name:this.name}),n;for(n=0;n<this.fieldsArray.length;++n){var i;if(r.field.push(i=this._fieldsArray[n].toDescriptor(e)),this._fieldsArray[n]instanceof Jwe){var o=ck(this._fieldsArray[n].keyType,this._fieldsArray[n].resolvedKeyType,!1),s=ck(this._fieldsArray[n].type,this._fieldsArray[n].resolvedType,!1),a=s===11||s===14?this._fieldsArray[n].resolvedType&&A5(this.parent,this._fieldsArray[n].resolvedType)||this._fieldsArray[n].type:void 0;r.nestedType.push(je.DescriptorProto.create({name:i.typeName,field:[je.FieldDescriptorProto.create({name:"key",number:1,label:1,type:o}),je.FieldDescriptorProto.create({name:"value",number:2,label:1,type:s,typeName:a})],options:je.MessageOptions.create({mapEntry:!0})}))}}for(n=0;n<this.oneofsArray.length;++n)r.oneofDecl.push(this._oneofsArray[n].toDescriptor());for(n=0;n<this.nestedArray.length;++n)this._nestedArray[n]instanceof Ea?r.field.push(this._nestedArray[n].toDescriptor(e)):this._nestedArray[n]instanceof Ti?r.nestedType.push(this._nestedArray[n].toDescriptor(e)):this._nestedArray[n]instanceof ns&&r.enumType.push(this._nestedArray[n].toDescriptor());if(this.extensions)for(n=0;n<this.extensions.length;++n)r.extensionRange.push(je.DescriptorProto.ExtensionRange.create({start:this.extensions[n][0],end:this.extensions[n][1]}));if(this.reserved)for(n=0;n<this.reserved.length;++n)typeof this.reserved[n]=="string"?r.reservedName.push(this.reserved[n]):r.reservedRange.push(je.DescriptorProto.ReservedRange.create({start:this.reserved[n][0],end:this.reserved[n][1]}));return r.options=qd(this.options,je.MessageOptions),r};Ea.fromDescriptor=function(e,r,n){if(typeof e.length=="number"&&(e=je.DescriptorProto.decode(e)),typeof e.number!="number")throw Error("missing field id");var i=e.typeName,o;if(i!=null&&i!==""){if(typeof i!="string"||!nb.test(i))throw Error("illegal type name: "+i);o=i}else o=ixe(e.type);var s;switch(e.label){case 1:s=void 0;break;case 2:s="required";break;case 3:s="repeated";break;default:throw Error("illegal label: "+e.label)}var a=e.extendee;if(a!=null&&a!==""){if(typeof a!="string"||!nb.test(a))throw Error("illegal type name: "+a)}else a=void 0;var c=new Ea(e.name.length?e.name:"field"+e.number,e.number,o,s,a);if(n||(c._edition=r),c.options=Gd(e.options,je.FieldOptions),e.proto3_optional&&(c.options.proto3_optional=!0),e.defaultValue&&e.defaultValue.length){var l=e.defaultValue;switch(l){case"true":case"TRUE":l=!0;break;case"false":case"FALSE":l=!1;break;default:var u=Xwe.exec(l);u&&(l=parseInt(l));break}c.setOption("default",l)}return oxe(e.type)&&(r==="proto3"?e.options&&!e.options.packed&&c.setOption("packed",!1):(!r||r==="proto2")&&e.options&&e.options.packed&&c.setOption("packed",!0)),c};Ea.prototype.toDescriptor=function(e){var r=je.FieldDescriptorProto.create({name:this.name,number:this.id});if(this.map)r.type=11,r.typeName=Dr.util.ucFirst(this.name),r.label=3;else{switch(r.type=ck(this.type,this.resolve().resolvedType,this.delimited)){case 10:case 11:case 14:r.typeName=this.resolvedType?A5(this.parent,this.resolvedType):this.type;break}this.rule==="repeated"?r.label=3:this.required&&e==="proto2"?r.label=2:r.label=1}if(r.extendee=this.extensionField?this.extensionField.parent.fullName:this.extend,this.partOf&&this.parent instanceof Ti&&(r.oneofIndex=this.parent.oneofsArray.indexOf(this.partOf))<0)throw Error("missing oneof");return this.options&&(r.options=qd(this.options,je.FieldOptions),this.options.default!=null&&(r.defaultValue=String(this.options.default)),this.options.proto3_optional&&(r.proto3_optional=!0)),e==="proto3"?this.packed||((r.options||(r.options=je.FieldOptions.create())).packed=!1):(!e||e==="proto2")&&this.packed&&((r.options||(r.options=je.FieldOptions.create())).packed=!0),r};var exe=0;ns.fromDescriptor=function(e,r,n){typeof e.length=="number"&&(e=je.EnumDescriptorProto.decode(e));var i={};if(e.value)for(var o=0;o<e.value.length;++o){var s=e.value[o].name,a=e.value[o].number||0;i[s&&s.length?s:"NAME"+a]=a}var c=new ns(e.name&&e.name.length?e.name:"Enum"+exe++,i,Gd(e.options,je.EnumOptions));return n||(c._edition=r),c};ns.prototype.toDescriptor=function(){for(var e=[],r=0,n=Object.keys(this.values);r<n.length;++r)e.push(je.EnumValueDescriptorProto.create({name:n[r],number:this.values[n[r]]}));return je.EnumDescriptorProto.create({name:this.name,value:e,options:qd(this.options,je.EnumOptions)})};var txe=0;tb.fromDescriptor=function(e){return typeof e.length=="number"&&(e=je.OneofDescriptorProto.decode(e)),new tb(e.name&&e.name.length?e.name:"oneof"+txe++)};tb.prototype.toDescriptor=function(){return je.OneofDescriptorProto.create({name:this.name})};var rxe=0;Ng.fromDescriptor=function(e,r,n){typeof e.length=="number"&&(e=je.ServiceDescriptorProto.decode(e));var i=new Ng(e.name&&e.name.length?e.name:"Service"+rxe++,Gd(e.options,je.ServiceOptions));if(n||(i._edition=r),e.method)for(var o=0;o<e.method.length;++o)i.add(rb.fromDescriptor(e.method[o]));return i};Ng.prototype.toDescriptor=function(){for(var e=[],r=0;r<this.methodsArray.length;++r)e.push(this._methodsArray[r].toDescriptor());return je.ServiceDescriptorProto.create({name:this.name,method:e,options:qd(this.options,je.ServiceOptions)})};var nxe=0;rb.fromDescriptor=function(e){typeof e.length=="number"&&(e=je.MethodDescriptorProto.decode(e));var r=e.inputType,n=e.outputType;if(r!=null&&r!==""&&(typeof r!="string"||!nb.test(r)))throw Error("illegal type name: "+r);if(n!=null&&n!==""&&(typeof n!="string"||!nb.test(n)))throw Error("illegal type name: "+n);return new rb(e.name&&e.name.length?e.name:"Method"+nxe++,"rpc",r,n,!!e.clientStreaming,!!e.serverStreaming,Gd(e.options,je.MethodOptions))};rb.prototype.toDescriptor=function(){return je.MethodDescriptorProto.create({name:this.name,inputType:this.resolvedRequestType?this.resolvedRequestType.fullName:this.requestType,outputType:this.resolvedResponseType?this.resolvedResponseType.fullName:this.responseType,clientStreaming:this.requestStream,serverStreaming:this.responseStream,options:qd(this.options,je.MethodOptions)})};function ixe(t){switch(t){case 1:return"double";case 2:return"float";case 3:return"int64";case 4:return"uint64";case 5:return"int32";case 6:return"fixed64";case 7:return"fixed32";case 8:return"bool";case 9:return"string";case 12:return"bytes";case 13:return"uint32";case 15:return"sfixed32";case 16:return"sfixed64";case 17:return"sint32";case 18:return"sint64"}throw Error("illegal type: "+t)}function oxe(t){switch(t){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 13:case 14:case 15:case 16:case 17:case 18:return!0}return!1}function ck(t,e,r){switch(t){case"double":return 1;case"float":return 2;case"int64":return 3;case"uint64":return 4;case"int32":return 5;case"fixed64":return 6;case"fixed32":return 7;case"bool":return 8;case"string":return 9;case"bytes":return 12;case"uint32":return 13;case"sfixed32":return 15;case"sfixed64":return 16;case"sint32":return 17;case"sint64":return 18}if(e instanceof ns)return 14;if(e instanceof Ti)return r?10:11;throw Error("illegal type: "+t)}function T5(t,e){for(var r={},n=0,i,o;n<e.fieldsArray.length;++n)if((o=(i=e._fieldsArray[n]).name)!=="uninterpretedOption"&&Object.prototype.hasOwnProperty.call(t,o)){var s=sxe(o);i.resolvedType instanceof Ti?r[s]=T5(t[o],i.resolvedType):i.resolvedType instanceof ns?r[s]=i.resolvedType.valuesById[t[o]]:r[s]=t[o]}return r}function Gd(t,e){if(t)return T5(e.toObject(t),e)}function b5(t,e){for(var r={},n=Object.keys(t),i=0;i<n.length;++i){var o=n[i],s=Dr.util.camelCase(o);if(Object.prototype.hasOwnProperty.call(e.fields,s)){var a=e.fields[s];a.resolvedType instanceof Ti?r[s]=b5(t[o],a.resolvedType):r[s]=t[o],a.repeated&&!Array.isArray(r[s])&&(r[s]=[r[s]])}}return r}function qd(t,e){if(t)return e.fromObject(b5(t,e))}function A5(t,e){var r=t.fullName.split("."),n=e.fullName.split("."),i=0,o=0,s=n.length-1;if(!(t instanceof Og)&&e instanceof S5)for(;i<r.length&&o<s&&r[i]===n[o];){var a=e.lookup(r[i++],!0);if(a!==null&&a!==e)break;++o}else for(;i<r.length&&o<s&&r[i]===n[o];++i,++o);return n.slice(o).join(".")}function sxe(t){return t.substring(0,1)+t.substring(1).replace(/([A-Z])(?=[a-z]|$)/g,function(e,r){return"_"+r.toLowerCase()})}function axe(t){if(t.syntax==="editions"){if(t.edition===je.Edition.EDITION_2023)return"2023";throw new Error("Unsupported edition "+t.edition)}return t.syntax==="proto3"?"proto3":"proto2"}function cxe(t,e){if(t)if(t==="proto2"||t==="proto3")e.syntax=t;else if(e.syntax="editions",t==="2023")e.edition=je.Edition.EDITION_2023;else throw new Error("Unsupported edition "+t)}});var R5=T((Gct,lxe)=>{lxe.exports={nested:{google:{nested:{protobuf:{nested:{Api:{fields:{name:{type:"string",id:1},methods:{rule:"repeated",type:"Method",id:2},options:{rule:"repeated",type:"Option",id:3},version:{type:"string",id:4},sourceContext:{type:"SourceContext",id:5},mixins:{rule:"repeated",type:"Mixin",id:6},syntax:{type:"Syntax",id:7}}},Method:{fields:{name:{type:"string",id:1},requestTypeUrl:{type:"string",id:2},requestStreaming:{type:"bool",id:3},responseTypeUrl:{type:"string",id:4},responseStreaming:{type:"bool",id:5},options:{rule:"repeated",type:"Option",id:6},syntax:{type:"Syntax",id:7}}},Mixin:{fields:{name:{type:"string",id:1},root:{type:"string",id:2}}},SourceContext:{fields:{fileName:{type:"string",id:1}}},Option:{fields:{name:{type:"string",id:1},value:{type:"Any",id:2}}},Syntax:{values:{SYNTAX_PROTO2:0,SYNTAX_PROTO3:1}}}}}}}}});var I5=T((qct,uxe)=>{uxe.exports={nested:{google:{nested:{protobuf:{nested:{SourceContext:{fields:{fileName:{type:"string",id:1}}}}}}}}}});var C5=T((Vct,dxe)=>{dxe.exports={nested:{google:{nested:{protobuf:{nested:{Type:{fields:{name:{type:"string",id:1},fields:{rule:"repeated",type:"Field",id:2},oneofs:{rule:"repeated",type:"string",id:3},options:{rule:"repeated",type:"Option",id:4},sourceContext:{type:"SourceContext",id:5},syntax:{type:"Syntax",id:6}}},Field:{fields:{kind:{type:"Kind",id:1},cardinality:{type:"Cardinality",id:2},number:{type:"int32",id:3},name:{type:"string",id:4},typeUrl:{type:"string",id:6},oneofIndex:{type:"int32",id:7},packed:{type:"bool",id:8},options:{rule:"repeated",type:"Option",id:9},jsonName:{type:"string",id:10},defaultValue:{type:"string",id:11}},nested:{Kind:{values:{TYPE_UNKNOWN:0,TYPE_DOUBLE:1,TYPE_FLOAT:2,TYPE_INT64:3,TYPE_UINT64:4,TYPE_INT32:5,TYPE_FIXED64:6,TYPE_FIXED32:7,TYPE_BOOL:8,TYPE_STRING:9,TYPE_GROUP:10,TYPE_MESSAGE:11,TYPE_BYTES:12,TYPE_UINT32:13,TYPE_ENUM:14,TYPE_SFIXED32:15,TYPE_SFIXED64:16,TYPE_SINT32:17,TYPE_SINT64:18}},Cardinality:{values:{CARDINALITY_UNKNOWN:0,CARDINALITY_OPTIONAL:1,CARDINALITY_REQUIRED:2,CARDINALITY_REPEATED:3}}}},Enum:{fields:{name:{type:"string",id:1},enumvalue:{rule:"repeated",type:"EnumValue",id:2},options:{rule:"repeated",type:"Option",id:3},sourceContext:{type:"SourceContext",id:4},syntax:{type:"Syntax",id:5}}},EnumValue:{fields:{name:{type:"string",id:1},number:{type:"int32",id:2},options:{rule:"repeated",type:"Option",id:3}}},Option:{fields:{name:{type:"string",id:1},value:{type:"Any",id:2}}},Syntax:{values:{SYNTAX_PROTO2:0,SYNTAX_PROTO3:1}},Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}},SourceContext:{fields:{fileName:{type:"string",id:1}}}}}}}}}});var k5=T(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.addCommonProtos=va.loadProtosWithOptionsSync=va.loadProtosWithOptions=void 0;var P5=Q("fs"),O5=Q("path"),Vd=eb();function N5(t,e){let r=t.resolvePath;t.resolvePath=(n,i)=>{if(O5.isAbsolute(i))return i;for(let o of e){let s=O5.join(o,i);try{return P5.accessSync(s,P5.constants.R_OK),s}catch{continue}}return process.emitWarning(`${i} not found in any of the include paths ${e}`),r(n,i)}}async function fxe(t,e){let r=new Vd.Root;if(e=e||{},e.includeDirs){if(!Array.isArray(e.includeDirs))return Promise.reject(new Error("The includeDirs option must be an array"));N5(r,e.includeDirs)}let n=await r.load(t,e);return n.resolveAll(),n}va.loadProtosWithOptions=fxe;function pxe(t,e){let r=new Vd.Root;if(e=e||{},e.includeDirs){if(!Array.isArray(e.includeDirs))throw new Error("The includeDirs option must be an array");N5(r,e.includeDirs)}let n=r.loadSync(t,e);return n.resolveAll(),n}va.loadProtosWithOptionsSync=pxe;function hxe(){let t=R5(),e=ak(),r=I5(),n=C5();Vd.common("api",t.nested.google.nested.protobuf.nested),Vd.common("descriptor",e.nested.google.nested.protobuf.nested),Vd.common("source_context",r.nested.google.nested.protobuf.nested),Vd.common("type",n.nested.google.nested.protobuf.nested)}va.addCommonProtos=hxe});var hk=T(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.loadFileDescriptorSetFromObject=Ft.loadFileDescriptorSetFromBuffer=Ft.fromJSON=Ft.loadSync=Ft.load=Ft.IdempotencyLevel=Ft.isAnyExtension=Ft.Long=void 0;var mxe=m8(),so=eb(),fk=x5(),pk=k5(),gxe=gN();Ft.Long=gxe;function _xe(t){return"@type"in t&&typeof t["@type"]=="string"}Ft.isAnyExtension=_xe;var M5;(function(t){t.IDEMPOTENCY_UNKNOWN="IDEMPOTENCY_UNKNOWN",t.NO_SIDE_EFFECTS="NO_SIDE_EFFECTS",t.IDEMPOTENT="IDEMPOTENT"})(M5=Ft.IdempotencyLevel||(Ft.IdempotencyLevel={}));var D5={longs:String,enums:String,bytes:String,defaults:!0,oneofs:!0,json:!0};function yxe(t,e){return t===""?e:t+"."+e}function Sxe(t){return t instanceof so.Service||t instanceof so.Type||t instanceof so.Enum}function Exe(t){return t instanceof so.Namespace||t instanceof so.Root}function L5(t,e){let r=yxe(e,t.name);return Sxe(t)?[[r,t]]:Exe(t)&&typeof t.nested<"u"?Object.keys(t.nested).map(n=>L5(t.nested[n],r)).reduce((n,i)=>n.concat(i),[]):[]}function lk(t,e){return function(n){return t.toObject(t.decode(n),e)}}function uk(t){return function(r){if(Array.isArray(r))throw new Error(`Failed to serialize message: expected object with ${t.name} structure, got array instead`);let n=t.fromObject(r);return t.encode(n).finish()}}function vxe(t){return(t||[]).reduce((e,r)=>{for(let[n,i]of Object.entries(r))n==="uninterpreted_option"?e.uninterpreted_option.push(r.uninterpreted_option):e[n]=i;return e},{deprecated:!1,idempotency_level:M5.IDEMPOTENCY_UNKNOWN,uninterpreted_option:[]})}function Txe(t,e,r,n){let i=t.resolvedRequestType,o=t.resolvedResponseType;return{path:"/"+e+"/"+t.name,requestStream:!!t.requestStream,responseStream:!!t.responseStream,requestSerialize:uk(i),requestDeserialize:lk(i,r),responseSerialize:uk(o),responseDeserialize:lk(o,r),originalName:mxe(t.name),requestType:dk(i,r,n),responseType:dk(o,r,n),options:vxe(t.parsedOptions)}}function bxe(t,e,r,n){let i={};for(let o of t.methodsArray)i[o.name]=Txe(o,e,r,n);return i}function dk(t,e,r){let n=t.toDescriptor("proto3");return{format:"Protocol Buffer 3 DescriptorProto",type:n.$type.toObject(n,D5),fileDescriptorProtos:r,serialize:uk(t),deserialize:lk(t,e)}}function Axe(t,e){let r=t.toDescriptor("proto3");return{format:"Protocol Buffer 3 EnumDescriptorProto",type:r.$type.toObject(r,D5),fileDescriptorProtos:e}}function wxe(t,e,r,n){if(t instanceof so.Service)return bxe(t,e,r,n);if(t instanceof so.Type)return dk(t,r,n);if(t instanceof so.Enum)return Axe(t,n);throw new Error("Type mismatch in reflection object handling")}function ib(t,e){let r={};t.resolveAll();let i=t.toDescriptor("proto3").file.map(o=>Buffer.from(fk.FileDescriptorProto.encode(o).finish()));for(let[o,s]of L5(t,""))r[o]=wxe(s,o,e,i);return r}function $5(t,e){e=e||{};let r=so.Root.fromDescriptor(t);return r.resolveAll(),ib(r,e)}function xxe(t,e){return(0,pk.loadProtosWithOptions)(t,e).then(r=>ib(r,e))}Ft.load=xxe;function Rxe(t,e){let r=(0,pk.loadProtosWithOptionsSync)(t,e);return ib(r,e)}Ft.loadSync=Rxe;function Ixe(t,e){e=e||{};let r=so.Root.fromJSON(t);return r.resolveAll(),ib(r,e)}Ft.fromJSON=Ixe;function Cxe(t,e){let r=fk.FileDescriptorSet.decode(t);return $5(r,e)}Ft.loadFileDescriptorSetFromBuffer=Cxe;function Pxe(t,e){let r=fk.FileDescriptorSet.fromObject(t);return $5(r,e)}Ft.loadFileDescriptorSetFromObject=Pxe;(0,pk.addCommonProtos)()});var Ta=T(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.registerChannelzSocket=pt.registerChannelzServer=pt.registerChannelzSubchannel=pt.registerChannelzChannel=pt.ChannelzCallTrackerStub=pt.ChannelzCallTracker=pt.ChannelzChildrenTrackerStub=pt.ChannelzChildrenTracker=pt.ChannelzTrace=pt.ChannelzTraceStub=void 0;pt.unregisterChannelzRef=Dxe;pt.getChannelzHandlers=V5;pt.getChannelzServiceDefinition=H5;pt.setup=Hxe;var sb=Q("net"),Sl=(UK(),Pr($K)),kg=Mr(),Mg=Ge(),Oxe=Xr(),Nxe=AT(),kxe=CT();function mk(t){return{channel_id:t.id,name:t.name}}function Ek(t){return{subchannel_id:t.id,name:t.name}}function Mxe(t){return{server_id:t.id}}function lb(t){return{socket_id:t.id,name:t.name}}var U5=32,vk=100,gk=class{constructor(){this.events=[],this.creationTimestamp=new Date,this.eventsLogged=0}addTrace(){}getTraceMessage(){return{creation_timestamp:ao(this.creationTimestamp),num_events_logged:this.eventsLogged,events:[]}}};pt.ChannelzTraceStub=gk;var _k=class{constructor(){this.events=[],this.eventsLogged=0,this.creationTimestamp=new Date}addTrace(e,r,n){let i=new Date;this.events.push({description:r,severity:e,timestamp:i,childChannel:n?.kind==="channel"?n:void 0,childSubchannel:n?.kind==="subchannel"?n:void 0}),this.events.length>=U5*2&&(this.events=this.events.slice(U5)),this.eventsLogged+=1}getTraceMessage(){return{creation_timestamp:ao(this.creationTimestamp),num_events_logged:this.eventsLogged,events:this.events.map(e=>({description:e.description,severity:e.severity,timestamp:ao(e.timestamp),channel_ref:e.childChannel?mk(e.childChannel):null,subchannel_ref:e.childSubchannel?Ek(e.childSubchannel):null}))}}};pt.ChannelzTrace=_k;var ab=class{constructor(){this.channelChildren=new Sl.OrderedMap,this.subchannelChildren=new Sl.OrderedMap,this.socketChildren=new Sl.OrderedMap,this.trackerMap={channel:this.channelChildren,subchannel:this.subchannelChildren,socket:this.socketChildren}}refChild(e){let r=this.trackerMap[e.kind],n=r.find(e.id);n.equals(r.end())?r.setElement(e.id,{ref:e,count:1},n):n.pointer[1].count+=1}unrefChild(e){let r=this.trackerMap[e.kind],n=r.getElementByKey(e.id);n!==void 0&&(n.count-=1,n.count===0&&r.eraseElementByKey(e.id))}getChildLists(){return{channels:this.channelChildren,subchannels:this.subchannelChildren,sockets:this.socketChildren}}};pt.ChannelzChildrenTracker=ab;var yk=class extends ab{refChild(){}unrefChild(){}};pt.ChannelzChildrenTrackerStub=yk;var cb=class{constructor(){this.callsStarted=0,this.callsSucceeded=0,this.callsFailed=0,this.lastCallStartedTimestamp=null}addCallStarted(){this.callsStarted+=1,this.lastCallStartedTimestamp=new Date}addCallSucceeded(){this.callsSucceeded+=1}addCallFailed(){this.callsFailed+=1}};pt.ChannelzCallTracker=cb;var Sk=class extends cb{addCallStarted(){}addCallSucceeded(){}addCallFailed(){}};pt.ChannelzCallTrackerStub=Sk;var is={channel:new Sl.OrderedMap,subchannel:new Sl.OrderedMap,server:new Sl.OrderedMap,socket:new Sl.OrderedMap},ub=t=>{let e=1;function r(){return e++}let n=is[t];return(i,o,s)=>{let a=r(),c={id:a,name:i,kind:t};return s&&n.setElement(a,{ref:c,getInfo:o}),c}};pt.registerChannelzChannel=ub("channel");pt.registerChannelzSubchannel=ub("subchannel");pt.registerChannelzServer=ub("server");pt.registerChannelzSocket=ub("socket");function Dxe(t){is[t.kind].eraseElementByKey(t.id)}function Lxe(t){let e=Number.parseInt(t,16);return[e/256|0,e%256]}function F5(t){if(t==="")return[];let e=t.split(":").map(n=>Lxe(n));return[].concat(...e)}function $xe(t){return(0,sb.isIPv6)(t)&&t.toLowerCase().startsWith("::ffff:")&&(0,sb.isIPv4)(t.substring(7))}function B5(t){return Buffer.from(Uint8Array.from(t.split(".").map(e=>Number.parseInt(e))))}function Uxe(t){if((0,sb.isIPv4)(t))return B5(t);if($xe(t))return B5(t.substring(7));if((0,sb.isIPv6)(t)){let e,r,n=t.indexOf("::");n===-1?(e=t,r=""):(e=t.substring(0,n),r=t.substring(n+2));let i=Buffer.from(F5(e)),o=Buffer.from(F5(r)),s=Buffer.alloc(16-i.length-o.length,0);return Buffer.concat([i,s,o])}else return null}function z5(t){switch(t){case kg.ConnectivityState.CONNECTING:return{state:"CONNECTING"};case kg.ConnectivityState.IDLE:return{state:"IDLE"};case kg.ConnectivityState.READY:return{state:"READY"};case kg.ConnectivityState.SHUTDOWN:return{state:"SHUTDOWN"};case kg.ConnectivityState.TRANSIENT_FAILURE:return{state:"TRANSIENT_FAILURE"};default:return{state:"UNKNOWN"}}}function ao(t){if(!t)return null;let e=t.getTime();return{seconds:e/1e3|0,nanos:e%1e3*1e6}}function G5(t){let e=t.getInfo(),r=[],n=[];return e.children.channels.forEach(i=>{r.push(mk(i[1].ref))}),e.children.subchannels.forEach(i=>{n.push(Ek(i[1].ref))}),{ref:mk(t.ref),data:{target:e.target,state:z5(e.state),calls_started:e.callTracker.callsStarted,calls_succeeded:e.callTracker.callsSucceeded,calls_failed:e.callTracker.callsFailed,last_call_started_timestamp:ao(e.callTracker.lastCallStartedTimestamp),trace:e.trace.getTraceMessage()},channel_ref:r,subchannel_ref:n}}function Fxe(t,e){let r=parseInt(t.request.channel_id,10),n=is.channel.getElementByKey(r);if(n===void 0){e({code:Mg.Status.NOT_FOUND,details:"No channel data found for id "+r});return}e(null,{channel:G5(n)})}function Bxe(t,e){let r=parseInt(t.request.max_results,10)||vk,n=[],i=parseInt(t.request.start_channel_id,10),o=is.channel,s;for(s=o.lowerBound(i);!s.equals(o.end())&&n.length<r;s=s.next())n.push(G5(s.pointer[1]));e(null,{channel:n,end:s.equals(o.end())})}function q5(t){let e=t.getInfo(),r=[];return e.listenerChildren.sockets.forEach(n=>{r.push(lb(n[1].ref))}),{ref:Mxe(t.ref),data:{calls_started:e.callTracker.callsStarted,calls_succeeded:e.callTracker.callsSucceeded,calls_failed:e.callTracker.callsFailed,last_call_started_timestamp:ao(e.callTracker.lastCallStartedTimestamp),trace:e.trace.getTraceMessage()},listen_socket:r}}function jxe(t,e){let r=parseInt(t.request.server_id,10),i=is.server.getElementByKey(r);if(i===void 0){e({code:Mg.Status.NOT_FOUND,details:"No server data found for id "+r});return}e(null,{server:q5(i)})}function zxe(t,e){let r=parseInt(t.request.max_results,10)||vk,n=parseInt(t.request.start_server_id,10),i=is.server,o=[],s;for(s=i.lowerBound(n);!s.equals(i.end())&&o.length<r;s=s.next())o.push(q5(s.pointer[1]));e(null,{server:o,end:s.equals(i.end())})}function Gxe(t,e){let r=parseInt(t.request.subchannel_id,10),n=is.subchannel.getElementByKey(r);if(n===void 0){e({code:Mg.Status.NOT_FOUND,details:"No subchannel data found for id "+r});return}let i=n.getInfo(),o=[];i.children.sockets.forEach(a=>{o.push(lb(a[1].ref))});let s={ref:Ek(n.ref),data:{target:i.target,state:z5(i.state),calls_started:i.callTracker.callsStarted,calls_succeeded:i.callTracker.callsSucceeded,calls_failed:i.callTracker.callsFailed,last_call_started_timestamp:ao(i.callTracker.lastCallStartedTimestamp),trace:i.trace.getTraceMessage()},socket_ref:o};e(null,{subchannel:s})}function j5(t){var e;return(0,Oxe.isTcpSubchannelAddress)(t)?{address:"tcpip_address",tcpip_address:{ip_address:(e=Uxe(t.host))!==null&&e!==void 0?e:void 0,port:t.port}}:{address:"uds_address",uds_address:{filename:t.path}}}function qxe(t,e){var r,n,i,o,s;let a=parseInt(t.request.socket_id,10),c=is.socket.getElementByKey(a);if(c===void 0){e({code:Mg.Status.NOT_FOUND,details:"No socket data found for id "+a});return}let l=c.getInfo(),u=l.security?{model:"tls",tls:{cipher_suite:l.security.cipherSuiteStandardName?"standard_name":"other_name",standard_name:(r=l.security.cipherSuiteStandardName)!==null&&r!==void 0?r:void 0,other_name:(n=l.security.cipherSuiteOtherName)!==null&&n!==void 0?n:void 0,local_certificate:(i=l.security.localCertificate)!==null&&i!==void 0?i:void 0,remote_certificate:(o=l.security.remoteCertificate)!==null&&o!==void 0?o:void 0}}:null,d={ref:lb(c.ref),local:l.localAddress?j5(l.localAddress):null,remote:l.remoteAddress?j5(l.remoteAddress):null,remote_name:(s=l.remoteName)!==null&&s!==void 0?s:void 0,security:u,data:{keep_alives_sent:l.keepAlivesSent,streams_started:l.streamsStarted,streams_succeeded:l.streamsSucceeded,streams_failed:l.streamsFailed,last_local_stream_created_timestamp:ao(l.lastLocalStreamCreatedTimestamp),last_remote_stream_created_timestamp:ao(l.lastRemoteStreamCreatedTimestamp),messages_received:l.messagesReceived,messages_sent:l.messagesSent,last_message_received_timestamp:ao(l.lastMessageReceivedTimestamp),last_message_sent_timestamp:ao(l.lastMessageSentTimestamp),local_flow_control_window:l.localFlowControlWindow?{value:l.localFlowControlWindow}:null,remote_flow_control_window:l.remoteFlowControlWindow?{value:l.remoteFlowControlWindow}:null}};e(null,{socket:d})}function Vxe(t,e){let r=parseInt(t.request.server_id,10),n=is.server.getElementByKey(r);if(n===void 0){e({code:Mg.Status.NOT_FOUND,details:"No server data found for id "+r});return}let i=parseInt(t.request.start_socket_id,10),o=parseInt(t.request.max_results,10)||vk,a=n.getInfo().sessionChildren.sockets,c=[],l;for(l=a.lowerBound(i);!l.equals(a.end())&&c.length<o;l=l.next())c.push(lb(l.pointer[1].ref));e(null,{socket_ref:c,end:l.equals(a.end())})}function V5(){return{GetChannel:Fxe,GetTopChannels:Bxe,GetServer:jxe,GetServers:zxe,GetSubchannel:Gxe,GetSocket:qxe,GetServerSockets:Vxe}}var ob=null;function H5(){if(ob)return ob;let t=hk().loadSync,e=t("channelz.proto",{keepCase:!0,longs:String,enums:String,defaults:!0,oneofs:!0,includeDirs:[`${__dirname}/../../proto`]});return ob=(0,kxe.loadPackageDefinition)(e).grpc.channelz.v1.Channelz.service,ob}function Hxe(){(0,Nxe.registerAdminService)(H5,V5)}});var db=T(Tk=>{"use strict";Object.defineProperty(Tk,"__esModule",{value:!0});Tk.getNextCallNumber=Yxe;var Wxe=0;function Yxe(){return Wxe++}});var bk=T(fb=>{"use strict";Object.defineProperty(fb,"__esModule",{value:!0});fb.CompressionAlgorithms=void 0;var W5;(function(t){t[t.identity=0]="identity",t[t.deflate=1]="deflate",t[t.gzip=2]="gzip"})(W5||(fb.CompressionAlgorithms=W5={}))});var wk=T(pb=>{"use strict";Object.defineProperty(pb,"__esModule",{value:!0});pb.BaseFilter=void 0;var Ak=class{async sendMetadata(e){return e}receiveMetadata(e){return e}async sendMessage(e){return e}async receiveMessage(e){return e}receiveTrailers(e){return e}};pb.BaseFilter=Ak});var Pk=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.CompressionFilterFactory=Wd.CompressionFilter=void 0;var hb=Q("zlib"),K5=bk(),ba=Ge(),Kxe=wk(),Zxe=lt(),Jxe=t=>typeof t=="number"&&typeof K5.CompressionAlgorithms[t]=="string",Hd=class{async writeMessage(e,r){let n=e;r&&(n=await this.compressMessage(n));let i=Buffer.allocUnsafe(n.length+5);return i.writeUInt8(r?1:0,0),i.writeUInt32BE(n.length,1),n.copy(i,5),i}async readMessage(e){let r=e.readUInt8(0)===1,n=e.slice(5);return r&&(n=await this.decompressMessage(n)),n}},El=class extends Hd{async compressMessage(e){return e}async writeMessage(e,r){let n=Buffer.allocUnsafe(e.length+5);return n.writeUInt8(0,0),n.writeUInt32BE(e.length,1),e.copy(n,5),n}decompressMessage(e){return Promise.reject(new Error('Received compressed message but "grpc-encoding" header was identity'))}},xk=class extends Hd{constructor(e){super(),this.maxRecvMessageLength=e}compressMessage(e){return new Promise((r,n)=>{hb.deflate(e,(i,o)=>{i?n(i):r(o)})})}decompressMessage(e){return new Promise((r,n)=>{let i=0,o=[],s=hb.createInflate();s.on("error",a=>{n({code:ba.Status.INTERNAL,details:"Failed to decompress deflate-encoded message"})}),s.on("data",a=>{o.push(a),i+=a.byteLength,this.maxRecvMessageLength!==-1&&i>this.maxRecvMessageLength&&(s.destroy(),n({code:ba.Status.RESOURCE_EXHAUSTED,details:`Received message that decompresses to a size larger than ${this.maxRecvMessageLength}`}))}),s.on("end",()=>{r(Buffer.concat(o))}),s.write(e),s.end()})}},Rk=class extends Hd{constructor(e){super(),this.maxRecvMessageLength=e}compressMessage(e){return new Promise((r,n)=>{hb.gzip(e,(i,o)=>{i?n(i):r(o)})})}decompressMessage(e){return new Promise((r,n)=>{let i=0,o=[],s=hb.createGunzip();s.on("error",a=>{n({code:ba.Status.INTERNAL,details:"Failed to decompress gzip-encoded message"})}),s.on("data",a=>{o.push(a),i+=a.byteLength,this.maxRecvMessageLength!==-1&&i>this.maxRecvMessageLength&&(s.destroy(),n({code:ba.Status.RESOURCE_EXHAUSTED,details:`Received message that decompresses to a size larger than ${this.maxRecvMessageLength}`}))}),s.on("end",()=>{r(Buffer.concat(o))}),s.write(e),s.end()})}},Ik=class extends Hd{constructor(e){super(),this.compressionName=e}compressMessage(e){return Promise.reject(new Error(`Received message compressed with unsupported compression method ${this.compressionName}`))}decompressMessage(e){return Promise.reject(new Error(`Compression method not supported: ${this.compressionName}`))}};function Y5(t,e){switch(t){case"identity":return new El;case"deflate":return new xk(e);case"gzip":return new Rk(e);default:return new Ik(t)}}var mb=class extends Kxe.BaseFilter{constructor(e,r){var n,i,o;super(),this.sharedFilterConfig=r,this.sendCompression=new El,this.receiveCompression=new El,this.currentCompressionAlgorithm="identity";let s=e["grpc.default_compression_algorithm"];if(this.maxReceiveMessageLength=(n=e["grpc.max_receive_message_length"])!==null&&n!==void 0?n:ba.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH,this.maxSendMessageLength=(i=e["grpc.max_send_message_length"])!==null&&i!==void 0?i:ba.DEFAULT_MAX_SEND_MESSAGE_LENGTH,s!==void 0)if(Jxe(s)){let a=K5.CompressionAlgorithms[s],c=(o=r.serverSupportedEncodingHeader)===null||o===void 0?void 0:o.split(",");(!c||c.includes(a))&&(this.currentCompressionAlgorithm=a,this.sendCompression=Y5(this.currentCompressionAlgorithm,-1))}else Zxe.log(ba.LogVerbosity.ERROR,`Invalid value provided for grpc.default_compression_algorithm option: ${s}`)}async sendMetadata(e){let r=await e;return r.set("grpc-accept-encoding","identity,deflate,gzip"),r.set("accept-encoding","identity"),this.currentCompressionAlgorithm==="identity"?r.remove("grpc-encoding"):r.set("grpc-encoding",this.currentCompressionAlgorithm),r}receiveMetadata(e){let r=e.get("grpc-encoding");if(r.length>0){let i=r[0];typeof i=="string"&&(this.receiveCompression=Y5(i,this.maxReceiveMessageLength))}e.remove("grpc-encoding");let n=e.get("grpc-accept-encoding")[0];return n&&(this.sharedFilterConfig.serverSupportedEncodingHeader=n,n.split(",").includes(this.currentCompressionAlgorithm)||(this.sendCompression=new El,this.currentCompressionAlgorithm="identity")),e.remove("grpc-accept-encoding"),e}async sendMessage(e){var r;let n=await e;if(this.maxSendMessageLength!==-1&&n.message.length>this.maxSendMessageLength)throw{code:ba.Status.RESOURCE_EXHAUSTED,details:`Attempted to send message with a size larger than ${this.maxSendMessageLength}`};let i;return this.sendCompression instanceof El?i=!1:i=(((r=n.flags)!==null&&r!==void 0?r:0)&2)===0,{message:await this.sendCompression.writeMessage(n.message,i),flags:n.flags}}async receiveMessage(e){return this.receiveCompression.readMessage(await e)}};Wd.CompressionFilter=mb;var Ck=class{constructor(e,r){this.options=r,this.sharedFilterConfig={}}createFilter(){return new mb(this.options,this.sharedFilterConfig)}};Wd.CompressionFilterFactory=Ck});var Dg=T(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});Ok.restrictControlPlaneStatusCode=Qxe;var co=Ge(),Xxe=[co.Status.OK,co.Status.INVALID_ARGUMENT,co.Status.NOT_FOUND,co.Status.ALREADY_EXISTS,co.Status.FAILED_PRECONDITION,co.Status.ABORTED,co.Status.OUT_OF_RANGE,co.Status.DATA_LOSS];function Qxe(t,e){return Xxe.includes(t)?{code:co.Status.INTERNAL,details:`Invalid status from control plane: ${t} ${co.Status[t]} ${e}`}:{code:t,details:e}}});var Yd=T(vl=>{"use strict";Object.defineProperty(vl,"__esModule",{value:!0});vl.minDeadline=eRe;vl.getDeadlineTimeoutString=rRe;vl.getRelativeTimeout=iRe;vl.deadlineToString=oRe;vl.formatDateDifference=sRe;function eRe(...t){let e=1/0;for(let r of t){let n=r instanceof Date?r.getTime():r;n<e&&(e=n)}return e}var tRe=[["m",1],["S",1e3],["M",60*1e3],["H",3600*1e3]];function rRe(t){let e=new Date().getTime();t instanceof Date&&(t=t.getTime());let r=Math.max(t-e,0);for(let[n,i]of tRe){let o=r/i;if(o<1e8)return String(Math.ceil(o))+n}throw new Error("Deadline is too far in the future")}var nRe=2147483647;function iRe(t){let e=t instanceof Date?t.getTime():t,r=new Date().getTime(),n=e-r;return n<0?0:n>nRe?1/0:n}function oRe(t){if(t instanceof Date)return t.toISOString();{let e=new Date(t);return Number.isNaN(e.getTime())?""+t:e.toISOString()}}function sRe(t,e){return((e.getTime()-t.getTime())/1e3).toFixed(3)+"s"}});var _b=T(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.FilterStackFactory=Kd.FilterStack=void 0;var gb=class{constructor(e){this.filters=e}sendMetadata(e){let r=e;for(let n=0;n<this.filters.length;n++)r=this.filters[n].sendMetadata(r);return r}receiveMetadata(e){let r=e;for(let n=this.filters.length-1;n>=0;n--)r=this.filters[n].receiveMetadata(r);return r}sendMessage(e){let r=e;for(let n=0;n<this.filters.length;n++)r=this.filters[n].sendMessage(r);return r}receiveMessage(e){let r=e;for(let n=this.filters.length-1;n>=0;n--)r=this.filters[n].receiveMessage(r);return r}receiveTrailers(e){let r=e;for(let n=this.filters.length-1;n>=0;n--)r=this.filters[n].receiveTrailers(r);return r}push(e){this.filters.unshift(...e)}getFilters(){return this.filters}};Kd.FilterStack=gb;var Nk=class t{constructor(e){this.factories=e}push(e){this.factories.unshift(...e)}clone(){return new t([...this.factories])}createFilter(){return new gb(this.factories.map(e=>e.createFilter()))}};Kd.FilterStackFactory=Nk});var Z5=T(Sb=>{"use strict";Object.defineProperty(Sb,"__esModule",{value:!0});Sb.SingleSubchannelChannel=void 0;var aRe=db(),Lg=Ta(),cRe=Pk(),lRe=Mr(),$g=Ge(),uRe=Dg(),dRe=Yd(),fRe=_b(),kk=Kt(),pRe=ui(),yb=kr(),Mk=class{constructor(e,r,n,i,o){var s,a;this.subchannel=e,this.method=r,this.options=i,this.callNumber=o,this.childCall=null,this.pendingMessage=null,this.readPending=!1,this.halfClosePending=!1,this.pendingStatus=null,this.readFilterPending=!1,this.writeFilterPending=!1;let c=this.method.split("/"),l="";c.length>=2&&(l=c[1]);let u=(a=(s=(0,yb.splitHostPort)(this.options.host))===null||s===void 0?void 0:s.host)!==null&&a!==void 0?a:"localhost";this.serviceUrl=`https://${u}/${l}`;let d=(0,dRe.getRelativeTimeout)(i.deadline);d!==1/0&&(d<=0?this.cancelWithStatus($g.Status.DEADLINE_EXCEEDED,"Deadline exceeded"):setTimeout(()=>{this.cancelWithStatus($g.Status.DEADLINE_EXCEEDED,"Deadline exceeded")},d)),this.filterStack=n.createFilter()}cancelWithStatus(e,r){this.childCall?this.childCall.cancelWithStatus(e,r):this.pendingStatus={code:e,details:r,metadata:new kk.Metadata}}getPeer(){var e,r;return(r=(e=this.childCall)===null||e===void 0?void 0:e.getPeer())!==null&&r!==void 0?r:this.subchannel.getAddress()}async start(e,r){if(this.pendingStatus){r.onReceiveStatus(this.pendingStatus);return}if(this.subchannel.getConnectivityState()!==lRe.ConnectivityState.READY){r.onReceiveStatus({code:$g.Status.UNAVAILABLE,details:"Subchannel not ready",metadata:new kk.Metadata});return}let n=await this.filterStack.sendMetadata(Promise.resolve(e)),i;try{i=await this.subchannel.getCallCredentials().generateMetadata({method_name:this.method,service_url:this.serviceUrl})}catch(s){let a=s,{code:c,details:l}=(0,uRe.restrictControlPlaneStatusCode)(typeof a.code=="number"?a.code:$g.Status.UNKNOWN,`Getting metadata from plugin failed with error: ${a.message}`);r.onReceiveStatus({code:c,details:l,metadata:new kk.Metadata});return}i.merge(n);let o={onReceiveMetadata:async s=>{r.onReceiveMetadata(await this.filterStack.receiveMetadata(s))},onReceiveMessage:async s=>{this.readFilterPending=!0;let a=await this.filterStack.receiveMessage(s);this.readFilterPending=!1,r.onReceiveMessage(a),this.pendingStatus&&r.onReceiveStatus(this.pendingStatus)},onReceiveStatus:async s=>{let a=await this.filterStack.receiveTrailers(s);this.readFilterPending?this.pendingStatus=a:r.onReceiveStatus(a)}};this.childCall=this.subchannel.createCall(i,this.options.host,this.method,o),this.readPending&&this.childCall.startRead(),this.pendingMessage&&this.childCall.sendMessageWithContext(this.pendingMessage.context,this.pendingMessage.message),this.halfClosePending&&!this.writeFilterPending&&this.childCall.halfClose()}async sendMessageWithContext(e,r){this.writeFilterPending=!0;let n=await this.filterStack.sendMessage(Promise.resolve({message:r,flags:e.flags}));this.writeFilterPending=!1,this.childCall?(this.childCall.sendMessageWithContext(e,n.message),this.halfClosePending&&this.childCall.halfClose()):this.pendingMessage={context:e,message:n.message}}startRead(){this.childCall?this.childCall.startRead():this.readPending=!0}halfClose(){this.childCall&&!this.writeFilterPending?this.childCall.halfClose():this.halfClosePending=!0}getCallNumber(){return this.callNumber}setCredentials(e){throw new Error("Method not implemented.")}getAuthContext(){return this.childCall?this.childCall.getAuthContext():null}},Dk=class{constructor(e,r,n){this.subchannel=e,this.target=r,this.channelzEnabled=!1,this.channelzTrace=new Lg.ChannelzTrace,this.callTracker=new Lg.ChannelzCallTracker,this.childrenTracker=new Lg.ChannelzChildrenTracker,this.channelzEnabled=n["grpc.enable_channelz"]!==0,this.channelzRef=(0,Lg.registerChannelzChannel)((0,yb.uriToString)(r),()=>({target:`${(0,yb.uriToString)(r)} (${e.getAddress()})`,state:this.subchannel.getConnectivityState(),trace:this.channelzTrace,callTracker:this.callTracker,children:this.childrenTracker.getChildLists()}),this.channelzEnabled),this.channelzEnabled&&this.childrenTracker.refChild(e.getChannelzRef()),this.filterStackFactory=new fRe.FilterStackFactory([new cRe.CompressionFilterFactory(this,n)])}close(){this.channelzEnabled&&this.childrenTracker.unrefChild(this.subchannel.getChannelzRef()),(0,Lg.unregisterChannelzRef)(this.channelzRef)}getTarget(){return(0,yb.uriToString)(this.target)}getConnectivityState(e){throw new Error("Method not implemented.")}watchConnectivityState(e,r,n){throw new Error("Method not implemented.")}getChannelzRef(){return this.channelzRef}createCall(e,r){let n={deadline:r,host:(0,pRe.getDefaultAuthority)(this.target),flags:$g.Propagate.DEFAULTS,parentCall:null};return new Mk(this.subchannel,e,this.filterStackFactory,n,(0,aRe.getNextCallNumber)())}};Sb.SingleSubchannelChannel=Dk});var J5=T(vb=>{"use strict";Object.defineProperty(vb,"__esModule",{value:!0});vb.Subchannel=void 0;var it=Mr(),hRe=Id(),Lk=lt(),Eb=Ge(),mRe=kr(),gRe=Xr(),lo=Ta(),_Re=Z5(),yRe="subchannel",SRe=~(1<<31),$k=class{constructor(e,r,n,i,o){var s;this.channelTarget=e,this.subchannelAddress=r,this.options=n,this.connector=o,this.connectivityState=it.ConnectivityState.IDLE,this.transport=null,this.continueConnecting=!1,this.stateListeners=new Set,this.refcount=0,this.channelzEnabled=!0,this.dataProducers=new Map,this.subchannelChannel=null;let a={initialDelay:n["grpc.initial_reconnect_backoff_ms"],maxDelay:n["grpc.max_reconnect_backoff_ms"]};this.backoffTimeout=new hRe.BackoffTimeout(()=>{this.handleBackoffTimer()},a),this.backoffTimeout.unref(),this.subchannelAddressString=(0,gRe.subchannelAddressToString)(r),this.keepaliveTime=(s=n["grpc.keepalive_time_ms"])!==null&&s!==void 0?s:-1,n["grpc.enable_channelz"]===0?(this.channelzEnabled=!1,this.channelzTrace=new lo.ChannelzTraceStub,this.callTracker=new lo.ChannelzCallTrackerStub,this.childrenTracker=new lo.ChannelzChildrenTrackerStub,this.streamTracker=new lo.ChannelzCallTrackerStub):(this.channelzTrace=new lo.ChannelzTrace,this.callTracker=new lo.ChannelzCallTracker,this.childrenTracker=new lo.ChannelzChildrenTracker,this.streamTracker=new lo.ChannelzCallTracker),this.channelzRef=(0,lo.registerChannelzSubchannel)(this.subchannelAddressString,()=>this.getChannelzInfo(),this.channelzEnabled),this.channelzTrace.addTrace("CT_INFO","Subchannel created"),this.trace("Subchannel constructed with options "+JSON.stringify(n,void 0,2)),this.secureConnector=i._createSecureConnector(e,n)}getChannelzInfo(){return{state:this.connectivityState,trace:this.channelzTrace,callTracker:this.callTracker,children:this.childrenTracker.getChildLists(),target:this.subchannelAddressString}}trace(e){Lk.trace(Eb.LogVerbosity.DEBUG,yRe,"("+this.channelzRef.id+") "+this.subchannelAddressString+" "+e)}refTrace(e){Lk.trace(Eb.LogVerbosity.DEBUG,"subchannel_refcount","("+this.channelzRef.id+") "+this.subchannelAddressString+" "+e)}handleBackoffTimer(){this.continueConnecting?this.transitionToState([it.ConnectivityState.TRANSIENT_FAILURE],it.ConnectivityState.CONNECTING):this.transitionToState([it.ConnectivityState.TRANSIENT_FAILURE],it.ConnectivityState.IDLE)}startBackoff(){this.backoffTimeout.runOnce()}stopBackoff(){this.backoffTimeout.stop(),this.backoffTimeout.reset()}startConnectingInternal(){let e=this.options;if(e["grpc.keepalive_time_ms"]){let r=Math.min(this.keepaliveTime,SRe);e=Object.assign(Object.assign({},e),{"grpc.keepalive_time_ms":r})}this.connector.connect(this.subchannelAddress,this.secureConnector,e).then(r=>{this.transitionToState([it.ConnectivityState.CONNECTING],it.ConnectivityState.READY)?(this.transport=r,this.channelzEnabled&&this.childrenTracker.refChild(r.getChannelzRef()),r.addDisconnectListener(n=>{this.transitionToState([it.ConnectivityState.READY],it.ConnectivityState.IDLE),n&&this.keepaliveTime>0&&(this.keepaliveTime*=2,Lk.log(Eb.LogVerbosity.ERROR,`Connection to ${(0,mRe.uriToString)(this.channelTarget)} at ${this.subchannelAddressString} rejected by server because of excess pings. Increasing ping interval to ${this.keepaliveTime} ms`))})):r.shutdown()},r=>{this.transitionToState([it.ConnectivityState.CONNECTING],it.ConnectivityState.TRANSIENT_FAILURE,`${r}`)})}transitionToState(e,r,n){var i,o;if(e.indexOf(this.connectivityState)===-1)return!1;n?this.trace(it.ConnectivityState[this.connectivityState]+" -> "+it.ConnectivityState[r]+' with error "'+n+'"'):this.trace(it.ConnectivityState[this.connectivityState]+" -> "+it.ConnectivityState[r]),this.channelzEnabled&&this.channelzTrace.addTrace("CT_INFO","Connectivity state change to "+it.ConnectivityState[r]);let s=this.connectivityState;switch(this.connectivityState=r,r){case it.ConnectivityState.READY:this.stopBackoff();break;case it.ConnectivityState.CONNECTING:this.startBackoff(),this.startConnectingInternal(),this.continueConnecting=!1;break;case it.ConnectivityState.TRANSIENT_FAILURE:this.channelzEnabled&&this.transport&&this.childrenTracker.unrefChild(this.transport.getChannelzRef()),(i=this.transport)===null||i===void 0||i.shutdown(),this.transport=null,this.backoffTimeout.isRunning()||process.nextTick(()=>{this.handleBackoffTimer()});break;case it.ConnectivityState.IDLE:this.channelzEnabled&&this.transport&&this.childrenTracker.unrefChild(this.transport.getChannelzRef()),(o=this.transport)===null||o===void 0||o.shutdown(),this.transport=null;break;default:throw new Error(`Invalid state: unknown ConnectivityState ${r}`)}for(let a of this.stateListeners)a(this,s,r,this.keepaliveTime,n);return!0}ref(){this.refTrace("refcount "+this.refcount+" -> "+(this.refcount+1)),this.refcount+=1}unref(){this.refTrace("refcount "+this.refcount+" -> "+(this.refcount-1)),this.refcount-=1,this.refcount===0&&(this.channelzTrace.addTrace("CT_INFO","Shutting down"),(0,lo.unregisterChannelzRef)(this.channelzRef),this.secureConnector.destroy(),process.nextTick(()=>{this.transitionToState([it.ConnectivityState.CONNECTING,it.ConnectivityState.READY],it.ConnectivityState.IDLE)}))}unrefIfOneRef(){return this.refcount===1?(this.unref(),!0):!1}createCall(e,r,n,i){if(!this.transport)throw new Error("Cannot create call, subchannel not READY");let o;return this.channelzEnabled?(this.callTracker.addCallStarted(),this.streamTracker.addCallStarted(),o={onCallEnd:s=>{s.code===Eb.Status.OK?this.callTracker.addCallSucceeded():this.callTracker.addCallFailed()}}):o={},this.transport.createCall(e,r,n,i,o)}startConnecting(){process.nextTick(()=>{this.transitionToState([it.ConnectivityState.IDLE],it.ConnectivityState.CONNECTING)||this.connectivityState===it.ConnectivityState.TRANSIENT_FAILURE&&(this.continueConnecting=!0)})}getConnectivityState(){return this.connectivityState}addConnectivityStateListener(e){this.stateListeners.add(e)}removeConnectivityStateListener(e){this.stateListeners.delete(e)}resetBackoff(){process.nextTick(()=>{this.backoffTimeout.reset(),this.transitionToState([it.ConnectivityState.TRANSIENT_FAILURE],it.ConnectivityState.CONNECTING)})}getAddress(){return this.subchannelAddressString}getChannelzRef(){return this.channelzRef}isHealthy(){return!0}addHealthStateWatcher(e){}removeHealthStateWatcher(e){}getRealSubchannel(){return this}realSubchannelEquals(e){return e.getRealSubchannel()===this}throttleKeepalive(e){e>this.keepaliveTime&&(this.keepaliveTime=e)}getCallCredentials(){return this.secureConnector.getCallCredentials()}getChannel(){return this.subchannelChannel||(this.subchannelChannel=new _Re.SingleSubchannelChannel(this,this.channelTarget,this.options)),this.subchannelChannel}addDataWatcher(e){throw new Error("Not implemented")}getOrCreateDataProducer(e,r){let n=this.dataProducers.get(e);if(n)return n;let i=r(this);return this.dataProducers.set(e,i),i}removeDataProducer(e){this.dataProducers.delete(e)}};vb.Subchannel=$k});var X5=T(Tb=>{"use strict";var Uk;Object.defineProperty(Tb,"__esModule",{value:!0});Tb.GRPC_NODE_USE_ALTERNATIVE_RESOLVER=void 0;Tb.GRPC_NODE_USE_ALTERNATIVE_RESOLVER=((Uk=process.env.GRPC_NODE_USE_ALTERNATIVE_RESOLVER)!==null&&Uk!==void 0?Uk:"false")==="true"});var zk=T(Tl=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});Tl.DEFAULT_PORT=void 0;Tl.setup=RRe;var Q5=ui(),Fk=Q("dns"),ERe=LO(),Bk=Ge(),Zd=ul(),vRe=Kt(),TRe=lt(),bRe=Ge(),Aa=kr(),e9=Q("net"),ARe=Id(),t9=X5(),wRe="dns_resolver";function uo(t){TRe.trace(bRe.LogVerbosity.DEBUG,wRe,t)}Tl.DEFAULT_PORT=443;var xRe=3e4,jk=class{constructor(e,r,n){var i,o,s;this.target=e,this.listener=r,this.pendingLookupPromise=null,this.pendingTxtPromise=null,this.latestLookupResult=null,this.latestServiceConfigResult=null,this.continueResolving=!1,this.isNextResolutionTimerRunning=!1,this.isServiceConfigEnabled=!0,this.returnedIpResult=!1,this.alternativeResolver=new Fk.promises.Resolver,uo("Resolver constructed for target "+(0,Aa.uriToString)(e)),e.authority&&this.alternativeResolver.setServers([e.authority]);let a=(0,Aa.splitHostPort)(e.path);a===null?(this.ipResult=null,this.dnsHostname=null,this.port=null):(0,e9.isIPv4)(a.host)||(0,e9.isIPv6)(a.host)?(this.ipResult=[{addresses:[{host:a.host,port:(i=a.port)!==null&&i!==void 0?i:Tl.DEFAULT_PORT}]}],this.dnsHostname=null,this.port=null):(this.ipResult=null,this.dnsHostname=a.host,this.port=(o=a.port)!==null&&o!==void 0?o:Tl.DEFAULT_PORT),this.percentage=Math.random()*100,n["grpc.service_config_disable_resolution"]===1&&(this.isServiceConfigEnabled=!1),this.defaultResolutionError={code:Bk.Status.UNAVAILABLE,details:`Name resolution failed for target ${(0,Aa.uriToString)(this.target)}`,metadata:new vRe.Metadata};let c={initialDelay:n["grpc.initial_reconnect_backoff_ms"],maxDelay:n["grpc.max_reconnect_backoff_ms"]};this.backoff=new ARe.BackoffTimeout(()=>{this.continueResolving&&this.startResolutionWithBackoff()},c),this.backoff.unref(),this.minTimeBetweenResolutionsMs=(s=n["grpc.dns_min_time_between_resolutions_ms"])!==null&&s!==void 0?s:xRe,this.nextResolutionTimer=setTimeout(()=>{},0),clearTimeout(this.nextResolutionTimer)}startResolution(){if(this.ipResult!==null){this.returnedIpResult||(uo("Returning IP address for target "+(0,Aa.uriToString)(this.target)),setImmediate(()=>{this.listener((0,Zd.statusOrFromValue)(this.ipResult),{},null,"")}),this.returnedIpResult=!0),this.backoff.stop(),this.backoff.reset(),this.stopNextResolutionTimer();return}if(this.dnsHostname===null)uo("Failed to parse DNS address "+(0,Aa.uriToString)(this.target)),setImmediate(()=>{this.listener((0,Zd.statusOrFromError)({code:Bk.Status.UNAVAILABLE,details:`Failed to parse DNS address ${(0,Aa.uriToString)(this.target)}`}),{},null,"")}),this.stopNextResolutionTimer();else{if(this.pendingLookupPromise!==null)return;uo("Looking up DNS hostname "+this.dnsHostname),this.latestLookupResult=null;let e=this.dnsHostname;this.pendingLookupPromise=this.lookup(e),this.pendingLookupPromise.then(r=>{if(this.pendingLookupPromise===null)return;this.pendingLookupPromise=null,this.latestLookupResult=(0,Zd.statusOrFromValue)(r.map(o=>({addresses:[o]})));let n="["+r.map(o=>o.host+":"+o.port).join(",")+"]";uo("Resolved addresses for target "+(0,Aa.uriToString)(this.target)+": "+n);let i=this.listener(this.latestLookupResult,{},this.latestServiceConfigResult,"");this.handleHealthStatus(i)},r=>{this.pendingLookupPromise!==null&&(uo("Resolution error for target "+(0,Aa.uriToString)(this.target)+": "+r.message),this.pendingLookupPromise=null,this.stopNextResolutionTimer(),this.listener((0,Zd.statusOrFromError)(this.defaultResolutionError),{},this.latestServiceConfigResult,""))}),this.isServiceConfigEnabled&&this.pendingTxtPromise===null&&(this.pendingTxtPromise=this.resolveTxt(e),this.pendingTxtPromise.then(r=>{if(this.pendingTxtPromise===null)return;this.pendingTxtPromise=null;let n;try{n=(0,ERe.extractAndSelectServiceConfig)(r,this.percentage),n?this.latestServiceConfigResult=(0,Zd.statusOrFromValue)(n):this.latestServiceConfigResult=null}catch(i){this.latestServiceConfigResult=(0,Zd.statusOrFromError)({code:Bk.Status.UNAVAILABLE,details:`Parsing service config failed with error ${i.message}`})}this.latestLookupResult!==null&&this.listener(this.latestLookupResult,{},this.latestServiceConfigResult,"")},r=>{}))}}handleHealthStatus(e){e?(this.backoff.stop(),this.backoff.reset()):this.continueResolving=!0}async lookup(e){if(t9.GRPC_NODE_USE_ALTERNATIVE_RESOLVER){uo("Using alternative DNS resolver.");let n=await Promise.allSettled([this.alternativeResolver.resolve4(e),this.alternativeResolver.resolve6(e)]);if(n.every(i=>i.status==="rejected"))throw new Error(n[0].reason);return n.reduce((i,o)=>o.status==="fulfilled"?[...i,...o.value]:i,[]).map(i=>({host:i,port:+this.port}))}return(await Fk.promises.lookup(e,{all:!0})).map(n=>({host:n.address,port:+this.port}))}async resolveTxt(e){return t9.GRPC_NODE_USE_ALTERNATIVE_RESOLVER?(uo("Using alternative DNS resolver."),this.alternativeResolver.resolveTxt(e)):Fk.promises.resolveTxt(e)}startNextResolutionTimer(){var e,r;clearTimeout(this.nextResolutionTimer),this.nextResolutionTimer=setTimeout(()=>{this.stopNextResolutionTimer(),this.continueResolving&&this.startResolutionWithBackoff()},this.minTimeBetweenResolutionsMs),(r=(e=this.nextResolutionTimer).unref)===null||r===void 0||r.call(e),this.isNextResolutionTimerRunning=!0}stopNextResolutionTimer(){clearTimeout(this.nextResolutionTimer),this.isNextResolutionTimerRunning=!1}startResolutionWithBackoff(){this.pendingLookupPromise===null&&(this.continueResolving=!1,this.backoff.runOnce(),this.startNextResolutionTimer(),this.startResolution())}updateResolution(){this.pendingLookupPromise===null&&(this.isNextResolutionTimerRunning||this.backoff.isRunning()?(this.isNextResolutionTimerRunning?uo('resolution update delayed by "min time between resolutions" rate limit'):uo("resolution update delayed by backoff timer until "+this.backoff.getEndTime().toISOString()),this.continueResolving=!0):this.startResolutionWithBackoff())}destroy(){this.continueResolving=!1,this.backoff.reset(),this.backoff.stop(),this.stopNextResolutionTimer(),this.pendingLookupPromise=null,this.pendingTxtPromise=null,this.latestLookupResult=null,this.latestServiceConfigResult=null,this.returnedIpResult=!1}static getDefaultAuthority(e){return e.path}};function RRe(){(0,Q5.registerResolver)("dns",jk),(0,Q5.registerDefaultScheme)("dns")}});var Gk=T(Bg=>{"use strict";Object.defineProperty(Bg,"__esModule",{value:!0});Bg.parseCIDR=i9;Bg.mapProxyName=$Re;Bg.getProxiedConnection=URe;var Ug=lt(),Jd=Ge(),n9=Q("net"),IRe=Q("http"),CRe=lt(),r9=Xr(),Fg=kr(),PRe=Q("url"),ORe=zk(),NRe="proxy";function Xd(t){CRe.trace(Jd.LogVerbosity.DEBUG,NRe,t)}function kRe(){let t="",e="";if(process.env.grpc_proxy)e="grpc_proxy",t=process.env.grpc_proxy;else if(process.env.https_proxy)e="https_proxy",t=process.env.https_proxy;else if(process.env.http_proxy)e="http_proxy",t=process.env.http_proxy;else return{};let r;try{r=new PRe.URL(t)}catch{return(0,Ug.log)(Jd.LogVerbosity.ERROR,`cannot parse value of "${e}" env var`),{}}if(r.protocol!=="http:")return(0,Ug.log)(Jd.LogVerbosity.ERROR,`"${r.protocol}" scheme not supported in proxy URI`),{};let n=null;r.username&&(r.password?((0,Ug.log)(Jd.LogVerbosity.INFO,"userinfo found in proxy URI"),n=decodeURIComponent(`${r.username}:${r.password}`)):n=r.username);let i=r.hostname,o=r.port;o===""&&(o="80");let s={address:`${i}:${o}`};return n&&(s.creds=n),Xd("Proxy server "+s.address+" set by environment variable "+e),s}function MRe(){let t=process.env.no_grpc_proxy,e="no_grpc_proxy";return t||(t=process.env.no_proxy,e="no_proxy"),t?(Xd("No proxy server list set by environment variable "+e),t.split(",")):[]}function i9(t){let e=t.split("/");if(e.length!==2)return null;let r=parseInt(e[1],10);return!(0,n9.isIPv4)(e[0])||Number.isNaN(r)||r<0||r>32?null:{ip:o9(e[0]),prefixLength:r}}function o9(t){return t.split(".").reduce((e,r)=>(e<<8)+parseInt(r,10),0)}function DRe(t,e){let r=t.ip,n=-1<<32-t.prefixLength;return(o9(e)&n)===(r&n)}function LRe(t){for(let e of MRe()){let r=i9(e);if((0,n9.isIPv4)(t)&&r&&DRe(r,t))return!0;if(t.endsWith(e))return!0}return!1}function $Re(t,e){var r;let n={target:t,extraOptions:{}};if(((r=e["grpc.enable_http_proxy"])!==null&&r!==void 0?r:1)===0||t.scheme==="unix")return n;let i=kRe();if(!i.address)return n;let o=(0,Fg.splitHostPort)(t.path);if(!o)return n;let s=o.host;if(LRe(s))return Xd("Not using proxy for target in no_proxy list: "+(0,Fg.uriToString)(t)),n;let a={"grpc.http_connect_target":(0,Fg.uriToString)(t)};return i.creds&&(a["grpc.http_connect_creds"]=i.creds),{target:{scheme:"dns",path:i.address},extraOptions:a}}function URe(t,e){var r;if(!("grpc.http_connect_target"in e))return Promise.resolve(null);let n=e["grpc.http_connect_target"],i=(0,Fg.parseUri)(n);if(i===null)return Promise.resolve(null);let o=(0,Fg.splitHostPort)(i.path);if(o===null)return Promise.resolve(null);let s=`${o.host}:${(r=o.port)!==null&&r!==void 0?r:ORe.DEFAULT_PORT}`,a={method:"CONNECT",path:s},c={Host:s};(0,r9.isTcpSubchannelAddress)(t)?(a.host=t.host,a.port=t.port):a.socketPath=t.path,"grpc.http_connect_creds"in e&&(c["Proxy-Authorization"]="Basic "+Buffer.from(e["grpc.http_connect_creds"]).toString("base64")),a.headers=c;let l=(0,r9.subchannelAddressToString)(t);return Xd("Using proxy "+l+" to connect to "+a.path),new Promise((u,d)=>{let f=IRe.request(a);f.once("connect",(p,h,m)=>{f.removeAllListeners(),h.removeAllListeners(),p.statusCode===200?(Xd("Successfully connected to "+a.path+" through proxy "+l),m.length>0&&h.unshift(m),Xd("Successfully established a plaintext connection to "+a.path+" through proxy "+l),u(h)):((0,Ug.log)(Jd.LogVerbosity.ERROR,"Failed to connect to "+a.path+" through proxy "+l+" with status "+p.statusCode),d())}),f.once("error",p=>{f.removeAllListeners(),(0,Ug.log)(Jd.LogVerbosity.ERROR,"Failed to connect to proxy "+l+" with error "+p.message),d()}),f.end()})}});var Vk=T(bb=>{"use strict";Object.defineProperty(bb,"__esModule",{value:!0});bb.StreamDecoder=void 0;var fo;(function(t){t[t.NO_DATA=0]="NO_DATA",t[t.READING_SIZE=1]="READING_SIZE",t[t.READING_MESSAGE=2]="READING_MESSAGE"})(fo||(fo={}));var qk=class{constructor(e){this.maxReadMessageLength=e,this.readState=fo.NO_DATA,this.readCompressFlag=Buffer.alloc(1),this.readPartialSize=Buffer.alloc(4),this.readSizeRemaining=4,this.readMessageSize=0,this.readPartialMessage=[],this.readMessageRemaining=0}write(e){let r=0,n,i=[];for(;r<e.length;)switch(this.readState){case fo.NO_DATA:this.readCompressFlag=e.slice(r,r+1),r+=1,this.readState=fo.READING_SIZE,this.readPartialSize.fill(0),this.readSizeRemaining=4,this.readMessageSize=0,this.readMessageRemaining=0,this.readPartialMessage=[];break;case fo.READING_SIZE:if(n=Math.min(e.length-r,this.readSizeRemaining),e.copy(this.readPartialSize,4-this.readSizeRemaining,r,r+n),this.readSizeRemaining-=n,r+=n,this.readSizeRemaining===0){if(this.readMessageSize=this.readPartialSize.readUInt32BE(0),this.maxReadMessageLength!==-1&&this.readMessageSize>this.maxReadMessageLength)throw new Error(`Received message larger than max (${this.readMessageSize} vs ${this.maxReadMessageLength})`);if(this.readMessageRemaining=this.readMessageSize,this.readMessageRemaining>0)this.readState=fo.READING_MESSAGE;else{let o=Buffer.concat([this.readCompressFlag,this.readPartialSize],5);this.readState=fo.NO_DATA,i.push(o)}}break;case fo.READING_MESSAGE:if(n=Math.min(e.length-r,this.readMessageRemaining),this.readPartialMessage.push(e.slice(r,r+n)),this.readMessageRemaining-=n,r+=n,this.readMessageRemaining===0){let o=[this.readCompressFlag,this.readPartialSize].concat(this.readPartialMessage),s=Buffer.concat(o,this.readMessageSize+5);this.readState=fo.NO_DATA,i.push(s)}break;default:throw new Error("Unexpected read state")}return i}};bb.StreamDecoder=qk});var s9=T(Ab=>{"use strict";Object.defineProperty(Ab,"__esModule",{value:!0});Ab.Http2SubchannelCall=void 0;var os=Q("http2"),FRe=Q("os"),ot=Ge(),ss=Kt(),BRe=Vk(),jRe=lt(),zRe=Ge(),GRe="subchannel_call";function qRe(t){for(let[e,r]of Object.entries(FRe.constants.errno))if(r===t)return e;return"Unknown system error "+t}function Hk(t){let e=`Received HTTP status code ${t}`,r;switch(t){case 400:r=ot.Status.INTERNAL;break;case 401:r=ot.Status.UNAUTHENTICATED;break;case 403:r=ot.Status.PERMISSION_DENIED;break;case 404:r=ot.Status.UNIMPLEMENTED;break;case 429:case 502:case 503:case 504:r=ot.Status.UNAVAILABLE;break;default:r=ot.Status.UNKNOWN}return{code:r,details:e,metadata:new ss.Metadata}}var Wk=class{constructor(e,r,n,i,o){var s;this.http2Stream=e,this.callEventTracker=r,this.listener=n,this.transport=i,this.callId=o,this.isReadFilterPending=!1,this.isPushPending=!1,this.canPush=!1,this.readsClosed=!1,this.statusOutput=!1,this.unpushedReadMessages=[],this.finalStatus=null,this.internalError=null,this.serverEndedCall=!1,this.connectionDropped=!1;let a=(s=i.getOptions()["grpc.max_receive_message_length"])!==null&&s!==void 0?s:ot.DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH;this.decoder=new BRe.StreamDecoder(a),e.on("response",(c,l)=>{let u="";for(let d of Object.keys(c))u+=" "+d+": "+c[d]+`
18
18
  `;if(this.trace(`Received server headers:
19
19
  `+u),this.httpStatusCode=c[":status"],l&os.constants.NGHTTP2_FLAG_END_STREAM)this.handleTrailers(c);else{let d;try{d=ss.Metadata.fromHttp2Headers(c)}catch(f){this.endCall({code:ot.Status.UNKNOWN,details:f.message,metadata:new ss.Metadata});return}this.listener.onReceiveMetadata(d)}}),e.on("trailers",c=>{this.handleTrailers(c)}),e.on("data",c=>{if(this.statusOutput)return;this.trace("receive HTTP/2 data frame of length "+c.length);let l;try{l=this.decoder.write(c)}catch(u){if(this.httpStatusCode!==void 0&&this.httpStatusCode!==200){let d=Hk(this.httpStatusCode);this.cancelWithStatus(d.code,d.details)}else this.cancelWithStatus(ot.Status.RESOURCE_EXHAUSTED,u.message);return}for(let u of l)this.trace("parsed message of length "+u.length),this.callEventTracker.addMessageReceived(),this.tryPush(u)}),e.on("end",()=>{this.readsClosed=!0,this.maybeOutputStatus()}),e.on("close",()=>{this.serverEndedCall=!0,process.nextTick(()=>{var c;if(this.trace("HTTP/2 stream closed with code "+e.rstCode),((c=this.finalStatus)===null||c===void 0?void 0:c.code)===ot.Status.OK)return;let l,u="";switch(e.rstCode){case os.constants.NGHTTP2_NO_ERROR:if(this.finalStatus!==null)return;if(this.httpStatusCode&&this.httpStatusCode!==200){let d=Hk(this.httpStatusCode);l=d.code,u=d.details}else l=ot.Status.INTERNAL,u=`Received RST_STREAM with code ${e.rstCode} (Call ended without gRPC status)`;break;case os.constants.NGHTTP2_REFUSED_STREAM:l=ot.Status.UNAVAILABLE,u="Stream refused by server";break;case os.constants.NGHTTP2_CANCEL:this.connectionDropped?(l=ot.Status.UNAVAILABLE,u="Connection dropped"):(l=ot.Status.CANCELLED,u="Call cancelled");break;case os.constants.NGHTTP2_ENHANCE_YOUR_CALM:l=ot.Status.RESOURCE_EXHAUSTED,u="Bandwidth exhausted or memory limit exceeded";break;case os.constants.NGHTTP2_INADEQUATE_SECURITY:l=ot.Status.PERMISSION_DENIED,u="Protocol not secure enough";break;case os.constants.NGHTTP2_INTERNAL_ERROR:l=ot.Status.INTERNAL,this.internalError===null?u=`Received RST_STREAM with code ${e.rstCode} (Internal server error)`:this.internalError.code==="ECONNRESET"||this.internalError.code==="ETIMEDOUT"?(l=ot.Status.UNAVAILABLE,u=this.internalError.message):u=`Received RST_STREAM with code ${e.rstCode} triggered by internal client error: ${this.internalError.message}`;break;default:l=ot.Status.INTERNAL,u=`Received RST_STREAM with code ${e.rstCode}`}this.endCall({code:l,details:u,metadata:new ss.Metadata,rstCode:e.rstCode})})}),e.on("error",c=>{c.code!=="ERR_HTTP2_STREAM_ERROR"&&(this.trace("Node error event: message="+c.message+" code="+c.code+" errno="+qRe(c.errno)+" syscall="+c.syscall),this.internalError=c),this.callEventTracker.onStreamEnd(!1)})}getDeadlineInfo(){return[`remote_addr=${this.getPeer()}`]}onDisconnect(){this.connectionDropped=!0,setImmediate(()=>{this.endCall({code:ot.Status.UNAVAILABLE,details:"Connection dropped",metadata:new ss.Metadata})})}outputStatus(){this.statusOutput||(this.statusOutput=!0,this.trace("ended with status: code="+this.finalStatus.code+' details="'+this.finalStatus.details+'"'),this.callEventTracker.onCallEnd(this.finalStatus),process.nextTick(()=>{this.listener.onReceiveStatus(this.finalStatus)}),this.http2Stream.resume())}trace(e){jRe.trace(zRe.LogVerbosity.DEBUG,GRe,"["+this.callId+"] "+e)}endCall(e){(this.finalStatus===null||this.finalStatus.code===ot.Status.OK)&&(this.finalStatus=e,this.maybeOutputStatus()),this.destroyHttp2Stream()}maybeOutputStatus(){this.finalStatus!==null&&(this.finalStatus.code!==ot.Status.OK||this.readsClosed&&this.unpushedReadMessages.length===0&&!this.isReadFilterPending&&!this.isPushPending)&&this.outputStatus()}push(e){this.trace("pushing to reader message of length "+(e instanceof Buffer?e.length:null)),this.canPush=!1,this.isPushPending=!0,process.nextTick(()=>{this.isPushPending=!1,!this.statusOutput&&(this.listener.onReceiveMessage(e),this.maybeOutputStatus())})}tryPush(e){this.canPush?(this.http2Stream.pause(),this.push(e)):(this.trace("unpushedReadMessages.push message of length "+e.length),this.unpushedReadMessages.push(e))}handleTrailers(e){this.serverEndedCall=!0,this.callEventTracker.onStreamEnd(!0);let r="";for(let s of Object.keys(e))r+=" "+s+": "+e[s]+`
20
20
  `;this.trace(`Received server trailers:
@@ -112,7 +112,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
112
112
  `,LF:`
113
113
  `,concatBytes:t$},X$e=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},Q$e={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:X$e};import{Buffer as e1e}from"buffer";var kre=(t,e)=>t?void 0:t1e.bind(void 0,e),t1e=function*(t,e){if(typeof e!="string"&&!jt(e)&&!e1e.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Mre=(t,e)=>t?r1e.bind(void 0,e):n1e.bind(void 0,e),r1e=function*(t,e){Dre(t,e),yield e},n1e=function*(t,e){if(Dre(t,e),typeof e!="string"&&!jt(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Dre=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
114
114
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
115
- if (condition) { yield value; }`)};import{Buffer as i1e}from"buffer";import{StringDecoder as o1e}from"string_decoder";var Ow=(t,e,r)=>{if(r)return;if(t)return{transform:s1e.bind(void 0,new TextEncoder)};let n=new o1e(e);return{transform:a1e.bind(void 0,n),final:c1e.bind(void 0,n)}},s1e=function*(t,e){i1e.isBuffer(e)?yield ms(e):typeof e=="string"?yield t.encode(e):yield e},a1e=function*(t,e){yield jt(e)?t.write(e):e},c1e=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Lre}from"util";var n$=Lre(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),Nw=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=u1e}=e[r];for await(let i of n(t))yield*Nw(i,e,r+1)},$re=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*l1e(r,Number(e),t)},l1e=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*Nw(n,r,e+1)},Ure=Lre(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),u1e=function*(t){yield t};var i$=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Fre=(t,e)=>[...e.flatMap(r=>[...Fl(r,t,0)]),...U_(t)],Fl=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=f1e}=e[r];for(let i of n(t))yield*Fl(i,e,r+1)},U_=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*d1e(r,Number(e),t)},d1e=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Fl(n,r,e+1)},f1e=function*(t){yield t};var o$=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=jre(t,s,o),l=Ul(e),u=Ul(r),d=l?n$.bind(void 0,Nw,a):i$.bind(void 0,Fl),f=l||u?n$.bind(void 0,$re,a):i$.bind(void 0,U_),p=l||u?Ure.bind(void 0,a):void 0;return{stream:new p1e({writableObjectMode:n,writableHighWaterMark:Bre(n),readableObjectMode:i,readableHighWaterMark:Bre(i),transform(m,S,E){d([m,c,0],this,E)},flush(m){f([c],this,m)},destroy:p})}},kw=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=jre(s,r,a);t=Fre(c,t)}return t},jre=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:kre(n,a)},Ow(r,s,n),Pw(r,o,n,c),{transform:t,final:e},{transform:Mre(i,a)},Nre({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var zre=(t,e)=>{for(let r of h1e(t))m1e(t,r,e)},h1e=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),m1e=(t,e,r)=>{let{stdioItems:n}=t[e],i=n.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(e!==0){let[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${$a[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>g1e(a,n));r.input=I_(s)},g1e=(t,e)=>{let r=kw(t,e,"utf8",!0);return _1e(r),I_(r)},_1e=t=>{let e=t.find(r=>typeof r!="string"&&!jt(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as v1e,appendFileSync as T1e}from"fs";var Mw=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Ef(r,n)&&!Tn.has(e)&&y1e(n)&&(t.some(({type:i,value:o})=>i==="native"&&S1e.has(o))||t.every(({type:i})=>Qn.has(i))),y1e=t=>t===1||t===2,S1e=new Set(["pipe","overlapped"]),Gre=async(t,e,r,n)=>{for await(let i of t)E1e(e)||Vre(i,r,n)},qre=(t,e,r)=>{for(let n of t)Vre(n,e,r)},E1e=t=>t._readableState.pipes.length>0,Vre=(t,e,r)=>{let n=YA(t);go({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Hre=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>b1e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},b1e=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=Wte(t,o,d),p=ms(f),{stdioItems:h,objectMode:m}=e[r],S=A1e([p],h,c,n),{serializedResult:E,finalResult:b=E}=w1e({chunks:S,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});x1e({serializedResult:E,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let A=a[r]?b:void 0;try{return n.error===void 0&&R1e(E,h,i),A}catch(y){return n.error=y,A}},A1e=(t,e,r,n)=>{try{return kw(t,e,r,!1)}catch(i){return n.error=i,t}},w1e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:I_(t)};let s=a7(t,r);return n[o]?{serializedResult:s,finalResult:r$(s,!i[o],e)}:{serializedResult:s}},x1e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!Mw({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=r$(t,!1,s);try{qre(a,e,n)}catch(c){r.error??=c}},R1e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>Iw.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?T1e(n,t):(r.add(o),v1e(n,t))}};var Wre=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,ys(e,r,"all")]:Array.isArray(e)?[ys(t,r,"all"),...e]:jt(t)&&jt(e)?dL([t,e]):`${t}${e}`};import{once as s$}from"events";var Yre=async(t,e)=>{let[r,n]=await I1e(t);return e.isForcefullyTerminated??=!1,[r,n]},I1e=async t=>{let[e,r]=await Promise.allSettled([s$(t,"spawn"),s$(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Kre(t):r.value},Kre=async t=>{try{return await s$(t,"exit")}catch{return Kre(t)}},Zre=async t=>{let[e,r]=await t;if(!C1e(e,r)&&a$(e,r))throw new Pi;return[e,r]},C1e=(t,e)=>t===void 0&&e===void 0,a$=(t,e)=>t!==0||e!==null;var Jre=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=P1e(t,e,r),s=o?.code==="ETIMEDOUT",a=Hte(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},P1e=(t,e,r)=>t!==void 0?t:a$(e,r)?new Pi:void 0;var Xre=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=N1e(t,e,r),d=D1e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Pf(d,c,l)},N1e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=ZA(t,e,r),a=k1e(r),{file:c,commandArguments:l,options:u}=gw(t,e,a);M1e(u);let d=Ire(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},k1e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,M1e=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&Dw("ipcInput"),t&&Dw("ipc: true"),r&&Dw("detached: true"),n&&Dw("cancelSignal")},Dw=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},D1e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=L1e({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=Jre(c,r),{output:h,error:m=l}=Hre({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),S=h.map((b,A)=>ys(b,r,A)),E=ys(Wre(h,r),r,"all");return U1e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:S,all:E,options:r,command:n,escapedCommand:i,startTime:a})},L1e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{zre(o,r);let a=$1e(r);return O1e(..._w(t,e,a))}catch(a){return Cf({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},$1e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:Aw(e)}),U1e=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?ww({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):$_({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as wFe}from"events";import{spawn as xFe}from"child_process";import nne from"process";import{once as c$,on as F1e}from"events";var Qre=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(bf({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:uw(t)}),B1e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),B1e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{sw(e,i);let o=La(t,e,r),s=new AbortController;try{return await Promise.race([j1e(o,n,s),z1e(o,r,s),G1e(o,r,s)])}catch(a){throw Af(t),a}finally{s.abort(),aw(e,i)}},j1e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await c$(t,"message",{signal:r});return n}for await(let[n]of F1e(t,"message",{signal:r}))if(e(n))return n},z1e=async(t,e,{signal:r})=>{await c$(t,"disconnect",{signal:r}),Fee(e)},G1e=async(t,e,{signal:r})=>{let[n]=await c$(t,"strict:error",{signal:r});throw nw(n,e)};import{once as tne,on as q1e}from"events";var rne=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>l$({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),l$=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{bf({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:uw(t)}),sw(e,o);let s=La(t,e,r),a=new AbortController,c={};return V1e(t,s,a),H1e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),W1e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},V1e=async(t,e,r)=>{try{await tne(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},H1e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await tne(t,"strict:error",{signal:r.signal});n.error=nw(i,e),r.abort()}catch{}},W1e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of q1e(r,"message",{signal:o.signal}))ene(s),yield c}catch{ene(s)}finally{o.abort(),aw(e,a),n||Af(t),i&&await t}},ene=({error:t})=>{if(t)throw t};var ine=(t,{ipc:e})=>{Object.assign(t,sne(t,!1,e))},one=()=>{let t=nne,e=!0,r=nne.channel!==void 0;return{...sne(t,e,r),getCancelSignal:fte.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},sne=(t,e,r)=>({sendMessage:hw.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Qre.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:rne.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as Y1e}from"child_process";import{PassThrough as K1e,Readable as Z1e,Writable as J1e,Duplex as X1e}from"stream";var ane=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{QL(n);let a=new Y1e;Q1e(a,n),Object.assign(a,{readable:eUe,writable:tUe,duplex:rUe});let c=Cf({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=nUe(c,s,i);return{subprocess:a,promise:l}},Q1e=(t,e)=>{let r=F_(),n=F_(),i=F_(),o=Array.from({length:e.length-3},F_),s=F_(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},F_=()=>{let t=new K1e;return t.end(),t},eUe=()=>new Z1e({read(){}}),tUe=()=>new J1e({write(){}}),rUe=()=>new X1e({read(){},write(){}}),nUe=async(t,e,r)=>Pf(t,e,r);import{createReadStream as cne,createWriteStream as lne}from"fs";import{Buffer as iUe}from"buffer";import{Readable as B_,Writable as oUe,Duplex as sUe}from"stream";var dne=(t,e)=>Cw(aUe,t,e,!1),j_=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${$a[t]}.`)},une={fileNumber:j_,generator:o$,asyncGenerator:o$,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:sUe.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},aUe={input:{...une,fileUrl:({value:t})=>({stream:cne(t)}),filePath:({value:{file:t}})=>({stream:cne(t)}),webStream:({value:t})=>({stream:B_.fromWeb(t)}),iterable:({value:t})=>({stream:B_.from(t)}),asyncIterable:({value:t})=>({stream:B_.from(t)}),string:({value:t})=>({stream:B_.from(t)}),uint8Array:({value:t})=>({stream:B_.from(iUe.from(t))})},output:{...une,fileUrl:({value:t})=>({stream:lne(t)}),filePath:({value:{file:t,append:e}})=>({stream:lne(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:oUe.fromWeb(t)}),iterable:j_,asyncIterable:j_,string:j_,uint8Array:j_}};import{on as cUe,once as fne}from"events";import{PassThrough as lUe,getDefaultHighWaterMark as uUe}from"stream";import{finished as mne}from"stream/promises";function Bl(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)d$(i);let e=t.some(({readableObjectMode:i})=>i),r=dUe(t,e),n=new u$({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var dUe=(t,e)=>{if(t.length===0)return uUe(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},u$=class extends lUe{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(d$(e),this.#e.has(e))return;this.#e.add(e),this.#n??=fUe(this,this.#e,this.#o);let r=mUe({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(d$(e),!this.#e.has(e))return!1;let r=this.#i.get(e);return r===void 0?!1:(this.#i.delete(e),e.unpipe(this),await r,!0)}},fUe=async(t,e,r)=>{Lw(t,pne);let n=new AbortController;try{await Promise.race([pUe(t,n),hUe(t,e,r,n)])}finally{n.abort(),Lw(t,-pne)}},pUe=async(t,{signal:e})=>{try{await mne(t,{signal:e,cleanup:!0})}catch(r){throw gne(t,r),r}},hUe=async(t,e,r,{signal:n})=>{for await(let[i]of cUe(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},d$=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},mUe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{Lw(t,hne);let a=new AbortController;try{await Promise.race([gUe(o,e,a),_Ue({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),yUe({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),Lw(t,-hne)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?f$(t):SUe(t))},gUe=async(t,e,{signal:r})=>{try{await t,r.aborted||f$(e)}catch(n){r.aborted||gne(e,n)}},_Ue=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await mne(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;_ne(s)?i.add(e):yne(t,s)}},yUe=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await fne(t,i,{signal:o}),!t.readable)return fne(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},SUe=t=>{t.writable&&t.end()},gne=(t,e)=>{_ne(e)?f$(t):yne(t,e)},_ne=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",f$=t=>{(t.readable||t.writable)&&t.destroy()},yne=(t,e)=>{t.destroyed||(t.once("error",EUe),t.destroy(e))},EUe=()=>{},Lw=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},pne=2,hne=1;import{finished as Sne}from"stream/promises";var Nf=(t,e)=>{t.pipe(e),vUe(t,e),TUe(t,e)},vUe=async(t,e)=>{if(!(Ci(t)||Ci(e))){try{await Sne(t,{cleanup:!0,readable:!0,writable:!1})}catch{}p$(e)}},p$=t=>{t.writable&&t.end()},TUe=async(t,e)=>{if(!(Ci(t)||Ci(e))){try{await Sne(e,{cleanup:!0,readable:!1,writable:!0})}catch{}h$(t)}},h$=t=>{t.readable&&t.destroy()};var Ene=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Qn.has(c)))bUe(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Qn.has(c)))wUe({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:Bl(o);Nf(s,i)}},bUe=(t,e,r,n)=>{r==="output"?Nf(t.stdio[n],e):Nf(e,t.stdio[n]);let i=AUe[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},AUe=["stdin","stdout","stderr"],wUe=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;xUe(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},xUe=(t,{signal:e})=>{Ci(t)&&Ll(t,RUe,e)},RUe=2;import{addAbortListener as PUe}from"events";var jl=[];jl.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&jl.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&jl.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var $w=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",m$=Symbol.for("signal-exit emitter"),g$=globalThis,IUe=Object.defineProperty.bind(Object),_$=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(g$[m$])return g$[m$];IUe(g$,m$,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},Uw=class{},CUe=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),y$=class extends Uw{onExit(){return()=>{}}load(){}unload(){}},S$=class extends Uw{#e=E$.platform==="win32"?"SIGINT":"SIGHUP";#r=new _$;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of jl)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!$w(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of jl)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,jl.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return $w(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&$w(this.#t)){typeof r[0]=="number"&&(this.#t.exitCode=r[0]);let i=n.call(this.#t,e,...r);return this.#r.emit("exit",this.#t.exitCode,null),i}else return n.call(this.#t,e,...r)}},E$=globalThis.process,{onExit:vne,load:qvt,unload:Vvt}=CUe($w(E$)?new S$(E$):new y$);var Tne=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=vne(()=>{t.kill()});PUe(n,()=>{i()})};var Ane=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=KA(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=OUe(r,n,i),{sourceStream:d,sourceError:f}=kUe(t,l),{options:p,fileDescriptors:h}=yo.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},OUe=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=NUe(t,e,...r),a=ow(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},NUe=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(bne,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||lL(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=FA(r,...n);return{destination:e(bne)(i,o,s),pipeOptions:s}}if(yo.has(r)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},bne=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),kUe=(t,e)=>{try{return{sourceStream:wf(t,e)}}catch(r){return{sourceError:r}}};var xne=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=MUe({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw v$({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},MUe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return h$(t),n;if(e!==void 0)return p$(r),e},v$=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Cf({error:t,command:wne,escapedCommand:wne,fileDescriptors:e,options:r,startTime:n,isSync:!1}),wne="source.pipe(destination)";var Rne=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as DUe}from"stream/promises";var Ine=(t,e,r)=>{let n=Fw.has(e)?$Ue(t,e):LUe(t,e);return Ll(t,FUe,r.signal),Ll(e,BUe,r.signal),UUe(e),n},LUe=(t,e)=>{let r=Bl([t]);return Nf(r,e),Fw.set(e,r),r},$Ue=(t,e)=>{let r=Fw.get(e);return r.add(t),r},UUe=async t=>{try{await DUe(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Fw.delete(t)},Fw=new WeakMap,FUe=2,BUe=1;import{aborted as jUe}from"util";var Cne=(t,e)=>t===void 0?[]:[zUe(t,e)],zUe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await jUe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw v$({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var Bw=(t,...e)=>{if(Ot(e[0]))return Bw.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Ane(t,...e),i=GUe({...n,destination:r});return i.pipe=Bw.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},GUe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=qUe(t,i);xne({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=Ine(e,o,d);return await Promise.race([Rne(u),...Cne(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},qUe=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as JUe}from"timers/promises";import{on as VUe}from"events";import{getDefaultHighWaterMark as HUe}from"stream";var jw=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return WUe(e,s),One({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},WUe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},T$=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;YUe(e,s,t);let a=t.readableObjectMode&&!o;return One({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},YUe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},One=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=VUe(t,"data",{signal:e.signal,highWaterMark:Pne,highWatermark:Pne});return KUe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},b$=HUe(!0),Pne=b$,KUe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=ZUe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*Fl(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*U_(a)}},ZUe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[Ow(t,r,!e),Pw(t,i,!n,{})].filter(Boolean);var Nne=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=XUe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([QUe(t),d]);return}let f=e$(c,r),p=T$({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([eFe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},XUe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!Mw({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=T$({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Gre(a,t,r,o)},QUe=async t=>{await JUe(),t.readableFlowing===null&&t.resume()},eFe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await vw(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await Tw(r,{maxBuffer:o})):await If(r,{maxBuffer:o})}catch(a){return kne(Gte({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},A$=async t=>{try{return await t}catch(e){return kne(e)}},kne=({bufferedData:t})=>o7(t)?new Uint8Array(t):t;import{finished as tFe}from"stream/promises";var z_=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=rFe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],tFe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||oFe(a,e,r,n)}finally{s.abort()}},rFe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&nFe(t,r,n),n},nFe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{iFe(e,r),n.call(t,...i)}},iFe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},oFe=(t,e,r,n)=>{if(!sFe(t,e,r,n))throw t},sFe=(t,e,r,n=!0)=>r.propagating?Mne(t)||zw(t):(r.propagating=!0,w$(r,e)===n?Mne(t):zw(t)),w$=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",zw=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Mne=t=>t?.code==="EPIPE";var Dne=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>x$({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),x$=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=z_(t,e,l);if(w$(l,e)){await u;return}let[d]=await Promise.all([Nne({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var Lne=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Bl([t,e].filter(Boolean)):void 0,$ne=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>x$({...aFe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:cFe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),aFe=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},cFe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as lFe}from"events";var Une=t=>Ef(t,"ipc"),Fne=(t,e)=>{let r=YA(t);go({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Bne=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Une(o),a=gs(e,"ipc"),c=gs(r,"ipc");for await(let l of l$({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(qte(t,i,c),i.push(l)),s&&Fne(l,o);return i},jne=async(t,e)=>(await Promise.allSettled([t]),e);var zne=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:S,controller:E})=>{let b=Yre(t,f),A={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:b,propagating:!1},y=Dne({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:A}),R=$ne({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:A}),P=[],O=Bne({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:P,verboseInfo:p}),N=uFe(m,t,A),I=dFe(h,A);try{return await Promise.race([Promise.all([{},Zre(b),Promise.all(y),R,O,Tte(t,d),...N,...I]),S,fFe(t,E),..._te(t,o,f,E),...Uee({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:E}),...mte({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:E})])}catch(L){return f.terminationReason??="other",Promise.all([{error:L},b,Promise.all(y.map(_=>A$(_))),A$(R),jne(O,P),Promise.allSettled(N),Promise.allSettled(I)])}},uFe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:z_(n,i,r)),dFe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Ni(o,{checkOpen:!1})&&!Ci(o)).map(({type:i,value:o,stream:s=o})=>z_(s,n,e,{isSameDirection:Qn.has(i),stopOnExit:i==="native"}))),fFe=async(t,{signal:e})=>{let[r]=await lFe(t,"error",{signal:e});throw r};var Gne=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),G_=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=_o();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},kf=async({resolve:t,promises:e},r)=>{t();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...e])]);return!n};import{Readable as pFe}from"stream";import{callbackify as hFe}from"util";import{finished as qne}from"stream/promises";var R$=async t=>{if(t!==void 0)try{await I$(t)}catch{}},Vne=async t=>{if(t!==void 0)try{await C$(t)}catch{}},I$=async t=>{await qne(t,{cleanup:!0,readable:!1,writable:!0})},C$=async t=>{await qne(t,{cleanup:!0,readable:!0,writable:!1})},Gw=async(t,e)=>{if(await t,e)throw e},qw=(t,e,r)=>{r&&!zw(r)?t.destroy(r):e&&t.destroy()};var Hne=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||Tn.has(r),{subprocessStdout:a,waitReadableDestroy:c}=P$(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=O$(a,s),{read:f,onStdoutDataDone:p}=N$({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new pFe({read:f,destroy:hFe(M$.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return k$({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},P$=(t,e,r)=>{let n=wf(t,e),i=G_(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},O$=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:b$},N$=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=_o(),s=jw({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){mFe(this,s,o)},onStdoutDataDone:o}},mFe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},k$=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await C$(t),await n,await R$(i),await e,r.readable&&r.push(null)}catch(o){await R$(i),Wne(r,o)}},M$=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await kf(r,e)&&(Wne(t,n),await Gw(e,n))},Wne=(t,e)=>{qw(t,t.readable,e)};import{Writable as gFe}from"stream";import{callbackify as Yne}from"util";var Kne=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=D$(t,r,e),s=new gFe({...L$(n,t,i),destroy:Yne(U$.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return $$(n,s),s},D$=(t,e,r)=>{let n=ow(t,e),i=G_(r,n,"writableFinal"),o=G_(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},L$=(t,e,r)=>({write:_Fe.bind(void 0,t),final:Yne(yFe.bind(void 0,t,e,r))}),_Fe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},yFe=async(t,e,r)=>{await kf(r,e)&&(t.writable&&t.end(),await e)},$$=async(t,e,r)=>{try{await I$(t),e.writable&&e.end()}catch(n){await Vne(r),Zne(e,n)}},U$=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await kf(r,e),await kf(n,e)&&(Zne(t,i),await Gw(e,i))},Zne=(t,e)=>{qw(t,t.writable,e)};import{Duplex as SFe}from"stream";import{callbackify as EFe}from"util";var Jne=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||Tn.has(r),{subprocessStdout:c,waitReadableDestroy:l}=P$(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=D$(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=O$(c,a),{read:S,onStdoutDataDone:E}=N$({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),b=new SFe({read:S,...L$(u,t,d),destroy:EFe(vFe.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return k$({subprocessStdout:c,onStdoutDataDone:E,readable:b,subprocess:t,subprocessStdin:u}),$$(u,b,c),b},vFe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([M$({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),U$({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var F$=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||Tn.has(e),s=wf(t,r),a=jw({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return TFe(a,s,t)},TFe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Xne=(t,{encoding:e})=>{let r=Gne();t.readable=Hne.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=Kne.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=Jne.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=F$.bind(void 0,t,e),t[Symbol.asyncIterator]=F$.bind(void 0,t,e,{})};var Qne=(t,e)=>{for(let[r,n]of AFe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},bFe=(async()=>{})().constructor.prototype,AFe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(bFe,t)]);var eie=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=RFe(t,e,r),{subprocess:f,promise:p}=CFe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=Bw.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),Qne(f,p),yo.set(f,{options:u,fileDescriptors:d}),f},RFe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=ZA(t,e,r),{file:a,commandArguments:c,options:l}=gw(t,e,r),u=IFe(l),d=dne(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},IFe=({timeout:t,signal:e,...r})=>{if(e!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:t}},CFe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=xFe(..._w(t,e,r))}catch(h){return ane({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;wFe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Ene(c,a,l),Tne(c,r,l);let d={},f=_o();c.kill=Lee.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=Lne(c,r),Xne(c,r),ine(c,r);let p=PFe({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},PFe=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,S]=await zne({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let E=h.map((y,R)=>ys(y,e,R)),b=ys(m,e,"all"),A=OFe({errorInfo:d,exitCode:f,signal:p,stdio:E,all:b,ipcOutput:S,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Pf(A,n,e)},OFe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?$_({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof So,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):ww({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var Vw=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,NFe(n,t[n],i)]));return{...t,...r}},NFe=(t,e,r)=>kFe.has(t)&&Ot(e)&&Ot(r)?{...e,...r}:r,kFe=new Set(["env",...mL]);var Ua=(t,e,r,n)=>{let i=(s,a,c)=>Ua(s,a,r,c),o=(...s)=>MFe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},MFe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(Ot(o))return i(t,Vw(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=DFe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?Xre(a,c,l):eie(a,c,l,i)},DFe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=d7(e)?f7(e,r):[e,...r],[s,a,c]=FA(...o),l=Vw(Vw(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var tie=({file:t,commandArguments:e})=>nie(t,e),rie=({file:t,commandArguments:e})=>({...nie(t,e),isSync:!0}),nie=(t,e)=>{if(e.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${t} ${e}.`);let[r,...n]=LFe(t);return{file:r,commandArguments:n}},LFe=t=>{if(typeof t!="string")throw new TypeError(`The command must be a string: ${String(t)}.`);let e=t.trim();if(e==="")return[];let r=[];for(let n of e.split($Fe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},$Fe=/ +/g;var iie=(t,e,r)=>{t.sync=e(UFe,r),t.s=t.sync},oie=({options:t})=>sie(t),UFe=({options:t})=>({...sie(t),isSync:!0}),sie=t=>({options:{...FFe(t),...t}}),FFe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},aie={preferLocal:!0};var cie=Ua(()=>({})),MAt=Ua(()=>({isSync:!0})),lie=Ua(tie),DAt=Ua(rie),LAt=Ua(Ste),$At=Ua(oie,{},aie,iie),{sendMessage:UAt,getOneMessage:FAt,getEachMessage:BAt,getCancelSignal:jAt}=one();var uie=!1,die=()=>{uie=!0},vo=()=>uie;var q_=null,fie=t=>(q_&&q_.destroy(),q_=new Ss({totalAllowedTime:t}),q_),pie=()=>q_;var Ss=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&vo())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await OA({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ce.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var hie={name:"@netlify/agent-runner-cli",type:"module",version:"1.163.0-PAW-328.6",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.5","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.8.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var GFe=jFe(import.meta.url),qFe=Es.dirname(GFe),VFe=zFe(import.meta.url),Mf=le("shell"),B$=new Set,mie={preferLocal:!0},zt=(t,e,r)=>{let[n,i]=HFe(e,r),o={...mie,...i},s=cie(t,n,o);_ie(s,o),Eie(s);let a=r?.idleTimeout;return a&&a>0&&Sie(s,a),s},gie=(t,e)=>{let r={...mie,...e},n=lie(t,r);return _ie(n,r),Eie(n),e?.idleTimeout&&e.idleTimeout>0&&Sie(n,e.idleTimeout),n},HFe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},_ie=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(vs.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new y_).pipe(vs.stdout),t.stderr?.pipe(new y_).pipe(vs.stderr);return}t.stdout?.pipe(vs.stdout),t.stderr?.pipe(vs.stderr)},j$=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(vs.kill(-t.pid,e),Mf.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Mf.error("Error killing process:",r),!1}},yie=t=>j$(t,"SIGKILL"),Sie=(t,e)=>{let r=null,n=()=>{Mf.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),j$(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Mf.log(`Force killing idle process ${t.pid}`),yie(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Eie=t=>{B$.add(t);let e=pie();if(e){let r=e.onTimesUp(()=>{Mf.log(`Global timer expired, killing process ${t.pid}`),j$(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Mf.log(`Force killing process ${t.pid} after timeout`),yie(t))},5e3)});t.on("exit",()=>{B$.delete(t),r()}),t.on("error",()=>{B$.delete(t),r()})}};function Ww(t,e){return!!ki(t,e)}function ki(t,e){if(!vs.env.NETLIFY_LOCAL_MODE)try{let i=VFe.resolve(hie.name),o=Es.dirname(i);for(;o!==Es.dirname(o);){let s=Es.dirname(o);if(Es.basename(s)==="node_modules"){let a=Es.join(s,".bin",e);if(Hw.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(vs.env.NODE_PATH){let i=Es.join(vs.env.NODE_PATH,".bin",e);if(Hw.existsSync(i))return i}let r=Es.join(t,"node_modules",".bin",e);if(Hw.existsSync(r))return r;let n=Es.join(qFe,"..","node_modules",".bin",e);if(Hw.existsSync(n))return n}var WFe=le("utils"),YFe=t=>new Promise(e=>{setTimeout(e,t)});var z$=t=>{try{return new URL(t).hostname||null}catch{return null}},Yw=(t,e=3e3)=>{let r=!1,n=null,i=[],o=null,s=(...a)=>{if(r)return n=a,new Promise(u=>{i.push(u)});r=!0;let c,l=new Promise(u=>{c=u});return o=(async()=>{await Promise.resolve();let u=await t(...a);for(c(u);;){if(await YFe(e),!n)return r=!1,o=null,u;let d=n,f=i;n=null,i=[],u=await t(...d),f.forEach(p=>{p(u)})}})(),l};return s.flush=async()=>{if((r||n)&&o)return await o,s.flush()},s.cancel=()=>{n=null,i.forEach(a=>a(void 0)),i=[]},s},Fa=(t,e,r=!1)=>{let n=null,i=null,o=null,s=function(...a){i=a,o=this;let c=r&&!n;clearTimeout(n),n=setTimeout(()=>{n=null,r||(t.apply(o,i),i=null,o=null)},e),c&&(t.apply(o,i),i=null,o=null)};return s.cancel=()=>{clearTimeout(n),n=null,i=null,o=null},s.flush=()=>{if(n){clearTimeout(n);let a=i,c=o;n=null,i=null,o=null,t.apply(c,a)}},s},vie=(t,e=!0,r)=>{if(t)try{return JSON.parse(t)}catch(n){e&&(r?.error?r.error("Could not parse JSON",n):WFe.error("Could not parse JSON",n))}},KFe=t=>t.charAt(0).toUpperCase()+t.slice(1),To=t=>t.split("-").map(e=>e.length===2?e.toUpperCase():KFe(e)).join(" ");function Ts(t,e){e&&t.log(`Skill invoked: ${e}`)}var Kw=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),Tie=(t,e,r=!1)=>{if(r)return;let n=60,i=55,o=".netlify.app",s="agent-",a=6;if(!e)return`${s}${t.slice(0,a)}`;let c=`--${e}${o}`;if(c.length>i)return"";let l=n-c.length;if(l<=0)return"";if(l>=s.length+a){let u=Math.min(l-s.length,t.length);return`${s}${t.slice(0,u)}`}return t.slice(0,l)};var G$=t=>{let e=t.match(/<<-?\s*['"]?(\w+)['"]?/);if(!e)return{command:t};let r=t.indexOf(e[0]),n=t.slice(r+e[0].length).trim();return{command:t.slice(0,r).trim(),heredocContent:n||void 0}},ZFe=1e4,q$=(t,e=ZFe)=>{if(!t||typeof t!="string"||t.length<=e)return t;let n=t.startsWith("```")?"\n... [truncated]\n```":"... [truncated]";return t.slice(0,e)+n};import{createHash as JFe}from"crypto";import{createReadStream as XFe}from"fs";import Zw from"fs/promises";import Rie from"os";import Jw from"path";var bie=le("repo"),Iie="runner-diffs-",Cie=t=>`${Iie}${t}-`,Pie=async t=>{let e=Rie.tmpdir(),r;try{r=await Zw.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(Iie)&&!n.startsWith(Cie(t))).map(n=>Zw.rm(Jw.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},nn=(t,e={})=>zt("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),Xw=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{bie.info("Getting runner diffs");let n=await eBe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let h=rBe(o);await nBe(h,r)}bie.info("Changes after processing"),await H$(r);let s=await W$(o,r);if(await V$(s,r),i=await tBe(r),!i)return{hasChanges:!1,ignored:s};await nn(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await Zw.mkdtemp(Jw.join(Rie.tmpdir(),Cie(t.sessionId))),c=async({from:h,to:m,fileName:S,binary:E})=>{let b=Jw.join(a,S);await nn([...E?["diff",h,m,"--binary"]:["diff",h,m],`--output=${b}`],{stdio:["ignore","ignore","pipe"],cwd:r});let{size:y}=await Zw.stat(b);return{path:b,size:y}},l=await c({from:t.runSha,to:"HEAD",fileName:"session.patch"});if(i=l.size>0,!i)return await xie(r),{hasChanges:!1,ignored:s};let u=await c({from:t.runSha,to:"HEAD",fileName:"session-binary.patch",binary:!0}),d,f;if(t.sha){d=await c({from:t.sha,to:"HEAD",fileName:"cumulative.patch"});let h=await c({from:t.sha,to:"HEAD",fileName:"cumulative-binary.patch",binary:!0});await wie(d,h)||(f=h)}await xie(r),ce.distribution("diff.size",u.size);let p={hasChanges:!0,diff:l,resultDiff:d,ignored:s};return await wie(l,u)||(p.diffBinary=u),f&&(p.resultDiffBinary=f),p},Aie=async t=>{let e=JFe("sha256");for await(let r of XFe(t))e.update(r);return e.digest("hex")},wie=async(t,e)=>t.size===e.size&&await Aie(t.path)===await Aie(e.path),xie=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await nn(["reset","--soft","HEAD~1"],{cwd:t})},V$=async(t=[],e=process.cwd())=>{await nn(["add",".",...t],{cwd:e})},H$=async(t=process.cwd())=>{let e=await nn(["status","-s"],{cwd:t});return String(e.stdout??"")},Oie=/.. (.+)?\.log$/,QFe=[Oie],eBe=async(t=process.cwd())=>{let e=await H$(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
115
+ if (condition) { yield value; }`)};import{Buffer as i1e}from"buffer";import{StringDecoder as o1e}from"string_decoder";var Ow=(t,e,r)=>{if(r)return;if(t)return{transform:s1e.bind(void 0,new TextEncoder)};let n=new o1e(e);return{transform:a1e.bind(void 0,n),final:c1e.bind(void 0,n)}},s1e=function*(t,e){i1e.isBuffer(e)?yield ms(e):typeof e=="string"?yield t.encode(e):yield e},a1e=function*(t,e){yield jt(e)?t.write(e):e},c1e=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Lre}from"util";var n$=Lre(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),Nw=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=u1e}=e[r];for await(let i of n(t))yield*Nw(i,e,r+1)},$re=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*l1e(r,Number(e),t)},l1e=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*Nw(n,r,e+1)},Ure=Lre(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),u1e=function*(t){yield t};var i$=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Fre=(t,e)=>[...e.flatMap(r=>[...Fl(r,t,0)]),...U_(t)],Fl=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=f1e}=e[r];for(let i of n(t))yield*Fl(i,e,r+1)},U_=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*d1e(r,Number(e),t)},d1e=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Fl(n,r,e+1)},f1e=function*(t){yield t};var o$=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=jre(t,s,o),l=Ul(e),u=Ul(r),d=l?n$.bind(void 0,Nw,a):i$.bind(void 0,Fl),f=l||u?n$.bind(void 0,$re,a):i$.bind(void 0,U_),p=l||u?Ure.bind(void 0,a):void 0;return{stream:new p1e({writableObjectMode:n,writableHighWaterMark:Bre(n),readableObjectMode:i,readableHighWaterMark:Bre(i),transform(m,S,E){d([m,c,0],this,E)},flush(m){f([c],this,m)},destroy:p})}},kw=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=jre(s,r,a);t=Fre(c,t)}return t},jre=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:kre(n,a)},Ow(r,s,n),Pw(r,o,n,c),{transform:t,final:e},{transform:Mre(i,a)},Nre({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var zre=(t,e)=>{for(let r of h1e(t))m1e(t,r,e)},h1e=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),m1e=(t,e,r)=>{let{stdioItems:n}=t[e],i=n.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(e!==0){let[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${$a[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>g1e(a,n));r.input=I_(s)},g1e=(t,e)=>{let r=kw(t,e,"utf8",!0);return _1e(r),I_(r)},_1e=t=>{let e=t.find(r=>typeof r!="string"&&!jt(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as v1e,appendFileSync as T1e}from"fs";var Mw=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Ef(r,n)&&!Tn.has(e)&&y1e(n)&&(t.some(({type:i,value:o})=>i==="native"&&S1e.has(o))||t.every(({type:i})=>Qn.has(i))),y1e=t=>t===1||t===2,S1e=new Set(["pipe","overlapped"]),Gre=async(t,e,r,n)=>{for await(let i of t)E1e(e)||Vre(i,r,n)},qre=(t,e,r)=>{for(let n of t)Vre(n,e,r)},E1e=t=>t._readableState.pipes.length>0,Vre=(t,e,r)=>{let n=YA(t);go({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Hre=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>b1e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},b1e=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=Wte(t,o,d),p=ms(f),{stdioItems:h,objectMode:m}=e[r],S=A1e([p],h,c,n),{serializedResult:E,finalResult:b=E}=w1e({chunks:S,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});x1e({serializedResult:E,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let A=a[r]?b:void 0;try{return n.error===void 0&&R1e(E,h,i),A}catch(y){return n.error=y,A}},A1e=(t,e,r,n)=>{try{return kw(t,e,r,!1)}catch(i){return n.error=i,t}},w1e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:I_(t)};let s=a7(t,r);return n[o]?{serializedResult:s,finalResult:r$(s,!i[o],e)}:{serializedResult:s}},x1e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!Mw({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=r$(t,!1,s);try{qre(a,e,n)}catch(c){r.error??=c}},R1e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>Iw.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?T1e(n,t):(r.add(o),v1e(n,t))}};var Wre=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,ys(e,r,"all")]:Array.isArray(e)?[ys(t,r,"all"),...e]:jt(t)&&jt(e)?dL([t,e]):`${t}${e}`};import{once as s$}from"events";var Yre=async(t,e)=>{let[r,n]=await I1e(t);return e.isForcefullyTerminated??=!1,[r,n]},I1e=async t=>{let[e,r]=await Promise.allSettled([s$(t,"spawn"),s$(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Kre(t):r.value},Kre=async t=>{try{return await s$(t,"exit")}catch{return Kre(t)}},Zre=async t=>{let[e,r]=await t;if(!C1e(e,r)&&a$(e,r))throw new Pi;return[e,r]},C1e=(t,e)=>t===void 0&&e===void 0,a$=(t,e)=>t!==0||e!==null;var Jre=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=P1e(t,e,r),s=o?.code==="ETIMEDOUT",a=Hte(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},P1e=(t,e,r)=>t!==void 0?t:a$(e,r)?new Pi:void 0;var Xre=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=N1e(t,e,r),d=D1e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Pf(d,c,l)},N1e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=ZA(t,e,r),a=k1e(r),{file:c,commandArguments:l,options:u}=gw(t,e,a);M1e(u);let d=Ire(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},k1e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,M1e=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&Dw("ipcInput"),t&&Dw("ipc: true"),r&&Dw("detached: true"),n&&Dw("cancelSignal")},Dw=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},D1e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=L1e({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=Jre(c,r),{output:h,error:m=l}=Hre({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),S=h.map((b,A)=>ys(b,r,A)),E=ys(Wre(h,r),r,"all");return U1e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:S,all:E,options:r,command:n,escapedCommand:i,startTime:a})},L1e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{zre(o,r);let a=$1e(r);return O1e(..._w(t,e,a))}catch(a){return Cf({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},$1e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:Aw(e)}),U1e=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?ww({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):$_({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as wFe}from"events";import{spawn as xFe}from"child_process";import nne from"process";import{once as c$,on as F1e}from"events";var Qre=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(bf({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:uw(t)}),B1e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),B1e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{sw(e,i);let o=La(t,e,r),s=new AbortController;try{return await Promise.race([j1e(o,n,s),z1e(o,r,s),G1e(o,r,s)])}catch(a){throw Af(t),a}finally{s.abort(),aw(e,i)}},j1e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await c$(t,"message",{signal:r});return n}for await(let[n]of F1e(t,"message",{signal:r}))if(e(n))return n},z1e=async(t,e,{signal:r})=>{await c$(t,"disconnect",{signal:r}),Fee(e)},G1e=async(t,e,{signal:r})=>{let[n]=await c$(t,"strict:error",{signal:r});throw nw(n,e)};import{once as tne,on as q1e}from"events";var rne=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>l$({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),l$=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{bf({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:uw(t)}),sw(e,o);let s=La(t,e,r),a=new AbortController,c={};return V1e(t,s,a),H1e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),W1e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},V1e=async(t,e,r)=>{try{await tne(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},H1e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await tne(t,"strict:error",{signal:r.signal});n.error=nw(i,e),r.abort()}catch{}},W1e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of q1e(r,"message",{signal:o.signal}))ene(s),yield c}catch{ene(s)}finally{o.abort(),aw(e,a),n||Af(t),i&&await t}},ene=({error:t})=>{if(t)throw t};var ine=(t,{ipc:e})=>{Object.assign(t,sne(t,!1,e))},one=()=>{let t=nne,e=!0,r=nne.channel!==void 0;return{...sne(t,e,r),getCancelSignal:fte.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},sne=(t,e,r)=>({sendMessage:hw.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Qre.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:rne.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as Y1e}from"child_process";import{PassThrough as K1e,Readable as Z1e,Writable as J1e,Duplex as X1e}from"stream";var ane=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{QL(n);let a=new Y1e;Q1e(a,n),Object.assign(a,{readable:eUe,writable:tUe,duplex:rUe});let c=Cf({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=nUe(c,s,i);return{subprocess:a,promise:l}},Q1e=(t,e)=>{let r=F_(),n=F_(),i=F_(),o=Array.from({length:e.length-3},F_),s=F_(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},F_=()=>{let t=new K1e;return t.end(),t},eUe=()=>new Z1e({read(){}}),tUe=()=>new J1e({write(){}}),rUe=()=>new X1e({read(){},write(){}}),nUe=async(t,e,r)=>Pf(t,e,r);import{createReadStream as cne,createWriteStream as lne}from"fs";import{Buffer as iUe}from"buffer";import{Readable as B_,Writable as oUe,Duplex as sUe}from"stream";var dne=(t,e)=>Cw(aUe,t,e,!1),j_=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${$a[t]}.`)},une={fileNumber:j_,generator:o$,asyncGenerator:o$,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:sUe.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},aUe={input:{...une,fileUrl:({value:t})=>({stream:cne(t)}),filePath:({value:{file:t}})=>({stream:cne(t)}),webStream:({value:t})=>({stream:B_.fromWeb(t)}),iterable:({value:t})=>({stream:B_.from(t)}),asyncIterable:({value:t})=>({stream:B_.from(t)}),string:({value:t})=>({stream:B_.from(t)}),uint8Array:({value:t})=>({stream:B_.from(iUe.from(t))})},output:{...une,fileUrl:({value:t})=>({stream:lne(t)}),filePath:({value:{file:t,append:e}})=>({stream:lne(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:oUe.fromWeb(t)}),iterable:j_,asyncIterable:j_,string:j_,uint8Array:j_}};import{on as cUe,once as fne}from"events";import{PassThrough as lUe,getDefaultHighWaterMark as uUe}from"stream";import{finished as mne}from"stream/promises";function Bl(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)d$(i);let e=t.some(({readableObjectMode:i})=>i),r=dUe(t,e),n=new u$({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var dUe=(t,e)=>{if(t.length===0)return uUe(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},u$=class extends lUe{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(d$(e),this.#e.has(e))return;this.#e.add(e),this.#n??=fUe(this,this.#e,this.#o);let r=mUe({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(d$(e),!this.#e.has(e))return!1;let r=this.#i.get(e);return r===void 0?!1:(this.#i.delete(e),e.unpipe(this),await r,!0)}},fUe=async(t,e,r)=>{Lw(t,pne);let n=new AbortController;try{await Promise.race([pUe(t,n),hUe(t,e,r,n)])}finally{n.abort(),Lw(t,-pne)}},pUe=async(t,{signal:e})=>{try{await mne(t,{signal:e,cleanup:!0})}catch(r){throw gne(t,r),r}},hUe=async(t,e,r,{signal:n})=>{for await(let[i]of cUe(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},d$=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},mUe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{Lw(t,hne);let a=new AbortController;try{await Promise.race([gUe(o,e,a),_Ue({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),yUe({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),Lw(t,-hne)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?f$(t):SUe(t))},gUe=async(t,e,{signal:r})=>{try{await t,r.aborted||f$(e)}catch(n){r.aborted||gne(e,n)}},_Ue=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await mne(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;_ne(s)?i.add(e):yne(t,s)}},yUe=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await fne(t,i,{signal:o}),!t.readable)return fne(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},SUe=t=>{t.writable&&t.end()},gne=(t,e)=>{_ne(e)?f$(t):yne(t,e)},_ne=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",f$=t=>{(t.readable||t.writable)&&t.destroy()},yne=(t,e)=>{t.destroyed||(t.once("error",EUe),t.destroy(e))},EUe=()=>{},Lw=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},pne=2,hne=1;import{finished as Sne}from"stream/promises";var Nf=(t,e)=>{t.pipe(e),vUe(t,e),TUe(t,e)},vUe=async(t,e)=>{if(!(Ci(t)||Ci(e))){try{await Sne(t,{cleanup:!0,readable:!0,writable:!1})}catch{}p$(e)}},p$=t=>{t.writable&&t.end()},TUe=async(t,e)=>{if(!(Ci(t)||Ci(e))){try{await Sne(e,{cleanup:!0,readable:!1,writable:!0})}catch{}h$(t)}},h$=t=>{t.readable&&t.destroy()};var Ene=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Qn.has(c)))bUe(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Qn.has(c)))wUe({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:Bl(o);Nf(s,i)}},bUe=(t,e,r,n)=>{r==="output"?Nf(t.stdio[n],e):Nf(e,t.stdio[n]);let i=AUe[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},AUe=["stdin","stdout","stderr"],wUe=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;xUe(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},xUe=(t,{signal:e})=>{Ci(t)&&Ll(t,RUe,e)},RUe=2;import{addAbortListener as PUe}from"events";var jl=[];jl.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&jl.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&jl.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var $w=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",m$=Symbol.for("signal-exit emitter"),g$=globalThis,IUe=Object.defineProperty.bind(Object),_$=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(g$[m$])return g$[m$];IUe(g$,m$,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},Uw=class{},CUe=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),y$=class extends Uw{onExit(){return()=>{}}load(){}unload(){}},S$=class extends Uw{#e=E$.platform==="win32"?"SIGINT":"SIGHUP";#r=new _$;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of jl)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!$w(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of jl)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,jl.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return $w(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&$w(this.#t)){typeof r[0]=="number"&&(this.#t.exitCode=r[0]);let i=n.call(this.#t,e,...r);return this.#r.emit("exit",this.#t.exitCode,null),i}else return n.call(this.#t,e,...r)}},E$=globalThis.process,{onExit:vne,load:qvt,unload:Vvt}=CUe($w(E$)?new S$(E$):new y$);var Tne=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=vne(()=>{t.kill()});PUe(n,()=>{i()})};var Ane=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=KA(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=OUe(r,n,i),{sourceStream:d,sourceError:f}=kUe(t,l),{options:p,fileDescriptors:h}=yo.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},OUe=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=NUe(t,e,...r),a=ow(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},NUe=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(bne,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||lL(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=FA(r,...n);return{destination:e(bne)(i,o,s),pipeOptions:s}}if(yo.has(r)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},bne=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),kUe=(t,e)=>{try{return{sourceStream:wf(t,e)}}catch(r){return{sourceError:r}}};var xne=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=MUe({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw v$({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},MUe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return h$(t),n;if(e!==void 0)return p$(r),e},v$=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Cf({error:t,command:wne,escapedCommand:wne,fileDescriptors:e,options:r,startTime:n,isSync:!1}),wne="source.pipe(destination)";var Rne=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as DUe}from"stream/promises";var Ine=(t,e,r)=>{let n=Fw.has(e)?$Ue(t,e):LUe(t,e);return Ll(t,FUe,r.signal),Ll(e,BUe,r.signal),UUe(e),n},LUe=(t,e)=>{let r=Bl([t]);return Nf(r,e),Fw.set(e,r),r},$Ue=(t,e)=>{let r=Fw.get(e);return r.add(t),r},UUe=async t=>{try{await DUe(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Fw.delete(t)},Fw=new WeakMap,FUe=2,BUe=1;import{aborted as jUe}from"util";var Cne=(t,e)=>t===void 0?[]:[zUe(t,e)],zUe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await jUe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw v$({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var Bw=(t,...e)=>{if(Ot(e[0]))return Bw.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Ane(t,...e),i=GUe({...n,destination:r});return i.pipe=Bw.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},GUe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=qUe(t,i);xne({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=Ine(e,o,d);return await Promise.race([Rne(u),...Cne(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},qUe=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as JUe}from"timers/promises";import{on as VUe}from"events";import{getDefaultHighWaterMark as HUe}from"stream";var jw=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return WUe(e,s),One({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},WUe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},T$=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;YUe(e,s,t);let a=t.readableObjectMode&&!o;return One({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},YUe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},One=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=VUe(t,"data",{signal:e.signal,highWaterMark:Pne,highWatermark:Pne});return KUe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},b$=HUe(!0),Pne=b$,KUe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=ZUe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*Fl(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*U_(a)}},ZUe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[Ow(t,r,!e),Pw(t,i,!n,{})].filter(Boolean);var Nne=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=XUe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([QUe(t),d]);return}let f=e$(c,r),p=T$({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([eFe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},XUe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!Mw({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=T$({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Gre(a,t,r,o)},QUe=async t=>{await JUe(),t.readableFlowing===null&&t.resume()},eFe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await vw(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await Tw(r,{maxBuffer:o})):await If(r,{maxBuffer:o})}catch(a){return kne(Gte({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},A$=async t=>{try{return await t}catch(e){return kne(e)}},kne=({bufferedData:t})=>o7(t)?new Uint8Array(t):t;import{finished as tFe}from"stream/promises";var z_=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=rFe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],tFe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||oFe(a,e,r,n)}finally{s.abort()}},rFe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&nFe(t,r,n),n},nFe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{iFe(e,r),n.call(t,...i)}},iFe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},oFe=(t,e,r,n)=>{if(!sFe(t,e,r,n))throw t},sFe=(t,e,r,n=!0)=>r.propagating?Mne(t)||zw(t):(r.propagating=!0,w$(r,e)===n?Mne(t):zw(t)),w$=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",zw=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Mne=t=>t?.code==="EPIPE";var Dne=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>x$({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),x$=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=z_(t,e,l);if(w$(l,e)){await u;return}let[d]=await Promise.all([Nne({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var Lne=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Bl([t,e].filter(Boolean)):void 0,$ne=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>x$({...aFe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:cFe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),aFe=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},cFe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as lFe}from"events";var Une=t=>Ef(t,"ipc"),Fne=(t,e)=>{let r=YA(t);go({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Bne=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Une(o),a=gs(e,"ipc"),c=gs(r,"ipc");for await(let l of l$({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(qte(t,i,c),i.push(l)),s&&Fne(l,o);return i},jne=async(t,e)=>(await Promise.allSettled([t]),e);var zne=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:S,controller:E})=>{let b=Yre(t,f),A={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:b,propagating:!1},y=Dne({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:A}),R=$ne({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:A}),P=[],O=Bne({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:P,verboseInfo:p}),N=uFe(m,t,A),I=dFe(h,A);try{return await Promise.race([Promise.all([{},Zre(b),Promise.all(y),R,O,Tte(t,d),...N,...I]),S,fFe(t,E),..._te(t,o,f,E),...Uee({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:E}),...mte({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:E})])}catch(L){return f.terminationReason??="other",Promise.all([{error:L},b,Promise.all(y.map(_=>A$(_))),A$(R),jne(O,P),Promise.allSettled(N),Promise.allSettled(I)])}},uFe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:z_(n,i,r)),dFe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Ni(o,{checkOpen:!1})&&!Ci(o)).map(({type:i,value:o,stream:s=o})=>z_(s,n,e,{isSameDirection:Qn.has(i),stopOnExit:i==="native"}))),fFe=async(t,{signal:e})=>{let[r]=await lFe(t,"error",{signal:e});throw r};var Gne=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),G_=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=_o();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},kf=async({resolve:t,promises:e},r)=>{t();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...e])]);return!n};import{Readable as pFe}from"stream";import{callbackify as hFe}from"util";import{finished as qne}from"stream/promises";var R$=async t=>{if(t!==void 0)try{await I$(t)}catch{}},Vne=async t=>{if(t!==void 0)try{await C$(t)}catch{}},I$=async t=>{await qne(t,{cleanup:!0,readable:!1,writable:!0})},C$=async t=>{await qne(t,{cleanup:!0,readable:!0,writable:!1})},Gw=async(t,e)=>{if(await t,e)throw e},qw=(t,e,r)=>{r&&!zw(r)?t.destroy(r):e&&t.destroy()};var Hne=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||Tn.has(r),{subprocessStdout:a,waitReadableDestroy:c}=P$(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=O$(a,s),{read:f,onStdoutDataDone:p}=N$({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new pFe({read:f,destroy:hFe(M$.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return k$({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},P$=(t,e,r)=>{let n=wf(t,e),i=G_(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},O$=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:b$},N$=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=_o(),s=jw({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){mFe(this,s,o)},onStdoutDataDone:o}},mFe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},k$=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await C$(t),await n,await R$(i),await e,r.readable&&r.push(null)}catch(o){await R$(i),Wne(r,o)}},M$=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await kf(r,e)&&(Wne(t,n),await Gw(e,n))},Wne=(t,e)=>{qw(t,t.readable,e)};import{Writable as gFe}from"stream";import{callbackify as Yne}from"util";var Kne=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=D$(t,r,e),s=new gFe({...L$(n,t,i),destroy:Yne(U$.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return $$(n,s),s},D$=(t,e,r)=>{let n=ow(t,e),i=G_(r,n,"writableFinal"),o=G_(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},L$=(t,e,r)=>({write:_Fe.bind(void 0,t),final:Yne(yFe.bind(void 0,t,e,r))}),_Fe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},yFe=async(t,e,r)=>{await kf(r,e)&&(t.writable&&t.end(),await e)},$$=async(t,e,r)=>{try{await I$(t),e.writable&&e.end()}catch(n){await Vne(r),Zne(e,n)}},U$=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await kf(r,e),await kf(n,e)&&(Zne(t,i),await Gw(e,i))},Zne=(t,e)=>{qw(t,t.writable,e)};import{Duplex as SFe}from"stream";import{callbackify as EFe}from"util";var Jne=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||Tn.has(r),{subprocessStdout:c,waitReadableDestroy:l}=P$(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=D$(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=O$(c,a),{read:S,onStdoutDataDone:E}=N$({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),b=new SFe({read:S,...L$(u,t,d),destroy:EFe(vFe.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return k$({subprocessStdout:c,onStdoutDataDone:E,readable:b,subprocess:t,subprocessStdin:u}),$$(u,b,c),b},vFe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([M$({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),U$({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var F$=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||Tn.has(e),s=wf(t,r),a=jw({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return TFe(a,s,t)},TFe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Xne=(t,{encoding:e})=>{let r=Gne();t.readable=Hne.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=Kne.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=Jne.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=F$.bind(void 0,t,e),t[Symbol.asyncIterator]=F$.bind(void 0,t,e,{})};var Qne=(t,e)=>{for(let[r,n]of AFe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},bFe=(async()=>{})().constructor.prototype,AFe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(bFe,t)]);var eie=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=RFe(t,e,r),{subprocess:f,promise:p}=CFe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=Bw.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),Qne(f,p),yo.set(f,{options:u,fileDescriptors:d}),f},RFe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=ZA(t,e,r),{file:a,commandArguments:c,options:l}=gw(t,e,r),u=IFe(l),d=dne(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},IFe=({timeout:t,signal:e,...r})=>{if(e!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:t}},CFe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=xFe(..._w(t,e,r))}catch(h){return ane({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;wFe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Ene(c,a,l),Tne(c,r,l);let d={},f=_o();c.kill=Lee.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=Lne(c,r),Xne(c,r),ine(c,r);let p=PFe({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},PFe=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,S]=await zne({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let E=h.map((y,R)=>ys(y,e,R)),b=ys(m,e,"all"),A=OFe({errorInfo:d,exitCode:f,signal:p,stdio:E,all:b,ipcOutput:S,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Pf(A,n,e)},OFe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?$_({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof So,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):ww({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var Vw=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,NFe(n,t[n],i)]));return{...t,...r}},NFe=(t,e,r)=>kFe.has(t)&&Ot(e)&&Ot(r)?{...e,...r}:r,kFe=new Set(["env",...mL]);var Ua=(t,e,r,n)=>{let i=(s,a,c)=>Ua(s,a,r,c),o=(...s)=>MFe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},MFe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(Ot(o))return i(t,Vw(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=DFe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?Xre(a,c,l):eie(a,c,l,i)},DFe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=d7(e)?f7(e,r):[e,...r],[s,a,c]=FA(...o),l=Vw(Vw(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var tie=({file:t,commandArguments:e})=>nie(t,e),rie=({file:t,commandArguments:e})=>({...nie(t,e),isSync:!0}),nie=(t,e)=>{if(e.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${t} ${e}.`);let[r,...n]=LFe(t);return{file:r,commandArguments:n}},LFe=t=>{if(typeof t!="string")throw new TypeError(`The command must be a string: ${String(t)}.`);let e=t.trim();if(e==="")return[];let r=[];for(let n of e.split($Fe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},$Fe=/ +/g;var iie=(t,e,r)=>{t.sync=e(UFe,r),t.s=t.sync},oie=({options:t})=>sie(t),UFe=({options:t})=>({...sie(t),isSync:!0}),sie=t=>({options:{...FFe(t),...t}}),FFe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},aie={preferLocal:!0};var cie=Ua(()=>({})),MAt=Ua(()=>({isSync:!0})),lie=Ua(tie),DAt=Ua(rie),LAt=Ua(Ste),$At=Ua(oie,{},aie,iie),{sendMessage:UAt,getOneMessage:FAt,getEachMessage:BAt,getCancelSignal:jAt}=one();var uie=!1,die=()=>{uie=!0},vo=()=>uie;var q_=null,fie=t=>(q_&&q_.destroy(),q_=new Ss({totalAllowedTime:t}),q_),pie=()=>q_;var Ss=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&vo())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await OA({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ce.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var hie={name:"@netlify/agent-runner-cli",type:"module",version:"1.163.0-PAW-328.7",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.5","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.8.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var GFe=jFe(import.meta.url),qFe=Es.dirname(GFe),VFe=zFe(import.meta.url),Mf=le("shell"),B$=new Set,mie={preferLocal:!0},zt=(t,e,r)=>{let[n,i]=HFe(e,r),o={...mie,...i},s=cie(t,n,o);_ie(s,o),Eie(s);let a=r?.idleTimeout;return a&&a>0&&Sie(s,a),s},gie=(t,e)=>{let r={...mie,...e},n=lie(t,r);return _ie(n,r),Eie(n),e?.idleTimeout&&e.idleTimeout>0&&Sie(n,e.idleTimeout),n},HFe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},_ie=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(vs.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new y_).pipe(vs.stdout),t.stderr?.pipe(new y_).pipe(vs.stderr);return}t.stdout?.pipe(vs.stdout),t.stderr?.pipe(vs.stderr)},j$=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(vs.kill(-t.pid,e),Mf.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Mf.error("Error killing process:",r),!1}},yie=t=>j$(t,"SIGKILL"),Sie=(t,e)=>{let r=null,n=()=>{Mf.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),j$(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Mf.log(`Force killing idle process ${t.pid}`),yie(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Eie=t=>{B$.add(t);let e=pie();if(e){let r=e.onTimesUp(()=>{Mf.log(`Global timer expired, killing process ${t.pid}`),j$(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Mf.log(`Force killing process ${t.pid} after timeout`),yie(t))},5e3)});t.on("exit",()=>{B$.delete(t),r()}),t.on("error",()=>{B$.delete(t),r()})}};function Ww(t,e){return!!ki(t,e)}function ki(t,e){if(!vs.env.NETLIFY_LOCAL_MODE)try{let i=VFe.resolve(hie.name),o=Es.dirname(i);for(;o!==Es.dirname(o);){let s=Es.dirname(o);if(Es.basename(s)==="node_modules"){let a=Es.join(s,".bin",e);if(Hw.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(vs.env.NODE_PATH){let i=Es.join(vs.env.NODE_PATH,".bin",e);if(Hw.existsSync(i))return i}let r=Es.join(t,"node_modules",".bin",e);if(Hw.existsSync(r))return r;let n=Es.join(qFe,"..","node_modules",".bin",e);if(Hw.existsSync(n))return n}var WFe=le("utils"),YFe=t=>new Promise(e=>{setTimeout(e,t)});var z$=t=>{try{return new URL(t).hostname||null}catch{return null}},Yw=(t,e=3e3)=>{let r=!1,n=null,i=[],o=null,s=(...a)=>{if(r)return n=a,new Promise(u=>{i.push(u)});r=!0;let c,l=new Promise(u=>{c=u});return o=(async()=>{await Promise.resolve();let u=await t(...a);for(c(u);;){if(await YFe(e),!n)return r=!1,o=null,u;let d=n,f=i;n=null,i=[],u=await t(...d),f.forEach(p=>{p(u)})}})(),l};return s.flush=async()=>{if((r||n)&&o)return await o,s.flush()},s.cancel=()=>{n=null,i.forEach(a=>a(void 0)),i=[]},s},Fa=(t,e,r=!1)=>{let n=null,i=null,o=null,s=function(...a){i=a,o=this;let c=r&&!n;clearTimeout(n),n=setTimeout(()=>{n=null,r||(t.apply(o,i),i=null,o=null)},e),c&&(t.apply(o,i),i=null,o=null)};return s.cancel=()=>{clearTimeout(n),n=null,i=null,o=null},s.flush=()=>{if(n){clearTimeout(n);let a=i,c=o;n=null,i=null,o=null,t.apply(c,a)}},s},vie=(t,e=!0,r)=>{if(t)try{return JSON.parse(t)}catch(n){e&&(r?.error?r.error("Could not parse JSON",n):WFe.error("Could not parse JSON",n))}},KFe=t=>t.charAt(0).toUpperCase()+t.slice(1),To=t=>t.split("-").map(e=>e.length===2?e.toUpperCase():KFe(e)).join(" ");function Ts(t,e){e&&t.log(`Skill invoked: ${e}`)}var Kw=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),Tie=(t,e,r=!1)=>{if(r)return;let n=60,i=55,o=".netlify.app",s="agent-",a=6;if(!e)return`${s}${t.slice(0,a)}`;let c=`--${e}${o}`;if(c.length>i)return"";let l=n-c.length;if(l<=0)return"";if(l>=s.length+a){let u=Math.min(l-s.length,t.length);return`${s}${t.slice(0,u)}`}return t.slice(0,l)};var G$=t=>{let e=t.match(/<<-?\s*['"]?(\w+)['"]?/);if(!e)return{command:t};let r=t.indexOf(e[0]),n=t.slice(r+e[0].length).trim();return{command:t.slice(0,r).trim(),heredocContent:n||void 0}},ZFe=1e4,q$=(t,e=ZFe)=>{if(!t||typeof t!="string"||t.length<=e)return t;let n=t.startsWith("```")?"\n... [truncated]\n```":"... [truncated]";return t.slice(0,e)+n};import{createHash as JFe}from"crypto";import{createReadStream as XFe}from"fs";import Zw from"fs/promises";import Rie from"os";import Jw from"path";var bie=le("repo"),Iie="runner-diffs-",Cie=t=>`${Iie}${t}-`,Pie=async t=>{let e=Rie.tmpdir(),r;try{r=await Zw.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(Iie)&&!n.startsWith(Cie(t))).map(n=>Zw.rm(Jw.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},nn=(t,e={})=>zt("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),Xw=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{bie.info("Getting runner diffs");let n=await eBe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let h=rBe(o);await nBe(h,r)}bie.info("Changes after processing"),await H$(r);let s=await W$(o,r);if(await V$(s,r),i=await tBe(r),!i)return{hasChanges:!1,ignored:s};await nn(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await Zw.mkdtemp(Jw.join(Rie.tmpdir(),Cie(t.sessionId))),c=async({from:h,to:m,fileName:S,binary:E})=>{let b=Jw.join(a,S);await nn([...E?["diff",h,m,"--binary"]:["diff",h,m],`--output=${b}`],{stdio:["ignore","ignore","pipe"],cwd:r});let{size:y}=await Zw.stat(b);return{path:b,size:y}},l=await c({from:t.runSha,to:"HEAD",fileName:"session.patch"});if(i=l.size>0,!i)return await xie(r),{hasChanges:!1,ignored:s};let u=await c({from:t.runSha,to:"HEAD",fileName:"session-binary.patch",binary:!0}),d,f;if(t.sha){d=await c({from:t.sha,to:"HEAD",fileName:"cumulative.patch"});let h=await c({from:t.sha,to:"HEAD",fileName:"cumulative-binary.patch",binary:!0});await wie(d,h)||(f=h)}await xie(r),ce.distribution("diff.size",u.size);let p={hasChanges:!0,diff:l,resultDiff:d,ignored:s};return await wie(l,u)||(p.diffBinary=u),f&&(p.resultDiffBinary=f),p},Aie=async t=>{let e=JFe("sha256");for await(let r of XFe(t))e.update(r);return e.digest("hex")},wie=async(t,e)=>t.size===e.size&&await Aie(t.path)===await Aie(e.path),xie=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await nn(["reset","--soft","HEAD~1"],{cwd:t})},V$=async(t=[],e=process.cwd())=>{await nn(["add",".",...t],{cwd:e})},H$=async(t=process.cwd())=>{let e=await nn(["status","-s"],{cwd:t});return String(e.stdout??"")},Oie=/.. (.+)?\.log$/,QFe=[Oie],eBe=async(t=process.cwd())=>{let e=await H$(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
116
116
  `).filter(i=>QFe.some(s=>s instanceof RegExp?s.test(i):i===s)?!1:i[1]?.trim()!=="")).length!==0,status:e}},tBe=async(t=process.cwd())=>{try{return await nn(["diff","--staged","--quiet"],{cwd:t}),!1}catch{return!0}},V_=async(t=process.cwd())=>{let{stdout:e}=await nn(["rev-parse","HEAD"],{cwd:t});return String(e??"").trim()},Nie=async(t=process.cwd())=>{let{stdout:e}=await nn(["rev-list","--max-parents=0","HEAD"],{cwd:t});return String(e??"").trim()},W$=async(t,e=process.cwd())=>{t||=await H$(e);let r=[".netlify","node_modules","dist",".next","out",".nuxt",".output",".cache",".turbo",".parcel-cache","coverage",".nyc_output","storybook-static","public/build","CLAUDE.local.md"],n=[];return t.split(`
117
117
  `).forEach(i=>{r.forEach(s=>{let a=i===`?? ${s}`,c=i.startsWith(`?? ${s}/`)||i.startsWith(`?? ${s}${Jw.sep}`);(a||c)&&n.push(`:!${s}`)});let o=i.match(Oie)?.[1];o&&n.push(`:!${o}.log`)}),n},kie=async(t=process.cwd())=>{await nn(["reset","--hard","HEAD"],{cwd:t})},Mie=async(t=process.cwd())=>{let e=await nn(["clean","-fd","-e",".netlify"],{stdio:["ignore","pipe","pipe"],cwd:t});return String(e.stdout??"").split(`
118
118
  `).filter(r=>r.startsWith("Removing ")).map(r=>r.slice(9))},rBe=t=>{let e=t.split(`
@@ -339,25 +339,25 @@ Replace \`<template-id>\` with the matching template \`id\`. Include \`--package
339
339
  `,1);return/^(Async agent launched successfully|Agent launched in background)/.test(e)||/\(internal ID:?\s*[\w./-]+\)/i.test(e)},qce=new Set(["SendMessage","ToolSearch","TaskList","TaskGet","EnterPlanMode","TaskStop"]);var zr=le("runner_claude"),Xy="Claude Code",Hce="claude-opus-5",F2="claude-sonnet-5",kGe={[XD]:"claude-sonnet-5"};async function MGe({aiGateway:t,config:e,model:r}){let n=r;if(t)if(e.modelVersionOverrides?.claude){let i=e.modelVersionOverrides?.claude?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("anthropic",i))throw new Error(`Model override '${i}' is not available for anthropic provider`);n=i}}else if(r){if(!await t.isModelAvailableForProvider("anthropic",r))throw new Error(`Model '${r}' is not available for anthropic provider`)}else{let i=kGe[e.accountType],o=i||Hce;!!o&&await t.isModelAvailableForProvider("anthropic",o)?(zr.log(`Using ${i?"account override":"default"} model: ${o}`),n=o):o&&zr.log(`Model ${o} is not available, proceeding without model specification`)}return n}function DGe({aiGateway:t}){if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");return{...Vp.env,ANTHROPIC_API_KEY:e,ANTHROPIC_BASE_URL:r}}if(!Vp.env.ANTHROPIC_API_KEY)throw new Error("ANTHROPIC_API_KEY is not provided");return{...Vp.env}}async function LGe(){let t=Qy.join(Vp.cwd(),"AGENTS.md");try{await qp.access(t)}catch{return}let e=Qy.join(Vp.cwd(),"CLAUDE.local.md"),r="@AGENTS.md";try{if((await qp.readFile(e,"utf-8")).includes(r))return;await qp.appendFile(e,`
340
340
  ${r}
341
341
  `)}catch{await qp.writeFile(e,`${r}
342
- `)}zr.log("Added @AGENTS.md import to CLAUDE.local.md")}async function B2({config:t,netlify:e,persistSteps:r,aiGateway:n,continueSession:i,priorAgentSessionId:o,cwd:s=Vp.cwd(),cliPath:a="netlify",abortSignal:c,onSessionId:l,forceLowEffortForCreditWrapUp:u}){let d=t,{prompt:f}=d,{model:p}=t,h="";await LGe();let m=DGe({aiGateway:n}),S=await MGe({config:t,aiGateway:n,model:p});u&&S?.includes("fable")&&(!n||await n.isModelAvailableForProvider("anthropic",F2))&&(zr.log(`Credit wrap-up: downgrading model ${S} to ${F2}`),S=F2);let E=[],b=[],A={},y=new Set,R=[],P=X=>X?.match(/task\s+#([\w-]+)\s+created/i)?.[1],O=X=>{if(typeof X=="string")return X;if(Array.isArray(X))return X.filter(Y=>Y?.type==="text"&&typeof Y.text=="string").map(Y=>Y.text).join(`
343
- `)||void 0},N=(X,q)=>{let Y=X.input||{};if(X.name==="TaskCreate"){R.push({id:P(q),subject:typeof Y.subject=="string"?Y.subject:"",activeForm:typeof Y.activeForm=="string"?Y.activeForm:void 0,status:"pending"});return}let pe=typeof Y.taskId=="string"?Y.taskId:void 0,Ce=pe===void 0?void 0:R.find(Ze=>Ze.id===pe);if(!Ce&&typeof Y.subject=="string"){let Ze=R.filter(Ht=>Ht.subject===Y.subject);Ze.length===1&&(Ce=Ze[0])}if(Y.status==="deleted"){Ce&&R.splice(R.indexOf(Ce),1);return}if(!Ce){if(pe===void 0||typeof Y.subject!="string"&&typeof Y.activeForm!="string")return;Ce={id:pe,subject:"",status:"pending"},R.push(Ce)}typeof Y.status=="string"&&(Ce.status=Y.status),typeof Y.subject=="string"&&(Ce.subject=Y.subject),typeof Y.activeForm=="string"&&(Ce.activeForm=Y.activeForm)},I=()=>R.map(X=>({name:X.status==="in_progress"&&X.activeForm||X.subject,value:X.status})),L=0,_=0,ee,k,g,v,C="",Z="mode"in t&&t.mode==="create"&&t.accountType===XD,z="mode"in t&&t.mode==="ask",he=Za({creditWrapUpTurn:u}),ke=ze().creditWrapUpEnabled&&lu(t),xe=Z&&!ke,Ie=["ExitPlanMode","EnterPlanMode","AskUserQuestion"];xe&&Ie.push("TodoWrite","TaskCreate","TaskUpdate","TaskList","TaskGet"),z&&(Ie.push("Edit","Write","NotebookEdit","EnterWorktree","Bash(git push:*)","Bash(netlify deploy:*)"),fp(t)||Ie.push(...Px(a).map(X=>`Bash(${X}:*)`)));let we=up("claude",t.effort);t.effort&&!we&&zr.log(`Effort '${t.effort}' is not available on ${Xy}; using its default`);let Oe=u||xe?"low":we??"high",Re=ki(s,"claude");if(!Re)throw new Error("Claude CLI binary not found");let de=he?await koe():void 0,ye=["--permission-mode","bypassPermissions","--dangerously-skip-permissions","--output-format","stream-json","--verbose","--disallowed-tools",Ie.join(","),...de?.args??[],"--effort",Oe,...S?["--model",S]:[],...i?o?["--resume",o]:["--continue"]:[],"-p"];zr.log(`Running ${Re} ${ye.join(" ")}`);let Ue=e.utils.run(Re,ye,{all:!0,env:m,cwd:s,idleTimeout:ps,cancelSignal:c});Ue.stdin?.end(f);let V=Fa(()=>{r?.({steps:E,duration:_})},250),oe=(X,q)=>{let{wrapMessage:Y,...pe}=X,Ce=Kw({...pe,id:L});Ce.message&&(Ce.message=Ce.message.replace(/\n?<system-reminder>.+?<\/system-reminder>\n?/gs,"").trim(),Y&&Ce.message&&(Ce.message=`\`\`\`
342
+ `)}zr.log("Added @AGENTS.md import to CLAUDE.local.md")}async function B2({config:t,netlify:e,persistSteps:r,aiGateway:n,continueSession:i,priorAgentSessionId:o,cwd:s=Vp.cwd(),cliPath:a="netlify",abortSignal:c,onSessionId:l,forceLowEffortForCreditWrapUp:u}){let d=t,{prompt:f}=d,{model:p}=t,h="";await LGe();let m=DGe({aiGateway:n}),S=await MGe({config:t,aiGateway:n,model:p});u&&S?.includes("fable")&&(!n||await n.isModelAvailableForProvider("anthropic",F2))&&(zr.log(`Credit wrap-up: downgrading model ${S} to ${F2}`),S=F2);let E=[],b=[],A={},y=new Set,R=[],P=X=>X?.match(/task\s+#([\w-]+)\s+created/i)?.[1],O=X=>{if(typeof X=="string")return X;if(Array.isArray(X))return X.filter(K=>K?.type==="text"&&typeof K.text=="string").map(K=>K.text).join(`
343
+ `)||void 0},N=(X,q)=>{let K=X.input||{};if(X.name==="TaskCreate"){R.push({id:P(q),subject:typeof K.subject=="string"?K.subject:"",activeForm:typeof K.activeForm=="string"?K.activeForm:void 0,status:"pending"});return}let pe=typeof K.taskId=="string"?K.taskId:void 0,Ce=pe===void 0?void 0:R.find(Ze=>Ze.id===pe);if(!Ce&&typeof K.subject=="string"){let Ze=R.filter(Ht=>Ht.subject===K.subject);Ze.length===1&&(Ce=Ze[0])}if(K.status==="deleted"){Ce&&R.splice(R.indexOf(Ce),1);return}if(!Ce){if(pe===void 0||typeof K.subject!="string"&&typeof K.activeForm!="string")return;Ce={id:pe,subject:"",status:"pending"},R.push(Ce)}typeof K.status=="string"&&(Ce.status=K.status),typeof K.subject=="string"&&(Ce.subject=K.subject),typeof K.activeForm=="string"&&(Ce.activeForm=K.activeForm)},I=()=>R.map(X=>({name:X.status==="in_progress"&&X.activeForm||X.subject,value:X.status})),L=0,_=0,ee,k,g,v,C="",Z="mode"in t&&t.mode==="create"&&t.accountType===XD,z="mode"in t&&t.mode==="ask",he=Za({creditWrapUpTurn:u}),ke=ze().creditWrapUpEnabled&&lu(t),xe=Z&&!ke,Ie=["ExitPlanMode","EnterPlanMode","AskUserQuestion"];xe&&Ie.push("TodoWrite","TaskCreate","TaskUpdate","TaskList","TaskGet"),z&&(Ie.push("Edit","Write","NotebookEdit","EnterWorktree","Bash(git push:*)","Bash(netlify deploy:*)"),fp(t)||Ie.push(...Px(a).map(X=>`Bash(${X}:*)`)));let we=up("claude",t.effort);t.effort&&!we&&zr.log(`Effort '${t.effort}' is not available on ${Xy}; using its default`);let Oe=u||xe?"low":we??"high",Re=ki(s,"claude");if(!Re)throw new Error("Claude CLI binary not found");let de=he?await koe():void 0,ye=["--permission-mode","bypassPermissions","--dangerously-skip-permissions","--output-format","stream-json","--verbose","--disallowed-tools",Ie.join(","),...de?.args??[],"--effort",Oe,...S?["--model",S]:[],...i?o?["--resume",o]:["--continue"]:[],"-p"];zr.log(`Running ${Re} ${ye.join(" ")}`);let Ue=e.utils.run(Re,ye,{all:!0,env:m,cwd:s,idleTimeout:ps,cancelSignal:c});Ue.stdin?.end(f);let V=Fa(()=>{r?.({steps:E,duration:_})},250),oe=(X,q)=>{let{wrapMessage:K,...pe}=X,Ce=Kw({...pe,id:L});Ce.message&&(Ce.message=Ce.message.replace(/\n?<system-reminder>.+?<\/system-reminder>\n?/gs,"").trim(),K&&Ce.message&&(Ce.message=`\`\`\`
344
344
  ${Ce.message}
345
- \`\`\``)),L+=1,b.push(Ce),E.push(Ce),q||V.flush(),V(),q&&V.flush()},D=S||Hce,x=xe?`Using ${Xy} with ${D} and low effort because you are reaching your user limit`:`Using ${Xy} with ${D}`;t.answeredInteraction||oe({title:x,category:W.Environment},!0);let F=NGe.createInterface({input:Ue.all});F.on("error",X=>{zr.error("Readline interface error",{error:X.message,stack:X.stack})}),F.on("line",X=>{let q=null;try{q=JSON.parse(X)}catch{zr.log("Could not parse line",X)}q?.session_id&&q.session_id!==h&&(h=q.session_id,l?.(h)),Array.isArray(q?.message?.content)?q.message.content.forEach(Y=>{switch(Y.type){case"text":{if(Y.text){if(Y.text.startsWith("Base directory for this skill:")||Y.text.startsWith("This session is being continued from a previous conversation"))break;q.message?.role!=="user"&&(C=Y.text),oe({message:Y.text,category:q.message?.role==="user"?W.SubagentPrompt:W.AgentMessage,parentGroupId:q.parent_tool_use_id||void 0})}break}case"image":{typeof Y.source=="object"&&Y.source&&Y.source.type==="base64"&&Y.source.media_type?oe({message:`![](data:${Y.source.media_type};base64,${Y.source.data})`,category:W.AgentMessage,parentGroupId:q.parent_tool_use_id||void 0}):zr.log(`Unsupported image type ${Y.source?.type}`,Y.source);break}case"tool_use":{if(Y.name&&!Ls[Y.name]&&!y.has(Y.name)&&(y.add(Y.name),zr.log(`Unmapped tool in stream: ${Y.name}`)),U2(Y.name)){let pe=Y.input?.description&&`\`${Y.input.description}\``;oe({title:[Jy(Y.name),pe].filter(Boolean).join(" "),category:Ls[Y.name]?.category,groupId:Y.id,parentGroupId:q.parent_tool_use_id||void 0})}else Y.name==="Bash"&&Ds(Y.input?.command)&&oe({title:"Generating the site",category:W.SiteGeneration,groupId:Y.id,parentGroupId:q.parent_tool_use_id||void 0});if(Y.name===I1&&Y.id&&!v){let pe=ac.safeParse(Y.input);pe.success?(v={questions:pe.data.questions},Ue.kill()):(zr.warn("Ignoring malformed ask tool input",{toolUseId:Y.id,issues:cc(pe.error.issues)}),ce.inc("inference.malformed_ask",1))}Y.id&&(A[Y.id]=Y),V.flush();break}case"tool_result":{let pe=Y.tool_use_id?A[Y.tool_use_id]:void 0;if(pe?.name===I1)break;let Ce=U2(pe?.name),Ze=pe?.name==="Bash"&&Ds(pe?.input?.command);if(pe?.name==="Skill"&&pe?.input?.skill){let Ut=To(pe.input.skill?.toString());Ts(zr,Ut),oe({title:`Use ${Ut}`,category:W.Skill,type:pe.input.skill?.toString(),parentGroupId:q.parent_tool_use_id||void 0},!0);break}if(pe?.name==="TodoWrite"){let{name:Ut,category:At}=Ls.TodoWrite;oe({title:Ut,category:At,parentGroupId:q.parent_tool_use_id||void 0,tasks:q.tool_use_result?.newTodos?.map(ta=>({name:ta.status==="in_progress"?ta.activeForm:ta.content,value:ta.status}))},!0);break}if(pe?.name==="TaskCreate"||pe?.name==="TaskUpdate"){Y.is_error||N(pe,O(Y.content)),oe({title:Jy(pe.name),category:W.Todo,parentGroupId:q.parent_tool_use_id||void 0,tasks:I()},!0);break}if(pe?.name&&qce.has(pe.name)){let Ut=Ls[pe.name]?.category||W.Tool,At=Ut===W.Todo&&R.length>0;oe({title:Jy(pe.name),category:Ut===W.Todo&&!At?W.Tool:Ut,parentGroupId:q.parent_tool_use_id||void 0,...At?{tasks:I()}:{}},!0);break}let Ht=!!(pe?.name&&Ls[pe.name]),Un;if(!Ce&&!Ze&&pe){let Ut=pe.input?.file_path&&Qy.relative(s,pe.input.file_path);Ut||(Ut=pe.input?.pattern||pe.input?.command);let At=Ut&&`\`${Ut}\``;Un=[Jy(pe.name||""),At].filter(Boolean).join(" ")}else!Ce&&!Ze&&!pe&&(Un="Tool result");let _P=["Bash","Glob","Grep","LS","Read","Edit","Write","TaskOutput"].includes(pe?.name||"")||!Ce&&!Ze&&!Ht,Yu=q.parent_tool_use_id||void 0;!Yu&&(Ce||Ze)&&(Yu=Y.tool_use_id);let Hc,Ku=Ce&&q.tool_use_result?.content||Y.content;if(typeof Ku=="string")Hc=Ku;else if(Array.isArray(Ku)){let Ut=[];Ku.forEach(At=>{At?.type==="text"&&typeof At.text=="string"?Ut.push(At.text):At?.type==="image"&&typeof At.source=="object"&&At.source?At.source.type==="base64"&&At.source.media_type?Ut.push(`![](data:${At.source.media_type};base64,${At.source.data})`):zr.log(`Unsupported image type ${At.source.type}`,At.source):zr.log(`Unsupported block type ${At?.type}`)}),Hc=Ut.join(`
345
+ \`\`\``)),L+=1,b.push(Ce),E.push(Ce),q||V.flush(),V(),q&&V.flush()},D=S||Hce,x=xe?`Using ${Xy} with ${D} and low effort because you are reaching your user limit`:`Using ${Xy} with ${D}`;t.answeredInteraction||oe({title:x,category:W.Environment},!0);let F=NGe.createInterface({input:Ue.all});F.on("error",X=>{zr.error("Readline interface error",{error:X.message,stack:X.stack})}),F.on("line",X=>{let q=null;try{q=JSON.parse(X)}catch{zr.log("Could not parse line",X)}q?.session_id&&q.session_id!==h&&(h=q.session_id,l?.(h)),Array.isArray(q?.message?.content)?q.message.content.forEach(K=>{switch(K.type){case"text":{if(K.text){if(K.text.startsWith("Base directory for this skill:"))break;q.message?.role!=="user"&&(C=K.text),oe({message:K.text,category:q.message?.role==="user"?W.SubagentPrompt:W.AgentMessage,parentGroupId:q.parent_tool_use_id||void 0})}break}case"image":{typeof K.source=="object"&&K.source&&K.source.type==="base64"&&K.source.media_type?oe({message:`![](data:${K.source.media_type};base64,${K.source.data})`,category:W.AgentMessage,parentGroupId:q.parent_tool_use_id||void 0}):zr.log(`Unsupported image type ${K.source?.type}`,K.source);break}case"tool_use":{if(K.name&&!Ls[K.name]&&!y.has(K.name)&&(y.add(K.name),zr.log(`Unmapped tool in stream: ${K.name}`)),U2(K.name)){let pe=K.input?.description&&`\`${K.input.description}\``;oe({title:[Jy(K.name),pe].filter(Boolean).join(" "),category:Ls[K.name]?.category,groupId:K.id,parentGroupId:q.parent_tool_use_id||void 0})}else K.name==="Bash"&&Ds(K.input?.command)&&oe({title:"Generating the site",category:W.SiteGeneration,groupId:K.id,parentGroupId:q.parent_tool_use_id||void 0});if(K.name===I1&&K.id&&!v){let pe=ac.safeParse(K.input);pe.success?(v={questions:pe.data.questions},Ue.kill()):(zr.warn("Ignoring malformed ask tool input",{toolUseId:K.id,issues:cc(pe.error.issues)}),ce.inc("inference.malformed_ask",1))}K.id&&(A[K.id]=K),V.flush();break}case"tool_result":{let pe=K.tool_use_id?A[K.tool_use_id]:void 0;if(pe?.name===I1)break;let Ce=U2(pe?.name),Ze=pe?.name==="Bash"&&Ds(pe?.input?.command);if(pe?.name==="Skill"&&pe?.input?.skill){let Ut=To(pe.input.skill?.toString());Ts(zr,Ut),oe({title:`Use ${Ut}`,category:W.Skill,type:pe.input.skill?.toString(),parentGroupId:q.parent_tool_use_id||void 0},!0);break}if(pe?.name==="TodoWrite"){let{name:Ut,category:At}=Ls.TodoWrite;oe({title:Ut,category:At,parentGroupId:q.parent_tool_use_id||void 0,tasks:q.tool_use_result?.newTodos?.map(ta=>({name:ta.status==="in_progress"?ta.activeForm:ta.content,value:ta.status}))},!0);break}if(pe?.name==="TaskCreate"||pe?.name==="TaskUpdate"){K.is_error||N(pe,O(K.content)),oe({title:Jy(pe.name),category:W.Todo,parentGroupId:q.parent_tool_use_id||void 0,tasks:I()},!0);break}if(pe?.name&&qce.has(pe.name)){let Ut=Ls[pe.name]?.category||W.Tool,At=Ut===W.Todo&&R.length>0;oe({title:Jy(pe.name),category:Ut===W.Todo&&!At?W.Tool:Ut,parentGroupId:q.parent_tool_use_id||void 0,...At?{tasks:I()}:{}},!0);break}let Ht=!!(pe?.name&&Ls[pe.name]),Un;if(!Ce&&!Ze&&pe){let Ut=pe.input?.file_path&&Qy.relative(s,pe.input.file_path);Ut||(Ut=pe.input?.pattern||pe.input?.command);let At=Ut&&`\`${Ut}\``;Un=[Jy(pe.name||""),At].filter(Boolean).join(" ")}else!Ce&&!Ze&&!pe&&(Un="Tool result");let _P=["Bash","Glob","Grep","LS","Read","Edit","Write","TaskOutput"].includes(pe?.name||"")||!Ce&&!Ze&&!Ht,Yu=q.parent_tool_use_id||void 0;!Yu&&(Ce||Ze)&&(Yu=K.tool_use_id);let Hc,Ku=Ce&&q.tool_use_result?.content||K.content;if(typeof Ku=="string")Hc=Ku;else if(Array.isArray(Ku)){let Ut=[];Ku.forEach(At=>{At?.type==="text"&&typeof At.text=="string"?Ut.push(At.text):At?.type==="image"&&typeof At.source=="object"&&At.source?At.source.type==="base64"&&At.source.media_type?Ut.push(`![](data:${At.source.media_type};base64,${At.source.data})`):zr.log(`Unsupported image type ${At.source.type}`,At.source):zr.log(`Unsupported block type ${At?.type}`)}),Hc=Ut.join(`
346
346
 
347
- `)}if(Ce&&Hc&&Gce(Hc)){oe({title:"Running in background",category:W.Task,parentGroupId:Yu},!0);break}oe({title:Un,message:Hc,wrapMessage:_P,category:Ce?W.AgentMessage:Ze?W.SiteGeneration:Ls[pe?.name??""]?.category||W.Tool,parentGroupId:Yu},!0);break}case"thinking":{Y.thinking&&oe({title:"Reasoning",message:Y.thinking,category:W.Reasoning,parentGroupId:q.parent_tool_use_id||void 0},!0);break}default:zr.log(`Message content type is not supported ${Y.type}`,Y)}}):q?.type==="result"&&(_=q.duration_ms||0,q.is_error?v||(k=q.result):ee=q.result,q.usage&&(ka(q.usage,S?{model:S}:{}),g=q.usage),[b,E].forEach(Y=>{Y[Y.length-1]?.message===ee&&Y.pop()}))});let j=!1;if(await Ue.catch(X=>{j=Ya(X,c),{error:k,result:ee}=dp({catchError:X,runCmd:Ue,error:k,result:ee,runnerName:"Claude"})}),de&&await qp.rm(de.mcpConfigPath,{force:!0}).catch(()=>{}),F.close(),V.flush(),v)return{steps:b,duration:_,agentSessionId:h,resolvedModel:S,effort:Oe,usage:g,pendingInteraction:v};let H=j;return H&&(!ee&&C.trim()&&(ee=C.trim()),k=void 0),{steps:b,duration:_,result:await lc({initialResult:ee,agentName:Xy,hasError:!!k}),error:uc({error:k,agentName:Xy}),isRetryableError:dc(k),isProviderUnavailableError:fc(k),agentSessionId:h,resolvedModel:S,effort:Oe,usage:g,...H?{aborted:!0}:{}}}var Wce=async()=>{let t=Qy.join(Vce.homedir(),".claude");await qp.rm(t,{recursive:!0,force:!0})},Yce={baseDir:Qy.join(Vce.homedir(),".claude"),include:["projects"]};import TS from"fs/promises";import bS from"os";import Pc from"path";import Hs from"process";import aqe from"readline";function Ae(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r}function U(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)}var j2=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return j2=t.randomUUID.bind(t),t.randomUUID();let e=new Uint8Array(1),r=t?()=>t.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,n=>(+n^r()&15>>+n/4).toString(16))};function eS(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var tS=t=>{if(t instanceof Error)return t;if(typeof t=="object"&&t!==null){try{if(Object.prototype.toString.call(t)==="[object Error]"){let e=new Error(t.message,t.cause?{cause:t.cause}:{});return t.stack&&(e.stack=t.stack),t.cause&&!e.cause&&(e.cause=t.cause),t.name&&(e.name=t.name),e}}catch{}try{return new Error(JSON.stringify(t))}catch{}}return new Error(t)};var _e=class extends Error{},Rt=class t extends _e{constructor(e,r,n,i){super(`${t.makeMessage(e,r,n)}`),this.status=e,this.headers=i,this.requestID=i?.get("x-request-id"),this.error=r;let o=r;this.code=o?.code,this.param=o?.param,this.type=o?.type}static makeMessage(e,r,n){let i=r?.message?typeof r.message=="string"?r.message:JSON.stringify(r.message):r?JSON.stringify(r):n;return e&&i?`${e} ${i}`:e?`${e} status code (no body)`:i||"(no status code or body)"}static generate(e,r,n,i){if(!e||!i)return new pc({message:n,cause:tS(r)});let o=r?.error;return e===400?new Hp(e,o,n,i):e===401?new Wp(e,o,n,i):e===403?new Yp(e,o,n,i):e===404?new Kp(e,o,n,i):e===409?new Zp(e,o,n,i):e===422?new Jp(e,o,n,i):e===429?new Xp(e,o,n,i):e>=500?new Qp(e,o,n,i):new t(e,o,n,i)}},Dt=class extends Rt{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},pc=class extends Rt{constructor({message:e,cause:r}){super(void 0,void 0,e||"Connection error.",void 0),r&&(this.cause=r)}},hc=class extends pc{constructor({message:e}={}){super({message:e??"Request timed out."})}},Hp=class extends Rt{},Wp=class extends Rt{},Yp=class extends Rt{},Kp=class extends Rt{},Zp=class extends Rt{},Jp=class extends Rt{},Xp=class extends Rt{},Qp=class extends Rt{},eh=class extends _e{constructor(){super("Could not parse response content as the length limit was reached")}},th=class extends _e{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},Io=class extends Error{constructor(e){super(e)}},du=class extends Rt{constructor(e,r,n){let i="OAuth2 authentication error",o;if(r&&typeof r=="object"){let s=r;o=s.error;let a=s.error_description;a&&typeof a=="string"?i=a:o&&(i=o)}super(e,r,i,n),this.error_code=o}},rS=class extends _e{constructor(e,r,n){super(e),this.provider=r,this.cause=n}};var UGe=/^[a-z][a-z0-9+.-]*:/i,Kce=t=>UGe.test(t),br=t=>(br=Array.isArray,br(t)),z2=br;function G2(t){return typeof t!="object"?{}:t??{}}function q2(t){if(!t)return!0;for(let e in t)return!1;return!0}function Zce(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function nS(t){return t!=null&&typeof t=="object"&&!Array.isArray(t)}var Jce=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new _e(`${t} must be an integer`);if(e<0)throw new _e(`${t} must be a positive integer`);return e};var Xce=t=>{try{return JSON.parse(t)}catch{return}};var Co=t=>new Promise(e=>setTimeout(e,t));var mc="6.34.0";var rle=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function FGe(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var BGe=()=>{let t=FGe();if(t==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":ele(Deno.build.os),"X-Stainless-Arch":Qce(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(t==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":ele(globalThis.process.platform??"unknown"),"X-Stainless-Arch":Qce(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let e=jGe();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function jGe(){if(typeof navigator>"u"||!navigator)return null;let t=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:r}of t){let n=r.exec(navigator.userAgent);if(n){let i=n[1]||0,o=n[2]||0,s=n[3]||0;return{browser:e,version:`${i}.${o}.${s}`}}}return null}var Qce=t=>t==="x32"?"x32":t==="x86_64"||t==="x64"?"x64":t==="arm"?"arm":t==="aarch64"||t==="arm64"?"arm64":t?`other:${t}`:"unknown",ele=t=>(t=t.toLowerCase(),t.includes("ios")?"iOS":t==="android"?"Android":t==="darwin"?"MacOS":t==="win32"?"Windows":t==="freebsd"?"FreeBSD":t==="openbsd"?"OpenBSD":t==="linux"?"Linux":t?`Other:${t}`:"Unknown"),tle,nle=()=>tle??(tle=BGe());function _I(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function V2(...t){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...t)}function yI(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return V2({start(){},async pull(r){let{done:n,value:i}=await e.next();n?r.close():r.enqueue(i)},async cancel(){await e.return?.()}})}function H2(t){if(t[Symbol.asyncIterator])return t;let e=t.getReader();return{async next(){try{let r=await e.read();return r?.done&&e.releaseLock(),r}catch(r){throw e.releaseLock(),r}},async return(){let r=e.cancel();return e.releaseLock(),await r,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function W2(t){if(t===null||typeof t!="object")return;if(t[Symbol.asyncIterator]){await t[Symbol.asyncIterator]().return?.();return}let e=t.getReader(),r=e.cancel();e.releaseLock(),await r}var ole=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)});var Y2="RFC3986",K2=t=>String(t),Z2={RFC1738:t=>String(t).replace(/%20/g,"+"),RFC3986:K2},sle="RFC1738";var SI=(t,e)=>(SI=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),SI(t,e)),Po=(()=>{let t=[];for(let e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t})();var J2=1024,ale=(t,e,r,n,i)=>{if(t.length===0)return t;let o=t;if(typeof t=="symbol"?o=Symbol.prototype.toString.call(t):typeof t!="string"&&(o=String(t)),r==="iso-8859-1")return escape(o).replace(/%u[0-9a-f]{4}/gi,function(a){return"%26%23"+parseInt(a.slice(2),16)+"%3B"});let s="";for(let a=0;a<o.length;a+=J2){let c=o.length>=J2?o.slice(a,a+J2):o,l=[];for(let u=0;u<c.length;++u){let d=c.charCodeAt(u);if(d===45||d===46||d===95||d===126||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||i===sle&&(d===40||d===41)){l[l.length]=c.charAt(u);continue}if(d<128){l[l.length]=Po[d];continue}if(d<2048){l[l.length]=Po[192|d>>6]+Po[128|d&63];continue}if(d<55296||d>=57344){l[l.length]=Po[224|d>>12]+Po[128|d>>6&63]+Po[128|d&63];continue}u+=1,d=65536+((d&1023)<<10|c.charCodeAt(u)&1023),l[l.length]=Po[240|d>>18]+Po[128|d>>12&63]+Po[128|d>>6&63]+Po[128|d&63]}s+=l.join("")}return s};function cle(t){return!t||typeof t!="object"?!1:!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}function X2(t,e){if(br(t)){let r=[];for(let n=0;n<t.length;n+=1)r.push(e(t[n]));return r}return e(t)}var ule={brackets(t){return String(t)+"[]"},comma:"comma",indices(t,e){return String(t)+"["+e+"]"},repeat(t){return String(t)}},dle=function(t,e){Array.prototype.push.apply(t,br(e)?e:[e])},lle,qt={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:ale,encodeValuesOnly:!1,format:Y2,formatter:K2,indices:!1,serializeDate(t){return(lle??(lle=Function.prototype.call.bind(Date.prototype.toISOString)))(t)},skipNulls:!1,strictNullHandling:!1};function GGe(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"}var Q2={};function fle(t,e,r,n,i,o,s,a,c,l,u,d,f,p,h,m,S,E){let b=t,A=E,y=0,R=!1;for(;(A=A.get(Q2))!==void 0&&!R;){let L=A.get(t);if(y+=1,typeof L<"u"){if(L===y)throw new RangeError("Cyclic object value");R=!0}typeof A.get(Q2)>"u"&&(y=0)}if(typeof l=="function"?b=l(e,b):b instanceof Date?b=f?.(b):r==="comma"&&br(b)&&(b=X2(b,function(L){return L instanceof Date?f?.(L):L})),b===null){if(o)return c&&!m?c(e,qt.encoder,S,"key",p):e;b=""}if(GGe(b)||cle(b)){if(c){let L=m?e:c(e,qt.encoder,S,"key",p);return[h?.(L)+"="+h?.(c(b,qt.encoder,S,"value",p))]}return[h?.(e)+"="+h?.(String(b))]}let P=[];if(typeof b>"u")return P;let O;if(r==="comma"&&br(b))m&&c&&(b=X2(b,c)),O=[{value:b.length>0?b.join(",")||null:void 0}];else if(br(l))O=l;else{let L=Object.keys(b);O=u?L.sort(u):L}let N=a?String(e).replace(/\./g,"%2E"):String(e),I=n&&br(b)&&b.length===1?N+"[]":N;if(i&&br(b)&&b.length===0)return I+"[]";for(let L=0;L<O.length;++L){let _=O[L],ee=typeof _=="object"&&typeof _.value<"u"?_.value:b[_];if(s&&ee===null)continue;let k=d&&a?_.replace(/\./g,"%2E"):_,g=br(b)?typeof r=="function"?r(I,k):I:I+(d?"."+k:"["+k+"]");E.set(t,y);let v=new WeakMap;v.set(Q2,E),dle(P,fle(ee,g,r,n,i,o,s,a,r==="comma"&&m&&br(b)?null:c,l,u,d,f,p,h,m,S,v))}return P}function qGe(t=qt){if(typeof t.allowEmptyArrays<"u"&&typeof t.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof t.encodeDotInKeys<"u"&&typeof t.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(t.encoder!==null&&typeof t.encoder<"u"&&typeof t.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=t.charset||qt.charset;if(typeof t.charset<"u"&&t.charset!=="utf-8"&&t.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let r=Y2;if(typeof t.format<"u"){if(!SI(Z2,t.format))throw new TypeError("Unknown format option provided.");r=t.format}let n=Z2[r],i=qt.filter;(typeof t.filter=="function"||br(t.filter))&&(i=t.filter);let o;if(t.arrayFormat&&t.arrayFormat in ule?o=t.arrayFormat:"indices"in t?o=t.indices?"indices":"repeat":o=qt.arrayFormat,"commaRoundTrip"in t&&typeof t.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let s=typeof t.allowDots>"u"?t.encodeDotInKeys?!0:qt.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:qt.addQueryPrefix,allowDots:s,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:qt.allowEmptyArrays,arrayFormat:o,charset:e,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:qt.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?qt.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:qt.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:qt.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:qt.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:qt.encodeValuesOnly,filter:i,format:r,formatter:n,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:qt.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:qt.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:qt.strictNullHandling}}function ple(t,e={}){let r=t,n=qGe(e),i,o;typeof n.filter=="function"?(o=n.filter,r=o("",r)):br(n.filter)&&(o=n.filter,i=o);let s=[];if(typeof r!="object"||r===null)return"";let a=ule[n.arrayFormat],c=a==="comma"&&n.commaRoundTrip;i||(i=Object.keys(r)),n.sort&&i.sort(n.sort);let l=new WeakMap;for(let f=0;f<i.length;++f){let p=i[f];n.skipNulls&&r[p]===null||dle(s,fle(r[p],p,a,c,n.allowEmptyArrays,n.strictNullHandling,n.skipNulls,n.encodeDotInKeys,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,l))}let u=s.join(n.delimiter),d=n.addQueryPrefix===!0?"?":"";return n.charsetSentinel&&(n.charset==="iso-8859-1"?d+="utf8=%26%2310003%3B&":d+="utf8=%E2%9C%93&"),u.length>0?d+u:""}function hle(t){return ple(t,{arrayFormat:"brackets"})}function _le(t){let e=0;for(let i of t)e+=i.length;let r=new Uint8Array(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return r}var mle;function rh(t){let e;return(mle??(e=new globalThis.TextEncoder,mle=e.encode.bind(e)))(t)}var gle;function ez(t){let e;return(gle??(e=new globalThis.TextDecoder,gle=e.decode.bind(e)))(t)}var In,Cn,fu=class{constructor(){In.set(this,void 0),Cn.set(this,void 0),Ae(this,In,new Uint8Array,"f"),Ae(this,Cn,null,"f")}decode(e){if(e==null)return[];let r=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?rh(e):e;Ae(this,In,_le([U(this,In,"f"),r]),"f");let n=[],i;for(;(i=HGe(U(this,In,"f"),U(this,Cn,"f")))!=null;){if(i.carriage&&U(this,Cn,"f")==null){Ae(this,Cn,i.index,"f");continue}if(U(this,Cn,"f")!=null&&(i.index!==U(this,Cn,"f")+1||i.carriage)){n.push(ez(U(this,In,"f").subarray(0,U(this,Cn,"f")-1))),Ae(this,In,U(this,In,"f").subarray(U(this,Cn,"f")),"f"),Ae(this,Cn,null,"f");continue}let o=U(this,Cn,"f")!==null?i.preceding-1:i.preceding,s=ez(U(this,In,"f").subarray(0,o));n.push(s),Ae(this,In,U(this,In,"f").subarray(i.index),"f"),Ae(this,Cn,null,"f")}return n}flush(){return U(this,In,"f").length?this.decode(`
347
+ `)}if(Ce&&Hc&&Gce(Hc)){oe({title:"Running in background",category:W.Task,parentGroupId:Yu},!0);break}oe({title:Un,message:Hc,wrapMessage:_P,category:Ce?W.AgentMessage:Ze?W.SiteGeneration:Ls[pe?.name??""]?.category||W.Tool,parentGroupId:Yu},!0);break}case"thinking":{K.thinking&&oe({title:"Reasoning",message:K.thinking,category:W.Reasoning,parentGroupId:q.parent_tool_use_id||void 0},!0);break}default:zr.log(`Message content type is not supported ${K.type}`,K)}}):q?.type==="result"&&(_=q.duration_ms||0,q.is_error?v||(k=q.result):ee=q.result,q.usage&&(ka(q.usage,S?{model:S}:{}),g=q.usage),[b,E].forEach(K=>{K[K.length-1]?.message===ee&&K.pop()}))});let j=!1;if(await Ue.catch(X=>{j=Ya(X,c),{error:k,result:ee}=dp({catchError:X,runCmd:Ue,error:k,result:ee,runnerName:"Claude"})}),de&&await qp.rm(de.mcpConfigPath,{force:!0}).catch(()=>{}),F.close(),V.flush(),v)return{steps:b,duration:_,agentSessionId:h,resolvedModel:S,effort:Oe,usage:g,pendingInteraction:v};let H=j;return H&&(!ee&&C.trim()&&(ee=C.trim()),k=void 0),{steps:b,duration:_,result:await lc({initialResult:ee,agentName:Xy,hasError:!!k}),error:uc({error:k,agentName:Xy}),isRetryableError:dc(k),isProviderUnavailableError:fc(k),agentSessionId:h,resolvedModel:S,effort:Oe,usage:g,...H?{aborted:!0}:{}}}var Wce=async()=>{let t=Qy.join(Vce.homedir(),".claude");await qp.rm(t,{recursive:!0,force:!0})},Yce={baseDir:Qy.join(Vce.homedir(),".claude"),include:["projects"]};import TS from"fs/promises";import bS from"os";import Pc from"path";import Hs from"process";import aqe from"readline";function Ae(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r}function U(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)}var j2=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return j2=t.randomUUID.bind(t),t.randomUUID();let e=new Uint8Array(1),r=t?()=>t.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,n=>(+n^r()&15>>+n/4).toString(16))};function eS(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var tS=t=>{if(t instanceof Error)return t;if(typeof t=="object"&&t!==null){try{if(Object.prototype.toString.call(t)==="[object Error]"){let e=new Error(t.message,t.cause?{cause:t.cause}:{});return t.stack&&(e.stack=t.stack),t.cause&&!e.cause&&(e.cause=t.cause),t.name&&(e.name=t.name),e}}catch{}try{return new Error(JSON.stringify(t))}catch{}}return new Error(t)};var _e=class extends Error{},Rt=class t extends _e{constructor(e,r,n,i){super(`${t.makeMessage(e,r,n)}`),this.status=e,this.headers=i,this.requestID=i?.get("x-request-id"),this.error=r;let o=r;this.code=o?.code,this.param=o?.param,this.type=o?.type}static makeMessage(e,r,n){let i=r?.message?typeof r.message=="string"?r.message:JSON.stringify(r.message):r?JSON.stringify(r):n;return e&&i?`${e} ${i}`:e?`${e} status code (no body)`:i||"(no status code or body)"}static generate(e,r,n,i){if(!e||!i)return new pc({message:n,cause:tS(r)});let o=r?.error;return e===400?new Hp(e,o,n,i):e===401?new Wp(e,o,n,i):e===403?new Yp(e,o,n,i):e===404?new Kp(e,o,n,i):e===409?new Zp(e,o,n,i):e===422?new Jp(e,o,n,i):e===429?new Xp(e,o,n,i):e>=500?new Qp(e,o,n,i):new t(e,o,n,i)}},Dt=class extends Rt{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},pc=class extends Rt{constructor({message:e,cause:r}){super(void 0,void 0,e||"Connection error.",void 0),r&&(this.cause=r)}},hc=class extends pc{constructor({message:e}={}){super({message:e??"Request timed out."})}},Hp=class extends Rt{},Wp=class extends Rt{},Yp=class extends Rt{},Kp=class extends Rt{},Zp=class extends Rt{},Jp=class extends Rt{},Xp=class extends Rt{},Qp=class extends Rt{},eh=class extends _e{constructor(){super("Could not parse response content as the length limit was reached")}},th=class extends _e{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},Io=class extends Error{constructor(e){super(e)}},du=class extends Rt{constructor(e,r,n){let i="OAuth2 authentication error",o;if(r&&typeof r=="object"){let s=r;o=s.error;let a=s.error_description;a&&typeof a=="string"?i=a:o&&(i=o)}super(e,r,i,n),this.error_code=o}},rS=class extends _e{constructor(e,r,n){super(e),this.provider=r,this.cause=n}};var UGe=/^[a-z][a-z0-9+.-]*:/i,Kce=t=>UGe.test(t),br=t=>(br=Array.isArray,br(t)),z2=br;function G2(t){return typeof t!="object"?{}:t??{}}function q2(t){if(!t)return!0;for(let e in t)return!1;return!0}function Zce(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function nS(t){return t!=null&&typeof t=="object"&&!Array.isArray(t)}var Jce=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new _e(`${t} must be an integer`);if(e<0)throw new _e(`${t} must be a positive integer`);return e};var Xce=t=>{try{return JSON.parse(t)}catch{return}};var Co=t=>new Promise(e=>setTimeout(e,t));var mc="6.34.0";var rle=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function FGe(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var BGe=()=>{let t=FGe();if(t==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":ele(Deno.build.os),"X-Stainless-Arch":Qce(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(t==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":ele(globalThis.process.platform??"unknown"),"X-Stainless-Arch":Qce(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let e=jGe();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":mc,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function jGe(){if(typeof navigator>"u"||!navigator)return null;let t=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:r}of t){let n=r.exec(navigator.userAgent);if(n){let i=n[1]||0,o=n[2]||0,s=n[3]||0;return{browser:e,version:`${i}.${o}.${s}`}}}return null}var Qce=t=>t==="x32"?"x32":t==="x86_64"||t==="x64"?"x64":t==="arm"?"arm":t==="aarch64"||t==="arm64"?"arm64":t?`other:${t}`:"unknown",ele=t=>(t=t.toLowerCase(),t.includes("ios")?"iOS":t==="android"?"Android":t==="darwin"?"MacOS":t==="win32"?"Windows":t==="freebsd"?"FreeBSD":t==="openbsd"?"OpenBSD":t==="linux"?"Linux":t?`Other:${t}`:"Unknown"),tle,nle=()=>tle??(tle=BGe());function _I(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function V2(...t){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...t)}function yI(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return V2({start(){},async pull(r){let{done:n,value:i}=await e.next();n?r.close():r.enqueue(i)},async cancel(){await e.return?.()}})}function H2(t){if(t[Symbol.asyncIterator])return t;let e=t.getReader();return{async next(){try{let r=await e.read();return r?.done&&e.releaseLock(),r}catch(r){throw e.releaseLock(),r}},async return(){let r=e.cancel();return e.releaseLock(),await r,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function W2(t){if(t===null||typeof t!="object")return;if(t[Symbol.asyncIterator]){await t[Symbol.asyncIterator]().return?.();return}let e=t.getReader(),r=e.cancel();e.releaseLock(),await r}var ole=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)});var Y2="RFC3986",K2=t=>String(t),Z2={RFC1738:t=>String(t).replace(/%20/g,"+"),RFC3986:K2},sle="RFC1738";var SI=(t,e)=>(SI=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),SI(t,e)),Po=(()=>{let t=[];for(let e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t})();var J2=1024,ale=(t,e,r,n,i)=>{if(t.length===0)return t;let o=t;if(typeof t=="symbol"?o=Symbol.prototype.toString.call(t):typeof t!="string"&&(o=String(t)),r==="iso-8859-1")return escape(o).replace(/%u[0-9a-f]{4}/gi,function(a){return"%26%23"+parseInt(a.slice(2),16)+"%3B"});let s="";for(let a=0;a<o.length;a+=J2){let c=o.length>=J2?o.slice(a,a+J2):o,l=[];for(let u=0;u<c.length;++u){let d=c.charCodeAt(u);if(d===45||d===46||d===95||d===126||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||i===sle&&(d===40||d===41)){l[l.length]=c.charAt(u);continue}if(d<128){l[l.length]=Po[d];continue}if(d<2048){l[l.length]=Po[192|d>>6]+Po[128|d&63];continue}if(d<55296||d>=57344){l[l.length]=Po[224|d>>12]+Po[128|d>>6&63]+Po[128|d&63];continue}u+=1,d=65536+((d&1023)<<10|c.charCodeAt(u)&1023),l[l.length]=Po[240|d>>18]+Po[128|d>>12&63]+Po[128|d>>6&63]+Po[128|d&63]}s+=l.join("")}return s};function cle(t){return!t||typeof t!="object"?!1:!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}function X2(t,e){if(br(t)){let r=[];for(let n=0;n<t.length;n+=1)r.push(e(t[n]));return r}return e(t)}var ule={brackets(t){return String(t)+"[]"},comma:"comma",indices(t,e){return String(t)+"["+e+"]"},repeat(t){return String(t)}},dle=function(t,e){Array.prototype.push.apply(t,br(e)?e:[e])},lle,qt={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:ale,encodeValuesOnly:!1,format:Y2,formatter:K2,indices:!1,serializeDate(t){return(lle??(lle=Function.prototype.call.bind(Date.prototype.toISOString)))(t)},skipNulls:!1,strictNullHandling:!1};function GGe(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"}var Q2={};function fle(t,e,r,n,i,o,s,a,c,l,u,d,f,p,h,m,S,E){let b=t,A=E,y=0,R=!1;for(;(A=A.get(Q2))!==void 0&&!R;){let L=A.get(t);if(y+=1,typeof L<"u"){if(L===y)throw new RangeError("Cyclic object value");R=!0}typeof A.get(Q2)>"u"&&(y=0)}if(typeof l=="function"?b=l(e,b):b instanceof Date?b=f?.(b):r==="comma"&&br(b)&&(b=X2(b,function(L){return L instanceof Date?f?.(L):L})),b===null){if(o)return c&&!m?c(e,qt.encoder,S,"key",p):e;b=""}if(GGe(b)||cle(b)){if(c){let L=m?e:c(e,qt.encoder,S,"key",p);return[h?.(L)+"="+h?.(c(b,qt.encoder,S,"value",p))]}return[h?.(e)+"="+h?.(String(b))]}let P=[];if(typeof b>"u")return P;let O;if(r==="comma"&&br(b))m&&c&&(b=X2(b,c)),O=[{value:b.length>0?b.join(",")||null:void 0}];else if(br(l))O=l;else{let L=Object.keys(b);O=u?L.sort(u):L}let N=a?String(e).replace(/\./g,"%2E"):String(e),I=n&&br(b)&&b.length===1?N+"[]":N;if(i&&br(b)&&b.length===0)return I+"[]";for(let L=0;L<O.length;++L){let _=O[L],ee=typeof _=="object"&&typeof _.value<"u"?_.value:b[_];if(s&&ee===null)continue;let k=d&&a?_.replace(/\./g,"%2E"):_,g=br(b)?typeof r=="function"?r(I,k):I:I+(d?"."+k:"["+k+"]");E.set(t,y);let v=new WeakMap;v.set(Q2,E),dle(P,fle(ee,g,r,n,i,o,s,a,r==="comma"&&m&&br(b)?null:c,l,u,d,f,p,h,m,S,v))}return P}function qGe(t=qt){if(typeof t.allowEmptyArrays<"u"&&typeof t.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof t.encodeDotInKeys<"u"&&typeof t.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(t.encoder!==null&&typeof t.encoder<"u"&&typeof t.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=t.charset||qt.charset;if(typeof t.charset<"u"&&t.charset!=="utf-8"&&t.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let r=Y2;if(typeof t.format<"u"){if(!SI(Z2,t.format))throw new TypeError("Unknown format option provided.");r=t.format}let n=Z2[r],i=qt.filter;(typeof t.filter=="function"||br(t.filter))&&(i=t.filter);let o;if(t.arrayFormat&&t.arrayFormat in ule?o=t.arrayFormat:"indices"in t?o=t.indices?"indices":"repeat":o=qt.arrayFormat,"commaRoundTrip"in t&&typeof t.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let s=typeof t.allowDots>"u"?t.encodeDotInKeys?!0:qt.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:qt.addQueryPrefix,allowDots:s,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:qt.allowEmptyArrays,arrayFormat:o,charset:e,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:qt.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?qt.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:qt.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:qt.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:qt.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:qt.encodeValuesOnly,filter:i,format:r,formatter:n,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:qt.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:qt.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:qt.strictNullHandling}}function ple(t,e={}){let r=t,n=qGe(e),i,o;typeof n.filter=="function"?(o=n.filter,r=o("",r)):br(n.filter)&&(o=n.filter,i=o);let s=[];if(typeof r!="object"||r===null)return"";let a=ule[n.arrayFormat],c=a==="comma"&&n.commaRoundTrip;i||(i=Object.keys(r)),n.sort&&i.sort(n.sort);let l=new WeakMap;for(let f=0;f<i.length;++f){let p=i[f];n.skipNulls&&r[p]===null||dle(s,fle(r[p],p,a,c,n.allowEmptyArrays,n.strictNullHandling,n.skipNulls,n.encodeDotInKeys,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,l))}let u=s.join(n.delimiter),d=n.addQueryPrefix===!0?"?":"";return n.charsetSentinel&&(n.charset==="iso-8859-1"?d+="utf8=%26%2310003%3B&":d+="utf8=%E2%9C%93&"),u.length>0?d+u:""}function hle(t){return ple(t,{arrayFormat:"brackets"})}function _le(t){let e=0;for(let i of t)e+=i.length;let r=new Uint8Array(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return r}var mle;function rh(t){let e;return(mle??(e=new globalThis.TextEncoder,mle=e.encode.bind(e)))(t)}var gle;function ez(t){let e;return(gle??(e=new globalThis.TextDecoder,gle=e.decode.bind(e)))(t)}var In,Cn,fu=class{constructor(){In.set(this,void 0),Cn.set(this,void 0),Ae(this,In,new Uint8Array,"f"),Ae(this,Cn,null,"f")}decode(e){if(e==null)return[];let r=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?rh(e):e;Ae(this,In,_le([U(this,In,"f"),r]),"f");let n=[],i;for(;(i=HGe(U(this,In,"f"),U(this,Cn,"f")))!=null;){if(i.carriage&&U(this,Cn,"f")==null){Ae(this,Cn,i.index,"f");continue}if(U(this,Cn,"f")!=null&&(i.index!==U(this,Cn,"f")+1||i.carriage)){n.push(ez(U(this,In,"f").subarray(0,U(this,Cn,"f")-1))),Ae(this,In,U(this,In,"f").subarray(U(this,Cn,"f")),"f"),Ae(this,Cn,null,"f");continue}let o=U(this,Cn,"f")!==null?i.preceding-1:i.preceding,s=ez(U(this,In,"f").subarray(0,o));n.push(s),Ae(this,In,U(this,In,"f").subarray(i.index),"f"),Ae(this,Cn,null,"f")}return n}flush(){return U(this,In,"f").length?this.decode(`
348
348
  `):[]}};In=new WeakMap,Cn=new WeakMap;fu.NEWLINE_CHARS=new Set([`
349
349
  `,"\r"]);fu.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function HGe(t,e){for(let i=e??0;i<t.length;i++){if(t[i]===10)return{preceding:i,index:i+1,carriage:!1};if(t[i]===13)return{preceding:i,index:i+1,carriage:!0}}return null}function yle(t){for(let n=0;n<t.length-1;n++){if(t[n]===10&&t[n+1]===10||t[n]===13&&t[n+1]===13)return n+2;if(t[n]===13&&t[n+1]===10&&n+3<t.length&&t[n+2]===13&&t[n+3]===10)return n+4}return-1}var vI={off:0,error:200,warn:300,info:400,debug:500},tz=(t,e,r)=>{if(t){if(Zce(vI,t))return t;Nt(r).warn(`${e} was set to ${JSON.stringify(t)}, expected one of ${JSON.stringify(Object.keys(vI))}`)}};function iS(){}function EI(t,e,r){return!e||vI[t]>vI[r]?iS:e[t].bind(e)}var WGe={error:iS,warn:iS,info:iS,debug:iS},Sle=new WeakMap;function Nt(t){let e=t.logger,r=t.logLevel??"off";if(!e)return WGe;let n=Sle.get(e);if(n&&n[0]===r)return n[1];let i={error:EI("error",e,r),warn:EI("warn",e,r),info:EI("info",e,r),debug:EI("debug",e,r)};return Sle.set(e,[r,i]),i}var $s=t=>(t.options&&(t.options={...t.options},delete t.options.headers),t.headers&&(t.headers=Object.fromEntries((t.headers instanceof Headers?[...t.headers]:Object.entries(t.headers)).map(([e,r])=>[e,e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":r]))),"retryOfRequestLogID"in t&&(t.retryOfRequestLogID&&(t.retryOf=t.retryOfRequestLogID),delete t.retryOfRequestLogID),t);var oS,Oo=class t{constructor(e,r,n){this.iterator=e,oS.set(this,void 0),this.controller=r,Ae(this,oS,n,"f")}static fromSSEResponse(e,r,n,i){let o=!1,s=n?Nt(n):console;async function*a(){if(o)throw new _e("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let c=!1;try{for await(let l of YGe(e,r))if(!c){if(l.data.startsWith("[DONE]")){c=!0;continue}if(l.event===null||!l.event.startsWith("thread.")){let u;try{u=JSON.parse(l.data)}catch(d){throw s.error("Could not parse message into JSON:",l.data),s.error("From chunk:",l.raw),d}if(u&&u.error)throw new Rt(void 0,u.error,void 0,e.headers);yield i?{event:l.event,data:u}:u}else{let u;try{u=JSON.parse(l.data)}catch(d){throw console.error("Could not parse message into JSON:",l.data),console.error("From chunk:",l.raw),d}if(l.event=="error")throw new Rt(void 0,u.error,u.message,void 0);yield{event:l.event,data:u}}}c=!0}catch(l){if(eS(l))return;throw l}finally{c||r.abort()}}return new t(a,r,n)}static fromReadableStream(e,r,n){let i=!1;async function*o(){let a=new fu,c=H2(e);for await(let l of c)for(let u of a.decode(l))yield u;for(let l of a.flush())yield l}async function*s(){if(i)throw new _e("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let a=!1;try{for await(let c of o())a||c&&(yield JSON.parse(c));a=!0}catch(c){if(eS(c))return;throw c}finally{a||r.abort()}}return new t(s,r,n)}[(oS=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let e=[],r=[],n=this.iterator(),i=o=>({next:()=>{if(o.length===0){let s=n.next();e.push(s),r.push(s)}return o.shift()}});return[new t(()=>i(e),this.controller,U(this,oS,"f")),new t(()=>i(r),this.controller,U(this,oS,"f"))]}toReadableStream(){let e=this,r;return V2({async start(){r=e[Symbol.asyncIterator]()},async pull(n){try{let{value:i,done:o}=await r.next();if(o)return n.close();let s=rh(JSON.stringify(i)+`
350
350
  `);n.enqueue(s)}catch(i){n.error(i)}},async cancel(){await r.return?.()}})}};async function*YGe(t,e){if(!t.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new _e("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new _e("Attempted to iterate over a response with no body");let r=new rz,n=new fu,i=H2(t.body);for await(let o of KGe(i))for(let s of n.decode(o)){let a=r.decode(s);a&&(yield a)}for(let o of n.flush()){let s=r.decode(o);s&&(yield s)}}async function*KGe(t){let e=new Uint8Array;for await(let r of t){if(r==null)continue;let n=r instanceof ArrayBuffer?new Uint8Array(r):typeof r=="string"?rh(r):r,i=new Uint8Array(e.length+n.length);i.set(e),i.set(n,e.length),e=i;let o;for(;(o=yle(e))!==-1;)yield e.slice(0,o),e=e.slice(o)}e.length>0&&(yield e)}var rz=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let o={event:this.event,data:this.data.join(`
351
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],o}if(this.chunks.push(e),e.startsWith(":"))return null;let[r,n,i]=ZGe(e,":");return i.startsWith(" ")&&(i=i.substring(1)),r==="event"?this.event=i:r==="data"&&this.data.push(i),null}};function ZGe(t,e){let r=t.indexOf(e);return r!==-1?[t.substring(0,r),e,t.substring(r+e.length)]:[t,"",""]}async function TI(t,e){let{response:r,requestLogID:n,retryOfRequestLogID:i,startTime:o}=e,s=await(async()=>{if(e.options.stream)return Nt(t).debug("response",r.status,r.url,r.headers,r.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(r,e.controller,t,e.options.__synthesizeEventData):Oo.fromSSEResponse(r,e.controller,t,e.options.__synthesizeEventData);if(r.status===204)return null;if(e.options.__binaryResponse)return r;let c=r.headers.get("content-type")?.split(";")[0]?.trim();if(c?.includes("application/json")||c?.endsWith("+json")){if(r.headers.get("content-length")==="0")return;let f=await r.json();return nz(f,r)}return await r.text()})();return Nt(t).debug(`[${n}] response parsed`,$s({retryOfRequestLogID:i,url:r.url,status:r.status,body:s,durationMs:Date.now()-o})),s}function nz(t,e){return!t||typeof t!="object"||Array.isArray(t)?t:Object.defineProperty(t,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var sS,pu=class t extends Promise{constructor(e,r,n=TI){super(i=>{i(null)}),this.responsePromise=r,this.parseResponse=n,sS.set(this,void 0),Ae(this,sS,e,"f")}_thenUnwrap(e){return new t(U(this,sS,"f"),this.responsePromise,async(r,n)=>nz(e(await this.parseResponse(r,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,r]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:r,request_id:r.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(U(this,sS,"f"),e))),this.parsedPromise}then(e,r){return this.parse().then(e,r)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};sS=new WeakMap;var bI,aS=class{constructor(e,r,n,i){bI.set(this,void 0),Ae(this,bI,e,"f"),this.options=i,this.response=r,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new _e("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await U(this,bI,"f").requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(bI=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let r of e.getPaginatedItems())yield r}},cS=class extends pu{constructor(e,r,n){super(e,r,async(i,o)=>new n(i,o.response,await TI(i,o),o.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let r of e)yield r}},No=class extends aS{constructor(e,r,n,i){super(e,r,n,i),this.data=n.data||[],this.object=n.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}},$e=class extends aS{constructor(e,r,n,i){super(e,r,n,i),this.data=n.data||[],this.has_more=n.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.getPaginatedItems(),r=e[e.length-1]?.id;return r?{...this.options,query:{...G2(this.options.query),after:r}}:null}},Li=class extends aS{constructor(e,r,n,i){super(e,r,n,i),this.data=n.data||[],this.has_more=n.has_more||!1,this.last_id=n.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.last_id;return e?{...this.options,query:{...G2(this.options.query),after:e}}:null}};var XGe={jwt:"urn:ietf:params:oauth:token-type:jwt",id:"urn:ietf:params:oauth:token-type:id_token"},QGe="urn:ietf:params:oauth:grant-type:token-exchange",AI=class{constructor(e,r){this.cachedToken=null,this.refreshPromise=null,this.tokenExchangeUrl="https://auth.openai.com/oauth/token",this.config=e,this.fetch=r??_I()}async getToken(){if(!this.cachedToken||this.isTokenExpired(this.cachedToken)){if(this.refreshPromise)return await this.refreshPromise;this.refreshPromise=this.refreshToken();try{return await this.refreshPromise}finally{this.refreshPromise=null}}return this.needsRefresh(this.cachedToken)&&!this.refreshPromise&&(this.refreshPromise=this.refreshToken().finally(()=>{this.refreshPromise=null})),this.cachedToken.token}async refreshToken(){let e=await this.config.provider.getToken(),r=await this.fetch(this.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:QGe,client_id:this.config.clientId,subject_token:e,subject_token_type:XGe[this.config.provider.tokenType],identity_provider_id:this.config.identityProviderId,service_account_id:this.config.serviceAccountId})});if(!r.ok){let s=await r.text(),a;try{a=JSON.parse(s)}catch{}throw r.status===400||r.status===401||r.status===403?new du(r.status,a,r.headers):Rt.generate(r.status,a,`Token exchange failed with status ${r.status}`,r.headers)}let n=await r.json(),i=n.expires_in||3600,o=Date.now()+i*1e3;return this.cachedToken={token:n.access_token,expiresAt:o},n.access_token}isTokenExpired(e){return Date.now()>=e.expiresAt}needsRefresh(e){let n=(this.config.refreshBufferSeconds??1200)*1e3;return Date.now()>=e.expiresAt-n}invalidateToken(){this.cachedToken=null,this.refreshPromise=null}};var sz=()=>{if(typeof File>"u"){let{process:t}=globalThis,e=typeof t?.versions?.node=="string"&&parseInt(t.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(e?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function nh(t,e,r){return sz(),new File(t,e??"unknown_file",r)}function lS(t){return(typeof t=="object"&&t!==null&&("name"in t&&t.name&&String(t.name)||"url"in t&&t.url&&String(t.url)||"filename"in t&&t.filename&&String(t.filename)||"path"in t&&t.path&&String(t.path))||"").split(/[\\/]/).pop()||void 0}var wI=t=>t!=null&&typeof t=="object"&&typeof t[Symbol.asyncIterator]=="function",gc=async(t,e)=>iz(t.body)?{...t,body:await vle(t.body,e)}:t,Ar=async(t,e)=>({...t,body:await vle(t.body,e)}),Ele=new WeakMap;function e4e(t){let e=typeof t=="function"?t:t.fetch,r=Ele.get(e);if(r)return r;let n=(async()=>{try{let i="Response"in e?e.Response:(await e("data:,")).constructor,o=new FormData;return o.toString()!==await new i(o).text()}catch{return!0}})();return Ele.set(e,n),n}var vle=async(t,e)=>{if(!await e4e(e))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let r=new FormData;return await Promise.all(Object.entries(t||{}).map(([n,i])=>oz(r,n,i))),r},Tle=t=>t instanceof Blob&&"name"in t,t4e=t=>typeof t=="object"&&t!==null&&(t instanceof Response||wI(t)||Tle(t)),iz=t=>{if(t4e(t))return!0;if(Array.isArray(t))return t.some(iz);if(t&&typeof t=="object"){for(let e in t)if(iz(t[e]))return!0}return!1},oz=async(t,e,r)=>{if(r!==void 0){if(r==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")t.append(e,String(r));else if(r instanceof Response)t.append(e,nh([await r.blob()],lS(r)));else if(wI(r))t.append(e,nh([await new Response(yI(r)).blob()],lS(r)));else if(Tle(r))t.append(e,r,lS(r));else if(Array.isArray(r))await Promise.all(r.map(n=>oz(t,e+"[]",n)));else if(typeof r=="object")await Promise.all(Object.entries(r).map(([n,i])=>oz(t,`${e}[${n}]`,i)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${r} instead`)}};var ble=t=>t!=null&&typeof t=="object"&&typeof t.size=="number"&&typeof t.type=="string"&&typeof t.text=="function"&&typeof t.slice=="function"&&typeof t.arrayBuffer=="function",r4e=t=>t!=null&&typeof t=="object"&&typeof t.name=="string"&&typeof t.lastModified=="number"&&ble(t),n4e=t=>t!=null&&typeof t=="object"&&typeof t.url=="string"&&typeof t.blob=="function";async function xI(t,e,r){if(sz(),t=await t,r4e(t))return t instanceof File?t:nh([await t.arrayBuffer()],t.name);if(n4e(t)){let i=await t.blob();return e||(e=new URL(t.url).pathname.split(/[\\/]/).pop()),nh(await az(i),e,r)}let n=await az(t);if(e||(e=lS(t)),!r?.type){let i=n.find(o=>typeof o=="object"&&"type"in o&&o.type);typeof i=="string"&&(r={...r,type:i})}return nh(n,e,r)}async function az(t){let e=[];if(typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer)e.push(t);else if(ble(t))e.push(t instanceof Blob?t:await t.arrayBuffer());else if(wI(t))for await(let r of t)e.push(...await az(r));else{let r=t?.constructor?.name;throw new Error(`Unexpected data type: ${typeof t}${r?`; constructor: ${r}`:""}${i4e(t)}`)}return e}function i4e(t){return typeof t!="object"||t===null?"":`; props: [${Object.getOwnPropertyNames(t).map(r=>`"${r}"`).join(", ")}]`}var K=class{constructor(e){this._client=e}};function wle(t){return t.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Ale=Object.freeze(Object.create(null)),s4e=(t=wle)=>function(r,...n){if(r.length===1)return r[0];let i=!1,o=[],s=r.reduce((u,d,f)=>{/[?#]/.test(d)&&(i=!0);let p=n[f],h=(i?encodeURIComponent:t)(""+p);return f!==n.length&&(p==null||typeof p=="object"&&p.toString===Object.getPrototypeOf(Object.getPrototypeOf(p.hasOwnProperty??Ale)??Ale)?.toString)&&(h=p+"",o.push({start:u.length+d.length,length:h.length,error:`Value of type ${Object.prototype.toString.call(p).slice(8,-1)} is not a valid path parameter`})),u+d+(f===n.length?"":h)},""),a=s.split(/[?#]/,1)[0],c=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,l;for(;(l=c.exec(a))!==null;)o.push({start:l.index,length:l[0].length,error:`Value "${l[0]}" can't be safely passed as a path parameter`});if(o.sort((u,d)=>u.start-d.start),o.length>0){let u=0,d=o.reduce((f,p)=>{let h=" ".repeat(p.start-u),m="^".repeat(p.length);return u=p.start+p.length,f+h+m},"");throw new _e(`Path parameters result in path with invalid segments:
351
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],o}if(this.chunks.push(e),e.startsWith(":"))return null;let[r,n,i]=ZGe(e,":");return i.startsWith(" ")&&(i=i.substring(1)),r==="event"?this.event=i:r==="data"&&this.data.push(i),null}};function ZGe(t,e){let r=t.indexOf(e);return r!==-1?[t.substring(0,r),e,t.substring(r+e.length)]:[t,"",""]}async function TI(t,e){let{response:r,requestLogID:n,retryOfRequestLogID:i,startTime:o}=e,s=await(async()=>{if(e.options.stream)return Nt(t).debug("response",r.status,r.url,r.headers,r.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(r,e.controller,t,e.options.__synthesizeEventData):Oo.fromSSEResponse(r,e.controller,t,e.options.__synthesizeEventData);if(r.status===204)return null;if(e.options.__binaryResponse)return r;let c=r.headers.get("content-type")?.split(";")[0]?.trim();if(c?.includes("application/json")||c?.endsWith("+json")){if(r.headers.get("content-length")==="0")return;let f=await r.json();return nz(f,r)}return await r.text()})();return Nt(t).debug(`[${n}] response parsed`,$s({retryOfRequestLogID:i,url:r.url,status:r.status,body:s,durationMs:Date.now()-o})),s}function nz(t,e){return!t||typeof t!="object"||Array.isArray(t)?t:Object.defineProperty(t,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var sS,pu=class t extends Promise{constructor(e,r,n=TI){super(i=>{i(null)}),this.responsePromise=r,this.parseResponse=n,sS.set(this,void 0),Ae(this,sS,e,"f")}_thenUnwrap(e){return new t(U(this,sS,"f"),this.responsePromise,async(r,n)=>nz(e(await this.parseResponse(r,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,r]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:r,request_id:r.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(U(this,sS,"f"),e))),this.parsedPromise}then(e,r){return this.parse().then(e,r)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};sS=new WeakMap;var bI,aS=class{constructor(e,r,n,i){bI.set(this,void 0),Ae(this,bI,e,"f"),this.options=i,this.response=r,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new _e("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await U(this,bI,"f").requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(bI=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let r of e.getPaginatedItems())yield r}},cS=class extends pu{constructor(e,r,n){super(e,r,async(i,o)=>new n(i,o.response,await TI(i,o),o.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let r of e)yield r}},No=class extends aS{constructor(e,r,n,i){super(e,r,n,i),this.data=n.data||[],this.object=n.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}},$e=class extends aS{constructor(e,r,n,i){super(e,r,n,i),this.data=n.data||[],this.has_more=n.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.getPaginatedItems(),r=e[e.length-1]?.id;return r?{...this.options,query:{...G2(this.options.query),after:r}}:null}},Li=class extends aS{constructor(e,r,n,i){super(e,r,n,i),this.data=n.data||[],this.has_more=n.has_more||!1,this.last_id=n.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.last_id;return e?{...this.options,query:{...G2(this.options.query),after:e}}:null}};var XGe={jwt:"urn:ietf:params:oauth:token-type:jwt",id:"urn:ietf:params:oauth:token-type:id_token"},QGe="urn:ietf:params:oauth:grant-type:token-exchange",AI=class{constructor(e,r){this.cachedToken=null,this.refreshPromise=null,this.tokenExchangeUrl="https://auth.openai.com/oauth/token",this.config=e,this.fetch=r??_I()}async getToken(){if(!this.cachedToken||this.isTokenExpired(this.cachedToken)){if(this.refreshPromise)return await this.refreshPromise;this.refreshPromise=this.refreshToken();try{return await this.refreshPromise}finally{this.refreshPromise=null}}return this.needsRefresh(this.cachedToken)&&!this.refreshPromise&&(this.refreshPromise=this.refreshToken().finally(()=>{this.refreshPromise=null})),this.cachedToken.token}async refreshToken(){let e=await this.config.provider.getToken(),r=await this.fetch(this.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:QGe,client_id:this.config.clientId,subject_token:e,subject_token_type:XGe[this.config.provider.tokenType],identity_provider_id:this.config.identityProviderId,service_account_id:this.config.serviceAccountId})});if(!r.ok){let s=await r.text(),a;try{a=JSON.parse(s)}catch{}throw r.status===400||r.status===401||r.status===403?new du(r.status,a,r.headers):Rt.generate(r.status,a,`Token exchange failed with status ${r.status}`,r.headers)}let n=await r.json(),i=n.expires_in||3600,o=Date.now()+i*1e3;return this.cachedToken={token:n.access_token,expiresAt:o},n.access_token}isTokenExpired(e){return Date.now()>=e.expiresAt}needsRefresh(e){let n=(this.config.refreshBufferSeconds??1200)*1e3;return Date.now()>=e.expiresAt-n}invalidateToken(){this.cachedToken=null,this.refreshPromise=null}};var sz=()=>{if(typeof File>"u"){let{process:t}=globalThis,e=typeof t?.versions?.node=="string"&&parseInt(t.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(e?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function nh(t,e,r){return sz(),new File(t,e??"unknown_file",r)}function lS(t){return(typeof t=="object"&&t!==null&&("name"in t&&t.name&&String(t.name)||"url"in t&&t.url&&String(t.url)||"filename"in t&&t.filename&&String(t.filename)||"path"in t&&t.path&&String(t.path))||"").split(/[\\/]/).pop()||void 0}var wI=t=>t!=null&&typeof t=="object"&&typeof t[Symbol.asyncIterator]=="function",gc=async(t,e)=>iz(t.body)?{...t,body:await vle(t.body,e)}:t,Ar=async(t,e)=>({...t,body:await vle(t.body,e)}),Ele=new WeakMap;function e4e(t){let e=typeof t=="function"?t:t.fetch,r=Ele.get(e);if(r)return r;let n=(async()=>{try{let i="Response"in e?e.Response:(await e("data:,")).constructor,o=new FormData;return o.toString()!==await new i(o).text()}catch{return!0}})();return Ele.set(e,n),n}var vle=async(t,e)=>{if(!await e4e(e))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let r=new FormData;return await Promise.all(Object.entries(t||{}).map(([n,i])=>oz(r,n,i))),r},Tle=t=>t instanceof Blob&&"name"in t,t4e=t=>typeof t=="object"&&t!==null&&(t instanceof Response||wI(t)||Tle(t)),iz=t=>{if(t4e(t))return!0;if(Array.isArray(t))return t.some(iz);if(t&&typeof t=="object"){for(let e in t)if(iz(t[e]))return!0}return!1},oz=async(t,e,r)=>{if(r!==void 0){if(r==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")t.append(e,String(r));else if(r instanceof Response)t.append(e,nh([await r.blob()],lS(r)));else if(wI(r))t.append(e,nh([await new Response(yI(r)).blob()],lS(r)));else if(Tle(r))t.append(e,r,lS(r));else if(Array.isArray(r))await Promise.all(r.map(n=>oz(t,e+"[]",n)));else if(typeof r=="object")await Promise.all(Object.entries(r).map(([n,i])=>oz(t,`${e}[${n}]`,i)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${r} instead`)}};var ble=t=>t!=null&&typeof t=="object"&&typeof t.size=="number"&&typeof t.type=="string"&&typeof t.text=="function"&&typeof t.slice=="function"&&typeof t.arrayBuffer=="function",r4e=t=>t!=null&&typeof t=="object"&&typeof t.name=="string"&&typeof t.lastModified=="number"&&ble(t),n4e=t=>t!=null&&typeof t=="object"&&typeof t.url=="string"&&typeof t.blob=="function";async function xI(t,e,r){if(sz(),t=await t,r4e(t))return t instanceof File?t:nh([await t.arrayBuffer()],t.name);if(n4e(t)){let i=await t.blob();return e||(e=new URL(t.url).pathname.split(/[\\/]/).pop()),nh(await az(i),e,r)}let n=await az(t);if(e||(e=lS(t)),!r?.type){let i=n.find(o=>typeof o=="object"&&"type"in o&&o.type);typeof i=="string"&&(r={...r,type:i})}return nh(n,e,r)}async function az(t){let e=[];if(typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer)e.push(t);else if(ble(t))e.push(t instanceof Blob?t:await t.arrayBuffer());else if(wI(t))for await(let r of t)e.push(...await az(r));else{let r=t?.constructor?.name;throw new Error(`Unexpected data type: ${typeof t}${r?`; constructor: ${r}`:""}${i4e(t)}`)}return e}function i4e(t){return typeof t!="object"||t===null?"":`; props: [${Object.getOwnPropertyNames(t).map(r=>`"${r}"`).join(", ")}]`}var Y=class{constructor(e){this._client=e}};function wle(t){return t.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Ale=Object.freeze(Object.create(null)),s4e=(t=wle)=>function(r,...n){if(r.length===1)return r[0];let i=!1,o=[],s=r.reduce((u,d,f)=>{/[?#]/.test(d)&&(i=!0);let p=n[f],h=(i?encodeURIComponent:t)(""+p);return f!==n.length&&(p==null||typeof p=="object"&&p.toString===Object.getPrototypeOf(Object.getPrototypeOf(p.hasOwnProperty??Ale)??Ale)?.toString)&&(h=p+"",o.push({start:u.length+d.length,length:h.length,error:`Value of type ${Object.prototype.toString.call(p).slice(8,-1)} is not a valid path parameter`})),u+d+(f===n.length?"":h)},""),a=s.split(/[?#]/,1)[0],c=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,l;for(;(l=c.exec(a))!==null;)o.push({start:l.index,length:l[0].length,error:`Value "${l[0]}" can't be safely passed as a path parameter`});if(o.sort((u,d)=>u.start-d.start),o.length>0){let u=0,d=o.reduce((f,p)=>{let h=" ".repeat(p.start-u),m="^".repeat(p.length);return u=p.start+p.length,f+h+m},"");throw new _e(`Path parameters result in path with invalid segments:
352
352
  ${o.map(f=>f.error).join(`
353
353
  `)}
354
354
  ${s}
355
- ${d}`)}return s},G=s4e(wle);var hu=class extends K{list(e,r={},n){return this._client.getAPIList(G`/chat/completions/${e}/messages`,$e,{query:r,...n})}};function uS(t){return t!==void 0&&"function"in t&&t.function!==void 0}function dS(t){return t?.$brand==="auto-parseable-response-format"}function mu(t){return t?.$brand==="auto-parseable-tool"}function xle(t,e){return!e||!cz(e)?{...t,choices:t.choices.map(r=>(Ile(r.message.tool_calls),{...r,message:{...r.message,parsed:null,...r.message.tool_calls?{tool_calls:r.message.tool_calls}:void 0}}))}:fS(t,e)}function fS(t,e){let r=t.choices.map(n=>{if(n.finish_reason==="length")throw new eh;if(n.finish_reason==="content_filter")throw new th;return Ile(n.message.tool_calls),{...n,message:{...n.message,...n.message.tool_calls?{tool_calls:n.message.tool_calls?.map(i=>u4e(e,i))??void 0}:void 0,parsed:n.message.content&&!n.message.refusal?l4e(e,n.message.content):null}}});return{...t,choices:r}}function l4e(t,e){return t.response_format?.type!=="json_schema"?null:t.response_format?.type==="json_schema"?"$parseRaw"in t.response_format?t.response_format.$parseRaw(e):JSON.parse(e):null}function u4e(t,e){let r=t.tools?.find(n=>uS(n)&&n.function?.name===e.function.name);return{...e,function:{...e.function,parsed_arguments:mu(r)?r.$parseRaw(e.function.arguments):r?.function.strict?JSON.parse(e.function.arguments):null}}}function Rle(t,e){if(!t||!("tools"in t)||!t.tools)return!1;let r=t.tools?.find(n=>uS(n)&&n.function?.name===e.function.name);return uS(r)&&(mu(r)||r?.function.strict||!1)}function cz(t){return dS(t.response_format)?!0:t.tools?.some(e=>mu(e)||e.type==="function"&&e.function.strict===!0)??!1}function Ile(t){for(let e of t||[])if(e.type!=="function")throw new _e(`Currently only \`function\` tool calls are supported; Received \`${e.type}\``)}function Cle(t){for(let e of t??[]){if(e.type!=="function")throw new _e(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new _e(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var ih=t=>t?.role==="assistant",lz=t=>t?.role==="tool";var uz,RI,II,pS,hS,CI,mS,Us,gS,PI,OI,oh,Ple,_c=class{constructor(){uz.add(this),this.controller=new AbortController,RI.set(this,void 0),II.set(this,()=>{}),pS.set(this,()=>{}),hS.set(this,void 0),CI.set(this,()=>{}),mS.set(this,()=>{}),Us.set(this,{}),gS.set(this,!1),PI.set(this,!1),OI.set(this,!1),oh.set(this,!1),Ae(this,RI,new Promise((e,r)=>{Ae(this,II,e,"f"),Ae(this,pS,r,"f")}),"f"),Ae(this,hS,new Promise((e,r)=>{Ae(this,CI,e,"f"),Ae(this,mS,r,"f")}),"f"),U(this,RI,"f").catch(()=>{}),U(this,hS,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},U(this,uz,"m",Ple).bind(this))},0)}_connected(){this.ended||(U(this,II,"f").call(this),this._emit("connect"))}get ended(){return U(this,gS,"f")}get errored(){return U(this,PI,"f")}get aborted(){return U(this,OI,"f")}abort(){this.controller.abort()}on(e,r){return(U(this,Us,"f")[e]||(U(this,Us,"f")[e]=[])).push({listener:r}),this}off(e,r){let n=U(this,Us,"f")[e];if(!n)return this;let i=n.findIndex(o=>o.listener===r);return i>=0&&n.splice(i,1),this}once(e,r){return(U(this,Us,"f")[e]||(U(this,Us,"f")[e]=[])).push({listener:r,once:!0}),this}emitted(e){return new Promise((r,n)=>{Ae(this,oh,!0,"f"),e!=="error"&&this.once("error",n),this.once(e,r)})}async done(){Ae(this,oh,!0,"f"),await U(this,hS,"f")}_emit(e,...r){if(U(this,gS,"f"))return;e==="end"&&(Ae(this,gS,!0,"f"),U(this,CI,"f").call(this));let n=U(this,Us,"f")[e];if(n&&(U(this,Us,"f")[e]=n.filter(i=>!i.once),n.forEach(({listener:i})=>i(...r))),e==="abort"){let i=r[0];!U(this,oh,"f")&&!n?.length&&Promise.reject(i),U(this,pS,"f").call(this,i),U(this,mS,"f").call(this,i),this._emit("end");return}if(e==="error"){let i=r[0];!U(this,oh,"f")&&!n?.length&&Promise.reject(i),U(this,pS,"f").call(this,i),U(this,mS,"f").call(this,i),this._emit("end")}}_emitFinal(){}};RI=new WeakMap,II=new WeakMap,pS=new WeakMap,hS=new WeakMap,CI=new WeakMap,mS=new WeakMap,Us=new WeakMap,gS=new WeakMap,PI=new WeakMap,OI=new WeakMap,oh=new WeakMap,uz=new WeakSet,Ple=function(e){if(Ae(this,PI,!0,"f"),e instanceof Error&&e.name==="AbortError"&&(e=new Dt),e instanceof Dt)return Ae(this,OI,!0,"f"),this._emit("abort",e);if(e instanceof _e)return this._emit("error",e);if(e instanceof Error){let r=new _e(e.message);return r.cause=e,this._emit("error",r)}return this._emit("error",new _e(String(e)))};function Ole(t){return typeof t.parse=="function"}var Gr,dz,NI,fz,pz,hz,Nle,kle,d4e=10,sh=class extends _c{constructor(){super(...arguments),Gr.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let r=e.choices[0]?.message;return r&&this._addMessage(r),e}_addMessage(e,r=!0){if("content"in e||(e.content=null),this.messages.push(e),r){if(this._emit("message",e),lz(e)&&e.content)this._emit("functionToolCallResult",e.content);else if(ih(e)&&e.tool_calls)for(let n of e.tool_calls)n.type==="function"&&this._emit("functionToolCall",n.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new _e("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),U(this,Gr,"m",dz).call(this)}async finalMessage(){return await this.done(),U(this,Gr,"m",NI).call(this)}async finalFunctionToolCall(){return await this.done(),U(this,Gr,"m",fz).call(this)}async finalFunctionToolCallResult(){return await this.done(),U(this,Gr,"m",pz).call(this)}async totalUsage(){return await this.done(),U(this,Gr,"m",hz).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let r=U(this,Gr,"m",NI).call(this);r&&this._emit("finalMessage",r);let n=U(this,Gr,"m",dz).call(this);n&&this._emit("finalContent",n);let i=U(this,Gr,"m",fz).call(this);i&&this._emit("finalFunctionToolCall",i);let o=U(this,Gr,"m",pz).call(this);o!=null&&this._emit("finalFunctionToolCallResult",o),this._chatCompletions.some(s=>s.usage)&&this._emit("totalUsage",U(this,Gr,"m",hz).call(this))}async _createChatCompletion(e,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),U(this,Gr,"m",Nle).call(this,r);let o=await e.chat.completions.create({...r,stream:!1},{...n,signal:this.controller.signal});return this._connected(),this._addChatCompletion(fS(o,r))}async _runChatCompletion(e,r,n){for(let i of r.messages)this._addMessage(i,!1);return await this._createChatCompletion(e,r,n)}async _runTools(e,r,n){let i="tool",{tool_choice:o="auto",stream:s,...a}=r,c=typeof o!="string"&&o.type==="function"&&o?.function?.name,{maxChatCompletions:l=d4e}=n||{},u=r.tools.map(p=>{if(mu(p)){if(!p.$callback)throw new _e("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:p.$callback,name:p.function.name,description:p.function.description||"",parameters:p.function.parameters,parse:p.$parseRaw,strict:!0}}}return p}),d={};for(let p of u)p.type==="function"&&(d[p.function.name||p.function.function.name]=p.function);let f="tools"in r?u.map(p=>p.type==="function"?{type:"function",function:{name:p.function.name||p.function.function.name,parameters:p.function.parameters,description:p.function.description,strict:p.function.strict}}:p):void 0;for(let p of r.messages)this._addMessage(p,!1);for(let p=0;p<l;++p){let m=(await this._createChatCompletion(e,{...a,tool_choice:o,tools:f,messages:[...this.messages]},n)).choices[0]?.message;if(!m)throw new _e("missing message in ChatCompletion response");if(!m.tool_calls?.length)return;for(let S of m.tool_calls){if(S.type!=="function")continue;let E=S.id,{name:b,arguments:A}=S.function,y=d[b];if(y){if(c&&c!==b){let N=`Invalid tool_call: ${JSON.stringify(b)}. ${JSON.stringify(c)} requested. Please try again`;this._addMessage({role:i,tool_call_id:E,content:N});continue}}else{let N=`Invalid tool_call: ${JSON.stringify(b)}. Available options are: ${Object.keys(d).map(I=>JSON.stringify(I)).join(", ")}. Please try again`;this._addMessage({role:i,tool_call_id:E,content:N});continue}let R;try{R=Ole(y)?await y.parse(A):A}catch(N){let I=N instanceof Error?N.message:String(N);this._addMessage({role:i,tool_call_id:E,content:I});continue}let P=await y.function(R,this),O=U(this,Gr,"m",kle).call(this,P);if(this._addMessage({role:i,tool_call_id:E,content:O}),c)return}}}};Gr=new WeakSet,dz=function(){return U(this,Gr,"m",NI).call(this).content??null},NI=function(){let e=this.messages.length;for(;e-- >0;){let r=this.messages[e];if(ih(r))return{...r,content:r.content??null,refusal:r.refusal??null}}throw new _e("stream ended without producing a ChatCompletionMessage with role=assistant")},fz=function(){for(let e=this.messages.length-1;e>=0;e--){let r=this.messages[e];if(ih(r)&&r?.tool_calls?.length)return r.tool_calls.filter(n=>n.type==="function").at(-1)?.function}},pz=function(){for(let e=this.messages.length-1;e>=0;e--){let r=this.messages[e];if(lz(r)&&r.content!=null&&typeof r.content=="string"&&this.messages.some(n=>n.role==="assistant"&&n.tool_calls?.some(i=>i.type==="function"&&i.id===r.tool_call_id)))return r.content}},hz=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:r}of this._chatCompletions)r&&(e.completion_tokens+=r.completion_tokens,e.prompt_tokens+=r.prompt_tokens,e.total_tokens+=r.total_tokens);return e},Nle=function(e){if(e.n!=null&&e.n>1)throw new _e("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},kle=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var _S=class t extends sh{static runTools(e,r,n){let i=new t,o={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return i._run(()=>i._runTools(e,r,o)),i}_addMessage(e,r=!0){super._addMessage(e,r),ih(e)&&e.content&&this._emit("content",e.content)}};var nr={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511},mz=class extends Error{},gz=class extends Error{};function f4e(t,e=nr.ALL){if(typeof t!="string")throw new TypeError(`expecting str, got ${typeof t}`);if(!t.trim())throw new Error(`${t} is empty`);return p4e(t.trim(),e)}var p4e=(t,e)=>{let r=t.length,n=0,i=f=>{throw new mz(`${f} at position ${n}`)},o=f=>{throw new gz(`${f} at position ${n}`)},s=()=>(d(),n>=r&&i("Unexpected end of input"),t[n]==='"'?a():t[n]==="{"?c():t[n]==="["?l():t.substring(n,n+4)==="null"||nr.NULL&e&&r-n<4&&"null".startsWith(t.substring(n))?(n+=4,null):t.substring(n,n+4)==="true"||nr.BOOL&e&&r-n<4&&"true".startsWith(t.substring(n))?(n+=4,!0):t.substring(n,n+5)==="false"||nr.BOOL&e&&r-n<5&&"false".startsWith(t.substring(n))?(n+=5,!1):t.substring(n,n+8)==="Infinity"||nr.INFINITY&e&&r-n<8&&"Infinity".startsWith(t.substring(n))?(n+=8,1/0):t.substring(n,n+9)==="-Infinity"||nr.MINUS_INFINITY&e&&1<r-n&&r-n<9&&"-Infinity".startsWith(t.substring(n))?(n+=9,-1/0):t.substring(n,n+3)==="NaN"||nr.NAN&e&&r-n<3&&"NaN".startsWith(t.substring(n))?(n+=3,NaN):u()),a=()=>{let f=n,p=!1;for(n++;n<r&&(t[n]!=='"'||p&&t[n-1]==="\\");)p=t[n]==="\\"?!p:!1,n++;if(t.charAt(n)=='"')try{return JSON.parse(t.substring(f,++n-Number(p)))}catch(h){o(String(h))}else if(nr.STR&e)try{return JSON.parse(t.substring(f,n-Number(p))+'"')}catch{return JSON.parse(t.substring(f,t.lastIndexOf("\\"))+'"')}i("Unterminated string literal")},c=()=>{n++,d();let f={};try{for(;t[n]!=="}";){if(d(),n>=r&&nr.OBJ&e)return f;let p=a();d(),n++;try{let h=s();Object.defineProperty(f,p,{value:h,writable:!0,enumerable:!0,configurable:!0})}catch(h){if(nr.OBJ&e)return f;throw h}d(),t[n]===","&&n++}}catch{if(nr.OBJ&e)return f;i("Expected '}' at end of object")}return n++,f},l=()=>{n++;let f=[];try{for(;t[n]!=="]";)f.push(s()),d(),t[n]===","&&n++}catch{if(nr.ARR&e)return f;i("Expected ']' at end of array")}return n++,f},u=()=>{if(n===0){t==="-"&&nr.NUM&e&&i("Not sure what '-' is");try{return JSON.parse(t)}catch(p){if(nr.NUM&e)try{return t[t.length-1]==="."?JSON.parse(t.substring(0,t.lastIndexOf("."))):JSON.parse(t.substring(0,t.lastIndexOf("e")))}catch{}o(String(p))}}let f=n;for(t[n]==="-"&&n++;t[n]&&!",]}".includes(t[n]);)n++;n==r&&!(nr.NUM&e)&&i("Unterminated number literal");try{return JSON.parse(t.substring(f,n))}catch{t.substring(f,n)==="-"&&nr.NUM&e&&i("Not sure what '-' is");try{return JSON.parse(t.substring(f,t.lastIndexOf("e")))}catch(h){o(String(h))}}},d=()=>{for(;n<r&&`
355
+ ${d}`)}return s},G=s4e(wle);var hu=class extends Y{list(e,r={},n){return this._client.getAPIList(G`/chat/completions/${e}/messages`,$e,{query:r,...n})}};function uS(t){return t!==void 0&&"function"in t&&t.function!==void 0}function dS(t){return t?.$brand==="auto-parseable-response-format"}function mu(t){return t?.$brand==="auto-parseable-tool"}function xle(t,e){return!e||!cz(e)?{...t,choices:t.choices.map(r=>(Ile(r.message.tool_calls),{...r,message:{...r.message,parsed:null,...r.message.tool_calls?{tool_calls:r.message.tool_calls}:void 0}}))}:fS(t,e)}function fS(t,e){let r=t.choices.map(n=>{if(n.finish_reason==="length")throw new eh;if(n.finish_reason==="content_filter")throw new th;return Ile(n.message.tool_calls),{...n,message:{...n.message,...n.message.tool_calls?{tool_calls:n.message.tool_calls?.map(i=>u4e(e,i))??void 0}:void 0,parsed:n.message.content&&!n.message.refusal?l4e(e,n.message.content):null}}});return{...t,choices:r}}function l4e(t,e){return t.response_format?.type!=="json_schema"?null:t.response_format?.type==="json_schema"?"$parseRaw"in t.response_format?t.response_format.$parseRaw(e):JSON.parse(e):null}function u4e(t,e){let r=t.tools?.find(n=>uS(n)&&n.function?.name===e.function.name);return{...e,function:{...e.function,parsed_arguments:mu(r)?r.$parseRaw(e.function.arguments):r?.function.strict?JSON.parse(e.function.arguments):null}}}function Rle(t,e){if(!t||!("tools"in t)||!t.tools)return!1;let r=t.tools?.find(n=>uS(n)&&n.function?.name===e.function.name);return uS(r)&&(mu(r)||r?.function.strict||!1)}function cz(t){return dS(t.response_format)?!0:t.tools?.some(e=>mu(e)||e.type==="function"&&e.function.strict===!0)??!1}function Ile(t){for(let e of t||[])if(e.type!=="function")throw new _e(`Currently only \`function\` tool calls are supported; Received \`${e.type}\``)}function Cle(t){for(let e of t??[]){if(e.type!=="function")throw new _e(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new _e(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var ih=t=>t?.role==="assistant",lz=t=>t?.role==="tool";var uz,RI,II,pS,hS,CI,mS,Us,gS,PI,OI,oh,Ple,_c=class{constructor(){uz.add(this),this.controller=new AbortController,RI.set(this,void 0),II.set(this,()=>{}),pS.set(this,()=>{}),hS.set(this,void 0),CI.set(this,()=>{}),mS.set(this,()=>{}),Us.set(this,{}),gS.set(this,!1),PI.set(this,!1),OI.set(this,!1),oh.set(this,!1),Ae(this,RI,new Promise((e,r)=>{Ae(this,II,e,"f"),Ae(this,pS,r,"f")}),"f"),Ae(this,hS,new Promise((e,r)=>{Ae(this,CI,e,"f"),Ae(this,mS,r,"f")}),"f"),U(this,RI,"f").catch(()=>{}),U(this,hS,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},U(this,uz,"m",Ple).bind(this))},0)}_connected(){this.ended||(U(this,II,"f").call(this),this._emit("connect"))}get ended(){return U(this,gS,"f")}get errored(){return U(this,PI,"f")}get aborted(){return U(this,OI,"f")}abort(){this.controller.abort()}on(e,r){return(U(this,Us,"f")[e]||(U(this,Us,"f")[e]=[])).push({listener:r}),this}off(e,r){let n=U(this,Us,"f")[e];if(!n)return this;let i=n.findIndex(o=>o.listener===r);return i>=0&&n.splice(i,1),this}once(e,r){return(U(this,Us,"f")[e]||(U(this,Us,"f")[e]=[])).push({listener:r,once:!0}),this}emitted(e){return new Promise((r,n)=>{Ae(this,oh,!0,"f"),e!=="error"&&this.once("error",n),this.once(e,r)})}async done(){Ae(this,oh,!0,"f"),await U(this,hS,"f")}_emit(e,...r){if(U(this,gS,"f"))return;e==="end"&&(Ae(this,gS,!0,"f"),U(this,CI,"f").call(this));let n=U(this,Us,"f")[e];if(n&&(U(this,Us,"f")[e]=n.filter(i=>!i.once),n.forEach(({listener:i})=>i(...r))),e==="abort"){let i=r[0];!U(this,oh,"f")&&!n?.length&&Promise.reject(i),U(this,pS,"f").call(this,i),U(this,mS,"f").call(this,i),this._emit("end");return}if(e==="error"){let i=r[0];!U(this,oh,"f")&&!n?.length&&Promise.reject(i),U(this,pS,"f").call(this,i),U(this,mS,"f").call(this,i),this._emit("end")}}_emitFinal(){}};RI=new WeakMap,II=new WeakMap,pS=new WeakMap,hS=new WeakMap,CI=new WeakMap,mS=new WeakMap,Us=new WeakMap,gS=new WeakMap,PI=new WeakMap,OI=new WeakMap,oh=new WeakMap,uz=new WeakSet,Ple=function(e){if(Ae(this,PI,!0,"f"),e instanceof Error&&e.name==="AbortError"&&(e=new Dt),e instanceof Dt)return Ae(this,OI,!0,"f"),this._emit("abort",e);if(e instanceof _e)return this._emit("error",e);if(e instanceof Error){let r=new _e(e.message);return r.cause=e,this._emit("error",r)}return this._emit("error",new _e(String(e)))};function Ole(t){return typeof t.parse=="function"}var Gr,dz,NI,fz,pz,hz,Nle,kle,d4e=10,sh=class extends _c{constructor(){super(...arguments),Gr.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let r=e.choices[0]?.message;return r&&this._addMessage(r),e}_addMessage(e,r=!0){if("content"in e||(e.content=null),this.messages.push(e),r){if(this._emit("message",e),lz(e)&&e.content)this._emit("functionToolCallResult",e.content);else if(ih(e)&&e.tool_calls)for(let n of e.tool_calls)n.type==="function"&&this._emit("functionToolCall",n.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new _e("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),U(this,Gr,"m",dz).call(this)}async finalMessage(){return await this.done(),U(this,Gr,"m",NI).call(this)}async finalFunctionToolCall(){return await this.done(),U(this,Gr,"m",fz).call(this)}async finalFunctionToolCallResult(){return await this.done(),U(this,Gr,"m",pz).call(this)}async totalUsage(){return await this.done(),U(this,Gr,"m",hz).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let r=U(this,Gr,"m",NI).call(this);r&&this._emit("finalMessage",r);let n=U(this,Gr,"m",dz).call(this);n&&this._emit("finalContent",n);let i=U(this,Gr,"m",fz).call(this);i&&this._emit("finalFunctionToolCall",i);let o=U(this,Gr,"m",pz).call(this);o!=null&&this._emit("finalFunctionToolCallResult",o),this._chatCompletions.some(s=>s.usage)&&this._emit("totalUsage",U(this,Gr,"m",hz).call(this))}async _createChatCompletion(e,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),U(this,Gr,"m",Nle).call(this,r);let o=await e.chat.completions.create({...r,stream:!1},{...n,signal:this.controller.signal});return this._connected(),this._addChatCompletion(fS(o,r))}async _runChatCompletion(e,r,n){for(let i of r.messages)this._addMessage(i,!1);return await this._createChatCompletion(e,r,n)}async _runTools(e,r,n){let i="tool",{tool_choice:o="auto",stream:s,...a}=r,c=typeof o!="string"&&o.type==="function"&&o?.function?.name,{maxChatCompletions:l=d4e}=n||{},u=r.tools.map(p=>{if(mu(p)){if(!p.$callback)throw new _e("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:p.$callback,name:p.function.name,description:p.function.description||"",parameters:p.function.parameters,parse:p.$parseRaw,strict:!0}}}return p}),d={};for(let p of u)p.type==="function"&&(d[p.function.name||p.function.function.name]=p.function);let f="tools"in r?u.map(p=>p.type==="function"?{type:"function",function:{name:p.function.name||p.function.function.name,parameters:p.function.parameters,description:p.function.description,strict:p.function.strict}}:p):void 0;for(let p of r.messages)this._addMessage(p,!1);for(let p=0;p<l;++p){let m=(await this._createChatCompletion(e,{...a,tool_choice:o,tools:f,messages:[...this.messages]},n)).choices[0]?.message;if(!m)throw new _e("missing message in ChatCompletion response");if(!m.tool_calls?.length)return;for(let S of m.tool_calls){if(S.type!=="function")continue;let E=S.id,{name:b,arguments:A}=S.function,y=d[b];if(y){if(c&&c!==b){let N=`Invalid tool_call: ${JSON.stringify(b)}. ${JSON.stringify(c)} requested. Please try again`;this._addMessage({role:i,tool_call_id:E,content:N});continue}}else{let N=`Invalid tool_call: ${JSON.stringify(b)}. Available options are: ${Object.keys(d).map(I=>JSON.stringify(I)).join(", ")}. Please try again`;this._addMessage({role:i,tool_call_id:E,content:N});continue}let R;try{R=Ole(y)?await y.parse(A):A}catch(N){let I=N instanceof Error?N.message:String(N);this._addMessage({role:i,tool_call_id:E,content:I});continue}let P=await y.function(R,this),O=U(this,Gr,"m",kle).call(this,P);if(this._addMessage({role:i,tool_call_id:E,content:O}),c)return}}}};Gr=new WeakSet,dz=function(){return U(this,Gr,"m",NI).call(this).content??null},NI=function(){let e=this.messages.length;for(;e-- >0;){let r=this.messages[e];if(ih(r))return{...r,content:r.content??null,refusal:r.refusal??null}}throw new _e("stream ended without producing a ChatCompletionMessage with role=assistant")},fz=function(){for(let e=this.messages.length-1;e>=0;e--){let r=this.messages[e];if(ih(r)&&r?.tool_calls?.length)return r.tool_calls.filter(n=>n.type==="function").at(-1)?.function}},pz=function(){for(let e=this.messages.length-1;e>=0;e--){let r=this.messages[e];if(lz(r)&&r.content!=null&&typeof r.content=="string"&&this.messages.some(n=>n.role==="assistant"&&n.tool_calls?.some(i=>i.type==="function"&&i.id===r.tool_call_id)))return r.content}},hz=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:r}of this._chatCompletions)r&&(e.completion_tokens+=r.completion_tokens,e.prompt_tokens+=r.prompt_tokens,e.total_tokens+=r.total_tokens);return e},Nle=function(e){if(e.n!=null&&e.n>1)throw new _e("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},kle=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var _S=class t extends sh{static runTools(e,r,n){let i=new t,o={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return i._run(()=>i._runTools(e,r,o)),i}_addMessage(e,r=!0){super._addMessage(e,r),ih(e)&&e.content&&this._emit("content",e.content)}};var nr={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511},mz=class extends Error{},gz=class extends Error{};function f4e(t,e=nr.ALL){if(typeof t!="string")throw new TypeError(`expecting str, got ${typeof t}`);if(!t.trim())throw new Error(`${t} is empty`);return p4e(t.trim(),e)}var p4e=(t,e)=>{let r=t.length,n=0,i=f=>{throw new mz(`${f} at position ${n}`)},o=f=>{throw new gz(`${f} at position ${n}`)},s=()=>(d(),n>=r&&i("Unexpected end of input"),t[n]==='"'?a():t[n]==="{"?c():t[n]==="["?l():t.substring(n,n+4)==="null"||nr.NULL&e&&r-n<4&&"null".startsWith(t.substring(n))?(n+=4,null):t.substring(n,n+4)==="true"||nr.BOOL&e&&r-n<4&&"true".startsWith(t.substring(n))?(n+=4,!0):t.substring(n,n+5)==="false"||nr.BOOL&e&&r-n<5&&"false".startsWith(t.substring(n))?(n+=5,!1):t.substring(n,n+8)==="Infinity"||nr.INFINITY&e&&r-n<8&&"Infinity".startsWith(t.substring(n))?(n+=8,1/0):t.substring(n,n+9)==="-Infinity"||nr.MINUS_INFINITY&e&&1<r-n&&r-n<9&&"-Infinity".startsWith(t.substring(n))?(n+=9,-1/0):t.substring(n,n+3)==="NaN"||nr.NAN&e&&r-n<3&&"NaN".startsWith(t.substring(n))?(n+=3,NaN):u()),a=()=>{let f=n,p=!1;for(n++;n<r&&(t[n]!=='"'||p&&t[n-1]==="\\");)p=t[n]==="\\"?!p:!1,n++;if(t.charAt(n)=='"')try{return JSON.parse(t.substring(f,++n-Number(p)))}catch(h){o(String(h))}else if(nr.STR&e)try{return JSON.parse(t.substring(f,n-Number(p))+'"')}catch{return JSON.parse(t.substring(f,t.lastIndexOf("\\"))+'"')}i("Unterminated string literal")},c=()=>{n++,d();let f={};try{for(;t[n]!=="}";){if(d(),n>=r&&nr.OBJ&e)return f;let p=a();d(),n++;try{let h=s();Object.defineProperty(f,p,{value:h,writable:!0,enumerable:!0,configurable:!0})}catch(h){if(nr.OBJ&e)return f;throw h}d(),t[n]===","&&n++}}catch{if(nr.OBJ&e)return f;i("Expected '}' at end of object")}return n++,f},l=()=>{n++;let f=[];try{for(;t[n]!=="]";)f.push(s()),d(),t[n]===","&&n++}catch{if(nr.ARR&e)return f;i("Expected ']' at end of array")}return n++,f},u=()=>{if(n===0){t==="-"&&nr.NUM&e&&i("Not sure what '-' is");try{return JSON.parse(t)}catch(p){if(nr.NUM&e)try{return t[t.length-1]==="."?JSON.parse(t.substring(0,t.lastIndexOf("."))):JSON.parse(t.substring(0,t.lastIndexOf("e")))}catch{}o(String(p))}}let f=n;for(t[n]==="-"&&n++;t[n]&&!",]}".includes(t[n]);)n++;n==r&&!(nr.NUM&e)&&i("Unterminated number literal");try{return JSON.parse(t.substring(f,n))}catch{t.substring(f,n)==="-"&&nr.NUM&e&&i("Not sure what '-' is");try{return JSON.parse(t.substring(f,t.lastIndexOf("e")))}catch(h){o(String(h))}}},d=()=>{for(;n<r&&`
356
356
  \r `.includes(t[n]);)n++};return s()},_z=t=>f4e(t,nr.ALL^nr.NUM);var Vt,Fs,ah,yc,yz,kI,Sz,Ez,vz,MI,Tz,Mle,gu=class t extends sh{constructor(e){super(),Vt.add(this),Fs.set(this,void 0),ah.set(this,void 0),yc.set(this,void 0),Ae(this,Fs,e,"f"),Ae(this,ah,[],"f")}get currentChatCompletionSnapshot(){return U(this,yc,"f")}static fromReadableStream(e){let r=new t(null);return r._run(()=>r._fromReadableStream(e)),r}static createChatCompletion(e,r,n){let i=new t(r);return i._run(()=>i._runChatCompletion(e,{...r,stream:!0},{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}async _createChatCompletion(e,r,n){super._createChatCompletion;let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),U(this,Vt,"m",yz).call(this);let o=await e.chat.completions.create({...r,stream:!0},{...n,signal:this.controller.signal});this._connected();for await(let s of o)U(this,Vt,"m",Sz).call(this,s);if(o.controller.signal?.aborted)throw new Dt;return this._addChatCompletion(U(this,Vt,"m",MI).call(this))}async _fromReadableStream(e,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),U(this,Vt,"m",yz).call(this),this._connected();let i=Oo.fromReadableStream(e,this.controller),o;for await(let s of i)o&&o!==s.id&&this._addChatCompletion(U(this,Vt,"m",MI).call(this)),U(this,Vt,"m",Sz).call(this,s),o=s.id;if(i.controller.signal?.aborted)throw new Dt;return this._addChatCompletion(U(this,Vt,"m",MI).call(this))}[(Fs=new WeakMap,ah=new WeakMap,yc=new WeakMap,Vt=new WeakSet,yz=function(){this.ended||Ae(this,yc,void 0,"f")},kI=function(r){let n=U(this,ah,"f")[r.index];return n||(n={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},U(this,ah,"f")[r.index]=n,n)},Sz=function(r){if(this.ended)return;let n=U(this,Vt,"m",Mle).call(this,r);this._emit("chunk",r,n);for(let i of r.choices){let o=n.choices[i.index];i.delta.content!=null&&o.message?.role==="assistant"&&o.message?.content&&(this._emit("content",i.delta.content,o.message.content),this._emit("content.delta",{delta:i.delta.content,snapshot:o.message.content,parsed:o.message.parsed})),i.delta.refusal!=null&&o.message?.role==="assistant"&&o.message?.refusal&&this._emit("refusal.delta",{delta:i.delta.refusal,snapshot:o.message.refusal}),i.logprobs?.content!=null&&o.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:i.logprobs?.content,snapshot:o.logprobs?.content??[]}),i.logprobs?.refusal!=null&&o.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:i.logprobs?.refusal,snapshot:o.logprobs?.refusal??[]});let s=U(this,Vt,"m",kI).call(this,o);o.finish_reason&&(U(this,Vt,"m",vz).call(this,o),s.current_tool_call_index!=null&&U(this,Vt,"m",Ez).call(this,o,s.current_tool_call_index));for(let a of i.delta.tool_calls??[])s.current_tool_call_index!==a.index&&(U(this,Vt,"m",vz).call(this,o),s.current_tool_call_index!=null&&U(this,Vt,"m",Ez).call(this,o,s.current_tool_call_index)),s.current_tool_call_index=a.index;for(let a of i.delta.tool_calls??[]){let c=o.message.tool_calls?.[a.index];c?.type&&(c?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:c.function?.name,index:a.index,arguments:c.function.arguments,parsed_arguments:c.function.parsed_arguments,arguments_delta:a.function?.arguments??""}):(c?.type,void 0))}}},Ez=function(r,n){if(U(this,Vt,"m",kI).call(this,r).done_tool_calls.has(n))return;let o=r.message.tool_calls?.[n];if(!o)throw new Error("no tool call snapshot");if(!o.type)throw new Error("tool call snapshot missing `type`");if(o.type==="function"){let s=U(this,Fs,"f")?.tools?.find(a=>uS(a)&&a.function.name===o.function.name);this._emit("tool_calls.function.arguments.done",{name:o.function.name,index:n,arguments:o.function.arguments,parsed_arguments:mu(s)?s.$parseRaw(o.function.arguments):s?.function.strict?JSON.parse(o.function.arguments):null})}else o.type},vz=function(r){let n=U(this,Vt,"m",kI).call(this,r);if(r.message.content&&!n.content_done){n.content_done=!0;let i=U(this,Vt,"m",Tz).call(this);this._emit("content.done",{content:r.message.content,parsed:i?i.$parseRaw(r.message.content):null})}r.message.refusal&&!n.refusal_done&&(n.refusal_done=!0,this._emit("refusal.done",{refusal:r.message.refusal})),r.logprobs?.content&&!n.logprobs_content_done&&(n.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:r.logprobs.content})),r.logprobs?.refusal&&!n.logprobs_refusal_done&&(n.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:r.logprobs.refusal}))},MI=function(){if(this.ended)throw new _e("stream has ended, this shouldn't happen");let r=U(this,yc,"f");if(!r)throw new _e("request ended without sending any chunks");return Ae(this,yc,void 0,"f"),Ae(this,ah,[],"f"),h4e(r,U(this,Fs,"f"))},Tz=function(){let r=U(this,Fs,"f")?.response_format;return dS(r)?r:null},Mle=function(r){var n,i,o,s;let a=U(this,yc,"f"),{choices:c,...l}=r;a?Object.assign(a,l):a=Ae(this,yc,{...l,choices:[]},"f");for(let{delta:u,finish_reason:d,index:f,logprobs:p=null,...h}of r.choices){let m=a.choices[f];if(m||(m=a.choices[f]={finish_reason:d,index:f,message:{},logprobs:p,...h}),p)if(!m.logprobs)m.logprobs=Object.assign({},p);else{let{content:P,refusal:O,...N}=p;Object.assign(m.logprobs,N),P&&((n=m.logprobs).content??(n.content=[]),m.logprobs.content.push(...P)),O&&((i=m.logprobs).refusal??(i.refusal=[]),m.logprobs.refusal.push(...O))}if(d&&(m.finish_reason=d,U(this,Fs,"f")&&cz(U(this,Fs,"f")))){if(d==="length")throw new eh;if(d==="content_filter")throw new th}if(Object.assign(m,h),!u)continue;let{content:S,refusal:E,function_call:b,role:A,tool_calls:y,...R}=u;if(Object.assign(m.message,R),E&&(m.message.refusal=(m.message.refusal||"")+E),A&&(m.message.role=A),b&&(m.message.function_call?(b.name&&(m.message.function_call.name=b.name),b.arguments&&((o=m.message.function_call).arguments??(o.arguments=""),m.message.function_call.arguments+=b.arguments)):m.message.function_call=b),S&&(m.message.content=(m.message.content||"")+S,!m.message.refusal&&U(this,Vt,"m",Tz).call(this)&&(m.message.parsed=_z(m.message.content))),y){m.message.tool_calls||(m.message.tool_calls=[]);for(let{index:P,id:O,type:N,function:I,...L}of y){let _=(s=m.message.tool_calls)[P]??(s[P]={});Object.assign(_,L),O&&(_.id=O),N&&(_.type=N),I&&(_.function??(_.function={name:I.name??"",arguments:""})),I?.name&&(_.function.name=I.name),I?.arguments&&(_.function.arguments+=I.arguments,Rle(U(this,Fs,"f"),_)&&(_.function.parsed_arguments=_z(_.function.arguments)))}}}return a},Symbol.asyncIterator)](){let e=[],r=[],n=!1;return this.on("chunk",i=>{let o=r.shift();o?o.resolve(i):e.push(i)}),this.on("end",()=>{n=!0;for(let i of r)i.resolve(void 0);r.length=0}),this.on("abort",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),this.on("error",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((o,s)=>r.push({resolve:o,reject:s})).then(o=>o?{value:o,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new Oo(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function h4e(t,e){let{id:r,choices:n,created:i,model:o,system_fingerprint:s,...a}=t,c={...a,id:r,choices:n.map(({message:l,finish_reason:u,index:d,logprobs:f,...p})=>{if(!u)throw new _e(`missing finish_reason for choice ${d}`);let{content:h=null,function_call:m,tool_calls:S,...E}=l,b=l.role;if(!b)throw new _e(`missing role for choice ${d}`);if(m){let{arguments:A,name:y}=m;if(A==null)throw new _e(`missing function_call.arguments for choice ${d}`);if(!y)throw new _e(`missing function_call.name for choice ${d}`);return{...p,message:{content:h,function_call:{arguments:A,name:y},role:b,refusal:l.refusal??null},finish_reason:u,index:d,logprobs:f}}return S?{...p,index:d,finish_reason:u,logprobs:f,message:{...E,role:b,content:h,refusal:l.refusal??null,tool_calls:S.map((A,y)=>{let{function:R,type:P,id:O,...N}=A,{arguments:I,name:L,..._}=R||{};if(O==null)throw new _e(`missing choices[${d}].tool_calls[${y}].id
357
357
  ${DI(t)}`);if(P==null)throw new _e(`missing choices[${d}].tool_calls[${y}].type
358
358
  ${DI(t)}`);if(L==null)throw new _e(`missing choices[${d}].tool_calls[${y}].function.name
359
359
  ${DI(t)}`);if(I==null)throw new _e(`missing choices[${d}].tool_calls[${y}].function.arguments
360
- ${DI(t)}`);return{...N,id:O,type:P,function:{..._,name:L,arguments:I}}})}}:{...p,message:{...E,content:h,role:b,refusal:l.refusal??null},finish_reason:u,index:d,logprobs:f}}),created:i,model:o,object:"chat.completion",...s?{system_fingerprint:s}:{}};return xle(c,e)}function DI(t){return JSON.stringify(t)}var yS=class t extends gu{static fromReadableStream(e){let r=new t(null);return r._run(()=>r._fromReadableStream(e)),r}static runTools(e,r,n){let i=new t(r),o={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return i._run(()=>i._runTools(e,r,o)),i}};var Bs=class extends K{constructor(){super(...arguments),this.messages=new hu(this._client)}create(e,r){return this._client.post("/chat/completions",{body:e,...r,stream:e.stream??!1})}retrieve(e,r){return this._client.get(G`/chat/completions/${e}`,r)}update(e,r,n){return this._client.post(G`/chat/completions/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/chat/completions",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/chat/completions/${e}`,r)}parse(e,r){return Cle(e.tools),this._client.chat.completions.create(e,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(n=>fS(n,e))}runTools(e,r){return e.stream?yS.runTools(this._client,e,r):_S.runTools(this._client,e,r)}stream(e,r){return gu.createChatCompletion(this._client,e,r)}};Bs.Messages=hu;var Sc=class extends K{constructor(){super(...arguments),this.completions=new Bs(this._client)}};Sc.Completions=Bs;var Dle=Symbol("brand.privateNullableHeaders");function*g4e(t){if(!t)return;if(Dle in t){let{values:n,nulls:i}=t;yield*n.entries();for(let o of i)yield[o,null];return}let e=!1,r;t instanceof Headers?r=t.entries():z2(t)?r=t:(e=!0,r=Object.entries(t??{}));for(let n of r){let i=n[0];if(typeof i!="string")throw new TypeError("expected header name to be a string");let o=z2(n[1])?n[1]:[n[1]],s=!1;for(let a of o)a!==void 0&&(e&&!s&&(s=!0,yield[i,null]),yield[i,a])}}var se=t=>{let e=new Headers,r=new Set;for(let n of t){let i=new Set;for(let[o,s]of g4e(n)){let a=o.toLowerCase();i.has(a)||(e.delete(o),i.add(a)),s===null?(e.delete(o),r.add(a)):(e.append(o,s),r.delete(a))}}return{[Dle]:!0,values:e,nulls:r}};var ch=class extends K{create(e,r){return this._client.post("/audio/speech",{body:e,...r,headers:se([{Accept:"application/octet-stream"},r?.headers]),__binaryResponse:!0})}};var lh=class extends K{create(e,r){return this._client.post("/audio/transcriptions",Ar({body:e,...r,stream:e.stream??!1,__metadata:{model:e.model}},this._client))}};var uh=class extends K{create(e,r){return this._client.post("/audio/translations",Ar({body:e,...r,__metadata:{model:e.model}},this._client))}};var ko=class extends K{constructor(){super(...arguments),this.transcriptions=new lh(this._client),this.translations=new uh(this._client),this.speech=new ch(this._client)}};ko.Transcriptions=lh;ko.Translations=uh;ko.Speech=ch;var _u=class extends K{create(e,r){return this._client.post("/batches",{body:e,...r})}retrieve(e,r){return this._client.get(G`/batches/${e}`,r)}list(e={},r){return this._client.getAPIList("/batches",$e,{query:e,...r})}cancel(e,r){return this._client.post(G`/batches/${e}/cancel`,r)}};var dh=class extends K{create(e,r){return this._client.post("/assistants",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(G`/assistants/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(G`/assistants/${e}`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e={},r){return this._client.getAPIList("/assistants",$e,{query:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,r){return this._client.delete(G`/assistants/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var fh=class extends K{create(e,r){return this._client.post("/realtime/sessions",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var ph=class extends K{create(e,r){return this._client.post("/realtime/transcription_sessions",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var Ec=class extends K{constructor(){super(...arguments),this.sessions=new fh(this._client),this.transcriptionSessions=new ph(this._client)}};Ec.Sessions=fh;Ec.TranscriptionSessions=ph;var hh=class extends K{create(e,r){return this._client.post("/chatkit/sessions",{body:e,...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}cancel(e,r){return this._client.post(G`/chatkit/sessions/${e}/cancel`,{...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}};var mh=class extends K{retrieve(e,r){return this._client.get(G`/chatkit/threads/${e}`,{...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}list(e={},r){return this._client.getAPIList("/chatkit/threads",Li,{query:e,...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}delete(e,r){return this._client.delete(G`/chatkit/threads/${e}`,{...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}listItems(e,r={},n){return this._client.getAPIList(G`/chatkit/threads/${e}/items`,Li,{query:r,...n,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}};var vc=class extends K{constructor(){super(...arguments),this.sessions=new hh(this._client),this.threads=new mh(this._client)}};vc.Sessions=hh;vc.Threads=mh;var gh=class extends K{create(e,r,n){return this._client.post(G`/threads/${e}/messages`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{thread_id:i}=r;return this._client.get(G`/threads/${i}/messages/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{thread_id:i,...o}=r;return this._client.post(G`/threads/${i}/messages/${e}`,{body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(G`/threads/${e}/messages`,$e,{query:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r,n){let{thread_id:i}=r;return this._client.delete(G`/threads/${i}/messages/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var _h=class extends K{retrieve(e,r,n){let{thread_id:i,run_id:o,...s}=r;return this._client.get(G`/threads/${i}/runs/${o}/steps/${e}`,{query:s,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r,n){let{thread_id:i,...o}=r;return this._client.getAPIList(G`/threads/${i}/runs/${e}/steps`,$e,{query:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var Lle=t=>{if(typeof Buffer<"u"){let e=Buffer.from(t,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(t),r=e.length,n=new Uint8Array(r);for(let i=0;i<r;i++)n[i]=e.charCodeAt(i);return Array.from(new Float32Array(n.buffer))}};var Tc=t=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[t]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(t)?.trim()};var gr,Su,bz,Mo,LI,$i,Eu,yh,yu,FI,Pn,$I,UI,vS,SS,ES,$le,Ule,Fle,Ble,jle,zle,Gle,js=class extends _c{constructor(){super(...arguments),gr.add(this),bz.set(this,[]),Mo.set(this,{}),LI.set(this,{}),$i.set(this,void 0),Eu.set(this,void 0),yh.set(this,void 0),yu.set(this,void 0),FI.set(this,void 0),Pn.set(this,void 0),$I.set(this,void 0),UI.set(this,void 0),vS.set(this,void 0)}[(bz=new WeakMap,Mo=new WeakMap,LI=new WeakMap,$i=new WeakMap,Eu=new WeakMap,yh=new WeakMap,yu=new WeakMap,FI=new WeakMap,Pn=new WeakMap,$I=new WeakMap,UI=new WeakMap,vS=new WeakMap,gr=new WeakSet,Symbol.asyncIterator)](){let e=[],r=[],n=!1;return this.on("event",i=>{let o=r.shift();o?o.resolve(i):e.push(i)}),this.on("end",()=>{n=!0;for(let i of r)i.resolve(void 0);r.length=0}),this.on("abort",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),this.on("error",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((o,s)=>r.push({resolve:o,reject:s})).then(o=>o?{value:o,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let r=new Su;return r._run(()=>r._fromReadableStream(e)),r}async _fromReadableStream(e,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),this._connected();let i=Oo.fromReadableStream(e,this.controller);for await(let o of i)U(this,gr,"m",SS).call(this,o);if(i.controller.signal?.aborted)throw new Dt;return this._addRun(U(this,gr,"m",ES).call(this))}toReadableStream(){return new Oo(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,r,n,i){let o=new Su;return o._run(()=>o._runToolAssistantStream(e,r,n,{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":"stream"}})),o}async _createToolAssistantStream(e,r,n,i){let o=i?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort()));let s={...n,stream:!0},a=await e.submitToolOutputs(r,s,{...i,signal:this.controller.signal});this._connected();for await(let c of a)U(this,gr,"m",SS).call(this,c);if(a.controller.signal?.aborted)throw new Dt;return this._addRun(U(this,gr,"m",ES).call(this))}static createThreadAssistantStream(e,r,n){let i=new Su;return i._run(()=>i._threadAssistantStream(e,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}static createAssistantStream(e,r,n,i){let o=new Su;return o._run(()=>o._runAssistantStream(e,r,n,{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":"stream"}})),o}currentEvent(){return U(this,$I,"f")}currentRun(){return U(this,UI,"f")}currentMessageSnapshot(){return U(this,$i,"f")}currentRunStepSnapshot(){return U(this,vS,"f")}async finalRunSteps(){return await this.done(),Object.values(U(this,Mo,"f"))}async finalMessages(){return await this.done(),Object.values(U(this,LI,"f"))}async finalRun(){if(await this.done(),!U(this,Eu,"f"))throw Error("Final run was not received.");return U(this,Eu,"f")}async _createThreadAssistantStream(e,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort()));let o={...r,stream:!0},s=await e.createAndRun(o,{...n,signal:this.controller.signal});this._connected();for await(let a of s)U(this,gr,"m",SS).call(this,a);if(s.controller.signal?.aborted)throw new Dt;return this._addRun(U(this,gr,"m",ES).call(this))}async _createAssistantStream(e,r,n,i){let o=i?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort()));let s={...n,stream:!0},a=await e.create(r,s,{...i,signal:this.controller.signal});this._connected();for await(let c of a)U(this,gr,"m",SS).call(this,c);if(a.controller.signal?.aborted)throw new Dt;return this._addRun(U(this,gr,"m",ES).call(this))}static accumulateDelta(e,r){for(let[n,i]of Object.entries(r)){if(!e.hasOwnProperty(n)){e[n]=i;continue}let o=e[n];if(o==null){e[n]=i;continue}if(n==="index"||n==="type"){e[n]=i;continue}if(typeof o=="string"&&typeof i=="string")o+=i;else if(typeof o=="number"&&typeof i=="number")o+=i;else if(nS(o)&&nS(i))o=this.accumulateDelta(o,i);else if(Array.isArray(o)&&Array.isArray(i)){if(o.every(s=>typeof s=="string"||typeof s=="number")){o.push(...i);continue}for(let s of i){if(!nS(s))throw new Error(`Expected array delta entry to be an object but got: ${s}`);let a=s.index;if(a==null)throw console.error(s),new Error("Expected array delta entry to have an `index` property");if(typeof a!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${a}`);let c=o[a];c==null?o.push(s):o[a]=this.accumulateDelta(c,s)}continue}else throw Error(`Unhandled record type: ${n}, deltaValue: ${i}, accValue: ${o}`);e[n]=o}return e}_addRun(e){return e}async _threadAssistantStream(e,r,n){return await this._createThreadAssistantStream(r,e,n)}async _runAssistantStream(e,r,n,i){return await this._createAssistantStream(r,e,n,i)}async _runToolAssistantStream(e,r,n,i){return await this._createToolAssistantStream(r,e,n,i)}};Su=js,SS=function(e){if(!this.ended)switch(Ae(this,$I,e,"f"),U(this,gr,"m",Fle).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":U(this,gr,"m",Gle).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":U(this,gr,"m",Ule).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":U(this,gr,"m",$le).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:}},ES=function(){if(this.ended)throw new _e("stream has ended, this shouldn't happen");if(!U(this,Eu,"f"))throw Error("Final run has not been received");return U(this,Eu,"f")},$le=function(e){let[r,n]=U(this,gr,"m",jle).call(this,e,U(this,$i,"f"));Ae(this,$i,r,"f"),U(this,LI,"f")[r.id]=r;for(let i of n){let o=r.content[i.index];o?.type=="text"&&this._emit("textCreated",o.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,r),e.data.delta.content)for(let i of e.data.delta.content){if(i.type=="text"&&i.text){let o=i.text,s=r.content[i.index];if(s&&s.type=="text")this._emit("textDelta",o,s.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(i.index!=U(this,yh,"f")){if(U(this,yu,"f"))switch(U(this,yu,"f").type){case"text":this._emit("textDone",U(this,yu,"f").text,U(this,$i,"f"));break;case"image_file":this._emit("imageFileDone",U(this,yu,"f").image_file,U(this,$i,"f"));break}Ae(this,yh,i.index,"f")}Ae(this,yu,r.content[i.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(U(this,yh,"f")!==void 0){let i=e.data.content[U(this,yh,"f")];if(i)switch(i.type){case"image_file":this._emit("imageFileDone",i.image_file,U(this,$i,"f"));break;case"text":this._emit("textDone",i.text,U(this,$i,"f"));break}}U(this,$i,"f")&&this._emit("messageDone",e.data),Ae(this,$i,void 0,"f")}},Ule=function(e){let r=U(this,gr,"m",Ble).call(this,e);switch(Ae(this,vS,r,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let n=e.data.delta;if(n.step_details&&n.step_details.type=="tool_calls"&&n.step_details.tool_calls&&r.step_details.type=="tool_calls")for(let o of n.step_details.tool_calls)o.index==U(this,FI,"f")?this._emit("toolCallDelta",o,r.step_details.tool_calls[o.index]):(U(this,Pn,"f")&&this._emit("toolCallDone",U(this,Pn,"f")),Ae(this,FI,o.index,"f"),Ae(this,Pn,r.step_details.tool_calls[o.index],"f"),U(this,Pn,"f")&&this._emit("toolCallCreated",U(this,Pn,"f")));this._emit("runStepDelta",e.data.delta,r);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":Ae(this,vS,void 0,"f"),e.data.step_details.type=="tool_calls"&&U(this,Pn,"f")&&(this._emit("toolCallDone",U(this,Pn,"f")),Ae(this,Pn,void 0,"f")),this._emit("runStepDone",e.data,r);break;case"thread.run.step.in_progress":break}},Fle=function(e){U(this,bz,"f").push(e),this._emit("event",e)},Ble=function(e){switch(e.event){case"thread.run.step.created":return U(this,Mo,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let r=U(this,Mo,"f")[e.data.id];if(!r)throw Error("Received a RunStepDelta before creation of a snapshot");let n=e.data;if(n.delta){let i=Su.accumulateDelta(r,n.delta);U(this,Mo,"f")[e.data.id]=i}return U(this,Mo,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":U(this,Mo,"f")[e.data.id]=e.data;break}if(U(this,Mo,"f")[e.data.id])return U(this,Mo,"f")[e.data.id];throw new Error("No snapshot available")},jle=function(e,r){let n=[];switch(e.event){case"thread.message.created":return[e.data,n];case"thread.message.delta":if(!r)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let i=e.data;if(i.delta.content)for(let o of i.delta.content)if(o.index in r.content){let s=r.content[o.index];r.content[o.index]=U(this,gr,"m",zle).call(this,o,s)}else r.content[o.index]=o,n.push(o);return[r,n];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(r)return[r,n];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},zle=function(e,r){return Su.accumulateDelta(r,e)},Gle=function(e){switch(Ae(this,UI,e.data,"f"),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":Ae(this,Eu,e.data,"f"),U(this,Pn,"f")&&(this._emit("toolCallDone",U(this,Pn,"f")),Ae(this,Pn,void 0,"f"));break;case"thread.run.cancelling":break}};var vu=class extends K{constructor(){super(...arguments),this.steps=new _h(this._client)}create(e,r,n){let{include:i,...o}=r;return this._client.post(G`/threads/${e}/runs`,{query:{include:i},body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:r.stream??!1,__synthesizeEventData:!0})}retrieve(e,r,n){let{thread_id:i}=r;return this._client.get(G`/threads/${i}/runs/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{thread_id:i,...o}=r;return this._client.post(G`/threads/${i}/runs/${e}`,{body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(G`/threads/${e}/runs`,$e,{query:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,r,n){let{thread_id:i}=r;return this._client.post(G`/threads/${i}/runs/${e}/cancel`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let i=await this.create(e,r,n);return await this.poll(i.id,{thread_id:e},n)}createAndStream(e,r,n){return js.createAssistantStream(e,this._client.beta.threads.runs,r,n)}async poll(e,r,n){let i=se([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:o,response:s}=await this.retrieve(e,r,{...n,headers:{...n?.headers,...i}}).withResponse();switch(o.status){case"queued":case"in_progress":case"cancelling":let a=5e3;if(n?.pollIntervalMs)a=n.pollIntervalMs;else{let c=s.headers.get("openai-poll-after-ms");if(c){let l=parseInt(c);isNaN(l)||(a=l)}}await Co(a);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return o}}}stream(e,r,n){return js.createAssistantStream(e,this._client.beta.threads.runs,r,n)}submitToolOutputs(e,r,n){let{thread_id:i,...o}=r;return this._client.post(G`/threads/${i}/runs/${e}/submit_tool_outputs`,{body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:r.stream??!1,__synthesizeEventData:!0})}async submitToolOutputsAndPoll(e,r,n){let i=await this.submitToolOutputs(e,r,n);return await this.poll(i.id,r,n)}submitToolOutputsStream(e,r,n){return js.createToolAssistantStream(e,this._client.beta.threads.runs,r,n)}};vu.Steps=_h;var bc=class extends K{constructor(){super(...arguments),this.runs=new vu(this._client),this.messages=new gh(this._client)}create(e={},r){return this._client.post("/threads",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(G`/threads/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(G`/threads/${e}`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r){return this._client.delete(G`/threads/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}createAndRun(e,r){return this._client.post("/threads/runs",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers]),stream:e.stream??!1,__synthesizeEventData:!0})}async createAndRunPoll(e,r){let n=await this.createAndRun(e,r);return await this.runs.poll(n.id,{thread_id:n.thread_id},r)}createAndRunStream(e,r){return js.createThreadAssistantStream(e,this._client.beta.threads,r)}};bc.Runs=vu;bc.Messages=gh;var Ui=class extends K{constructor(){super(...arguments),this.realtime=new Ec(this._client),this.chatkit=new vc(this._client),this.assistants=new dh(this._client),this.threads=new bc(this._client)}};Ui.Realtime=Ec;Ui.ChatKit=vc;Ui.Assistants=dh;Ui.Threads=bc;var Tu=class extends K{create(e,r){return this._client.post("/completions",{body:e,...r,stream:e.stream??!1})}};var Sh=class extends K{retrieve(e,r,n){let{container_id:i}=r;return this._client.get(G`/containers/${i}/files/${e}/content`,{...n,headers:se([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}};var bu=class extends K{constructor(){super(...arguments),this.content=new Sh(this._client)}create(e,r,n){return this._client.post(G`/containers/${e}/files`,gc({body:r,...n},this._client))}retrieve(e,r,n){let{container_id:i}=r;return this._client.get(G`/containers/${i}/files/${e}`,n)}list(e,r={},n){return this._client.getAPIList(G`/containers/${e}/files`,$e,{query:r,...n})}delete(e,r,n){let{container_id:i}=r;return this._client.delete(G`/containers/${i}/files/${e}`,{...n,headers:se([{Accept:"*/*"},n?.headers])})}};bu.Content=Sh;var Ac=class extends K{constructor(){super(...arguments),this.files=new bu(this._client)}create(e,r){return this._client.post("/containers",{body:e,...r})}retrieve(e,r){return this._client.get(G`/containers/${e}`,r)}list(e={},r){return this._client.getAPIList("/containers",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/containers/${e}`,{...r,headers:se([{Accept:"*/*"},r?.headers])})}};Ac.Files=bu;var Eh=class extends K{create(e,r,n){let{include:i,...o}=r;return this._client.post(G`/conversations/${e}/items`,{query:{include:i},body:o,...n})}retrieve(e,r,n){let{conversation_id:i,...o}=r;return this._client.get(G`/conversations/${i}/items/${e}`,{query:o,...n})}list(e,r={},n){return this._client.getAPIList(G`/conversations/${e}/items`,Li,{query:r,...n})}delete(e,r,n){let{conversation_id:i}=r;return this._client.delete(G`/conversations/${i}/items/${e}`,n)}};var wc=class extends K{constructor(){super(...arguments),this.items=new Eh(this._client)}create(e={},r){return this._client.post("/conversations",{body:e,...r})}retrieve(e,r){return this._client.get(G`/conversations/${e}`,r)}update(e,r,n){return this._client.post(G`/conversations/${e}`,{body:r,...n})}delete(e,r){return this._client.delete(G`/conversations/${e}`,r)}};wc.Items=Eh;var Au=class extends K{create(e,r){let n=!!e.encoding_format,i=n?e.encoding_format:"base64";n&&Nt(this._client).debug("embeddings/user defined encoding_format:",e.encoding_format);let o=this._client.post("/embeddings",{body:{...e,encoding_format:i},...r});return n?o:(Nt(this._client).debug("embeddings/decoding base64 embeddings from base64"),o._thenUnwrap(s=>(s&&s.data&&s.data.forEach(a=>{let c=a.embedding;a.embedding=Lle(c)}),s)))}};var vh=class extends K{retrieve(e,r,n){let{eval_id:i,run_id:o}=r;return this._client.get(G`/evals/${i}/runs/${o}/output_items/${e}`,n)}list(e,r,n){let{eval_id:i,...o}=r;return this._client.getAPIList(G`/evals/${i}/runs/${e}/output_items`,$e,{query:o,...n})}};var wu=class extends K{constructor(){super(...arguments),this.outputItems=new vh(this._client)}create(e,r,n){return this._client.post(G`/evals/${e}/runs`,{body:r,...n})}retrieve(e,r,n){let{eval_id:i}=r;return this._client.get(G`/evals/${i}/runs/${e}`,n)}list(e,r={},n){return this._client.getAPIList(G`/evals/${e}/runs`,$e,{query:r,...n})}delete(e,r,n){let{eval_id:i}=r;return this._client.delete(G`/evals/${i}/runs/${e}`,n)}cancel(e,r,n){let{eval_id:i}=r;return this._client.post(G`/evals/${i}/runs/${e}`,n)}};wu.OutputItems=vh;var xc=class extends K{constructor(){super(...arguments),this.runs=new wu(this._client)}create(e,r){return this._client.post("/evals",{body:e,...r})}retrieve(e,r){return this._client.get(G`/evals/${e}`,r)}update(e,r,n){return this._client.post(G`/evals/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/evals",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/evals/${e}`,r)}};xc.Runs=wu;var xu=class extends K{create(e,r){return this._client.post("/files",Ar({body:e,...r},this._client))}retrieve(e,r){return this._client.get(G`/files/${e}`,r)}list(e={},r){return this._client.getAPIList("/files",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/files/${e}`,r)}content(e,r){return this._client.get(G`/files/${e}/content`,{...r,headers:se([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:r=5e3,maxWait:n=1800*1e3}={}){let i=new Set(["processed","error","deleted"]),o=Date.now(),s=await this.retrieve(e);for(;!s.status||!i.has(s.status);)if(await Co(r),s=await this.retrieve(e),Date.now()-o>n)throw new hc({message:`Giving up on waiting for file ${e} to finish processing after ${n} milliseconds.`});return s}};var Th=class extends K{};var bh=class extends K{run(e,r){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...r})}validate(e,r){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...r})}};var Ru=class extends K{constructor(){super(...arguments),this.graders=new bh(this._client)}};Ru.Graders=bh;var Ah=class extends K{create(e,r,n){return this._client.getAPIList(G`/fine_tuning/checkpoints/${e}/permissions`,No,{body:r,method:"post",...n})}retrieve(e,r={},n){return this._client.get(G`/fine_tuning/checkpoints/${e}/permissions`,{query:r,...n})}list(e,r={},n){return this._client.getAPIList(G`/fine_tuning/checkpoints/${e}/permissions`,Li,{query:r,...n})}delete(e,r,n){let{fine_tuned_model_checkpoint:i}=r;return this._client.delete(G`/fine_tuning/checkpoints/${i}/permissions/${e}`,n)}};var Iu=class extends K{constructor(){super(...arguments),this.permissions=new Ah(this._client)}};Iu.Permissions=Ah;var wh=class extends K{list(e,r={},n){return this._client.getAPIList(G`/fine_tuning/jobs/${e}/checkpoints`,$e,{query:r,...n})}};var Cu=class extends K{constructor(){super(...arguments),this.checkpoints=new wh(this._client)}create(e,r){return this._client.post("/fine_tuning/jobs",{body:e,...r})}retrieve(e,r){return this._client.get(G`/fine_tuning/jobs/${e}`,r)}list(e={},r){return this._client.getAPIList("/fine_tuning/jobs",$e,{query:e,...r})}cancel(e,r){return this._client.post(G`/fine_tuning/jobs/${e}/cancel`,r)}listEvents(e,r={},n){return this._client.getAPIList(G`/fine_tuning/jobs/${e}/events`,$e,{query:r,...n})}pause(e,r){return this._client.post(G`/fine_tuning/jobs/${e}/pause`,r)}resume(e,r){return this._client.post(G`/fine_tuning/jobs/${e}/resume`,r)}};Cu.Checkpoints=wh;var Fi=class extends K{constructor(){super(...arguments),this.methods=new Th(this._client),this.jobs=new Cu(this._client),this.checkpoints=new Iu(this._client),this.alpha=new Ru(this._client)}};Fi.Methods=Th;Fi.Jobs=Cu;Fi.Checkpoints=Iu;Fi.Alpha=Ru;var xh=class extends K{};var Rc=class extends K{constructor(){super(...arguments),this.graderModels=new xh(this._client)}};Rc.GraderModels=xh;var Pu=class extends K{createVariation(e,r){return this._client.post("/images/variations",Ar({body:e,...r},this._client))}edit(e,r){return this._client.post("/images/edits",Ar({body:e,...r,stream:e.stream??!1},this._client))}generate(e,r){return this._client.post("/images/generations",{body:e,...r,stream:e.stream??!1})}};var Ou=class extends K{retrieve(e,r){return this._client.get(G`/models/${e}`,r)}list(e){return this._client.getAPIList("/models",No,e)}delete(e,r){return this._client.delete(G`/models/${e}`,r)}};var Nu=class extends K{create(e,r){return this._client.post("/moderations",{body:e,...r})}};var Rh=class extends K{accept(e,r,n){return this._client.post(G`/realtime/calls/${e}/accept`,{body:r,...n,headers:se([{Accept:"*/*"},n?.headers])})}hangup(e,r){return this._client.post(G`/realtime/calls/${e}/hangup`,{...r,headers:se([{Accept:"*/*"},r?.headers])})}refer(e,r,n){return this._client.post(G`/realtime/calls/${e}/refer`,{body:r,...n,headers:se([{Accept:"*/*"},n?.headers])})}reject(e,r={},n){return this._client.post(G`/realtime/calls/${e}/reject`,{body:r,...n,headers:se([{Accept:"*/*"},n?.headers])})}};var Ih=class extends K{create(e,r){return this._client.post("/realtime/client_secrets",{body:e,...r})}};var zs=class extends K{constructor(){super(...arguments),this.clientSecrets=new Ih(this._client),this.calls=new Rh(this._client)}};zs.ClientSecrets=Ih;zs.Calls=Rh;function qle(t,e){return!e||!W4e(e)?{...t,output_parsed:null,output:t.output.map(r=>r.type==="function_call"?{...r,parsed_arguments:null}:r.type==="message"?{...r,content:r.content.map(n=>({...n,parsed:null}))}:r)}:Az(t,e)}function Az(t,e){let r=t.output.map(i=>{if(i.type==="function_call")return{...i,parsed_arguments:Z4e(e,i)};if(i.type==="message"){let o=i.content.map(s=>s.type==="output_text"?{...s,parsed:H4e(e,s.text)}:s);return{...i,content:o}}return i}),n=Object.assign({},t,{output:r});return Object.getOwnPropertyDescriptor(t,"output_text")||BI(n),Object.defineProperty(n,"output_parsed",{enumerable:!0,get(){for(let i of n.output)if(i.type==="message"){for(let o of i.content)if(o.type==="output_text"&&o.parsed!==null)return o.parsed}return null}}),n}function H4e(t,e){return t.text?.format?.type!=="json_schema"?null:"$parseRaw"in t.text?.format?(t.text?.format).$parseRaw(e):JSON.parse(e)}function W4e(t){return!!dS(t.text?.format)}function Y4e(t){return t?.$brand==="auto-parseable-tool"}function K4e(t,e){return t.find(r=>r.type==="function"&&r.name===e)}function Z4e(t,e){let r=K4e(t.tools??[],e.name);return{...e,...e,parsed_arguments:Y4e(r)?r.$parseRaw(e.arguments):r?.strict?JSON.parse(e.arguments):null}}function BI(t){let e=[];for(let r of t.output)if(r.type==="message")for(let n of r.content)n.type==="output_text"&&e.push(n.text);t.output_text=e.join("")}var Ch,jI,Ic,zI,Vle,Hle,Wle,Yle,GI=class t extends _c{constructor(e){super(),Ch.add(this),jI.set(this,void 0),Ic.set(this,void 0),zI.set(this,void 0),Ae(this,jI,e,"f")}static createResponse(e,r,n){let i=new t(r);return i._run(()=>i._createOrRetrieveResponse(e,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}async _createOrRetrieveResponse(e,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),U(this,Ch,"m",Vle).call(this);let o,s=null;"response_id"in r?(o=await e.responses.retrieve(r.response_id,{stream:!0},{...n,signal:this.controller.signal,stream:!0}),s=r.starting_after??null):o=await e.responses.create({...r,stream:!0},{...n,signal:this.controller.signal}),this._connected();for await(let a of o)U(this,Ch,"m",Hle).call(this,a,s);if(o.controller.signal?.aborted)throw new Dt;return U(this,Ch,"m",Wle).call(this)}[(jI=new WeakMap,Ic=new WeakMap,zI=new WeakMap,Ch=new WeakSet,Vle=function(){this.ended||Ae(this,Ic,void 0,"f")},Hle=function(r,n){if(this.ended)return;let i=(s,a)=>{(n==null||a.sequence_number>n)&&this._emit(s,a)},o=U(this,Ch,"m",Yle).call(this,r);switch(i("event",r),r.type){case"response.output_text.delta":{let s=o.output[r.output_index];if(!s)throw new _e(`missing output at index ${r.output_index}`);if(s.type==="message"){let a=s.content[r.content_index];if(!a)throw new _e(`missing content at index ${r.content_index}`);if(a.type!=="output_text")throw new _e(`expected content to be 'output_text', got ${a.type}`);i("response.output_text.delta",{...r,snapshot:a.text})}break}case"response.function_call_arguments.delta":{let s=o.output[r.output_index];if(!s)throw new _e(`missing output at index ${r.output_index}`);s.type==="function_call"&&i("response.function_call_arguments.delta",{...r,snapshot:s.arguments});break}default:i(r.type,r);break}},Wle=function(){if(this.ended)throw new _e("stream has ended, this shouldn't happen");let r=U(this,Ic,"f");if(!r)throw new _e("request ended without sending any events");Ae(this,Ic,void 0,"f");let n=J4e(r,U(this,jI,"f"));return Ae(this,zI,n,"f"),n},Yle=function(r){let n=U(this,Ic,"f");if(!n){if(r.type!=="response.created")throw new _e(`When snapshot hasn't been set yet, expected 'response.created' event, got ${r.type}`);return n=Ae(this,Ic,r.response,"f"),n}switch(r.type){case"response.output_item.added":{n.output.push(r.item);break}case"response.content_part.added":{let i=n.output[r.output_index];if(!i)throw new _e(`missing output at index ${r.output_index}`);let o=i.type,s=r.part;o==="message"&&s.type!=="reasoning_text"?i.content.push(s):o==="reasoning"&&s.type==="reasoning_text"&&(i.content||(i.content=[]),i.content.push(s));break}case"response.output_text.delta":{let i=n.output[r.output_index];if(!i)throw new _e(`missing output at index ${r.output_index}`);if(i.type==="message"){let o=i.content[r.content_index];if(!o)throw new _e(`missing content at index ${r.content_index}`);if(o.type!=="output_text")throw new _e(`expected content to be 'output_text', got ${o.type}`);o.text+=r.delta}break}case"response.function_call_arguments.delta":{let i=n.output[r.output_index];if(!i)throw new _e(`missing output at index ${r.output_index}`);i.type==="function_call"&&(i.arguments+=r.delta);break}case"response.reasoning_text.delta":{let i=n.output[r.output_index];if(!i)throw new _e(`missing output at index ${r.output_index}`);if(i.type==="reasoning"){let o=i.content?.[r.content_index];if(!o)throw new _e(`missing content at index ${r.content_index}`);if(o.type!=="reasoning_text")throw new _e(`expected content to be 'reasoning_text', got ${o.type}`);o.text+=r.delta}break}case"response.completed":{Ae(this,Ic,r.response,"f");break}}return n},Symbol.asyncIterator)](){let e=[],r=[],n=!1;return this.on("event",i=>{let o=r.shift();o?o.resolve(i):e.push(i)}),this.on("end",()=>{n=!0;for(let i of r)i.resolve(void 0);r.length=0}),this.on("abort",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),this.on("error",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((o,s)=>r.push({resolve:o,reject:s})).then(o=>o?{value:o,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=U(this,zI,"f");if(!e)throw new _e("stream ended without producing a ChatCompletion");return e}};function J4e(t,e){return qle(t,e)}var Ph=class extends K{list(e,r={},n){return this._client.getAPIList(G`/responses/${e}/input_items`,$e,{query:r,...n})}};var Oh=class extends K{count(e={},r){return this._client.post("/responses/input_tokens",{body:e,...r})}};var Gs=class extends K{constructor(){super(...arguments),this.inputItems=new Ph(this._client),this.inputTokens=new Oh(this._client)}create(e,r){return this._client.post("/responses",{body:e,...r,stream:e.stream??!1})._thenUnwrap(n=>("object"in n&&n.object==="response"&&BI(n),n))}retrieve(e,r={},n){return this._client.get(G`/responses/${e}`,{query:r,...n,stream:r?.stream??!1})._thenUnwrap(i=>("object"in i&&i.object==="response"&&BI(i),i))}delete(e,r){return this._client.delete(G`/responses/${e}`,{...r,headers:se([{Accept:"*/*"},r?.headers])})}parse(e,r){return this._client.responses.create(e,r)._thenUnwrap(n=>Az(n,e))}stream(e,r){return GI.createResponse(this._client,e,r)}cancel(e,r){return this._client.post(G`/responses/${e}/cancel`,r)}compact(e,r){return this._client.post("/responses/compact",{body:e,...r})}};Gs.InputItems=Ph;Gs.InputTokens=Oh;var Nh=class extends K{retrieve(e,r){return this._client.get(G`/skills/${e}/content`,{...r,headers:se([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}};var kh=class extends K{retrieve(e,r,n){let{skill_id:i}=r;return this._client.get(G`/skills/${i}/versions/${e}/content`,{...n,headers:se([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}};var ku=class extends K{constructor(){super(...arguments),this.content=new kh(this._client)}create(e,r={},n){return this._client.post(G`/skills/${e}/versions`,gc({body:r,...n},this._client))}retrieve(e,r,n){let{skill_id:i}=r;return this._client.get(G`/skills/${i}/versions/${e}`,n)}list(e,r={},n){return this._client.getAPIList(G`/skills/${e}/versions`,$e,{query:r,...n})}delete(e,r,n){let{skill_id:i}=r;return this._client.delete(G`/skills/${i}/versions/${e}`,n)}};ku.Content=kh;var qs=class extends K{constructor(){super(...arguments),this.content=new Nh(this._client),this.versions=new ku(this._client)}create(e={},r){return this._client.post("/skills",gc({body:e,...r},this._client))}retrieve(e,r){return this._client.get(G`/skills/${e}`,r)}update(e,r,n){return this._client.post(G`/skills/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/skills",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/skills/${e}`,r)}};qs.Content=Nh;qs.Versions=ku;var Mh=class extends K{create(e,r,n){return this._client.post(G`/uploads/${e}/parts`,Ar({body:r,...n},this._client))}};var Cc=class extends K{constructor(){super(...arguments),this.parts=new Mh(this._client)}create(e,r){return this._client.post("/uploads",{body:e,...r})}cancel(e,r){return this._client.post(G`/uploads/${e}/cancel`,r)}complete(e,r,n){return this._client.post(G`/uploads/${e}/complete`,{body:r,...n})}};Cc.Parts=Mh;var Kle=async t=>{let e=await Promise.allSettled(t),r=e.filter(i=>i.status==="rejected");if(r.length){for(let i of r)console.error(i.reason);throw new Error(`${r.length} promise(s) failed - see the above errors`)}let n=[];for(let i of e)i.status==="fulfilled"&&n.push(i.value);return n};var Dh=class extends K{create(e,r,n){return this._client.post(G`/vector_stores/${e}/file_batches`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{vector_store_id:i}=r;return this._client.get(G`/vector_stores/${i}/file_batches/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,r,n){let{vector_store_id:i}=r;return this._client.post(G`/vector_stores/${i}/file_batches/${e}/cancel`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let i=await this.create(e,r);return await this.poll(e,i.id,n)}listFiles(e,r,n){let{vector_store_id:i,...o}=r;return this._client.getAPIList(G`/vector_stores/${i}/file_batches/${e}/files`,$e,{query:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async poll(e,r,n){let i=se([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:o,response:s}=await this.retrieve(r,{vector_store_id:e},{...n,headers:i}).withResponse();switch(o.status){case"in_progress":let a=5e3;if(n?.pollIntervalMs)a=n.pollIntervalMs;else{let c=s.headers.get("openai-poll-after-ms");if(c){let l=parseInt(c);isNaN(l)||(a=l)}}await Co(a);break;case"failed":case"cancelled":case"completed":return o}}}async uploadAndPoll(e,{files:r,fileIds:n=[]},i){if(r==null||r.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let o=i?.maxConcurrency??5,s=Math.min(o,r.length),a=this._client,c=r.values(),l=[...n];async function u(f){for(let p of f){let h=await a.files.create({file:p,purpose:"assistants"},i);l.push(h.id)}}let d=Array(s).fill(c).map(u);return await Kle(d),await this.createAndPoll(e,{file_ids:l})}};var Lh=class extends K{create(e,r,n){return this._client.post(G`/vector_stores/${e}/files`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{vector_store_id:i}=r;return this._client.get(G`/vector_stores/${i}/files/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{vector_store_id:i,...o}=r;return this._client.post(G`/vector_stores/${i}/files/${e}`,{body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(G`/vector_stores/${e}/files`,$e,{query:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r,n){let{vector_store_id:i}=r;return this._client.delete(G`/vector_stores/${i}/files/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let i=await this.create(e,r,n);return await this.poll(e,i.id,n)}async poll(e,r,n){let i=se([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let o=await this.retrieve(r,{vector_store_id:e},{...n,headers:i}).withResponse(),s=o.data;switch(s.status){case"in_progress":let a=5e3;if(n?.pollIntervalMs)a=n.pollIntervalMs;else{let c=o.response.headers.get("openai-poll-after-ms");if(c){let l=parseInt(c);isNaN(l)||(a=l)}}await Co(a);break;case"failed":case"completed":return s}}}async upload(e,r,n){let i=await this._client.files.create({file:r,purpose:"assistants"},n);return this.create(e,{file_id:i.id},n)}async uploadAndPoll(e,r,n){let i=await this.upload(e,r,n);return await this.poll(e,i.id,n)}content(e,r,n){let{vector_store_id:i}=r;return this._client.getAPIList(G`/vector_stores/${i}/files/${e}/content`,No,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var Vs=class extends K{constructor(){super(...arguments),this.files=new Lh(this._client),this.fileBatches=new Dh(this._client)}create(e,r){return this._client.post("/vector_stores",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(G`/vector_stores/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(G`/vector_stores/${e}`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e={},r){return this._client.getAPIList("/vector_stores",$e,{query:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,r){return this._client.delete(G`/vector_stores/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}search(e,r,n){return this._client.getAPIList(G`/vector_stores/${e}/search`,No,{body:r,method:"post",...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};Vs.Files=Lh;Vs.FileBatches=Dh;var Mu=class extends K{create(e,r){return this._client.post("/videos",Ar({body:e,...r},this._client))}retrieve(e,r){return this._client.get(G`/videos/${e}`,r)}list(e={},r){return this._client.getAPIList("/videos",Li,{query:e,...r})}delete(e,r){return this._client.delete(G`/videos/${e}`,r)}createCharacter(e,r){return this._client.post("/videos/characters",Ar({body:e,...r},this._client))}downloadContent(e,r={},n){return this._client.get(G`/videos/${e}/content`,{query:r,...n,headers:se([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}edit(e,r){return this._client.post("/videos/edits",Ar({body:e,...r},this._client))}extend(e,r){return this._client.post("/videos/extensions",Ar({body:e,...r},this._client))}getCharacter(e,r){return this._client.get(G`/videos/characters/${e}`,r)}remix(e,r,n){return this._client.post(G`/videos/${e}/remix`,gc({body:r,...n},this._client))}};var $h,Zle,qI,Du=class extends K{constructor(){super(...arguments),$h.add(this)}async unwrap(e,r,n=this._client.webhookSecret,i=300){return await this.verifySignature(e,r,n,i),JSON.parse(e)}async verifySignature(e,r,n=this._client.webhookSecret,i=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!="function"||typeof crypto.subtle.verify!="function")throw new Error("Webhook signature verification is only supported when the `crypto` global is defined");U(this,$h,"m",Zle).call(this,n);let o=se([r]).values,s=U(this,$h,"m",qI).call(this,o,"webhook-signature"),a=U(this,$h,"m",qI).call(this,o,"webhook-timestamp"),c=U(this,$h,"m",qI).call(this,o,"webhook-id"),l=parseInt(a,10);if(isNaN(l))throw new Io("Invalid webhook timestamp format");let u=Math.floor(Date.now()/1e3);if(u-l>i)throw new Io("Webhook timestamp is too old");if(l>u+i)throw new Io("Webhook timestamp is too new");let d=s.split(" ").map(m=>m.startsWith("v1,")?m.substring(3):m),f=n.startsWith("whsec_")?Buffer.from(n.replace("whsec_",""),"base64"):Buffer.from(n,"utf-8"),p=c?`${c}.${a}.${e}`:`${a}.${e}`,h=await crypto.subtle.importKey("raw",f,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let m of d)try{let S=Buffer.from(m,"base64");if(await crypto.subtle.verify("HMAC",h,S,new TextEncoder().encode(p)))return}catch{continue}throw new Io("The given webhook signature does not match the expected signature")}};$h=new WeakSet,Zle=function(e){if(typeof e!="string"||e.length===0)throw new Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},qI=function(e,r){if(!e)throw new Error("Headers are required");let n=e.get(r);if(n==null)throw new Error(`Missing required header: ${r}`);return n};var xz,Rz,VI,Jle,wz="workload-identity-auth",De=class{constructor({baseURL:e=Tc("OPENAI_BASE_URL"),apiKey:r=Tc("OPENAI_API_KEY"),organization:n=Tc("OPENAI_ORG_ID")??null,project:i=Tc("OPENAI_PROJECT_ID")??null,webhookSecret:o=Tc("OPENAI_WEBHOOK_SECRET")??null,workloadIdentity:s,...a}={}){if(xz.add(this),VI.set(this,void 0),this.completions=new Tu(this),this.chat=new Sc(this),this.embeddings=new Au(this),this.files=new xu(this),this.images=new Pu(this),this.audio=new ko(this),this.moderations=new Nu(this),this.models=new Ou(this),this.fineTuning=new Fi(this),this.graders=new Rc(this),this.vectorStores=new Vs(this),this.webhooks=new Du(this),this.beta=new Ui(this),this.batches=new _u(this),this.uploads=new Cc(this),this.responses=new Gs(this),this.realtime=new zs(this),this.conversations=new wc(this),this.evals=new xc(this),this.containers=new Ac(this),this.skills=new qs(this),this.videos=new Mu(this),s){if(r&&r!==wz)throw new _e("The `apiKey` and `workloadIdentity` arguments are mutually exclusive; only one can be passed at a time.");r=wz}else if(r===void 0)throw new _e("Missing credentials. Please pass an `apiKey`, `workloadIdentity`, or set the `OPENAI_API_KEY` environment variable.");let c={apiKey:r,organization:n,project:i,webhookSecret:o,workloadIdentity:s,...a,baseURL:e||"https://api.openai.com/v1"};if(!c.dangerouslyAllowBrowser&&rle())throw new _e(`It looks like you're running in a browser-like environment.
360
+ ${DI(t)}`);return{...N,id:O,type:P,function:{..._,name:L,arguments:I}}})}}:{...p,message:{...E,content:h,role:b,refusal:l.refusal??null},finish_reason:u,index:d,logprobs:f}}),created:i,model:o,object:"chat.completion",...s?{system_fingerprint:s}:{}};return xle(c,e)}function DI(t){return JSON.stringify(t)}var yS=class t extends gu{static fromReadableStream(e){let r=new t(null);return r._run(()=>r._fromReadableStream(e)),r}static runTools(e,r,n){let i=new t(r),o={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return i._run(()=>i._runTools(e,r,o)),i}};var Bs=class extends Y{constructor(){super(...arguments),this.messages=new hu(this._client)}create(e,r){return this._client.post("/chat/completions",{body:e,...r,stream:e.stream??!1})}retrieve(e,r){return this._client.get(G`/chat/completions/${e}`,r)}update(e,r,n){return this._client.post(G`/chat/completions/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/chat/completions",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/chat/completions/${e}`,r)}parse(e,r){return Cle(e.tools),this._client.chat.completions.create(e,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(n=>fS(n,e))}runTools(e,r){return e.stream?yS.runTools(this._client,e,r):_S.runTools(this._client,e,r)}stream(e,r){return gu.createChatCompletion(this._client,e,r)}};Bs.Messages=hu;var Sc=class extends Y{constructor(){super(...arguments),this.completions=new Bs(this._client)}};Sc.Completions=Bs;var Dle=Symbol("brand.privateNullableHeaders");function*g4e(t){if(!t)return;if(Dle in t){let{values:n,nulls:i}=t;yield*n.entries();for(let o of i)yield[o,null];return}let e=!1,r;t instanceof Headers?r=t.entries():z2(t)?r=t:(e=!0,r=Object.entries(t??{}));for(let n of r){let i=n[0];if(typeof i!="string")throw new TypeError("expected header name to be a string");let o=z2(n[1])?n[1]:[n[1]],s=!1;for(let a of o)a!==void 0&&(e&&!s&&(s=!0,yield[i,null]),yield[i,a])}}var se=t=>{let e=new Headers,r=new Set;for(let n of t){let i=new Set;for(let[o,s]of g4e(n)){let a=o.toLowerCase();i.has(a)||(e.delete(o),i.add(a)),s===null?(e.delete(o),r.add(a)):(e.append(o,s),r.delete(a))}}return{[Dle]:!0,values:e,nulls:r}};var ch=class extends Y{create(e,r){return this._client.post("/audio/speech",{body:e,...r,headers:se([{Accept:"application/octet-stream"},r?.headers]),__binaryResponse:!0})}};var lh=class extends Y{create(e,r){return this._client.post("/audio/transcriptions",Ar({body:e,...r,stream:e.stream??!1,__metadata:{model:e.model}},this._client))}};var uh=class extends Y{create(e,r){return this._client.post("/audio/translations",Ar({body:e,...r,__metadata:{model:e.model}},this._client))}};var ko=class extends Y{constructor(){super(...arguments),this.transcriptions=new lh(this._client),this.translations=new uh(this._client),this.speech=new ch(this._client)}};ko.Transcriptions=lh;ko.Translations=uh;ko.Speech=ch;var _u=class extends Y{create(e,r){return this._client.post("/batches",{body:e,...r})}retrieve(e,r){return this._client.get(G`/batches/${e}`,r)}list(e={},r){return this._client.getAPIList("/batches",$e,{query:e,...r})}cancel(e,r){return this._client.post(G`/batches/${e}/cancel`,r)}};var dh=class extends Y{create(e,r){return this._client.post("/assistants",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(G`/assistants/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(G`/assistants/${e}`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e={},r){return this._client.getAPIList("/assistants",$e,{query:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,r){return this._client.delete(G`/assistants/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var fh=class extends Y{create(e,r){return this._client.post("/realtime/sessions",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var ph=class extends Y{create(e,r){return this._client.post("/realtime/transcription_sessions",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var Ec=class extends Y{constructor(){super(...arguments),this.sessions=new fh(this._client),this.transcriptionSessions=new ph(this._client)}};Ec.Sessions=fh;Ec.TranscriptionSessions=ph;var hh=class extends Y{create(e,r){return this._client.post("/chatkit/sessions",{body:e,...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}cancel(e,r){return this._client.post(G`/chatkit/sessions/${e}/cancel`,{...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}};var mh=class extends Y{retrieve(e,r){return this._client.get(G`/chatkit/threads/${e}`,{...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}list(e={},r){return this._client.getAPIList("/chatkit/threads",Li,{query:e,...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}delete(e,r){return this._client.delete(G`/chatkit/threads/${e}`,{...r,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}listItems(e,r={},n){return this._client.getAPIList(G`/chatkit/threads/${e}/items`,Li,{query:r,...n,headers:se([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}};var vc=class extends Y{constructor(){super(...arguments),this.sessions=new hh(this._client),this.threads=new mh(this._client)}};vc.Sessions=hh;vc.Threads=mh;var gh=class extends Y{create(e,r,n){return this._client.post(G`/threads/${e}/messages`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{thread_id:i}=r;return this._client.get(G`/threads/${i}/messages/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{thread_id:i,...o}=r;return this._client.post(G`/threads/${i}/messages/${e}`,{body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(G`/threads/${e}/messages`,$e,{query:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r,n){let{thread_id:i}=r;return this._client.delete(G`/threads/${i}/messages/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var _h=class extends Y{retrieve(e,r,n){let{thread_id:i,run_id:o,...s}=r;return this._client.get(G`/threads/${i}/runs/${o}/steps/${e}`,{query:s,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r,n){let{thread_id:i,...o}=r;return this._client.getAPIList(G`/threads/${i}/runs/${e}/steps`,$e,{query:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var Lle=t=>{if(typeof Buffer<"u"){let e=Buffer.from(t,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(t),r=e.length,n=new Uint8Array(r);for(let i=0;i<r;i++)n[i]=e.charCodeAt(i);return Array.from(new Float32Array(n.buffer))}};var Tc=t=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[t]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(t)?.trim()};var gr,Su,bz,Mo,LI,$i,Eu,yh,yu,FI,Pn,$I,UI,vS,SS,ES,$le,Ule,Fle,Ble,jle,zle,Gle,js=class extends _c{constructor(){super(...arguments),gr.add(this),bz.set(this,[]),Mo.set(this,{}),LI.set(this,{}),$i.set(this,void 0),Eu.set(this,void 0),yh.set(this,void 0),yu.set(this,void 0),FI.set(this,void 0),Pn.set(this,void 0),$I.set(this,void 0),UI.set(this,void 0),vS.set(this,void 0)}[(bz=new WeakMap,Mo=new WeakMap,LI=new WeakMap,$i=new WeakMap,Eu=new WeakMap,yh=new WeakMap,yu=new WeakMap,FI=new WeakMap,Pn=new WeakMap,$I=new WeakMap,UI=new WeakMap,vS=new WeakMap,gr=new WeakSet,Symbol.asyncIterator)](){let e=[],r=[],n=!1;return this.on("event",i=>{let o=r.shift();o?o.resolve(i):e.push(i)}),this.on("end",()=>{n=!0;for(let i of r)i.resolve(void 0);r.length=0}),this.on("abort",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),this.on("error",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((o,s)=>r.push({resolve:o,reject:s})).then(o=>o?{value:o,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let r=new Su;return r._run(()=>r._fromReadableStream(e)),r}async _fromReadableStream(e,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),this._connected();let i=Oo.fromReadableStream(e,this.controller);for await(let o of i)U(this,gr,"m",SS).call(this,o);if(i.controller.signal?.aborted)throw new Dt;return this._addRun(U(this,gr,"m",ES).call(this))}toReadableStream(){return new Oo(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,r,n,i){let o=new Su;return o._run(()=>o._runToolAssistantStream(e,r,n,{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":"stream"}})),o}async _createToolAssistantStream(e,r,n,i){let o=i?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort()));let s={...n,stream:!0},a=await e.submitToolOutputs(r,s,{...i,signal:this.controller.signal});this._connected();for await(let c of a)U(this,gr,"m",SS).call(this,c);if(a.controller.signal?.aborted)throw new Dt;return this._addRun(U(this,gr,"m",ES).call(this))}static createThreadAssistantStream(e,r,n){let i=new Su;return i._run(()=>i._threadAssistantStream(e,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}static createAssistantStream(e,r,n,i){let o=new Su;return o._run(()=>o._runAssistantStream(e,r,n,{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":"stream"}})),o}currentEvent(){return U(this,$I,"f")}currentRun(){return U(this,UI,"f")}currentMessageSnapshot(){return U(this,$i,"f")}currentRunStepSnapshot(){return U(this,vS,"f")}async finalRunSteps(){return await this.done(),Object.values(U(this,Mo,"f"))}async finalMessages(){return await this.done(),Object.values(U(this,LI,"f"))}async finalRun(){if(await this.done(),!U(this,Eu,"f"))throw Error("Final run was not received.");return U(this,Eu,"f")}async _createThreadAssistantStream(e,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort()));let o={...r,stream:!0},s=await e.createAndRun(o,{...n,signal:this.controller.signal});this._connected();for await(let a of s)U(this,gr,"m",SS).call(this,a);if(s.controller.signal?.aborted)throw new Dt;return this._addRun(U(this,gr,"m",ES).call(this))}async _createAssistantStream(e,r,n,i){let o=i?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort()));let s={...n,stream:!0},a=await e.create(r,s,{...i,signal:this.controller.signal});this._connected();for await(let c of a)U(this,gr,"m",SS).call(this,c);if(a.controller.signal?.aborted)throw new Dt;return this._addRun(U(this,gr,"m",ES).call(this))}static accumulateDelta(e,r){for(let[n,i]of Object.entries(r)){if(!e.hasOwnProperty(n)){e[n]=i;continue}let o=e[n];if(o==null){e[n]=i;continue}if(n==="index"||n==="type"){e[n]=i;continue}if(typeof o=="string"&&typeof i=="string")o+=i;else if(typeof o=="number"&&typeof i=="number")o+=i;else if(nS(o)&&nS(i))o=this.accumulateDelta(o,i);else if(Array.isArray(o)&&Array.isArray(i)){if(o.every(s=>typeof s=="string"||typeof s=="number")){o.push(...i);continue}for(let s of i){if(!nS(s))throw new Error(`Expected array delta entry to be an object but got: ${s}`);let a=s.index;if(a==null)throw console.error(s),new Error("Expected array delta entry to have an `index` property");if(typeof a!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${a}`);let c=o[a];c==null?o.push(s):o[a]=this.accumulateDelta(c,s)}continue}else throw Error(`Unhandled record type: ${n}, deltaValue: ${i}, accValue: ${o}`);e[n]=o}return e}_addRun(e){return e}async _threadAssistantStream(e,r,n){return await this._createThreadAssistantStream(r,e,n)}async _runAssistantStream(e,r,n,i){return await this._createAssistantStream(r,e,n,i)}async _runToolAssistantStream(e,r,n,i){return await this._createToolAssistantStream(r,e,n,i)}};Su=js,SS=function(e){if(!this.ended)switch(Ae(this,$I,e,"f"),U(this,gr,"m",Fle).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":U(this,gr,"m",Gle).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":U(this,gr,"m",Ule).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":U(this,gr,"m",$le).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:}},ES=function(){if(this.ended)throw new _e("stream has ended, this shouldn't happen");if(!U(this,Eu,"f"))throw Error("Final run has not been received");return U(this,Eu,"f")},$le=function(e){let[r,n]=U(this,gr,"m",jle).call(this,e,U(this,$i,"f"));Ae(this,$i,r,"f"),U(this,LI,"f")[r.id]=r;for(let i of n){let o=r.content[i.index];o?.type=="text"&&this._emit("textCreated",o.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,r),e.data.delta.content)for(let i of e.data.delta.content){if(i.type=="text"&&i.text){let o=i.text,s=r.content[i.index];if(s&&s.type=="text")this._emit("textDelta",o,s.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(i.index!=U(this,yh,"f")){if(U(this,yu,"f"))switch(U(this,yu,"f").type){case"text":this._emit("textDone",U(this,yu,"f").text,U(this,$i,"f"));break;case"image_file":this._emit("imageFileDone",U(this,yu,"f").image_file,U(this,$i,"f"));break}Ae(this,yh,i.index,"f")}Ae(this,yu,r.content[i.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(U(this,yh,"f")!==void 0){let i=e.data.content[U(this,yh,"f")];if(i)switch(i.type){case"image_file":this._emit("imageFileDone",i.image_file,U(this,$i,"f"));break;case"text":this._emit("textDone",i.text,U(this,$i,"f"));break}}U(this,$i,"f")&&this._emit("messageDone",e.data),Ae(this,$i,void 0,"f")}},Ule=function(e){let r=U(this,gr,"m",Ble).call(this,e);switch(Ae(this,vS,r,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let n=e.data.delta;if(n.step_details&&n.step_details.type=="tool_calls"&&n.step_details.tool_calls&&r.step_details.type=="tool_calls")for(let o of n.step_details.tool_calls)o.index==U(this,FI,"f")?this._emit("toolCallDelta",o,r.step_details.tool_calls[o.index]):(U(this,Pn,"f")&&this._emit("toolCallDone",U(this,Pn,"f")),Ae(this,FI,o.index,"f"),Ae(this,Pn,r.step_details.tool_calls[o.index],"f"),U(this,Pn,"f")&&this._emit("toolCallCreated",U(this,Pn,"f")));this._emit("runStepDelta",e.data.delta,r);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":Ae(this,vS,void 0,"f"),e.data.step_details.type=="tool_calls"&&U(this,Pn,"f")&&(this._emit("toolCallDone",U(this,Pn,"f")),Ae(this,Pn,void 0,"f")),this._emit("runStepDone",e.data,r);break;case"thread.run.step.in_progress":break}},Fle=function(e){U(this,bz,"f").push(e),this._emit("event",e)},Ble=function(e){switch(e.event){case"thread.run.step.created":return U(this,Mo,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let r=U(this,Mo,"f")[e.data.id];if(!r)throw Error("Received a RunStepDelta before creation of a snapshot");let n=e.data;if(n.delta){let i=Su.accumulateDelta(r,n.delta);U(this,Mo,"f")[e.data.id]=i}return U(this,Mo,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":U(this,Mo,"f")[e.data.id]=e.data;break}if(U(this,Mo,"f")[e.data.id])return U(this,Mo,"f")[e.data.id];throw new Error("No snapshot available")},jle=function(e,r){let n=[];switch(e.event){case"thread.message.created":return[e.data,n];case"thread.message.delta":if(!r)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let i=e.data;if(i.delta.content)for(let o of i.delta.content)if(o.index in r.content){let s=r.content[o.index];r.content[o.index]=U(this,gr,"m",zle).call(this,o,s)}else r.content[o.index]=o,n.push(o);return[r,n];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(r)return[r,n];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},zle=function(e,r){return Su.accumulateDelta(r,e)},Gle=function(e){switch(Ae(this,UI,e.data,"f"),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":Ae(this,Eu,e.data,"f"),U(this,Pn,"f")&&(this._emit("toolCallDone",U(this,Pn,"f")),Ae(this,Pn,void 0,"f"));break;case"thread.run.cancelling":break}};var vu=class extends Y{constructor(){super(...arguments),this.steps=new _h(this._client)}create(e,r,n){let{include:i,...o}=r;return this._client.post(G`/threads/${e}/runs`,{query:{include:i},body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:r.stream??!1,__synthesizeEventData:!0})}retrieve(e,r,n){let{thread_id:i}=r;return this._client.get(G`/threads/${i}/runs/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{thread_id:i,...o}=r;return this._client.post(G`/threads/${i}/runs/${e}`,{body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(G`/threads/${e}/runs`,$e,{query:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,r,n){let{thread_id:i}=r;return this._client.post(G`/threads/${i}/runs/${e}/cancel`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let i=await this.create(e,r,n);return await this.poll(i.id,{thread_id:e},n)}createAndStream(e,r,n){return js.createAssistantStream(e,this._client.beta.threads.runs,r,n)}async poll(e,r,n){let i=se([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:o,response:s}=await this.retrieve(e,r,{...n,headers:{...n?.headers,...i}}).withResponse();switch(o.status){case"queued":case"in_progress":case"cancelling":let a=5e3;if(n?.pollIntervalMs)a=n.pollIntervalMs;else{let c=s.headers.get("openai-poll-after-ms");if(c){let l=parseInt(c);isNaN(l)||(a=l)}}await Co(a);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return o}}}stream(e,r,n){return js.createAssistantStream(e,this._client.beta.threads.runs,r,n)}submitToolOutputs(e,r,n){let{thread_id:i,...o}=r;return this._client.post(G`/threads/${i}/runs/${e}/submit_tool_outputs`,{body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:r.stream??!1,__synthesizeEventData:!0})}async submitToolOutputsAndPoll(e,r,n){let i=await this.submitToolOutputs(e,r,n);return await this.poll(i.id,r,n)}submitToolOutputsStream(e,r,n){return js.createToolAssistantStream(e,this._client.beta.threads.runs,r,n)}};vu.Steps=_h;var bc=class extends Y{constructor(){super(...arguments),this.runs=new vu(this._client),this.messages=new gh(this._client)}create(e={},r){return this._client.post("/threads",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(G`/threads/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(G`/threads/${e}`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r){return this._client.delete(G`/threads/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}createAndRun(e,r){return this._client.post("/threads/runs",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers]),stream:e.stream??!1,__synthesizeEventData:!0})}async createAndRunPoll(e,r){let n=await this.createAndRun(e,r);return await this.runs.poll(n.id,{thread_id:n.thread_id},r)}createAndRunStream(e,r){return js.createThreadAssistantStream(e,this._client.beta.threads,r)}};bc.Runs=vu;bc.Messages=gh;var Ui=class extends Y{constructor(){super(...arguments),this.realtime=new Ec(this._client),this.chatkit=new vc(this._client),this.assistants=new dh(this._client),this.threads=new bc(this._client)}};Ui.Realtime=Ec;Ui.ChatKit=vc;Ui.Assistants=dh;Ui.Threads=bc;var Tu=class extends Y{create(e,r){return this._client.post("/completions",{body:e,...r,stream:e.stream??!1})}};var Sh=class extends Y{retrieve(e,r,n){let{container_id:i}=r;return this._client.get(G`/containers/${i}/files/${e}/content`,{...n,headers:se([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}};var bu=class extends Y{constructor(){super(...arguments),this.content=new Sh(this._client)}create(e,r,n){return this._client.post(G`/containers/${e}/files`,gc({body:r,...n},this._client))}retrieve(e,r,n){let{container_id:i}=r;return this._client.get(G`/containers/${i}/files/${e}`,n)}list(e,r={},n){return this._client.getAPIList(G`/containers/${e}/files`,$e,{query:r,...n})}delete(e,r,n){let{container_id:i}=r;return this._client.delete(G`/containers/${i}/files/${e}`,{...n,headers:se([{Accept:"*/*"},n?.headers])})}};bu.Content=Sh;var Ac=class extends Y{constructor(){super(...arguments),this.files=new bu(this._client)}create(e,r){return this._client.post("/containers",{body:e,...r})}retrieve(e,r){return this._client.get(G`/containers/${e}`,r)}list(e={},r){return this._client.getAPIList("/containers",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/containers/${e}`,{...r,headers:se([{Accept:"*/*"},r?.headers])})}};Ac.Files=bu;var Eh=class extends Y{create(e,r,n){let{include:i,...o}=r;return this._client.post(G`/conversations/${e}/items`,{query:{include:i},body:o,...n})}retrieve(e,r,n){let{conversation_id:i,...o}=r;return this._client.get(G`/conversations/${i}/items/${e}`,{query:o,...n})}list(e,r={},n){return this._client.getAPIList(G`/conversations/${e}/items`,Li,{query:r,...n})}delete(e,r,n){let{conversation_id:i}=r;return this._client.delete(G`/conversations/${i}/items/${e}`,n)}};var wc=class extends Y{constructor(){super(...arguments),this.items=new Eh(this._client)}create(e={},r){return this._client.post("/conversations",{body:e,...r})}retrieve(e,r){return this._client.get(G`/conversations/${e}`,r)}update(e,r,n){return this._client.post(G`/conversations/${e}`,{body:r,...n})}delete(e,r){return this._client.delete(G`/conversations/${e}`,r)}};wc.Items=Eh;var Au=class extends Y{create(e,r){let n=!!e.encoding_format,i=n?e.encoding_format:"base64";n&&Nt(this._client).debug("embeddings/user defined encoding_format:",e.encoding_format);let o=this._client.post("/embeddings",{body:{...e,encoding_format:i},...r});return n?o:(Nt(this._client).debug("embeddings/decoding base64 embeddings from base64"),o._thenUnwrap(s=>(s&&s.data&&s.data.forEach(a=>{let c=a.embedding;a.embedding=Lle(c)}),s)))}};var vh=class extends Y{retrieve(e,r,n){let{eval_id:i,run_id:o}=r;return this._client.get(G`/evals/${i}/runs/${o}/output_items/${e}`,n)}list(e,r,n){let{eval_id:i,...o}=r;return this._client.getAPIList(G`/evals/${i}/runs/${e}/output_items`,$e,{query:o,...n})}};var wu=class extends Y{constructor(){super(...arguments),this.outputItems=new vh(this._client)}create(e,r,n){return this._client.post(G`/evals/${e}/runs`,{body:r,...n})}retrieve(e,r,n){let{eval_id:i}=r;return this._client.get(G`/evals/${i}/runs/${e}`,n)}list(e,r={},n){return this._client.getAPIList(G`/evals/${e}/runs`,$e,{query:r,...n})}delete(e,r,n){let{eval_id:i}=r;return this._client.delete(G`/evals/${i}/runs/${e}`,n)}cancel(e,r,n){let{eval_id:i}=r;return this._client.post(G`/evals/${i}/runs/${e}`,n)}};wu.OutputItems=vh;var xc=class extends Y{constructor(){super(...arguments),this.runs=new wu(this._client)}create(e,r){return this._client.post("/evals",{body:e,...r})}retrieve(e,r){return this._client.get(G`/evals/${e}`,r)}update(e,r,n){return this._client.post(G`/evals/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/evals",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/evals/${e}`,r)}};xc.Runs=wu;var xu=class extends Y{create(e,r){return this._client.post("/files",Ar({body:e,...r},this._client))}retrieve(e,r){return this._client.get(G`/files/${e}`,r)}list(e={},r){return this._client.getAPIList("/files",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/files/${e}`,r)}content(e,r){return this._client.get(G`/files/${e}/content`,{...r,headers:se([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:r=5e3,maxWait:n=1800*1e3}={}){let i=new Set(["processed","error","deleted"]),o=Date.now(),s=await this.retrieve(e);for(;!s.status||!i.has(s.status);)if(await Co(r),s=await this.retrieve(e),Date.now()-o>n)throw new hc({message:`Giving up on waiting for file ${e} to finish processing after ${n} milliseconds.`});return s}};var Th=class extends Y{};var bh=class extends Y{run(e,r){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...r})}validate(e,r){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...r})}};var Ru=class extends Y{constructor(){super(...arguments),this.graders=new bh(this._client)}};Ru.Graders=bh;var Ah=class extends Y{create(e,r,n){return this._client.getAPIList(G`/fine_tuning/checkpoints/${e}/permissions`,No,{body:r,method:"post",...n})}retrieve(e,r={},n){return this._client.get(G`/fine_tuning/checkpoints/${e}/permissions`,{query:r,...n})}list(e,r={},n){return this._client.getAPIList(G`/fine_tuning/checkpoints/${e}/permissions`,Li,{query:r,...n})}delete(e,r,n){let{fine_tuned_model_checkpoint:i}=r;return this._client.delete(G`/fine_tuning/checkpoints/${i}/permissions/${e}`,n)}};var Iu=class extends Y{constructor(){super(...arguments),this.permissions=new Ah(this._client)}};Iu.Permissions=Ah;var wh=class extends Y{list(e,r={},n){return this._client.getAPIList(G`/fine_tuning/jobs/${e}/checkpoints`,$e,{query:r,...n})}};var Cu=class extends Y{constructor(){super(...arguments),this.checkpoints=new wh(this._client)}create(e,r){return this._client.post("/fine_tuning/jobs",{body:e,...r})}retrieve(e,r){return this._client.get(G`/fine_tuning/jobs/${e}`,r)}list(e={},r){return this._client.getAPIList("/fine_tuning/jobs",$e,{query:e,...r})}cancel(e,r){return this._client.post(G`/fine_tuning/jobs/${e}/cancel`,r)}listEvents(e,r={},n){return this._client.getAPIList(G`/fine_tuning/jobs/${e}/events`,$e,{query:r,...n})}pause(e,r){return this._client.post(G`/fine_tuning/jobs/${e}/pause`,r)}resume(e,r){return this._client.post(G`/fine_tuning/jobs/${e}/resume`,r)}};Cu.Checkpoints=wh;var Fi=class extends Y{constructor(){super(...arguments),this.methods=new Th(this._client),this.jobs=new Cu(this._client),this.checkpoints=new Iu(this._client),this.alpha=new Ru(this._client)}};Fi.Methods=Th;Fi.Jobs=Cu;Fi.Checkpoints=Iu;Fi.Alpha=Ru;var xh=class extends Y{};var Rc=class extends Y{constructor(){super(...arguments),this.graderModels=new xh(this._client)}};Rc.GraderModels=xh;var Pu=class extends Y{createVariation(e,r){return this._client.post("/images/variations",Ar({body:e,...r},this._client))}edit(e,r){return this._client.post("/images/edits",Ar({body:e,...r,stream:e.stream??!1},this._client))}generate(e,r){return this._client.post("/images/generations",{body:e,...r,stream:e.stream??!1})}};var Ou=class extends Y{retrieve(e,r){return this._client.get(G`/models/${e}`,r)}list(e){return this._client.getAPIList("/models",No,e)}delete(e,r){return this._client.delete(G`/models/${e}`,r)}};var Nu=class extends Y{create(e,r){return this._client.post("/moderations",{body:e,...r})}};var Rh=class extends Y{accept(e,r,n){return this._client.post(G`/realtime/calls/${e}/accept`,{body:r,...n,headers:se([{Accept:"*/*"},n?.headers])})}hangup(e,r){return this._client.post(G`/realtime/calls/${e}/hangup`,{...r,headers:se([{Accept:"*/*"},r?.headers])})}refer(e,r,n){return this._client.post(G`/realtime/calls/${e}/refer`,{body:r,...n,headers:se([{Accept:"*/*"},n?.headers])})}reject(e,r={},n){return this._client.post(G`/realtime/calls/${e}/reject`,{body:r,...n,headers:se([{Accept:"*/*"},n?.headers])})}};var Ih=class extends Y{create(e,r){return this._client.post("/realtime/client_secrets",{body:e,...r})}};var zs=class extends Y{constructor(){super(...arguments),this.clientSecrets=new Ih(this._client),this.calls=new Rh(this._client)}};zs.ClientSecrets=Ih;zs.Calls=Rh;function qle(t,e){return!e||!W4e(e)?{...t,output_parsed:null,output:t.output.map(r=>r.type==="function_call"?{...r,parsed_arguments:null}:r.type==="message"?{...r,content:r.content.map(n=>({...n,parsed:null}))}:r)}:Az(t,e)}function Az(t,e){let r=t.output.map(i=>{if(i.type==="function_call")return{...i,parsed_arguments:Z4e(e,i)};if(i.type==="message"){let o=i.content.map(s=>s.type==="output_text"?{...s,parsed:H4e(e,s.text)}:s);return{...i,content:o}}return i}),n=Object.assign({},t,{output:r});return Object.getOwnPropertyDescriptor(t,"output_text")||BI(n),Object.defineProperty(n,"output_parsed",{enumerable:!0,get(){for(let i of n.output)if(i.type==="message"){for(let o of i.content)if(o.type==="output_text"&&o.parsed!==null)return o.parsed}return null}}),n}function H4e(t,e){return t.text?.format?.type!=="json_schema"?null:"$parseRaw"in t.text?.format?(t.text?.format).$parseRaw(e):JSON.parse(e)}function W4e(t){return!!dS(t.text?.format)}function Y4e(t){return t?.$brand==="auto-parseable-tool"}function K4e(t,e){return t.find(r=>r.type==="function"&&r.name===e)}function Z4e(t,e){let r=K4e(t.tools??[],e.name);return{...e,...e,parsed_arguments:Y4e(r)?r.$parseRaw(e.arguments):r?.strict?JSON.parse(e.arguments):null}}function BI(t){let e=[];for(let r of t.output)if(r.type==="message")for(let n of r.content)n.type==="output_text"&&e.push(n.text);t.output_text=e.join("")}var Ch,jI,Ic,zI,Vle,Hle,Wle,Yle,GI=class t extends _c{constructor(e){super(),Ch.add(this),jI.set(this,void 0),Ic.set(this,void 0),zI.set(this,void 0),Ae(this,jI,e,"f")}static createResponse(e,r,n){let i=new t(r);return i._run(()=>i._createOrRetrieveResponse(e,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}async _createOrRetrieveResponse(e,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),U(this,Ch,"m",Vle).call(this);let o,s=null;"response_id"in r?(o=await e.responses.retrieve(r.response_id,{stream:!0},{...n,signal:this.controller.signal,stream:!0}),s=r.starting_after??null):o=await e.responses.create({...r,stream:!0},{...n,signal:this.controller.signal}),this._connected();for await(let a of o)U(this,Ch,"m",Hle).call(this,a,s);if(o.controller.signal?.aborted)throw new Dt;return U(this,Ch,"m",Wle).call(this)}[(jI=new WeakMap,Ic=new WeakMap,zI=new WeakMap,Ch=new WeakSet,Vle=function(){this.ended||Ae(this,Ic,void 0,"f")},Hle=function(r,n){if(this.ended)return;let i=(s,a)=>{(n==null||a.sequence_number>n)&&this._emit(s,a)},o=U(this,Ch,"m",Yle).call(this,r);switch(i("event",r),r.type){case"response.output_text.delta":{let s=o.output[r.output_index];if(!s)throw new _e(`missing output at index ${r.output_index}`);if(s.type==="message"){let a=s.content[r.content_index];if(!a)throw new _e(`missing content at index ${r.content_index}`);if(a.type!=="output_text")throw new _e(`expected content to be 'output_text', got ${a.type}`);i("response.output_text.delta",{...r,snapshot:a.text})}break}case"response.function_call_arguments.delta":{let s=o.output[r.output_index];if(!s)throw new _e(`missing output at index ${r.output_index}`);s.type==="function_call"&&i("response.function_call_arguments.delta",{...r,snapshot:s.arguments});break}default:i(r.type,r);break}},Wle=function(){if(this.ended)throw new _e("stream has ended, this shouldn't happen");let r=U(this,Ic,"f");if(!r)throw new _e("request ended without sending any events");Ae(this,Ic,void 0,"f");let n=J4e(r,U(this,jI,"f"));return Ae(this,zI,n,"f"),n},Yle=function(r){let n=U(this,Ic,"f");if(!n){if(r.type!=="response.created")throw new _e(`When snapshot hasn't been set yet, expected 'response.created' event, got ${r.type}`);return n=Ae(this,Ic,r.response,"f"),n}switch(r.type){case"response.output_item.added":{n.output.push(r.item);break}case"response.content_part.added":{let i=n.output[r.output_index];if(!i)throw new _e(`missing output at index ${r.output_index}`);let o=i.type,s=r.part;o==="message"&&s.type!=="reasoning_text"?i.content.push(s):o==="reasoning"&&s.type==="reasoning_text"&&(i.content||(i.content=[]),i.content.push(s));break}case"response.output_text.delta":{let i=n.output[r.output_index];if(!i)throw new _e(`missing output at index ${r.output_index}`);if(i.type==="message"){let o=i.content[r.content_index];if(!o)throw new _e(`missing content at index ${r.content_index}`);if(o.type!=="output_text")throw new _e(`expected content to be 'output_text', got ${o.type}`);o.text+=r.delta}break}case"response.function_call_arguments.delta":{let i=n.output[r.output_index];if(!i)throw new _e(`missing output at index ${r.output_index}`);i.type==="function_call"&&(i.arguments+=r.delta);break}case"response.reasoning_text.delta":{let i=n.output[r.output_index];if(!i)throw new _e(`missing output at index ${r.output_index}`);if(i.type==="reasoning"){let o=i.content?.[r.content_index];if(!o)throw new _e(`missing content at index ${r.content_index}`);if(o.type!=="reasoning_text")throw new _e(`expected content to be 'reasoning_text', got ${o.type}`);o.text+=r.delta}break}case"response.completed":{Ae(this,Ic,r.response,"f");break}}return n},Symbol.asyncIterator)](){let e=[],r=[],n=!1;return this.on("event",i=>{let o=r.shift();o?o.resolve(i):e.push(i)}),this.on("end",()=>{n=!0;for(let i of r)i.resolve(void 0);r.length=0}),this.on("abort",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),this.on("error",i=>{n=!0;for(let o of r)o.reject(i);r.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((o,s)=>r.push({resolve:o,reject:s})).then(o=>o?{value:o,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=U(this,zI,"f");if(!e)throw new _e("stream ended without producing a ChatCompletion");return e}};function J4e(t,e){return qle(t,e)}var Ph=class extends Y{list(e,r={},n){return this._client.getAPIList(G`/responses/${e}/input_items`,$e,{query:r,...n})}};var Oh=class extends Y{count(e={},r){return this._client.post("/responses/input_tokens",{body:e,...r})}};var Gs=class extends Y{constructor(){super(...arguments),this.inputItems=new Ph(this._client),this.inputTokens=new Oh(this._client)}create(e,r){return this._client.post("/responses",{body:e,...r,stream:e.stream??!1})._thenUnwrap(n=>("object"in n&&n.object==="response"&&BI(n),n))}retrieve(e,r={},n){return this._client.get(G`/responses/${e}`,{query:r,...n,stream:r?.stream??!1})._thenUnwrap(i=>("object"in i&&i.object==="response"&&BI(i),i))}delete(e,r){return this._client.delete(G`/responses/${e}`,{...r,headers:se([{Accept:"*/*"},r?.headers])})}parse(e,r){return this._client.responses.create(e,r)._thenUnwrap(n=>Az(n,e))}stream(e,r){return GI.createResponse(this._client,e,r)}cancel(e,r){return this._client.post(G`/responses/${e}/cancel`,r)}compact(e,r){return this._client.post("/responses/compact",{body:e,...r})}};Gs.InputItems=Ph;Gs.InputTokens=Oh;var Nh=class extends Y{retrieve(e,r){return this._client.get(G`/skills/${e}/content`,{...r,headers:se([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}};var kh=class extends Y{retrieve(e,r,n){let{skill_id:i}=r;return this._client.get(G`/skills/${i}/versions/${e}/content`,{...n,headers:se([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}};var ku=class extends Y{constructor(){super(...arguments),this.content=new kh(this._client)}create(e,r={},n){return this._client.post(G`/skills/${e}/versions`,gc({body:r,...n},this._client))}retrieve(e,r,n){let{skill_id:i}=r;return this._client.get(G`/skills/${i}/versions/${e}`,n)}list(e,r={},n){return this._client.getAPIList(G`/skills/${e}/versions`,$e,{query:r,...n})}delete(e,r,n){let{skill_id:i}=r;return this._client.delete(G`/skills/${i}/versions/${e}`,n)}};ku.Content=kh;var qs=class extends Y{constructor(){super(...arguments),this.content=new Nh(this._client),this.versions=new ku(this._client)}create(e={},r){return this._client.post("/skills",gc({body:e,...r},this._client))}retrieve(e,r){return this._client.get(G`/skills/${e}`,r)}update(e,r,n){return this._client.post(G`/skills/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/skills",$e,{query:e,...r})}delete(e,r){return this._client.delete(G`/skills/${e}`,r)}};qs.Content=Nh;qs.Versions=ku;var Mh=class extends Y{create(e,r,n){return this._client.post(G`/uploads/${e}/parts`,Ar({body:r,...n},this._client))}};var Cc=class extends Y{constructor(){super(...arguments),this.parts=new Mh(this._client)}create(e,r){return this._client.post("/uploads",{body:e,...r})}cancel(e,r){return this._client.post(G`/uploads/${e}/cancel`,r)}complete(e,r,n){return this._client.post(G`/uploads/${e}/complete`,{body:r,...n})}};Cc.Parts=Mh;var Kle=async t=>{let e=await Promise.allSettled(t),r=e.filter(i=>i.status==="rejected");if(r.length){for(let i of r)console.error(i.reason);throw new Error(`${r.length} promise(s) failed - see the above errors`)}let n=[];for(let i of e)i.status==="fulfilled"&&n.push(i.value);return n};var Dh=class extends Y{create(e,r,n){return this._client.post(G`/vector_stores/${e}/file_batches`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{vector_store_id:i}=r;return this._client.get(G`/vector_stores/${i}/file_batches/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,r,n){let{vector_store_id:i}=r;return this._client.post(G`/vector_stores/${i}/file_batches/${e}/cancel`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let i=await this.create(e,r);return await this.poll(e,i.id,n)}listFiles(e,r,n){let{vector_store_id:i,...o}=r;return this._client.getAPIList(G`/vector_stores/${i}/file_batches/${e}/files`,$e,{query:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async poll(e,r,n){let i=se([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:o,response:s}=await this.retrieve(r,{vector_store_id:e},{...n,headers:i}).withResponse();switch(o.status){case"in_progress":let a=5e3;if(n?.pollIntervalMs)a=n.pollIntervalMs;else{let c=s.headers.get("openai-poll-after-ms");if(c){let l=parseInt(c);isNaN(l)||(a=l)}}await Co(a);break;case"failed":case"cancelled":case"completed":return o}}}async uploadAndPoll(e,{files:r,fileIds:n=[]},i){if(r==null||r.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let o=i?.maxConcurrency??5,s=Math.min(o,r.length),a=this._client,c=r.values(),l=[...n];async function u(f){for(let p of f){let h=await a.files.create({file:p,purpose:"assistants"},i);l.push(h.id)}}let d=Array(s).fill(c).map(u);return await Kle(d),await this.createAndPoll(e,{file_ids:l})}};var Lh=class extends Y{create(e,r,n){return this._client.post(G`/vector_stores/${e}/files`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{vector_store_id:i}=r;return this._client.get(G`/vector_stores/${i}/files/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{vector_store_id:i,...o}=r;return this._client.post(G`/vector_stores/${i}/files/${e}`,{body:o,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(G`/vector_stores/${e}/files`,$e,{query:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r,n){let{vector_store_id:i}=r;return this._client.delete(G`/vector_stores/${i}/files/${e}`,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let i=await this.create(e,r,n);return await this.poll(e,i.id,n)}async poll(e,r,n){let i=se([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let o=await this.retrieve(r,{vector_store_id:e},{...n,headers:i}).withResponse(),s=o.data;switch(s.status){case"in_progress":let a=5e3;if(n?.pollIntervalMs)a=n.pollIntervalMs;else{let c=o.response.headers.get("openai-poll-after-ms");if(c){let l=parseInt(c);isNaN(l)||(a=l)}}await Co(a);break;case"failed":case"completed":return s}}}async upload(e,r,n){let i=await this._client.files.create({file:r,purpose:"assistants"},n);return this.create(e,{file_id:i.id},n)}async uploadAndPoll(e,r,n){let i=await this.upload(e,r,n);return await this.poll(e,i.id,n)}content(e,r,n){let{vector_store_id:i}=r;return this._client.getAPIList(G`/vector_stores/${i}/files/${e}/content`,No,{...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var Vs=class extends Y{constructor(){super(...arguments),this.files=new Lh(this._client),this.fileBatches=new Dh(this._client)}create(e,r){return this._client.post("/vector_stores",{body:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(G`/vector_stores/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(G`/vector_stores/${e}`,{body:r,...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e={},r){return this._client.getAPIList("/vector_stores",$e,{query:e,...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,r){return this._client.delete(G`/vector_stores/${e}`,{...r,headers:se([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}search(e,r,n){return this._client.getAPIList(G`/vector_stores/${e}/search`,No,{body:r,method:"post",...n,headers:se([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};Vs.Files=Lh;Vs.FileBatches=Dh;var Mu=class extends Y{create(e,r){return this._client.post("/videos",Ar({body:e,...r},this._client))}retrieve(e,r){return this._client.get(G`/videos/${e}`,r)}list(e={},r){return this._client.getAPIList("/videos",Li,{query:e,...r})}delete(e,r){return this._client.delete(G`/videos/${e}`,r)}createCharacter(e,r){return this._client.post("/videos/characters",Ar({body:e,...r},this._client))}downloadContent(e,r={},n){return this._client.get(G`/videos/${e}/content`,{query:r,...n,headers:se([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}edit(e,r){return this._client.post("/videos/edits",Ar({body:e,...r},this._client))}extend(e,r){return this._client.post("/videos/extensions",Ar({body:e,...r},this._client))}getCharacter(e,r){return this._client.get(G`/videos/characters/${e}`,r)}remix(e,r,n){return this._client.post(G`/videos/${e}/remix`,gc({body:r,...n},this._client))}};var $h,Zle,qI,Du=class extends Y{constructor(){super(...arguments),$h.add(this)}async unwrap(e,r,n=this._client.webhookSecret,i=300){return await this.verifySignature(e,r,n,i),JSON.parse(e)}async verifySignature(e,r,n=this._client.webhookSecret,i=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!="function"||typeof crypto.subtle.verify!="function")throw new Error("Webhook signature verification is only supported when the `crypto` global is defined");U(this,$h,"m",Zle).call(this,n);let o=se([r]).values,s=U(this,$h,"m",qI).call(this,o,"webhook-signature"),a=U(this,$h,"m",qI).call(this,o,"webhook-timestamp"),c=U(this,$h,"m",qI).call(this,o,"webhook-id"),l=parseInt(a,10);if(isNaN(l))throw new Io("Invalid webhook timestamp format");let u=Math.floor(Date.now()/1e3);if(u-l>i)throw new Io("Webhook timestamp is too old");if(l>u+i)throw new Io("Webhook timestamp is too new");let d=s.split(" ").map(m=>m.startsWith("v1,")?m.substring(3):m),f=n.startsWith("whsec_")?Buffer.from(n.replace("whsec_",""),"base64"):Buffer.from(n,"utf-8"),p=c?`${c}.${a}.${e}`:`${a}.${e}`,h=await crypto.subtle.importKey("raw",f,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let m of d)try{let S=Buffer.from(m,"base64");if(await crypto.subtle.verify("HMAC",h,S,new TextEncoder().encode(p)))return}catch{continue}throw new Io("The given webhook signature does not match the expected signature")}};$h=new WeakSet,Zle=function(e){if(typeof e!="string"||e.length===0)throw new Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},qI=function(e,r){if(!e)throw new Error("Headers are required");let n=e.get(r);if(n==null)throw new Error(`Missing required header: ${r}`);return n};var xz,Rz,VI,Jle,wz="workload-identity-auth",De=class{constructor({baseURL:e=Tc("OPENAI_BASE_URL"),apiKey:r=Tc("OPENAI_API_KEY"),organization:n=Tc("OPENAI_ORG_ID")??null,project:i=Tc("OPENAI_PROJECT_ID")??null,webhookSecret:o=Tc("OPENAI_WEBHOOK_SECRET")??null,workloadIdentity:s,...a}={}){if(xz.add(this),VI.set(this,void 0),this.completions=new Tu(this),this.chat=new Sc(this),this.embeddings=new Au(this),this.files=new xu(this),this.images=new Pu(this),this.audio=new ko(this),this.moderations=new Nu(this),this.models=new Ou(this),this.fineTuning=new Fi(this),this.graders=new Rc(this),this.vectorStores=new Vs(this),this.webhooks=new Du(this),this.beta=new Ui(this),this.batches=new _u(this),this.uploads=new Cc(this),this.responses=new Gs(this),this.realtime=new zs(this),this.conversations=new wc(this),this.evals=new xc(this),this.containers=new Ac(this),this.skills=new qs(this),this.videos=new Mu(this),s){if(r&&r!==wz)throw new _e("The `apiKey` and `workloadIdentity` arguments are mutually exclusive; only one can be passed at a time.");r=wz}else if(r===void 0)throw new _e("Missing credentials. Please pass an `apiKey`, `workloadIdentity`, or set the `OPENAI_API_KEY` environment variable.");let c={apiKey:r,organization:n,project:i,webhookSecret:o,workloadIdentity:s,...a,baseURL:e||"https://api.openai.com/v1"};if(!c.dangerouslyAllowBrowser&&rle())throw new _e(`It looks like you're running in a browser-like environment.
361
361
 
362
362
  This is disabled by default, as it risks exposing your secret API credentials to attackers.
363
363
  If you understand the risks and have appropriate mitigations in place,
@@ -406,13 +406,13 @@ priority = 20
406
406
  ${ye.output.trim()}
407
407
  \`\`\``),he(Ue,!0),xqe(Ue));break}case"result":{R=ye.stats?.duration_ms,ye.stats&&(ka(ye.stats,m?{model:m}:{}),N=ye.stats),ye.status==="error"?O=ye.error?.message:P=Ie.trim();break}case"error":{O=ye.error;break}case"finished":break;case"init":break;default:{_r.warn("Unhandled message type:",ye.type);break}}});let Oe=!1;if(await Z.catch(de=>{Oe=Ya(de,l),{error:O,result:P}=Tqe({catchError:de,runCmd:Z,error:O,result:P,runnerName:"Gemini"})}),xe.close(),L)return z.flush(),{steps:b,duration:R,agentSessionId:I,resolvedModel:m,usage:N,pendingInteraction:L};let Re=Oe;return Re&&(!P&&Ie.trim()&&(P=Ie.trim()),O=void 0),z.flush(),{steps:b,duration:R,result:await lc({initialResult:P,agentName:KI,hasError:!!O}),error:uc({error:O,agentName:KI}),isRetryableError:dc(O),isProviderUnavailableError:fc(O),resolvedModel:m,usage:N,agentSessionId:I,...h&&rue(m)?{effort:h}:{},...Re?{aborted:!0}:{}}}var nue=async()=>{let t=Oc.join(xS.homedir(),".gemini");await Lu.rm(t,{recursive:!0,force:!0});let e=Oc.join(xS.homedir(),".agents","skills");await Lu.rm(e,{recursive:!0,force:!0})},iue={baseDir:Oc.join(xS.homedir(),".gemini"),include:["tmp"]};import kz from"fs/promises";import lue from"os";import RS from"path";import Dz from"process";import Nqe from"readline";import Pqe from"os";import aue from"path";import Nz from"fs";var oue=le("opencode_install"),sue="1.17.19",Oqe=()=>aue.join(Pqe.homedir(),".netlify-agent-runner","opencode"),ZI=async t=>{let e=ki(t,"opencode");if(e)return e;let r=Oqe(),n=aue.join(r,"node_modules",".bin","opencode");if(Nz.existsSync(n))return n;Nz.mkdirSync(r,{recursive:!0}),oue.log(`Installing opencode-ai@${sue} on demand`);let i=Date.now();await zt("npm",["install","--no-save","--no-audit","--no-fund","--prefix",r,`opencode-ai@${sue}`],{cwd:r});let o=Date.now()-i;if(ce.timing("opencode.install_duration",o),oue.log(`Installed opencode-ai in ${o}ms`),!Nz.existsSync(n))throw new Error("OpenCode CLI binary not found after installing opencode-ai");return n};var Ws=le("runner_opencode"),JI="OpenCode",uue="gateway",kqe="z-ai/glm-5.2",Mqe=new Set(["z-ai/glm-5.2","deepseek/deepseek-v4-pro","x-ai/grok-4.6"]),Dqe=(t,e)=>!t||!RA.includes(t)?t:e&&Mqe.has(e)?"xhigh":"max",Mz={bash:{name:"Run command",category:W.RunCommand},read:{name:"Read file",category:W.FileRead},write:{name:"Edit file",category:W.FileWrite},edit:{name:"Edit file",category:W.FileWrite},glob:{name:"Find files",category:W.Explore},grep:{name:"Search files",category:W.Explore},list:{name:"List directory",category:W.Explore},task:{name:"Task",category:W.Task},todowrite:{name:"Update task list",category:W.Todo},webfetch:{name:"Fetch web",category:W.Web},websearch:{name:"Search web",category:W.Web},skill:{name:"Use Skill",category:W.Skill}},cue=t=>Mz[t]?.name||t,Lqe=t=>Array.isArray(t)?t.flatMap(e=>{let{content:r,status:n}=e??{};return typeof r!="string"||!r?[]:[{name:r,value:typeof n=="string"&&n?n:"pending"}]}):[],$qe=250,Uqe=t=>{let e;try{e=JSON.parse(t)}catch{return{issues:"invalid_json"}}let r=ac.safeParse(e);return r.success?{questions:r.data.questions}:{issues:cc(r.error.issues)}},Fqe=(t,e)=>{let r=!0,n=setInterval(async()=>{let i=await kz.readFile(t,"utf-8").catch(()=>{});if(i===void 0)return;clearInterval(n),await kz.rm(t,{force:!0}).catch(()=>{});let{questions:o,issues:s}=Uqe(i);if(!o){Ws.warn("Ignoring malformed ask tool questions file",{filePath:t,issues:s}),ce.inc("inference.malformed_ask",1);return}r&&e(o)},$qe);return n.unref(),{stop:()=>{r=!1,clearInterval(n)}}};async function Bqe({aiGateway:t,config:e,model:r}){let n=r;if(t){let i=t.isModelAvailable;if(!i)throw new Error("OpenCode runner requires a gateway with isModelAvailable support");let o=e.modelVersionOverrides?.opencode?.[e.accountType];o?n=o:r||(n=ze().opencodeDefaultModel||kqe),n&&(await i(n)||Ws.log(`Model '${n}' not found in gateway catalog; proceeding anyway (gateway is authoritative, e.g. flag-gated OpenRouter models)`))}return n}function jqe({aiGateway:t,model:e,effort:r,questionsFilePath:n}){if(!t)throw new Error("OpenCode runner requires the AI gateway");let{token:i,url:o}=t;if(!i||!o)throw new Error("No token or url provided from AI Gateway");let s=e?{[e]:{id:e,name:e,tool_call:!0,reasoning:!0,interleaved:{field:"reasoning_details"},...r?{options:{reasoningEffort:r}}:{}}}:{},a={$schema:"https://opencode.ai/config.json",provider:{[uue]:{api:"openai",name:"Netlify AI Gateway",options:{apiKey:i,baseURL:o},...Object.keys(s).length>0?{models:s}:{}}},...n?{mcp:Poe(n)}:{}};return{...Dz.env,OPENCODE_CONFIG_CONTENT:JSON.stringify(a),OPENCODE_DISABLE_AUTOUPDATE:"1"}}async function Lz({config:t,netlify:e,persistSteps:r,aiGateway:n,continueSession:i,priorAgentSessionId:o,cwd:s=Dz.cwd(),abortSignal:a,onSessionId:c,forceLowEffortForCreditWrapUp:l}){let{prompt:u}=t,{model:d}=t,f=l?"low":t.effort,p="",h,m,S,E,b=0,A=0,y,R=await Bqe({config:t,aiGateway:n,model:d}),P=Dqe(f,R);Ws.log(f?`Requesting reasoning effort '${f}' for model '${R}'${P===f?"":` (sent as '${P}')`}; ignored if unsupported`:`No reasoning effort requested for model '${R}'; running at its own default`);let O=Za({creditWrapUpTurn:l})?await Ooe():void 0,N=jqe({aiGateway:n,model:R,effort:P,questionsFilePath:O?.filePath}),I=[],L=[],_=0,ee=Date.now(),k=await ZI(s),g=["run","--format","json","--dangerously-skip-permissions","--agent","build",...R?["--model",`${uue}/${R}`]:[],...i?o?["--session",o]:["--continue"]:[]];Ws.log(`Running ${k} ${g.join(" ")}`);let v=e.utils.run(k,g,{all:!0,env:N,cwd:s,idleTimeout:ps,cancelSignal:a});v.stdin?.end(u);let C=O?Fqe(O.filePath,Ue=>{y||(y={questions:Ue},v.kill())}):void 0,Z=Fa(()=>{r?.({steps:L,duration:Date.now()-ee})},250),z=(Ue,V)=>{let{wrapMessage:oe,...D}=Ue,x=Kw({...D,id:_});x.message&&oe&&(x.message=`\`\`\`
408
408
  ${x.message}
409
- \`\`\``),_+=1,I.push(x),L.push(x),V||Z.flush(),Z(),V&&Z.flush()},he=R||"default";t.answeredInteraction||z({title:`Using ${JI} with ${he}`,category:W.Environment},!0);let ke=Nqe.createInterface({input:v.all});ke.on("error",Ue=>{Ws.error("Readline interface error",{error:Ue.message,stack:Ue.stack})});let xe="",Ie,we=new Set,Oe=()=>{xe&&(z({message:xe,category:W.AgentMessage}),Ie=xe,xe="")};ke.on("line",Ue=>{let V;try{V=JSON.parse(Ue)}catch{Ws.log("Could not parse line",Ue);return}switch(V.sessionID&&V.sessionID!==p&&(p=V.sessionID,c?.(p)),V.type){case"step_start":{Oe();break}case"text":{let oe=V.part?.text;oe&&(xe+=oe);break}case"reasoning":{Oe();let oe=V.part?.text;oe&&z({title:"Reasoning",message:oe,category:W.Reasoning},!0);break}case"tool_use":{Oe();let oe=V.part?.tool;if(!oe)break;let D=V.part?.state?.input??{},x=V.part?.state?.status,F=V.part?.state?.output,j=V.part?.state?.error;if(oe===Coe){x==="error"&&Ws.warn("Ask tool call rejected before it could pause the run",{error:j});break}if(x==="error"&&(b+=1),(x==="completed"||x==="error")&&(A+=1),oe==="skill"){let Ht=typeof D.name=="string"?D.name:void 0;if(Ht){let Un=To(Ht);Ts(Ws,Un),z({title:`Use ${Un}`,category:W.Skill,type:Ht},!0);break}}if(oe==="todowrite"){let Ht=Lqe(D.todos);z({title:cue(oe),category:Ht.length>0?Mz.todowrite.category:W.Tool,...Ht.length>0?{tasks:Ht}:{}},!0);break}let H=typeof D.command=="string"?D.command:void 0,X=H?Ds(H):!1,q=typeof D.path=="string"&&D.path||typeof D.file_path=="string"&&D.file_path||typeof D.pattern=="string"&&D.pattern||void 0,Y,pe;if(X)Y="Generating the site",pe=W.SiteGeneration;else if(H&&oe==="bash")Y=`Running \`${H}\``,pe=W.RunCommand;else{let Ht=q&&`\`${RS.relative(s,q)}\``;Y=[cue(oe),Ht].filter(Boolean).join(" "),pe=Mz[oe]?.category||W.AgentMessage}let Ce,Ze=["bash","read","glob","grep","list","webfetch","websearch"].includes(oe);j?Ce=`\`\`\`
409
+ \`\`\``),_+=1,I.push(x),L.push(x),V||Z.flush(),Z(),V&&Z.flush()},he=R||"default";t.answeredInteraction||z({title:`Using ${JI} with ${he}`,category:W.Environment},!0);let ke=Nqe.createInterface({input:v.all});ke.on("error",Ue=>{Ws.error("Readline interface error",{error:Ue.message,stack:Ue.stack})});let xe="",Ie,we=new Set,Oe=()=>{xe&&(z({message:xe,category:W.AgentMessage}),Ie=xe,xe="")};ke.on("line",Ue=>{let V;try{V=JSON.parse(Ue)}catch{Ws.log("Could not parse line",Ue);return}switch(V.sessionID&&V.sessionID!==p&&(p=V.sessionID,c?.(p)),V.type){case"step_start":{Oe();break}case"text":{let oe=V.part?.text;oe&&(xe+=oe);break}case"reasoning":{Oe();let oe=V.part?.text;oe&&z({title:"Reasoning",message:oe,category:W.Reasoning},!0);break}case"tool_use":{Oe();let oe=V.part?.tool;if(!oe)break;let D=V.part?.state?.input??{},x=V.part?.state?.status,F=V.part?.state?.output,j=V.part?.state?.error;if(oe===Coe){x==="error"&&Ws.warn("Ask tool call rejected before it could pause the run",{error:j});break}if(x==="error"&&(b+=1),(x==="completed"||x==="error")&&(A+=1),oe==="skill"){let Ht=typeof D.name=="string"?D.name:void 0;if(Ht){let Un=To(Ht);Ts(Ws,Un),z({title:`Use ${Un}`,category:W.Skill,type:Ht},!0);break}}if(oe==="todowrite"){let Ht=Lqe(D.todos);z({title:cue(oe),category:Ht.length>0?Mz.todowrite.category:W.Tool,...Ht.length>0?{tasks:Ht}:{}},!0);break}let H=typeof D.command=="string"?D.command:void 0,X=H?Ds(H):!1,q=typeof D.path=="string"&&D.path||typeof D.file_path=="string"&&D.file_path||typeof D.pattern=="string"&&D.pattern||void 0,K,pe;if(X)K="Generating the site",pe=W.SiteGeneration;else if(H&&oe==="bash")K=`Running \`${H}\``,pe=W.RunCommand;else{let Ht=q&&`\`${RS.relative(s,q)}\``;K=[cue(oe),Ht].filter(Boolean).join(" "),pe=Mz[oe]?.category||W.AgentMessage}let Ce,Ze=["bash","read","glob","grep","list","webfetch","websearch"].includes(oe);j?Ce=`\`\`\`
410
410
  ${j.trim()}
411
411
  \`\`\``:F&&(Ce=Ze?`\`\`\`
412
412
  ${F.trim()}
413
413
  \`\`\``:F.trim()),x==="error"&&j&&(Ce=Ce?`${Ce}
414
414
 
415
- *Command failed*`:`*Command failed: ${j.trim()}*`),z({title:Y,message:Ce,category:pe},!0);break}case"step_finish":{Oe();let oe=V.part?.tokens;oe&&(S={input_tokens:(S?.input_tokens??0)+(oe.input??0),output_tokens:(S?.output_tokens??0)+(oe.output??0),reasoning_output_tokens:(S?.reasoning_output_tokens??0)+(oe.reasoning??0),cache_creation_input_tokens:(S?.cache_creation_input_tokens??0)+(oe.cache?.write??0),cache_read_input_tokens:(S?.cache_read_input_tokens??0)+(oe.cache?.read??0)}),V.part?.cost!=null&&(E=(E??0)+V.part.cost);break}case"error":{Oe();let D=V.error?.data?.message??V.error?.message??V.part?.state?.error??(V.error?JSON.stringify(V.error).slice(0,500):"unknown error");m=m?`${m}
415
+ *Command failed*`:`*Command failed: ${j.trim()}*`),z({title:K,message:Ce,category:pe},!0);break}case"step_finish":{Oe();let oe=V.part?.tokens;oe&&(S={input_tokens:(S?.input_tokens??0)+(oe.input??0),output_tokens:(S?.output_tokens??0)+(oe.output??0),reasoning_output_tokens:(S?.reasoning_output_tokens??0)+(oe.reasoning??0),cache_creation_input_tokens:(S?.cache_creation_input_tokens??0)+(oe.cache?.write??0),cache_read_input_tokens:(S?.cache_read_input_tokens??0)+(oe.cache?.read??0)}),V.part?.cost!=null&&(E=(E??0)+V.part.cost);break}case"error":{Oe();let D=V.error?.data?.message??V.error?.message??V.part?.state?.error??(V.error?JSON.stringify(V.error).slice(0,500):"unknown error");m=m?`${m}
416
416
  ${D}`:D;break}default:V.type&&!we.has(V.type)&&(we.add(V.type),Ws.log(`Unhandled opencode event type: ${V.type}`))}});let Re=!1;await v.catch(Ue=>{Re=Ya(Ue,a),Oe();let V=dp({catchError:Ue,runCmd:v,error:m,result:h??Ie,runnerName:JI});m=V.error,h=V.result}),C?.stop(),await O?.remove();let de=Date.now()-ee;Oe(),ke.close(),Z.flush();let ye=Re;return ye&&(m=void 0),!m&&!h&&Ie&&(h=Ie),S&&ka(S,R?{model:R}:{}),y?{steps:I,duration:de,agentSessionId:p,resolvedModel:R,effort:f,resolvedProviderEffort:P,usage:S,costUsd:E,toolErrorCount:b,toolCallCount:A,pendingInteraction:y}:{steps:I,duration:de,result:await lc({initialResult:h,agentName:JI,hasError:!!m}),error:uc({error:m,agentName:JI}),isRetryableError:dc(m),isProviderUnavailableError:fc(m),agentSessionId:p,resolvedModel:R,effort:f,resolvedProviderEffort:P,usage:S,costUsd:E,toolErrorCount:b,toolCallCount:A,...ye?{aborted:!0}:{}}}var zqe=()=>RS.join(lue.homedir(),".config","opencode"),due=()=>{let t=Dz.env.XDG_DATA_HOME,e=t&&RS.isAbsolute(t)?t:RS.join(lue.homedir(),".local","share");return RS.join(e,"opencode")},fue=async()=>{let t=[zqe(),due()];await Promise.all(t.map(e=>kz.rm(e,{recursive:!0,force:!0})))},pue={baseDir:due(),include:["opencode.db","opencode.db-shm","opencode.db-wal"]};var $z={codex:{runner:Iz,clean:Xle,nativeSessionArchive:Qle},claude:{runner:B2,clean:Wce,nativeSessionArchive:Yce},gemini:{runner:Oz,clean:nue,nativeSessionArchive:iue},opencode:{runner:Lz,clean:fue,nativeSessionArchive:pue}},Ljt=Object.keys($z),Ys=t=>$z[t]?.nativeSessionArchive,jh=$z;import{execSync as Gqe}from"child_process";import hue from"fs/promises";import qqe from"path";import zh from"process";var mue=le("git-wrapper"),Vqe=["status","diff","log","show","rev-parse","rev-list","ls-files","show-ref","cat-file","merge-base","blame","grep","describe"],Hqe=t=>`#!/bin/bash
417
417
  # Git wrapper that only allows read-only commands.
418
418
  # The deployment system handles staging, moves, and commits automatically.
@@ -613,7 +613,7 @@ Preview deploy created successfully:`,{deployId:m.deploy_id,deployUrl:m.deploy_u
613
613
 
614
614
  ${X.error}
615
615
 
616
- Please fix the issue and do NOT run \`drizzle-kit generate\` yourself \u2014 it will be run automatically after you're done.`]),await ZC({cwd:n})),n&&!X.skipped){let Ee=await y("db-migrations-verify",()=>gge({cliPath:r,cwd:n}));Ee.error&&(_t.log("Migration drift detected, running inference to fix"),await F("inference-migration-drift-fix",[Ee.error]))}if(ze().aiFnV1GuardrailEnabled&&n&&!V)try{let Ee=await tL(n);Ee.v1>0&&(_t.log(`Detected ${Ee.v1} v1 AI function(s), running inference to fix`),await F("inference-ai-fn-v1-fix",[pye(Ee.v1Files)]))}catch(Ee){if(hs(Ee))throw Ee;_t.warn("ai_fn_v1_guardrail failed",{err:Ee})}let q=await y("deploy",()=>YC({cliPath:r,config:t,context:_,result:x.result,filter:i,isRetry:!1,deploySubdomain:Oe})),Y=q.hasChanges?q:void 0,pe=x;q.deployError&&ce.inc("deploy.failed",1,{attempt:1});let Ce=[],Ze;if(q.hasChanges&&q.deployError){Ce.push(OQ(q.deployError));let Ee=1,et=!1;for(;Ee<=Em&&!q.previewInfo&&!et;)_t.log(`Deploy attempt had errors. Retrying. ${Ee}/${Em}`),await Qm(Ye(),"deploy-stage",async sr=>{sr?.setAttributes({"stage.attempt":Ee});let Wr;try{A=E,Wr=(await Z.runFixTurn(()=>y(`inference-retry-${Ee}`,()=>jc({cliPath:r,config:t,context:_,runner:v,persistSteps:ye,aiGateway:L,buildErrors:Ce,priorAgentSessionId:x.agentSessionId,answerFold:Ue})))).runnerResult}catch(Zu){if(hs(Zu))throw Zu;_t.warn(`Inference retry ${Ee} failed, stopping deploy retries:`,Zu),et=!0;return}if(z)throw Object.assign(z,{agentSessionId:Wr.agentSessionId??x.agentSessionId}),z;pe=gy(pe,Wr),V||await ZC({cwd:n}),q=await y(`deploy-retry-${Ee}`,()=>YC({cliPath:r,config:t,context:_,result:Wr.result,filter:i,isRetry:!0,deploySubdomain:Oe})),q.hasChanges&&(Y=q),q.deployError&&(ce.inc("deploy.failed",1,{attempt:Ee+1}),Ce.push(q.deployError)),Ee++});Ee>Em&&!q.previewInfo&&(ce.inc("deploy.retries_exhausted",1),t.mode==="create"?(console.warn(`Deploy still failing after ${Em} retries, failing the create run`),Ze=new Error(`Deploy failed after ${Em} retries`)):console.warn(`Deploy still failing after ${Em} retries, completing run without a preview`))}let Ht=q.previewInfo||q.hasChanges?q:Y??q,{diff:Un,resultDiff:_P,previewInfo:Yu,diffBinary:Hc,resultDiffBinary:Ku,hasNetlifyForm:Ut,hasNetlifyIdentity:At}=Ht;Ht.hasChanges&&iL({previewDeployed:!!Ht.previewInfo,hadFailedAttempts:Ce.length>0}),await l?.stop(),I?.setAttributes(kQ(pe,l?.getCreditsCost())),m=pe.resolvedModel,S=pe.effort??S;let ta=pe.agentSessionId??x.agentSessionId;if(ta&&Gh(ta),await y("cleanup",()=>Cq({config:t,diff:Un,result:pe.result,duration:pe.duration,resultDiff:_P,diffBinary:Hc,resultDiffBinary:Ku,previewInfo:Yu,isProdDeploy:we,hasNetlifyForm:Ut,hasNetlifyIdentity:At,nativeSessionArchive:Ys(t.runner),nativeSessionId:ta,finalAgentConfig:{agent:t.runner,model:m,effort:S},creditWrapUp:E}),Ss.timeUnits.minutes(10),{interruptible:!1}),Ze)throw Ze;try{let Ee=await tL(n??process.cwd());Ee.aiTotal>0&&I?.setAttributes({"agent.fn_ai_total":Ee.aiTotal,"agent.fn_ai_v1":Ee.v1,"agent.fn_ai_v2":Ee.v2,"agent.fn_ai_v3":Ee.v3,"agent.fn_ai_unknown":Ee.unknown})}catch{}if(await P("completed"),V&&!process.env.NETLIFY_LOCAL_MODE)try{let Ee=await Mie(n);Ee.length>0&&(_t.warn(`Removed ${Ee.length} leftover untracked change(s) after ask run`,{removed:Ee}),ce.inc("ask_mode.leaked_untracked_files",Ee.length))}catch(Ee){_t.warn("Failed to remove untracked files after successful ask run",{error:Ee?.message||Ee})}let yP=t.siteId?await WQ(t.siteId):!1;typeof yP=="boolean"&&I?.setAttributes({"actual.has_db":yP}),await QQ({config:t,hasDb:yP,pipelineSpan:I,resolvedModel:pe.resolvedModel??x.resolvedModel,cliVersion:iE.version})})}catch(I){if(hs(I)){p="gracefulError",_t.info("Agent run terminated gracefully",{statusCode:I.statusCode,reason:I.message}),await l?.stop();let v=I?.agentSessionId,C=I.isCreditLimitExceeded&&!!v,{nativeSessionS3Key:Z,diffFields:z}=I.isCreditLimitExceeded?await xye(t,v):{nativeSessionS3Key:null,diffFields:{}};await P("errored");try{await vr(t.id,t.sessionId,{result:I.userMessage,state:I.isCreditLimitExceeded?"cancelled":"error",...I.isCreditLimitExceeded&&{credit_limit_exceeded:!0},...C?{native_session_id:v}:{},...Z?{native_session_s3_key:Z}:{},...z,metadata:{final_agent_config:{agent:t.runner,model:m,effort:S},...E?{credit_wrap_up:!0}:{}}})}catch{_t.info("Could not update session (site may have been deleted)")}I.isCreditLimitExceeded&&bye("credit_limit_cancelled");return}p=vo()?"interrupted":"error",_t.error("Got error while running pipeline",I),await l?.stop();let L=I?.agentSessionId,_=vo()&&!!L,ee=null;if(_){Gh(L);let v=Ys(t.runner);try{await Promise.race([Promise.all([qu({runnerId:t.id,sessionId:t.sessionId,archive:v,nativeSessionId:L}).then(C=>{ee=C}),cm({archive:v,cache:t.cache,nativeSessionId:L})]),new Promise(C=>{setTimeout(C,wye).unref()})])}catch(C){_t.warn("Failed to preserve native session before teardown",{error:C?.message||C})}}await P("errored");let k=I instanceof Error?I.shortMessage||I.message:"",g=k?Lce(mI(k)):"Encountered error when running agent";try{await vr(t.id,t.sessionId,{result:g,state:"error",..._?{native_session_id:L}:{},...ee?{native_session_s3_key:ee}:{}})}catch(v){_t.error("Failed to update session with error state, retrying with minimal payload:",v);try{await vr(t.id,t.sessionId,{result:"Encountered error when running agent",state:"error"})}catch(C){_t.error("Failed to mark session as errored:",C)}}throw I}finally{d&&w1(),b&&Sye(b,l?.getCreditsCost(),A),fye({isHotFollowUp:o,startedAt:f,outcome:p,nativeResume:h,isAnswerResume:N,creditsCost:l?.getCreditsCost(),model:m,effort:S})}};import Rye from"crypto";var Hr=le("bin_local"),$n=(0,Pye.default)(Cr.argv.slice(2),{string:["cwd","cli-path","filter","prompt","runner","model","netlify-api-token","trace-exporter-url"],boolean:["verbose","help"],alias:{h:"help",v:"verbose"}}),jV=()=>{console.log(`
616
+ Please fix the issue and do NOT run \`drizzle-kit generate\` yourself \u2014 it will be run automatically after you're done.`]),await ZC({cwd:n})),n&&!X.skipped){let Ee=await y("db-migrations-verify",()=>gge({cliPath:r,cwd:n}));Ee.error&&(_t.log("Migration drift detected, running inference to fix"),await F("inference-migration-drift-fix",[Ee.error]))}if(ze().aiFnV1GuardrailEnabled&&n&&!V)try{let Ee=await tL(n);Ee.v1>0&&(_t.log(`Detected ${Ee.v1} v1 AI function(s), running inference to fix`),await F("inference-ai-fn-v1-fix",[pye(Ee.v1Files)]))}catch(Ee){if(hs(Ee))throw Ee;_t.warn("ai_fn_v1_guardrail failed",{err:Ee})}let q=await y("deploy",()=>YC({cliPath:r,config:t,context:_,result:x.result,filter:i,isRetry:!1,deploySubdomain:Oe})),K=q.hasChanges?q:void 0,pe=x;q.deployError&&ce.inc("deploy.failed",1,{attempt:1});let Ce=[],Ze;if(q.hasChanges&&q.deployError){Ce.push(OQ(q.deployError));let Ee=1,et=!1;for(;Ee<=Em&&!q.previewInfo&&!et;)_t.log(`Deploy attempt had errors. Retrying. ${Ee}/${Em}`),await Qm(Ye(),"deploy-stage",async sr=>{sr?.setAttributes({"stage.attempt":Ee});let Wr;try{A=E,Wr=(await Z.runFixTurn(()=>y(`inference-retry-${Ee}`,()=>jc({cliPath:r,config:t,context:_,runner:v,persistSteps:ye,aiGateway:L,buildErrors:Ce,priorAgentSessionId:x.agentSessionId,answerFold:Ue})))).runnerResult}catch(Zu){if(hs(Zu))throw Zu;_t.warn(`Inference retry ${Ee} failed, stopping deploy retries:`,Zu),et=!0;return}if(z)throw Object.assign(z,{agentSessionId:Wr.agentSessionId??x.agentSessionId}),z;pe=gy(pe,Wr),V||await ZC({cwd:n}),q=await y(`deploy-retry-${Ee}`,()=>YC({cliPath:r,config:t,context:_,result:Wr.result,filter:i,isRetry:!0,deploySubdomain:Oe})),q.hasChanges&&(K=q),q.deployError&&(ce.inc("deploy.failed",1,{attempt:Ee+1}),Ce.push(q.deployError)),Ee++});Ee>Em&&!q.previewInfo&&(ce.inc("deploy.retries_exhausted",1),t.mode==="create"?(console.warn(`Deploy still failing after ${Em} retries, failing the create run`),Ze=new Error(`Deploy failed after ${Em} retries`)):console.warn(`Deploy still failing after ${Em} retries, completing run without a preview`))}let Ht=q.previewInfo||q.hasChanges?q:K??q,{diff:Un,resultDiff:_P,previewInfo:Yu,diffBinary:Hc,resultDiffBinary:Ku,hasNetlifyForm:Ut,hasNetlifyIdentity:At}=Ht;Ht.hasChanges&&iL({previewDeployed:!!Ht.previewInfo,hadFailedAttempts:Ce.length>0}),await l?.stop(),I?.setAttributes(kQ(pe,l?.getCreditsCost())),m=pe.resolvedModel,S=pe.effort??S;let ta=pe.agentSessionId??x.agentSessionId;if(ta&&Gh(ta),await y("cleanup",()=>Cq({config:t,diff:Un,result:pe.result,duration:pe.duration,resultDiff:_P,diffBinary:Hc,resultDiffBinary:Ku,previewInfo:Yu,isProdDeploy:we,hasNetlifyForm:Ut,hasNetlifyIdentity:At,nativeSessionArchive:Ys(t.runner),nativeSessionId:ta,finalAgentConfig:{agent:t.runner,model:m,effort:S},creditWrapUp:E}),Ss.timeUnits.minutes(10),{interruptible:!1}),Ze)throw Ze;try{let Ee=await tL(n??process.cwd());Ee.aiTotal>0&&I?.setAttributes({"agent.fn_ai_total":Ee.aiTotal,"agent.fn_ai_v1":Ee.v1,"agent.fn_ai_v2":Ee.v2,"agent.fn_ai_v3":Ee.v3,"agent.fn_ai_unknown":Ee.unknown})}catch{}if(await P("completed"),V&&!process.env.NETLIFY_LOCAL_MODE)try{let Ee=await Mie(n);Ee.length>0&&(_t.warn(`Removed ${Ee.length} leftover untracked change(s) after ask run`,{removed:Ee}),ce.inc("ask_mode.leaked_untracked_files",Ee.length))}catch(Ee){_t.warn("Failed to remove untracked files after successful ask run",{error:Ee?.message||Ee})}let yP=t.siteId?await WQ(t.siteId):!1;typeof yP=="boolean"&&I?.setAttributes({"actual.has_db":yP}),await QQ({config:t,hasDb:yP,pipelineSpan:I,resolvedModel:pe.resolvedModel??x.resolvedModel,cliVersion:iE.version})})}catch(I){if(hs(I)){p="gracefulError",_t.info("Agent run terminated gracefully",{statusCode:I.statusCode,reason:I.message}),await l?.stop();let v=I?.agentSessionId,C=I.isCreditLimitExceeded&&!!v,{nativeSessionS3Key:Z,diffFields:z}=I.isCreditLimitExceeded?await xye(t,v):{nativeSessionS3Key:null,diffFields:{}};await P("errored");try{await vr(t.id,t.sessionId,{result:I.userMessage,state:I.isCreditLimitExceeded?"cancelled":"error",...I.isCreditLimitExceeded&&{credit_limit_exceeded:!0},...C?{native_session_id:v}:{},...Z?{native_session_s3_key:Z}:{},...z,metadata:{final_agent_config:{agent:t.runner,model:m,effort:S},...E?{credit_wrap_up:!0}:{}}})}catch{_t.info("Could not update session (site may have been deleted)")}I.isCreditLimitExceeded&&bye("credit_limit_cancelled");return}p=vo()?"interrupted":"error",_t.error("Got error while running pipeline",I),await l?.stop();let L=I?.agentSessionId,_=vo()&&!!L,ee=null;if(_){Gh(L);let v=Ys(t.runner);try{await Promise.race([Promise.all([qu({runnerId:t.id,sessionId:t.sessionId,archive:v,nativeSessionId:L}).then(C=>{ee=C}),cm({archive:v,cache:t.cache,nativeSessionId:L})]),new Promise(C=>{setTimeout(C,wye).unref()})])}catch(C){_t.warn("Failed to preserve native session before teardown",{error:C?.message||C})}}await P("errored");let k=I instanceof Error?I.shortMessage||I.message:"",g=k?Lce(mI(k)):"Encountered error when running agent";try{await vr(t.id,t.sessionId,{result:g,state:"error",..._?{native_session_id:L}:{},...ee?{native_session_s3_key:ee}:{}})}catch(v){_t.error("Failed to update session with error state, retrying with minimal payload:",v);try{await vr(t.id,t.sessionId,{result:"Encountered error when running agent",state:"error"})}catch(C){_t.error("Failed to mark session as errored:",C)}}throw I}finally{d&&w1(),b&&Sye(b,l?.getCreditsCost(),A),fye({isHotFollowUp:o,startedAt:f,outcome:p,nativeResume:h,isAnswerResume:N,creditsCost:l?.getCreditsCost(),model:m,effort:S})}};import Rye from"crypto";var Hr=le("bin_local"),$n=(0,Pye.default)(Cr.argv.slice(2),{string:["cwd","cli-path","filter","prompt","runner","model","netlify-api-token","trace-exporter-url"],boolean:["verbose","help"],alias:{h:"help",v:"verbose"}}),jV=()=>{console.log(`
617
617
  agent-runner-cli-local - Run Netlify agent runner locally without API connections
618
618
 
619
619
  USAGE: