@gitlab/duo-cli 8.46.0 → 8.46.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1127,7 +1127,7 @@ ${uU0(C)}`:""};if(typeof Q==="string"){let I=B?`
1127
1127
  ${D(B)}`:"";this.#I(`${Q}${I}${E(B)}`,A)}else{let I=NkA(Q);if(!I)return;this.#I(`${D(I)}${E(Q)}`,A)}}#I(A,Q){let B=`${MkA.default().format("YYYY-MM-DDTHH:mm:ss:SSS")} [${Q}]: `,D=(E)=>E.replace(/\n/g,`
1128
1128
  ${" ".repeat(hU0)}`);this.#A.write(`${B}${D(A)}`)}setContext(A){this.#B=A}debug(A,Q){this.#D(k3.DEBUG,A,Q)}info(A,Q){this.#D(k3.INFO,A,Q)}warn(A,Q){this.#D(k3.WARNING,A,Q)}error(A,Q){this.#D(k3.ERROR,A,Q)}withContext(A){let Q=new Jw(this.#A,this.#Q);return Q.setContext(A),Q}}Jw=O1([$kA.Injectable(b1,[Z$,wk])],Jw);var WkA=A1(l1(),1),CB=WkA.createInterfaceId("GitLabApiService");var LkA=A1(jJ(),1);function qkA(A){return(A.split(`
1129
1129
  `).find((Q)=>Q.trim())??A.replace(`
1130
- `,"")).trim()}function mU0(A){return qkA(A).match(/^(query|mutation|subscription)\s+/)?.[1]}function pU0(A){return qkA(A).match(/(?:query|mutation|subscription)\s+(\w+)/)?.[1]}function Si(A){let Q=mU0(A),B=pU0(A);if(Q)return`${Q}: ${B??"anonymous"}`;return}var cU0=(A)=>{if(A.method==="GET"||A.method==="HEAD")return;if(!A.body)return;return QD("Body",JSON.stringify(A.body))},dU0=(A)=>{if(A.method==="POST"||A.method==="PATCH"||A.method==="PUT")return;if(!A.searchParams)return;return QD("Search Params",JSON.stringify(A.searchParams))},lU0=(A)=>{if(!A.headers)return;return QD("Headers",JSON.stringify(A.headers))},Zk=(A)=>{switch(A.type){case"graphql":return hE("GraphQL Request",QD("Query",A.query.replace(/[\s\n]+/g," ").trim()),QD("Variables",JSON.stringify(A.variables)));case"rest":return hE("REST Request",QD("Method",A.method),QD("Path",A.path),lU0(A),dU0(A),cU0(A));default:return QD("Unknown request type",A.type)}};var RkA=(A)=>{try{return JSON.parse(A)?.error}catch{return}},iU0=(A)=>{if(!A)return"";try{return JSON.parse(A)?.error_description??""}catch{return""}},Q5A=(A,Q)=>Boolean(A.status===401&&Q&&RkA(Q)==="invalid_token"),B5A=(A,Q)=>Boolean(A.status===400&&Q&&RkA(Q)==="invalid_grant");class ji extends Error{request;cause;constructor(A,Q,B){super(A);this.request=Q,this.cause=B?.cause}get sanitizedMessage(){return"API request failed"}}class D5A extends ji{status;constructor(A,Q,B,D){super(A,Q,D);this.status=B}}class gi extends D5A{type="rest";response;#A;constructor(A,Q,B,D){let E=`Fetching ${B} from ${Q.url} failed. ${iU0(D)}`;if(Q5A(Q,D))E=`Request for ${B} failed because the token is expired or revoked.`;if(B5A(Q,D))E="Request to refresh token failed, because it's revoked or already refreshed.";super(E,A,Q.status);this.response=Q,this.#A=D}isInvalidTokenOrInvalidRefresh(){return Q5A(this.response,this.#A)||B5A(this.response,this.#A)}get ctx(){return hE("Error details",Zk(this.request),this.#Q())}get sanitizedMessage(){if(Q5A(this.response,this.#A))return"Request failed because the token is expired or revoked.";if(B5A(this.response,this.#A))return"Request to refresh token failed, because it's revoked or already refreshed.";return`Request failed with error code: ${this.response.status}`}#Q(){let A=Object.fromEntries(this.response.headers.entries());return hE("Response",QD("Status",String(this.status)),!LkA.default.isEmpty(A)?QD("Headers",JSON.stringify(A)):void 0,this.#A?QD("Response body",this.#A):void 0)}get body(){return this.#A}}var OkA=(A)=>A.errors?.map((Q)=>Q.message).join(",")||"";class E5A extends D5A{type="graphql";graphQlResponse;#A;constructor(A,Q){let B=Si(A.query),D=`GraphQL request "${B}" failed with ${OkA(Q)}`;super(D,A,Q.status);this.graphQlResponse=Q,this.#A=B}get sanitizedMessage(){return`GraphQL request "${this.#A}" failed with status ${this.graphQlResponse.status}`}get ctx(){return hE("Error details",Zk(this.request),this.#Q())}#Q(){return hE("Response",QD("Status",String(this.graphQlResponse.status)),QD("Errors",OkA(this.graphQlResponse)))}}class yi extends ji{type="network";cause;constructor(A,Q){let B=Q instanceof Error?Q.message:`Network error occurred: ${Q}`;super(B,A);this.cause=Q}get ctx(){return hE("Error details",Zk(this.request),this.#A())}get sanitizedMessage(){let A=this.cause,Q=A?.code||A?.errno,B=this.#Q(Q);return`Network error occurred${B?`: ${B}`:""}`}#A(){if(!this.cause||!(this.cause instanceof Error))return;let A=this.cause;if(A.code||A.errno){let Q=A.code||A.errno,B=this.#Q(Q),D=B?`${B} (${Q})`:`Error code: ${Q}`;return QD("Network issue",D)}return}#Q(A){return{ENOTFOUND:"DNS lookup failed - hostname could not be resolved",ECONNREFUSED:"Connection refused - server is not accepting connections",ECONNRESET:"Connection reset by peer - server closed the connection unexpectedly",ETIMEDOUT:"Connection timed out - server did not respond in time",EHOSTUNREACH:"Host unreachable - network route to server not available",ENETUNREACH:"Network unreachable - no network connectivity",ECONNABORTED:"Connection aborted - request was cancelled",EBADF:"Bad file descriptor - network connection issue",EPIPE:"Broken pipe - connection closed while writing data",EAI_AGAIN:"DNS lookup failed temporarily - try again later"}[A]}}class aU0 extends ji{type="timeout";#A;constructor(A,Q){let B=`Request timed out${Q?` after ${Q}ms`:""}`;super(B,A);this.#A=B}get ctx(){return hE("Error details",Zk(this.request))}get sanitizedMessage(){return this.#A}}var TkA=gi;var Hk={type:"rest",method:"GET",path:"/api/v4/version"};var vi=JSON;var PkA=(A)=>A.toUpperCase(),SkA=(A)=>{let Q={};return A.forEach((B,D)=>{Q[D]=B}),Q};var jkA=(A,Q,B)=>{return A.document?A:{document:A,variables:Q,requestHeaders:B,signal:void 0}},gkA=(A,Q,B)=>{return A.query?A:{query:A,variables:Q,requestHeaders:B,signal:void 0}},ykA=(A,Q)=>{return A.documents?A:{documents:A,requestHeaders:Q,signal:void 0}};var ga=A1(LpA(),1),RpA=(A)=>{let Q=void 0,B=A.definitions.filter((D)=>D.kind==="OperationDefinition");if(B.length===1)Q=B[0]?.name?.value;return Q},y$=(A)=>{if(typeof A==="string"){let B=void 0;try{let D=ga.parse(A);B=RpA(D)}catch(D){}return{query:A,operationName:B}}let Q=RpA(A);return{query:ga.print(A),operationName:Q}};class HC extends Error{constructor(A,Q){let B=`${HC.extractMessage(A)}: ${JSON.stringify({response:A,request:Q})}`;super(B);if(Object.setPrototypeOf(this,HC.prototype),this.response=A,this.request=Q,typeof Error.captureStackTrace==="function")Error.captureStackTrace(this,HC)}static extractMessage(A){return A.errors?.[0]?.message??`GraphQL Error (Code: ${A.status})`}}var gK=A1(HcA(),1);var OL0="connection_init",LL0="connection_ack",VcA="ping",NcA="pong",RL0="subscribe",TL0="next",PL0="error",McA="complete";class jK{get type(){return this._type}get id(){return this._id}get payload(){return this._payload}constructor(A,Q,B){this._type=A,this._payload=Q,this._id=B}get text(){let A={type:this.type};if(this.id!=null&&this.id!=null)A.id=this.id;if(this.payload!=null&&this.payload!=null)A.payload=this.payload;return JSON.stringify(A)}static parse(A,Q){let{type:B,payload:D,id:E}=JSON.parse(A);return new jK(B,Q(D),E)}}class c7A{constructor(A,{onInit:Q,onAcknowledged:B,onPing:D,onPong:E}){this.socketState={acknowledged:!1,lastRequestId:0,subscriptions:{}},this.socket=A,A.addEventListener("open",async(I)=>{this.socketState.acknowledged=!1,this.socketState.subscriptions={},A.send(jL0(Q?await Q():null).text)}),A.addEventListener("close",(I)=>{this.socketState.acknowledged=!1,this.socketState.subscriptions={}}),A.addEventListener("error",(I)=>{console.error(I)}),A.addEventListener("message",(I)=>{try{let C=SL0(I.data);switch(C.type){case LL0:{if(this.socketState.acknowledged)console.warn("Duplicate CONNECTION_ACK message ignored");else if(this.socketState.acknowledged=!0,B)B(C.payload);return}case VcA:{if(D)D(C.payload).then((U)=>A.send(KcA(U).text));else A.send(KcA(null).text);return}case NcA:{if(E)E(C.payload);return}}if(!this.socketState.acknowledged)return;if(C.id===void 0||C.id===null||!this.socketState.subscriptions[C.id])return;let{query:F,variables:Y,subscriber:J}=this.socketState.subscriptions[C.id];switch(C.type){case TL0:{if(!C.payload.errors&&C.payload.data)J.next&&J.next(C.payload.data);if(C.payload.errors)J.error&&J.error(new HC({...C.payload,status:200},{query:F,variables:Y}));return}case PL0:{J.error&&J.error(new HC({errors:C.payload,status:200},{query:F,variables:Y}));return}case McA:{J.complete&&J.complete(),delete this.socketState.subscriptions[C.id];return}}}catch(C){console.error(C),A.close(1006)}A.close(4400,"Unknown graphql-ws message.")})}makeSubscribe(A,Q,B,D){let E=(this.socketState.lastRequestId++).toString();return this.socketState.subscriptions[E]={query:A,variables:D,subscriber:B},this.socket.send(yL0(E,{query:A,operationName:Q,variables:D}).text),()=>{this.socket.send(vL0(E).text),delete this.socketState.subscriptions[E]}}rawRequest(A,Q){return new Promise((B,D)=>{let E;this.rawSubscribe(A,{next:(I,C)=>E={data:I,extensions:C},error:D,complete:()=>B(E)},Q)})}request(A,Q){return new Promise((B,D)=>{let E;this.subscribe(A,{next:(I)=>E=I,error:D,complete:()=>B(E)},Q)})}subscribe(A,Q,B){let{query:D,operationName:E}=y$(A);return this.makeSubscribe(D,E,Q,B)}rawSubscribe(A,Q,B){return this.makeSubscribe(A,void 0,Q,B)}ping(A){this.socket.send(gL0(A).text)}close(){this.socket.close(1000)}}c7A.PROTOCOL="graphql-transport-ws";function SL0(A,Q=(B)=>B){return jK.parse(A,Q)}function jL0(A){return new jK(OL0,A)}function gL0(A){return new jK(VcA,A,void 0)}function KcA(A){return new jK(NcA,A,void 0)}function yL0(A,Q){return new jK(RL0,Q,A)}function vL0(A){return new jK(McA,void 0,A)}var XR=(A)=>{let Q={};if(A)if(typeof Headers!=="undefined"&&A instanceof Headers||gK&&gK.Headers&&A instanceof gK.Headers)Q=SkA(A);else if(Array.isArray(A))A.forEach(([B,D])=>{if(B&&D!==void 0)Q[B]=D});else Q=A;return Q},$cA=(A)=>A.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),kL0=(A)=>{if(!Array.isArray(A.query)){let D=A,E=[`query=${encodeURIComponent($cA(D.query))}`];if(A.variables)E.push(`variables=${encodeURIComponent(D.jsonSerializer.stringify(D.variables))}`);if(D.operationName)E.push(`operationName=${encodeURIComponent(D.operationName)}`);return E.join("&")}if(typeof A.variables!=="undefined"&&!Array.isArray(A.variables))throw new Error("Cannot create query with given variable type, array expected");let Q=A,B=A.query.reduce((D,E,I)=>{return D.push({query:$cA(E),variables:Q.variables?Q.jsonSerializer.stringify(Q.variables[I]):void 0}),D},[]);return`query=${encodeURIComponent(Q.jsonSerializer.stringify(B))}`},xL0=(A)=>async(Q)=>{let{url:B,query:D,variables:E,operationName:I,fetch:C,fetchOptions:F,middleware:Y}=Q,J={...Q.headers},U="",X=void 0;if(A==="POST"){if(X=bL0(D,E,I,F.jsonSerializer),typeof X==="string")J["Content-Type"]="application/json"}else U=kL0({query:D,variables:E,operationName:I,jsonSerializer:F.jsonSerializer??vi});let z={method:A,headers:J,body:X,...F},G=B,w=z;if(Y){let Z=await Promise.resolve(Y({...z,url:B,operationName:I,variables:E})),{url:V,...M}=Z;G=V,w=M}if(U)G=`${G}?${U}`;return await C(G,w)};class i7A{constructor(A,Q={}){this.url=A,this.requestConfig=Q,this.rawRequest=async(...B)=>{let[D,E,I]=B,C=gkA(D,E,I),{headers:F,fetch:Y=gK.default,method:J="POST",requestMiddleware:U,responseMiddleware:X,...z}=this.requestConfig,{url:G}=this;if(C.signal!==void 0)z.signal=C.signal;let{operationName:w}=y$(C.query);return d7A({url:G,query:C.query,variables:C.variables,headers:{...XR(l7A(F)),...XR(C.requestHeaders)},operationName:w,fetch:Y,method:J,fetchOptions:z,middleware:U}).then((Z)=>{if(X)X(Z);return Z}).catch((Z)=>{if(X)X(Z);throw Z})}}async request(A,...Q){let[B,D]=Q,E=jkA(A,B,D),{headers:I,fetch:C=gK.default,method:F="POST",requestMiddleware:Y,responseMiddleware:J,...U}=this.requestConfig,{url:X}=this;if(E.signal!==void 0)U.signal=E.signal;let{query:z,operationName:G}=y$(E.document);return d7A({url:X,query:z,variables:E.variables,headers:{...XR(l7A(I)),...XR(E.requestHeaders)},operationName:G,fetch:C,method:F,fetchOptions:U,middleware:Y}).then((w)=>{if(J)J(w);return w.data}).catch((w)=>{if(J)J(w);throw w})}batchRequests(A,Q){let B=ykA(A,Q),{headers:D,...E}=this.requestConfig;if(B.signal!==void 0)E.signal=B.signal;let I=B.documents.map(({document:F})=>y$(F).query),C=B.documents.map(({variables:F})=>F);return d7A({url:this.url,query:I,variables:C,headers:{...XR(l7A(D)),...XR(B.requestHeaders)},operationName:void 0,fetch:this.requestConfig.fetch??gK.default,method:this.requestConfig.method||"POST",fetchOptions:E,middleware:this.requestConfig.requestMiddleware}).then((F)=>{if(this.requestConfig.responseMiddleware)this.requestConfig.responseMiddleware(F);return F.data}).catch((F)=>{if(this.requestConfig.responseMiddleware)this.requestConfig.responseMiddleware(F);throw F})}setHeaders(A){return this.requestConfig.headers=A,this}setHeader(A,Q){let{headers:B}=this.requestConfig;if(B)B[A]=Q;else this.requestConfig.headers={[A]:Q};return this}setEndpoint(A){return this.url=A,this}}var d7A=async(A)=>{let{query:Q,variables:B,fetchOptions:D}=A,E=xL0(PkA(A.method??"post")),I=Array.isArray(A.query),C=await E(A),F=await fL0(C,D.jsonSerializer??vi),Y=Array.isArray(F)?!F.some(({data:U})=>!U):Boolean(F.data),J=Array.isArray(F)||!F.errors||Array.isArray(F.errors)&&!F.errors.length||D.errorPolicy==="all"||D.errorPolicy==="ignore";if(C.ok&&J&&Y){let{errors:U,...X}=Array.isArray(F)?F:F,z=D.errorPolicy==="ignore"?X:F;return{...I?{data:z}:z,headers:C.headers,status:C.status}}else throw new HC({...typeof F==="string"?{error:F}:F,status:C.status,headers:C.headers},{query:Q,variables:B})};var bL0=(A,Q,B,D)=>{let E=D??vi;if(!Array.isArray(A))return E.stringify({query:A,variables:Q,operationName:B});if(typeof Q!=="undefined"&&!Array.isArray(Q))throw new Error("Cannot create request body with given variable type, array expected");let I=A.reduce((C,F,Y)=>{return C.push({query:F,variables:Q?Q[Y]:void 0}),C},[]);return E.stringify(I)},fL0=async(A,Q)=>{let B;if(A.headers.forEach((D,E)=>{if(E.toLowerCase()==="content-type")B=D}),B&&(B.toLowerCase().startsWith("application/json")||B.toLowerCase().startsWith("application/graphql+json")||B.toLowerCase().startsWith("application/graphql-response+json")))return Q.parse(await A.text());else return A.text()},l7A=(A)=>{return typeof A==="function"?A():A},mG=(A,...Q)=>{return A.reduce((B,D,E)=>`${B}${D}${E in Q?String(Q[E]):""}`,"")};var _cA=async(A,Q,B)=>{if(!Q.ok){let D=await Q.text().catch(()=>{return});throw new TkA(A,Q,B,D)}};function V9(){return"8.46.0"}var WcA=(A)=>{let Q=A?`${A?.name}:${A?.version}`:"missing client info";return`gitlab-language-server:${V9()} (${Q})`};function qcA(A){return A!==null&&A!==void 0}var a7A=(A,Q)=>{return Object.entries(Q).forEach(([B,D])=>{if(qcA(D))A.searchParams.append(B,String(D))}),A},ha=(A)=>A.toString().replace(/\/?$/,"/"),zR=(A)=>A.replace(/^\.?\/?/,"./"),OcA=(A)=>{if(A.startsWith("git@")){let Q=A.match(/git@([^:]+):(.+)/);if(Q){let[,B,D]=Q;return`https://${B}/${D}`}}if(A.startsWith("git://"))return A.replace("git://","https://");if(A.startsWith("ssh://"))return A.replace("ssh://","https://").replace(/git@([^/]+)/,"$1");return A};var hL0=(A)=>A.split("/").pop()||"unknown resource";class n7A{#A;#Q;#B;#D;#E;constructor(A,Q,B,D,E){this.#A=A,this.#Q=Q,this.#B=new URL(ha(D)),this.#D=E,this.#E=B}getDefaultHeaders(){return{Authorization:`Bearer ${this.#D}`,"User-Agent":WcA(this.#E),"X-Gitlab-Language-Server-Version":V9()}}async fetchFromApiRaw(A){try{let Q=`Unknown request method "${A.method}", request type "${A.type}"`;switch(A.method){case"GET":return await this.#C(A);case"POST":return await this.#F(A);case"PATCH":return await this.#Y(A);case"PUT":return await this.#J(A);case"HEAD":return await this.#U(A);default:throw new Error(Q)}}catch(Q){throw new yi(A,Q)}}async fetchFromApi(A){if(A.type==="graphql")return this.#I(A);let Q=await this.fetchFromApiRaw(A);return await _cA(A,Q,hL0(A.path)),Q.json()}fetchOperation=(A)=>(Q)=>this.fetchFromApi({...A,signal:Q});async#I(A){let Q=new URL("./api/graphql",this.#B),B=Si(A.query);if(B)this.#A.debug(`[SimpleApiClient] Making GraphQL request: ${B}`);let D=async(I,C)=>{let F=I instanceof URL?I.toString():I;return this.#Q.post(F,{...C,headers:{...C?.headers},signal:A.signal})},E=new i7A(Q.href,{fetch:D,headers:{...this.getDefaultHeaders()}});try{return await E.request(A.query,A.variables)}catch(I){if(I instanceof HC)throw new E5A(A,I.response);throw new yi(A,I)}}async#C(A){let Q=zR(A.path),B=new URL(Q,this.#B);return a7A(B,A.searchParams??{}),this.#Q.get(B,{headers:{...this.getDefaultHeaders(),...A.headers},signal:A.signal})}async#F(A){let Q=zR(A.path),B=new URL(Q,this.#B);return this.#Q.post(B,{headers:{"Content-Type":"application/json",...this.getDefaultHeaders(),...A.headers},body:JSON.stringify(A.body),signal:A.signal})}async#Y(A){let Q=zR(A.path),B=new URL(Q,this.#B);return this.#Q.patch(B,{headers:{"Content-Type":"application/json",...this.getDefaultHeaders(),...A.headers},body:JSON.stringify(A.body),signal:A.signal})}async#J(A){let Q=zR(A.path),B=new URL(Q,this.#B);return this.#Q.put(B,{headers:{"Content-Type":"application/json",...this.getDefaultHeaders(),...A.headers},body:JSON.stringify(A.body),signal:A.signal})}async#U(A){let Q=zR(A.path),B=new URL(Q,this.#B);return a7A(B,A.searchParams??{}),this.#Q.head(B,{headers:{...this.getDefaultHeaders(),...A.headers},signal:A.signal})}}var LcA="api",RcA=(A)=>{if(!(A instanceof gi)||!A.isInvalidTokenOrInvalidRefresh())return{valid:!1,reason:"unknown",message:`Token validation failed: ${A}`};return{valid:!1,reason:"invalid_token",message:"Token is invalid or expired."}},TcA=(A)=>{if(A.includes(LcA))return;return{valid:!1,reason:"invalid_scopes",message:`Token has scope(s) ${A.map((B)=>`'${B}'`).join(", ")} (needs ${LcA}).`}};async function uL0(A,Q){let B={type:"rest",method:"GET",path:"/api/v4/personal_access_tokens/self"},{scopes:D}=await A.fetchFromApi(B),E=TcA(D);if(E)return E;return{valid:!0,tokenInfo:{scopes:D,type:"pat",token:Q}}}async function mL0(A,Q){let B={type:"rest",method:"GET",path:"/oauth/token/info"},{scope:D}=await A.fetchFromApi(B),E=TcA(D);if(E)return E;return{valid:!0,tokenInfo:{scopes:D,type:"oauth",token:Q}}}async function PcA(A,Q){if(!Q)return{valid:!1,message:"No token provided",reason:"invalid_token"};let B=await Promise.all([uL0(A,Q).catch(RcA),mL0(A,Q).catch(RcA)]),D=B.find((F)=>F.valid);if(D)return D;let E=B.filter((F)=>!F.valid),I=E.find((F)=>F.reason==="invalid_scopes");if(I)return I;let C=E.find((F)=>F.reason==="invalid_token");if(C)return C;return B[0]}var ua=A1(l1(),1);var o7A=ua.createInterfaceId("ProjectService");class Ux{#A;#Q;constructor(A,Q){this.#A=Q,this.#Q=a1(A,"[ProjectService]")}async getProjectFromPathWithNamespace(A){return this.#Q.debug(`Fetching details for project: ${A}`),this.#A.fetchFromApi({type:"rest",method:"GET",path:`/api/v4/projects/${encodeURIComponent(A)}`})}async getProjectIdsFromPaths(A){return(await this.#A.fetchFromApi({type:"graphql",query:mG`
1130
+ `,"")).trim()}function mU0(A){return qkA(A).match(/^(query|mutation|subscription)\s+/)?.[1]}function pU0(A){return qkA(A).match(/(?:query|mutation|subscription)\s+(\w+)/)?.[1]}function Si(A){let Q=mU0(A),B=pU0(A);if(Q)return`${Q}: ${B??"anonymous"}`;return}var cU0=(A)=>{if(A.method==="GET"||A.method==="HEAD")return;if(!A.body)return;return QD("Body",JSON.stringify(A.body))},dU0=(A)=>{if(A.method==="POST"||A.method==="PATCH"||A.method==="PUT")return;if(!A.searchParams)return;return QD("Search Params",JSON.stringify(A.searchParams))},lU0=(A)=>{if(!A.headers)return;return QD("Headers",JSON.stringify(A.headers))},Zk=(A)=>{switch(A.type){case"graphql":return hE("GraphQL Request",QD("Query",A.query.replace(/[\s\n]+/g," ").trim()),QD("Variables",JSON.stringify(A.variables)));case"rest":return hE("REST Request",QD("Method",A.method),QD("Path",A.path),lU0(A),dU0(A),cU0(A));default:return QD("Unknown request type",A.type)}};var RkA=(A)=>{try{return JSON.parse(A)?.error}catch{return}},iU0=(A)=>{if(!A)return"";try{return JSON.parse(A)?.error_description??""}catch{return""}},Q5A=(A,Q)=>Boolean(A.status===401&&Q&&RkA(Q)==="invalid_token"),B5A=(A,Q)=>Boolean(A.status===400&&Q&&RkA(Q)==="invalid_grant");class ji extends Error{request;cause;constructor(A,Q,B){super(A);this.request=Q,this.cause=B?.cause}get sanitizedMessage(){return"API request failed"}}class D5A extends ji{status;constructor(A,Q,B,D){super(A,Q,D);this.status=B}}class gi extends D5A{type="rest";response;#A;constructor(A,Q,B,D){let E=`Fetching ${B} from ${Q.url} failed. ${iU0(D)}`;if(Q5A(Q,D))E=`Request for ${B} failed because the token is expired or revoked.`;if(B5A(Q,D))E="Request to refresh token failed, because it's revoked or already refreshed.";super(E,A,Q.status);this.response=Q,this.#A=D}isInvalidTokenOrInvalidRefresh(){return Q5A(this.response,this.#A)||B5A(this.response,this.#A)}get ctx(){return hE("Error details",Zk(this.request),this.#Q())}get sanitizedMessage(){if(Q5A(this.response,this.#A))return"Request failed because the token is expired or revoked.";if(B5A(this.response,this.#A))return"Request to refresh token failed, because it's revoked or already refreshed.";return`Request failed with error code: ${this.response.status}`}#Q(){let A=Object.fromEntries(this.response.headers.entries());return hE("Response",QD("Status",String(this.status)),!LkA.default.isEmpty(A)?QD("Headers",JSON.stringify(A)):void 0,this.#A?QD("Response body",this.#A):void 0)}get body(){return this.#A}}var OkA=(A)=>A.errors?.map((Q)=>Q.message).join(",")||"";class E5A extends D5A{type="graphql";graphQlResponse;#A;constructor(A,Q){let B=Si(A.query),D=`GraphQL request "${B}" failed with ${OkA(Q)}`;super(D,A,Q.status);this.graphQlResponse=Q,this.#A=B}get sanitizedMessage(){return`GraphQL request "${this.#A}" failed with status ${this.graphQlResponse.status}`}get ctx(){return hE("Error details",Zk(this.request),this.#Q())}#Q(){return hE("Response",QD("Status",String(this.graphQlResponse.status)),QD("Errors",OkA(this.graphQlResponse)))}}class yi extends ji{type="network";cause;constructor(A,Q){let B=Q instanceof Error?Q.message:`Network error occurred: ${Q}`;super(B,A);this.cause=Q}get ctx(){return hE("Error details",Zk(this.request),this.#A())}get sanitizedMessage(){let A=this.cause,Q=A?.code||A?.errno,B=this.#Q(Q);return`Network error occurred${B?`: ${B}`:""}`}#A(){if(!this.cause||!(this.cause instanceof Error))return;let A=this.cause;if(A.code||A.errno){let Q=A.code||A.errno,B=this.#Q(Q),D=B?`${B} (${Q})`:`Error code: ${Q}`;return QD("Network issue",D)}return}#Q(A){return{ENOTFOUND:"DNS lookup failed - hostname could not be resolved",ECONNREFUSED:"Connection refused - server is not accepting connections",ECONNRESET:"Connection reset by peer - server closed the connection unexpectedly",ETIMEDOUT:"Connection timed out - server did not respond in time",EHOSTUNREACH:"Host unreachable - network route to server not available",ENETUNREACH:"Network unreachable - no network connectivity",ECONNABORTED:"Connection aborted - request was cancelled",EBADF:"Bad file descriptor - network connection issue",EPIPE:"Broken pipe - connection closed while writing data",EAI_AGAIN:"DNS lookup failed temporarily - try again later"}[A]}}class aU0 extends ji{type="timeout";#A;constructor(A,Q){let B=`Request timed out${Q?` after ${Q}ms`:""}`;super(B,A);this.#A=B}get ctx(){return hE("Error details",Zk(this.request))}get sanitizedMessage(){return this.#A}}var TkA=gi;var Hk={type:"rest",method:"GET",path:"/api/v4/version"};var vi=JSON;var PkA=(A)=>A.toUpperCase(),SkA=(A)=>{let Q={};return A.forEach((B,D)=>{Q[D]=B}),Q};var jkA=(A,Q,B)=>{return A.document?A:{document:A,variables:Q,requestHeaders:B,signal:void 0}},gkA=(A,Q,B)=>{return A.query?A:{query:A,variables:Q,requestHeaders:B,signal:void 0}},ykA=(A,Q)=>{return A.documents?A:{documents:A,requestHeaders:Q,signal:void 0}};var ga=A1(LpA(),1),RpA=(A)=>{let Q=void 0,B=A.definitions.filter((D)=>D.kind==="OperationDefinition");if(B.length===1)Q=B[0]?.name?.value;return Q},y$=(A)=>{if(typeof A==="string"){let B=void 0;try{let D=ga.parse(A);B=RpA(D)}catch(D){}return{query:A,operationName:B}}let Q=RpA(A);return{query:ga.print(A),operationName:Q}};class HC extends Error{constructor(A,Q){let B=`${HC.extractMessage(A)}: ${JSON.stringify({response:A,request:Q})}`;super(B);if(Object.setPrototypeOf(this,HC.prototype),this.response=A,this.request=Q,typeof Error.captureStackTrace==="function")Error.captureStackTrace(this,HC)}static extractMessage(A){return A.errors?.[0]?.message??`GraphQL Error (Code: ${A.status})`}}var gK=A1(HcA(),1);var OL0="connection_init",LL0="connection_ack",VcA="ping",NcA="pong",RL0="subscribe",TL0="next",PL0="error",McA="complete";class jK{get type(){return this._type}get id(){return this._id}get payload(){return this._payload}constructor(A,Q,B){this._type=A,this._payload=Q,this._id=B}get text(){let A={type:this.type};if(this.id!=null&&this.id!=null)A.id=this.id;if(this.payload!=null&&this.payload!=null)A.payload=this.payload;return JSON.stringify(A)}static parse(A,Q){let{type:B,payload:D,id:E}=JSON.parse(A);return new jK(B,Q(D),E)}}class c7A{constructor(A,{onInit:Q,onAcknowledged:B,onPing:D,onPong:E}){this.socketState={acknowledged:!1,lastRequestId:0,subscriptions:{}},this.socket=A,A.addEventListener("open",async(I)=>{this.socketState.acknowledged=!1,this.socketState.subscriptions={},A.send(jL0(Q?await Q():null).text)}),A.addEventListener("close",(I)=>{this.socketState.acknowledged=!1,this.socketState.subscriptions={}}),A.addEventListener("error",(I)=>{console.error(I)}),A.addEventListener("message",(I)=>{try{let C=SL0(I.data);switch(C.type){case LL0:{if(this.socketState.acknowledged)console.warn("Duplicate CONNECTION_ACK message ignored");else if(this.socketState.acknowledged=!0,B)B(C.payload);return}case VcA:{if(D)D(C.payload).then((U)=>A.send(KcA(U).text));else A.send(KcA(null).text);return}case NcA:{if(E)E(C.payload);return}}if(!this.socketState.acknowledged)return;if(C.id===void 0||C.id===null||!this.socketState.subscriptions[C.id])return;let{query:F,variables:Y,subscriber:J}=this.socketState.subscriptions[C.id];switch(C.type){case TL0:{if(!C.payload.errors&&C.payload.data)J.next&&J.next(C.payload.data);if(C.payload.errors)J.error&&J.error(new HC({...C.payload,status:200},{query:F,variables:Y}));return}case PL0:{J.error&&J.error(new HC({errors:C.payload,status:200},{query:F,variables:Y}));return}case McA:{J.complete&&J.complete(),delete this.socketState.subscriptions[C.id];return}}}catch(C){console.error(C),A.close(1006)}A.close(4400,"Unknown graphql-ws message.")})}makeSubscribe(A,Q,B,D){let E=(this.socketState.lastRequestId++).toString();return this.socketState.subscriptions[E]={query:A,variables:D,subscriber:B},this.socket.send(yL0(E,{query:A,operationName:Q,variables:D}).text),()=>{this.socket.send(vL0(E).text),delete this.socketState.subscriptions[E]}}rawRequest(A,Q){return new Promise((B,D)=>{let E;this.rawSubscribe(A,{next:(I,C)=>E={data:I,extensions:C},error:D,complete:()=>B(E)},Q)})}request(A,Q){return new Promise((B,D)=>{let E;this.subscribe(A,{next:(I)=>E=I,error:D,complete:()=>B(E)},Q)})}subscribe(A,Q,B){let{query:D,operationName:E}=y$(A);return this.makeSubscribe(D,E,Q,B)}rawSubscribe(A,Q,B){return this.makeSubscribe(A,void 0,Q,B)}ping(A){this.socket.send(gL0(A).text)}close(){this.socket.close(1000)}}c7A.PROTOCOL="graphql-transport-ws";function SL0(A,Q=(B)=>B){return jK.parse(A,Q)}function jL0(A){return new jK(OL0,A)}function gL0(A){return new jK(VcA,A,void 0)}function KcA(A){return new jK(NcA,A,void 0)}function yL0(A,Q){return new jK(RL0,Q,A)}function vL0(A){return new jK(McA,void 0,A)}var XR=(A)=>{let Q={};if(A)if(typeof Headers!=="undefined"&&A instanceof Headers||gK&&gK.Headers&&A instanceof gK.Headers)Q=SkA(A);else if(Array.isArray(A))A.forEach(([B,D])=>{if(B&&D!==void 0)Q[B]=D});else Q=A;return Q},$cA=(A)=>A.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),kL0=(A)=>{if(!Array.isArray(A.query)){let D=A,E=[`query=${encodeURIComponent($cA(D.query))}`];if(A.variables)E.push(`variables=${encodeURIComponent(D.jsonSerializer.stringify(D.variables))}`);if(D.operationName)E.push(`operationName=${encodeURIComponent(D.operationName)}`);return E.join("&")}if(typeof A.variables!=="undefined"&&!Array.isArray(A.variables))throw new Error("Cannot create query with given variable type, array expected");let Q=A,B=A.query.reduce((D,E,I)=>{return D.push({query:$cA(E),variables:Q.variables?Q.jsonSerializer.stringify(Q.variables[I]):void 0}),D},[]);return`query=${encodeURIComponent(Q.jsonSerializer.stringify(B))}`},xL0=(A)=>async(Q)=>{let{url:B,query:D,variables:E,operationName:I,fetch:C,fetchOptions:F,middleware:Y}=Q,J={...Q.headers},U="",X=void 0;if(A==="POST"){if(X=bL0(D,E,I,F.jsonSerializer),typeof X==="string")J["Content-Type"]="application/json"}else U=kL0({query:D,variables:E,operationName:I,jsonSerializer:F.jsonSerializer??vi});let z={method:A,headers:J,body:X,...F},G=B,w=z;if(Y){let Z=await Promise.resolve(Y({...z,url:B,operationName:I,variables:E})),{url:V,...M}=Z;G=V,w=M}if(U)G=`${G}?${U}`;return await C(G,w)};class i7A{constructor(A,Q={}){this.url=A,this.requestConfig=Q,this.rawRequest=async(...B)=>{let[D,E,I]=B,C=gkA(D,E,I),{headers:F,fetch:Y=gK.default,method:J="POST",requestMiddleware:U,responseMiddleware:X,...z}=this.requestConfig,{url:G}=this;if(C.signal!==void 0)z.signal=C.signal;let{operationName:w}=y$(C.query);return d7A({url:G,query:C.query,variables:C.variables,headers:{...XR(l7A(F)),...XR(C.requestHeaders)},operationName:w,fetch:Y,method:J,fetchOptions:z,middleware:U}).then((Z)=>{if(X)X(Z);return Z}).catch((Z)=>{if(X)X(Z);throw Z})}}async request(A,...Q){let[B,D]=Q,E=jkA(A,B,D),{headers:I,fetch:C=gK.default,method:F="POST",requestMiddleware:Y,responseMiddleware:J,...U}=this.requestConfig,{url:X}=this;if(E.signal!==void 0)U.signal=E.signal;let{query:z,operationName:G}=y$(E.document);return d7A({url:X,query:z,variables:E.variables,headers:{...XR(l7A(I)),...XR(E.requestHeaders)},operationName:G,fetch:C,method:F,fetchOptions:U,middleware:Y}).then((w)=>{if(J)J(w);return w.data}).catch((w)=>{if(J)J(w);throw w})}batchRequests(A,Q){let B=ykA(A,Q),{headers:D,...E}=this.requestConfig;if(B.signal!==void 0)E.signal=B.signal;let I=B.documents.map(({document:F})=>y$(F).query),C=B.documents.map(({variables:F})=>F);return d7A({url:this.url,query:I,variables:C,headers:{...XR(l7A(D)),...XR(B.requestHeaders)},operationName:void 0,fetch:this.requestConfig.fetch??gK.default,method:this.requestConfig.method||"POST",fetchOptions:E,middleware:this.requestConfig.requestMiddleware}).then((F)=>{if(this.requestConfig.responseMiddleware)this.requestConfig.responseMiddleware(F);return F.data}).catch((F)=>{if(this.requestConfig.responseMiddleware)this.requestConfig.responseMiddleware(F);throw F})}setHeaders(A){return this.requestConfig.headers=A,this}setHeader(A,Q){let{headers:B}=this.requestConfig;if(B)B[A]=Q;else this.requestConfig.headers={[A]:Q};return this}setEndpoint(A){return this.url=A,this}}var d7A=async(A)=>{let{query:Q,variables:B,fetchOptions:D}=A,E=xL0(PkA(A.method??"post")),I=Array.isArray(A.query),C=await E(A),F=await fL0(C,D.jsonSerializer??vi),Y=Array.isArray(F)?!F.some(({data:U})=>!U):Boolean(F.data),J=Array.isArray(F)||!F.errors||Array.isArray(F.errors)&&!F.errors.length||D.errorPolicy==="all"||D.errorPolicy==="ignore";if(C.ok&&J&&Y){let{errors:U,...X}=Array.isArray(F)?F:F,z=D.errorPolicy==="ignore"?X:F;return{...I?{data:z}:z,headers:C.headers,status:C.status}}else throw new HC({...typeof F==="string"?{error:F}:F,status:C.status,headers:C.headers},{query:Q,variables:B})};var bL0=(A,Q,B,D)=>{let E=D??vi;if(!Array.isArray(A))return E.stringify({query:A,variables:Q,operationName:B});if(typeof Q!=="undefined"&&!Array.isArray(Q))throw new Error("Cannot create request body with given variable type, array expected");let I=A.reduce((C,F,Y)=>{return C.push({query:F,variables:Q?Q[Y]:void 0}),C},[]);return E.stringify(I)},fL0=async(A,Q)=>{let B;if(A.headers.forEach((D,E)=>{if(E.toLowerCase()==="content-type")B=D}),B&&(B.toLowerCase().startsWith("application/json")||B.toLowerCase().startsWith("application/graphql+json")||B.toLowerCase().startsWith("application/graphql-response+json")))return Q.parse(await A.text());else return A.text()},l7A=(A)=>{return typeof A==="function"?A():A},mG=(A,...Q)=>{return A.reduce((B,D,E)=>`${B}${D}${E in Q?String(Q[E]):""}`,"")};var _cA=async(A,Q,B)=>{if(!Q.ok){let D=await Q.text().catch(()=>{return});throw new TkA(A,Q,B,D)}};function V9(){return"8.46.1"}var WcA=(A)=>{let Q=A?`${A?.name}:${A?.version}`:"missing client info";return`gitlab-language-server:${V9()} (${Q})`};function qcA(A){return A!==null&&A!==void 0}var a7A=(A,Q)=>{return Object.entries(Q).forEach(([B,D])=>{if(qcA(D))A.searchParams.append(B,String(D))}),A},ha=(A)=>A.toString().replace(/\/?$/,"/"),zR=(A)=>A.replace(/^\.?\/?/,"./"),OcA=(A)=>{if(A.startsWith("git@")){let Q=A.match(/git@([^:]+):(.+)/);if(Q){let[,B,D]=Q;return`https://${B}/${D}`}}if(A.startsWith("git://"))return A.replace("git://","https://");if(A.startsWith("ssh://"))return A.replace("ssh://","https://").replace(/git@([^/]+)/,"$1");return A};var hL0=(A)=>A.split("/").pop()||"unknown resource";class n7A{#A;#Q;#B;#D;#E;constructor(A,Q,B,D,E){this.#A=A,this.#Q=Q,this.#B=new URL(ha(D)),this.#D=E,this.#E=B}getDefaultHeaders(){return{Authorization:`Bearer ${this.#D}`,"User-Agent":WcA(this.#E),"X-Gitlab-Language-Server-Version":V9()}}async fetchFromApiRaw(A){try{let Q=`Unknown request method "${A.method}", request type "${A.type}"`;switch(A.method){case"GET":return await this.#C(A);case"POST":return await this.#F(A);case"PATCH":return await this.#Y(A);case"PUT":return await this.#J(A);case"HEAD":return await this.#U(A);default:throw new Error(Q)}}catch(Q){throw new yi(A,Q)}}async fetchFromApi(A){if(A.type==="graphql")return this.#I(A);let Q=await this.fetchFromApiRaw(A);return await _cA(A,Q,hL0(A.path)),Q.json()}fetchOperation=(A)=>(Q)=>this.fetchFromApi({...A,signal:Q});async#I(A){let Q=new URL("./api/graphql",this.#B),B=Si(A.query);if(B)this.#A.debug(`[SimpleApiClient] Making GraphQL request: ${B}`);let D=async(I,C)=>{let F=I instanceof URL?I.toString():I;return this.#Q.post(F,{...C,headers:{...C?.headers},signal:A.signal})},E=new i7A(Q.href,{fetch:D,headers:{...this.getDefaultHeaders()}});try{return await E.request(A.query,A.variables)}catch(I){if(I instanceof HC)throw new E5A(A,I.response);throw new yi(A,I)}}async#C(A){let Q=zR(A.path),B=new URL(Q,this.#B);return a7A(B,A.searchParams??{}),this.#Q.get(B,{headers:{...this.getDefaultHeaders(),...A.headers},signal:A.signal})}async#F(A){let Q=zR(A.path),B=new URL(Q,this.#B);return this.#Q.post(B,{headers:{"Content-Type":"application/json",...this.getDefaultHeaders(),...A.headers},body:JSON.stringify(A.body),signal:A.signal})}async#Y(A){let Q=zR(A.path),B=new URL(Q,this.#B);return this.#Q.patch(B,{headers:{"Content-Type":"application/json",...this.getDefaultHeaders(),...A.headers},body:JSON.stringify(A.body),signal:A.signal})}async#J(A){let Q=zR(A.path),B=new URL(Q,this.#B);return this.#Q.put(B,{headers:{"Content-Type":"application/json",...this.getDefaultHeaders(),...A.headers},body:JSON.stringify(A.body),signal:A.signal})}async#U(A){let Q=zR(A.path),B=new URL(Q,this.#B);return a7A(B,A.searchParams??{}),this.#Q.head(B,{headers:{...this.getDefaultHeaders(),...A.headers},signal:A.signal})}}var LcA="api",RcA=(A)=>{if(!(A instanceof gi)||!A.isInvalidTokenOrInvalidRefresh())return{valid:!1,reason:"unknown",message:`Token validation failed: ${A}`};return{valid:!1,reason:"invalid_token",message:"Token is invalid or expired."}},TcA=(A)=>{if(A.includes(LcA))return;return{valid:!1,reason:"invalid_scopes",message:`Token has scope(s) ${A.map((B)=>`'${B}'`).join(", ")} (needs ${LcA}).`}};async function uL0(A,Q){let B={type:"rest",method:"GET",path:"/api/v4/personal_access_tokens/self"},{scopes:D}=await A.fetchFromApi(B),E=TcA(D);if(E)return E;return{valid:!0,tokenInfo:{scopes:D,type:"pat",token:Q}}}async function mL0(A,Q){let B={type:"rest",method:"GET",path:"/oauth/token/info"},{scope:D}=await A.fetchFromApi(B),E=TcA(D);if(E)return E;return{valid:!0,tokenInfo:{scopes:D,type:"oauth",token:Q}}}async function PcA(A,Q){if(!Q)return{valid:!1,message:"No token provided",reason:"invalid_token"};let B=await Promise.all([uL0(A,Q).catch(RcA),mL0(A,Q).catch(RcA)]),D=B.find((F)=>F.valid);if(D)return D;let E=B.filter((F)=>!F.valid),I=E.find((F)=>F.reason==="invalid_scopes");if(I)return I;let C=E.find((F)=>F.reason==="invalid_token");if(C)return C;return B[0]}var ua=A1(l1(),1);var o7A=ua.createInterfaceId("ProjectService");class Ux{#A;#Q;constructor(A,Q){this.#A=Q,this.#Q=a1(A,"[ProjectService]")}async getProjectFromPathWithNamespace(A){return this.#Q.debug(`Fetching details for project: ${A}`),this.#A.fetchFromApi({type:"rest",method:"GET",path:`/api/v4/projects/${encodeURIComponent(A)}`})}async getProjectIdsFromPaths(A){return(await this.#A.fetchFromApi({type:"graphql",query:mG`
1131
1131
  query getProjectIds($fullPaths: [String!]!) {
1132
1132
  projects(fullPaths: $fullPaths) {
1133
1133
  nodes {
@@ -1299,7 +1299,7 @@ Please report this to https://github.com/markedjs/marked.`,A){let D="<p>An error
1299
1299
  `).replace("\x1B","").replace("\x1B","").replace(/\[200~/g,"").replace(/\[201~/g,""),F=(Y)=>{let J=Y.includes(X2Q),U=Y.includes(z2Q);if(!E.current&&!(J||U))return{isPasting:!1};if(J&&!U)return E.current=!0,I.current=Y,{isPasting:!0,isFullyParsed:!1};if(E.current&&!U)return I.current+=Y,{isPasting:!0,isFullyParsed:!1};if(E.current&&U){let X=C(I.current+Y);return E.current=!1,I.current="",{isPasting:!0,isFullyParsed:!0,text:X}}return{isPasting:!0,isFullyParsed:!0,text:C(Y)}};JX.useEffect(()=>{D.current=A},[A]),JX.useEffect(()=>{if(!B)return()=>{};let Y=(J)=>{let U=Buffer.from(J).toString(),{isPasting:X,isFullyParsed:z,text:G}=F(U);if(X){if(z){let Z=c7.create({name:"PASTE",text:G});D.current(Z);return}return}let[w]=c7.parse(Buffer.from(J))||[];if(w)D.current(w)};return Q.subscribe(Y),()=>{Q.unsubscribe(Y)}},[B,Q]),If((Y,J)=>{if(B)return;let{isPasting:U,isFullyParsed:X,text:z}=F(Y);if(U){if(X){let w=c7.create({name:P2.PASTE,text:z});D.current(w);return}return}let G=c7.create({name:w2Q(Y,J),text:Y||void 0,shift:J.shift,ctrl:J.ctrl,alt:J.meta,super:!1,event:"press"});D.current(G)})};function w2Q(A,Q){if(Q.upArrow)return P2.UP;if(Q.downArrow)return P2.DOWN;if(Q.leftArrow)return P2.LEFT;if(Q.rightArrow)return P2.RIGHT;if(Q.pageDown)return P2.PAGE_DOWN;if(Q.pageUp)return P2.PAGE_UP;if(Q.return)return P2.ENTER;if(Q.escape)return P2.ESC;if(Q.tab)return P2.TAB;if(Q.backspace)return P2.BACKSPACE;if(Q.delete)return P2.DELETE;if(Q.home)return P2.HOME;if(Q.end)return P2.END;return A||""}var Qs=({value:A,onChange:Q,placeholder:B="",masked:D,inputContext:E={contextActions:[],noContextAction(){}},initialTextBuffer:I=new Ef(A)})=>{let[{textBuffer:C},F]=tT.useState({textBuffer:I}),{contextActions:Y,noContextAction:J}=E;tT.useEffect(()=>{C.onBufferChange=()=>{F({textBuffer:C})}},[C]),sF((G)=>{if(YU.isEnter(G))return;if(G.name===P2.PASTE&&G.text){let V=G.text;C.insert(V,!0)}if(G.event==="press"){if(G.name===P2.HOME)C.home();else if(G.name===P2.END)C.end();else if(YU.isShiftEnter(G))C.insert(`
1300
1300
  `);else if(G.name===P2.LEFT&&(G.ctrl||G.alt))C.wordLeft();else if(G.name===P2.RIGHT&&(G.ctrl||G.alt))C.wordRight();else if(G.name===P2.LEFT)C.left();else if(G.name===P2.RIGHT)C.right();else if((G.name===P2.BACKSPACE||G.name===P2.DELETE)&&(G.ctrl||G.alt))C.deleteWordToCursor();else if(G.name===P2.BACKSPACE||G.name===P2.DELETE)C.delete();else if(G.text&&!YU.isSpecialKey(G)&&!G.ctrl&&!G.alt)C.insert(G.text)}let w=C.getWordAtCursor(),Z=!1;for(let V of Y)if(w.startsWith(V.activationSequence.inputChar)){let M=w.substring(V.activationSequence.inputChar.length);lJ(V.actionCallback(M)),Z=!0;break}if(G.name===P2.UP&&!Z)C.up();else if(G.name===P2.DOWN&&!Z)C.down();if(!Z)J();if(C.text!==A)Q(C.text)}),C.setText(A);let{lines:U,cursor:X}=C;return k1(IQ,{flexDirection:"column",children:vQ(IQ,{borderLeft:!1,borderRight:!1,borderStyle:"single",borderColor:"gray",children:[k1($0,{children:"> "}),(()=>{if(U.length===1&&U[0]==="")return vQ(YX,{children:[k1($0,{children:"█ "}),k1($0,{dimColor:!0,children:B})]});return k1($0,{children:U.map((G,w)=>vQ(tT.default.Fragment,{children:[w===X.line?vQ(YX,{children:[k1($0,{children:V_(G.slice(0,X.column),D)}),k1($0,{inverse:!0,children:G[X.column]?V_(G[X.column],D):" "}),k1($0,{children:V_(G.slice(X.column+1),D)})]}):k1($0,{children:V_(G,D)}),w<U.length-1&&`
1301
1301
  `]},w))})})()]})})};var Bs=(A)=>{sF((Q)=>{if(YU.isEnter(Q))A()})},eT=(A)=>{sF((Q)=>{if(YU.isCtrl("c",Q))A()})},_C1=(A)=>{sF((Q)=>{if(YU.isCtrl("o",Q))A()})},WC1=(A)=>{sF((Q)=>{if(YU.isCtrl("s",Q))A()})};var qC1=({input:A,callbacks:Q})=>{let[B,D]=M_.useState(A.lines.join(`
1302
- `)),[E,I]=M_.useState(""),[C,F]=M_.useState([]),[Y,J]=M_.useState(0),U=M_.useRef(new Ef(B)),X=()=>{let V=C[Y];U.current.replaceWordAtCursor(`@${V}`),D(U.current.text),F([])},z=()=>{D(""),F([])};return Bs(()=>{if(C.length)X();else Q.onSubmit(B),z()}),eT(()=>{if(B.trim())z();else Q.onExit()}),sF((V)=>{if(C.length>0){if(V.name===P2.DOWN)J((M)=>{return Math.min(C.length-1,M+1)});if(V.name===P2.UP)J((M)=>{return Math.max(0,M-1)});if(V.name===P2.TAB){if(C.length)X()}}}),vQ(YX,{children:[k1(Qs,{value:B,onChange:(V)=>{D(V)},placeholder:"Type your message here... • Ctrl+C to exit",inputContext:{contextActions:[{activationSequence:{inputChar:"@"},actionCallback:async(V)=>{let M=V.trim();if(I(M),M&&M!==E){let _=await Q.onFileSearch(V);F(_.slice(0,10))}}}],noContextAction(){F([])}},initialTextBuffer:U.current}),C.length>0&&C.map((V,M)=>{return k1(IQ,{children:k1($0,{inverse:M===Y,children:V})},V)}),C.length>0&&k1(IQ,{borderLeft:!1,borderRight:!1,borderBottom:!1,borderStyle:"single",borderColor:"gray",children:k1($0,{dimColor:!0,children:k1(EV,{markdown:"Press ↑/↓ to select • *Tab* or *Enter* to apply"})})})]})};var OC1=({input:A,callbacks:Q})=>{let B=A.choiceOptions||[],D=A.selectedChoiceIndex??0;return eT(()=>{Q.onExit()}),vQ(IQ,{flexDirection:"column",children:[k1(IQ,{borderStyle:"single",borderColor:"gray",paddingX:1,children:k1($0,{color:"dim",children:"Select an option:"})}),k1(IQ,{flexDirection:"column",paddingLeft:2,paddingY:1,children:B.map((E,I)=>{let C=I===D;return vQ(IQ,{marginBottom:E.description?0:0,children:[vQ($0,{color:C?"cyan":"white",bold:C,children:[C?"› ":" ",E.label]}),E.description&&vQ($0,{color:"dim",children:[" - ",E.description]})]},I)})}),k1($0,{dimColor:!0,children:"Use ↑/↓ arrows to navigate • Enter to select • Ctrl+C to exit"})]})};var $_={TEXT:"text",CHOICE:"choice"};var LC1=({input:A,callbacks:Q})=>{switch(If((B,D)=>{Q.onKeyPress(B,D)}),A.inputType){case $_.TEXT:return k1(qC1,{input:A,callbacks:Q});case $_.CHOICE:return k1(OC1,{input:A,callbacks:Q});default:return null}};var RC1=()=>{return k1(IQ,{paddingLeft:2,children:k1($0,{color:"yellow",children:"\uD83E\uDD16 Duo is thinking..."})})};var TC1=({error:A})=>{return vQ(IQ,{flexDirection:"column",marginY:0,children:[k1(IQ,{children:k1($0,{color:"red",children:"❌ Error:"})}),k1(IQ,{paddingLeft:2,children:k1($0,{color:"red",children:A})}),k1(DU,{})]})};var PC1=({state:A,callbacks:Q})=>{_C1(Q.toggleExpanded);let B=A.elements.length===1,D=A.isLoading&&A.elements.length>0||B,E=D?A.elements.slice(0,-1):A.elements,I=D?A.elements.slice(-1):[],C=({element:F,index:Y})=>{if(F.type==="message")return k1(nI1,{message:F},`${F.id}-${Y}`);if(F.type==="error")return k1(TC1,{error:F.error},`${F.id}-${Y}`);return k1(HC1,{tool:F,expanded:A.expanded},`${F.id}-${Y}`)};return vQ(IQ,{flexDirection:"column",height:"100%",children:[vQ(IQ,{flexDirection:"column",flexGrow:1,marginBottom:1,children:[E.length>0&&k1(ro,{items:E,children:(F,Y)=>k1(IQ,{children:k1(C,{element:F,index:E.length+Y})},`static-${F.id}-${Y}`)}),I.map((F,Y)=>k1(IQ,{children:k1(C,{element:F,index:E.length+Y})},`live-${F.id}`))]}),k1(LC1,{input:A.input,callbacks:Q}),A.isLoading&&k1(RC1,{})]})};var VJA=({state:A,callbacks:Q})=>{if(A.criticalErrorMessage)return k1(IQ,{children:k1($0,{color:"red",children:A.criticalErrorMessage})});return k1(PC1,{state:A,callbacks:Q})};var AP=A1(M6(),1);var Ds={gitlabRed:"#e2432a",gitlabOrange:"#fc6d27",gitlabYellow:"#fca326",gitlabPurple:"#554488",gitlabGrey:"#8c929d",white:"#FFFFFF"};var SC1=()=>{let{gitlabRed:A,gitlabOrange:Q,gitlabYellow:B}=Ds;return vQ(IQ,{flexDirection:"column",children:[k1($0,{color:A,children:" .. .. "}),k1($0,{color:A,children:" .+= =+. "}),vQ($0,{children:[" ",k1($0,{color:A,children:".-+*"}),k1($0,{color:A,children:"===="}),k1($0,{color:A,children:"*+-."})]}),vQ($0,{children:[" ",k1($0,{color:Q,children:".=="}),k1($0,{color:A,children:"+****+"}),k1($0,{color:Q,children:"==."})]}),vQ($0,{children:[k1($0,{color:Q,children:" .==*"}),k1($0,{color:A,children:"++"}),k1($0,{color:Q,children:"*==. "})]}),vQ($0,{children:[k1($0,{color:Q,children:" '.="}),k1($0,{color:B,children:"--"}),k1($0,{color:Q,children:"=.' "})]}),k1($0,{color:B,children:" '**' "})]})};var jC1=({version:A})=>{return vQ(IQ,{borderStyle:"round",children:[k1(IQ,{children:k1(SC1,{})}),vQ(IQ,{flexDirection:"column",children:[k1(Wb,{}),k1($0,{children:"GitLab Duo CLI"}),k1(DU,{}),vQ($0,{children:["Version: ",A]}),k1(Wb,{})]})]})};var{gitlabPurple:Z2Q,white:H2Q}=Ds,K2Q=({entry:A,isActive:Q})=>{let B=Q?Z2Q:void 0,D=Q?H2Q:void 0,E=A.value?V_(A.value,A.isSensitive):"Not set";return vQ(IQ,{paddingX:1,paddingY:1,children:[k1(IQ,{flexGrow:2,flexShrink:0,flexBasis:0,children:vQ($0,{color:D,backgroundColor:B,children:[Q?"▸ ":" ",A.displayName]})}),k1(IQ,{flexGrow:2,flexShrink:0,flexBasis:0,paddingLeft:2,children:k1($0,{children:E})}),k1(IQ,{flexGrow:3,flexShrink:0,flexBasis:0,paddingLeft:2,children:k1($0,{dimColor:!0,children:A.description})})]})},gC1=({state:A,configurationIndex:Q})=>{let B=A.configurationEntries[Q];return vQ(IQ,{flexDirection:"column",children:[vQ(IQ,{paddingX:1,paddingTop:1,children:[k1(IQ,{flexGrow:2,flexShrink:0,flexBasis:0,children:k1($0,{bold:!0,children:"Setting"})}),k1(IQ,{flexGrow:2,flexShrink:0,flexBasis:0,paddingLeft:2,children:k1($0,{bold:!0,children:"Current Value"})}),k1(IQ,{flexGrow:3,flexShrink:0,flexBasis:0,paddingLeft:2,children:k1($0,{bold:!0,children:"Description"})})]}),A.configurationEntries.map((D)=>k1(K2Q,{entry:D,isActive:D.key===B.key},D.key))]})};var yC1=({initialState:A,controller:Q})=>{let{duoCliVersion:B}=AP.useContext(rT),[D,E]=AP.useState(0),[I,C]=AP.useState(A),F=I.configurationEntries[D],[Y,J]=AP.useState(F.value);eT(()=>Q.exit());let U=()=>{E((G)=>{let w=Math.min(I.configurationEntries.length-1,G+1);return J(I.configurationEntries[w].value),w})};sF((G)=>{if(G.name===P2.TAB&&!G.shift)U();if(G.name===P2.TAB&&G.shift)E((w)=>{let Z=Math.max(0,w-1);return J(I.configurationEntries[Z].value),Z})}),WC1(async()=>{(await Q.saveConfig(I)).match(()=>{Q.exit()},(w)=>{throw w})}),Bs(()=>{let G=[...I.configurationEntries];G[D].value=Y||G[D].defaultValue,C({configurationEntries:G}),U()});let X=(G)=>{J(G)},z=F.defaultValue===""?`Please enter your ${F.displayName}.`:`Please enter your ${F.displayName}. Press Enter to use ${F.defaultValue}.`;return vQ(IQ,{flexDirection:"column",children:[k1(jC1,{version:B}),k1(gC1,{state:I,configurationIndex:D,inputValue:Y,onValueChange:X}),k1(Qs,{value:Y,onChange:X,placeholder:z,masked:F.isSensitive}),k1(IQ,{paddingX:2,paddingTop:1,children:k1($0,{dimColor:!0,children:k1(EV,{markdown:"Press *Enter* to apply • *Tab/Shift+Tab* to navigate forward/back • *Ctrl+S* to save and exit • *Ctrl+C* to exit without saving"})})})]})};var QP={inputType:"text",lines:[""],cursorLine:0,cursorColumn:0},NJA={elements:[],isLoading:!1,input:QP,expanded:!1};var vC1=A1(M6(),1);var V2Q=({envInfo:A,children:Q})=>{if(A.environment==="development")return k1(vC1.StrictMode,{children:Q});return k1(YX,{children:Q})},Cf=(A,Q)=>{let B=Q.isKittyProtocolSupported,D=[],E=()=>D.reverse().forEach((Y)=>Y());if(process.stdout.write("\x1B]0;GitLab Duo CLI\x07"),process.stdout.write("\x1B[?2004h"),D.push(()=>process.stdout.write("\x1B[?2004l")),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",E),B){let Y=N_({disambiguate:!0,events:!0,alternates:!0,text:!0});process.stdout.write(Y),process.stdin.setRawMode(!0),D.push(()=>{process.stdin.setRawMode(!1)}),D.push(()=>{process.stdout.write(N_({})),process.stdout.write("\x1B[<u"),process.stdout.write("\x1B[>0u"),process.stdout.write("\x1B[<u")})}let I=new er;I.startStdinListening(),D.push(()=>I.dispose());let C=k1(sT,{value:I,children:k1(rT,{value:Q,children:k1(V2Q,{envInfo:Q,children:A})})}),{waitUntilExit:F}=LFA(C,{exitOnCtrlC:!1});F().then(()=>{E(),process.exit(0)}).catch((Y)=>{E(),console.error(Y),process.exit(1)})};function kC1(){let A=process.env.TERM_PROGRAM,Q=process.env.TERM;if(A)return A;if(process.env.KITTY_WINDOW_ID)return"Kitty";if(process.env.ALACRITTY_SOCKET)return"Alacritty";if(process.env.GNOME_TERMINAL_SCREEN)return"GnomeTerminal";if(Q?.includes("kitty"))return"Kitty";return"Unknown"}async function xC1(){return new Promise((A)=>{let{stdin:Q,stdout:B}=process;Q.setRawMode(!0);let D=()=>{clearTimeout(E),B.write(N_({})),Q.setRawMode(!1),Q.off("data",I)},E=setTimeout(()=>{D(),A(!1)},100),I=(C)=>{if(KJA(C)?.disambiguate)D(),A(!0)};Q.on("data",I),B.write(N_({disambiguate:!0})),B.write(HJA)})}var tl=A1(M6(),1);import{join as yL2,relative as vL2}from"node:path";var MJA=A1(l1(),1),d16=MJA.createInterfaceId("RepositoryService"),yD=MJA.createInterfaceId("RepositoryDiscoveryService");var bC1=A1(l1(),1),fC1=bC1.createInterfaceId("GitLsFiles");function hC1(A){return A instanceof Error&&"code"in A&&A.code==="InternalError"&&A.message.includes("Unsupported dircache version: ")}var uC1=A1(l1(),1),mC1=uC1.createInterfaceId("GitConfigCommand");var N2Q=(A)=>{let{pathname:Q}=Qn(A)||{};return Q?Q.replace(/\/$/,""):""},M2Q=(A)=>A.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&");function pC1(A){let Q=A.match("^\\[([a-zA-Z0-9_-]+@.*?):(\\d+)\\]:(.*)$");if(Q)return`ssh://${Q[1]}:${Q[2]}/${Q[3]}`;let B=A.match("^ssh://([a-zA-Z0-9_-]+@.*?):(\\d+)(.*)$");if(B)return`ssh://${B[1]}:${B[2]}${B[3]}`;let D=A.match("([a-zA-Z0-9_-]+@[^:]+):(\\d+)/(.*)$");if(D)return`ssh://${D[1]}:${D[2]}/${D[3]}`;let E=A.match("([a-zA-Z0-9_-]+@.*?):(.*)");if(E)return`ssh://${E[1]}/${E[2]}`;if(A.match("^[a-zA-Z0-9_-]+@"))return`ssh://${A}`;return A}async function cC1(A,Q){try{let B=await A.listRemotes(),D=B.find((E)=>E.remote==="origin")??B[0];if(!D?.url)return;return $2Q(D.url,Q)}catch(B){let D=B instanceof Error?B.message:String(B);throw new Error(`Failed to parse GitLab remotes from repository: ${D}`)}}function $2Q(A,Q){let{hostname:B,host:D,pathname:E}=Qn(pC1(A))||{};if(!D||!E)return;if(B!==Qn(pC1(Q))?.hostname)return;let C=Q||Q.trim()!==""?M2Q(N2Q(Q)):"",F=E.match(`(?:${C})?/:?(.+)/([^/]+?)(?:.git)?/?$`);if(!F)return;let[Y,J]=F.slice(1,3),U=`${Y}/${J}`;return{host:D,namespace:Y,projectPath:J,namespaceWithPath:U}}var _2Q=["node_modules","dist",".bundle",".idea",".vscode","__pycache__",".mypy_cache",".pytest_cache",".tox",".venv"],dC1=_2Q;var Es=A1(l1(),1);var W2Q=[{description:"Adafruit API Key",id:"adafruit-api-key",regex:`(?i)(?:adafruit)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9_-]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["adafruit"]},{description:"Adobe Client ID (OAuth Web)",id:"adobe-client-id",regex:`(?i)(?:adobe)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["adobe"]},{description:"Adobe Client Secret",id:"adobe-client-secret",regex:"(?i)\\b((p8e-)(?i)[a-z0-9]{32})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["p8e-"]},{description:"Age secret key",id:"age secret key",regex:"AGE-SECRET-KEY-1[QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7L]{58}",keywords:["age-secret-key-1"]},{description:"Airtable API Key",id:"airtable-api-key",regex:`(?i)(?:airtable)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{17})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["airtable"]},{description:"Algolia API Key",id:"algolia-api-key",regex:`(?i)(?:algolia)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,keywords:["algolia"]},{description:"Alibaba AccessKey ID",id:"alibaba-access-key-id",regex:"(?i)\\b((LTAI)(?i)[a-z0-9]{20})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["ltai"]},{description:"Alibaba Secret Key",id:"alibaba-secret-key",regex:`(?i)(?:alibaba)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{30})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["alibaba"]},{description:"Asana Client ID",id:"asana-client-id",regex:`(?i)(?:asana)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9]{16})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["asana"]},{description:"Asana Client Secret",id:"asana-client-secret",regex:`(?i)(?:asana)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["asana"]},{description:"Atlassian API token",id:"atlassian-api-token",regex:`(?i)(?:atlassian|confluence|jira)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{24})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["atlassian","confluence","jira"]},{description:"Authress Service Client Access Key",id:"authress-service-client-access-key",regex:"(?i)\\b((?:sc|ext|scauth|authress)_[a-z0-9]{5,30}\\.[a-z0-9]{4,6}\\.acc_[a-z0-9-]{10,32}\\.[a-z0-9+/_=-]{30,120})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["sc_","ext_","scauth_","authress_"]},{description:"AWS",id:"aws-access-token",regex:"(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}",keywords:["akia","agpa","aida","aroa","aipa","anpa","anva","asia"]},{description:"Beamer API token",id:"beamer-api-token",regex:`(?i)(?:beamer)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(b_[a-z0-9=_\\-]{44})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["beamer"]},{description:"Bitbucket Client ID",id:"bitbucket-client-id",regex:`(?i)(?:bitbucket)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bitbucket"]},{description:"Bitbucket Client Secret",id:"bitbucket-client-secret",regex:`(?i)(?:bitbucket)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bitbucket"]},{description:"Bittrex Access Key",id:"bittrex-access-key",regex:`(?i)(?:bittrex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bittrex"]},{description:"Bittrex Secret Key",id:"bittrex-secret-key",regex:`(?i)(?:bittrex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bittrex"]},{description:"Clojars API token",id:"clojars-api-token",regex:"(?i)(CLOJARS_)[a-z0-9]{60}",keywords:["clojars"]},{description:"Codecov Access Token",id:"codecov-access-token",regex:`(?i)(?:codecov)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["codecov"]},{description:"Coinbase Access Token",id:"coinbase-access-token",regex:`(?i)(?:coinbase)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9_-]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["coinbase"]},{description:"Confluent Access Token",id:"confluent-access-token",regex:`(?i)(?:confluent)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{16})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["confluent"]},{description:"Confluent Secret Key",id:"confluent-secret-key",regex:`(?i)(?:confluent)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["confluent"]},{description:"Contentful delivery API token",id:"contentful-delivery-api-token",regex:`(?i)(?:contentful)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{43})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["contentful"]},{description:"Databricks API token",id:"databricks-api-token",regex:"(?i)\\b(dapi[a-h0-9]{32})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["dapi"]},{description:"Datadog Access Token",id:"datadog-access-token",regex:`(?i)(?:datadog)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["datadog"]},{description:"Defined Networking API token",id:"defined-networking-api-token",regex:`(?i)(?:dnkey)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(dnkey-[a-z0-9=_\\-]{26}-[a-z0-9=_\\-]{52})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["dnkey"]},{description:"DigitalOcean OAuth Access Token",id:"digitalocean-access-token",regex:"(?i)\\b(doo_v1_[a-f0-9]{64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["doo_v1_"]},{description:"DigitalOcean Personal Access Token",id:"digitalocean-pat",regex:"(?i)\\b(dop_v1_[a-f0-9]{64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["dop_v1_"]},{description:"DigitalOcean OAuth Refresh Token",id:"digitalocean-refresh-token",regex:"(?i)\\b(dor_v1_[a-f0-9]{64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["dor_v1_"]},{description:"Discord API key",id:"discord-api-token",regex:`(?i)(?:discord)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["discord"]},{description:"Discord client ID",id:"discord-client-id",regex:`(?i)(?:discord)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9]{18})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["discord"]},{description:"Discord client secret",id:"discord-client-secret",regex:`(?i)(?:discord)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["discord"]},{description:"Doppler API token",id:"doppler-api-token",regex:"(dp\\.pt\\.)(?i)[a-z0-9]{43}",keywords:["doppler"]},{description:"Droneci Access Token",id:"droneci-access-token",regex:`(?i)(?:droneci)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["droneci"]},{description:"Dropbox API secret",id:"dropbox-api-token",regex:`(?i)(?:dropbox)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{15})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["dropbox"]},{description:"Dropbox long lived API token",id:"dropbox-long-lived-api-token",regex:`(?i)(?:dropbox)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{11}(AAAAAAAAAA)[a-z0-9\\-_=]{43})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,keywords:["dropbox"]},{description:"Dropbox short lived API token",id:"dropbox-short-lived-api-token",regex:`(?i)(?:dropbox)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(sl\\.[a-z0-9\\-=_]{135})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,keywords:["dropbox"]},{description:"Duffel API token",id:"duffel-api-token",regex:"duffel_(test|live)_(?i)[a-z0-9_\\-=]{43}",keywords:["duffel"]},{description:"Dynatrace API token",id:"dynatrace-api-token",regex:"dt0c01\\.(?i)[a-z0-9]{24}\\.[a-z0-9]{64}",keywords:["dynatrace"]},{description:"EasyPost API token",id:"easypost-api-token",regex:"\\bEZAK(?i)[a-z0-9]{54}",keywords:["ezak"]},{description:"EasyPost test API token",id:"easypost-test-api-token",regex:"\\bEZTK(?i)[a-z0-9]{54}",keywords:["eztk"]},{description:"Etsy Access Token",id:"etsy-access-token",regex:`(?i)(?:etsy)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{24})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["etsy"]},{description:"Facebook Access Token",id:"facebook",regex:`(?i)(?:facebook)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["facebook"]},{description:"Fastly API key",id:"fastly-api-token",regex:`(?i)(?:fastly)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["fastly"]},{description:"Finicity API token",id:"finicity-api-token",regex:`(?i)(?:finicity)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["finicity"]},{description:"Finicity Client Secret",id:"finicity-client-secret",regex:`(?i)(?:finicity)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{20})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["finicity"]},{description:"Finnhub Access Token",id:"finnhub-access-token",regex:`(?i)(?:finnhub)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{20})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["finnhub"]},{description:"Flickr Access Token",id:"flickr-access-token",regex:`(?i)(?:flickr)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["flickr"]},{description:"Flutterwave Encryption Key",id:"flutterwave-encryption-key",regex:"FLWSECK_TEST-(?i)[a-h0-9]{12}",keywords:["flwseck_test"]},{description:"Finicity Public Key",id:"flutterwave-public-key",regex:"FLWPUBK_TEST-(?i)[a-h0-9]{32}-X",keywords:["flwpubk_test"]},{description:"Flutterwave Secret Key",id:"flutterwave-secret-key",regex:"FLWSECK_TEST-(?i)[a-h0-9]{32}-X",keywords:["flwseck_test"]},{description:"Frame.io API token",id:"frameio-api-token",regex:"fio-u-(?i)[a-z0-9\\-_=]{64}",keywords:["fio-u-"]},{description:"Freshbooks Access Token",id:"freshbooks-access-token",regex:`(?i)(?:freshbooks)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["freshbooks"]},{description:"GCP API key",id:"gcp-api-key",regex:"(?i)\\b(AIza[0-9A-Za-z\\\\-_]{35})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["aiza"]},{description:"Generic API Key",id:"generic-api-key",regex:`(?i)(?:key|api|token|secret|client|passwd|password|auth|access)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-z\\-_.=]{10,150})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,entropy:3.5,keywords:["key","api","token","secret","client","passwd","password","auth","access"],allowlist:{stopwords:["client","endpoint","vpn","_ec2_","aws_","authorize","author","define","config","credential","setting","sample","xxxxxx","000000","buffer","delete","aaaaaa","fewfwef","getenv","env_","system","example","ecdsa","sha256","sha1","sha2","md5","alert","wizard","target","onboard","welcome","page","exploit","experiment","expire","rabbitmq","scraper","widget","music","dns_","dns-","yahoo","want","json","action","script","fix_","fix-","develop","compas","stripe","service","master","metric","tech","gitignore","rich","open","stack","irc_","irc-","sublime","kohana","has_","has-","fabric","wordpres","role","osx_","osx-","boost","addres","queue","working","sandbox","internet","print","vision","tracking","being","generator","traffic","world","pull","rust","watcher","small","auth","full","hash","more","install","auto","complete","learn","paper","installer","research","acces","last","binding","spine","into","chat","algorithm","resource","uploader","video","maker","next","proc","lock","robot","snake","patch","matrix","drill","terminal","term","stuff","genetic","generic","identity","audit","pattern","audio","web_","web-","crud","problem","statu","cms-","cms_","arch","coffee","workflow","changelog","another","uiview","content","kitchen","gnu_","gnu-","gnu.","conf","couchdb","client","opencv","rendering","update","concept","varnish","gui_","gui-","gui.","version","shared","extra","product","still","not_","not-","not.","drop","ring","png_","png-","png.","actively","import","output","backup","start","embedded","registry","pool","semantic","instagram","bash","system","ninja","drupal","jquery","polyfill","physic","league","guide","pack","synopsi","sketch","injection","svg_","svg-","svg.","friendly","wave","convert","manage","camera","link","slide","timer","wrapper","gallery","url_","url-","url.","todomvc","requirej","party","http","payment","async","library","home","coco","gaia","display","universal","func","metadata","hipchat","under","room","config","personal","realtime","resume","database","testing","tiny","basic","forum","meetup","yet_","yet-","yet.","cento","dead","fluentd","editor","utilitie","run_","run-","run.","box_","box-","box.","bot_","bot-","bot.","making","sample","group","monitor","ajax","parallel","cassandra","ultimate","site","get_","get-","get.","gen_","gen-","gen.","gem_","gem-","gem.","extended","image","knife","asset","nested","zero","plugin","bracket","mule","mozilla","number","act_","act-","act.","map_","map-","map.","micro","debug","openshift","chart","expres","backend","task","source","translate","jbos","composer","sqlite","profile","mustache","mqtt","yeoman","have","builder","smart","like","oauth","school","guideline","captcha","filter","bitcoin","bridge","color","toolbox","discovery","new_","new-","new.","dashboard","when","setting","level","post","standard","port","platform","yui_","yui-","yui.","grunt","animation","haskell","icon","latex","cheat","lua_","lua-","lua.","gulp","case","author","without","simulator","wifi","directory","lisp","list","flat","adventure","story","storm","gpu_","gpu-","gpu.","store","caching","attention","solr","logger","demo","shortener","hadoop","finder","phone","pipeline","range","textmate","showcase","app_","app-","app.","idiomatic","edit","our_","our-","our.","out_","out-","out.","sentiment","linked","why_","why-","why.","local","cube","gmail","job_","job-","job.","rpc_","rpc-","rpc.","contest","tcp_","tcp-","tcp.","usage","buildout","weather","transfer","automated","sphinx","issue","sas_","sas-","sas.","parallax","jasmine","addon","machine","solution","dsl_","dsl-","dsl.","episode","menu","theme","best","adapter","debugger","chrome","tutorial","life","step","people","joomla","paypal","developer","solver","team","current","love","visual","date","data","canva","container","future","xml_","xml-","xml.","twig","nagio","spatial","original","sync","archived","refinery","science","mapping","gitlab","play","ext_","ext-","ext.","session","impact","set_","set-","set.","see_","see-","see.","migration","commit","community","shopify","what'","cucumber","statamic","mysql","location","tower","line","code","amqp","hello","send","index","high","notebook","alloy","python","field","document","soap","edition","email","php_","php-","php.","command","transport","official","upload","study","secure","angularj","akka","scalable","package","request","con_","con-","con.","flexible","security","comment","module","flask","graph","flash","apache","change","window","space","lambda","sheet","bookmark","carousel","friend","objective","jekyll","bootstrap","first","article","gwt_","gwt-","gwt.","classic","media","websocket","touch","desktop","real","read","recorder","moved","storage","validator","add-on","pusher","scs_","scs-","scs.","inline","asp_","asp-","asp.","timeline","base","encoding","ffmpeg","kindle","tinymce","pretty","jpa_","jpa-","jpa.","used","user","required","webhook","download","resque","espresso","cloud","mongo","benchmark","pure","cakephp","modx","mode","reactive","fuel","written","flickr","mail","brunch","meteor","dynamic","neo_","neo-","neo.","new_","new-","new.","net_","net-","net.","typo","type","keyboard","erlang","adobe","logging","ckeditor","message","iso_","iso-","iso.","hook","ldap","folder","reference","railscast","www_","www-","www.","tracker","azure","fork","form","digital","exporter","skin","string","template","designer","gollum","fluent","entity","language","alfred","summary","wiki","kernel","calendar","plupload","symfony","foundry","remote","talk","search","dev_","dev-","dev.","del_","del-","del.","token","idea","sencha","selector","interface","create","fun_","fun-","fun.","groovy","query","grail","red_","red-","red.","laravel","monkey","slack","supported","instant","value","center","latest","work","but_","but-","but.","bug_","bug-","bug.","virtual","tweet","statsd","studio","path","real-time","frontend","notifier","coding","tool","firmware","flow","random","mediawiki","bosh","been","beer","lightbox","theory","origin","redmine","hub_","hub-","hub.","require","pro_","pro-","pro.","ant_","ant-","ant.","any_","any-","any.","recipe","closure","mapper","event","todo","model","redi","provider","rvm_","rvm-","rvm.","program","memcached","rail","silex","foreman","activity","license","strategy","batch","streaming","fast","use_","use-","use.","usb_","usb-","usb.","impres","academy","slider","please","layer","cros","now_","now-","now.","miner","extension","own_","own-","own.","app_","app-","app.","debian","symphony","example","feature","serie","tree","project","runner","entry","leetcode","layout","webrtc","logic","login","worker","toolkit","mocha","support","back","inside","device","jenkin","contact","fake","awesome","ocaml","bit_","bit-","bit.","drive","screen","prototype","gist","binary","nosql","rest","overview","dart","dark","emac","mongoid","solarized","homepage","emulator","commander","django","yandex","gradle","xcode","writer","crm_","crm-","crm.","jade","startup","error","using","format","name","spring","parser","scratch","magic","try_","try-","try.","rack","directive","challenge","slim","counter","element","chosen","doc_","doc-","doc.","meta","should","button","packet","stream","hardware","android","infinite","password","software","ghost","xamarin","spec","chef","interview","hubot","mvc_","mvc-","mvc.","exercise","leaflet","launcher","air_","air-","air.","photo","board","boxen","way_","way-","way.","computing","welcome","notepad","portfolio","cat_","cat-","cat.","can_","can-","can.","magento","yaml","domain","card","yii_","yii-","yii.","checker","browser","upgrade","only","progres","aura","ruby_","ruby-","ruby.","polymer","util","lite","hackathon","rule","log_","log-","log.","opengl","stanford","skeleton","history","inspector","help","soon","selenium","lab_","lab-","lab.","scheme","schema","look","ready","leveldb","docker","game","minimal","logstash","messaging","within","heroku","mongodb","kata","suite","picker","win_","win-","win.","wip_","wip-","wip.","panel","started","starter","front-end","detector","deploy","editing","based","admin","capture","spree","page","bundle","goal","rpg_","rpg-","rpg.","setup","side","mean","reader","cookbook","mini","modern","seed","dom_","dom-","dom.","doc_","doc-","doc.","dot_","dot-","dot.","syntax","sugar","loader","website","make","kit_","kit-","kit.","protocol","human","daemon","golang","manager","countdown","connector","swagger","map_","map-","map.","mac_","mac-","mac.","man_","man-","man.","orm_","orm-","orm.","org_","org-","org.","little","zsh_","zsh-","zsh.","shop","show","workshop","money","grid","server","octopres","svn_","svn-","svn.","ember","embed","general","file","important","dropbox","portable","public","docpad","fish","sbt_","sbt-","sbt.","done","para","network","common","readme","popup","simple","purpose","mirror","single","cordova","exchange","object","design","gateway","account","lamp","intellij","math","mit_","mit-","mit.","control","enhanced","emitter","multi","add_","add-","add.","about","socket","preview","vagrant","cli_","cli-","cli.","powerful","top_","top-","top.","radio","watch","fluid","amazon","report","couchbase","automatic","detection","sprite","pyramid","portal","advanced","plu_","plu-","plu.","runtime","git_","git-","git.","uri_","uri-","uri.","haml","node","sql_","sql-","sql.","cool","core","obsolete","handler","iphone","extractor","array","copy","nlp_","nlp-","nlp.","reveal","pop_","pop-","pop.","engine","parse","check","html","nest","all_","all-","all.","chinese","buildpack","what","tag_","tag-","tag.","proxy","style","cookie","feed","restful","compiler","creating","prelude","context","java","rspec","mock","backbone","light","spotify","flex","related","shell","which","clas","webapp","swift","ansible","unity","console","tumblr","export","campfire","conway'","made","riak","hero","here","unix","unit","glas","smtp","how_","how-","how.","hot_","hot-","hot.","debug","release","diff","player","easy","right","old_","old-","old.","animate","time","push","explorer","course","training","nette","router","draft","structure","note","salt","where","spark","trello","power","method","social","via_","via-","via.","vim_","vim-","vim.","select","webkit","github","ftp_","ftp-","ftp.","creator","mongoose","led_","led-","led.","movie","currently","pdf_","pdf-","pdf.","load","markdown","phalcon","input","custom","atom","oracle","phonegap","ubuntu","great","rdf_","rdf-","rdf.","popcorn","firefox","zip_","zip-","zip.","cuda","dotfile","static","openwrt","viewer","powered","graphic","les_","les-","les.","doe_","doe-","doe.","maven","word","eclipse","lab_","lab-","lab.","hacking","steam","analytic","option","abstract","archive","reality","switcher","club","write","kafka","arduino","angular","online","title","don't","contao","notice","analyzer","learning","zend","external","staging","busines","tdd_","tdd-","tdd.","scanner","building","snippet","modular","bower","stm_","stm-","stm.","lib_","lib-","lib.","alpha","mobile","clean","linux","nginx","manifest","some","raspberry","gnome","ide_","ide-","ide.","block","statistic","info","drag","youtube","koan","facebook","paperclip","art_","art-","art.","quality","tab_","tab-","tab.","need","dojo","shield","computer","stat","state","twitter","utility","converter","hosting","devise","liferay","updated","force","tip_","tip-","tip.","behavior","active","call","answer","deck","better","principle","ches","bar_","bar-","bar.","reddit","three","haxe","just","plug-in","agile","manual","tetri","super","beta","parsing","doctrine","minecraft","useful","perl","sharing","agent","switch","view","dash","channel","repo","pebble","profiler","warning","cluster","running","markup","evented","mod_","mod-","mod.","share","csv_","csv-","csv.","response","good","house","connect","built","build","find","ipython","webgl","big_","big-","big.","google","scala","sdl_","sdl-","sdl.","sdk_","sdk-","sdk.","native","day_","day-","day.","puppet","text","routing","helper","linkedin","crawler","host","guard","merchant","poker","over","writing","free","classe","component","craft","nodej","phoenix","longer","quick","lazy","memory","clone","hacker","middleman","factory","motion","multiple","tornado","hack","ssh_","ssh-","ssh.","review","vimrc","driver","driven","blog","particle","table","intro","importer","thrift","xmpp","framework","refresh","react","font","librarie","variou","formatter","analysi","karma","scroll","tut_","tut-","tut.","apple","tag_","tag-","tag.","tab_","tab-","tab.","category","ionic","cache","homebrew","reverse","english","getting","shipping","clojure","boot","book","branch","combination","combo"]}},{description:"GitHub App Token",id:"github-app-token",regex:"(ghu|ghs)_[0-9a-zA-Z]{36}",keywords:["ghu_","ghs_"]},{description:"GitHub Fine-Grained Personal Access Token",id:"github-fine-grained-pat",regex:"github_pat_[0-9a-zA-Z_]{82}",keywords:["github_pat_"]},{description:"GitHub OAuth Access Token",id:"github-oauth",regex:"gho_[0-9a-zA-Z]{36}",keywords:["gho_"]},{description:"GitHub Personal Access Token",id:"github-pat",regex:"ghp_[0-9a-zA-Z]{36}",keywords:["ghp_"]},{description:"GitHub Refresh Token",id:"github-refresh-token",regex:"ghr_[0-9a-zA-Z]{36}",keywords:["ghr_"]},{description:"GitLab Personal Access Token",id:"gitlab-pat",regex:"glpat-[0-9a-zA-Z\\-\\_]{20}",keywords:["glpat-"]},{description:"GitLab Pipeline Trigger Token",id:"gitlab-ptt",regex:"glptt-[0-9a-f]{40}",keywords:["glptt-"]},{description:"GitLab Runner Registration Token",id:"gitlab-rrt",regex:"GR1348941[0-9a-zA-Z\\-\\_]{20}",keywords:["gr1348941"]},{description:"Gitter Access Token",id:"gitter-access-token",regex:`(?i)(?:gitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9_-]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["gitter"]},{description:"GoCardless API token",id:"gocardless-api-token",regex:`(?i)(?:gocardless)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(live_(?i)[a-z0-9\\-_=]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["live_","gocardless"]},{description:"Grafana api key (or Grafana cloud api key)",id:"grafana-api-key",regex:"(?i)\\b(eyJrIjoi[A-Za-z0-9]{70,400}={0,2})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["eyjrijoi"]},{description:"Grafana cloud api token",id:"grafana-cloud-api-token",regex:"(?i)\\b(glc_[A-Za-z0-9+/]{32,400}={0,2})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["glc_"]},{description:"Grafana service account token",id:"grafana-service-account-token",regex:"(?i)\\b(glsa_[A-Za-z0-9]{32}_[A-Fa-f0-9]{8})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["glsa_"]},{description:"HashiCorp Terraform user/org API token",id:"hashicorp-tf-api-token",regex:"(?i)[a-z0-9]{14}\\.atlasv1\\.[a-z0-9\\-_=]{60,70}",keywords:["atlasv1"]},{description:"Heroku API Key",id:"heroku-api-key",regex:`(?i)(?:heroku)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["heroku"]},{description:"HubSpot API Token",id:"hubspot-api-key",regex:`(?i)(?:hubspot)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["hubspot"]},{description:"Intercom API Token",id:"intercom-api-key",regex:`(?i)(?:intercom)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{60})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["intercom"]},{description:"JSON Web Token",id:"jwt",regex:"(?i)\\b(ey[0-9a-z]{30,34}\\.ey[0-9a-z-\\/_]{30,500}\\.[0-9a-zA-Z-\\/_]{10,200}={0,2})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["ey"]},{description:"Kraken Access Token",id:"kraken-access-token",regex:`(?i)(?:kraken)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9\\/=_\\+\\-]{80,90})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["kraken"]},{description:"Kucoin Access Token",id:"kucoin-access-token",regex:`(?i)(?:kucoin)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{24})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["kucoin"]},{description:"Kucoin Secret Key",id:"kucoin-secret-key",regex:`(?i)(?:kucoin)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["kucoin"]},{description:"Launchdarkly Access Token",id:"launchdarkly-access-token",regex:`(?i)(?:launchdarkly)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["launchdarkly"]},{description:"Linear API Token",id:"linear-api-key",regex:"lin_api_(?i)[a-z0-9]{40}",keywords:["lin_api_"]},{description:"Linear Client Secret",id:"linear-client-secret",regex:`(?i)(?:linear)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["linear"]},{description:"LinkedIn Client ID",id:"linkedin-client-id",regex:`(?i)(?:linkedin|linked-in)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{14})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["linkedin","linked-in"]},{description:"LinkedIn Client secret",id:"linkedin-client-secret",regex:`(?i)(?:linkedin|linked-in)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{16})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["linkedin","linked-in"]},{description:"Lob API Key",id:"lob-api-key",regex:`(?i)(?:lob)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}((live|test)_[a-f0-9]{35})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["test_","live_"]},{description:"Lob Publishable API Key",id:"lob-pub-api-key",regex:`(?i)(?:lob)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}((test|live)_pub_[a-f0-9]{31})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["test_pub","live_pub","_pub"]},{description:"Mailchimp API key",id:"mailchimp-api-key",regex:`(?i)(?:mailchimp)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32}-us20)(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mailchimp"]},{description:"Mailgun private API token",id:"mailgun-private-api-token",regex:`(?i)(?:mailgun)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(key-[a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mailgun"]},{description:"Mailgun public validation key",id:"mailgun-pub-key",regex:`(?i)(?:mailgun)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(pubkey-[a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mailgun"]},{description:"Mailgun webhook signing key",id:"mailgun-signing-key",regex:`(?i)(?:mailgun)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-h0-9]{32}-[a-h0-9]{8}-[a-h0-9]{8})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mailgun"]},{description:"MapBox API token",id:"mapbox-api-token",regex:`(?i)(?:mapbox)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(pk\\.[a-z0-9]{60}\\.[a-z0-9]{22})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mapbox"]},{description:"Mattermost Access Token",id:"mattermost-access-token",regex:`(?i)(?:mattermost)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{26})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mattermost"]},{description:"MessageBird API token",id:"messagebird-api-token",regex:`(?i)(?:messagebird|message-bird|message_bird)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{25})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["messagebird","message-bird","message_bird"]},{description:"MessageBird client ID",id:"messagebird-client-id",regex:`(?i)(?:messagebird|message-bird|message_bird)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["messagebird","message-bird","message_bird"]},{description:"Microsoft Teams Webhook",id:"microsoft-teams-webhook",regex:"https:\\/\\/[a-z0-9]+\\.webhook\\.office\\.com\\/webhookb2\\/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}@[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}\\/IncomingWebhook\\/[a-z0-9]{32}\\/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}",keywords:["webhook.office.com","webhookb2","incomingwebhook"]},{description:"Netlify Access Token",id:"netlify-access-token",regex:`(?i)(?:netlify)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{40,46})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["netlify"]},{description:"New Relic ingest browser API token",id:"new-relic-browser-api-token",regex:`(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(NRJS-[a-f0-9]{19})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["nrjs-"]},{description:"New Relic user API ID",id:"new-relic-user-api-id",regex:`(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["new-relic","newrelic","new_relic"]},{description:"New Relic user API Key",id:"new-relic-user-api-key",regex:`(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(NRAK-[a-z0-9]{27})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["nrak"]},{description:"npm access token",id:"npm-access-token",regex:"(?i)\\b(npm_[a-z0-9]{36})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["npm_"]},{description:"Nytimes Access Token",id:"nytimes-access-token",regex:`(?i)(?:nytimes|new-york-times,|newyorktimes)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["nytimes","new-york-times","newyorktimes"]},{description:"Okta Access Token",id:"okta-access-token",regex:`(?i)(?:okta)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{42})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["okta"]},{description:"Plaid API Token",id:"plaid-api-token",regex:`(?i)(?:plaid)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(access-(?:sandbox|development|production)-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["plaid"]},{description:"Plaid Client ID",id:"plaid-client-id",regex:`(?i)(?:plaid)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{24})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["plaid"]},{description:"Plaid Secret key",id:"plaid-secret-key",regex:`(?i)(?:plaid)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{30})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["plaid"]},{description:"PlanetScale API token",id:"planetscale-api-token",regex:"(?i)\\b(pscale_tkn_(?i)[a-z0-9=\\-_\\.]{32,64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pscale_tkn_"]},{description:"PlanetScale OAuth token",id:"planetscale-oauth-token",regex:"(?i)\\b(pscale_oauth_(?i)[a-z0-9=\\-_\\.]{32,64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pscale_oauth_"]},{description:"PlanetScale password",id:"planetscale-password",regex:"(?i)\\b(pscale_pw_(?i)[a-z0-9=\\-_\\.]{32,64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pscale_pw_"]},{description:"Postman API token",id:"postman-api-token",regex:"(?i)\\b(PMAK-(?i)[a-f0-9]{24}\\-[a-f0-9]{34})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pmak-"]},{description:"Prefect API token",id:"prefect-api-token",regex:"(?i)\\b(pnu_[a-z0-9]{36})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pnu_"]},{description:"Private Key",id:"private-key",regex:"(?i)-----BEGIN[ A-Z0-9_-]{0,100}PRIVATE KEY( BLOCK)?-----[\\s\\S-]*KEY( BLOCK)?----",keywords:["-----begin"]},{description:"Pulumi API token",id:"pulumi-api-token",regex:"(?i)\\b(pul-[a-f0-9]{40})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pul-"]},{description:"PyPI upload token",id:"pypi-upload-token",regex:"pypi-AgEIcHlwaS5vcmc[A-Za-z0-9\\-_]{50,1000}",keywords:["pypi-ageichlwas5vcmc"]},{description:"RapidAPI Access Token",id:"rapidapi-access-token",regex:`(?i)(?:rapidapi)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9_-]{50})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["rapidapi"]},{description:"Readme API token",id:"readme-api-token",regex:"(?i)\\b(rdme_[a-z0-9]{70})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["rdme_"]},{description:"Rubygem API token",id:"rubygems-api-token",regex:"(?i)\\b(rubygems_[a-f0-9]{48})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["rubygems_"]},{description:"Sendbird Access ID",id:"sendbird-access-id",regex:`(?i)(?:sendbird)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sendbird"]},{description:"Sendbird Access Token",id:"sendbird-access-token",regex:`(?i)(?:sendbird)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sendbird"]},{description:"SendGrid API token",id:"sendgrid-api-token",regex:"(?i)\\b(SG\\.(?i)[a-z0-9=_\\-\\.]{66})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["sg."]},{description:"Sendinblue API token",id:"sendinblue-api-token",regex:"(?i)\\b(xkeysib-[a-f0-9]{64}\\-(?i)[a-z0-9]{16})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["xkeysib-"]},{description:"Sentry Access Token",id:"sentry-access-token",regex:`(?i)(?:sentry)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sentry"]},{description:"Shippo API token",id:"shippo-api-token",regex:"(?i)\\b(shippo_(live|test)_[a-f0-9]{40})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["shippo_"]},{description:"Shopify access token",id:"shopify-access-token",regex:"shpat_[a-fA-F0-9]{32}",keywords:["shpat_"]},{description:"Shopify custom access token",id:"shopify-custom-access-token",regex:"shpca_[a-fA-F0-9]{32}",keywords:["shpca_"]},{description:"Shopify private app access token",id:"shopify-private-app-access-token",regex:"shppa_[a-fA-F0-9]{32}",keywords:["shppa_"]},{description:"Shopify shared secret",id:"shopify-shared-secret",regex:"shpss_[a-fA-F0-9]{32}",keywords:["shpss_"]},{description:"Sidekiq Secret",id:"sidekiq-secret",regex:`(?i)(?:BUNDLE_ENTERPRISE__CONTRIBSYS__COM|BUNDLE_GEMS__CONTRIBSYS__COM)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{8}:[a-f0-9]{8})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bundle_enterprise__contribsys__com","bundle_gems__contribsys__com"]},{description:"Sidekiq Sensitive URL",id:"sidekiq-sensitive-url",regex:"(?i)\\b(http(?:s??):\\/\\/)([a-f0-9]{8}:[a-f0-9]{8})@(?:gems.contribsys.com|enterprise.contribsys.com)(?:[\\/|\\#|\\?|:]|$)",secretGroup:2,keywords:["gems.contribsys.com","enterprise.contribsys.com"]},{description:"Slack token",id:"slack-access-token",regex:"xox[baprs]-([0-9a-zA-Z]{10,48})",keywords:["xoxb","xoxa","xoxp","xoxr","xoxs"]},{description:"Slack Webhook",id:"slack-web-hook",regex:"https:\\/\\/hooks.slack.com\\/(services|workflows)\\/[A-Za-z0-9+\\/]{44,46}",keywords:["hooks.slack.com"]},{description:"Square Access Token",id:"square-access-token",regex:"(?i)\\b(sq0atp-[0-9A-Za-z\\-_]{22})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["sq0atp-"]},{description:"Squarespace Access Token",id:"squarespace-access-token",regex:`(?i)(?:squarespace)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["squarespace"]},{description:"Stripe Access Token",id:"stripe-access-token",regex:"(?i)(sk|pk)_(test|live)_[0-9a-z]{10,32}",keywords:["sk_test","pk_test","sk_live","pk_live"]},{description:"SumoLogic Access ID",id:"sumologic-access-id",regex:`(?i)(?:sumo)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{14})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sumo"]},{description:"SumoLogic Access Token",id:"sumologic-access-token",regex:`(?i)(?:sumo)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sumo"]},{description:"Telegram Bot API Token",id:"telegram-bot-api-token",regex:"(?i)(?:^|[^0-9])([0-9]{5,16}:A[a-zA-Z0-9_\\-]{34})(?:$|[^a-zA-Z0-9_\\-])",secretGroup:1,keywords:["telegram","api","bot","token","url"]},{description:"Travis CI Access Token",id:"travisci-access-token",regex:`(?i)(?:travis)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{22})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["travis"]},{description:"Twilio API Key",id:"twilio-api-key",regex:"SK[0-9a-fA-F]{32}",keywords:["twilio"]},{description:"Twitch API token",id:"twitch-api-token",regex:`(?i)(?:twitch)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{30})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitch"]},{description:"Twitter Access Secret",id:"twitter-access-secret",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{45})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Twitter Access Token",id:"twitter-access-token",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9]{15,25}-[a-zA-Z0-9]{20,40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Twitter API Key",id:"twitter-api-key",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{25})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Twitter API Secret",id:"twitter-api-secret",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{50})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Twitter Bearer Token",id:"twitter-bearer-token",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(A{22}[a-zA-Z0-9%]{80,100})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Typeform API token",id:"typeform-api-token",regex:`(?i)(?:typeform)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(tfp_[a-z0-9\\-_\\.=]{59})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["tfp_"]},{description:"Vault Batch Token",id:"vault-batch-token",regex:"(?i)\\b(hvb\\.[a-z0-9_-]{138,212})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["hvb"]},{description:"Vault Service Token",id:"vault-service-token",regex:"(?i)\\b(hvs\\.[a-z0-9_-]{90,100})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["hvs"]},{description:"Yandex Access Token",id:"yandex-access-token",regex:`(?i)(?:yandex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(t1\\.[A-Z0-9a-z_-]+[=]{0,2}\\.[A-Z0-9a-z_-]{86}[=]{0,2})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["yandex"]},{description:"Yandex API Key",id:"yandex-api-key",regex:`(?i)(?:yandex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(AQVN[A-Za-z0-9_\\-]{35,38})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["yandex"]},{description:"Yandex AWS Access Token",id:"yandex-aws-access-token",regex:`(?i)(?:yandex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(YC[a-zA-Z0-9_\\-]{38})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["yandex"]},{description:"Zendesk Secret Key",id:"zendesk-secret-key",regex:`(?i)(?:zendesk)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["zendesk"]}],lC1=W2Q;var $JA=(A)=>{return A.replace(/\(\?i\)/g,"").replace(/\\x60/g,"`")};var oE=Es.createInterfaceId("SecretRedactor");class BP{#A=[];#Q;constructor(A){this.#A=lC1.map((Q)=>({...Q,compiledRegex:new RegExp($JA(Q.regex),"gmi")})),this.#Q=a1(A,"[SecretRedactor]")}transform(A){return{prefix:this.redactSecrets(A.prefix,A.uri),suffix:this.redactSecrets(A.suffix,A.uri),fileRelativePath:A.fileRelativePath,position:A.position,uri:A.uri,languageId:A.languageId,workspaceFolder:A.workspaceFolder}}redactSecrets(A,Q){if(A==="")return A;return this.#A.reduce((B,D)=>{return this.#B(B,D,Q)},A)}#B(A,Q,B){if(!Q.compiledRegex)return A;if(!this.#D(Q,A))return A;let D=[...A.matchAll(Q.compiledRegex)];if(D.length)this.#Q.debug(`redacting secret in ${B}`);return D.reduce((E,I)=>{let C=I[Q.secretGroup??0];return E.replace(C,"*".repeat(C.length))},A)}#D(A,Q){if(!A.keywords?.length)return!0;for(let B of A.keywords)if(Q.toLowerCase().includes(B))return!0;return!1}}BP=O1([Es.Injectable(oE,[b1])],BP);var iC1=A1(l1(),1),UX=iC1.createInterfaceId("McpToolSessionApprovalStore");var EP=A1(l1(),1);class DP{#A=new Map;async approveTool(A,Q){let B=this.#Q(A);this.#B(B,Q.serverName).add(Q.toolName)}async revokeTool(A,{serverName:Q,toolName:B}){let D=this.#A.get(A);if(!D)return;let E=D.get(Q);if(!E)return;if(E.delete(B),E.size===0){if(D.delete(Q),D.size===0)this.#A.delete(A)}}async revokeToolsForWorkflow(A){this.#A.delete(A)}async revokeToolsForServer(A){for(let[Q,B]of this.#A)if(B.has(A)){if(B.delete(A),B.size===0)this.#A.delete(Q)}}async revokeToolsForServerInWorkflow(A,Q){let B=this.#A.get(A);if(!B)return;if(B.delete(Q),B.size===0)this.#A.delete(A)}isToolApproved(A,Q){return Boolean(this.#A.get(A)?.get(Q.serverName)?.has(Q.toolName))}#Q(A){let Q=this.#A.get(A);if(!Q)Q=new Map,this.#A.set(A,Q);return Q}#B(A,Q){let B=A.get(Q);if(!B)B=new Set,A.set(Q,B);return B}}DP=O1([EP.Implements(UX),EP.Service({dependencies:[],lifetime:EP.ServiceLifetime.Singleton})],DP);var VP=A1(l1(),1);var U0={};TG(U0,{xid:()=>TBQ,void:()=>rBQ,uuidv7:()=>$BQ,uuidv6:()=>MBQ,uuidv4:()=>NBQ,uuid:()=>VBQ,url:()=>_BQ,uppercase:()=>Sf,unknown:()=>ts,union:()=>pzA,undefined:()=>nBQ,ulid:()=>RBQ,uint64:()=>iBQ,uint32:()=>cBQ,tuple:()=>D4Q,trim:()=>xf,treeifyError:()=>Vf,transform:()=>lzA,toUpperCase:()=>ff,toLowerCase:()=>bf,toJSONSchema:()=>YzA,templateLiteral:()=>X4Q,symbol:()=>aBQ,superRefine:()=>CY1,success:()=>U4Q,stringbool:()=>K4Q,stringFormat:()=>fBQ,string:()=>KzA,strictObject:()=>A4Q,startsWith:()=>gf,size:()=>Rf,setErrorMap:()=>$4Q,set:()=>C4Q,safeParseAsync:()=>HzA,safeParse:()=>ZzA,registry:()=>_s,regexes:()=>dw,regex:()=>Tf,refine:()=>IY1,record:()=>xF1,readonly:()=>AY1,property:()=>eXA,promise:()=>z4Q,prettifyError:()=>jJA,preprocess:()=>N4Q,prefault:()=>aF1,positive:()=>oXA,pipe:()=>Qt,partialRecord:()=>E4Q,parseAsync:()=>wzA,parse:()=>zzA,overwrite:()=>aw,optional:()=>es,object:()=>eBQ,number:()=>$F1,nullish:()=>J4Q,nullable:()=>At,null:()=>LF1,normalize:()=>kf,nonpositive:()=>sXA,nonoptional:()=>nF1,nonnegative:()=>tXA,never:()=>hzA,negative:()=>rXA,nativeEnum:()=>F4Q,nanoid:()=>qBQ,nan:()=>G4Q,multipleOf:()=>R_,minSize:()=>T_,minLength:()=>FV,mime:()=>vf,maxSize:()=>zP,maxLength:()=>wP,map:()=>I4Q,lte:()=>tF,lt:()=>lw,lowercase:()=>Pf,looseObject:()=>Q4Q,locales:()=>qf,literal:()=>mF1,length:()=>ZP,lazy:()=>DY1,ksuid:()=>PBQ,keyof:()=>tBQ,jwt:()=>bBQ,json:()=>V4Q,iso:()=>rs,ipv6:()=>jBQ,ipv4:()=>SBQ,intersection:()=>vF1,int64:()=>lBQ,int32:()=>pBQ,int:()=>VzA,instanceof:()=>H4Q,includes:()=>jf,hostname:()=>hBQ,guid:()=>KBQ,gte:()=>sE,gt:()=>iw,globalRegistry:()=>XX,getErrorMap:()=>_4Q,function:()=>FzA,formatError:()=>Kf,float64:()=>mBQ,float32:()=>uBQ,flattenError:()=>Hf,file:()=>Y4Q,enum:()=>hF1,endsWith:()=>yf,emoji:()=>WBQ,email:()=>HBQ,e164:()=>xBQ,discriminatedUnion:()=>B4Q,date:()=>sBQ,custom:()=>Z4Q,cuid2:()=>LBQ,cuid:()=>OBQ,core:()=>nw,config:()=>$9,coerce:()=>rzA,clone:()=>rE,cidrv6:()=>yBQ,cidrv4:()=>gBQ,check:()=>w4Q,catch:()=>sF1,boolean:()=>_F1,bigint:()=>dBQ,base64url:()=>kBQ,base64:()=>vBQ,array:()=>uzA,any:()=>oBQ,_default:()=>lF1,_ZodString:()=>NzA,ZodXID:()=>RzA,ZodVoid:()=>SF1,ZodUnknown:()=>TF1,ZodUnion:()=>mzA,ZodUndefined:()=>qF1,ZodUUID:()=>ow,ZodURL:()=>$zA,ZodULID:()=>LzA,ZodType:()=>Z6,ZodTuple:()=>kF1,ZodTransform:()=>dzA,ZodTemplateLiteral:()=>QY1,ZodSymbol:()=>WF1,ZodSuccess:()=>oF1,ZodStringFormat:()=>p4,ZodString:()=>mf,ZodSet:()=>fF1,ZodRecord:()=>czA,ZodRealError:()=>HP,ZodReadonly:()=>eF1,ZodPromise:()=>EY1,ZodPrefault:()=>iF1,ZodPipe:()=>nzA,ZodOptional:()=>izA,ZodObject:()=>Dt,ZodNumberFormat:()=>KP,ZodNumber:()=>pf,ZodNullable:()=>cF1,ZodNull:()=>OF1,ZodNonOptional:()=>azA,ZodNever:()=>PF1,ZodNanoID:()=>WzA,ZodNaN:()=>tF1,ZodMap:()=>bF1,ZodLiteral:()=>uF1,ZodLazy:()=>BY1,ZodKSUID:()=>TzA,ZodJWT:()=>xzA,ZodIssueCode:()=>M4Q,ZodIntersection:()=>yF1,ZodISOTime:()=>ns,ZodISODuration:()=>os,ZodISODateTime:()=>is,ZodISODate:()=>as,ZodIPv6:()=>SzA,ZodIPv4:()=>PzA,ZodGUID:()=>ss,ZodFirstPartyTypeKind:()=>ozA,ZodFile:()=>pF1,ZodError:()=>wBQ,ZodEnum:()=>uf,ZodEmoji:()=>_zA,ZodEmail:()=>MzA,ZodE164:()=>kzA,ZodDiscriminatedUnion:()=>gF1,ZodDefault:()=>dF1,ZodDate:()=>Bt,ZodCustomStringFormat:()=>bzA,ZodCustom:()=>Et,ZodCatch:()=>rF1,ZodCUID2:()=>OzA,ZodCUID:()=>qzA,ZodCIDRv6:()=>gzA,ZodCIDRv4:()=>jzA,ZodBoolean:()=>cf,ZodBigIntFormat:()=>fzA,ZodBigInt:()=>df,ZodBase64URL:()=>vzA,ZodBase64:()=>yzA,ZodArray:()=>jF1,ZodAny:()=>RF1,TimePrecision:()=>_XA,NEVER:()=>_JA,$output:()=>VXA,$input:()=>NXA,$brand:()=>WJA});var nw={};TG(nw,{version:()=>RUA,util:()=>EQ,treeifyError:()=>Vf,toJSONSchema:()=>YzA,toDotPath:()=>oC1,safeParseAsync:()=>yJA,safeParse:()=>gJA,registry:()=>_s,regexes:()=>dw,prettifyError:()=>jJA,parseAsync:()=>Us,parse:()=>Ys,locales:()=>qf,isValidJWT:()=>zF1,isValidBase64URL:()=>XF1,isValidBase64:()=>nUA,globalRegistry:()=>XX,globalConfig:()=>Ff,function:()=>FzA,formatError:()=>Kf,flattenError:()=>Hf,config:()=>$9,clone:()=>rE,_xid:()=>vs,_void:()=>lXA,_uuidv7:()=>Rs,_uuidv6:()=>Ls,_uuidv4:()=>Os,_uuid:()=>qs,_url:()=>Ts,_uppercase:()=>Sf,_unknown:()=>XP,_union:()=>i6Q,_undefined:()=>mXA,_ulid:()=>ys,_uint64:()=>hXA,_uint32:()=>yXA,_tuple:()=>AzA,_trim:()=>xf,_transform:()=>QBQ,_toUpperCase:()=>ff,_toLowerCase:()=>bf,_templateLiteral:()=>UBQ,_symbol:()=>uXA,_superRefine:()=>EzA,_success:()=>CBQ,_stringbool:()=>IzA,_stringFormat:()=>ds,_string:()=>MXA,_startsWith:()=>gf,_size:()=>Rf,_set:()=>s6Q,_safeParseAsync:()=>Xs,_safeParse:()=>Gs,_regex:()=>Tf,_refine:()=>DzA,_record:()=>o6Q,_readonly:()=>JBQ,_property:()=>eXA,_promise:()=>XBQ,_positive:()=>oXA,_pipe:()=>YBQ,_parseAsync:()=>Js,_parse:()=>Fs,_overwrite:()=>aw,_optional:()=>BBQ,_number:()=>RXA,_nullable:()=>DBQ,_null:()=>pXA,_normalize:()=>kf,_nonpositive:()=>sXA,_nonoptional:()=>IBQ,_nonnegative:()=>tXA,_never:()=>dXA,_negative:()=>rXA,_nativeEnum:()=>e6Q,_nanoid:()=>Ss,_nan:()=>nXA,_multipleOf:()=>R_,_minSize:()=>T_,_minLength:()=>FV,_min:()=>sE,_mime:()=>vf,_maxSize:()=>zP,_maxLength:()=>wP,_max:()=>tF,_map:()=>r6Q,_lte:()=>tF,_lt:()=>lw,_lowercase:()=>Pf,_literal:()=>ABQ,_length:()=>ZP,_lazy:()=>GBQ,_ksuid:()=>ks,_jwt:()=>cs,_isoTime:()=>OXA,_isoDuration:()=>LXA,_isoDateTime:()=>WXA,_isoDate:()=>qXA,_ipv6:()=>bs,_ipv4:()=>xs,_intersection:()=>n6Q,_int64:()=>fXA,_int32:()=>gXA,_int:()=>PXA,_includes:()=>jf,_guid:()=>Lf,_gte:()=>sE,_gt:()=>iw,_float64:()=>jXA,_float32:()=>SXA,_file:()=>QzA,_enum:()=>t6Q,_endsWith:()=>yf,_emoji:()=>Ps,_email:()=>Ws,_e164:()=>ps,_discriminatedUnion:()=>a6Q,_default:()=>EBQ,_date:()=>iXA,_custom:()=>BzA,_cuid2:()=>gs,_cuid:()=>js,_coercedString:()=>$XA,_coercedNumber:()=>TXA,_coercedDate:()=>aXA,_coercedBoolean:()=>kXA,_coercedBigint:()=>bXA,_cidrv6:()=>hs,_cidrv4:()=>fs,_check:()=>KF1,_catch:()=>FBQ,_boolean:()=>vXA,_bigint:()=>xXA,_base64url:()=>ms,_base64:()=>us,_array:()=>hf,_any:()=>cXA,TimePrecision:()=>_XA,NEVER:()=>_JA,JSONSchemaGenerator:()=>ls,JSONSchema:()=>VF1,Doc:()=>Hs,$output:()=>VXA,$input:()=>NXA,$constructor:()=>R1,$brand:()=>WJA,$ZodXID:()=>fUA,$ZodVoid:()=>FGA,$ZodUnknown:()=>GP,$ZodUnion:()=>$s,$ZodUndefined:()=>DGA,$ZodUUID:()=>SUA,$ZodURL:()=>gUA,$ZodULID:()=>bUA,$ZodType:()=>O2,$ZodTuple:()=>L_,$ZodTransform:()=>$f,$ZodTemplateLiteral:()=>RGA,$ZodSymbol:()=>BGA,$ZodSuccess:()=>WGA,$ZodStringFormat:()=>j4,$ZodString:()=>O_,$ZodSet:()=>wGA,$ZodRegistry:()=>Of,$ZodRecord:()=>XGA,$ZodRealError:()=>JP,$ZodReadonly:()=>LGA,$ZodPromise:()=>TGA,$ZodPrefault:()=>$GA,$ZodPipe:()=>_f,$ZodOptional:()=>VGA,$ZodObject:()=>JGA,$ZodNumberFormat:()=>AGA,$ZodNumber:()=>Ns,$ZodNullable:()=>NGA,$ZodNull:()=>EGA,$ZodNonOptional:()=>_GA,$ZodNever:()=>CGA,$ZodNanoID:()=>vUA,$ZodNaN:()=>OGA,$ZodMap:()=>zGA,$ZodLiteral:()=>HGA,$ZodLazy:()=>PGA,$ZodKSUID:()=>hUA,$ZodJWT:()=>tUA,$ZodIntersection:()=>GGA,$ZodISOTime:()=>pUA,$ZodISODuration:()=>cUA,$ZodISODateTime:()=>uUA,$ZodISODate:()=>mUA,$ZodIPv6:()=>lUA,$ZodIPv4:()=>dUA,$ZodGUID:()=>PUA,$ZodFunction:()=>CzA,$ZodFile:()=>KGA,$ZodError:()=>Zf,$ZodEnum:()=>ZGA,$ZodEmoji:()=>yUA,$ZodEmail:()=>jUA,$ZodE164:()=>sUA,$ZodDiscriminatedUnion:()=>UGA,$ZodDefault:()=>MGA,$ZodDate:()=>YGA,$ZodCustomStringFormat:()=>eUA,$ZodCustom:()=>SGA,$ZodCheckUpperCase:()=>MUA,$ZodCheckStringFormat:()=>UP,$ZodCheckStartsWith:()=>_UA,$ZodCheckSizeEquals:()=>wUA,$ZodCheckRegex:()=>VUA,$ZodCheckProperty:()=>qUA,$ZodCheckOverwrite:()=>LUA,$ZodCheckNumberFormat:()=>UUA,$ZodCheckMultipleOf:()=>JUA,$ZodCheckMinSize:()=>zUA,$ZodCheckMinLength:()=>HUA,$ZodCheckMimeType:()=>OUA,$ZodCheckMaxSize:()=>XUA,$ZodCheckMaxLength:()=>ZUA,$ZodCheckLowerCase:()=>NUA,$ZodCheckLessThan:()=>ws,$ZodCheckLengthEquals:()=>KUA,$ZodCheckIncludes:()=>$UA,$ZodCheckGreaterThan:()=>Zs,$ZodCheckEndsWith:()=>WUA,$ZodCheckBigIntFormat:()=>GUA,$ZodCheck:()=>CD,$ZodCatch:()=>qGA,$ZodCUID2:()=>xUA,$ZodCUID:()=>kUA,$ZodCIDRv6:()=>aUA,$ZodCIDRv4:()=>iUA,$ZodBoolean:()=>Nf,$ZodBigIntFormat:()=>QGA,$ZodBigInt:()=>Ms,$ZodBase64URL:()=>rUA,$ZodBase64:()=>oUA,$ZodAsyncError:()=>cw,$ZodArray:()=>Mf,$ZodAny:()=>IGA});var _JA=Object.freeze({status:"aborted"});function R1(A,Q,B){function D(F,Y){var J;Object.defineProperty(F,"_zod",{value:F._zod??{},enumerable:!1}),(J=F._zod).traits??(J.traits=new Set),F._zod.traits.add(A),Q(F,Y);for(let U in C.prototype)if(!(U in F))Object.defineProperty(F,U,{value:C.prototype[U].bind(F)});F._zod.constr=C,F._zod.def=Y}let E=B?.Parent??Object;class I extends E{}Object.defineProperty(I,"name",{value:A});function C(F){var Y;let J=B?.Parent?new I:this;D(J,F),(Y=J._zod).deferred??(Y.deferred=[]);for(let U of J._zod.deferred)U();return J}return Object.defineProperty(C,"init",{value:D}),Object.defineProperty(C,Symbol.hasInstance,{value:(F)=>{if(B?.Parent&&F instanceof B.Parent)return!0;return F?._zod?.traits?.has(A)}}),Object.defineProperty(C,"name",{value:A}),C}var WJA=Symbol("zod_brand");class cw extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var Ff={};function $9(A){if(A)Object.assign(Ff,A);return Ff}var EQ={};TG(EQ,{unwrapMessage:()=>Yf,stringifyPrimitive:()=>s0,required:()=>m2Q,randomString:()=>g2Q,propertyKeyTypes:()=>Xf,promiseAllObject:()=>j2Q,primitiveTypes:()=>RJA,prefixIssues:()=>OC,pick:()=>x2Q,partial:()=>u2Q,optionalKeys:()=>TJA,omit:()=>b2Q,numKeys:()=>y2Q,nullish:()=>IV,normalizeParams:()=>m0,mergeDefs:()=>CV,merge:()=>h2Q,jsonStringifyReplacer:()=>CP,joinValues:()=>o1,issue:()=>YP,isPlainObject:()=>FP,isObject:()=>IP,getSizableOrigin:()=>zf,getParsedType:()=>v2Q,getLengthableOrigin:()=>wf,getEnumValues:()=>Jf,getElementAtPath:()=>S2Q,floatSafeRemainder:()=>OJA,finalizeIssue:()=>LC,extend:()=>f2Q,escapeRegex:()=>GX,esc:()=>Is,defineLazy:()=>KB,createTransparentProxy:()=>k2Q,cloneDef:()=>P2Q,clone:()=>rE,cleanRegex:()=>Gf,cleanEnum:()=>p2Q,captureStackTrace:()=>Cs,cached:()=>Uf,assignProp:()=>__,assertNotEqual:()=>O2Q,assertNever:()=>R2Q,assertIs:()=>L2Q,assertEqual:()=>q2Q,assert:()=>T2Q,allowsEval:()=>LJA,aborted:()=>W_,NUMBER_FORMAT_RANGES:()=>PJA,Class:()=>aC1,BIGINT_FORMAT_RANGES:()=>SJA});function q2Q(A){return A}function O2Q(A){return A}function L2Q(A){}function R2Q(A){throw new Error}function T2Q(A){}function Jf(A){let Q=Object.values(A).filter((D)=>typeof D==="number");return Object.entries(A).filter(([D,E])=>Q.indexOf(+D)===-1).map(([D,E])=>E)}function o1(A,Q="|"){return A.map((B)=>s0(B)).join(Q)}function CP(A,Q){if(typeof Q==="bigint")return Q.toString();return Q}function Uf(A){return{get value(){{let B=A();return Object.defineProperty(this,"value",{value:B}),B}throw new Error("cached value already set")}}}function IV(A){return A===null||A===void 0}function Gf(A){let Q=A.startsWith("^")?1:0,B=A.endsWith("$")?A.length-1:A.length;return A.slice(Q,B)}function OJA(A,Q){let B=(A.toString().split(".")[1]||"").length,D=Q.toString(),E=(D.split(".")[1]||"").length;if(E===0&&/\d?e-\d?/.test(D)){let Y=D.match(/\d?e-(\d?)/);if(Y?.[1])E=Number.parseInt(Y[1])}let I=B>E?B:E,C=Number.parseInt(A.toFixed(I).replace(".","")),F=Number.parseInt(Q.toFixed(I).replace(".",""));return C%F/10**I}function KB(A,Q,B){Object.defineProperty(A,Q,{get(){{let E=B();return A[Q]=E,E}throw new Error("cached value already set")},set(E){Object.defineProperty(A,Q,{value:E})},configurable:!0})}function __(A,Q,B){Object.defineProperty(A,Q,{value:B,writable:!0,enumerable:!0,configurable:!0})}function CV(...A){let Q={};for(let B of A){let D=Object.getOwnPropertyDescriptors(B);Object.assign(Q,D)}return Object.defineProperties({},Q)}function P2Q(A){return CV(A._zod.def)}function S2Q(A,Q){if(!Q)return A;return Q.reduce((B,D)=>B?.[D],A)}function j2Q(A){let Q=Object.keys(A),B=Q.map((D)=>A[D]);return Promise.all(B).then((D)=>{let E={};for(let I=0;I<Q.length;I++)E[Q[I]]=D[I];return E})}function g2Q(A=10){let B="";for(let D=0;D<A;D++)B+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return B}function Is(A){return JSON.stringify(A)}var Cs="captureStackTrace"in Error?Error.captureStackTrace:(...A)=>{};function IP(A){return typeof A==="object"&&A!==null&&!Array.isArray(A)}var LJA=Uf(()=>{if(typeof navigator!=="undefined"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(A){return!1}});function FP(A){if(IP(A)===!1)return!1;let Q=A.constructor;if(Q===void 0)return!0;let B=Q.prototype;if(IP(B)===!1)return!1;if(Object.prototype.hasOwnProperty.call(B,"isPrototypeOf")===!1)return!1;return!0}function y2Q(A){let Q=0;for(let B in A)if(Object.prototype.hasOwnProperty.call(A,B))Q++;return Q}var v2Q=(A)=>{let Q=typeof A;switch(Q){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(A)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(A))return"array";if(A===null)return"null";if(A.then&&typeof A.then==="function"&&A.catch&&typeof A.catch==="function")return"promise";if(typeof Map!=="undefined"&&A instanceof Map)return"map";if(typeof Set!=="undefined"&&A instanceof Set)return"set";if(typeof Date!=="undefined"&&A instanceof Date)return"date";if(typeof File!=="undefined"&&A instanceof File)return"file";return"object";default:throw new Error(`Unknown data type: ${Q}`)}},Xf=new Set(["string","number","symbol"]),RJA=new Set(["string","number","bigint","boolean","symbol","undefined"]);function GX(A){return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rE(A,Q,B){let D=new A._zod.constr(Q??A._zod.def);if(!Q||B?.parent)D._zod.parent=A;return D}function m0(A){let Q=A;if(!Q)return{};if(typeof Q==="string")return{error:()=>Q};if(Q?.message!==void 0){if(Q?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");Q.error=Q.message}if(delete Q.message,typeof Q.error==="string")return{...Q,error:()=>Q.error};return Q}function k2Q(A){let Q;return new Proxy({},{get(B,D,E){return Q??(Q=A()),Reflect.get(Q,D,E)},set(B,D,E,I){return Q??(Q=A()),Reflect.set(Q,D,E,I)},has(B,D){return Q??(Q=A()),Reflect.has(Q,D)},deleteProperty(B,D){return Q??(Q=A()),Reflect.deleteProperty(Q,D)},ownKeys(B){return Q??(Q=A()),Reflect.ownKeys(Q)},getOwnPropertyDescriptor(B,D){return Q??(Q=A()),Reflect.getOwnPropertyDescriptor(Q,D)},defineProperty(B,D,E){return Q??(Q=A()),Reflect.defineProperty(Q,D,E)}})}function s0(A){if(typeof A==="bigint")return A.toString()+"n";if(typeof A==="string")return`"${A}"`;return`${A}`}function TJA(A){return Object.keys(A).filter((Q)=>{return A[Q]._zod.optin==="optional"&&A[Q]._zod.optout==="optional"})}var PJA={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},SJA={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function x2Q(A,Q){let B=A._zod.def,D=CV(A._zod.def,{get shape(){let E={};for(let I in Q){if(!(I in B.shape))throw new Error(`Unrecognized key: "${I}"`);if(!Q[I])continue;E[I]=B.shape[I]}return __(this,"shape",E),E},checks:[]});return rE(A,D)}function b2Q(A,Q){let B=A._zod.def,D=CV(A._zod.def,{get shape(){let E={...A._zod.def.shape};for(let I in Q){if(!(I in B.shape))throw new Error(`Unrecognized key: "${I}"`);if(!Q[I])continue;delete E[I]}return __(this,"shape",E),E},checks:[]});return rE(A,D)}function f2Q(A,Q){if(!FP(Q))throw new Error("Invalid input to extend: expected a plain object");let B=CV(A._zod.def,{get shape(){let D={...A._zod.def.shape,...Q};return __(this,"shape",D),D},checks:[]});return rE(A,B)}function h2Q(A,Q){let B=CV(A._zod.def,{get shape(){let D={...A._zod.def.shape,...Q._zod.def.shape};return __(this,"shape",D),D},get catchall(){return Q._zod.def.catchall},checks:[]});return rE(A,B)}function u2Q(A,Q,B){let D=CV(Q._zod.def,{get shape(){let E=Q._zod.def.shape,I={...E};if(B)for(let C in B){if(!(C in E))throw new Error(`Unrecognized key: "${C}"`);if(!B[C])continue;I[C]=A?new A({type:"optional",innerType:E[C]}):E[C]}else for(let C in E)I[C]=A?new A({type:"optional",innerType:E[C]}):E[C];return __(this,"shape",I),I},checks:[]});return rE(Q,D)}function m2Q(A,Q,B){let D=CV(Q._zod.def,{get shape(){let E=Q._zod.def.shape,I={...E};if(B)for(let C in B){if(!(C in I))throw new Error(`Unrecognized key: "${C}"`);if(!B[C])continue;I[C]=new A({type:"nonoptional",innerType:E[C]})}else for(let C in E)I[C]=new A({type:"nonoptional",innerType:E[C]});return __(this,"shape",I),I},checks:[]});return rE(Q,D)}function W_(A,Q=0){for(let B=Q;B<A.issues.length;B++)if(A.issues[B]?.continue!==!0)return!0;return!1}function OC(A,Q){return Q.map((B)=>{var D;return(D=B).path??(D.path=[]),B.path.unshift(A),B})}function Yf(A){return typeof A==="string"?A:A?.message}function LC(A,Q,B){let D={...A,path:A.path??[]};if(!A.message){let E=Yf(A.inst?._zod.def?.error?.(A))??Yf(Q?.error?.(A))??Yf(B.customError?.(A))??Yf(B.localeError?.(A))??"Invalid input";D.message=E}if(delete D.inst,delete D.continue,!Q?.reportInput)delete D.input;return D}function zf(A){if(A instanceof Set)return"set";if(A instanceof Map)return"map";if(A instanceof File)return"file";return"unknown"}function wf(A){if(Array.isArray(A))return"array";if(typeof A==="string")return"string";return"unknown"}function YP(...A){let[Q,B,D]=A;if(typeof Q==="string")return{message:Q,code:"custom",input:B,inst:D};return{...Q}}function p2Q(A){return Object.entries(A).filter(([Q,B])=>{return Number.isNaN(Number.parseInt(Q,10))}).map((Q)=>Q[1])}class aC1{constructor(...A){}}var nC1=(A,Q)=>{A.name="$ZodError",Object.defineProperty(A,"_zod",{value:A._zod,enumerable:!1}),Object.defineProperty(A,"issues",{value:Q,enumerable:!1}),A.message=JSON.stringify(Q,CP,2),Object.defineProperty(A,"toString",{value:()=>A.message,enumerable:!1})},Zf=R1("$ZodError",nC1),JP=R1("$ZodError",nC1,{Parent:Error});function Hf(A,Q=(B)=>B.message){let B={},D=[];for(let E of A.issues)if(E.path.length>0)B[E.path[0]]=B[E.path[0]]||[],B[E.path[0]].push(Q(E));else D.push(Q(E));return{formErrors:D,fieldErrors:B}}function Kf(A,Q){let B=Q||function(I){return I.message},D={_errors:[]},E=(I)=>{for(let C of I.issues)if(C.code==="invalid_union"&&C.errors.length)C.errors.map((F)=>E({issues:F}));else if(C.code==="invalid_key")E({issues:C.issues});else if(C.code==="invalid_element")E({issues:C.issues});else if(C.path.length===0)D._errors.push(B(C));else{let F=D,Y=0;while(Y<C.path.length){let J=C.path[Y];if(Y!==C.path.length-1)F[J]=F[J]||{_errors:[]};else F[J]=F[J]||{_errors:[]},F[J]._errors.push(B(C));F=F[J],Y++}}};return E(A),D}function Vf(A,Q){let B=Q||function(I){return I.message},D={errors:[]},E=(I,C=[])=>{var F,Y;for(let J of I.issues)if(J.code==="invalid_union"&&J.errors.length)J.errors.map((U)=>E({issues:U},J.path));else if(J.code==="invalid_key")E({issues:J.issues},J.path);else if(J.code==="invalid_element")E({issues:J.issues},J.path);else{let U=[...C,...J.path];if(U.length===0){D.errors.push(B(J));continue}let X=D,z=0;while(z<U.length){let G=U[z],w=z===U.length-1;if(typeof G==="string")X.properties??(X.properties={}),(F=X.properties)[G]??(F[G]={errors:[]}),X=X.properties[G];else X.items??(X.items=[]),(Y=X.items)[G]??(Y[G]={errors:[]}),X=X.items[G];if(w)X.errors.push(B(J));z++}}};return E(A),D}function oC1(A){let Q=[],B=A.map((D)=>typeof D==="object"?D.key:D);for(let D of B)if(typeof D==="number")Q.push(`[${D}]`);else if(typeof D==="symbol")Q.push(`[${JSON.stringify(String(D))}]`);else if(/[^\w$]/.test(D))Q.push(`[${JSON.stringify(D)}]`);else{if(Q.length)Q.push(".");Q.push(D)}return Q.join("")}function jJA(A){let Q=[],B=[...A.issues].sort((D,E)=>(D.path??[]).length-(E.path??[]).length);for(let D of B)if(Q.push(`✖ ${D.message}`),D.path?.length)Q.push(` → at ${oC1(D.path)}`);return Q.join(`
1302
+ `)),[E,I]=M_.useState(""),[C,F]=M_.useState([]),[Y,J]=M_.useState(0),U=M_.useRef(new Ef(B)),X=()=>{let V=C[Y];U.current.replaceWordAtCursor(`@${V}`),D(U.current.text),F([])},z=()=>{D(""),F([])};return Bs(()=>{if(C.length)X();else Q.onSubmit(B),z()}),eT(()=>{if(B.trim())z();else Q.onExit()}),sF((V)=>{if(C.length>0){if(V.name===P2.DOWN)J((M)=>{return Math.min(C.length-1,M+1)});if(V.name===P2.UP)J((M)=>{return Math.max(0,M-1)});if(V.name===P2.TAB){if(C.length)X()}}}),vQ(YX,{children:[k1(Qs,{value:B,onChange:(V)=>{D(V)},placeholder:"Type your message here... • Ctrl+C to exit",inputContext:{contextActions:[{activationSequence:{inputChar:"@"},actionCallback:async(V)=>{let M=V.trim();if(I(M),M&&M!==E){let _=await Q.onFileSearch(V);F(_.slice(0,10))}}}],noContextAction(){F([])}},initialTextBuffer:U.current}),C.length>0&&C.map((V,M)=>{return k1(IQ,{children:k1($0,{inverse:M===Y,children:V})},V)}),C.length>0&&k1(IQ,{borderLeft:!1,borderRight:!1,borderBottom:!1,borderStyle:"single",borderColor:"gray",children:k1($0,{dimColor:!0,children:k1(EV,{markdown:"Press ↑/↓ to select • *Tab* or *Enter* to apply"})})})]})};var OC1=({input:A,callbacks:Q})=>{let B=A.choiceOptions||[],D=A.selectedChoiceIndex??0;return eT(()=>{Q.onExit()}),vQ(IQ,{flexDirection:"column",children:[k1(IQ,{borderStyle:"single",borderColor:"gray",paddingX:1,children:k1($0,{color:"dim",children:"Select an option:"})}),k1(IQ,{flexDirection:"column",paddingLeft:2,paddingY:1,children:B.map((E,I)=>{let C=I===D;return vQ(IQ,{marginBottom:E.description?0:0,children:[vQ($0,{color:C?"cyan":"white",bold:C,children:[C?"› ":" ",E.label]}),E.description&&vQ($0,{color:"dim",children:[" - ",E.description]})]},I)})}),k1($0,{dimColor:!0,children:"Use ↑/↓ arrows to navigate • Enter to select • Ctrl+C to exit"})]})};var $_={TEXT:"text",CHOICE:"choice"};var LC1=({input:A,callbacks:Q})=>{switch(If((B,D)=>{Q.onKeyPress(B,D)}),A.inputType){case $_.TEXT:return k1(qC1,{input:A,callbacks:Q});case $_.CHOICE:return k1(OC1,{input:A,callbacks:Q});default:return null}};var RC1=()=>{return k1(IQ,{paddingLeft:2,children:k1($0,{color:"yellow",children:"\uD83E\uDD16 Duo is thinking..."})})};var TC1=({error:A})=>{return vQ(IQ,{flexDirection:"column",marginY:0,children:[k1(IQ,{children:k1($0,{color:"red",children:"❌ Error:"})}),k1(IQ,{paddingLeft:2,children:k1($0,{color:"red",children:A})}),k1(DU,{})]})};var PC1=({state:A,callbacks:Q})=>{_C1(Q.toggleExpanded);let B=A.elements.length===1,D=A.isLoading&&A.elements.length>0||B,E=D?A.elements.slice(0,-1):A.elements,I=D?A.elements.slice(-1):[],C=({element:F,index:Y})=>{if(F.type==="message")return k1(nI1,{message:F},`${F.id}-${Y}`);if(F.type==="error")return k1(TC1,{error:F.error},`${F.id}-${Y}`);return k1(HC1,{tool:F,expanded:A.expanded},`${F.id}-${Y}`)};return vQ(IQ,{flexDirection:"column",height:"100%",children:[vQ(IQ,{flexDirection:"column",flexGrow:1,marginBottom:1,children:[E.length>0&&k1(ro,{items:E,children:(F,Y)=>k1(IQ,{children:k1(C,{element:F,index:E.length+Y})},`static-${F.id}-${Y}`)}),I.map((F,Y)=>k1(IQ,{children:k1(C,{element:F,index:E.length+Y})},`live-${F.id}`))]}),k1(LC1,{input:A.input,callbacks:Q}),A.isLoading&&k1(RC1,{})]})};var VJA=({state:A,callbacks:Q})=>{if(A.criticalErrorMessage)return k1(IQ,{children:k1($0,{color:"red",children:A.criticalErrorMessage})});return k1(PC1,{state:A,callbacks:Q})};var AP=A1(M6(),1);var Ds={gitlabRed:"#e2432a",gitlabOrange:"#fc6d27",gitlabYellow:"#fca326",gitlabPurple:"#554488",gitlabGrey:"#8c929d",white:"#FFFFFF"};var SC1=()=>{let{gitlabRed:A,gitlabOrange:Q,gitlabYellow:B}=Ds;return vQ(IQ,{flexDirection:"column",children:[k1($0,{color:A,children:" .. .. "}),k1($0,{color:A,children:" .+= =+. "}),vQ($0,{children:[" ",k1($0,{color:A,children:".-+*"}),k1($0,{color:A,children:"===="}),k1($0,{color:A,children:"*+-."})]}),vQ($0,{children:[" ",k1($0,{color:Q,children:".=="}),k1($0,{color:A,children:"+****+"}),k1($0,{color:Q,children:"==."})]}),vQ($0,{children:[k1($0,{color:Q,children:" .==*"}),k1($0,{color:A,children:"++"}),k1($0,{color:Q,children:"*==. "})]}),vQ($0,{children:[k1($0,{color:Q,children:" '.="}),k1($0,{color:B,children:"--"}),k1($0,{color:Q,children:"=.' "})]}),k1($0,{color:B,children:" '**' "})]})};var jC1=({version:A})=>{return vQ(IQ,{borderStyle:"round",children:[k1(IQ,{children:k1(SC1,{})}),vQ(IQ,{flexDirection:"column",children:[k1(Wb,{}),k1($0,{children:"GitLab Duo CLI"}),k1(DU,{}),vQ($0,{children:["Version: ",A]}),k1(Wb,{})]})]})};var{gitlabPurple:Z2Q,white:H2Q}=Ds,K2Q=({entry:A,isActive:Q})=>{let B=Q?Z2Q:void 0,D=Q?H2Q:void 0,E=A.value?V_(A.value,A.isSensitive):"Not set";return vQ(IQ,{paddingX:1,paddingY:1,children:[k1(IQ,{flexGrow:2,flexShrink:0,flexBasis:0,children:vQ($0,{color:D,backgroundColor:B,children:[Q?"▸ ":" ",A.displayName]})}),k1(IQ,{flexGrow:2,flexShrink:0,flexBasis:0,paddingLeft:2,children:k1($0,{children:E})}),k1(IQ,{flexGrow:3,flexShrink:0,flexBasis:0,paddingLeft:2,children:k1($0,{dimColor:!0,children:A.description})})]})},gC1=({state:A,configurationIndex:Q})=>{let B=A.configurationEntries[Q];return vQ(IQ,{flexDirection:"column",children:[vQ(IQ,{paddingX:1,paddingTop:1,children:[k1(IQ,{flexGrow:2,flexShrink:0,flexBasis:0,children:k1($0,{bold:!0,children:"Setting"})}),k1(IQ,{flexGrow:2,flexShrink:0,flexBasis:0,paddingLeft:2,children:k1($0,{bold:!0,children:"Current Value"})}),k1(IQ,{flexGrow:3,flexShrink:0,flexBasis:0,paddingLeft:2,children:k1($0,{bold:!0,children:"Description"})})]}),A.configurationEntries.map((D)=>k1(K2Q,{entry:D,isActive:D.key===B.key},D.key))]})};var yC1=({initialState:A,controller:Q})=>{let{duoCliVersion:B}=AP.useContext(rT),[D,E]=AP.useState(0),[I,C]=AP.useState(A),F=I.configurationEntries[D],[Y,J]=AP.useState(F.value);eT(()=>Q.exit());let U=()=>{E((G)=>{let w=Math.min(I.configurationEntries.length-1,G+1);return J(I.configurationEntries[w].value),w})};sF((G)=>{if(G.name===P2.TAB&&!G.shift)U();if(G.name===P2.TAB&&G.shift)E((w)=>{let Z=Math.max(0,w-1);return J(I.configurationEntries[Z].value),Z})}),WC1(async()=>{(await Q.saveConfig(I)).match(()=>{Q.exit()},(w)=>{throw w})}),Bs(()=>{let G=[...I.configurationEntries];G[D].value=Y||G[D].defaultValue,C({configurationEntries:G}),U()});let X=(G)=>{J(G)},z=F.defaultValue===""?`Please enter your ${F.displayName}.`:`Please enter your ${F.displayName}. Press Enter to use ${F.defaultValue}.`;return vQ(IQ,{flexDirection:"column",children:[k1(jC1,{version:B}),k1(gC1,{state:I,configurationIndex:D,inputValue:Y,onValueChange:X}),k1(Qs,{value:Y,onChange:X,placeholder:z,masked:F.isSensitive}),k1(IQ,{paddingX:2,paddingTop:1,children:k1($0,{dimColor:!0,children:k1(EV,{markdown:"Press *Enter* to apply • *Tab/Shift+Tab* to navigate forward/back • *Ctrl+S* to save and exit • *Ctrl+C* to exit without saving"})})})]})};var QP={inputType:"text",lines:[""],cursorLine:0,cursorColumn:0},NJA={elements:[],isLoading:!1,input:QP,expanded:!1};var vC1=A1(M6(),1);var V2Q=({envInfo:A,children:Q})=>{if(A.environment==="development")return k1(vC1.StrictMode,{children:Q});return k1(YX,{children:Q})},Cf=(A,Q)=>{let B=Q.isKittyProtocolSupported,D=[],E=()=>D.reverse().forEach((Y)=>Y());if(process.stdout.write("\x1B]0;GitLab Duo CLI\x07"),process.stdout.write("\x1B[?2004h"),D.push(()=>process.stdout.write("\x1B[?2004l")),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",E),B&&process.stdin.isTTY){let Y=N_({disambiguate:!0,events:!0,alternates:!0,text:!0});process.stdout.write(Y),process.stdin.setRawMode(!0),D.push(()=>{process.stdin.setRawMode(!1)}),D.push(()=>{process.stdout.write(N_({})),process.stdout.write("\x1B[<u"),process.stdout.write("\x1B[>0u"),process.stdout.write("\x1B[<u")})}let I=new er;I.startStdinListening(),D.push(()=>I.dispose());let C=k1(sT,{value:I,children:k1(rT,{value:Q,children:k1(V2Q,{envInfo:Q,children:A})})}),{waitUntilExit:F}=LFA(C,{exitOnCtrlC:!1});F().then(()=>{E(),process.exit(0)}).catch((Y)=>{E(),console.error(Y),process.exit(1)})};function kC1(){let A=process.env.TERM_PROGRAM,Q=process.env.TERM;if(A)return A;if(process.env.KITTY_WINDOW_ID)return"Kitty";if(process.env.ALACRITTY_SOCKET)return"Alacritty";if(process.env.GNOME_TERMINAL_SCREEN)return"GnomeTerminal";if(Q?.includes("kitty"))return"Kitty";return"Unknown"}async function xC1(){if(!process.stdin.isTTY)return Promise.resolve(!1);return new Promise((A)=>{let{stdin:Q,stdout:B}=process;Q.setRawMode(!0);let D=()=>{clearTimeout(E),B.write(N_({})),Q.setRawMode(!1),Q.off("data",I)},E=setTimeout(()=>{D(),A(!1)},100),I=(C)=>{if(KJA(C)?.disambiguate)D(),A(!0)};Q.on("data",I),B.write(N_({disambiguate:!0})),B.write(HJA)})}var tl=A1(M6(),1);import{join as yL2,relative as vL2}from"node:path";var MJA=A1(l1(),1),d16=MJA.createInterfaceId("RepositoryService"),yD=MJA.createInterfaceId("RepositoryDiscoveryService");var bC1=A1(l1(),1),fC1=bC1.createInterfaceId("GitLsFiles");function hC1(A){return A instanceof Error&&"code"in A&&A.code==="InternalError"&&A.message.includes("Unsupported dircache version: ")}var uC1=A1(l1(),1),mC1=uC1.createInterfaceId("GitConfigCommand");var N2Q=(A)=>{let{pathname:Q}=Qn(A)||{};return Q?Q.replace(/\/$/,""):""},M2Q=(A)=>A.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&");function pC1(A){let Q=A.match("^\\[([a-zA-Z0-9_-]+@.*?):(\\d+)\\]:(.*)$");if(Q)return`ssh://${Q[1]}:${Q[2]}/${Q[3]}`;let B=A.match("^ssh://([a-zA-Z0-9_-]+@.*?):(\\d+)(.*)$");if(B)return`ssh://${B[1]}:${B[2]}${B[3]}`;let D=A.match("([a-zA-Z0-9_-]+@[^:]+):(\\d+)/(.*)$");if(D)return`ssh://${D[1]}:${D[2]}/${D[3]}`;let E=A.match("([a-zA-Z0-9_-]+@.*?):(.*)");if(E)return`ssh://${E[1]}/${E[2]}`;if(A.match("^[a-zA-Z0-9_-]+@"))return`ssh://${A}`;return A}async function cC1(A,Q){try{let B=await A.listRemotes(),D=B.find((E)=>E.remote==="origin")??B[0];if(!D?.url)return;return $2Q(D.url,Q)}catch(B){let D=B instanceof Error?B.message:String(B);throw new Error(`Failed to parse GitLab remotes from repository: ${D}`)}}function $2Q(A,Q){let{hostname:B,host:D,pathname:E}=Qn(pC1(A))||{};if(!D||!E)return;if(B!==Qn(pC1(Q))?.hostname)return;let C=Q||Q.trim()!==""?M2Q(N2Q(Q)):"",F=E.match(`(?:${C})?/:?(.+)/([^/]+?)(?:.git)?/?$`);if(!F)return;let[Y,J]=F.slice(1,3),U=`${Y}/${J}`;return{host:D,namespace:Y,projectPath:J,namespaceWithPath:U}}var _2Q=["node_modules","dist",".bundle",".idea",".vscode","__pycache__",".mypy_cache",".pytest_cache",".tox",".venv"],dC1=_2Q;var Es=A1(l1(),1);var W2Q=[{description:"Adafruit API Key",id:"adafruit-api-key",regex:`(?i)(?:adafruit)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9_-]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["adafruit"]},{description:"Adobe Client ID (OAuth Web)",id:"adobe-client-id",regex:`(?i)(?:adobe)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["adobe"]},{description:"Adobe Client Secret",id:"adobe-client-secret",regex:"(?i)\\b((p8e-)(?i)[a-z0-9]{32})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["p8e-"]},{description:"Age secret key",id:"age secret key",regex:"AGE-SECRET-KEY-1[QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7L]{58}",keywords:["age-secret-key-1"]},{description:"Airtable API Key",id:"airtable-api-key",regex:`(?i)(?:airtable)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{17})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["airtable"]},{description:"Algolia API Key",id:"algolia-api-key",regex:`(?i)(?:algolia)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,keywords:["algolia"]},{description:"Alibaba AccessKey ID",id:"alibaba-access-key-id",regex:"(?i)\\b((LTAI)(?i)[a-z0-9]{20})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["ltai"]},{description:"Alibaba Secret Key",id:"alibaba-secret-key",regex:`(?i)(?:alibaba)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{30})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["alibaba"]},{description:"Asana Client ID",id:"asana-client-id",regex:`(?i)(?:asana)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9]{16})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["asana"]},{description:"Asana Client Secret",id:"asana-client-secret",regex:`(?i)(?:asana)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["asana"]},{description:"Atlassian API token",id:"atlassian-api-token",regex:`(?i)(?:atlassian|confluence|jira)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{24})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["atlassian","confluence","jira"]},{description:"Authress Service Client Access Key",id:"authress-service-client-access-key",regex:"(?i)\\b((?:sc|ext|scauth|authress)_[a-z0-9]{5,30}\\.[a-z0-9]{4,6}\\.acc_[a-z0-9-]{10,32}\\.[a-z0-9+/_=-]{30,120})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["sc_","ext_","scauth_","authress_"]},{description:"AWS",id:"aws-access-token",regex:"(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}",keywords:["akia","agpa","aida","aroa","aipa","anpa","anva","asia"]},{description:"Beamer API token",id:"beamer-api-token",regex:`(?i)(?:beamer)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(b_[a-z0-9=_\\-]{44})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["beamer"]},{description:"Bitbucket Client ID",id:"bitbucket-client-id",regex:`(?i)(?:bitbucket)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bitbucket"]},{description:"Bitbucket Client Secret",id:"bitbucket-client-secret",regex:`(?i)(?:bitbucket)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bitbucket"]},{description:"Bittrex Access Key",id:"bittrex-access-key",regex:`(?i)(?:bittrex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bittrex"]},{description:"Bittrex Secret Key",id:"bittrex-secret-key",regex:`(?i)(?:bittrex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bittrex"]},{description:"Clojars API token",id:"clojars-api-token",regex:"(?i)(CLOJARS_)[a-z0-9]{60}",keywords:["clojars"]},{description:"Codecov Access Token",id:"codecov-access-token",regex:`(?i)(?:codecov)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["codecov"]},{description:"Coinbase Access Token",id:"coinbase-access-token",regex:`(?i)(?:coinbase)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9_-]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["coinbase"]},{description:"Confluent Access Token",id:"confluent-access-token",regex:`(?i)(?:confluent)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{16})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["confluent"]},{description:"Confluent Secret Key",id:"confluent-secret-key",regex:`(?i)(?:confluent)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["confluent"]},{description:"Contentful delivery API token",id:"contentful-delivery-api-token",regex:`(?i)(?:contentful)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{43})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["contentful"]},{description:"Databricks API token",id:"databricks-api-token",regex:"(?i)\\b(dapi[a-h0-9]{32})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["dapi"]},{description:"Datadog Access Token",id:"datadog-access-token",regex:`(?i)(?:datadog)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["datadog"]},{description:"Defined Networking API token",id:"defined-networking-api-token",regex:`(?i)(?:dnkey)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(dnkey-[a-z0-9=_\\-]{26}-[a-z0-9=_\\-]{52})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["dnkey"]},{description:"DigitalOcean OAuth Access Token",id:"digitalocean-access-token",regex:"(?i)\\b(doo_v1_[a-f0-9]{64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["doo_v1_"]},{description:"DigitalOcean Personal Access Token",id:"digitalocean-pat",regex:"(?i)\\b(dop_v1_[a-f0-9]{64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["dop_v1_"]},{description:"DigitalOcean OAuth Refresh Token",id:"digitalocean-refresh-token",regex:"(?i)\\b(dor_v1_[a-f0-9]{64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["dor_v1_"]},{description:"Discord API key",id:"discord-api-token",regex:`(?i)(?:discord)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["discord"]},{description:"Discord client ID",id:"discord-client-id",regex:`(?i)(?:discord)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9]{18})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["discord"]},{description:"Discord client secret",id:"discord-client-secret",regex:`(?i)(?:discord)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["discord"]},{description:"Doppler API token",id:"doppler-api-token",regex:"(dp\\.pt\\.)(?i)[a-z0-9]{43}",keywords:["doppler"]},{description:"Droneci Access Token",id:"droneci-access-token",regex:`(?i)(?:droneci)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["droneci"]},{description:"Dropbox API secret",id:"dropbox-api-token",regex:`(?i)(?:dropbox)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{15})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["dropbox"]},{description:"Dropbox long lived API token",id:"dropbox-long-lived-api-token",regex:`(?i)(?:dropbox)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{11}(AAAAAAAAAA)[a-z0-9\\-_=]{43})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,keywords:["dropbox"]},{description:"Dropbox short lived API token",id:"dropbox-short-lived-api-token",regex:`(?i)(?:dropbox)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(sl\\.[a-z0-9\\-=_]{135})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,keywords:["dropbox"]},{description:"Duffel API token",id:"duffel-api-token",regex:"duffel_(test|live)_(?i)[a-z0-9_\\-=]{43}",keywords:["duffel"]},{description:"Dynatrace API token",id:"dynatrace-api-token",regex:"dt0c01\\.(?i)[a-z0-9]{24}\\.[a-z0-9]{64}",keywords:["dynatrace"]},{description:"EasyPost API token",id:"easypost-api-token",regex:"\\bEZAK(?i)[a-z0-9]{54}",keywords:["ezak"]},{description:"EasyPost test API token",id:"easypost-test-api-token",regex:"\\bEZTK(?i)[a-z0-9]{54}",keywords:["eztk"]},{description:"Etsy Access Token",id:"etsy-access-token",regex:`(?i)(?:etsy)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{24})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["etsy"]},{description:"Facebook Access Token",id:"facebook",regex:`(?i)(?:facebook)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["facebook"]},{description:"Fastly API key",id:"fastly-api-token",regex:`(?i)(?:fastly)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["fastly"]},{description:"Finicity API token",id:"finicity-api-token",regex:`(?i)(?:finicity)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["finicity"]},{description:"Finicity Client Secret",id:"finicity-client-secret",regex:`(?i)(?:finicity)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{20})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["finicity"]},{description:"Finnhub Access Token",id:"finnhub-access-token",regex:`(?i)(?:finnhub)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{20})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["finnhub"]},{description:"Flickr Access Token",id:"flickr-access-token",regex:`(?i)(?:flickr)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["flickr"]},{description:"Flutterwave Encryption Key",id:"flutterwave-encryption-key",regex:"FLWSECK_TEST-(?i)[a-h0-9]{12}",keywords:["flwseck_test"]},{description:"Finicity Public Key",id:"flutterwave-public-key",regex:"FLWPUBK_TEST-(?i)[a-h0-9]{32}-X",keywords:["flwpubk_test"]},{description:"Flutterwave Secret Key",id:"flutterwave-secret-key",regex:"FLWSECK_TEST-(?i)[a-h0-9]{32}-X",keywords:["flwseck_test"]},{description:"Frame.io API token",id:"frameio-api-token",regex:"fio-u-(?i)[a-z0-9\\-_=]{64}",keywords:["fio-u-"]},{description:"Freshbooks Access Token",id:"freshbooks-access-token",regex:`(?i)(?:freshbooks)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["freshbooks"]},{description:"GCP API key",id:"gcp-api-key",regex:"(?i)\\b(AIza[0-9A-Za-z\\\\-_]{35})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["aiza"]},{description:"Generic API Key",id:"generic-api-key",regex:`(?i)(?:key|api|token|secret|client|passwd|password|auth|access)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-z\\-_.=]{10,150})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,entropy:3.5,keywords:["key","api","token","secret","client","passwd","password","auth","access"],allowlist:{stopwords:["client","endpoint","vpn","_ec2_","aws_","authorize","author","define","config","credential","setting","sample","xxxxxx","000000","buffer","delete","aaaaaa","fewfwef","getenv","env_","system","example","ecdsa","sha256","sha1","sha2","md5","alert","wizard","target","onboard","welcome","page","exploit","experiment","expire","rabbitmq","scraper","widget","music","dns_","dns-","yahoo","want","json","action","script","fix_","fix-","develop","compas","stripe","service","master","metric","tech","gitignore","rich","open","stack","irc_","irc-","sublime","kohana","has_","has-","fabric","wordpres","role","osx_","osx-","boost","addres","queue","working","sandbox","internet","print","vision","tracking","being","generator","traffic","world","pull","rust","watcher","small","auth","full","hash","more","install","auto","complete","learn","paper","installer","research","acces","last","binding","spine","into","chat","algorithm","resource","uploader","video","maker","next","proc","lock","robot","snake","patch","matrix","drill","terminal","term","stuff","genetic","generic","identity","audit","pattern","audio","web_","web-","crud","problem","statu","cms-","cms_","arch","coffee","workflow","changelog","another","uiview","content","kitchen","gnu_","gnu-","gnu.","conf","couchdb","client","opencv","rendering","update","concept","varnish","gui_","gui-","gui.","version","shared","extra","product","still","not_","not-","not.","drop","ring","png_","png-","png.","actively","import","output","backup","start","embedded","registry","pool","semantic","instagram","bash","system","ninja","drupal","jquery","polyfill","physic","league","guide","pack","synopsi","sketch","injection","svg_","svg-","svg.","friendly","wave","convert","manage","camera","link","slide","timer","wrapper","gallery","url_","url-","url.","todomvc","requirej","party","http","payment","async","library","home","coco","gaia","display","universal","func","metadata","hipchat","under","room","config","personal","realtime","resume","database","testing","tiny","basic","forum","meetup","yet_","yet-","yet.","cento","dead","fluentd","editor","utilitie","run_","run-","run.","box_","box-","box.","bot_","bot-","bot.","making","sample","group","monitor","ajax","parallel","cassandra","ultimate","site","get_","get-","get.","gen_","gen-","gen.","gem_","gem-","gem.","extended","image","knife","asset","nested","zero","plugin","bracket","mule","mozilla","number","act_","act-","act.","map_","map-","map.","micro","debug","openshift","chart","expres","backend","task","source","translate","jbos","composer","sqlite","profile","mustache","mqtt","yeoman","have","builder","smart","like","oauth","school","guideline","captcha","filter","bitcoin","bridge","color","toolbox","discovery","new_","new-","new.","dashboard","when","setting","level","post","standard","port","platform","yui_","yui-","yui.","grunt","animation","haskell","icon","latex","cheat","lua_","lua-","lua.","gulp","case","author","without","simulator","wifi","directory","lisp","list","flat","adventure","story","storm","gpu_","gpu-","gpu.","store","caching","attention","solr","logger","demo","shortener","hadoop","finder","phone","pipeline","range","textmate","showcase","app_","app-","app.","idiomatic","edit","our_","our-","our.","out_","out-","out.","sentiment","linked","why_","why-","why.","local","cube","gmail","job_","job-","job.","rpc_","rpc-","rpc.","contest","tcp_","tcp-","tcp.","usage","buildout","weather","transfer","automated","sphinx","issue","sas_","sas-","sas.","parallax","jasmine","addon","machine","solution","dsl_","dsl-","dsl.","episode","menu","theme","best","adapter","debugger","chrome","tutorial","life","step","people","joomla","paypal","developer","solver","team","current","love","visual","date","data","canva","container","future","xml_","xml-","xml.","twig","nagio","spatial","original","sync","archived","refinery","science","mapping","gitlab","play","ext_","ext-","ext.","session","impact","set_","set-","set.","see_","see-","see.","migration","commit","community","shopify","what'","cucumber","statamic","mysql","location","tower","line","code","amqp","hello","send","index","high","notebook","alloy","python","field","document","soap","edition","email","php_","php-","php.","command","transport","official","upload","study","secure","angularj","akka","scalable","package","request","con_","con-","con.","flexible","security","comment","module","flask","graph","flash","apache","change","window","space","lambda","sheet","bookmark","carousel","friend","objective","jekyll","bootstrap","first","article","gwt_","gwt-","gwt.","classic","media","websocket","touch","desktop","real","read","recorder","moved","storage","validator","add-on","pusher","scs_","scs-","scs.","inline","asp_","asp-","asp.","timeline","base","encoding","ffmpeg","kindle","tinymce","pretty","jpa_","jpa-","jpa.","used","user","required","webhook","download","resque","espresso","cloud","mongo","benchmark","pure","cakephp","modx","mode","reactive","fuel","written","flickr","mail","brunch","meteor","dynamic","neo_","neo-","neo.","new_","new-","new.","net_","net-","net.","typo","type","keyboard","erlang","adobe","logging","ckeditor","message","iso_","iso-","iso.","hook","ldap","folder","reference","railscast","www_","www-","www.","tracker","azure","fork","form","digital","exporter","skin","string","template","designer","gollum","fluent","entity","language","alfred","summary","wiki","kernel","calendar","plupload","symfony","foundry","remote","talk","search","dev_","dev-","dev.","del_","del-","del.","token","idea","sencha","selector","interface","create","fun_","fun-","fun.","groovy","query","grail","red_","red-","red.","laravel","monkey","slack","supported","instant","value","center","latest","work","but_","but-","but.","bug_","bug-","bug.","virtual","tweet","statsd","studio","path","real-time","frontend","notifier","coding","tool","firmware","flow","random","mediawiki","bosh","been","beer","lightbox","theory","origin","redmine","hub_","hub-","hub.","require","pro_","pro-","pro.","ant_","ant-","ant.","any_","any-","any.","recipe","closure","mapper","event","todo","model","redi","provider","rvm_","rvm-","rvm.","program","memcached","rail","silex","foreman","activity","license","strategy","batch","streaming","fast","use_","use-","use.","usb_","usb-","usb.","impres","academy","slider","please","layer","cros","now_","now-","now.","miner","extension","own_","own-","own.","app_","app-","app.","debian","symphony","example","feature","serie","tree","project","runner","entry","leetcode","layout","webrtc","logic","login","worker","toolkit","mocha","support","back","inside","device","jenkin","contact","fake","awesome","ocaml","bit_","bit-","bit.","drive","screen","prototype","gist","binary","nosql","rest","overview","dart","dark","emac","mongoid","solarized","homepage","emulator","commander","django","yandex","gradle","xcode","writer","crm_","crm-","crm.","jade","startup","error","using","format","name","spring","parser","scratch","magic","try_","try-","try.","rack","directive","challenge","slim","counter","element","chosen","doc_","doc-","doc.","meta","should","button","packet","stream","hardware","android","infinite","password","software","ghost","xamarin","spec","chef","interview","hubot","mvc_","mvc-","mvc.","exercise","leaflet","launcher","air_","air-","air.","photo","board","boxen","way_","way-","way.","computing","welcome","notepad","portfolio","cat_","cat-","cat.","can_","can-","can.","magento","yaml","domain","card","yii_","yii-","yii.","checker","browser","upgrade","only","progres","aura","ruby_","ruby-","ruby.","polymer","util","lite","hackathon","rule","log_","log-","log.","opengl","stanford","skeleton","history","inspector","help","soon","selenium","lab_","lab-","lab.","scheme","schema","look","ready","leveldb","docker","game","minimal","logstash","messaging","within","heroku","mongodb","kata","suite","picker","win_","win-","win.","wip_","wip-","wip.","panel","started","starter","front-end","detector","deploy","editing","based","admin","capture","spree","page","bundle","goal","rpg_","rpg-","rpg.","setup","side","mean","reader","cookbook","mini","modern","seed","dom_","dom-","dom.","doc_","doc-","doc.","dot_","dot-","dot.","syntax","sugar","loader","website","make","kit_","kit-","kit.","protocol","human","daemon","golang","manager","countdown","connector","swagger","map_","map-","map.","mac_","mac-","mac.","man_","man-","man.","orm_","orm-","orm.","org_","org-","org.","little","zsh_","zsh-","zsh.","shop","show","workshop","money","grid","server","octopres","svn_","svn-","svn.","ember","embed","general","file","important","dropbox","portable","public","docpad","fish","sbt_","sbt-","sbt.","done","para","network","common","readme","popup","simple","purpose","mirror","single","cordova","exchange","object","design","gateway","account","lamp","intellij","math","mit_","mit-","mit.","control","enhanced","emitter","multi","add_","add-","add.","about","socket","preview","vagrant","cli_","cli-","cli.","powerful","top_","top-","top.","radio","watch","fluid","amazon","report","couchbase","automatic","detection","sprite","pyramid","portal","advanced","plu_","plu-","plu.","runtime","git_","git-","git.","uri_","uri-","uri.","haml","node","sql_","sql-","sql.","cool","core","obsolete","handler","iphone","extractor","array","copy","nlp_","nlp-","nlp.","reveal","pop_","pop-","pop.","engine","parse","check","html","nest","all_","all-","all.","chinese","buildpack","what","tag_","tag-","tag.","proxy","style","cookie","feed","restful","compiler","creating","prelude","context","java","rspec","mock","backbone","light","spotify","flex","related","shell","which","clas","webapp","swift","ansible","unity","console","tumblr","export","campfire","conway'","made","riak","hero","here","unix","unit","glas","smtp","how_","how-","how.","hot_","hot-","hot.","debug","release","diff","player","easy","right","old_","old-","old.","animate","time","push","explorer","course","training","nette","router","draft","structure","note","salt","where","spark","trello","power","method","social","via_","via-","via.","vim_","vim-","vim.","select","webkit","github","ftp_","ftp-","ftp.","creator","mongoose","led_","led-","led.","movie","currently","pdf_","pdf-","pdf.","load","markdown","phalcon","input","custom","atom","oracle","phonegap","ubuntu","great","rdf_","rdf-","rdf.","popcorn","firefox","zip_","zip-","zip.","cuda","dotfile","static","openwrt","viewer","powered","graphic","les_","les-","les.","doe_","doe-","doe.","maven","word","eclipse","lab_","lab-","lab.","hacking","steam","analytic","option","abstract","archive","reality","switcher","club","write","kafka","arduino","angular","online","title","don't","contao","notice","analyzer","learning","zend","external","staging","busines","tdd_","tdd-","tdd.","scanner","building","snippet","modular","bower","stm_","stm-","stm.","lib_","lib-","lib.","alpha","mobile","clean","linux","nginx","manifest","some","raspberry","gnome","ide_","ide-","ide.","block","statistic","info","drag","youtube","koan","facebook","paperclip","art_","art-","art.","quality","tab_","tab-","tab.","need","dojo","shield","computer","stat","state","twitter","utility","converter","hosting","devise","liferay","updated","force","tip_","tip-","tip.","behavior","active","call","answer","deck","better","principle","ches","bar_","bar-","bar.","reddit","three","haxe","just","plug-in","agile","manual","tetri","super","beta","parsing","doctrine","minecraft","useful","perl","sharing","agent","switch","view","dash","channel","repo","pebble","profiler","warning","cluster","running","markup","evented","mod_","mod-","mod.","share","csv_","csv-","csv.","response","good","house","connect","built","build","find","ipython","webgl","big_","big-","big.","google","scala","sdl_","sdl-","sdl.","sdk_","sdk-","sdk.","native","day_","day-","day.","puppet","text","routing","helper","linkedin","crawler","host","guard","merchant","poker","over","writing","free","classe","component","craft","nodej","phoenix","longer","quick","lazy","memory","clone","hacker","middleman","factory","motion","multiple","tornado","hack","ssh_","ssh-","ssh.","review","vimrc","driver","driven","blog","particle","table","intro","importer","thrift","xmpp","framework","refresh","react","font","librarie","variou","formatter","analysi","karma","scroll","tut_","tut-","tut.","apple","tag_","tag-","tag.","tab_","tab-","tab.","category","ionic","cache","homebrew","reverse","english","getting","shipping","clojure","boot","book","branch","combination","combo"]}},{description:"GitHub App Token",id:"github-app-token",regex:"(ghu|ghs)_[0-9a-zA-Z]{36}",keywords:["ghu_","ghs_"]},{description:"GitHub Fine-Grained Personal Access Token",id:"github-fine-grained-pat",regex:"github_pat_[0-9a-zA-Z_]{82}",keywords:["github_pat_"]},{description:"GitHub OAuth Access Token",id:"github-oauth",regex:"gho_[0-9a-zA-Z]{36}",keywords:["gho_"]},{description:"GitHub Personal Access Token",id:"github-pat",regex:"ghp_[0-9a-zA-Z]{36}",keywords:["ghp_"]},{description:"GitHub Refresh Token",id:"github-refresh-token",regex:"ghr_[0-9a-zA-Z]{36}",keywords:["ghr_"]},{description:"GitLab Personal Access Token",id:"gitlab-pat",regex:"glpat-[0-9a-zA-Z\\-\\_]{20}",keywords:["glpat-"]},{description:"GitLab Pipeline Trigger Token",id:"gitlab-ptt",regex:"glptt-[0-9a-f]{40}",keywords:["glptt-"]},{description:"GitLab Runner Registration Token",id:"gitlab-rrt",regex:"GR1348941[0-9a-zA-Z\\-\\_]{20}",keywords:["gr1348941"]},{description:"Gitter Access Token",id:"gitter-access-token",regex:`(?i)(?:gitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9_-]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["gitter"]},{description:"GoCardless API token",id:"gocardless-api-token",regex:`(?i)(?:gocardless)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(live_(?i)[a-z0-9\\-_=]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["live_","gocardless"]},{description:"Grafana api key (or Grafana cloud api key)",id:"grafana-api-key",regex:"(?i)\\b(eyJrIjoi[A-Za-z0-9]{70,400}={0,2})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["eyjrijoi"]},{description:"Grafana cloud api token",id:"grafana-cloud-api-token",regex:"(?i)\\b(glc_[A-Za-z0-9+/]{32,400}={0,2})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["glc_"]},{description:"Grafana service account token",id:"grafana-service-account-token",regex:"(?i)\\b(glsa_[A-Za-z0-9]{32}_[A-Fa-f0-9]{8})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["glsa_"]},{description:"HashiCorp Terraform user/org API token",id:"hashicorp-tf-api-token",regex:"(?i)[a-z0-9]{14}\\.atlasv1\\.[a-z0-9\\-_=]{60,70}",keywords:["atlasv1"]},{description:"Heroku API Key",id:"heroku-api-key",regex:`(?i)(?:heroku)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["heroku"]},{description:"HubSpot API Token",id:"hubspot-api-key",regex:`(?i)(?:hubspot)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["hubspot"]},{description:"Intercom API Token",id:"intercom-api-key",regex:`(?i)(?:intercom)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{60})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["intercom"]},{description:"JSON Web Token",id:"jwt",regex:"(?i)\\b(ey[0-9a-z]{30,34}\\.ey[0-9a-z-\\/_]{30,500}\\.[0-9a-zA-Z-\\/_]{10,200}={0,2})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["ey"]},{description:"Kraken Access Token",id:"kraken-access-token",regex:`(?i)(?:kraken)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9\\/=_\\+\\-]{80,90})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["kraken"]},{description:"Kucoin Access Token",id:"kucoin-access-token",regex:`(?i)(?:kucoin)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{24})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["kucoin"]},{description:"Kucoin Secret Key",id:"kucoin-secret-key",regex:`(?i)(?:kucoin)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["kucoin"]},{description:"Launchdarkly Access Token",id:"launchdarkly-access-token",regex:`(?i)(?:launchdarkly)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["launchdarkly"]},{description:"Linear API Token",id:"linear-api-key",regex:"lin_api_(?i)[a-z0-9]{40}",keywords:["lin_api_"]},{description:"Linear Client Secret",id:"linear-client-secret",regex:`(?i)(?:linear)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["linear"]},{description:"LinkedIn Client ID",id:"linkedin-client-id",regex:`(?i)(?:linkedin|linked-in)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{14})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["linkedin","linked-in"]},{description:"LinkedIn Client secret",id:"linkedin-client-secret",regex:`(?i)(?:linkedin|linked-in)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{16})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["linkedin","linked-in"]},{description:"Lob API Key",id:"lob-api-key",regex:`(?i)(?:lob)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}((live|test)_[a-f0-9]{35})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["test_","live_"]},{description:"Lob Publishable API Key",id:"lob-pub-api-key",regex:`(?i)(?:lob)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}((test|live)_pub_[a-f0-9]{31})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["test_pub","live_pub","_pub"]},{description:"Mailchimp API key",id:"mailchimp-api-key",regex:`(?i)(?:mailchimp)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{32}-us20)(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mailchimp"]},{description:"Mailgun private API token",id:"mailgun-private-api-token",regex:`(?i)(?:mailgun)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(key-[a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mailgun"]},{description:"Mailgun public validation key",id:"mailgun-pub-key",regex:`(?i)(?:mailgun)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(pubkey-[a-f0-9]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mailgun"]},{description:"Mailgun webhook signing key",id:"mailgun-signing-key",regex:`(?i)(?:mailgun)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-h0-9]{32}-[a-h0-9]{8}-[a-h0-9]{8})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mailgun"]},{description:"MapBox API token",id:"mapbox-api-token",regex:`(?i)(?:mapbox)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(pk\\.[a-z0-9]{60}\\.[a-z0-9]{22})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mapbox"]},{description:"Mattermost Access Token",id:"mattermost-access-token",regex:`(?i)(?:mattermost)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{26})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["mattermost"]},{description:"MessageBird API token",id:"messagebird-api-token",regex:`(?i)(?:messagebird|message-bird|message_bird)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{25})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["messagebird","message-bird","message_bird"]},{description:"MessageBird client ID",id:"messagebird-client-id",regex:`(?i)(?:messagebird|message-bird|message_bird)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["messagebird","message-bird","message_bird"]},{description:"Microsoft Teams Webhook",id:"microsoft-teams-webhook",regex:"https:\\/\\/[a-z0-9]+\\.webhook\\.office\\.com\\/webhookb2\\/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}@[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}\\/IncomingWebhook\\/[a-z0-9]{32}\\/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}",keywords:["webhook.office.com","webhookb2","incomingwebhook"]},{description:"Netlify Access Token",id:"netlify-access-token",regex:`(?i)(?:netlify)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{40,46})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["netlify"]},{description:"New Relic ingest browser API token",id:"new-relic-browser-api-token",regex:`(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(NRJS-[a-f0-9]{19})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["nrjs-"]},{description:"New Relic user API ID",id:"new-relic-user-api-id",regex:`(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["new-relic","newrelic","new_relic"]},{description:"New Relic user API Key",id:"new-relic-user-api-key",regex:`(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(NRAK-[a-z0-9]{27})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["nrak"]},{description:"npm access token",id:"npm-access-token",regex:"(?i)\\b(npm_[a-z0-9]{36})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["npm_"]},{description:"Nytimes Access Token",id:"nytimes-access-token",regex:`(?i)(?:nytimes|new-york-times,|newyorktimes)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{32})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["nytimes","new-york-times","newyorktimes"]},{description:"Okta Access Token",id:"okta-access-token",regex:`(?i)(?:okta)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9=_\\-]{42})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["okta"]},{description:"Plaid API Token",id:"plaid-api-token",regex:`(?i)(?:plaid)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(access-(?:sandbox|development|production)-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["plaid"]},{description:"Plaid Client ID",id:"plaid-client-id",regex:`(?i)(?:plaid)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{24})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["plaid"]},{description:"Plaid Secret key",id:"plaid-secret-key",regex:`(?i)(?:plaid)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{30})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["plaid"]},{description:"PlanetScale API token",id:"planetscale-api-token",regex:"(?i)\\b(pscale_tkn_(?i)[a-z0-9=\\-_\\.]{32,64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pscale_tkn_"]},{description:"PlanetScale OAuth token",id:"planetscale-oauth-token",regex:"(?i)\\b(pscale_oauth_(?i)[a-z0-9=\\-_\\.]{32,64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pscale_oauth_"]},{description:"PlanetScale password",id:"planetscale-password",regex:"(?i)\\b(pscale_pw_(?i)[a-z0-9=\\-_\\.]{32,64})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pscale_pw_"]},{description:"Postman API token",id:"postman-api-token",regex:"(?i)\\b(PMAK-(?i)[a-f0-9]{24}\\-[a-f0-9]{34})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pmak-"]},{description:"Prefect API token",id:"prefect-api-token",regex:"(?i)\\b(pnu_[a-z0-9]{36})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pnu_"]},{description:"Private Key",id:"private-key",regex:"(?i)-----BEGIN[ A-Z0-9_-]{0,100}PRIVATE KEY( BLOCK)?-----[\\s\\S-]*KEY( BLOCK)?----",keywords:["-----begin"]},{description:"Pulumi API token",id:"pulumi-api-token",regex:"(?i)\\b(pul-[a-f0-9]{40})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["pul-"]},{description:"PyPI upload token",id:"pypi-upload-token",regex:"pypi-AgEIcHlwaS5vcmc[A-Za-z0-9\\-_]{50,1000}",keywords:["pypi-ageichlwas5vcmc"]},{description:"RapidAPI Access Token",id:"rapidapi-access-token",regex:`(?i)(?:rapidapi)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9_-]{50})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["rapidapi"]},{description:"Readme API token",id:"readme-api-token",regex:"(?i)\\b(rdme_[a-z0-9]{70})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["rdme_"]},{description:"Rubygem API token",id:"rubygems-api-token",regex:"(?i)\\b(rubygems_[a-f0-9]{48})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["rubygems_"]},{description:"Sendbird Access ID",id:"sendbird-access-id",regex:`(?i)(?:sendbird)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sendbird"]},{description:"Sendbird Access Token",id:"sendbird-access-token",regex:`(?i)(?:sendbird)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sendbird"]},{description:"SendGrid API token",id:"sendgrid-api-token",regex:"(?i)\\b(SG\\.(?i)[a-z0-9=_\\-\\.]{66})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["sg."]},{description:"Sendinblue API token",id:"sendinblue-api-token",regex:"(?i)\\b(xkeysib-[a-f0-9]{64}\\-(?i)[a-z0-9]{16})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["xkeysib-"]},{description:"Sentry Access Token",id:"sentry-access-token",regex:`(?i)(?:sentry)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sentry"]},{description:"Shippo API token",id:"shippo-api-token",regex:"(?i)\\b(shippo_(live|test)_[a-f0-9]{40})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",secretGroup:1,keywords:["shippo_"]},{description:"Shopify access token",id:"shopify-access-token",regex:"shpat_[a-fA-F0-9]{32}",keywords:["shpat_"]},{description:"Shopify custom access token",id:"shopify-custom-access-token",regex:"shpca_[a-fA-F0-9]{32}",keywords:["shpca_"]},{description:"Shopify private app access token",id:"shopify-private-app-access-token",regex:"shppa_[a-fA-F0-9]{32}",keywords:["shppa_"]},{description:"Shopify shared secret",id:"shopify-shared-secret",regex:"shpss_[a-fA-F0-9]{32}",keywords:["shpss_"]},{description:"Sidekiq Secret",id:"sidekiq-secret",regex:`(?i)(?:BUNDLE_ENTERPRISE__CONTRIBSYS__COM|BUNDLE_GEMS__CONTRIBSYS__COM)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-f0-9]{8}:[a-f0-9]{8})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["bundle_enterprise__contribsys__com","bundle_gems__contribsys__com"]},{description:"Sidekiq Sensitive URL",id:"sidekiq-sensitive-url",regex:"(?i)\\b(http(?:s??):\\/\\/)([a-f0-9]{8}:[a-f0-9]{8})@(?:gems.contribsys.com|enterprise.contribsys.com)(?:[\\/|\\#|\\?|:]|$)",secretGroup:2,keywords:["gems.contribsys.com","enterprise.contribsys.com"]},{description:"Slack token",id:"slack-access-token",regex:"xox[baprs]-([0-9a-zA-Z]{10,48})",keywords:["xoxb","xoxa","xoxp","xoxr","xoxs"]},{description:"Slack Webhook",id:"slack-web-hook",regex:"https:\\/\\/hooks.slack.com\\/(services|workflows)\\/[A-Za-z0-9+\\/]{44,46}",keywords:["hooks.slack.com"]},{description:"Square Access Token",id:"square-access-token",regex:"(?i)\\b(sq0atp-[0-9A-Za-z\\-_]{22})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["sq0atp-"]},{description:"Squarespace Access Token",id:"squarespace-access-token",regex:`(?i)(?:squarespace)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["squarespace"]},{description:"Stripe Access Token",id:"stripe-access-token",regex:"(?i)(sk|pk)_(test|live)_[0-9a-z]{10,32}",keywords:["sk_test","pk_test","sk_live","pk_live"]},{description:"SumoLogic Access ID",id:"sumologic-access-id",regex:`(?i)(?:sumo)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{14})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sumo"]},{description:"SumoLogic Access Token",id:"sumologic-access-token",regex:`(?i)(?:sumo)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{64})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["sumo"]},{description:"Telegram Bot API Token",id:"telegram-bot-api-token",regex:"(?i)(?:^|[^0-9])([0-9]{5,16}:A[a-zA-Z0-9_\\-]{34})(?:$|[^a-zA-Z0-9_\\-])",secretGroup:1,keywords:["telegram","api","bot","token","url"]},{description:"Travis CI Access Token",id:"travisci-access-token",regex:`(?i)(?:travis)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{22})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["travis"]},{description:"Twilio API Key",id:"twilio-api-key",regex:"SK[0-9a-fA-F]{32}",keywords:["twilio"]},{description:"Twitch API token",id:"twitch-api-token",regex:`(?i)(?:twitch)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{30})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitch"]},{description:"Twitter Access Secret",id:"twitter-access-secret",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{45})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Twitter Access Token",id:"twitter-access-token",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([0-9]{15,25}-[a-zA-Z0-9]{20,40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Twitter API Key",id:"twitter-api-key",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{25})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Twitter API Secret",id:"twitter-api-secret",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{50})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Twitter Bearer Token",id:"twitter-bearer-token",regex:`(?i)(?:twitter)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(A{22}[a-zA-Z0-9%]{80,100})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["twitter"]},{description:"Typeform API token",id:"typeform-api-token",regex:`(?i)(?:typeform)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(tfp_[a-z0-9\\-_\\.=]{59})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["tfp_"]},{description:"Vault Batch Token",id:"vault-batch-token",regex:"(?i)\\b(hvb\\.[a-z0-9_-]{138,212})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["hvb"]},{description:"Vault Service Token",id:"vault-service-token",regex:"(?i)\\b(hvs\\.[a-z0-9_-]{90,100})(?:['|\\\"|\\n|\\r|\\s|\\x60|;]|$)",keywords:["hvs"]},{description:"Yandex Access Token",id:"yandex-access-token",regex:`(?i)(?:yandex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(t1\\.[A-Z0-9a-z_-]+[=]{0,2}\\.[A-Z0-9a-z_-]{86}[=]{0,2})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["yandex"]},{description:"Yandex API Key",id:"yandex-api-key",regex:`(?i)(?:yandex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(AQVN[A-Za-z0-9_\\-]{35,38})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["yandex"]},{description:"Yandex AWS Access Token",id:"yandex-aws-access-token",regex:`(?i)(?:yandex)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}(YC[a-zA-Z0-9_\\-]{38})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["yandex"]},{description:"Zendesk Secret Key",id:"zendesk-secret-key",regex:`(?i)(?:zendesk)(?:[0-9a-z\\-_\\t .]{0,20})(?:[\\s|']|[\\s|"]){0,3}(?:=|>|:=|\\|\\|:|<=|=>|:)(?:'|\\"|\\s|=|\\x60){0,5}([a-z0-9]{40})(?:['|\\"|\\n|\\r|\\s|\\x60|;]|$)`,secretGroup:1,keywords:["zendesk"]}],lC1=W2Q;var $JA=(A)=>{return A.replace(/\(\?i\)/g,"").replace(/\\x60/g,"`")};var oE=Es.createInterfaceId("SecretRedactor");class BP{#A=[];#Q;constructor(A){this.#A=lC1.map((Q)=>({...Q,compiledRegex:new RegExp($JA(Q.regex),"gmi")})),this.#Q=a1(A,"[SecretRedactor]")}transform(A){return{prefix:this.redactSecrets(A.prefix,A.uri),suffix:this.redactSecrets(A.suffix,A.uri),fileRelativePath:A.fileRelativePath,position:A.position,uri:A.uri,languageId:A.languageId,workspaceFolder:A.workspaceFolder}}redactSecrets(A,Q){if(A==="")return A;return this.#A.reduce((B,D)=>{return this.#B(B,D,Q)},A)}#B(A,Q,B){if(!Q.compiledRegex)return A;if(!this.#D(Q,A))return A;let D=[...A.matchAll(Q.compiledRegex)];if(D.length)this.#Q.debug(`redacting secret in ${B}`);return D.reduce((E,I)=>{let C=I[Q.secretGroup??0];return E.replace(C,"*".repeat(C.length))},A)}#D(A,Q){if(!A.keywords?.length)return!0;for(let B of A.keywords)if(Q.toLowerCase().includes(B))return!0;return!1}}BP=O1([Es.Injectable(oE,[b1])],BP);var iC1=A1(l1(),1),UX=iC1.createInterfaceId("McpToolSessionApprovalStore");var EP=A1(l1(),1);class DP{#A=new Map;async approveTool(A,Q){let B=this.#Q(A);this.#B(B,Q.serverName).add(Q.toolName)}async revokeTool(A,{serverName:Q,toolName:B}){let D=this.#A.get(A);if(!D)return;let E=D.get(Q);if(!E)return;if(E.delete(B),E.size===0){if(D.delete(Q),D.size===0)this.#A.delete(A)}}async revokeToolsForWorkflow(A){this.#A.delete(A)}async revokeToolsForServer(A){for(let[Q,B]of this.#A)if(B.has(A)){if(B.delete(A),B.size===0)this.#A.delete(Q)}}async revokeToolsForServerInWorkflow(A,Q){let B=this.#A.get(A);if(!B)return;if(B.delete(Q),B.size===0)this.#A.delete(A)}isToolApproved(A,Q){return Boolean(this.#A.get(A)?.get(Q.serverName)?.has(Q.toolName))}#Q(A){let Q=this.#A.get(A);if(!Q)Q=new Map,this.#A.set(A,Q);return Q}#B(A,Q){let B=A.get(Q);if(!B)B=new Set,A.set(Q,B);return B}}DP=O1([EP.Implements(UX),EP.Service({dependencies:[],lifetime:EP.ServiceLifetime.Singleton})],DP);var VP=A1(l1(),1);var U0={};TG(U0,{xid:()=>TBQ,void:()=>rBQ,uuidv7:()=>$BQ,uuidv6:()=>MBQ,uuidv4:()=>NBQ,uuid:()=>VBQ,url:()=>_BQ,uppercase:()=>Sf,unknown:()=>ts,union:()=>pzA,undefined:()=>nBQ,ulid:()=>RBQ,uint64:()=>iBQ,uint32:()=>cBQ,tuple:()=>D4Q,trim:()=>xf,treeifyError:()=>Vf,transform:()=>lzA,toUpperCase:()=>ff,toLowerCase:()=>bf,toJSONSchema:()=>YzA,templateLiteral:()=>X4Q,symbol:()=>aBQ,superRefine:()=>CY1,success:()=>U4Q,stringbool:()=>K4Q,stringFormat:()=>fBQ,string:()=>KzA,strictObject:()=>A4Q,startsWith:()=>gf,size:()=>Rf,setErrorMap:()=>$4Q,set:()=>C4Q,safeParseAsync:()=>HzA,safeParse:()=>ZzA,registry:()=>_s,regexes:()=>dw,regex:()=>Tf,refine:()=>IY1,record:()=>xF1,readonly:()=>AY1,property:()=>eXA,promise:()=>z4Q,prettifyError:()=>jJA,preprocess:()=>N4Q,prefault:()=>aF1,positive:()=>oXA,pipe:()=>Qt,partialRecord:()=>E4Q,parseAsync:()=>wzA,parse:()=>zzA,overwrite:()=>aw,optional:()=>es,object:()=>eBQ,number:()=>$F1,nullish:()=>J4Q,nullable:()=>At,null:()=>LF1,normalize:()=>kf,nonpositive:()=>sXA,nonoptional:()=>nF1,nonnegative:()=>tXA,never:()=>hzA,negative:()=>rXA,nativeEnum:()=>F4Q,nanoid:()=>qBQ,nan:()=>G4Q,multipleOf:()=>R_,minSize:()=>T_,minLength:()=>FV,mime:()=>vf,maxSize:()=>zP,maxLength:()=>wP,map:()=>I4Q,lte:()=>tF,lt:()=>lw,lowercase:()=>Pf,looseObject:()=>Q4Q,locales:()=>qf,literal:()=>mF1,length:()=>ZP,lazy:()=>DY1,ksuid:()=>PBQ,keyof:()=>tBQ,jwt:()=>bBQ,json:()=>V4Q,iso:()=>rs,ipv6:()=>jBQ,ipv4:()=>SBQ,intersection:()=>vF1,int64:()=>lBQ,int32:()=>pBQ,int:()=>VzA,instanceof:()=>H4Q,includes:()=>jf,hostname:()=>hBQ,guid:()=>KBQ,gte:()=>sE,gt:()=>iw,globalRegistry:()=>XX,getErrorMap:()=>_4Q,function:()=>FzA,formatError:()=>Kf,float64:()=>mBQ,float32:()=>uBQ,flattenError:()=>Hf,file:()=>Y4Q,enum:()=>hF1,endsWith:()=>yf,emoji:()=>WBQ,email:()=>HBQ,e164:()=>xBQ,discriminatedUnion:()=>B4Q,date:()=>sBQ,custom:()=>Z4Q,cuid2:()=>LBQ,cuid:()=>OBQ,core:()=>nw,config:()=>$9,coerce:()=>rzA,clone:()=>rE,cidrv6:()=>yBQ,cidrv4:()=>gBQ,check:()=>w4Q,catch:()=>sF1,boolean:()=>_F1,bigint:()=>dBQ,base64url:()=>kBQ,base64:()=>vBQ,array:()=>uzA,any:()=>oBQ,_default:()=>lF1,_ZodString:()=>NzA,ZodXID:()=>RzA,ZodVoid:()=>SF1,ZodUnknown:()=>TF1,ZodUnion:()=>mzA,ZodUndefined:()=>qF1,ZodUUID:()=>ow,ZodURL:()=>$zA,ZodULID:()=>LzA,ZodType:()=>Z6,ZodTuple:()=>kF1,ZodTransform:()=>dzA,ZodTemplateLiteral:()=>QY1,ZodSymbol:()=>WF1,ZodSuccess:()=>oF1,ZodStringFormat:()=>p4,ZodString:()=>mf,ZodSet:()=>fF1,ZodRecord:()=>czA,ZodRealError:()=>HP,ZodReadonly:()=>eF1,ZodPromise:()=>EY1,ZodPrefault:()=>iF1,ZodPipe:()=>nzA,ZodOptional:()=>izA,ZodObject:()=>Dt,ZodNumberFormat:()=>KP,ZodNumber:()=>pf,ZodNullable:()=>cF1,ZodNull:()=>OF1,ZodNonOptional:()=>azA,ZodNever:()=>PF1,ZodNanoID:()=>WzA,ZodNaN:()=>tF1,ZodMap:()=>bF1,ZodLiteral:()=>uF1,ZodLazy:()=>BY1,ZodKSUID:()=>TzA,ZodJWT:()=>xzA,ZodIssueCode:()=>M4Q,ZodIntersection:()=>yF1,ZodISOTime:()=>ns,ZodISODuration:()=>os,ZodISODateTime:()=>is,ZodISODate:()=>as,ZodIPv6:()=>SzA,ZodIPv4:()=>PzA,ZodGUID:()=>ss,ZodFirstPartyTypeKind:()=>ozA,ZodFile:()=>pF1,ZodError:()=>wBQ,ZodEnum:()=>uf,ZodEmoji:()=>_zA,ZodEmail:()=>MzA,ZodE164:()=>kzA,ZodDiscriminatedUnion:()=>gF1,ZodDefault:()=>dF1,ZodDate:()=>Bt,ZodCustomStringFormat:()=>bzA,ZodCustom:()=>Et,ZodCatch:()=>rF1,ZodCUID2:()=>OzA,ZodCUID:()=>qzA,ZodCIDRv6:()=>gzA,ZodCIDRv4:()=>jzA,ZodBoolean:()=>cf,ZodBigIntFormat:()=>fzA,ZodBigInt:()=>df,ZodBase64URL:()=>vzA,ZodBase64:()=>yzA,ZodArray:()=>jF1,ZodAny:()=>RF1,TimePrecision:()=>_XA,NEVER:()=>_JA,$output:()=>VXA,$input:()=>NXA,$brand:()=>WJA});var nw={};TG(nw,{version:()=>RUA,util:()=>EQ,treeifyError:()=>Vf,toJSONSchema:()=>YzA,toDotPath:()=>oC1,safeParseAsync:()=>yJA,safeParse:()=>gJA,registry:()=>_s,regexes:()=>dw,prettifyError:()=>jJA,parseAsync:()=>Us,parse:()=>Ys,locales:()=>qf,isValidJWT:()=>zF1,isValidBase64URL:()=>XF1,isValidBase64:()=>nUA,globalRegistry:()=>XX,globalConfig:()=>Ff,function:()=>FzA,formatError:()=>Kf,flattenError:()=>Hf,config:()=>$9,clone:()=>rE,_xid:()=>vs,_void:()=>lXA,_uuidv7:()=>Rs,_uuidv6:()=>Ls,_uuidv4:()=>Os,_uuid:()=>qs,_url:()=>Ts,_uppercase:()=>Sf,_unknown:()=>XP,_union:()=>i6Q,_undefined:()=>mXA,_ulid:()=>ys,_uint64:()=>hXA,_uint32:()=>yXA,_tuple:()=>AzA,_trim:()=>xf,_transform:()=>QBQ,_toUpperCase:()=>ff,_toLowerCase:()=>bf,_templateLiteral:()=>UBQ,_symbol:()=>uXA,_superRefine:()=>EzA,_success:()=>CBQ,_stringbool:()=>IzA,_stringFormat:()=>ds,_string:()=>MXA,_startsWith:()=>gf,_size:()=>Rf,_set:()=>s6Q,_safeParseAsync:()=>Xs,_safeParse:()=>Gs,_regex:()=>Tf,_refine:()=>DzA,_record:()=>o6Q,_readonly:()=>JBQ,_property:()=>eXA,_promise:()=>XBQ,_positive:()=>oXA,_pipe:()=>YBQ,_parseAsync:()=>Js,_parse:()=>Fs,_overwrite:()=>aw,_optional:()=>BBQ,_number:()=>RXA,_nullable:()=>DBQ,_null:()=>pXA,_normalize:()=>kf,_nonpositive:()=>sXA,_nonoptional:()=>IBQ,_nonnegative:()=>tXA,_never:()=>dXA,_negative:()=>rXA,_nativeEnum:()=>e6Q,_nanoid:()=>Ss,_nan:()=>nXA,_multipleOf:()=>R_,_minSize:()=>T_,_minLength:()=>FV,_min:()=>sE,_mime:()=>vf,_maxSize:()=>zP,_maxLength:()=>wP,_max:()=>tF,_map:()=>r6Q,_lte:()=>tF,_lt:()=>lw,_lowercase:()=>Pf,_literal:()=>ABQ,_length:()=>ZP,_lazy:()=>GBQ,_ksuid:()=>ks,_jwt:()=>cs,_isoTime:()=>OXA,_isoDuration:()=>LXA,_isoDateTime:()=>WXA,_isoDate:()=>qXA,_ipv6:()=>bs,_ipv4:()=>xs,_intersection:()=>n6Q,_int64:()=>fXA,_int32:()=>gXA,_int:()=>PXA,_includes:()=>jf,_guid:()=>Lf,_gte:()=>sE,_gt:()=>iw,_float64:()=>jXA,_float32:()=>SXA,_file:()=>QzA,_enum:()=>t6Q,_endsWith:()=>yf,_emoji:()=>Ps,_email:()=>Ws,_e164:()=>ps,_discriminatedUnion:()=>a6Q,_default:()=>EBQ,_date:()=>iXA,_custom:()=>BzA,_cuid2:()=>gs,_cuid:()=>js,_coercedString:()=>$XA,_coercedNumber:()=>TXA,_coercedDate:()=>aXA,_coercedBoolean:()=>kXA,_coercedBigint:()=>bXA,_cidrv6:()=>hs,_cidrv4:()=>fs,_check:()=>KF1,_catch:()=>FBQ,_boolean:()=>vXA,_bigint:()=>xXA,_base64url:()=>ms,_base64:()=>us,_array:()=>hf,_any:()=>cXA,TimePrecision:()=>_XA,NEVER:()=>_JA,JSONSchemaGenerator:()=>ls,JSONSchema:()=>VF1,Doc:()=>Hs,$output:()=>VXA,$input:()=>NXA,$constructor:()=>R1,$brand:()=>WJA,$ZodXID:()=>fUA,$ZodVoid:()=>FGA,$ZodUnknown:()=>GP,$ZodUnion:()=>$s,$ZodUndefined:()=>DGA,$ZodUUID:()=>SUA,$ZodURL:()=>gUA,$ZodULID:()=>bUA,$ZodType:()=>O2,$ZodTuple:()=>L_,$ZodTransform:()=>$f,$ZodTemplateLiteral:()=>RGA,$ZodSymbol:()=>BGA,$ZodSuccess:()=>WGA,$ZodStringFormat:()=>j4,$ZodString:()=>O_,$ZodSet:()=>wGA,$ZodRegistry:()=>Of,$ZodRecord:()=>XGA,$ZodRealError:()=>JP,$ZodReadonly:()=>LGA,$ZodPromise:()=>TGA,$ZodPrefault:()=>$GA,$ZodPipe:()=>_f,$ZodOptional:()=>VGA,$ZodObject:()=>JGA,$ZodNumberFormat:()=>AGA,$ZodNumber:()=>Ns,$ZodNullable:()=>NGA,$ZodNull:()=>EGA,$ZodNonOptional:()=>_GA,$ZodNever:()=>CGA,$ZodNanoID:()=>vUA,$ZodNaN:()=>OGA,$ZodMap:()=>zGA,$ZodLiteral:()=>HGA,$ZodLazy:()=>PGA,$ZodKSUID:()=>hUA,$ZodJWT:()=>tUA,$ZodIntersection:()=>GGA,$ZodISOTime:()=>pUA,$ZodISODuration:()=>cUA,$ZodISODateTime:()=>uUA,$ZodISODate:()=>mUA,$ZodIPv6:()=>lUA,$ZodIPv4:()=>dUA,$ZodGUID:()=>PUA,$ZodFunction:()=>CzA,$ZodFile:()=>KGA,$ZodError:()=>Zf,$ZodEnum:()=>ZGA,$ZodEmoji:()=>yUA,$ZodEmail:()=>jUA,$ZodE164:()=>sUA,$ZodDiscriminatedUnion:()=>UGA,$ZodDefault:()=>MGA,$ZodDate:()=>YGA,$ZodCustomStringFormat:()=>eUA,$ZodCustom:()=>SGA,$ZodCheckUpperCase:()=>MUA,$ZodCheckStringFormat:()=>UP,$ZodCheckStartsWith:()=>_UA,$ZodCheckSizeEquals:()=>wUA,$ZodCheckRegex:()=>VUA,$ZodCheckProperty:()=>qUA,$ZodCheckOverwrite:()=>LUA,$ZodCheckNumberFormat:()=>UUA,$ZodCheckMultipleOf:()=>JUA,$ZodCheckMinSize:()=>zUA,$ZodCheckMinLength:()=>HUA,$ZodCheckMimeType:()=>OUA,$ZodCheckMaxSize:()=>XUA,$ZodCheckMaxLength:()=>ZUA,$ZodCheckLowerCase:()=>NUA,$ZodCheckLessThan:()=>ws,$ZodCheckLengthEquals:()=>KUA,$ZodCheckIncludes:()=>$UA,$ZodCheckGreaterThan:()=>Zs,$ZodCheckEndsWith:()=>WUA,$ZodCheckBigIntFormat:()=>GUA,$ZodCheck:()=>CD,$ZodCatch:()=>qGA,$ZodCUID2:()=>xUA,$ZodCUID:()=>kUA,$ZodCIDRv6:()=>aUA,$ZodCIDRv4:()=>iUA,$ZodBoolean:()=>Nf,$ZodBigIntFormat:()=>QGA,$ZodBigInt:()=>Ms,$ZodBase64URL:()=>rUA,$ZodBase64:()=>oUA,$ZodAsyncError:()=>cw,$ZodArray:()=>Mf,$ZodAny:()=>IGA});var _JA=Object.freeze({status:"aborted"});function R1(A,Q,B){function D(F,Y){var J;Object.defineProperty(F,"_zod",{value:F._zod??{},enumerable:!1}),(J=F._zod).traits??(J.traits=new Set),F._zod.traits.add(A),Q(F,Y);for(let U in C.prototype)if(!(U in F))Object.defineProperty(F,U,{value:C.prototype[U].bind(F)});F._zod.constr=C,F._zod.def=Y}let E=B?.Parent??Object;class I extends E{}Object.defineProperty(I,"name",{value:A});function C(F){var Y;let J=B?.Parent?new I:this;D(J,F),(Y=J._zod).deferred??(Y.deferred=[]);for(let U of J._zod.deferred)U();return J}return Object.defineProperty(C,"init",{value:D}),Object.defineProperty(C,Symbol.hasInstance,{value:(F)=>{if(B?.Parent&&F instanceof B.Parent)return!0;return F?._zod?.traits?.has(A)}}),Object.defineProperty(C,"name",{value:A}),C}var WJA=Symbol("zod_brand");class cw extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var Ff={};function $9(A){if(A)Object.assign(Ff,A);return Ff}var EQ={};TG(EQ,{unwrapMessage:()=>Yf,stringifyPrimitive:()=>s0,required:()=>m2Q,randomString:()=>g2Q,propertyKeyTypes:()=>Xf,promiseAllObject:()=>j2Q,primitiveTypes:()=>RJA,prefixIssues:()=>OC,pick:()=>x2Q,partial:()=>u2Q,optionalKeys:()=>TJA,omit:()=>b2Q,numKeys:()=>y2Q,nullish:()=>IV,normalizeParams:()=>m0,mergeDefs:()=>CV,merge:()=>h2Q,jsonStringifyReplacer:()=>CP,joinValues:()=>o1,issue:()=>YP,isPlainObject:()=>FP,isObject:()=>IP,getSizableOrigin:()=>zf,getParsedType:()=>v2Q,getLengthableOrigin:()=>wf,getEnumValues:()=>Jf,getElementAtPath:()=>S2Q,floatSafeRemainder:()=>OJA,finalizeIssue:()=>LC,extend:()=>f2Q,escapeRegex:()=>GX,esc:()=>Is,defineLazy:()=>KB,createTransparentProxy:()=>k2Q,cloneDef:()=>P2Q,clone:()=>rE,cleanRegex:()=>Gf,cleanEnum:()=>p2Q,captureStackTrace:()=>Cs,cached:()=>Uf,assignProp:()=>__,assertNotEqual:()=>O2Q,assertNever:()=>R2Q,assertIs:()=>L2Q,assertEqual:()=>q2Q,assert:()=>T2Q,allowsEval:()=>LJA,aborted:()=>W_,NUMBER_FORMAT_RANGES:()=>PJA,Class:()=>aC1,BIGINT_FORMAT_RANGES:()=>SJA});function q2Q(A){return A}function O2Q(A){return A}function L2Q(A){}function R2Q(A){throw new Error}function T2Q(A){}function Jf(A){let Q=Object.values(A).filter((D)=>typeof D==="number");return Object.entries(A).filter(([D,E])=>Q.indexOf(+D)===-1).map(([D,E])=>E)}function o1(A,Q="|"){return A.map((B)=>s0(B)).join(Q)}function CP(A,Q){if(typeof Q==="bigint")return Q.toString();return Q}function Uf(A){return{get value(){{let B=A();return Object.defineProperty(this,"value",{value:B}),B}throw new Error("cached value already set")}}}function IV(A){return A===null||A===void 0}function Gf(A){let Q=A.startsWith("^")?1:0,B=A.endsWith("$")?A.length-1:A.length;return A.slice(Q,B)}function OJA(A,Q){let B=(A.toString().split(".")[1]||"").length,D=Q.toString(),E=(D.split(".")[1]||"").length;if(E===0&&/\d?e-\d?/.test(D)){let Y=D.match(/\d?e-(\d?)/);if(Y?.[1])E=Number.parseInt(Y[1])}let I=B>E?B:E,C=Number.parseInt(A.toFixed(I).replace(".","")),F=Number.parseInt(Q.toFixed(I).replace(".",""));return C%F/10**I}function KB(A,Q,B){Object.defineProperty(A,Q,{get(){{let E=B();return A[Q]=E,E}throw new Error("cached value already set")},set(E){Object.defineProperty(A,Q,{value:E})},configurable:!0})}function __(A,Q,B){Object.defineProperty(A,Q,{value:B,writable:!0,enumerable:!0,configurable:!0})}function CV(...A){let Q={};for(let B of A){let D=Object.getOwnPropertyDescriptors(B);Object.assign(Q,D)}return Object.defineProperties({},Q)}function P2Q(A){return CV(A._zod.def)}function S2Q(A,Q){if(!Q)return A;return Q.reduce((B,D)=>B?.[D],A)}function j2Q(A){let Q=Object.keys(A),B=Q.map((D)=>A[D]);return Promise.all(B).then((D)=>{let E={};for(let I=0;I<Q.length;I++)E[Q[I]]=D[I];return E})}function g2Q(A=10){let B="";for(let D=0;D<A;D++)B+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return B}function Is(A){return JSON.stringify(A)}var Cs="captureStackTrace"in Error?Error.captureStackTrace:(...A)=>{};function IP(A){return typeof A==="object"&&A!==null&&!Array.isArray(A)}var LJA=Uf(()=>{if(typeof navigator!=="undefined"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(A){return!1}});function FP(A){if(IP(A)===!1)return!1;let Q=A.constructor;if(Q===void 0)return!0;let B=Q.prototype;if(IP(B)===!1)return!1;if(Object.prototype.hasOwnProperty.call(B,"isPrototypeOf")===!1)return!1;return!0}function y2Q(A){let Q=0;for(let B in A)if(Object.prototype.hasOwnProperty.call(A,B))Q++;return Q}var v2Q=(A)=>{let Q=typeof A;switch(Q){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(A)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(A))return"array";if(A===null)return"null";if(A.then&&typeof A.then==="function"&&A.catch&&typeof A.catch==="function")return"promise";if(typeof Map!=="undefined"&&A instanceof Map)return"map";if(typeof Set!=="undefined"&&A instanceof Set)return"set";if(typeof Date!=="undefined"&&A instanceof Date)return"date";if(typeof File!=="undefined"&&A instanceof File)return"file";return"object";default:throw new Error(`Unknown data type: ${Q}`)}},Xf=new Set(["string","number","symbol"]),RJA=new Set(["string","number","bigint","boolean","symbol","undefined"]);function GX(A){return A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rE(A,Q,B){let D=new A._zod.constr(Q??A._zod.def);if(!Q||B?.parent)D._zod.parent=A;return D}function m0(A){let Q=A;if(!Q)return{};if(typeof Q==="string")return{error:()=>Q};if(Q?.message!==void 0){if(Q?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");Q.error=Q.message}if(delete Q.message,typeof Q.error==="string")return{...Q,error:()=>Q.error};return Q}function k2Q(A){let Q;return new Proxy({},{get(B,D,E){return Q??(Q=A()),Reflect.get(Q,D,E)},set(B,D,E,I){return Q??(Q=A()),Reflect.set(Q,D,E,I)},has(B,D){return Q??(Q=A()),Reflect.has(Q,D)},deleteProperty(B,D){return Q??(Q=A()),Reflect.deleteProperty(Q,D)},ownKeys(B){return Q??(Q=A()),Reflect.ownKeys(Q)},getOwnPropertyDescriptor(B,D){return Q??(Q=A()),Reflect.getOwnPropertyDescriptor(Q,D)},defineProperty(B,D,E){return Q??(Q=A()),Reflect.defineProperty(Q,D,E)}})}function s0(A){if(typeof A==="bigint")return A.toString()+"n";if(typeof A==="string")return`"${A}"`;return`${A}`}function TJA(A){return Object.keys(A).filter((Q)=>{return A[Q]._zod.optin==="optional"&&A[Q]._zod.optout==="optional"})}var PJA={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},SJA={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function x2Q(A,Q){let B=A._zod.def,D=CV(A._zod.def,{get shape(){let E={};for(let I in Q){if(!(I in B.shape))throw new Error(`Unrecognized key: "${I}"`);if(!Q[I])continue;E[I]=B.shape[I]}return __(this,"shape",E),E},checks:[]});return rE(A,D)}function b2Q(A,Q){let B=A._zod.def,D=CV(A._zod.def,{get shape(){let E={...A._zod.def.shape};for(let I in Q){if(!(I in B.shape))throw new Error(`Unrecognized key: "${I}"`);if(!Q[I])continue;delete E[I]}return __(this,"shape",E),E},checks:[]});return rE(A,D)}function f2Q(A,Q){if(!FP(Q))throw new Error("Invalid input to extend: expected a plain object");let B=CV(A._zod.def,{get shape(){let D={...A._zod.def.shape,...Q};return __(this,"shape",D),D},checks:[]});return rE(A,B)}function h2Q(A,Q){let B=CV(A._zod.def,{get shape(){let D={...A._zod.def.shape,...Q._zod.def.shape};return __(this,"shape",D),D},get catchall(){return Q._zod.def.catchall},checks:[]});return rE(A,B)}function u2Q(A,Q,B){let D=CV(Q._zod.def,{get shape(){let E=Q._zod.def.shape,I={...E};if(B)for(let C in B){if(!(C in E))throw new Error(`Unrecognized key: "${C}"`);if(!B[C])continue;I[C]=A?new A({type:"optional",innerType:E[C]}):E[C]}else for(let C in E)I[C]=A?new A({type:"optional",innerType:E[C]}):E[C];return __(this,"shape",I),I},checks:[]});return rE(Q,D)}function m2Q(A,Q,B){let D=CV(Q._zod.def,{get shape(){let E=Q._zod.def.shape,I={...E};if(B)for(let C in B){if(!(C in I))throw new Error(`Unrecognized key: "${C}"`);if(!B[C])continue;I[C]=new A({type:"nonoptional",innerType:E[C]})}else for(let C in E)I[C]=new A({type:"nonoptional",innerType:E[C]});return __(this,"shape",I),I},checks:[]});return rE(Q,D)}function W_(A,Q=0){for(let B=Q;B<A.issues.length;B++)if(A.issues[B]?.continue!==!0)return!0;return!1}function OC(A,Q){return Q.map((B)=>{var D;return(D=B).path??(D.path=[]),B.path.unshift(A),B})}function Yf(A){return typeof A==="string"?A:A?.message}function LC(A,Q,B){let D={...A,path:A.path??[]};if(!A.message){let E=Yf(A.inst?._zod.def?.error?.(A))??Yf(Q?.error?.(A))??Yf(B.customError?.(A))??Yf(B.localeError?.(A))??"Invalid input";D.message=E}if(delete D.inst,delete D.continue,!Q?.reportInput)delete D.input;return D}function zf(A){if(A instanceof Set)return"set";if(A instanceof Map)return"map";if(A instanceof File)return"file";return"unknown"}function wf(A){if(Array.isArray(A))return"array";if(typeof A==="string")return"string";return"unknown"}function YP(...A){let[Q,B,D]=A;if(typeof Q==="string")return{message:Q,code:"custom",input:B,inst:D};return{...Q}}function p2Q(A){return Object.entries(A).filter(([Q,B])=>{return Number.isNaN(Number.parseInt(Q,10))}).map((Q)=>Q[1])}class aC1{constructor(...A){}}var nC1=(A,Q)=>{A.name="$ZodError",Object.defineProperty(A,"_zod",{value:A._zod,enumerable:!1}),Object.defineProperty(A,"issues",{value:Q,enumerable:!1}),A.message=JSON.stringify(Q,CP,2),Object.defineProperty(A,"toString",{value:()=>A.message,enumerable:!1})},Zf=R1("$ZodError",nC1),JP=R1("$ZodError",nC1,{Parent:Error});function Hf(A,Q=(B)=>B.message){let B={},D=[];for(let E of A.issues)if(E.path.length>0)B[E.path[0]]=B[E.path[0]]||[],B[E.path[0]].push(Q(E));else D.push(Q(E));return{formErrors:D,fieldErrors:B}}function Kf(A,Q){let B=Q||function(I){return I.message},D={_errors:[]},E=(I)=>{for(let C of I.issues)if(C.code==="invalid_union"&&C.errors.length)C.errors.map((F)=>E({issues:F}));else if(C.code==="invalid_key")E({issues:C.issues});else if(C.code==="invalid_element")E({issues:C.issues});else if(C.path.length===0)D._errors.push(B(C));else{let F=D,Y=0;while(Y<C.path.length){let J=C.path[Y];if(Y!==C.path.length-1)F[J]=F[J]||{_errors:[]};else F[J]=F[J]||{_errors:[]},F[J]._errors.push(B(C));F=F[J],Y++}}};return E(A),D}function Vf(A,Q){let B=Q||function(I){return I.message},D={errors:[]},E=(I,C=[])=>{var F,Y;for(let J of I.issues)if(J.code==="invalid_union"&&J.errors.length)J.errors.map((U)=>E({issues:U},J.path));else if(J.code==="invalid_key")E({issues:J.issues},J.path);else if(J.code==="invalid_element")E({issues:J.issues},J.path);else{let U=[...C,...J.path];if(U.length===0){D.errors.push(B(J));continue}let X=D,z=0;while(z<U.length){let G=U[z],w=z===U.length-1;if(typeof G==="string")X.properties??(X.properties={}),(F=X.properties)[G]??(F[G]={errors:[]}),X=X.properties[G];else X.items??(X.items=[]),(Y=X.items)[G]??(Y[G]={errors:[]}),X=X.items[G];if(w)X.errors.push(B(J));z++}}};return E(A),D}function oC1(A){let Q=[],B=A.map((D)=>typeof D==="object"?D.key:D);for(let D of B)if(typeof D==="number")Q.push(`[${D}]`);else if(typeof D==="symbol")Q.push(`[${JSON.stringify(String(D))}]`);else if(/[^\w$]/.test(D))Q.push(`[${JSON.stringify(D)}]`);else{if(Q.length)Q.push(".");Q.push(D)}return Q.join("")}function jJA(A){let Q=[],B=[...A.issues].sort((D,E)=>(D.path??[]).length-(E.path??[]).length);for(let D of B)if(Q.push(`✖ ${D.message}`),D.path?.length)Q.push(` → at ${oC1(D.path)}`);return Q.join(`
1303
1303
  `)}var Fs=(A)=>(Q,B,D,E)=>{let I=D?Object.assign(D,{async:!1}):{async:!1},C=Q._zod.run({value:B,issues:[]},I);if(C instanceof Promise)throw new cw;if(C.issues.length){let F=new(E?.Err??A)(C.issues.map((Y)=>LC(Y,I,$9())));throw Cs(F,E?.callee),F}return C.value},Ys=Fs(JP),Js=(A)=>async(Q,B,D,E)=>{let I=D?Object.assign(D,{async:!0}):{async:!0},C=Q._zod.run({value:B,issues:[]},I);if(C instanceof Promise)C=await C;if(C.issues.length){let F=new(E?.Err??A)(C.issues.map((Y)=>LC(Y,I,$9())));throw Cs(F,E?.callee),F}return C.value},Us=Js(JP),Gs=(A)=>(Q,B,D)=>{let E=D?{...D,async:!1}:{async:!1},I=Q._zod.run({value:B,issues:[]},E);if(I instanceof Promise)throw new cw;return I.issues.length?{success:!1,error:new(A??Zf)(I.issues.map((C)=>LC(C,E,$9())))}:{success:!0,data:I.value}},gJA=Gs(JP),Xs=(A)=>async(Q,B,D)=>{let E=D?Object.assign(D,{async:!0}):{async:!0},I=Q._zod.run({value:B,issues:[]},E);if(I instanceof Promise)I=await I;return I.issues.length?{success:!1,error:new A(I.issues.map((C)=>LC(C,E,$9())))}:{success:!0,data:I.value}},yJA=Xs(JP);var dw={};TG(dw,{xid:()=>bJA,uuid7:()=>a2Q,uuid6:()=>i2Q,uuid4:()=>l2Q,uuid:()=>q_,uppercase:()=>YUA,unicodeEmail:()=>r2Q,undefined:()=>CUA,ulid:()=>xJA,time:()=>tJA,string:()=>AUA,rfc5322Email:()=>o2Q,number:()=>DUA,null:()=>IUA,nanoid:()=>hJA,lowercase:()=>FUA,ksuid:()=>fJA,ipv6:()=>lJA,ipv4:()=>dJA,integer:()=>BUA,idnEmail:()=>s2Q,html5Email:()=>n2Q,hostname:()=>oJA,guid:()=>mJA,extendedDuration:()=>d2Q,emoji:()=>cJA,email:()=>pJA,e164:()=>rJA,duration:()=>uJA,domain:()=>e2Q,datetime:()=>eJA,date:()=>sJA,cuid2:()=>kJA,cuid:()=>vJA,cidrv6:()=>aJA,cidrv4:()=>iJA,browserEmail:()=>t2Q,boolean:()=>EUA,bigint:()=>QUA,base64url:()=>zs,base64:()=>nJA});var vJA=/^[cC][^\s-]{8,}$/,kJA=/^[0-9a-z]+$/,xJA=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,bJA=/^[0-9a-vA-V]{20}$/,fJA=/^[A-Za-z0-9]{27}$/,hJA=/^[a-zA-Z0-9_-]{21}$/,uJA=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,d2Q=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,mJA=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,q_=(A)=>{if(!A)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${A}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},l2Q=q_(4),i2Q=q_(6),a2Q=q_(7),pJA=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,n2Q=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,o2Q=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,r2Q=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,s2Q=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,t2Q=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function cJA(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var dJA=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,lJA=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,iJA=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,aJA=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,nJA=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zs=/^[A-Za-z0-9_-]*$/,oJA=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,e2Q=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,rJA=/^\+(?:[0-9]){6,14}[0-9]$/,rC1="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",sJA=new RegExp(`^${rC1}$`);function sC1(A){return typeof A.precision==="number"?A.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":A.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${A.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function tJA(A){return new RegExp(`^${sC1(A)}$`)}function eJA(A){let Q=sC1({precision:A.precision}),B=["Z"];if(A.local)B.push("");if(A.offset)B.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let D=`${Q}(?:${B.join("|")})`;return new RegExp(`^${rC1}T(?:${D})$`)}var AUA=(A)=>{let Q=A?`[\\s\\S]{${A?.minimum??0},${A?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${Q}$`)},QUA=/^\d+n?$/,BUA=/^\d+$/,DUA=/^-?\d+(?:\.\d+)?/i,EUA=/true|false/i,IUA=/null/i;var CUA=/undefined/i;var FUA=/^[^A-Z]*$/,YUA=/^[^a-z]*$/;var CD=R1("$ZodCheck",(A,Q)=>{var B;A._zod??(A._zod={}),A._zod.def=Q,(B=A._zod).onattach??(B.onattach=[])}),eC1={number:"number",bigint:"bigint",object:"date"},ws=R1("$ZodCheckLessThan",(A,Q)=>{CD.init(A,Q);let B=eC1[typeof Q.value];A._zod.onattach.push((D)=>{let E=D._zod.bag,I=(Q.inclusive?E.maximum:E.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(Q.value<I)if(Q.inclusive)E.maximum=Q.value;else E.exclusiveMaximum=Q.value}),A._zod.check=(D)=>{if(Q.inclusive?D.value<=Q.value:D.value<Q.value)return;D.issues.push({origin:B,code:"too_big",maximum:Q.value,input:D.value,inclusive:Q.inclusive,inst:A,continue:!Q.abort})}}),Zs=R1("$ZodCheckGreaterThan",(A,Q)=>{CD.init(A,Q);let B=eC1[typeof Q.value];A._zod.onattach.push((D)=>{let E=D._zod.bag,I=(Q.inclusive?E.minimum:E.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(Q.value>I)if(Q.inclusive)E.minimum=Q.value;else E.exclusiveMinimum=Q.value}),A._zod.check=(D)=>{if(Q.inclusive?D.value>=Q.value:D.value>Q.value)return;D.issues.push({origin:B,code:"too_small",minimum:Q.value,input:D.value,inclusive:Q.inclusive,inst:A,continue:!Q.abort})}}),JUA=R1("$ZodCheckMultipleOf",(A,Q)=>{CD.init(A,Q),A._zod.onattach.push((B)=>{var D;(D=B._zod.bag).multipleOf??(D.multipleOf=Q.value)}),A._zod.check=(B)=>{if(typeof B.value!==typeof Q.value)throw new Error("Cannot mix number and bigint in multiple_of check.");if(typeof B.value==="bigint"?B.value%Q.value===BigInt(0):OJA(B.value,Q.value)===0)return;B.issues.push({origin:typeof B.value,code:"not_multiple_of",divisor:Q.value,input:B.value,inst:A,continue:!Q.abort})}}),UUA=R1("$ZodCheckNumberFormat",(A,Q)=>{CD.init(A,Q),Q.format=Q.format||"float64";let B=Q.format?.includes("int"),D=B?"int":"number",[E,I]=PJA[Q.format];A._zod.onattach.push((C)=>{let F=C._zod.bag;if(F.format=Q.format,F.minimum=E,F.maximum=I,B)F.pattern=BUA}),A._zod.check=(C)=>{let F=C.value;if(B){if(!Number.isInteger(F)){C.issues.push({expected:D,format:Q.format,code:"invalid_type",continue:!1,input:F,inst:A});return}if(!Number.isSafeInteger(F)){if(F>0)C.issues.push({input:F,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:A,origin:D,continue:!Q.abort});else C.issues.push({input:F,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:A,origin:D,continue:!Q.abort});return}}if(F<E)C.issues.push({origin:"number",input:F,code:"too_small",minimum:E,inclusive:!0,inst:A,continue:!Q.abort});if(F>I)C.issues.push({origin:"number",input:F,code:"too_big",maximum:I,inst:A})}}),GUA=R1("$ZodCheckBigIntFormat",(A,Q)=>{CD.init(A,Q);let[B,D]=SJA[Q.format];A._zod.onattach.push((E)=>{let I=E._zod.bag;I.format=Q.format,I.minimum=B,I.maximum=D}),A._zod.check=(E)=>{let I=E.value;if(I<B)E.issues.push({origin:"bigint",input:I,code:"too_small",minimum:B,inclusive:!0,inst:A,continue:!Q.abort});if(I>D)E.issues.push({origin:"bigint",input:I,code:"too_big",maximum:D,inst:A})}}),XUA=R1("$ZodCheckMaxSize",(A,Q)=>{var B;CD.init(A,Q),(B=A._zod.def).when??(B.when=(D)=>{let E=D.value;return!IV(E)&&E.size!==void 0}),A._zod.onattach.push((D)=>{let E=D._zod.bag.maximum??Number.POSITIVE_INFINITY;if(Q.maximum<E)D._zod.bag.maximum=Q.maximum}),A._zod.check=(D)=>{let E=D.value;if(E.size<=Q.maximum)return;D.issues.push({origin:zf(E),code:"too_big",maximum:Q.maximum,input:E,inst:A,continue:!Q.abort})}}),zUA=R1("$ZodCheckMinSize",(A,Q)=>{var B;CD.init(A,Q),(B=A._zod.def).when??(B.when=(D)=>{let E=D.value;return!IV(E)&&E.size!==void 0}),A._zod.onattach.push((D)=>{let E=D._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(Q.minimum>E)D._zod.bag.minimum=Q.minimum}),A._zod.check=(D)=>{let E=D.value;if(E.size>=Q.minimum)return;D.issues.push({origin:zf(E),code:"too_small",minimum:Q.minimum,input:E,inst:A,continue:!Q.abort})}}),wUA=R1("$ZodCheckSizeEquals",(A,Q)=>{var B;CD.init(A,Q),(B=A._zod.def).when??(B.when=(D)=>{let E=D.value;return!IV(E)&&E.size!==void 0}),A._zod.onattach.push((D)=>{let E=D._zod.bag;E.minimum=Q.size,E.maximum=Q.size,E.size=Q.size}),A._zod.check=(D)=>{let E=D.value,I=E.size;if(I===Q.size)return;let C=I>Q.size;D.issues.push({origin:zf(E),...C?{code:"too_big",maximum:Q.size}:{code:"too_small",minimum:Q.size},inclusive:!0,exact:!0,input:D.value,inst:A,continue:!Q.abort})}}),ZUA=R1("$ZodCheckMaxLength",(A,Q)=>{var B;CD.init(A,Q),(B=A._zod.def).when??(B.when=(D)=>{let E=D.value;return!IV(E)&&E.length!==void 0}),A._zod.onattach.push((D)=>{let E=D._zod.bag.maximum??Number.POSITIVE_INFINITY;if(Q.maximum<E)D._zod.bag.maximum=Q.maximum}),A._zod.check=(D)=>{let E=D.value;if(E.length<=Q.maximum)return;let C=wf(E);D.issues.push({origin:C,code:"too_big",maximum:Q.maximum,inclusive:!0,input:E,inst:A,continue:!Q.abort})}}),HUA=R1("$ZodCheckMinLength",(A,Q)=>{var B;CD.init(A,Q),(B=A._zod.def).when??(B.when=(D)=>{let E=D.value;return!IV(E)&&E.length!==void 0}),A._zod.onattach.push((D)=>{let E=D._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(Q.minimum>E)D._zod.bag.minimum=Q.minimum}),A._zod.check=(D)=>{let E=D.value;if(E.length>=Q.minimum)return;let C=wf(E);D.issues.push({origin:C,code:"too_small",minimum:Q.minimum,inclusive:!0,input:E,inst:A,continue:!Q.abort})}}),KUA=R1("$ZodCheckLengthEquals",(A,Q)=>{var B;CD.init(A,Q),(B=A._zod.def).when??(B.when=(D)=>{let E=D.value;return!IV(E)&&E.length!==void 0}),A._zod.onattach.push((D)=>{let E=D._zod.bag;E.minimum=Q.length,E.maximum=Q.length,E.length=Q.length}),A._zod.check=(D)=>{let E=D.value,I=E.length;if(I===Q.length)return;let C=wf(E),F=I>Q.length;D.issues.push({origin:C,...F?{code:"too_big",maximum:Q.length}:{code:"too_small",minimum:Q.length},inclusive:!0,exact:!0,input:D.value,inst:A,continue:!Q.abort})}}),UP=R1("$ZodCheckStringFormat",(A,Q)=>{var B,D;if(CD.init(A,Q),A._zod.onattach.push((E)=>{let I=E._zod.bag;if(I.format=Q.format,Q.pattern)I.patterns??(I.patterns=new Set),I.patterns.add(Q.pattern)}),Q.pattern)(B=A._zod).check??(B.check=(E)=>{if(Q.pattern.lastIndex=0,Q.pattern.test(E.value))return;E.issues.push({origin:"string",code:"invalid_format",format:Q.format,input:E.value,...Q.pattern?{pattern:Q.pattern.toString()}:{},inst:A,continue:!Q.abort})});else(D=A._zod).check??(D.check=()=>{})}),VUA=R1("$ZodCheckRegex",(A,Q)=>{UP.init(A,Q),A._zod.check=(B)=>{if(Q.pattern.lastIndex=0,Q.pattern.test(B.value))return;B.issues.push({origin:"string",code:"invalid_format",format:"regex",input:B.value,pattern:Q.pattern.toString(),inst:A,continue:!Q.abort})}}),NUA=R1("$ZodCheckLowerCase",(A,Q)=>{Q.pattern??(Q.pattern=FUA),UP.init(A,Q)}),MUA=R1("$ZodCheckUpperCase",(A,Q)=>{Q.pattern??(Q.pattern=YUA),UP.init(A,Q)}),$UA=R1("$ZodCheckIncludes",(A,Q)=>{CD.init(A,Q);let B=GX(Q.includes),D=new RegExp(typeof Q.position==="number"?`^.{${Q.position}}${B}`:B);Q.pattern=D,A._zod.onattach.push((E)=>{let I=E._zod.bag;I.patterns??(I.patterns=new Set),I.patterns.add(D)}),A._zod.check=(E)=>{if(E.value.includes(Q.includes,Q.position))return;E.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:Q.includes,input:E.value,inst:A,continue:!Q.abort})}}),_UA=R1("$ZodCheckStartsWith",(A,Q)=>{CD.init(A,Q);let B=new RegExp(`^${GX(Q.prefix)}.*`);Q.pattern??(Q.pattern=B),A._zod.onattach.push((D)=>{let E=D._zod.bag;E.patterns??(E.patterns=new Set),E.patterns.add(B)}),A._zod.check=(D)=>{if(D.value.startsWith(Q.prefix))return;D.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:Q.prefix,input:D.value,inst:A,continue:!Q.abort})}}),WUA=R1("$ZodCheckEndsWith",(A,Q)=>{CD.init(A,Q);let B=new RegExp(`.*${GX(Q.suffix)}$`);Q.pattern??(Q.pattern=B),A._zod.onattach.push((D)=>{let E=D._zod.bag;E.patterns??(E.patterns=new Set),E.patterns.add(B)}),A._zod.check=(D)=>{if(D.value.endsWith(Q.suffix))return;D.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:Q.suffix,input:D.value,inst:A,continue:!Q.abort})}});function tC1(A,Q,B){if(A.issues.length)Q.issues.push(...OC(B,A.issues))}var qUA=R1("$ZodCheckProperty",(A,Q)=>{CD.init(A,Q),A._zod.check=(B)=>{let D=Q.schema._zod.run({value:B.value[Q.property],issues:[]},{});if(D instanceof Promise)return D.then((E)=>tC1(E,B,Q.property));tC1(D,B,Q.property);return}}),OUA=R1("$ZodCheckMimeType",(A,Q)=>{CD.init(A,Q);let B=new Set(Q.mime);A._zod.onattach.push((D)=>{D._zod.bag.mime=Q.mime}),A._zod.check=(D)=>{if(B.has(D.value.type))return;D.issues.push({code:"invalid_value",values:Q.mime,input:D.value.type,inst:A,continue:!Q.abort})}}),LUA=R1("$ZodCheckOverwrite",(A,Q)=>{CD.init(A,Q),A._zod.check=(B)=>{B.value=Q.tx(B.value)}});class Hs{constructor(A=[]){if(this.content=[],this.indent=0,this)this.args=A}indented(A){this.indent+=1,A(this),this.indent-=1}write(A){if(typeof A==="function"){A(this,{execution:"sync"}),A(this,{execution:"async"});return}let B=A.split(`
1304
1304
  `).filter((I)=>I),D=Math.min(...B.map((I)=>I.length-I.trimStart().length)),E=B.map((I)=>I.slice(D)).map((I)=>" ".repeat(this.indent*2)+I);for(let I of E)this.content.push(I)}compile(){let A=Function,Q=this?.args,D=[...(this?.content??[""]).map((E)=>` ${E}`)];return new A(...Q,D.join(`
1305
1305
  `))}}var RUA={major:4,minor:0,patch:13};var O2=R1("$ZodType",(A,Q)=>{var B;A??(A={}),A._zod.def=Q,A._zod.bag=A._zod.bag||{},A._zod.version=RUA;let D=[...A._zod.def.checks??[]];if(A._zod.traits.has("$ZodCheck"))D.unshift(A);for(let E of D)for(let I of E._zod.onattach)I(A);if(D.length===0)(B=A._zod).deferred??(B.deferred=[]),A._zod.deferred?.push(()=>{A._zod.run=A._zod.parse});else{let E=(I,C,F)=>{let Y=W_(I),J;for(let U of C){if(U._zod.def.when){if(!U._zod.def.when(I))continue}else if(Y)continue;let X=I.issues.length,z=U._zod.check(I);if(z instanceof Promise&&F?.async===!1)throw new cw;if(J||z instanceof Promise)J=(J??Promise.resolve()).then(async()=>{if(await z,I.issues.length===X)return;if(!Y)Y=W_(I,X)});else{if(I.issues.length===X)continue;if(!Y)Y=W_(I,X)}}if(J)return J.then(()=>{return I});return I};A._zod.run=(I,C)=>{let F=A._zod.parse(I,C);if(F instanceof Promise){if(C.async===!1)throw new cw;return F.then((Y)=>E(Y,D,C))}return E(F,D,C)}}A["~standard"]={validate:(E)=>{try{let I=gJA(A,E);return I.success?{value:I.data}:{issues:I.error?.issues}}catch(I){return yJA(A,E).then((C)=>C.success?{value:C.data}:{issues:C.error?.issues})}},vendor:"zod",version:1}}),O_=R1("$ZodString",(A,Q)=>{O2.init(A,Q),A._zod.pattern=[...A?._zod.bag?.patterns??[]].pop()??AUA(A._zod.bag),A._zod.parse=(B,D)=>{if(Q.coerce)try{B.value=String(B.value)}catch(E){}if(typeof B.value==="string")return B;return B.issues.push({expected:"string",code:"invalid_type",input:B.value,inst:A}),B}}),j4=R1("$ZodStringFormat",(A,Q)=>{UP.init(A,Q),O_.init(A,Q)}),PUA=R1("$ZodGUID",(A,Q)=>{Q.pattern??(Q.pattern=mJA),j4.init(A,Q)}),SUA=R1("$ZodUUID",(A,Q)=>{if(Q.version){let D={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[Q.version];if(D===void 0)throw new Error(`Invalid UUID version: "${Q.version}"`);Q.pattern??(Q.pattern=q_(D))}else Q.pattern??(Q.pattern=q_());j4.init(A,Q)}),jUA=R1("$ZodEmail",(A,Q)=>{Q.pattern??(Q.pattern=pJA),j4.init(A,Q)}),gUA=R1("$ZodURL",(A,Q)=>{j4.init(A,Q),A._zod.check=(B)=>{try{let D=B.value.trim(),E=new URL(D);if(Q.hostname){if(Q.hostname.lastIndex=0,!Q.hostname.test(E.hostname))B.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:oJA.source,input:B.value,inst:A,continue:!Q.abort})}if(Q.protocol){if(Q.protocol.lastIndex=0,!Q.protocol.test(E.protocol.endsWith(":")?E.protocol.slice(0,-1):E.protocol))B.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:Q.protocol.source,input:B.value,inst:A,continue:!Q.abort})}if(Q.normalize)B.value=E.href;else B.value=D;return}catch(D){B.issues.push({code:"invalid_format",format:"url",input:B.value,inst:A,continue:!Q.abort})}}}),yUA=R1("$ZodEmoji",(A,Q)=>{Q.pattern??(Q.pattern=cJA()),j4.init(A,Q)}),vUA=R1("$ZodNanoID",(A,Q)=>{Q.pattern??(Q.pattern=hJA),j4.init(A,Q)}),kUA=R1("$ZodCUID",(A,Q)=>{Q.pattern??(Q.pattern=vJA),j4.init(A,Q)}),xUA=R1("$ZodCUID2",(A,Q)=>{Q.pattern??(Q.pattern=kJA),j4.init(A,Q)}),bUA=R1("$ZodULID",(A,Q)=>{Q.pattern??(Q.pattern=xJA),j4.init(A,Q)}),fUA=R1("$ZodXID",(A,Q)=>{Q.pattern??(Q.pattern=bJA),j4.init(A,Q)}),hUA=R1("$ZodKSUID",(A,Q)=>{Q.pattern??(Q.pattern=fJA),j4.init(A,Q)}),uUA=R1("$ZodISODateTime",(A,Q)=>{Q.pattern??(Q.pattern=eJA(Q)),j4.init(A,Q)}),mUA=R1("$ZodISODate",(A,Q)=>{Q.pattern??(Q.pattern=sJA),j4.init(A,Q)}),pUA=R1("$ZodISOTime",(A,Q)=>{Q.pattern??(Q.pattern=tJA(Q)),j4.init(A,Q)}),cUA=R1("$ZodISODuration",(A,Q)=>{Q.pattern??(Q.pattern=uJA),j4.init(A,Q)}),dUA=R1("$ZodIPv4",(A,Q)=>{Q.pattern??(Q.pattern=dJA),j4.init(A,Q),A._zod.onattach.push((B)=>{let D=B._zod.bag;D.format="ipv4"})}),lUA=R1("$ZodIPv6",(A,Q)=>{Q.pattern??(Q.pattern=lJA),j4.init(A,Q),A._zod.onattach.push((B)=>{let D=B._zod.bag;D.format="ipv6"}),A._zod.check=(B)=>{try{new URL(`http://[${B.value}]`)}catch{B.issues.push({code:"invalid_format",format:"ipv6",input:B.value,inst:A,continue:!Q.abort})}}}),iUA=R1("$ZodCIDRv4",(A,Q)=>{Q.pattern??(Q.pattern=iJA),j4.init(A,Q)}),aUA=R1("$ZodCIDRv6",(A,Q)=>{Q.pattern??(Q.pattern=aJA),j4.init(A,Q),A._zod.check=(B)=>{let[D,E]=B.value.split("/");try{if(!E)throw new Error;let I=Number(E);if(`${I}`!==E)throw new Error;if(I<0||I>128)throw new Error;new URL(`http://[${D}]`)}catch{B.issues.push({code:"invalid_format",format:"cidrv6",input:B.value,inst:A,continue:!Q.abort})}}});function nUA(A){if(A==="")return!0;if(A.length%4!==0)return!1;try{return atob(A),!0}catch{return!1}}var oUA=R1("$ZodBase64",(A,Q)=>{Q.pattern??(Q.pattern=nJA),j4.init(A,Q),A._zod.onattach.push((B)=>{B._zod.bag.contentEncoding="base64"}),A._zod.check=(B)=>{if(nUA(B.value))return;B.issues.push({code:"invalid_format",format:"base64",input:B.value,inst:A,continue:!Q.abort})}});function XF1(A){if(!zs.test(A))return!1;let Q=A.replace(/[-_]/g,(D)=>D==="-"?"+":"/"),B=Q.padEnd(Math.ceil(Q.length/4)*4,"=");return nUA(B)}var rUA=R1("$ZodBase64URL",(A,Q)=>{Q.pattern??(Q.pattern=zs),j4.init(A,Q),A._zod.onattach.push((B)=>{B._zod.bag.contentEncoding="base64url"}),A._zod.check=(B)=>{if(XF1(B.value))return;B.issues.push({code:"invalid_format",format:"base64url",input:B.value,inst:A,continue:!Q.abort})}}),sUA=R1("$ZodE164",(A,Q)=>{Q.pattern??(Q.pattern=rJA),j4.init(A,Q)});function zF1(A,Q=null){try{let B=A.split(".");if(B.length!==3)return!1;let[D]=B;if(!D)return!1;let E=JSON.parse(atob(D));if("typ"in E&&E?.typ!=="JWT")return!1;if(!E.alg)return!1;if(Q&&(!("alg"in E)||E.alg!==Q))return!1;return!0}catch{return!1}}var tUA=R1("$ZodJWT",(A,Q)=>{j4.init(A,Q),A._zod.check=(B)=>{if(zF1(B.value,Q.alg))return;B.issues.push({code:"invalid_format",format:"jwt",input:B.value,inst:A,continue:!Q.abort})}}),eUA=R1("$ZodCustomStringFormat",(A,Q)=>{j4.init(A,Q),A._zod.check=(B)=>{if(Q.fn(B.value))return;B.issues.push({code:"invalid_format",format:Q.format,input:B.value,inst:A,continue:!Q.abort})}}),Ns=R1("$ZodNumber",(A,Q)=>{O2.init(A,Q),A._zod.pattern=A._zod.bag.pattern??DUA,A._zod.parse=(B,D)=>{if(Q.coerce)try{B.value=Number(B.value)}catch(C){}let E=B.value;if(typeof E==="number"&&!Number.isNaN(E)&&Number.isFinite(E))return B;let I=typeof E==="number"?Number.isNaN(E)?"NaN":!Number.isFinite(E)?"Infinity":void 0:void 0;return B.issues.push({expected:"number",code:"invalid_type",input:E,inst:A,...I?{received:I}:{}}),B}}),AGA=R1("$ZodNumber",(A,Q)=>{UUA.init(A,Q),Ns.init(A,Q)}),Nf=R1("$ZodBoolean",(A,Q)=>{O2.init(A,Q),A._zod.pattern=EUA,A._zod.parse=(B,D)=>{if(Q.coerce)try{B.value=Boolean(B.value)}catch(I){}let E=B.value;if(typeof E==="boolean")return B;return B.issues.push({expected:"boolean",code:"invalid_type",input:E,inst:A}),B}}),Ms=R1("$ZodBigInt",(A,Q)=>{O2.init(A,Q),A._zod.pattern=QUA,A._zod.parse=(B,D)=>{if(Q.coerce)try{B.value=BigInt(B.value)}catch(E){}if(typeof B.value==="bigint")return B;return B.issues.push({expected:"bigint",code:"invalid_type",input:B.value,inst:A}),B}}),QGA=R1("$ZodBigInt",(A,Q)=>{GUA.init(A,Q),Ms.init(A,Q)}),BGA=R1("$ZodSymbol",(A,Q)=>{O2.init(A,Q),A._zod.parse=(B,D)=>{let E=B.value;if(typeof E==="symbol")return B;return B.issues.push({expected:"symbol",code:"invalid_type",input:E,inst:A}),B}}),DGA=R1("$ZodUndefined",(A,Q)=>{O2.init(A,Q),A._zod.pattern=CUA,A._zod.values=new Set([void 0]),A._zod.optin="optional",A._zod.optout="optional",A._zod.parse=(B,D)=>{let E=B.value;if(typeof E==="undefined")return B;return B.issues.push({expected:"undefined",code:"invalid_type",input:E,inst:A}),B}}),EGA=R1("$ZodNull",(A,Q)=>{O2.init(A,Q),A._zod.pattern=IUA,A._zod.values=new Set([null]),A._zod.parse=(B,D)=>{let E=B.value;if(E===null)return B;return B.issues.push({expected:"null",code:"invalid_type",input:E,inst:A}),B}}),IGA=R1("$ZodAny",(A,Q)=>{O2.init(A,Q),A._zod.parse=(B)=>B}),GP=R1("$ZodUnknown",(A,Q)=>{O2.init(A,Q),A._zod.parse=(B)=>B}),CGA=R1("$ZodNever",(A,Q)=>{O2.init(A,Q),A._zod.parse=(B,D)=>{return B.issues.push({expected:"never",code:"invalid_type",input:B.value,inst:A}),B}}),FGA=R1("$ZodVoid",(A,Q)=>{O2.init(A,Q),A._zod.parse=(B,D)=>{let E=B.value;if(typeof E==="undefined")return B;return B.issues.push({expected:"void",code:"invalid_type",input:E,inst:A}),B}}),YGA=R1("$ZodDate",(A,Q)=>{O2.init(A,Q),A._zod.parse=(B,D)=>{if(Q.coerce)try{B.value=new Date(B.value)}catch(F){}let E=B.value,I=E instanceof Date;if(I&&!Number.isNaN(E.getTime()))return B;return B.issues.push({expected:"date",code:"invalid_type",input:E,...I?{received:"Invalid Date"}:{},inst:A}),B}});function QF1(A,Q,B){if(A.issues.length)Q.issues.push(...OC(B,A.issues));Q.value[B]=A.value}var Mf=R1("$ZodArray",(A,Q)=>{O2.init(A,Q),A._zod.parse=(B,D)=>{let E=B.value;if(!Array.isArray(E))return B.issues.push({expected:"array",code:"invalid_type",input:E,inst:A}),B;B.value=Array(E.length);let I=[];for(let C=0;C<E.length;C++){let F=E[C],Y=Q.element._zod.run({value:F,issues:[]},D);if(Y instanceof Promise)I.push(Y.then((J)=>QF1(J,B,C)));else QF1(Y,B,C)}if(I.length)return Promise.all(I).then(()=>B);return B}});function Ks(A,Q,B,D){if(A.issues.length)Q.issues.push(...OC(B,A.issues));if(A.value===void 0){if(B in D)Q.value[B]=void 0}else Q.value[B]=A.value}var JGA=R1("$ZodObject",(A,Q)=>{O2.init(A,Q);let B=Uf(()=>{let X=Object.keys(Q.shape);for(let G of X)if(!(Q.shape[G]instanceof O2))throw new Error(`Invalid element at key "${G}": expected a Zod schema`);let z=TJA(Q.shape);return{shape:Q.shape,keys:X,keySet:new Set(X),numKeys:X.length,optionalKeys:new Set(z)}});KB(A._zod,"propValues",()=>{let X=Q.shape,z={};for(let G in X){let w=X[G]._zod;if(w.values){z[G]??(z[G]=new Set);for(let Z of w.values)z[G].add(Z)}}return z});let D=(X)=>{let z=new Hs(["shape","payload","ctx"]),G=B.value,w=(_)=>{let W=Is(_);return`shape[${W}]._zod.run({ value: input[${W}], issues: [] }, ctx)`};z.write("const input = payload.value;");let Z=Object.create(null),V=0;for(let _ of G.keys)Z[_]=`key_${V++}`;z.write("const newResult = {}");for(let _ of G.keys){let W=Z[_],R=Is(_);z.write(`const ${W} = ${w(_)};`),z.write(`
@@ -1914,5 +1914,5 @@ Get help with code, planning, security, project management, and more. Duo CLI ca
1914
1914
  ${n8A(this.#E,E)}`),this.#D=a1(Q,"[TUIController]");try{let{backend:I,workspaceFolder:C,username:F}=await B.initialize();this.#Q=I,lJ(this.#X(A.getRequiredService(RX))),this.#M(F),await this.#w(C,D)}catch(I){this.#D.error("Initialization failed: ",I),this.#B.setState({...this.#B.getState(),criticalErrorMessage:I instanceof Error?I.message:"Unknown initialization error"}),setTimeout(()=>process.exit(1),10)}}async#X(A){try{await A.reloadAllServers(this.#E.cwd),await A.waitForAllServersSettled(30000)}catch(Q){this.#D?.warn(`Failed to preload MCP servers during controller initialization: ${Q}`)}}async#w(A,Q){this.#G=await Q.getRepositoriesForWorkspace(A)}getCallbacks(){return{onKeyPress:(A,Q)=>{if(Q.escape&&this.#B.getState().isLoading&&this.#J){this.#D?.info("Cancelling stream due to ESC key press"),this.#J.abort();return}if(this.#B.getState().input.inputType===$_.TEXT)this.#F.handleKeyPress(A,Q);else this.#Y.handleKeyPress(A,Q)},onSubmit:(A)=>{this.#F.onSubmit(A)},onExit:()=>this.#W(),toggleExpanded:()=>{let A=this.#B.getState();this.#B.setState({...A,expanded:!A.expanded})},onFileSearch:async(A)=>{this.#D?.info(`onFileSearch callback triggered: ${A}`);let Q=KC1(A);return this.#D?.info(`Translated search pattern to glob pattern: ${Q}`),(await Promise.all(this.#G.map(async(D)=>{let E=await D.getFiles(Q),I=vL2(this.#E.cwd,D.fsPath);return E.map((C)=>yL2(I,C))}))).flat()}}}#K(){let A={type:"message",id:"welcome",role:"assistant",content:NvA()};this.#B.setState({elements:[A],isLoading:!1,input:QP,expanded:!1})}#M(A){let Q=NvA(A),B=this.#B.getState();this.#B.setState({...B,elements:B.elements.map((D)=>{return D.id==="welcome"?{...D,content:Q}:D})})}async#Z(A){let Q=this.#B.getState();if(Q.isLoading)return;this.#B.setState({...Q,input:QP}),await this.#V(A)}async#N(A){if(this.#B.getState().isLoading||!A.prompt.trim())return;this.#F.clear();let B={id:Date.now().toString(),type:"message",role:"user",content:A.prompt};this.#H(B),await this.#V(A)}async#V(A){if(this.#B.setState({...this.#B.getState(),input:QP,isLoading:!0}),await this.#U,!this.#Q)throw new Error("Backend not initialized");this.#J=new AbortController;try{let Q;for await(let B of this.#Q.sendMessageStream(A,this.#J.signal))Q=B,this.#_(B);if(Q?.type==="TOOL_AWAITING_APPROVAL"){let B={type:"SEND_TOOL_APPROVAL",scope:"session",toolId:Q.toolId,toolName:Q.toolName};this.#Y.setChoice([{label:"Approve",value:{...B,approved:!0}},{label:"Reject",value:{...B,approved:!1}}])}}catch(Q){this.#D?.error("Error in message streaming",Q),this.#_({type:"ERROR",message:"Sorry, there was an error processing your message. Please try again."})}finally{this.#I=void 0,this.#C.clear(),this.#J=void 0,this.#B.setState({...this.#B.getState(),isLoading:!1})}}#H(A){let Q=this.#B.getState();this.#B.setState({...Q,elements:[...Q.elements,A]})}#_(A){if(!this.#B)throw new Error("Store not initialized");let Q=this.#B.getState();switch(A.type){case"TEXT_CHUNK":{if(!this.#I||this.#I.id!==A.messageId)this.#I={id:A.messageId,type:"message",role:"assistant",content:A.content},this.#H(this.#I);else{this.#I.content+=A.content;let B=Q.elements.map((D)=>D.type==="message"&&D.id===A.messageId&&this.#I?this.#I:D);this.#B.setState({...Q,elements:B})}break}case"TOOL_START":{let B={id:A.toolId,type:"tool",name:A.name,input:A.input,state:{type:"loading"}};this.#C.set(A.toolId,B),this.#$(B);break}case"TOOL_AWAITING_APPROVAL":{let B={id:A.toolId,type:"tool",name:A.toolName,input:A.input,state:{type:"approval_request",content:""}};this.#C.set(A.toolId,B),this.#$(B);break}case"TOOL_COMPLETE":{let B=this.#C.get(A.toolId);if(B){let D={...B,state:A.error?{type:"error",error:A.error}:{type:"success",output:A.result}};this.#$(D),this.#C.delete(A.toolId)}break}case"ERROR":{this.#D?.error("Agent error:",A.message);let B={id:`error-${Date.now()}`,type:"error",error:`${A.message}`};this.#H(B);break}default:this.#D?.warn("Unknown agent event type:",A);break}}#$(A){let Q=this.#B.getState(),B=Q.elements.findIndex((E)=>E.type==="tool"&&E.id===A.id);if(B<0){this.#H(A);return}let D=[...Q.elements];D[B]=A,this.#B.setState({...Q,elements:D})}#W(){process.exit(0)}}var kL2=({runConfig:A})=>{let[Q,B]=tl.useState(void 0),[D]=tl.useState(()=>new _vA(B,A));if(tl.useEffect(()=>{lJ(D.initialize())},[D]),!Q)return k1($0,{children:"Initializing..."});return k1(VJA,{state:Q,callbacks:D.getCallbacks()})},QJ0=(A,Q)=>{Cf(k1(kL2,{runConfig:A}),Q)};class WvA{#A;#Q;#B;#D=null;constructor(A){this.#B=A}async initialize(){let A=await a8A({logDestination:"stdout"},this.#B),Q=A.getRequiredService(b1),B=A.getRequiredService(oE);Q.debug(`CLI run config:
1915
1915
  ${n8A(this.#B,B)}`),this.#Q=a1(Q,"[RunController]");try{let D=A.getRequiredService(QH),{backend:E}=await D.initialize();this.#A=E}catch(D){this.#Q.error("API initialization failed:",D),process.exit(1)}}async execute(){if(!this.#A||this.#B.command?.name!=="run")throw new Error("Controller not initialized. Call initialize() first.");let{goal:A}=this.#B.command;this.#Q?.info(`Executing workflow: ${JSON.stringify({goal:A},null,4)}`);let Q={id:Date.now().toString(),type:"message",role:"user",content:A};try{let B;for await(let D of this.#A.sendMessageStream({type:"SEND_PROMPT",prompt:Q.content}))this.#E(D),B=D;if(this.#D)this.#Q?.info(JSON.stringify(this.#D,null,2));process.exit(B?.type==="ERROR"?1:0)}catch(B){throw this.#Q?.error("Workflow failed:",B instanceof Error?B.message:String(B)),B}}#E(A){switch(A.type){case"TEXT_CHUNK":{if(!this.#D||this.#D.id!==A.messageId){if(this.#D)this.#Q?.info(JSON.stringify(this.#D,null,4));this.#D={id:A.messageId,type:"message",role:"assistant",content:A.content}}else this.#D.content+=A.content;break}case"TOOL_START":{this.#Q?.info(`Tool started: ${A.name}`);break}case"TOOL_COMPLETE":{if(this.#Q?.info(`Tool completed: ${A.toolId}`),A.error)this.#Q?.error(`Tool error: ${A.error}`);break}case"TOOL_AWAITING_APPROVAL":break;case"ERROR":{this.#Q?.error(`Error: ${A.message}`);break}default:{let Q=A;this.#Q?.warn(`Unexpected event received: ${JSON.stringify(Q)}`);break}}}}var xL2=()=>{return"production"},qvA,o8A=async()=>{if(!qvA){let A=kC1(),Q=await xC1(),B=V9(),D=xL2();qvA={terminalName:A,isKittyProtocolSupported:Q,duoCliVersion:B,environment:D}}return qvA};import{statSync as bL2}from"node:fs";import{isAbsolute as fL2,normalize as hL2,resolve as uL2}from"node:path";function BJ0(A,Q=process.cwd()){let B;if(fL2(A))B=hL2(A);else B=uL2(Q,A);return mL2(B),B}function mL2(A){try{if(!bL2(A).isDirectory())throw new KK(`Path "${A}" exists but is not a directory`)}catch(Q){if(Q instanceof Error&&Q.code==="ENOENT")throw new KK(`Directory "${A}" does not exist`);throw Q}}function DJ0(A){try{let Q=JSON.parse(A);return Array.isArray(Q)?Q.map((D)=>({category:D.Category||D.category,content:D.Content||D.content,metadata:D.metadata||{}})):[]}catch(Q){if(Q instanceof SyntaxError)throw new KK(`Invalid JSON format: ${Q.message}`);throw new KK(`AI Context Item schema error: ${Q}`)}}var pL2=p.object({gitlabBaseUrl:p.string().optional(),gitlabAuthToken:p.string().optional()}),EJ0="duo-cli-config";class IJ0{#A;#Q;#B;constructor(A,Q,B){this.#A=A,this.#B=B,this.#Q=Q}async saveConfig(A){try{let{configurationEntries:Q}=A,B={gitlabAuthToken:"",gitlabBaseUrl:""};for(let D of Q){let E=D.key;if(E in B)B[E]=D.value}return this.#A=B,await this.#Q.set(EJ0,B),eD()}catch(Q){return this.#B.error("Failed to save configuration:",Q),pB(Q)}}exit(){process.exit(0)}getDuoConfiguration(){return this.#A}async initialize(){let A=await this.#Q.get(EJ0),Q=pL2.safeParse(A);if(Q.success)this.#A={...Q.data,...this.#A}}isMissingConfiguration(){let{gitlabAuthToken:A,gitlabBaseUrl:Q}=this.#A;return!A||!Q}getConfigurationModel(){return{configurationEntries:[{key:"gitlabBaseUrl",value:this.#A.gitlabBaseUrl??"",displayName:"\uD83D\uDD17 GitLab Instance URL",description:"The URL of the GitLab instance to connect to.",defaultValue:"https://gitlab.com",isSensitive:!1},{key:"gitlabAuthToken",value:this.#A.gitlabAuthToken??"",displayName:"\uD83D\uDD16 GitLab Token",description:"GitLab access token with API permissions. Create one here: https://gitlab.com/-/user_settings/personal_access_tokens",defaultValue:"",isSensitive:!0}]}}}var r8A=async(A={})=>{let Q=new PO,B=new z8A("info"),D=new Jw(Q,B),E=new Yy(D),I=new IJ0(A,E,D);return await I.initialize(),I};var OvA=(A,Q)=>{Cf(k1(yC1,{initialState:A.getConfigurationModel(),controller:A}),Q)};var cL2=process.platform==="win32",s8A=BY0(),XM=new ivA,LvA=(A)=>{(global.__logger||console).error(A),process.exit(1)};process.on("unhandledRejection",LvA);process.on("uncaughtException",LvA);var RvA=V9();XM.name("duo").description("GitLab Duo for your command line").version(RvA,"-v, --version","Display version number").option("-C, --cwd <path>","change working directory",(A)=>BJ0(A),process.cwd()).addOption(new A4("--gitlab-base-url <url>","Base URL of GitLab instance").env("GITLAB_URL").default(process.env.GITLAB_BASE_URL||"https://gitlab.com")).addOption(new A4("--gitlab-auth-token <token>","Authentication token for GitLab instance").env("GITLAB_TOKEN").default(process.env.GITLAB_OAUTH_TOKEN)).addOption(new A4("--log-level <level>","Set logging level").choices(Object.values(k3)).env("LOG_LEVEL").default(k3.DEBUG)).addOption(new A4("--git-http-user <user>","Username for git HTTP authentication credentials").env("DUO_WORKFLOW_GIT_HTTP_USER")).addOption(new A4("--git-http-password <password>","Password for git HTTP authentication credentials").env("DUO_WORKFLOW_GIT_HTTP_PASSWORD")).addOption(new A4("--git-user-email <email>","Email for git commit attribution").env("DUO_WORKFLOW_GIT_USER_EMAIL")).addOption(new A4("--git-user-name <name>","Name for git commit attribution").env("DUO_WORKFLOW_GIT_USER_NAME"));s8A.registerOptions(XM.addOption(new A4("--existing-session-id <sessionId>","ID of existing session to resume").default(process.env.DUO_WORKFLOW_WORKFLOW_ID)).action(async(A)=>{let Q=XM.opts(),{cwd:B,logLevel:D,gitHttpUser:E,gitHttpPassword:I,gitUserEmail:C,gitUserName:F}=Q,{existingSessionId:Y}=A,J=await r8A(Q),U=await o8A();if(J.isMissingConfiguration()){OvA(J,U);return}let z=J.getDuoConfiguration(),G=s8A.mapConfig({cliVersion:RvA,cwd:B,logLevel:D,gitlabBaseUrl:z.gitlabBaseUrl,gitlabAuthToken:z.gitlabAuthToken,envInfo:U,gitHttpUser:E,gitHttpPassword:I,gitUserEmail:C,gitUserName:F,command:{name:"tui",existingSessionId:Y}},{programConfig:Q,commandConfig:A});QJ0(G,U)}));var dL2=XM.command("config").description("configuration management commands");dL2.command("edit").description("edit duo CLI configuration").action(async()=>{let A=await r8A(),Q=await o8A();OvA(A,Q)});var t8A=XM.command("log").description("log management commands");t8A.command("last").description("open the last log file").action(()=>{keA()});t8A.command("list").description("list all log files").action(()=>{xeA()});t8A.command("tail [args...]").description(`tail the last log file. "args" can be any standard ${cL2?'PowerShell "Get-Content"':'"tail"'} arguments`).allowUnknownOption().action((A)=>beA(A||[]));t8A.command("clear").description("remove all existing log files").action(()=>{feA()});s8A.registerOptions(XM.command("run").description("Run a workflow in non-interactive / headless mode").addOption(new A4("-g, --goal <goal>","Goal/prompt for the session").default(process.env.DUO_WORKFLOW_GOAL).makeOptionMandatory()).addOption(new A4("--ai-context-items <contextItems>","JSON encoded array of additional context items").env("DUO_WORKFLOW_ADDITIONAL_CONTEXT_CONTENT").argParser((A)=>DJ0(A))).action(async(A)=>{let Q=XM.opts(),{cwd:B,logLevel:D,gitHttpUser:E,gitHttpPassword:I,gitUserEmail:C,gitUserName:F,existingSessionId:Y}=Q,{goal:J,aiContextItems:U}=A,z=(await r8A(Q)).getDuoConfiguration(),G=await o8A();if(!z.gitlabAuthToken)throw new KK("--gitlab-auth-token / GITLAB_AUTH_TOKEN option is required.");let w=s8A.mapConfig({cliVersion:RvA,cwd:B,gitlabBaseUrl:z.gitlabBaseUrl,gitlabAuthToken:z.gitlabAuthToken,logLevel:D,envInfo:G,gitHttpUser:E,gitHttpPassword:I,gitUserEmail:C,gitUserName:F,command:{name:"run",goal:J,aiContextItems:U,existingSessionId:Y}},{programConfig:Q,commandConfig:A}),Z=new WvA(w);await Z.initialize(),await Z.execute()}));try{await XM.parseAsync(process.argv)}catch(A){LvA(A)}
1916
1916
 
1917
- //# debugId=153E7430EF3BF6D164756E2164756E21
1917
+ //# debugId=76E51BFAEBC0EA8064756E2164756E21
1918
1918
  //# sourceMappingURL=index.js.map