@builder.io/dev-tools 1.59.2 → 1.60.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/cli/index.cjs +85 -84
- package/cli/index.cjs.map +4 -4
- package/core/index.cjs +1 -1
- package/core/index.mjs +1 -1
- package/node/index.cjs +1 -1
- package/node/index.mjs +1 -1
- package/package.json +1 -1
- package/server/index.cjs +39 -38
- package/server/index.mjs +39 -38
- package/types/cli/index.d.ts +2 -0
- package/types/cli/launch.d.ts +3 -0
- package/types/tsconfig.tsbuildinfo +1 -1
package/server/index.mjs
CHANGED
|
@@ -62,9 +62,9 @@ Attempted to suspend at:`);this.suspended=new pw.QuickJSAsyncifySuspended(`(${th
|
|
|
62
62
|
depsCount: ${t},
|
|
63
63
|
deps: ${A}}`};var I9={keyword:"dependencies",type:"object",schemaType:"object",error:on.error,code(e){let[t,A]=d9(e);WR(e,t),$R(e,A)}};function d9({schema:e}){let t={},A={};for(let r in e){if(r==="__proto__")continue;let n=Array.isArray(e[r])?t:A;n[r]=e[r]}return[t,A]}function WR(e,t=e.schema){let{gen:A,data:r,it:n}=e;if(Object.keys(t).length===0)return;let i=A.let("missing");for(let o in t){let s=t[o];if(s.length===0)continue;let a=(0,ag.propertyInData)(A,r,o,n.opts.ownProperties);e.setParams({property:o,depsCount:s.length,deps:s.join(", ")}),n.allErrors?A.if(a,()=>{for(let c of s)(0,ag.checkReportMissingProp)(e,c)}):(A.if((0,sB._)`${a} && (${(0,ag.checkMissingProp)(e,s,i)})`),(0,ag.reportMissingProp)(e,i),A.else())}}on.validatePropertyDeps=WR;function $R(e,t=e.schema){let{gen:A,data:r,keyword:n,it:i}=e,o=A.name("valid");for(let s in t)(0,C9.alwaysValidSchema)(i,t[s])||(A.if((0,ag.propertyInData)(A,r,s,i.opts.ownProperties),()=>{let a=e.subschema({keyword:n,schemaProp:s},o);e.mergeValidEvaluated(a,o)},()=>A.var(o,!0)),e.ok(o))}on.validateSchemaDeps=$R;on.default=I9});var XR=k(aB=>{"use strict";Object.defineProperty(aB,"__esModule",{value:!0});var ZR=Ge(),E9=$e(),p9={message:"property name must be valid",params:({params:e})=>(0,ZR._)`{propertyName: ${e.propertyName}}`},B9={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:p9,code(e){let{gen:t,schema:A,data:r,it:n}=e;if((0,E9.alwaysValidSchema)(n,A))return;let i=t.name("valid");t.forIn("key",r,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},i),t.if((0,ZR.not)(i),()=>{e.error(!0),n.allErrors||t.break()})}),e.ok(i)}};aB.default=B9});var uB=k(gB=>{"use strict";Object.defineProperty(gB,"__esModule",{value:!0});var El=Ir(),kr=Ge(),Q9=xn(),pl=$e(),f9={message:"must NOT have additional properties",params:({params:e})=>(0,kr._)`{additionalProperty: ${e.additionalProperty}}`},h9={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:f9,code(e){let{gen:t,schema:A,parentSchema:r,data:n,errsCount:i,it:o}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:s,opts:a}=o;if(o.props=!0,a.removeAdditional!=="all"&&(0,pl.alwaysValidSchema)(o,A))return;let c=(0,El.allSchemaProperties)(r.properties),l=(0,El.allSchemaProperties)(r.patternProperties);d(),e.ok((0,kr._)`${i} === ${Q9.default.errors}`);function d(){t.forIn("key",n,E=>{!c.length&&!l.length?u(E):t.if(I(E),()=>u(E))})}function I(E){let B;if(c.length>8){let f=(0,pl.schemaRefOrVal)(o,r.properties,"properties");B=(0,El.isOwnProperty)(t,f,E)}else c.length?B=(0,kr.or)(...c.map(f=>(0,kr._)`${E} === ${f}`)):B=kr.nil;return l.length&&(B=(0,kr.or)(B,...l.map(f=>(0,kr._)`${(0,El.usePattern)(e,f)}.test(${E})`))),(0,kr.not)(B)}function g(E){t.code((0,kr._)`delete ${n}[${E}]`)}function u(E){if(a.removeAdditional==="all"||a.removeAdditional&&A===!1){g(E);return}if(A===!1){e.setParams({additionalProperty:E}),e.error(),s||t.break();return}if(typeof A=="object"&&!(0,pl.alwaysValidSchema)(o,A)){let B=t.name("valid");a.removeAdditional==="failing"?(C(E,B,!1),t.if((0,kr.not)(B),()=>{e.reset(),g(E)})):(C(E,B),s||t.if((0,kr.not)(B),()=>t.break()))}}function C(E,B,f){let m={keyword:"additionalProperties",dataProp:E,dataPropType:pl.Type.Str};f===!1&&Object.assign(m,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(m,B)}}};gB.default=h9});var Av=k(lB=>{"use strict";Object.defineProperty(lB,"__esModule",{value:!0});var m9=Va(),ev=Ir(),cB=$e(),tv=uB(),D9={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:A,parentSchema:r,data:n,it:i}=e;i.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&tv.default.code(new m9.KeywordCxt(i,tv.default,"additionalProperties"));let o=(0,ev.allSchemaProperties)(A);for(let d of o)i.definedProperties.add(d);i.opts.unevaluated&&o.length&&i.props!==!0&&(i.props=cB.mergeEvaluated.props(t,(0,cB.toHash)(o),i.props));let s=o.filter(d=>!(0,cB.alwaysValidSchema)(i,A[d]));if(s.length===0)return;let a=t.name("valid");for(let d of s)c(d)?l(d):(t.if((0,ev.propertyInData)(t,n,d,i.opts.ownProperties)),l(d),i.allErrors||t.else().var(a,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(a);function c(d){return i.opts.useDefaults&&!i.compositeRule&&A[d].default!==void 0}function l(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},a)}}};lB.default=D9});var ov=k(CB=>{"use strict";Object.defineProperty(CB,"__esModule",{value:!0});var rv=Ir(),Bl=Ge(),nv=$e(),iv=$e(),y9={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:A,data:r,parentSchema:n,it:i}=e,{opts:o}=i,s=(0,rv.allSchemaProperties)(A),a=s.filter(C=>(0,nv.alwaysValidSchema)(i,A[C]));if(s.length===0||a.length===s.length&&(!i.opts.unevaluated||i.props===!0))return;let c=o.strictSchema&&!o.allowMatchingProperties&&n.properties,l=t.name("valid");i.props!==!0&&!(i.props instanceof Bl.Name)&&(i.props=(0,iv.evaluatedPropsToName)(t,i.props));let{props:d}=i;I();function I(){for(let C of s)c&&g(C),i.allErrors?u(C):(t.var(l,!0),u(C),t.if(l))}function g(C){for(let E in c)new RegExp(C).test(E)&&(0,nv.checkStrictMode)(i,`property ${E} matches pattern ${C} (use allowMatchingProperties)`)}function u(C){t.forIn("key",r,E=>{t.if((0,Bl._)`${(0,rv.usePattern)(e,C)}.test(${E})`,()=>{let B=a.includes(C);B||e.subschema({keyword:"patternProperties",schemaProp:C,dataProp:E,dataPropType:iv.Type.Str},l),i.opts.unevaluated&&d!==!0?t.assign((0,Bl._)`${d}[${E}]`,!0):!B&&!i.allErrors&&t.if((0,Bl.not)(l),()=>t.break())})})}}};CB.default=y9});var sv=k(IB=>{"use strict";Object.defineProperty(IB,"__esModule",{value:!0});var w9=$e(),S9={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:A,it:r}=e;if((0,w9.alwaysValidSchema)(r,A)){e.fail();return}let n=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},n),e.failResult(n,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};IB.default=S9});var av=k(dB=>{"use strict";Object.defineProperty(dB,"__esModule",{value:!0});var F9=Ir(),b9={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:F9.validateUnion,error:{message:"must match a schema in anyOf"}};dB.default=b9});var gv=k(EB=>{"use strict";Object.defineProperty(EB,"__esModule",{value:!0});var Ql=Ge(),R9=$e(),v9={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Ql._)`{passingSchemas: ${e.passing}}`},x9={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:v9,code(e){let{gen:t,schema:A,parentSchema:r,it:n}=e;if(!Array.isArray(A))throw new Error("ajv implementation error");if(n.opts.discriminator&&r.discriminator)return;let i=A,o=t.let("valid",!1),s=t.let("passing",null),a=t.name("_valid");e.setParams({passing:s}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){i.forEach((l,d)=>{let I;(0,R9.alwaysValidSchema)(n,l)?t.var(a,!0):I=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},a),d>0&&t.if((0,Ql._)`${a} && ${o}`).assign(o,!1).assign(s,(0,Ql._)`[${s}, ${d}]`).else(),t.if(a,()=>{t.assign(o,!0),t.assign(s,d),I&&e.mergeEvaluated(I,Ql.Name)})})}}};EB.default=x9});var uv=k(pB=>{"use strict";Object.defineProperty(pB,"__esModule",{value:!0});var k9=$e(),M9={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:A,it:r}=e;if(!Array.isArray(A))throw new Error("ajv implementation error");let n=t.name("valid");A.forEach((i,o)=>{if((0,k9.alwaysValidSchema)(r,i))return;let s=e.subschema({keyword:"allOf",schemaProp:o},n);e.ok(n),e.mergeEvaluated(s)})}};pB.default=M9});var Cv=k(BB=>{"use strict";Object.defineProperty(BB,"__esModule",{value:!0});var fl=Ge(),lv=$e(),N9={message:({params:e})=>(0,fl.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,fl._)`{failingKeyword: ${e.ifClause}}`},G9={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:N9,code(e){let{gen:t,parentSchema:A,it:r}=e;A.then===void 0&&A.else===void 0&&(0,lv.checkStrictMode)(r,'"if" without "then" and "else" is ignored');let n=cv(r,"then"),i=cv(r,"else");if(!n&&!i)return;let o=t.let("valid",!0),s=t.name("_valid");if(a(),e.reset(),n&&i){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(s,c("then",l),c("else",l))}else n?t.if(s,c("then")):t.if((0,fl.not)(s),c("else"));e.pass(o,()=>e.error(!0));function a(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(l)}function c(l,d){return()=>{let I=e.subschema({keyword:l},s);t.assign(o,s),e.mergeValidEvaluated(I,o),d?t.assign(d,(0,fl._)`${l}`):e.setParams({ifClause:l})}}}};function cv(e,t){let A=e.schema[t];return A!==void 0&&!(0,lv.alwaysValidSchema)(e,A)}BB.default=G9});var Iv=k(QB=>{"use strict";Object.defineProperty(QB,"__esModule",{value:!0});var U9=$e(),L9={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:A}){t.if===void 0&&(0,U9.checkStrictMode)(A,`"${e}" without "if" is ignored`)}};QB.default=L9});var dv=k(fB=>{"use strict";Object.defineProperty(fB,"__esModule",{value:!0});var T9=AB(),P9=YR(),K9=rB(),J9=qR(),H9=VR(),_9=zR(),O9=XR(),Y9=uB(),j9=Av(),q9=ov(),V9=sv(),W9=av(),$9=gv(),z9=uv(),Z9=Cv(),X9=Iv();function eW(e=!1){let t=[V9.default,W9.default,$9.default,z9.default,Z9.default,X9.default,O9.default,Y9.default,_9.default,j9.default,q9.default];return e?t.push(P9.default,J9.default):t.push(T9.default,K9.default),t.push(H9.default),t}fB.default=eW});var Ev=k(hB=>{"use strict";Object.defineProperty(hB,"__esModule",{value:!0});var Gt=Ge(),tW={message:({schemaCode:e})=>(0,Gt.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Gt._)`{format: ${e}}`},AW={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:tW,code(e,t){let{gen:A,data:r,$data:n,schema:i,schemaCode:o,it:s}=e,{opts:a,errSchemaPath:c,schemaEnv:l,self:d}=s;if(!a.validateFormats)return;n?I():g();function I(){let u=A.scopeValue("formats",{ref:d.formats,code:a.code.formats}),C=A.const("fDef",(0,Gt._)`${u}[${o}]`),E=A.let("fType"),B=A.let("format");A.if((0,Gt._)`typeof ${C} == "object" && !(${C} instanceof RegExp)`,()=>A.assign(E,(0,Gt._)`${C}.type || "string"`).assign(B,(0,Gt._)`${C}.validate`),()=>A.assign(E,(0,Gt._)`"string"`).assign(B,C)),e.fail$data((0,Gt.or)(f(),m()));function f(){return a.strictSchema===!1?Gt.nil:(0,Gt._)`${o} && !${B}`}function m(){let w=l.$async?(0,Gt._)`(${C}.async ? await ${B}(${r}) : ${B}(${r}))`:(0,Gt._)`${B}(${r})`,y=(0,Gt._)`(typeof ${B} == "function" ? ${w} : ${B}.test(${r}))`;return(0,Gt._)`${B} && ${B} !== true && ${E} === ${t} && !${y}`}}function g(){let u=d.formats[i];if(!u){f();return}if(u===!0)return;let[C,E,B]=m(u);C===t&&e.pass(w());function f(){if(a.strictSchema===!1){d.logger.warn(y());return}throw new Error(y());function y(){return`unknown format "${i}" ignored in schema at path "${c}"`}}function m(y){let R=y instanceof RegExp?(0,Gt.regexpCode)(y):a.code.formats?(0,Gt._)`${a.code.formats}${(0,Gt.getProperty)(i)}`:void 0,x=A.scopeValue("formats",{key:i,ref:y,code:R});return typeof y=="object"&&!(y instanceof RegExp)?[y.type||"string",y.validate,(0,Gt._)`${x}.validate`]:["string",y,x]}function w(){if(typeof u=="object"&&!(u instanceof RegExp)&&u.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Gt._)`await ${B}(${r})`}return typeof E=="function"?(0,Gt._)`${B}(${r})`:(0,Gt._)`${B}.test(${r})`}}}};hB.default=AW});var pv=k(mB=>{"use strict";Object.defineProperty(mB,"__esModule",{value:!0});var rW=Ev(),nW=[rW.default];mB.default=nW});var Bv=k(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.contentVocabulary=ns.metadataVocabulary=void 0;ns.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ns.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var fv=k(DB=>{"use strict";Object.defineProperty(DB,"__esModule",{value:!0});var iW=FR(),oW=JR(),sW=dv(),aW=pv(),Qv=Bv(),gW=[iW.default,oW.default,(0,sW.default)(),aW.default,Qv.metadataVocabulary,Qv.contentVocabulary];DB.default=gW});var mv=k(hl=>{"use strict";Object.defineProperty(hl,"__esModule",{value:!0});hl.DiscrError=void 0;var hv;(function(e){e.Tag="tag",e.Mapping="mapping"})(hv||(hl.DiscrError=hv={}))});var yv=k(wB=>{"use strict";Object.defineProperty(wB,"__esModule",{value:!0});var is=Ge(),yB=mv(),Dv=rl(),uW=Wa(),cW=$e(),lW={message:({params:{discrError:e,tagName:t}})=>e===yB.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:A}})=>(0,is._)`{error: ${e}, tag: ${A}, tagValue: ${t}}`},CW={keyword:"discriminator",type:"object",schemaType:"object",error:lW,code(e){let{gen:t,data:A,schema:r,parentSchema:n,it:i}=e,{oneOf:o}=n;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=r.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let a=t.let("valid",!1),c=t.const("tag",(0,is._)`${A}${(0,is.getProperty)(s)}`);t.if((0,is._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:yB.DiscrError.Tag,tag:c,tagName:s})),e.ok(a);function l(){let g=I();t.if(!1);for(let u in g)t.elseIf((0,is._)`${c} === ${u}`),t.assign(a,d(g[u]));t.else(),e.error(!1,{discrError:yB.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}function d(g){let u=t.name("valid"),C=e.subschema({keyword:"oneOf",schemaProp:g},u);return e.mergeEvaluated(C,is.Name),u}function I(){var g;let u={},C=B(n),E=!0;for(let w=0;w<o.length;w++){let y=o[w];if(y?.$ref&&!(0,cW.schemaHasRulesButRef)(y,i.self.RULES)){let x=y.$ref;if(y=Dv.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,x),y instanceof Dv.SchemaEnv&&(y=y.schema),y===void 0)throw new uW.default(i.opts.uriResolver,i.baseId,x)}let R=(g=y?.properties)===null||g===void 0?void 0:g[s];if(typeof R!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);E=E&&(C||B(y)),f(R,w)}if(!E)throw new Error(`discriminator: "${s}" must be required`);return u;function B({required:w}){return Array.isArray(w)&&w.includes(s)}function f(w,y){if(w.const)m(w.const,y);else if(w.enum)for(let R of w.enum)m(R,y);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function m(w,y){if(typeof w!="string"||w in u)throw new Error(`discriminator: "${s}" values must be unique strings`);u[w]=y}}}};wB.default=CW});var wv=k((ZEe,IW)=>{IW.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 Fv=k((mt,SB)=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.MissingRefError=mt.ValidationError=mt.CodeGen=mt.Name=mt.nil=mt.stringify=mt.str=mt._=mt.KeywordCxt=mt.Ajv=void 0;var dW=hR(),EW=fv(),pW=yv(),Sv=wv(),BW=["/properties"],ml="http://json-schema.org/draft-07/schema",os=class extends dW.default{_addVocabularies(){super._addVocabularies(),EW.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(pW.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(Sv,BW):Sv;this.addMetaSchema(t,ml,!1),this.refs["http://json-schema.org/schema"]=ml}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ml)?ml:void 0)}};mt.Ajv=os;SB.exports=mt=os;SB.exports.Ajv=os;Object.defineProperty(mt,"__esModule",{value:!0});mt.default=os;var QW=Va();Object.defineProperty(mt,"KeywordCxt",{enumerable:!0,get:function(){return QW.KeywordCxt}});var ss=Ge();Object.defineProperty(mt,"_",{enumerable:!0,get:function(){return ss._}});Object.defineProperty(mt,"str",{enumerable:!0,get:function(){return ss.str}});Object.defineProperty(mt,"stringify",{enumerable:!0,get:function(){return ss.stringify}});Object.defineProperty(mt,"nil",{enumerable:!0,get:function(){return ss.nil}});Object.defineProperty(mt,"Name",{enumerable:!0,get:function(){return ss.Name}});Object.defineProperty(mt,"CodeGen",{enumerable:!0,get:function(){return ss.CodeGen}});var fW=tl();Object.defineProperty(mt,"ValidationError",{enumerable:!0,get:function(){return fW.default}});var hW=Wa();Object.defineProperty(mt,"MissingRefError",{enumerable:!0,get:function(){return hW.default}})});var Gv=k(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.formatNames=an.fastFormats=an.fullFormats=void 0;function sn(e,t){return{validate:e,compare:t}}an.fullFormats={date:sn(xv,vB),time:sn(bB(!0),xB),"date-time":sn(bv(!0),Mv),"iso-time":sn(bB(),kv),"iso-date-time":sn(bv(),Nv),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:FW,"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:NW,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:bW,int32:{type:"number",validate:xW},int64:{type:"number",validate:kW},float:{type:"number",validate:vv},double:{type:"number",validate:vv},password:!0,binary:!0};an.fastFormats={...an.fullFormats,date:sn(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,vB),time:sn(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,xB),"date-time":sn(/^\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,Mv),"iso-time":sn(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,kv),"iso-date-time":sn(/^\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,Nv),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};an.formatNames=Object.keys(an.fullFormats);function mW(e){return e%4===0&&(e%100!==0||e%400===0)}var DW=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,yW=[0,31,28,31,30,31,30,31,31,30,31,30,31];function xv(e){let t=DW.exec(e);if(!t)return!1;let A=+t[1],r=+t[2],n=+t[3];return r>=1&&r<=12&&n>=1&&n<=(r===2&&mW(A)?29:yW[r])}function vB(e,t){if(e&&t)return e>t?1:e<t?-1:0}var FB=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function bB(e){return function(A){let r=FB.exec(A);if(!r)return!1;let n=+r[1],i=+r[2],o=+r[3],s=r[4],a=r[5]==="-"?-1:1,c=+(r[6]||0),l=+(r[7]||0);if(c>23||l>59||e&&!s)return!1;if(n<=23&&i<=59&&o<60)return!0;let d=i-l*a,I=n-c*a-(d<0?1:0);return(I===23||I===-1)&&(d===59||d===-1)&&o<61}}function xB(e,t){if(!(e&&t))return;let A=new Date("2020-01-01T"+e).valueOf(),r=new Date("2020-01-01T"+t).valueOf();if(A&&r)return A-r}function kv(e,t){if(!(e&&t))return;let A=FB.exec(e),r=FB.exec(t);if(A&&r)return e=A[1]+A[2]+A[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}var RB=/t|\s/i;function bv(e){let t=bB(e);return function(r){let n=r.split(RB);return n.length===2&&xv(n[0])&&t(n[1])}}function Mv(e,t){if(!(e&&t))return;let A=new Date(e).valueOf(),r=new Date(t).valueOf();if(A&&r)return A-r}function Nv(e,t){if(!(e&&t))return;let[A,r]=e.split(RB),[n,i]=t.split(RB),o=vB(A,n);if(o!==void 0)return o||xB(r,i)}var wW=/\/|:/,SW=/^(?:[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 FW(e){return wW.test(e)&&SW.test(e)}var Rv=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function bW(e){return Rv.lastIndex=0,Rv.test(e)}var RW=-(2**31),vW=2**31-1;function xW(e){return Number.isInteger(e)&&e<=vW&&e>=RW}function kW(e){return Number.isInteger(e)}function vv(){return!0}var MW=/[^\\]\\Z/;function NW(e){if(MW.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var Uv=k(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.formatLimitDefinition=void 0;var GW=Fv(),Mr=Ge(),ii=Mr.operators,Dl={formatMaximum:{okStr:"<=",ok:ii.LTE,fail:ii.GT},formatMinimum:{okStr:">=",ok:ii.GTE,fail:ii.LT},formatExclusiveMaximum:{okStr:"<",ok:ii.LT,fail:ii.GTE},formatExclusiveMinimum:{okStr:">",ok:ii.GT,fail:ii.LTE}},UW={message:({keyword:e,schemaCode:t})=>(0,Mr.str)`should be ${Dl[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Mr._)`{comparison: ${Dl[e].okStr}, limit: ${t}}`};as.formatLimitDefinition={keyword:Object.keys(Dl),type:"string",schemaType:"string",$data:!0,error:UW,code(e){let{gen:t,data:A,schemaCode:r,keyword:n,it:i}=e,{opts:o,self:s}=i;if(!o.validateFormats)return;let a=new GW.KeywordCxt(i,s.RULES.all.format.definition,"format");a.$data?c():l();function c(){let I=t.scopeValue("formats",{ref:s.formats,code:o.code.formats}),g=t.const("fmt",(0,Mr._)`${I}[${a.schemaCode}]`);e.fail$data((0,Mr.or)((0,Mr._)`typeof ${g} != "object"`,(0,Mr._)`${g} instanceof RegExp`,(0,Mr._)`typeof ${g}.compare != "function"`,d(g)))}function l(){let I=a.schema,g=s.formats[I];if(!g||g===!0)return;if(typeof g!="object"||g instanceof RegExp||typeof g.compare!="function")throw new Error(`"${n}": format "${I}" does not define "compare" function`);let u=t.scopeValue("formats",{key:I,ref:g,code:o.code.formats?(0,Mr._)`${o.code.formats}${(0,Mr.getProperty)(I)}`:void 0});e.fail$data(d(u))}function d(I){return(0,Mr._)`${I}.compare(${A}, ${r}) ${Dl[n].fail} 0`}},dependencies:["format"]};var LW=e=>(e.addKeyword(as.formatLimitDefinition),e);as.default=LW});var Kv=k((gg,Pv)=>{"use strict";Object.defineProperty(gg,"__esModule",{value:!0});var gs=Gv(),TW=Uv(),kB=Ge(),Lv=new kB.Name("fullFormats"),PW=new kB.Name("fastFormats"),MB=(e,t={keywords:!0})=>{if(Array.isArray(t))return Tv(e,t,gs.fullFormats,Lv),e;let[A,r]=t.mode==="fast"?[gs.fastFormats,PW]:[gs.fullFormats,Lv],n=t.formats||gs.formatNames;return Tv(e,n,A,r),t.keywords&&(0,TW.default)(e),e};MB.get=(e,t="full")=>{let r=(t==="fast"?gs.fastFormats:gs.fullFormats)[e];if(!r)throw new Error(`Unknown format "${e}"`);return r};function Tv(e,t,A,r){var n,i;(n=(i=e.opts.code).formats)!==null&&n!==void 0||(i.formats=(0,kB._)`require("ajv-formats/dist/formats").${r}`);for(let o of t)e.addFormat(o,A[o])}Pv.exports=gg=MB;Object.defineProperty(gg,"__esModule",{value:!0});gg.default=MB});var Yv=k((Qpe,Ov)=>{Ov.exports=_v;_v.sync=_W;var Jv=he("fs");function HW(e,t){var A=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!A||(A=A.split(";"),A.indexOf("")!==-1))return!0;for(var r=0;r<A.length;r++){var n=A[r].toLowerCase();if(n&&e.substr(-n.length).toLowerCase()===n)return!0}return!1}function Hv(e,t,A){return!e.isSymbolicLink()&&!e.isFile()?!1:HW(t,A)}function _v(e,t,A){Jv.stat(e,function(r,n){A(r,r?!1:Hv(n,e,t))})}function _W(e,t){return Hv(Jv.statSync(e),e,t)}});var $v=k((fpe,Wv)=>{Wv.exports=qv;qv.sync=OW;var jv=he("fs");function qv(e,t,A){jv.stat(e,function(r,n){A(r,r?!1:Vv(n,t))})}function OW(e,t){return Vv(jv.statSync(e),t)}function Vv(e,t){return e.isFile()&&YW(e,t)}function YW(e,t){var A=e.mode,r=e.uid,n=e.gid,i=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),o=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),s=parseInt("100",8),a=parseInt("010",8),c=parseInt("001",8),l=s|a,d=A&c||A&a&&n===o||A&s&&r===i||A&l&&i===0;return d}});var Zv=k((mpe,zv)=>{var hpe=he("fs"),yl;process.platform==="win32"||global.TESTING_WINDOWS?yl=Yv():yl=$v();zv.exports=NB;NB.sync=jW;function NB(e,t,A){if(typeof t=="function"&&(A=t,t={}),!A){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,n){NB(e,t||{},function(i,o){i?n(i):r(o)})})}yl(e,t||{},function(r,n){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,n=!1),A(r,n)})}function jW(e,t){try{return yl.sync(e,t||{})}catch(A){if(t&&t.ignoreErrors||A.code==="EACCES")return!1;throw A}}});var ix=k((Dpe,nx)=>{var us=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Xv=he("path"),qW=us?";":":",ex=Zv(),tx=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Ax=(e,t)=>{let A=t.colon||qW,r=e.match(/\//)||us&&e.match(/\\/)?[""]:[...us?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(A)],n=us?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=us?n.split(A):[""];return us&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:r,pathExt:i,pathExtExe:n}},rx=(e,t,A)=>{typeof t=="function"&&(A=t,t={}),t||(t={});let{pathEnv:r,pathExt:n,pathExtExe:i}=Ax(e,t),o=[],s=c=>new Promise((l,d)=>{if(c===r.length)return t.all&&o.length?l(o):d(tx(e));let I=r[c],g=/^".*"$/.test(I)?I.slice(1,-1):I,u=Xv.join(g,e),C=!g&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;l(a(C,c,0))}),a=(c,l,d)=>new Promise((I,g)=>{if(d===n.length)return I(s(l+1));let u=n[d];ex(c+u,{pathExt:i},(C,E)=>{if(!C&&E)if(t.all)o.push(c+u);else return I(c+u);return I(a(c,l,d+1))})});return A?s(0).then(c=>A(null,c),A):s(0)},VW=(e,t)=>{t=t||{};let{pathEnv:A,pathExt:r,pathExtExe:n}=Ax(e,t),i=[];for(let o=0;o<A.length;o++){let s=A[o],a=/^".*"$/.test(s)?s.slice(1,-1):s,c=Xv.join(a,e),l=!a&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let d=0;d<r.length;d++){let I=l+r[d];try{if(ex.sync(I,{pathExt:n}))if(t.all)i.push(I);else return I}catch{}}}if(t.all&&i.length)return i;if(t.nothrow)return null;throw tx(e)};nx.exports=rx;rx.sync=VW});var sx=k((ype,GB)=>{"use strict";var ox=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};GB.exports=ox;GB.exports.default=ox});var cx=k((wpe,ux)=>{"use strict";var ax=he("path"),WW=ix(),$W=sx();function gx(e,t){let A=e.options.env||process.env,r=process.cwd(),n=e.options.cwd!=null,i=n&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let o;try{o=WW.sync(e.command,{path:A[$W({env:A})],pathExt:t?ax.delimiter:void 0})}catch{}finally{i&&process.chdir(r)}return o&&(o=ax.resolve(n?e.options.cwd:"",o)),o}function zW(e){return gx(e)||gx(e,!0)}ux.exports=zW});var lx=k((Spe,LB)=>{"use strict";var UB=/([()\][%!^"`<>&|;, *?])/g;function ZW(e){return e=e.replace(UB,"^$1"),e}function XW(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(UB,"^$1"),t&&(e=e.replace(UB,"^$1")),e}LB.exports.command=ZW;LB.exports.argument=XW});var Ix=k((Fpe,Cx)=>{"use strict";Cx.exports=/^#!(.*)/});var Ex=k((bpe,dx)=>{"use strict";var e$=Ix();dx.exports=(e="")=>{let t=e.match(e$);if(!t)return null;let[A,r]=t[0].replace(/#! ?/,"").split(" "),n=A.split("/").pop();return n==="env"?r:r?`${n} ${r}`:n}});var Bx=k((Rpe,px)=>{"use strict";var TB=he("fs"),t$=Ex();function A$(e){let A=Buffer.alloc(150),r;try{r=TB.openSync(e,"r"),TB.readSync(r,A,0,150,0),TB.closeSync(r)}catch{}return t$(A.toString())}px.exports=A$});var mx=k((vpe,hx)=>{"use strict";var r$=he("path"),Qx=cx(),fx=lx(),n$=Bx(),i$=process.platform==="win32",o$=/\.(?:com|exe)$/i,s$=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function a$(e){e.file=Qx(e);let t=e.file&&n$(e.file);return t?(e.args.unshift(e.file),e.command=t,Qx(e)):e.file}function g$(e){if(!i$)return e;let t=a$(e),A=!o$.test(t);if(e.options.forceShell||A){let r=s$.test(t);e.command=r$.normalize(e.command),e.command=fx.command(e.command),e.args=e.args.map(i=>fx.argument(i,r));let n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function u$(e,t,A){t&&!Array.isArray(t)&&(A=t,t=null),t=t?t.slice(0):[],A=Object.assign({},A);let r={command:e,args:t,options:A,file:void 0,original:{command:e,args:t}};return A.shell?r:g$(r)}hx.exports=u$});var wx=k((xpe,yx)=>{"use strict";var PB=process.platform==="win32";function KB(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function c$(e,t){if(!PB)return;let A=e.emit;e.emit=function(r,n){if(r==="exit"){let i=Dx(n,t);if(i)return A.call(e,"error",i)}return A.apply(e,arguments)}}function Dx(e,t){return PB&&e===1&&!t.file?KB(t.original,"spawn"):null}function l$(e,t){return PB&&e===1&&!t.file?KB(t.original,"spawnSync"):null}yx.exports={hookChildProcess:c$,verifyENOENT:Dx,verifyENOENTSync:l$,notFoundError:KB}});var bx=k((kpe,cs)=>{"use strict";var Sx=he("child_process"),JB=mx(),HB=wx();function Fx(e,t,A){let r=JB(e,t,A),n=Sx.spawn(r.command,r.args,r.options);return HB.hookChildProcess(n,r),n}function C$(e,t,A){let r=JB(e,t,A),n=Sx.spawnSync(r.command,r.args,r.options);return n.error=n.error||HB.verifyENOENTSync(n.status,r),n}cs.exports=Fx;cs.exports.spawn=Fx;cs.exports.sync=C$;cs.exports._parse=JB;cs.exports._enoent=HB});var xx=k((EBe,k$)=>{k$.exports={name:"dotenv",version:"16.3.2",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Gx=k((pBe,Nn)=>{var kx=he("fs"),_B=he("path"),M$=he("os"),N$=he("crypto"),G$=xx(),OB=G$.version,U$=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function L$(e){let t={},A=e.toString();A=A.replace(/\r\n?/mg,`
|
|
64
64
|
`);let r;for(;(r=U$.exec(A))!=null;){let n=r[1],i=r[2]||"";i=i.trim();let o=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),o==='"'&&(i=i.replace(/\\n/g,`
|
|
65
|
-
`),i=i.replace(/\\r/g,"\r")),t[n]=i}return t}function T$(e){let t=Nx(e),A=Zt.configDotenv({path:t});if(!A.parsed)throw new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);let r=Mx(e).split(","),n=r.length,i;for(let o=0;o<n;o++)try{let s=r[o].trim(),a=J$(A,s);i=Zt.decrypt(a.ciphertext,a.key);break}catch(s){if(o+1>=n)throw s}return Zt.parse(i)}function P$(e){console.log(`[dotenv@${OB}][INFO] ${e}`)}function K$(e){console.log(`[dotenv@${OB}][WARN] ${e}`)}function wl(e){console.log(`[dotenv@${OB}][DEBUG] ${e}`)}function Mx(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function J$(e,t){let A;try{A=new URL(t)}catch(s){throw s.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):s}let r=A.password;if(!r)throw new Error("INVALID_DOTENV_KEY: Missing key part");let n=A.searchParams.get("environment");if(!n)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let i=`DOTENV_VAULT_${n.toUpperCase()}`,o=e.parsed[i];if(!o)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${i} in your .env.vault file.`);return{ciphertext:o,key:r}}function Nx(e){let t=_B.resolve(process.cwd(),".env");return e&&e.path&&e.path.length>0&&(t=e.path),t.endsWith(".vault")?t:`${t}.vault`}function H$(e){return e[0]==="~"?_B.join(M$.homedir(),e.slice(1)):e}function _$(e){P$("Loading env from encrypted .env.vault");let t=Zt._parseVault(e),A=process.env;return e&&e.processEnv!=null&&(A=e.processEnv),Zt.populate(A,t,e),{parsed:t}}function O$(e){let t=_B.resolve(process.cwd(),".env"),A="utf8",r=!!(e&&e.debug);e&&(e.path!=null&&(t=H$(e.path)),e.encoding!=null?A=e.encoding:r&&wl("No encoding is specified. UTF-8 is used by default"));try{let n=Zt.parse(kx.readFileSync(t,{encoding:A})),i=process.env;return e&&e.processEnv!=null&&(i=e.processEnv),Zt.populate(i,n,e),{parsed:n}}catch(n){return r&&wl(`Failed to load ${t} ${n.message}`),{error:n}}}function Y$(e){let t=Nx(e);return Mx(e).length===0?Zt.configDotenv(e):kx.existsSync(t)?Zt._configVault(e):(K$(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),Zt.configDotenv(e))}function j$(e,t){let A=Buffer.from(t.slice(-64),"hex"),r=Buffer.from(e,"base64"),n=r.subarray(0,12),i=r.subarray(-16);r=r.subarray(12,-16);try{let o=N$.createDecipheriv("aes-256-gcm",A,n);return o.setAuthTag(i),`${o.update(r)}${o.final()}`}catch(o){let s=o instanceof RangeError,a=o.message==="Invalid key length",c=o.message==="Unsupported state or unable to authenticate data";if(s||a){let l="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(l)}else if(c){let l="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(l)}else throw console.error("Error: ",o.code),console.error("Error: ",o.message),o}}function q$(e,t,A={}){let r=!!(A&&A.debug),n=!!(A&&A.override);if(typeof t!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let i of Object.keys(t))Object.prototype.hasOwnProperty.call(e,i)?(n===!0&&(e[i]=t[i]),r&&wl(n===!0?`"${i}" is already defined and WAS overwritten`:`"${i}" is already defined and was NOT overwritten`)):e[i]=t[i]}var Zt={configDotenv:O$,_configVault:_$,_parseVault:T$,config:Y$,decrypt:j$,parse:L$,populate:q$};Nn.exports.configDotenv=Zt.configDotenv;Nn.exports._configVault=Zt._configVault;Nn.exports._parseVault=Zt._parseVault;Nn.exports.config=Zt.config;Nn.exports.decrypt=Zt.decrypt;Nn.exports.parse=Zt.parse;Nn.exports.populate=Zt.populate;Nn.exports=Zt});var iM="1.
|
|
65
|
+
`),i=i.replace(/\\r/g,"\r")),t[n]=i}return t}function T$(e){let t=Nx(e),A=Zt.configDotenv({path:t});if(!A.parsed)throw new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);let r=Mx(e).split(","),n=r.length,i;for(let o=0;o<n;o++)try{let s=r[o].trim(),a=J$(A,s);i=Zt.decrypt(a.ciphertext,a.key);break}catch(s){if(o+1>=n)throw s}return Zt.parse(i)}function P$(e){console.log(`[dotenv@${OB}][INFO] ${e}`)}function K$(e){console.log(`[dotenv@${OB}][WARN] ${e}`)}function wl(e){console.log(`[dotenv@${OB}][DEBUG] ${e}`)}function Mx(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function J$(e,t){let A;try{A=new URL(t)}catch(s){throw s.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):s}let r=A.password;if(!r)throw new Error("INVALID_DOTENV_KEY: Missing key part");let n=A.searchParams.get("environment");if(!n)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let i=`DOTENV_VAULT_${n.toUpperCase()}`,o=e.parsed[i];if(!o)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${i} in your .env.vault file.`);return{ciphertext:o,key:r}}function Nx(e){let t=_B.resolve(process.cwd(),".env");return e&&e.path&&e.path.length>0&&(t=e.path),t.endsWith(".vault")?t:`${t}.vault`}function H$(e){return e[0]==="~"?_B.join(M$.homedir(),e.slice(1)):e}function _$(e){P$("Loading env from encrypted .env.vault");let t=Zt._parseVault(e),A=process.env;return e&&e.processEnv!=null&&(A=e.processEnv),Zt.populate(A,t,e),{parsed:t}}function O$(e){let t=_B.resolve(process.cwd(),".env"),A="utf8",r=!!(e&&e.debug);e&&(e.path!=null&&(t=H$(e.path)),e.encoding!=null?A=e.encoding:r&&wl("No encoding is specified. UTF-8 is used by default"));try{let n=Zt.parse(kx.readFileSync(t,{encoding:A})),i=process.env;return e&&e.processEnv!=null&&(i=e.processEnv),Zt.populate(i,n,e),{parsed:n}}catch(n){return r&&wl(`Failed to load ${t} ${n.message}`),{error:n}}}function Y$(e){let t=Nx(e);return Mx(e).length===0?Zt.configDotenv(e):kx.existsSync(t)?Zt._configVault(e):(K$(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),Zt.configDotenv(e))}function j$(e,t){let A=Buffer.from(t.slice(-64),"hex"),r=Buffer.from(e,"base64"),n=r.subarray(0,12),i=r.subarray(-16);r=r.subarray(12,-16);try{let o=N$.createDecipheriv("aes-256-gcm",A,n);return o.setAuthTag(i),`${o.update(r)}${o.final()}`}catch(o){let s=o instanceof RangeError,a=o.message==="Invalid key length",c=o.message==="Unsupported state or unable to authenticate data";if(s||a){let l="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(l)}else if(c){let l="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(l)}else throw console.error("Error: ",o.code),console.error("Error: ",o.message),o}}function q$(e,t,A={}){let r=!!(A&&A.debug),n=!!(A&&A.override);if(typeof t!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let i of Object.keys(t))Object.prototype.hasOwnProperty.call(e,i)?(n===!0&&(e[i]=t[i]),r&&wl(n===!0?`"${i}" is already defined and WAS overwritten`:`"${i}" is already defined and was NOT overwritten`)):e[i]=t[i]}var Zt={configDotenv:O$,_configVault:_$,_parseVault:T$,config:Y$,decrypt:j$,parse:L$,populate:q$};Nn.exports.configDotenv=Zt.configDotenv;Nn.exports._configVault=Zt._configVault;Nn.exports._parseVault=Zt._parseVault;Nn.exports.config=Zt.config;Nn.exports.decrypt=Zt.decrypt;Nn.exports.parse=Zt.parse;Nn.exports.populate=Zt.populate;Nn.exports=Zt});var iM="1.60.0",HA=process.env.OVERRIDE_VERSION??iM;import{createServer as S6,request as F6}from"node:http";var Gl="preview-url";var Zi="framework",Fg="platform",bg="node",UQ="/~builder-connect",pi="/~builder-connected",Ul="/~builder-dev-tools",Ll="/~builder-dev-tools.js",Bi="/~builder-dev-tools-close",LQ="/mappings";function Ve(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function Rg(e,t=""){let A=Ve(e,t?.trim());if(A.statements.length===0)throw new Error(`No statements found in code: ${t}`);return A.statements[0]}function jt(e,t,A){if(t){let r=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:A});return e.ts.isSourceFile(t)?r.printFile(t).trim()+`
|
|
66
66
|
`:r.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
|
|
67
|
-
`}return""}var JQ=Ft(PQ(),1);function XA(e){return e.endsWith(".mapper.tsx")||e.endsWith(".mapper.jsx")||e.endsWith(".mapper.ts")||e.endsWith(".mapper.js")||e.endsWith(".mapper.mjs")}function We(e,t,A){t=Qr(t),A=Qr(A),t=e.dirname(t);let r=e.basename(A,e.extname(A));A=e.dirname(A);let n;return r==="index"?n=e.relative(t,A):n=e.relative(t,e.join(A,r)),n=Qr(e.normalize(n)),n.startsWith(".")||(n="./"+n),n}function Qr(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Qi(e,t){let A=e.extname(t),r=e.basename(t,A).split(/[\/\\]/),n=r[r.length-1];return KQ(n==="index"?e.basename(e.dirname(t)):n)}function KQ(e){return lt(e).replace(/ /g,"")}function er(e,t){let A=e.extname(t),r=Qr(e.basename(t,A)).split("/").pop();return lt(r==="index"?e.basename(e.dirname(t)):r)}function Ct(e,t){let A=Qr(e.relative(e.getAppRootDir(),t));A=A.split("/").filter(n=>n!=="."&&n!==".."&&n!=="").join("/"),A.endsWith(".tsx")||A.endsWith(".jsx")?A=A.slice(0,-4):(A.endsWith(".ts")||A.endsWith(".js"))&&(A=A.slice(0,-3));let r=e.getFrameworks();return A.startsWith("src/")&&(A=A.slice(4)),r.some(n=>n.name.includes("next"))?"@/"+A:"~/"+A}function nt(e,t){let A=t,r=[];for(let n=0;n<2;n++){let i=e.basename(A);if(!i||i==="components")break;r.unshift(i),A=e.dirname(A)}return r.join("/")}function lt(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function FA(e){return e.sort((t,A)=>t.name.toLocaleLowerCase().localeCompare(A.name.toLocaleLowerCase()))}async function ut(e,t,A,r){if(typeof A!="string"||A==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${A}, ${t}`);return r&&(t=r),t=e.normalize(t),(await e.hash(t+"#"+A)).substring(0,8)}async function HQ(e){return(await e.hash(e.getAppRootDir())).substring(0,8)}function xs(e){return typeof e=="number"}function Xi(e){return typeof e=="boolean"}function fA(e){return typeof e=="string"}function eo(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function _A(e){return JSON.parse(JSON.stringify(e))}function vg(e,t,A){for(let r of t)if(e.dirname(A).includes(r))return!0;return!1}function _Q(){try{let e=(0,JQ.default)();if(e?.name)return e.name}catch{}return"npm"}function sM(){return process.platform.startsWith("win")}function
|
|
67
|
+
`}return""}var JQ=Ft(PQ(),1);function XA(e){return e.endsWith(".mapper.tsx")||e.endsWith(".mapper.jsx")||e.endsWith(".mapper.ts")||e.endsWith(".mapper.js")||e.endsWith(".mapper.mjs")}function We(e,t,A){t=Qr(t),A=Qr(A),t=e.dirname(t);let r=e.basename(A,e.extname(A));A=e.dirname(A);let n;return r==="index"?n=e.relative(t,A):n=e.relative(t,e.join(A,r)),n=Qr(e.normalize(n)),n.startsWith(".")||(n="./"+n),n}function Qr(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Qi(e,t){let A=e.extname(t),r=e.basename(t,A).split(/[\/\\]/),n=r[r.length-1];return KQ(n==="index"?e.basename(e.dirname(t)):n)}function KQ(e){return lt(e).replace(/ /g,"")}function er(e,t){let A=e.extname(t),r=Qr(e.basename(t,A)).split("/").pop();return lt(r==="index"?e.basename(e.dirname(t)):r)}function Ct(e,t){let A=Qr(e.relative(e.getAppRootDir(),t));A=A.split("/").filter(n=>n!=="."&&n!==".."&&n!=="").join("/"),A.endsWith(".tsx")||A.endsWith(".jsx")?A=A.slice(0,-4):(A.endsWith(".ts")||A.endsWith(".js"))&&(A=A.slice(0,-3));let r=e.getFrameworks();return A.startsWith("src/")&&(A=A.slice(4)),r.some(n=>n.name.includes("next"))?"@/"+A:"~/"+A}function nt(e,t){let A=t,r=[];for(let n=0;n<2;n++){let i=e.basename(A);if(!i||i==="components")break;r.unshift(i),A=e.dirname(A)}return r.join("/")}function lt(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function FA(e){return e.sort((t,A)=>t.name.toLocaleLowerCase().localeCompare(A.name.toLocaleLowerCase()))}async function ut(e,t,A,r){if(typeof A!="string"||A==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${A}, ${t}`);return r&&(t=r),t=e.normalize(t),(await e.hash(t+"#"+A)).substring(0,8)}async function HQ(e){return(await e.hash(e.getAppRootDir())).substring(0,8)}function xs(e){return typeof e=="number"}function Xi(e){return typeof e=="boolean"}function fA(e){return typeof e=="string"}function eo(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function _A(e){return JSON.parse(JSON.stringify(e))}function vg(e,t,A){for(let r of t)if(e.dirname(A).includes(r))return!0;return!1}function _Q(){try{let e=(0,JQ.default)();if(e?.name)return e.name}catch{}return"npm"}function sM(){return process.platform.startsWith("win")}function it(){return process.pkg?"@builder.io/agent":sM()?'"@builder.io/dev-tools"':"builder.io"}function hA(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var aM=["node_modules","dist","build","public"];async function bA(e,t){async function A(n,i){if(i>10)return;let o=await e.readdir(n);for(let s of o){if(aM.includes(s))continue;let a=e.join(n,s),c=await e.stat(a);if(c){if(c.isFile()&&s.startsWith("builder-registry."))return a;if(c.isDirectory()){let l=await A(a,i+1);if(l)return l}}}}let r=await A(e.getAppRootDir(),0);if(!r){let i=`builder-registry.${await hA(e)?"ts":"js"}`;return e.join(t,i)}return r}async function Ln(e,t){let A=e.resolve("/");for(let r=0;r<20;r++){let n=e.join(t,"package.json"),i=await e.readFile(n);if(i)return JSON.parse(i);if(t===A)break;t=e.dirname(t)}return null}async function OQ(e,t){for(let A=0;A<20;A++){let r=e.dirname(t),n=e.join(r,"node_modules");if(await e.exists(n))return n;if(t===e.getAppRootDir())break;t=e.dirname(t)}return e.join(e.getAppRootDir(),"node_modules")}async function ks(e,t,A){let r=await e.readdir(t);return r.includes(A)?e.join(t,A):(await Promise.all(r.map(async i=>{if(i.startsWith(".")||i==="node_modules")return;let o=e.join(t,i);if((await e.stat(o)).isDirectory()){let a=await ks(e,o,A);if(a)return a}}))).find(i=>typeof i=="string")}async function Ht(e,t,A){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await OQ(e,t[0]),n=e.join(r,"typescript","lib"),i=new Map,o={fileExists:s=>{if(s=e.normalize(s),s.includes("node_modules")){let a=Ms.get(s);if(!a){try{e.statSync(s).isFile()?a={exists:!0,content:e.readFileSync(s)}:a={exists:!1}}catch{a={exists:!1}}Ms.set(s,a)}return a.exists}if(!i.has(s))if(e.existsSync(s)){let c=e.statSync(s);i.set(s,c.isFile())}else i.set(s,!1);return i.get(s)},getCanonicalFileName:s=>e.normalize(s),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(n,"lib.d.ts"),getDefaultLibLocation:()=>n,getNewLine:()=>`
|
|
68
68
|
`,getSourceFile:s=>{if(s=e.normalize(s),s.includes("node_modules")){let c=Ms.get(s);if(c)return Ve(e,c.content)}let a;try{a=e.readFileSync(s)}catch{console.error(`Could not read: ${s}`),a==null}if(a==null){let c=e.basename(s),l=e.extname(c).toLowerCase();if(s.startsWith(n)&&l===".ts"&&(a=jQ.get(c),a==null&&typeof self<"u"&&typeof fetch=="function"))throw new kg(c)}return s.includes("node_modules")&&(a?Ms.set(s,{exists:!0,content:a}):Ms.set(s,{exists:!1})),Ve(e,a)},readFile:s=>{let a=e.readFileSync(s);return typeof a=="string"?a:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return gM(e,o,t,A)}catch(s){if(s instanceof kg){await uM(e,s.libName);continue}throw e.Sentry?.captureException(s),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:s})}}function gM(e,t,A,r){let n={rootNames:[...A],host:t,options:{}},i=e.ts.findConfigFile(e.dirname(A[0]),o=>e.existsSync(o));if(i){let o=YQ.get(i);if(!o){let s=e.ts.readConfigFile(i,a=>{let c=e.readFileSync(a);return typeof c=="string"?c:void 0});s.error?e.Sentry?.captureException(new Error("Error reading tsconfig for createTsProgram"),{extra:{error:s.error,tsConfigPath:i}}):(o=e.ts.parseJsonConfigFileContent(s.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(c,l)=>e.readdirSync(c),fileExists:c=>e.existsSync(c),readFile:c=>e.readFileSync(c)||void 0},e.dirname(i),void 0,i).options,YQ.set(i,o))}o&&(n.options=_A(o))}return n.options.noEmit=!0,n.options.isolatedModules=!1,n.options.strict=!1,n.options.jsx=e.ts.JsxEmit.Preserve,n.options.allowJs=!0,Object.assign(n.options,r),e.ts.createProgram(n)}async function to(e,t,A){A||(A=await Ht(e,[t]));let r=A.getSourceFile(t);if(!r)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:A.getTypeChecker(),sourceFile:r}}var kg=class{constructor(t){Fe(this,"libName");this.libName=t}};async function uM(e,t){let A=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;xg.has(t)||xg.set(t,fetch(A).then(r=>r.text()).then(r=>{jQ.set(t,r)})),await xg.get(t),xg.delete(t)}var jQ=new Map,xg=new Map,Ms=new Map,YQ=new Map;async function qQ(e,t){let A=await e.readFile(t.filePath);return A==null?{diagnostics:[{messageText:`Error reading: ${t.filePath}`}],code:null,output:null}:Tl(e,{code:A,filePath:t.filePath,compilerOptions:t.compilerOptions})}function Tl(e,t){let A={diagnostics:[],code:t.code,output:null};try{let r=e.ts.transpileModule(t.code,{compilerOptions:t.compilerOptions,fileName:t.filePath??"module.tsx",reportDiagnostics:!0});r.diagnostics?.forEach(n=>{A.diagnostics.push({messageText:String(n.messageText)})}),A.output=r.outputText}catch(r){console.error("transpileModule",r),A.diagnostics.push({messageText:String(r)})}return A}import{access as V6,mkdir as CM,readdir as W6,readFile as $Q,rm as $6,stat as z6,unlink as IM,writeFile as dM}from"node:fs/promises";import{homedir as zQ,hostname as X6}from"node:os";import Kl from"node:path";import AZ from"typescript";import nZ from"launch-editor";async function Ao(e){let t=[],A=await Ln(e,e.getRepoRootDir());if(A){let r=await WQ(A,e);t.push(...r)}return t}async function WQ(e,t){let A=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of cM)if(r.has(n)&&!A.some(i=>i.name===n)){let i={name:n};VQ.has(n)&&(i.version=await VQ.get(n)(t)),A.push(i)}}return A}function Pl(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var VQ=new Map([["next",async e=>{if(!e.spawnSync)return;let t=_Q(),A=t==="npm"?"npx":t,{stdout:r}=e.spawnSync(A,["next","-v"],{encoding:"utf8"});if(!r)return;let n=r.match(/(Next.js v)([\d.]+)/g);if(!n)return;let i=n[0].split("Next.js v")[1],[o,s,a]=i.split(".");return{major:Pl(o),minor:Pl(s),patch:Pl(a)}}]]),cM=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];import*as EM from"@sentry/node";function ZQ(){let e=zQ();return Kl.join(e,".builder","config","dev-tools.json")}function pM(){let e=zQ();return Kl.join(e,".config","builder","dev-tools.json")}function Jl(e,t){return typeof e=="object"&&e!=null&&t in e}async function ro(){let e=ZQ();try{let A=await $Q(e,"utf-8");if(typeof A=="string")return JSON.parse(A)}catch(A){if(A.code!=="ENOENT")return null}let t=pM();try{let A=await $Q(t,"utf-8");if(typeof A=="string"){let r=JSON.parse(A);try{await Mg(r),await IM(t).catch(()=>{})}catch{}return r}}catch(A){if(A.code==="ENOENT")return null}return null}async function Mg(e){let t=ZQ();e=typeof e=="object"&&e!=null?e:{},await CM(Kl.dirname(t),{recursive:!0}),await dM(t,JSON.stringify(e??{},null,2))}var me={gen1:"Gen 1",gen2:"Gen 2"},Ns={CMS:"cms",VCP:"vcp",HYBRID:"hybrid"};import{debug as BM}from"node:console";import{request as QM}from"node:http";import{request as fM}from"node:https";function no(e){let t=Date.now();return new Promise((A,r)=>{let i=hM(e.url)({protocol:e.url.protocol,host:e.url.host,port:e.url.port,path:e.url.pathname+e.url.search,method:e.method,headers:e.headers},o=>{let s="";o.on("data",a=>{s+=a}),o.on("end",()=>{if(BM(`${e.method} ${e.url.href}, duration: ${Date.now()-t}ms`),typeof o.statusCode=="number"&&o.statusCode>=200&&o.statusCode<300)if(typeof o.headers["content-type"]!="string"||!o.headers["content-type"].includes("application/json"))r(`Response from ${e.url.href} content-type is ${o.headers["content-type"]}`);else try{A(JSON.parse(s))}catch(a){r(`Response from ${e.url.href} is not valid JSON: ${s}
|
|
69
69
|
${a}`)}else r(`Request to ${e.url.href} failed with status ${o.statusCode}: ${s}`)})}).on("error",o=>{r(`Error fetching ${e.url.href}, ${o}`)});e.body&&(i.setHeader("Content-Type","application/json"),i.write(e.body)),i.end()})}function hM(e){if(e.protocol==="https:")return fM;if(e.protocol==="http:")return QM;throw new Error(`Unsupported protocol ${e.protocol}`)}async function XQ(e){let t=new URL(`https://cdn.builder.io/api/v3/query/${e.publicApiKey}/${e.model}`);return t.searchParams.set("omit","meta.componentsUsed"),t.searchParams.set("apiKey",e.publicApiKey),t.searchParams.set("userAttributes.urlPath",e.pageUrl),t.searchParams.set("options.page.model",`"${e.model}"`),t.searchParams.set("cachebust","true"),(await no({url:t,method:"GET"}))[e.model]}async function ef(e,t){if(t.kind===Ns.VCP)return!0;let A=new URL("https://cdn.builder.io/api/v2/admin"),r={query:`query {
|
|
70
70
|
models {
|
|
@@ -84,7 +84,7 @@ Restarting server after Builder Devtools update...
|
|
|
84
84
|
<h3>How's Devtools working for you?</h3>
|
|
85
85
|
<p>We'd love your feedback!</p>
|
|
86
86
|
</div>
|
|
87
|
-
\`,t.appendChild(e),setTimeout(()=>{e.classList.add("menu-toggle-tooltip-show"),e.addEventListener("click",()=>{e.classList.remove("menu-toggle-tooltip-show")})},1e3)};function ui(t){t.getElementById("go-to-builder").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),Ee(t,!1),window.open(Ur(),"builder")}),t.getElementById("components-link").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation();let c=t.querySelector(".nav-cmp-list .section-content");c.scrollTop=0,oe(t,"nav-cmp-list"),ai(t)}),t.getElementById("settings-link").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),oe(t,"nav-settings")}),t.getElementById("add-page-link").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),Ee(t,!1),window.open(je(),"builder")}),t.getElementById("import-from-figma").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),Ee(t,!1),window.open("https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more")})}function ci(t){let e=t.getElementById("enable-edit");e.addEventListener("change",r=>{r.stopPropagation(),Ht(e.checked)}),e.checked=it(),Ht(e.checked)}var Dt=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=\`<style>*,*:before,*:after{box-sizing:border-box}:host{--background-color: rgba(40, 40, 40, 1);--primary-color: rgba(72, 161, 255, 1);--primary-color-subdued: rgb(72, 161, 255, .6);--primary-color-highlight: rgb(126, 188, 255);--primary-contrast-color: white;--edit-color: #1d74e2;--edit-color-highlight: #1c6bd1;--edit-color-alpha: rgb(72, 161, 255, .15);--error-color: #ff2b55;--text-color: white;--text-color-highlight: white;--border-color: #454545;--button-background-color-hover: rgba(255, 255, 255, .1);--menu-width: 320px;--transition-time: .15s;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-family);line-height:1.6}button{cursor:pointer;color:var(--text-color);-webkit-tap-highlight-color:transparent}input,select,button{font-family:var(--font-family)}.menu-toggle{position:absolute;right:0;bottom:0;pointer-events:auto;padding:8px;background:transparent;border:none;appearance:none}.menu-toggle div{position:relative;width:64px;height:64px;pointer-events:none;border-radius:50%;background:#000;border:1px solid white;box-shadow:#00000054 0 0 8px}.menu-toggle:hover div{background-color:var(--background-color);border:1px solid rgb(220,220,220)}.menu-toggle svg{position:absolute;top:15px;left:15px;width:33px;height:32px}div.highlight-bg{position:absolute;top:-1px;left:-1px;background-color:#1a1a1a;pointer-events:none;transition:all .4s ease-out;opacity:0}.menu-toggle-highlight-no-transition div.highlight-bg{transition:none}.menu-toggle-highlight div.highlight-bg{opacity:1}.menu-toggle-tooltip{position:absolute;bottom:0;right:0;width:382px;height:72px;padding:0;text-align:left;appearance:none;background-color:transparent;border:none;pointer-events:none;transform:translate3d(320px,0,0);opacity:0;transition:all .15s ease-in-out;color:#fff}.menu-toggle-tooltip.menu-toggle-tooltip-show{pointer-events:auto;opacity:1;transform:translateZ(0)}.menu-toggle-tooltip-content{position:absolute;inset:0 95px 10px 0;padding:8px 12px;background-color:var(--primary-color);box-shadow:#00000054 0 0 20px;border-radius:2px}.menu-toggle-tooltip-content:before{content:"";position:absolute;bottom:15px;right:-6px;width:30px;height:30px;background-color:var(--primary-color);transform:rotate(45deg)}.menu-toggle-tooltip:hover .menu-toggle-tooltip-content,.menu-toggle-tooltip:hover .menu-toggle-tooltip-content:before{background-color:var(--primary-color-highlight)}.menu-toggle-tooltip-content h3{margin:0;font-size:16px}.menu-toggle-tooltip-content p{margin:0;font-size:12px}section{position:absolute;display:grid;grid-template-rows:64px auto 64px;top:0;left:0;width:100%;height:100%;padding:0;pointer-events:none}.section-content{margin:0;padding:0 0 10px;font-weight:300;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;overflow-y:auto}.section-content .error{color:var(--error-color);font-weight:700}section a{text-decoration:none;color:var(--text-color)}section h3,section p{margin-left:16px;margin-right:16px}.info{font-size:12px}ul.list{list-style:none;padding:0;margin:0}ul.list li{display:block;padding:0;margin:0}ul.list a,ul.list button{display:grid;grid-template-columns:24px auto;grid-gap:16px;padding:12px;margin:8px 0;border:none;background:transparent;appearance:none;width:100%;font-weight:300;text-align:left;text-decoration:none;color:var(--text-color)}ul.list a:hover,ul.list button:hover{text-decoration:none;color:var(--text-color);background-color:var(--button-background-color-hover)}ul.list a span,ul.list button span{display:block;font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header{position:relative;display:grid;grid-template-columns:44px 1fr;gap:8px;padding-left:8px;border-bottom:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}header>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-home header>div{margin-right:56px}header h2{margin:7px 0 0;font-size:18px;font-weight:500;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p{margin:2px 0 0;font-size:12px;font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button{display:block;margin:0;padding:0;width:100%;font-size:12px;font-weight:300;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button:hover{text-decoration:underline;color:var(--primary-color)}.builder-logo{margin:12px 0 0 8px}#close{display:block;position:absolute;appearance:none;background:transparent;border:none;border-radius:50%;margin:0;padding:0;right:4px;top:8px;width:48px;height:48px;z-index:1;opacity:.7}#close:hover{opacity:1;background-color:var(--button-background-color-hover)}#close svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}.back-button{position:relative;display:block;margin:7px 0 0 -2px;width:48px;height:48px;background:transparent;border:none;appearance:none;border-radius:50%}.back-button:hover{background-color:var(--button-background-color-hover)}.back-button svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}footer{border-top:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}section.nav-cmp-list{grid-template-rows:64px auto 120px}footer a{text-decoration:underline;color:var(--primary-color)}footer a:hover{color:var(--primary-color);text-decoration:none}.nav-list{padding:2px 0}.nav-loading{pointer-events:none}.nav-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.nav-loading .nav-loading-icon{opacity:.5}.nav-list h4{margin:8px 8px 8px 10px;font-size:14px;font-weight:600}.nav-list .nav-list-item+h4{margin-top:30px}.nav-list-item{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;margin:2px 0;padding:8px 28px 8px 46px;width:100%;font-size:14px;font-weight:300;text-align:left;border:none;background:transparent;appearance:none}.nav-list-item:hover{background-color:var(--button-background-color-hover)}.nav-list-item-icon{position:absolute;top:4px;left:10px;width:24px;height:24px;object-fit:contain;filter:invert(100%);background-size:24px 24px;background-repeat:no-repeat;background-position:center center}.nav-list-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.nav-list-item:after{display:block;position:absolute;content:"";background-image:url('data:image/svg+xml,<svg width="8" height="14" viewBox="0 0 8 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L7 7L1 13" stroke="%23F2F2F2" stroke-opacity="0.5" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:12px 9px;top:0;right:0;width:32px;height:32px;pointer-events:none}.nav-list-item-note{opacity:0;font-size:12px;padding-top:1px;text-align:right}.nav-list-item:hover .nav-list-item-note{opacity:.5}.ui-select{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-select h3{margin:0;font-size:14px;font-weight:500}.ui-select p{margin:8px 0;font-size:12px;font-weight:300}.ui-select .select{position:relative;margin:8px 0;border-radius:4px;padding:0;line-height:1.1;overflow:hidden;border:1px solid var(--border-color)}.ui-select select{appearance:none;background-color:transparent;border:none;outline:none;padding:8px 32px 8px 8px;margin:0;width:100%;font-size:14px;cursor:pointer;text-overflow:ellipsis;opacity:.6;color:var(--text-color)}.ui-select .select:after{content:"";top:6px;right:5px;width:24px;height:24px;position:absolute;background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23F2F2F2" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg>');background-repeat:no-repeat;background-position:center;pointer-events:none;opacity:.6}.ui-select .select:hover{border-color:var(--primary-color-subdued)}.ui-text-input .select:focus-within{border-color:var(--primary-color)}.ui-text-input .select:focus-within select{opacity:1}.spinner:after{content:" ";display:block;width:32px;height:32px;margin:0 auto;pointer-events:auto;border-radius:50%;border:3px solid var(--text-color);border-color:var(--text-color) transparent var(--text-color) transparent;animation:spinner .75s linear infinite}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-switch{display:grid;grid-template-columns:auto 48px;grid-gap:20px;margin:8px 0 16px;padding:8px 0 8px 16px;cursor:pointer}.ui-switch>*{pointer-events:none}.ui-switch input{display:none;visibility:hidden}.ui-switch .switcher{display:inline-block;border-radius:100px;width:35px;height:14px;background-color:#ccc;position:relative;top:6px;vertical-align:middle;cursor:pointer}.ui-switch input[type=checkbox]:checked+.switcher{background-color:var(--primary-color-subdued)}.ui-switch .switcher:before{content:"";display:block;width:20px;height:20px;background-color:var(--text-color);box-shadow:0 1px 3px #0009;border-radius:50%;position:absolute;top:-3px;left:0;margin-right:0;transition:all .15s}.ui-switch input[type=checkbox]:checked+.switcher:before{left:100%;margin-left:-20px;background-color:var(--primary-color)}.ui-switch h3{margin:0;font-size:14px;font-weight:500}.ui-switch p{margin:4px 0 0;font-size:12px;font-weight:300}.ui-text-input{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-text-input h3{margin:0;font-size:14px;font-weight:500}.ui-text-input p{margin:8px 0;font-size:12px;font-weight:300}.ui-text-input .input{position:relative;margin:8px 0;border:1px solid var(--border-color);border-radius:4px;background:transparent;padding:2px;overflow:hidden}.ui-text-input input{display:block;width:235px;font-size:14px;border:none;background:transparent;padding:6px;appearance:none;color:var(--text-color);opacity:.6;outline:none}.ui-text-input .input:hover{border-color:var(--primary-color-subdued)}.ui-text-input .input:focus-within{border-color:var(--primary-color)}.ui-text-input .input:focus-within input{opacity:1}.ui-text-input .input:after{content:"";position:absolute;top:5px;right:14px;width:8px;height:17px;border:2px solid rgba(51,181,51,1);border-top:none;border-left:none;transform:rotate(45deg);opacity:0;transition:opacity 80ms ease-in-out;pointer-events:none}.ui-text-input.saved .input:after{opacity:1}.ui-toast{position:fixed;bottom:8px;left:8px;right:8px;padding:6px 12px;font-size:14px;border-radius:4px;transform:translate3d(0,150%,0);opacity:0;transition:all var(--transition-time) ease-in-out;background-color:var(--primary-color-subdued);color:var(--text-color);pointer-events:none}.ui-toast.ui-toast-show{transform:translateZ(0);opacity:1;pointer-events:auto}[data-view=nav-home] .nav-home .section-content,[data-view=nav-cmp-list] .nav-cmp-list .section-content,[data-view=nav-cmp-detail] .nav-cmp-detail .section-content,[data-view=nav-cmp-input] .nav-cmp-input .section-content,[data-view=nav-settings] .nav-settings .section-content{transform:translateZ(0);pointer-events:auto}[data-view=nav-home] .nav-home header,[data-view=nav-home] .nav-home footer,[data-view=nav-cmp-list] .nav-cmp-list header,[data-view=nav-cmp-list] .nav-cmp-list footer,[data-view=nav-cmp-detail] .nav-cmp-detail header,[data-view=nav-cmp-detail] .nav-cmp-detail footer,[data-view=nav-cmp-input] .nav-cmp-input header,[data-view=nav-cmp-input] .nav-cmp-input footer,[data-view=nav-settings] .nav-settings header,[data-view=nav-settings] .nav-settings footer{opacity:1;pointer-events:auto}[data-view=nav-cmp-list] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-home .section-content,[data-view=nav-cmp-input] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-cmp-detail .section-content,[data-view=nav-settings] .nav-home .section-content{transform:translate3d(-105%,0,0)}.cmp-item .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.83 16.809C20.94 16.561 21 16.289 21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L7.988 3.99001M5.441 5.44801L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L18.544 18.56" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.532 10.538L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.27002 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 3L21 21" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');opacity:.3}.cmp-item.registered .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /></svg>');opacity:.8}.search-highlight{background-color:var(--primary-color-alpha);padding:0 2px;border-radius:2px;font-weight:500}.search-container{position:sticky;top:0;z-index:10;padding:12px 16px;background:var(--background-color);border-bottom:1px solid var(--border-color)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-color-secondary);pointer-events:none}.component-search-input{width:100%;height:36px;padding:8px 36px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-background);color:var(--text-color);font-size:14px;transition:border-color .2s,box-shadow .2s}.component-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.component-search-input::placeholder{color:var(--text-color-tertiary)}.clear-search-button{position:absolute;right:8px;padding:4px;color:var(--text-color-secondary);border:none;background:transparent;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.clear-search-button:hover{background-color:var(--hover-color)}.component-search-input:not(:placeholder-shown)+.clear-search-button{opacity:1}.no-results{padding:32px 16px;text-align:center;color:var(--text-color-secondary);font-size:14px}#cmp-detail{position:relative}.cmp-loading{pointer-events:none!important}.cmp-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.cmp-loading .cmp-loading-icon{opacity:.5}.cmp-cover{position:absolute;top:160px;left:0;width:100%;height:100vh;background:var(--background-color);transform:translateZ(0);pointer-events:none;display:none}[data-view=nav-cmp-detail] .cmp-cover{display:block;pointer-events:auto}.cmp-enabled .cmp-cover{transform:translate3d(0,105%,0);pointer-events:none}.section-ready .cmp-cover{transition:all var(--transition-time) ease-in-out}.cmp-detail-inputs-container{margin:8px 0 16px;padding:0}.cmp-detail-inputs-container h3{margin:0 0 6px;padding-left:16px;padding-right:8px;font-size:14px;font-weight:500;display:flex;justify-content:space-between;align-items:center}.cmp-detail-inputs-reload{font-weight:300;font-size:.9em;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-detail-inputs-reload:hover{text-decoration:underline;color:var(--primary-color)}.cmp-detail-inputs-container .cmp-inputs-empty{padding:0;margin-top:12px;font-size:12px;font-weight:300;opacity:.5;font-style:italic}.cmp-detail-inputs-container .nav-list-item-icon{opacity:.8;background-size:20px 20px;background-position:4px center}.input-icon{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path></svg>')}.input-icon-array{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-6a2 2 0 1 1 4 0v6"></path> <path d="M10 13h4"></path></svg>')}.input-icon-boolean{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16h2a2 2 0 1 0 0 -4h-2h2a2 2 0 1 0 0 -4h-2v8z"></path></svg>')}.input-icon-number{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-8l4 8v-8"></path></svg>')}.input-icon-object{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M12 8a2 2 0 0 1 2 2v4a2 2 0 1 1 -4 0v-4a2 2 0 0 1 2 -2z"></path></svg>')}.input-icon-string{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 15a1 1 0 0 0 1 1h2a1 1 0 0 0 1 -1v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1"></path></svg>')}.cmp-input-item-unregistered{opacity:.4}.cmp-input-item-unregistered .input-icon:after{content:"";position:absolute;top:11px;left:4px;width:20px;height:2px;background-color:#000;transform:rotate(-45deg)}.cmp-prop-info{border-bottom:1px solid var(--border-color)}.cmp-input-readonly{margin:16px 0;padding:0 16px;display:grid;grid-template-columns:50% 50%;gap:12px}.cmp-input-readonly h3{margin:0;font-size:14px;font-weight:500}.cmp-input-readonly span{margin-top:2px;font-size:12px;font-weight:300;opacity:.8}.cmp-input-detail{margin:16px 0}.cmp-input-detail a{color:var(--primary-color);text-decoration:none}.cmp-input-detail a:hover{text-decoration:underline}.input-cover{position:absolute;top:175px;left:0;width:100%;height:100%;background:var(--background-color);transform:translateZ(0);transition:all var(--transition-time) ease-in-out;pointer-events:auto}.input-enabled .input-cover{transform:translate3d(0,105%,0);pointer-events:none}.input-loading-icon{position:absolute;display:inline-block;top:190px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.input-loading .input-loading-icon{opacity:.5}:host{position:fixed;inset:0;z-index:2147483646;user-select:none;pointer-events:none;color:var(--text-color)}aside{position:absolute;top:0;right:0;width:var(--menu-width);height:100%;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;background:var(--background-color);box-shadow:#000000c9 5px 0 20px;overflow:hidden;z-index:1}:host(.show-builder-menu) aside{pointer-events:auto;transform:translateZ(0)}#hit{position:absolute;inset:0;display:none}:host(.show-builder-menu) #hit{display:block;pointer-events:auto}#version{position:absolute;bottom:6px;right:6px;font-size:8px;color:#9b9b9b}</style><div id="hit"></div> <aside data-view="nav-home"> <section class="nav-home"> <header> <svg class="builder-logo" viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> <div> <h2 class="builder-home-title">Builder Devtools</h2> <p><button id="go-to-builder">Go to Builder</button></p> </div> <button id="close" aria-label="Close Menu"> <svg viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M18 6l-12 12" /> <path d="M6 6l12 12" /> </svg> </button> </header> <div class="section-content"> <ul class="list"> <li> <button id="components-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Components</span> </button> </li> <li> <button id="settings-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M10.325 4.317C10.751 2.561 13.249 2.561 13.675 4.317C13.7389 4.5808 13.8642 4.82578 14.0407 5.032C14.2172 5.23822 14.4399 5.39985 14.6907 5.50375C14.9414 5.60764 15.2132 5.65085 15.4838 5.62987C15.7544 5.60889 16.0162 5.5243 16.248 5.383C17.791 4.443 19.558 6.209 18.618 7.753C18.4769 7.98466 18.3924 8.24634 18.3715 8.51677C18.3506 8.78721 18.3938 9.05877 18.4975 9.30938C18.6013 9.55999 18.7627 9.78258 18.9687 9.95905C19.1747 10.1355 19.4194 10.2609 19.683 10.325C21.439 10.751 21.439 13.249 19.683 13.675C19.4192 13.7389 19.1742 13.8642 18.968 14.0407C18.7618 14.2172 18.6001 14.4399 18.4963 14.6907C18.3924 14.9414 18.3491 15.2132 18.3701 15.4838C18.3911 15.7544 18.4757 16.0162 18.617 16.248C19.557 17.791 17.791 19.558 16.247 18.618C16.0153 18.4769 15.7537 18.3924 15.4832 18.3715C15.2128 18.3506 14.9412 18.3938 14.6906 18.4975C14.44 18.6013 14.2174 18.7627 14.0409 18.9687C13.8645 19.1747 13.7391 19.4194 13.675 19.683C13.249 21.439 10.751 21.439 10.325 19.683C10.2611 19.4192 10.1358 19.1742 9.95929 18.968C9.7828 18.7618 9.56011 18.6001 9.30935 18.4963C9.05859 18.3924 8.78683 18.3491 8.51621 18.3701C8.24559 18.3911 7.98375 18.4757 7.752 18.617C6.209 19.557 4.442 17.791 5.382 16.247C5.5231 16.0153 5.60755 15.7537 5.62848 15.4832C5.64942 15.2128 5.60624 14.9412 5.50247 14.6906C5.3987 14.44 5.23726 14.2174 5.03127 14.0409C4.82529 13.8645 4.58056 13.7391 4.317 13.675C2.561 13.249 2.561 10.751 4.317 10.325C4.5808 10.2611 4.82578 10.1358 5.032 9.95929C5.23822 9.7828 5.39985 9.56011 5.50375 9.30935C5.60764 9.05859 5.65085 8.78683 5.62987 8.51621C5.60889 8.24559 5.5243 7.98375 5.383 7.752C4.443 6.209 6.209 4.442 7.753 5.382C8.753 5.99 10.049 5.452 10.325 4.317Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M9 12C9 12.7956 9.31607 13.5587 9.87868 14.1213C10.4413 14.6839 11.2044 15 12 15C12.7956 15 13.5587 14.6839 14.1213 14.1213C14.6839 13.5587 15 12.7956 15 12C15 11.2044 14.6839 10.4413 14.1213 9.87868C13.5587 9.31607 12.7956 9 12 9C11.2044 9 10.4413 9.31607 9.87868 9.87868C9.31607 10.4413 9 11.2044 9 12Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Settings</span> </button> </li> <li> <button id="add-page-link"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M14 3v4a1 1 0 0 0 1 1h4" /> <path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /> <path d="M12 11l0 6" /> <path d="M9 14l6 0" /> </svg> <span>Add Builder Page</span> </button> </li> <li> <button id="import-from-figma"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-figma" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M15 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /> <path d="M6 3m0 3a3 3 0 0 1 3 -3h6a3 3 0 0 1 3 3v0a3 3 0 0 1 -3 3h-6a3 3 0 0 1 -3 -3z" /> <path d="M9 9a3 3 0 0 0 0 6h3m-3 0a3 3 0 1 0 3 3v-15" /> </svg> <span>Import From Figma</span> </button> </li> </ul> </div> <footer> <ul class="list"> <li> <a href="https://docs.google.com/forms/d/e/1FAIpQLSdqZcJpRtm_Ia5DTHP6SDY9Xa6LID3KiTjRWkjMzWyJRUtSHw/viewform" target="_blank" > <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M11.013 17.0114L10.013 18.0114L2.513 10.5834C2.0183 10.102 1.62864 9.52342 1.36854 8.88404C1.10845 8.24466 0.983558 7.55836 1.00173 6.86834C1.01991 6.17832 1.18076 5.49954 1.47415 4.87474C1.76755 4.24994 2.18713 3.69266 2.70648 3.23799C3.22583 2.78331 3.8337 2.4411 4.49181 2.23289C5.14991 2.02468 5.844 1.95499 6.53036 2.02821C7.21673 2.10143 7.8805 2.31596 8.47987 2.65831C9.07925 3.00066 9.60124 3.46341 10.013 4.01741C10.8086 2.95654 11.9931 2.2552 13.3059 2.06766C14.6186 1.88012 15.9521 2.22176 17.013 3.01741C18.0739 3.81306 18.7752 4.99755 18.9627 6.3103C19.1503 7.62305 18.8086 8.95654 18.013 10.0174" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> <path d="M18.2006 19.8175L16.0286 20.9555C15.9642 20.989 15.8917 21.004 15.8192 20.9987C15.7467 20.9934 15.6771 20.9681 15.6182 20.9256C15.5593 20.8831 15.5134 20.825 15.4855 20.7579C15.4577 20.6907 15.4491 20.6172 15.4606 20.5455L15.8756 18.1345L14.1186 16.4275C14.0662 16.3768 14.0291 16.3123 14.0115 16.2416C13.9939 16.1708 13.9966 16.0965 14.0192 16.0271C14.0418 15.9578 14.0835 15.8962 14.1394 15.8494C14.1954 15.8026 14.2634 15.7725 14.3356 15.7625L16.7636 15.4105L17.8496 13.2175C17.8821 13.1521 17.9322 13.0972 17.9942 13.0588C18.0562 13.0204 18.1277 13 18.2006 13C18.2736 13 18.3451 13.0204 18.4071 13.0588C18.4691 13.0972 18.5191 13.1521 18.5516 13.2175L19.6376 15.4105L22.0656 15.7625C22.1377 15.7728 22.2054 15.8031 22.2611 15.85C22.3168 15.8968 22.3583 15.9583 22.3809 16.0275C22.4034 16.0967 22.4062 16.1708 22.3888 16.2415C22.3715 16.3122 22.3347 16.3766 22.2826 16.4275L20.5256 18.1345L20.9396 20.5445C20.9521 20.6163 20.9441 20.6902 20.9166 20.7578C20.8891 20.8254 20.8433 20.8839 20.7842 20.9267C20.7252 20.9695 20.6553 20.9949 20.5825 21C20.5098 21.005 20.4371 20.9896 20.3726 20.9555L18.2006 19.8175Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Give Feedback</span> </a> </li> </ul> <div id="version"></div> </footer> </section> <section class="nav-cmp-list"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div class="search-container"> <div class="search-input-wrapper"> <svg class="search-icon" viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M15.5 15.5L20 20M10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17Z" /> </svg> <input type="text" id="component-search" class="component-search-input" placeholder="Search components..." autocomplete="off" spellcheck="false" /> <button id="clear-search" class="clear-search-button" type="button" aria-label="Clear search" > <svg viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M6 6l12 12M6 18L18 6" /> </svg> </button> </div> </div> <div> <h2>Custom Components</h2> <p> <button id="open-builder-registry"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-list" class="cmp-list nav-list"></div> </div> <div class="nav-loading-icon spinner"></div> <footer> <p class="info"> Expand on Builder's selection of built-in blocks by <a target="_blank" href="https://www.builder.io/c/docs/custom-components-intro" >registering components</a > from your codebase. This way, teammates can drag and drop your components within Builder's Visual Editor just like any other block. </p> </footer> </section> <section class="nav-cmp-detail"> <header> <button class="back-button" data-back="nav-cmp-list"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-detail-title"></h2> <p> <button id="cmp-open-source"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-error"></div> <label class="ui-switch"> <div> <h3>Register Component</h3> <p> Registers this component so it can be used within Builder Visual CMS </p> </div> <input type="checkbox" role="switch" id="cmp-register" /> <span class="switcher"></span> </label> <div id="cmp-detail"> <label class="ui-text-input"> <h3>Component Name</h3> <div class="input"> <input type="text" id="cmp-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="2" maxlength="30" required placeholder="e.g. My Counter" /> </div> <p> Unique name to identify this custom component within Builder. Press ESC to cancel </p> </label> <div class="cmp-detail-inputs-container"> <h3> <span>Builder Inputs (Props)</span> <button class="cmp-detail-inputs-reload" id="btn-inputs-reload"> Reload </button> </h3> <div id="cmp-detail-inputs"></div> </div> </div> </div> <div class="cmp-cover"></div> <div class="cmp-loading-icon spinner"></div> </section> <section class="nav-cmp-input"> <header> <button class="back-button" data-back="nav-cmp-detail"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-input-title"></h2> <p> <button id="input-open-source"></button> </p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable Input</h3> <p>Add this component prop as a Builder input</p> </div> <input type="checkbox" role="switch" id="input-register" /> <span class="switcher"></span> </label> <div class="cmp-prop-info"> <div class="cmp-input-readonly"> <h3>Prop Name</h3> <span id="cmp-prop-name"></span> </div> <div class="cmp-input-readonly"> <h3>Prop Type</h3> <span id="cmp-prop-type"></span> </div> </div> <div class="cmp-input-detail"> <label class="ui-text-input"> <h3>Builder Input Name</h3> <div class="input"> <input type="text" id="input-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="1" maxlength="30" required placeholder="e.g. Text" /> </div> <p> Friendly name to identify this component prop as a Builder input. Press ESC to cancel </p> </label> <label class="ui-select"> <h3>Builder Input Type</h3> <div class="select"> <select id="input-type"></select> </div> <p> Correlate to what editing UI is appropriate for this Builder input. <a href="https://www.builder.io/c/docs/custom-components-input-types" target="_blank" >Read more about input types.</a > </p> </label> </div> <div class="input-cover"></div> <div class="input-loading-icon spinner"></div> </div> </section> <section class="nav-settings"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2>Settings</h2> <p>Configure Builder's Devtools</p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable edit button in UI</h3> <p>Enables the edit button so you can edit content in Builder</p> </div> <input type="checkbox" role="switch" id="enable-edit" /> <span class="switcher"></span> </label> </div> </section> <div class="ui-toast" id="toast"></div> </aside> <button class="menu-toggle" aria-label="Toggle Builder Devtools"> <div> <div class="highlight-bg"></div> <svg viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> </div> </button>\`,si(e),ui(e),oi(e),ri(e),ti(e),ci(e),this.setAttribute("aria-hidden","true"),e.getElementById("version").textContent="v1.59.2"}highlightOpener(){let e=this.shadowRoot.querySelector(".menu-toggle");e.classList.add("menu-toggle-highlight"),e.classList.add("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight")},20)},20)}};var lo=\`<style>*,*:before,*:after{box-sizing:border-box}html,body,:host{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:2147483646;margin:0;padding:0;line-height:1.8;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#252525;color:#fff;transition:opacity .25s ease-in-out}:host([aria-hidden="true"]){opacity:0;pointer-events:none}main{position:absolute;top:0;left:0;width:100%;height:100vh}h1{margin-top:0;font-size:24px;font-weight:300;line-height:1.4}p{margin:20px 0;font-weight:300}button{cursor:pointer}aside{position:absolute;top:0;left:0;width:350px;height:100vh;padding:60px 0 0 50px;background-color:#121212}aside ul{margin:30px 0 0;padding:0;list-style:none}aside li{position:relative;margin:0;padding:20px 10px;font-weight:300}aside li.highlight{color:#48a1ff}aside li.active{font-weight:700}aside li .circle{position:absolute;top:20px;left:10px;width:24px;height:24px;border:3px solid white;border-radius:50%;font-size:14px}aside li.highlight .circle{border-color:#48a1ff}aside li.active .circle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background-color:#48a1ff}aside li.completed .circle{background-color:#48a1ff}aside li.completed .circle:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:13px;border:3px solid black;border-top:none;border-left:none;transform:rotate(45deg)}aside li .line{position:absolute;top:44px;left:21px;width:3px;height:45px;background-color:#fff}aside li.completed .line{background-color:#48a1ff}aside li span{display:block;margin-left:44px}nav{margin-top:30px}section{position:absolute;top:135px;left:350px;padding:0 80px 0 140px;transition:opacity .15s ease-in-out}section[aria-hidden=true]{pointer-events:none;opacity:0}section h1,section p{min-width:300px;max-width:600px}.button{position:relative;display:inline-block;color:#fff;background-color:#48a1ff;border-radius:4px;text-decoration:none;padding:10px 40px 10px 20px;white-space:nowrap}.button:hover{background-color:#48a1ffd9}#button-icon{position:absolute;top:1px;right:5px;bottom:0;width:30px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="none" stroke="white" stroke-linecap="square" stroke-miterlimit="10" stroke-width="48" d="M184 112l144 144-144 144"/></svg>');background-repeat:no-repeat;background-position:center;background-size:24px 24px}.button[aria-disabled=true]{opacity:.9;background-color:#ffffff4d;pointer-events:none;padding-right:60px}.button[aria-disabled=true] #button-icon{top:21px;right:29px;width:8px;height:8px;border-radius:4px;background:#fff;color:#fff;animation:dot-flashing .5s infinite linear alternate;animation-delay:.25s}.button[aria-disabled=true] #button-icon:before,.button[aria-disabled=true] #button-icon:after{content:"";display:inline-block;position:absolute;top:0}.button[aria-disabled=true] #button-icon:before{left:-12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:0s}.button[aria-disabled=true] #button-icon:after{left:12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:.5s}@keyframes dot-flashing{0%{background-color:#fff}50%,to{background-color:#ffffff4d}}.logo{margin-left:9px;background:url('data:image/svg+xml,<svg viewBox="0 0 150 32" fill="none" xmlns="http://www.w3.org/2000/svg" > <g clip-path="url(%23clip0_4_304)"> <path d="M27.9858 8.99927C27.9872 10.3415 27.688 11.667 27.1101 12.8783C26.5321 14.0896 25.6902 15.156 24.6462 15.9989V15.9989L0.634502 2.36355C0.542657 2.31119 0.457444 2.24796 0.380701 2.17523C0.260289 2.05715 0.164605 1.91624 0.0992389 1.76075C0.0338732 1.60525 0.000136546 1.43828 0 1.26959C0 0.932873 0.133698 0.609948 0.371683 0.371854C0.609667 0.13376 0.932443 0 1.269 0L18.9906 0C21.3763 0 23.6642 0.948135 25.3512 2.63583C27.0381 4.32352 27.9858 6.61252 27.9858 8.99927V8.99927Z" fill="%2318B4F4" /> <path d="M27.9858 22.9986C27.9861 24.1806 27.7536 25.351 27.3017 26.4431C26.8498 27.5352 26.1873 28.5275 25.352 29.3634C24.5167 30.1993 23.5249 30.8624 22.4335 31.3147C21.342 31.7671 20.1721 32 18.9907 32H1.26906C1.01802 31.9973 0.77343 31.9202 0.566221 31.7784C0.359012 31.6366 0.198499 31.4364 0.104989 31.2034C0.0114791 30.9703 -0.0108254 30.7147 0.0408974 30.4689C0.0926201 30.2231 0.216046 29.9982 0.395559 29.8226V29.8226C0.467112 29.7508 0.547407 29.6882 0.634555 29.6364L10.0844 24.2703L24.6441 16.001C25.688 16.8438 26.53 17.9097 27.1083 19.1206C27.6866 20.3315 27.9864 21.6566 27.9858 22.9986V22.9986Z" fill="%23FD6B3C" /> <path d="M24.6461 15.9989L10.0843 24.2703L0.634458 29.6365C0.54372 29.6868 0.459841 29.7487 0.384888 29.8205C3.98804 26.1233 6.00266 21.1627 5.99812 15.9989C6.0049 10.8346 3.99085 5.87268 0.387003 2.17523C0.463746 2.24796 0.548959 2.31119 0.640803 2.36355L24.6461 15.9989Z" fill="%23A97FF2" /> <path d="M47.6659 11.7352C51.8177 11.7352 54.1632 15.0531 54.1632 19.0714C54.1632 23.0896 51.8177 26.3821 47.6659 26.3821C45.5086 26.3821 43.8589 25.5188 42.9473 24.0545L42.5709 26.052H39.9736V6.77115H43.1884V13.8914C43.971 12.6959 45.5086 11.7352 47.6659 11.7352ZM47.0187 23.5488C49.4446 23.5488 50.9547 21.5809 50.9547 19.0714C50.9547 16.5089 49.4446 14.5664 47.0187 14.5664C44.5928 14.5664 43.0806 16.5047 43.0806 19.0714C43.0806 21.583 44.5653 23.5488 47.0187 23.5488V23.5488Z" fill="white" /> <path d="M65.4595 20.2859V12.0611H68.668V20.123C68.668 23.7202 67.0246 26.3821 62.4943 26.3821C57.9639 26.3821 56.3206 23.7117 56.3206 20.123V12.0611H59.529V20.2859C59.529 22.4696 60.5527 23.5488 62.49 23.5488C64.4274 23.5488 65.4595 22.4696 65.4595 20.2859Z" fill="white" /> <path d="M71.2355 7.74451C71.2247 7.46284 71.2724 7.18199 71.3755 6.91968C71.4787 6.65737 71.6351 6.41929 71.8348 6.22047C72.0345 6.02165 72.2732 5.8664 72.5359 5.76452C72.7986 5.66264 73.0796 5.61633 73.3611 5.62853C74.5793 5.62853 75.4571 6.50666 75.4571 7.75509C75.4571 9.00352 74.5793 9.8224 73.3611 9.8224C72.1428 9.8224 71.2355 8.9612 71.2355 7.74451Z" fill="white" /> <path d="M128.476 7.74451C128.465 7.46376 128.513 7.18383 128.615 6.92227C128.718 6.66071 128.873 6.42315 129.072 6.22449C129.27 6.02583 129.508 5.87035 129.769 5.7678C130.031 5.66524 130.31 5.61783 130.591 5.62852C131.809 5.62852 132.687 6.50666 132.687 7.75509C132.687 9.00352 131.809 9.8224 130.591 9.8224C129.373 9.8224 128.476 8.9612 128.476 7.74451Z" fill="white" /> <path d="M122.302 24.1031C122.291 23.8223 122.339 23.5422 122.441 23.2805C122.543 23.0188 122.699 22.7811 122.897 22.5824C123.096 22.3837 123.334 22.2282 123.595 22.1258C123.857 22.0233 124.137 21.9761 124.417 21.9872C125.636 21.9872 126.513 22.8653 126.513 24.1031C126.513 25.341 125.636 26.1726 124.417 26.1726C123.199 26.1726 122.302 25.3219 122.302 24.1031Z" fill="white" /> <path d="M74.9516 12.059H71.7432V26.0583H74.9516V12.059Z" fill="white" /> <path d="M78.16 26.0583V6.77115H81.3685V26.0626L78.16 26.0583Z" fill="white" /> <path d="M94.6063 6.77115H97.8148V26.0626H95.2239L94.8474 24.0651C93.9591 25.523 92.3094 26.3927 90.131 26.3927C86.0046 26.3927 83.6591 23.0748 83.6591 19.0819C83.6591 15.0891 86.0046 11.7458 90.131 11.7458C92.3137 11.7458 93.8238 12.7149 94.6063 13.902V6.77115ZM90.7993 14.5707C88.3734 14.5707 86.8633 16.5131 86.8633 19.0756C86.8633 21.5851 88.3734 23.553 90.7993 23.553C93.2252 23.553 94.7354 21.5851 94.7354 19.0756C94.7396 16.5047 93.257 14.5664 90.8036 14.5664L90.7993 14.5707Z" fill="white" /> <path d="M113.479 22.2284C112.482 24.7359 110.162 26.3821 107.117 26.3821C102.887 26.3821 100.137 23.225 100.137 19.0439C100.137 14.9706 102.942 11.7353 107.093 11.7353C111.245 11.7353 113.969 14.8902 113.969 18.991C113.982 19.3255 113.953 19.6604 113.883 19.9876H103.288C103.53 22.2009 104.959 23.6292 107.197 23.6292C108.735 23.6292 110.001 22.8738 110.594 21.473L113.479 22.2284ZM103.341 17.6156H110.784C110.513 15.6731 109.166 14.3506 107.089 14.3506C105.012 14.3506 103.665 15.7006 103.341 17.6156V17.6156Z" fill="white" /> <path d="M123.779 14.9452C123.538 14.9117 123.295 14.8933 123.051 14.8902C120.786 14.8902 119.439 16.0772 119.439 18.7751V26.0583H116.23V12.0611H118.821L119.195 14.0014C119.707 13.1127 120.887 11.9257 123.322 11.9257C123.455 11.9257 123.779 11.9532 123.779 11.9532V14.9452Z" fill="white" /> <path d="M132.192 12.059H128.984V26.0583H132.192V12.059Z" fill="white" /> <path d="M134.483 19.0714C134.483 15.1335 137.287 11.7353 141.735 11.7353C146.183 11.7353 149.015 15.1335 149.015 19.0714C149.015 23.0092 146.213 26.3821 141.735 26.3821C137.258 26.3821 134.483 23.0092 134.483 19.0714ZM141.735 23.5488C144.083 23.5488 145.806 21.7692 145.806 19.0714C145.806 16.3735 144.083 14.5664 141.735 14.5664C139.387 14.5664 137.687 16.346 137.687 19.0714C137.687 21.7968 139.417 23.5488 141.735 23.5488V23.5488Z" fill="white" /> </g> <defs> <clipPath id="clip0_4_304"> <rect width="149.015" height="32" fill="white" /> </clipPath> </defs> </svg>');background-repeat:no-repeat;width:150px;height:32px}@media(max-width:840px){aside{width:250px;padding:60px 0 0 20px}section{left:250px;padding:0 80px}}@media(max-width:590px){aside{width:230px;padding:60px 0 0 10px}section{left:230px;padding:0 40px}}#modified-files-message a{color:#cbcbcb;font-weight:300;text-decoration:underline}#modified-files-message a:hover{color:#fff;text-decoration:none}#restart-warning{border-radius:4px;padding:8px 16px;border:1px solid #fd6b3c;background:#fd6b3c1a}#react-router-steps{margin:0 0 5px;padding:0 20px}#need-help{color:#48a1ff;text-decoration:none}#router-message{border-radius:4px;padding:16px;border:1px solid #48a1ff}#router-finish-button{margin-top:12px}#router-checkbox-div{display:flex;align-items:center}#router-checkbox{margin-right:10px;width:15px;height:15px}#success-title{display:flex;align-items:center;gap:10px}#success-title .check-icon{display:inline-block;width:24px;height:24px;border:2px solid #28a745;border-radius:50%;position:relative}#success-title .check-icon:before{content:"";position:absolute;top:50%;left:50%;width:6px;height:12px;border:solid #28a745;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
|
|
87
|
+
\`,t.appendChild(e),setTimeout(()=>{e.classList.add("menu-toggle-tooltip-show"),e.addEventListener("click",()=>{e.classList.remove("menu-toggle-tooltip-show")})},1e3)};function ui(t){t.getElementById("go-to-builder").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),Ee(t,!1),window.open(Ur(),"builder")}),t.getElementById("components-link").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation();let c=t.querySelector(".nav-cmp-list .section-content");c.scrollTop=0,oe(t,"nav-cmp-list"),ai(t)}),t.getElementById("settings-link").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),oe(t,"nav-settings")}),t.getElementById("add-page-link").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),Ee(t,!1),window.open(je(),"builder")}),t.getElementById("import-from-figma").addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),Ee(t,!1),window.open("https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more")})}function ci(t){let e=t.getElementById("enable-edit");e.addEventListener("change",r=>{r.stopPropagation(),Ht(e.checked)}),e.checked=it(),Ht(e.checked)}var Dt=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=\`<style>*,*:before,*:after{box-sizing:border-box}:host{--background-color: rgba(40, 40, 40, 1);--primary-color: rgba(72, 161, 255, 1);--primary-color-subdued: rgb(72, 161, 255, .6);--primary-color-highlight: rgb(126, 188, 255);--primary-contrast-color: white;--edit-color: #1d74e2;--edit-color-highlight: #1c6bd1;--edit-color-alpha: rgb(72, 161, 255, .15);--error-color: #ff2b55;--text-color: white;--text-color-highlight: white;--border-color: #454545;--button-background-color-hover: rgba(255, 255, 255, .1);--menu-width: 320px;--transition-time: .15s;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-family);line-height:1.6}button{cursor:pointer;color:var(--text-color);-webkit-tap-highlight-color:transparent}input,select,button{font-family:var(--font-family)}.menu-toggle{position:absolute;right:0;bottom:0;pointer-events:auto;padding:8px;background:transparent;border:none;appearance:none}.menu-toggle div{position:relative;width:64px;height:64px;pointer-events:none;border-radius:50%;background:#000;border:1px solid white;box-shadow:#00000054 0 0 8px}.menu-toggle:hover div{background-color:var(--background-color);border:1px solid rgb(220,220,220)}.menu-toggle svg{position:absolute;top:15px;left:15px;width:33px;height:32px}div.highlight-bg{position:absolute;top:-1px;left:-1px;background-color:#1a1a1a;pointer-events:none;transition:all .4s ease-out;opacity:0}.menu-toggle-highlight-no-transition div.highlight-bg{transition:none}.menu-toggle-highlight div.highlight-bg{opacity:1}.menu-toggle-tooltip{position:absolute;bottom:0;right:0;width:382px;height:72px;padding:0;text-align:left;appearance:none;background-color:transparent;border:none;pointer-events:none;transform:translate3d(320px,0,0);opacity:0;transition:all .15s ease-in-out;color:#fff}.menu-toggle-tooltip.menu-toggle-tooltip-show{pointer-events:auto;opacity:1;transform:translateZ(0)}.menu-toggle-tooltip-content{position:absolute;inset:0 95px 10px 0;padding:8px 12px;background-color:var(--primary-color);box-shadow:#00000054 0 0 20px;border-radius:2px}.menu-toggle-tooltip-content:before{content:"";position:absolute;bottom:15px;right:-6px;width:30px;height:30px;background-color:var(--primary-color);transform:rotate(45deg)}.menu-toggle-tooltip:hover .menu-toggle-tooltip-content,.menu-toggle-tooltip:hover .menu-toggle-tooltip-content:before{background-color:var(--primary-color-highlight)}.menu-toggle-tooltip-content h3{margin:0;font-size:16px}.menu-toggle-tooltip-content p{margin:0;font-size:12px}section{position:absolute;display:grid;grid-template-rows:64px auto 64px;top:0;left:0;width:100%;height:100%;padding:0;pointer-events:none}.section-content{margin:0;padding:0 0 10px;font-weight:300;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;overflow-y:auto}.section-content .error{color:var(--error-color);font-weight:700}section a{text-decoration:none;color:var(--text-color)}section h3,section p{margin-left:16px;margin-right:16px}.info{font-size:12px}ul.list{list-style:none;padding:0;margin:0}ul.list li{display:block;padding:0;margin:0}ul.list a,ul.list button{display:grid;grid-template-columns:24px auto;grid-gap:16px;padding:12px;margin:8px 0;border:none;background:transparent;appearance:none;width:100%;font-weight:300;text-align:left;text-decoration:none;color:var(--text-color)}ul.list a:hover,ul.list button:hover{text-decoration:none;color:var(--text-color);background-color:var(--button-background-color-hover)}ul.list a span,ul.list button span{display:block;font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header{position:relative;display:grid;grid-template-columns:44px 1fr;gap:8px;padding-left:8px;border-bottom:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}header>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-home header>div{margin-right:56px}header h2{margin:7px 0 0;font-size:18px;font-weight:500;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p{margin:2px 0 0;font-size:12px;font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button{display:block;margin:0;padding:0;width:100%;font-size:12px;font-weight:300;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button:hover{text-decoration:underline;color:var(--primary-color)}.builder-logo{margin:12px 0 0 8px}#close{display:block;position:absolute;appearance:none;background:transparent;border:none;border-radius:50%;margin:0;padding:0;right:4px;top:8px;width:48px;height:48px;z-index:1;opacity:.7}#close:hover{opacity:1;background-color:var(--button-background-color-hover)}#close svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}.back-button{position:relative;display:block;margin:7px 0 0 -2px;width:48px;height:48px;background:transparent;border:none;appearance:none;border-radius:50%}.back-button:hover{background-color:var(--button-background-color-hover)}.back-button svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}footer{border-top:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}section.nav-cmp-list{grid-template-rows:64px auto 120px}footer a{text-decoration:underline;color:var(--primary-color)}footer a:hover{color:var(--primary-color);text-decoration:none}.nav-list{padding:2px 0}.nav-loading{pointer-events:none}.nav-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.nav-loading .nav-loading-icon{opacity:.5}.nav-list h4{margin:8px 8px 8px 10px;font-size:14px;font-weight:600}.nav-list .nav-list-item+h4{margin-top:30px}.nav-list-item{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;margin:2px 0;padding:8px 28px 8px 46px;width:100%;font-size:14px;font-weight:300;text-align:left;border:none;background:transparent;appearance:none}.nav-list-item:hover{background-color:var(--button-background-color-hover)}.nav-list-item-icon{position:absolute;top:4px;left:10px;width:24px;height:24px;object-fit:contain;filter:invert(100%);background-size:24px 24px;background-repeat:no-repeat;background-position:center center}.nav-list-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.nav-list-item:after{display:block;position:absolute;content:"";background-image:url('data:image/svg+xml,<svg width="8" height="14" viewBox="0 0 8 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L7 7L1 13" stroke="%23F2F2F2" stroke-opacity="0.5" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:12px 9px;top:0;right:0;width:32px;height:32px;pointer-events:none}.nav-list-item-note{opacity:0;font-size:12px;padding-top:1px;text-align:right}.nav-list-item:hover .nav-list-item-note{opacity:.5}.ui-select{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-select h3{margin:0;font-size:14px;font-weight:500}.ui-select p{margin:8px 0;font-size:12px;font-weight:300}.ui-select .select{position:relative;margin:8px 0;border-radius:4px;padding:0;line-height:1.1;overflow:hidden;border:1px solid var(--border-color)}.ui-select select{appearance:none;background-color:transparent;border:none;outline:none;padding:8px 32px 8px 8px;margin:0;width:100%;font-size:14px;cursor:pointer;text-overflow:ellipsis;opacity:.6;color:var(--text-color)}.ui-select .select:after{content:"";top:6px;right:5px;width:24px;height:24px;position:absolute;background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23F2F2F2" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg>');background-repeat:no-repeat;background-position:center;pointer-events:none;opacity:.6}.ui-select .select:hover{border-color:var(--primary-color-subdued)}.ui-text-input .select:focus-within{border-color:var(--primary-color)}.ui-text-input .select:focus-within select{opacity:1}.spinner:after{content:" ";display:block;width:32px;height:32px;margin:0 auto;pointer-events:auto;border-radius:50%;border:3px solid var(--text-color);border-color:var(--text-color) transparent var(--text-color) transparent;animation:spinner .75s linear infinite}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-switch{display:grid;grid-template-columns:auto 48px;grid-gap:20px;margin:8px 0 16px;padding:8px 0 8px 16px;cursor:pointer}.ui-switch>*{pointer-events:none}.ui-switch input{display:none;visibility:hidden}.ui-switch .switcher{display:inline-block;border-radius:100px;width:35px;height:14px;background-color:#ccc;position:relative;top:6px;vertical-align:middle;cursor:pointer}.ui-switch input[type=checkbox]:checked+.switcher{background-color:var(--primary-color-subdued)}.ui-switch .switcher:before{content:"";display:block;width:20px;height:20px;background-color:var(--text-color);box-shadow:0 1px 3px #0009;border-radius:50%;position:absolute;top:-3px;left:0;margin-right:0;transition:all .15s}.ui-switch input[type=checkbox]:checked+.switcher:before{left:100%;margin-left:-20px;background-color:var(--primary-color)}.ui-switch h3{margin:0;font-size:14px;font-weight:500}.ui-switch p{margin:4px 0 0;font-size:12px;font-weight:300}.ui-text-input{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-text-input h3{margin:0;font-size:14px;font-weight:500}.ui-text-input p{margin:8px 0;font-size:12px;font-weight:300}.ui-text-input .input{position:relative;margin:8px 0;border:1px solid var(--border-color);border-radius:4px;background:transparent;padding:2px;overflow:hidden}.ui-text-input input{display:block;width:235px;font-size:14px;border:none;background:transparent;padding:6px;appearance:none;color:var(--text-color);opacity:.6;outline:none}.ui-text-input .input:hover{border-color:var(--primary-color-subdued)}.ui-text-input .input:focus-within{border-color:var(--primary-color)}.ui-text-input .input:focus-within input{opacity:1}.ui-text-input .input:after{content:"";position:absolute;top:5px;right:14px;width:8px;height:17px;border:2px solid rgba(51,181,51,1);border-top:none;border-left:none;transform:rotate(45deg);opacity:0;transition:opacity 80ms ease-in-out;pointer-events:none}.ui-text-input.saved .input:after{opacity:1}.ui-toast{position:fixed;bottom:8px;left:8px;right:8px;padding:6px 12px;font-size:14px;border-radius:4px;transform:translate3d(0,150%,0);opacity:0;transition:all var(--transition-time) ease-in-out;background-color:var(--primary-color-subdued);color:var(--text-color);pointer-events:none}.ui-toast.ui-toast-show{transform:translateZ(0);opacity:1;pointer-events:auto}[data-view=nav-home] .nav-home .section-content,[data-view=nav-cmp-list] .nav-cmp-list .section-content,[data-view=nav-cmp-detail] .nav-cmp-detail .section-content,[data-view=nav-cmp-input] .nav-cmp-input .section-content,[data-view=nav-settings] .nav-settings .section-content{transform:translateZ(0);pointer-events:auto}[data-view=nav-home] .nav-home header,[data-view=nav-home] .nav-home footer,[data-view=nav-cmp-list] .nav-cmp-list header,[data-view=nav-cmp-list] .nav-cmp-list footer,[data-view=nav-cmp-detail] .nav-cmp-detail header,[data-view=nav-cmp-detail] .nav-cmp-detail footer,[data-view=nav-cmp-input] .nav-cmp-input header,[data-view=nav-cmp-input] .nav-cmp-input footer,[data-view=nav-settings] .nav-settings header,[data-view=nav-settings] .nav-settings footer{opacity:1;pointer-events:auto}[data-view=nav-cmp-list] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-home .section-content,[data-view=nav-cmp-input] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-cmp-detail .section-content,[data-view=nav-settings] .nav-home .section-content{transform:translate3d(-105%,0,0)}.cmp-item .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.83 16.809C20.94 16.561 21 16.289 21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L7.988 3.99001M5.441 5.44801L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L18.544 18.56" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.532 10.538L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.27002 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 3L21 21" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');opacity:.3}.cmp-item.registered .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /></svg>');opacity:.8}.search-highlight{background-color:var(--primary-color-alpha);padding:0 2px;border-radius:2px;font-weight:500}.search-container{position:sticky;top:0;z-index:10;padding:12px 16px;background:var(--background-color);border-bottom:1px solid var(--border-color)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-color-secondary);pointer-events:none}.component-search-input{width:100%;height:36px;padding:8px 36px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-background);color:var(--text-color);font-size:14px;transition:border-color .2s,box-shadow .2s}.component-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.component-search-input::placeholder{color:var(--text-color-tertiary)}.clear-search-button{position:absolute;right:8px;padding:4px;color:var(--text-color-secondary);border:none;background:transparent;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.clear-search-button:hover{background-color:var(--hover-color)}.component-search-input:not(:placeholder-shown)+.clear-search-button{opacity:1}.no-results{padding:32px 16px;text-align:center;color:var(--text-color-secondary);font-size:14px}#cmp-detail{position:relative}.cmp-loading{pointer-events:none!important}.cmp-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.cmp-loading .cmp-loading-icon{opacity:.5}.cmp-cover{position:absolute;top:160px;left:0;width:100%;height:100vh;background:var(--background-color);transform:translateZ(0);pointer-events:none;display:none}[data-view=nav-cmp-detail] .cmp-cover{display:block;pointer-events:auto}.cmp-enabled .cmp-cover{transform:translate3d(0,105%,0);pointer-events:none}.section-ready .cmp-cover{transition:all var(--transition-time) ease-in-out}.cmp-detail-inputs-container{margin:8px 0 16px;padding:0}.cmp-detail-inputs-container h3{margin:0 0 6px;padding-left:16px;padding-right:8px;font-size:14px;font-weight:500;display:flex;justify-content:space-between;align-items:center}.cmp-detail-inputs-reload{font-weight:300;font-size:.9em;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-detail-inputs-reload:hover{text-decoration:underline;color:var(--primary-color)}.cmp-detail-inputs-container .cmp-inputs-empty{padding:0;margin-top:12px;font-size:12px;font-weight:300;opacity:.5;font-style:italic}.cmp-detail-inputs-container .nav-list-item-icon{opacity:.8;background-size:20px 20px;background-position:4px center}.input-icon{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path></svg>')}.input-icon-array{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-6a2 2 0 1 1 4 0v6"></path> <path d="M10 13h4"></path></svg>')}.input-icon-boolean{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16h2a2 2 0 1 0 0 -4h-2h2a2 2 0 1 0 0 -4h-2v8z"></path></svg>')}.input-icon-number{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-8l4 8v-8"></path></svg>')}.input-icon-object{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M12 8a2 2 0 0 1 2 2v4a2 2 0 1 1 -4 0v-4a2 2 0 0 1 2 -2z"></path></svg>')}.input-icon-string{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 15a1 1 0 0 0 1 1h2a1 1 0 0 0 1 -1v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1"></path></svg>')}.cmp-input-item-unregistered{opacity:.4}.cmp-input-item-unregistered .input-icon:after{content:"";position:absolute;top:11px;left:4px;width:20px;height:2px;background-color:#000;transform:rotate(-45deg)}.cmp-prop-info{border-bottom:1px solid var(--border-color)}.cmp-input-readonly{margin:16px 0;padding:0 16px;display:grid;grid-template-columns:50% 50%;gap:12px}.cmp-input-readonly h3{margin:0;font-size:14px;font-weight:500}.cmp-input-readonly span{margin-top:2px;font-size:12px;font-weight:300;opacity:.8}.cmp-input-detail{margin:16px 0}.cmp-input-detail a{color:var(--primary-color);text-decoration:none}.cmp-input-detail a:hover{text-decoration:underline}.input-cover{position:absolute;top:175px;left:0;width:100%;height:100%;background:var(--background-color);transform:translateZ(0);transition:all var(--transition-time) ease-in-out;pointer-events:auto}.input-enabled .input-cover{transform:translate3d(0,105%,0);pointer-events:none}.input-loading-icon{position:absolute;display:inline-block;top:190px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.input-loading .input-loading-icon{opacity:.5}:host{position:fixed;inset:0;z-index:2147483646;user-select:none;pointer-events:none;color:var(--text-color)}aside{position:absolute;top:0;right:0;width:var(--menu-width);height:100%;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;background:var(--background-color);box-shadow:#000000c9 5px 0 20px;overflow:hidden;z-index:1}:host(.show-builder-menu) aside{pointer-events:auto;transform:translateZ(0)}#hit{position:absolute;inset:0;display:none}:host(.show-builder-menu) #hit{display:block;pointer-events:auto}#version{position:absolute;bottom:6px;right:6px;font-size:8px;color:#9b9b9b}</style><div id="hit"></div> <aside data-view="nav-home"> <section class="nav-home"> <header> <svg class="builder-logo" viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> <div> <h2 class="builder-home-title">Builder Devtools</h2> <p><button id="go-to-builder">Go to Builder</button></p> </div> <button id="close" aria-label="Close Menu"> <svg viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M18 6l-12 12" /> <path d="M6 6l12 12" /> </svg> </button> </header> <div class="section-content"> <ul class="list"> <li> <button id="components-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Components</span> </button> </li> <li> <button id="settings-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M10.325 4.317C10.751 2.561 13.249 2.561 13.675 4.317C13.7389 4.5808 13.8642 4.82578 14.0407 5.032C14.2172 5.23822 14.4399 5.39985 14.6907 5.50375C14.9414 5.60764 15.2132 5.65085 15.4838 5.62987C15.7544 5.60889 16.0162 5.5243 16.248 5.383C17.791 4.443 19.558 6.209 18.618 7.753C18.4769 7.98466 18.3924 8.24634 18.3715 8.51677C18.3506 8.78721 18.3938 9.05877 18.4975 9.30938C18.6013 9.55999 18.7627 9.78258 18.9687 9.95905C19.1747 10.1355 19.4194 10.2609 19.683 10.325C21.439 10.751 21.439 13.249 19.683 13.675C19.4192 13.7389 19.1742 13.8642 18.968 14.0407C18.7618 14.2172 18.6001 14.4399 18.4963 14.6907C18.3924 14.9414 18.3491 15.2132 18.3701 15.4838C18.3911 15.7544 18.4757 16.0162 18.617 16.248C19.557 17.791 17.791 19.558 16.247 18.618C16.0153 18.4769 15.7537 18.3924 15.4832 18.3715C15.2128 18.3506 14.9412 18.3938 14.6906 18.4975C14.44 18.6013 14.2174 18.7627 14.0409 18.9687C13.8645 19.1747 13.7391 19.4194 13.675 19.683C13.249 21.439 10.751 21.439 10.325 19.683C10.2611 19.4192 10.1358 19.1742 9.95929 18.968C9.7828 18.7618 9.56011 18.6001 9.30935 18.4963C9.05859 18.3924 8.78683 18.3491 8.51621 18.3701C8.24559 18.3911 7.98375 18.4757 7.752 18.617C6.209 19.557 4.442 17.791 5.382 16.247C5.5231 16.0153 5.60755 15.7537 5.62848 15.4832C5.64942 15.2128 5.60624 14.9412 5.50247 14.6906C5.3987 14.44 5.23726 14.2174 5.03127 14.0409C4.82529 13.8645 4.58056 13.7391 4.317 13.675C2.561 13.249 2.561 10.751 4.317 10.325C4.5808 10.2611 4.82578 10.1358 5.032 9.95929C5.23822 9.7828 5.39985 9.56011 5.50375 9.30935C5.60764 9.05859 5.65085 8.78683 5.62987 8.51621C5.60889 8.24559 5.5243 7.98375 5.383 7.752C4.443 6.209 6.209 4.442 7.753 5.382C8.753 5.99 10.049 5.452 10.325 4.317Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M9 12C9 12.7956 9.31607 13.5587 9.87868 14.1213C10.4413 14.6839 11.2044 15 12 15C12.7956 15 13.5587 14.6839 14.1213 14.1213C14.6839 13.5587 15 12.7956 15 12C15 11.2044 14.6839 10.4413 14.1213 9.87868C13.5587 9.31607 12.7956 9 12 9C11.2044 9 10.4413 9.31607 9.87868 9.87868C9.31607 10.4413 9 11.2044 9 12Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Settings</span> </button> </li> <li> <button id="add-page-link"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M14 3v4a1 1 0 0 0 1 1h4" /> <path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /> <path d="M12 11l0 6" /> <path d="M9 14l6 0" /> </svg> <span>Add Builder Page</span> </button> </li> <li> <button id="import-from-figma"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-figma" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M15 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /> <path d="M6 3m0 3a3 3 0 0 1 3 -3h6a3 3 0 0 1 3 3v0a3 3 0 0 1 -3 3h-6a3 3 0 0 1 -3 -3z" /> <path d="M9 9a3 3 0 0 0 0 6h3m-3 0a3 3 0 1 0 3 3v-15" /> </svg> <span>Import From Figma</span> </button> </li> </ul> </div> <footer> <ul class="list"> <li> <a href="https://docs.google.com/forms/d/e/1FAIpQLSdqZcJpRtm_Ia5DTHP6SDY9Xa6LID3KiTjRWkjMzWyJRUtSHw/viewform" target="_blank" > <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M11.013 17.0114L10.013 18.0114L2.513 10.5834C2.0183 10.102 1.62864 9.52342 1.36854 8.88404C1.10845 8.24466 0.983558 7.55836 1.00173 6.86834C1.01991 6.17832 1.18076 5.49954 1.47415 4.87474C1.76755 4.24994 2.18713 3.69266 2.70648 3.23799C3.22583 2.78331 3.8337 2.4411 4.49181 2.23289C5.14991 2.02468 5.844 1.95499 6.53036 2.02821C7.21673 2.10143 7.8805 2.31596 8.47987 2.65831C9.07925 3.00066 9.60124 3.46341 10.013 4.01741C10.8086 2.95654 11.9931 2.2552 13.3059 2.06766C14.6186 1.88012 15.9521 2.22176 17.013 3.01741C18.0739 3.81306 18.7752 4.99755 18.9627 6.3103C19.1503 7.62305 18.8086 8.95654 18.013 10.0174" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> <path d="M18.2006 19.8175L16.0286 20.9555C15.9642 20.989 15.8917 21.004 15.8192 20.9987C15.7467 20.9934 15.6771 20.9681 15.6182 20.9256C15.5593 20.8831 15.5134 20.825 15.4855 20.7579C15.4577 20.6907 15.4491 20.6172 15.4606 20.5455L15.8756 18.1345L14.1186 16.4275C14.0662 16.3768 14.0291 16.3123 14.0115 16.2416C13.9939 16.1708 13.9966 16.0965 14.0192 16.0271C14.0418 15.9578 14.0835 15.8962 14.1394 15.8494C14.1954 15.8026 14.2634 15.7725 14.3356 15.7625L16.7636 15.4105L17.8496 13.2175C17.8821 13.1521 17.9322 13.0972 17.9942 13.0588C18.0562 13.0204 18.1277 13 18.2006 13C18.2736 13 18.3451 13.0204 18.4071 13.0588C18.4691 13.0972 18.5191 13.1521 18.5516 13.2175L19.6376 15.4105L22.0656 15.7625C22.1377 15.7728 22.2054 15.8031 22.2611 15.85C22.3168 15.8968 22.3583 15.9583 22.3809 16.0275C22.4034 16.0967 22.4062 16.1708 22.3888 16.2415C22.3715 16.3122 22.3347 16.3766 22.2826 16.4275L20.5256 18.1345L20.9396 20.5445C20.9521 20.6163 20.9441 20.6902 20.9166 20.7578C20.8891 20.8254 20.8433 20.8839 20.7842 20.9267C20.7252 20.9695 20.6553 20.9949 20.5825 21C20.5098 21.005 20.4371 20.9896 20.3726 20.9555L18.2006 19.8175Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Give Feedback</span> </a> </li> </ul> <div id="version"></div> </footer> </section> <section class="nav-cmp-list"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div class="search-container"> <div class="search-input-wrapper"> <svg class="search-icon" viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M15.5 15.5L20 20M10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17Z" /> </svg> <input type="text" id="component-search" class="component-search-input" placeholder="Search components..." autocomplete="off" spellcheck="false" /> <button id="clear-search" class="clear-search-button" type="button" aria-label="Clear search" > <svg viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M6 6l12 12M6 18L18 6" /> </svg> </button> </div> </div> <div> <h2>Custom Components</h2> <p> <button id="open-builder-registry"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-list" class="cmp-list nav-list"></div> </div> <div class="nav-loading-icon spinner"></div> <footer> <p class="info"> Expand on Builder's selection of built-in blocks by <a target="_blank" href="https://www.builder.io/c/docs/custom-components-intro" >registering components</a > from your codebase. This way, teammates can drag and drop your components within Builder's Visual Editor just like any other block. </p> </footer> </section> <section class="nav-cmp-detail"> <header> <button class="back-button" data-back="nav-cmp-list"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-detail-title"></h2> <p> <button id="cmp-open-source"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-error"></div> <label class="ui-switch"> <div> <h3>Register Component</h3> <p> Registers this component so it can be used within Builder Visual CMS </p> </div> <input type="checkbox" role="switch" id="cmp-register" /> <span class="switcher"></span> </label> <div id="cmp-detail"> <label class="ui-text-input"> <h3>Component Name</h3> <div class="input"> <input type="text" id="cmp-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="2" maxlength="30" required placeholder="e.g. My Counter" /> </div> <p> Unique name to identify this custom component within Builder. Press ESC to cancel </p> </label> <div class="cmp-detail-inputs-container"> <h3> <span>Builder Inputs (Props)</span> <button class="cmp-detail-inputs-reload" id="btn-inputs-reload"> Reload </button> </h3> <div id="cmp-detail-inputs"></div> </div> </div> </div> <div class="cmp-cover"></div> <div class="cmp-loading-icon spinner"></div> </section> <section class="nav-cmp-input"> <header> <button class="back-button" data-back="nav-cmp-detail"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-input-title"></h2> <p> <button id="input-open-source"></button> </p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable Input</h3> <p>Add this component prop as a Builder input</p> </div> <input type="checkbox" role="switch" id="input-register" /> <span class="switcher"></span> </label> <div class="cmp-prop-info"> <div class="cmp-input-readonly"> <h3>Prop Name</h3> <span id="cmp-prop-name"></span> </div> <div class="cmp-input-readonly"> <h3>Prop Type</h3> <span id="cmp-prop-type"></span> </div> </div> <div class="cmp-input-detail"> <label class="ui-text-input"> <h3>Builder Input Name</h3> <div class="input"> <input type="text" id="input-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="1" maxlength="30" required placeholder="e.g. Text" /> </div> <p> Friendly name to identify this component prop as a Builder input. Press ESC to cancel </p> </label> <label class="ui-select"> <h3>Builder Input Type</h3> <div class="select"> <select id="input-type"></select> </div> <p> Correlate to what editing UI is appropriate for this Builder input. <a href="https://www.builder.io/c/docs/custom-components-input-types" target="_blank" >Read more about input types.</a > </p> </label> </div> <div class="input-cover"></div> <div class="input-loading-icon spinner"></div> </div> </section> <section class="nav-settings"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2>Settings</h2> <p>Configure Builder's Devtools</p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable edit button in UI</h3> <p>Enables the edit button so you can edit content in Builder</p> </div> <input type="checkbox" role="switch" id="enable-edit" /> <span class="switcher"></span> </label> </div> </section> <div class="ui-toast" id="toast"></div> </aside> <button class="menu-toggle" aria-label="Toggle Builder Devtools"> <div> <div class="highlight-bg"></div> <svg viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> </div> </button>\`,si(e),ui(e),oi(e),ri(e),ti(e),ci(e),this.setAttribute("aria-hidden","true"),e.getElementById("version").textContent="v1.60.0"}highlightOpener(){let e=this.shadowRoot.querySelector(".menu-toggle");e.classList.add("menu-toggle-highlight"),e.classList.add("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight")},20)},20)}};var lo=\`<style>*,*:before,*:after{box-sizing:border-box}html,body,:host{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:2147483646;margin:0;padding:0;line-height:1.8;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#252525;color:#fff;transition:opacity .25s ease-in-out}:host([aria-hidden="true"]){opacity:0;pointer-events:none}main{position:absolute;top:0;left:0;width:100%;height:100vh}h1{margin-top:0;font-size:24px;font-weight:300;line-height:1.4}p{margin:20px 0;font-weight:300}button{cursor:pointer}aside{position:absolute;top:0;left:0;width:350px;height:100vh;padding:60px 0 0 50px;background-color:#121212}aside ul{margin:30px 0 0;padding:0;list-style:none}aside li{position:relative;margin:0;padding:20px 10px;font-weight:300}aside li.highlight{color:#48a1ff}aside li.active{font-weight:700}aside li .circle{position:absolute;top:20px;left:10px;width:24px;height:24px;border:3px solid white;border-radius:50%;font-size:14px}aside li.highlight .circle{border-color:#48a1ff}aside li.active .circle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background-color:#48a1ff}aside li.completed .circle{background-color:#48a1ff}aside li.completed .circle:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:13px;border:3px solid black;border-top:none;border-left:none;transform:rotate(45deg)}aside li .line{position:absolute;top:44px;left:21px;width:3px;height:45px;background-color:#fff}aside li.completed .line{background-color:#48a1ff}aside li span{display:block;margin-left:44px}nav{margin-top:30px}section{position:absolute;top:135px;left:350px;padding:0 80px 0 140px;transition:opacity .15s ease-in-out}section[aria-hidden=true]{pointer-events:none;opacity:0}section h1,section p{min-width:300px;max-width:600px}.button{position:relative;display:inline-block;color:#fff;background-color:#48a1ff;border-radius:4px;text-decoration:none;padding:10px 40px 10px 20px;white-space:nowrap}.button:hover{background-color:#48a1ffd9}#button-icon{position:absolute;top:1px;right:5px;bottom:0;width:30px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="none" stroke="white" stroke-linecap="square" stroke-miterlimit="10" stroke-width="48" d="M184 112l144 144-144 144"/></svg>');background-repeat:no-repeat;background-position:center;background-size:24px 24px}.button[aria-disabled=true]{opacity:.9;background-color:#ffffff4d;pointer-events:none;padding-right:60px}.button[aria-disabled=true] #button-icon{top:21px;right:29px;width:8px;height:8px;border-radius:4px;background:#fff;color:#fff;animation:dot-flashing .5s infinite linear alternate;animation-delay:.25s}.button[aria-disabled=true] #button-icon:before,.button[aria-disabled=true] #button-icon:after{content:"";display:inline-block;position:absolute;top:0}.button[aria-disabled=true] #button-icon:before{left:-12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:0s}.button[aria-disabled=true] #button-icon:after{left:12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:.5s}@keyframes dot-flashing{0%{background-color:#fff}50%,to{background-color:#ffffff4d}}.logo{margin-left:9px;background:url('data:image/svg+xml,<svg viewBox="0 0 150 32" fill="none" xmlns="http://www.w3.org/2000/svg" > <g clip-path="url(%23clip0_4_304)"> <path d="M27.9858 8.99927C27.9872 10.3415 27.688 11.667 27.1101 12.8783C26.5321 14.0896 25.6902 15.156 24.6462 15.9989V15.9989L0.634502 2.36355C0.542657 2.31119 0.457444 2.24796 0.380701 2.17523C0.260289 2.05715 0.164605 1.91624 0.0992389 1.76075C0.0338732 1.60525 0.000136546 1.43828 0 1.26959C0 0.932873 0.133698 0.609948 0.371683 0.371854C0.609667 0.13376 0.932443 0 1.269 0L18.9906 0C21.3763 0 23.6642 0.948135 25.3512 2.63583C27.0381 4.32352 27.9858 6.61252 27.9858 8.99927V8.99927Z" fill="%2318B4F4" /> <path d="M27.9858 22.9986C27.9861 24.1806 27.7536 25.351 27.3017 26.4431C26.8498 27.5352 26.1873 28.5275 25.352 29.3634C24.5167 30.1993 23.5249 30.8624 22.4335 31.3147C21.342 31.7671 20.1721 32 18.9907 32H1.26906C1.01802 31.9973 0.77343 31.9202 0.566221 31.7784C0.359012 31.6366 0.198499 31.4364 0.104989 31.2034C0.0114791 30.9703 -0.0108254 30.7147 0.0408974 30.4689C0.0926201 30.2231 0.216046 29.9982 0.395559 29.8226V29.8226C0.467112 29.7508 0.547407 29.6882 0.634555 29.6364L10.0844 24.2703L24.6441 16.001C25.688 16.8438 26.53 17.9097 27.1083 19.1206C27.6866 20.3315 27.9864 21.6566 27.9858 22.9986V22.9986Z" fill="%23FD6B3C" /> <path d="M24.6461 15.9989L10.0843 24.2703L0.634458 29.6365C0.54372 29.6868 0.459841 29.7487 0.384888 29.8205C3.98804 26.1233 6.00266 21.1627 5.99812 15.9989C6.0049 10.8346 3.99085 5.87268 0.387003 2.17523C0.463746 2.24796 0.548959 2.31119 0.640803 2.36355L24.6461 15.9989Z" fill="%23A97FF2" /> <path d="M47.6659 11.7352C51.8177 11.7352 54.1632 15.0531 54.1632 19.0714C54.1632 23.0896 51.8177 26.3821 47.6659 26.3821C45.5086 26.3821 43.8589 25.5188 42.9473 24.0545L42.5709 26.052H39.9736V6.77115H43.1884V13.8914C43.971 12.6959 45.5086 11.7352 47.6659 11.7352ZM47.0187 23.5488C49.4446 23.5488 50.9547 21.5809 50.9547 19.0714C50.9547 16.5089 49.4446 14.5664 47.0187 14.5664C44.5928 14.5664 43.0806 16.5047 43.0806 19.0714C43.0806 21.583 44.5653 23.5488 47.0187 23.5488V23.5488Z" fill="white" /> <path d="M65.4595 20.2859V12.0611H68.668V20.123C68.668 23.7202 67.0246 26.3821 62.4943 26.3821C57.9639 26.3821 56.3206 23.7117 56.3206 20.123V12.0611H59.529V20.2859C59.529 22.4696 60.5527 23.5488 62.49 23.5488C64.4274 23.5488 65.4595 22.4696 65.4595 20.2859Z" fill="white" /> <path d="M71.2355 7.74451C71.2247 7.46284 71.2724 7.18199 71.3755 6.91968C71.4787 6.65737 71.6351 6.41929 71.8348 6.22047C72.0345 6.02165 72.2732 5.8664 72.5359 5.76452C72.7986 5.66264 73.0796 5.61633 73.3611 5.62853C74.5793 5.62853 75.4571 6.50666 75.4571 7.75509C75.4571 9.00352 74.5793 9.8224 73.3611 9.8224C72.1428 9.8224 71.2355 8.9612 71.2355 7.74451Z" fill="white" /> <path d="M128.476 7.74451C128.465 7.46376 128.513 7.18383 128.615 6.92227C128.718 6.66071 128.873 6.42315 129.072 6.22449C129.27 6.02583 129.508 5.87035 129.769 5.7678C130.031 5.66524 130.31 5.61783 130.591 5.62852C131.809 5.62852 132.687 6.50666 132.687 7.75509C132.687 9.00352 131.809 9.8224 130.591 9.8224C129.373 9.8224 128.476 8.9612 128.476 7.74451Z" fill="white" /> <path d="M122.302 24.1031C122.291 23.8223 122.339 23.5422 122.441 23.2805C122.543 23.0188 122.699 22.7811 122.897 22.5824C123.096 22.3837 123.334 22.2282 123.595 22.1258C123.857 22.0233 124.137 21.9761 124.417 21.9872C125.636 21.9872 126.513 22.8653 126.513 24.1031C126.513 25.341 125.636 26.1726 124.417 26.1726C123.199 26.1726 122.302 25.3219 122.302 24.1031Z" fill="white" /> <path d="M74.9516 12.059H71.7432V26.0583H74.9516V12.059Z" fill="white" /> <path d="M78.16 26.0583V6.77115H81.3685V26.0626L78.16 26.0583Z" fill="white" /> <path d="M94.6063 6.77115H97.8148V26.0626H95.2239L94.8474 24.0651C93.9591 25.523 92.3094 26.3927 90.131 26.3927C86.0046 26.3927 83.6591 23.0748 83.6591 19.0819C83.6591 15.0891 86.0046 11.7458 90.131 11.7458C92.3137 11.7458 93.8238 12.7149 94.6063 13.902V6.77115ZM90.7993 14.5707C88.3734 14.5707 86.8633 16.5131 86.8633 19.0756C86.8633 21.5851 88.3734 23.553 90.7993 23.553C93.2252 23.553 94.7354 21.5851 94.7354 19.0756C94.7396 16.5047 93.257 14.5664 90.8036 14.5664L90.7993 14.5707Z" fill="white" /> <path d="M113.479 22.2284C112.482 24.7359 110.162 26.3821 107.117 26.3821C102.887 26.3821 100.137 23.225 100.137 19.0439C100.137 14.9706 102.942 11.7353 107.093 11.7353C111.245 11.7353 113.969 14.8902 113.969 18.991C113.982 19.3255 113.953 19.6604 113.883 19.9876H103.288C103.53 22.2009 104.959 23.6292 107.197 23.6292C108.735 23.6292 110.001 22.8738 110.594 21.473L113.479 22.2284ZM103.341 17.6156H110.784C110.513 15.6731 109.166 14.3506 107.089 14.3506C105.012 14.3506 103.665 15.7006 103.341 17.6156V17.6156Z" fill="white" /> <path d="M123.779 14.9452C123.538 14.9117 123.295 14.8933 123.051 14.8902C120.786 14.8902 119.439 16.0772 119.439 18.7751V26.0583H116.23V12.0611H118.821L119.195 14.0014C119.707 13.1127 120.887 11.9257 123.322 11.9257C123.455 11.9257 123.779 11.9532 123.779 11.9532V14.9452Z" fill="white" /> <path d="M132.192 12.059H128.984V26.0583H132.192V12.059Z" fill="white" /> <path d="M134.483 19.0714C134.483 15.1335 137.287 11.7353 141.735 11.7353C146.183 11.7353 149.015 15.1335 149.015 19.0714C149.015 23.0092 146.213 26.3821 141.735 26.3821C137.258 26.3821 134.483 23.0092 134.483 19.0714ZM141.735 23.5488C144.083 23.5488 145.806 21.7692 145.806 19.0714C145.806 16.3735 144.083 14.5664 141.735 14.5664C139.387 14.5664 137.687 16.346 137.687 19.0714C137.687 21.7968 139.417 23.5488 141.735 23.5488V23.5488Z" fill="white" /> </g> <defs> <clipPath id="clip0_4_304"> <rect width="149.015" height="32" fill="white" /> </clipPath> </defs> </svg>');background-repeat:no-repeat;width:150px;height:32px}@media(max-width:840px){aside{width:250px;padding:60px 0 0 20px}section{left:250px;padding:0 80px}}@media(max-width:590px){aside{width:230px;padding:60px 0 0 10px}section{left:230px;padding:0 40px}}#modified-files-message a{color:#cbcbcb;font-weight:300;text-decoration:underline}#modified-files-message a:hover{color:#fff;text-decoration:none}#restart-warning{border-radius:4px;padding:8px 16px;border:1px solid #fd6b3c;background:#fd6b3c1a}#react-router-steps{margin:0 0 5px;padding:0 20px}#need-help{color:#48a1ff;text-decoration:none}#router-message{border-radius:4px;padding:16px;border:1px solid #48a1ff}#router-finish-button{margin-top:12px}#router-checkbox-div{display:flex;align-items:center}#router-checkbox{margin-right:10px;width:15px;height:15px}#success-title{display:flex;align-items:center;gap:10px}#success-title .check-icon{display:inline-block;width:24px;height:24px;border:2px solid #28a745;border-radius:50%;position:relative}#success-title .check-icon:before{content:"";position:absolute;top:50%;left:50%;width:6px;height:12px;border:solid #28a745;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
|
|
88
88
|
</style>\`,Nt=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=lo+\`<main>
|
|
89
89
|
<aside>
|
|
90
90
|
<div class="logo"></div>
|
|
@@ -123,7 +123,7 @@ Restarting server after Builder Devtools update...
|
|
|
123
123
|
</nav>
|
|
124
124
|
</section>
|
|
125
125
|
</main>
|
|
126
|
-
\`,po();let r=new URL(Fr,ot);r.searchParams.set(Br,location.href);let n=e.querySelectorAll(".next-step");for(let i of n)i.setAttribute("href",r.href);ye("overview step viewed")}},po=()=>{let t=document.head.querySelector("link[rel='icon'], link[rel='icon shortcut']");t?(t.href="https://cdn.builder.io/favicon.ico",t.removeAttribute("type")):(t=document.createElement("link"),t.rel="icon",t.href="https://cdn.builder.io/favicon.ico",document.head.appendChild(t))};var li=async()=>{(await jr()).isValid||fo()},fo=()=>{customElements.get("builder-dev-tools-overview")||customElements.define("builder-dev-tools-overview",Nt);let t=document.querySelector("builder-dev-tools-overview");t||(t=document.createElement("builder-dev-tools-overview"),t.setAttribute("aria-hidden","true"),document.body.appendChild(t)),setTimeout(()=>{t.removeAttribute("aria-hidden")},32)};var mo=()=>{try{customElements.get("builder-dev-tools-edit")||customElements.define("builder-dev-tools-edit",at),customElements.get("builder-dev-tools-menu")||customElements.define("builder-dev-tools-menu",Dt);let t=document.querySelector("builder-dev-tools-menu");t||(t=document.createElement("builder-dev-tools-menu"),t.setAttribute("data-version","1.
|
|
126
|
+
\`,po();let r=new URL(Fr,ot);r.searchParams.set(Br,location.href);let n=e.querySelectorAll(".next-step");for(let i of n)i.setAttribute("href",r.href);ye("overview step viewed")}},po=()=>{let t=document.head.querySelector("link[rel='icon'], link[rel='icon shortcut']");t?(t.href="https://cdn.builder.io/favicon.ico",t.removeAttribute("type")):(t=document.createElement("link"),t.rel="icon",t.href="https://cdn.builder.io/favicon.ico",document.head.appendChild(t))};var li=async()=>{(await jr()).isValid||fo()},fo=()=>{customElements.get("builder-dev-tools-overview")||customElements.define("builder-dev-tools-overview",Nt);let t=document.querySelector("builder-dev-tools-overview");t||(t=document.createElement("builder-dev-tools-overview"),t.setAttribute("aria-hidden","true"),document.body.appendChild(t)),setTimeout(()=>{t.removeAttribute("aria-hidden")},32)};var mo=()=>{try{customElements.get("builder-dev-tools-edit")||customElements.define("builder-dev-tools-edit",at),customElements.get("builder-dev-tools-menu")||customElements.define("builder-dev-tools-menu",Dt);let t=document.querySelector("builder-dev-tools-menu");t||(t=document.createElement("builder-dev-tools-menu"),t.setAttribute("data-version","1.60.0"),document.body.appendChild(t));let e=document.querySelector("builder-dev-tools-edit");e||(e=document.createElement("builder-dev-tools-edit"),document.body.appendChild(e));let r=document.getElementById("builder-dev-tools-style");r||(r=document.createElement("style"),r.id="builder-dev-tools-style",r.innerHTML=".builder-no-scroll{overflow:hidden !important}",document.head.appendChild(r)),li(),Jn()}catch(t){console.error("Builder Devtools:",t)}};window.location===window.parent.location&&(console.debug("Builder.io Devtools v1.60.0"),mo());})();`)}async function cf(e){return lf(e,`<!doctype html>
|
|
127
127
|
<html lang="en" dir="ltr">
|
|
128
128
|
<head>
|
|
129
129
|
<meta charset="utf-8" />
|
|
@@ -1328,12 +1328,12 @@ const nextConfig = {
|
|
|
1328
1328
|
|
|
1329
1329
|
module.exports = nextConfig
|
|
1330
1330
|
`.trimStart();var Aie=fe("ClientScript");import*as Km from"@sentry/node";import*as Jm from"@amplitude/analytics-node";var HL=fe("Exit");async function hn(e){if(process.env.NODE_ENV!=="test")try{let t=process.env.BUILDER_DISABLE_AMPLITUDE==="true",A=[Km.flush(2e3)];t||A.push(Jm.flush().promise),await Promise.allSettled(A)}catch(t){HL.error(t)}process.exit(e)}var jA=process.env.AIR_HOST||process.env.BUILDER_HOST||"https://api.builder.io";import*as po from"@amplitude/analytics-node";import*as ea from"@sentry/node";var tA=[];for(let e=0;e<256;++e)tA.push((e+256).toString(16).slice(1));function Hm(e,t=0){return(tA[e[t+0]]+tA[e[t+1]]+tA[e[t+2]]+tA[e[t+3]]+"-"+tA[e[t+4]]+tA[e[t+5]]+"-"+tA[e[t+6]]+tA[e[t+7]]+"-"+tA[e[t+8]]+tA[e[t+9]]+"-"+tA[e[t+10]]+tA[e[t+11]]+tA[e[t+12]]+tA[e[t+13]]+tA[e[t+14]]+tA[e[t+15]]).toLowerCase()}import _L from"node:crypto";var gu=new Uint8Array(256),au=gu.length;function KC(){return au>gu.length-16&&(_L.randomFillSync(gu),au=0),gu.slice(au,au+=16)}import OL from"node:crypto";var JC={randomUUID:OL.randomUUID};function YL(e,t,A){if(JC.randomUUID&&!t&&!e)return JC.randomUUID();e=e||{};let r=e.random||(e.rng||KC)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){A=A||0;for(let n=0;n<16;++n)t[A+n]=r[n];return t}return Hm(r)}var HC=YL;var On=class extends Error{},at=class extends On{constructor({type:A,cause:r,message:n,suggestions:i=[],hostname:o,port:s,statusCode:a,errorCode:c}){super(n,{cause:r});Fe(this,"type");Fe(this,"suggestions");Fe(this,"hostname");Fe(this,"port");Fe(this,"statusCode");Fe(this,"errorCode");this.name="NetworkError",this.type=A,this.suggestions=i,this.hostname=o,this.port=s,this.statusCode=a,this.errorCode=c}},uu=process.platform==="win32",jL=process.platform==="darwin";function qL(e){return uu?`tracert ${e}`:`traceroute ${e}`}function VL(){return jL?"sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder":uu?"ipconfig /flushdns":"sudo systemd-resolve --flush-caches"}function WL(e,t){return uu?`Test-NetConnection -ComputerName ${e} -Port ${t}`:`nc -zv ${e} ${t}`}function $L(e){return uu?`nslookup ${e}`:`dig ${e}`}function zL(e,t){return`openssl s_client -connect ${e}:${t} -showcerts`}var ZL=new Set(["DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN"]),XL=new Set(["UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","UNABLE_TO_VERIFY_LEAF_SIGNATURE","INVALID_CA","CERT_SIGNATURE_FAILURE","CERT_REVOKED","CERT_REJECTED","CERT_UNTRUSTED","CERT_CHAIN_TOO_LONG","PATH_LENGTH_EXCEEDED","INVALID_PURPOSE","UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY","UNABLE_TO_DECRYPT_CERT_SIGNATURE","HOSTNAME_MISMATCH","ERR_TLS_CERT_ALTNAME_INVALID"]),eT=new Set(["CERT_HAS_EXPIRED","ERROR_IN_CERT_NOT_AFTER_FIELD"]),tT=new Set(["CERT_NOT_YET_VALID","ERROR_IN_CERT_NOT_BEFORE_FIELD"]),AT=new Set(["CRL_HAS_EXPIRED","CRL_NOT_YET_VALID","ERROR_IN_CRL_LAST_UPDATE_FIELD","ERROR_IN_CRL_NEXT_UPDATE_FIELD"]),rT=new Set(["ERR_TLS_INVALID_PROTOCOL_VERSION","ERR_TLS_INVALID_PROTOCOL_METHOD","ERR_TLS_PROTOCOL_VERSION_CONFLICT","ERR_TLS_INVALID_STATE","ERR_TLS_INVALID_CONTEXT","ERR_TLS_RENEGOTIATION_DISABLED","ERR_TLS_REQUIRED_SERVER_NAME","ERR_TLS_SESSION_ATTACK","ERR_TLS_SNI_FROM_SERVER","ERR_TLS_DH_PARAM_SIZE","ERR_SSL_WRONG_VERSION_NUMBER","EPROTO"]),nT=new Set(["ERR_TLS_HANDSHAKE_TIMEOUT","ERR_SSL_HANDSHAKE_FAILURE"]),iT=new Set(["CRYPT_E_NO_REVOCATION_CHECK","CRYPT_E_REVOCATION_OFFLINE","CRYPT_E_NO_REVOCATION_DLL","CRYPT_E_NOT_IN_REVOCATION_DATABASE","UNABLE_TO_GET_CRL","CRL_SIGNATURE_FAILURE","UNABLE_TO_DECRYPT_CRL_SIGNATURE"]),oT=new Set(["ERR_PROXY_INVALID_CONFIG","ERR_PROXY_TUNNEL","ERR_TUNNEL_CONNECTION_FAILED"]),sT=new Set(["ENETUNREACH","EHOSTUNREACH","ENETDOWN","ENONET"]);function _C(e,t,A){let r=e.code,n=`${t}${A?`:${A}`:""}`;if(r==="ECONNREFUSED"){let i=A||443;return new at({type:"connection_refused",cause:e,message:`Connection refused to ${n}. The server may be down or not accepting connections on this port.`,suggestions:["Verify the server is running and accepting connections",`Test if the port is reachable: ${WL(t,i)}`,"Check if a firewall is blocking the connection","Ensure the correct port number is being used","If using a proxy, verify proxy settings are correct","Try again in a few minutes - the service may be temporarily unavailable"],hostname:t,port:A,errorCode:r})}if(r==="ECONNRESET")return new at({type:"connection_reset",cause:e,message:`Connection to ${n} was reset. The server closed the connection unexpectedly.`,suggestions:["The server may have restarted or timed out - try again","Check if a proxy or firewall is terminating connections","If behind a corporate network, the connection may be blocked","Verify network stability - intermittent connectivity can cause resets","If using keep-alive connections, the server may have closed an idle connection"],hostname:t,port:A,errorCode:r});if(r==="ECONNABORTED")return new at({type:"connection_aborted",cause:e,message:`Connection to ${n} was aborted before completing.`,suggestions:["The request may have been interrupted - try again","Check for network instability or packet loss","If using a proxy, verify the proxy is functioning correctly","The server may have terminated the connection early"],hostname:t,port:A,errorCode:r});if(r==="ETIMEDOUT"||r==="ESOCKETTIMEDOUT"||r==="ERR_SOCKET_CONNECTION_TIMEOUT"||r==="ERR_HTTP_REQUEST_TIMEOUT")return new at({type:"connection_timeout",cause:e,message:`Connection to ${n} timed out. The server did not respond in time.`,suggestions:["Check your internet connection speed and stability","The server may be overloaded - try again in a few minutes","If behind a proxy, ensure the proxy is not causing delays","Corporate firewalls may be slowing or blocking the connection","Try using a different network (e.g., mobile hotspot) to isolate the issue"],hostname:t,port:A,errorCode:r});if(r==="ENOTFOUND"||r==="EAI_AGAIN")return new at({type:"dns_not_found",cause:e,message:`Cannot resolve hostname '${t}'. DNS lookup failed.`,suggestions:["Check your internet connection","Verify the hostname is spelled correctly",`Test DNS resolution: ${$L(t)}`,"Try using a different DNS server (e.g., 8.8.8.8 or 1.1.1.1)","If on a VPN, try disconnecting and reconnecting",`Flush your DNS cache: ${VL()}`],hostname:t,errorCode:r});if(r&&ZL.has(r)){let i=A||443;return new at({type:"ssl_self_signed",cause:e,message:`SSL certificate error: The server at ${n} is using a self-signed certificate that is not trusted.`,suggestions:["If on a corporate network, add your company's CA certificate:"," \u2192 npm config set cafile /path/to/company-cert.pem"," \u2192 Or set NODE_EXTRA_CA_CERTS=/path/to/company-cert.pem","For Node.js 22+, use --use-system-ca flag if the CA is installed in your system",`Inspect the certificate: ${zL(t,i)}`,"Contact your IT department to get the corporate root CA certificate","If this is your server, consider using Let's Encrypt for free valid certificates","\u26A0\uFE0F Temporary workaround (not secure): npm config set strict-ssl false"],hostname:t,port:A,errorCode:r})}if(r&&eT.has(r))return new at({type:"ssl_certificate_expired",cause:e,message:`SSL certificate error: The certificate for ${n} has expired.`,suggestions:["Contact the server administrator to renew the SSL certificate","Check if your system clock is set correctly - incorrect time can cause certificate errors","If this is your server, renew the certificate immediately","This may indicate a security issue - proceed with caution"],hostname:t,port:A,errorCode:r});if(r&&tT.has(r))return new at({type:"ssl_certificate_not_yet_valid",cause:e,message:`SSL certificate error: The certificate for ${n} is not yet valid. The certificate's validity period has not started yet.`,suggestions:["Check if your system clock is set correctly - this is the most common cause","Verify your system date and time are accurate","If the clock is correct, wait until the certificate becomes valid","Contact the server administrator - they may have deployed a certificate too early"],hostname:t,port:A,errorCode:r});if(r&&AT.has(r)){let i=r==="CRL_HAS_EXPIRED",o=r==="CRL_NOT_YET_VALID";return new at({type:"ssl_certificate_invalid",cause:e,message:`SSL error: The Certificate Revocation List (CRL) for ${n} ${i?"has expired":o?"is not yet valid":"has invalid date fields"}. This means the revocation list is stale, not that the certificate itself has expired.`,suggestions:["This is often a server-side configuration issue - the server needs to update its CRL","Check if your system clock is set correctly - incorrect time can cause CRL validation errors","If behind a corporate proxy, the proxy may be caching an outdated CRL","Try again later - the server administrator may need to refresh the CRL","If on a corporate network, contact your IT department","\u26A0\uFE0F Temporary workaround (not secure): npm config set strict-ssl false"],hostname:t,port:A,errorCode:r})}if(r&&XL.has(r))return new at({type:"ssl_certificate_invalid",cause:e,message:`SSL certificate error: The certificate for ${n} could not be verified. ${aT(r)}`,suggestions:["If on a corporate network, add your company's CA certificate:"," \u2192 npm config set cafile /path/to/company-cert.pem"," \u2192 Or set NODE_EXTRA_CA_CERTS=/path/to/company-cert.pem","For Node.js 22+, use --use-system-ca flag if certificates are installed in your system","The server may be missing intermediate certificates in its chain","If behind a corporate proxy, contact IT for the proxy's root CA certificate","Verify you're connecting to the correct server (check for DNS hijacking)","\u26A0\uFE0F Temporary workaround (not secure): npm config set strict-ssl false"],hostname:t,port:A,errorCode:r});if(r&&nT.has(r))return new at({type:"ssl_handshake_failed",cause:e,message:`SSL/TLS handshake with ${n} failed. Could not establish a secure connection.`,suggestions:["The server may be temporarily unavailable - try again","Check if a proxy or firewall is intercepting HTTPS traffic","Your corporate network may require specific certificates to be installed","The server may require a specific TLS version your client doesn't support","Try connecting from a different network to isolate the issue"],hostname:t,port:A,errorCode:r});if(r&&iT.has(r)){let i=r==="CRYPT_E_REVOCATION_OFFLINE";return new at({type:"ssl_certificate_invalid",cause:e,message:`Certificate revocation check failed for ${n}. ${i?"The revocation server is offline.":"Unable to verify certificate revocation status."}`,suggestions:["This is often a temporary issue - try again in a few minutes","The certificate revocation server (CRL/OCSP) may be unreachable","If on a corporate network, add your company's CA certificate:"," \u2192 npm config set cafile /path/to/company-cert.pem","Check if a firewall or proxy is blocking access to revocation servers","Contact your IT department for assistance with certificate configuration","\u26A0\uFE0F Temporary workaround (not secure): npm config set strict-ssl false"],hostname:t,port:A,errorCode:r})}return r&&rT.has(r)?new at({type:"ssl_protocol_error",cause:e,message:`SSL/TLS protocol error connecting to ${n}. ${gT(r)}`,suggestions:["The server may require a different TLS version (try TLS 1.2 or 1.3)","If behind a proxy, it may not support modern TLS protocols","Corporate firewalls sometimes downgrade TLS - contact your IT department","The server's SSL configuration may be outdated or misconfigured","Try updating Node.js to get the latest TLS support"],hostname:t,port:A,errorCode:r}):r&&oT.has(r)?new at({type:"proxy_error",cause:e,message:`Proxy error while connecting to ${n}. The proxy server could not establish a tunnel.`,suggestions:["Verify your proxy settings (HTTP_PROXY, HTTPS_PROXY environment variables)","Check if the proxy server is running and accessible","Ensure the proxy allows connections to the target host","Try bypassing the proxy by adding the host to NO_PROXY","Corporate proxies may require authentication - check credentials","The proxy may be blocking this specific destination"],hostname:t,port:A,errorCode:r}):r&&sT.has(r)?new at({type:"network_unreachable",cause:e,message:`Cannot reach ${n}. ${r==="EHOSTUNREACH"?"The host":"The network"} is unreachable.`,suggestions:["Check your internet connection is active","If on WiFi, try reconnecting to the network","VPN connection may have dropped - reconnect if using VPN","The destination network may be down or unreachable from your location","Check if a firewall is blocking outbound connections",`Diagnose the route: ${qL(t)}`],hostname:t,port:A,errorCode:r}):r==="EPIPE"?new at({type:"connection_reset",cause:e,message:`Broken pipe to ${n}. The connection was closed while data was being sent.`,suggestions:["The server closed the connection unexpectedly - try again","Check if the request payload is too large","Network instability may have caused the connection to drop","If using keep-alive, the server may have closed an idle connection"],hostname:t,port:A,errorCode:r}):r==="ERR_SOCKET_BAD_PORT"?new at({type:"socket_error",cause:e,message:`Invalid port number for ${t}. Port must be a number between 1 and 65535.`,suggestions:["Check your configuration for the correct port number","Ensure the port is a valid integer (1-65535)","Common ports: HTTP (80), HTTPS (443), custom services typically use 3000-9999","If using environment variables, verify they are set correctly"],hostname:t,port:A,errorCode:r}):r==="ERR_SOCKET_CLOSED"||r==="ERR_SOCKET_CLOSED_BEFORE_CONNECTION"?new at({type:"socket_error",cause:e,message:`Socket closed unexpectedly while connecting to ${n}.`,suggestions:["The connection was closed unexpectedly - try again","Check for network instability","The server may have rejected the connection"],hostname:t,port:A,errorCode:r}):new at({type:"unknown",cause:e,errorCode:r,message:`Network error connecting to ${n}: ${r?`[${r}] `:""}${e.message}`,suggestions:["Check your internet connection","If behind a proxy, verify proxy settings are correct","Try connecting from a different network","Check if a firewall or antivirus is blocking the connection","Try again in a few minutes - the service may be temporarily unavailable"],hostname:t,port:A})}function aT(e){return{UNABLE_TO_GET_ISSUER_CERT:"The certificate issuer could not be found.",UNABLE_TO_GET_ISSUER_CERT_LOCALLY:"The certificate issuer is not in the local trusted store.",UNABLE_TO_VERIFY_LEAF_SIGNATURE:"The first certificate in the chain could not be verified.",INVALID_CA:"The CA certificate is invalid.",CERT_SIGNATURE_FAILURE:"The certificate signature is invalid.",CERT_REVOKED:"The certificate has been revoked.",CERT_REJECTED:"The certificate was rejected.",CERT_UNTRUSTED:"The certificate is not trusted.",HOSTNAME_MISMATCH:"The certificate hostname does not match the requested hostname.",ERR_TLS_CERT_ALTNAME_INVALID:"The hostname is not in the certificate's subject alternative names."}[e]||""}function gT(e){return{ERR_TLS_INVALID_PROTOCOL_VERSION:"The TLS protocol version is not supported.",ERR_TLS_INVALID_PROTOCOL_METHOD:"The TLS protocol method is invalid.",ERR_TLS_PROTOCOL_VERSION_CONFLICT:"There is a conflict between TLS protocol versions.",EPROTO:"A protocol error occurred during the SSL/TLS handshake.",ERR_SSL_WRONG_VERSION_NUMBER:"SSL version number mismatch.",ERR_TLS_DH_PARAM_SIZE:"The Diffie-Hellman parameters are too small (insecure)."}[e]||""}var Gie=fe("Track");async function ta(e,t){if(process.env.BUILDER_DISABLE_AMPLITUDE==="true")return Promise.resolve();let r={...t,app:"dev-tools-cli",package:"cli"},n=await uT(),i=await cT();return await po.track(e,r,{user_id:n,device_id:i}).promise}var cu,OC;async function _m(e){cu=e;let t=await ro();await Mg({...t,userId:e})}async function uT(){if(cu)return cu;let e=await ro(),t;return Jl(e,"userId")&&(t=e.userId),cu=t,t}async function cT(){if(OC)return OC;let e=await ro(),t=HC();return Jl(e,"deviceId")?t=e.deviceId:await Mg({...e,deviceId:t}),OC=t,t}var kk=Ft(gw(),1),Mk=Ft(Cd(),1);import{fetch as xk,Agent as DQ,ProxyAgent as vk}from"undici";import{execSync as fQ}from"node:child_process";var kw="0.0.0";import Un from"node:process";import*as Nk from"@sentry/node";var zn=class extends Error{constructor(A,r,n){super(A,n);Fe(this,"code");this.name="CodeGenError",this.code=r}};import pwe from"chokidar";import Qwe from"ignore";var Dd=Ft(Jw(),1);import*as hJ from"@sentry/node";var mJ=fe("ProcessTracker"),yd=class{constructor(){Fe(this,"processes",new Set);Fe(this,"cleanupHandlersRegistered",!1);this.registerCleanupHandlers()}track(t){this.processes.add(t),t.on("exit",()=>{this.processes.delete(t)})}untrack(t){this.processes.delete(t)}async killAll(t){if(this.processes.size===0)return;let A=[];for(let r of this.processes)r.pid&&r.exitCode===null&&A.push(dc(t,r));await Promise.all(A),this.processes.clear()}registerCleanupHandlers(){if(this.cleanupHandlersRegistered)return;this.cleanupHandlersRegistered=!0;let t=async A=>{try{await this.killAll()}catch(r){mJ.error("Error during cleanup:",r)}};process.on("SIGINT",()=>t("SIGINT")),process.on("SIGTERM",()=>t("SIGTERM")),process.on("SIGHUP",()=>t("SIGHUP")),process.on("exit",()=>{for(let A of this.processes)if(A.pid&&A.exitCode===null)try{process.kill(A.pid,"SIGKILL")}catch{}})}get count(){return this.processes.size}},DJ=new yd;function Hw(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function dc(e,t,A,r=5e3){if(typeof t!="number"&&(!t||(da(t)?t.getExitCode()!==null:t.exitCode!==null)))return null;if(A?.aborted)return Ea(A.reason);let n=new Promise((a,c)=>{A?.addEventListener("abort",()=>{c(new Error("killProcess aborted by the user"))},{once:!0})}),i,o;if(typeof t=="number"?i=t:(o=t,i=da(o)?o.getPid():o.pid),!i){if(e?.Sentry?.captureMessage("killProcess: no pid (process never spawned or already exited)",{level:"info",extra:{procType:o?da(o)?"DevCommandProcess":"ChildProcess":"number"}}),o)try{o.kill("SIGKILL")}catch{}return null}let s=a=>{if(o){if(da(o)?o.getExitCode()!==null:o.exitCode!==null||o.signalCode!==null){a();return}da(o)?o.onClose(()=>a()):o.on("close",a)}else{let l=Math.floor(r/100),d=0,I=()=>{if(!Hw(i)){a();return}++d>=l||setTimeout(I,100)};I()}};try{return await Promise.race([new Promise((a,c)=>(0,Dd.default)(i,"SIGTERM",l=>{if(l){c(l);return}o?.removeAllListeners(),s(a)})),new Promise((a,c)=>setTimeout(()=>c(new Error("SIGTERM killProcess timeout")),r)),n]),null}catch(a){if(a.code==="ESRCH")return null;e?.Sentry?.captureException(a,{level:"warning"});try{return await Promise.race([new Promise((c,l)=>(0,Dd.default)(i,"SIGKILL",d=>{if(d){l(d);return}o?.removeAllListeners(),s(c)})),new Promise((c,l)=>setTimeout(()=>l(new Error("SIGKILL killProcess timeout")),r)),n]),null}catch(c){return c.code==="ESRCH"||!Hw(i)?null:(e?.Sentry?.captureException(c,{level:"warning"}),c instanceof Error?c:new Error("killProcess: failed to kill process: "+String(c)))}}finally{o&&o.removeAllListeners()}}var da=e=>"type"in e;import{z as ee}from"zod";var yJ=ee.object({type:ee.literal("url"),value:ee.string()}).meta({title:"URL"}),wJ=ee.object({type:ee.literal("upload"),contentType:ee.enum(["image/webp","image/png","image/jpeg","image/gif","application/pdf","application/json","text/plain"]),name:ee.string(),dataUrl:ee.string(),text:ee.string().optional(),size:ee.number(),id:ee.string(),originalUrl:ee.string().optional(),ephemeral:ee.boolean().optional()}).meta({title:"FileUpload"}),SJ=ee.object({type:ee.literal("template"),name:ee.string(),id:ee.number()}).meta({title:"Template"}),FJ=ee.object({type:ee.literal("builder"),html:ee.string()}).meta({title:"BuilderContentAttachment"}),bJ=ee.object({type:ee.literal("figma"),html:ee.string()}).meta({title:"FigmaContentAttachment"}),wd=ee.discriminatedUnion("type",[wJ,SJ,yJ,FJ,bJ]).meta({title:"Attachment"}),RJ=ee.object({cited_text:ee.string(),document_index:ee.number(),document_title:ee.string().nullable(),end_char_index:ee.number(),start_char_index:ee.number(),type:ee.literal("char_location")}).meta({title:"CitationCharLocationParam"}),vJ=ee.object({cited_text:ee.string(),document_index:ee.number(),document_title:ee.string().nullable(),end_block_index:ee.number(),start_block_index:ee.number(),type:ee.literal("content_block_location")}).meta({title:"CitationContentBlockLocationParam"}),xJ=ee.object({cited_text:ee.string(),document_index:ee.number(),document_title:ee.string().nullable(),end_page_number:ee.number(),start_page_number:ee.number(),type:ee.literal("page_location")}).meta({title:"CitationPageLocationParam"}),kJ=ee.object({cited_text:ee.string(),encrypted_index:ee.string(),title:ee.string().nullable(),type:ee.literal("web_search_result_location"),url:ee.string()}).meta({title:"CitationWebSearchResultLocationParam"}),MJ=ee.discriminatedUnion("type",[RJ,xJ,vJ,kJ]).meta({title:"TextCitationParam"}),NJ=ee.object({type:ee.literal("base64"),media_type:ee.enum(["image/webp","image/png","image/jpeg","image/gif"]),data:ee.string(),original_url:ee.string().optional()}).meta({title:"ImageBase64Source"}),GJ=ee.object({type:ee.literal("url"),url:ee.string()}).meta({title:"ImageUrlSource"}),UJ=ee.object({type:ee.literal("text"),text:ee.string(),cache:ee.boolean().optional(),citations:ee.array(MJ).nullish(),ephemeral:ee.boolean().optional(),thoughtSignature:ee.string().optional(),tag:ee.string().optional()}).meta({title:"ContentMessageItemText"}),LJ=ee.object({type:ee.literal("image"),source:ee.discriminatedUnion("type",[NJ,GJ]),cache:ee.boolean().optional(),ephemeral:ee.boolean().optional()}).meta({title:"ContentMessageItemImage"}),TJ=ee.object({type:ee.literal("resource"),resource:ee.object({uri:ee.string(),mimeType:ee.string().optional(),text:ee.string().optional(),blob:ee.string().optional()})}).meta({title:"ContentMessageItemResource"}),_w=ee.object({type:ee.literal("tool_result"),tool_use_id:ee.string(),tool_name:ee.string().optional(),tool_input:ee.string().optional(),title:ee.string().optional(),content:ee.union([ee.string(),ee.array(ee.discriminatedUnion("type",[UJ,LJ,TJ]))]),is_error:ee.boolean().optional(),cache:ee.boolean().optional(),ephemeral:ee.boolean().optional(),structured_result:ee.record(ee.string(),ee.any()).optional()}).meta({title:"ContentMessageItemToolResult"});import{z as rA}from"zod";var Ow=rA.object({client:rA.string(),clientVersion:rA.string(),nodeVersion:rA.string(),systemPlatform:rA.string(),frameworks:rA.array(rA.string()),systemEOL:rA.string(),systemArch:rA.string(),systemShell:rA.string().optional(),inGitRepo:rA.boolean().optional()}).catchall(rA.union([rA.string(),rA.array(rA.string()),rA.boolean(),rA.undefined()])).meta({title:"UserContext"});import{z as p}from"zod";import{z as br}from"zod";var PJ=["steve8708/mui-vite","steve8708/carbon-vite","steve8708/vite-react-shopify-polaris","steve8708/cloudscape-demos","BuilderIO/fusion-angular-tailwind-starter","BuilderIO/fusion-svelte-tailwind-starter","BuilderIO/fusion-vue-tailwind-starter","BuilderIO/org-agent-starter"],KJ="BuilderIO/fusion-starter";var Sd=[...PJ,KJ],wse=Sd.map(e=>`https://github.com/${e}`),JJ=br.object({key:br.string(),type:br.literal("mise"),tool:br.string(),version:br.string().optional()}).meta({title:"SetupMiseDependency"}),HJ=br.object({key:br.string(),type:br.literal("script"),name:br.string(),script:br.string()}).meta({title:"SetupScriptDependency"}),Yw=br.discriminatedUnion("type",[JJ,HJ]).meta({title:"SetupDependency"});var _J=p.string().meta({title:"GitSnapshot",description:"Multi-repo git snapshot. Format: 'folder:hash,folder:hash' with URL-encoded folder names. Legacy single-hash form ('abc123') is also accepted. Empty string means no commits."}),xse=p.enum(["named","default"]).meta({title:"ImportType"}),OJ=p.object({filePath:p.string(),content:p.string().optional(),importance:p.number().optional(),dropReason:p.string().optional(),wasIncluded:p.boolean().optional(),virtual:p.boolean().optional()}).meta({title:"ProjectFile"}),YJ=p.object({id:p.string(),name:p.string(),content:p.string(),type:p.enum(["always","agent-mode"]).optional(),filePath:p.string().optional(),glob:p.string().optional(),description:p.string().optional(),allowedTools:p.array(p.string()).optional(),hideUI:p.boolean().optional(),isSkill:p.boolean().optional(),disableModelInvocation:p.boolean().optional(),userInvocable:p.boolean().optional(),scope:p.enum(["project","user","plugin"]).optional(),pluginName:p.string().optional()}).meta({title:"CustomInstruction"}),qw=p.enum(["auto","none","minimal","low","medium","high","xhigh","max"]).meta({title:"ReasoningEffort"}),jJ=p.object({name:p.string(),description:p.string().optional()}).meta({title:"CustomAgentInfo"}),qJ=p.record(p.string(),p.union([p.string(),p.array(p.string())])).meta({title:"AgentModelOverrides"}),VJ=p.enum(["react","html","mitosis","react-native","angular","vue","svelte","qwik","solid","marko","swiftui","jetpack-compose","flutter"]).meta({title:"CodeGenFramework"}),WJ=p.enum(["tailwind","tailwind-precise","emotion","styled-components","styled-jsx","react-native"]).meta({title:"CodeGenStyleLibrary"}),kse=p.enum(["max_tokens","stop_sequence","tool_use","end_turn","content_filter","error","aborted","pause_turn","refusal","compaction","model_context_window_exceeded"]).nullable().meta({title:"CompletionStopReason"}),pc="The path of the file. Accepts a path relative to the project working directory, an absolute path (`/Users/.../skill.md`), or a tilde path (`~/.builder/skills/.../SKILL.md`). User-level Builder state under `~/.builder/**` is allowed by default for plugin operations; other absolute paths require an explicit ACL policy.",$J=p.object({file_path:p.string().meta({description:pc}),offset:p.number().nullish().meta({description:"The line number to start reading from."}),limit:p.number().nullish().meta({description:"The number of lines to read."})}).meta({title:"ReadToolInput"}),zJ=p.object({pattern:p.string().meta({description:"The pattern to search for"})}).meta({title:"GlobSearchToolInput"}),ZJ=p.object({query:p.string().meta({description:'A string literal or a JavaScript-flavored regex to search for in all project files. Only escape special characters such as {} and () in string literals to avoid confusion with regex patterns (e.g. "import \\{ foo \\}"). Avoid over-escaping as that will cause errors. Do NOT use inline regex flags like (?i) or (?s) \u2014 they are not supported. The search is case-insensitive by default; use the case_sensitive parameter to control this.'}),include_glob:p.string().nullish().meta({description:"An optional single glob pattern to include only specific files (e.g. '**/*.(ts|tsx)' for all TypeScript files)"}),exclude_glob:p.string().nullish().meta({description:"Optional glob pattern to exclude specific files or directories"}),case_sensitive:p.boolean().nullish().meta({description:"Whether the search should be case-sensitive. Defaults to false (case-insensitive). Set to true for case-sensitive search."})}).meta({title:"GrepSearchToolInput"}),XJ=p.object({skill:p.string().meta({description:"The name of a skill from the available-skills list. Do not guess names."}),args:p.string().nullish().meta({description:"Optional invocation arguments; forwarded with the skill body in the tool result."})}).meta({title:"SkillToolInput"}),eH=p.object({name:p.string().meta({description:"The name of the rule to get"})}).meta({title:"GetRuleToolInput"}),tH=p.object({url:p.string().meta({description:"The URL of the website to analyze and mimic the style of, for example 'https://airbnb.com' or 'https://instagram.com'"})}).meta({title:"GetStyleInspirationToolInput"}),Mse=p.object({}).meta({title:"GetBuildOutputToolInput"}),AH=p.object({restart:p.boolean().nullish().meta({description:"Whether to restart the dev server, it will also return the initial logs coming from the dev server. This tool can be very slow, only use as last resort, most of the times file changes do not require a restart."}),set_dev_command:p.string().nullish().meta({description:"Use to set the command of the dev server, for example 'npm run dev' or 'cd packages/frontend && yarn dev'. When updating the command, the dev server will be automatically restarted. After changing a command, the proxy port might change, so you need to use the 'set_proxy_port' tool to update the proxy port. Only use if there are explicit issues"}),set_proxy_port:p.number().nullish().meta({description:"Used to configure the proxy port of the dev server. For example, if `npm run dev` open a port in 8392, but current proxy server listens 3000, you can use this tool to update the proxy port. Only use if there are explicit issues."}),get_logs:p.boolean().nullish().meta({description:"When used standalone, the tool will return logs of the dev server and other status. But don't change or restart anything. It's a read-only operation."}),set_env_variable:p.tuple([p.string(),p.string()]).nullish().meta({description:"Tuple of two strings, the first string is the name of the environment variable, the second string is the value of the environment variable. For example, ['DB_API_KEY', '___PRIVATE_KEY___']"}),set_and_run_setup_command:p.string().nullish().meta({description:"Use to set the command of the setup command, for example 'npm install' or 'yarn'. Only use if there are explicit issues."})}).meta({title:"DevServerControlInput"}),rH=p.object({}).meta({title:"DevServerLogsInput"}),nH=p.object({}).meta({title:"DevServerRestartInput",description:"Restarts the dev server with current configuration."}),iH=p.object({description:p.string().meta({description:"A human readable description of the command to run, for example 'install dependencies' or 'run tests'. This description will be used to explain the command to the user."}),command:p.string().meta({description:"The shell command to run, for example 'npm install --save uuid', 'yarn test' or 'npm run build'..."}),timeout:p.number().nullish().meta({description:"Optional timeout in milliseconds (max/default 600000)"})}).meta({title:"BashToolInput"}),oH=p.object({command:p.string().nullish().meta({description:"The PowerShell command to run, for example 'npm install' or 'yarn test'"}),timeout:p.number().nullish().meta({description:"The timeout in milliseconds for the command to run. Choose an appropriate timeout based on the command"}),description:p.string().nullish().meta({description:"A human readable description of the command to run, for example 'install dependencies' or 'run tests'. This description will be used to explain the command to the user."})}).meta({title:"PowerShellToolInput"}),sH=p.object({query:p.string().meta({description:"The question to search on the internet, be specific and concise."})}).meta({title:"WebSearchToolInput"}),aH=p.object({title:p.string().meta({description:"Human readable description of the change or generated code, it's mandatory"}),file_path:p.string().meta({description:pc}),content:p.string().meta({description:"Actual content to write into the file, use an empty string to remove the file"})}).meta({title:"WriteFileInput"}),gH=p.object({title:p.string().meta({description:"Human readable description of the change or generated code, it's mandatory"}),file_path:p.string().meta({description:`${pc} The content of this path must be previously known.`}),old_str:p.string().meta({description:"The text to replace"}),new_str:p.string().meta({description:"The text to replace it with (must be different from old_str)"}),replace_all:p.boolean().optional().meta({description:"Replace all occurences of old_str (default false)"}),apply_with_error:p.boolean().optional()}).meta({title:"SearchReplaceInput"}),uH=p.object({title:p.string().meta({description:"Human readable description of the change or generated code, it's mandatory"}),file_path:p.string().meta({description:`${pc} The content of this path must be previously known.`}),edits:p.array(p.object({old_str:p.string().meta({description:"The text to replace (must match the file contents exactly, including all whitespace and indentation)"}),new_str:p.string().meta({description:"The edited text to replace the old_str"}),replace_all:p.boolean().optional().meta({description:"Replace all occurrences of old_str. This parameter is optional and defaults to false."})})).meta({description:"An array of edit operations to perform, where each edit contains: old_str, new_str, replace_all"}),apply_with_error:p.boolean().nullish()}).meta({title:"MultiSearchReplaceInput"}),cH=p.object({query:p.string(),type:p.enum(["image","video"]),orientation:p.enum(["landscape","portrait","square"]).nullish(),hex_color:p.string().nullish()}).meta({title:"FindMediaToolInput"}),lH=p.object({query:p.string().meta({description:"The text prompt describing the media to find or generate"}),type:p.enum(["image","video","gen-image"]).meta({description:"The type of media: 'image' to search images, 'video' to search videos, or 'gen-image' to generate an AI image"}),orientation:p.enum(["landscape","portrait","square"]).nullish().meta({description:"The orientation/aspect ratio of the media (landscape=wide, portrait=tall, square=1:1)"}),hex_color:p.string().nullish().meta({description:"Optionally use to find images with the predominant specified hex color, for example '#000000' or '#FFFFFF'"}),input_image_urls:p.array(p.string()).nullish().meta({description:'Reference image URLs for AI image generation (only used with type: "gen-image")'})}).meta({title:"MediaToolInput"}),CH=p.object({content:p.string().meta({description:"Markdown content of the memory, keep it factual and to the point. Avoid using line numbers, code snippets as they are likely to change."}),when:p.string().meta({description:"The semantic search query that will be used to retrieve this memory later. Describe the situation, task, or context when this memory should be surfaced."}),category:p.union([p.literal("architecture").meta({description:"System structure, layers, and responsibilities"}),p.literal("data-and-sync").meta({description:"Data storage, persistence, synchronization, IPC, and state flow"}),p.literal("patterns-and-standards").meta({description:"Canonical ways of doing things in this codebase"}),p.literal("coupling-and-duplication").meta({description:"Cross-file, cross-surface, or duplicated logic that must stay aligned"}),p.literal("ui-and-ux-contracts").meta({description:"User-visible behavior, UX guarantees, and UI rules"}),p.literal("concurrency-and-lifecycle").meta({description:"Async behavior, ordering, lifecycle, and race prevention"}),p.literal("invariants").meta({description:"Hard rules that must always remain true"}),p.literal("security-and-trust").meta({description:"Security, permissions, and trust boundaries"}),p.literal("gotchas").meta({description:"Known sharp edges that will break things if ignored"}),p.literal("constraints-and-limits").meta({description:"System limits, assumptions, and non-obvious constraints"}),p.literal("rationale-and-history").meta({description:"Why something is the way it is (tradeoffs, history, intent)"})]).meta({description:"The general category that this memory fits into"}),glob:p.string().optional().meta({description:"Glob pattern for file-based memory retrieval. Use specific paths (e.g., 'src/components/Button.tsx', 'lib/api/**/*.ts') rather than broad patterns (e.g., '*.tsx'). When files matching this glob are read, this memory will be suggested."}),importance:p.number().optional(),glob_auto_include:p.boolean().optional().meta({description:"Whenever the memory should be included whenever the glob is matched."})}).meta({title:"MemoryToolInput"}),IH=p.object({query:p.string(),limit:p.number().optional(),minSimilarity:p.number().optional()}).meta({title:"SearchMemoriesToolInput"}),dH=p.object({outcome:p.enum(["worked","failed","partial","unknown"]).meta({description:"Overall exchange outcome based on user reaction"}),memory_scores:p.object({}).catchall(p.enum(["worked","failed","partial","unknown"])).meta({description:"Score for each memory used: { memory_id: outcome }"})}).meta({title:"ScoreMemoriesToolInput"}),Fd=p.object({label:p.string(),description:p.string()}).meta({title:"LabelOption"}),EH=p.strictObject({label:p.string().meta({description:"The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice."}),description:p.string().meta({description:"Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications."}),preview:p.string().nullish().meta({description:"Optional preview content rendered when this option is focused. Use for mockups, code snippets, or visual comparisons that help users compare options. See the tool description for the expected content format."})}).meta({title:"AskUserQuestionOption"}),pH=p.strictObject({question:p.string().meta({description:'The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"'}),header:p.string().meta({description:'Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".'}),options:p.array(EH).min(2).max(4).meta({description:"The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically."}),multiSelect:p.boolean().optional().meta({description:"Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive."})}).meta({title:"AskUserQuestion"}),BH=p.strictObject({questions:p.array(pH).min(1,"Must have at least 1 question").max(4).meta({description:"Questions to ask the user (1-4 questions)"})}).meta({title:"AskUserQuestionToolInput"}),QH=p.object({description:p.string().meta({description:"A short (3-5 word) description of the task"}),prompt:p.string().meta({description:"The task for the agent to perform"}),subagent_type:p.string().optional().meta({description:"The type of specialized agent to use for this task"}),resume:p.string().optional().meta({description:"Optional agent ID to resume from"}),origin_channel_id:p.string().optional().meta({description:"The original user's channel_id that triggered this work. When provided, it will be included in the worker report so you can route the response back to the correct channel. Always pass this when spawning agents on behalf of a user request."}),attachmentUrls:p.array(p.string()).optional().meta({description:"URLs of images or files to attach to the agent's context. Useful for providing visual context like screenshots, designs, or reference images."})}).meta({title:"AgentToolInput"}),fH=p.object({checkpoint_id:p.string().meta({description:"The checkpoint ID to revert back to. All changes from this checkpoint to HEAD will be reverted."})}).meta({title:"RevertToolInput"}),hH=p.object({}).meta({title:"TodoReadToolInput"}),mH=p.object({}).meta({title:"RunningAgentsToolInput"}),DH=p.object({mode:p.enum(["replace","patch"]).meta({description:"Determine how the new todos update the current list: 'patch' means existing items will remain and only the provided items will be updated. The same 'id' must be provided for items you want to update. 'replace' means all existing items will be replaced with the new array of todos."}),todos:p.array(p.object({content:p.string().meta({description:"The imperative form describing what needs to be done"}),status:p.enum(["pending","in_progress","completed"]),id:p.string()}))}).meta({title:"TodoWriteToolInput"}),yH=p.object({subject:p.string().meta({description:"A brief title for the task"}),description:p.string().meta({description:"What needs to be done"}),metadata:p.looseObject({}).optional()}).meta({title:"TaskCreateToolInput"}),wH=p.object({taskId:p.string().meta({description:"The ID of the task to update"}),subject:p.string().optional().meta({description:"New subject for the task"}),description:p.string().optional().meta({description:"New description for the task"}),status:p.enum(["pending","in_progress","completed","deleted"]).optional().meta({description:"New status for the task"}),owner:p.string().optional().meta({description:"New owner for the task"}),addBlocks:p.array(p.string()).optional().meta({description:"Task IDs that this task blocks"}),addBlockedBy:p.array(p.string()).optional().meta({description:"Task IDs that block this task"}),metadata:p.looseObject({}).optional()}).meta({title:"TaskUpdateToolInput"}),SH=p.object({}).meta({title:"TaskListToolInput"}),FH=p.object({filePath:p.string().meta({description:"The path of the Mitosis file to edit (e.g., index.lite.tsx)"}),old_str:p.string().meta({description:"Content to be replaced, this substring should appear verbatim in the selected file_path"}),new_str:p.string().meta({description:"New content to replace the old content with"})}).meta({title:"BuilderEditToolInput"}),bH=p.object({href:p.string().optional(),selector:p.string().optional(),width:p.number().optional(),height:p.number().optional()}).meta({title:"GetScreenshotToolInput"}),RH=p.object({href:p.string().meta({description:"The URL or relative path to navigate the preview to (e.g., '/about' or 'https://example.com')"})}).meta({title:"NavigatePreviewToolInput"}),vH=p.object({url:p.string().meta({description:"The URL to fetch content from"}),prompt:p.string().optional().meta({description:"Optional prompt to describe the content you want to extract from the URL. Leave it blank to fetch images."}),include_styles:p.boolean().optional().meta({description:"If true, the computed styles of the page will be extracted, as well as a screenshot. Prompt must be provided"})}).meta({title:"WebFetchToolInput"}),xH=p.object({category:p.enum(["reusable_knowledge","one_off","bad_quality"]).optional(),gif_id:p.string().optional(),timeline_id:p.string().optional(),recording_id:p.string().optional(),important_files:p.array(p.object({file_path:p.string().meta({description:"The relative path of the file to read"}),relevance:p.enum(["high","medium","low"]).optional().meta({description:"The relevance of the file based on the initial user_prompt"}),offset:p.number().optional().meta({description:"The offset of the file to read, in lines"}),limit:p.number().optional().meta({description:"The limit of the file to read, in lines"})}))}).meta({title:"ExplorationMetadataToolInput"}),kH=p.object({}).meta({title:"EnterPlanModeToolInput"}),MH=p.object({plan:p.string().meta({description:"The plan you came up with, that you want to run by the user for approval. Supports markdown. The plan should be pretty concise. Do not include follow up questions in the plan."}),handled:p.boolean().optional()}).meta({title:"ExitPlanModeToolInput"}),NH=p.object({uri:p.string().meta({description:"The URI of the resource to read, matching a resource template pattern (e.g., 'file:///path/to/file')"}),serverName:p.string().optional().meta({description:"Optional name of the MCP server to use. If not provided, will auto-detect based on URI."})}).meta({title:"ReadMcpResourceToolInput"}),GH=p.enum(["navigation","interaction","assertion","error","milestone","code-change","observation"]).meta({title:"TimelineEventCategory"}),UH=p.enum(["succeeded","couldnt_verify","failed","other"]).meta({title:"TestOutcome"}),LH=p.enum(["env_issue","creds_missing","needs_user_input","server_not_ready","feature_not_reachable","timeout","assertion_failed","unexpected_error","not_applicable","escalated"]).meta({title:"TestCaseFailureCategory"}),TH=p.object({title:p.string().meta({description:"A descriptive title for this frame (e.g., 'Login page loaded', 'Form submitted successfully')"}),frame:p.literal("last-image").meta({description:"The frame source. Use 'last-image' to record the most recent screenshot."}),category:GH.optional().meta({description:"Category of this frame for timeline organization. Default: 'milestone'"}),description:p.string().optional().meta({description:"Optional longer description providing context about what this frame shows."})}).meta({title:"RecordFrameToolInput"}),PH=p.object({outcome:UH.meta({description:"The structured test outcome"}),summary:p.string().meta({description:"A concise 1\u20132 sentence summary explaining the test outcome"}),details:p.string().optional().meta({description:"Optional additional context: error messages, steps attempted, etc."}),test_case_id:p.string().optional().meta({description:"Links to a test case ID (e.g., 'TC-01'). If present, this is a per-case report. If absent, this is the session-level summary."}),evidence_frame_count:p.number().optional().meta({description:"Number of RecordFrame calls made for this test case. Should be >= 1 for per-case reports."}),failure_category:LH.optional().meta({description:"Structured failure reason. Required when outcome is failed or couldnt_verify."}),failure_detail:p.string().optional().meta({description:"Human-readable failure explanation. E.g., 'Login page returned 403 \u2014 test account may have been disabled'"}),console_errors:p.string().optional(),network_failures:p.string().optional(),steps_attempted:p.string().optional(),urls_tested:p.array(p.string()).optional()}).meta({title:"ReportTestOutcomeToolInput"}),KH=p.object({projectOverview:p.object({framework:p.string().nullable(),packageManager:p.enum(["npm","yarn","pnpm","bun"]).nullable(),isMonorepo:p.boolean(),detectedLanguage:p.enum(["typescript","javascript"]).nullable()}),rootDirectory:p.object({path:p.string(),reason:p.string()}).nullable(),installCommand:p.object({command:p.string(),reason:p.string()}).nullable(),runtimeDependencies:p.array(p.object({tool:p.string(),version:p.string(),source:p.string()})),devServer:p.object({command:p.string(),url:p.string(),port:p.number(),reason:p.string()}).nullable(),environmentVariables:p.array(p.object({key:p.string(),description:p.string(),isRequired:p.boolean(),isSecret:p.boolean(),defaultValue:p.string().nullable(),source:p.string()})),validationScript:p.object({command:p.string(),reason:p.string()}).nullable(),npmrcContents:p.string().nullable(),hasHotModuleReload:p.object({value:p.boolean(),reason:p.string()}).nullable()}).meta({title:"SetupAnalysisValues"}),JH=p.object({config:KH,message:p.string().optional()}).meta({title:"ProposeConfigToolInput"}),HH=p.enum(["installCommand","devServer","validationScript","environmentVariables"]).meta({title:"SetupValueField"}),_H=p.object({field:HH.meta({description:"Which field to update"}),value:p.object({command:p.string().optional().meta({description:"The command to run (for installCommand, devServer, validationScript)"}),url:p.string().optional().meta({description:"Dev server URL (only for devServer)"}),port:p.number().optional().meta({description:"Dev server port (only for devServer)"}),environmentVariables:p.array(p.object({key:p.string().meta({description:"Variable name"}),description:p.string().optional().meta({description:"What this variable is for"}),isRequired:p.boolean().optional().meta({description:"Whether this variable is required"}),isSecret:p.boolean().optional().meta({description:"Whether this is a secret/credential"}),defaultValue:p.string().nullish()})).optional()}),reason:p.string()}).meta({title:"UpdateSetupValueToolInput"}),Ec=p.enum(["verified","no-frontend","empty-project","mobile-project","user-question","code-change-required","other","started","failed"]).meta({title:"ExitState",description:"Current state: verified (all done), no-frontend (project has no dev server), empty-project (project has almost no code), mobile-project (mobile app e.g. Expo/React Native \u2014 recommend desktop local mode), user-question (need input), code-change-required (repo has code issues user must fix), other (other problem), started (Session started but Exit tool was never called (orphaned session)), failed (Session failed before reaching the agent (e.g. branch/container creation failed))"}),OH=p.object({state:Ec.meta({description:"Current state: verified (all done), no-frontend (project has no dev server), empty-project (project has almost no code), mobile-project (mobile app e.g. Expo/React Native), user-question (need input), code-change-required (repo has code issues user must fix), other (other problem)"}),summary:p.string().meta({description:"Brief summary of configuration outcome (what succeeded or what's needed)"}),questions:p.array(p.object({question:p.string().meta({description:"Full question text"}),context:p.string().meta({description:"Why this information is needed"}),header:p.string().optional().meta({description:'Short label (e.g., "API Key", "Database URL")'}),type:p.enum(["select","multi-select","text"]).optional().meta({description:'Question type: "select" for single-choice, "multi-select" for multiple choices, "text" for free-form input. Defaults to "select" if options are present, "text" if not.'}),placeholder:p.string().optional().meta({description:"Placeholder/hint text for 'text' type questions (e.g., 'Enter your API key', 'https://localhost:3000')"}),options:p.array(Fd).optional().meta({description:"Suggested answer choices (for 'select' and 'multi-select' types). User can always choose 'Other'."})})).optional().meta({description:"Questions for user (only when state is 'user-question'). Include suggested options when possible."}),isMonorepo:p.boolean().optional().meta({description:"Repository contains multiple packages/apps"}),isMicrofrontend:p.boolean().optional().meta({description:"Frontend code served over multiple ports/servers"}),setupNeedsCredentials:p.boolean().optional().meta({description:"Setup requires credentials (e.g., NPM_TOKEN for private packages)"}),devServerNeedsCredentials:p.boolean().optional().meta({description:"Dev server needs special environment variables to run"}),needsVPN:p.boolean().optional().meta({description:"Setup requires a VPN connection"}),autoReload:p.boolean().optional().meta({description:"The dev server is able to reload the page automatically when the code changes, either through HMR or full page reload. Usually vite, webpack etc support this."}),usesBuilderCms:p.boolean().optional().meta({description:"The connected app uses Builder CMS (detected via @builder.io/react or @builder.io/sdk-* dependencies, a builder-registry file, or Builder CMS API keys such as BUILDER_PUBLIC_KEY)"}),stack:p.array(p.string()).optional().meta({description:'Technologies used by the connected application (not monorepo-wide). Include specific, high-confidence signals only, e.g. ["React", "Next.js", "Postgres", "Drizzle", "Tailwind CSS", "Clerk"]. Omit vague or uncertain entries.'}),projectDescription:p.string().optional().meta({description:"A human-readable description of what this project is about \u2014 focus on purpose and domain, not technical stack. This helps route user requests to the right project (e.g., 'Company blog and content management', 'E-commerce storefront for selling shoes', 'Internal admin dashboard for managing users')."})}).meta({title:"ExitToolInput"}),YH=["running","stopped","starting","failed","unset"],jH=["not-installed","installing","installed","install-failed","install-aborted"],qH=["ok-2xx","error-4xx","error-5xx","error-fetch","stopped","connecting"],VH=["unset","running","stopped","success","failure"],WH=p.object({question:p.string(),context:p.string(),whatYouTried:p.string().optional(),header:p.string().optional().meta({description:"Short label (e.g., 'API Key', 'Database URL')"}),type:p.enum(["select","multi-select","text"]).optional().meta({description:'Question type: "select" for single-choice, "multi-select" for multiple choices, "text" for free-form input'}),placeholder:p.string().optional().meta({description:"Placeholder text for text-type questions"}),options:p.array(Fd).optional()}),Vw=p.object({key:p.string(),value:p.string(),isSecret:p.boolean(),placeholder:p.boolean().optional().meta({description:"If true, indicates this is a placeholder value that needs user replacement"}),explanation:p.string().optional().meta({description:"Explanation of why this env var is needed and what value the user should provide"})}).meta({title:"EnvironmentVariable"}),Ww=p.object({setupCommand:p.object({value:p.string().optional(),verified:p.boolean().meta({description:"Based on setupState === 'installed'"}),elapsed:p.number().optional().meta({description:"Time taken in milliseconds (if verified)"})}),setupDependencies:p.object({value:p.array(Yw).optional(),verified:p.boolean().meta({description:"Based on setupState === 'installed'"})}),devCommand:p.object({value:p.string().optional(),verified:p.boolean().meta({description:"Based on devState === 'running'"}),elapsed:p.number().optional().meta({description:"Time taken in milliseconds (if verified)"})}),devServer:p.object({value:p.string().optional(),verified:p.boolean().meta({description:"Based on httpServerState === 'ok-2xx'"}),elapsed:p.number().optional().meta({description:"Time taken in milliseconds waiting for the server to respond"})}),validateCommand:p.object({value:p.string().optional(),verified:p.boolean().meta({description:"Based on validateState === 'success'"}),elapsed:p.number().optional().meta({description:"Time taken in milliseconds (if verified)"})}),appOrigin:p.object({value:p.string().optional(),verified:p.boolean().meta({description:"Based on httpServerState === 'ok-2xx'"})}),defaultOrigin:p.object({value:p.string().optional(),verified:p.boolean().meta({description:"Always true if set (used with wildcard appOrigin)"})}),environmentVariables:p.object({value:p.array(Vw).optional(),verified:p.boolean().meta({description:"Based on devState === 'running'"})}),autoDetectDevServer:p.object({value:p.boolean().optional(),verified:p.boolean().meta({description:"Always true if set"})}),autoDetectDevServerPatterns:p.object({value:p.array(p.string()).optional(),verified:p.boolean().meta({description:"Always true if set"})}),hasHotModuleReload:p.object({value:p.boolean().optional(),reason:p.string().optional().meta({description:"Detection-only, not auto-applied"})})}),$w=p.object({setupState:p.enum(jH),devState:p.enum(YH),httpServerState:p.enum(qH),validateState:p.enum(VH)}),Nse=p.object({id:p.string().meta({description:"Auto-generated document ID"}),projectId:p.string(),branchName:p.string(),createdAt:p.number(),updatedAt:p.number(),ownerId:p.string(),state:Ec.meta({description:"Configuration state from Exit tool"}),running:p.boolean().default(!1),previousStates:p.array(Ec).optional(),summary:p.string().meta({description:"Summary from Exit tool"}),questions:p.array(WH).optional(),configuration:Ww,sessionId:p.string(),orchestratorStates:$w,peakDiskUsage:p.number().optional().meta({description:"Peak disk usage in bytes"}),peakMemoryUsage:p.number().optional().meta({description:"Peak memory usage in bytes"}),screenshotUrl:p.string().optional().meta({description:"Screenshot URL from verification (e.g., error page screenshot)"}),isMonorepo:p.boolean().optional(),isMicrofrontend:p.boolean().optional(),setupNeedsCredentials:p.boolean().optional(),devServerNeedsCredentials:p.boolean().optional(),projectDescription:p.string().optional(),cost:p.number().optional(),durationMs:p.number().optional(),needsVPN:p.boolean().optional(),autoReload:p.boolean().optional(),usesBuilderCms:p.boolean().optional(),stack:p.array(p.string()).optional()}).meta({title:"ProposedConfig",description:"Configuration proposed by the configuration agent, stored in Firebase"}),Gse=p.object({projectId:p.string(),branchName:p.string(),state:Ec,summary:p.string(),questions:p.array(p.object({question:p.string(),context:p.string(),whatYouTried:p.string().optional(),header:p.string().optional(),options:p.array(Fd).optional(),multiSelect:p.boolean().optional()})).optional(),configuration:Ww,sessionId:p.string(),orchestratorStates:$w,peakDiskUsage:p.number().optional(),peakMemoryUsage:p.number().optional(),screenshotUrl:p.string().optional(),isMonorepo:p.boolean().optional(),isMicrofrontend:p.boolean().optional(),setupNeedsCredentials:p.boolean().optional(),devServerNeedsCredentials:p.boolean().optional(),needsVPN:p.boolean().optional(),projectDescription:p.string().optional(),autoReload:p.boolean().optional(),usesBuilderCms:p.boolean().optional(),stack:p.array(p.string()).optional()}).meta({title:"ProposeConfigParams"}),$H=p.object({command:p.string().meta({description:"The install command to run (e.g., 'npm install', 'yarn', 'pnpm install'). It can be a multi-line command too, just like a shell script."}),dependencies:p.array(p.object({tool:p.string().meta({description:"The tool/binary to verify (e.g., 'node', 'npm', 'git')"}),version:p.string().optional().meta({description:"Optional version requirement (e.g., '>=18.0.0', '20.x')"})})).optional()}).meta({title:"VerifySetupCommandToolInput"}),zH=p.object({command:p.string().meta({description:"The dev server command to run (e.g., 'npm run dev', 'cd packages/frontend && yarn dev')"})}).meta({title:"VerifyDevCommandToolInput"}),ZH=p.object({autoDetect:p.boolean().meta({description:"Whether to automatically detect the dev server URL from terminal output"}),autoDetectPattern:p.string().optional().meta({description:"Pattern to match and extract URL from terminal output when multiple URLs are present (e.g., 'Local:.*http://localhost:\\\\d+')"}),hardcodedUrl:p.string().optional().meta({description:"The hardcoded dev server URL to use when autoDetect is false (e.g., 'http://localhost:3000')"}),appOrigin:p.string().meta({description:"The origin where the app should be accessed (e.g., 'https://acme.com', 'https://*.acme.com'). Can be a pattern with wildcard."}),defaultOrigin:p.string().optional().meta({description:"Default origin to use when appOrigin is a pattern (e.g., 'https://dev.acme.com'). Required if appOrigin contains a wildcard."})}).meta({title:"VerifyDevServerToolInput"}),XH=p.object({command:p.string(),timeout:p.number().optional().meta({description:"Default: 300000 (5 minutes)"})}).meta({title:"VerifyValidateCommandToolInput"}),e2=p.object({key:p.string().meta({description:"The environment variable name (e.g., 'NODE_ENV', 'API_KEY')"}),value:p.string().meta({description:"The environment variable value. Must be a concrete value, not a placeholder."}),secret:p.boolean().optional().meta({description:"Whether this is a secret value (will be masked in logs). Default: false"})}).meta({title:"ProposeEnvVariableToolInput"}),t2=p.object({key:p.string().meta({description:"The environment variable name (e.g., 'NODE_ENV', 'API_KEY')"}),value:p.string().meta({description:"The environment variable value. Use clear placeholder like 'PLACEHOLDER_DATABASE_URL' if actual value is unknown."}),secret:p.boolean().optional().meta({description:"Whether this is a secret value (will be masked in logs). Default: false"}),placeholder:p.boolean().optional().meta({description:"If true, indicates this is a placeholder value that needs user replacement"}),explanation:p.string().optional().meta({description:"Explanation of why this env var is needed and what value the user should provide"})}).meta({title:"SetEnvVariableToolInput"}),A2=p.object({path:p.string().meta({description:'Path where the file should be written. Supports absolute paths ("/app/.npmrc"), tilde ("~/.npmrc") and paths relative to the project working directory ("./.npmrc"). Use this tool ONLY for configuration-only files that should NOT be committed to the repo (e.g. `.npmrc` with auth tokens, machine-local env files) \u2014 never to patch source code or fix software issues.'}),content:p.string().optional().meta({description:"Plain text content to write to the file. Mutually exclusive with `base64`."}),base64:p.string().optional().meta({description:"Base64-encoded binary content to write to the file. Mutually exclusive with `content`. Use only when the file is genuinely binary."})}).meta({title:"SetFileOverrideToolInput"}),r2=p.object({channel_id:p.string().meta({description:"The channel identifier in URI format (see supported formats in the tool description)"}),markdown:p.string().meta({description:"The message content to send in markdown format"}),status:p.enum(["starting","question","will-follow-up","done:success","done:error"]),loading_message:p.string().optional().meta({description:"Loading message displayed in the Slack thread while the agent is working (only used when status is 'starting')."}),voice_response:p.boolean().optional().meta({description:"When true, send the response as a voice message using text-to-speech. Only supported for Telegram channels. Only set to true when the user's original message was a voice/audio message (look for '[Voice message transcription]' or '[Audio' markers), the channel is Telegram, and the response is short and conversational with no URLs, code, lists, or other content that doesn't translate to audio. Default to false (text) for all text-originated messages."}),from_user_id:p.string().optional().meta({description:"Builder.io user ID this message is from / should be attributed to. Only allowed when channel_id is 'builder/branch/{project_id}/{branch_name}'. When set, the message is delivered to the target branch as coming from this user (role 'user') instead of from the agent. Use whenever the message represents user feedback/intent that should be assigned to someone \u2014 even if it was composed, summarized, or merged from multiple people."})}).meta({title:"SendMessageToolInput"}),n2=p.object({project_id:p.string().meta({description:"The project ID to create the branch in"}),message:p.string().meta({description:"The initial message or task description for the branch. Do NOT include instructions to open or create a PR unless the user's original request explicitly asked for a PR."}),builder_user_id:p.string().optional().meta({description:"Builder.io user ID to act as. When provided, the branch will be created as if this user created it."}),hidden:p.boolean().optional().meta({description:"Whether to hide the branch from the user. Useful for exploratory branches not intended to ever get merged back to main. Default: false."}),origin_channel_id:p.string().optional().meta({description:"The channel identifier that originally triggered this work. Used for tracking purposes and coming back to the original slack thread with updates."}),session_mode:p.enum(["normal","planning","deep-research"]).optional(),model:p.enum(["auto","opus","sonnet","haiku"]).optional(),attachment_urls:p.array(p.string()).optional(),git_base_branch:p.string().optional(),auto_archive_on_idle:p.boolean().optional()}).meta({title:"SpawnBranchToolInput"}),i2=p.object({repo_url:p.string().meta({description:"Repository URL (regular Git URL or template:// URL)"}),name:p.string().optional().meta({description:"Human-readable name for the project. If not provided, a name will be generated from the repo name."}),builder_user_id:p.string().meta({description:"Builder.io user ID to act as. The project and branch will be created as if this user created them, and their git credentials will be validated before creation."}),origin_channel_id:p.string().optional().meta({description:"The channel_id identifier that originally triggered this work. Used for routing status updates back to the user."}),initial_message:p.string().optional().meta({description:"Only valid for template:// URLs \u2014 creates a branch with this message"})}).meta({title:"CreateProjectToolInput"}),o2=p.object({}).meta({title:"GetAvailableReposToolInput"}),s2=p.object({project_id:p.string().meta({description:"The project ID containing the branch"}),branch_name:p.string().meta({description:"The name of the branch to read"})}).meta({title:"ReadBranchToolInput"}),a2=p.object({project_id:p.string().meta({description:"The project ID containing the branch"}),branch_name:p.string().meta({description:"The name of the branch to archive"}),builder_user_id:p.string().meta({description:"The Builder.io user ID of the person requesting the archive. This is used to attribute the archive action to a specific user."}),reason:p.string().optional().meta({description:"The reason for archiving this branch (max 500 chars). Examples: 'Work completed and merged', 'No longer needed', 'Superseded by branch X'."})}).meta({title:"ArchiveBranchToolInput"}),bd=p.enum(["high","medium","low"]).meta({title:"ReviewSeverity"}),g2=p.object({file_path:p.string().meta({description:"Relative file path - MUST be a file that appears in the PR diff"}),line:p.number().meta({description:"Line number in the file (end line for multi-line). MUST be a line within the PR diff"}),start_line:p.number().optional().meta({description:"For multi-line comments (optional)"}),side:p.enum(["LEFT","RIGHT"]).optional().meta({description:"Diff side. RIGHT (default) = NEW file (added/context). LEFT = OLD file (removed/context). Use LEFT only when commenting on deleted code with no semantically related new-side anchor."}),title:p.string().meta({description:"Brief plain-text issue title. MUST NOT start with severity emojis"}),body:p.string().meta({description:"Review comment (1-2 sentences)"}),severity:bd.meta({description:"Issue severity: high (blocking), medium (should fix), or low (minor observation)"}),debugInfo:p.string().optional(),gif_id:p.string().optional().meta({description:"Per-comment GIF (optional)"})}).meta({title:"PRReviewComment"}),u2=p.enum(["looks_good","has_findings","blocking"]).meta({title:"ReviewVerdict"}),c2=p.object({summary:p.string().meta({description:"Your detailed analysis of the changes (displayed in a collapsible 'Review Details' section)"}),comments:p.array(g2).optional(),risk_level:bd.optional(),verdict:u2.optional()}).meta({title:"SubmitPRReviewToolInput"}),l2=p.object({thread_node_ids:p.array(p.string()).meta({description:"GraphQL thread node_ids (PRRT_...) from previous review response"})}).meta({title:"ResolveQACommentsToolInput"}),C2=p.object({title:p.string().meta({description:"Brief summary of the issue (e.g., 'Button click has no effect')"}),description:p.string().meta({description:"Detailed description of what went wrong, what was expected, and what actually happened"}),debugInfo:p.string().optional().meta({description:"Optional console errors, stack traces, or other diagnostic information"})}).meta({title:"ReportUIIssueToolInput"}),I2=p.object({file_path:p.string().meta({description:"File path where the issue occurs (e.g., 'packages/api/src/auth.ts')"}),line:p.number().meta({description:"End line number of the issue range (or single line if no start_line)"}),start_line:p.number().optional().meta({description:"Optional start line for multi-line issues. When provided, the comment spans from start_line to line"}),title:p.string().meta({description:"Short, descriptive title (one line, no markdown)"}),severity:bd.meta({description:"Issue severity: high for critical bugs, medium for should-fix, low for minor observations"}),body:p.string().meta({description:"Detailed explanation in markdown format. Should include: What the issue is, Why it's problematic, Impact, How to fix it, Evidence"})}).meta({title:"ReportIssueToolInput"}),d2=p.object({issue:p.string().meta({description:"What's blocking execution"}),steps_attempted:p.string().meta({description:"What was tried before escalating"}),current_url:p.string().meta({description:"Current browser URL"}),test_case_id:p.string().meta({description:"Which test case is blocked"})}).meta({title:"EscalateToPlanner"}),E2=p.object({}).meta({title:"GetLastBrowserTestToolInput"}),p2=p.object({file_path:p.string().optional().meta({description:"Optional relative or absolute path to filter diagnostics to a single file. Omit to retrieve diagnostics for the entire workspace."})}).meta({title:"IDEDiagnosticsToolInput"}),B2=p.object({url:p.string().meta({description:"The prototype URL (e.g., https://builder.io/app/projects/<projectId>/<branchName>)"}),project_id:p.string().optional().meta({description:"The project ID (optional, parsed from URL if not provided)"}),branch_name:p.string().optional().meta({description:"The branch name (optional, parsed from URL if not provided)"})}).meta({title:"PullPrototypeToolInput"}),Q2=p.object({project_id:p.string().meta({description:"The Builder.io project ID containing the branch"}),branch_name:p.string().meta({description:"The Fusion branch name to push and open a PR for"}),builder_user_id:p.string().optional().meta({description:"Builder.io user ID to attribute the PR to. When provided, the PR body will credit this user and the user must be a member of the organization. Highly recommended when the PR is being opened on behalf of a specific user."}),draft:p.boolean().optional().meta({description:`Whether to create the PR as a draft. When omitted, defaults to the branch's configured commitMode: true for "draft-prs" branches, false for "prs" branches.`})}).meta({title:"EnsurePRToolInput"}),f2=p.object({name:p.string().meta({description:'Human-readable name of the service to connect, e.g. "Jira", "Linear", "Sentry"'}),url:p.string().optional().meta({description:"Remote MCP endpoint URL (e.g. https://mcp.linear.app/mcp). When omitted, the tool discovers known URLs for the named service instead."})}).meta({title:"ConnectMCPToolInput"}),h2=p.object({Read:$J,Write:aH,Edit:gH,ReadRule:eH,Skill:XJ,GetStyleInspiration:tH,GetScreenshot:bH,NavigatePreview:RH,MultiEdit:uH,FindMedia:cH,Media:lH,AddMemory:CH,SearchMemories:IH,ScoreMemories:dH,Bash:iH,PowerShell:oH,WebSearch:sH,AskUserQuestion:BH,Agent:QH,Grep:ZJ,Glob:zJ,DevServerControl:AH,DevServerLogs:rH,DevServerRestart:nH,Revert:fH,TodoRead:hH,TodoWrite:DH,TaskCreate:yH,TaskUpdate:wH,TaskList:SH,BuilderEdit:FH,WebFetch:vH,ExplorationMetadata:xH,EnterPlanMode:kH,ExitPlanMode:MH,ReadMcpResource:NH,RecordFrame:TH,SubmitPRReview:c2,ProposeConfig:JH,UpdateSetupValue:_H,Exit:OH,ResolveQAComments:l2,GetLastBrowserTest:E2,ReportUIIssue:C2,ReportIssue:I2,ReportTestOutcome:PH,VerifySetupCommand:$H,VerifyDevCommand:zH,VerifyDevServer:ZH,VerifyValidateCommand:XH,ProposeEnvVariable:e2,SetEnvVariable:t2,SetFileOverride:A2,SendMessage:r2,SpawnBranch:n2,CreateProject:i2,GetAvailableRepos:o2,ReadBranch:s2,ArchiveBranch:a2,RunningAgents:mH,IDEDiagnostics:p2,EscalateToPlanner:d2,PullPrototype:B2,ConnectMCP:f2,EnsurePR:Q2}),m2=h2.keyof().meta({title:"CodeGenTools"}),zw=p.enum(["planning","normal","auto-planning","deep-research"]).meta({title:"SessionMode"}),D2=p.enum(["quality","quality-v4","quality-v4-agent"]).meta({title:"CodeGenMode"});var y2=["fusion","editor-ai","repo-indexing","cli","create-app-firebase","create-app-lovable","builder-code-panel","setup-project","code-review-orchestrator","project-configuration","org-agent","org-worker","browser-testing","projects-scheduler-memory-extraction","builder-code","unknown","dsi-mcp","design-system-indexer","builder-publish-integration"],jw=p.enum(y2).meta({title:"BaseCodeGenPosition"}),w2=p.union([jw,p.templateLiteral([jw,"-agent"])]).meta({title:"CodeGenPosition"}),S2=p.object({designSystems:p.array(p.string())}).meta({title:"RepoIndexingConfig"}),F2=p.object({name:p.string(),description:p.string().optional(),inputSchema:p.any().optional(),serverName:p.string()}).meta({title:"LocalMCPTools"}),Zw=p.union([p.templateLiteral(["repair-",p.string()]),p.literal("user-normal"),p.literal("user-figma"),p.literal("user-pdf"),p.literal("user-image"),p.literal("setup-agent"),p.templateLiteral(["background-",p.string()]),p.templateLiteral(["indexing-",p.string()])]).meta({title:"CodeGenCategory"}),b2=p.enum(["editCode","modifyMcpServers","modifyProjectSettings","createBranches","sendPullRequests","view"]).meta({title:"UserSourcePermission"}),Bc={role:p.enum(["user","agent"]),principals:p.array(p.string()).optional().meta({description:"teams/roles like ['developer', 'admin']"}),jobs:p.array(p.string()).optional().meta({description:"job titles like ['designer', 'developer'] - used for role-aware communication instead of principals when available"}),permissions:p.array(b2).optional(),channelId:p.string().optional()},Use=p.object(Bc).meta({title:"UserSourceBase"}),R2=p.object({...Bc,source:p.enum(["slack","telegram","whatsapp","teams","jira","linear","github","gitlab","azure","bitbucket"]),userId:p.string().optional().meta({description:"User ID from the external platform (Slack user ID, GitHub user id, etc.)"}),userName:p.string().optional(),userEmail:p.string().optional(),photoURL:p.string().optional(),builderUserId:p.string().optional().meta({description:"Resolved Builder user ID for attribution/credits"}),link:p.string().optional().meta({description:"Optional link (e.g. comment/PR URL) for git provider sources"})}).meta({title:"UserSourceOther"}),v2=p.object({...Bc,source:p.literal("builder.io"),userId:p.string().optional(),userName:p.string().optional(),userEmail:p.string().optional(),photoURL:p.string().optional()}).meta({title:"UserSourceBuilder"}),x2=p.object({...Bc,source:p.literal("agent"),userId:p.string().optional(),userName:p.string().optional(),userEmail:p.string().optional()}).meta({title:"UserSourceAgent"}),Xw=p.discriminatedUnion("source",[R2,v2,x2]).meta({title:"UserSource"}),k2=p.enum(["read","write","list"]).meta({title:"Permission"}),M2=p.object({action:p.enum(["allow","deny"]).meta({description:"whether this rule allows or denies access"}),resource:p.string().meta({description:"what \u2014 supports glob patterns like /files/*.txt"}),permissions:p.array(k2).meta({description:"actions this rule applies to"}),description:p.string().optional().meta({description:"custom message, in deny case, this is the error message. This will override denyDescription on AclPolicy if defined."}),principals:p.array(p.string()).optional().meta({description:"array of teams/roles this rule applies to (e.g., ['developer', 'admin'])"})}).meta({title:"AclEntry"}),N2=p.object({secrets:p.array(p.string()).optional(),entries:p.array(M2).optional(),denyDescription:p.string().optional().meta({description:"Default message to use when a resource is denied access"})}).meta({title:"AclPolicy"}),e0=p.object({text:p.string(),tag:p.string().optional(),ephemeral:p.boolean().optional()}).meta({title:"SystemReminderObj"}),G2=p.union([p.string(),e0]).meta({title:"SystemReminder"}),Lse=p.looseObject({position:w2,eventName:p.string().optional(),sessionId:p.string(),codeGenMode:D2.optional(),sessionMode:zw.optional(),url:p.string().optional(),diffActions:p.boolean().optional(),planningPrompt:p.boolean().optional(),customInstructions:p.array(YJ).optional(),customAgents:p.array(jJ).optional(),systemPromptOverride:p.union([p.string(),p.array(p.string())]).optional(),userPrompt:p.string().optional(),systemReminders:p.array(G2).optional(),ephemeralUserPrompt:p.string().optional(),uiContextPrompt:p.string().optional(),displayUserPrompt:p.string().optional(),files:p.array(OJ).optional(),rerankFiles:p.number().optional(),toolResults:p.array(_w).optional(),attachments:p.array(wd).optional(),beforeCommit:_J.optional(),workingDirectory:p.string().optional(),includeRelevantMemories:p.boolean().optional(),encryptKey:p.string().optional(),modelOverride:p.string().optional(),errorIfHadCompaction:p.boolean().optional(),softContextWindow:p.number().optional(),promptVersion:p.enum(["v1","v2","v3"]).optional(),reasoning:qw.optional(),redactUserMessages:p.boolean().optional(),redactLLMMessages:p.boolean().optional(),environmentVariables:p.array(Vw).optional(),skipCommandSecurity:p.boolean().optional(),builderContent:p.custom().optional(),framework:VJ.optional(),styleLibrary:WJ.optional(),typescript:p.boolean().optional(),userContext:Ow.optional(),aclPolicy:N2.optional(),repoIndexingConfig:S2.optional(),recommendedRoot:p.string().optional(),enabledTools:p.array(m2).optional(),enabledMCPs:p.array(p.string()).optional(),skipFileDiff:p.boolean().optional(),interruptActiveTask:p.boolean().optional().meta({description:"When true, the agent should interrupt its current task to handle this message immediately, rather than finishing the current task first."}),localMCPTools:p.array(F2).optional().meta({description:"Local MCP tool definitions from stdio servers (CLI-side only). These tools will be executed on the client side and passed through from the server."}),isLocal:p.boolean().optional().meta({description:"Indicates whether the codegen is running in local mode (local filesystem) vs cloud/container mode. Used to determine git auto-commit behavior."}),maxAgentLoops:p.number().optional(),maxAgentTiming:p.number().optional(),maxTokens:p.number().optional().meta({description:"Maximum output tokens allowed in the LLM response. This will set the maximum token output for the LLM."}),maxPages:p.number().optional(),autoContinue:p.number().optional(),isManualContinue:p.boolean().optional(),llmSuggestions:p.boolean().optional(),conclusionText:p.boolean().optional(),mcpServers:p.boolean().optional(),pingEvents:p.boolean().optional(),forceCompact:p.boolean().optional(),hadPagination:p.boolean().optional(),category:Zw.optional(),metadata:p.record(p.string(),p.any()).optional(),searchResponse:p.any().nullish(),prettierConfig:p.custom().optional(),role:p.enum(["user","agent"]).optional(),user:Xw.optional(),projectId:p.string().optional(),branchName:p.string().optional(),repoHash:p.string().optional(),repoBranch:p.string().optional(),parentSessionId:p.string().optional().meta({description:"Immediate parent session id when this completion runs inside a sub-agent."}),mainSessionId:p.string().optional().meta({description:"Root session of the agent tree. Sub-agents inherit this from their parent so cost rolls up to the root in one hop, regardless of nesting depth."}),prevId:p.string().optional(),vcpId:p.string().optional(),repair:p.boolean().optional(),systemReminderPrompt:p.string().optional()}).meta({title:"CodeGenInputOptions"}),U2=p.enum(["force-push","merge-push","ff-push","safe-push","none"]).meta({title:"AutoPushMode"}),L2=p.object({remoteBranches:p.enum(["both","main","ai"]).optional(),fastForward:p.enum(["never","required","auto"]).optional(),canPush:p.boolean().optional(),uncommittedChanges:p.enum(["stash","commit","fail"]).optional(),requestRefresh:p.boolean().optional(),allowUnrelatedHistory:p.boolean().optional(),resetToBase:p.boolean().optional().meta({description:"When true, reset the AI branch hard to the remote feature/base branch instead of merging. This gives a clean slate that exactly matches the checked-out feature branch on remote, avoiding any merge-style conflicts or divergence. Fails clearly if the feature/base branch cannot be determined or is absent from the remote."}),updateLastCommits:p.boolean().optional().meta({description:"Whether to update the internal 'last AI commits' baseline after the sync completes. Defaults to `true` for backwards compatibility. Set to `false` when the caller wants `getChangesReport()` to keep diffing from the pre-sync baseline (e.g. so a downstream prompt can see exactly what changed since the last reset/sync)"})}).meta({title:"SyncChangesFromRemote"}),Tse=p.object({idempotencyKey:p.string().optional(),user:Xw.optional(),userPrompt:p.string(),uiContextPrompt:p.string().optional(),ephemeralUserPrompt:p.string().optional(),displayPrompt:p.string().optional(),files:p.array(p.string()).optional(),systemReminders:p.array(e0).optional(),includeBaseFiles:p.boolean().optional(),attachments:p.array(wd).optional(),logsCheckpoint:p.boolean().optional(),dropAbortedPrompt:p.boolean().optional(),runValidateCommand:p.boolean().optional(),modelOverride:p.string().optional(),agentModelOverrides:qJ.optional(),softContextWindow:p.number().optional(),maxCompletions:p.number().optional(),isManualContinue:p.boolean().optional(),includeRelevantMemories:p.boolean().optional(),category:Zw.optional(),metadata:p.record(p.string(),p.any()).optional(),autoPush:U2.optional(),syncChanges:L2.optional(),enabledMCPs:p.array(p.string()).optional(),sessionMode:zw.optional(),queue:p.boolean().optional(),agentType:p.string().optional().meta({description:"Custom agent type to use for this message"}),enableQAReviewTool:p.boolean().optional().meta({description:"Enable AddQAReview tool for QA PR review branches"}),reasoning:qw.optional().meta({description:"Per-message reasoning effort override"}),repair:p.boolean().optional(),forceCompact:p.boolean().optional().meta({description:"Force compaction of the conversation before generating the next completion"})}).meta({title:"GenerateUserMessage"}),Pse=p.object({diff:p.string().meta({description:"Git diff from previous commit"}),userMessages:p.array(p.string()).meta({description:"User messages sent during AI work"}),recentCommits:p.array(p.string()).meta({description:"Last 10 commits from main branch for style reference"}),longCommit:p.boolean().optional().meta({description:"Whether to generate a long commit message"}),projectId:p.string().optional().meta({description:"Project ID for fetching project-specific commit instructions"})}).meta({title:"CommitMessageRequest"}),Kse=p.object({message:p.string().meta({description:"Full commit message"}),title:p.string().meta({description:"First line (50-72 chars) - the commit title"}),body:p.string().optional().meta({description:"Optional extended description"})}).meta({title:"CommitMessageResponse"}),Jse=p.object({sessionId:p.string(),toolId:p.string(),approved:p.boolean(),reason:p.string().optional()}).meta({title:"ModelPermissionResponseRequest"});import{z as t0}from"zod";var Wse=100*1024*1024;var $se=t0.object({projectName:t0.string().trim().min(1).max(200).optional()});var e8=Ft(Yd(),1);var Z_=Ft(Yd(),1);var A8=Ft(lS(),1);var Age=process.platform==="win32"?"C:\\Windows\\System32\\drivers\\etc\\hosts":"/etc/hosts";var HO=Ft(eF(),1);var PO=Ft(uF(),1);import{execFile as KO}from"node:child_process";import{promisify as JO}from"node:util";var vge=fe("VSCodeTunnel");var Pge=JO(KO),cF="/_builder.io",Jge=cF+"/api";var _O=()=>!!process.env.DEBUG_FUSION_PROXY,jge=fe("Proxy",{debug:_O});var qge=new(he("https")).Agent({rejectUnauthorized:!1});function Fn(){}Fn.prototype={diff:function(t,A){var r,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=n.callback;typeof n=="function"&&(i=n,n={}),this.options=n;var o=this;function s(w){return i?(setTimeout(function(){i(void 0,w)},0),!0):w}t=this.castInput(t),A=this.castInput(A),t=this.removeEmpty(this.tokenize(t)),A=this.removeEmpty(this.tokenize(A));var a=A.length,c=t.length,l=1,d=a+c;n.maxEditLength&&(d=Math.min(d,n.maxEditLength));var I=(r=n.timeout)!==null&&r!==void 0?r:1/0,g=Date.now()+I,u=[{oldPos:-1,lastComponent:void 0}],C=this.extractCommon(u[0],A,t,0);if(u[0].oldPos+1>=c&&C+1>=a)return s([{value:this.join(A),count:A.length}]);var E=-1/0,B=1/0;function f(){for(var w=Math.max(E,-l);w<=Math.min(B,l);w+=2){var y=void 0,R=u[w-1],x=u[w+1];R&&(u[w-1]=void 0);var U=!1;if(x){var L=x.oldPos-w;U=x&&0<=L&&L<a}var H=R&&R.oldPos+1<c;if(!U&&!H){u[w]=void 0;continue}if(!H||U&&R.oldPos+1<x.oldPos?y=o.addToPath(x,!0,void 0,0):y=o.addToPath(R,void 0,!0,1),C=o.extractCommon(y,A,t,w),y.oldPos+1>=c&&C+1>=a)return s(WO(o,y.lastComponent,A,t,o.useLongestToken));u[w]=y,y.oldPos+1>=c&&(B=Math.min(B,w-1)),C+1>=a&&(E=Math.max(E,w+1))}l++}if(i)(function w(){setTimeout(function(){if(l>d||Date.now()>g)return i();f()||w()},0)})();else for(;l<=d&&Date.now()<=g;){var m=f();if(m)return m}},addToPath:function(t,A,r,n){var i=t.lastComponent;return i&&i.added===A&&i.removed===r?{oldPos:t.oldPos+n,lastComponent:{count:i.count+1,added:A,removed:r,previousComponent:i.previousComponent}}:{oldPos:t.oldPos+n,lastComponent:{count:1,added:A,removed:r,previousComponent:i}}},extractCommon:function(t,A,r,n){for(var i=A.length,o=r.length,s=t.oldPos,a=s-n,c=0;a+1<i&&s+1<o&&this.equals(A[a+1],r[s+1]);)a++,s++,c++;return c&&(t.lastComponent={count:c,previousComponent:t.lastComponent}),t.oldPos=s,a},equals:function(t,A){return this.options.comparator?this.options.comparator(t,A):t===A||this.options.ignoreCase&&t.toLowerCase()===A.toLowerCase()},removeEmpty:function(t){for(var A=[],r=0;r<t.length;r++)t[r]&&A.push(t[r]);return A},castInput:function(t){return t},tokenize:function(t){return t.split("")},join:function(t){return t.join("")}};function WO(e,t,A,r,n){for(var i=[],o;t;)i.push(t),o=t.previousComponent,delete t.previousComponent,t=o;i.reverse();for(var s=0,a=i.length,c=0,l=0;s<a;s++){var d=i[s];if(d.removed){if(d.value=e.join(r.slice(l,l+d.count)),l+=d.count,s&&i[s-1].added){var g=i[s-1];i[s-1]=i[s],i[s]=g}}else{if(!d.added&&n){var I=A.slice(c,c+d.count);I=I.map(function(C,E){var B=r[l+E];return B.length>C.length?B:C}),d.value=e.join(I)}else d.value=e.join(A.slice(c,c+d.count));c+=d.count,d.added||(l+=d.count)}}var u=i[a-1];return a>1&&typeof u.value=="string"&&(u.added||u.removed)&&e.equals("",u.value)&&(i[a-2].value+=u.value,i.pop()),i}var Bue=new Fn;var IF=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,dF=/\S/,EF=new Fn;EF.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!dF.test(e)&&!dF.test(t)};EF.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),A=0;A<t.length-1;A++)!t[A+1]&&t[A+2]&&IF.test(t[A])&&IF.test(t[A+2])&&(t[A]+=t[A+2],t.splice(A+1,2),A--);return t};var pF=new Fn;pF.tokenize=function(e){this.options.stripTrailingCr&&(e=e.replace(/\r\n/g,`
|
|
1331
|
-
`));var t=[],A=e.split(/(\n|\r\n)/);A[A.length-1]||A.pop();for(var r=0;r<A.length;r++){var n=A[r];r%2&&!this.options.newlineIsToken?t[t.length-1]+=n:(this.options.ignoreWhitespace&&(n=n.trim()),t.push(n))}return t};var $O=new Fn;$O.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var zO=new Fn;zO.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};function Uc(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Uc=function(t){return typeof t}:Uc=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uc(e)}var ZO=Object.prototype.toString,Fa=new Fn;Fa.useLongestToken=!0;Fa.tokenize=pF.tokenize;Fa.castInput=function(e){var t=this.options,A=t.undefinedReplacement,r=t.stringifyReplacer,n=r===void 0?function(i,o){return typeof o>"u"?A:o}:r;return typeof e=="string"?e:JSON.stringify(fE(e,null,null,n),n," ")};Fa.equals=function(e,t){return Fn.prototype.equals.call(Fa,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};function fE(e,t,A,r,n){t=t||[],A=A||[],r&&(e=r(n,e));var i;for(i=0;i<t.length;i+=1)if(t[i]===e)return A[i];var o;if(ZO.call(e)==="[object Array]"){for(t.push(e),o=new Array(e.length),A.push(o),i=0;i<e.length;i+=1)o[i]=fE(e[i],t,A,r,n);return t.pop(),A.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),Uc(e)==="object"&&e!==null){t.push(e),o={},A.push(o);var s=[],a;for(a in e)e.hasOwnProperty(a)&&s.push(a);for(s.sort(),i=0;i<s.length;i+=1)a=s[i],o[a]=fE(e[a],t,A,r,a);t.pop(),A.pop()}else o=e;return o}var hE=new Fn;hE.tokenize=function(e){return e.slice()};hE.join=hE.removeEmpty=function(e){return e};var Sue=fe("GifGenerator");var Mue=fe("TimelineCollector");var Zue=fe("Backup");var mce=fe("TsServer");import Jfe from"chokidar";var Mce=fe("AgentDiscovery");import*as uY from"zod/v3";import*as DE from"zod/v4-mini";import*as h from"zod/v4";var wF="io.modelcontextprotocol/related-task",Tc="2.0",nA=h.custom(e=>e!==null&&(typeof e=="object"||typeof e=="function")),SF=h.union([h.string(),h.number().int()]),FF=h.string(),Kce=h.looseObject({ttl:h.union([h.number(),h.null()]).optional(),pollInterval:h.number().optional()}),cY=h.object({ttl:h.number().optional()}),lY=h.object({taskId:h.string()}),yE=h.looseObject({progressToken:SF.optional(),[wF]:lY.optional()}),zA=h.object({_meta:yE.optional()}),Pc=zA.extend({task:cY.optional()});var iA=h.object({method:h.string(),params:zA.loose().optional()}),cr=h.object({_meta:yE.optional()}),lr=h.object({method:h.string(),params:cr.loose().optional()}),oA=h.looseObject({_meta:yE.optional()}),Kc=h.union([h.string(),h.number().int()]),CY=h.object({jsonrpc:h.literal(Tc),id:Kc,...iA.shape}).strict();var IY=h.object({jsonrpc:h.literal(Tc),...lr.shape}).strict();var bF=h.object({jsonrpc:h.literal(Tc),id:Kc,result:oA}).strict();var ba;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(ba||(ba={}));var RF=h.object({jsonrpc:h.literal(Tc),id:Kc.optional(),error:h.object({code:h.number().int(),message:h.string(),data:h.unknown().optional()})}).strict();var wE=h.union([CY,IY,bF,RF]),Jce=h.union([bF,RF]),SE=oA.strict(),dY=cr.extend({requestId:Kc.optional(),reason:h.string().optional()}),FE=lr.extend({method:h.literal("notifications/cancelled"),params:dY}),EY=h.object({src:h.string(),mimeType:h.string().optional(),sizes:h.array(h.string()).optional(),theme:h.enum(["light","dark"]).optional()}),Ra=h.object({icons:h.array(EY).optional()}),Yo=h.object({name:h.string(),title:h.string().optional()}),vF=Yo.extend({...Yo.shape,...Ra.shape,version:h.string(),websiteUrl:h.string().optional(),description:h.string().optional()}),pY=h.intersection(h.object({applyDefaults:h.boolean().optional()}),h.record(h.string(),h.unknown())),BY=h.preprocess(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,h.intersection(h.object({form:pY.optional(),url:nA.optional()}),h.record(h.string(),h.unknown()).optional())),QY=h.looseObject({list:nA.optional(),cancel:nA.optional(),requests:h.looseObject({sampling:h.looseObject({createMessage:nA.optional()}).optional(),elicitation:h.looseObject({create:nA.optional()}).optional()}).optional()}),fY=h.looseObject({list:nA.optional(),cancel:nA.optional(),requests:h.looseObject({tools:h.looseObject({call:nA.optional()}).optional()}).optional()}),hY=h.object({experimental:h.record(h.string(),nA).optional(),sampling:h.object({context:nA.optional(),tools:nA.optional()}).optional(),elicitation:BY.optional(),roots:h.object({listChanged:h.boolean().optional()}).optional(),tasks:QY.optional()}),mY=zA.extend({protocolVersion:h.string(),capabilities:hY,clientInfo:vF}),DY=iA.extend({method:h.literal("initialize"),params:mY});var yY=h.object({experimental:h.record(h.string(),nA).optional(),logging:nA.optional(),completions:nA.optional(),prompts:h.object({listChanged:h.boolean().optional()}).optional(),resources:h.object({subscribe:h.boolean().optional(),listChanged:h.boolean().optional()}).optional(),tools:h.object({listChanged:h.boolean().optional()}).optional(),tasks:fY.optional()}),xF=oA.extend({protocolVersion:h.string(),capabilities:yY,serverInfo:vF,instructions:h.string().optional()}),wY=lr.extend({method:h.literal("notifications/initialized"),params:cr.optional()});var bE=iA.extend({method:h.literal("ping"),params:zA.optional()}),SY=h.object({progress:h.number(),total:h.optional(h.number()),message:h.optional(h.string())}),FY=h.object({...cr.shape,...SY.shape,progressToken:SF}),RE=lr.extend({method:h.literal("notifications/progress"),params:FY}),bY=zA.extend({cursor:FF.optional()}),va=iA.extend({params:bY.optional()}),xa=oA.extend({nextCursor:FF.optional()}),RY=h.enum(["working","input_required","completed","failed","cancelled"]),ka=h.object({taskId:h.string(),status:RY,ttl:h.union([h.number(),h.null()]),createdAt:h.string(),lastUpdatedAt:h.string(),pollInterval:h.optional(h.number()),statusMessage:h.optional(h.string())}),Jc=oA.extend({task:ka}),vY=cr.merge(ka),vE=lr.extend({method:h.literal("notifications/tasks/status"),params:vY}),xE=iA.extend({method:h.literal("tasks/get"),params:zA.extend({taskId:h.string()})}),kE=oA.merge(ka),ME=iA.extend({method:h.literal("tasks/result"),params:zA.extend({taskId:h.string()})}),Hce=oA.loose(),NE=va.extend({method:h.literal("tasks/list")}),GE=xa.extend({tasks:h.array(ka)}),UE=iA.extend({method:h.literal("tasks/cancel"),params:zA.extend({taskId:h.string()})}),xY=oA.merge(ka),kF=h.object({uri:h.string(),mimeType:h.optional(h.string()),_meta:h.record(h.string(),h.unknown()).optional()}),MF=kF.extend({text:h.string()}),LE=h.string().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),NF=kF.extend({blob:LE}),Ma=h.enum(["user","assistant"]),jo=h.object({audience:h.array(Ma).optional(),priority:h.number().min(0).max(1).optional(),lastModified:h.iso.datetime({offset:!0}).optional()}),GF=h.object({...Yo.shape,...Ra.shape,uri:h.string(),description:h.optional(h.string()),mimeType:h.optional(h.string()),annotations:jo.optional(),_meta:h.optional(h.looseObject({}))}),kY=h.object({...Yo.shape,...Ra.shape,uriTemplate:h.string(),description:h.optional(h.string()),mimeType:h.optional(h.string()),annotations:jo.optional(),_meta:h.optional(h.looseObject({}))}),MY=va.extend({method:h.literal("resources/list")}),UF=xa.extend({resources:h.array(GF)}),NY=va.extend({method:h.literal("resources/templates/list")}),LF=xa.extend({resourceTemplates:h.array(kY)}),TE=zA.extend({uri:h.string()}),GY=TE,UY=iA.extend({method:h.literal("resources/read"),params:GY}),TF=oA.extend({contents:h.array(h.union([MF,NF]))}),PF=lr.extend({method:h.literal("notifications/resources/list_changed"),params:cr.optional()}),LY=TE,TY=iA.extend({method:h.literal("resources/subscribe"),params:LY}),PY=TE,KY=iA.extend({method:h.literal("resources/unsubscribe"),params:PY}),JY=cr.extend({uri:h.string()}),HY=lr.extend({method:h.literal("notifications/resources/updated"),params:JY}),_Y=h.object({name:h.string(),description:h.optional(h.string()),required:h.optional(h.boolean())}),OY=h.object({...Yo.shape,...Ra.shape,description:h.optional(h.string()),arguments:h.optional(h.array(_Y)),_meta:h.optional(h.looseObject({}))}),YY=va.extend({method:h.literal("prompts/list")}),KF=xa.extend({prompts:h.array(OY)}),jY=zA.extend({name:h.string(),arguments:h.record(h.string(),h.string()).optional()}),qY=iA.extend({method:h.literal("prompts/get"),params:jY}),PE=h.object({type:h.literal("text"),text:h.string(),annotations:jo.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),KE=h.object({type:h.literal("image"),data:LE,mimeType:h.string(),annotations:jo.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),JE=h.object({type:h.literal("audio"),data:LE,mimeType:h.string(),annotations:jo.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),VY=h.object({type:h.literal("tool_use"),name:h.string(),id:h.string(),input:h.record(h.string(),h.unknown()),_meta:h.record(h.string(),h.unknown()).optional()}),WY=h.object({type:h.literal("resource"),resource:h.union([MF,NF]),annotations:jo.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),$Y=GF.extend({type:h.literal("resource_link")}),HE=h.union([PE,KE,JE,$Y,WY]),zY=h.object({role:Ma,content:HE}),JF=oA.extend({description:h.string().optional(),messages:h.array(zY)}),HF=lr.extend({method:h.literal("notifications/prompts/list_changed"),params:cr.optional()}),ZY=h.object({title:h.string().optional(),readOnlyHint:h.boolean().optional(),destructiveHint:h.boolean().optional(),idempotentHint:h.boolean().optional(),openWorldHint:h.boolean().optional()}),XY=h.object({taskSupport:h.enum(["required","optional","forbidden"]).optional()}),_F=h.object({...Yo.shape,...Ra.shape,description:h.string().optional(),inputSchema:h.object({type:h.literal("object"),properties:h.record(h.string(),nA).optional(),required:h.array(h.string()).optional()}).catchall(h.unknown()),outputSchema:h.object({type:h.literal("object"),properties:h.record(h.string(),nA).optional(),required:h.array(h.string()).optional()}).catchall(h.unknown()).optional(),annotations:ZY.optional(),execution:XY.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),e3=va.extend({method:h.literal("tools/list")}),OF=xa.extend({tools:h.array(_F)}),Hc=oA.extend({content:h.array(HE).default([]),structuredContent:h.record(h.string(),h.unknown()).optional(),isError:h.boolean().optional()}),_ce=Hc.or(oA.extend({toolResult:h.unknown()})),t3=Pc.extend({name:h.string(),arguments:h.record(h.string(),h.unknown()).optional()}),A3=iA.extend({method:h.literal("tools/call"),params:t3}),YF=lr.extend({method:h.literal("notifications/tools/list_changed"),params:cr.optional()}),r3=h.object({autoRefresh:h.boolean().default(!0),debounceMs:h.number().int().nonnegative().default(300)}),jF=h.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),n3=zA.extend({level:jF}),i3=iA.extend({method:h.literal("logging/setLevel"),params:n3}),o3=cr.extend({level:jF,logger:h.string().optional(),data:h.unknown()}),s3=lr.extend({method:h.literal("notifications/message"),params:o3}),a3=h.object({name:h.string().optional()}),g3=h.object({hints:h.array(a3).optional(),costPriority:h.number().min(0).max(1).optional(),speedPriority:h.number().min(0).max(1).optional(),intelligencePriority:h.number().min(0).max(1).optional()}),u3=h.object({mode:h.enum(["auto","required","none"]).optional()}),c3=h.object({type:h.literal("tool_result"),toolUseId:h.string().describe("The unique identifier for the corresponding tool call."),content:h.array(HE).default([]),structuredContent:h.object({}).loose().optional(),isError:h.boolean().optional(),_meta:h.record(h.string(),h.unknown()).optional()}),l3=h.discriminatedUnion("type",[PE,KE,JE]),Lc=h.discriminatedUnion("type",[PE,KE,JE,VY,c3]),C3=h.object({role:Ma,content:h.union([Lc,h.array(Lc)]),_meta:h.record(h.string(),h.unknown()).optional()}),I3=Pc.extend({messages:h.array(C3),modelPreferences:g3.optional(),systemPrompt:h.string().optional(),includeContext:h.enum(["none","thisServer","allServers"]).optional(),temperature:h.number().optional(),maxTokens:h.number().int(),stopSequences:h.array(h.string()).optional(),metadata:nA.optional(),tools:h.array(_F).optional(),toolChoice:u3.optional()}),qF=iA.extend({method:h.literal("sampling/createMessage"),params:I3}),VF=oA.extend({model:h.string(),stopReason:h.optional(h.enum(["endTurn","stopSequence","maxTokens"]).or(h.string())),role:Ma,content:l3}),WF=oA.extend({model:h.string(),stopReason:h.optional(h.enum(["endTurn","stopSequence","maxTokens","toolUse"]).or(h.string())),role:Ma,content:h.union([Lc,h.array(Lc)])}),d3=h.object({type:h.literal("boolean"),title:h.string().optional(),description:h.string().optional(),default:h.boolean().optional()}),E3=h.object({type:h.literal("string"),title:h.string().optional(),description:h.string().optional(),minLength:h.number().optional(),maxLength:h.number().optional(),format:h.enum(["email","uri","date","date-time"]).optional(),default:h.string().optional()}),p3=h.object({type:h.enum(["number","integer"]),title:h.string().optional(),description:h.string().optional(),minimum:h.number().optional(),maximum:h.number().optional(),default:h.number().optional()}),B3=h.object({type:h.literal("string"),title:h.string().optional(),description:h.string().optional(),enum:h.array(h.string()),default:h.string().optional()}),Q3=h.object({type:h.literal("string"),title:h.string().optional(),description:h.string().optional(),oneOf:h.array(h.object({const:h.string(),title:h.string()})),default:h.string().optional()}),f3=h.object({type:h.literal("string"),title:h.string().optional(),description:h.string().optional(),enum:h.array(h.string()),enumNames:h.array(h.string()).optional(),default:h.string().optional()}),h3=h.union([B3,Q3]),m3=h.object({type:h.literal("array"),title:h.string().optional(),description:h.string().optional(),minItems:h.number().optional(),maxItems:h.number().optional(),items:h.object({type:h.literal("string"),enum:h.array(h.string())}),default:h.array(h.string()).optional()}),D3=h.object({type:h.literal("array"),title:h.string().optional(),description:h.string().optional(),minItems:h.number().optional(),maxItems:h.number().optional(),items:h.object({anyOf:h.array(h.object({const:h.string(),title:h.string()}))}),default:h.array(h.string()).optional()}),y3=h.union([m3,D3]),w3=h.union([f3,h3,y3]),S3=h.union([w3,d3,E3,p3]),F3=Pc.extend({mode:h.literal("form").optional(),message:h.string(),requestedSchema:h.object({type:h.literal("object"),properties:h.record(h.string(),S3),required:h.array(h.string()).optional()})}),b3=Pc.extend({mode:h.literal("url"),message:h.string(),elicitationId:h.string(),url:h.string().url()}),R3=h.union([F3,b3]),$F=iA.extend({method:h.literal("elicitation/create"),params:R3}),v3=cr.extend({elicitationId:h.string()}),x3=lr.extend({method:h.literal("notifications/elicitation/complete"),params:v3}),zF=oA.extend({action:h.enum(["accept","decline","cancel"]),content:h.preprocess(e=>e===null?void 0:e,h.record(h.string(),h.union([h.string(),h.number(),h.boolean(),h.array(h.string())])).optional())}),k3=h.object({type:h.literal("ref/resource"),uri:h.string()});var M3=h.object({type:h.literal("ref/prompt"),name:h.string()}),N3=zA.extend({ref:h.union([M3,k3]),argument:h.object({name:h.string(),value:h.string()}),context:h.object({arguments:h.record(h.string(),h.string()).optional()}).optional()}),G3=iA.extend({method:h.literal("completion/complete"),params:N3});var ZF=oA.extend({completion:h.looseObject({values:h.array(h.string()).max(100),total:h.optional(h.number().int()),hasMore:h.optional(h.boolean())})}),U3=h.object({uri:h.string().startsWith("file://"),name:h.string().optional(),_meta:h.record(h.string(),h.unknown()).optional()}),L3=iA.extend({method:h.literal("roots/list"),params:zA.optional()}),T3=oA.extend({roots:h.array(U3)}),P3=lr.extend({method:h.literal("notifications/roots/list_changed"),params:cr.optional()}),Oce=h.union([bE,DY,G3,i3,qY,YY,MY,NY,UY,TY,KY,A3,e3,xE,ME,NE,UE]),Yce=h.union([FE,RE,wY,P3,vE]),jce=h.union([SE,VF,WF,zF,T3,kE,GE,Jc]),qce=h.union([bE,qF,$F,L3,xE,ME,NE,UE]),Vce=h.union([FE,RE,s3,HY,PF,YF,HF,vE,x3]),Wce=h.union([SE,xF,ZF,JF,KF,UF,LF,TF,Hc,OF,kE,GE,Jc]);import*as q3 from"zod/v4-mini";import{ZodFirstPartyTypeKind as WCe}from"zod/v3";import{ZodFirstPartyTypeKind as sle}from"zod/v3";import{ZodFirstPartyTypeKind as Mle}from"zod/v3";var vle=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var KW=Ft(Kv(),1);var I$=Ft(bx(),1);import d$ from"node:process";var Ppe=d$.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];var E$;E$=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then(e=>e.webcrypto);import*as K from"zod/v4";var uA=K.url().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:K.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),K.NEVER}).refine(e=>{let t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),p$=K.looseObject({resource:K.string().url(),authorization_servers:K.array(uA).optional(),jwks_uri:K.string().url().optional(),scopes_supported:K.array(K.string()).optional(),bearer_methods_supported:K.array(K.string()).optional(),resource_signing_alg_values_supported:K.array(K.string()).optional(),resource_name:K.string().optional(),resource_documentation:K.string().optional(),resource_policy_uri:K.string().url().optional(),resource_tos_uri:K.string().url().optional(),tls_client_certificate_bound_access_tokens:K.boolean().optional(),authorization_details_types_supported:K.array(K.string()).optional(),dpop_signing_alg_values_supported:K.array(K.string()).optional(),dpop_bound_access_tokens_required:K.boolean().optional()}),vx=K.looseObject({issuer:K.string(),authorization_endpoint:uA,token_endpoint:uA,registration_endpoint:uA.optional(),scopes_supported:K.array(K.string()).optional(),response_types_supported:K.array(K.string()),response_modes_supported:K.array(K.string()).optional(),grant_types_supported:K.array(K.string()).optional(),token_endpoint_auth_methods_supported:K.array(K.string()).optional(),token_endpoint_auth_signing_alg_values_supported:K.array(K.string()).optional(),service_documentation:uA.optional(),revocation_endpoint:uA.optional(),revocation_endpoint_auth_methods_supported:K.array(K.string()).optional(),revocation_endpoint_auth_signing_alg_values_supported:K.array(K.string()).optional(),introspection_endpoint:K.string().optional(),introspection_endpoint_auth_methods_supported:K.array(K.string()).optional(),introspection_endpoint_auth_signing_alg_values_supported:K.array(K.string()).optional(),code_challenge_methods_supported:K.array(K.string()).optional(),client_id_metadata_document_supported:K.boolean().optional()}),B$=K.looseObject({issuer:K.string(),authorization_endpoint:uA,token_endpoint:uA,userinfo_endpoint:uA.optional(),jwks_uri:uA,registration_endpoint:uA.optional(),scopes_supported:K.array(K.string()).optional(),response_types_supported:K.array(K.string()),response_modes_supported:K.array(K.string()).optional(),grant_types_supported:K.array(K.string()).optional(),acr_values_supported:K.array(K.string()).optional(),subject_types_supported:K.array(K.string()),id_token_signing_alg_values_supported:K.array(K.string()),id_token_encryption_alg_values_supported:K.array(K.string()).optional(),id_token_encryption_enc_values_supported:K.array(K.string()).optional(),userinfo_signing_alg_values_supported:K.array(K.string()).optional(),userinfo_encryption_alg_values_supported:K.array(K.string()).optional(),userinfo_encryption_enc_values_supported:K.array(K.string()).optional(),request_object_signing_alg_values_supported:K.array(K.string()).optional(),request_object_encryption_alg_values_supported:K.array(K.string()).optional(),request_object_encryption_enc_values_supported:K.array(K.string()).optional(),token_endpoint_auth_methods_supported:K.array(K.string()).optional(),token_endpoint_auth_signing_alg_values_supported:K.array(K.string()).optional(),display_values_supported:K.array(K.string()).optional(),claim_types_supported:K.array(K.string()).optional(),claims_supported:K.array(K.string()).optional(),service_documentation:K.string().optional(),claims_locales_supported:K.array(K.string()).optional(),ui_locales_supported:K.array(K.string()).optional(),claims_parameter_supported:K.boolean().optional(),request_parameter_supported:K.boolean().optional(),request_uri_parameter_supported:K.boolean().optional(),require_request_uri_registration:K.boolean().optional(),op_policy_uri:uA.optional(),op_tos_uri:uA.optional(),client_id_metadata_document_supported:K.boolean().optional()}),Q$=K.object({...B$.shape,...vx.pick({code_challenge_methods_supported:!0}).shape}),f$=K.object({access_token:K.string(),id_token:K.string().optional(),token_type:K.string(),expires_in:K.coerce.number().optional(),scope:K.string().optional(),refresh_token:K.string().optional()}).strip(),h$=K.object({error:K.string(),error_description:K.string().optional(),error_uri:K.string().optional()}),Rx=uA.optional().or(K.literal("").transform(()=>{})),m$=K.object({redirect_uris:K.array(uA),token_endpoint_auth_method:K.string().optional(),grant_types:K.array(K.string()).optional(),response_types:K.array(K.string()).optional(),client_name:K.string().optional(),client_uri:uA.optional(),logo_uri:Rx,scope:K.string().optional(),contacts:K.array(K.string()).optional(),tos_uri:Rx,policy_uri:K.string().optional(),jwks_uri:uA.optional(),jwks:K.any().optional(),software_id:K.string().optional(),software_version:K.string().optional(),software_statement:K.string().optional()}).strip(),D$=K.object({client_id:K.string(),client_secret:K.string().optional(),client_id_issued_at:K.number().optional(),client_secret_expires_at:K.number().optional()}).strip(),y$=m$.merge(D$),_pe=K.object({error:K.string(),error_description:K.string().optional()}).strip(),Ope=K.object({token:K.string(),token_type_hint:K.string().optional()}).strip();var Pt=class extends Error{constructor(t,A){super(t),this.errorUri=A,this.name=this.constructor.name}toResponseObject(){let t={error:this.errorCode,error_description:this.message};return this.errorUri&&(t.error_uri=this.errorUri),t}get errorCode(){return this.constructor.errorCode}},ug=class extends Pt{};ug.errorCode="invalid_request";var ls=class extends Pt{};ls.errorCode="invalid_client";var Cs=class extends Pt{};Cs.errorCode="invalid_grant";var Is=class extends Pt{};Is.errorCode="unauthorized_client";var cg=class extends Pt{};cg.errorCode="unsupported_grant_type";var lg=class extends Pt{};lg.errorCode="invalid_scope";var Cg=class extends Pt{};Cg.errorCode="access_denied";var ds=class extends Pt{};ds.errorCode="server_error";var Ig=class extends Pt{};Ig.errorCode="temporarily_unavailable";var dg=class extends Pt{};dg.errorCode="unsupported_response_type";var Eg=class extends Pt{};Eg.errorCode="unsupported_token_type";var pg=class extends Pt{};pg.errorCode="invalid_token";var Bg=class extends Pt{};Bg.errorCode="method_not_allowed";var Qg=class extends Pt{};Qg.errorCode="too_many_requests";var Es=class extends Pt{};Es.errorCode="invalid_client_metadata";var fg=class extends Pt{};fg.errorCode="insufficient_scope";var hg=class extends Pt{};hg.errorCode="invalid_target";var w$={[ug.errorCode]:ug,[ls.errorCode]:ls,[Cs.errorCode]:Cs,[Is.errorCode]:Is,[cg.errorCode]:cg,[lg.errorCode]:lg,[Cg.errorCode]:Cg,[ds.errorCode]:ds,[Ig.errorCode]:Ig,[dg.errorCode]:dg,[Eg.errorCode]:Eg,[pg.errorCode]:pg,[Bg.errorCode]:Bg,[Qg.errorCode]:Qg,[Es.errorCode]:Es,[fg.errorCode]:fg,[hg.errorCode]:hg};import*as V$ from"@sentry/node";var W$=Ft(Gx(),1);var MBe=fe("MCP",{debug:()=>!!(process.env.DEBUG||process.env.FUSION_DEBUG==="true")});var $$=()=>{if(typeof globalThis<"u"&&globalThis.crypto)return globalThis.crypto;if(typeof he<"u")try{let e=he("crypto");if(e.webcrypto)return e.webcrypto}catch{}throw new Error("Web Crypto API is not available. Requires Node.js 15+ or a browser environment.")},PBe=$$();var YB=(e,t,A)=>{let r=e instanceof RegExp?Ux(e,A):e,n=t instanceof RegExp?Ux(t,A):t,i=r!==null&&n!=null&&z$(r,n,A);return i&&{start:i[0],end:i[1],pre:A.slice(0,i[0]),body:A.slice(i[0]+r.length,i[1]),post:A.slice(i[1]+n.length)}},Ux=(e,t)=>{let A=t.match(e);return A?A[0]:null},z$=(e,t,A)=>{let r,n,i,o,s,a=A.indexOf(e),c=A.indexOf(t,a+1),l=a;if(a>=0&&c>0){if(e===t)return[a,c];for(r=[],i=A.length;l>=0&&!s;){if(l===a)r.push(l),a=A.indexOf(e,l+1);else if(r.length===1){let d=r.pop();d!==void 0&&(s=[d,c])}else n=r.pop(),n!==void 0&&n<i&&(i=n,o=c),c=A.indexOf(t,l+1);l=a<c&&a>=0?a:c}r.length&&o!==void 0&&(s=[i,o])}return s};var Lx="\0SLASH"+Math.random()+"\0",Tx="\0OPEN"+Math.random()+"\0",qB="\0CLOSE"+Math.random()+"\0",Px="\0COMMA"+Math.random()+"\0",Kx="\0PERIOD"+Math.random()+"\0",Z$=new RegExp(Lx,"g"),X$=new RegExp(Tx,"g"),e5=new RegExp(qB,"g"),t5=new RegExp(Px,"g"),A5=new RegExp(Kx,"g"),r5=/\\\\/g,n5=/\\{/g,i5=/\\}/g,o5=/\\,/g,s5=/\\\./g,a5=1e5;function jB(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function g5(e){return e.replace(r5,Lx).replace(n5,Tx).replace(i5,qB).replace(o5,Px).replace(s5,Kx)}function u5(e){return e.replace(Z$,"\\").replace(X$,"{").replace(e5,"}").replace(t5,",").replace(A5,".")}function Jx(e){if(!e)return[""];let t=[],A=YB("{","}",e);if(!A)return e.split(",");let{pre:r,body:n,post:i}=A,o=r.split(",");o[o.length-1]+="{"+n+"}";let s=Jx(i);return i.length&&(o[o.length-1]+=s.shift(),o.push.apply(o,s)),t.push.apply(t,o),t}function Hx(e,t={}){if(!e)return[];let{max:A=a5}=t;return e.slice(0,2)==="{}"&&(e="\\{\\}"+e.slice(2)),mg(g5(e),A,!0).map(u5)}function c5(e){return"{"+e+"}"}function l5(e){return/^-?0\d/.test(e)}function C5(e,t){return e<=t}function I5(e,t){return e>=t}function mg(e,t,A){let r=[],n=YB("{","}",e);if(!n)return[e];let i=n.pre,o=n.post.length?mg(n.post,t,!1):[""];if(/\$$/.test(n.pre))for(let s=0;s<o.length&&s<t;s++){let a=i+"{"+n.body+"}"+o[s];r.push(a)}else{let s=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(n.body),a=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(n.body),c=s||a,l=n.body.indexOf(",")>=0;if(!c&&!l)return n.post.match(/,(?!,).*\}/)?(e=n.pre+"{"+n.body+qB+n.post,mg(e,t,!0)):[e];let d;if(c)d=n.body.split(/\.\./);else if(d=Jx(n.body),d.length===1&&d[0]!==void 0&&(d=mg(d[0],t,!1).map(c5),d.length===1))return o.map(g=>n.pre+d[0]+g);let I;if(c&&d[0]!==void 0&&d[1]!==void 0){let g=jB(d[0]),u=jB(d[1]),C=Math.max(d[0].length,d[1].length),E=d.length===3&&d[2]!==void 0?Math.abs(jB(d[2])):1,B=C5;u<g&&(E*=-1,B=I5);let m=d.some(l5);I=[];for(let w=g;B(w,u);w+=E){let y;if(a)y=String.fromCharCode(w),y==="\\"&&(y="");else if(y=String(w),m){let R=C-y.length;if(R>0){let x=new Array(R+1).join("0");w<0?y="-"+x+y.slice(1):y=x+y}}I.push(y)}}else{I=[];for(let g=0;g<d.length;g++)I.push.apply(I,mg(d[g],t,!1))}for(let g=0;g<I.length;g++)for(let u=0;u<o.length&&r.length<t;u++){let C=i+I[g]+o[u];(!A||c||C)&&r.push(C)}}return r}var Dg=e=>{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")};var d5={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},yg=e=>e.replace(/[[\]\\-]/g,"\\$&"),E5=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),_x=e=>e.join(""),Ox=(e,t)=>{let A=t;if(e.charAt(A)!=="[")throw new Error("not in a brace expression");let r=[],n=[],i=A+1,o=!1,s=!1,a=!1,c=!1,l=A,d="";e:for(;i<e.length;){let C=e.charAt(i);if((C==="!"||C==="^")&&i===A+1){c=!0,i++;continue}if(C==="]"&&o&&!a){l=i+1;break}if(o=!0,C==="\\"&&!a){a=!0,i++;continue}if(C==="["&&!a){for(let[E,[B,f,m]]of Object.entries(d5))if(e.startsWith(E,i)){if(d)return["$.",!1,e.length-A,!0];i+=E.length,m?n.push(B):r.push(B),s=s||f;continue e}}if(a=!1,d){C>d?r.push(yg(d)+"-"+yg(C)):C===d&&r.push(yg(C)),d="",i++;continue}if(e.startsWith("-]",i+1)){r.push(yg(C+"-")),i+=2;continue}if(e.startsWith("-",i+1)){d=C,i+=2;continue}r.push(yg(C)),i++}if(l<i)return["",!1,0,!1];if(!r.length&&!n.length)return["$.",!1,e.length-A,!0];if(n.length===0&&r.length===1&&/^\\?.$/.test(r[0])&&!c){let C=r[0].length===2?r[0].slice(-1):r[0];return[E5(C),!1,l-A,!1]}let I="["+(c?"^":"")+_x(r)+"]",g="["+(c?"":"^")+_x(n)+"]";return[r.length&&n.length?"("+I+"|"+g+")":r.length?I:g,s,l-A,!0]};var oi=(e,{windowsPathsNoEscape:t=!1,magicalBraces:A=!0}={})=>A?t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"):t?e.replace(/\[([^\/\\{}])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1");var KA,p5=new Set(["!","?","+","*","@"]),VB=e=>p5.has(e),Yx=e=>VB(e.type),B5=new Map([["!",["@"]],["?",["?","@"]],["@",["@"]],["*",["*","+","?","@"]],["+",["+","@"]]]),Q5=new Map([["!",["?"]],["@",["?"]],["+",["?","*"]]]),f5=new Map([["!",["?","@"]],["?",["?","@"]],["@",["?","@"]],["*",["*","+","?","@"]],["+",["+","@","?","*"]]]),jx=new Map([["!",new Map([["!","@"]])],["?",new Map([["*","*"],["+","*"]])],["@",new Map([["!","!"],["?","?"],["@","@"],["*","*"],["+","+"]])],["+",new Map([["?","*"],["*","*"]])]]),h5="(?!(?:^|/)\\.\\.?(?:$|/))",Sl="(?!\\.)",m5=new Set(["[","."]),D5=new Set(["..","."]),y5=new Set("().*{}+?[]^$\\!"),w5=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),ZB="[^/]",qx=ZB+"*?",Vx=ZB+"+?",S5=0,Kt,Xt,Gn,we,wt,si,Vi,ai,gn,un,ps,it,Wx,ui,Fl,$x,WB,bl,zx,$B,Zx,Xx,ek,Rl,zB,tk,gi=class{constructor(t,A,r={}){kt(this,it);Fe(this,"type");kt(this,Kt);kt(this,Xt);kt(this,Gn,!1);kt(this,we,[]);kt(this,wt);kt(this,si);kt(this,Vi);kt(this,ai,!1);kt(this,gn);kt(this,un);kt(this,ps,!1);Fe(this,"id",++S5);this.type=t,t&&At(this,Xt,!0),At(this,wt,A),At(this,Kt,$(this,wt)?$($(this,wt),Kt):this),At(this,gn,$(this,Kt)===this?r:$($(this,Kt),gn)),At(this,Vi,$(this,Kt)===this?[]:$($(this,Kt),Vi)),t==="!"&&!$($(this,Kt),ai)&&$(this,Vi).push(this),At(this,si,$(this,wt)?$($(this,wt),we).length:0)}get depth(){return($(this,wt)?.depth??-1)+1}[Symbol.for("nodejs.util.inspect.custom")](){return{"@@type":"AST",id:this.id,type:this.type,root:$(this,Kt).id,parent:$(this,wt)?.id,depth:this.depth,partsLength:$(this,we).length,parts:$(this,we)}}get hasMagic(){if($(this,Xt)!==void 0)return $(this,Xt);for(let t of $(this,we))if(typeof t!="string"&&(t.type||t.hasMagic))return At(this,Xt,!0);return $(this,Xt)}toString(){return $(this,un)!==void 0?$(this,un):this.type?At(this,un,this.type+"("+$(this,we).map(t=>String(t)).join("|")+")"):At(this,un,$(this,we).map(t=>String(t)).join(""))}push(...t){for(let A of t)if(A!==""){if(typeof A!="string"&&!(A instanceof KA&&$(A,wt)===this))throw new Error("invalid part: "+A);$(this,we).push(A)}}toJSON(){let t=this.type===null?$(this,we).slice().map(A=>typeof A=="string"?A:A.toJSON()):[this.type,...$(this,we).map(A=>A.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===$(this,Kt)||$($(this,Kt),ai)&&$(this,wt)?.type==="!")&&t.push({}),t}isStart(){if($(this,Kt)===this)return!0;if(!$(this,wt)?.isStart())return!1;if($(this,si)===0)return!0;let t=$(this,wt);for(let A=0;A<$(this,si);A++){let r=$(t,we)[A];if(!(r instanceof KA&&r.type==="!"))return!1}return!0}isEnd(){if($(this,Kt)===this||$(this,wt)?.type==="!")return!0;if(!$(this,wt)?.isEnd())return!1;if(!this.type)return $(this,wt)?.isEnd();let t=$(this,wt)?$($(this,wt),we).length:0;return $(this,si)===t-1}copyIn(t){typeof t=="string"?this.push(t):this.push(t.clone(this))}clone(t){let A=new KA(this.type,t);for(let r of $(this,we))A.copyIn(r);return A}static fromGlob(t,A={}){var n;let r=new KA(null,void 0,A);return Je(n=KA,ui,Fl).call(n,t,r,0,A,0),r}toMMPattern(){if(this!==$(this,Kt))return $(this,Kt).toMMPattern();let t=this.toString(),[A,r,n,i]=this.toRegExpSource();if(!(n||$(this,Xt)||$(this,gn).nocase&&!$(this,gn).nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return r;let s=($(this,gn).nocase?"i":"")+(i?"u":"");return Object.assign(new RegExp(`^${A}$`,s),{_src:A,_glob:t})}get options(){return $(this,gn)}toRegExpSource(t){let A=t??!!$(this,gn).dot;if($(this,Kt)===this&&(Je(this,it,Rl).call(this),Je(this,it,Wx).call(this)),!Yx(this)){let a=this.isStart()&&this.isEnd()&&!$(this,we).some(g=>typeof g!="string"),c=$(this,we).map(g=>{var f;let[u,C,E,B]=typeof g=="string"?Je(f=KA,ui,tk).call(f,g,$(this,Xt),a):g.toRegExpSource(t);return At(this,Xt,$(this,Xt)||E),At(this,Gn,$(this,Gn)||B),u}).join(""),l="";if(this.isStart()&&typeof $(this,we)[0]=="string"&&!($(this,we).length===1&&D5.has($(this,we)[0]))){let u=m5,C=A&&u.has(c.charAt(0))||c.startsWith("\\.")&&u.has(c.charAt(2))||c.startsWith("\\.\\.")&&u.has(c.charAt(4)),E=!A&&!t&&u.has(c.charAt(0));l=C?h5:E?Sl:""}let d="";return this.isEnd()&&$($(this,Kt),ai)&&$(this,wt)?.type==="!"&&(d="(?:$|\\/)"),[l+c+d,oi(c),At(this,Xt,!!$(this,Xt)),$(this,Gn)]}let r=this.type==="*"||this.type==="+",n=this.type==="!"?"(?:(?!(?:":"(?:",i=Je(this,it,zB).call(this,A);if(this.isStart()&&this.isEnd()&&!i&&this.type!=="!"){let a=this.toString(),c=this;return At(c,we,[a]),c.type=null,At(c,Xt,void 0),[a,oi(this.toString()),!1,!1]}let o=!r||t||A||!Sl?"":Je(this,it,zB).call(this,!0);o===i&&(o=""),o&&(i=`(?:${i})(?:${o})*?`);let s="";if(this.type==="!"&&$(this,ps))s=(this.isStart()&&!A?Sl:"")+Vx;else{let a=this.type==="!"?"))"+(this.isStart()&&!A&&!t?Sl:"")+qx+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&o?")":this.type==="*"&&o?")?":`)${this.type}`;s=n+i+a}return[s,oi(i),At(this,Xt,!!$(this,Xt)),$(this,Gn)]}};Kt=new WeakMap,Xt=new WeakMap,Gn=new WeakMap,we=new WeakMap,wt=new WeakMap,si=new WeakMap,Vi=new WeakMap,ai=new WeakMap,gn=new WeakMap,un=new WeakMap,ps=new WeakMap,it=new WeakSet,Wx=function(){if(this!==$(this,Kt))throw new Error("should only call on root");if($(this,ai))return this;this.toString(),At(this,ai,!0);let t;for(;t=$(this,Vi).pop();){if(t.type!=="!")continue;let A=t,r=$(A,wt);for(;r;){for(let n=$(A,si)+1;!r.type&&n<$(r,we).length;n++)for(let i of $(t,we)){if(typeof i=="string")throw new Error("string part in extglob AST??");i.copyIn($(r,we)[n])}A=r,r=$(A,wt)}}return this},ui=new WeakSet,Fl=function(t,A,r,n,i){var C,E,B,f;let o=n.maxExtglobRecursion??2,s=!1,a=!1,c=-1,l=!1;if(A.type===null){let m=r,w="";for(;m<t.length;){let y=t.charAt(m++);if(s||y==="\\"){s=!s,w+=y;continue}if(a){m===c+1?(y==="^"||y==="!")&&(l=!0):y==="]"&&!(m===c+2&&l)&&(a=!1),w+=y;continue}else if(y==="["){a=!0,c=m,l=!1,w+=y;continue}if(!n.noext&&VB(y)&&t.charAt(m)==="("&&i<=o){A.push(w),w="";let x=new KA(y,A);m=Je(C=KA,ui,Fl).call(C,t,x,m,n,i+1),A.push(x);continue}w+=y}return A.push(w),m}let d=r+1,I=new KA(null,A),g=[],u="";for(;d<t.length;){let m=t.charAt(d++);if(s||m==="\\"){s=!s,u+=m;continue}if(a){d===c+1?(m==="^"||m==="!")&&(l=!0):m==="]"&&!(d===c+2&&l)&&(a=!1),u+=m;continue}else if(m==="["){a=!0,c=d,l=!1,u+=m;continue}if(!n.noext&&VB(m)&&t.charAt(d)==="("&&(i<=o||A&&Je(E=A,it,bl).call(E,m))){let y=A&&Je(B=A,it,bl).call(B,m)?0:1;I.push(u),u="";let R=new KA(m,I);I.push(R),d=Je(f=KA,ui,Fl).call(f,t,R,d,n,i+y);continue}if(m==="|"){I.push(u),u="",g.push(I),I=new KA(null,A);continue}if(m===")")return u===""&&$(A,we).length===0&&At(A,ps,!0),I.push(u),u="",A.push(...g,I),d;u+=m}return A.type=null,At(A,Xt,void 0),At(A,we,[t.substring(r-1)]),d},$x=function(t){return Je(this,it,WB).call(this,t,Q5)},WB=function(t,A=B5){if(!t||typeof t!="object"||t.type!==null||$(t,we).length!==1||this.type===null)return!1;let r=$(t,we)[0];return!r||typeof r!="object"||r.type===null?!1:Je(this,it,bl).call(this,r.type,A)},bl=function(t,A=f5){return!!A.get(this.type)?.includes(t)},zx=function(t,A){let r=$(t,we)[0],n=new KA(null,r,this.options);$(n,we).push(""),r.push(n),Je(this,it,$B).call(this,t,A)},$B=function(t,A){let r=$(t,we)[0];$(this,we).splice(A,1,...$(r,we));for(let n of $(r,we))typeof n=="object"&&At(n,wt,this);At(this,un,void 0)},Zx=function(t){return!!jx.get(this.type)?.has(t)},Xx=function(t){if(!t||typeof t!="object"||t.type!==null||$(t,we).length!==1||this.type===null||$(this,we).length!==1)return!1;let A=$(t,we)[0];return!A||typeof A!="object"||A.type===null?!1:Je(this,it,Zx).call(this,A.type)},ek=function(t){let A=jx.get(this.type),r=$(t,we)[0],n=A?.get(r.type);if(!n)return!1;At(this,we,$(r,we));for(let i of $(this,we))typeof i=="object"&&At(i,wt,this);this.type=n,At(this,un,void 0),At(this,ps,!1)},Rl=function(){var t,A;if(Yx(this)){let r=0,n=!1;do{n=!0;for(let i=0;i<$(this,we).length;i++){let o=$(this,we)[i];typeof o=="object"&&(Je(A=o,it,Rl).call(A),Je(this,it,WB).call(this,o)?(n=!1,Je(this,it,$B).call(this,o,i)):Je(this,it,$x).call(this,o)?(n=!1,Je(this,it,zx).call(this,o,i)):Je(this,it,Xx).call(this,o)&&(n=!1,Je(this,it,ek).call(this,o)))}}while(!n&&++r<10)}else for(let r of $(this,we))typeof r=="object"&&Je(t=r,it,Rl).call(t);At(this,un,void 0)},zB=function(t){return $(this,we).map(A=>{if(typeof A=="string")throw new Error("string type in extglob ast??");let[r,n,i,o]=A.toRegExpSource(t);return At(this,Gn,$(this,Gn)||o),r}).filter(A=>!(this.isStart()&&this.isEnd())||!!A).join("|")},tk=function(t,A,r=!1){let n=!1,i="",o=!1,s=!1;for(let a=0;a<t.length;a++){let c=t.charAt(a);if(n){n=!1,i+=(y5.has(c)?"\\":"")+c;continue}if(c==="*"){if(s)continue;s=!0,i+=r&&/^[*]+$/.test(t)?Vx:qx,A=!0;continue}else s=!1;if(c==="\\"){a===t.length-1?i+="\\\\":n=!0;continue}if(c==="["){let[l,d,I,g]=Ox(t,a);if(I){i+=l,o=o||d,a+=I-1,A=A||g;continue}}if(c==="?"){i+=ZB,A=!0;continue}i+=w5(c)}return[i,oi(t),!!A,o]},kt(gi,ui);KA=gi;var XB=(e,{windowsPathsNoEscape:t=!1,magicalBraces:A=!1}={})=>A?t?e.replace(/[?*()[\]{}]/g,"[$&]"):e.replace(/[?*()[\]\\{}]/g,"\\$&"):t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");var QA=(e,t,A={})=>(Dg(t),!A.nocomment&&t.charAt(0)==="#"?!1:new Qs(t,A).match(e)),F5=/^\*+([^+@!?\*\[\(]*)$/,b5=e=>t=>!t.startsWith(".")&&t.endsWith(e),R5=e=>t=>t.endsWith(e),v5=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),x5=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),k5=/^\*+\.\*+$/,M5=e=>!e.startsWith(".")&&e.includes("."),N5=e=>e!=="."&&e!==".."&&e.includes("."),G5=/^\.\*+$/,U5=e=>e!=="."&&e!==".."&&e.startsWith("."),L5=/^\*+$/,T5=e=>e.length!==0&&!e.startsWith("."),P5=e=>e.length!==0&&e!=="."&&e!=="..",K5=/^\?+([^+@!?\*\[\(]*)?$/,J5=([e,t=""])=>{let A=nk([e]);return t?(t=t.toLowerCase(),r=>A(r)&&r.toLowerCase().endsWith(t)):A},H5=([e,t=""])=>{let A=ik([e]);return t?(t=t.toLowerCase(),r=>A(r)&&r.toLowerCase().endsWith(t)):A},_5=([e,t=""])=>{let A=ik([e]);return t?r=>A(r)&&r.endsWith(t):A},O5=([e,t=""])=>{let A=nk([e]);return t?r=>A(r)&&r.endsWith(t):A},nk=([e])=>{let t=e.length;return A=>A.length===t&&!A.startsWith(".")},ik=([e])=>{let t=e.length;return A=>A.length===t&&A!=="."&&A!==".."},ok=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Ak={win32:{sep:"\\"},posix:{sep:"/"}},Y5=ok==="win32"?Ak.win32.sep:Ak.posix.sep;QA.sep=Y5;var BA=Symbol("globstar **");QA.GLOBSTAR=BA;var j5="[^/]",q5=j5+"*?",V5="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",W5="(?:(?!(?:\\/|^)\\.).)*?",$5=(e,t={})=>A=>QA(A,e,t);QA.filter=$5;var pr=(e,t={})=>Object.assign({},e,t),z5=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return QA;let t=QA;return Object.assign((r,n,i={})=>t(r,n,pr(e,i)),{Minimatch:class extends t.Minimatch{constructor(n,i={}){super(n,pr(e,i))}static defaults(n){return t.defaults(pr(e,n)).Minimatch}},AST:class extends t.AST{constructor(n,i,o={}){super(n,i,pr(e,o))}static fromGlob(n,i={}){return t.AST.fromGlob(n,pr(e,i))}},unescape:(r,n={})=>t.unescape(r,pr(e,n)),escape:(r,n={})=>t.escape(r,pr(e,n)),filter:(r,n={})=>t.filter(r,pr(e,n)),defaults:r=>t.defaults(pr(e,r)),makeRe:(r,n={})=>t.makeRe(r,pr(e,n)),braceExpand:(r,n={})=>t.braceExpand(r,pr(e,n)),match:(r,n,i={})=>t.match(r,n,pr(e,i)),sep:t.sep,GLOBSTAR:BA})};QA.defaults=z5;var sk=(e,t={})=>(Dg(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:Hx(e,{max:t.braceExpandMax}));QA.braceExpand=sk;var Z5=(e,t={})=>new Qs(e,t).makeRe();QA.makeRe=Z5;var X5=(e,t,A={})=>{let r=new Qs(t,A);return e=e.filter(n=>r.match(n)),r.options.nonull&&!e.length&&e.push(t),e};QA.match=X5;var rk=/[?*]|[+@!]\(.*?\)|\[|\]/,ez=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),ZA,ak,eQ,Bs,Qs=class{constructor(t,A={}){kt(this,ZA);Fe(this,"options");Fe(this,"set");Fe(this,"pattern");Fe(this,"windowsPathsNoEscape");Fe(this,"nonegate");Fe(this,"negate");Fe(this,"comment");Fe(this,"empty");Fe(this,"preserveMultipleSlashes");Fe(this,"partial");Fe(this,"globSet");Fe(this,"globParts");Fe(this,"nocase");Fe(this,"isWindows");Fe(this,"platform");Fe(this,"windowsNoMagicRoot");Fe(this,"maxGlobstarRecursion");Fe(this,"regexp");Dg(t),A=A||{},this.options=A,this.maxGlobstarRecursion=A.maxGlobstarRecursion??200,this.pattern=t,this.platform=A.platform||ok,this.isWindows=this.platform==="win32";let r="allowWindowsEscape";this.windowsPathsNoEscape=!!A.windowsPathsNoEscape||A[r]===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!A.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!A.nonegate,this.comment=!1,this.empty=!1,this.partial=!!A.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=A.windowsNoMagicRoot!==void 0?A.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let A of t)if(typeof A!="string")return!0;return!1}debug(...t){}make(){let t=this.pattern,A=this.options;if(!A.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],A.debug&&(this.debug=(...i)=>console.error(...i)),this.debug(this.pattern,this.globSet);let r=this.globSet.map(i=>this.slashSplit(i));this.globParts=this.preprocess(r),this.debug(this.pattern,this.globParts);let n=this.globParts.map((i,o,s)=>{if(this.isWindows&&this.windowsNoMagicRoot){let a=i[0]===""&&i[1]===""&&(i[2]==="?"||!rk.test(i[2]))&&!rk.test(i[3]),c=/^[a-z]:/i.test(i[0]);if(a)return[...i.slice(0,4),...i.slice(4).map(l=>this.parse(l))];if(c)return[i[0],...i.slice(1).map(l=>this.parse(l))]}return i.map(a=>this.parse(a))});if(this.debug(this.pattern,n),this.set=n.filter(i=>i.indexOf(!1)===-1),this.isWindows)for(let i=0;i<this.set.length;i++){let o=this.set[i];o[0]===""&&o[1]===""&&this.globParts[i][2]==="?"&&typeof o[3]=="string"&&/^[a-z]:$/i.test(o[3])&&(o[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let r=0;r<t.length;r++)for(let n=0;n<t[r].length;n++)t[r][n]==="**"&&(t[r][n]="*");let{optimizationLevel:A=1}=this.options;return A>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):A>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(A=>{let r=-1;for(;(r=A.indexOf("**",r+1))!==-1;){let n=r;for(;A[n+1]==="**";)n++;n!==r&&A.splice(r,n-r)}return A})}levelOneOptimize(t){return t.map(A=>(A=A.reduce((r,n)=>{let i=r[r.length-1];return n==="**"&&i==="**"?r:n===".."&&i&&i!==".."&&i!=="."&&i!=="**"?(r.pop(),r):(r.push(n),r)},[]),A.length===0?[""]:A))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let A=!1;do{if(A=!1,!this.preserveMultipleSlashes){for(let n=1;n<t.length-1;n++){let i=t[n];n===1&&i===""&&t[0]===""||(i==="."||i==="")&&(A=!0,t.splice(n,1),n--)}t[0]==="."&&t.length===2&&(t[1]==="."||t[1]==="")&&(A=!0,t.pop())}let r=0;for(;(r=t.indexOf("..",r+1))!==-1;){let n=t[r-1];n&&n!=="."&&n!==".."&&n!=="**"&&(A=!0,t.splice(r-1,2),r-=2)}}while(A);return t.length===0?[""]:t}firstPhasePreProcess(t){let A=!1;do{A=!1;for(let r of t){let n=-1;for(;(n=r.indexOf("**",n+1))!==-1;){let o=n;for(;r[o+1]==="**";)o++;o>n&&r.splice(n+1,o-n);let s=r[n+1],a=r[n+2],c=r[n+3];if(s!==".."||!a||a==="."||a===".."||!c||c==="."||c==="..")continue;A=!0,r.splice(n,1);let l=r.slice(0);l[n]="**",t.push(l),n--}if(!this.preserveMultipleSlashes){for(let o=1;o<r.length-1;o++){let s=r[o];o===1&&s===""&&r[0]===""||(s==="."||s==="")&&(A=!0,r.splice(o,1),o--)}r[0]==="."&&r.length===2&&(r[1]==="."||r[1]==="")&&(A=!0,r.pop())}let i=0;for(;(i=r.indexOf("..",i+1))!==-1;){let o=r[i-1];if(o&&o!=="."&&o!==".."&&o!=="**"){A=!0;let a=i===1&&r[i+1]==="**"?["."]:[];r.splice(i-1,2,...a),r.length===0&&r.push(""),i-=2}}}}while(A);return t}secondPhasePreProcess(t){for(let A=0;A<t.length-1;A++)for(let r=A+1;r<t.length;r++){let n=this.partsMatch(t[A],t[r],!this.preserveMultipleSlashes);if(n){t[A]=[],t[r]=n;break}}return t.filter(A=>A.length)}partsMatch(t,A,r=!1){let n=0,i=0,o=[],s="";for(;n<t.length&&i<A.length;)if(t[n]===A[i])o.push(s==="b"?A[i]:t[n]),n++,i++;else if(r&&t[n]==="**"&&A[i]===t[n+1])o.push(t[n]),n++;else if(r&&A[i]==="**"&&t[n]===A[i+1])o.push(A[i]),i++;else if(t[n]==="*"&&A[i]&&(this.options.dot||!A[i].startsWith("."))&&A[i]!=="**"){if(s==="b")return!1;s="a",o.push(t[n]),n++,i++}else if(A[i]==="*"&&t[n]&&(this.options.dot||!t[n].startsWith("."))&&t[n]!=="**"){if(s==="a")return!1;s="b",o.push(A[i]),n++,i++}else return!1;return t.length===A.length&&o}parseNegate(){if(this.nonegate)return;let t=this.pattern,A=!1,r=0;for(let n=0;n<t.length&&t.charAt(n)==="!";n++)A=!A,r++;r&&(this.pattern=t.slice(r)),this.negate=A}matchOne(t,A,r=!1){let n=0,i=0;if(this.isWindows){let s=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),a=!s&&t[0]===""&&t[1]===""&&t[2]==="?"&&/^[a-z]:$/i.test(t[3]),c=typeof A[0]=="string"&&/^[a-z]:$/i.test(A[0]),l=!c&&A[0]===""&&A[1]===""&&A[2]==="?"&&typeof A[3]=="string"&&/^[a-z]:$/i.test(A[3]),d=a?3:s?0:void 0,I=l?3:c?0:void 0;if(typeof d=="number"&&typeof I=="number"){let[g,u]=[t[d],A[I]];g.toLowerCase()===u.toLowerCase()&&(A[I]=g,i=I,n=d)}}let{optimizationLevel:o=1}=this.options;return o>=2&&(t=this.levelTwoFileOptimize(t)),A.includes(BA)?Je(this,ZA,ak).call(this,t,A,r,n,i):Je(this,ZA,Bs).call(this,t,A,r,n,i)}braceExpand(){return sk(this.pattern,this.options)}parse(t){Dg(t);let A=this.options;if(t==="**")return BA;if(t==="")return"";let r,n=null;(r=t.match(L5))?n=A.dot?P5:T5:(r=t.match(F5))?n=(A.nocase?A.dot?x5:v5:A.dot?R5:b5)(r[1]):(r=t.match(K5))?n=(A.nocase?A.dot?H5:J5:A.dot?_5:O5)(r):(r=t.match(k5))?n=A.dot?N5:M5:(r=t.match(G5))&&(n=U5);let i=gi.fromGlob(t,this.options).toMMPattern();return n&&typeof i=="object"&&Reflect.defineProperty(i,"test",{value:n}),i}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let A=this.options,r=A.noglobstar?q5:A.dot?V5:W5,n=new Set(A.nocase?["i"]:[]),i=t.map(a=>{let c=a.map(d=>{if(d instanceof RegExp)for(let I of d.flags.split(""))n.add(I);return typeof d=="string"?ez(d):d===BA?BA:d._src});c.forEach((d,I)=>{let g=c[I+1],u=c[I-1];d!==BA||u===BA||(u===void 0?g!==void 0&&g!==BA?c[I+1]="(?:\\/|"+r+"\\/)?"+g:c[I]=r:g===void 0?c[I-1]=u+"(?:\\/|\\/"+r+")?":g!==BA&&(c[I-1]=u+"(?:\\/|\\/"+r+"\\/)"+g,c[I+1]=BA))});let l=c.filter(d=>d!==BA);if(this.partial&&l.length>=1){let d=[];for(let I=1;I<=l.length;I++)d.push(l.slice(0,I).join("/"));return"(?:"+d.join("|")+")"}return l.join("/")}).join("|"),[o,s]=t.length>1?["(?:",")"]:["",""];i="^"+o+i+s+"$",this.partial&&(i="^(?:\\/|"+o+i.slice(1,-1)+s+")$"),this.negate&&(i="^(?!"+i+").+$");try{this.regexp=new RegExp(i,[...n].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,A=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&A)return!0;let r=this.options;this.isWindows&&(t=t.split("\\").join("/"));let n=this.slashSplit(t);this.debug(this.pattern,"split",n);let i=this.set;this.debug(this.pattern,"set",i);let o=n[n.length-1];if(!o)for(let s=n.length-2;!o&&s>=0;s--)o=n[s];for(let s=0;s<i.length;s++){let a=i[s],c=n;if(r.matchBase&&a.length===1&&(c=[o]),this.matchOne(c,a,A))return r.flipNegate?!0:!this.negate}return r.flipNegate?!1:this.negate}static defaults(t){return QA.defaults(t).Minimatch}};ZA=new WeakSet,ak=function(t,A,r,n,i){let o=A.indexOf(BA,i),s=A.lastIndexOf(BA),[a,c,l]=r?[A.slice(i,o),A.slice(o+1),[]]:[A.slice(i,o),A.slice(o+1,s),A.slice(s+1)];if(a.length){let f=t.slice(n,n+a.length);if(!Je(this,ZA,Bs).call(this,f,a,r,0,0))return!1;n+=a.length,i+=a.length}let d=0;if(l.length){if(l.length+n>t.length)return!1;let f=t.length-l.length;if(Je(this,ZA,Bs).call(this,t,l,r,f,0))d=l.length;else{if(t[t.length-1]!==""||n+l.length===t.length||(f--,!Je(this,ZA,Bs).call(this,t,l,r,f,0)))return!1;d=l.length+1}}if(!c.length){let f=!!d;for(let m=n;m<t.length-d;m++){let w=String(t[m]);if(f=!0,w==="."||w===".."||!this.options.dot&&w.startsWith("."))return!1}return r||f}let I=[[[],0]],g=I[0],u=0,C=[0];for(let f of c)f===BA?(C.push(u),g=[[],0],I.push(g)):(g[0].push(f),u++);let E=I.length-1,B=t.length-d;for(let f of I)f[1]=B-(C[E--]+f[0].length);return!!Je(this,ZA,eQ).call(this,t,I,n,0,r,0,!!d)},eQ=function(t,A,r,n,i,o,s){let a=A[n];if(!a){for(let d=r;d<t.length;d++){s=!0;let I=t[d];if(I==="."||I===".."||!this.options.dot&&I.startsWith("."))return!1}return s}let[c,l]=a;for(;r<=l;){if(Je(this,ZA,Bs).call(this,t.slice(0,r+c.length),c,i,r,0)&&o<this.maxGlobstarRecursion){let g=Je(this,ZA,eQ).call(this,t,A,r+c.length,n+1,i,o+1,s);if(g!==!1)return g}let I=t[r];if(I==="."||I===".."||!this.options.dot&&I.startsWith("."))return!1;r++}return i||null},Bs=function(t,A,r,n,i){let o,s,a,c;for(o=n,s=i,c=t.length,a=A.length;o<c&&s<a;o++,s++){this.debug("matchOne loop");let l=A[s],d=t[o];if(this.debug(A,l,d),l===!1||l===BA)return!1;let I;if(typeof l=="string"?(I=d===l,this.debug("string match",l,d,I)):(I=l.test(d),this.debug("pattern match",l,d,I)),!I)return!1}if(o===c&&s===a)return!0;if(o===c)return r;if(s===a)return o===c-1&&t[o]==="";throw new Error("wtf?")};QA.AST=gi;QA.Minimatch=Qs;QA.escape=XB;QA.unescape=oi;var lhe=1800*1e3;import*as Fk from"@sentry/node";var tme=fe("Priority");import{execFile as qz}from"node:child_process";import{promisify as Vz}from"node:util";import*as Wz from"@sentry/node";var cn=Ft(fi(),1);var G=Ft(fi(),1);function AQ(e){switch(ta("cli help",{subcommand:e}),console.log(""),Cn((0,G.bgCyan)((0,G.bold)((0,G.white)(" help ")))+" "+(0,G.dim)(HA)),e){case"add":case"generate":case"gen":case"g":Cn(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Generate Figma Components")}
|
|
1331
|
+
`));var t=[],A=e.split(/(\n|\r\n)/);A[A.length-1]||A.pop();for(var r=0;r<A.length;r++){var n=A[r];r%2&&!this.options.newlineIsToken?t[t.length-1]+=n:(this.options.ignoreWhitespace&&(n=n.trim()),t.push(n))}return t};var $O=new Fn;$O.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var zO=new Fn;zO.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};function Uc(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Uc=function(t){return typeof t}:Uc=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uc(e)}var ZO=Object.prototype.toString,Fa=new Fn;Fa.useLongestToken=!0;Fa.tokenize=pF.tokenize;Fa.castInput=function(e){var t=this.options,A=t.undefinedReplacement,r=t.stringifyReplacer,n=r===void 0?function(i,o){return typeof o>"u"?A:o}:r;return typeof e=="string"?e:JSON.stringify(fE(e,null,null,n),n," ")};Fa.equals=function(e,t){return Fn.prototype.equals.call(Fa,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};function fE(e,t,A,r,n){t=t||[],A=A||[],r&&(e=r(n,e));var i;for(i=0;i<t.length;i+=1)if(t[i]===e)return A[i];var o;if(ZO.call(e)==="[object Array]"){for(t.push(e),o=new Array(e.length),A.push(o),i=0;i<e.length;i+=1)o[i]=fE(e[i],t,A,r,n);return t.pop(),A.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),Uc(e)==="object"&&e!==null){t.push(e),o={},A.push(o);var s=[],a;for(a in e)e.hasOwnProperty(a)&&s.push(a);for(s.sort(),i=0;i<s.length;i+=1)a=s[i],o[a]=fE(e[a],t,A,r,a);t.pop(),A.pop()}else o=e;return o}var hE=new Fn;hE.tokenize=function(e){return e.slice()};hE.join=hE.removeEmpty=function(e){return e};var Sue=fe("GifGenerator");var Mue=fe("TimelineCollector");var Zue=fe("Backup");var mce=fe("TsServer");import Jfe from"chokidar";var Mce=fe("AgentDiscovery");import*as uY from"zod/v3";import*as DE from"zod/v4-mini";import*as h from"zod/v4";var wF="io.modelcontextprotocol/related-task",Tc="2.0",nA=h.custom(e=>e!==null&&(typeof e=="object"||typeof e=="function")),SF=h.union([h.string(),h.number().int()]),FF=h.string(),Kce=h.looseObject({ttl:h.union([h.number(),h.null()]).optional(),pollInterval:h.number().optional()}),cY=h.object({ttl:h.number().optional()}),lY=h.object({taskId:h.string()}),yE=h.looseObject({progressToken:SF.optional(),[wF]:lY.optional()}),zA=h.object({_meta:yE.optional()}),Pc=zA.extend({task:cY.optional()});var iA=h.object({method:h.string(),params:zA.loose().optional()}),cr=h.object({_meta:yE.optional()}),lr=h.object({method:h.string(),params:cr.loose().optional()}),oA=h.looseObject({_meta:yE.optional()}),Kc=h.union([h.string(),h.number().int()]),CY=h.object({jsonrpc:h.literal(Tc),id:Kc,...iA.shape}).strict();var IY=h.object({jsonrpc:h.literal(Tc),...lr.shape}).strict();var bF=h.object({jsonrpc:h.literal(Tc),id:Kc,result:oA}).strict();var ba;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(ba||(ba={}));var RF=h.object({jsonrpc:h.literal(Tc),id:Kc.optional(),error:h.object({code:h.number().int(),message:h.string(),data:h.unknown().optional()})}).strict();var wE=h.union([CY,IY,bF,RF]),Jce=h.union([bF,RF]),SE=oA.strict(),dY=cr.extend({requestId:Kc.optional(),reason:h.string().optional()}),FE=lr.extend({method:h.literal("notifications/cancelled"),params:dY}),EY=h.object({src:h.string(),mimeType:h.string().optional(),sizes:h.array(h.string()).optional(),theme:h.enum(["light","dark"]).optional()}),Ra=h.object({icons:h.array(EY).optional()}),Yo=h.object({name:h.string(),title:h.string().optional()}),vF=Yo.extend({...Yo.shape,...Ra.shape,version:h.string(),websiteUrl:h.string().optional(),description:h.string().optional()}),pY=h.intersection(h.object({applyDefaults:h.boolean().optional()}),h.record(h.string(),h.unknown())),BY=h.preprocess(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,h.intersection(h.object({form:pY.optional(),url:nA.optional()}),h.record(h.string(),h.unknown()).optional())),QY=h.looseObject({list:nA.optional(),cancel:nA.optional(),requests:h.looseObject({sampling:h.looseObject({createMessage:nA.optional()}).optional(),elicitation:h.looseObject({create:nA.optional()}).optional()}).optional()}),fY=h.looseObject({list:nA.optional(),cancel:nA.optional(),requests:h.looseObject({tools:h.looseObject({call:nA.optional()}).optional()}).optional()}),hY=h.object({experimental:h.record(h.string(),nA).optional(),sampling:h.object({context:nA.optional(),tools:nA.optional()}).optional(),elicitation:BY.optional(),roots:h.object({listChanged:h.boolean().optional()}).optional(),tasks:QY.optional()}),mY=zA.extend({protocolVersion:h.string(),capabilities:hY,clientInfo:vF}),DY=iA.extend({method:h.literal("initialize"),params:mY});var yY=h.object({experimental:h.record(h.string(),nA).optional(),logging:nA.optional(),completions:nA.optional(),prompts:h.object({listChanged:h.boolean().optional()}).optional(),resources:h.object({subscribe:h.boolean().optional(),listChanged:h.boolean().optional()}).optional(),tools:h.object({listChanged:h.boolean().optional()}).optional(),tasks:fY.optional()}),xF=oA.extend({protocolVersion:h.string(),capabilities:yY,serverInfo:vF,instructions:h.string().optional()}),wY=lr.extend({method:h.literal("notifications/initialized"),params:cr.optional()});var bE=iA.extend({method:h.literal("ping"),params:zA.optional()}),SY=h.object({progress:h.number(),total:h.optional(h.number()),message:h.optional(h.string())}),FY=h.object({...cr.shape,...SY.shape,progressToken:SF}),RE=lr.extend({method:h.literal("notifications/progress"),params:FY}),bY=zA.extend({cursor:FF.optional()}),va=iA.extend({params:bY.optional()}),xa=oA.extend({nextCursor:FF.optional()}),RY=h.enum(["working","input_required","completed","failed","cancelled"]),ka=h.object({taskId:h.string(),status:RY,ttl:h.union([h.number(),h.null()]),createdAt:h.string(),lastUpdatedAt:h.string(),pollInterval:h.optional(h.number()),statusMessage:h.optional(h.string())}),Jc=oA.extend({task:ka}),vY=cr.merge(ka),vE=lr.extend({method:h.literal("notifications/tasks/status"),params:vY}),xE=iA.extend({method:h.literal("tasks/get"),params:zA.extend({taskId:h.string()})}),kE=oA.merge(ka),ME=iA.extend({method:h.literal("tasks/result"),params:zA.extend({taskId:h.string()})}),Hce=oA.loose(),NE=va.extend({method:h.literal("tasks/list")}),GE=xa.extend({tasks:h.array(ka)}),UE=iA.extend({method:h.literal("tasks/cancel"),params:zA.extend({taskId:h.string()})}),xY=oA.merge(ka),kF=h.object({uri:h.string(),mimeType:h.optional(h.string()),_meta:h.record(h.string(),h.unknown()).optional()}),MF=kF.extend({text:h.string()}),LE=h.string().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),NF=kF.extend({blob:LE}),Ma=h.enum(["user","assistant"]),jo=h.object({audience:h.array(Ma).optional(),priority:h.number().min(0).max(1).optional(),lastModified:h.iso.datetime({offset:!0}).optional()}),GF=h.object({...Yo.shape,...Ra.shape,uri:h.string(),description:h.optional(h.string()),mimeType:h.optional(h.string()),annotations:jo.optional(),_meta:h.optional(h.looseObject({}))}),kY=h.object({...Yo.shape,...Ra.shape,uriTemplate:h.string(),description:h.optional(h.string()),mimeType:h.optional(h.string()),annotations:jo.optional(),_meta:h.optional(h.looseObject({}))}),MY=va.extend({method:h.literal("resources/list")}),UF=xa.extend({resources:h.array(GF)}),NY=va.extend({method:h.literal("resources/templates/list")}),LF=xa.extend({resourceTemplates:h.array(kY)}),TE=zA.extend({uri:h.string()}),GY=TE,UY=iA.extend({method:h.literal("resources/read"),params:GY}),TF=oA.extend({contents:h.array(h.union([MF,NF]))}),PF=lr.extend({method:h.literal("notifications/resources/list_changed"),params:cr.optional()}),LY=TE,TY=iA.extend({method:h.literal("resources/subscribe"),params:LY}),PY=TE,KY=iA.extend({method:h.literal("resources/unsubscribe"),params:PY}),JY=cr.extend({uri:h.string()}),HY=lr.extend({method:h.literal("notifications/resources/updated"),params:JY}),_Y=h.object({name:h.string(),description:h.optional(h.string()),required:h.optional(h.boolean())}),OY=h.object({...Yo.shape,...Ra.shape,description:h.optional(h.string()),arguments:h.optional(h.array(_Y)),_meta:h.optional(h.looseObject({}))}),YY=va.extend({method:h.literal("prompts/list")}),KF=xa.extend({prompts:h.array(OY)}),jY=zA.extend({name:h.string(),arguments:h.record(h.string(),h.string()).optional()}),qY=iA.extend({method:h.literal("prompts/get"),params:jY}),PE=h.object({type:h.literal("text"),text:h.string(),annotations:jo.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),KE=h.object({type:h.literal("image"),data:LE,mimeType:h.string(),annotations:jo.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),JE=h.object({type:h.literal("audio"),data:LE,mimeType:h.string(),annotations:jo.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),VY=h.object({type:h.literal("tool_use"),name:h.string(),id:h.string(),input:h.record(h.string(),h.unknown()),_meta:h.record(h.string(),h.unknown()).optional()}),WY=h.object({type:h.literal("resource"),resource:h.union([MF,NF]),annotations:jo.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),$Y=GF.extend({type:h.literal("resource_link")}),HE=h.union([PE,KE,JE,$Y,WY]),zY=h.object({role:Ma,content:HE}),JF=oA.extend({description:h.string().optional(),messages:h.array(zY)}),HF=lr.extend({method:h.literal("notifications/prompts/list_changed"),params:cr.optional()}),ZY=h.object({title:h.string().optional(),readOnlyHint:h.boolean().optional(),destructiveHint:h.boolean().optional(),idempotentHint:h.boolean().optional(),openWorldHint:h.boolean().optional()}),XY=h.object({taskSupport:h.enum(["required","optional","forbidden"]).optional()}),_F=h.object({...Yo.shape,...Ra.shape,description:h.string().optional(),inputSchema:h.object({type:h.literal("object"),properties:h.record(h.string(),nA).optional(),required:h.array(h.string()).optional()}).catchall(h.unknown()),outputSchema:h.object({type:h.literal("object"),properties:h.record(h.string(),nA).optional(),required:h.array(h.string()).optional()}).catchall(h.unknown()).optional(),annotations:ZY.optional(),execution:XY.optional(),_meta:h.record(h.string(),h.unknown()).optional()}),e3=va.extend({method:h.literal("tools/list")}),OF=xa.extend({tools:h.array(_F)}),Hc=oA.extend({content:h.array(HE).default([]),structuredContent:h.record(h.string(),h.unknown()).optional(),isError:h.boolean().optional()}),_ce=Hc.or(oA.extend({toolResult:h.unknown()})),t3=Pc.extend({name:h.string(),arguments:h.record(h.string(),h.unknown()).optional()}),A3=iA.extend({method:h.literal("tools/call"),params:t3}),YF=lr.extend({method:h.literal("notifications/tools/list_changed"),params:cr.optional()}),r3=h.object({autoRefresh:h.boolean().default(!0),debounceMs:h.number().int().nonnegative().default(300)}),jF=h.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),n3=zA.extend({level:jF}),i3=iA.extend({method:h.literal("logging/setLevel"),params:n3}),o3=cr.extend({level:jF,logger:h.string().optional(),data:h.unknown()}),s3=lr.extend({method:h.literal("notifications/message"),params:o3}),a3=h.object({name:h.string().optional()}),g3=h.object({hints:h.array(a3).optional(),costPriority:h.number().min(0).max(1).optional(),speedPriority:h.number().min(0).max(1).optional(),intelligencePriority:h.number().min(0).max(1).optional()}),u3=h.object({mode:h.enum(["auto","required","none"]).optional()}),c3=h.object({type:h.literal("tool_result"),toolUseId:h.string().describe("The unique identifier for the corresponding tool call."),content:h.array(HE).default([]),structuredContent:h.object({}).loose().optional(),isError:h.boolean().optional(),_meta:h.record(h.string(),h.unknown()).optional()}),l3=h.discriminatedUnion("type",[PE,KE,JE]),Lc=h.discriminatedUnion("type",[PE,KE,JE,VY,c3]),C3=h.object({role:Ma,content:h.union([Lc,h.array(Lc)]),_meta:h.record(h.string(),h.unknown()).optional()}),I3=Pc.extend({messages:h.array(C3),modelPreferences:g3.optional(),systemPrompt:h.string().optional(),includeContext:h.enum(["none","thisServer","allServers"]).optional(),temperature:h.number().optional(),maxTokens:h.number().int(),stopSequences:h.array(h.string()).optional(),metadata:nA.optional(),tools:h.array(_F).optional(),toolChoice:u3.optional()}),qF=iA.extend({method:h.literal("sampling/createMessage"),params:I3}),VF=oA.extend({model:h.string(),stopReason:h.optional(h.enum(["endTurn","stopSequence","maxTokens"]).or(h.string())),role:Ma,content:l3}),WF=oA.extend({model:h.string(),stopReason:h.optional(h.enum(["endTurn","stopSequence","maxTokens","toolUse"]).or(h.string())),role:Ma,content:h.union([Lc,h.array(Lc)])}),d3=h.object({type:h.literal("boolean"),title:h.string().optional(),description:h.string().optional(),default:h.boolean().optional()}),E3=h.object({type:h.literal("string"),title:h.string().optional(),description:h.string().optional(),minLength:h.number().optional(),maxLength:h.number().optional(),format:h.enum(["email","uri","date","date-time"]).optional(),default:h.string().optional()}),p3=h.object({type:h.enum(["number","integer"]),title:h.string().optional(),description:h.string().optional(),minimum:h.number().optional(),maximum:h.number().optional(),default:h.number().optional()}),B3=h.object({type:h.literal("string"),title:h.string().optional(),description:h.string().optional(),enum:h.array(h.string()),default:h.string().optional()}),Q3=h.object({type:h.literal("string"),title:h.string().optional(),description:h.string().optional(),oneOf:h.array(h.object({const:h.string(),title:h.string()})),default:h.string().optional()}),f3=h.object({type:h.literal("string"),title:h.string().optional(),description:h.string().optional(),enum:h.array(h.string()),enumNames:h.array(h.string()).optional(),default:h.string().optional()}),h3=h.union([B3,Q3]),m3=h.object({type:h.literal("array"),title:h.string().optional(),description:h.string().optional(),minItems:h.number().optional(),maxItems:h.number().optional(),items:h.object({type:h.literal("string"),enum:h.array(h.string())}),default:h.array(h.string()).optional()}),D3=h.object({type:h.literal("array"),title:h.string().optional(),description:h.string().optional(),minItems:h.number().optional(),maxItems:h.number().optional(),items:h.object({anyOf:h.array(h.object({const:h.string(),title:h.string()}))}),default:h.array(h.string()).optional()}),y3=h.union([m3,D3]),w3=h.union([f3,h3,y3]),S3=h.union([w3,d3,E3,p3]),F3=Pc.extend({mode:h.literal("form").optional(),message:h.string(),requestedSchema:h.object({type:h.literal("object"),properties:h.record(h.string(),S3),required:h.array(h.string()).optional()})}),b3=Pc.extend({mode:h.literal("url"),message:h.string(),elicitationId:h.string(),url:h.string().url()}),R3=h.union([F3,b3]),$F=iA.extend({method:h.literal("elicitation/create"),params:R3}),v3=cr.extend({elicitationId:h.string()}),x3=lr.extend({method:h.literal("notifications/elicitation/complete"),params:v3}),zF=oA.extend({action:h.enum(["accept","decline","cancel"]),content:h.preprocess(e=>e===null?void 0:e,h.record(h.string(),h.union([h.string(),h.number(),h.boolean(),h.array(h.string())])).optional())}),k3=h.object({type:h.literal("ref/resource"),uri:h.string()});var M3=h.object({type:h.literal("ref/prompt"),name:h.string()}),N3=zA.extend({ref:h.union([M3,k3]),argument:h.object({name:h.string(),value:h.string()}),context:h.object({arguments:h.record(h.string(),h.string()).optional()}).optional()}),G3=iA.extend({method:h.literal("completion/complete"),params:N3});var ZF=oA.extend({completion:h.looseObject({values:h.array(h.string()).max(100),total:h.optional(h.number().int()),hasMore:h.optional(h.boolean())})}),U3=h.object({uri:h.string().startsWith("file://"),name:h.string().optional(),_meta:h.record(h.string(),h.unknown()).optional()}),L3=iA.extend({method:h.literal("roots/list"),params:zA.optional()}),T3=oA.extend({roots:h.array(U3)}),P3=lr.extend({method:h.literal("notifications/roots/list_changed"),params:cr.optional()}),Oce=h.union([bE,DY,G3,i3,qY,YY,MY,NY,UY,TY,KY,A3,e3,xE,ME,NE,UE]),Yce=h.union([FE,RE,wY,P3,vE]),jce=h.union([SE,VF,WF,zF,T3,kE,GE,Jc]),qce=h.union([bE,qF,$F,L3,xE,ME,NE,UE]),Vce=h.union([FE,RE,s3,HY,PF,YF,HF,vE,x3]),Wce=h.union([SE,xF,ZF,JF,KF,UF,LF,TF,Hc,OF,kE,GE,Jc]);import*as q3 from"zod/v4-mini";import{ZodFirstPartyTypeKind as WCe}from"zod/v3";import{ZodFirstPartyTypeKind as sle}from"zod/v3";import{ZodFirstPartyTypeKind as Mle}from"zod/v3";var vle=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var KW=Ft(Kv(),1);var I$=Ft(bx(),1);import d$ from"node:process";var Ppe=d$.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];var E$;E$=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then(e=>e.webcrypto);import*as K from"zod/v4";var uA=K.url().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:K.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),K.NEVER}).refine(e=>{let t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),p$=K.looseObject({resource:K.string().url(),authorization_servers:K.array(uA).optional(),jwks_uri:K.string().url().optional(),scopes_supported:K.array(K.string()).optional(),bearer_methods_supported:K.array(K.string()).optional(),resource_signing_alg_values_supported:K.array(K.string()).optional(),resource_name:K.string().optional(),resource_documentation:K.string().optional(),resource_policy_uri:K.string().url().optional(),resource_tos_uri:K.string().url().optional(),tls_client_certificate_bound_access_tokens:K.boolean().optional(),authorization_details_types_supported:K.array(K.string()).optional(),dpop_signing_alg_values_supported:K.array(K.string()).optional(),dpop_bound_access_tokens_required:K.boolean().optional()}),vx=K.looseObject({issuer:K.string(),authorization_endpoint:uA,token_endpoint:uA,registration_endpoint:uA.optional(),scopes_supported:K.array(K.string()).optional(),response_types_supported:K.array(K.string()),response_modes_supported:K.array(K.string()).optional(),grant_types_supported:K.array(K.string()).optional(),token_endpoint_auth_methods_supported:K.array(K.string()).optional(),token_endpoint_auth_signing_alg_values_supported:K.array(K.string()).optional(),service_documentation:uA.optional(),revocation_endpoint:uA.optional(),revocation_endpoint_auth_methods_supported:K.array(K.string()).optional(),revocation_endpoint_auth_signing_alg_values_supported:K.array(K.string()).optional(),introspection_endpoint:K.string().optional(),introspection_endpoint_auth_methods_supported:K.array(K.string()).optional(),introspection_endpoint_auth_signing_alg_values_supported:K.array(K.string()).optional(),code_challenge_methods_supported:K.array(K.string()).optional(),client_id_metadata_document_supported:K.boolean().optional()}),B$=K.looseObject({issuer:K.string(),authorization_endpoint:uA,token_endpoint:uA,userinfo_endpoint:uA.optional(),jwks_uri:uA,registration_endpoint:uA.optional(),scopes_supported:K.array(K.string()).optional(),response_types_supported:K.array(K.string()),response_modes_supported:K.array(K.string()).optional(),grant_types_supported:K.array(K.string()).optional(),acr_values_supported:K.array(K.string()).optional(),subject_types_supported:K.array(K.string()),id_token_signing_alg_values_supported:K.array(K.string()),id_token_encryption_alg_values_supported:K.array(K.string()).optional(),id_token_encryption_enc_values_supported:K.array(K.string()).optional(),userinfo_signing_alg_values_supported:K.array(K.string()).optional(),userinfo_encryption_alg_values_supported:K.array(K.string()).optional(),userinfo_encryption_enc_values_supported:K.array(K.string()).optional(),request_object_signing_alg_values_supported:K.array(K.string()).optional(),request_object_encryption_alg_values_supported:K.array(K.string()).optional(),request_object_encryption_enc_values_supported:K.array(K.string()).optional(),token_endpoint_auth_methods_supported:K.array(K.string()).optional(),token_endpoint_auth_signing_alg_values_supported:K.array(K.string()).optional(),display_values_supported:K.array(K.string()).optional(),claim_types_supported:K.array(K.string()).optional(),claims_supported:K.array(K.string()).optional(),service_documentation:K.string().optional(),claims_locales_supported:K.array(K.string()).optional(),ui_locales_supported:K.array(K.string()).optional(),claims_parameter_supported:K.boolean().optional(),request_parameter_supported:K.boolean().optional(),request_uri_parameter_supported:K.boolean().optional(),require_request_uri_registration:K.boolean().optional(),op_policy_uri:uA.optional(),op_tos_uri:uA.optional(),client_id_metadata_document_supported:K.boolean().optional()}),Q$=K.object({...B$.shape,...vx.pick({code_challenge_methods_supported:!0}).shape}),f$=K.object({access_token:K.string(),id_token:K.string().optional(),token_type:K.string(),expires_in:K.coerce.number().optional(),scope:K.string().optional(),refresh_token:K.string().optional()}).strip(),h$=K.object({error:K.string(),error_description:K.string().optional(),error_uri:K.string().optional()}),Rx=uA.optional().or(K.literal("").transform(()=>{})),m$=K.object({redirect_uris:K.array(uA),token_endpoint_auth_method:K.string().optional(),grant_types:K.array(K.string()).optional(),response_types:K.array(K.string()).optional(),client_name:K.string().optional(),client_uri:uA.optional(),logo_uri:Rx,scope:K.string().optional(),contacts:K.array(K.string()).optional(),tos_uri:Rx,policy_uri:K.string().optional(),jwks_uri:uA.optional(),jwks:K.any().optional(),software_id:K.string().optional(),software_version:K.string().optional(),software_statement:K.string().optional()}).strip(),D$=K.object({client_id:K.string(),client_secret:K.string().optional(),client_id_issued_at:K.number().optional(),client_secret_expires_at:K.number().optional()}).strip(),y$=m$.merge(D$),_pe=K.object({error:K.string(),error_description:K.string().optional()}).strip(),Ope=K.object({token:K.string(),token_type_hint:K.string().optional()}).strip();var Pt=class extends Error{constructor(t,A){super(t),this.errorUri=A,this.name=this.constructor.name}toResponseObject(){let t={error:this.errorCode,error_description:this.message};return this.errorUri&&(t.error_uri=this.errorUri),t}get errorCode(){return this.constructor.errorCode}},ug=class extends Pt{};ug.errorCode="invalid_request";var ls=class extends Pt{};ls.errorCode="invalid_client";var Cs=class extends Pt{};Cs.errorCode="invalid_grant";var Is=class extends Pt{};Is.errorCode="unauthorized_client";var cg=class extends Pt{};cg.errorCode="unsupported_grant_type";var lg=class extends Pt{};lg.errorCode="invalid_scope";var Cg=class extends Pt{};Cg.errorCode="access_denied";var ds=class extends Pt{};ds.errorCode="server_error";var Ig=class extends Pt{};Ig.errorCode="temporarily_unavailable";var dg=class extends Pt{};dg.errorCode="unsupported_response_type";var Eg=class extends Pt{};Eg.errorCode="unsupported_token_type";var pg=class extends Pt{};pg.errorCode="invalid_token";var Bg=class extends Pt{};Bg.errorCode="method_not_allowed";var Qg=class extends Pt{};Qg.errorCode="too_many_requests";var Es=class extends Pt{};Es.errorCode="invalid_client_metadata";var fg=class extends Pt{};fg.errorCode="insufficient_scope";var hg=class extends Pt{};hg.errorCode="invalid_target";var w$={[ug.errorCode]:ug,[ls.errorCode]:ls,[Cs.errorCode]:Cs,[Is.errorCode]:Is,[cg.errorCode]:cg,[lg.errorCode]:lg,[Cg.errorCode]:Cg,[ds.errorCode]:ds,[Ig.errorCode]:Ig,[dg.errorCode]:dg,[Eg.errorCode]:Eg,[pg.errorCode]:pg,[Bg.errorCode]:Bg,[Qg.errorCode]:Qg,[Es.errorCode]:Es,[fg.errorCode]:fg,[hg.errorCode]:hg};import*as V$ from"@sentry/node";var W$=Ft(Gx(),1);var MBe=fe("MCP",{debug:()=>!!(process.env.DEBUG||process.env.FUSION_DEBUG==="true")});var $$=()=>{if(typeof globalThis<"u"&&globalThis.crypto)return globalThis.crypto;if(typeof he<"u")try{let e=he("crypto");if(e.webcrypto)return e.webcrypto}catch{}throw new Error("Web Crypto API is not available. Requires Node.js 15+ or a browser environment.")},PBe=$$();var YB=(e,t,A)=>{let r=e instanceof RegExp?Ux(e,A):e,n=t instanceof RegExp?Ux(t,A):t,i=r!==null&&n!=null&&z$(r,n,A);return i&&{start:i[0],end:i[1],pre:A.slice(0,i[0]),body:A.slice(i[0]+r.length,i[1]),post:A.slice(i[1]+n.length)}},Ux=(e,t)=>{let A=t.match(e);return A?A[0]:null},z$=(e,t,A)=>{let r,n,i,o,s,a=A.indexOf(e),c=A.indexOf(t,a+1),l=a;if(a>=0&&c>0){if(e===t)return[a,c];for(r=[],i=A.length;l>=0&&!s;){if(l===a)r.push(l),a=A.indexOf(e,l+1);else if(r.length===1){let d=r.pop();d!==void 0&&(s=[d,c])}else n=r.pop(),n!==void 0&&n<i&&(i=n,o=c),c=A.indexOf(t,l+1);l=a<c&&a>=0?a:c}r.length&&o!==void 0&&(s=[i,o])}return s};var Lx="\0SLASH"+Math.random()+"\0",Tx="\0OPEN"+Math.random()+"\0",qB="\0CLOSE"+Math.random()+"\0",Px="\0COMMA"+Math.random()+"\0",Kx="\0PERIOD"+Math.random()+"\0",Z$=new RegExp(Lx,"g"),X$=new RegExp(Tx,"g"),e5=new RegExp(qB,"g"),t5=new RegExp(Px,"g"),A5=new RegExp(Kx,"g"),r5=/\\\\/g,n5=/\\{/g,i5=/\\}/g,o5=/\\,/g,s5=/\\\./g,a5=1e5;function jB(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function g5(e){return e.replace(r5,Lx).replace(n5,Tx).replace(i5,qB).replace(o5,Px).replace(s5,Kx)}function u5(e){return e.replace(Z$,"\\").replace(X$,"{").replace(e5,"}").replace(t5,",").replace(A5,".")}function Jx(e){if(!e)return[""];let t=[],A=YB("{","}",e);if(!A)return e.split(",");let{pre:r,body:n,post:i}=A,o=r.split(",");o[o.length-1]+="{"+n+"}";let s=Jx(i);return i.length&&(o[o.length-1]+=s.shift(),o.push.apply(o,s)),t.push.apply(t,o),t}function Hx(e,t={}){if(!e)return[];let{max:A=a5}=t;return e.slice(0,2)==="{}"&&(e="\\{\\}"+e.slice(2)),mg(g5(e),A,!0).map(u5)}function c5(e){return"{"+e+"}"}function l5(e){return/^-?0\d/.test(e)}function C5(e,t){return e<=t}function I5(e,t){return e>=t}function mg(e,t,A){let r=[],n=YB("{","}",e);if(!n)return[e];let i=n.pre,o=n.post.length?mg(n.post,t,!1):[""];if(/\$$/.test(n.pre))for(let s=0;s<o.length&&s<t;s++){let a=i+"{"+n.body+"}"+o[s];r.push(a)}else{let s=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(n.body),a=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(n.body),c=s||a,l=n.body.indexOf(",")>=0;if(!c&&!l)return n.post.match(/,(?!,).*\}/)?(e=n.pre+"{"+n.body+qB+n.post,mg(e,t,!0)):[e];let d;if(c)d=n.body.split(/\.\./);else if(d=Jx(n.body),d.length===1&&d[0]!==void 0&&(d=mg(d[0],t,!1).map(c5),d.length===1))return o.map(g=>n.pre+d[0]+g);let I;if(c&&d[0]!==void 0&&d[1]!==void 0){let g=jB(d[0]),u=jB(d[1]),C=Math.max(d[0].length,d[1].length),E=d.length===3&&d[2]!==void 0?Math.abs(jB(d[2])):1,B=C5;u<g&&(E*=-1,B=I5);let m=d.some(l5);I=[];for(let w=g;B(w,u);w+=E){let y;if(a)y=String.fromCharCode(w),y==="\\"&&(y="");else if(y=String(w),m){let R=C-y.length;if(R>0){let x=new Array(R+1).join("0");w<0?y="-"+x+y.slice(1):y=x+y}}I.push(y)}}else{I=[];for(let g=0;g<d.length;g++)I.push.apply(I,mg(d[g],t,!1))}for(let g=0;g<I.length;g++)for(let u=0;u<o.length&&r.length<t;u++){let C=i+I[g]+o[u];(!A||c||C)&&r.push(C)}}return r}var Dg=e=>{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")};var d5={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},yg=e=>e.replace(/[[\]\\-]/g,"\\$&"),E5=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),_x=e=>e.join(""),Ox=(e,t)=>{let A=t;if(e.charAt(A)!=="[")throw new Error("not in a brace expression");let r=[],n=[],i=A+1,o=!1,s=!1,a=!1,c=!1,l=A,d="";e:for(;i<e.length;){let C=e.charAt(i);if((C==="!"||C==="^")&&i===A+1){c=!0,i++;continue}if(C==="]"&&o&&!a){l=i+1;break}if(o=!0,C==="\\"&&!a){a=!0,i++;continue}if(C==="["&&!a){for(let[E,[B,f,m]]of Object.entries(d5))if(e.startsWith(E,i)){if(d)return["$.",!1,e.length-A,!0];i+=E.length,m?n.push(B):r.push(B),s=s||f;continue e}}if(a=!1,d){C>d?r.push(yg(d)+"-"+yg(C)):C===d&&r.push(yg(C)),d="",i++;continue}if(e.startsWith("-]",i+1)){r.push(yg(C+"-")),i+=2;continue}if(e.startsWith("-",i+1)){d=C,i+=2;continue}r.push(yg(C)),i++}if(l<i)return["",!1,0,!1];if(!r.length&&!n.length)return["$.",!1,e.length-A,!0];if(n.length===0&&r.length===1&&/^\\?.$/.test(r[0])&&!c){let C=r[0].length===2?r[0].slice(-1):r[0];return[E5(C),!1,l-A,!1]}let I="["+(c?"^":"")+_x(r)+"]",g="["+(c?"":"^")+_x(n)+"]";return[r.length&&n.length?"("+I+"|"+g+")":r.length?I:g,s,l-A,!0]};var oi=(e,{windowsPathsNoEscape:t=!1,magicalBraces:A=!0}={})=>A?t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"):t?e.replace(/\[([^\/\\{}])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1");var KA,p5=new Set(["!","?","+","*","@"]),VB=e=>p5.has(e),Yx=e=>VB(e.type),B5=new Map([["!",["@"]],["?",["?","@"]],["@",["@"]],["*",["*","+","?","@"]],["+",["+","@"]]]),Q5=new Map([["!",["?"]],["@",["?"]],["+",["?","*"]]]),f5=new Map([["!",["?","@"]],["?",["?","@"]],["@",["?","@"]],["*",["*","+","?","@"]],["+",["+","@","?","*"]]]),jx=new Map([["!",new Map([["!","@"]])],["?",new Map([["*","*"],["+","*"]])],["@",new Map([["!","!"],["?","?"],["@","@"],["*","*"],["+","+"]])],["+",new Map([["?","*"],["*","*"]])]]),h5="(?!(?:^|/)\\.\\.?(?:$|/))",Sl="(?!\\.)",m5=new Set(["[","."]),D5=new Set(["..","."]),y5=new Set("().*{}+?[]^$\\!"),w5=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),ZB="[^/]",qx=ZB+"*?",Vx=ZB+"+?",S5=0,Kt,Xt,Gn,we,wt,si,Vi,ai,gn,un,ps,ot,Wx,ui,Fl,$x,WB,bl,zx,$B,Zx,Xx,ek,Rl,zB,tk,gi=class{constructor(t,A,r={}){kt(this,ot);Fe(this,"type");kt(this,Kt);kt(this,Xt);kt(this,Gn,!1);kt(this,we,[]);kt(this,wt);kt(this,si);kt(this,Vi);kt(this,ai,!1);kt(this,gn);kt(this,un);kt(this,ps,!1);Fe(this,"id",++S5);this.type=t,t&&At(this,Xt,!0),At(this,wt,A),At(this,Kt,$(this,wt)?$($(this,wt),Kt):this),At(this,gn,$(this,Kt)===this?r:$($(this,Kt),gn)),At(this,Vi,$(this,Kt)===this?[]:$($(this,Kt),Vi)),t==="!"&&!$($(this,Kt),ai)&&$(this,Vi).push(this),At(this,si,$(this,wt)?$($(this,wt),we).length:0)}get depth(){return($(this,wt)?.depth??-1)+1}[Symbol.for("nodejs.util.inspect.custom")](){return{"@@type":"AST",id:this.id,type:this.type,root:$(this,Kt).id,parent:$(this,wt)?.id,depth:this.depth,partsLength:$(this,we).length,parts:$(this,we)}}get hasMagic(){if($(this,Xt)!==void 0)return $(this,Xt);for(let t of $(this,we))if(typeof t!="string"&&(t.type||t.hasMagic))return At(this,Xt,!0);return $(this,Xt)}toString(){return $(this,un)!==void 0?$(this,un):this.type?At(this,un,this.type+"("+$(this,we).map(t=>String(t)).join("|")+")"):At(this,un,$(this,we).map(t=>String(t)).join(""))}push(...t){for(let A of t)if(A!==""){if(typeof A!="string"&&!(A instanceof KA&&$(A,wt)===this))throw new Error("invalid part: "+A);$(this,we).push(A)}}toJSON(){let t=this.type===null?$(this,we).slice().map(A=>typeof A=="string"?A:A.toJSON()):[this.type,...$(this,we).map(A=>A.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===$(this,Kt)||$($(this,Kt),ai)&&$(this,wt)?.type==="!")&&t.push({}),t}isStart(){if($(this,Kt)===this)return!0;if(!$(this,wt)?.isStart())return!1;if($(this,si)===0)return!0;let t=$(this,wt);for(let A=0;A<$(this,si);A++){let r=$(t,we)[A];if(!(r instanceof KA&&r.type==="!"))return!1}return!0}isEnd(){if($(this,Kt)===this||$(this,wt)?.type==="!")return!0;if(!$(this,wt)?.isEnd())return!1;if(!this.type)return $(this,wt)?.isEnd();let t=$(this,wt)?$($(this,wt),we).length:0;return $(this,si)===t-1}copyIn(t){typeof t=="string"?this.push(t):this.push(t.clone(this))}clone(t){let A=new KA(this.type,t);for(let r of $(this,we))A.copyIn(r);return A}static fromGlob(t,A={}){var n;let r=new KA(null,void 0,A);return Je(n=KA,ui,Fl).call(n,t,r,0,A,0),r}toMMPattern(){if(this!==$(this,Kt))return $(this,Kt).toMMPattern();let t=this.toString(),[A,r,n,i]=this.toRegExpSource();if(!(n||$(this,Xt)||$(this,gn).nocase&&!$(this,gn).nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return r;let s=($(this,gn).nocase?"i":"")+(i?"u":"");return Object.assign(new RegExp(`^${A}$`,s),{_src:A,_glob:t})}get options(){return $(this,gn)}toRegExpSource(t){let A=t??!!$(this,gn).dot;if($(this,Kt)===this&&(Je(this,ot,Rl).call(this),Je(this,ot,Wx).call(this)),!Yx(this)){let a=this.isStart()&&this.isEnd()&&!$(this,we).some(g=>typeof g!="string"),c=$(this,we).map(g=>{var f;let[u,C,E,B]=typeof g=="string"?Je(f=KA,ui,tk).call(f,g,$(this,Xt),a):g.toRegExpSource(t);return At(this,Xt,$(this,Xt)||E),At(this,Gn,$(this,Gn)||B),u}).join(""),l="";if(this.isStart()&&typeof $(this,we)[0]=="string"&&!($(this,we).length===1&&D5.has($(this,we)[0]))){let u=m5,C=A&&u.has(c.charAt(0))||c.startsWith("\\.")&&u.has(c.charAt(2))||c.startsWith("\\.\\.")&&u.has(c.charAt(4)),E=!A&&!t&&u.has(c.charAt(0));l=C?h5:E?Sl:""}let d="";return this.isEnd()&&$($(this,Kt),ai)&&$(this,wt)?.type==="!"&&(d="(?:$|\\/)"),[l+c+d,oi(c),At(this,Xt,!!$(this,Xt)),$(this,Gn)]}let r=this.type==="*"||this.type==="+",n=this.type==="!"?"(?:(?!(?:":"(?:",i=Je(this,ot,zB).call(this,A);if(this.isStart()&&this.isEnd()&&!i&&this.type!=="!"){let a=this.toString(),c=this;return At(c,we,[a]),c.type=null,At(c,Xt,void 0),[a,oi(this.toString()),!1,!1]}let o=!r||t||A||!Sl?"":Je(this,ot,zB).call(this,!0);o===i&&(o=""),o&&(i=`(?:${i})(?:${o})*?`);let s="";if(this.type==="!"&&$(this,ps))s=(this.isStart()&&!A?Sl:"")+Vx;else{let a=this.type==="!"?"))"+(this.isStart()&&!A&&!t?Sl:"")+qx+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&o?")":this.type==="*"&&o?")?":`)${this.type}`;s=n+i+a}return[s,oi(i),At(this,Xt,!!$(this,Xt)),$(this,Gn)]}};Kt=new WeakMap,Xt=new WeakMap,Gn=new WeakMap,we=new WeakMap,wt=new WeakMap,si=new WeakMap,Vi=new WeakMap,ai=new WeakMap,gn=new WeakMap,un=new WeakMap,ps=new WeakMap,ot=new WeakSet,Wx=function(){if(this!==$(this,Kt))throw new Error("should only call on root");if($(this,ai))return this;this.toString(),At(this,ai,!0);let t;for(;t=$(this,Vi).pop();){if(t.type!=="!")continue;let A=t,r=$(A,wt);for(;r;){for(let n=$(A,si)+1;!r.type&&n<$(r,we).length;n++)for(let i of $(t,we)){if(typeof i=="string")throw new Error("string part in extglob AST??");i.copyIn($(r,we)[n])}A=r,r=$(A,wt)}}return this},ui=new WeakSet,Fl=function(t,A,r,n,i){var C,E,B,f;let o=n.maxExtglobRecursion??2,s=!1,a=!1,c=-1,l=!1;if(A.type===null){let m=r,w="";for(;m<t.length;){let y=t.charAt(m++);if(s||y==="\\"){s=!s,w+=y;continue}if(a){m===c+1?(y==="^"||y==="!")&&(l=!0):y==="]"&&!(m===c+2&&l)&&(a=!1),w+=y;continue}else if(y==="["){a=!0,c=m,l=!1,w+=y;continue}if(!n.noext&&VB(y)&&t.charAt(m)==="("&&i<=o){A.push(w),w="";let x=new KA(y,A);m=Je(C=KA,ui,Fl).call(C,t,x,m,n,i+1),A.push(x);continue}w+=y}return A.push(w),m}let d=r+1,I=new KA(null,A),g=[],u="";for(;d<t.length;){let m=t.charAt(d++);if(s||m==="\\"){s=!s,u+=m;continue}if(a){d===c+1?(m==="^"||m==="!")&&(l=!0):m==="]"&&!(d===c+2&&l)&&(a=!1),u+=m;continue}else if(m==="["){a=!0,c=d,l=!1,u+=m;continue}if(!n.noext&&VB(m)&&t.charAt(d)==="("&&(i<=o||A&&Je(E=A,ot,bl).call(E,m))){let y=A&&Je(B=A,ot,bl).call(B,m)?0:1;I.push(u),u="";let R=new KA(m,I);I.push(R),d=Je(f=KA,ui,Fl).call(f,t,R,d,n,i+y);continue}if(m==="|"){I.push(u),u="",g.push(I),I=new KA(null,A);continue}if(m===")")return u===""&&$(A,we).length===0&&At(A,ps,!0),I.push(u),u="",A.push(...g,I),d;u+=m}return A.type=null,At(A,Xt,void 0),At(A,we,[t.substring(r-1)]),d},$x=function(t){return Je(this,ot,WB).call(this,t,Q5)},WB=function(t,A=B5){if(!t||typeof t!="object"||t.type!==null||$(t,we).length!==1||this.type===null)return!1;let r=$(t,we)[0];return!r||typeof r!="object"||r.type===null?!1:Je(this,ot,bl).call(this,r.type,A)},bl=function(t,A=f5){return!!A.get(this.type)?.includes(t)},zx=function(t,A){let r=$(t,we)[0],n=new KA(null,r,this.options);$(n,we).push(""),r.push(n),Je(this,ot,$B).call(this,t,A)},$B=function(t,A){let r=$(t,we)[0];$(this,we).splice(A,1,...$(r,we));for(let n of $(r,we))typeof n=="object"&&At(n,wt,this);At(this,un,void 0)},Zx=function(t){return!!jx.get(this.type)?.has(t)},Xx=function(t){if(!t||typeof t!="object"||t.type!==null||$(t,we).length!==1||this.type===null||$(this,we).length!==1)return!1;let A=$(t,we)[0];return!A||typeof A!="object"||A.type===null?!1:Je(this,ot,Zx).call(this,A.type)},ek=function(t){let A=jx.get(this.type),r=$(t,we)[0],n=A?.get(r.type);if(!n)return!1;At(this,we,$(r,we));for(let i of $(this,we))typeof i=="object"&&At(i,wt,this);this.type=n,At(this,un,void 0),At(this,ps,!1)},Rl=function(){var t,A;if(Yx(this)){let r=0,n=!1;do{n=!0;for(let i=0;i<$(this,we).length;i++){let o=$(this,we)[i];typeof o=="object"&&(Je(A=o,ot,Rl).call(A),Je(this,ot,WB).call(this,o)?(n=!1,Je(this,ot,$B).call(this,o,i)):Je(this,ot,$x).call(this,o)?(n=!1,Je(this,ot,zx).call(this,o,i)):Je(this,ot,Xx).call(this,o)&&(n=!1,Je(this,ot,ek).call(this,o)))}}while(!n&&++r<10)}else for(let r of $(this,we))typeof r=="object"&&Je(t=r,ot,Rl).call(t);At(this,un,void 0)},zB=function(t){return $(this,we).map(A=>{if(typeof A=="string")throw new Error("string type in extglob ast??");let[r,n,i,o]=A.toRegExpSource(t);return At(this,Gn,$(this,Gn)||o),r}).filter(A=>!(this.isStart()&&this.isEnd())||!!A).join("|")},tk=function(t,A,r=!1){let n=!1,i="",o=!1,s=!1;for(let a=0;a<t.length;a++){let c=t.charAt(a);if(n){n=!1,i+=(y5.has(c)?"\\":"")+c;continue}if(c==="*"){if(s)continue;s=!0,i+=r&&/^[*]+$/.test(t)?Vx:qx,A=!0;continue}else s=!1;if(c==="\\"){a===t.length-1?i+="\\\\":n=!0;continue}if(c==="["){let[l,d,I,g]=Ox(t,a);if(I){i+=l,o=o||d,a+=I-1,A=A||g;continue}}if(c==="?"){i+=ZB,A=!0;continue}i+=w5(c)}return[i,oi(t),!!A,o]},kt(gi,ui);KA=gi;var XB=(e,{windowsPathsNoEscape:t=!1,magicalBraces:A=!1}={})=>A?t?e.replace(/[?*()[\]{}]/g,"[$&]"):e.replace(/[?*()[\]\\{}]/g,"\\$&"):t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");var QA=(e,t,A={})=>(Dg(t),!A.nocomment&&t.charAt(0)==="#"?!1:new Qs(t,A).match(e)),F5=/^\*+([^+@!?\*\[\(]*)$/,b5=e=>t=>!t.startsWith(".")&&t.endsWith(e),R5=e=>t=>t.endsWith(e),v5=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),x5=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),k5=/^\*+\.\*+$/,M5=e=>!e.startsWith(".")&&e.includes("."),N5=e=>e!=="."&&e!==".."&&e.includes("."),G5=/^\.\*+$/,U5=e=>e!=="."&&e!==".."&&e.startsWith("."),L5=/^\*+$/,T5=e=>e.length!==0&&!e.startsWith("."),P5=e=>e.length!==0&&e!=="."&&e!=="..",K5=/^\?+([^+@!?\*\[\(]*)?$/,J5=([e,t=""])=>{let A=nk([e]);return t?(t=t.toLowerCase(),r=>A(r)&&r.toLowerCase().endsWith(t)):A},H5=([e,t=""])=>{let A=ik([e]);return t?(t=t.toLowerCase(),r=>A(r)&&r.toLowerCase().endsWith(t)):A},_5=([e,t=""])=>{let A=ik([e]);return t?r=>A(r)&&r.endsWith(t):A},O5=([e,t=""])=>{let A=nk([e]);return t?r=>A(r)&&r.endsWith(t):A},nk=([e])=>{let t=e.length;return A=>A.length===t&&!A.startsWith(".")},ik=([e])=>{let t=e.length;return A=>A.length===t&&A!=="."&&A!==".."},ok=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Ak={win32:{sep:"\\"},posix:{sep:"/"}},Y5=ok==="win32"?Ak.win32.sep:Ak.posix.sep;QA.sep=Y5;var BA=Symbol("globstar **");QA.GLOBSTAR=BA;var j5="[^/]",q5=j5+"*?",V5="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",W5="(?:(?!(?:\\/|^)\\.).)*?",$5=(e,t={})=>A=>QA(A,e,t);QA.filter=$5;var pr=(e,t={})=>Object.assign({},e,t),z5=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return QA;let t=QA;return Object.assign((r,n,i={})=>t(r,n,pr(e,i)),{Minimatch:class extends t.Minimatch{constructor(n,i={}){super(n,pr(e,i))}static defaults(n){return t.defaults(pr(e,n)).Minimatch}},AST:class extends t.AST{constructor(n,i,o={}){super(n,i,pr(e,o))}static fromGlob(n,i={}){return t.AST.fromGlob(n,pr(e,i))}},unescape:(r,n={})=>t.unescape(r,pr(e,n)),escape:(r,n={})=>t.escape(r,pr(e,n)),filter:(r,n={})=>t.filter(r,pr(e,n)),defaults:r=>t.defaults(pr(e,r)),makeRe:(r,n={})=>t.makeRe(r,pr(e,n)),braceExpand:(r,n={})=>t.braceExpand(r,pr(e,n)),match:(r,n,i={})=>t.match(r,n,pr(e,i)),sep:t.sep,GLOBSTAR:BA})};QA.defaults=z5;var sk=(e,t={})=>(Dg(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:Hx(e,{max:t.braceExpandMax}));QA.braceExpand=sk;var Z5=(e,t={})=>new Qs(e,t).makeRe();QA.makeRe=Z5;var X5=(e,t,A={})=>{let r=new Qs(t,A);return e=e.filter(n=>r.match(n)),r.options.nonull&&!e.length&&e.push(t),e};QA.match=X5;var rk=/[?*]|[+@!]\(.*?\)|\[|\]/,ez=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),ZA,ak,eQ,Bs,Qs=class{constructor(t,A={}){kt(this,ZA);Fe(this,"options");Fe(this,"set");Fe(this,"pattern");Fe(this,"windowsPathsNoEscape");Fe(this,"nonegate");Fe(this,"negate");Fe(this,"comment");Fe(this,"empty");Fe(this,"preserveMultipleSlashes");Fe(this,"partial");Fe(this,"globSet");Fe(this,"globParts");Fe(this,"nocase");Fe(this,"isWindows");Fe(this,"platform");Fe(this,"windowsNoMagicRoot");Fe(this,"maxGlobstarRecursion");Fe(this,"regexp");Dg(t),A=A||{},this.options=A,this.maxGlobstarRecursion=A.maxGlobstarRecursion??200,this.pattern=t,this.platform=A.platform||ok,this.isWindows=this.platform==="win32";let r="allowWindowsEscape";this.windowsPathsNoEscape=!!A.windowsPathsNoEscape||A[r]===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!A.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!A.nonegate,this.comment=!1,this.empty=!1,this.partial=!!A.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=A.windowsNoMagicRoot!==void 0?A.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let A of t)if(typeof A!="string")return!0;return!1}debug(...t){}make(){let t=this.pattern,A=this.options;if(!A.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],A.debug&&(this.debug=(...i)=>console.error(...i)),this.debug(this.pattern,this.globSet);let r=this.globSet.map(i=>this.slashSplit(i));this.globParts=this.preprocess(r),this.debug(this.pattern,this.globParts);let n=this.globParts.map((i,o,s)=>{if(this.isWindows&&this.windowsNoMagicRoot){let a=i[0]===""&&i[1]===""&&(i[2]==="?"||!rk.test(i[2]))&&!rk.test(i[3]),c=/^[a-z]:/i.test(i[0]);if(a)return[...i.slice(0,4),...i.slice(4).map(l=>this.parse(l))];if(c)return[i[0],...i.slice(1).map(l=>this.parse(l))]}return i.map(a=>this.parse(a))});if(this.debug(this.pattern,n),this.set=n.filter(i=>i.indexOf(!1)===-1),this.isWindows)for(let i=0;i<this.set.length;i++){let o=this.set[i];o[0]===""&&o[1]===""&&this.globParts[i][2]==="?"&&typeof o[3]=="string"&&/^[a-z]:$/i.test(o[3])&&(o[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let r=0;r<t.length;r++)for(let n=0;n<t[r].length;n++)t[r][n]==="**"&&(t[r][n]="*");let{optimizationLevel:A=1}=this.options;return A>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):A>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(A=>{let r=-1;for(;(r=A.indexOf("**",r+1))!==-1;){let n=r;for(;A[n+1]==="**";)n++;n!==r&&A.splice(r,n-r)}return A})}levelOneOptimize(t){return t.map(A=>(A=A.reduce((r,n)=>{let i=r[r.length-1];return n==="**"&&i==="**"?r:n===".."&&i&&i!==".."&&i!=="."&&i!=="**"?(r.pop(),r):(r.push(n),r)},[]),A.length===0?[""]:A))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let A=!1;do{if(A=!1,!this.preserveMultipleSlashes){for(let n=1;n<t.length-1;n++){let i=t[n];n===1&&i===""&&t[0]===""||(i==="."||i==="")&&(A=!0,t.splice(n,1),n--)}t[0]==="."&&t.length===2&&(t[1]==="."||t[1]==="")&&(A=!0,t.pop())}let r=0;for(;(r=t.indexOf("..",r+1))!==-1;){let n=t[r-1];n&&n!=="."&&n!==".."&&n!=="**"&&(A=!0,t.splice(r-1,2),r-=2)}}while(A);return t.length===0?[""]:t}firstPhasePreProcess(t){let A=!1;do{A=!1;for(let r of t){let n=-1;for(;(n=r.indexOf("**",n+1))!==-1;){let o=n;for(;r[o+1]==="**";)o++;o>n&&r.splice(n+1,o-n);let s=r[n+1],a=r[n+2],c=r[n+3];if(s!==".."||!a||a==="."||a===".."||!c||c==="."||c==="..")continue;A=!0,r.splice(n,1);let l=r.slice(0);l[n]="**",t.push(l),n--}if(!this.preserveMultipleSlashes){for(let o=1;o<r.length-1;o++){let s=r[o];o===1&&s===""&&r[0]===""||(s==="."||s==="")&&(A=!0,r.splice(o,1),o--)}r[0]==="."&&r.length===2&&(r[1]==="."||r[1]==="")&&(A=!0,r.pop())}let i=0;for(;(i=r.indexOf("..",i+1))!==-1;){let o=r[i-1];if(o&&o!=="."&&o!==".."&&o!=="**"){A=!0;let a=i===1&&r[i+1]==="**"?["."]:[];r.splice(i-1,2,...a),r.length===0&&r.push(""),i-=2}}}}while(A);return t}secondPhasePreProcess(t){for(let A=0;A<t.length-1;A++)for(let r=A+1;r<t.length;r++){let n=this.partsMatch(t[A],t[r],!this.preserveMultipleSlashes);if(n){t[A]=[],t[r]=n;break}}return t.filter(A=>A.length)}partsMatch(t,A,r=!1){let n=0,i=0,o=[],s="";for(;n<t.length&&i<A.length;)if(t[n]===A[i])o.push(s==="b"?A[i]:t[n]),n++,i++;else if(r&&t[n]==="**"&&A[i]===t[n+1])o.push(t[n]),n++;else if(r&&A[i]==="**"&&t[n]===A[i+1])o.push(A[i]),i++;else if(t[n]==="*"&&A[i]&&(this.options.dot||!A[i].startsWith("."))&&A[i]!=="**"){if(s==="b")return!1;s="a",o.push(t[n]),n++,i++}else if(A[i]==="*"&&t[n]&&(this.options.dot||!t[n].startsWith("."))&&t[n]!=="**"){if(s==="a")return!1;s="b",o.push(A[i]),n++,i++}else return!1;return t.length===A.length&&o}parseNegate(){if(this.nonegate)return;let t=this.pattern,A=!1,r=0;for(let n=0;n<t.length&&t.charAt(n)==="!";n++)A=!A,r++;r&&(this.pattern=t.slice(r)),this.negate=A}matchOne(t,A,r=!1){let n=0,i=0;if(this.isWindows){let s=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),a=!s&&t[0]===""&&t[1]===""&&t[2]==="?"&&/^[a-z]:$/i.test(t[3]),c=typeof A[0]=="string"&&/^[a-z]:$/i.test(A[0]),l=!c&&A[0]===""&&A[1]===""&&A[2]==="?"&&typeof A[3]=="string"&&/^[a-z]:$/i.test(A[3]),d=a?3:s?0:void 0,I=l?3:c?0:void 0;if(typeof d=="number"&&typeof I=="number"){let[g,u]=[t[d],A[I]];g.toLowerCase()===u.toLowerCase()&&(A[I]=g,i=I,n=d)}}let{optimizationLevel:o=1}=this.options;return o>=2&&(t=this.levelTwoFileOptimize(t)),A.includes(BA)?Je(this,ZA,ak).call(this,t,A,r,n,i):Je(this,ZA,Bs).call(this,t,A,r,n,i)}braceExpand(){return sk(this.pattern,this.options)}parse(t){Dg(t);let A=this.options;if(t==="**")return BA;if(t==="")return"";let r,n=null;(r=t.match(L5))?n=A.dot?P5:T5:(r=t.match(F5))?n=(A.nocase?A.dot?x5:v5:A.dot?R5:b5)(r[1]):(r=t.match(K5))?n=(A.nocase?A.dot?H5:J5:A.dot?_5:O5)(r):(r=t.match(k5))?n=A.dot?N5:M5:(r=t.match(G5))&&(n=U5);let i=gi.fromGlob(t,this.options).toMMPattern();return n&&typeof i=="object"&&Reflect.defineProperty(i,"test",{value:n}),i}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let A=this.options,r=A.noglobstar?q5:A.dot?V5:W5,n=new Set(A.nocase?["i"]:[]),i=t.map(a=>{let c=a.map(d=>{if(d instanceof RegExp)for(let I of d.flags.split(""))n.add(I);return typeof d=="string"?ez(d):d===BA?BA:d._src});c.forEach((d,I)=>{let g=c[I+1],u=c[I-1];d!==BA||u===BA||(u===void 0?g!==void 0&&g!==BA?c[I+1]="(?:\\/|"+r+"\\/)?"+g:c[I]=r:g===void 0?c[I-1]=u+"(?:\\/|\\/"+r+")?":g!==BA&&(c[I-1]=u+"(?:\\/|\\/"+r+"\\/)"+g,c[I+1]=BA))});let l=c.filter(d=>d!==BA);if(this.partial&&l.length>=1){let d=[];for(let I=1;I<=l.length;I++)d.push(l.slice(0,I).join("/"));return"(?:"+d.join("|")+")"}return l.join("/")}).join("|"),[o,s]=t.length>1?["(?:",")"]:["",""];i="^"+o+i+s+"$",this.partial&&(i="^(?:\\/|"+o+i.slice(1,-1)+s+")$"),this.negate&&(i="^(?!"+i+").+$");try{this.regexp=new RegExp(i,[...n].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,A=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&A)return!0;let r=this.options;this.isWindows&&(t=t.split("\\").join("/"));let n=this.slashSplit(t);this.debug(this.pattern,"split",n);let i=this.set;this.debug(this.pattern,"set",i);let o=n[n.length-1];if(!o)for(let s=n.length-2;!o&&s>=0;s--)o=n[s];for(let s=0;s<i.length;s++){let a=i[s],c=n;if(r.matchBase&&a.length===1&&(c=[o]),this.matchOne(c,a,A))return r.flipNegate?!0:!this.negate}return r.flipNegate?!1:this.negate}static defaults(t){return QA.defaults(t).Minimatch}};ZA=new WeakSet,ak=function(t,A,r,n,i){let o=A.indexOf(BA,i),s=A.lastIndexOf(BA),[a,c,l]=r?[A.slice(i,o),A.slice(o+1),[]]:[A.slice(i,o),A.slice(o+1,s),A.slice(s+1)];if(a.length){let f=t.slice(n,n+a.length);if(!Je(this,ZA,Bs).call(this,f,a,r,0,0))return!1;n+=a.length,i+=a.length}let d=0;if(l.length){if(l.length+n>t.length)return!1;let f=t.length-l.length;if(Je(this,ZA,Bs).call(this,t,l,r,f,0))d=l.length;else{if(t[t.length-1]!==""||n+l.length===t.length||(f--,!Je(this,ZA,Bs).call(this,t,l,r,f,0)))return!1;d=l.length+1}}if(!c.length){let f=!!d;for(let m=n;m<t.length-d;m++){let w=String(t[m]);if(f=!0,w==="."||w===".."||!this.options.dot&&w.startsWith("."))return!1}return r||f}let I=[[[],0]],g=I[0],u=0,C=[0];for(let f of c)f===BA?(C.push(u),g=[[],0],I.push(g)):(g[0].push(f),u++);let E=I.length-1,B=t.length-d;for(let f of I)f[1]=B-(C[E--]+f[0].length);return!!Je(this,ZA,eQ).call(this,t,I,n,0,r,0,!!d)},eQ=function(t,A,r,n,i,o,s){let a=A[n];if(!a){for(let d=r;d<t.length;d++){s=!0;let I=t[d];if(I==="."||I===".."||!this.options.dot&&I.startsWith("."))return!1}return s}let[c,l]=a;for(;r<=l;){if(Je(this,ZA,Bs).call(this,t.slice(0,r+c.length),c,i,r,0)&&o<this.maxGlobstarRecursion){let g=Je(this,ZA,eQ).call(this,t,A,r+c.length,n+1,i,o+1,s);if(g!==!1)return g}let I=t[r];if(I==="."||I===".."||!this.options.dot&&I.startsWith("."))return!1;r++}return i||null},Bs=function(t,A,r,n,i){let o,s,a,c;for(o=n,s=i,c=t.length,a=A.length;o<c&&s<a;o++,s++){this.debug("matchOne loop");let l=A[s],d=t[o];if(this.debug(A,l,d),l===!1||l===BA)return!1;let I;if(typeof l=="string"?(I=d===l,this.debug("string match",l,d,I)):(I=l.test(d),this.debug("pattern match",l,d,I)),!I)return!1}if(o===c&&s===a)return!0;if(o===c)return r;if(s===a)return o===c-1&&t[o]==="";throw new Error("wtf?")};QA.AST=gi;QA.Minimatch=Qs;QA.escape=XB;QA.unescape=oi;var lhe=1800*1e3;import*as Fk from"@sentry/node";var tme=fe("Priority");import{execFile as qz}from"node:child_process";import{promisify as Vz}from"node:util";import*as Wz from"@sentry/node";var cn=Ft(fi(),1);var G=Ft(fi(),1);function AQ(e){switch(ta("cli help",{subcommand:e}),console.log(""),Cn((0,G.bgCyan)((0,G.bold)((0,G.white)(" help ")))+" "+(0,G.dim)(HA)),e){case"add":case"generate":case"gen":case"g":Cn(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Generate Figma Components")}
|
|
1332
1332
|
|
|
1333
1333
|
This command has been removed. You can create mapper files manually.
|
|
1334
1334
|
See: https://www.builder.io/c/docs/mapping-functions`);break;case"auth":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Authentication")}
|
|
1335
1335
|
|
|
1336
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1336
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} auth `))}
|
|
1337
1337
|
|
|
1338
1338
|
Re-authenticate with Figma and Builder.io.
|
|
1339
1339
|
|
|
@@ -1349,7 +1349,7 @@ ${(0,G.yellow)("Non-Interactive Authentication:")}
|
|
|
1349
1349
|
Example using environment variables:
|
|
1350
1350
|
${(0,G.dim)('export BUILDER_PRIVATE_KEY="your-private-key"')}
|
|
1351
1351
|
${(0,G.dim)('export FIGMA_PERSONAL_TOKEN="your-figma-token"')}
|
|
1352
|
-
${(0,G.dim)(`npx ${
|
|
1352
|
+
${(0,G.dim)(`npx ${it()} figma generate <url> --ci`)}
|
|
1353
1353
|
|
|
1354
1354
|
${(0,G.yellow)("Arguments:")}
|
|
1355
1355
|
${(0,G.cyan)("--figmaToken")} Figma access token for authentication
|
|
@@ -1365,17 +1365,17 @@ ${(0,G.yellow)("Learn More:")}
|
|
|
1365
1365
|
${(0,G.yellow)("Subcommands:")}
|
|
1366
1366
|
${(0,G.cyan)("status")} Check if you are authenticated and display user/space info
|
|
1367
1367
|
|
|
1368
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1368
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} auth status `))}
|
|
1369
1369
|
|
|
1370
1370
|
Check authentication status and user information.
|
|
1371
1371
|
|
|
1372
1372
|
${(0,G.yellow)("Clear Credentials:")}
|
|
1373
1373
|
|
|
1374
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1374
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} auth --reset `))}
|
|
1375
1375
|
|
|
1376
1376
|
Clear all stored credentials to logout or switch accounts.`);break;case"publish":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Publish Mappings")}
|
|
1377
1377
|
|
|
1378
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1378
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} figma publish `))}
|
|
1379
1379
|
|
|
1380
1380
|
Publish your Figma Mappings to Builder.io.
|
|
1381
1381
|
|
|
@@ -1388,7 +1388,7 @@ ${(0,G.yellow)("Arguments:")}
|
|
|
1388
1388
|
${(0,G.cyan)("--yes")} Auto-confirm all prompts
|
|
1389
1389
|
${(0,G.cyan)("--clearMappings")} Remove all mappings from the space, publishing zero mappings`);break;case"migrate":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Migrate Mappings")}
|
|
1390
1390
|
|
|
1391
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1391
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} figma migrate `))}
|
|
1392
1392
|
|
|
1393
1393
|
Migrate your existing Figma Mappings into the repo as local files.
|
|
1394
1394
|
|
|
@@ -1400,7 +1400,7 @@ ${(0,G.yellow)("Arguments:")}
|
|
|
1400
1400
|
${(0,G.cyan)("--force")} Force migration even if there are warnings
|
|
1401
1401
|
${(0,G.cyan)("--yes")} Auto-confirm all prompts`);break;case"code":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Code Generation")}
|
|
1402
1402
|
|
|
1403
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1403
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} code --url URL `))}
|
|
1404
1404
|
|
|
1405
1405
|
Generate or modify code based on Figma designs.
|
|
1406
1406
|
|
|
@@ -1418,7 +1418,7 @@ ${(0,G.yellow)("Configuration Files:")}
|
|
|
1418
1418
|
${(0,G.cyan)(".builderrules")} Add custom instructions that will be injected into the LLM prompt
|
|
1419
1419
|
${(0,G.cyan)(".cursorrules")} Cursor's settings are automatically supported for consistent behavior`);break;case"indexing":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Code Indexing")}
|
|
1420
1420
|
|
|
1421
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1421
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} code indexing `))}
|
|
1422
1422
|
|
|
1423
1423
|
Index your codebase to improve code generation results.
|
|
1424
1424
|
|
|
@@ -1426,7 +1426,7 @@ ${(0,G.yellow)("Arguments:")}
|
|
|
1426
1426
|
${(0,G.cyan)("--spaceId")} Builder.io space ID to use
|
|
1427
1427
|
${(0,G.cyan)("--cwd")} Working directory to run commands from`);break;case"index-repo":case"repo-index":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Repository Indexing")}
|
|
1428
1428
|
|
|
1429
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1429
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} index-repo `))}
|
|
1430
1430
|
|
|
1431
1431
|
Index your entire repository to improve code generation results.
|
|
1432
1432
|
|
|
@@ -1443,11 +1443,11 @@ ${(0,G.yellow)("Arguments:")}
|
|
|
1443
1443
|
${(0,G.cyan)("--instructions")} Add extra instructions to be taken into account during repo indexing
|
|
1444
1444
|
|
|
1445
1445
|
${(0,G.yellow)("Examples:")}
|
|
1446
|
-
${(0,G.cyan)(`npx ${
|
|
1447
|
-
${(0,G.cyan)(`npx ${
|
|
1448
|
-
${(0,G.cyan)(`npx ${
|
|
1446
|
+
${(0,G.cyan)(`npx ${it()} index-repo`)} - Index entire repository
|
|
1447
|
+
${(0,G.cyan)(`npx ${it()} index-repo --components "Button,Input,Card"`)} - Reindex specific components
|
|
1448
|
+
${(0,G.cyan)(`npx ${it()} index-repo --components "Button" --force`)} - Force reindex Button component`);break;case"launch":case"fusion":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Fusion Development Server")}
|
|
1449
1449
|
|
|
1450
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1450
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} launch -p <port> -c <command> `))}
|
|
1451
1451
|
|
|
1452
1452
|
This command will:
|
|
1453
1453
|
1. Run your development server command
|
|
@@ -1456,18 +1456,19 @@ This command will:
|
|
|
1456
1456
|
|
|
1457
1457
|
${(0,G.yellow)("Arguments:")}
|
|
1458
1458
|
${(0,G.cyan)("-p, --port")} Port number where your application is running
|
|
1459
|
-
${(0,G.cyan)("-c, --command")}
|
|
1460
|
-
${(0,G.cyan)("--no-open")}
|
|
1461
|
-
${(0,G.cyan)("--
|
|
1459
|
+
${(0,G.cyan)("-c, --command")} Command to run your development server
|
|
1460
|
+
${(0,G.cyan)("--no-open")} Skip automatically opening the browser
|
|
1461
|
+
${(0,G.cyan)("--no-run-in-pty")} Run the dev command without a pseudo-terminal
|
|
1462
|
+
${(0,G.cyan)("--privacyMode")} Enable privacy mode for codegen (encrypts sensitive data)
|
|
1462
1463
|
${(0,G.cyan)("--chat")} Open Builder in chat-only mode
|
|
1463
1464
|
|
|
1464
1465
|
${(0,G.yellow)("Example:")}
|
|
1465
|
-
${(0,G.cyan)(
|
|
1466
|
+
${(0,G.cyan)(`npx ${it()} launch -p 3000 -c "npm run dev"`)}
|
|
1466
1467
|
|
|
1467
1468
|
${(0,G.yellow)("Note:")}
|
|
1468
1469
|
- The proxy runs on port ${(0,G.cyan)("48752")} and the API server on port ${(0,G.cyan)("48753")}`);break;case"launch-init":Cn(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Initialize Builder.io Repository")}
|
|
1469
1470
|
|
|
1470
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1471
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} init `))}
|
|
1471
1472
|
|
|
1472
1473
|
Clone and initialize a repository for use with Builder.io.
|
|
1473
1474
|
|
|
@@ -1477,7 +1478,7 @@ ${(0,G.yellow)("Arguments:")}
|
|
|
1477
1478
|
${(0,G.cyan)("--githubToken")} GitHub token for private repositories
|
|
1478
1479
|
${(0,G.cyan)("--installCommand")} Command to install dependencies (defaults to npm install)`);break;case"repo-connect":case"connect-repo":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Connect Repository to Builder.io")}
|
|
1479
1480
|
|
|
1480
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1481
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} connect-repo `))}
|
|
1481
1482
|
|
|
1482
1483
|
Connect your existing git repository to Builder.io Fusion by creating a new project.
|
|
1483
1484
|
|
|
@@ -1505,9 +1506,9 @@ ${(0,G.yellow)("Features:")}
|
|
|
1505
1506
|
|
|
1506
1507
|
${(0,G.yellow)("Example:")}
|
|
1507
1508
|
${(0,G.cyan)("cd /path/to/your/project")}
|
|
1508
|
-
${(0,G.cyan)(`npx ${
|
|
1509
|
-
${(0,G.cyan)(`npx ${
|
|
1510
|
-
${(0,G.cyan)(`npx ${
|
|
1509
|
+
${(0,G.cyan)(`npx ${it()} connect-repo`)}
|
|
1510
|
+
${(0,G.cyan)(`npx ${it()} connect-repo --installCommand "pnpm install"`)}
|
|
1511
|
+
${(0,G.cyan)(`npx ${it()} connect-repo --dryrun`)}
|
|
1511
1512
|
|
|
1512
1513
|
${(0,G.yellow)("Note:")}
|
|
1513
1514
|
- Must be run from within a git repository
|
|
@@ -1515,7 +1516,7 @@ ${(0,G.yellow)("Note:")}
|
|
|
1515
1516
|
- Environment variables can be selected interactively
|
|
1516
1517
|
- Use --dryrun to preview the configuration without creating the project`);break;case"push":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Push to Builder.io")}
|
|
1517
1518
|
|
|
1518
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1519
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} push `))}
|
|
1519
1520
|
|
|
1520
1521
|
Push your local git commits to the remote and ensure a Builder branch exists
|
|
1521
1522
|
in Builder.io for the current git branch (creating one automatically if needed).
|
|
@@ -1525,10 +1526,10 @@ ${(0,G.yellow)("Arguments:")}
|
|
|
1525
1526
|
${(0,G.cyan)("--dry-run")} Run git push --dry-run without making changes
|
|
1526
1527
|
|
|
1527
1528
|
${(0,G.yellow)("Examples:")}
|
|
1528
|
-
${(0,G.cyan)(`npx ${
|
|
1529
|
-
${(0,G.cyan)(`npx ${
|
|
1529
|
+
${(0,G.cyan)(`npx ${it()} push`)}
|
|
1530
|
+
${(0,G.cyan)(`npx ${it()} push --project abc123`)}`);break;case"pull":xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bold)("Pull from Builder.io")}
|
|
1530
1531
|
|
|
1531
|
-
${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1532
|
+
${(0,G.bgGreen)((0,G.white)(` npx ${it()} pull <builder-branch-or-url> `))}
|
|
1532
1533
|
|
|
1533
1534
|
Pull commits that the Builder.io web app has pushed to the git remote down
|
|
1534
1535
|
into your local repo. The web app must have pushed its changes upstream first.
|
|
@@ -1539,17 +1540,17 @@ ${(0,G.yellow)("Arguments:")}
|
|
|
1539
1540
|
${(0,G.cyan)("--dry-run")} Show what would be pulled without applying changes
|
|
1540
1541
|
|
|
1541
1542
|
${(0,G.yellow)("Examples:")}
|
|
1542
|
-
${(0,G.cyan)(`npx ${
|
|
1543
|
-
${(0,G.cyan)(`npx ${
|
|
1544
|
-
${(0,G.cyan)(`npx ${
|
|
1545
|
-
`),[{command:"figma publish",description:"Publish your Figma Mappings to Builder.io"},{command:"figma migrate",description:"Migrate existing Figma Mappings into the repo as local files"},{command:"figma auth",description:"Authenticate with Figma and Builder.io"}].forEach(({command:r,description:n})=>{xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1543
|
+
${(0,G.cyan)(`npx ${it()} pull my-feature-branch`)}
|
|
1544
|
+
${(0,G.cyan)(`npx ${it()} pull my-feature-branch --project abc123`)}
|
|
1545
|
+
${(0,G.cyan)(`npx ${it()} pull https://builder.io/app/projects/<projectId>/<branchName>`)}`);break;case"figma":xe.info(`${(0,G.bold)("Figma Commands:")}
|
|
1546
|
+
`),[{command:"figma publish",description:"Publish your Figma Mappings to Builder.io"},{command:"figma migrate",description:"Migrate existing Figma Mappings into the repo as local files"},{command:"figma auth",description:"Authenticate with Figma and Builder.io"}].forEach(({command:r,description:n})=>{xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bgGreen)((0,G.white)(` npx ${it()} ${r} `))}
|
|
1546
1547
|
${(0,G.dim)(n)}
|
|
1547
1548
|
`)}),xe.info(`For detailed help about a specific command, run:
|
|
1548
|
-
${(0,G.cyan)(`npx ${
|
|
1549
|
-
`),[{command:"launch",description:"Launch Builder Fusion development server"},{command:"auth",description:"Authenticate with Builder.io"},{command:"index-repo",description:"Index your design system repository for AI code generation"},{command:"connect-repo",description:"Connect your git repository to Builder.io Fusion"},{command:"code",description:"Generate or modify code based on Figma designs"},{command:"figma publish",description:"Publish your Figma Mappings to Builder.io"},{command:"figma migrate",description:"Migrate existing Figma Mappings into the repo as local files"},{command:"add",description:"Add a component to your project"},{command:"push",description:"Push local changes to a Builder.io branch"},{command:"pull",description:"Pull changes from a Builder.io branch"}].forEach(({command:r,description:n})=>{xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bgGreen)((0,G.white)(` npx ${
|
|
1549
|
+
${(0,G.cyan)(`npx ${it()} figma <command> --help`)}`);break;default:xe.info(`${(0,G.bold)("Available Commands:")}
|
|
1550
|
+
`),[{command:"launch",description:"Launch Builder Fusion development server"},{command:"auth",description:"Authenticate with Builder.io"},{command:"index-repo",description:"Index your design system repository for AI code generation"},{command:"connect-repo",description:"Connect your git repository to Builder.io Fusion"},{command:"code",description:"Generate or modify code based on Figma designs"},{command:"figma publish",description:"Publish your Figma Mappings to Builder.io"},{command:"figma migrate",description:"Migrate existing Figma Mappings into the repo as local files"},{command:"add",description:"Add a component to your project"},{command:"push",description:"Push local changes to a Builder.io branch"},{command:"pull",description:"Pull changes from a Builder.io branch"}].forEach(({command:r,description:n})=>{xe.info(`${(0,G.cyan)("\u2192")} ${(0,G.bgGreen)((0,G.white)(` npx ${it()} ${r} `))}
|
|
1550
1551
|
${(0,G.dim)(n)}
|
|
1551
1552
|
`)}),xe.info(`For detailed help about a specific command, run:
|
|
1552
|
-
${(0,G.cyan)(`npx ${
|
|
1553
|
+
${(0,G.cyan)(`npx ${it()} <command> --help`)}`)}Jg("bye \u{1F44B}")}import ck from"node:process";function rQ(){let{env:e}=ck,{TERM:t,TERM_PROGRAM:A}=e;return ck.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||A==="Terminus-Sublime"||A==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var nQ=Ft(fi(),1),fs=Ft(Ng(),1);var wg=Ft(fi(),1),gz=fe("Spinner"),oQ=()=>{let e=iQ?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],t=iQ?80:120,A,r=!1,n="",i="",o="",s=E=>{let B=E>1?"Something went wrong":"Canceled";r&&g(B,E)},a=(E,B)=>{gz.error(B,E),s(2)},c=()=>s(1),l=()=>{process.on("uncaughtExceptionMonitor",a),process.on("unhandledRejection",a),process.on("SIGINT",c),process.on("SIGTERM",c),process.on("exit",s)},d=()=>{process.removeListener("uncaughtExceptionMonitor",a),process.removeListener("unhandledRejection",a),process.removeListener("SIGINT",c),process.removeListener("SIGTERM",c),process.removeListener("exit",s)},I=(E="")=>{r=!0,n=E.replace(/\.+$/,""),process.stdout.write(`${nQ.default.gray(uz)}
|
|
1553
1554
|
`);let B=0,f=0;l(),process.env.CI||(A=setInterval(()=>{let m=nQ.default.magenta(e[B]),w=".".repeat(Math.floor(f)).slice(0,3);process.stdout.write(fs.cursor.move(-999,-o.split(`
|
|
1554
1555
|
`).length+1)),process.stdout.write(fs.erase.down(o.split(`
|
|
1555
1556
|
`).length));let y=`${m} ${n}${w}${i}`;process.stdout.write(y),B=B+1<e.length?B+1:0,f=f<e.length?f+.125:0,o=y},t))},g=(E,B=0)=>{n=E??n,r=!1,clearInterval(A);let f=B===0?(0,wg.green)(Cz):B===1?(0,wg.red)(cz):(0,wg.red)(lz);process.stdout.write(fs.cursor.move(-999,-o.split(`
|