@capgo/cli 7.66.4 → 7.67.0
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/index.js +3 -3
- package/dist/package.json +1 -1
- package/dist/src/sdk.d.ts +2 -2
- package/dist/src/sdk.js +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -134,7 +134,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
134
134
|
|| ${$} === "boolean" || ${J} === null`).assign(G,P0._`[${J}]`)}}}function CW0({gen:D,parentData:Y,parentDataProperty:X},Q){D.if(P0._`${Y} !== undefined`,()=>D.assign(P0._`${Y}[${X}]`,Q))}function hz(D,Y,X,Q=R7.Correct){let J=Q===R7.Correct?P0.operators.EQ:P0.operators.NEQ,W;switch(D){case"null":return P0._`${Y} ${J} null`;case"array":W=P0._`Array.isArray(${Y})`;break;case"object":W=P0._`${Y} && typeof ${Y} == "object" && !Array.isArray(${Y})`;break;case"integer":W=$(P0._`!(${Y} % 1) && !isNaN(${Y})`);break;case"number":W=$();break;default:return P0._`typeof ${Y} ${J} ${D}`}return Q===R7.Correct?W:(0,P0.not)(W);function $(G=P0.nil){return(0,P0.and)(P0._`typeof ${Y} == "number"`,G,X?P0._`isFinite(${Y})`:P0.nil)}}Db.checkDataType=hz;function gz(D,Y,X,Q){if(D.length===1)return hz(D[0],Y,X,Q);let J,W=(0,sk.toHash)(D);if(W.array&&W.object){let $=P0._`typeof ${Y} != "object"`;J=W.null?$:P0._`!${Y} || ${$}`,delete W.null,delete W.array,delete W.object}else J=P0.nil;if(W.number)delete W.integer;for(let $ in W)J=(0,P0.and)(J,hz($,Y,X,Q));return J}Db.checkDataTypes=gz;var xW0={message:({schema:D})=>`must be ${D}`,params:({schema:D,schemaValue:Y})=>typeof D=="string"?P0._`{type: ${D}}`:P0._`{type: ${Y}}`};function uz(D){let Y=_W0(D);(0,jW0.reportError)(Y,xW0)}Db.reportTypeError=uz;function _W0(D){let{gen:Y,data:X,schema:Q}=D,J=(0,sk.schemaRefOrVal)(D,Q,"type");return{gen:Y,keyword:"type",data:X,schema:Q.type,schemaCode:J,schemaValue:J,parentSchema:Q,params:{},it:D}}});var Wb=T((Qb)=>{Object.defineProperty(Qb,"__esModule",{value:!0});Qb.assignDefaults=void 0;var j7=C0(),gW0=p0();function uW0(D,Y){let{properties:X,items:Q}=D.schema;if(Y==="object"&&X)for(let J in X)Xb(D,J,X[J].default);else if(Y==="array"&&Array.isArray(Q))Q.forEach((J,W)=>Xb(D,W,J.default))}Qb.assignDefaults=uW0;function Xb(D,Y,X){let{gen:Q,compositeRule:J,data:W,opts:$}=D;if(X===void 0)return;let G=j7._`${W}${(0,j7.getProperty)(Y)}`;if(J){(0,gW0.checkStrictMode)(D,`default is ignored for: ${G}`);return}let B=j7._`${G} === undefined`;if($.useDefaults==="empty")B=j7._`${B} || ${G} === null || ${G} === ""`;Q.if(B,j7._`${G} = ${(0,j7.stringify)(X)}`)}});var O6=T((Bb)=>{Object.defineProperty(Bb,"__esModule",{value:!0});Bb.validateUnion=Bb.validateArray=Bb.usePattern=Bb.callValidateCode=Bb.schemaProperties=Bb.allSchemaProperties=Bb.noPropertyInData=Bb.propertyInData=Bb.isOwnProperty=Bb.hasPropFunc=Bb.reportMissingProp=Bb.checkMissingProp=Bb.checkReportMissingProp=void 0;var U1=C0(),mz=p0(),ZD=P9(),mW0=p0();function cW0(D,Y){let{gen:X,data:Q,it:J}=D;X.if(lz(X,Q,Y,J.opts.ownProperties),()=>{D.setParams({missingProperty:U1._`${Y}`},!0),D.error()})}Bb.checkReportMissingProp=cW0;function lW0({gen:D,data:Y,it:{opts:X}},Q,J){return(0,U1.or)(...Q.map((W)=>(0,U1.and)(lz(D,Y,W,X.ownProperties),U1._`${J} = ${W}`)))}Bb.checkMissingProp=lW0;function dW0(D,Y){D.setParams({missingProperty:Y},!0),D.error()}Bb.reportMissingProp=dW0;function $b(D){return D.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:U1._`Object.prototype.hasOwnProperty`})}Bb.hasPropFunc=$b;function cz(D,Y,X){return U1._`${$b(D)}.call(${Y}, ${X})`}Bb.isOwnProperty=cz;function pW0(D,Y,X,Q){let J=U1._`${Y}${(0,U1.getProperty)(X)} !== undefined`;return Q?U1._`${J} && ${cz(D,Y,X)}`:J}Bb.propertyInData=pW0;function lz(D,Y,X,Q){let J=U1._`${Y}${(0,U1.getProperty)(X)} === undefined`;return Q?(0,U1.or)(J,(0,U1.not)(cz(D,Y,X))):J}Bb.noPropertyInData=lz;function Gb(D){return D?Object.keys(D).filter((Y)=>Y!=="__proto__"):[]}Bb.allSchemaProperties=Gb;function nW0(D,Y){return Gb(Y).filter((X)=>!(0,mz.alwaysValidSchema)(D,Y[X]))}Bb.schemaProperties=nW0;function iW0({schemaCode:D,data:Y,it:{gen:X,topSchemaRef:Q,schemaPath:J,errorPath:W},it:$},G,B,H){let F=H?U1._`${D}, ${Y}, ${Q}${J}`:Y,K=[[ZD.default.instancePath,(0,U1.strConcat)(ZD.default.instancePath,W)],[ZD.default.parentData,$.parentData],[ZD.default.parentDataProperty,$.parentDataProperty],[ZD.default.rootData,ZD.default.rootData]];if($.opts.dynamicRef)K.push([ZD.default.dynamicAnchors,ZD.default.dynamicAnchors]);let U=U1._`${F}, ${X.object(...K)}`;return B!==U1.nil?U1._`${G}.call(${B}, ${U})`:U1._`${G}(${U})`}Bb.callValidateCode=iW0;var rW0=U1._`new RegExp`;function aW0({gen:D,it:{opts:Y}},X){let Q=Y.unicodeRegExp?"u":"",{regExp:J}=Y.code,W=J(X,Q);return D.scopeValue("pattern",{key:W.toString(),ref:W,code:U1._`${J.code==="new RegExp"?rW0:(0,mW0.useFunc)(D,J)}(${X}, ${Q})`})}Bb.usePattern=aW0;function oW0(D){let{gen:Y,data:X,keyword:Q,it:J}=D,W=Y.name("valid");if(J.allErrors){let G=Y.let("valid",!0);return $(()=>Y.assign(G,!1)),G}return Y.var(W,!0),$(()=>Y.break()),W;function $(G){let B=Y.const("len",U1._`${X}.length`);Y.forRange("i",0,B,(H)=>{D.subschema({keyword:Q,dataProp:H,dataPropType:mz.Type.Num},W),Y.if((0,U1.not)(W),G)})}}Bb.validateArray=oW0;function sW0(D){let{gen:Y,schema:X,keyword:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,mz.alwaysValidSchema)(J,B))&&!J.opts.unevaluated)return;let $=Y.let("valid",!1),G=Y.name("_valid");Y.block(()=>X.forEach((B,H)=>{let F=D.subschema({keyword:Q,schemaProp:H,compositeRule:!0},G);if(Y.assign($,U1._`${$} || ${G}`),!D.mergeValidEvaluated(F,G))Y.if((0,U1.not)($))})),D.result($,()=>D.reset(),()=>D.error(!0))}Bb.validateUnion=sW0});var Ub=T((Kb)=>{Object.defineProperty(Kb,"__esModule",{value:!0});Kb.validateKeywordUsage=Kb.validSchemaType=Kb.funcKeywordCode=Kb.macroKeywordCode=void 0;var y8=C0(),S5=P9(),F$0=O6(),q$0=iY();function K$0(D,Y){let{gen:X,keyword:Q,schema:J,parentSchema:W,it:$}=D,G=Y.macro.call($.self,J,W,$),B=qb(X,Q,G);if($.opts.validateSchema!==!1)$.self.validateSchema(G,!0);let H=X.name("valid");D.subschema({schema:G,schemaPath:y8.nil,errSchemaPath:`${$.errSchemaPath}/${Q}`,topSchemaRef:B,compositeRule:!0},H),D.pass(H,()=>D.error(!0))}Kb.macroKeywordCode=K$0;function z$0(D,Y){var X;let{gen:Q,keyword:J,schema:W,parentSchema:$,$data:G,it:B}=D;V$0(B,Y);let H=!G&&Y.compile?Y.compile.call(B.self,W,$,B):Y.validate,F=qb(Q,J,H),K=Q.let("valid");D.block$data(K,U),D.ok((X=Y.valid)!==null&&X!==void 0?X:K);function U(){if(Y.errors===!1){if(w(),Y.modifying)Fb(D);M(()=>D.error())}else{let O=Y.async?z():V();if(Y.modifying)Fb(D);M(()=>U$0(D,O))}}function z(){let O=Q.let("ruleErrs",null);return Q.try(()=>w(y8._`await `),(Z)=>Q.assign(K,!1).if(y8._`${Z} instanceof ${B.ValidationError}`,()=>Q.assign(O,y8._`${Z}.errors`),()=>Q.throw(Z))),O}function V(){let O=y8._`${F}.errors`;return Q.assign(O,null),w(y8.nil),O}function w(O=Y.async?y8._`await `:y8.nil){let Z=B.opts.passContext?S5.default.this:S5.default.self,L=!(("compile"in Y)&&!G||Y.schema===!1);Q.assign(K,y8._`${O}${(0,F$0.callValidateCode)(D,F,Z,L)}`,Y.modifying)}function M(O){var Z;Q.if((0,y8.not)((Z=Y.valid)!==null&&Z!==void 0?Z:K),O)}}Kb.funcKeywordCode=z$0;function Fb(D){let{gen:Y,data:X,it:Q}=D;Y.if(Q.parentData,()=>Y.assign(X,y8._`${Q.parentData}[${Q.parentDataProperty}]`))}function U$0(D,Y){let{gen:X}=D;X.if(y8._`Array.isArray(${Y})`,()=>{X.assign(S5.default.vErrors,y8._`${S5.default.vErrors} === null ? ${Y} : ${S5.default.vErrors}.concat(${Y})`).assign(S5.default.errors,y8._`${S5.default.vErrors}.length`),(0,q$0.extendErrors)(D)},()=>D.error())}function V$0({schemaEnv:D},Y){if(Y.async&&!D.$async)throw Error("async keyword in sync schema")}function qb(D,Y,X){if(X===void 0)throw Error(`keyword "${Y}" failed to compile`);return D.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,y8.stringify)(X)})}function w$0(D,Y,X=!1){return!Y.length||Y.some((Q)=>Q==="array"?Array.isArray(D):Q==="object"?D&&typeof D=="object"&&!Array.isArray(D):typeof D==Q||X&&typeof D>"u")}Kb.validSchemaType=w$0;function M$0({schema:D,opts:Y,self:X,errSchemaPath:Q},J,W){if(Array.isArray(J.keyword)?!J.keyword.includes(W):J.keyword!==W)throw Error("ajv implementation error");let $=J.dependencies;if($===null||$===void 0?void 0:$.some((G)=>!Object.prototype.hasOwnProperty.call(D,G)))throw Error(`parent schema must have dependencies of ${W}: ${$.join(",")}`);if(J.validateSchema){if(!J.validateSchema(D[W])){let B=`keyword "${W}" value is invalid at path "${Q}": `+X.errorsText(J.validateSchema.errors);if(Y.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}Kb.validateKeywordUsage=M$0});var Lb=T((wb)=>{Object.defineProperty(wb,"__esModule",{value:!0});wb.extendSubschemaMode=wb.extendSubschemaData=wb.getSubschema=void 0;var J9=C0(),Vb=p0();function Z$0(D,{keyword:Y,schemaProp:X,schema:Q,schemaPath:J,errSchemaPath:W,topSchemaRef:$}){if(Y!==void 0&&Q!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(Y!==void 0){let G=D.schema[Y];return X===void 0?{schema:G,schemaPath:J9._`${D.schemaPath}${(0,J9.getProperty)(Y)}`,errSchemaPath:`${D.errSchemaPath}/${Y}`}:{schema:G[X],schemaPath:J9._`${D.schemaPath}${(0,J9.getProperty)(Y)}${(0,J9.getProperty)(X)}`,errSchemaPath:`${D.errSchemaPath}/${Y}/${(0,Vb.escapeFragment)(X)}`}}if(Q!==void 0){if(J===void 0||W===void 0||$===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:Q,schemaPath:J,topSchemaRef:$,errSchemaPath:W}}throw Error('either "keyword" or "schema" must be passed')}wb.getSubschema=Z$0;function A$0(D,Y,{dataProp:X,dataPropType:Q,data:J,dataTypes:W,propertyName:$}){if(J!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:G}=Y;if(X!==void 0){let{errorPath:H,dataPathArr:F,opts:K}=Y,U=G.let("data",J9._`${Y.data}${(0,J9.getProperty)(X)}`,!0);B(U),D.errorPath=J9.str`${H}${(0,Vb.getErrorPath)(X,Q,K.jsPropertySyntax)}`,D.parentDataProperty=J9._`${X}`,D.dataPathArr=[...F,D.parentDataProperty]}if(J!==void 0){let H=J instanceof J9.Name?J:G.let("data",J,!0);if(B(H),$!==void 0)D.propertyName=$}if(W)D.dataTypes=W;function B(H){D.data=H,D.dataLevel=Y.dataLevel+1,D.dataTypes=[],Y.definedProperties=new Set,D.parentData=Y.data,D.dataNames=[...Y.dataNames,H]}}wb.extendSubschemaData=A$0;function E$0(D,{jtdDiscriminator:Y,jtdMetadata:X,compositeRule:Q,createErrors:J,allErrors:W}){if(Q!==void 0)D.compositeRule=Q;if(J!==void 0)D.createErrors=J;if(W!==void 0)D.allErrors=W;D.jtdDiscriminator=Y,D.jtdMetadata=X}wb.extendSubschemaMode=E$0});var dz=T((HI0,Ob)=>{Ob.exports=function D(Y,X){if(Y===X)return!0;if(Y&&X&&typeof Y=="object"&&typeof X=="object"){if(Y.constructor!==X.constructor)return!1;var Q,J,W;if(Array.isArray(Y)){if(Q=Y.length,Q!=X.length)return!1;for(J=Q;J--!==0;)if(!D(Y[J],X[J]))return!1;return!0}if(Y.constructor===RegExp)return Y.source===X.source&&Y.flags===X.flags;if(Y.valueOf!==Object.prototype.valueOf)return Y.valueOf()===X.valueOf();if(Y.toString!==Object.prototype.toString)return Y.toString()===X.toString();if(W=Object.keys(Y),Q=W.length,Q!==Object.keys(X).length)return!1;for(J=Q;J--!==0;)if(!Object.prototype.hasOwnProperty.call(X,W[J]))return!1;for(J=Q;J--!==0;){var $=W[J];if(!D(Y[$],X[$]))return!1}return!0}return Y!==Y&&X!==X}});var Zb=T((FI0,Nb)=>{var AD=Nb.exports=function(D,Y,X){if(typeof Y=="function")X=Y,Y={};X=Y.cb||X;var Q=typeof X=="function"?X:X.pre||function(){},J=X.post||function(){};$$(Y,Q,J,D,"",D)};AD.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};AD.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};AD.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};AD.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function $$(D,Y,X,Q,J,W,$,G,B,H){if(Q&&typeof Q=="object"&&!Array.isArray(Q)){Y(Q,J,W,$,G,B,H);for(var F in Q){var K=Q[F];if(Array.isArray(K)){if(F in AD.arrayKeywords)for(var U=0;U<K.length;U++)$$(D,Y,X,K[U],J+"/"+F+"/"+U,W,J,F,Q,U)}else if(F in AD.propsKeywords){if(K&&typeof K=="object")for(var z in K)$$(D,Y,X,K[z],J+"/"+F+"/"+T$0(z),W,J,F,Q,z)}else if(F in AD.keywords||D.allKeys&&!(F in AD.skipKeywords))$$(D,Y,X,K,J+"/"+F,W,J,F,Q)}X(Q,J,W,$,G,B,H)}}function T$0(D){return D.replace(/~/g,"~0").replace(/\//g,"~1")}});var aY=T((jb)=>{Object.defineProperty(jb,"__esModule",{value:!0});jb.getSchemaRefs=jb.resolveUrl=jb.normalizeId=jb._getFullPath=jb.getFullPath=jb.inlineRef=void 0;var S$0=p0(),P$0=dz(),I$0=Zb(),C$0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function x$0(D,Y=!0){if(typeof D=="boolean")return!0;if(Y===!0)return!pz(D);if(!Y)return!1;return Ab(D)<=Y}jb.inlineRef=x$0;var _$0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function pz(D){for(let Y in D){if(_$0.has(Y))return!0;let X=D[Y];if(Array.isArray(X)&&X.some(pz))return!0;if(typeof X=="object"&&pz(X))return!0}return!1}function Ab(D){let Y=0;for(let X in D){if(X==="$ref")return 1/0;if(Y++,C$0.has(X))continue;if(typeof D[X]=="object")(0,S$0.eachItem)(D[X],(Q)=>Y+=Ab(Q));if(Y===1/0)return 1/0}return Y}function Eb(D,Y="",X){if(X!==!1)Y=T7(Y);let Q=D.parse(Y);return Rb(D,Q)}jb.getFullPath=Eb;function Rb(D,Y){return D.serialize(Y).split("#")[0]+"#"}jb._getFullPath=Rb;var k$0=/#\/?$/;function T7(D){return D?D.replace(k$0,""):""}jb.normalizeId=T7;function b$0(D,Y,X){return X=T7(X),D.resolve(Y,X)}jb.resolveUrl=b$0;var v$0=/^[a-z_][-a-z0-9._]*$/i;function y$0(D,Y){if(typeof D=="boolean")return{};let{schemaId:X,uriResolver:Q}=this.opts,J=T7(D[X]||Y),W={"":J},$=Eb(Q,J,!1),G={},B=new Set;return I$0(D,{allKeys:!0},(K,U,z,V)=>{if(V===void 0)return;let w=$+U,M=W[V];if(typeof K[X]=="string")M=O.call(this,K[X]);Z.call(this,K.$anchor),Z.call(this,K.$dynamicAnchor),W[U]=M;function O(L){let E=this.opts.uriResolver.resolve;if(L=T7(M?E(M,L):L),B.has(L))throw F(L);B.add(L);let j=this.refs[L];if(typeof j=="string")j=this.refs[j];if(typeof j=="object")H(K,j.schema,L);else if(L!==T7(w))if(L[0]==="#")H(K,G[L],L),G[L]=K;else this.refs[L]=w;return L}function Z(L){if(typeof L=="string"){if(!v$0.test(L))throw Error(`invalid anchor "${L}"`);O.call(this,`#${L}`)}}}),G;function H(K,U,z){if(U!==void 0&&!P$0(K,U))throw F(z)}function F(K){return Error(`reference "${K}" resolves to more than one schema`)}}jb.getSchemaRefs=y$0});var tY=T((mb)=>{Object.defineProperty(mb,"__esModule",{value:!0});mb.getData=mb.KeywordCxt=mb.validateFunctionCode=void 0;var xb=dk(),Sb=rY(),iz=fz(),G$=rY(),c$0=Wb(),sY=Ub(),nz=Lb(),z0=C0(),A0=P9(),l$0=aY(),I9=p0(),oY=iY();function d$0(D){if(bb(D)){if(vb(D),kb(D)){i$0(D);return}}_b(D,()=>(0,xb.topBoolOrEmptySchema)(D))}mb.validateFunctionCode=d$0;function _b({gen:D,validateName:Y,schema:X,schemaEnv:Q,opts:J},W){if(J.code.es5)D.func(Y,z0._`${A0.default.data}, ${A0.default.valCxt}`,Q.$async,()=>{D.code(z0._`"use strict"; ${Pb(X,J)}`),n$0(D,J),D.code(W)});else D.func(Y,z0._`${A0.default.data}, ${p$0(J)}`,Q.$async,()=>D.code(Pb(X,J)).code(W))}function p$0(D){return z0._`{${A0.default.instancePath}="", ${A0.default.parentData}, ${A0.default.parentDataProperty}, ${A0.default.rootData}=${A0.default.data}${D.dynamicRef?z0._`, ${A0.default.dynamicAnchors}={}`:z0.nil}}={}`}function n$0(D,Y){D.if(A0.default.valCxt,()=>{if(D.var(A0.default.instancePath,z0._`${A0.default.valCxt}.${A0.default.instancePath}`),D.var(A0.default.parentData,z0._`${A0.default.valCxt}.${A0.default.parentData}`),D.var(A0.default.parentDataProperty,z0._`${A0.default.valCxt}.${A0.default.parentDataProperty}`),D.var(A0.default.rootData,z0._`${A0.default.valCxt}.${A0.default.rootData}`),Y.dynamicRef)D.var(A0.default.dynamicAnchors,z0._`${A0.default.valCxt}.${A0.default.dynamicAnchors}`)},()=>{if(D.var(A0.default.instancePath,z0._`""`),D.var(A0.default.parentData,z0._`undefined`),D.var(A0.default.parentDataProperty,z0._`undefined`),D.var(A0.default.rootData,A0.default.data),Y.dynamicRef)D.var(A0.default.dynamicAnchors,z0._`{}`)})}function i$0(D){let{schema:Y,opts:X,gen:Q}=D;_b(D,()=>{if(X.$comment&&Y.$comment)fb(D);if(t$0(D),Q.let(A0.default.vErrors,null),Q.let(A0.default.errors,0),X.unevaluated)r$0(D);yb(D),YG0(D)});return}function r$0(D){let{gen:Y,validateName:X}=D;D.evaluated=Y.const("evaluated",z0._`${X}.evaluated`),Y.if(z0._`${D.evaluated}.dynamicProps`,()=>Y.assign(z0._`${D.evaluated}.props`,z0._`undefined`)),Y.if(z0._`${D.evaluated}.dynamicItems`,()=>Y.assign(z0._`${D.evaluated}.items`,z0._`undefined`))}function Pb(D,Y){let X=typeof D=="object"&&D[Y.schemaId];return X&&(Y.code.source||Y.code.process)?z0._`/*# sourceURL=${X} */`:z0.nil}function a$0(D,Y){if(bb(D)){if(vb(D),kb(D)){o$0(D,Y);return}}(0,xb.boolOrEmptySchema)(D,Y)}function kb({schema:D,self:Y}){if(typeof D=="boolean")return!D;for(let X in D)if(Y.RULES.all[X])return!0;return!1}function bb(D){return typeof D.schema!="boolean"}function o$0(D,Y){let{schema:X,gen:Q,opts:J}=D;if(J.$comment&&X.$comment)fb(D);e$0(D),DG0(D);let W=Q.const("_errs",A0.default.errors);yb(D,W),Q.var(Y,z0._`${W} === ${A0.default.errors}`)}function vb(D){(0,I9.checkUnknownRules)(D),s$0(D)}function yb(D,Y){if(D.opts.jtd)return Ib(D,[],!1,Y);let X=(0,Sb.getSchemaTypes)(D.schema),Q=(0,Sb.coerceAndCheckDataType)(D,X);Ib(D,X,!Q,Y)}function s$0(D){let{schema:Y,errSchemaPath:X,opts:Q,self:J}=D;if(Y.$ref&&Q.ignoreKeywordsWithRef&&(0,I9.schemaHasRulesButRef)(Y,J.RULES))J.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function t$0(D){let{schema:Y,opts:X}=D;if(Y.default!==void 0&&X.useDefaults&&X.strictSchema)(0,I9.checkStrictMode)(D,"default is ignored in the schema root")}function e$0(D){let Y=D.schema[D.opts.schemaId];if(Y)D.baseId=(0,l$0.resolveUrl)(D.opts.uriResolver,D.baseId,Y)}function DG0(D){if(D.schema.$async&&!D.schemaEnv.$async)throw Error("async schema in sync schema")}function fb({gen:D,schemaEnv:Y,schema:X,errSchemaPath:Q,opts:J}){let W=X.$comment;if(J.$comment===!0)D.code(z0._`${A0.default.self}.logger.log(${W})`);else if(typeof J.$comment=="function"){let $=z0.str`${Q}/$comment`,G=D.scopeValue("root",{ref:Y.root});D.code(z0._`${A0.default.self}.opts.$comment(${W}, ${$}, ${G}.schema)`)}}function YG0(D){let{gen:Y,schemaEnv:X,validateName:Q,ValidationError:J,opts:W}=D;if(X.$async)Y.if(z0._`${A0.default.errors} === 0`,()=>Y.return(A0.default.data),()=>Y.throw(z0._`new ${J}(${A0.default.vErrors})`));else{if(Y.assign(z0._`${Q}.errors`,A0.default.vErrors),W.unevaluated)XG0(D);Y.return(z0._`${A0.default.errors} === 0`)}}function XG0({gen:D,evaluated:Y,props:X,items:Q}){if(X instanceof z0.Name)D.assign(z0._`${Y}.props`,X);if(Q instanceof z0.Name)D.assign(z0._`${Y}.items`,Q)}function Ib(D,Y,X,Q){let{gen:J,schema:W,data:$,allErrors:G,opts:B,self:H}=D,{RULES:F}=H;if(W.$ref&&(B.ignoreKeywordsWithRef||!(0,I9.schemaHasRulesButRef)(W,F))){J.block(()=>gb(D,"$ref",F.all.$ref.definition));return}if(!B.jtd)QG0(D,Y);J.block(()=>{for(let U of F.rules)K(U);K(F.post)});function K(U){if(!(0,iz.shouldUseGroup)(W,U))return;if(U.type){if(J.if((0,G$.checkDataType)(U.type,$,B.strictNumbers)),Cb(D,U),Y.length===1&&Y[0]===U.type&&X)J.else(),(0,G$.reportTypeError)(D);J.endIf()}else Cb(D,U);if(!G)J.if(z0._`${A0.default.errors} === ${Q||0}`)}}function Cb(D,Y){let{gen:X,schema:Q,opts:{useDefaults:J}}=D;if(J)(0,c$0.assignDefaults)(D,Y.type);X.block(()=>{for(let W of Y.rules)if((0,iz.shouldUseRule)(Q,W))gb(D,W.keyword,W.definition,Y.type)})}function QG0(D,Y){if(D.schemaEnv.meta||!D.opts.strictTypes)return;if(JG0(D,Y),!D.opts.allowUnionTypes)WG0(D,Y);$G0(D,D.dataTypes)}function JG0(D,Y){if(!Y.length)return;if(!D.dataTypes.length){D.dataTypes=Y;return}Y.forEach((X)=>{if(!hb(D.dataTypes,X))rz(D,`type "${X}" not allowed by context "${D.dataTypes.join(",")}"`)}),BG0(D,Y)}function WG0(D,Y){if(Y.length>1&&!(Y.length===2&&Y.includes("null")))rz(D,"use allowUnionTypes to allow union type keyword")}function $G0(D,Y){let X=D.self.RULES.all;for(let Q in X){let J=X[Q];if(typeof J=="object"&&(0,iz.shouldUseRule)(D.schema,J)){let{type:W}=J.definition;if(W.length&&!W.some(($)=>GG0(Y,$)))rz(D,`missing type "${W.join(",")}" for keyword "${Q}"`)}}}function GG0(D,Y){return D.includes(Y)||Y==="number"&&D.includes("integer")}function hb(D,Y){return D.includes(Y)||Y==="integer"&&D.includes("number")}function BG0(D,Y){let X=[];for(let Q of D.dataTypes)if(hb(Y,Q))X.push(Q);else if(Y.includes("integer")&&Q==="number")X.push("integer");D.dataTypes=X}function rz(D,Y){let X=D.schemaEnv.baseId+D.errSchemaPath;Y+=` at "${X}" (strictTypes)`,(0,I9.checkStrictMode)(D,Y,D.opts.strictTypes)}class az{constructor(D,Y,X){if((0,sY.validateKeywordUsage)(D,Y,X),this.gen=D.gen,this.allErrors=D.allErrors,this.keyword=X,this.data=D.data,this.schema=D.schema[X],this.$data=Y.$data&&D.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,I9.schemaRefOrVal)(D,this.schema,X,this.$data),this.schemaType=Y.schemaType,this.parentSchema=D.schema,this.params={},this.it=D,this.def=Y,this.$data)this.schemaCode=D.gen.const("vSchema",ub(this.$data,D));else if(this.schemaCode=this.schemaValue,!(0,sY.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(Y.schemaType)}`);if("code"in Y?Y.trackErrors:Y.errors!==!1)this.errsCount=D.gen.const("_errs",A0.default.errors)}result(D,Y,X){this.failResult((0,z0.not)(D),Y,X)}failResult(D,Y,X){if(this.gen.if(D),X)X();else this.error();if(Y){if(this.gen.else(),Y(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(D,Y){this.failResult((0,z0.not)(D),void 0,Y)}fail(D){if(D===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(D),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(D){if(!this.$data)return this.fail(D);let{schemaCode:Y}=this;this.fail(z0._`${Y} !== undefined && (${(0,z0.or)(this.invalid$data(),D)})`)}error(D,Y,X){if(Y){this.setParams(Y),this._error(D,X),this.setParams({});return}this._error(D,X)}_error(D,Y){(D?oY.reportExtraError:oY.reportError)(this,this.def.error,Y)}$dataError(){(0,oY.reportError)(this,this.def.$dataError||oY.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,oY.resetErrorsCount)(this.gen,this.errsCount)}ok(D){if(!this.allErrors)this.gen.if(D)}setParams(D,Y){if(Y)Object.assign(this.params,D);else this.params=D}block$data(D,Y,X=z0.nil){this.gen.block(()=>{this.check$data(D,X),Y()})}check$data(D=z0.nil,Y=z0.nil){if(!this.$data)return;let{gen:X,schemaCode:Q,schemaType:J,def:W}=this;if(X.if((0,z0.or)(z0._`${Q} === undefined`,Y)),D!==z0.nil)X.assign(D,!0);if(J.length||W.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),D!==z0.nil)X.assign(D,!1)}X.else()}invalid$data(){let{gen:D,schemaCode:Y,schemaType:X,def:Q,it:J}=this;return(0,z0.or)(W(),$());function W(){if(X.length){if(!(Y instanceof z0.Name))throw Error("ajv implementation error");let G=Array.isArray(X)?X:[X];return z0._`${(0,G$.checkDataTypes)(G,Y,J.opts.strictNumbers,G$.DataType.Wrong)}`}return z0.nil}function $(){if(Q.validateSchema){let G=D.scopeValue("validate$data",{ref:Q.validateSchema});return z0._`!${G}(${Y})`}return z0.nil}}subschema(D,Y){let X=(0,nz.getSubschema)(this.it,D);(0,nz.extendSubschemaData)(X,this.it,D),(0,nz.extendSubschemaMode)(X,D);let Q={...this.it,...X,items:void 0,props:void 0};return a$0(Q,Y),Q}mergeEvaluated(D,Y){let{it:X,gen:Q}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&D.props!==void 0)X.props=I9.mergeEvaluated.props(Q,D.props,X.props,Y);if(X.items!==!0&&D.items!==void 0)X.items=I9.mergeEvaluated.items(Q,D.items,X.items,Y)}mergeValidEvaluated(D,Y){let{it:X,gen:Q}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return Q.if(Y,()=>this.mergeEvaluated(D,z0.Name)),!0}}mb.KeywordCxt=az;function gb(D,Y,X,Q){let J=new az(D,X,Y);if("code"in X)X.code(J,Q);else if(J.$data&&X.validate)(0,sY.funcKeywordCode)(J,X);else if("macro"in X)(0,sY.macroKeywordCode)(J,X);else if(X.compile||X.validate)(0,sY.funcKeywordCode)(J,X)}var HG0=/^\/(?:[^~]|~0|~1)*$/,FG0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ub(D,{dataLevel:Y,dataNames:X,dataPathArr:Q}){let J,W;if(D==="")return A0.default.rootData;if(D[0]==="/"){if(!HG0.test(D))throw Error(`Invalid JSON-pointer: ${D}`);J=D,W=A0.default.rootData}else{let H=FG0.exec(D);if(!H)throw Error(`Invalid JSON-pointer: ${D}`);let F=+H[1];if(J=H[2],J==="#"){if(F>=Y)throw Error(B("property/index",F));return Q[Y-F]}if(F>Y)throw Error(B("data",F));if(W=X[Y-F],!J)return W}let $=W,G=J.split("/");for(let H of G)if(H)W=z0._`${W}${(0,z0.getProperty)((0,I9.unescapeJsonPointer)(H))}`,$=z0._`${$} && ${W}`;return $;function B(H,F){return`Cannot access ${H} ${F} levels up, current level is ${Y}`}}mb.getData=ub});var B$=T((db)=>{Object.defineProperty(db,"__esModule",{value:!0});class lb extends Error{constructor(D){super("validation failed");this.errors=D,this.ajv=this.validation=!0}}db.default=lb});var eY=T((nb)=>{Object.defineProperty(nb,"__esModule",{value:!0});var oz=aY();class pb extends Error{constructor(D,Y,X,Q){super(Q||`can't resolve reference ${X} from id ${Y}`);this.missingRef=(0,oz.resolveUrl)(D,Y,X),this.missingSchema=(0,oz.normalizeId)((0,oz.getFullPath)(D,this.missingRef))}}nb.default=pb});var F$=T((ab)=>{Object.defineProperty(ab,"__esModule",{value:!0});ab.resolveSchema=ab.getCompilingSchema=ab.resolveRef=ab.compileSchema=ab.SchemaEnv=void 0;var h6=C0(),VG0=B$(),P5=P9(),g6=aY(),ib=p0(),wG0=tY();class DX{constructor(D){var Y;this.refs={},this.dynamicAnchors={};let X;if(typeof D.schema=="object")X=D.schema;this.schema=D.schema,this.schemaId=D.schemaId,this.root=D.root||this,this.baseId=(Y=D.baseId)!==null&&Y!==void 0?Y:(0,g6.normalizeId)(X===null||X===void 0?void 0:X[D.schemaId||"$id"]),this.schemaPath=D.schemaPath,this.localRefs=D.localRefs,this.meta=D.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}ab.SchemaEnv=DX;function tz(D){let Y=rb.call(this,D);if(Y)return Y;let X=(0,g6.getFullPath)(this.opts.uriResolver,D.root.baseId),{es5:Q,lines:J}=this.opts.code,{ownProperties:W}=this.opts,$=new h6.CodeGen(this.scope,{es5:Q,lines:J,ownProperties:W}),G;if(D.$async)G=$.scopeValue("Error",{ref:VG0.default,code:h6._`require("ajv/dist/runtime/validation_error").default`});let B=$.scopeName("validate");D.validateName=B;let H={gen:$,allErrors:this.opts.allErrors,data:P5.default.data,parentData:P5.default.parentData,parentDataProperty:P5.default.parentDataProperty,dataNames:[P5.default.data],dataPathArr:[h6.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:$.scopeValue("schema",this.opts.code.source===!0?{ref:D.schema,code:(0,h6.stringify)(D.schema)}:{ref:D.schema}),validateName:B,ValidationError:G,schema:D.schema,schemaEnv:D,rootId:X,baseId:D.baseId||X,schemaPath:h6.nil,errSchemaPath:D.schemaPath||(this.opts.jtd?"":"#"),errorPath:h6._`""`,opts:this.opts,self:this},F;try{this._compilations.add(D),(0,wG0.validateFunctionCode)(H),$.optimize(this.opts.code.optimize);let K=$.toString();if(F=`${$.scopeRefs(P5.default.scope)}return ${K}`,this.opts.code.process)F=this.opts.code.process(F,D);let z=Function(`${P5.default.self}`,`${P5.default.scope}`,F)(this,this.scope.get());if(this.scope.value(B,{ref:z}),z.errors=null,z.schema=D.schema,z.schemaEnv=D,D.$async)z.$async=!0;if(this.opts.code.source===!0)z.source={validateName:B,validateCode:K,scopeValues:$._values};if(this.opts.unevaluated){let{props:V,items:w}=H;if(z.evaluated={props:V instanceof h6.Name?void 0:V,items:w instanceof h6.Name?void 0:w,dynamicProps:V instanceof h6.Name,dynamicItems:w instanceof h6.Name},z.source)z.source.evaluated=(0,h6.stringify)(z.evaluated)}return D.validate=z,D}catch(K){if(delete D.validate,delete D.validateName,F)this.logger.error("Error compiling schema, function code:",F);throw K}finally{this._compilations.delete(D)}}ab.compileSchema=tz;function MG0(D,Y,X){var Q;X=(0,g6.resolveUrl)(this.opts.uriResolver,Y,X);let J=D.refs[X];if(J)return J;let W=NG0.call(this,D,X);if(W===void 0){let $=(Q=D.localRefs)===null||Q===void 0?void 0:Q[X],{schemaId:G}=this.opts;if($)W=new DX({schema:$,schemaId:G,root:D,baseId:Y})}if(W===void 0)return;return D.refs[X]=LG0.call(this,W)}ab.resolveRef=MG0;function LG0(D){if((0,g6.inlineRef)(D.schema,this.opts.inlineRefs))return D.schema;return D.validate?D:tz.call(this,D)}function rb(D){for(let Y of this._compilations)if(OG0(Y,D))return Y}ab.getCompilingSchema=rb;function OG0(D,Y){return D.schema===Y.schema&&D.root===Y.root&&D.baseId===Y.baseId}function NG0(D,Y){let X;while(typeof(X=this.refs[Y])=="string")Y=X;return X||this.schemas[Y]||H$.call(this,D,Y)}function H$(D,Y){let X=this.opts.uriResolver.parse(Y),Q=(0,g6._getFullPath)(this.opts.uriResolver,X),J=(0,g6.getFullPath)(this.opts.uriResolver,D.baseId,void 0);if(Object.keys(D.schema).length>0&&Q===J)return sz.call(this,X,D);let W=(0,g6.normalizeId)(Q),$=this.refs[W]||this.schemas[W];if(typeof $=="string"){let G=H$.call(this,D,$);if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;return sz.call(this,X,G)}if(typeof($===null||$===void 0?void 0:$.schema)!=="object")return;if(!$.validate)tz.call(this,$);if(W===(0,g6.normalizeId)(Y)){let{schema:G}=$,{schemaId:B}=this.opts,H=G[B];if(H)J=(0,g6.resolveUrl)(this.opts.uriResolver,J,H);return new DX({schema:G,schemaId:B,root:D,baseId:J})}return sz.call(this,X,$)}ab.resolveSchema=H$;var ZG0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function sz(D,{baseId:Y,schema:X,root:Q}){var J;if(((J=D.fragment)===null||J===void 0?void 0:J[0])!=="/")return;for(let G of D.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,ib.unescapeFragment)(G)];if(B===void 0)return;X=B;let H=typeof X==="object"&&X[this.opts.schemaId];if(!ZG0.has(G)&&H)Y=(0,g6.resolveUrl)(this.opts.uriResolver,Y,H)}let W;if(typeof X!="boolean"&&X.$ref&&!(0,ib.schemaHasRulesButRef)(X,this.RULES)){let G=(0,g6.resolveUrl)(this.opts.uriResolver,Y,X.$ref);W=H$.call(this,Q,G)}let{schemaId:$}=this.opts;if(W=W||new DX({schema:X,schemaId:$,root:Q,baseId:Y}),W.schema!==W.root.schema)return W;return}});var sb=T((wI0,TG0)=>{TG0.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var DU=T((MI0,Yv)=>{var SG0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),eb=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function ez(D){let Y="",X=0,Q=0;for(Q=0;Q<D.length;Q++){if(X=D[Q].charCodeAt(0),X===48)continue;if(!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=D[Q];break}for(Q+=1;Q<D.length;Q++){if(X=D[Q].charCodeAt(0),!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=D[Q]}return Y}var PG0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function tb(D){return D.length=0,!0}function IG0(D,Y,X){if(D.length){let Q=ez(D);if(Q!=="")Y.push(Q);else return X.error=!0,!1;D.length=0}return!0}function CG0(D){let Y=0,X={error:!1,address:"",zone:""},Q=[],J=[],W=!1,$=!1,G=IG0;for(let B=0;B<D.length;B++){let H=D[B];if(H==="["||H==="]")continue;if(H===":"){if(W===!0)$=!0;if(!G(J,Q,X))break;if(++Y>7){X.error=!0;break}if(B>0&&D[B-1]===":")W=!0;Q.push(":");continue}else if(H==="%"){if(!G(J,Q,X))break;G=tb}else{J.push(H);continue}}if(J.length)if(G===tb)X.zone=J.join("");else if($)Q.push(J.join(""));else Q.push(ez(J));return X.address=Q.join(""),X}function Dv(D){if(xG0(D,":")<2)return{host:D,isIPV6:!1};let Y=CG0(D);if(!Y.error){let{address:X,address:Q}=Y;if(Y.zone)X+="%"+Y.zone,Q+="%25"+Y.zone;return{host:X,isIPV6:!0,escapedHost:Q}}else return{host:D,isIPV6:!1}}function xG0(D,Y){let X=0;for(let Q=0;Q<D.length;Q++)if(D[Q]===Y)X++;return X}function _G0(D){let Y=D,X=[],Q=-1,J=0;while(J=Y.length){if(J===1)if(Y===".")break;else if(Y==="/"){X.push("/");break}else{X.push(Y);break}else if(J===2){if(Y[0]==="."){if(Y[1]===".")break;else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."||Y[1]==="/"){X.push("/");break}}}else if(J===3){if(Y==="/.."){if(X.length!==0)X.pop();X.push("/");break}}if(Y[0]==="."){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(3);continue}}else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(2);continue}else if(Y[2]==="."){if(Y[3]==="/"){if(Y=Y.slice(3),X.length!==0)X.pop();continue}}}}if((Q=Y.indexOf("/",1))===-1){X.push(Y);break}else X.push(Y.slice(0,Q)),Y=Y.slice(Q)}return X.join("")}function kG0(D,Y){let X=Y!==!0?escape:unescape;if(D.scheme!==void 0)D.scheme=X(D.scheme);if(D.userinfo!==void 0)D.userinfo=X(D.userinfo);if(D.host!==void 0)D.host=X(D.host);if(D.path!==void 0)D.path=X(D.path);if(D.query!==void 0)D.query=X(D.query);if(D.fragment!==void 0)D.fragment=X(D.fragment);return D}function bG0(D){let Y=[];if(D.userinfo!==void 0)Y.push(D.userinfo),Y.push("@");if(D.host!==void 0){let X=unescape(D.host);if(!eb(X)){let Q=Dv(X);if(Q.isIPV6===!0)X=`[${Q.escapedHost}]`;else X=D.host}Y.push(X)}if(typeof D.port==="number"||typeof D.port==="string")Y.push(":"),Y.push(String(D.port));return Y.length?Y.join(""):void 0}Yv.exports={nonSimpleDomain:PG0,recomposeAuthority:bG0,normalizeComponentEncoding:kG0,removeDotSegments:_G0,isIPv4:eb,isUUID:SG0,normalizeIPv6:Dv,stringArrayToHexStripped:ez}});var $v=T((LI0,Wv)=>{var{isUUID:vG0}=DU(),yG0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,fG0=["http","https","ws","wss","urn","urn:uuid"];function hG0(D){return fG0.indexOf(D)!==-1}function YU(D){if(D.secure===!0)return!0;else if(D.secure===!1)return!1;else if(D.scheme)return D.scheme.length===3&&(D.scheme[0]==="w"||D.scheme[0]==="W")&&(D.scheme[1]==="s"||D.scheme[1]==="S")&&(D.scheme[2]==="s"||D.scheme[2]==="S");else return!1}function Xv(D){if(!D.host)D.error=D.error||"HTTP URIs must have a host.";return D}function Qv(D){let Y=String(D.scheme).toLowerCase()==="https";if(D.port===(Y?443:80)||D.port==="")D.port=void 0;if(!D.path)D.path="/";return D}function gG0(D){return D.secure=YU(D),D.resourceName=(D.path||"/")+(D.query?"?"+D.query:""),D.path=void 0,D.query=void 0,D}function uG0(D){if(D.port===(YU(D)?443:80)||D.port==="")D.port=void 0;if(typeof D.secure==="boolean")D.scheme=D.secure?"wss":"ws",D.secure=void 0;if(D.resourceName){let[Y,X]=D.resourceName.split("?");D.path=Y&&Y!=="/"?Y:void 0,D.query=X,D.resourceName=void 0}return D.fragment=void 0,D}function mG0(D,Y){if(!D.path)return D.error="URN can not be parsed",D;let X=D.path.match(yG0);if(X){let Q=Y.scheme||D.scheme||"urn";D.nid=X[1].toLowerCase(),D.nss=X[2];let J=`${Q}:${Y.nid||D.nid}`,W=XU(J);if(D.path=void 0,W)D=W.parse(D,Y)}else D.error=D.error||"URN can not be parsed.";return D}function cG0(D,Y){if(D.nid===void 0)throw Error("URN without nid cannot be serialized");let X=Y.scheme||D.scheme||"urn",Q=D.nid.toLowerCase(),J=`${X}:${Y.nid||Q}`,W=XU(J);if(W)D=W.serialize(D,Y);let $=D,G=D.nss;return $.path=`${Q||Y.nid}:${G}`,Y.skipEscape=!0,$}function lG0(D,Y){let X=D;if(X.uuid=X.nss,X.nss=void 0,!Y.tolerant&&(!X.uuid||!vG0(X.uuid)))X.error=X.error||"UUID is not valid.";return X}function dG0(D){let Y=D;return Y.nss=(D.uuid||"").toLowerCase(),Y}var Jv={scheme:"http",domainHost:!0,parse:Xv,serialize:Qv},pG0={scheme:"https",domainHost:Jv.domainHost,parse:Xv,serialize:Qv},q$={scheme:"ws",domainHost:!0,parse:gG0,serialize:uG0},nG0={scheme:"wss",domainHost:q$.domainHost,parse:q$.parse,serialize:q$.serialize},iG0={scheme:"urn",parse:mG0,serialize:cG0,skipNormalize:!0},rG0={scheme:"urn:uuid",parse:lG0,serialize:dG0,skipNormalize:!0},K$={http:Jv,https:pG0,ws:q$,wss:nG0,urn:iG0,"urn:uuid":rG0};Object.setPrototypeOf(K$,null);function XU(D){return D&&(K$[D]||K$[D.toLowerCase()])||void 0}Wv.exports={wsIsSecure:YU,SCHEMES:K$,isValidSchemeName:hG0,getSchemeHandler:XU}});var Hv=T((OI0,U$)=>{var{normalizeIPv6:aG0,removeDotSegments:YX,recomposeAuthority:oG0,normalizeComponentEncoding:z$,isIPv4:sG0,nonSimpleDomain:tG0}=DU(),{SCHEMES:eG0,getSchemeHandler:Gv}=$v();function DB0(D,Y){if(typeof D==="string")D=W9(C9(D,Y),Y);else if(typeof D==="object")D=C9(W9(D,Y),Y);return D}function YB0(D,Y,X){let Q=X?Object.assign({scheme:"null"},X):{scheme:"null"},J=Bv(C9(D,Q),C9(Y,Q),Q,!0);return Q.skipEscape=!0,W9(J,Q)}function Bv(D,Y,X,Q){let J={};if(!Q)D=C9(W9(D,X),X),Y=C9(W9(Y,X),X);if(X=X||{},!X.tolerant&&Y.scheme)J.scheme=Y.scheme,J.userinfo=Y.userinfo,J.host=Y.host,J.port=Y.port,J.path=YX(Y.path||""),J.query=Y.query;else{if(Y.userinfo!==void 0||Y.host!==void 0||Y.port!==void 0)J.userinfo=Y.userinfo,J.host=Y.host,J.port=Y.port,J.path=YX(Y.path||""),J.query=Y.query;else{if(!Y.path)if(J.path=D.path,Y.query!==void 0)J.query=Y.query;else J.query=D.query;else{if(Y.path[0]==="/")J.path=YX(Y.path);else{if((D.userinfo!==void 0||D.host!==void 0||D.port!==void 0)&&!D.path)J.path="/"+Y.path;else if(!D.path)J.path=Y.path;else J.path=D.path.slice(0,D.path.lastIndexOf("/")+1)+Y.path;J.path=YX(J.path)}J.query=Y.query}J.userinfo=D.userinfo,J.host=D.host,J.port=D.port}J.scheme=D.scheme}return J.fragment=Y.fragment,J}function XB0(D,Y,X){if(typeof D==="string")D=unescape(D),D=W9(z$(C9(D,X),!0),{...X,skipEscape:!0});else if(typeof D==="object")D=W9(z$(D,!0),{...X,skipEscape:!0});if(typeof Y==="string")Y=unescape(Y),Y=W9(z$(C9(Y,X),!0),{...X,skipEscape:!0});else if(typeof Y==="object")Y=W9(z$(Y,!0),{...X,skipEscape:!0});return D.toLowerCase()===Y.toLowerCase()}function W9(D,Y){let X={host:D.host,scheme:D.scheme,userinfo:D.userinfo,port:D.port,path:D.path,query:D.query,nid:D.nid,nss:D.nss,uuid:D.uuid,fragment:D.fragment,reference:D.reference,resourceName:D.resourceName,secure:D.secure,error:""},Q=Object.assign({},Y),J=[],W=Gv(Q.scheme||X.scheme);if(W&&W.serialize)W.serialize(X,Q);if(X.path!==void 0)if(!Q.skipEscape){if(X.path=escape(X.path),X.scheme!==void 0)X.path=X.path.split("%3A").join(":")}else X.path=unescape(X.path);if(Q.reference!=="suffix"&&X.scheme)J.push(X.scheme,":");let $=oG0(X);if($!==void 0){if(Q.reference!=="suffix")J.push("//");if(J.push($),X.path&&X.path[0]!=="/")J.push("/")}if(X.path!==void 0){let G=X.path;if(!Q.absolutePath&&(!W||!W.absolutePath))G=YX(G);if($===void 0&&G[0]==="/"&&G[1]==="/")G="/%2F"+G.slice(2);J.push(G)}if(X.query!==void 0)J.push("?",X.query);if(X.fragment!==void 0)J.push("#",X.fragment);return J.join("")}var QB0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function C9(D,Y){let X=Object.assign({},Y),Q={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},J=!1;if(X.reference==="suffix")if(X.scheme)D=X.scheme+":"+D;else D="//"+D;let W=D.match(QB0);if(W){if(Q.scheme=W[1],Q.userinfo=W[3],Q.host=W[4],Q.port=parseInt(W[5],10),Q.path=W[6]||"",Q.query=W[7],Q.fragment=W[8],isNaN(Q.port))Q.port=W[5];if(Q.host)if(sG0(Q.host)===!1){let B=aG0(Q.host);Q.host=B.host.toLowerCase(),J=B.isIPV6}else J=!0;if(Q.scheme===void 0&&Q.userinfo===void 0&&Q.host===void 0&&Q.port===void 0&&Q.query===void 0&&!Q.path)Q.reference="same-document";else if(Q.scheme===void 0)Q.reference="relative";else if(Q.fragment===void 0)Q.reference="absolute";else Q.reference="uri";if(X.reference&&X.reference!=="suffix"&&X.reference!==Q.reference)Q.error=Q.error||"URI is not a "+X.reference+" reference.";let $=Gv(X.scheme||Q.scheme);if(!X.unicodeSupport&&(!$||!$.unicodeSupport)){if(Q.host&&(X.domainHost||$&&$.domainHost)&&J===!1&&tG0(Q.host))try{Q.host=URL.domainToASCII(Q.host.toLowerCase())}catch(G){Q.error=Q.error||"Host's domain name can not be converted to ASCII: "+G}}if(!$||$&&!$.skipNormalize){if(D.indexOf("%")!==-1){if(Q.scheme!==void 0)Q.scheme=unescape(Q.scheme);if(Q.host!==void 0)Q.host=unescape(Q.host)}if(Q.path)Q.path=escape(unescape(Q.path));if(Q.fragment)Q.fragment=encodeURI(decodeURIComponent(Q.fragment))}if($&&$.parse)$.parse(Q,X)}else Q.error=Q.error||"URI can not be parsed.";return Q}var QU={SCHEMES:eG0,normalize:DB0,resolve:YB0,resolveComponent:Bv,equal:XB0,serialize:W9,parse:C9};U$.exports=QU;U$.exports.default=QU;U$.exports.fastUri=QU});var Kv=T((qv)=>{Object.defineProperty(qv,"__esModule",{value:!0});var Fv=Hv();Fv.code='require("ajv/dist/runtime/uri").default';qv.default=Fv});var Nv=T((x9)=>{Object.defineProperty(x9,"__esModule",{value:!0});x9.CodeGen=x9.Name=x9.nil=x9.stringify=x9.str=x9._=x9.KeywordCxt=void 0;var WB0=tY();Object.defineProperty(x9,"KeywordCxt",{enumerable:!0,get:function(){return WB0.KeywordCxt}});var S7=C0();Object.defineProperty(x9,"_",{enumerable:!0,get:function(){return S7._}});Object.defineProperty(x9,"str",{enumerable:!0,get:function(){return S7.str}});Object.defineProperty(x9,"stringify",{enumerable:!0,get:function(){return S7.stringify}});Object.defineProperty(x9,"nil",{enumerable:!0,get:function(){return S7.nil}});Object.defineProperty(x9,"Name",{enumerable:!0,get:function(){return S7.Name}});Object.defineProperty(x9,"CodeGen",{enumerable:!0,get:function(){return S7.CodeGen}});var $B0=B$(),Mv=eY(),GB0=yz(),XX=F$(),BB0=C0(),QX=aY(),V$=rY(),WU=p0(),zv=sb(),HB0=Kv(),Lv=(D,Y)=>new RegExp(D,Y);Lv.code="new RegExp";var FB0=["removeAdditional","useDefaults","coerceTypes"],qB0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),KB0={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},zB0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Uv=200;function UB0(D){var Y,X,Q,J,W,$,G,B,H,F,K,U,z,V,w,M,O,Z,L,E,j,I,x,y,C;let m=D.strict,S=(Y=D.code)===null||Y===void 0?void 0:Y.optimize,p=S===!0||S===void 0?1:S||0,u=(Q=(X=D.code)===null||X===void 0?void 0:X.regExp)!==null&&Q!==void 0?Q:Lv,W0=(J=D.uriResolver)!==null&&J!==void 0?J:HB0.default;return{strictSchema:($=(W=D.strictSchema)!==null&&W!==void 0?W:m)!==null&&$!==void 0?$:!0,strictNumbers:(B=(G=D.strictNumbers)!==null&&G!==void 0?G:m)!==null&&B!==void 0?B:!0,strictTypes:(F=(H=D.strictTypes)!==null&&H!==void 0?H:m)!==null&&F!==void 0?F:"log",strictTuples:(U=(K=D.strictTuples)!==null&&K!==void 0?K:m)!==null&&U!==void 0?U:"log",strictRequired:(V=(z=D.strictRequired)!==null&&z!==void 0?z:m)!==null&&V!==void 0?V:!1,code:D.code?{...D.code,optimize:p,regExp:u}:{optimize:p,regExp:u},loopRequired:(w=D.loopRequired)!==null&&w!==void 0?w:Uv,loopEnum:(M=D.loopEnum)!==null&&M!==void 0?M:Uv,meta:(O=D.meta)!==null&&O!==void 0?O:!0,messages:(Z=D.messages)!==null&&Z!==void 0?Z:!0,inlineRefs:(L=D.inlineRefs)!==null&&L!==void 0?L:!0,schemaId:(E=D.schemaId)!==null&&E!==void 0?E:"$id",addUsedSchema:(j=D.addUsedSchema)!==null&&j!==void 0?j:!0,validateSchema:(I=D.validateSchema)!==null&&I!==void 0?I:!0,validateFormats:(x=D.validateFormats)!==null&&x!==void 0?x:!0,unicodeRegExp:(y=D.unicodeRegExp)!==null&&y!==void 0?y:!0,int32range:(C=D.int32range)!==null&&C!==void 0?C:!0,uriResolver:W0}}class w${constructor(D={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,D=this.opts={...D,...UB0(D)};let{es5:Y,lines:X}=this.opts.code;this.scope=new BB0.ValueScope({scope:{},prefixes:qB0,es5:Y,lines:X}),this.logger=NB0(D.logger);let Q=D.validateFormats;if(D.validateFormats=!1,this.RULES=(0,GB0.getRules)(),Vv.call(this,KB0,D,"NOT SUPPORTED"),Vv.call(this,zB0,D,"DEPRECATED","warn"),this._metaOpts=LB0.call(this),D.formats)wB0.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),D.keywords)MB0.call(this,D.keywords);if(typeof D.meta=="object")this.addMetaSchema(D.meta);VB0.call(this),D.validateFormats=Q}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:D,meta:Y,schemaId:X}=this.opts,Q=zv;if(X==="id")Q={...zv},Q.id=Q.$id,delete Q.$id;if(Y&&D)this.addMetaSchema(Q,Q[X],!1)}defaultMeta(){let{meta:D,schemaId:Y}=this.opts;return this.opts.defaultMeta=typeof D=="object"?D[Y]||D:void 0}validate(D,Y){let X;if(typeof D=="string"){if(X=this.getSchema(D),!X)throw Error(`no schema with key or ref "${D}"`)}else X=this.compile(D);let Q=X(Y);if(!("$async"in X))this.errors=X.errors;return Q}compile(D,Y){let X=this._addSchema(D,Y);return X.validate||this._compileSchemaEnv(X)}compileAsync(D,Y){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return Q.call(this,D,Y);async function Q(H,F){await J.call(this,H.$schema);let K=this._addSchema(H,F);return K.validate||W.call(this,K)}async function J(H){if(H&&!this.getSchema(H))await Q.call(this,{$ref:H},!0)}async function W(H){try{return this._compileSchemaEnv(H)}catch(F){if(!(F instanceof Mv.default))throw F;return $.call(this,F),await G.call(this,F.missingSchema),W.call(this,H)}}function $({missingSchema:H,missingRef:F}){if(this.refs[H])throw Error(`AnySchema ${H} is loaded but ${F} cannot be resolved`)}async function G(H){let F=await B.call(this,H);if(!this.refs[H])await J.call(this,F.$schema);if(!this.refs[H])this.addSchema(F,H,Y)}async function B(H){let F=this._loading[H];if(F)return F;try{return await(this._loading[H]=X(H))}finally{delete this._loading[H]}}}addSchema(D,Y,X,Q=this.opts.validateSchema){if(Array.isArray(D)){for(let W of D)this.addSchema(W,void 0,X,Q);return this}let J;if(typeof D==="object"){let{schemaId:W}=this.opts;if(J=D[W],J!==void 0&&typeof J!="string")throw Error(`schema ${W} must be string`)}return Y=(0,QX.normalizeId)(Y||J),this._checkUnique(Y),this.schemas[Y]=this._addSchema(D,X,Y,Q,!0),this}addMetaSchema(D,Y,X=this.opts.validateSchema){return this.addSchema(D,Y,!0,X),this}validateSchema(D,Y){if(typeof D=="boolean")return!0;let X;if(X=D.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let Q=this.validate(X,D);if(!Q&&Y){let J="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(J);else throw Error(J)}return Q}getSchema(D){let Y;while(typeof(Y=wv.call(this,D))=="string")D=Y;if(Y===void 0){let{schemaId:X}=this.opts,Q=new XX.SchemaEnv({schema:{},schemaId:X});if(Y=XX.resolveSchema.call(this,Q,D),!Y)return;this.refs[D]=Y}return Y.validate||this._compileSchemaEnv(Y)}removeSchema(D){if(D instanceof RegExp)return this._removeAllSchemas(this.schemas,D),this._removeAllSchemas(this.refs,D),this;switch(typeof D){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let Y=wv.call(this,D);if(typeof Y=="object")this._cache.delete(Y.schema);return delete this.schemas[D],delete this.refs[D],this}case"object":{let Y=D;this._cache.delete(Y);let X=D[this.opts.schemaId];if(X)X=(0,QX.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(D){for(let Y of D)this.addKeyword(Y);return this}addKeyword(D,Y){let X;if(typeof D=="string"){if(X=D,typeof Y=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),Y.keyword=X}else if(typeof D=="object"&&Y===void 0){if(Y=D,X=Y.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(AB0.call(this,X,Y),!Y)return(0,WU.eachItem)(X,(J)=>JU.call(this,J)),this;RB0.call(this,Y);let Q={...Y,type:(0,V$.getJSONTypes)(Y.type),schemaType:(0,V$.getJSONTypes)(Y.schemaType)};return(0,WU.eachItem)(X,Q.type.length===0?(J)=>JU.call(this,J,Q):(J)=>Q.type.forEach((W)=>JU.call(this,J,Q,W))),this}getKeyword(D){let Y=this.RULES.all[D];return typeof Y=="object"?Y.definition:!!Y}removeKeyword(D){let{RULES:Y}=this;delete Y.keywords[D],delete Y.all[D];for(let X of Y.rules){let Q=X.rules.findIndex((J)=>J.keyword===D);if(Q>=0)X.rules.splice(Q,1)}return this}addFormat(D,Y){if(typeof Y=="string")Y=new RegExp(Y);return this.formats[D]=Y,this}errorsText(D=this.errors,{separator:Y=", ",dataVar:X="data"}={}){if(!D||D.length===0)return"No errors";return D.map((Q)=>`${X}${Q.instancePath} ${Q.message}`).reduce((Q,J)=>Q+Y+J)}$dataMetaSchema(D,Y){let X=this.RULES.all;D=JSON.parse(JSON.stringify(D));for(let Q of Y){let J=Q.split("/").slice(1),W=D;for(let $ of J)W=W[$];for(let $ in X){let G=X[$];if(typeof G!="object")continue;let{$data:B}=G.definition,H=W[$];if(B&&H)W[$]=Ov(H)}}return D}_removeAllSchemas(D,Y){for(let X in D){let Q=D[X];if(!Y||Y.test(X)){if(typeof Q=="string")delete D[X];else if(Q&&!Q.meta)this._cache.delete(Q.schema),delete D[X]}}}_addSchema(D,Y,X,Q=this.opts.validateSchema,J=this.opts.addUsedSchema){let W,{schemaId:$}=this.opts;if(typeof D=="object")W=D[$];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof D!="boolean")throw Error("schema must be object or boolean");let G=this._cache.get(D);if(G!==void 0)return G;X=(0,QX.normalizeId)(W||X);let B=QX.getSchemaRefs.call(this,D,X);if(G=new XX.SchemaEnv({schema:D,schemaId:$,meta:Y,baseId:X,localRefs:B}),this._cache.set(G.schema,G),J&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=G}if(Q)this.validateSchema(D,!0);return G}_checkUnique(D){if(this.schemas[D]||this.refs[D])throw Error(`schema with key or id "${D}" already exists`)}_compileSchemaEnv(D){if(D.meta)this._compileMetaSchema(D);else XX.compileSchema.call(this,D);if(!D.validate)throw Error("ajv implementation error");return D.validate}_compileMetaSchema(D){let Y=this.opts;this.opts=this._metaOpts;try{XX.compileSchema.call(this,D)}finally{this.opts=Y}}}w$.ValidationError=$B0.default;w$.MissingRefError=Mv.default;x9.default=w$;function Vv(D,Y,X,Q="error"){for(let J in D){let W=J;if(W in Y)this.logger[Q](`${X}: option ${J}. ${D[W]}`)}}function wv(D){return D=(0,QX.normalizeId)(D),this.schemas[D]||this.refs[D]}function VB0(){let D=this.opts.schemas;if(!D)return;if(Array.isArray(D))this.addSchema(D);else for(let Y in D)this.addSchema(D[Y],Y)}function wB0(){for(let D in this.opts.formats){let Y=this.opts.formats[D];if(Y)this.addFormat(D,Y)}}function MB0(D){if(Array.isArray(D)){this.addVocabulary(D);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let Y in D){let X=D[Y];if(!X.keyword)X.keyword=Y;this.addKeyword(X)}}function LB0(){let D={...this.opts};for(let Y of FB0)delete D[Y];return D}var OB0={log(){},warn(){},error(){}};function NB0(D){if(D===!1)return OB0;if(D===void 0)return console;if(D.log&&D.warn&&D.error)return D;throw Error("logger must implement log, warn and error methods")}var ZB0=/^[a-z_$][a-z0-9_$:-]*$/i;function AB0(D,Y){let{RULES:X}=this;if((0,WU.eachItem)(D,(Q)=>{if(X.keywords[Q])throw Error(`Keyword ${Q} is already defined`);if(!ZB0.test(Q))throw Error(`Keyword ${Q} has invalid name`)}),!Y)return;if(Y.$data&&!(("code"in Y)||("validate"in Y)))throw Error('$data keyword must have "code" or "validate" function')}function JU(D,Y,X){var Q;let J=Y===null||Y===void 0?void 0:Y.post;if(X&&J)throw Error('keyword with "post" flag cannot have "type"');let{RULES:W}=this,$=J?W.post:W.rules.find(({type:B})=>B===X);if(!$)$={type:X,rules:[]},W.rules.push($);if(W.keywords[D]=!0,!Y)return;let G={keyword:D,definition:{...Y,type:(0,V$.getJSONTypes)(Y.type),schemaType:(0,V$.getJSONTypes)(Y.schemaType)}};if(Y.before)EB0.call(this,$,G,Y.before);else $.rules.push(G);W.all[D]=G,(Q=Y.implements)===null||Q===void 0||Q.forEach((B)=>this.addKeyword(B))}function EB0(D,Y,X){let Q=D.rules.findIndex((J)=>J.keyword===X);if(Q>=0)D.rules.splice(Q,0,Y);else D.rules.push(Y),this.logger.warn(`rule ${X} is not defined`)}function RB0(D){let{metaSchema:Y}=D;if(Y===void 0)return;if(D.$data&&this.opts.$data)Y=Ov(Y);D.validateSchema=this.compile(Y,!0)}var jB0={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ov(D){return{anyOf:[D,jB0]}}});var Av=T((Zv)=>{Object.defineProperty(Zv,"__esModule",{value:!0});var PB0={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Zv.default=PB0});var Pv=T((Tv)=>{Object.defineProperty(Tv,"__esModule",{value:!0});Tv.callRef=Tv.getValidate=void 0;var CB0=eY(),Ev=O6(),i8=C0(),P7=P9(),Rv=F$(),M$=p0(),xB0={keyword:"$ref",schemaType:"string",code(D){let{gen:Y,schema:X,it:Q}=D,{baseId:J,schemaEnv:W,validateName:$,opts:G,self:B}=Q,{root:H}=W;if((X==="#"||X==="#/")&&J===H.baseId)return K();let F=Rv.resolveRef.call(B,H,J,X);if(F===void 0)throw new CB0.default(Q.opts.uriResolver,J,X);if(F instanceof Rv.SchemaEnv)return U(F);return z(F);function K(){if(W===H)return L$(D,$,W,W.$async);let V=Y.scopeValue("root",{ref:H});return L$(D,i8._`${V}.validate`,H,H.$async)}function U(V){let w=jv(D,V);L$(D,w,V,V.$async)}function z(V){let w=Y.scopeValue("schema",G.code.source===!0?{ref:V,code:(0,i8.stringify)(V)}:{ref:V}),M=Y.name("valid"),O=D.subschema({schema:V,dataTypes:[],schemaPath:i8.nil,topSchemaRef:w,errSchemaPath:X},M);D.mergeEvaluated(O),D.ok(M)}}};function jv(D,Y){let{gen:X}=D;return Y.validate?X.scopeValue("validate",{ref:Y.validate}):i8._`${X.scopeValue("wrapper",{ref:Y})}.validate`}Tv.getValidate=jv;function L$(D,Y,X,Q){let{gen:J,it:W}=D,{allErrors:$,schemaEnv:G,opts:B}=W,H=B.passContext?P7.default.this:i8.nil;if(Q)F();else K();function F(){if(!G.$async)throw Error("async schema referenced by sync schema");let V=J.let("valid");J.try(()=>{if(J.code(i8._`await ${(0,Ev.callValidateCode)(D,Y,H)}`),z(Y),!$)J.assign(V,!0)},(w)=>{if(J.if(i8._`!(${w} instanceof ${W.ValidationError})`,()=>J.throw(w)),U(w),!$)J.assign(V,!1)}),D.ok(V)}function K(){D.result((0,Ev.callValidateCode)(D,Y,H),()=>z(Y),()=>U(Y))}function U(V){let w=i8._`${V}.errors`;J.assign(P7.default.vErrors,i8._`${P7.default.vErrors} === null ? ${w} : ${P7.default.vErrors}.concat(${w})`),J.assign(P7.default.errors,i8._`${P7.default.vErrors}.length`)}function z(V){var w;if(!W.opts.unevaluated)return;let M=(w=X===null||X===void 0?void 0:X.validate)===null||w===void 0?void 0:w.evaluated;if(W.props!==!0)if(M&&!M.dynamicProps){if(M.props!==void 0)W.props=M$.mergeEvaluated.props(J,M.props,W.props)}else{let O=J.var("props",i8._`${V}.evaluated.props`);W.props=M$.mergeEvaluated.props(J,O,W.props,i8.Name)}if(W.items!==!0)if(M&&!M.dynamicItems){if(M.items!==void 0)W.items=M$.mergeEvaluated.items(J,M.items,W.items)}else{let O=J.var("items",i8._`${V}.evaluated.items`);W.items=M$.mergeEvaluated.items(J,O,W.items,i8.Name)}}}Tv.callRef=L$;Tv.default=xB0});var Cv=T((Iv)=>{Object.defineProperty(Iv,"__esModule",{value:!0});var bB0=Av(),vB0=Pv(),yB0=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",bB0.default,vB0.default];Iv.default=yB0});var _v=T((xv)=>{Object.defineProperty(xv,"__esModule",{value:!0});var O$=C0(),ED=O$.operators,N$={maximum:{okStr:"<=",ok:ED.LTE,fail:ED.GT},minimum:{okStr:">=",ok:ED.GTE,fail:ED.LT},exclusiveMaximum:{okStr:"<",ok:ED.LT,fail:ED.GTE},exclusiveMinimum:{okStr:">",ok:ED.GT,fail:ED.LTE}},hB0={message:({keyword:D,schemaCode:Y})=>O$.str`must be ${N$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>O$._`{comparison: ${N$[D].okStr}, limit: ${Y}}`},gB0={keyword:Object.keys(N$),type:"number",schemaType:"number",$data:!0,error:hB0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D;D.fail$data(O$._`${X} ${N$[Y].fail} ${Q} || isNaN(${X})`)}};xv.default=gB0});var bv=T((kv)=>{Object.defineProperty(kv,"__esModule",{value:!0});var JX=C0(),mB0={message:({schemaCode:D})=>JX.str`must be multiple of ${D}`,params:({schemaCode:D})=>JX._`{multipleOf: ${D}}`},cB0={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:mB0,code(D){let{gen:Y,data:X,schemaCode:Q,it:J}=D,W=J.opts.multipleOfPrecision,$=Y.let("res"),G=W?JX._`Math.abs(Math.round(${$}) - ${$}) > 1e-${W}`:JX._`${$} !== parseInt(${$})`;D.fail$data(JX._`(${Q} === 0 || (${$} = ${X}/${Q}, ${G}))`)}};kv.default=cB0});var fv=T((yv)=>{Object.defineProperty(yv,"__esModule",{value:!0});function vv(D){let Y=D.length,X=0,Q=0,J;while(Q<Y)if(X++,J=D.charCodeAt(Q++),J>=55296&&J<=56319&&Q<Y){if(J=D.charCodeAt(Q),(J&64512)===56320)Q++}return X}yv.default=vv;vv.code='require("ajv/dist/runtime/ucs2length").default'});var gv=T((hv)=>{Object.defineProperty(hv,"__esModule",{value:!0});var I5=C0(),pB0=p0(),nB0=fv(),iB0={message({keyword:D,schemaCode:Y}){let X=D==="maxLength"?"more":"fewer";return I5.str`must NOT have ${X} than ${Y} characters`},params:({schemaCode:D})=>I5._`{limit: ${D}}`},rB0={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:iB0,code(D){let{keyword:Y,data:X,schemaCode:Q,it:J}=D,W=Y==="maxLength"?I5.operators.GT:I5.operators.LT,$=J.opts.unicode===!1?I5._`${X}.length`:I5._`${(0,pB0.useFunc)(D.gen,nB0.default)}(${X})`;D.fail$data(I5._`${$} ${W} ${Q}`)}};hv.default=rB0});var mv=T((uv)=>{Object.defineProperty(uv,"__esModule",{value:!0});var oB0=O6(),Z$=C0(),sB0={message:({schemaCode:D})=>Z$.str`must match pattern "${D}"`,params:({schemaCode:D})=>Z$._`{pattern: ${D}}`},tB0={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:sB0,code(D){let{data:Y,$data:X,schema:Q,schemaCode:J,it:W}=D,$=W.opts.unicodeRegExp?"u":"",G=X?Z$._`(new RegExp(${J}, ${$}))`:(0,oB0.usePattern)(D,Q);D.fail$data(Z$._`!${G}.test(${Y})`)}};uv.default=tB0});var lv=T((cv)=>{Object.defineProperty(cv,"__esModule",{value:!0});var WX=C0(),DH0={message({keyword:D,schemaCode:Y}){let X=D==="maxProperties"?"more":"fewer";return WX.str`must NOT have ${X} than ${Y} properties`},params:({schemaCode:D})=>WX._`{limit: ${D}}`},YH0={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:DH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D,J=Y==="maxProperties"?WX.operators.GT:WX.operators.LT;D.fail$data(WX._`Object.keys(${X}).length ${J} ${Q}`)}};cv.default=YH0});var pv=T((dv)=>{Object.defineProperty(dv,"__esModule",{value:!0});var $X=O6(),GX=C0(),QH0=p0(),JH0={message:({params:{missingProperty:D}})=>GX.str`must have required property '${D}'`,params:({params:{missingProperty:D}})=>GX._`{missingProperty: ${D}}`},WH0={keyword:"required",type:"object",schemaType:"array",$data:!0,error:JH0,code(D){let{gen:Y,schema:X,schemaCode:Q,data:J,$data:W,it:$}=D,{opts:G}=$;if(!W&&X.length===0)return;let B=X.length>=G.loopRequired;if($.allErrors)H();else F();if(G.strictRequired){let z=D.parentSchema.properties,{definedProperties:V}=D.it;for(let w of X)if((z===null||z===void 0?void 0:z[w])===void 0&&!V.has(w)){let M=$.schemaEnv.baseId+$.errSchemaPath,O=`required property "${w}" is not defined at "${M}" (strictRequired)`;(0,QH0.checkStrictMode)($,O,$.opts.strictRequired)}}function H(){if(B||W)D.block$data(GX.nil,K);else for(let z of X)(0,$X.checkReportMissingProp)(D,z)}function F(){let z=Y.let("missing");if(B||W){let V=Y.let("valid",!0);D.block$data(V,()=>U(z,V)),D.ok(V)}else Y.if((0,$X.checkMissingProp)(D,X,z)),(0,$X.reportMissingProp)(D,z),Y.else()}function K(){Y.forOf("prop",Q,(z)=>{D.setParams({missingProperty:z}),Y.if((0,$X.noPropertyInData)(Y,J,z,G.ownProperties),()=>D.error())})}function U(z,V){D.setParams({missingProperty:z}),Y.forOf(z,Q,()=>{Y.assign(V,(0,$X.propertyInData)(Y,J,z,G.ownProperties)),Y.if((0,GX.not)(V),()=>{D.error(),Y.break()})},GX.nil)}}};dv.default=WH0});var iv=T((nv)=>{Object.defineProperty(nv,"__esModule",{value:!0});var BX=C0(),GH0={message({keyword:D,schemaCode:Y}){let X=D==="maxItems"?"more":"fewer";return BX.str`must NOT have ${X} than ${Y} items`},params:({schemaCode:D})=>BX._`{limit: ${D}}`},BH0={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:GH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D,J=Y==="maxItems"?BX.operators.GT:BX.operators.LT;D.fail$data(BX._`${X}.length ${J} ${Q}`)}};nv.default=BH0});var A$=T((av)=>{Object.defineProperty(av,"__esModule",{value:!0});var rv=dz();rv.code='require("ajv/dist/runtime/equal").default';av.default=rv});var sv=T((ov)=>{Object.defineProperty(ov,"__esModule",{value:!0});var $U=rY(),q8=C0(),qH0=p0(),KH0=A$(),zH0={message:({params:{i:D,j:Y}})=>q8.str`must NOT have duplicate items (items ## ${Y} and ${D} are identical)`,params:({params:{i:D,j:Y}})=>q8._`{i: ${D}, j: ${Y}}`},UH0={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:zH0,code(D){let{gen:Y,data:X,$data:Q,schema:J,parentSchema:W,schemaCode:$,it:G}=D;if(!Q&&!J)return;let B=Y.let("valid"),H=W.items?(0,$U.getSchemaTypes)(W.items):[];D.block$data(B,F,q8._`${$} === false`),D.ok(B);function F(){let V=Y.let("i",q8._`${X}.length`),w=Y.let("j");D.setParams({i:V,j:w}),Y.assign(B,!0),Y.if(q8._`${V} > 1`,()=>(K()?U:z)(V,w))}function K(){return H.length>0&&!H.some((V)=>V==="object"||V==="array")}function U(V,w){let M=Y.name("item"),O=(0,$U.checkDataTypes)(H,M,G.opts.strictNumbers,$U.DataType.Wrong),Z=Y.const("indices",q8._`{}`);Y.for(q8._`;${V}--;`,()=>{if(Y.let(M,q8._`${X}[${V}]`),Y.if(O,q8._`continue`),H.length>1)Y.if(q8._`typeof ${M} == "string"`,q8._`${M} += "_"`);Y.if(q8._`typeof ${Z}[${M}] == "number"`,()=>{Y.assign(w,q8._`${Z}[${M}]`),D.error(),Y.assign(B,!1).break()}).code(q8._`${Z}[${M}] = ${V}`)})}function z(V,w){let M=(0,qH0.useFunc)(Y,KH0.default),O=Y.name("outer");Y.label(O).for(q8._`;${V}--;`,()=>Y.for(q8._`${w} = ${V}; ${w}--;`,()=>Y.if(q8._`${M}(${X}[${V}], ${X}[${w}])`,()=>{D.error(),Y.assign(B,!1).break(O)})))}}};ov.default=UH0});var ev=T((tv)=>{Object.defineProperty(tv,"__esModule",{value:!0});var GU=C0(),wH0=p0(),MH0=A$(),LH0={message:"must be equal to constant",params:({schemaCode:D})=>GU._`{allowedValue: ${D}}`},OH0={keyword:"const",$data:!0,error:LH0,code(D){let{gen:Y,data:X,$data:Q,schemaCode:J,schema:W}=D;if(Q||W&&typeof W=="object")D.fail$data(GU._`!${(0,wH0.useFunc)(Y,MH0.default)}(${X}, ${J})`);else D.fail(GU._`${W} !== ${X}`)}};tv.default=OH0});var Yy=T((Dy)=>{Object.defineProperty(Dy,"__esModule",{value:!0});var HX=C0(),ZH0=p0(),AH0=A$(),EH0={message:"must be equal to one of the allowed values",params:({schemaCode:D})=>HX._`{allowedValues: ${D}}`},RH0={keyword:"enum",schemaType:"array",$data:!0,error:EH0,code(D){let{gen:Y,data:X,$data:Q,schema:J,schemaCode:W,it:$}=D;if(!Q&&J.length===0)throw Error("enum must have non-empty array");let G=J.length>=$.opts.loopEnum,B,H=()=>B!==null&&B!==void 0?B:B=(0,ZH0.useFunc)(Y,AH0.default),F;if(G||Q)F=Y.let("valid"),D.block$data(F,K);else{if(!Array.isArray(J))throw Error("ajv implementation error");let z=Y.const("vSchema",W);F=(0,HX.or)(...J.map((V,w)=>U(z,w)))}D.pass(F);function K(){Y.assign(F,!1),Y.forOf("v",W,(z)=>Y.if(HX._`${H()}(${X}, ${z})`,()=>Y.assign(F,!0).break()))}function U(z,V){let w=J[V];return typeof w==="object"&&w!==null?HX._`${H()}(${X}, ${z}[${V}])`:HX._`${X} === ${w}`}}};Dy.default=RH0});var Qy=T((Xy)=>{Object.defineProperty(Xy,"__esModule",{value:!0});var TH0=_v(),SH0=bv(),PH0=gv(),IH0=mv(),CH0=lv(),xH0=pv(),_H0=iv(),kH0=sv(),bH0=ev(),vH0=Yy(),yH0=[TH0.default,SH0.default,PH0.default,IH0.default,CH0.default,xH0.default,_H0.default,kH0.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},bH0.default,vH0.default];Xy.default=yH0});var HU=T((Wy)=>{Object.defineProperty(Wy,"__esModule",{value:!0});Wy.validateAdditionalItems=void 0;var C5=C0(),BU=p0(),hH0={message:({params:{len:D}})=>C5.str`must NOT have more than ${D} items`,params:({params:{len:D}})=>C5._`{limit: ${D}}`},gH0={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:hH0,code(D){let{parentSchema:Y,it:X}=D,{items:Q}=Y;if(!Array.isArray(Q)){(0,BU.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}Jy(D,Q)}};function Jy(D,Y){let{gen:X,schema:Q,data:J,keyword:W,it:$}=D;$.items=!0;let G=X.const("len",C5._`${J}.length`);if(Q===!1)D.setParams({len:Y.length}),D.pass(C5._`${G} <= ${Y.length}`);else if(typeof Q=="object"&&!(0,BU.alwaysValidSchema)($,Q)){let H=X.var("valid",C5._`${G} <= ${Y.length}`);X.if((0,C5.not)(H),()=>B(H)),D.ok(H)}function B(H){X.forRange("i",Y.length,G,(F)=>{if(D.subschema({keyword:W,dataProp:F,dataPropType:BU.Type.Num},H),!$.allErrors)X.if((0,C5.not)(H),()=>X.break())})}}Wy.validateAdditionalItems=Jy;Wy.default=gH0});var FU=T((Hy)=>{Object.defineProperty(Hy,"__esModule",{value:!0});Hy.validateTuple=void 0;var Gy=C0(),E$=p0(),mH0=O6(),cH0={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(D){let{schema:Y,it:X}=D;if(Array.isArray(Y))return By(D,"additionalItems",Y);if(X.items=!0,(0,E$.alwaysValidSchema)(X,Y))return;D.ok((0,mH0.validateArray)(D))}};function By(D,Y,X=D.schema){let{gen:Q,parentSchema:J,data:W,keyword:$,it:G}=D;if(F(J),G.opts.unevaluated&&X.length&&G.items!==!0)G.items=E$.mergeEvaluated.items(Q,X.length,G.items);let B=Q.name("valid"),H=Q.const("len",Gy._`${W}.length`);X.forEach((K,U)=>{if((0,E$.alwaysValidSchema)(G,K))return;Q.if(Gy._`${H} > ${U}`,()=>D.subschema({keyword:$,schemaProp:U,dataProp:U},B)),D.ok(B)});function F(K){let{opts:U,errSchemaPath:z}=G,V=X.length,w=V===K.minItems&&(V===K.maxItems||K[Y]===!1);if(U.strictTuples&&!w){let M=`"${$}" is ${V}-tuple, but minItems or maxItems/${Y} are not specified or different at path "${z}"`;(0,E$.checkStrictMode)(G,M,U.strictTuples)}}}Hy.validateTuple=By;Hy.default=cH0});var Ky=T((qy)=>{Object.defineProperty(qy,"__esModule",{value:!0});var dH0=FU(),pH0={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(D)=>(0,dH0.validateTuple)(D,"items")};qy.default=pH0});var Vy=T((Uy)=>{Object.defineProperty(Uy,"__esModule",{value:!0});var zy=C0(),iH0=p0(),rH0=O6(),aH0=HU(),oH0={message:({params:{len:D}})=>zy.str`must NOT have more than ${D} items`,params:({params:{len:D}})=>zy._`{limit: ${D}}`},sH0={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:oH0,code(D){let{schema:Y,parentSchema:X,it:Q}=D,{prefixItems:J}=X;if(Q.items=!0,(0,iH0.alwaysValidSchema)(Q,Y))return;if(J)(0,aH0.validateAdditionalItems)(D,J);else D.ok((0,rH0.validateArray)(D))}};Uy.default=sH0});var My=T((wy)=>{Object.defineProperty(wy,"__esModule",{value:!0});var N6=C0(),R$=p0(),eH0={message:({params:{min:D,max:Y}})=>Y===void 0?N6.str`must contain at least ${D} valid item(s)`:N6.str`must contain at least ${D} and no more than ${Y} valid item(s)`,params:({params:{min:D,max:Y}})=>Y===void 0?N6._`{minContains: ${D}}`:N6._`{minContains: ${D}, maxContains: ${Y}}`},D20={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:eH0,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D,$,G,{minContains:B,maxContains:H}=Q;if(W.opts.next)$=B===void 0?1:B,G=H;else $=1;let F=Y.const("len",N6._`${J}.length`);if(D.setParams({min:$,max:G}),G===void 0&&$===0){(0,R$.checkStrictMode)(W,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(G!==void 0&&$>G){(0,R$.checkStrictMode)(W,'"minContains" > "maxContains" is always invalid'),D.fail();return}if((0,R$.alwaysValidSchema)(W,X)){let w=N6._`${F} >= ${$}`;if(G!==void 0)w=N6._`${w} && ${F} <= ${G}`;D.pass(w);return}W.items=!0;let K=Y.name("valid");if(G===void 0&&$===1)z(K,()=>Y.if(K,()=>Y.break()));else if($===0){if(Y.let(K,!0),G!==void 0)Y.if(N6._`${J}.length > 0`,U)}else Y.let(K,!1),U();D.result(K,()=>D.reset());function U(){let w=Y.name("_valid"),M=Y.let("count",0);z(w,()=>Y.if(w,()=>V(M)))}function z(w,M){Y.forRange("i",0,F,(O)=>{D.subschema({keyword:"contains",dataProp:O,dataPropType:R$.Type.Num,compositeRule:!0},w),M()})}function V(w){if(Y.code(N6._`${w}++`),G===void 0)Y.if(N6._`${w} >= ${$}`,()=>Y.assign(K,!0).break());else if(Y.if(N6._`${w} > ${G}`,()=>Y.assign(K,!1).break()),$===1)Y.assign(K,!0);else Y.if(N6._`${w} >= ${$}`,()=>Y.assign(K,!0))}}};wy.default=D20});var Ey=T((Ny)=>{Object.defineProperty(Ny,"__esModule",{value:!0});Ny.validateSchemaDeps=Ny.validatePropertyDeps=Ny.error=void 0;var qU=C0(),X20=p0(),FX=O6();Ny.error={message:({params:{property:D,depsCount:Y,deps:X}})=>{let Q=Y===1?"property":"properties";return qU.str`must have ${Q} ${X} when property ${D} is present`},params:({params:{property:D,depsCount:Y,deps:X,missingProperty:Q}})=>qU._`{property: ${D},
|
|
135
135
|
missingProperty: ${Q},
|
|
136
136
|
depsCount: ${Y},
|
|
137
|
-
deps: ${X}}`};var Q20={keyword:"dependencies",type:"object",schemaType:"object",error:Ny.error,code(D){let[Y,X]=J20(D);Ly(D,Y),Oy(D,X)}};function J20({schema:D}){let Y={},X={};for(let Q in D){if(Q==="__proto__")continue;let J=Array.isArray(D[Q])?Y:X;J[Q]=D[Q]}return[Y,X]}function Ly(D,Y=D.schema){let{gen:X,data:Q,it:J}=D;if(Object.keys(Y).length===0)return;let W=X.let("missing");for(let $ in Y){let G=Y[$];if(G.length===0)continue;let B=(0,FX.propertyInData)(X,Q,$,J.opts.ownProperties);if(D.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),J.allErrors)X.if(B,()=>{for(let H of G)(0,FX.checkReportMissingProp)(D,H)});else X.if(qU._`${B} && (${(0,FX.checkMissingProp)(D,G,W)})`),(0,FX.reportMissingProp)(D,W),X.else()}}Ny.validatePropertyDeps=Ly;function Oy(D,Y=D.schema){let{gen:X,data:Q,keyword:J,it:W}=D,$=X.name("valid");for(let G in Y){if((0,X20.alwaysValidSchema)(W,Y[G]))continue;X.if((0,FX.propertyInData)(X,Q,G,W.opts.ownProperties),()=>{let B=D.subschema({keyword:J,schemaProp:G},$);D.mergeValidEvaluated(B,$)},()=>X.var($,!0)),D.ok($)}}Ny.validateSchemaDeps=Oy;Ny.default=Q20});var Ty=T((jy)=>{Object.defineProperty(jy,"__esModule",{value:!0});var Ry=C0(),G20=p0(),B20={message:"property name must be valid",params:({params:D})=>Ry._`{propertyName: ${D.propertyName}}`},H20={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:B20,code(D){let{gen:Y,schema:X,data:Q,it:J}=D;if((0,G20.alwaysValidSchema)(J,X))return;let W=Y.name("valid");Y.forIn("key",Q,($)=>{D.setParams({propertyName:$}),D.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},W),Y.if((0,Ry.not)(W),()=>{if(D.error(!0),!J.allErrors)Y.break()})}),D.ok(W)}};jy.default=H20});var KU=T((Sy)=>{Object.defineProperty(Sy,"__esModule",{value:!0});var j$=O6(),u6=C0(),q20=P9(),T$=p0(),K20={message:"must NOT have additional properties",params:({params:D})=>u6._`{additionalProperty: ${D.additionalProperty}}`},z20={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:K20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,errsCount:W,it:$}=D;if(!W)throw Error("ajv implementation error");let{allErrors:G,opts:B}=$;if($.props=!0,B.removeAdditional!=="all"&&(0,T$.alwaysValidSchema)($,X))return;let H=(0,j$.allSchemaProperties)(Q.properties),F=(0,j$.allSchemaProperties)(Q.patternProperties);K(),D.ok(u6._`${W} === ${q20.default.errors}`);function K(){Y.forIn("key",J,(M)=>{if(!H.length&&!F.length)V(M);else Y.if(U(M),()=>V(M))})}function U(M){let O;if(H.length>8){let Z=(0,T$.schemaRefOrVal)($,Q.properties,"properties");O=(0,j$.isOwnProperty)(Y,Z,M)}else if(H.length)O=(0,u6.or)(...H.map((Z)=>u6._`${M} === ${Z}`));else O=u6.nil;if(F.length)O=(0,u6.or)(O,...F.map((Z)=>u6._`${(0,j$.usePattern)(D,Z)}.test(${M})`));return(0,u6.not)(O)}function z(M){Y.code(u6._`delete ${J}[${M}]`)}function V(M){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(M);return}if(X===!1){if(D.setParams({additionalProperty:M}),D.error(),!G)Y.break();return}if(typeof X=="object"&&!(0,T$.alwaysValidSchema)($,X)){let O=Y.name("valid");if(B.removeAdditional==="failing")w(M,O,!1),Y.if((0,u6.not)(O),()=>{D.reset(),z(M)});else if(w(M,O),!G)Y.if((0,u6.not)(O),()=>Y.break())}}function w(M,O,Z){let L={keyword:"additionalProperties",dataProp:M,dataPropType:T$.Type.Str};if(Z===!1)Object.assign(L,{compositeRule:!0,createErrors:!1,allErrors:!1});D.subschema(L,O)}}};Sy.default=z20});var xy=T((Cy)=>{Object.defineProperty(Cy,"__esModule",{value:!0});var V20=tY(),Py=O6(),zU=p0(),Iy=KU(),w20={keyword:"properties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D;if(W.opts.removeAdditional==="all"&&Q.additionalProperties===void 0)Iy.default.code(new V20.KeywordCxt(W,Iy.default,"additionalProperties"));let $=(0,Py.allSchemaProperties)(X);for(let K of $)W.definedProperties.add(K);if(W.opts.unevaluated&&$.length&&W.props!==!0)W.props=zU.mergeEvaluated.props(Y,(0,zU.toHash)($),W.props);let G=$.filter((K)=>!(0,zU.alwaysValidSchema)(W,X[K]));if(G.length===0)return;let B=Y.name("valid");for(let K of G){if(H(K))F(K);else{if(Y.if((0,Py.propertyInData)(Y,J,K,W.opts.ownProperties)),F(K),!W.allErrors)Y.else().var(B,!0);Y.endIf()}D.it.definedProperties.add(K),D.ok(B)}function H(K){return W.opts.useDefaults&&!W.compositeRule&&X[K].default!==void 0}function F(K){D.subschema({keyword:"properties",schemaProp:K,dataProp:K},B)}}};Cy.default=w20});var yy=T((vy)=>{Object.defineProperty(vy,"__esModule",{value:!0});var _y=O6(),S$=C0(),ky=p0(),by=p0(),L20={keyword:"patternProperties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,data:Q,parentSchema:J,it:W}=D,{opts:$}=W,G=(0,_y.allSchemaProperties)(X),B=G.filter((w)=>(0,ky.alwaysValidSchema)(W,X[w]));if(G.length===0||B.length===G.length&&(!W.opts.unevaluated||W.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&J.properties,F=Y.name("valid");if(W.props!==!0&&!(W.props instanceof S$.Name))W.props=(0,by.evaluatedPropsToName)(Y,W.props);let{props:K}=W;U();function U(){for(let w of G){if(H)z(w);if(W.allErrors)V(w);else Y.var(F,!0),V(w),Y.if(F)}}function z(w){for(let M in H)if(new RegExp(w).test(M))(0,ky.checkStrictMode)(W,`property ${M} matches pattern ${w} (use allowMatchingProperties)`)}function V(w){Y.forIn("key",Q,(M)=>{Y.if(S$._`${(0,_y.usePattern)(D,w)}.test(${M})`,()=>{let O=B.includes(w);if(!O)D.subschema({keyword:"patternProperties",schemaProp:w,dataProp:M,dataPropType:by.Type.Str},F);if(W.opts.unevaluated&&K!==!0)Y.assign(S$._`${K}[${M}]`,!0);else if(!O&&!W.allErrors)Y.if((0,S$.not)(F),()=>Y.break())})})}}};vy.default=L20});var hy=T((fy)=>{Object.defineProperty(fy,"__esModule",{value:!0});var N20=p0(),Z20={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(D){let{gen:Y,schema:X,it:Q}=D;if((0,N20.alwaysValidSchema)(Q,X)){D.fail();return}let J=Y.name("valid");D.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},J),D.failResult(J,()=>D.reset(),()=>D.error())},error:{message:"must NOT be valid"}};fy.default=Z20});var uy=T((gy)=>{Object.defineProperty(gy,"__esModule",{value:!0});var E20=O6(),R20={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:E20.validateUnion,error:{message:"must match a schema in anyOf"}};gy.default=R20});var cy=T((my)=>{Object.defineProperty(my,"__esModule",{value:!0});var P$=C0(),T20=p0(),S20={message:"must match exactly one schema in oneOf",params:({params:D})=>P$._`{passingSchemas: ${D.passing}}`},P20={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:S20,code(D){let{gen:Y,schema:X,parentSchema:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(J.opts.discriminator&&Q.discriminator)return;let W=X,$=Y.let("valid",!1),G=Y.let("passing",null),B=Y.name("_valid");D.setParams({passing:G}),Y.block(H),D.result($,()=>D.reset(),()=>D.error(!0));function H(){W.forEach((F,K)=>{let U;if((0,T20.alwaysValidSchema)(J,F))Y.var(B,!0);else U=D.subschema({keyword:"oneOf",schemaProp:K,compositeRule:!0},B);if(K>0)Y.if(P$._`${B} && ${$}`).assign($,!1).assign(G,P$._`[${G}, ${K}]`).else();Y.if(B,()=>{if(Y.assign($,!0),Y.assign(G,K),U)D.mergeEvaluated(U,P$.Name)})})}}};my.default=P20});var dy=T((ly)=>{Object.defineProperty(ly,"__esModule",{value:!0});var C20=p0(),x20={keyword:"allOf",schemaType:"array",code(D){let{gen:Y,schema:X,it:Q}=D;if(!Array.isArray(X))throw Error("ajv implementation error");let J=Y.name("valid");X.forEach((W,$)=>{if((0,C20.alwaysValidSchema)(Q,W))return;let G=D.subschema({keyword:"allOf",schemaProp:$},J);D.ok(J),D.mergeEvaluated(G)})}};ly.default=x20});var ry=T((iy)=>{Object.defineProperty(iy,"__esModule",{value:!0});var I$=C0(),ny=p0(),k20={message:({params:D})=>I$.str`must match "${D.ifClause}" schema`,params:({params:D})=>I$._`{failingKeyword: ${D.ifClause}}`},b20={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:k20,code(D){let{gen:Y,parentSchema:X,it:Q}=D;if(X.then===void 0&&X.else===void 0)(0,ny.checkStrictMode)(Q,'"if" without "then" and "else" is ignored');let J=py(Q,"then"),W=py(Q,"else");if(!J&&!W)return;let $=Y.let("valid",!0),G=Y.name("_valid");if(B(),D.reset(),J&&W){let F=Y.let("ifClause");D.setParams({ifClause:F}),Y.if(G,H("then",F),H("else",F))}else if(J)Y.if(G,H("then"));else Y.if((0,I$.not)(G),H("else"));D.pass($,()=>D.error(!0));function B(){let F=D.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);D.mergeEvaluated(F)}function H(F,K){return()=>{let U=D.subschema({keyword:F},G);if(Y.assign($,G),D.mergeValidEvaluated(U,$),K)Y.assign(K,I$._`${F}`);else D.setParams({ifClause:F})}}}};function py(D,Y){let X=D.schema[Y];return X!==void 0&&!(0,ny.alwaysValidSchema)(D,X)}iy.default=b20});var oy=T((ay)=>{Object.defineProperty(ay,"__esModule",{value:!0});var y20=p0(),f20={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:D,parentSchema:Y,it:X}){if(Y.if===void 0)(0,y20.checkStrictMode)(X,`"${D}" without "if" is ignored`)}};ay.default=f20});var ty=T((sy)=>{Object.defineProperty(sy,"__esModule",{value:!0});var g20=HU(),u20=Ky(),m20=FU(),c20=Vy(),l20=My(),d20=Ey(),p20=Ty(),n20=KU(),i20=xy(),r20=yy(),a20=hy(),o20=uy(),s20=cy(),t20=dy(),e20=ry(),DF0=oy();function YF0(D=!1){let Y=[a20.default,o20.default,s20.default,t20.default,e20.default,DF0.default,p20.default,n20.default,d20.default,i20.default,r20.default];if(D)Y.push(u20.default,c20.default);else Y.push(g20.default,m20.default);return Y.push(l20.default),Y}sy.default=YF0});var Df=T((ey)=>{Object.defineProperty(ey,"__esModule",{value:!0});var u1=C0(),QF0={message:({schemaCode:D})=>u1.str`must match format "${D}"`,params:({schemaCode:D})=>u1._`{format: ${D}}`},JF0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:QF0,code(D,Y){let{gen:X,data:Q,$data:J,schema:W,schemaCode:$,it:G}=D,{opts:B,errSchemaPath:H,schemaEnv:F,self:K}=G;if(!B.validateFormats)return;if(J)U();else z();function U(){let V=X.scopeValue("formats",{ref:K.formats,code:B.code.formats}),w=X.const("fDef",u1._`${V}[${$}]`),M=X.let("fType"),O=X.let("format");X.if(u1._`typeof ${w} == "object" && !(${w} instanceof RegExp)`,()=>X.assign(M,u1._`${w}.type || "string"`).assign(O,u1._`${w}.validate`),()=>X.assign(M,u1._`"string"`).assign(O,w)),D.fail$data((0,u1.or)(Z(),L()));function Z(){if(B.strictSchema===!1)return u1.nil;return u1._`${$} && !${O}`}function L(){let E=F.$async?u1._`(${w}.async ? await ${O}(${Q}) : ${O}(${Q}))`:u1._`${O}(${Q})`,j=u1._`(typeof ${O} == "function" ? ${E} : ${O}.test(${Q}))`;return u1._`${O} && ${O} !== true && ${M} === ${Y} && !${j}`}}function z(){let V=K.formats[W];if(!V){Z();return}if(V===!0)return;let[w,M,O]=L(V);if(w===Y)D.pass(E());function Z(){if(B.strictSchema===!1){K.logger.warn(j());return}throw Error(j());function j(){return`unknown format "${W}" ignored in schema at path "${H}"`}}function L(j){let I=j instanceof RegExp?(0,u1.regexpCode)(j):B.code.formats?u1._`${B.code.formats}${(0,u1.getProperty)(W)}`:void 0,x=X.scopeValue("formats",{key:W,ref:j,code:I});if(typeof j=="object"&&!(j instanceof RegExp))return[j.type||"string",j.validate,u1._`${x}.validate`];return["string",j,x]}function E(){if(typeof V=="object"&&!(V instanceof RegExp)&&V.async){if(!F.$async)throw Error("async format in sync schema");return u1._`await ${O}(${Q})`}return typeof M=="function"?u1._`${O}(${Q})`:u1._`${O}.test(${Q})`}}}};ey.default=JF0});var Xf=T((Yf)=>{Object.defineProperty(Yf,"__esModule",{value:!0});var $F0=Df(),GF0=[$F0.default];Yf.default=GF0});var Wf=T((Qf)=>{Object.defineProperty(Qf,"__esModule",{value:!0});Qf.contentVocabulary=Qf.metadataVocabulary=void 0;Qf.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Qf.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Bf=T((Gf)=>{Object.defineProperty(Gf,"__esModule",{value:!0});var FF0=Cv(),qF0=Qy(),KF0=ty(),zF0=Xf(),$f=Wf(),UF0=[FF0.default,qF0.default,(0,KF0.default)(),zF0.default,$f.metadataVocabulary,$f.contentVocabulary];Gf.default=UF0});var Kf=T((Ff)=>{Object.defineProperty(Ff,"__esModule",{value:!0});Ff.DiscrError=void 0;var Hf;(function(D){D.Tag="tag",D.Mapping="mapping"})(Hf||(Ff.DiscrError=Hf={}))});var Vf=T((Uf)=>{Object.defineProperty(Uf,"__esModule",{value:!0});var I7=C0(),UU=Kf(),zf=F$(),wF0=eY(),MF0=p0(),LF0={message:({params:{discrError:D,tagName:Y}})=>D===UU.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:D,tag:Y,tagName:X}})=>I7._`{error: ${D}, tag: ${X}, tagValue: ${Y}}`},OF0={keyword:"discriminator",type:"object",schemaType:"object",error:LF0,code(D){let{gen:Y,data:X,schema:Q,parentSchema:J,it:W}=D,{oneOf:$}=J;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=Q.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(Q.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),H=Y.const("tag",I7._`${X}${(0,I7.getProperty)(G)}`);Y.if(I7._`typeof ${H} == "string"`,()=>F(),()=>D.error(!1,{discrError:UU.DiscrError.Tag,tag:H,tagName:G})),D.ok(B);function F(){let z=U();Y.if(!1);for(let V in z)Y.elseIf(I7._`${H} === ${V}`),Y.assign(B,K(z[V]));Y.else(),D.error(!1,{discrError:UU.DiscrError.Mapping,tag:H,tagName:G}),Y.endIf()}function K(z){let V=Y.name("valid"),w=D.subschema({keyword:"oneOf",schemaProp:z},V);return D.mergeEvaluated(w,I7.Name),V}function U(){var z;let V={},w=O(J),M=!0;for(let E=0;E<$.length;E++){let j=$[E];if((j===null||j===void 0?void 0:j.$ref)&&!(0,MF0.schemaHasRulesButRef)(j,W.self.RULES)){let x=j.$ref;if(j=zf.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,x),j instanceof zf.SchemaEnv)j=j.schema;if(j===void 0)throw new wF0.default(W.opts.uriResolver,W.baseId,x)}let I=(z=j===null||j===void 0?void 0:j.properties)===null||z===void 0?void 0:z[G];if(typeof I!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);M=M&&(w||O(j)),Z(I,E)}if(!M)throw Error(`discriminator: "${G}" must be required`);return V;function O({required:E}){return Array.isArray(E)&&E.includes(G)}function Z(E,j){if(E.const)L(E.const,j);else if(E.enum)for(let I of E.enum)L(I,j);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function L(E,j){if(typeof E!="string"||E in V)throw Error(`discriminator: "${G}" values must be unique strings`);V[E]=j}}}};Uf.default=OF0});var wf=T((zC0,ZF0)=>{ZF0.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var wU=T((r8,VU)=>{Object.defineProperty(r8,"__esModule",{value:!0});r8.MissingRefError=r8.ValidationError=r8.CodeGen=r8.Name=r8.nil=r8.stringify=r8.str=r8._=r8.KeywordCxt=r8.Ajv=void 0;var AF0=Nv(),EF0=Bf(),RF0=Vf(),Mf=wf(),jF0=["/properties"],C$="http://json-schema.org/draft-07/schema";class qX extends AF0.default{_addVocabularies(){if(super._addVocabularies(),EF0.default.forEach((D)=>this.addVocabulary(D)),this.opts.discriminator)this.addKeyword(RF0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let D=this.opts.$data?this.$dataMetaSchema(Mf,jF0):Mf;this.addMetaSchema(D,C$,!1),this.refs["http://json-schema.org/schema"]=C$}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(C$)?C$:void 0)}}r8.Ajv=qX;VU.exports=r8=qX;VU.exports.Ajv=qX;Object.defineProperty(r8,"__esModule",{value:!0});r8.default=qX;var TF0=tY();Object.defineProperty(r8,"KeywordCxt",{enumerable:!0,get:function(){return TF0.KeywordCxt}});var C7=C0();Object.defineProperty(r8,"_",{enumerable:!0,get:function(){return C7._}});Object.defineProperty(r8,"str",{enumerable:!0,get:function(){return C7.str}});Object.defineProperty(r8,"stringify",{enumerable:!0,get:function(){return C7.stringify}});Object.defineProperty(r8,"nil",{enumerable:!0,get:function(){return C7.nil}});Object.defineProperty(r8,"Name",{enumerable:!0,get:function(){return C7.Name}});Object.defineProperty(r8,"CodeGen",{enumerable:!0,get:function(){return C7.CodeGen}});var SF0=B$();Object.defineProperty(r8,"ValidationError",{enumerable:!0,get:function(){return SF0.default}});var PF0=eY();Object.defineProperty(r8,"MissingRefError",{enumerable:!0,get:function(){return PF0.default}})});var Sf=T((jf)=>{Object.defineProperty(jf,"__esModule",{value:!0});jf.formatNames=jf.fastFormats=jf.fullFormats=void 0;function $9(D,Y){return{validate:D,compare:Y}}jf.fullFormats={date:$9(Zf,NU),time:$9(LU(!0),ZU),"date-time":$9(Lf(!0),Ef),"iso-time":$9(LU(),Af),"iso-date-time":$9(Lf(),Rf),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:yF0,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:lF0,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:fF0,int32:{type:"number",validate:uF0},int64:{type:"number",validate:mF0},float:{type:"number",validate:Nf},double:{type:"number",validate:Nf},password:!0,binary:!0};jf.fastFormats={...jf.fullFormats,date:$9(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,NU),time:$9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ZU),"date-time":$9(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ef),"iso-time":$9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Af),"iso-date-time":$9(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Rf),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};jf.formatNames=Object.keys(jf.fullFormats);function xF0(D){return D%4===0&&(D%100!==0||D%400===0)}var _F0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,kF0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Zf(D){let Y=_F0.exec(D);if(!Y)return!1;let X=+Y[1],Q=+Y[2],J=+Y[3];return Q>=1&&Q<=12&&J>=1&&J<=(Q===2&&xF0(X)?29:kF0[Q])}function NU(D,Y){if(!(D&&Y))return;if(D>Y)return 1;if(D<Y)return-1;return 0}var MU=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function LU(D){return function(X){let Q=MU.exec(X);if(!Q)return!1;let J=+Q[1],W=+Q[2],$=+Q[3],G=Q[4],B=Q[5]==="-"?-1:1,H=+(Q[6]||0),F=+(Q[7]||0);if(H>23||F>59||D&&!G)return!1;if(J<=23&&W<=59&&$<60)return!0;let K=W-F*B,U=J-H*B-(K<0?1:0);return(U===23||U===-1)&&(K===59||K===-1)&&$<61}}function ZU(D,Y){if(!(D&&Y))return;let X=new Date("2020-01-01T"+D).valueOf(),Q=new Date("2020-01-01T"+Y).valueOf();if(!(X&&Q))return;return X-Q}function Af(D,Y){if(!(D&&Y))return;let X=MU.exec(D),Q=MU.exec(Y);if(!(X&&Q))return;if(D=X[1]+X[2]+X[3],Y=Q[1]+Q[2]+Q[3],D>Y)return 1;if(D<Y)return-1;return 0}var OU=/t|\s/i;function Lf(D){let Y=LU(D);return function(Q){let J=Q.split(OU);return J.length===2&&Zf(J[0])&&Y(J[1])}}function Ef(D,Y){if(!(D&&Y))return;let X=new Date(D).valueOf(),Q=new Date(Y).valueOf();if(!(X&&Q))return;return X-Q}function Rf(D,Y){if(!(D&&Y))return;let[X,Q]=D.split(OU),[J,W]=Y.split(OU),$=NU(X,J);if($===void 0)return;return $||ZU(Q,W)}var bF0=/\/|:/,vF0=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function yF0(D){return bF0.test(D)&&vF0.test(D)}var Of=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function fF0(D){return Of.lastIndex=0,Of.test(D)}var hF0=-2147483648,gF0=2147483647;function uF0(D){return Number.isInteger(D)&&D<=gF0&&D>=hF0}function mF0(D){return Number.isInteger(D)}function Nf(){return!0}var cF0=/[^\\]\\Z/;function lF0(D){if(cF0.test(D))return!1;try{return new RegExp(D),!0}catch(Y){return!1}}});var If=T((Pf)=>{Object.defineProperty(Pf,"__esModule",{value:!0});Pf.formatLimitDefinition=void 0;var pF0=wU(),m6=C0(),RD=m6.operators,x$={formatMaximum:{okStr:"<=",ok:RD.LTE,fail:RD.GT},formatMinimum:{okStr:">=",ok:RD.GTE,fail:RD.LT},formatExclusiveMaximum:{okStr:"<",ok:RD.LT,fail:RD.GTE},formatExclusiveMinimum:{okStr:">",ok:RD.GT,fail:RD.LTE}},nF0={message:({keyword:D,schemaCode:Y})=>m6.str`should be ${x$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>m6._`{comparison: ${x$[D].okStr}, limit: ${Y}}`};Pf.formatLimitDefinition={keyword:Object.keys(x$),type:"string",schemaType:"string",$data:!0,error:nF0,code(D){let{gen:Y,data:X,schemaCode:Q,keyword:J,it:W}=D,{opts:$,self:G}=W;if(!$.validateFormats)return;let B=new pF0.KeywordCxt(W,G.RULES.all.format.definition,"format");if(B.$data)H();else F();function H(){let U=Y.scopeValue("formats",{ref:G.formats,code:$.code.formats}),z=Y.const("fmt",m6._`${U}[${B.schemaCode}]`);D.fail$data((0,m6.or)(m6._`typeof ${z} != "object"`,m6._`${z} instanceof RegExp`,m6._`typeof ${z}.compare != "function"`,K(z)))}function F(){let U=B.schema,z=G.formats[U];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${J}": format "${U}" does not define "compare" function`);let V=Y.scopeValue("formats",{key:U,ref:z,code:$.code.formats?m6._`${$.code.formats}${(0,m6.getProperty)(U)}`:void 0});D.fail$data(K(V))}function K(U){return m6._`${U}.compare(${X}, ${Q}) ${x$[J].fail} 0`}},dependencies:["format"]};var iF0=(D)=>{return D.addKeyword(Pf.formatLimitDefinition),D};Pf.default=iF0});var kf=T((KX,_f)=>{Object.defineProperty(KX,"__esModule",{value:!0});var x7=Sf(),aF0=If(),RU=C0(),Cf=new RU.Name("fullFormats"),oF0=new RU.Name("fastFormats"),jU=(D,Y={keywords:!0})=>{if(Array.isArray(Y))return xf(D,Y,x7.fullFormats,Cf),D;let[X,Q]=Y.mode==="fast"?[x7.fastFormats,oF0]:[x7.fullFormats,Cf],J=Y.formats||x7.formatNames;if(xf(D,J,X,Q),Y.keywords)(0,aF0.default)(D);return D};jU.get=(D,Y="full")=>{let Q=(Y==="fast"?x7.fastFormats:x7.fullFormats)[D];if(!Q)throw Error(`Unknown format "${D}"`);return Q};function xf(D,Y,X,Q){var J,W;(J=(W=D.opts.code).formats)!==null&&J!==void 0||(W.formats=RU._`require("ajv-formats/dist/formats").${Q}`);for(let $ of Y)D.addFormat($,X[$])}_f.exports=KX=jU;Object.defineProperty(KX,"__esModule",{value:!0});KX.default=jU});import{exit as lU}from"node:process";var FV=y1(HV(),1),{program:c1,createCommand:Oq0,createArgument:Nq0,createOption:Zq0,CommanderError:Aq0,InvalidArgumentError:Eq0,InvalidOptionArgumentError:Rq0,Command:jq0,Argument:Tq0,Option:Sq0,Help:Pq0}=FV.default;var f8={name:"@capgo/cli",version:"7.66.4",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};import{existsSync as $S,readFileSync as GS}from"node:fs";var K8=y1(r$(),1),v7=y1(o$(),1);import{stdin as EV,stdout as RV}from"node:process";import*as k9 from"node:readline";import UV from"node:readline";import{Writable as oh}from"node:stream";function sh({onlyFirst:D=!1}={}){let Y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(Y,D?void 0:"g")}var th=sh();function jV(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(th,"")}function TV(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var SV={exports:{}};(function(D){var Y={};D.exports=Y,Y.eastAsianWidth=function(Q){var J=Q.charCodeAt(0),W=Q.length==2?Q.charCodeAt(1):0,$=J;return 55296<=J&&J<=56319&&56320<=W&&W<=57343&&(J&=1023,W&=1023,$=J<<10|W,$+=65536),$==12288||65281<=$&&$<=65376||65504<=$&&$<=65510?"F":$==8361||65377<=$&&$<=65470||65474<=$&&$<=65479||65482<=$&&$<=65487||65490<=$&&$<=65495||65498<=$&&$<=65500||65512<=$&&$<=65518?"H":4352<=$&&$<=4447||4515<=$&&$<=4519||4602<=$&&$<=4607||9001<=$&&$<=9002||11904<=$&&$<=11929||11931<=$&&$<=12019||12032<=$&&$<=12245||12272<=$&&$<=12283||12289<=$&&$<=12350||12353<=$&&$<=12438||12441<=$&&$<=12543||12549<=$&&$<=12589||12593<=$&&$<=12686||12688<=$&&$<=12730||12736<=$&&$<=12771||12784<=$&&$<=12830||12832<=$&&$<=12871||12880<=$&&$<=13054||13056<=$&&$<=19903||19968<=$&&$<=42124||42128<=$&&$<=42182||43360<=$&&$<=43388||44032<=$&&$<=55203||55216<=$&&$<=55238||55243<=$&&$<=55291||63744<=$&&$<=64255||65040<=$&&$<=65049||65072<=$&&$<=65106||65108<=$&&$<=65126||65128<=$&&$<=65131||110592<=$&&$<=110593||127488<=$&&$<=127490||127504<=$&&$<=127546||127552<=$&&$<=127560||127568<=$&&$<=127569||131072<=$&&$<=194367||177984<=$&&$<=196605||196608<=$&&$<=262141?"W":32<=$&&$<=126||162<=$&&$<=163||165<=$&&$<=166||$==172||$==175||10214<=$&&$<=10221||10629<=$&&$<=10630?"Na":$==161||$==164||167<=$&&$<=168||$==170||173<=$&&$<=174||176<=$&&$<=180||182<=$&&$<=186||188<=$&&$<=191||$==198||$==208||215<=$&&$<=216||222<=$&&$<=225||$==230||232<=$&&$<=234||236<=$&&$<=237||$==240||242<=$&&$<=243||247<=$&&$<=250||$==252||$==254||$==257||$==273||$==275||$==283||294<=$&&$<=295||$==299||305<=$&&$<=307||$==312||319<=$&&$<=322||$==324||328<=$&&$<=331||$==333||338<=$&&$<=339||358<=$&&$<=359||$==363||$==462||$==464||$==466||$==468||$==470||$==472||$==474||$==476||$==593||$==609||$==708||$==711||713<=$&&$<=715||$==717||$==720||728<=$&&$<=731||$==733||$==735||768<=$&&$<=879||913<=$&&$<=929||931<=$&&$<=937||945<=$&&$<=961||963<=$&&$<=969||$==1025||1040<=$&&$<=1103||$==1105||$==8208||8211<=$&&$<=8214||8216<=$&&$<=8217||8220<=$&&$<=8221||8224<=$&&$<=8226||8228<=$&&$<=8231||$==8240||8242<=$&&$<=8243||$==8245||$==8251||$==8254||$==8308||$==8319||8321<=$&&$<=8324||$==8364||$==8451||$==8453||$==8457||$==8467||$==8470||8481<=$&&$<=8482||$==8486||$==8491||8531<=$&&$<=8532||8539<=$&&$<=8542||8544<=$&&$<=8555||8560<=$&&$<=8569||$==8585||8592<=$&&$<=8601||8632<=$&&$<=8633||$==8658||$==8660||$==8679||$==8704||8706<=$&&$<=8707||8711<=$&&$<=8712||$==8715||$==8719||$==8721||$==8725||$==8730||8733<=$&&$<=8736||$==8739||$==8741||8743<=$&&$<=8748||$==8750||8756<=$&&$<=8759||8764<=$&&$<=8765||$==8776||$==8780||$==8786||8800<=$&&$<=8801||8804<=$&&$<=8807||8810<=$&&$<=8811||8814<=$&&$<=8815||8834<=$&&$<=8835||8838<=$&&$<=8839||$==8853||$==8857||$==8869||$==8895||$==8978||9312<=$&&$<=9449||9451<=$&&$<=9547||9552<=$&&$<=9587||9600<=$&&$<=9615||9618<=$&&$<=9621||9632<=$&&$<=9633||9635<=$&&$<=9641||9650<=$&&$<=9651||9654<=$&&$<=9655||9660<=$&&$<=9661||9664<=$&&$<=9665||9670<=$&&$<=9672||$==9675||9678<=$&&$<=9681||9698<=$&&$<=9701||$==9711||9733<=$&&$<=9734||$==9737||9742<=$&&$<=9743||9748<=$&&$<=9749||$==9756||$==9758||$==9792||$==9794||9824<=$&&$<=9825||9827<=$&&$<=9829||9831<=$&&$<=9834||9836<=$&&$<=9837||$==9839||9886<=$&&$<=9887||9918<=$&&$<=9919||9924<=$&&$<=9933||9935<=$&&$<=9953||$==9955||9960<=$&&$<=9983||$==10045||$==10071||10102<=$&&$<=10111||11093<=$&&$<=11097||12872<=$&&$<=12879||57344<=$&&$<=63743||65024<=$&&$<=65039||$==65533||127232<=$&&$<=127242||127248<=$&&$<=127277||127280<=$&&$<=127337||127344<=$&&$<=127386||917760<=$&&$<=917999||983040<=$&&$<=1048573||1048576<=$&&$<=1114109?"A":"N"},Y.characterLength=function(Q){var J=this.eastAsianWidth(Q);return J=="F"||J=="W"||J=="A"?2:1};function X(Q){return Q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}Y.length=function(Q){for(var J=X(Q),W=0,$=0;$<J.length;$++)W=W+this.characterLength(J[$]);return W},Y.slice=function(Q,J,W){textLen=Y.length(Q),J=J||0,W=W||1,J<0&&(J=textLen+J),W<0&&(W=textLen+W);for(var $="",G=0,B=X(Q),H=0;H<B.length;H++){var F=B[H],K=Y.length(F);if(G>=J-(K==2?1:0))if(G+K<=W)$+=F;else break;G+=K}return $}})(SV);var eh=SV.exports,Dg=TV(eh),Yg=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Xg=TV(Yg);function y7(D,Y={}){if(typeof D!="string"||D.length===0||(Y={ambiguousIsNarrow:!0,...Y},D=jV(D),D.length===0))return 0;D=D.replace(Xg()," ");let X=Y.ambiguousIsNarrow?1:2,Q=0;for(let J of D){let W=J.codePointAt(0);if(W<=31||W>=127&&W<=159||W>=768&&W<=879)continue;switch(Dg.eastAsianWidth(J)){case"F":case"W":Q+=2;break;case"A":Q+=X;break;default:Q+=1}}return Q}var s$=10,VV=(D=0)=>(Y)=>`\x1B[${Y+D}m`,wV=(D=0)=>(Y)=>`\x1B[${38+D};5;${Y}m`,MV=(D=0)=>(Y,X,Q)=>`\x1B[${38+D};2;${Y};${X};${Q}m`,V1={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(V1.modifier);var Qg=Object.keys(V1.color),Jg=Object.keys(V1.bgColor);[...Qg,...Jg];function Wg(){let D=new Map;for(let[Y,X]of Object.entries(V1)){for(let[Q,J]of Object.entries(X))V1[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},X[Q]=V1[Q],D.set(J[0],J[1]);Object.defineProperty(V1,Y,{value:X,enumerable:!1})}return Object.defineProperty(V1,"codes",{value:D,enumerable:!1}),V1.color.close="\x1B[39m",V1.bgColor.close="\x1B[49m",V1.color.ansi=VV(),V1.color.ansi256=wV(),V1.color.ansi16m=MV(),V1.bgColor.ansi=VV(s$),V1.bgColor.ansi256=wV(s$),V1.bgColor.ansi16m=MV(s$),Object.defineProperties(V1,{rgbToAnsi256:{value:(Y,X,Q)=>Y===X&&X===Q?Y<8?16:Y>248?231:Math.round((Y-8)/247*24)+232:16+36*Math.round(Y/255*5)+6*Math.round(X/255*5)+Math.round(Q/255*5),enumerable:!1},hexToRgb:{value:(Y)=>{let X=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Y.toString(16));if(!X)return[0,0,0];let[Q]=X;Q.length===3&&(Q=[...Q].map((W)=>W+W).join(""));let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>V1.rgbToAnsi256(...V1.hexToRgb(Y)),enumerable:!1},ansi256ToAnsi:{value:(Y)=>{if(Y<8)return 30+Y;if(Y<16)return 90+(Y-8);let X,Q,J;if(Y>=232)X=((Y-232)*10+8)/255,Q=X,J=X;else{Y-=16;let G=Y%36;X=Math.floor(Y/36)/5,Q=Math.floor(G/6)/5,J=G%6/5}let W=Math.max(X,Q,J)*2;if(W===0)return 30;let $=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(X));return W===2&&($+=60),$},enumerable:!1},rgbToAnsi:{value:(Y,X,Q)=>V1.ansi256ToAnsi(V1.rgbToAnsi256(Y,X,Q)),enumerable:!1},hexToAnsi:{value:(Y)=>V1.ansi256ToAnsi(V1.hexToAnsi256(Y)),enumerable:!1}}),V1}var $g=Wg(),EX=new Set(["\x1B",""]),Gg=39,DG="\x07",PV="[",Bg="]",IV="m",YG=`${Bg}8;;`,LV=(D)=>`${EX.values().next().value}${PV}${D}${IV}`,OV=(D)=>`${EX.values().next().value}${YG}${D}${DG}`,Hg=(D)=>D.split(" ").map((Y)=>y7(Y)),t$=(D,Y,X)=>{let Q=[...Y],J=!1,W=!1,$=y7(jV(D[D.length-1]));for(let[G,B]of Q.entries()){let H=y7(B);if($+H<=X?D[D.length-1]+=B:(D.push(B),$=0),EX.has(B)&&(J=!0,W=Q.slice(G+1).join("").startsWith(YG)),J){W?B===DG&&(J=!1,W=!1):B===IV&&(J=!1);continue}$+=H,$===X&&G<Q.length-1&&(D.push(""),$=0)}!$&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},Fg=(D)=>{let Y=D.split(" "),X=Y.length;for(;X>0&&!(y7(Y[X-1])>0);)X--;return X===Y.length?D:Y.slice(0,X).join(" ")+Y.slice(X).join("")},qg=(D,Y,X={})=>{if(X.trim!==!1&&D.trim()==="")return"";let Q="",J,W,$=Hg(D),G=[""];for(let[H,F]of D.split(" ").entries()){X.trim!==!1&&(G[G.length-1]=G[G.length-1].trimStart());let K=y7(G[G.length-1]);if(H!==0&&(K>=Y&&(X.wordWrap===!1||X.trim===!1)&&(G.push(""),K=0),(K>0||X.trim===!1)&&(G[G.length-1]+=" ",K++)),X.hard&&$[H]>Y){let U=Y-K,z=1+Math.floor(($[H]-U-1)/Y);Math.floor(($[H]-1)/Y)<z&&G.push(""),t$(G,F,Y);continue}if(K+$[H]>Y&&K>0&&$[H]>0){if(X.wordWrap===!1&&K<Y){t$(G,F,Y);continue}G.push("")}if(K+$[H]>Y&&X.wordWrap===!1){t$(G,F,Y);continue}G[G.length-1]+=F}X.trim!==!1&&(G=G.map((H)=>Fg(H)));let B=[...G.join(`
|
|
137
|
+
deps: ${X}}`};var Q20={keyword:"dependencies",type:"object",schemaType:"object",error:Ny.error,code(D){let[Y,X]=J20(D);Ly(D,Y),Oy(D,X)}};function J20({schema:D}){let Y={},X={};for(let Q in D){if(Q==="__proto__")continue;let J=Array.isArray(D[Q])?Y:X;J[Q]=D[Q]}return[Y,X]}function Ly(D,Y=D.schema){let{gen:X,data:Q,it:J}=D;if(Object.keys(Y).length===0)return;let W=X.let("missing");for(let $ in Y){let G=Y[$];if(G.length===0)continue;let B=(0,FX.propertyInData)(X,Q,$,J.opts.ownProperties);if(D.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),J.allErrors)X.if(B,()=>{for(let H of G)(0,FX.checkReportMissingProp)(D,H)});else X.if(qU._`${B} && (${(0,FX.checkMissingProp)(D,G,W)})`),(0,FX.reportMissingProp)(D,W),X.else()}}Ny.validatePropertyDeps=Ly;function Oy(D,Y=D.schema){let{gen:X,data:Q,keyword:J,it:W}=D,$=X.name("valid");for(let G in Y){if((0,X20.alwaysValidSchema)(W,Y[G]))continue;X.if((0,FX.propertyInData)(X,Q,G,W.opts.ownProperties),()=>{let B=D.subschema({keyword:J,schemaProp:G},$);D.mergeValidEvaluated(B,$)},()=>X.var($,!0)),D.ok($)}}Ny.validateSchemaDeps=Oy;Ny.default=Q20});var Ty=T((jy)=>{Object.defineProperty(jy,"__esModule",{value:!0});var Ry=C0(),G20=p0(),B20={message:"property name must be valid",params:({params:D})=>Ry._`{propertyName: ${D.propertyName}}`},H20={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:B20,code(D){let{gen:Y,schema:X,data:Q,it:J}=D;if((0,G20.alwaysValidSchema)(J,X))return;let W=Y.name("valid");Y.forIn("key",Q,($)=>{D.setParams({propertyName:$}),D.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},W),Y.if((0,Ry.not)(W),()=>{if(D.error(!0),!J.allErrors)Y.break()})}),D.ok(W)}};jy.default=H20});var KU=T((Sy)=>{Object.defineProperty(Sy,"__esModule",{value:!0});var j$=O6(),u6=C0(),q20=P9(),T$=p0(),K20={message:"must NOT have additional properties",params:({params:D})=>u6._`{additionalProperty: ${D.additionalProperty}}`},z20={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:K20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,errsCount:W,it:$}=D;if(!W)throw Error("ajv implementation error");let{allErrors:G,opts:B}=$;if($.props=!0,B.removeAdditional!=="all"&&(0,T$.alwaysValidSchema)($,X))return;let H=(0,j$.allSchemaProperties)(Q.properties),F=(0,j$.allSchemaProperties)(Q.patternProperties);K(),D.ok(u6._`${W} === ${q20.default.errors}`);function K(){Y.forIn("key",J,(M)=>{if(!H.length&&!F.length)V(M);else Y.if(U(M),()=>V(M))})}function U(M){let O;if(H.length>8){let Z=(0,T$.schemaRefOrVal)($,Q.properties,"properties");O=(0,j$.isOwnProperty)(Y,Z,M)}else if(H.length)O=(0,u6.or)(...H.map((Z)=>u6._`${M} === ${Z}`));else O=u6.nil;if(F.length)O=(0,u6.or)(O,...F.map((Z)=>u6._`${(0,j$.usePattern)(D,Z)}.test(${M})`));return(0,u6.not)(O)}function z(M){Y.code(u6._`delete ${J}[${M}]`)}function V(M){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(M);return}if(X===!1){if(D.setParams({additionalProperty:M}),D.error(),!G)Y.break();return}if(typeof X=="object"&&!(0,T$.alwaysValidSchema)($,X)){let O=Y.name("valid");if(B.removeAdditional==="failing")w(M,O,!1),Y.if((0,u6.not)(O),()=>{D.reset(),z(M)});else if(w(M,O),!G)Y.if((0,u6.not)(O),()=>Y.break())}}function w(M,O,Z){let L={keyword:"additionalProperties",dataProp:M,dataPropType:T$.Type.Str};if(Z===!1)Object.assign(L,{compositeRule:!0,createErrors:!1,allErrors:!1});D.subschema(L,O)}}};Sy.default=z20});var xy=T((Cy)=>{Object.defineProperty(Cy,"__esModule",{value:!0});var V20=tY(),Py=O6(),zU=p0(),Iy=KU(),w20={keyword:"properties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D;if(W.opts.removeAdditional==="all"&&Q.additionalProperties===void 0)Iy.default.code(new V20.KeywordCxt(W,Iy.default,"additionalProperties"));let $=(0,Py.allSchemaProperties)(X);for(let K of $)W.definedProperties.add(K);if(W.opts.unevaluated&&$.length&&W.props!==!0)W.props=zU.mergeEvaluated.props(Y,(0,zU.toHash)($),W.props);let G=$.filter((K)=>!(0,zU.alwaysValidSchema)(W,X[K]));if(G.length===0)return;let B=Y.name("valid");for(let K of G){if(H(K))F(K);else{if(Y.if((0,Py.propertyInData)(Y,J,K,W.opts.ownProperties)),F(K),!W.allErrors)Y.else().var(B,!0);Y.endIf()}D.it.definedProperties.add(K),D.ok(B)}function H(K){return W.opts.useDefaults&&!W.compositeRule&&X[K].default!==void 0}function F(K){D.subschema({keyword:"properties",schemaProp:K,dataProp:K},B)}}};Cy.default=w20});var yy=T((vy)=>{Object.defineProperty(vy,"__esModule",{value:!0});var _y=O6(),S$=C0(),ky=p0(),by=p0(),L20={keyword:"patternProperties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,data:Q,parentSchema:J,it:W}=D,{opts:$}=W,G=(0,_y.allSchemaProperties)(X),B=G.filter((w)=>(0,ky.alwaysValidSchema)(W,X[w]));if(G.length===0||B.length===G.length&&(!W.opts.unevaluated||W.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&J.properties,F=Y.name("valid");if(W.props!==!0&&!(W.props instanceof S$.Name))W.props=(0,by.evaluatedPropsToName)(Y,W.props);let{props:K}=W;U();function U(){for(let w of G){if(H)z(w);if(W.allErrors)V(w);else Y.var(F,!0),V(w),Y.if(F)}}function z(w){for(let M in H)if(new RegExp(w).test(M))(0,ky.checkStrictMode)(W,`property ${M} matches pattern ${w} (use allowMatchingProperties)`)}function V(w){Y.forIn("key",Q,(M)=>{Y.if(S$._`${(0,_y.usePattern)(D,w)}.test(${M})`,()=>{let O=B.includes(w);if(!O)D.subschema({keyword:"patternProperties",schemaProp:w,dataProp:M,dataPropType:by.Type.Str},F);if(W.opts.unevaluated&&K!==!0)Y.assign(S$._`${K}[${M}]`,!0);else if(!O&&!W.allErrors)Y.if((0,S$.not)(F),()=>Y.break())})})}}};vy.default=L20});var hy=T((fy)=>{Object.defineProperty(fy,"__esModule",{value:!0});var N20=p0(),Z20={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(D){let{gen:Y,schema:X,it:Q}=D;if((0,N20.alwaysValidSchema)(Q,X)){D.fail();return}let J=Y.name("valid");D.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},J),D.failResult(J,()=>D.reset(),()=>D.error())},error:{message:"must NOT be valid"}};fy.default=Z20});var uy=T((gy)=>{Object.defineProperty(gy,"__esModule",{value:!0});var E20=O6(),R20={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:E20.validateUnion,error:{message:"must match a schema in anyOf"}};gy.default=R20});var cy=T((my)=>{Object.defineProperty(my,"__esModule",{value:!0});var P$=C0(),T20=p0(),S20={message:"must match exactly one schema in oneOf",params:({params:D})=>P$._`{passingSchemas: ${D.passing}}`},P20={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:S20,code(D){let{gen:Y,schema:X,parentSchema:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(J.opts.discriminator&&Q.discriminator)return;let W=X,$=Y.let("valid",!1),G=Y.let("passing",null),B=Y.name("_valid");D.setParams({passing:G}),Y.block(H),D.result($,()=>D.reset(),()=>D.error(!0));function H(){W.forEach((F,K)=>{let U;if((0,T20.alwaysValidSchema)(J,F))Y.var(B,!0);else U=D.subschema({keyword:"oneOf",schemaProp:K,compositeRule:!0},B);if(K>0)Y.if(P$._`${B} && ${$}`).assign($,!1).assign(G,P$._`[${G}, ${K}]`).else();Y.if(B,()=>{if(Y.assign($,!0),Y.assign(G,K),U)D.mergeEvaluated(U,P$.Name)})})}}};my.default=P20});var dy=T((ly)=>{Object.defineProperty(ly,"__esModule",{value:!0});var C20=p0(),x20={keyword:"allOf",schemaType:"array",code(D){let{gen:Y,schema:X,it:Q}=D;if(!Array.isArray(X))throw Error("ajv implementation error");let J=Y.name("valid");X.forEach((W,$)=>{if((0,C20.alwaysValidSchema)(Q,W))return;let G=D.subschema({keyword:"allOf",schemaProp:$},J);D.ok(J),D.mergeEvaluated(G)})}};ly.default=x20});var ry=T((iy)=>{Object.defineProperty(iy,"__esModule",{value:!0});var I$=C0(),ny=p0(),k20={message:({params:D})=>I$.str`must match "${D.ifClause}" schema`,params:({params:D})=>I$._`{failingKeyword: ${D.ifClause}}`},b20={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:k20,code(D){let{gen:Y,parentSchema:X,it:Q}=D;if(X.then===void 0&&X.else===void 0)(0,ny.checkStrictMode)(Q,'"if" without "then" and "else" is ignored');let J=py(Q,"then"),W=py(Q,"else");if(!J&&!W)return;let $=Y.let("valid",!0),G=Y.name("_valid");if(B(),D.reset(),J&&W){let F=Y.let("ifClause");D.setParams({ifClause:F}),Y.if(G,H("then",F),H("else",F))}else if(J)Y.if(G,H("then"));else Y.if((0,I$.not)(G),H("else"));D.pass($,()=>D.error(!0));function B(){let F=D.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);D.mergeEvaluated(F)}function H(F,K){return()=>{let U=D.subschema({keyword:F},G);if(Y.assign($,G),D.mergeValidEvaluated(U,$),K)Y.assign(K,I$._`${F}`);else D.setParams({ifClause:F})}}}};function py(D,Y){let X=D.schema[Y];return X!==void 0&&!(0,ny.alwaysValidSchema)(D,X)}iy.default=b20});var oy=T((ay)=>{Object.defineProperty(ay,"__esModule",{value:!0});var y20=p0(),f20={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:D,parentSchema:Y,it:X}){if(Y.if===void 0)(0,y20.checkStrictMode)(X,`"${D}" without "if" is ignored`)}};ay.default=f20});var ty=T((sy)=>{Object.defineProperty(sy,"__esModule",{value:!0});var g20=HU(),u20=Ky(),m20=FU(),c20=Vy(),l20=My(),d20=Ey(),p20=Ty(),n20=KU(),i20=xy(),r20=yy(),a20=hy(),o20=uy(),s20=cy(),t20=dy(),e20=ry(),DF0=oy();function YF0(D=!1){let Y=[a20.default,o20.default,s20.default,t20.default,e20.default,DF0.default,p20.default,n20.default,d20.default,i20.default,r20.default];if(D)Y.push(u20.default,c20.default);else Y.push(g20.default,m20.default);return Y.push(l20.default),Y}sy.default=YF0});var Df=T((ey)=>{Object.defineProperty(ey,"__esModule",{value:!0});var u1=C0(),QF0={message:({schemaCode:D})=>u1.str`must match format "${D}"`,params:({schemaCode:D})=>u1._`{format: ${D}}`},JF0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:QF0,code(D,Y){let{gen:X,data:Q,$data:J,schema:W,schemaCode:$,it:G}=D,{opts:B,errSchemaPath:H,schemaEnv:F,self:K}=G;if(!B.validateFormats)return;if(J)U();else z();function U(){let V=X.scopeValue("formats",{ref:K.formats,code:B.code.formats}),w=X.const("fDef",u1._`${V}[${$}]`),M=X.let("fType"),O=X.let("format");X.if(u1._`typeof ${w} == "object" && !(${w} instanceof RegExp)`,()=>X.assign(M,u1._`${w}.type || "string"`).assign(O,u1._`${w}.validate`),()=>X.assign(M,u1._`"string"`).assign(O,w)),D.fail$data((0,u1.or)(Z(),L()));function Z(){if(B.strictSchema===!1)return u1.nil;return u1._`${$} && !${O}`}function L(){let E=F.$async?u1._`(${w}.async ? await ${O}(${Q}) : ${O}(${Q}))`:u1._`${O}(${Q})`,j=u1._`(typeof ${O} == "function" ? ${E} : ${O}.test(${Q}))`;return u1._`${O} && ${O} !== true && ${M} === ${Y} && !${j}`}}function z(){let V=K.formats[W];if(!V){Z();return}if(V===!0)return;let[w,M,O]=L(V);if(w===Y)D.pass(E());function Z(){if(B.strictSchema===!1){K.logger.warn(j());return}throw Error(j());function j(){return`unknown format "${W}" ignored in schema at path "${H}"`}}function L(j){let I=j instanceof RegExp?(0,u1.regexpCode)(j):B.code.formats?u1._`${B.code.formats}${(0,u1.getProperty)(W)}`:void 0,x=X.scopeValue("formats",{key:W,ref:j,code:I});if(typeof j=="object"&&!(j instanceof RegExp))return[j.type||"string",j.validate,u1._`${x}.validate`];return["string",j,x]}function E(){if(typeof V=="object"&&!(V instanceof RegExp)&&V.async){if(!F.$async)throw Error("async format in sync schema");return u1._`await ${O}(${Q})`}return typeof M=="function"?u1._`${O}(${Q})`:u1._`${O}.test(${Q})`}}}};ey.default=JF0});var Xf=T((Yf)=>{Object.defineProperty(Yf,"__esModule",{value:!0});var $F0=Df(),GF0=[$F0.default];Yf.default=GF0});var Wf=T((Qf)=>{Object.defineProperty(Qf,"__esModule",{value:!0});Qf.contentVocabulary=Qf.metadataVocabulary=void 0;Qf.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Qf.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Bf=T((Gf)=>{Object.defineProperty(Gf,"__esModule",{value:!0});var FF0=Cv(),qF0=Qy(),KF0=ty(),zF0=Xf(),$f=Wf(),UF0=[FF0.default,qF0.default,(0,KF0.default)(),zF0.default,$f.metadataVocabulary,$f.contentVocabulary];Gf.default=UF0});var Kf=T((Ff)=>{Object.defineProperty(Ff,"__esModule",{value:!0});Ff.DiscrError=void 0;var Hf;(function(D){D.Tag="tag",D.Mapping="mapping"})(Hf||(Ff.DiscrError=Hf={}))});var Vf=T((Uf)=>{Object.defineProperty(Uf,"__esModule",{value:!0});var I7=C0(),UU=Kf(),zf=F$(),wF0=eY(),MF0=p0(),LF0={message:({params:{discrError:D,tagName:Y}})=>D===UU.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:D,tag:Y,tagName:X}})=>I7._`{error: ${D}, tag: ${X}, tagValue: ${Y}}`},OF0={keyword:"discriminator",type:"object",schemaType:"object",error:LF0,code(D){let{gen:Y,data:X,schema:Q,parentSchema:J,it:W}=D,{oneOf:$}=J;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=Q.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(Q.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),H=Y.const("tag",I7._`${X}${(0,I7.getProperty)(G)}`);Y.if(I7._`typeof ${H} == "string"`,()=>F(),()=>D.error(!1,{discrError:UU.DiscrError.Tag,tag:H,tagName:G})),D.ok(B);function F(){let z=U();Y.if(!1);for(let V in z)Y.elseIf(I7._`${H} === ${V}`),Y.assign(B,K(z[V]));Y.else(),D.error(!1,{discrError:UU.DiscrError.Mapping,tag:H,tagName:G}),Y.endIf()}function K(z){let V=Y.name("valid"),w=D.subschema({keyword:"oneOf",schemaProp:z},V);return D.mergeEvaluated(w,I7.Name),V}function U(){var z;let V={},w=O(J),M=!0;for(let E=0;E<$.length;E++){let j=$[E];if((j===null||j===void 0?void 0:j.$ref)&&!(0,MF0.schemaHasRulesButRef)(j,W.self.RULES)){let x=j.$ref;if(j=zf.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,x),j instanceof zf.SchemaEnv)j=j.schema;if(j===void 0)throw new wF0.default(W.opts.uriResolver,W.baseId,x)}let I=(z=j===null||j===void 0?void 0:j.properties)===null||z===void 0?void 0:z[G];if(typeof I!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);M=M&&(w||O(j)),Z(I,E)}if(!M)throw Error(`discriminator: "${G}" must be required`);return V;function O({required:E}){return Array.isArray(E)&&E.includes(G)}function Z(E,j){if(E.const)L(E.const,j);else if(E.enum)for(let I of E.enum)L(I,j);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function L(E,j){if(typeof E!="string"||E in V)throw Error(`discriminator: "${G}" values must be unique strings`);V[E]=j}}}};Uf.default=OF0});var wf=T((zC0,ZF0)=>{ZF0.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var wU=T((r8,VU)=>{Object.defineProperty(r8,"__esModule",{value:!0});r8.MissingRefError=r8.ValidationError=r8.CodeGen=r8.Name=r8.nil=r8.stringify=r8.str=r8._=r8.KeywordCxt=r8.Ajv=void 0;var AF0=Nv(),EF0=Bf(),RF0=Vf(),Mf=wf(),jF0=["/properties"],C$="http://json-schema.org/draft-07/schema";class qX extends AF0.default{_addVocabularies(){if(super._addVocabularies(),EF0.default.forEach((D)=>this.addVocabulary(D)),this.opts.discriminator)this.addKeyword(RF0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let D=this.opts.$data?this.$dataMetaSchema(Mf,jF0):Mf;this.addMetaSchema(D,C$,!1),this.refs["http://json-schema.org/schema"]=C$}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(C$)?C$:void 0)}}r8.Ajv=qX;VU.exports=r8=qX;VU.exports.Ajv=qX;Object.defineProperty(r8,"__esModule",{value:!0});r8.default=qX;var TF0=tY();Object.defineProperty(r8,"KeywordCxt",{enumerable:!0,get:function(){return TF0.KeywordCxt}});var C7=C0();Object.defineProperty(r8,"_",{enumerable:!0,get:function(){return C7._}});Object.defineProperty(r8,"str",{enumerable:!0,get:function(){return C7.str}});Object.defineProperty(r8,"stringify",{enumerable:!0,get:function(){return C7.stringify}});Object.defineProperty(r8,"nil",{enumerable:!0,get:function(){return C7.nil}});Object.defineProperty(r8,"Name",{enumerable:!0,get:function(){return C7.Name}});Object.defineProperty(r8,"CodeGen",{enumerable:!0,get:function(){return C7.CodeGen}});var SF0=B$();Object.defineProperty(r8,"ValidationError",{enumerable:!0,get:function(){return SF0.default}});var PF0=eY();Object.defineProperty(r8,"MissingRefError",{enumerable:!0,get:function(){return PF0.default}})});var Sf=T((jf)=>{Object.defineProperty(jf,"__esModule",{value:!0});jf.formatNames=jf.fastFormats=jf.fullFormats=void 0;function $9(D,Y){return{validate:D,compare:Y}}jf.fullFormats={date:$9(Zf,NU),time:$9(LU(!0),ZU),"date-time":$9(Lf(!0),Ef),"iso-time":$9(LU(),Af),"iso-date-time":$9(Lf(),Rf),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:yF0,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:lF0,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:fF0,int32:{type:"number",validate:uF0},int64:{type:"number",validate:mF0},float:{type:"number",validate:Nf},double:{type:"number",validate:Nf},password:!0,binary:!0};jf.fastFormats={...jf.fullFormats,date:$9(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,NU),time:$9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ZU),"date-time":$9(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ef),"iso-time":$9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Af),"iso-date-time":$9(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Rf),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};jf.formatNames=Object.keys(jf.fullFormats);function xF0(D){return D%4===0&&(D%100!==0||D%400===0)}var _F0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,kF0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Zf(D){let Y=_F0.exec(D);if(!Y)return!1;let X=+Y[1],Q=+Y[2],J=+Y[3];return Q>=1&&Q<=12&&J>=1&&J<=(Q===2&&xF0(X)?29:kF0[Q])}function NU(D,Y){if(!(D&&Y))return;if(D>Y)return 1;if(D<Y)return-1;return 0}var MU=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function LU(D){return function(X){let Q=MU.exec(X);if(!Q)return!1;let J=+Q[1],W=+Q[2],$=+Q[3],G=Q[4],B=Q[5]==="-"?-1:1,H=+(Q[6]||0),F=+(Q[7]||0);if(H>23||F>59||D&&!G)return!1;if(J<=23&&W<=59&&$<60)return!0;let K=W-F*B,U=J-H*B-(K<0?1:0);return(U===23||U===-1)&&(K===59||K===-1)&&$<61}}function ZU(D,Y){if(!(D&&Y))return;let X=new Date("2020-01-01T"+D).valueOf(),Q=new Date("2020-01-01T"+Y).valueOf();if(!(X&&Q))return;return X-Q}function Af(D,Y){if(!(D&&Y))return;let X=MU.exec(D),Q=MU.exec(Y);if(!(X&&Q))return;if(D=X[1]+X[2]+X[3],Y=Q[1]+Q[2]+Q[3],D>Y)return 1;if(D<Y)return-1;return 0}var OU=/t|\s/i;function Lf(D){let Y=LU(D);return function(Q){let J=Q.split(OU);return J.length===2&&Zf(J[0])&&Y(J[1])}}function Ef(D,Y){if(!(D&&Y))return;let X=new Date(D).valueOf(),Q=new Date(Y).valueOf();if(!(X&&Q))return;return X-Q}function Rf(D,Y){if(!(D&&Y))return;let[X,Q]=D.split(OU),[J,W]=Y.split(OU),$=NU(X,J);if($===void 0)return;return $||ZU(Q,W)}var bF0=/\/|:/,vF0=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function yF0(D){return bF0.test(D)&&vF0.test(D)}var Of=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function fF0(D){return Of.lastIndex=0,Of.test(D)}var hF0=-2147483648,gF0=2147483647;function uF0(D){return Number.isInteger(D)&&D<=gF0&&D>=hF0}function mF0(D){return Number.isInteger(D)}function Nf(){return!0}var cF0=/[^\\]\\Z/;function lF0(D){if(cF0.test(D))return!1;try{return new RegExp(D),!0}catch(Y){return!1}}});var If=T((Pf)=>{Object.defineProperty(Pf,"__esModule",{value:!0});Pf.formatLimitDefinition=void 0;var pF0=wU(),m6=C0(),RD=m6.operators,x$={formatMaximum:{okStr:"<=",ok:RD.LTE,fail:RD.GT},formatMinimum:{okStr:">=",ok:RD.GTE,fail:RD.LT},formatExclusiveMaximum:{okStr:"<",ok:RD.LT,fail:RD.GTE},formatExclusiveMinimum:{okStr:">",ok:RD.GT,fail:RD.LTE}},nF0={message:({keyword:D,schemaCode:Y})=>m6.str`should be ${x$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>m6._`{comparison: ${x$[D].okStr}, limit: ${Y}}`};Pf.formatLimitDefinition={keyword:Object.keys(x$),type:"string",schemaType:"string",$data:!0,error:nF0,code(D){let{gen:Y,data:X,schemaCode:Q,keyword:J,it:W}=D,{opts:$,self:G}=W;if(!$.validateFormats)return;let B=new pF0.KeywordCxt(W,G.RULES.all.format.definition,"format");if(B.$data)H();else F();function H(){let U=Y.scopeValue("formats",{ref:G.formats,code:$.code.formats}),z=Y.const("fmt",m6._`${U}[${B.schemaCode}]`);D.fail$data((0,m6.or)(m6._`typeof ${z} != "object"`,m6._`${z} instanceof RegExp`,m6._`typeof ${z}.compare != "function"`,K(z)))}function F(){let U=B.schema,z=G.formats[U];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${J}": format "${U}" does not define "compare" function`);let V=Y.scopeValue("formats",{key:U,ref:z,code:$.code.formats?m6._`${$.code.formats}${(0,m6.getProperty)(U)}`:void 0});D.fail$data(K(V))}function K(U){return m6._`${U}.compare(${X}, ${Q}) ${x$[J].fail} 0`}},dependencies:["format"]};var iF0=(D)=>{return D.addKeyword(Pf.formatLimitDefinition),D};Pf.default=iF0});var kf=T((KX,_f)=>{Object.defineProperty(KX,"__esModule",{value:!0});var x7=Sf(),aF0=If(),RU=C0(),Cf=new RU.Name("fullFormats"),oF0=new RU.Name("fastFormats"),jU=(D,Y={keywords:!0})=>{if(Array.isArray(Y))return xf(D,Y,x7.fullFormats,Cf),D;let[X,Q]=Y.mode==="fast"?[x7.fastFormats,oF0]:[x7.fullFormats,Cf],J=Y.formats||x7.formatNames;if(xf(D,J,X,Q),Y.keywords)(0,aF0.default)(D);return D};jU.get=(D,Y="full")=>{let Q=(Y==="fast"?x7.fastFormats:x7.fullFormats)[D];if(!Q)throw Error(`Unknown format "${D}"`);return Q};function xf(D,Y,X,Q){var J,W;(J=(W=D.opts.code).formats)!==null&&J!==void 0||(W.formats=RU._`require("ajv-formats/dist/formats").${Q}`);for(let $ of Y)D.addFormat($,X[$])}_f.exports=KX=jU;Object.defineProperty(KX,"__esModule",{value:!0});KX.default=jU});import{exit as lU}from"node:process";var FV=y1(HV(),1),{program:c1,createCommand:Oq0,createArgument:Nq0,createOption:Zq0,CommanderError:Aq0,InvalidArgumentError:Eq0,InvalidOptionArgumentError:Rq0,Command:jq0,Argument:Tq0,Option:Sq0,Help:Pq0}=FV.default;var f8={name:"@capgo/cli",version:"7.67.0",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};import{existsSync as $S,readFileSync as GS}from"node:fs";var K8=y1(r$(),1),v7=y1(o$(),1);import{stdin as EV,stdout as RV}from"node:process";import*as k9 from"node:readline";import UV from"node:readline";import{Writable as oh}from"node:stream";function sh({onlyFirst:D=!1}={}){let Y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(Y,D?void 0:"g")}var th=sh();function jV(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(th,"")}function TV(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var SV={exports:{}};(function(D){var Y={};D.exports=Y,Y.eastAsianWidth=function(Q){var J=Q.charCodeAt(0),W=Q.length==2?Q.charCodeAt(1):0,$=J;return 55296<=J&&J<=56319&&56320<=W&&W<=57343&&(J&=1023,W&=1023,$=J<<10|W,$+=65536),$==12288||65281<=$&&$<=65376||65504<=$&&$<=65510?"F":$==8361||65377<=$&&$<=65470||65474<=$&&$<=65479||65482<=$&&$<=65487||65490<=$&&$<=65495||65498<=$&&$<=65500||65512<=$&&$<=65518?"H":4352<=$&&$<=4447||4515<=$&&$<=4519||4602<=$&&$<=4607||9001<=$&&$<=9002||11904<=$&&$<=11929||11931<=$&&$<=12019||12032<=$&&$<=12245||12272<=$&&$<=12283||12289<=$&&$<=12350||12353<=$&&$<=12438||12441<=$&&$<=12543||12549<=$&&$<=12589||12593<=$&&$<=12686||12688<=$&&$<=12730||12736<=$&&$<=12771||12784<=$&&$<=12830||12832<=$&&$<=12871||12880<=$&&$<=13054||13056<=$&&$<=19903||19968<=$&&$<=42124||42128<=$&&$<=42182||43360<=$&&$<=43388||44032<=$&&$<=55203||55216<=$&&$<=55238||55243<=$&&$<=55291||63744<=$&&$<=64255||65040<=$&&$<=65049||65072<=$&&$<=65106||65108<=$&&$<=65126||65128<=$&&$<=65131||110592<=$&&$<=110593||127488<=$&&$<=127490||127504<=$&&$<=127546||127552<=$&&$<=127560||127568<=$&&$<=127569||131072<=$&&$<=194367||177984<=$&&$<=196605||196608<=$&&$<=262141?"W":32<=$&&$<=126||162<=$&&$<=163||165<=$&&$<=166||$==172||$==175||10214<=$&&$<=10221||10629<=$&&$<=10630?"Na":$==161||$==164||167<=$&&$<=168||$==170||173<=$&&$<=174||176<=$&&$<=180||182<=$&&$<=186||188<=$&&$<=191||$==198||$==208||215<=$&&$<=216||222<=$&&$<=225||$==230||232<=$&&$<=234||236<=$&&$<=237||$==240||242<=$&&$<=243||247<=$&&$<=250||$==252||$==254||$==257||$==273||$==275||$==283||294<=$&&$<=295||$==299||305<=$&&$<=307||$==312||319<=$&&$<=322||$==324||328<=$&&$<=331||$==333||338<=$&&$<=339||358<=$&&$<=359||$==363||$==462||$==464||$==466||$==468||$==470||$==472||$==474||$==476||$==593||$==609||$==708||$==711||713<=$&&$<=715||$==717||$==720||728<=$&&$<=731||$==733||$==735||768<=$&&$<=879||913<=$&&$<=929||931<=$&&$<=937||945<=$&&$<=961||963<=$&&$<=969||$==1025||1040<=$&&$<=1103||$==1105||$==8208||8211<=$&&$<=8214||8216<=$&&$<=8217||8220<=$&&$<=8221||8224<=$&&$<=8226||8228<=$&&$<=8231||$==8240||8242<=$&&$<=8243||$==8245||$==8251||$==8254||$==8308||$==8319||8321<=$&&$<=8324||$==8364||$==8451||$==8453||$==8457||$==8467||$==8470||8481<=$&&$<=8482||$==8486||$==8491||8531<=$&&$<=8532||8539<=$&&$<=8542||8544<=$&&$<=8555||8560<=$&&$<=8569||$==8585||8592<=$&&$<=8601||8632<=$&&$<=8633||$==8658||$==8660||$==8679||$==8704||8706<=$&&$<=8707||8711<=$&&$<=8712||$==8715||$==8719||$==8721||$==8725||$==8730||8733<=$&&$<=8736||$==8739||$==8741||8743<=$&&$<=8748||$==8750||8756<=$&&$<=8759||8764<=$&&$<=8765||$==8776||$==8780||$==8786||8800<=$&&$<=8801||8804<=$&&$<=8807||8810<=$&&$<=8811||8814<=$&&$<=8815||8834<=$&&$<=8835||8838<=$&&$<=8839||$==8853||$==8857||$==8869||$==8895||$==8978||9312<=$&&$<=9449||9451<=$&&$<=9547||9552<=$&&$<=9587||9600<=$&&$<=9615||9618<=$&&$<=9621||9632<=$&&$<=9633||9635<=$&&$<=9641||9650<=$&&$<=9651||9654<=$&&$<=9655||9660<=$&&$<=9661||9664<=$&&$<=9665||9670<=$&&$<=9672||$==9675||9678<=$&&$<=9681||9698<=$&&$<=9701||$==9711||9733<=$&&$<=9734||$==9737||9742<=$&&$<=9743||9748<=$&&$<=9749||$==9756||$==9758||$==9792||$==9794||9824<=$&&$<=9825||9827<=$&&$<=9829||9831<=$&&$<=9834||9836<=$&&$<=9837||$==9839||9886<=$&&$<=9887||9918<=$&&$<=9919||9924<=$&&$<=9933||9935<=$&&$<=9953||$==9955||9960<=$&&$<=9983||$==10045||$==10071||10102<=$&&$<=10111||11093<=$&&$<=11097||12872<=$&&$<=12879||57344<=$&&$<=63743||65024<=$&&$<=65039||$==65533||127232<=$&&$<=127242||127248<=$&&$<=127277||127280<=$&&$<=127337||127344<=$&&$<=127386||917760<=$&&$<=917999||983040<=$&&$<=1048573||1048576<=$&&$<=1114109?"A":"N"},Y.characterLength=function(Q){var J=this.eastAsianWidth(Q);return J=="F"||J=="W"||J=="A"?2:1};function X(Q){return Q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}Y.length=function(Q){for(var J=X(Q),W=0,$=0;$<J.length;$++)W=W+this.characterLength(J[$]);return W},Y.slice=function(Q,J,W){textLen=Y.length(Q),J=J||0,W=W||1,J<0&&(J=textLen+J),W<0&&(W=textLen+W);for(var $="",G=0,B=X(Q),H=0;H<B.length;H++){var F=B[H],K=Y.length(F);if(G>=J-(K==2?1:0))if(G+K<=W)$+=F;else break;G+=K}return $}})(SV);var eh=SV.exports,Dg=TV(eh),Yg=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Xg=TV(Yg);function y7(D,Y={}){if(typeof D!="string"||D.length===0||(Y={ambiguousIsNarrow:!0,...Y},D=jV(D),D.length===0))return 0;D=D.replace(Xg()," ");let X=Y.ambiguousIsNarrow?1:2,Q=0;for(let J of D){let W=J.codePointAt(0);if(W<=31||W>=127&&W<=159||W>=768&&W<=879)continue;switch(Dg.eastAsianWidth(J)){case"F":case"W":Q+=2;break;case"A":Q+=X;break;default:Q+=1}}return Q}var s$=10,VV=(D=0)=>(Y)=>`\x1B[${Y+D}m`,wV=(D=0)=>(Y)=>`\x1B[${38+D};5;${Y}m`,MV=(D=0)=>(Y,X,Q)=>`\x1B[${38+D};2;${Y};${X};${Q}m`,V1={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(V1.modifier);var Qg=Object.keys(V1.color),Jg=Object.keys(V1.bgColor);[...Qg,...Jg];function Wg(){let D=new Map;for(let[Y,X]of Object.entries(V1)){for(let[Q,J]of Object.entries(X))V1[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},X[Q]=V1[Q],D.set(J[0],J[1]);Object.defineProperty(V1,Y,{value:X,enumerable:!1})}return Object.defineProperty(V1,"codes",{value:D,enumerable:!1}),V1.color.close="\x1B[39m",V1.bgColor.close="\x1B[49m",V1.color.ansi=VV(),V1.color.ansi256=wV(),V1.color.ansi16m=MV(),V1.bgColor.ansi=VV(s$),V1.bgColor.ansi256=wV(s$),V1.bgColor.ansi16m=MV(s$),Object.defineProperties(V1,{rgbToAnsi256:{value:(Y,X,Q)=>Y===X&&X===Q?Y<8?16:Y>248?231:Math.round((Y-8)/247*24)+232:16+36*Math.round(Y/255*5)+6*Math.round(X/255*5)+Math.round(Q/255*5),enumerable:!1},hexToRgb:{value:(Y)=>{let X=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Y.toString(16));if(!X)return[0,0,0];let[Q]=X;Q.length===3&&(Q=[...Q].map((W)=>W+W).join(""));let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>V1.rgbToAnsi256(...V1.hexToRgb(Y)),enumerable:!1},ansi256ToAnsi:{value:(Y)=>{if(Y<8)return 30+Y;if(Y<16)return 90+(Y-8);let X,Q,J;if(Y>=232)X=((Y-232)*10+8)/255,Q=X,J=X;else{Y-=16;let G=Y%36;X=Math.floor(Y/36)/5,Q=Math.floor(G/6)/5,J=G%6/5}let W=Math.max(X,Q,J)*2;if(W===0)return 30;let $=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(X));return W===2&&($+=60),$},enumerable:!1},rgbToAnsi:{value:(Y,X,Q)=>V1.ansi256ToAnsi(V1.rgbToAnsi256(Y,X,Q)),enumerable:!1},hexToAnsi:{value:(Y)=>V1.ansi256ToAnsi(V1.hexToAnsi256(Y)),enumerable:!1}}),V1}var $g=Wg(),EX=new Set(["\x1B",""]),Gg=39,DG="\x07",PV="[",Bg="]",IV="m",YG=`${Bg}8;;`,LV=(D)=>`${EX.values().next().value}${PV}${D}${IV}`,OV=(D)=>`${EX.values().next().value}${YG}${D}${DG}`,Hg=(D)=>D.split(" ").map((Y)=>y7(Y)),t$=(D,Y,X)=>{let Q=[...Y],J=!1,W=!1,$=y7(jV(D[D.length-1]));for(let[G,B]of Q.entries()){let H=y7(B);if($+H<=X?D[D.length-1]+=B:(D.push(B),$=0),EX.has(B)&&(J=!0,W=Q.slice(G+1).join("").startsWith(YG)),J){W?B===DG&&(J=!1,W=!1):B===IV&&(J=!1);continue}$+=H,$===X&&G<Q.length-1&&(D.push(""),$=0)}!$&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},Fg=(D)=>{let Y=D.split(" "),X=Y.length;for(;X>0&&!(y7(Y[X-1])>0);)X--;return X===Y.length?D:Y.slice(0,X).join(" ")+Y.slice(X).join("")},qg=(D,Y,X={})=>{if(X.trim!==!1&&D.trim()==="")return"";let Q="",J,W,$=Hg(D),G=[""];for(let[H,F]of D.split(" ").entries()){X.trim!==!1&&(G[G.length-1]=G[G.length-1].trimStart());let K=y7(G[G.length-1]);if(H!==0&&(K>=Y&&(X.wordWrap===!1||X.trim===!1)&&(G.push(""),K=0),(K>0||X.trim===!1)&&(G[G.length-1]+=" ",K++)),X.hard&&$[H]>Y){let U=Y-K,z=1+Math.floor(($[H]-U-1)/Y);Math.floor(($[H]-1)/Y)<z&&G.push(""),t$(G,F,Y);continue}if(K+$[H]>Y&&K>0&&$[H]>0){if(X.wordWrap===!1&&K<Y){t$(G,F,Y);continue}G.push("")}if(K+$[H]>Y&&X.wordWrap===!1){t$(G,F,Y);continue}G[G.length-1]+=F}X.trim!==!1&&(G=G.map((H)=>Fg(H)));let B=[...G.join(`
|
|
138
138
|
`)];for(let[H,F]of B.entries()){if(Q+=F,EX.has(F)){let{groups:U}=new RegExp(`(?:\\${PV}(?<code>\\d+)m|\\${YG}(?<uri>.*)${DG})`).exec(B.slice(H).join(""))||{groups:{}};if(U.code!==void 0){let z=Number.parseFloat(U.code);J=z===Gg?void 0:z}else U.uri!==void 0&&(W=U.uri.length===0?void 0:U.uri)}let K=$g.codes.get(Number(J));B[H+1]===`
|
|
139
139
|
`?(W&&(Q+=OV("")),J&&K&&(Q+=LV(K))):F===`
|
|
140
140
|
`&&(J&&K&&(Q+=LV(J)),W&&(Q+=OV(W)))}return Q};function NV(D,Y,X){return String(D).normalize().replace(/\r\n/g,`
|
|
@@ -237,7 +237,7 @@ For more information, visit: https://capgo.app/docs/webapp/2fa-enforcement/
|
|
|
237
237
|
)`).eq("name",X).eq("app_id",Y).single();if(J)throw q.error(`Error fetching native packages: ${J.message}`),Error(`Error fetching native packages: ${J.message}`);return h60(Q.version.native_packages??[])}async function JS(D,Y,X,Q){let J=d0();J.start(`Checking bundle checksum compatibility with channel ${X}`);let W=await f60(D,Y,X);if(!W){J.stop(`No checksum found for channel ${X}, the bundle will be uploaded`);return}if(W&&W===Q)throw J.stop("Checksum check failed"),q.error(`Cannot upload the same bundle content.
|
|
238
238
|
Current bundle checksum matches remote bundle for channel ${X}
|
|
239
239
|
Did you build your app before uploading?
|
|
240
|
-
PS: You can ignore this check with "--ignore-checksum-check"`),Error("Cannot upload the same bundle content");J.stop(`Checksum compatible with ${X} channel`)}function x0(D,Y){return D||Y?.plugins?.CapacitorUpdater?.appId||Y?.appId}function W5(D){let Y=[];if(!D.localVersion)return{compatible:!0,reasons:[],message:"Package only exists on remote (will be removed)"};if(!D.remoteVersion)return Y.push("new_plugin"),{compatible:!1,reasons:Y,message:"New native plugin added (requires app store update)"};let X=!1;try{let $=kX(D.localVersion),G=kX(D.remoteVersion);X=rV($,G)}catch{X=!1}if(!X)Y.push("version_mismatch");let Q=D.localIosChecksum&&D.remoteIosChecksum&&D.localIosChecksum!==D.remoteIosChecksum,J=D.localAndroidChecksum&&D.remoteAndroidChecksum&&D.localAndroidChecksum!==D.remoteAndroidChecksum;if(Q&&J)Y.push("both_platforms_changed");else if(Q)Y.push("ios_code_changed");else if(J)Y.push("android_code_changed");if(Y.length===0)return{compatible:!0,reasons:[],message:"Compatible"};let W=[];for(let $ of Y)switch($){case"version_mismatch":W.push(`version changed: ${D.remoteVersion} → ${D.localVersion}`);break;case"ios_code_changed":W.push("iOS native code changed");break;case"android_code_changed":W.push("Android native code changed");break;case"both_platforms_changed":W.push("iOS and Android native code changed");break;case"new_plugin":W.push("new plugin (requires app store update)");break;case"removed_plugin":W.push("plugin removed");break}return{compatible:!1,reasons:Y,message:W.join(", ")}}function DD(D){return W5(D).compatible}async function NJ(D,Y,X,Q,J){let W=await E2(Q,J),$=await QS(D,Y,X),G=W.filter((H)=>!!H.native).map((H)=>{let F=$.get(H.name);if(F)return{name:H.name,localVersion:H.version,remoteVersion:F.version,localIosChecksum:H.ios_checksum,remoteIosChecksum:F.ios_checksum,localAndroidChecksum:H.android_checksum,remoteAndroidChecksum:F.android_checksum};return{name:H.name,localVersion:H.version,remoteVersion:void 0,localIosChecksum:H.ios_checksum,localAndroidChecksum:H.android_checksum}}),B=[...$].filter(([H])=>W.find((F)=>F.name===H)===void 0).map(([H,F])=>({name:H,localVersion:void 0,remoteVersion:F.version,remoteIosChecksum:F.ios_checksum,remoteAndroidChecksum:F.android_checksum}));return G.push(...B),{finalCompatibility:G,localDependencies:W}}async function R2(D,Y,X,Q){let J=await QS(D,Y,X),W=Q.map((G)=>{let B=J.get(G.name);if(B)return{name:G.name,localVersion:G.version,remoteVersion:B.version,localIosChecksum:G.ios_checksum,remoteIosChecksum:B.ios_checksum,localAndroidChecksum:G.android_checksum,remoteAndroidChecksum:B.android_checksum};return{name:G.name,localVersion:G.version,remoteVersion:void 0,localIosChecksum:G.ios_checksum,localAndroidChecksum:G.android_checksum}}),$=[...J].filter(([G])=>Q.find((B)=>B.name===G)===void 0).map(([G,B])=>({name:G,localVersion:void 0,remoteVersion:B.version,remoteIosChecksum:B.ios_checksum,remoteAndroidChecksum:B.android_checksum}));return W.push(...$),{finalCompatibility:W,localDependencies:Q}}async function ZJ(D,Y,X){let Q=await j0({message:"Would you like to sync your project with Capacitor now? This is recommended to ensure encrypted updates work properly."});if(R0(Q)){if(D&&Y&&X)await z8("onboarding-v2",Y,X,"canceled","\uD83E\uDD37");throw q.error("Canceled Capacitor sync"),Error("Capacitor sync cancelled")}if(Q){let J=Q8(),W=d0();W.start("Running the command...");try{await new Promise(($,G)=>{let B=Z60(J.runner,["cap","sync"],{stdio:"pipe"});B.on("close",(H)=>{if(H===0)$();else G(Error(`Command failed with exit code ${H}`))}),B.on("error",(H)=>{G(H)})}),W.stop("Capacitor sync completed ✅")}catch($){W.stop("Error"),q.error(`Failed to run Capacitor sync: ${$}`),q.warn(`Please run "${J.runner} cap sync" manually to ensure encrypted updates work properly`)}}else{let J=Q8();q.warn("⚠️ Important: If you upload encrypted bundles without syncing, updates will fail!"),q.info(`Remember to run "${J.runner} cap sync" before uploading encrypted bundles`)}}async function WS(D,Y){let{data:X}=await D.rpc("exist_app_v2",{appid:Y}).single();return!!X}async function h1(D,Y,X=!1){let{data:Q,error:J}=await D.rpc("reject_access_due_to_2fa_for_app",{app_id:Y});if(J){if(!X)q.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Q){if(X)throw Error("2FA required for this organization");A2()}}async function M1(D,Y,X,Q,J=!1,W=!1){let $=Q8();if(!W)await h1(D,X,J);let G=await cT(D,Y,X);if(!G.okay)switch(G.error){case"INVALID_APIKEY":{if(!J)q.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let F=`App ${X} does not exist, run first \`${$.runner} @capgo/cli app add ${X}\` to create it`;if(!J)q.error(F);throw Error(F)}case"NO_ORG":{if(!J)q.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let B=G.data;if(Q>B){let F=`Insuficcent permissions for app ${X}. Current permission: ${w8[G.data]}, required for this action: ${w8[Q]}.`;if(!J)q.error(F);throw Error(F)}return G.data}var z6="assets/icon.png";var g60=/^[a-z0-9]+(\.[\w-]+)+$/i;function u60(D,Y,X){if(!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!X)q.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!g60.test(D)){if(!X)q.error(`Invalid app ID format: "${D}"`),q.info("App ID must be in reverse domain notation (e.g., com.example.app)"),q.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),q.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function m60(D,Y,X){if(!await WS(D,Y))return;if(Y==="io.ionic.starter"){if(!X)q.error(`This appId ${Y} cannot be used it's reserved, please change it in your capacitor config.`);throw Error("Reserved appId, please change it in capacitor config")}if(!X)q.error(`App ${Y} already exist`);throw Error(`App ${Y} already exists`)}async function p3(D,Y,X,Q=!1){if(!Q)F0("Adding");await f0(),Y.apikey=Y.apikey||X0();let J=await U0(),W=x0(D,J?.config);u60(W,Y,Q);let $=await w0(Y.apikey,Y.supaHost,Y.supaAnon),G=await Z0($,Y.apikey,["write","all"]);if(await m60($,W,Q),!X)X=await h4($,["admin","super_admin"]);let B=X.gid,{name:H,icon:F}=Y;if(H=H||J.config?.appName||"Unknown",F=F||"resources/icon.png",!F||!H){if(!Q)q.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project");throw Error("Missing app name or icon path")}if(!Q)q.info(`Adding ${W} to Capgo`);let K=null,U=null;if(F&&$S(F)){if(K=GS(F),U=t9(F)||"image/png",!Q)q.warn(`Found app icon ${F}`)}else if($S(z6)){if(K=GS(z6),U=t9(z6)||"image/png",!Q)q.warn(`Found app icon ${z6}`)}else if(!Q)q.warn(`Cannot find app icon in any of the following locations: ${F}, ${z6}`);let z="icon",V="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(K&&U){let{error:M}=await $.storage.from(`images/org/${B}/${W}`).upload(z,K,{contentType:U});if(M){if(!Q)console.error(M);if(!Q)q.error(`Could not add app ${c(M)}`);throw Error(`Could not add app ${c(M)}`)}let{data:O}=await $.storage.from(`images/org/${B}/${W}`).getPublicUrl(z);V=O?.publicUrl||V}let{error:w}=await $.from("apps").insert({icon_url:V,owner_org:B,user_id:G,name:H,app_id:W});if(w){if(!Q)q.error(`Could not add app ${c(w)}`);throw Error(`Could not add app ${c(w)}`)}if(!Q)q.success(`App ${W} added to Capgo. You can upload a bundle now`),e("Done ✅");return{appId:W,organizationUid:B,userId:G,name:H,signedURL:V}}async function BS(D,Y){await p3(D,Y,void 0)}async function j2(D,Y,X=!1,Q=!1){if(!X)F0("Deleting");Y.apikey=Y.apikey||X0();let J=await U0(),W=x0(D,J?.config);if(!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!W){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let $=await w0(Y.apikey,Y.supaHost,Y.supaAnon),G=await Z0($,Y.apikey,["write","all"]);await M1($,Y.apikey,W,5,X);let{data:B,error:H}=await $.from("apps").select("owner_org ( created_by, id )").eq("app_id",W).single(),F=B;if(!Q&&!H&&(F?.owner_org.created_by??"")!==G)if(!X){q.warn("Deleting the app is not recommended for users that are not the organization owner"),q.warn("You are invited as a super_admin but your are not the owner"),q.warn("It's strongly recommended that you do not continue!");let w=await t1({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(R0(w)||w==="no")throw q.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(H&&!X)q.warn(`Cannot get the app owner ${c(H)}`);let{error:K}=await $.storage.from("images").remove([`org/${F?.owner_org.id}/${W}/icon`]);if(K&&!X)q.error("Could not delete app logo");let{error:U}=await $.storage.from(`apps/${W}/${G}`).remove(["versions"]);if(U&&!X)q.error("Could not delete app version");let{error:z}=await $.from("apps").delete().eq("app_id",W);if(z){if(!X)q.error("Could not delete app");throw Error(`Could not delete app: ${c(z)}`)}let V=await U8($,W);if(await I0(Y.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:V,tags:{"app-id":W},notify:!1}).catch(()=>{}),!X)q.success("App deleted in Capgo"),e("Done ✅");return!0}async function HS(D,Y){return j2(D,Y,!1,!1)}import{platform as c60,version as l60}from"node:os";import{version as d60}from"node:process";async function FS(D){let Y={},X=Object.keys(D);return(await Promise.all(X.map((J)=>vQ(J)))).forEach((J,W)=>{if(J)Y[X[W]]=J}),Y}async function p60(){let D=await K6(),Y={"@capgo/cli":f8.version};for(let[X,Q]of D)if(X.startsWith("@capgo/")||X.startsWith("@capawesome/")||X.startsWith("capacitor"))Y[X]=Q;return Y}async function T2(D,Y=!1){if(!Y)q.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let X=await U0(),Q=P6("",D.packageJson),J=X?.config?.plugins?.CapacitorUpdater?.version||Q,W=X?.config?.appName||"",$=x0("",X?.config),G=X?.config?.webDir||"";if(!Y)q.info(` App Name: ${W}`),q.info(` App ID: ${$}`),q.info(` App Version: ${J}`),q.info(` Web Dir: ${G}`),q.info(` OS: ${c60()} ${l60()}`),q.info(` Node: ${d60}`),q.info(" Installed Dependencies:");let B=await p60();if(Object.keys(B).length===0){if(!Y)q.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!Y)for(let F of Object.keys(B))q.info(` ${F}: ${B[F]}`);let H={};if(!Y){let F=d0();F.start("Running: Loading latest dependencies"),H=await FS(B),F.stop("Latest Dependencies:");for(let K of Object.keys(H))q.info(` ${K}: ${H[K]}`)}else H=await FS(B);if(JSON.stringify(B)!==JSON.stringify(H)){if(!Y)q.warn("\x1B[31m\uD83D\uDEA8 Some dependencies are not up to date\x1B[0m");throw Error("Some dependencies are not up to date")}if(!Y)q.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:W,appId:$,appVersion:J,webDir:G,installedDependencies:B,latestDependencies:H}}async function qS(D){return T2(D)}function n60(D){let Y=new G1;Y.headers=["Name","id","Created"],Y.rows=[];for(let X of D.toReversed())Y.rows.push([X.name??"",X.app_id,g4(X.created_at)]);q.success("Apps"),q.success(Y.toString())}async function i60(D,Y){let{data:X,error:Q}=await D.from("apps").select().order("created_at",{ascending:!1});if(Q){if(!Y)q.error("Apps not found");throw Error("Apps not found")}return X??[]}async function S2(D,Y=!1){if(!Y)F0("List apps in Capgo");await f0(),D.apikey=D.apikey||X0();let X=await w0(D.apikey,D.supaHost,D.supaAnon);if(await Z0(X,D.apikey,["write","all","read","upload"]),!Y)q.info("Getting active bundle in Capgo");let Q=await i60(X,Y);if(!Q.length){if(!Y)q.error("No apps found");throw Error("No apps found")}if(!Y)q.info(`Active app in Capgo: ${Q.length}`),n60(Q),e("Done ✅");return Q}async function KS(D){return S2(D,!1)}import{randomUUID as r60}from"node:crypto";import{existsSync as zS,readFileSync as US}from"node:fs";async function P2(D,Y,X=!1){if(!X)F0("Set app");Y.apikey=Y.apikey||X0();let Q=await U0();if(D=x0(D,Q?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await w0(Y.apikey,Y.supaHost,Y.supaAnon),$=(await h4(J,["admin","super_admin"])).gid,G=await Z0(J,Y.apikey,["write","all"]);await M1(J,Y.apikey,D,4,X);let{name:B,icon:H,retention:F,exposeMetadata:K}=Y;if(F&&Number.isNaN(Number(F))){if(!X)q.error("retention value must be a number");throw Error("Retention value must be a number")}else if(F&&F<0){if(!X)q.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if(F&&F>=63113904){if(!X)q.error("retention value cannot be greater than 63113904 seconds (2 years)");throw Error("Retention value cannot be greater than 63113904 seconds (2 years)")}let U,z,V=`icon_${r60()}`,w="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(H&&zS(H)){if(U=US(H),z=t9(H)||"image/png",!X)q.warn(`Found app icon ${H}`)}else if(zS(z6)){if(U=US(z6),z=t9(z6)||"image/png",!X)q.warn(`Found app icon ${z6}`)}else if(!X)q.warn(`Cannot find app icon in any of the following locations: ${H}, ${z6}`);if(U&&z){let{error:O}=await J.storage.from(`images/org/${$}/${D}`).upload(V,U,{contentType:z});if(O){if(!X)q.error(`Could not set app ${c(O)}`);throw Error(`Could not set app: ${c(O)}`)}let{data:Z}=await J.storage.from(`images/org/${$}/${D}`).getPublicUrl(V);w=Z?.publicUrl||w}let{error:M}=await J.from("apps").update({icon_url:w,name:B,retention:!F?void 0:F*24*60*60,expose_metadata:K}).eq("app_id",D).eq("user_id",G);if(M){if(!X)q.error(`Could not set app ${c(M)}`);throw Error(`Could not set app: ${c(M)}`)}if(!X)e("Done ✅");return!0}async function VS(D,Y){return P2(D,Y)}async function I2(D,Y,X=!1){if(!X)F0("Set a specific setting in capacitor config");if(Y.bool&&Y.string){if(!X)q.error("Bool and string CANNOT be set at the same time");throw Error("Bool and string cannot both be provided")}if(!Y.bool&&!Y.string){if(!X)q.error("You MUST provide either bool or string as the value");throw Error("Either bool or string value is required")}if(Y.bool&&Y.bool!=="true"&&Y.bool!=="false"){if(!X)q.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Q=await U0(),J=Q.config,W=D.split(".");if(W.length===0){if(!X)q.error("Invalid path");throw Error("Invalid config path")}for(let G of W.slice(0,-1)){if(!Object.prototype.hasOwnProperty.call(J,G))J[G]={};J=J[G]}let $=Y.bool?Y.bool==="true":Y.string;if(J[W.at(-1)]=$,await P4(Q,!0),!X)q.success(`Set "${D}" to "${$}"`)}catch(Q){if(!X)q.error(`Cannot set config in capacitor settings ${c(Q)}`);throw Error(`Cannot set capacitor config: ${c(Q)}`)}if(!X)e("Done ✅")}async function wS(D,Y){return I2(D,Y)}import{existsSync as U6}from"node:fs";import{resolve as V6}from"node:path";import{exit as S1}from"node:process";import{mkdir as a60,readFile as MS,writeFile as o60}from"node:fs/promises";import{homedir as s60}from"node:os";import{join as EJ}from"node:path";import{cwd as LS,env as X1}from"node:process";var OS=EJ(s60(),".capgo-credentials"),NS=EJ(OS,"credentials.json"),ZS=".capgo-credentials.json";function AS(D){return D?EJ(LS(),ZS):NS}function t60(D){return D?null:OS}async function u4(D){return(await MS(D)).toString("base64")}async function m4(D){try{let Y=AS(D),X=await MS(Y,"utf-8");return JSON.parse(X)}catch{return{}}}async function n3(D,Y){if(Y!==void 0){let J=await m4(Y);if(!D){let W=Object.keys(J);if(W.length===0)return null;return J[W[0]]||null}return J[D]||null}let X=await m4(!0),Q=await m4(!1);if(!D){let J=Object.keys(X);if(J.length>0)return X[J[0]]||null;let W=Object.keys(Q);if(W.length===0)return null;return Q[W[0]]||null}return X[D]||Q[D]||null}async function AJ(D,Y){let X=AS(Y),Q=t60(Y);if(Q)await a60(Q,{recursive:!0});await o60(X,JSON.stringify(D,null,2),"utf-8")}function e60(){let D={};if(X1.BUILD_CERTIFICATE_BASE64)D.BUILD_CERTIFICATE_BASE64=X1.BUILD_CERTIFICATE_BASE64;if(X1.BUILD_PROVISION_PROFILE_BASE64)D.BUILD_PROVISION_PROFILE_BASE64=X1.BUILD_PROVISION_PROFILE_BASE64;if(X1.BUILD_PROVISION_PROFILE_BASE64_PROD)D.BUILD_PROVISION_PROFILE_BASE64_PROD=X1.BUILD_PROVISION_PROFILE_BASE64_PROD;if(X1.P12_PASSWORD)D.P12_PASSWORD=X1.P12_PASSWORD;if(X1.APPLE_KEY_ID)D.APPLE_KEY_ID=X1.APPLE_KEY_ID;if(X1.APPLE_ISSUER_ID)D.APPLE_ISSUER_ID=X1.APPLE_ISSUER_ID;if(X1.APPLE_KEY_CONTENT)D.APPLE_KEY_CONTENT=X1.APPLE_KEY_CONTENT;if(X1.APPLE_PROFILE_NAME)D.APPLE_PROFILE_NAME=X1.APPLE_PROFILE_NAME;if(X1.APP_STORE_CONNECT_TEAM_ID)D.APP_STORE_CONNECT_TEAM_ID=X1.APP_STORE_CONNECT_TEAM_ID;if(X1.ANDROID_KEYSTORE_FILE)D.ANDROID_KEYSTORE_FILE=X1.ANDROID_KEYSTORE_FILE;if(X1.KEYSTORE_KEY_ALIAS)D.KEYSTORE_KEY_ALIAS=X1.KEYSTORE_KEY_ALIAS;if(X1.KEYSTORE_KEY_PASSWORD)D.KEYSTORE_KEY_PASSWORD=X1.KEYSTORE_KEY_PASSWORD;if(X1.KEYSTORE_STORE_PASSWORD)D.KEYSTORE_STORE_PASSWORD=X1.KEYSTORE_STORE_PASSWORD;if(X1.PLAY_CONFIG_JSON)D.PLAY_CONFIG_JSON=X1.PLAY_CONFIG_JSON;return D}async function ES(D,Y,X){let Q=await n3(D),J=e60(),W={...Q?.[Y]||{}};if(Object.assign(W,J),X)Object.assign(W,X);if(Y==="android"){let $=!!W.KEYSTORE_KEY_PASSWORD,G=!!W.KEYSTORE_STORE_PASSWORD;if($&&!G)W.KEYSTORE_STORE_PASSWORD=W.KEYSTORE_KEY_PASSWORD;else if(!$&&G)W.KEYSTORE_KEY_PASSWORD=W.KEYSTORE_STORE_PASSWORD}return Object.keys(W).length>0?W:void 0}async function C2(D,Y,X={}){let Q={...X};if(D==="ios"){if(Y.BUILD_CERTIFICATE_FILE)Q.BUILD_CERTIFICATE_BASE64=await u4(Y.BUILD_CERTIFICATE_FILE);if(Y.BUILD_PROVISION_PROFILE_FILE)Q.BUILD_PROVISION_PROFILE_BASE64=await u4(Y.BUILD_PROVISION_PROFILE_FILE);if(Y.BUILD_PROVISION_PROFILE_FILE_PROD)Q.BUILD_PROVISION_PROFILE_BASE64_PROD=await u4(Y.BUILD_PROVISION_PROFILE_FILE_PROD);if(Y.APPLE_KEY_FILE)Q.APPLE_KEY_CONTENT=await u4(Y.APPLE_KEY_FILE)}else if(D==="android"){if(Y.ANDROID_KEYSTORE_PATH)Q.ANDROID_KEYSTORE_FILE=await u4(Y.ANDROID_KEYSTORE_PATH);if(Y.PLAY_CONFIG_JSON_PATH)Q.PLAY_CONFIG_JSON=await u4(Y.PLAY_CONFIG_JSON_PATH)}return Q}async function x2(D,Y,X,Q){let J=await m4(Q),W=J[D]||{};W[Y]={...W[Y],...X},J[D]=W,await AJ(J,Q)}async function RJ(D,Y,X){let Q=await m4(X);if(!D){await AJ({},X);return}if(!Y){delete Q[D],await AJ(Q,X);return}let J=Q[D]||{};if(delete J[Y],Object.keys(J).length===0)delete Q[D];else Q[D]=J;await AJ(Q,X)}async function _2(D,Y,X){return(await n3(D,X))?.[Y]||null}async function jJ(D){let Y=await m4(D);return Object.keys(Y)}function i3(){return EJ(LS(),ZS)}function r3(){return NS}async function RS(D){try{if(!D.platform)q.error("Platform is required. Use --platform ios or --platform android"),S1(1);let Y=await U0(),X=x0(D.appId,Y?.config);if(!X)q.error("❌ App ID is required."),q.error(""),q.error("Either:"),q.error(" 1. Run this command from a Capacitor project directory, OR"),q.error(" 2. Provide --appId explicitly: --appId com.example.app"),q.error(""),S1(1);let Q=D.platform;q.info(`
|
|
240
|
+
PS: You can ignore this check with "--ignore-checksum-check"`),Error("Cannot upload the same bundle content");J.stop(`Checksum compatible with ${X} channel`)}function x0(D,Y){return D||Y?.plugins?.CapacitorUpdater?.appId||Y?.appId}function W5(D){let Y=[];if(!D.localVersion)return{compatible:!0,reasons:[],message:"Package only exists on remote (will be removed)"};if(!D.remoteVersion)return Y.push("new_plugin"),{compatible:!1,reasons:Y,message:"New native plugin added (requires app store update)"};let X=!1;try{let $=kX(D.localVersion),G=kX(D.remoteVersion);X=rV($,G)}catch{X=!1}if(!X)Y.push("version_mismatch");let Q=D.localIosChecksum&&D.remoteIosChecksum&&D.localIosChecksum!==D.remoteIosChecksum,J=D.localAndroidChecksum&&D.remoteAndroidChecksum&&D.localAndroidChecksum!==D.remoteAndroidChecksum;if(Q&&J)Y.push("both_platforms_changed");else if(Q)Y.push("ios_code_changed");else if(J)Y.push("android_code_changed");if(Y.length===0)return{compatible:!0,reasons:[],message:"Compatible"};let W=[];for(let $ of Y)switch($){case"version_mismatch":W.push(`version changed: ${D.remoteVersion} → ${D.localVersion}`);break;case"ios_code_changed":W.push("iOS native code changed");break;case"android_code_changed":W.push("Android native code changed");break;case"both_platforms_changed":W.push("iOS and Android native code changed");break;case"new_plugin":W.push("new plugin (requires app store update)");break;case"removed_plugin":W.push("plugin removed");break}return{compatible:!1,reasons:Y,message:W.join(", ")}}function DD(D){return W5(D).compatible}async function NJ(D,Y,X,Q,J){let W=await E2(Q,J),$=await QS(D,Y,X),G=W.filter((H)=>!!H.native).map((H)=>{let F=$.get(H.name);if(F)return{name:H.name,localVersion:H.version,remoteVersion:F.version,localIosChecksum:H.ios_checksum,remoteIosChecksum:F.ios_checksum,localAndroidChecksum:H.android_checksum,remoteAndroidChecksum:F.android_checksum};return{name:H.name,localVersion:H.version,remoteVersion:void 0,localIosChecksum:H.ios_checksum,localAndroidChecksum:H.android_checksum}}),B=[...$].filter(([H])=>W.find((F)=>F.name===H)===void 0).map(([H,F])=>({name:H,localVersion:void 0,remoteVersion:F.version,remoteIosChecksum:F.ios_checksum,remoteAndroidChecksum:F.android_checksum}));return G.push(...B),{finalCompatibility:G,localDependencies:W}}async function R2(D,Y,X,Q){let J=await QS(D,Y,X),W=Q.map((G)=>{let B=J.get(G.name);if(B)return{name:G.name,localVersion:G.version,remoteVersion:B.version,localIosChecksum:G.ios_checksum,remoteIosChecksum:B.ios_checksum,localAndroidChecksum:G.android_checksum,remoteAndroidChecksum:B.android_checksum};return{name:G.name,localVersion:G.version,remoteVersion:void 0,localIosChecksum:G.ios_checksum,localAndroidChecksum:G.android_checksum}}),$=[...J].filter(([G])=>Q.find((B)=>B.name===G)===void 0).map(([G,B])=>({name:G,localVersion:void 0,remoteVersion:B.version,remoteIosChecksum:B.ios_checksum,remoteAndroidChecksum:B.android_checksum}));return W.push(...$),{finalCompatibility:W,localDependencies:Q}}async function ZJ(D,Y,X){let Q=await j0({message:"Would you like to sync your project with Capacitor now? This is recommended to ensure encrypted updates work properly."});if(R0(Q)){if(D&&Y&&X)await z8("onboarding-v2",Y,X,"canceled","\uD83E\uDD37");throw q.error("Canceled Capacitor sync"),Error("Capacitor sync cancelled")}if(Q){let J=Q8(),W=d0();W.start("Running the command...");try{await new Promise(($,G)=>{let B=Z60(J.runner,["cap","sync"],{stdio:"pipe"});B.on("close",(H)=>{if(H===0)$();else G(Error(`Command failed with exit code ${H}`))}),B.on("error",(H)=>{G(H)})}),W.stop("Capacitor sync completed ✅")}catch($){W.stop("Error"),q.error(`Failed to run Capacitor sync: ${$}`),q.warn(`Please run "${J.runner} cap sync" manually to ensure encrypted updates work properly`)}}else{let J=Q8();q.warn("⚠️ Important: If you upload encrypted bundles without syncing, updates will fail!"),q.info(`Remember to run "${J.runner} cap sync" before uploading encrypted bundles`)}}async function WS(D,Y){let{data:X}=await D.rpc("exist_app_v2",{appid:Y}).single();return!!X}async function h1(D,Y,X=!1){let{data:Q,error:J}=await D.rpc("reject_access_due_to_2fa_for_app",{app_id:Y});if(J){if(!X)q.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Q){if(X)throw Error("2FA required for this organization");A2()}}async function M1(D,Y,X,Q,J=!1,W=!1){let $=Q8();if(!W)await h1(D,X,J);let G=await cT(D,Y,X);if(!G.okay)switch(G.error){case"INVALID_APIKEY":{if(!J)q.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let F=`App ${X} does not exist, run first \`${$.runner} @capgo/cli app add ${X}\` to create it`;if(!J)q.error(F);throw Error(F)}case"NO_ORG":{if(!J)q.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let B=G.data;if(Q>B){let F=`Insuficcent permissions for app ${X}. Current permission: ${w8[G.data]}, required for this action: ${w8[Q]}.`;if(!J)q.error(F);throw Error(F)}return G.data}var z6="assets/icon.png";var g60=/^[a-z0-9]+(\.[\w-]+)+$/i;function u60(D,Y,X){if(!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!X)q.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!g60.test(D)){if(!X)q.error(`Invalid app ID format: "${D}"`),q.info("App ID must be in reverse domain notation (e.g., com.example.app)"),q.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),q.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function m60(D,Y,X){if(!await WS(D,Y))return;if(Y==="io.ionic.starter"){if(!X)q.error(`This appId ${Y} cannot be used it's reserved, please change it in your capacitor config.`);throw Error("Reserved appId, please change it in capacitor config")}if(!X)q.error(`App ${Y} already exist`);throw Error(`App ${Y} already exists`)}async function p3(D,Y,X,Q=!1){if(!Q)F0("Adding");await f0(),Y.apikey=Y.apikey||X0();let J=await U0(),W=x0(D,J?.config);u60(W,Y,Q);let $=await w0(Y.apikey,Y.supaHost,Y.supaAnon),G=await Z0($,Y.apikey,["write","all"]);if(await m60($,W,Q),!X)X=await h4($,["admin","super_admin"]);let B=X.gid,{name:H,icon:F}=Y;if(H=H||J.config?.appName||"Unknown",F=F||"resources/icon.png",!F||!H){if(!Q)q.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project");throw Error("Missing app name or icon path")}if(!Q)q.info(`Adding ${W} to Capgo`);let K=null,U=null;if(F&&$S(F)){if(K=GS(F),U=t9(F)||"image/png",!Q)q.warn(`Found app icon ${F}`)}else if($S(z6)){if(K=GS(z6),U=t9(z6)||"image/png",!Q)q.warn(`Found app icon ${z6}`)}else if(!Q)q.warn(`Cannot find app icon in any of the following locations: ${F}, ${z6}`);let z="icon",V="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(K&&U){let{error:M}=await $.storage.from(`images/org/${B}/${W}`).upload(z,K,{contentType:U});if(M){if(!Q)console.error(M);if(!Q)q.error(`Could not add app ${c(M)}`);throw Error(`Could not add app ${c(M)}`)}let{data:O}=await $.storage.from(`images/org/${B}/${W}`).getPublicUrl(z);V=O?.publicUrl||V}let{error:w}=await $.from("apps").insert({icon_url:V,owner_org:B,user_id:G,name:H,app_id:W});if(w){if(!Q)q.error(`Could not add app ${c(w)}`);throw Error(`Could not add app ${c(w)}`)}if(!Q)q.success(`App ${W} added to Capgo`),q.info("This app is accessible to all members of your organization based on their permissions"),q.info(`Next step: upload a bundle with "npx @capgo/cli bundle upload ${W}"`),e("Done ✅");return{appId:W,organizationUid:B,userId:G,name:H,signedURL:V}}async function BS(D,Y){await p3(D,Y,void 0)}async function j2(D,Y,X=!1,Q=!1){if(!X)F0("Deleting");Y.apikey=Y.apikey||X0();let J=await U0(),W=x0(D,J?.config);if(!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!W){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let $=await w0(Y.apikey,Y.supaHost,Y.supaAnon),G=await Z0($,Y.apikey,["write","all"]);await M1($,Y.apikey,W,5,X);let{data:B,error:H}=await $.from("apps").select("owner_org ( created_by, id )").eq("app_id",W).single(),F=B;if(!Q&&!H&&(F?.owner_org.created_by??"")!==G)if(!X){q.warn("Deleting the app is not recommended for users that are not the organization owner"),q.warn("You are invited as a super_admin but your are not the owner"),q.warn("It's strongly recommended that you do not continue!");let w=await t1({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(R0(w)||w==="no")throw q.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(H&&!X)q.warn(`Cannot get the app owner ${c(H)}`);let{error:K}=await $.storage.from("images").remove([`org/${F?.owner_org.id}/${W}/icon`]);if(K&&!X)q.error("Could not delete app logo");let{error:U}=await $.storage.from(`apps/${W}/${G}`).remove(["versions"]);if(U&&!X)q.error("Could not delete app version");let{error:z}=await $.from("apps").delete().eq("app_id",W);if(z){if(!X)q.error("Could not delete app");throw Error(`Could not delete app: ${c(z)}`)}let V=await U8($,W);if(await I0(Y.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:V,tags:{"app-id":W},notify:!1}).catch(()=>{}),!X)q.success("App deleted in Capgo"),e("Done ✅");return!0}async function HS(D,Y){return j2(D,Y,!1,!1)}import{platform as c60,version as l60}from"node:os";import{version as d60}from"node:process";async function FS(D){let Y={},X=Object.keys(D);return(await Promise.all(X.map((J)=>vQ(J)))).forEach((J,W)=>{if(J)Y[X[W]]=J}),Y}async function p60(){let D=await K6(),Y={"@capgo/cli":f8.version};for(let[X,Q]of D)if(X.startsWith("@capgo/")||X.startsWith("@capawesome/")||X.startsWith("capacitor"))Y[X]=Q;return Y}async function T2(D,Y=!1){if(!Y)q.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let X=await U0(),Q=P6("",D.packageJson),J=X?.config?.plugins?.CapacitorUpdater?.version||Q,W=X?.config?.appName||"",$=x0("",X?.config),G=X?.config?.webDir||"";if(!Y)q.info(` App Name: ${W}`),q.info(` App ID: ${$}`),q.info(` App Version: ${J}`),q.info(` Web Dir: ${G}`),q.info(` OS: ${c60()} ${l60()}`),q.info(` Node: ${d60}`),q.info(" Installed Dependencies:");let B=await p60();if(Object.keys(B).length===0){if(!Y)q.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!Y)for(let F of Object.keys(B))q.info(` ${F}: ${B[F]}`);let H={};if(!Y){let F=d0();F.start("Running: Loading latest dependencies"),H=await FS(B),F.stop("Latest Dependencies:");for(let K of Object.keys(H))q.info(` ${K}: ${H[K]}`)}else H=await FS(B);if(JSON.stringify(B)!==JSON.stringify(H)){if(!Y)q.warn("\x1B[31m\uD83D\uDEA8 Some dependencies are not up to date\x1B[0m");throw Error("Some dependencies are not up to date")}if(!Y)q.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:W,appId:$,appVersion:J,webDir:G,installedDependencies:B,latestDependencies:H}}async function qS(D){return T2(D)}function n60(D){let Y=new G1;Y.headers=["Name","id","Created"],Y.rows=[];for(let X of D.toReversed())Y.rows.push([X.name??"",X.app_id,g4(X.created_at)]);q.success("Apps"),q.success(Y.toString())}async function i60(D,Y){let{data:X,error:Q}=await D.from("apps").select().order("created_at",{ascending:!1});if(Q){if(!Y)q.error("Apps not found");throw Error("Apps not found")}return X??[]}async function S2(D,Y=!1){if(!Y)F0("List apps in Capgo");await f0(),D.apikey=D.apikey||X0();let X=await w0(D.apikey,D.supaHost,D.supaAnon);if(await Z0(X,D.apikey,["write","all","read","upload"]),!Y)q.info("Getting active bundle in Capgo");let Q=await i60(X,Y);if(!Q.length){if(!Y)q.error("No apps found");throw Error("No apps found")}if(!Y)q.info(`Active app in Capgo: ${Q.length}`),n60(Q),e("Done ✅");return Q}async function KS(D){return S2(D,!1)}import{randomUUID as r60}from"node:crypto";import{existsSync as zS,readFileSync as US}from"node:fs";async function P2(D,Y,X=!1){if(!X)F0("Set app");Y.apikey=Y.apikey||X0();let Q=await U0();if(D=x0(D,Q?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await w0(Y.apikey,Y.supaHost,Y.supaAnon),$=(await h4(J,["admin","super_admin"])).gid,G=await Z0(J,Y.apikey,["write","all"]);await M1(J,Y.apikey,D,4,X);let{name:B,icon:H,retention:F,exposeMetadata:K}=Y;if(F&&Number.isNaN(Number(F))){if(!X)q.error("retention value must be a number");throw Error("Retention value must be a number")}else if(F&&F<0){if(!X)q.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if(F&&F>=63113904){if(!X)q.error("retention value cannot be greater than 63113904 seconds (2 years)");throw Error("Retention value cannot be greater than 63113904 seconds (2 years)")}let U,z,V=`icon_${r60()}`,w="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(H&&zS(H)){if(U=US(H),z=t9(H)||"image/png",!X)q.warn(`Found app icon ${H}`)}else if(zS(z6)){if(U=US(z6),z=t9(z6)||"image/png",!X)q.warn(`Found app icon ${z6}`)}else if(!X)q.warn(`Cannot find app icon in any of the following locations: ${H}, ${z6}`);if(U&&z){let{error:O}=await J.storage.from(`images/org/${$}/${D}`).upload(V,U,{contentType:z});if(O){if(!X)q.error(`Could not set app ${c(O)}`);throw Error(`Could not set app: ${c(O)}`)}let{data:Z}=await J.storage.from(`images/org/${$}/${D}`).getPublicUrl(V);w=Z?.publicUrl||w}let{error:M}=await J.from("apps").update({icon_url:w,name:B,retention:!F?void 0:F*24*60*60,expose_metadata:K}).eq("app_id",D).eq("user_id",G);if(M){if(!X)q.error(`Could not set app ${c(M)}`);throw Error(`Could not set app: ${c(M)}`)}if(!X)e("Done ✅");return!0}async function VS(D,Y){return P2(D,Y)}async function I2(D,Y,X=!1){if(!X)F0("Set a specific setting in capacitor config");if(Y.bool&&Y.string){if(!X)q.error("Bool and string CANNOT be set at the same time");throw Error("Bool and string cannot both be provided")}if(!Y.bool&&!Y.string){if(!X)q.error("You MUST provide either bool or string as the value");throw Error("Either bool or string value is required")}if(Y.bool&&Y.bool!=="true"&&Y.bool!=="false"){if(!X)q.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Q=await U0(),J=Q.config,W=D.split(".");if(W.length===0){if(!X)q.error("Invalid path");throw Error("Invalid config path")}for(let G of W.slice(0,-1)){if(!Object.prototype.hasOwnProperty.call(J,G))J[G]={};J=J[G]}let $=Y.bool?Y.bool==="true":Y.string;if(J[W.at(-1)]=$,await P4(Q,!0),!X)q.success(`Set "${D}" to "${$}"`)}catch(Q){if(!X)q.error(`Cannot set config in capacitor settings ${c(Q)}`);throw Error(`Cannot set capacitor config: ${c(Q)}`)}if(!X)e("Done ✅")}async function wS(D,Y){return I2(D,Y)}import{existsSync as U6}from"node:fs";import{resolve as V6}from"node:path";import{exit as S1}from"node:process";import{mkdir as a60,readFile as MS,writeFile as o60}from"node:fs/promises";import{homedir as s60}from"node:os";import{join as EJ}from"node:path";import{cwd as LS,env as X1}from"node:process";var OS=EJ(s60(),".capgo-credentials"),NS=EJ(OS,"credentials.json"),ZS=".capgo-credentials.json";function AS(D){return D?EJ(LS(),ZS):NS}function t60(D){return D?null:OS}async function u4(D){return(await MS(D)).toString("base64")}async function m4(D){try{let Y=AS(D),X=await MS(Y,"utf-8");return JSON.parse(X)}catch{return{}}}async function n3(D,Y){if(Y!==void 0){let J=await m4(Y);if(!D){let W=Object.keys(J);if(W.length===0)return null;return J[W[0]]||null}return J[D]||null}let X=await m4(!0),Q=await m4(!1);if(!D){let J=Object.keys(X);if(J.length>0)return X[J[0]]||null;let W=Object.keys(Q);if(W.length===0)return null;return Q[W[0]]||null}return X[D]||Q[D]||null}async function AJ(D,Y){let X=AS(Y),Q=t60(Y);if(Q)await a60(Q,{recursive:!0});await o60(X,JSON.stringify(D,null,2),"utf-8")}function e60(){let D={};if(X1.BUILD_CERTIFICATE_BASE64)D.BUILD_CERTIFICATE_BASE64=X1.BUILD_CERTIFICATE_BASE64;if(X1.BUILD_PROVISION_PROFILE_BASE64)D.BUILD_PROVISION_PROFILE_BASE64=X1.BUILD_PROVISION_PROFILE_BASE64;if(X1.BUILD_PROVISION_PROFILE_BASE64_PROD)D.BUILD_PROVISION_PROFILE_BASE64_PROD=X1.BUILD_PROVISION_PROFILE_BASE64_PROD;if(X1.P12_PASSWORD)D.P12_PASSWORD=X1.P12_PASSWORD;if(X1.APPLE_KEY_ID)D.APPLE_KEY_ID=X1.APPLE_KEY_ID;if(X1.APPLE_ISSUER_ID)D.APPLE_ISSUER_ID=X1.APPLE_ISSUER_ID;if(X1.APPLE_KEY_CONTENT)D.APPLE_KEY_CONTENT=X1.APPLE_KEY_CONTENT;if(X1.APPLE_PROFILE_NAME)D.APPLE_PROFILE_NAME=X1.APPLE_PROFILE_NAME;if(X1.APP_STORE_CONNECT_TEAM_ID)D.APP_STORE_CONNECT_TEAM_ID=X1.APP_STORE_CONNECT_TEAM_ID;if(X1.ANDROID_KEYSTORE_FILE)D.ANDROID_KEYSTORE_FILE=X1.ANDROID_KEYSTORE_FILE;if(X1.KEYSTORE_KEY_ALIAS)D.KEYSTORE_KEY_ALIAS=X1.KEYSTORE_KEY_ALIAS;if(X1.KEYSTORE_KEY_PASSWORD)D.KEYSTORE_KEY_PASSWORD=X1.KEYSTORE_KEY_PASSWORD;if(X1.KEYSTORE_STORE_PASSWORD)D.KEYSTORE_STORE_PASSWORD=X1.KEYSTORE_STORE_PASSWORD;if(X1.PLAY_CONFIG_JSON)D.PLAY_CONFIG_JSON=X1.PLAY_CONFIG_JSON;return D}async function ES(D,Y,X){let Q=await n3(D),J=e60(),W={...Q?.[Y]||{}};if(Object.assign(W,J),X)Object.assign(W,X);if(Y==="android"){let $=!!W.KEYSTORE_KEY_PASSWORD,G=!!W.KEYSTORE_STORE_PASSWORD;if($&&!G)W.KEYSTORE_STORE_PASSWORD=W.KEYSTORE_KEY_PASSWORD;else if(!$&&G)W.KEYSTORE_KEY_PASSWORD=W.KEYSTORE_STORE_PASSWORD}return Object.keys(W).length>0?W:void 0}async function C2(D,Y,X={}){let Q={...X};if(D==="ios"){if(Y.BUILD_CERTIFICATE_FILE)Q.BUILD_CERTIFICATE_BASE64=await u4(Y.BUILD_CERTIFICATE_FILE);if(Y.BUILD_PROVISION_PROFILE_FILE)Q.BUILD_PROVISION_PROFILE_BASE64=await u4(Y.BUILD_PROVISION_PROFILE_FILE);if(Y.BUILD_PROVISION_PROFILE_FILE_PROD)Q.BUILD_PROVISION_PROFILE_BASE64_PROD=await u4(Y.BUILD_PROVISION_PROFILE_FILE_PROD);if(Y.APPLE_KEY_FILE)Q.APPLE_KEY_CONTENT=await u4(Y.APPLE_KEY_FILE)}else if(D==="android"){if(Y.ANDROID_KEYSTORE_PATH)Q.ANDROID_KEYSTORE_FILE=await u4(Y.ANDROID_KEYSTORE_PATH);if(Y.PLAY_CONFIG_JSON_PATH)Q.PLAY_CONFIG_JSON=await u4(Y.PLAY_CONFIG_JSON_PATH)}return Q}async function x2(D,Y,X,Q){let J=await m4(Q),W=J[D]||{};W[Y]={...W[Y],...X},J[D]=W,await AJ(J,Q)}async function RJ(D,Y,X){let Q=await m4(X);if(!D){await AJ({},X);return}if(!Y){delete Q[D],await AJ(Q,X);return}let J=Q[D]||{};if(delete J[Y],Object.keys(J).length===0)delete Q[D];else Q[D]=J;await AJ(Q,X)}async function _2(D,Y,X){return(await n3(D,X))?.[Y]||null}async function jJ(D){let Y=await m4(D);return Object.keys(Y)}function i3(){return EJ(LS(),ZS)}function r3(){return NS}async function RS(D){try{if(!D.platform)q.error("Platform is required. Use --platform ios or --platform android"),S1(1);let Y=await U0(),X=x0(D.appId,Y?.config);if(!X)q.error("❌ App ID is required."),q.error(""),q.error("Either:"),q.error(" 1. Run this command from a Capacitor project directory, OR"),q.error(" 2. Provide --appId explicitly: --appId com.example.app"),q.error(""),S1(1);let Q=D.platform;q.info(`
|
|
241
241
|
\uD83D\uDD12 SECURITY NOTICE:`),q.info(" - Credentials saved to ~/.capgo-credentials/credentials.json (local only)"),q.info(" - When building, credentials are sent to Capgo servers"),q.info(" - Credentials are NEVER stored on Capgo servers"),q.info(" - Auto-deleted after build"),q.info(` - Builds sent directly to app stores - Capgo keeps nothing
|
|
242
242
|
`);let J={},W={};if(Q==="ios"){if(D.certificate){let H=V6(D.certificate);if(!U6(H))q.error(`Certificate file not found: ${H}`),S1(1);W.BUILD_CERTIFICATE_FILE=H,q.info(`✓ Certificate file: ${H}`)}if(D.provisioningProfile){let H=V6(D.provisioningProfile);if(!U6(H))q.error(`Provisioning profile not found: ${H}`),S1(1);W.BUILD_PROVISION_PROFILE_FILE=H,q.info(`✓ Provisioning profile: ${H}`)}if(D.provisioningProfileProd){let H=V6(D.provisioningProfileProd);if(!U6(H))q.error(`Production provisioning profile not found: ${H}`),S1(1);W.BUILD_PROVISION_PROFILE_FILE_PROD=H,q.info(`✓ Production provisioning profile: ${H}`)}if(D.appleKey){let H=V6(D.appleKey);if(!U6(H))q.error(`Apple key file not found: ${H}`),S1(1);W.APPLE_KEY_FILE=H,q.info(`✓ Apple key file: ${H}`)}if(D.p12Password)J.P12_PASSWORD=D.p12Password;else if(W.BUILD_CERTIFICATE_FILE)q.warn("⚠️ No P12 password provided - assuming certificate has no password"),q.warn(' If your certificate requires a password, add --p12-password "your-password"');if(D.appleKeyId)J.APPLE_KEY_ID=D.appleKeyId;if(D.appleIssuerId)J.APPLE_ISSUER_ID=D.appleIssuerId;if(D.appleProfileName)J.APPLE_PROFILE_NAME=D.appleProfileName;if(D.appleTeamId)J.APP_STORE_CONNECT_TEAM_ID=D.appleTeamId}else if(Q==="android"){if(D.keystore){let K=V6(D.keystore);if(!U6(K))q.error(`Keystore file not found: ${K}`),S1(1);W.ANDROID_KEYSTORE_PATH=K,q.info(`✓ Keystore file: ${K}`)}if(D.playConfig){let K=V6(D.playConfig);if(!U6(K))q.error(`Play config file not found: ${K}`),S1(1);W.PLAY_CONFIG_JSON_PATH=K,q.info(`✓ Play Store config: ${K}`)}if(D.keystoreAlias)J.KEYSTORE_KEY_ALIAS=D.keystoreAlias;let H=!!D.keystoreKeyPassword,F=!!D.keystoreStorePassword;if(H&&!F)J.KEYSTORE_KEY_PASSWORD=D.keystoreKeyPassword,J.KEYSTORE_STORE_PASSWORD=D.keystoreKeyPassword;else if(!H&&F)J.KEYSTORE_KEY_PASSWORD=D.keystoreStorePassword,J.KEYSTORE_STORE_PASSWORD=D.keystoreStorePassword;else if(H&&F)J.KEYSTORE_KEY_PASSWORD=D.keystoreKeyPassword,J.KEYSTORE_STORE_PASSWORD=D.keystoreStorePassword}let $=await C2(Q,W,J),G=[];if(Q==="ios"){if(!$.BUILD_CERTIFICATE_BASE64)G.push("--certificate <path> (P12 certificate file)");if(!$.BUILD_PROVISION_PROFILE_BASE64)G.push("--provisioning-profile <path> (Provisioning profile file)");if(!$.APPLE_KEY_ID)G.push("--apple-key-id <id> (App Store Connect API Key ID)");if(!$.APPLE_ISSUER_ID)G.push("--apple-issuer-id <id> (App Store Connect Issuer ID)");if(!$.APPLE_KEY_CONTENT)G.push("--apple-key <path> (App Store Connect API Key file)");if(!$.APP_STORE_CONNECT_TEAM_ID)G.push("--apple-team-id <id> (App Store Connect Team ID)");if(!$.APPLE_PROFILE_NAME)G.push("--apple-profile-name <name> (Provisioning profile name)")}else if(Q==="android"){if(!$.ANDROID_KEYSTORE_FILE)G.push("--keystore <path> (Keystore file)");if(!$.KEYSTORE_KEY_ALIAS)G.push("--keystore-alias <alias> (Keystore alias)");if(!$.KEYSTORE_KEY_PASSWORD&&!$.KEYSTORE_STORE_PASSWORD)G.push("--keystore-key-password <password> OR --keystore-store-password <password> (At least one password required, will be used for both)");if(!$.PLAY_CONFIG_JSON)G.push("--play-config <path> (Google Play service account JSON - required for uploading to Play Store)")}if(G.length>0){q.error(`❌ Missing required credentials for ${Q.toUpperCase()}:`),q.error("");for(let H of G)q.error(` • ${H}`);if(q.error(""),q.error("Example:"),Q==="ios")q.error(" npx @capgo/cli build credentials save --platform ios \\"),q.error(" --certificate ./cert.p12 \\"),q.error(' --p12-password "your-password" \\ # Optional if cert has no password'),q.error(" --provisioning-profile ./profile.mobileprovision \\"),q.error(" --apple-key ./AuthKey_XXXXXXXXXX.p8 \\"),q.error(' --apple-key-id "XXXXXXXXXX" \\'),q.error(' --apple-issuer-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \\'),q.error(' --apple-team-id "XXXXXXXXXX" \\'),q.error(' --apple-profile-name "match AppStore com.example.app"');else q.error(" npx @capgo/cli build credentials save --platform android \\"),q.error(" --keystore ./release.keystore \\"),q.error(' --keystore-alias "my-key-alias" \\'),q.error(' --keystore-key-password "password" \\'),q.error(" --play-config ./play-store-service-account.json"),q.error(""),q.error(" Note: If both key and store passwords are the same, you only need to provide one."),q.error(" If they differ, provide both --keystore-key-password and --keystore-store-password."),q.error(" The --play-config is required for uploading to Google Play Store.");q.error(""),S1(1)}await x2(X,Q,$,D.local);try{let H=X0(!0);if(H){let F=await w0(H),K=await U8(F,X);await I0(H,{channel:"credentials",event:"Credentials saved",icon:"\uD83D\uDD10",user_id:K,tags:{"app-id":X,platform:Q,storage:D.local?"local":"global"},notify:!1}).catch()}}catch{}let B=D.local?i3():r3();q.success(`
|
|
243
243
|
✅ ${Q.toUpperCase()} credentials saved successfully for ${X}!`),q.info(` Location: ${B}`),q.info(` Use: npx @capgo/cli build ${X} --platform ${Q}
|
|
@@ -352,7 +352,7 @@ ${X}`),q.warn("Onboarding will continue but please report it to the capgo team!"
|
|
|
352
352
|
${X}`),q.warn("Onboarding will continue but please report it to the capgo team!");return}}function S40(){if(!zY)return;try{E40(zY)}catch(D){q.error(`Cannot delete the tmp steps file.
|
|
353
353
|
Error: ${D}`)}}async function v1(D,Y,X){if(R0(D))await z8("onboarding-v2",Y,X,"canceled","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
354
354
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0()}async function M8(D,Y,X,Q){return z8("onboarding-v2",D,Y,`onboarding-step-${X}`,Q)}async function P40(D,Y){q.info("\uD83D\uDCCB Checking development environment prerequisites"),q.info(" For mobile development, you need at least one platform setup");let X=vF==="darwin"&&E9("/Applications/Xcode.app"),Q=nJ.HOME||nJ.USERPROFILE||"~",W=[nJ.ANDROID_HOME,nJ.ANDROID_SDK_ROOT,e6(Q,"Library","Android","sdk"),e6(Q,"Android","Sdk"),e6(Q,"AppData","Local","Android","Sdk")].filter(Boolean).some(($)=>$&&E9($));if(X)q.success("✅ Xcode detected - iOS development ready");else if(vF==="darwin")q.warn("⚠️ Xcode not found");if(W)q.success("✅ Android SDK detected - Android development ready");else q.warn("⚠️ Android SDK not found");if(!X&&!W){q.error("❌ No development environment detected"),q.info(""),q.info("\uD83D\uDCF1 To develop mobile apps with Capacitor, you need:"),q.info(" • For iOS: Xcode (macOS only) - https://developer.apple.com/xcode/"),q.info(" • For Android: Android Studio - https://developer.android.com/studio"),q.info("");let $=await j0({message:"Continue onboarding without a development environment? (You won't be able to build or test)",initialValue:!1});if(await v1($,D,Y),!$)q.info("\uD83D\uDCDD Please install a development environment and run the onboarding again"),e(`Bye \uD83D\uDC4B
|
|
355
|
-
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();q.warn("⚠️ Continuing without development environment - you'll need to set it up later")}else if(!X&&vF==="darwin"){let $=await j0({message:"Xcode is not installed. Do you plan to develop for iOS?",initialValue:!1});if(await v1($,D,Y),$){q.info("\uD83D\uDCE5 Please install Xcode from: https://developer.apple.com/xcode/"),q.info("\uD83D\uDCA1 After installing Xcode, you can continue the onboarding");let G=await j0({message:"Have you installed Xcode? (Choose No to continue with Android only)",initialValue:!1});if(await v1(G,D,Y),!G)q.info("\uD83D\uDCF1 Continuing with Android development only")}}else if(!W){let $=await j0({message:"Android SDK is not installed. Do you plan to develop for Android?",initialValue:!1});if(await v1($,D,Y),$){q.info("\uD83D\uDCE5 Please install Android Studio from: https://developer.android.com/studio"),q.info("\uD83D\uDCA1 After installing Android Studio, set up the Android SDK");let G=await j0({message:"Have you installed Android Studio? (Choose No to continue with iOS only)",initialValue:!1});if(await v1(G,D,Y),!G)q.info("\uD83D\uDCF1 Continuing with iOS development only")}}await M8(D,Y,"check-prerequisites","checked")}async function I40(D,Y,X,Q){let J=Q8(),W=X,$=0,G=5;while($<G){let B=await j0({message:`Add ${W} in Capgo?`});if(await v1(B,D.gid,Y),!B)return q.info(`If you change your mind, run it for yourself with: "${J.runner} @capgo/cli@latest app add ${W}"`),await M8(D.gid,Y,"add-app",W),W;try{let H=d0();if(H.start(`Running: ${J.runner} @capgo/cli@latest app add ${W}`),!await p3(W,Q,D,!0))H.stop("App already add ✅");else H.stop("App add Done ✅");return await M8(D.gid,Y,"add-app",W),W}catch(H){if((H instanceof Error?H.message:String(H)).includes("already exist")){$++,q.error(`❌ App ID "${W}" is already taken`);let K=[`${X}2`,`${X}3`,`${X}.new`,`${X}.app`];q.info("\uD83D\uDCA1 Here are some suggestions:"),K.forEach((z,V)=>{q.info(` ${V+1}. ${z}`)});let U=await t1({message:"What would you like to do?",options:[{value:"suggest1",label:`Use ${K[0]}`},{value:"suggest2",label:`Use ${K[1]}`},{value:"suggest3",label:`Use ${K[2]}`},{value:"suggest4",label:`Use ${K[3]}`},{value:"custom",label:"Enter a custom app ID"},{value:"cancel",label:"Cancel onboarding"}]});if(R0(U))await z8("onboarding-v2",D.gid,Y,"canceled","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
355
|
+
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();q.warn("⚠️ Continuing without development environment - you'll need to set it up later")}else if(!X&&vF==="darwin"){let $=await j0({message:"Xcode is not installed. Do you plan to develop for iOS?",initialValue:!1});if(await v1($,D,Y),$){q.info("\uD83D\uDCE5 Please install Xcode from: https://developer.apple.com/xcode/"),q.info("\uD83D\uDCA1 After installing Xcode, you can continue the onboarding");let G=await j0({message:"Have you installed Xcode? (Choose No to continue with Android only)",initialValue:!1});if(await v1(G,D,Y),!G)q.info("\uD83D\uDCF1 Continuing with Android development only")}}else if(!W){let $=await j0({message:"Android SDK is not installed. Do you plan to develop for Android?",initialValue:!1});if(await v1($,D,Y),$){q.info("\uD83D\uDCE5 Please install Android Studio from: https://developer.android.com/studio"),q.info("\uD83D\uDCA1 After installing Android Studio, set up the Android SDK");let G=await j0({message:"Have you installed Android Studio? (Choose No to continue with iOS only)",initialValue:!1});if(await v1(G,D,Y),!G)q.info("\uD83D\uDCF1 Continuing with iOS development only")}}await M8(D,Y,"check-prerequisites","checked")}async function I40(D,Y,X,Q){let J=Q8(),W=X,$=0,G=5;while($<G){let B=await j0({message:`Add ${W} in Capgo?`});if(await v1(B,D.gid,Y),!B)return q.info(`If you change your mind, run it for yourself with: "${J.runner} @capgo/cli@latest app add ${W}"`),await M8(D.gid,Y,"add-app",W),W;try{let H=d0();if(H.start(`Running: ${J.runner} @capgo/cli@latest app add ${W}`),!await p3(W,Q,D,!0))H.stop("App already add ✅");else H.stop("App add Done ✅");return q.info("This app is accessible to all members of your organization based on their permissions"),await M8(D.gid,Y,"add-app",W),W}catch(H){if((H instanceof Error?H.message:String(H)).includes("already exist")){$++,q.error(`❌ App ID "${W}" is already taken`);let K=[`${X}2`,`${X}3`,`${X}.new`,`${X}.app`];q.info("\uD83D\uDCA1 Here are some suggestions:"),K.forEach((z,V)=>{q.info(` ${V+1}. ${z}`)});let U=await t1({message:"What would you like to do?",options:[{value:"suggest1",label:`Use ${K[0]}`},{value:"suggest2",label:`Use ${K[1]}`},{value:"suggest3",label:`Use ${K[2]}`},{value:"suggest4",label:`Use ${K[3]}`},{value:"custom",label:"Enter a custom app ID"},{value:"cancel",label:"Cancel onboarding"}]});if(R0(U))await z8("onboarding-v2",D.gid,Y,"canceled","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
356
356
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();if(U==="cancel")await z8("onboarding-v2",D.gid,Y,"canceled-appid-conflict","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
357
357
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();if(U==="custom"){let z=await h8({message:"Enter your custom app ID (e.g., com.example.myapp):",validate:(V)=>{if(!V)return"App ID is required";if(V.includes("--"))return'App ID cannot contain "--"';if(!/^[a-z0-9]+(?:\.[\w-]+)+$/i.test(V))return"Invalid format. Use reverse domain notation (e.g., com.example.app)"}});if(R0(z))await z8("onboarding-v2",D.gid,Y,"canceled","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
358
358
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();W=z}else{let z=Number.parseInt(U.replace("suggest",""))-1;W=K[z]}q.info(`\uD83D\uDD04 Trying with new app ID: ${W}`);continue}throw H}}q.error(`❌ Maximum retry attempts (${G}) reached`),e(`Bye \uD83D\uDC4B
|
package/dist/package.json
CHANGED
package/dist/src/sdk.d.ts
CHANGED
|
@@ -823,5 +823,5 @@ export type { BuildCredentials } from './build/request';
|
|
|
823
823
|
export type { CapacitorConfig } from './config';
|
|
824
824
|
export type { Database } from './types/supabase.types';
|
|
825
825
|
export { createSupabaseClient } from './utils';
|
|
826
|
-
export {
|
|
827
|
-
export type {
|
|
826
|
+
export { formatApiErrorForCli, getSecurityPolicyMessage, isSecurityPolicyError, parseSecurityPolicyError, SECURITY_POLICY_ERRORS, SECURITY_POLICY_MESSAGES, } from './utils/security_policy_errors';
|
|
827
|
+
export type { ParsedSecurityError, SecurityPolicyErrorCode } from './utils/security_policy_errors';
|
package/dist/src/sdk.js
CHANGED
|
@@ -311,7 +311,7 @@ ${t.default.gray(F9)} ${D}
|
|
|
311
311
|
`)}}var jy=require("node:child_process"),V0=require("node:fs"),$J=require("node:os"),W0=L0(require("node:path")),b8=require("node:process"),s6=L0(NX(),1);var Z1=require("fs"),Y4=(D=".",X="unknown")=>{let Y=`${D}/bun.lockb`,Z=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,Q=`${D}/shrinkwrap.yaml`,w=`${D}/yarn.lock`,F=`${D}/package-lock.json`,$=`${D}/npm-shrinkwrap.json`;if(Z1.existsSync(Y)||Z1.existsSync(Z))return"bun";if(Z1.existsSync(J)||Z1.existsSync(Q))return"pnpm";if(Z1.existsSync(w))return"yarn";if(Z1.existsSync(F)||Z1.existsSync($))return"npm";return X},RX=(D=Y4(),X=!1)=>{switch(D){case"bun":return X?"bun install":"install";case"pnpm":return X?"pnpm install":"install";case"yarn":return X?"yarn install":"install";case"npm":return X?"npm install":"install";case"unknown":return X?"unknown unknown":"unknown";default:return X?"npm install":"install"}},hG=(D=".",X="npx")=>{let Y=`${D}/bun.lockb`,Z=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,Q=`${D}/shrinkwrap.yaml`,w=`${D}/yarn.lock`,F=`${D}/package-lock.json`,$=`${D}/npm-shrinkwrap.json`;if(Z1.existsSync(Y)||Z1.existsSync(Z))return"bunx";if(Z1.existsSync(J)||Z1.existsSync(Q))return"pnpm exec";if(Z1.existsSync(w))return"yarn dlx";if(Z1.existsSync(F)||Z1.existsSync($))return"npx";return X};function AX(D,X){if(isNaN(D)||isNaN(X))throw Error("Cannot compare against non-numbers");return D===X?0:D<X?-1:1}function bG(D=[],X=[]){if(D.length&&!X.length)return-1;if(!D.length&&X.length)return 1;return 0}function BQ(D=[],X=[]){let Y=Math.max(D.length,X.length);for(let Z=0;Z<Y;Z++){let J=D[Z],Q=X[Z];if(J===void 0&&Q===void 0)return 0;if(Q===void 0)return 1;if(J===void 0)return-1;if(typeof J==="string"&&typeof Q==="number")return 1;if(typeof J==="number"&&typeof Q==="string")return-1;if(J<Q)return-1;if(J>Q)return 1}return 0}var R5="0|[1-9]\\d*",L_="\\d*[a-zA-Z-][a-zA-Z0-9-]*",U_=`(?<major>${R5})\\.(?<minor>${R5})\\.(?<patch>${R5})`,_G=`(?:${R5}|${L_})`,gG=`(?:-(?<prerelease>${_G}(?:\\.${_G})*))`,vG="[0-9A-Za-z-]+",mG=`(?:\\+(?<buildmetadata>${vG}(?:\\.${vG})*))`,dG=`v?${U_}${gG}?${mG}?`,cG=new RegExp(`^${dG}$`),lG="(?:<|>)?=?",N_="x|X|\\*",$Q=`${R5}|${N_}`,EX=`[v=\\s]*(?<major>${$Q})(?:\\.(?<minor>${$Q})(?:\\.(?<patch>${$Q})${gG}?${mG}?)?)?`,nG=new RegExp(`^(?<operator>~>?|\\^|${lG})\\s*${EX}$`),iG=new RegExp(`^(?<operator>${lG})\\s*(${dG})$|^$`);function qQ(D){return typeof D==="number"&&!Number.isNaN(D)&&(!Number.isFinite(D)||0<=D&&D<=Number.MAX_SAFE_INTEGER)}var GQ=256;var R_=new RegExp(`^${R5}$`);function J1(D){return D.split(".").filter(Boolean).map((X)=>{if(R_.test(X)){let Y=Number(X);if(qQ(Y))return Y}return X})}function Y8(D){return D.split(".").filter(Boolean)}function A6(D,X){let Y=Number(D);if(!qQ(Y))throw TypeError(X);return Y}function d8(D){return Number.isNaN(D.major)&&Number.isNaN(D.minor)&&Number.isNaN(D.patch)&&(D.prerelease===void 0||D.prerelease.length===0)&&(D.build===void 0||D.build.length===0)}function Q1(D,X){if(D===X)return 0;return AX(D.major,X.major)||AX(D.minor,X.minor)||AX(D.patch,X.patch)||bG(D.prerelease,X.prerelease)||BQ(D.prerelease,X.prerelease)}function OQ(D){return D.toFixed(0)}function Z8(D){let X=OQ(D.major),Y=OQ(D.minor),Z=OQ(D.patch),J=D.prerelease?.join(".")??"",Q=D.build?.join(".")??"";return[[`${X}.${Y}.${Z}`,J].filter(($)=>$).join("-"),Q].filter(($)=>$).join("+")}function A_(D,X){if(d8(X))return!0;let Y=Q1(D,X);switch(X.operator){case"=":case void 0:return Y===0;case"!=":return Y!==0;case">":return Y>0;case"<":return Y<0;case">=":return Y>=0;case"<=":return Y<=0}}function CX(D,X){for(let Y of X)if(!A_(D,Y))return!1;if(D.prerelease&&D.prerelease.length>0){for(let Y of X){if(d8(Y))continue;let{major:Z,minor:J,patch:Q,prerelease:w}=Y;if(w&&w.length>0){if(D.major===Z&&D.minor===J&&D.patch===Q)return!0}}return!1}return!0}function Z4(D,X){return X.some((Y)=>CX(D,Y))}function E_(D=[]){let X=[...D],Y=X.length;while(Y>=0){let Z=X[Y];if(typeof Z==="number"){X[Y]=Z+1;break}Y-=1}if(Y===-1)X.push(0);return X}function J4(D=[],X){let Y=E_(D);if(!X)return Y;let Z=J1(X);if(Z.every((J)=>typeof J==="string")){if(Z.every((J,Q)=>J===Y[Q])&&typeof Y[Z.length]==="number")return Y;Z=[...Z,0]}return Z}function Q4(D,X,Y={}){let Z=Y.build!==void 0?Y8(Y.build):D.build??[];switch(X){case"premajor":return{major:D.major+1,minor:0,patch:0,prerelease:J4(D.prerelease,Y.prerelease),build:Z};case"preminor":return{major:D.major,minor:D.minor+1,patch:0,prerelease:J4(D.prerelease,Y.prerelease),build:Z};case"prepatch":return{major:D.major,minor:D.minor,patch:D.patch+1,prerelease:J4(D.prerelease,Y.prerelease),build:Z};case"prerelease":{let Q=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:Q,prerelease:J4(D.prerelease,Y.prerelease),build:Z}}case"major":return{major:(D.prerelease??[]).length===0||D.minor!==0||D.patch!==0?D.major+1:D.major,minor:0,patch:0,prerelease:[],build:Z};case"minor":{let Q=(D.prerelease??[]).length===0||D.patch!==0?D.minor+1:D.minor;return{major:D.major,minor:Q,patch:0,prerelease:[],build:Z}}case"patch":{let Q=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:Q,prerelease:[],build:Z}}case"pre":return{major:D.major,minor:D.minor,patch:D.patch,prerelease:J4(D.prerelease,Y.prerelease),build:Z};default:throw TypeError(`Cannot increment version: invalid argument ${X}`)}}var jX={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},A5={operator:void 0,...jX};function WQ(D,X){return Q1(D,X)>0}function $9(D,X){return Q1(D,X)<0}function C_(D){let Y=D.match(iG)?.groups;if(!Y)return null;let{operator:Z,prerelease:J,buildmetadata:Q}=Y,w=Y.major?{major:A6(Y.major,`Cannot parse comparator ${D}: invalid major version`),minor:A6(Y.minor,`Cannot parse comparator ${D}: invalid minor version`),patch:A6(Y.patch,`Cannot parse comparator ${D}: invalid patch version`),prerelease:J?J1(J):[],build:Q?Y8(Q):[]}:jX;return{operator:Z||void 0,...w}}function a0(D){return!D||D.toLowerCase()==="x"||D==="*"}function j_(D){if(a0(D.major))return;if(a0(D.minor))return{operator:">=",major:+D.major,minor:0,patch:0,prerelease:[],build:[]};if(a0(D.patch))return{operator:">=",major:+D.major,minor:+D.minor,patch:0,prerelease:[],build:[]};return{operator:">=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:D.prerelease?J1(D.prerelease):[],build:[]}}function I_(D){if(a0(D.major))return;if(a0(D.minor))return{operator:"<",major:+D.major+1,minor:0,patch:0,prerelease:[],build:[]};if(a0(D.patch))return{operator:"<",major:+D.major,minor:+D.minor+1,patch:0,prerelease:[],build:[]};if(D.prerelease)return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:J1(D.prerelease),build:[]};return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:[],build:[]}}function T_(D){let X=D.match(new RegExp(`^${EX}`)),Y=X?.groups;if(!Y)return null;let Z=X[0].length,J=D.slice(Z).match(/^\s+-\s+/);if(!J)return null;let Q=J[0].length,F=D.slice(Z+Q).match(new RegExp(`^${EX}\\s*$`))?.groups;if(!F)return null;let $=j_(Y),B=I_(F);return[$,B].filter(Boolean)}function P_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[A5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z){if(J===0)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J+1,minor:0,patch:0}]}let F=J1(D.prerelease??"");if(J===0){if(Q===0)return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q,patch:w+1}];return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q+1,patch:0}]}return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J+1,minor:0,patch:0}]}function S_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[A5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];let F=J1(D.prerelease??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q+1,patch:0}]}function x_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[{operator:"<",major:0,minor:0,patch:0}];if(Y){if(Z)return[{operator:"<",major:J,minor:0,patch:0}];return[{operator:"<",major:J,minor:0,patch:0}]}if(Z)return[{operator:"<",major:J,minor:Q,patch:0}];let F=J1(D.prerelease??""),$=Y8(D.build??"");return[{operator:"<",major:J,minor:Q,patch:w,prerelease:F,build:$}]}function f_(D){let X=a0(D.minor),Y=a0(D.patch),Z=+D.major,J=+D.minor,Q=+D.patch;if(X){if(Y)return[{operator:"<",major:Z+1,minor:0,patch:0}];return[{operator:"<",major:Z,minor:J+1,patch:0}]}if(Y)return[{operator:"<",major:Z,minor:J+1,patch:0}];let w=J1(D.prerelease??""),F=Y8(D.build??"");return[{operator:"<=",major:Z,minor:J,patch:Q,prerelease:w,build:F}]}function y_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[{operator:"<",major:0,minor:0,patch:0}];if(Y)return[{operator:">=",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q+1,patch:0}];let F=J1(D.prerelease??""),$=Y8(D.build??"");return[{operator:">",major:J,minor:Q,patch:w,prerelease:F,build:$}]}function k_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[A5];if(Y){if(Z)return[{operator:">=",major:J,minor:0,patch:0}];return[{operator:">=",major:J,minor:0,patch:0}]}if(Z)return[{operator:">=",major:J,minor:Q,patch:0}];let F=J1(D.prerelease??""),$=Y8(D.build??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F,build:$}]}function u_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[A5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];let F=J1(D.prerelease??""),$=Y8(D.build??"");return[{operator:void 0,major:J,minor:Q,patch:w,prerelease:F,build:$}]}function h_(D){let X=D.match(nG)?.groups;if(!X)return C_(D);switch(X.operator){case"^":return P_(X);case"~":case"~>":return S_(X);case"<":return x_(X);case"<=":return f_(X);case">":return y_(X);case">=":return k_(X);case"=":case"":return u_(X);default:throw Error(`Cannot parse version range: '${X.operator}' is not a valid operator`)}}function __(D){return D.split(/\s+/).flatMap(h_)}function IX(D){let X=D.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map((Y)=>T_(Y)||__(Y));if(X.some((Y)=>Y.includes(null)))throw TypeError(`Cannot parse version range: range "${D}" is invalid`);return X}function GD(D){if(typeof D!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof D}`);if(D.length>GQ)throw TypeError(`Cannot parse version as version length is too long: length is ${D.length}, max length is ${GQ}`);D=D.trim();let X=D.match(cG)?.groups;if(!X)throw TypeError(`Cannot parse version: ${D}`);let Y=A6(X.major,`Cannot parse version ${D}: invalid major version`),Z=A6(X.minor,`Cannot parse version ${D}: invalid minor version`),J=A6(X.patch,`Cannot parse version ${D}: invalid patch version`),Q=X.prerelease?J1(X.prerelease):[],w=X.buildmetadata?Y8(X.buildmetadata):[];return{major:Y,minor:Z,patch:J,prerelease:Q,build:w}}function pG(D,X){let Y=D.operator,Z=X.operator;if(Y===void 0){if(d8(D))return!0;return Z4(D,[[X]])}if(Z===void 0){if(d8(X))return!0;return Z4(X,[[D]])}let J=Q1(D,X);return(Y===">="||Y===">")&&(Z===">="||Z===">")||(Y==="<="||Y==="<")&&(Z==="<="||Z==="<")||J===0&&((Y===">="||Y==="<=")&&(Z===">="||Z==="<="))||J===-1&&(Y===">="||Y===">")&&(Z==="<="||Z==="<")||J===1&&(Y==="<="||Y==="<")&&(Z===">="||Z===">")}function v_(D){return D.every((X)=>{return X.some((Y)=>b_(Y))})}function b_(D){for(let X=0;X<D.length-1;X++){let Y=D[X];for(let Z of D.slice(X+1))if(!pG(Y,Z))return!1}return!0}function aG(D,X){return v_([D,X])&&D.some((Y)=>{return X.some((Z)=>{return Y.every((J)=>{return Z.every((Q)=>pG(J,Q))})})})}function tG(D){try{return GD(D),!0}catch{return!1}}function rG(D,X){return Q1(D,X)>=0}var Z0={};s7(Z0,{createClient:()=>$w,SupabaseClient:()=>FK,PostgrestError:()=>$4,FunctionsRelayError:()=>oD.FunctionsRelayError,FunctionsHttpError:()=>oD.FunctionsHttpError,FunctionsFetchError:()=>oD.FunctionsFetchError,FunctionsError:()=>oD.FunctionsError,FunctionRegion:()=>oD.FunctionRegion});var oD=L0(fO(),1);var kO={};s7(kO,{default:()=>l_,PostgrestTransformBuilder:()=>MQ,PostgrestQueryBuilder:()=>VQ,PostgrestFilterBuilder:()=>E6,PostgrestError:()=>$4,PostgrestClient:()=>yX,PostgrestBuilder:()=>zQ});var $4=class extends Error{constructor(D){super(D.message);this.name="PostgrestError",this.details=D.details,this.hint=D.hint,this.code=D.code}},zQ=class{constructor(D){var X,Y;if(this.shouldThrowOnError=!1,this.method=D.method,this.url=D.url,this.headers=new Headers(D.headers),this.schema=D.schema,this.body=D.body,this.shouldThrowOnError=(X=D.shouldThrowOnError)!==null&&X!==void 0?X:!1,this.signal=D.signal,this.isMaybeSingle=(Y=D.isMaybeSingle)!==null&&Y!==void 0?Y:!1,D.fetch)this.fetch=D.fetch;else this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(D,X){return this.headers=new Headers(this.headers),this.headers.set(D,X),this}then(D,X){var Y=this;if(this.schema===void 0);else if(["GET","HEAD"].includes(this.method))this.headers.set("Accept-Profile",this.schema);else this.headers.set("Content-Profile",this.schema);if(this.method!=="GET"&&this.method!=="HEAD")this.headers.set("Content-Type","application/json");let Z=this.fetch,J=Z(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async(Q)=>{let w=null,F=null,$=null,B=Q.status,q=Q.statusText;if(Q.ok){var G,W;if(Y.method!=="HEAD"){var O;let N=await Q.text();if(N==="");else if(Y.headers.get("Accept")==="text/csv")F=N;else if(Y.headers.get("Accept")&&((O=Y.headers.get("Accept"))===null||O===void 0?void 0:O.includes("application/vnd.pgrst.plan+text")))F=N;else F=JSON.parse(N)}let M=(G=Y.headers.get("Prefer"))===null||G===void 0?void 0:G.match(/count=(exact|planned|estimated)/),U=(W=Q.headers.get("content-range"))===null||W===void 0?void 0:W.split("/");if(M&&U&&U.length>1)$=parseInt(U[1]);if(Y.isMaybeSingle&&Y.method==="GET"&&Array.isArray(F))if(F.length>1)w={code:"PGRST116",details:`Results contain ${F.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},F=null,$=null,B=406,q="Not Acceptable";else if(F.length===1)F=F[0];else F=null}else{var K;let M=await Q.text();try{if(w=JSON.parse(M),Array.isArray(w)&&Q.status===404)F=[],w=null,B=200,q="OK"}catch(U){if(Q.status===404&&M==="")B=204,q="No Content";else w={message:M}}if(w&&Y.isMaybeSingle&&(w===null||w===void 0||(K=w.details)===null||K===void 0?void 0:K.includes("0 rows")))w=null,B=200,q="OK";if(w&&Y.shouldThrowOnError)throw new $4(w)}return{error:w,data:F,count:$,status:B,statusText:q}});if(!this.shouldThrowOnError)J=J.catch((Q)=>{var w;let F="",$=Q===null||Q===void 0?void 0:Q.cause;if($){var B,q,G,W;let K=(B=$===null||$===void 0?void 0:$.message)!==null&&B!==void 0?B:"",M=(q=$===null||$===void 0?void 0:$.code)!==null&&q!==void 0?q:"";if(F=`${(G=Q===null||Q===void 0?void 0:Q.name)!==null&&G!==void 0?G:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,F+=`
|
|
312
312
|
|
|
313
313
|
Caused by: ${(W=$===null||$===void 0?void 0:$.name)!==null&&W!==void 0?W:"Error"}: ${K}`,M)F+=` (${M})`;if($===null||$===void 0?void 0:$.stack)F+=`
|
|
314
|
-
${$.stack}`}else{var O;F=(O=Q===null||Q===void 0?void 0:Q.stack)!==null&&O!==void 0?O:""}return{error:{message:`${(w=Q===null||Q===void 0?void 0:Q.name)!==null&&w!==void 0?w:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,details:F,hint:"",code:""},data:null,count:null,status:0,statusText:""}});return J.then(D,X)}returns(){return this}overrideTypes(){return this}},MQ=class extends zQ{select(D){let X=!1,Y=(D!==null&&D!==void 0?D:"*").split("").map((Z)=>{if(/\s/.test(Z)&&!X)return"";if(Z==='"')X=!X;return Z}).join("");return this.url.searchParams.set("select",Y),this.headers.append("Prefer","return=representation"),this}order(D,{ascending:X=!0,nullsFirst:Y,foreignTable:Z,referencedTable:J=Z}={}){let Q=J?`${J}.order`:"order",w=this.url.searchParams.get(Q);return this.url.searchParams.set(Q,`${w?`${w},`:""}${D}.${X?"asc":"desc"}${Y===void 0?"":Y?".nullsfirst":".nullslast"}`),this}limit(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=typeof Y>"u"?"limit":`${Y}.limit`;return this.url.searchParams.set(Z,`${D}`),this}range(D,X,{foreignTable:Y,referencedTable:Z=Y}={}){let J=typeof Z>"u"?"offset":`${Z}.offset`,Q=typeof Z>"u"?"limit":`${Z}.limit`;return this.url.searchParams.set(J,`${D}`),this.url.searchParams.set(Q,`${X-D+1}`),this}abortSignal(D){return this.signal=D,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){if(this.method==="GET")this.headers.set("Accept","application/json");else this.headers.set("Accept","application/vnd.pgrst.object+json");return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:D=!1,verbose:X=!1,settings:Y=!1,buffers:Z=!1,wal:J=!1,format:Q="text"}={}){var w;let F=[D?"analyze":null,X?"verbose":null,Y?"settings":null,Z?"buffers":null,J?"wal":null].filter(Boolean).join("|"),$=(w=this.headers.get("Accept"))!==null&&w!==void 0?w:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${Q}; for="${$}"; options=${F};`),Q==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(D){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${D}`),this}},yO=new RegExp("[,()]"),E6=class extends MQ{eq(D,X){return this.url.searchParams.append(D,`eq.${X}`),this}neq(D,X){return this.url.searchParams.append(D,`neq.${X}`),this}gt(D,X){return this.url.searchParams.append(D,`gt.${X}`),this}gte(D,X){return this.url.searchParams.append(D,`gte.${X}`),this}lt(D,X){return this.url.searchParams.append(D,`lt.${X}`),this}lte(D,X){return this.url.searchParams.append(D,`lte.${X}`),this}like(D,X){return this.url.searchParams.append(D,`like.${X}`),this}likeAllOf(D,X){return this.url.searchParams.append(D,`like(all).{${X.join(",")}}`),this}likeAnyOf(D,X){return this.url.searchParams.append(D,`like(any).{${X.join(",")}}`),this}ilike(D,X){return this.url.searchParams.append(D,`ilike.${X}`),this}ilikeAllOf(D,X){return this.url.searchParams.append(D,`ilike(all).{${X.join(",")}}`),this}ilikeAnyOf(D,X){return this.url.searchParams.append(D,`ilike(any).{${X.join(",")}}`),this}regexMatch(D,X){return this.url.searchParams.append(D,`match.${X}`),this}regexIMatch(D,X){return this.url.searchParams.append(D,`imatch.${X}`),this}is(D,X){return this.url.searchParams.append(D,`is.${X}`),this}isDistinct(D,X){return this.url.searchParams.append(D,`isdistinct.${X}`),this}in(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&yO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`in.(${Y})`),this}notIn(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&yO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`not.in.(${Y})`),this}contains(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cs.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cs.{${X.join(",")}}`);else this.url.searchParams.append(D,`cs.${JSON.stringify(X)}`);return this}containedBy(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cd.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cd.{${X.join(",")}}`);else this.url.searchParams.append(D,`cd.${JSON.stringify(X)}`);return this}rangeGt(D,X){return this.url.searchParams.append(D,`sr.${X}`),this}rangeGte(D,X){return this.url.searchParams.append(D,`nxl.${X}`),this}rangeLt(D,X){return this.url.searchParams.append(D,`sl.${X}`),this}rangeLte(D,X){return this.url.searchParams.append(D,`nxr.${X}`),this}rangeAdjacent(D,X){return this.url.searchParams.append(D,`adj.${X}`),this}overlaps(D,X){if(typeof X==="string")this.url.searchParams.append(D,`ov.${X}`);else this.url.searchParams.append(D,`ov.{${X.join(",")}}`);return this}textSearch(D,X,{config:Y,type:Z}={}){let J="";if(Z==="plain")J="pl";else if(Z==="phrase")J="ph";else if(Z==="websearch")J="w";let Q=Y===void 0?"":`(${Y})`;return this.url.searchParams.append(D,`${J}fts${Q}.${X}`),this}match(D){return Object.entries(D).forEach(([X,Y])=>{this.url.searchParams.append(X,`eq.${Y}`)}),this}not(D,X,Y){return this.url.searchParams.append(D,`not.${X}.${Y}`),this}or(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=Y?`${Y}.or`:"or";return this.url.searchParams.append(Z,`(${D})`),this}filter(D,X,Y){return this.url.searchParams.append(D,`${X}.${Y}`),this}},VQ=class{constructor(D,{headers:X={},schema:Y,fetch:Z}){this.url=D,this.headers=new Headers(X),this.schema=Y,this.fetch=Z}select(D,X){let{head:Y=!1,count:Z}=X!==null&&X!==void 0?X:{},J=Y?"HEAD":"GET",Q=!1,w=(D!==null&&D!==void 0?D:"*").split("").map((F)=>{if(/\s/.test(F)&&!Q)return"";if(F==='"')Q=!Q;return F}).join("");if(this.url.searchParams.set("select",w),Z)this.headers.append("Prefer",`count=${Z}`);return new E6({method:J,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(D,{count:X,defaultToNull:Y=!0}={}){var Z;let J="POST";if(X)this.headers.append("Prefer",`count=${X}`);if(!Y)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let Q=D.reduce((w,F)=>w.concat(Object.keys(F)),[]);if(Q.length>0){let w=[...new Set(Q)].map((F)=>`"${F}"`);this.url.searchParams.set("columns",w.join(","))}}return new E6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Z=this.fetch)!==null&&Z!==void 0?Z:fetch})}upsert(D,{onConflict:X,ignoreDuplicates:Y=!1,count:Z,defaultToNull:J=!0}={}){var Q;let w="POST";if(this.headers.append("Prefer",`resolution=${Y?"ignore":"merge"}-duplicates`),X!==void 0)this.url.searchParams.set("on_conflict",X);if(Z)this.headers.append("Prefer",`count=${Z}`);if(!J)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let F=D.reduce(($,B)=>$.concat(Object.keys(B)),[]);if(F.length>0){let $=[...new Set(F)].map((B)=>`"${B}"`);this.url.searchParams.set("columns",$.join(","))}}return new E6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch})}update(D,{count:X}={}){var Y;let Z="PATCH";if(X)this.headers.append("Prefer",`count=${X}`);return new E6({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Y=this.fetch)!==null&&Y!==void 0?Y:fetch})}delete({count:D}={}){var X;let Y="DELETE";if(D)this.headers.append("Prefer",`count=${D}`);return new E6({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}},yX=class D{constructor(X,{headers:Y={},schema:Z,fetch:J}={}){this.url=X,this.headers=new Headers(Y),this.schemaName=Z,this.fetch=J}from(X){if(!X||typeof X!=="string"||X.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new VQ(new URL(`${this.url}/${X}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(X){return new D(this.url,{headers:this.headers,schema:X,fetch:this.fetch})}rpc(X,Y={},{head:Z=!1,get:J=!1,count:Q}={}){var w;let F,$=new URL(`${this.url}/rpc/${X}`),B;if(Z||J)F=Z?"HEAD":"GET",Object.entries(Y).filter(([G,W])=>W!==void 0).map(([G,W])=>[G,Array.isArray(W)?`{${W.join(",")}}`:`${W}`]).forEach(([G,W])=>{$.searchParams.append(G,W)});else F="POST",B=Y;let q=new Headers(this.headers);if(Q)q.set("Prefer",`count=${Q}`);return new E6({method:F,url:$,headers:q,schema:this.schemaName,body:B,fetch:(w=this.fetch)!==null&&w!==void 0?w:fetch})}},l_={PostgrestClient:yX,PostgrestQueryBuilder:VQ,PostgrestFilterBuilder:E6,PostgrestTransformBuilder:MQ,PostgrestBuilder:zQ,PostgrestError:$4};var QK=L0(xQ(),1);var zW={};s7(zW,{validateVectorDimension:()=>hv,resolveResponse:()=>kv,resolveFetch:()=>lX,normalizeToFloat32:()=>uv,isStorageVectorsError:()=>R1,isStorageError:()=>wD,isPlainObject:()=>BW,VectorIndexScope:()=>HW,VectorIndexApi:()=>qW,VectorDataApi:()=>GW,VectorBucketScope:()=>KW,VectorBucketApi:()=>OW,StorageVectorsUnknownError:()=>$W,StorageVectorsErrorCode:()=>yv,StorageVectorsError:()=>vQ,StorageVectorsClient:()=>WW,StorageVectorsApiError:()=>dX,StorageUnknownError:()=>cX,StorageError:()=>M4,StorageClient:()=>bQ,StorageApiError:()=>ZW,StorageAnalyticsClient:()=>FW});var K4=class extends Error{constructor(D,X){super(D);this.name="IcebergError",this.status=X.status,this.icebergType=X.icebergType,this.icebergCode=X.icebergCode,this.details=X.details,this.isCommitStateUnknown=X.icebergType==="CommitStateUnknownException"||[500,502,504].includes(X.status)&&X.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Kv(D,X,Y){let Z=new URL(X,D);if(Y){for(let[J,Q]of Object.entries(Y))if(Q!==void 0)Z.searchParams.set(J,Q)}return Z.toString()}async function Hv(D){if(!D||D.type==="none")return{};if(D.type==="bearer")return{Authorization:`Bearer ${D.token}`};if(D.type==="header")return{[D.name]:D.value};if(D.type==="custom")return await D.getHeaders();return{}}function zv(D){let X=D.fetchImpl??globalThis.fetch;return{async request({method:Y,path:Z,query:J,body:Q,headers:w}){let F=Kv(D.baseUrl,Z,J),$=await Hv(D.auth),B=await X(F,{method:Y,headers:{...Q?{"Content-Type":"application/json"}:{},...$,...w},body:Q?JSON.stringify(Q):void 0}),q=await B.text(),G=(B.headers.get("content-type")||"").includes("application/json"),W=G&&q?JSON.parse(q):q;if(!B.ok){let O=G?W:void 0,K=O?.error;throw new K4(K?.message??`Request failed with status ${B.status}`,{status:B.status,icebergType:K?.type,icebergCode:K?.code,details:O})}return{status:B.status,headers:B.headers,data:W}}}}function mX(D){return D.join("\x1F")}var Mv=class{constructor(D,X=""){this.client=D,this.prefix=X}async listNamespaces(D){let X=D?{parent:mX(D.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:X})).data.namespaces.map((Z)=>({namespace:Z}))}async createNamespace(D,X){let Y={namespace:D.namespace,properties:X?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:Y})).data}async dropNamespace(D){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${mX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${mX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${mX(D.namespace)}`}),!0}catch(X){if(X instanceof K4&&X.status===404)return!1;throw X}}async createNamespaceIfNotExists(D,X){try{return await this.createNamespace(D,X)}catch(Y){if(Y instanceof K4&&Y.status===409)return;throw Y}}};function I5(D){return D.join("\x1F")}var Vv=class{constructor(D,X="",Y){this.client=D,this.prefix=X,this.accessDelegation=Y}async listTables(D){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`})).data.identifiers}async createTable(D,X){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`,body:X,headers:Y})).data.metadata}async updateTable(D,X){let Y=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,body:X});return{"metadata-location":Y.data["metadata-location"],metadata:Y.data.metadata}}async dropTable(D,X){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,query:{purgeRequested:String(X?.purge??!1)}})}async loadTable(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X})).data.metadata}async tableExists(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X}),!0}catch(Y){if(Y instanceof K4&&Y.status===404)return!1;throw Y}}async createTableIfNotExists(D,X){try{return await this.createTable(D,X)}catch(Y){if(Y instanceof K4&&Y.status===409)return await this.loadTable({namespace:D.namespace,name:X.name});throw Y}}},eO=class{constructor(D){let X="v1";if(D.catalogName)X+=`/${D.catalogName}`;let Y=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=zv({baseUrl:Y,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Mv(this.client,X),this.tableOps=new Vv(this.client,X,this.accessDelegation)}async listNamespaces(D){return this.namespaceOps.listNamespaces(D)}async createNamespace(D,X){return this.namespaceOps.createNamespace(D,X)}async dropNamespace(D){await this.namespaceOps.dropNamespace(D)}async loadNamespaceMetadata(D){return this.namespaceOps.loadNamespaceMetadata(D)}async listTables(D){return this.tableOps.listTables(D)}async createTable(D,X){return this.tableOps.createTable(D,X)}async updateTable(D,X){return this.tableOps.updateTable(D,X)}async dropTable(D,X){await this.tableOps.dropTable(D,X)}async loadTable(D){return this.tableOps.loadTable(D)}async namespaceExists(D){return this.namespaceOps.namespaceExists(D)}async tableExists(D){return this.tableOps.tableExists(D)}async createNamespaceIfNotExists(D,X){return this.namespaceOps.createNamespaceIfNotExists(D,X)}async createTableIfNotExists(D,X){return this.tableOps.createTableIfNotExists(D,X)}};var M4=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function wD(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var ZW=class extends M4{constructor(D,X,Y){super(D);this.name="StorageApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},cX=class extends M4{constructor(D,X){super(D);this.name="StorageUnknownError",this.originalError=X}},uQ=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Lv=()=>{return Response},yQ=(D)=>{if(Array.isArray(D))return D.map((Y)=>yQ(Y));else if(typeof D==="function"||D!==Object(D))return D;let X={};return Object.entries(D).forEach(([Y,Z])=>{let J=Y.replace(/([-_][a-z])/gi,(Q)=>Q.toUpperCase().replace(/[-_]/g,""));X[J]=yQ(Z)}),X},Uv=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},Nv=(D)=>{if(!D||typeof D!=="string")return!1;if(D.length===0||D.length>100)return!1;if(D.trim()!==D)return!1;if(D.includes("/")||D.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(D)};function H4(D){return H4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},H4(D)}function Rv(D,X){if(H4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(H4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Av(D){var X=Rv(D,"string");return H4(X)=="symbol"?X:X+""}function Ev(D,X,Y){return(X=Av(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function DW(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function G0(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?DW(Object(Y),!0).forEach(function(Z){Ev(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):DW(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var fQ=(D)=>{var X;return D.msg||D.message||D.error_description||(typeof D.error==="string"?D.error:(X=D.error)===null||X===void 0?void 0:X.message)||JSON.stringify(D)},Cv=async(D,X,Y)=>{if(D instanceof await Lv()&&!(Y===null||Y===void 0?void 0:Y.noResolveJson))D.json().then((Z)=>{let J=D.status||500,Q=(Z===null||Z===void 0?void 0:Z.statusCode)||J+"";X(new ZW(fQ(Z),J,Q))}).catch((Z)=>{X(new cX(fQ(Z),Z))});else X(new cX(fQ(D),D))},jv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(Uv(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;if(X===null||X===void 0?void 0:X.duplex)J.duplex=X.duplex;return G0(G0({},J),Y)};async function V4(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,jv(X,Z,J,Q)).then(($)=>{if(!$.ok)throw $;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return $;return $.json()}).then(($)=>w($)).catch(($)=>Cv($,F,Z))})}async function z4(D,X,Y,Z){return V4(D,"GET",X,Y,Z)}async function Q8(D,X,Y,Z,J){return V4(D,"POST",X,Z,J,Y)}async function kQ(D,X,Y,Z,J){return V4(D,"PUT",X,Z,J,Y)}async function Iv(D,X,Y,Z){return V4(D,"HEAD",X,G0(G0({},Y),{},{noResolveJson:!0}),Z)}async function hQ(D,X,Y,Z,J){return V4(D,"DELETE",X,Z,J,Y)}var Tv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X}then(D,X){return this.execute().then(D,X)}async execute(){var D=this;try{return{data:(await D.downloadFn()).body,error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(wD(X))return{data:null,error:X};throw X}}},JW;JW=Symbol.toStringTag;var Pv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X,this[JW]="BlobDownloadBuilder",this.promise=null}asStream(){return new Tv(this.downloadFn,this.shouldThrowOnError)}then(D,X){return this.getPromise().then(D,X)}catch(D){return this.getPromise().catch(D)}finally(D){return this.getPromise().finally(D)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var D=this;try{return{data:await(await D.downloadFn()).blob(),error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(wD(X))return{data:null,error:X};throw X}}},Sv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},XW={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},xv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1,this.url=D,this.headers=X,this.bucketId=Y,this.fetch=uQ(Z)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,X,Y,Z){var J=this;try{let Q,w=G0(G0({},XW),Z),F=G0(G0({},J.headers),D==="POST"&&{"x-upsert":String(w.upsert)}),$=w.metadata;if(typeof Blob<"u"&&Y instanceof Blob){if(Q=new FormData,Q.append("cacheControl",w.cacheControl),$)Q.append("metadata",J.encodeMetadata($));Q.append("",Y)}else if(typeof FormData<"u"&&Y instanceof FormData){if(Q=Y,!Q.has("cacheControl"))Q.append("cacheControl",w.cacheControl);if($&&!Q.has("metadata"))Q.append("metadata",J.encodeMetadata($))}else{if(Q=Y,F["cache-control"]=`max-age=${w.cacheControl}`,F["content-type"]=w.contentType,$)F["x-metadata"]=J.toBase64(J.encodeMetadata($));if((typeof ReadableStream<"u"&&Q instanceof ReadableStream||Q&&typeof Q==="object"&&("pipe"in Q)&&typeof Q.pipe==="function")&&!w.duplex)w.duplex="half"}if(Z===null||Z===void 0?void 0:Z.headers)F=G0(G0({},F),Z.headers);let B=J._removeEmptyFolders(X),q=J._getFinalPath(B),G=await(D=="PUT"?kQ:Q8)(J.fetch,`${J.url}/object/${q}`,Q,G0({headers:F},(w===null||w===void 0?void 0:w.duplex)?{duplex:w.duplex}:{}));return{data:{path:B,id:G.Id,fullPath:G.Key},error:null}}catch(Q){if(J.shouldThrowOnError)throw Q;if(wD(Q))return{data:null,error:Q};throw Q}}async upload(D,X,Y){return this.uploadOrUpdate("POST",D,X,Y)}async uploadToSignedUrl(D,X,Y,Z){var J=this;let Q=J._removeEmptyFolders(D),w=J._getFinalPath(Q),F=new URL(J.url+`/object/upload/sign/${w}`);F.searchParams.set("token",X);try{let $,B=G0({upsert:XW.upsert},Z),q=G0(G0({},J.headers),{"x-upsert":String(B.upsert)});if(typeof Blob<"u"&&Y instanceof Blob)$=new FormData,$.append("cacheControl",B.cacheControl),$.append("",Y);else if(typeof FormData<"u"&&Y instanceof FormData)$=Y,$.append("cacheControl",B.cacheControl);else $=Y,q["cache-control"]=`max-age=${B.cacheControl}`,q["content-type"]=B.contentType;return{data:{path:Q,fullPath:(await kQ(J.fetch,F.toString(),$,{headers:q})).Key},error:null}}catch($){if(J.shouldThrowOnError)throw $;if(wD($))return{data:null,error:$};throw $}}async createSignedUploadUrl(D,X){var Y=this;try{let Z=Y._getFinalPath(D),J=G0({},Y.headers);if(X===null||X===void 0?void 0:X.upsert)J["x-upsert"]="true";let Q=await Q8(Y.fetch,`${Y.url}/object/upload/sign/${Z}`,{},{headers:J}),w=new URL(Y.url+Q.url),F=w.searchParams.get("token");if(!F)throw new M4("No token returned by API");return{data:{signedUrl:w.toString(),path:D,token:F},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async update(D,X,Y){return this.uploadOrUpdate("PUT",D,X,Y)}async move(D,X,Y){var Z=this;try{return{data:await Q8(Z.fetch,`${Z.url}/object/move`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers}),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async copy(D,X,Y){var Z=this;try{return{data:{path:(await Q8(Z.fetch,`${Z.url}/object/copy`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers})).Key},error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async createSignedUrl(D,X,Y){var Z=this;try{let J=Z._getFinalPath(D),Q=await Q8(Z.fetch,`${Z.url}/object/sign/${J}`,G0({expiresIn:X},(Y===null||Y===void 0?void 0:Y.transform)?{transform:Y.transform}:{}),{headers:Z.headers}),w=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return Q={signedUrl:encodeURI(`${Z.url}${Q.signedURL}${w}`)},{data:Q,error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async createSignedUrls(D,X,Y){var Z=this;try{let J=await Q8(Z.fetch,`${Z.url}/object/sign/${Z.bucketId}`,{expiresIn:X,paths:D},{headers:Z.headers}),Q=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return{data:J.map((w)=>G0(G0({},w),{},{signedUrl:w.signedURL?encodeURI(`${Z.url}${w.signedURL}${Q}`):null})),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}download(D,X){let Y=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image/authenticated":"object",Z=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{}),J=Z?`?${Z}`:"",Q=this._getFinalPath(D);return new Pv(()=>z4(this.fetch,`${this.url}/${Y}/${Q}${J}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}async info(D){var X=this;let Y=X._getFinalPath(D);try{return{data:yQ(await z4(X.fetch,`${X.url}/object/info/${Y}`,{headers:X.headers})),error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async exists(D){var X=this;let Y=X._getFinalPath(D);try{return await Iv(X.fetch,`${X.url}/object/${Y}`,{headers:X.headers}),{data:!0,error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(wD(Z)&&Z instanceof cX){let J=Z.originalError;if([400,404].includes(J===null||J===void 0?void 0:J.status))return{data:!1,error:Z}}throw Z}}getPublicUrl(D,X){let Y=this._getFinalPath(D),Z=[],J=(X===null||X===void 0?void 0:X.download)?`download=${X.download===!0?"":X.download}`:"";if(J!=="")Z.push(J);let Q=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image":"object",w=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{});if(w!=="")Z.push(w);let F=Z.join("&");if(F!=="")F=`?${F}`;return{data:{publicUrl:encodeURI(`${this.url}/${Q}/public/${Y}${F}`)}}}async remove(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/object/${X.bucketId}`,{prefixes:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async list(D,X,Y){var Z=this;try{let J=G0(G0(G0({},Sv),X),{},{prefix:D||""});return{data:await Q8(Z.fetch,`${Z.url}/object/list/${Z.bucketId}`,J,{headers:Z.headers},Y),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async listV2(D,X){var Y=this;try{let Z=G0({},D);return{data:await Q8(Y.fetch,`${Y.url}/object/list-v2/${Y.bucketId}`,Z,{headers:Y.headers},X),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}encodeMetadata(D){return JSON.stringify(D)}toBase64(D){if(typeof Buffer<"u")return Buffer.from(D).toString("base64");return btoa(D)}_getFinalPath(D){return`${this.bucketId}/${D.replace(/^\/+/,"")}`}_removeEmptyFolders(D){return D.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(D){let X=[];if(D.width)X.push(`width=${D.width}`);if(D.height)X.push(`height=${D.height}`);if(D.resize)X.push(`resize=${D.resize}`);if(D.format)X.push(`format=${D.format}`);if(D.quality)X.push(`quality=${D.quality}`);return X.join("&")}},QW="2.89.0",wW={"X-Client-Info":`storage-js/${QW}`},fv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1;let J=new URL(D);if(Z===null||Z===void 0?void 0:Z.useNewHostname){if(/supabase\.(co|in|red)$/.test(J.hostname)&&!J.hostname.includes("storage.supabase."))J.hostname=J.hostname.replace("supabase.","storage.supabase.")}this.url=J.href.replace(/\/$/,""),this.headers=G0(G0({},wW),X),this.fetch=uQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var X=this;try{let Y=X.listBucketOptionsToQueryString(D);return{data:await z4(X.fetch,`${X.url}/bucket${Y}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await z4(X.fetch,`${X.url}/bucket/${D}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async createBucket(D,X={public:!1}){var Y=this;try{return{data:await Q8(Y.fetch,`${Y.url}/bucket`,{id:D,name:D,type:X.type,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async updateBucket(D,X){var Y=this;try{return{data:await kQ(Y.fetch,`${Y.url}/bucket/${D}`,{id:D,name:D,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async emptyBucket(D){var X=this;try{return{data:await Q8(X.fetch,`${X.url}/bucket/${D}/empty`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}listBucketOptionsToQueryString(D){let X={};if(D){if("limit"in D)X.limit=String(D.limit);if("offset"in D)X.offset=String(D.offset);if(D.search)X.search=D.search;if(D.sortColumn)X.sortColumn=D.sortColumn;if(D.sortOrder)X.sortOrder=D.sortOrder}return Object.keys(X).length>0?"?"+new URLSearchParams(X).toString():""}},FW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},wW),X),this.fetch=uQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await Q8(X.fetch,`${X.url}/bucket`,{name:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async listBuckets(D){var X=this;try{let Y=new URLSearchParams;if((D===null||D===void 0?void 0:D.limit)!==void 0)Y.set("limit",D.limit.toString());if((D===null||D===void 0?void 0:D.offset)!==void 0)Y.set("offset",D.offset.toString());if(D===null||D===void 0?void 0:D.sortColumn)Y.set("sortColumn",D.sortColumn);if(D===null||D===void 0?void 0:D.sortOrder)Y.set("sortOrder",D.sortOrder);if(D===null||D===void 0?void 0:D.search)Y.set("search",D.search);let Z=Y.toString(),J=Z?`${X.url}/bucket?${Z}`:`${X.url}/bucket`;return{data:await z4(X.fetch,J,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}from(D){var X=this;if(!Nv(D))throw new M4("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let Y=new eO({baseUrl:this.url,catalogName:D,auth:{type:"custom",getHeaders:async()=>X.headers},fetch:this.fetch}),Z=this.shouldThrowOnError;return new Proxy(Y,{get(J,Q){let w=J[Q];if(typeof w!=="function")return w;return async(...F)=>{try{return{data:await w.apply(J,F),error:null}}catch($){if(Z)throw $;return{data:null,error:$}}}}})}},_Q={"X-Client-Info":`storage-js/${QW}`,"Content-Type":"application/json"},vQ=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function R1(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var dX=class extends vQ{constructor(D,X,Y){super(D);this.name="StorageVectorsApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},$W=class extends vQ{constructor(D,X){super(D);this.name="StorageVectorsUnknownError",this.originalError=X}},yv=function(D){return D.InternalError="InternalError",D.S3VectorConflictException="S3VectorConflictException",D.S3VectorNotFoundException="S3VectorNotFoundException",D.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",D.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",D.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded",D}({}),lX=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},kv=()=>{return Response},BW=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},uv=(D)=>{return Array.from(new Float32Array(D))},hv=(D,X)=>{if(X!==void 0&&D.float32.length!==X)throw Error(`Vector dimension mismatch: expected ${X}, got ${D.float32.length}`)},YW=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),_v=async(D,X,Y)=>{if(D&&typeof D==="object"&&"status"in D&&"ok"in D&&typeof D.status==="number"&&!(Y===null||Y===void 0?void 0:Y.noResolveJson)){let Z=D.status||500,J=D;if(typeof J.json==="function")J.json().then((Q)=>{let w=(Q===null||Q===void 0?void 0:Q.statusCode)||(Q===null||Q===void 0?void 0:Q.code)||Z+"";X(new dX(YW(Q),Z,w))}).catch(()=>{let Q=Z+"";X(new dX(J.statusText||`HTTP ${Z} error`,Z,Q))});else{let Q=Z+"";X(new dX(J.statusText||`HTTP ${Z} error`,Z,Q))}}else X(new $W(YW(D),D))},vv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(BW(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;return G0(G0({},J),Y)};async function bv(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,vv(X,Z,J,Q)).then(($)=>{if(!$.ok)throw $;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return $;let B=$.headers.get("content-type");if(!B||!B.includes("application/json"))return{};return $.json()}).then(($)=>w($)).catch(($)=>_v($,F,Z))})}async function y1(D,X,Y,Z,J){return bv(D,"POST",X,Z,J,Y)}var qW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/CreateIndex`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async getIndex(D,X){var Y=this;try{return{data:await y1(Y.fetch,`${Y.url}/GetIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(R1(Z))return{data:null,error:Z};throw Z}}async listIndexes(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/ListIndexes`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async deleteIndex(D,X){var Y=this;try{return{data:await y1(Y.fetch,`${Y.url}/DeleteIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers})||{},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(R1(Z))return{data:null,error:Z};throw Z}}},GW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async putVectors(D){var X=this;try{if(D.vectors.length<1||D.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return{data:await y1(X.fetch,`${X.url}/PutVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async getVectors(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/GetVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async listVectors(D){var X=this;try{if(D.segmentCount!==void 0){if(D.segmentCount<1||D.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(D.segmentIndex!==void 0){if(D.segmentIndex<0||D.segmentIndex>=D.segmentCount)throw Error(`segmentIndex must be between 0 and ${D.segmentCount-1}`)}}return{data:await y1(X.fetch,`${X.url}/ListVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async queryVectors(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/QueryVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async deleteVectors(D){var X=this;try{if(D.keys.length<1||D.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return{data:await y1(X.fetch,`${X.url}/DeleteVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}},OW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/GetVectorBucket`,{vectorBucketName:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async listBuckets(D={}){var X=this;try{return{data:await y1(X.fetch,`${X.url}/ListVectorBuckets`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}},WW=class extends OW{constructor(D,X={}){super(D,X.headers||{},X.fetch)}from(D){return new KW(this.url,this.headers,D,this.fetch)}async createBucket(D){var X=()=>super.createBucket,Y=this;return X().call(Y,D)}async getBucket(D){var X=()=>super.getBucket,Y=this;return X().call(Y,D)}async listBuckets(D={}){var X=()=>super.listBuckets,Y=this;return X().call(Y,D)}async deleteBucket(D){var X=()=>super.deleteBucket,Y=this;return X().call(Y,D)}},KW=class extends qW{constructor(D,X,Y,Z){super(D,X,Z);this.vectorBucketName=Y}async createIndex(D){var X=()=>super.createIndex,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async listIndexes(D={}){var X=()=>super.listIndexes,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async getIndex(D){var X=()=>super.getIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}async deleteIndex(D){var X=()=>super.deleteIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}index(D){return new HW(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},HW=class extends GW{constructor(D,X,Y,Z,J){super(D,X,J);this.vectorBucketName=Y,this.indexName=Z}async putVectors(D){var X=()=>super.putVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async getVectors(D){var X=()=>super.getVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async listVectors(D={}){var X=()=>super.listVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async queryVectors(D){var X=()=>super.queryVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async deleteVectors(D){var X=()=>super.deleteVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}},bQ=class extends fv{constructor(D,X={},Y,Z){super(D,X,Y,Z)}from(D){return new xv(this.url,this.headers,D,this.fetch)}get vectors(){return new WW(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new FW(this.url+"/iceberg",this.headers,this.fetch)}};var wK=L0(Fw(),1);J0(Z0,L0(xQ(),1),module.exports);J0(Z0,L0(Fw(),1),module.exports);var Kg="2.89.0",A4="";if(typeof Deno<"u")A4="deno";else if(typeof document<"u")A4="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")A4="react-native";else A4="node";var Hg={"X-Client-Info":`supabase-js-${A4}/${Kg}`},zg={headers:Hg},Mg={schema:"public"},Vg={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Lg={};function E4(D){return E4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},E4(D)}function Ug(D,X){if(E4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(E4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Ng(D){var X=Ug(D,"string");return E4(X)=="symbol"?X:X+""}function Rg(D,X,Y){return(X=Ng(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function JK(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function UD(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?JK(Object(Y),!0).forEach(function(Z){Rg(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):JK(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var Ag=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Eg=()=>{return Headers},Cg=(D,X,Y)=>{let Z=Ag(Y),J=Eg();return async(Q,w)=>{var F;let $=(F=await X())!==null&&F!==void 0?F:D,B=new J(w===null||w===void 0?void 0:w.headers);if(!B.has("apikey"))B.set("apikey",D);if(!B.has("Authorization"))B.set("Authorization",`Bearer ${$}`);return Z(Q,UD(UD({},w),{},{headers:B}))}};function jg(D){return D.endsWith("/")?D:D+"/"}function Ig(D,X){var Y,Z;let{db:J,auth:Q,realtime:w,global:F}=D,{db:$,auth:B,realtime:q,global:G}=X,W={db:UD(UD({},$),J),auth:UD(UD({},B),Q),realtime:UD(UD({},q),w),storage:{},global:UD(UD(UD({},G),F),{},{headers:UD(UD({},(Y=G===null||G===void 0?void 0:G.headers)!==null&&Y!==void 0?Y:{}),(Z=F===null||F===void 0?void 0:F.headers)!==null&&Z!==void 0?Z:{})}),accessToken:async()=>""};if(D.accessToken)W.accessToken=D.accessToken;else delete W.accessToken;return W}function Tg(D){let X=D===null||D===void 0?void 0:D.trim();if(!X)throw Error("supabaseUrl is required.");if(!X.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(jg(X))}catch(Y){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var Pg=class extends wK.AuthClient{constructor(D){super(D)}},FK=class{constructor(D,X,Y){var Z,J;this.supabaseUrl=D,this.supabaseKey=X;let Q=Tg(D);if(!X)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",Q),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",Q),this.storageUrl=new URL("storage/v1",Q),this.functionsUrl=new URL("functions/v1",Q);let w=`sb-${Q.hostname.split(".")[0]}-auth-token`,F={db:Mg,realtime:Lg,auth:UD(UD({},Vg),{},{storageKey:w}),global:zg},$=Ig(Y!==null&&Y!==void 0?Y:{},F);if(this.storageKey=(Z=$.auth.storageKey)!==null&&Z!==void 0?Z:"",this.headers=(J=$.global.headers)!==null&&J!==void 0?J:{},!$.accessToken){var B;this.auth=this._initSupabaseAuthClient((B=$.auth)!==null&&B!==void 0?B:{},this.headers,$.global.fetch)}else this.accessToken=$.accessToken,this.auth=new Proxy({},{get:(q,G)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(G)} is not possible`)}});if(this.fetch=Cg(X,this._getAccessToken.bind(this),$.global.fetch),this.realtime=this._initRealtimeClient(UD({headers:this.headers,accessToken:this._getAccessToken.bind(this)},$.realtime)),this.accessToken)this.accessToken().then((q)=>this.realtime.setAuth(q)).catch((q)=>console.warn("Failed to set initial Realtime auth token:",q));if(this.rest=new yX(new URL("rest/v1",Q).href,{headers:this.headers,schema:$.db.schema,fetch:this.fetch}),this.storage=new bQ(this.storageUrl.href,this.headers,this.fetch,Y===null||Y===void 0?void 0:Y.storage),!$.accessToken)this._listenForAuthEvents()}get functions(){return new oD.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(D){return this.rest.from(D)}schema(D){return this.rest.schema(D)}rpc(D,X={},Y={head:!1,get:!1,count:void 0}){return this.rest.rpc(D,X,Y)}channel(D,X={config:{}}){return this.realtime.channel(D,X)}getChannels(){return this.realtime.getChannels()}removeChannel(D){return this.realtime.removeChannel(D)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var D=this,X,Y;if(D.accessToken)return await D.accessToken();let{data:Z}=await D.auth.getSession();return(X=(Y=Z.session)===null||Y===void 0?void 0:Y.access_token)!==null&&X!==void 0?X:D.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,storageKey:Q,flowType:w,lock:F,debug:$,throwOnError:B},q,G){let W={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Pg({url:this.authUrl.href,headers:UD(UD({},W),q),storageKey:Q,autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,flowType:w,lock:F,debug:$,throwOnError:B,fetch:G,hasCustomAuthorizationHeader:Object.keys(this.headers).some((O)=>O.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new QK.RealtimeClient(this.realtimeUrl.href,UD(UD({},D),{},{params:UD(UD({},{apikey:this.supabaseKey}),D===null||D===void 0?void 0:D.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((D,X)=>{this._handleTokenChanged(D,"CLIENT",X===null||X===void 0?void 0:X.access_token)})}_handleTokenChanged(D,X,Y){if((D==="TOKEN_REFRESHED"||D==="SIGNED_IN")&&this.changedAccessToken!==Y)this.changedAccessToken=Y,this.realtime.setAuth(Y);else if(D==="SIGNED_OUT"){if(this.realtime.setAuth(),X=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},$w=(D,X,Y)=>{return new FK(D,X,Y)};function Sg(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let D=process.version;if(D===void 0||D===null)return!1;let X=D.match(/^v(\d+)\./);if(!X)return!1;return parseInt(X[1],10)<=18}if(Sg())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var Pq=L0(Kw(),1),Iy=L0(HH(),1),BJ=L0($Z(),1);var t8={name:"@capgo/cli",version:"7.66.4",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};async function BZ(D){try{let Y=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Z=await fetch(Y,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Z.ok)return null;return(await Z.json())["dist-tags"]?.latest||null}catch{return null}}async function s0(){let D=await BZ("@capgo/cli")??"",X=D?.split(".")[0];if(D!==t8.version)H.warning(`\uD83D\uDEA8 You are using @capgo/cli@${t8.version} it's not the latest version.
|
|
314
|
+
${$.stack}`}else{var O;F=(O=Q===null||Q===void 0?void 0:Q.stack)!==null&&O!==void 0?O:""}return{error:{message:`${(w=Q===null||Q===void 0?void 0:Q.name)!==null&&w!==void 0?w:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,details:F,hint:"",code:""},data:null,count:null,status:0,statusText:""}});return J.then(D,X)}returns(){return this}overrideTypes(){return this}},MQ=class extends zQ{select(D){let X=!1,Y=(D!==null&&D!==void 0?D:"*").split("").map((Z)=>{if(/\s/.test(Z)&&!X)return"";if(Z==='"')X=!X;return Z}).join("");return this.url.searchParams.set("select",Y),this.headers.append("Prefer","return=representation"),this}order(D,{ascending:X=!0,nullsFirst:Y,foreignTable:Z,referencedTable:J=Z}={}){let Q=J?`${J}.order`:"order",w=this.url.searchParams.get(Q);return this.url.searchParams.set(Q,`${w?`${w},`:""}${D}.${X?"asc":"desc"}${Y===void 0?"":Y?".nullsfirst":".nullslast"}`),this}limit(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=typeof Y>"u"?"limit":`${Y}.limit`;return this.url.searchParams.set(Z,`${D}`),this}range(D,X,{foreignTable:Y,referencedTable:Z=Y}={}){let J=typeof Z>"u"?"offset":`${Z}.offset`,Q=typeof Z>"u"?"limit":`${Z}.limit`;return this.url.searchParams.set(J,`${D}`),this.url.searchParams.set(Q,`${X-D+1}`),this}abortSignal(D){return this.signal=D,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){if(this.method==="GET")this.headers.set("Accept","application/json");else this.headers.set("Accept","application/vnd.pgrst.object+json");return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:D=!1,verbose:X=!1,settings:Y=!1,buffers:Z=!1,wal:J=!1,format:Q="text"}={}){var w;let F=[D?"analyze":null,X?"verbose":null,Y?"settings":null,Z?"buffers":null,J?"wal":null].filter(Boolean).join("|"),$=(w=this.headers.get("Accept"))!==null&&w!==void 0?w:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${Q}; for="${$}"; options=${F};`),Q==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(D){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${D}`),this}},yO=new RegExp("[,()]"),E6=class extends MQ{eq(D,X){return this.url.searchParams.append(D,`eq.${X}`),this}neq(D,X){return this.url.searchParams.append(D,`neq.${X}`),this}gt(D,X){return this.url.searchParams.append(D,`gt.${X}`),this}gte(D,X){return this.url.searchParams.append(D,`gte.${X}`),this}lt(D,X){return this.url.searchParams.append(D,`lt.${X}`),this}lte(D,X){return this.url.searchParams.append(D,`lte.${X}`),this}like(D,X){return this.url.searchParams.append(D,`like.${X}`),this}likeAllOf(D,X){return this.url.searchParams.append(D,`like(all).{${X.join(",")}}`),this}likeAnyOf(D,X){return this.url.searchParams.append(D,`like(any).{${X.join(",")}}`),this}ilike(D,X){return this.url.searchParams.append(D,`ilike.${X}`),this}ilikeAllOf(D,X){return this.url.searchParams.append(D,`ilike(all).{${X.join(",")}}`),this}ilikeAnyOf(D,X){return this.url.searchParams.append(D,`ilike(any).{${X.join(",")}}`),this}regexMatch(D,X){return this.url.searchParams.append(D,`match.${X}`),this}regexIMatch(D,X){return this.url.searchParams.append(D,`imatch.${X}`),this}is(D,X){return this.url.searchParams.append(D,`is.${X}`),this}isDistinct(D,X){return this.url.searchParams.append(D,`isdistinct.${X}`),this}in(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&yO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`in.(${Y})`),this}notIn(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&yO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`not.in.(${Y})`),this}contains(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cs.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cs.{${X.join(",")}}`);else this.url.searchParams.append(D,`cs.${JSON.stringify(X)}`);return this}containedBy(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cd.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cd.{${X.join(",")}}`);else this.url.searchParams.append(D,`cd.${JSON.stringify(X)}`);return this}rangeGt(D,X){return this.url.searchParams.append(D,`sr.${X}`),this}rangeGte(D,X){return this.url.searchParams.append(D,`nxl.${X}`),this}rangeLt(D,X){return this.url.searchParams.append(D,`sl.${X}`),this}rangeLte(D,X){return this.url.searchParams.append(D,`nxr.${X}`),this}rangeAdjacent(D,X){return this.url.searchParams.append(D,`adj.${X}`),this}overlaps(D,X){if(typeof X==="string")this.url.searchParams.append(D,`ov.${X}`);else this.url.searchParams.append(D,`ov.{${X.join(",")}}`);return this}textSearch(D,X,{config:Y,type:Z}={}){let J="";if(Z==="plain")J="pl";else if(Z==="phrase")J="ph";else if(Z==="websearch")J="w";let Q=Y===void 0?"":`(${Y})`;return this.url.searchParams.append(D,`${J}fts${Q}.${X}`),this}match(D){return Object.entries(D).forEach(([X,Y])=>{this.url.searchParams.append(X,`eq.${Y}`)}),this}not(D,X,Y){return this.url.searchParams.append(D,`not.${X}.${Y}`),this}or(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=Y?`${Y}.or`:"or";return this.url.searchParams.append(Z,`(${D})`),this}filter(D,X,Y){return this.url.searchParams.append(D,`${X}.${Y}`),this}},VQ=class{constructor(D,{headers:X={},schema:Y,fetch:Z}){this.url=D,this.headers=new Headers(X),this.schema=Y,this.fetch=Z}select(D,X){let{head:Y=!1,count:Z}=X!==null&&X!==void 0?X:{},J=Y?"HEAD":"GET",Q=!1,w=(D!==null&&D!==void 0?D:"*").split("").map((F)=>{if(/\s/.test(F)&&!Q)return"";if(F==='"')Q=!Q;return F}).join("");if(this.url.searchParams.set("select",w),Z)this.headers.append("Prefer",`count=${Z}`);return new E6({method:J,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(D,{count:X,defaultToNull:Y=!0}={}){var Z;let J="POST";if(X)this.headers.append("Prefer",`count=${X}`);if(!Y)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let Q=D.reduce((w,F)=>w.concat(Object.keys(F)),[]);if(Q.length>0){let w=[...new Set(Q)].map((F)=>`"${F}"`);this.url.searchParams.set("columns",w.join(","))}}return new E6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Z=this.fetch)!==null&&Z!==void 0?Z:fetch})}upsert(D,{onConflict:X,ignoreDuplicates:Y=!1,count:Z,defaultToNull:J=!0}={}){var Q;let w="POST";if(this.headers.append("Prefer",`resolution=${Y?"ignore":"merge"}-duplicates`),X!==void 0)this.url.searchParams.set("on_conflict",X);if(Z)this.headers.append("Prefer",`count=${Z}`);if(!J)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let F=D.reduce(($,B)=>$.concat(Object.keys(B)),[]);if(F.length>0){let $=[...new Set(F)].map((B)=>`"${B}"`);this.url.searchParams.set("columns",$.join(","))}}return new E6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch})}update(D,{count:X}={}){var Y;let Z="PATCH";if(X)this.headers.append("Prefer",`count=${X}`);return new E6({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Y=this.fetch)!==null&&Y!==void 0?Y:fetch})}delete({count:D}={}){var X;let Y="DELETE";if(D)this.headers.append("Prefer",`count=${D}`);return new E6({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}},yX=class D{constructor(X,{headers:Y={},schema:Z,fetch:J}={}){this.url=X,this.headers=new Headers(Y),this.schemaName=Z,this.fetch=J}from(X){if(!X||typeof X!=="string"||X.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new VQ(new URL(`${this.url}/${X}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(X){return new D(this.url,{headers:this.headers,schema:X,fetch:this.fetch})}rpc(X,Y={},{head:Z=!1,get:J=!1,count:Q}={}){var w;let F,$=new URL(`${this.url}/rpc/${X}`),B;if(Z||J)F=Z?"HEAD":"GET",Object.entries(Y).filter(([G,W])=>W!==void 0).map(([G,W])=>[G,Array.isArray(W)?`{${W.join(",")}}`:`${W}`]).forEach(([G,W])=>{$.searchParams.append(G,W)});else F="POST",B=Y;let q=new Headers(this.headers);if(Q)q.set("Prefer",`count=${Q}`);return new E6({method:F,url:$,headers:q,schema:this.schemaName,body:B,fetch:(w=this.fetch)!==null&&w!==void 0?w:fetch})}},l_={PostgrestClient:yX,PostgrestQueryBuilder:VQ,PostgrestFilterBuilder:E6,PostgrestTransformBuilder:MQ,PostgrestBuilder:zQ,PostgrestError:$4};var QK=L0(xQ(),1);var zW={};s7(zW,{validateVectorDimension:()=>hv,resolveResponse:()=>kv,resolveFetch:()=>lX,normalizeToFloat32:()=>uv,isStorageVectorsError:()=>R1,isStorageError:()=>wD,isPlainObject:()=>BW,VectorIndexScope:()=>HW,VectorIndexApi:()=>qW,VectorDataApi:()=>GW,VectorBucketScope:()=>KW,VectorBucketApi:()=>OW,StorageVectorsUnknownError:()=>$W,StorageVectorsErrorCode:()=>yv,StorageVectorsError:()=>vQ,StorageVectorsClient:()=>WW,StorageVectorsApiError:()=>dX,StorageUnknownError:()=>cX,StorageError:()=>M4,StorageClient:()=>bQ,StorageApiError:()=>ZW,StorageAnalyticsClient:()=>FW});var K4=class extends Error{constructor(D,X){super(D);this.name="IcebergError",this.status=X.status,this.icebergType=X.icebergType,this.icebergCode=X.icebergCode,this.details=X.details,this.isCommitStateUnknown=X.icebergType==="CommitStateUnknownException"||[500,502,504].includes(X.status)&&X.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Kv(D,X,Y){let Z=new URL(X,D);if(Y){for(let[J,Q]of Object.entries(Y))if(Q!==void 0)Z.searchParams.set(J,Q)}return Z.toString()}async function Hv(D){if(!D||D.type==="none")return{};if(D.type==="bearer")return{Authorization:`Bearer ${D.token}`};if(D.type==="header")return{[D.name]:D.value};if(D.type==="custom")return await D.getHeaders();return{}}function zv(D){let X=D.fetchImpl??globalThis.fetch;return{async request({method:Y,path:Z,query:J,body:Q,headers:w}){let F=Kv(D.baseUrl,Z,J),$=await Hv(D.auth),B=await X(F,{method:Y,headers:{...Q?{"Content-Type":"application/json"}:{},...$,...w},body:Q?JSON.stringify(Q):void 0}),q=await B.text(),G=(B.headers.get("content-type")||"").includes("application/json"),W=G&&q?JSON.parse(q):q;if(!B.ok){let O=G?W:void 0,K=O?.error;throw new K4(K?.message??`Request failed with status ${B.status}`,{status:B.status,icebergType:K?.type,icebergCode:K?.code,details:O})}return{status:B.status,headers:B.headers,data:W}}}}function mX(D){return D.join("\x1F")}var Mv=class{constructor(D,X=""){this.client=D,this.prefix=X}async listNamespaces(D){let X=D?{parent:mX(D.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:X})).data.namespaces.map((Z)=>({namespace:Z}))}async createNamespace(D,X){let Y={namespace:D.namespace,properties:X?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:Y})).data}async dropNamespace(D){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${mX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${mX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${mX(D.namespace)}`}),!0}catch(X){if(X instanceof K4&&X.status===404)return!1;throw X}}async createNamespaceIfNotExists(D,X){try{return await this.createNamespace(D,X)}catch(Y){if(Y instanceof K4&&Y.status===409)return;throw Y}}};function I5(D){return D.join("\x1F")}var Vv=class{constructor(D,X="",Y){this.client=D,this.prefix=X,this.accessDelegation=Y}async listTables(D){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`})).data.identifiers}async createTable(D,X){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`,body:X,headers:Y})).data.metadata}async updateTable(D,X){let Y=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,body:X});return{"metadata-location":Y.data["metadata-location"],metadata:Y.data.metadata}}async dropTable(D,X){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,query:{purgeRequested:String(X?.purge??!1)}})}async loadTable(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X})).data.metadata}async tableExists(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X}),!0}catch(Y){if(Y instanceof K4&&Y.status===404)return!1;throw Y}}async createTableIfNotExists(D,X){try{return await this.createTable(D,X)}catch(Y){if(Y instanceof K4&&Y.status===409)return await this.loadTable({namespace:D.namespace,name:X.name});throw Y}}},eO=class{constructor(D){let X="v1";if(D.catalogName)X+=`/${D.catalogName}`;let Y=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=zv({baseUrl:Y,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Mv(this.client,X),this.tableOps=new Vv(this.client,X,this.accessDelegation)}async listNamespaces(D){return this.namespaceOps.listNamespaces(D)}async createNamespace(D,X){return this.namespaceOps.createNamespace(D,X)}async dropNamespace(D){await this.namespaceOps.dropNamespace(D)}async loadNamespaceMetadata(D){return this.namespaceOps.loadNamespaceMetadata(D)}async listTables(D){return this.tableOps.listTables(D)}async createTable(D,X){return this.tableOps.createTable(D,X)}async updateTable(D,X){return this.tableOps.updateTable(D,X)}async dropTable(D,X){await this.tableOps.dropTable(D,X)}async loadTable(D){return this.tableOps.loadTable(D)}async namespaceExists(D){return this.namespaceOps.namespaceExists(D)}async tableExists(D){return this.tableOps.tableExists(D)}async createNamespaceIfNotExists(D,X){return this.namespaceOps.createNamespaceIfNotExists(D,X)}async createTableIfNotExists(D,X){return this.tableOps.createTableIfNotExists(D,X)}};var M4=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function wD(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var ZW=class extends M4{constructor(D,X,Y){super(D);this.name="StorageApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},cX=class extends M4{constructor(D,X){super(D);this.name="StorageUnknownError",this.originalError=X}},uQ=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Lv=()=>{return Response},yQ=(D)=>{if(Array.isArray(D))return D.map((Y)=>yQ(Y));else if(typeof D==="function"||D!==Object(D))return D;let X={};return Object.entries(D).forEach(([Y,Z])=>{let J=Y.replace(/([-_][a-z])/gi,(Q)=>Q.toUpperCase().replace(/[-_]/g,""));X[J]=yQ(Z)}),X},Uv=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},Nv=(D)=>{if(!D||typeof D!=="string")return!1;if(D.length===0||D.length>100)return!1;if(D.trim()!==D)return!1;if(D.includes("/")||D.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(D)};function H4(D){return H4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},H4(D)}function Rv(D,X){if(H4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(H4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Av(D){var X=Rv(D,"string");return H4(X)=="symbol"?X:X+""}function Ev(D,X,Y){return(X=Av(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function DW(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function G0(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?DW(Object(Y),!0).forEach(function(Z){Ev(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):DW(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var fQ=(D)=>{var X;return D.msg||D.message||D.error_description||(typeof D.error==="string"?D.error:(X=D.error)===null||X===void 0?void 0:X.message)||JSON.stringify(D)},Cv=async(D,X,Y)=>{if(D instanceof await Lv()&&!(Y===null||Y===void 0?void 0:Y.noResolveJson))D.json().then((Z)=>{let J=D.status||500,Q=(Z===null||Z===void 0?void 0:Z.statusCode)||J+"";X(new ZW(fQ(Z),J,Q))}).catch((Z)=>{X(new cX(fQ(Z),Z))});else X(new cX(fQ(D),D))},jv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(Uv(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;if(X===null||X===void 0?void 0:X.duplex)J.duplex=X.duplex;return G0(G0({},J),Y)};async function V4(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,jv(X,Z,J,Q)).then(($)=>{if(!$.ok)throw $;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return $;return $.json()}).then(($)=>w($)).catch(($)=>Cv($,F,Z))})}async function z4(D,X,Y,Z){return V4(D,"GET",X,Y,Z)}async function Q8(D,X,Y,Z,J){return V4(D,"POST",X,Z,J,Y)}async function kQ(D,X,Y,Z,J){return V4(D,"PUT",X,Z,J,Y)}async function Iv(D,X,Y,Z){return V4(D,"HEAD",X,G0(G0({},Y),{},{noResolveJson:!0}),Z)}async function hQ(D,X,Y,Z,J){return V4(D,"DELETE",X,Z,J,Y)}var Tv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X}then(D,X){return this.execute().then(D,X)}async execute(){var D=this;try{return{data:(await D.downloadFn()).body,error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(wD(X))return{data:null,error:X};throw X}}},JW;JW=Symbol.toStringTag;var Pv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X,this[JW]="BlobDownloadBuilder",this.promise=null}asStream(){return new Tv(this.downloadFn,this.shouldThrowOnError)}then(D,X){return this.getPromise().then(D,X)}catch(D){return this.getPromise().catch(D)}finally(D){return this.getPromise().finally(D)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var D=this;try{return{data:await(await D.downloadFn()).blob(),error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(wD(X))return{data:null,error:X};throw X}}},Sv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},XW={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},xv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1,this.url=D,this.headers=X,this.bucketId=Y,this.fetch=uQ(Z)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,X,Y,Z){var J=this;try{let Q,w=G0(G0({},XW),Z),F=G0(G0({},J.headers),D==="POST"&&{"x-upsert":String(w.upsert)}),$=w.metadata;if(typeof Blob<"u"&&Y instanceof Blob){if(Q=new FormData,Q.append("cacheControl",w.cacheControl),$)Q.append("metadata",J.encodeMetadata($));Q.append("",Y)}else if(typeof FormData<"u"&&Y instanceof FormData){if(Q=Y,!Q.has("cacheControl"))Q.append("cacheControl",w.cacheControl);if($&&!Q.has("metadata"))Q.append("metadata",J.encodeMetadata($))}else{if(Q=Y,F["cache-control"]=`max-age=${w.cacheControl}`,F["content-type"]=w.contentType,$)F["x-metadata"]=J.toBase64(J.encodeMetadata($));if((typeof ReadableStream<"u"&&Q instanceof ReadableStream||Q&&typeof Q==="object"&&("pipe"in Q)&&typeof Q.pipe==="function")&&!w.duplex)w.duplex="half"}if(Z===null||Z===void 0?void 0:Z.headers)F=G0(G0({},F),Z.headers);let B=J._removeEmptyFolders(X),q=J._getFinalPath(B),G=await(D=="PUT"?kQ:Q8)(J.fetch,`${J.url}/object/${q}`,Q,G0({headers:F},(w===null||w===void 0?void 0:w.duplex)?{duplex:w.duplex}:{}));return{data:{path:B,id:G.Id,fullPath:G.Key},error:null}}catch(Q){if(J.shouldThrowOnError)throw Q;if(wD(Q))return{data:null,error:Q};throw Q}}async upload(D,X,Y){return this.uploadOrUpdate("POST",D,X,Y)}async uploadToSignedUrl(D,X,Y,Z){var J=this;let Q=J._removeEmptyFolders(D),w=J._getFinalPath(Q),F=new URL(J.url+`/object/upload/sign/${w}`);F.searchParams.set("token",X);try{let $,B=G0({upsert:XW.upsert},Z),q=G0(G0({},J.headers),{"x-upsert":String(B.upsert)});if(typeof Blob<"u"&&Y instanceof Blob)$=new FormData,$.append("cacheControl",B.cacheControl),$.append("",Y);else if(typeof FormData<"u"&&Y instanceof FormData)$=Y,$.append("cacheControl",B.cacheControl);else $=Y,q["cache-control"]=`max-age=${B.cacheControl}`,q["content-type"]=B.contentType;return{data:{path:Q,fullPath:(await kQ(J.fetch,F.toString(),$,{headers:q})).Key},error:null}}catch($){if(J.shouldThrowOnError)throw $;if(wD($))return{data:null,error:$};throw $}}async createSignedUploadUrl(D,X){var Y=this;try{let Z=Y._getFinalPath(D),J=G0({},Y.headers);if(X===null||X===void 0?void 0:X.upsert)J["x-upsert"]="true";let Q=await Q8(Y.fetch,`${Y.url}/object/upload/sign/${Z}`,{},{headers:J}),w=new URL(Y.url+Q.url),F=w.searchParams.get("token");if(!F)throw new M4("No token returned by API");return{data:{signedUrl:w.toString(),path:D,token:F},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async update(D,X,Y){return this.uploadOrUpdate("PUT",D,X,Y)}async move(D,X,Y){var Z=this;try{return{data:await Q8(Z.fetch,`${Z.url}/object/move`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers}),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async copy(D,X,Y){var Z=this;try{return{data:{path:(await Q8(Z.fetch,`${Z.url}/object/copy`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers})).Key},error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async createSignedUrl(D,X,Y){var Z=this;try{let J=Z._getFinalPath(D),Q=await Q8(Z.fetch,`${Z.url}/object/sign/${J}`,G0({expiresIn:X},(Y===null||Y===void 0?void 0:Y.transform)?{transform:Y.transform}:{}),{headers:Z.headers}),w=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return Q={signedUrl:encodeURI(`${Z.url}${Q.signedURL}${w}`)},{data:Q,error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async createSignedUrls(D,X,Y){var Z=this;try{let J=await Q8(Z.fetch,`${Z.url}/object/sign/${Z.bucketId}`,{expiresIn:X,paths:D},{headers:Z.headers}),Q=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return{data:J.map((w)=>G0(G0({},w),{},{signedUrl:w.signedURL?encodeURI(`${Z.url}${w.signedURL}${Q}`):null})),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}download(D,X){let Y=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image/authenticated":"object",Z=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{}),J=Z?`?${Z}`:"",Q=this._getFinalPath(D);return new Pv(()=>z4(this.fetch,`${this.url}/${Y}/${Q}${J}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}async info(D){var X=this;let Y=X._getFinalPath(D);try{return{data:yQ(await z4(X.fetch,`${X.url}/object/info/${Y}`,{headers:X.headers})),error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async exists(D){var X=this;let Y=X._getFinalPath(D);try{return await Iv(X.fetch,`${X.url}/object/${Y}`,{headers:X.headers}),{data:!0,error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(wD(Z)&&Z instanceof cX){let J=Z.originalError;if([400,404].includes(J===null||J===void 0?void 0:J.status))return{data:!1,error:Z}}throw Z}}getPublicUrl(D,X){let Y=this._getFinalPath(D),Z=[],J=(X===null||X===void 0?void 0:X.download)?`download=${X.download===!0?"":X.download}`:"";if(J!=="")Z.push(J);let Q=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image":"object",w=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{});if(w!=="")Z.push(w);let F=Z.join("&");if(F!=="")F=`?${F}`;return{data:{publicUrl:encodeURI(`${this.url}/${Q}/public/${Y}${F}`)}}}async remove(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/object/${X.bucketId}`,{prefixes:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async list(D,X,Y){var Z=this;try{let J=G0(G0(G0({},Sv),X),{},{prefix:D||""});return{data:await Q8(Z.fetch,`${Z.url}/object/list/${Z.bucketId}`,J,{headers:Z.headers},Y),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async listV2(D,X){var Y=this;try{let Z=G0({},D);return{data:await Q8(Y.fetch,`${Y.url}/object/list-v2/${Y.bucketId}`,Z,{headers:Y.headers},X),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}encodeMetadata(D){return JSON.stringify(D)}toBase64(D){if(typeof Buffer<"u")return Buffer.from(D).toString("base64");return btoa(D)}_getFinalPath(D){return`${this.bucketId}/${D.replace(/^\/+/,"")}`}_removeEmptyFolders(D){return D.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(D){let X=[];if(D.width)X.push(`width=${D.width}`);if(D.height)X.push(`height=${D.height}`);if(D.resize)X.push(`resize=${D.resize}`);if(D.format)X.push(`format=${D.format}`);if(D.quality)X.push(`quality=${D.quality}`);return X.join("&")}},QW="2.89.0",wW={"X-Client-Info":`storage-js/${QW}`},fv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1;let J=new URL(D);if(Z===null||Z===void 0?void 0:Z.useNewHostname){if(/supabase\.(co|in|red)$/.test(J.hostname)&&!J.hostname.includes("storage.supabase."))J.hostname=J.hostname.replace("supabase.","storage.supabase.")}this.url=J.href.replace(/\/$/,""),this.headers=G0(G0({},wW),X),this.fetch=uQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var X=this;try{let Y=X.listBucketOptionsToQueryString(D);return{data:await z4(X.fetch,`${X.url}/bucket${Y}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await z4(X.fetch,`${X.url}/bucket/${D}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async createBucket(D,X={public:!1}){var Y=this;try{return{data:await Q8(Y.fetch,`${Y.url}/bucket`,{id:D,name:D,type:X.type,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async updateBucket(D,X){var Y=this;try{return{data:await kQ(Y.fetch,`${Y.url}/bucket/${D}`,{id:D,name:D,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async emptyBucket(D){var X=this;try{return{data:await Q8(X.fetch,`${X.url}/bucket/${D}/empty`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}listBucketOptionsToQueryString(D){let X={};if(D){if("limit"in D)X.limit=String(D.limit);if("offset"in D)X.offset=String(D.offset);if(D.search)X.search=D.search;if(D.sortColumn)X.sortColumn=D.sortColumn;if(D.sortOrder)X.sortOrder=D.sortOrder}return Object.keys(X).length>0?"?"+new URLSearchParams(X).toString():""}},FW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},wW),X),this.fetch=uQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await Q8(X.fetch,`${X.url}/bucket`,{name:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async listBuckets(D){var X=this;try{let Y=new URLSearchParams;if((D===null||D===void 0?void 0:D.limit)!==void 0)Y.set("limit",D.limit.toString());if((D===null||D===void 0?void 0:D.offset)!==void 0)Y.set("offset",D.offset.toString());if(D===null||D===void 0?void 0:D.sortColumn)Y.set("sortColumn",D.sortColumn);if(D===null||D===void 0?void 0:D.sortOrder)Y.set("sortOrder",D.sortOrder);if(D===null||D===void 0?void 0:D.search)Y.set("search",D.search);let Z=Y.toString(),J=Z?`${X.url}/bucket?${Z}`:`${X.url}/bucket`;return{data:await z4(X.fetch,J,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}from(D){var X=this;if(!Nv(D))throw new M4("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let Y=new eO({baseUrl:this.url,catalogName:D,auth:{type:"custom",getHeaders:async()=>X.headers},fetch:this.fetch}),Z=this.shouldThrowOnError;return new Proxy(Y,{get(J,Q){let w=J[Q];if(typeof w!=="function")return w;return async(...F)=>{try{return{data:await w.apply(J,F),error:null}}catch($){if(Z)throw $;return{data:null,error:$}}}}})}},_Q={"X-Client-Info":`storage-js/${QW}`,"Content-Type":"application/json"},vQ=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function R1(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var dX=class extends vQ{constructor(D,X,Y){super(D);this.name="StorageVectorsApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},$W=class extends vQ{constructor(D,X){super(D);this.name="StorageVectorsUnknownError",this.originalError=X}},yv=function(D){return D.InternalError="InternalError",D.S3VectorConflictException="S3VectorConflictException",D.S3VectorNotFoundException="S3VectorNotFoundException",D.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",D.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",D.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded",D}({}),lX=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},kv=()=>{return Response},BW=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},uv=(D)=>{return Array.from(new Float32Array(D))},hv=(D,X)=>{if(X!==void 0&&D.float32.length!==X)throw Error(`Vector dimension mismatch: expected ${X}, got ${D.float32.length}`)},YW=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),_v=async(D,X,Y)=>{if(D&&typeof D==="object"&&"status"in D&&"ok"in D&&typeof D.status==="number"&&!(Y===null||Y===void 0?void 0:Y.noResolveJson)){let Z=D.status||500,J=D;if(typeof J.json==="function")J.json().then((Q)=>{let w=(Q===null||Q===void 0?void 0:Q.statusCode)||(Q===null||Q===void 0?void 0:Q.code)||Z+"";X(new dX(YW(Q),Z,w))}).catch(()=>{let Q=Z+"";X(new dX(J.statusText||`HTTP ${Z} error`,Z,Q))});else{let Q=Z+"";X(new dX(J.statusText||`HTTP ${Z} error`,Z,Q))}}else X(new $W(YW(D),D))},vv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(BW(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;return G0(G0({},J),Y)};async function bv(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,vv(X,Z,J,Q)).then(($)=>{if(!$.ok)throw $;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return $;let B=$.headers.get("content-type");if(!B||!B.includes("application/json"))return{};return $.json()}).then(($)=>w($)).catch(($)=>_v($,F,Z))})}async function y1(D,X,Y,Z,J){return bv(D,"POST",X,Z,J,Y)}var qW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/CreateIndex`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async getIndex(D,X){var Y=this;try{return{data:await y1(Y.fetch,`${Y.url}/GetIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(R1(Z))return{data:null,error:Z};throw Z}}async listIndexes(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/ListIndexes`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async deleteIndex(D,X){var Y=this;try{return{data:await y1(Y.fetch,`${Y.url}/DeleteIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers})||{},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(R1(Z))return{data:null,error:Z};throw Z}}},GW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async putVectors(D){var X=this;try{if(D.vectors.length<1||D.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return{data:await y1(X.fetch,`${X.url}/PutVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async getVectors(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/GetVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async listVectors(D){var X=this;try{if(D.segmentCount!==void 0){if(D.segmentCount<1||D.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(D.segmentIndex!==void 0){if(D.segmentIndex<0||D.segmentIndex>=D.segmentCount)throw Error(`segmentIndex must be between 0 and ${D.segmentCount-1}`)}}return{data:await y1(X.fetch,`${X.url}/ListVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async queryVectors(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/QueryVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async deleteVectors(D){var X=this;try{if(D.keys.length<1||D.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return{data:await y1(X.fetch,`${X.url}/DeleteVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}},OW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/GetVectorBucket`,{vectorBucketName:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async listBuckets(D={}){var X=this;try{return{data:await y1(X.fetch,`${X.url}/ListVectorBuckets`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await y1(X.fetch,`${X.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(R1(Y))return{data:null,error:Y};throw Y}}},WW=class extends OW{constructor(D,X={}){super(D,X.headers||{},X.fetch)}from(D){return new KW(this.url,this.headers,D,this.fetch)}async createBucket(D){var X=()=>super.createBucket,Y=this;return X().call(Y,D)}async getBucket(D){var X=()=>super.getBucket,Y=this;return X().call(Y,D)}async listBuckets(D={}){var X=()=>super.listBuckets,Y=this;return X().call(Y,D)}async deleteBucket(D){var X=()=>super.deleteBucket,Y=this;return X().call(Y,D)}},KW=class extends qW{constructor(D,X,Y,Z){super(D,X,Z);this.vectorBucketName=Y}async createIndex(D){var X=()=>super.createIndex,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async listIndexes(D={}){var X=()=>super.listIndexes,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async getIndex(D){var X=()=>super.getIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}async deleteIndex(D){var X=()=>super.deleteIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}index(D){return new HW(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},HW=class extends GW{constructor(D,X,Y,Z,J){super(D,X,J);this.vectorBucketName=Y,this.indexName=Z}async putVectors(D){var X=()=>super.putVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async getVectors(D){var X=()=>super.getVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async listVectors(D={}){var X=()=>super.listVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async queryVectors(D){var X=()=>super.queryVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async deleteVectors(D){var X=()=>super.deleteVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}},bQ=class extends fv{constructor(D,X={},Y,Z){super(D,X,Y,Z)}from(D){return new xv(this.url,this.headers,D,this.fetch)}get vectors(){return new WW(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new FW(this.url+"/iceberg",this.headers,this.fetch)}};var wK=L0(Fw(),1);J0(Z0,L0(xQ(),1),module.exports);J0(Z0,L0(Fw(),1),module.exports);var Kg="2.89.0",A4="";if(typeof Deno<"u")A4="deno";else if(typeof document<"u")A4="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")A4="react-native";else A4="node";var Hg={"X-Client-Info":`supabase-js-${A4}/${Kg}`},zg={headers:Hg},Mg={schema:"public"},Vg={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Lg={};function E4(D){return E4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},E4(D)}function Ug(D,X){if(E4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(E4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Ng(D){var X=Ug(D,"string");return E4(X)=="symbol"?X:X+""}function Rg(D,X,Y){return(X=Ng(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function JK(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function UD(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?JK(Object(Y),!0).forEach(function(Z){Rg(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):JK(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var Ag=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Eg=()=>{return Headers},Cg=(D,X,Y)=>{let Z=Ag(Y),J=Eg();return async(Q,w)=>{var F;let $=(F=await X())!==null&&F!==void 0?F:D,B=new J(w===null||w===void 0?void 0:w.headers);if(!B.has("apikey"))B.set("apikey",D);if(!B.has("Authorization"))B.set("Authorization",`Bearer ${$}`);return Z(Q,UD(UD({},w),{},{headers:B}))}};function jg(D){return D.endsWith("/")?D:D+"/"}function Ig(D,X){var Y,Z;let{db:J,auth:Q,realtime:w,global:F}=D,{db:$,auth:B,realtime:q,global:G}=X,W={db:UD(UD({},$),J),auth:UD(UD({},B),Q),realtime:UD(UD({},q),w),storage:{},global:UD(UD(UD({},G),F),{},{headers:UD(UD({},(Y=G===null||G===void 0?void 0:G.headers)!==null&&Y!==void 0?Y:{}),(Z=F===null||F===void 0?void 0:F.headers)!==null&&Z!==void 0?Z:{})}),accessToken:async()=>""};if(D.accessToken)W.accessToken=D.accessToken;else delete W.accessToken;return W}function Tg(D){let X=D===null||D===void 0?void 0:D.trim();if(!X)throw Error("supabaseUrl is required.");if(!X.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(jg(X))}catch(Y){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var Pg=class extends wK.AuthClient{constructor(D){super(D)}},FK=class{constructor(D,X,Y){var Z,J;this.supabaseUrl=D,this.supabaseKey=X;let Q=Tg(D);if(!X)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",Q),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",Q),this.storageUrl=new URL("storage/v1",Q),this.functionsUrl=new URL("functions/v1",Q);let w=`sb-${Q.hostname.split(".")[0]}-auth-token`,F={db:Mg,realtime:Lg,auth:UD(UD({},Vg),{},{storageKey:w}),global:zg},$=Ig(Y!==null&&Y!==void 0?Y:{},F);if(this.storageKey=(Z=$.auth.storageKey)!==null&&Z!==void 0?Z:"",this.headers=(J=$.global.headers)!==null&&J!==void 0?J:{},!$.accessToken){var B;this.auth=this._initSupabaseAuthClient((B=$.auth)!==null&&B!==void 0?B:{},this.headers,$.global.fetch)}else this.accessToken=$.accessToken,this.auth=new Proxy({},{get:(q,G)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(G)} is not possible`)}});if(this.fetch=Cg(X,this._getAccessToken.bind(this),$.global.fetch),this.realtime=this._initRealtimeClient(UD({headers:this.headers,accessToken:this._getAccessToken.bind(this)},$.realtime)),this.accessToken)this.accessToken().then((q)=>this.realtime.setAuth(q)).catch((q)=>console.warn("Failed to set initial Realtime auth token:",q));if(this.rest=new yX(new URL("rest/v1",Q).href,{headers:this.headers,schema:$.db.schema,fetch:this.fetch}),this.storage=new bQ(this.storageUrl.href,this.headers,this.fetch,Y===null||Y===void 0?void 0:Y.storage),!$.accessToken)this._listenForAuthEvents()}get functions(){return new oD.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(D){return this.rest.from(D)}schema(D){return this.rest.schema(D)}rpc(D,X={},Y={head:!1,get:!1,count:void 0}){return this.rest.rpc(D,X,Y)}channel(D,X={config:{}}){return this.realtime.channel(D,X)}getChannels(){return this.realtime.getChannels()}removeChannel(D){return this.realtime.removeChannel(D)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var D=this,X,Y;if(D.accessToken)return await D.accessToken();let{data:Z}=await D.auth.getSession();return(X=(Y=Z.session)===null||Y===void 0?void 0:Y.access_token)!==null&&X!==void 0?X:D.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,storageKey:Q,flowType:w,lock:F,debug:$,throwOnError:B},q,G){let W={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Pg({url:this.authUrl.href,headers:UD(UD({},W),q),storageKey:Q,autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,flowType:w,lock:F,debug:$,throwOnError:B,fetch:G,hasCustomAuthorizationHeader:Object.keys(this.headers).some((O)=>O.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new QK.RealtimeClient(this.realtimeUrl.href,UD(UD({},D),{},{params:UD(UD({},{apikey:this.supabaseKey}),D===null||D===void 0?void 0:D.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((D,X)=>{this._handleTokenChanged(D,"CLIENT",X===null||X===void 0?void 0:X.access_token)})}_handleTokenChanged(D,X,Y){if((D==="TOKEN_REFRESHED"||D==="SIGNED_IN")&&this.changedAccessToken!==Y)this.changedAccessToken=Y,this.realtime.setAuth(Y);else if(D==="SIGNED_OUT"){if(this.realtime.setAuth(),X=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},$w=(D,X,Y)=>{return new FK(D,X,Y)};function Sg(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let D=process.version;if(D===void 0||D===null)return!1;let X=D.match(/^v(\d+)\./);if(!X)return!1;return parseInt(X[1],10)<=18}if(Sg())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var Pq=L0(Kw(),1),Iy=L0(HH(),1),BJ=L0($Z(),1);var t8={name:"@capgo/cli",version:"7.67.0",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};async function BZ(D){try{let Y=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Z=await fetch(Y,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Z.ok)return null;return(await Z.json())["dist-tags"]?.latest||null}catch{return null}}async function s0(){let D=await BZ("@capgo/cli")??"",X=D?.split(".")[0];if(D!==t8.version)H.warning(`\uD83D\uDEA8 You are using @capgo/cli@${t8.version} it's not the latest version.
|
|
315
315
|
Please use @capgo/cli@${D}" or @capgo/cli@${X} to keep up to date with the latest features and bug fixes.`)}async function RV(D,X,Y,Z,J,Q="✅"){await A0(Y,{channel:D,event:Z,icon:Q,user_id:X,...J?{tags:{"app-id":J}}:{},notify:!1})}var SF=require("node:buffer"),AV=require("node:crypto"),Qa=(()=>{let D=[];for(let X=0;X<256;X++){let Y=X;for(let Z=0;Z<8;Z++)Y=Y&1?3988292384^Y>>>1:Y>>>1;D[X]=Y}return D})();function wa(D){let X=4294967295;for(let Y=0;Y<D.length;Y++){let Z=D[Y];X=Qa[(X^Z)&255]^X>>>8}return X=X^4294967295,(X>>>0).toString(16).padStart(8,"0")}async function r8(D,X="sha256"){let Y=SF.Buffer.isBuffer(D)?D:SF.Buffer.from(D);if(X==="crc32")return wa(Y);let Z=AV.createHash(X);return Z.update(Y),Z.digest("hex")}var p3=L0(yf(),1);async function kf(){let D=await p3.loadConfig();return{config:D.app.extConfig,path:D.app.extConfigFilePath}}async function Qq(D,X,Y=!1){let Z=await p3.loadConfig(),{extConfig:J}=Z.app;if(J){if(!J.plugins)J.plugins={extConfig:{},[D]:{}};if(!J.plugins[D])J.plugins[D]={};if(!Y)J.plugins[D]=X.config.plugins?.[D];else J=X.config;p3.writeConfig(J,Z.app.extConfigFilePath)}}async function u7(D,X=!1){await Qq("CapacitorUpdater",D,X)}var h7={ORG_REQUIRES_EXPIRING_KEY:"org_requires_expiring_key",EXPIRATION_REQUIRED:"expiration_required",EXPIRATION_EXCEEDS_MAX:"expiration_exceeds_max"},a3={[h7.ORG_REQUIRES_EXPIRING_KEY]:`This organization requires API keys with expiration dates.
|
|
316
316
|
|
|
317
317
|
Please generate a new API key with an expiration:
|
|
@@ -377,7 +377,7 @@ ${p(Q)}`);throw Error(`Cannot retrieve unknown version for app ${X}: ${p(Q)}`)}f
|
|
|
377
377
|
created_by,
|
|
378
378
|
app_id,
|
|
379
379
|
version (id, name)
|
|
380
|
-
`).eq("app_id",X).order("created_at",{ascending:!1});if(J){if(!Y)H.error(`App ${X} not found in database`);throw Error(`App ${X} not found in database: ${p(J)}`)}return Z}async function hq(D,X,Y,Z={}){let{silent:J=!1}=Z,{error:Q}=await D.from("app_versions").update({deleted:!0}).eq("app_id",X).eq("deleted",!1).eq("name",Y);if(Q){let w=`App version ${X}@${Y} not found in database`;if(!J)H.error(w);throw Error(`${w}: ${p(Q)}`)}}async function VJ(D,X,Y,Z={}){let{silent:J=!1,autoUnlink:Q=!1}=Z,w=await u40(D,X,Y,{silent:J});await ty(D,X,w,{silent:J,autoUnlink:Q}),await hq(D,X,Y,{silent:J})}function Zk(D,X=!1){if(X)return;if(!D.length)throw Error("No bundle found");let Y=new MD;Y.theme=MD.roundTheme,Y.headers=["Version","Created","Keep"],Y.rows=[];for(let Z of D.toReversed())Y.rows.push([Z.name,c7(Z.created_at),Z.keep??""]);H.success("Bundles"),H.success(Y.toString())}async function LJ(D,X,Y={}){let{silent:Z=!1}=Y,{data:J,error:Q}=await D.from("app_versions").select().eq("app_id",X).eq("deleted",!1).order("created_at",{ascending:!1});if(Q){let w=`App ${X} not found in database`;if(!Z)H.error(w);throw Error(`${w}: ${p(Q)}`)}return J??[]}async function Jk(D,X,Y={}){let{silent:Z=!1}=Y,{data:J,error:Q}=await D.from("channels").select("version").eq("app_id",X);if(Q){let w=`App ${X} not found in database`;if(!Z)H.error(w);throw Error(`${w}: ${p(Q)}`)}return(J??[]).map((w)=>w.version)}async function u40(D,X,Y,Z={}){let{silent:J=!1}=Z,{data:Q,error:w}=await D.from("app_versions").select().eq("app_id",X).eq("name",Y).eq("deleted",!1).single();if(!Q||w){let F=`App version ${X}@${Y} doesn't exist`;if(!J)H.error(F);throw Error(`${F}${w?`: ${p(w)}`:""}`)}return Q}var l7=require("node:fs");async function Qk(D,X){let{data:Y}=await D.rpc("exist_app_v2",{appid:X}).single();return!!Y}async function _D(D,X,Y=!1){let{data:Z,error:J}=await D.rpc("reject_access_due_to_2fa_for_app",{app_id:X});if(J){if(!Y)H.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Z){if(Y)throw Error("2FA required for this organization");fq()}}async function CD(D,X,Y,Z,J=!1,Q=!1){let w=$5();if(!Q)await _D(D,Y,J);let F=await yy(D,X,Y);if(!F.okay)switch(F.error){case"INVALID_APIKEY":{if(!J)H.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let q=`App ${Y} does not exist, run first \`${w.runner} @capgo/cli app add ${Y}\` to create it`;if(!J)H.error(q);throw Error(q)}case"NO_ORG":{if(!J)H.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let $=F.data;if(Z>$){let q=`Insuficcent permissions for app ${Y}. Current permission: ${z1[F.data]}, required for this action: ${z1[Z]}.`;if(!J)H.error(q);throw Error(q)}return F.data}var o1="assets/icon.png";var h40=/^[a-z0-9]+(\.[\w-]+)+$/i;function _40(D,X,Y){if(!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!Y)H.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!h40.test(D)){if(!Y)H.error(`Invalid app ID format: "${D}"`),H.info("App ID must be in reverse domain notation (e.g., com.example.app)"),H.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),H.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function v40(D,X,Y){if(!await Qk(D,X))return;if(X==="io.ionic.starter"){if(!Y)H.error(`This appId ${X} cannot be used it's reserved, please change it in your capacitor config.`);throw Error("Reserved appId, please change it in capacitor config")}if(!Y)H.error(`App ${X} already exist`);throw Error(`App ${X} already exists`)}async function wk(D,X,Y,Z=!1){if(!Z)B0("Adding");await s0(),X.apikey=X.apikey||Q0();let J=await K0(),Q=b0(D,J?.config);_40(Q,X,Z);let w=await H0(X.apikey,X.supaHost,X.supaAnon),F=await N0(w,X.apikey,["write","all"]);if(await v40(w,Q,Z),!Y)Y=await zJ(w,["admin","super_admin"]);let $=Y.gid,{name:B,icon:q}=X;if(B=B||J.config?.appName||"Unknown",q=q||"resources/icon.png",!q||!B){if(!Z)H.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project");throw Error("Missing app name or icon path")}if(!Z)H.info(`Adding ${Q} to Capgo`);let G=null,W=null;if(q&&l7.existsSync(q)){if(G=l7.readFileSync(q),W=D9(q)||"image/png",!Z)H.warn(`Found app icon ${q}`)}else if(l7.existsSync(o1)){if(G=l7.readFileSync(o1),W=D9(o1)||"image/png",!Z)H.warn(`Found app icon ${o1}`)}else if(!Z)H.warn(`Cannot find app icon in any of the following locations: ${q}, ${o1}`);let O="icon",K="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(G&&W){let{error:U}=await w.storage.from(`images/org/${$}/${Q}`).upload(O,G,{contentType:W});if(U){if(!Z)console.error(U);if(!Z)H.error(`Could not add app ${p(U)}`);throw Error(`Could not add app ${p(U)}`)}let{data:N}=await w.storage.from(`images/org/${$}/${Q}`).getPublicUrl(O);K=N?.publicUrl||K}let{error:M}=await w.from("apps").insert({icon_url:K,owner_org:$,user_id:F,name:B,app_id:Q});if(M){if(!Z)H.error(`Could not add app ${p(M)}`);throw Error(`Could not add app ${p(M)}`)}if(!Z)H.success(`App ${Q} added to Capgo. You can upload a bundle now`),q0("Done ✅");return{appId:Q,organizationUid:$,userId:F,name:B,signedURL:K}}async function Fk(D,X,Y=!1,Z=!1){if(!Y)B0("Deleting");X.apikey=X.apikey||Q0();let J=await K0(),Q=b0(D,J?.config);if(!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Q){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let w=await H0(X.apikey,X.supaHost,X.supaAnon),F=await N0(w,X.apikey,["write","all"]);await CD(w,X.apikey,Q,5,Y);let{data:$,error:B}=await w.from("apps").select("owner_org ( created_by, id )").eq("app_id",Q).single(),q=$;if(!Z&&!B&&(q?.owner_org.created_by??"")!==F)if(!Y){H.warn("Deleting the app is not recommended for users that are not the organization owner"),H.warn("You are invited as a super_admin but your are not the owner"),H.warn("It's strongly recommended that you do not continue!");let M=await H8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(c0(M)||M==="no")throw H.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(B&&!Y)H.warn(`Cannot get the app owner ${p(B)}`);let{error:G}=await w.storage.from("images").remove([`org/${q?.owner_org.id}/${Q}/icon`]);if(G&&!Y)H.error("Could not delete app logo");let{error:W}=await w.storage.from(`apps/${Q}/${F}`).remove(["versions"]);if(W&&!Y)H.error("Could not delete app version");let{error:O}=await w.from("apps").delete().eq("app_id",Q);if(O){if(!Y)H.error("Could not delete app");throw Error(`Could not delete app: ${p(O)}`)}let K=await k1(w,Q);if(await A0(X.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:K,tags:{"app-id":Q},notify:!1}).catch(()=>{}),!Y)H.success("App deleted in Capgo"),q0("Done ✅");return!0}var UJ=require("node:os"),Bk=require("node:process");async function $k(D){let X={},Y=Object.keys(D);return(await Promise.all(Y.map((J)=>BZ(J)))).forEach((J,Q)=>{if(J)X[Y[Q]]=J}),X}async function b40(){let D=await OJ(),X={"@capgo/cli":t8.version};for(let[Y,Z]of D)if(Y.startsWith("@capgo/")||Y.startsWith("@capawesome/")||Y.startsWith("capacitor"))X[Y]=Z;return X}async function qk(D,X=!1){if(!X)H.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let Y=await K0(),Z=o6("",D.packageJson),J=Y?.config?.plugins?.CapacitorUpdater?.version||Z,Q=Y?.config?.appName||"",w=b0("",Y?.config),F=Y?.config?.webDir||"";if(!X)H.info(` App Name: ${Q}`),H.info(` App ID: ${w}`),H.info(` App Version: ${J}`),H.info(` Web Dir: ${F}`),H.info(` OS: ${UJ.platform()} ${UJ.version()}`),H.info(` Node: ${Bk.version}`),H.info(" Installed Dependencies:");let $=await b40();if(Object.keys($).length===0){if(!X)H.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!X)for(let q of Object.keys($))H.info(` ${q}: ${$[q]}`);let B={};if(!X){let q=xD();q.start("Running: Loading latest dependencies"),B=await $k($),q.stop("Latest Dependencies:");for(let G of Object.keys(B))H.info(` ${G}: ${B[G]}`)}else B=await $k($);if(JSON.stringify($)!==JSON.stringify(B)){if(!X)H.warn("\x1B[31m\uD83D\uDEA8 Some dependencies are not up to date\x1B[0m");throw Error("Some dependencies are not up to date")}if(!X)H.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:Q,appId:w,appVersion:J,webDir:F,installedDependencies:$,latestDependencies:B}}function g40(D){let X=new MD;X.headers=["Name","id","Created"],X.rows=[];for(let Y of D.toReversed())X.rows.push([Y.name??"",Y.app_id,c7(Y.created_at)]);H.success("Apps"),H.success(X.toString())}async function m40(D,X){let{data:Y,error:Z}=await D.from("apps").select().order("created_at",{ascending:!1});if(Z){if(!X)H.error("Apps not found");throw Error("Apps not found")}return Y??[]}async function Gk(D,X=!1){if(!X)B0("List apps in Capgo");await s0(),D.apikey=D.apikey||Q0();let Y=await H0(D.apikey,D.supaHost,D.supaAnon);if(await N0(Y,D.apikey,["write","all","read","upload"]),!X)H.info("Getting active bundle in Capgo");let Z=await m40(Y,X);if(!Z.length){if(!X)H.error("No apps found");throw Error("No apps found")}if(!X)H.info(`Active app in Capgo: ${Z.length}`),g40(Z),q0("Done ✅");return Z}var Ok=require("node:crypto"),n7=require("node:fs");async function Wk(D,X,Y=!1){if(!Y)B0("Set app");X.apikey=X.apikey||Q0();let Z=await K0();if(D=b0(D,Z?.config),!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await H0(X.apikey,X.supaHost,X.supaAnon),w=(await zJ(J,["admin","super_admin"])).gid,F=await N0(J,X.apikey,["write","all"]);await CD(J,X.apikey,D,4,Y);let{name:$,icon:B,retention:q,exposeMetadata:G}=X;if(q&&Number.isNaN(Number(q))){if(!Y)H.error("retention value must be a number");throw Error("Retention value must be a number")}else if(q&&q<0){if(!Y)H.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if(q&&q>=63113904){if(!Y)H.error("retention value cannot be greater than 63113904 seconds (2 years)");throw Error("Retention value cannot be greater than 63113904 seconds (2 years)")}let W,O,K=`icon_${Ok.randomUUID()}`,M="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(B&&n7.existsSync(B)){if(W=n7.readFileSync(B),O=D9(B)||"image/png",!Y)H.warn(`Found app icon ${B}`)}else if(n7.existsSync(o1)){if(W=n7.readFileSync(o1),O=D9(o1)||"image/png",!Y)H.warn(`Found app icon ${o1}`)}else if(!Y)H.warn(`Cannot find app icon in any of the following locations: ${B}, ${o1}`);if(W&&O){let{error:N}=await J.storage.from(`images/org/${w}/${D}`).upload(K,W,{contentType:O});if(N){if(!Y)H.error(`Could not set app ${p(N)}`);throw Error(`Could not set app: ${p(N)}`)}let{data:A}=await J.storage.from(`images/org/${w}/${D}`).getPublicUrl(K);M=A?.publicUrl||M}let{error:U}=await J.from("apps").update({icon_url:M,name:$,retention:!q?void 0:q*24*60*60,expose_metadata:G}).eq("app_id",D).eq("user_id",F);if(U){if(!Y)H.error(`Could not set app ${p(U)}`);throw Error(`Could not set app: ${p(U)}`)}if(!Y)q0("Done ✅");return!0}async function Kk(D,X,Y=!1){if(!Y)B0("Set a specific setting in capacitor config");if(X.bool&&X.string){if(!Y)H.error("Bool and string CANNOT be set at the same time");throw Error("Bool and string cannot both be provided")}if(!X.bool&&!X.string){if(!Y)H.error("You MUST provide either bool or string as the value");throw Error("Either bool or string value is required")}if(X.bool&&X.bool!=="true"&&X.bool!=="false"){if(!Y)H.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Z=await K0(),J=Z.config,Q=D.split(".");if(Q.length===0){if(!Y)H.error("Invalid path");throw Error("Invalid config path")}for(let F of Q.slice(0,-1)){if(!Object.prototype.hasOwnProperty.call(J,F))J[F]={};J=J[F]}let w=X.bool?X.bool==="true":X.string;if(J[Q.at(-1)]=w,await u7(Z,!0),!Y)H.success(`Set "${D}" to "${w}"`)}catch(Z){if(!Y)H.error(`Cannot set config in capacitor settings ${p(Z)}`);throw Error(`Cannot set capacitor config: ${p(Z)}`)}if(!Y)q0("Done ✅")}var g8=require("node:fs"),e1=require("node:fs/promises"),Vk=require("node:os"),D8=require("node:path"),vq=require("node:process");var Lk=L0(Kw(),1),AJ=L0($Z(),1);var NJ=require("node:fs/promises"),Hk=require("node:os"),RJ=require("node:path"),P0=require("node:process"),d40=RJ.join(Hk.homedir(),".capgo-credentials"),c40=RJ.join(d40,"credentials.json"),l40=".capgo-credentials.json";function n40(D){return D?RJ.join(P0.cwd(),l40):c40}async function _q(D){try{let X=n40(D),Y=await NJ.readFile(X,"utf-8");return JSON.parse(Y)}catch{return{}}}async function i40(D,X){if(X!==void 0){let J=await _q(X);if(!D){let Q=Object.keys(J);if(Q.length===0)return null;return J[Q[0]]||null}return J[D]||null}let Y=await _q(!0),Z=await _q(!1);if(!D){let J=Object.keys(Y);if(J.length>0)return Y[J[0]]||null;let Q=Object.keys(Z);if(Q.length===0)return null;return Z[Q[0]]||null}return Y[D]||Z[D]||null}function p40(){let D={};if(P0.env.BUILD_CERTIFICATE_BASE64)D.BUILD_CERTIFICATE_BASE64=P0.env.BUILD_CERTIFICATE_BASE64;if(P0.env.BUILD_PROVISION_PROFILE_BASE64)D.BUILD_PROVISION_PROFILE_BASE64=P0.env.BUILD_PROVISION_PROFILE_BASE64;if(P0.env.BUILD_PROVISION_PROFILE_BASE64_PROD)D.BUILD_PROVISION_PROFILE_BASE64_PROD=P0.env.BUILD_PROVISION_PROFILE_BASE64_PROD;if(P0.env.P12_PASSWORD)D.P12_PASSWORD=P0.env.P12_PASSWORD;if(P0.env.APPLE_KEY_ID)D.APPLE_KEY_ID=P0.env.APPLE_KEY_ID;if(P0.env.APPLE_ISSUER_ID)D.APPLE_ISSUER_ID=P0.env.APPLE_ISSUER_ID;if(P0.env.APPLE_KEY_CONTENT)D.APPLE_KEY_CONTENT=P0.env.APPLE_KEY_CONTENT;if(P0.env.APPLE_PROFILE_NAME)D.APPLE_PROFILE_NAME=P0.env.APPLE_PROFILE_NAME;if(P0.env.APP_STORE_CONNECT_TEAM_ID)D.APP_STORE_CONNECT_TEAM_ID=P0.env.APP_STORE_CONNECT_TEAM_ID;if(P0.env.ANDROID_KEYSTORE_FILE)D.ANDROID_KEYSTORE_FILE=P0.env.ANDROID_KEYSTORE_FILE;if(P0.env.KEYSTORE_KEY_ALIAS)D.KEYSTORE_KEY_ALIAS=P0.env.KEYSTORE_KEY_ALIAS;if(P0.env.KEYSTORE_KEY_PASSWORD)D.KEYSTORE_KEY_PASSWORD=P0.env.KEYSTORE_KEY_PASSWORD;if(P0.env.KEYSTORE_STORE_PASSWORD)D.KEYSTORE_STORE_PASSWORD=P0.env.KEYSTORE_STORE_PASSWORD;if(P0.env.PLAY_CONFIG_JSON)D.PLAY_CONFIG_JSON=P0.env.PLAY_CONFIG_JSON;return D}async function zk(D,X,Y){let Z=await i40(D),J=p40(),Q={...Z?.[X]||{}};if(Object.assign(Q,J),Y)Object.assign(Q,Y);if(X==="android"){let w=!!Q.KEYSTORE_KEY_PASSWORD,F=!!Q.KEYSTORE_STORE_PASSWORD;if(w&&!F)Q.KEYSTORE_STORE_PASSWORD=Q.KEYSTORE_KEY_PASSWORD;else if(!w&&F)Q.KEYSTORE_KEY_PASSWORD=Q.KEYSTORE_STORE_PASSWORD}return Object.keys(Q).length>0?Q:void 0}async function a40(D,X,Y,Z,J,Q=!1){if(J)return null;let w=null,F=!1,$=`${D}/build/logs/${X}?app_id=${encodeURIComponent(Y)}`;H.info(`Connecting to log stream: ${$}`);try{let B=await fetch($,{headers:{authorization:Z}});if(H.info(`Log stream response: ${B.status}`),!B.ok){let K=await B.text().catch(()=>"unknown error");return H.warn(`Could not stream logs (${B.status}): ${K}`),null}let q=B.body?.getReader();if(!q)return H.warn("No response body for log stream"),null;H.info("Reading log stream...");let G=new TextDecoder,W="",O=(K)=>{if(!K.trim())return;let M=K.match(/^(?:Build|Job already) (succeeded|failed|expired|released|cancelled)$/i);if(M){w=M[1].toLowerCase();return}if(w)return;if(!F)F=!0,H.info("");H.info(K)};while(!0){let{done:K,value:M}=await q.read();if(K)break;W+=G.decode(M,{stream:!0});let U=W.split(`
|
|
380
|
+
`).eq("app_id",X).order("created_at",{ascending:!1});if(J){if(!Y)H.error(`App ${X} not found in database`);throw Error(`App ${X} not found in database: ${p(J)}`)}return Z}async function hq(D,X,Y,Z={}){let{silent:J=!1}=Z,{error:Q}=await D.from("app_versions").update({deleted:!0}).eq("app_id",X).eq("deleted",!1).eq("name",Y);if(Q){let w=`App version ${X}@${Y} not found in database`;if(!J)H.error(w);throw Error(`${w}: ${p(Q)}`)}}async function VJ(D,X,Y,Z={}){let{silent:J=!1,autoUnlink:Q=!1}=Z,w=await u40(D,X,Y,{silent:J});await ty(D,X,w,{silent:J,autoUnlink:Q}),await hq(D,X,Y,{silent:J})}function Zk(D,X=!1){if(X)return;if(!D.length)throw Error("No bundle found");let Y=new MD;Y.theme=MD.roundTheme,Y.headers=["Version","Created","Keep"],Y.rows=[];for(let Z of D.toReversed())Y.rows.push([Z.name,c7(Z.created_at),Z.keep??""]);H.success("Bundles"),H.success(Y.toString())}async function LJ(D,X,Y={}){let{silent:Z=!1}=Y,{data:J,error:Q}=await D.from("app_versions").select().eq("app_id",X).eq("deleted",!1).order("created_at",{ascending:!1});if(Q){let w=`App ${X} not found in database`;if(!Z)H.error(w);throw Error(`${w}: ${p(Q)}`)}return J??[]}async function Jk(D,X,Y={}){let{silent:Z=!1}=Y,{data:J,error:Q}=await D.from("channels").select("version").eq("app_id",X);if(Q){let w=`App ${X} not found in database`;if(!Z)H.error(w);throw Error(`${w}: ${p(Q)}`)}return(J??[]).map((w)=>w.version)}async function u40(D,X,Y,Z={}){let{silent:J=!1}=Z,{data:Q,error:w}=await D.from("app_versions").select().eq("app_id",X).eq("name",Y).eq("deleted",!1).single();if(!Q||w){let F=`App version ${X}@${Y} doesn't exist`;if(!J)H.error(F);throw Error(`${F}${w?`: ${p(w)}`:""}`)}return Q}var l7=require("node:fs");async function Qk(D,X){let{data:Y}=await D.rpc("exist_app_v2",{appid:X}).single();return!!Y}async function _D(D,X,Y=!1){let{data:Z,error:J}=await D.rpc("reject_access_due_to_2fa_for_app",{app_id:X});if(J){if(!Y)H.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Z){if(Y)throw Error("2FA required for this organization");fq()}}async function CD(D,X,Y,Z,J=!1,Q=!1){let w=$5();if(!Q)await _D(D,Y,J);let F=await yy(D,X,Y);if(!F.okay)switch(F.error){case"INVALID_APIKEY":{if(!J)H.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let q=`App ${Y} does not exist, run first \`${w.runner} @capgo/cli app add ${Y}\` to create it`;if(!J)H.error(q);throw Error(q)}case"NO_ORG":{if(!J)H.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let $=F.data;if(Z>$){let q=`Insuficcent permissions for app ${Y}. Current permission: ${z1[F.data]}, required for this action: ${z1[Z]}.`;if(!J)H.error(q);throw Error(q)}return F.data}var o1="assets/icon.png";var h40=/^[a-z0-9]+(\.[\w-]+)+$/i;function _40(D,X,Y){if(!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!Y)H.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!h40.test(D)){if(!Y)H.error(`Invalid app ID format: "${D}"`),H.info("App ID must be in reverse domain notation (e.g., com.example.app)"),H.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),H.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function v40(D,X,Y){if(!await Qk(D,X))return;if(X==="io.ionic.starter"){if(!Y)H.error(`This appId ${X} cannot be used it's reserved, please change it in your capacitor config.`);throw Error("Reserved appId, please change it in capacitor config")}if(!Y)H.error(`App ${X} already exist`);throw Error(`App ${X} already exists`)}async function wk(D,X,Y,Z=!1){if(!Z)B0("Adding");await s0(),X.apikey=X.apikey||Q0();let J=await K0(),Q=b0(D,J?.config);_40(Q,X,Z);let w=await H0(X.apikey,X.supaHost,X.supaAnon),F=await N0(w,X.apikey,["write","all"]);if(await v40(w,Q,Z),!Y)Y=await zJ(w,["admin","super_admin"]);let $=Y.gid,{name:B,icon:q}=X;if(B=B||J.config?.appName||"Unknown",q=q||"resources/icon.png",!q||!B){if(!Z)H.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project");throw Error("Missing app name or icon path")}if(!Z)H.info(`Adding ${Q} to Capgo`);let G=null,W=null;if(q&&l7.existsSync(q)){if(G=l7.readFileSync(q),W=D9(q)||"image/png",!Z)H.warn(`Found app icon ${q}`)}else if(l7.existsSync(o1)){if(G=l7.readFileSync(o1),W=D9(o1)||"image/png",!Z)H.warn(`Found app icon ${o1}`)}else if(!Z)H.warn(`Cannot find app icon in any of the following locations: ${q}, ${o1}`);let O="icon",K="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(G&&W){let{error:U}=await w.storage.from(`images/org/${$}/${Q}`).upload(O,G,{contentType:W});if(U){if(!Z)console.error(U);if(!Z)H.error(`Could not add app ${p(U)}`);throw Error(`Could not add app ${p(U)}`)}let{data:N}=await w.storage.from(`images/org/${$}/${Q}`).getPublicUrl(O);K=N?.publicUrl||K}let{error:M}=await w.from("apps").insert({icon_url:K,owner_org:$,user_id:F,name:B,app_id:Q});if(M){if(!Z)H.error(`Could not add app ${p(M)}`);throw Error(`Could not add app ${p(M)}`)}if(!Z)H.success(`App ${Q} added to Capgo`),H.info("This app is accessible to all members of your organization based on their permissions"),H.info(`Next step: upload a bundle with "npx @capgo/cli bundle upload ${Q}"`),q0("Done ✅");return{appId:Q,organizationUid:$,userId:F,name:B,signedURL:K}}async function Fk(D,X,Y=!1,Z=!1){if(!Y)B0("Deleting");X.apikey=X.apikey||Q0();let J=await K0(),Q=b0(D,J?.config);if(!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Q){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let w=await H0(X.apikey,X.supaHost,X.supaAnon),F=await N0(w,X.apikey,["write","all"]);await CD(w,X.apikey,Q,5,Y);let{data:$,error:B}=await w.from("apps").select("owner_org ( created_by, id )").eq("app_id",Q).single(),q=$;if(!Z&&!B&&(q?.owner_org.created_by??"")!==F)if(!Y){H.warn("Deleting the app is not recommended for users that are not the organization owner"),H.warn("You are invited as a super_admin but your are not the owner"),H.warn("It's strongly recommended that you do not continue!");let M=await H8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(c0(M)||M==="no")throw H.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(B&&!Y)H.warn(`Cannot get the app owner ${p(B)}`);let{error:G}=await w.storage.from("images").remove([`org/${q?.owner_org.id}/${Q}/icon`]);if(G&&!Y)H.error("Could not delete app logo");let{error:W}=await w.storage.from(`apps/${Q}/${F}`).remove(["versions"]);if(W&&!Y)H.error("Could not delete app version");let{error:O}=await w.from("apps").delete().eq("app_id",Q);if(O){if(!Y)H.error("Could not delete app");throw Error(`Could not delete app: ${p(O)}`)}let K=await k1(w,Q);if(await A0(X.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:K,tags:{"app-id":Q},notify:!1}).catch(()=>{}),!Y)H.success("App deleted in Capgo"),q0("Done ✅");return!0}var UJ=require("node:os"),Bk=require("node:process");async function $k(D){let X={},Y=Object.keys(D);return(await Promise.all(Y.map((J)=>BZ(J)))).forEach((J,Q)=>{if(J)X[Y[Q]]=J}),X}async function b40(){let D=await OJ(),X={"@capgo/cli":t8.version};for(let[Y,Z]of D)if(Y.startsWith("@capgo/")||Y.startsWith("@capawesome/")||Y.startsWith("capacitor"))X[Y]=Z;return X}async function qk(D,X=!1){if(!X)H.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let Y=await K0(),Z=o6("",D.packageJson),J=Y?.config?.plugins?.CapacitorUpdater?.version||Z,Q=Y?.config?.appName||"",w=b0("",Y?.config),F=Y?.config?.webDir||"";if(!X)H.info(` App Name: ${Q}`),H.info(` App ID: ${w}`),H.info(` App Version: ${J}`),H.info(` Web Dir: ${F}`),H.info(` OS: ${UJ.platform()} ${UJ.version()}`),H.info(` Node: ${Bk.version}`),H.info(" Installed Dependencies:");let $=await b40();if(Object.keys($).length===0){if(!X)H.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!X)for(let q of Object.keys($))H.info(` ${q}: ${$[q]}`);let B={};if(!X){let q=xD();q.start("Running: Loading latest dependencies"),B=await $k($),q.stop("Latest Dependencies:");for(let G of Object.keys(B))H.info(` ${G}: ${B[G]}`)}else B=await $k($);if(JSON.stringify($)!==JSON.stringify(B)){if(!X)H.warn("\x1B[31m\uD83D\uDEA8 Some dependencies are not up to date\x1B[0m");throw Error("Some dependencies are not up to date")}if(!X)H.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:Q,appId:w,appVersion:J,webDir:F,installedDependencies:$,latestDependencies:B}}function g40(D){let X=new MD;X.headers=["Name","id","Created"],X.rows=[];for(let Y of D.toReversed())X.rows.push([Y.name??"",Y.app_id,c7(Y.created_at)]);H.success("Apps"),H.success(X.toString())}async function m40(D,X){let{data:Y,error:Z}=await D.from("apps").select().order("created_at",{ascending:!1});if(Z){if(!X)H.error("Apps not found");throw Error("Apps not found")}return Y??[]}async function Gk(D,X=!1){if(!X)B0("List apps in Capgo");await s0(),D.apikey=D.apikey||Q0();let Y=await H0(D.apikey,D.supaHost,D.supaAnon);if(await N0(Y,D.apikey,["write","all","read","upload"]),!X)H.info("Getting active bundle in Capgo");let Z=await m40(Y,X);if(!Z.length){if(!X)H.error("No apps found");throw Error("No apps found")}if(!X)H.info(`Active app in Capgo: ${Z.length}`),g40(Z),q0("Done ✅");return Z}var Ok=require("node:crypto"),n7=require("node:fs");async function Wk(D,X,Y=!1){if(!Y)B0("Set app");X.apikey=X.apikey||Q0();let Z=await K0();if(D=b0(D,Z?.config),!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await H0(X.apikey,X.supaHost,X.supaAnon),w=(await zJ(J,["admin","super_admin"])).gid,F=await N0(J,X.apikey,["write","all"]);await CD(J,X.apikey,D,4,Y);let{name:$,icon:B,retention:q,exposeMetadata:G}=X;if(q&&Number.isNaN(Number(q))){if(!Y)H.error("retention value must be a number");throw Error("Retention value must be a number")}else if(q&&q<0){if(!Y)H.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if(q&&q>=63113904){if(!Y)H.error("retention value cannot be greater than 63113904 seconds (2 years)");throw Error("Retention value cannot be greater than 63113904 seconds (2 years)")}let W,O,K=`icon_${Ok.randomUUID()}`,M="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(B&&n7.existsSync(B)){if(W=n7.readFileSync(B),O=D9(B)||"image/png",!Y)H.warn(`Found app icon ${B}`)}else if(n7.existsSync(o1)){if(W=n7.readFileSync(o1),O=D9(o1)||"image/png",!Y)H.warn(`Found app icon ${o1}`)}else if(!Y)H.warn(`Cannot find app icon in any of the following locations: ${B}, ${o1}`);if(W&&O){let{error:N}=await J.storage.from(`images/org/${w}/${D}`).upload(K,W,{contentType:O});if(N){if(!Y)H.error(`Could not set app ${p(N)}`);throw Error(`Could not set app: ${p(N)}`)}let{data:A}=await J.storage.from(`images/org/${w}/${D}`).getPublicUrl(K);M=A?.publicUrl||M}let{error:U}=await J.from("apps").update({icon_url:M,name:$,retention:!q?void 0:q*24*60*60,expose_metadata:G}).eq("app_id",D).eq("user_id",F);if(U){if(!Y)H.error(`Could not set app ${p(U)}`);throw Error(`Could not set app: ${p(U)}`)}if(!Y)q0("Done ✅");return!0}async function Kk(D,X,Y=!1){if(!Y)B0("Set a specific setting in capacitor config");if(X.bool&&X.string){if(!Y)H.error("Bool and string CANNOT be set at the same time");throw Error("Bool and string cannot both be provided")}if(!X.bool&&!X.string){if(!Y)H.error("You MUST provide either bool or string as the value");throw Error("Either bool or string value is required")}if(X.bool&&X.bool!=="true"&&X.bool!=="false"){if(!Y)H.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Z=await K0(),J=Z.config,Q=D.split(".");if(Q.length===0){if(!Y)H.error("Invalid path");throw Error("Invalid config path")}for(let F of Q.slice(0,-1)){if(!Object.prototype.hasOwnProperty.call(J,F))J[F]={};J=J[F]}let w=X.bool?X.bool==="true":X.string;if(J[Q.at(-1)]=w,await u7(Z,!0),!Y)H.success(`Set "${D}" to "${w}"`)}catch(Z){if(!Y)H.error(`Cannot set config in capacitor settings ${p(Z)}`);throw Error(`Cannot set capacitor config: ${p(Z)}`)}if(!Y)q0("Done ✅")}var g8=require("node:fs"),e1=require("node:fs/promises"),Vk=require("node:os"),D8=require("node:path"),vq=require("node:process");var Lk=L0(Kw(),1),AJ=L0($Z(),1);var NJ=require("node:fs/promises"),Hk=require("node:os"),RJ=require("node:path"),P0=require("node:process"),d40=RJ.join(Hk.homedir(),".capgo-credentials"),c40=RJ.join(d40,"credentials.json"),l40=".capgo-credentials.json";function n40(D){return D?RJ.join(P0.cwd(),l40):c40}async function _q(D){try{let X=n40(D),Y=await NJ.readFile(X,"utf-8");return JSON.parse(Y)}catch{return{}}}async function i40(D,X){if(X!==void 0){let J=await _q(X);if(!D){let Q=Object.keys(J);if(Q.length===0)return null;return J[Q[0]]||null}return J[D]||null}let Y=await _q(!0),Z=await _q(!1);if(!D){let J=Object.keys(Y);if(J.length>0)return Y[J[0]]||null;let Q=Object.keys(Z);if(Q.length===0)return null;return Z[Q[0]]||null}return Y[D]||Z[D]||null}function p40(){let D={};if(P0.env.BUILD_CERTIFICATE_BASE64)D.BUILD_CERTIFICATE_BASE64=P0.env.BUILD_CERTIFICATE_BASE64;if(P0.env.BUILD_PROVISION_PROFILE_BASE64)D.BUILD_PROVISION_PROFILE_BASE64=P0.env.BUILD_PROVISION_PROFILE_BASE64;if(P0.env.BUILD_PROVISION_PROFILE_BASE64_PROD)D.BUILD_PROVISION_PROFILE_BASE64_PROD=P0.env.BUILD_PROVISION_PROFILE_BASE64_PROD;if(P0.env.P12_PASSWORD)D.P12_PASSWORD=P0.env.P12_PASSWORD;if(P0.env.APPLE_KEY_ID)D.APPLE_KEY_ID=P0.env.APPLE_KEY_ID;if(P0.env.APPLE_ISSUER_ID)D.APPLE_ISSUER_ID=P0.env.APPLE_ISSUER_ID;if(P0.env.APPLE_KEY_CONTENT)D.APPLE_KEY_CONTENT=P0.env.APPLE_KEY_CONTENT;if(P0.env.APPLE_PROFILE_NAME)D.APPLE_PROFILE_NAME=P0.env.APPLE_PROFILE_NAME;if(P0.env.APP_STORE_CONNECT_TEAM_ID)D.APP_STORE_CONNECT_TEAM_ID=P0.env.APP_STORE_CONNECT_TEAM_ID;if(P0.env.ANDROID_KEYSTORE_FILE)D.ANDROID_KEYSTORE_FILE=P0.env.ANDROID_KEYSTORE_FILE;if(P0.env.KEYSTORE_KEY_ALIAS)D.KEYSTORE_KEY_ALIAS=P0.env.KEYSTORE_KEY_ALIAS;if(P0.env.KEYSTORE_KEY_PASSWORD)D.KEYSTORE_KEY_PASSWORD=P0.env.KEYSTORE_KEY_PASSWORD;if(P0.env.KEYSTORE_STORE_PASSWORD)D.KEYSTORE_STORE_PASSWORD=P0.env.KEYSTORE_STORE_PASSWORD;if(P0.env.PLAY_CONFIG_JSON)D.PLAY_CONFIG_JSON=P0.env.PLAY_CONFIG_JSON;return D}async function zk(D,X,Y){let Z=await i40(D),J=p40(),Q={...Z?.[X]||{}};if(Object.assign(Q,J),Y)Object.assign(Q,Y);if(X==="android"){let w=!!Q.KEYSTORE_KEY_PASSWORD,F=!!Q.KEYSTORE_STORE_PASSWORD;if(w&&!F)Q.KEYSTORE_STORE_PASSWORD=Q.KEYSTORE_KEY_PASSWORD;else if(!w&&F)Q.KEYSTORE_KEY_PASSWORD=Q.KEYSTORE_STORE_PASSWORD}return Object.keys(Q).length>0?Q:void 0}async function a40(D,X,Y,Z,J,Q=!1){if(J)return null;let w=null,F=!1,$=`${D}/build/logs/${X}?app_id=${encodeURIComponent(Y)}`;H.info(`Connecting to log stream: ${$}`);try{let B=await fetch($,{headers:{authorization:Z}});if(H.info(`Log stream response: ${B.status}`),!B.ok){let K=await B.text().catch(()=>"unknown error");return H.warn(`Could not stream logs (${B.status}): ${K}`),null}let q=B.body?.getReader();if(!q)return H.warn("No response body for log stream"),null;H.info("Reading log stream...");let G=new TextDecoder,W="",O=(K)=>{if(!K.trim())return;let M=K.match(/^(?:Build|Job already) (succeeded|failed|expired|released|cancelled)$/i);if(M){w=M[1].toLowerCase();return}if(w)return;if(!F)F=!0,H.info("");H.info(K)};while(!0){let{done:K,value:M}=await q.read();if(K)break;W+=G.decode(M,{stream:!0});let U=W.split(`
|
|
381
381
|
`);W=U.pop()||"";for(let N of U)if(N.startsWith("data: ")){let A=N.slice(6);O(A)}}if(W.startsWith("data: ")){let K=W.slice(6);O(K)}return w}catch(B){if(!J)H.warn(`Log streaming interrupted${B instanceof Error?`: ${B.message}`:""}`);return null}}async function t40(D,X,Y,Z,J,Q){let F=0;while(F<120)try{let $=await fetch(`${D}/build/status?job_id=${encodeURIComponent(X)}&app_id=${encodeURIComponent(Y)}&platform=${Z}`,{headers:{authorization:J}});if(!$.ok){if(!Q)H.warn(`Status check failed: ${$.status}`);await new Promise((q)=>setTimeout(q,5000)),F++;continue}let B=await $.json();if(B.status==="succeeded"||B.status==="failed")return B.status;await new Promise((q)=>setTimeout(q,5000)),F++}catch($){if(!Q)H.warn(`Status check error: ${$}`);await new Promise((B)=>setTimeout(B,5000)),F++}if(!Q)H.warn("Build status polling timed out");return"timeout"}async function r40(D,X){let Y=new Set,Z=!1;if(X==="ios"){let J=D8.join(D,"ios/App/CapApp-SPM/Package.swift");if(g8.existsSync(J)){Z=!0;let w=(await e1.readFile(J,"utf-8")).matchAll(/\.package\s*\([^)]*path:\s*["'](?:\.\.\/)*node_modules\/([^"']+)["']\s*\)/g);for(let F of w)Y.add(F[1])}else{let Q=D8.join(D,"ios/App/Podfile");if(g8.existsSync(Q)){let F=(await e1.readFile(Q,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"]\.\.\/\.\.\/node_modules\/([^'"]+)['"]/g);for(let $ of F)Y.add($[1])}}}else if(X==="android"){let J=D8.join(D,"android/capacitor.settings.gradle");if(g8.existsSync(J)){let w=(await e1.readFile(J,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let F of w){let B=F[1].replace(/\/android$/,"");Y.add(B)}}}return{packages:Y,usesSPM:Z}}function Mk(D,X,Y){let Z=D.replace(/\\/g,"/");if(Z.startsWith(`${X}/`))return!0;if(Z==="package.json"||Z==="package-lock.json"||Z.startsWith("capacitor.config."))return!0;if(Z.startsWith("resources/"))return!0;if(X==="ios"&&Z.startsWith("node_modules/@capacitor/ios/"))return!0;if(X==="android"&&Z.startsWith("node_modules/@capacitor/android/"))return!0;for(let J of Y.packages){let Q=`node_modules/${J}/`;if(X==="android"){if(Z.startsWith(`${Q}android/`))return!0}else if(X==="ios"){if(Z.startsWith(`${Q}ios/`))return!0;if(Y.usesSPM){if(Z===`${Q}Package.swift`)return!0}else if(Z.startsWith(Q)&&Z.endsWith(".podspec"))return!0}}return!1}function e3(D,X,Y,Z,J){let Q=g8.readdirSync(X);for(let w of Q){let F=D8.join(X,w),$=Y?`${Y}/${w}`:w,B=g8.statSync(F);if(B.isDirectory()){if(w===".git"||w==="dist"||w==="build"||w===".angular"||w===".vite"||w===".gradle"||w===".idea"||w===".swiftpm")continue;if(w===Z){e3(D,F,$,Z,J);continue}if(w==="node_modules"){e3(D,F,$,Z,J);continue}if(w==="resources"){e3(D,F,$,Z,J);continue}let q=$.replace(/\\/g,"/");if(Mk($,Z,J)||Array.from(J.packages).some((W)=>{return`node_modules/${W}/`.startsWith(`${q}/`)||q.startsWith(`node_modules/${W}`)}))e3(D,F,$,Z,J)}else if(B.isFile()){if(w===".DS_Store"||w.endsWith(".log"))continue;if(Mk($,Z,J))D.addLocalFile(F,Y||void 0)}}}async function s40(D,X,Y){let Z=await r40(D,Y),J=new Lk.default;e3(J,D,"",Y,Z),await e1.writeFile(X,J.toBuffer())}async function Uk(D,X,Y=!1){let Z=Date.now(),J=X.verbose??!1;try{X.apikey=X.apikey||Q0(Y);let Q=await K0();if(D=D||Q?.config.appId,!D)throw Error("Missing argument, you need to provide a appId, or be in a capacitor project");if(!X.platform)throw Error("Missing required argument: --platform <ios|android>");if(X.platform!=="ios"&&X.platform!=="android")throw Error(`Invalid platform "${X.platform}". Must be "ios" or "android"`);let w=D8.resolve(X.path||vq.cwd()),F=X.supaHost||"https://api.capgo.app",$=await H0(X.apikey,X.supaHost,X.supaAnon);await N0($,X.apikey,["write","all"]);let B=await k1($,D);if(!Y)H.info(`Requesting native build for ${D}`),H.info(`Platform: ${X.platform}`),H.info(`Project: ${w}`),H.info(`
|
|
382
382
|
\uD83D\uDD12 Security: Credentials are never stored on Capgo servers`),H.info(" They are used only during build and deleted after"),H.info(` Builds sent directly to app stores - Capgo keeps nothing
|
|
383
383
|
`);if(J)H.info(`API host: ${F}`);let q={};if(X.buildCertificateBase64)q.BUILD_CERTIFICATE_BASE64=X.buildCertificateBase64;if(X.buildProvisionProfileBase64)q.BUILD_PROVISION_PROFILE_BASE64=X.buildProvisionProfileBase64;if(X.buildProvisionProfileBase64Prod)q.BUILD_PROVISION_PROFILE_BASE64_PROD=X.buildProvisionProfileBase64Prod;if(X.p12Password)q.P12_PASSWORD=X.p12Password;if(X.appleKeyId)q.APPLE_KEY_ID=X.appleKeyId;if(X.appleIssuerId)q.APPLE_ISSUER_ID=X.appleIssuerId;if(X.appleKeyContent)q.APPLE_KEY_CONTENT=X.appleKeyContent;if(X.appleProfileName)q.APPLE_PROFILE_NAME=X.appleProfileName;if(X.appStoreConnectTeamId)q.APP_STORE_CONNECT_TEAM_ID=X.appStoreConnectTeamId;if(X.androidKeystoreFile)q.ANDROID_KEYSTORE_FILE=X.androidKeystoreFile;if(X.keystoreKeyAlias)q.KEYSTORE_KEY_ALIAS=X.keystoreKeyAlias;let G=!!X.keystoreKeyPassword,W=!!X.keystoreStorePassword;if(G&&!W)q.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreKeyPassword;else if(!G&&W)q.KEYSTORE_KEY_PASSWORD=X.keystoreStorePassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;else if(G&&W)q.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;if(X.playConfigJson)q.PLAY_CONFIG_JSON=X.playConfigJson;let O=await zk(D,X.platform,Object.keys(q).length>0?q:void 0),K={app_id:D,platform:X.platform};if(!O){if(!Y)H.error("❌ No credentials found for this app and platform"),H.error(""),H.error("You must provide credentials via:"),H.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),H.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),H.error(" 3. Saved credentials file:"),H.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${X.platform}`),H.error(""),H.error("Documentation:"),H.error(" https://capgo.app/docs/cli/cloud-build/credentials/");throw Error("No credentials found. Please provide credentials before building.")}let M=[];if(X.platform==="ios"){if(!O.BUILD_CERTIFICATE_BASE64)M.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!O.P12_PASSWORD&&!Y)H.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),H.warn(" If your certificate requires a password, provide it with --p12-password");if(!O.BUILD_PROVISION_PROFILE_BASE64)M.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)");if(!O.APPLE_KEY_ID)M.push("APPLE_KEY_ID (or --apple-key-id)");if(!O.APPLE_ISSUER_ID)M.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!O.APPLE_KEY_CONTENT)M.push("APPLE_KEY_CONTENT (or --apple-key-content)");if(!O.APP_STORE_CONNECT_TEAM_ID)M.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")}else if(X.platform==="android"){if(!O.ANDROID_KEYSTORE_FILE)M.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!O.KEYSTORE_KEY_ALIAS)M.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!O.KEYSTORE_KEY_PASSWORD&&!O.KEYSTORE_STORE_PASSWORD)M.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!O.PLAY_CONFIG_JSON&&!Y)H.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(M.length>0){if(!Y){H.error(`❌ Missing required credentials for ${X.platform}:`),H.error("");for(let L of M)H.error(` • ${L}`);H.error(""),H.error("Provide credentials via:"),H.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),H.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),H.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),H.error(""),H.error("Documentation:"),H.error(` https://capgo.app/docs/cli/cloud-build/${X.platform}/`)}throw Error(`Missing required credentials for ${X.platform}: ${M.join(", ")}`)}if(K.credentials=O,!Y)H.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let L=Object.keys(O).filter((V)=>O[V]);H.info(`Credentials provided: ${L.join(", ")}`)}if(!Y)H.info("Requesting build from Capgo...");let U=await fetch(`${F}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify(K)});if(!U.ok){let L=await U.text();throw Error(`Failed to request build: ${U.status} - ${L}`)}let N=await U.json();if(!Y)H.success(`Build job created: ${N.job_id}`),H.info(`Status: ${N.status}`);if(J)H.info(`Upload URL: ${N.upload_url}`),H.info(`Upload expires: ${N.upload_expires_at}`);await A0(X.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:B,tags:{"app-id":D,platform:X.platform},notify:!1}).catch();let A=D8.join(Vk.tmpdir(),`capgo-build-${Date.now()}`);await e1.mkdir(A,{recursive:!0});let z=D8.join(A,`${D8.basename(w)}.zip`);try{if(!Y)H.info(`Zipping ${X.platform} project from ${w}...`);await s40(w,z,X.platform);let V=((await e1.stat(z)).size/1024/1024).toFixed(2);if(!Y)H.success(`Created zip: ${z} (${V} MB)`);if(!Y)H.info("Uploading to builder...");if(J)H.info(`Upload endpoint: ${N.upload_url}`),H.info(`File size: ${V} MB`),H.info(`Job ID: ${N.job_id}`);let C=g8.readFileSync(z),y=xD();if(!Y)y.start("Uploading bundle");if(await new Promise((v,n)=>{let h=new AJ.Upload(C,{endpoint:N.upload_url,chunkSize:5242880,metadata:{filename:D8.basename(z),filetype:"application/zip"},headers:{authorization:X.apikey},onBeforeRequest(R){if(J){H.info(`[TUS] ${R.getMethod()} ${R.getURL()}`);let P=R.getHeader("authorization");H.info(`[TUS] Authorization header present: ${!!P}`)}},onAfterResponse(R,P){if(J){H.info(`[TUS] Response status: ${P.getStatus()}`);let x=P.getHeader("upload-offset"),_=P.getHeader("tus-resumable");H.info(`[TUS] Upload-Offset: ${x}, Tus-Resumable: ${_}`)}},onError(R){if(!Y)y.stop("Upload failed"),H.error(`Upload error: ${R.message}`);if(R instanceof AJ.DetailedError){let P=R.originalResponse?.getBody(),x=R.originalResponse?.getStatus(),_=R.originalRequest?.getURL();if(J)H.error(`[TUS] Request URL: ${_}`),H.error(`[TUS] Response status: ${x}`),H.error(`[TUS] Response body: ${P}`);let g="Unknown error";try{let m=JSON.parse(P||'{"error": "unknown error"}');g=m.status||m.error||m.message||"unknown error"}catch{g=P||R.message}n(Error(`TUS upload failed: ${g}`))}else n(Error(`TUS upload failed: ${R.message||R.toString()}`))},onProgress(R,P){let x=(R/P*100).toFixed(2);if(!Y)y.message(`Uploading ${x}%`)},onSuccess(){if(!Y)y.stop("Upload complete!");if(J)H.success("TUS upload completed successfully");v()}});if(J)H.info("[TUS] Starting upload...");h.start()}),!Y)H.info("Starting build job...");let E=await fetch(`${F}/build/start/${N.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify({app_id:D})});if(!E.ok){let v=await E.text();throw Error(`Failed to start build: ${E.status} - ${v}`)}let k=await E.json();if(!Y)H.success("Build started!"),H.info("Streaming build logs...");let f,S=await a40(F,N.job_id,D,X.apikey,Y,J);if(S)f=S;else f=await t40(F,N.job_id,D,X.platform,X.apikey,Y);if(!Y)if(f==="succeeded")H.success("Build completed successfully!");else if(f==="failed")H.error("Build failed");else H.warn(`Build finished with status: ${f}`);let b=((Date.now()-Z)/1000).toFixed(2);return await A0(X.apikey,{channel:"native-builder",event:f==="succeeded"?"Build succeeded":"Build failed",icon:f==="succeeded"?"✅":"❌",user_id:B,tags:{"app-id":D,platform:X.platform,status:f||"unknown",time:b},notify:!1}).catch(),{success:f==="succeeded",jobId:N.job_id,uploadUrl:N.upload_url,status:f||k.status||N.status}}finally{await e1.rm(A,{recursive:!0,force:!0})}}catch(Q){let w=Q instanceof Error?Q.message:String(Q);if(!Y)H.error(w);return{success:!1,error:w}}}async function o40(D,X,Y,Z){for await(let J of D){if(!Z)H.warn(`Removing ${J.name} created on ${c7(J.created_at)}`);await VJ(X,Y,J.name)}}function e40(D,X,Y){let Z=[];for(let J of D??[]){let Q=GD(J.name);if(WQ(Q,X)&&$9(Q,Y))Z.push(J)}return Z}async function Nk(D,X,Y=!1){if(!Y)B0("Cleanup versions in Capgo");await s0(),X.apikey=X.apikey||Q0();let{bundle:Z,keep:J=4}=X,Q=X.force||!1,w=X.ignoreChannel||!1,F=await K0();if(D=b0(D,F?.config),!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let $=await H0(X.apikey,X.supaHost,X.supaAnon);if(await _D($,D,Y),await N0($,X.apikey,["write","all"]),await CD($,X.apikey,D,3,Y,!0),!Y)H.info("Querying all available versions in Capgo");let B=await LJ($,D),q=await Jk($,D);if(!Y)H.info(`Total active versions in Capgo: ${B?.length??0}`);if(!B?.length){if(!Y)H.error("No versions found, aborting cleanup");throw Error("No versions found")}if(Z){let O=GD(Z),K=Q4(O,"major");if(!Y)H.info(`Querying available versions in Capgo between ${Z8(O)} and ${Z8(K)}`);if(B=e40(B,O,K),!Y)H.info(`Active versions in Capgo between ${Z8(O)} and ${Z8(K)}: ${B?.length??0}`)}let G=[],W=0;for(let O of B){let K=q.find((M)=>M===O.id);if(W<J||K&&!w)O.keep=K?"✅ (Linked to channel)":"✅",W+=1;else O.keep="❌",G.push(O)}if(!G.length){if(!Y)H.warn("Nothing to be removed, aborting removal...");return{removed:0,kept:W}}if(!Y)Zk(B);if(!Q)if(!Y){let O=await rD({message:"Do you want to continue removing the versions specified?"});if(c0(O)||!O)throw H.warn("Not confirmed, aborting removal..."),Error("Cleanup cancelled by user")}else throw Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");if(!Y)H.success("You have confirmed removal, removing versions now");if(await o40(G,$,D,Y),!Y)q0("Done ✅");return{removed:G.length,kept:W}}async function Rk(D,X,Y=!1){if(!Y)B0("Check compatibility");let Z={...X,apikey:X.apikey||Q0()},J=await K0(),Q=b0(D,J?.config),w=Z.channel;if(!w){if(!Y)H.error("Missing argument, you need to provide a channel");throw Error("Missing channel")}if(!Z.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Q){if(!Y)H.error("Missing argument, you need to provide an appId, or be in a capacitor project");throw Error("Missing appId")}let F=await H0(Z.apikey,Z.supaHost,Z.supaAnon);await _D(F,Q,Y),await N0(F,Z.apikey,["write","all","read","upload"]),await CD(F,Z.apikey,Q,1,Y,!0);let $=await MJ(F,Q,w,Z.packageJson,Z.nodeModules),B=$.finalCompatibility.some((q)=>!Y9(q));if(!Y){let q=new MD;q.headers=["Package","Local","Remote","Status","Details"],q.theme=MD.roundTheme,q.rows=[];let G=Z.text?"OK":"✅",W=Z.text?"FAIL":"❌";for(let O of $.finalCompatibility){let{name:K,localVersion:M,remoteVersion:U}=O,N=B5(O),A=N.compatible?G:W;q.rows.push([K,M||"-",U||"-",A,N.message])}if(H.success("Compatibility Check Results"),H.info(q.toString()),B){let O=$.finalCompatibility.filter((K)=>!Y9(K)).length;H.warn(`
|