@5minds/processcube_app_sdk 5.1.0-feature-e9eeba-ltfryndo → 5.1.0-feature-1b26fa-ltfv6ej6

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.
@@ -1 +1 @@
1
- var S=Object.create;var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var U=(r,e)=>{for(var s in e)a(r,s,{get:e[s],enumerable:!0})},u=(r,e,s,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of w(e))!R.call(r,n)&&n!==s&&a(r,n,{get:()=>e[n],enumerable:!(t=g(e,n))||t.enumerable});return r};var A=(r,e,s)=>(s=r!=null?S(C(r)):{},u(e||!r||!r.__esModule?a(s,"default",{value:r,enumerable:!0}):s,r)),b=r=>u(a({},"__esModule",{value:!0}),r);var v={};U(v,{RemoteUserTask:()=>x,authConfigJwtCallback:()=>h,authConfigSessionCallback:()=>_,hasClaim:()=>y});module.exports=b(v);var f=A(require("react"),1);function x(r){return f.default.createElement("div",{style:{width:"100%",height:"100%"}},f.default.createElement("iframe",{width:"100%",height:"100%",src:r.url}))}var p=require("jwt-decode"),k=require("next-auth"),d=require("next-auth/react"),m=require("@5minds/processcube_engine_sdk"),c=new m.Logger("processcube_app_sdk:next-auth_configuration"),l="No refresh token present. Your authority might be configured incorrectly. For more information see https://processcube.io/docs/app-sdk/samples/authority/authentication-with-nextauth";async function y(r){let e;return typeof window>"u"?e=(await(0,k.getServerSession)({callbacks:{jwt:h,session:_}}))?.user:e=(await(0,d.getSession)())?.user,!e||!e.claims?!1:e.claims[r]!=null}async function h(r){let{token:e,account:s,user:t}=r;s&&(e.accessToken=s.access_token,e.idToken=s.id_token,e.refreshToken=s.refresh_token,e.expiresAt=s.expires_at??Math.floor(Date.now()/1e3+s.expires_in)),t&&(e.user=t);let n=process.env.PROCESSCUBE_AUTHORITY_URL!=null&&process.env.NEXTAUTH_CLIENT_ID!=null&&process.env.NEXTAUTH_SECRET!=null;if(n||c.warn("In order for the Access Token to be automatically renewed, PROCESSCUBE_AUTHORITY_URL, NEXTAUTH_CLIENT_ID and NEXTAUTH_SECRET must be set as an environment variable"),e.refreshToken===void 0&&c.warn(l),n&&Date.now()>=e.expiresAt*1e3){if(e.refreshToken===void 0)return c.error("Error refreshing access token.",{err:l}),e.error="RefreshAccessTokenError",e;try{let i=await fetch(`${process.env.PROCESSCUBE_AUTHORITY_URL}/token`,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:process.env.NEXTAUTH_CLIENT_ID,client_secret:process.env.NEXTAUTH_SECRET,grant_type:"refresh_token",refresh_token:e.refreshToken}),method:"POST"}),o=await i.json();if(!i.ok)throw o;e.accessToken=o.access_token,e.idToken=o.id_token,e.expiresAt=Math.floor(Date.now()/1e3+o.expires_in),e.refreshToken=o.refresh_token??e.refreshToken}catch(i){c.error("Error refreshing access token",{err:i}),e.error="RefreshAccessTokenError"}}return e}async function _(r){let{session:e,token:s}=r,t=T(s.accessToken),n=T(s.idToken),i=Object.keys(n),o=Object.fromEntries(Object.entries(t).filter(([E,I])=>!i.includes(E)));return delete o.scope,delete o.jti,delete o.client_id,e.user=s.user??{},e.user.claims=o,e.error=s.error,e}function T(r){return(0,p.jwtDecode)(r)}0&&(module.exports={RemoteUserTask,authConfigJwtCallback,authConfigSessionCallback,hasClaim});
1
+ var C=Object.create;var a=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var x=(s,e)=>{for(var r in e)a(s,r,{get:e[r],enumerable:!0})},T=(s,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of S(e))!D.call(s,o)&&o!==r&&a(s,o,{get:()=>e[o],enumerable:!(t=_(e,o))||t.enumerable});return s};var y=(s,e,r)=>(r=s!=null?C(w(s)):{},T(e||!s||!s.__esModule?a(r,"default",{value:s,enumerable:!0}):r,s)),I=s=>T(a({},"__esModule",{value:!0}),s);var b={};x(b,{RemoteUserTask:()=>R,authConfigJwtCallback:()=>g,authConfigSessionCallback:()=>U,hasClaim:()=>F,mapUserTask:()=>h,mapUserTaskList:()=>A});module.exports=I(b);var f=y(require("react"),1);function R(s){return f.default.createElement("div",{style:{width:"100%",height:"100%"}},f.default.createElement("iframe",{width:"100%",height:"100%",src:s.url}))}var u=require("jwt-decode"),d=require("next-auth"),m=require("next-auth/react"),p=require("@5minds/processcube_engine_sdk"),c=new p.Logger("processcube_app_sdk:next-auth_configuration"),k="No refresh token present. Your authority might be configured incorrectly. For more information see https://processcube.io/docs/app-sdk/samples/authority/authentication-with-nextauth";async function F(s){let e;return typeof window>"u"?e=(await(0,d.getServerSession)({callbacks:{jwt:g,session:U}}))?.user:e=(await(0,m.getSession)())?.user,!e||!e.claims?!1:e.claims[s]!=null}async function g(s){let{token:e,account:r,user:t}=s;r&&(e.accessToken=r.access_token,e.idToken=r.id_token,e.refreshToken=r.refresh_token,e.expiresAt=r.expires_at??Math.floor(Date.now()/1e3+r.expires_in)),t&&(e.user=t);let o=process.env.PROCESSCUBE_AUTHORITY_URL!=null&&process.env.NEXTAUTH_CLIENT_ID!=null&&process.env.NEXTAUTH_SECRET!=null;if(o||c.warn("In order for the Access Token to be automatically renewed, PROCESSCUBE_AUTHORITY_URL, NEXTAUTH_CLIENT_ID and NEXTAUTH_SECRET must be set as an environment variable"),e.refreshToken===void 0&&c.warn(k),o&&Date.now()>=e.expiresAt*1e3){if(e.refreshToken===void 0)return c.error("Error refreshing access token.",{err:k}),e.error="RefreshAccessTokenError",e;try{let i=await fetch(`${process.env.PROCESSCUBE_AUTHORITY_URL}/token`,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:process.env.NEXTAUTH_CLIENT_ID,client_secret:process.env.NEXTAUTH_SECRET,grant_type:"refresh_token",refresh_token:e.refreshToken}),method:"POST"}),n=await i.json();if(!i.ok)throw n;e.accessToken=n.access_token,e.idToken=n.id_token,e.expiresAt=Math.floor(Date.now()/1e3+n.expires_in),e.refreshToken=n.refresh_token??e.refreshToken}catch(i){c.error("Error refreshing access token",{err:i}),e.error="RefreshAccessTokenError"}}return e}async function U(s){let{session:e,token:r}=s,t=l(r.accessToken),o=l(r.idToken),i=Object.keys(o),n=Object.fromEntries(Object.entries(t).filter(([E,v])=>!i.includes(E)));return delete n.scope,delete n.jti,delete n.client_id,e.user=r.user??{},e.user.claims=n,e.error=r.error,e}function l(s){return(0,u.jwtDecode)(s)}function h(s){let{userTaskConfig:e,userTaskConfigModel:r,...t}=s,o={},i={};return e.formFields.forEach(n=>o[n.id]=n),r.formFields.forEach(n=>i[n.id]=n),{...t,userTaskConfig:{...e,formFieldsDict:o},userTaskConfigModel:{...r,formFieldsDict:i}}}function A(s){return{totalCount:s.totalCount,userTasks:s.userTasks.map(h)}}0&&(module.exports={RemoteUserTask,authConfigJwtCallback,authConfigSessionCallback,hasClaim,mapUserTask,mapUserTaskList});
@@ -1,6 +1,7 @@
1
1
  import { DefaultSession, User } from 'next-auth';
2
2
  export * from './components/RemoteUserTask';
3
3
  export * from './functions/hasClaim';
4
+ export * from './types';
4
5
  declare global {
5
6
  namespace NodeJS {
6
7
  interface ProcessEnv {
@@ -1 +1 @@
1
- import c from"react";function S(n){return c.createElement("div",{style:{width:"100%",height:"100%"}},c.createElement("iframe",{width:"100%",height:"100%",src:n.url}))}import{jwtDecode as T}from"jwt-decode";import{getServerSession as p}from"next-auth";import{getSession as k}from"next-auth/react";import{Logger as d}from"@5minds/processcube_engine_sdk";var a=new d("processcube_app_sdk:next-auth_configuration"),f="No refresh token present. Your authority might be configured incorrectly. For more information see https://processcube.io/docs/app-sdk/samples/authority/authentication-with-nextauth";async function v(n){let e;return typeof window>"u"?e=(await p({callbacks:{jwt:m,session:h}}))?.user:e=(await k())?.user,!e||!e.claims?!1:e.claims[n]!=null}async function m(n){let{token:e,account:r,user:t}=n;r&&(e.accessToken=r.access_token,e.idToken=r.id_token,e.refreshToken=r.refresh_token,e.expiresAt=r.expires_at??Math.floor(Date.now()/1e3+r.expires_in)),t&&(e.user=t);let i=process.env.PROCESSCUBE_AUTHORITY_URL!=null&&process.env.NEXTAUTH_CLIENT_ID!=null&&process.env.NEXTAUTH_SECRET!=null;if(i||a.warn("In order for the Access Token to be automatically renewed, PROCESSCUBE_AUTHORITY_URL, NEXTAUTH_CLIENT_ID and NEXTAUTH_SECRET must be set as an environment variable"),e.refreshToken===void 0&&a.warn(f),i&&Date.now()>=e.expiresAt*1e3){if(e.refreshToken===void 0)return a.error("Error refreshing access token.",{err:f}),e.error="RefreshAccessTokenError",e;try{let o=await fetch(`${process.env.PROCESSCUBE_AUTHORITY_URL}/token`,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:process.env.NEXTAUTH_CLIENT_ID,client_secret:process.env.NEXTAUTH_SECRET,grant_type:"refresh_token",refresh_token:e.refreshToken}),method:"POST"}),s=await o.json();if(!o.ok)throw s;e.accessToken=s.access_token,e.idToken=s.id_token,e.expiresAt=Math.floor(Date.now()/1e3+s.expires_in),e.refreshToken=s.refresh_token??e.refreshToken}catch(o){a.error("Error refreshing access token",{err:o}),e.error="RefreshAccessTokenError"}}return e}async function h(n){let{session:e,token:r}=n,t=u(r.accessToken),i=u(r.idToken),o=Object.keys(i),s=Object.fromEntries(Object.entries(t).filter(([l,_])=>!o.includes(l)));return delete s.scope,delete s.jti,delete s.client_id,e.user=r.user??{},e.user.claims=s,e.error=r.error,e}function u(n){return T(n)}export{S as RemoteUserTask,m as authConfigJwtCallback,h as authConfigSessionCallback,v as hasClaim};
1
+ import c from"react";function C(n){return c.createElement("div",{style:{width:"100%",height:"100%"}},c.createElement("iframe",{width:"100%",height:"100%",src:n.url}))}import{jwtDecode as l}from"jwt-decode";import{getServerSession as u}from"next-auth";import{getSession as d}from"next-auth/react";import{Logger as m}from"@5minds/processcube_engine_sdk";var a=new m("processcube_app_sdk:next-auth_configuration"),f="No refresh token present. Your authority might be configured incorrectly. For more information see https://processcube.io/docs/app-sdk/samples/authority/authentication-with-nextauth";async function A(n){let e;return typeof window>"u"?e=(await u({callbacks:{jwt:p,session:g}}))?.user:e=(await d())?.user,!e||!e.claims?!1:e.claims[n]!=null}async function p(n){let{token:e,account:r,user:i}=n;r&&(e.accessToken=r.access_token,e.idToken=r.id_token,e.refreshToken=r.refresh_token,e.expiresAt=r.expires_at??Math.floor(Date.now()/1e3+r.expires_in)),i&&(e.user=i);let t=process.env.PROCESSCUBE_AUTHORITY_URL!=null&&process.env.NEXTAUTH_CLIENT_ID!=null&&process.env.NEXTAUTH_SECRET!=null;if(t||a.warn("In order for the Access Token to be automatically renewed, PROCESSCUBE_AUTHORITY_URL, NEXTAUTH_CLIENT_ID and NEXTAUTH_SECRET must be set as an environment variable"),e.refreshToken===void 0&&a.warn(f),t&&Date.now()>=e.expiresAt*1e3){if(e.refreshToken===void 0)return a.error("Error refreshing access token.",{err:f}),e.error="RefreshAccessTokenError",e;try{let o=await fetch(`${process.env.PROCESSCUBE_AUTHORITY_URL}/token`,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:process.env.NEXTAUTH_CLIENT_ID,client_secret:process.env.NEXTAUTH_SECRET,grant_type:"refresh_token",refresh_token:e.refreshToken}),method:"POST"}),s=await o.json();if(!o.ok)throw s;e.accessToken=s.access_token,e.idToken=s.id_token,e.expiresAt=Math.floor(Date.now()/1e3+s.expires_in),e.refreshToken=s.refresh_token??e.refreshToken}catch(o){a.error("Error refreshing access token",{err:o}),e.error="RefreshAccessTokenError"}}return e}async function g(n){let{session:e,token:r}=n,i=T(r.accessToken),t=T(r.idToken),o=Object.keys(t),s=Object.fromEntries(Object.entries(i).filter(([k,h])=>!o.includes(k)));return delete s.scope,delete s.jti,delete s.client_id,e.user=r.user??{},e.user.claims=s,e.error=r.error,e}function T(n){return l(n)}function U(n){let{userTaskConfig:e,userTaskConfigModel:r,...i}=n,t={},o={};return e.formFields.forEach(s=>t[s.id]=s),r.formFields.forEach(s=>o[s.id]=s),{...i,userTaskConfig:{...e,formFieldsDict:t},userTaskConfigModel:{...r,formFieldsDict:o}}}function v(n){return{totalCount:n.totalCount,userTasks:n.userTasks.map(U)}}export{C as RemoteUserTask,p as authConfigJwtCallback,g as authConfigSessionCallback,A as hasClaim,U as mapUserTask,v as mapUserTaskList};
@@ -0,0 +1,20 @@
1
+ import type { UserTaskConfig as EngineSDKUserTaskConfig, UserTaskConfigModel as EngineSDKUserTaskConfigModel, UserTaskInstance as EngineSDKUserTaskInstance, UserTaskList as EngineSDKUserTaskList, UserTaskFormField } from '@5minds/processcube_engine_sdk';
2
+ export type FormFieldsDict = {
3
+ [formFieldId: string]: UserTaskFormField;
4
+ };
5
+ export type UserTaskConfig = EngineSDKUserTaskConfig & {
6
+ formFieldsDict: FormFieldsDict;
7
+ };
8
+ export type UserTaskConfigModel = EngineSDKUserTaskConfigModel & {
9
+ formFieldsDict: FormFieldsDict;
10
+ };
11
+ export type UserTaskInstance = Omit<EngineSDKUserTaskInstance, 'userTaskConfig' | 'userTaskConfigModel'> & {
12
+ userTaskConfig: UserTaskConfig;
13
+ userTaskConfigModel: UserTaskConfigModel;
14
+ };
15
+ export type UserTaskList = {
16
+ userTasks: Array<UserTaskInstance>;
17
+ totalCount: number;
18
+ };
19
+ export declare function mapUserTask(userTaskInstance: EngineSDKUserTaskInstance): UserTaskInstance;
20
+ export declare function mapUserTaskList(userTaskList: EngineSDKUserTaskList): UserTaskList;
@@ -0,0 +1 @@
1
+ export * from './UserTaskInstance';
@@ -1 +1 @@
1
- var S=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var ee=Object.prototype.hasOwnProperty;var te=(e,t)=>{for(var s in t)S(e,s,{get:t[s],enumerable:!0})},se=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Q(t))!ee.call(e,r)&&r!==s&&S(e,r,{get:()=>t[r],enumerable:!(n=J(t,r))||n.enumerable});return e};var ne=e=>se(S({},"__esModule",{value:!0}),e);var Pe={};te(Pe,{finishUserTask:()=>Re,finishUserTaskAndGetNext:()=>me,getActiveProcessInstances:()=>ke,getAssignedUserTasksByIdentity:()=>xe,getEngineClient:()=>fe,getIdentity:()=>Ie,getReservedUserTasksByIdentity:()=>Ce,getUserTasks:()=>G,getWaitingUserTaskByFlowNodeInstanceId:()=>H,getWaitingUserTasks:()=>Ee,getWaitingUserTasksByCorrelationId:()=>ye,getWaitingUserTasksByFlowNodeId:()=>we,getWaitingUserTasksByProcessInstanceId:()=>ge,navigateToUrl:()=>Se,startProcess:()=>Ne,waitForUserTask:()=>Te,withApplicationSdk:()=>_e});module.exports=ne(Pe);var lt=require("only-server"),dt=require("../common/index.cjs");var m=require("node:fs"),i=require("node:path"),A=require("chokidar"),O=require("esbuild"),v=require("jwt-decode"),b=require("openid-client"),L=require("@5minds/processcube_engine_client"),D=require("@5minds/processcube_engine_sdk");var F=require("@5minds/processcube_engine_client"),N=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new F.EngineClient(N);var re={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},oe=.85,w=["external_task.ts","external_task.js"],c=new D.Logger("processcube_app_sdk:external_task_adapter"),P=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0,f={};async function M(e){if(e&&!(0,m.existsSync)(e))throw new Error(`Invalid customExternalTasksDirPath. The given path '${e}' does not exist`);let t=ue(e);(0,A.watch)(t).on("add",async s=>{if(!w.includes((0,i.basename)(s)))return;await W(s,t);let n=(0,i.dirname)(s),r=(0,i.relative)(t,n),a=y(r);c.info(`Started external task ${f[s].workerId} for topic ${a}`)}).on("change",async s=>{if(!w.includes((0,i.basename)(s)))return;await ae(s,t);let n=(0,i.dirname)(s),r=(0,i.relative)(t,n),a=y(r);c.info(`Restarted external task ${f[s].workerId} for topic ${a}`)}).on("unlink",async s=>{if(!w.includes((0,i.basename)(s)))return;B(s);let n=(0,i.dirname)(s),r=(0,i.relative)(t,n),a=y(r);c.info(`Stopped external task ${f[s].workerId} for topic '${a}'`,{reason:`External Task for topic '${a}' was removed`,workerId:f[s].workerId,topic:a}),delete f[s]}).on("error",s=>c.info(`Watcher error: ${s}`))}async function W(e,t,s){let n=(0,i.dirname)(e);if(!ie(n)){c.error(`Could not find external task file in directory '${n}'`);return}let a=await ce(e),d=await le(a,e);if(d.default===void 0){c.info(`External task file recognized at ${e}. Please export a default handler function. For more information see https://processcube.io/docs/app-sdk/samples/nextjs/external-task-adapter-with-nextjs#external-tasks-entwickeln`);return}let k=await q(),h=K(k),E=(0,i.relative)(t,n),u=y(E),x=d.default,_={identity:h,...s,...d?.config},I=new L.ExternalTaskWorker(N,u,x,_);I.onWorkerError((g,T,z)=>{c.error(`Intercepted "${g}"-type error: ${T.message}`,{err:T,type:g,externalTask:z})}),I.start(),await R(k,I),f[e]=I}async function ae(e,t){let s=f[e]?.workerId;B(e),await W(e,t,{workerId:s})}function B(e){let t=f[e];t&&(t.stop(),t.dispose())}async function ie(e){let s=(await m.promises.readdir(e)).filter(n=>w.includes(n));if(s.length===0)return null;if(s.length>1)throw new Error(`Found more than one external task file in directory '${e}'`);return s[0]}async function q(){if(!P)return null;if(!process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID||!process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET){let n=new Error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing. For help, please refer to our documentation on environment variables at: https://processcube.io/docs/app-sdk/samples/nextjs/external-task-adapter-with-nextjs#authority");throw c.error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing",{err:n}),n}let e=await b.Issuer.discover(process.env.PROCESSCUBE_AUTHORITY_URL);return await new e.Client({client_id:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID,client_secret:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET}).grant({grant_type:"client_credentials",scope:"engine_etw"})}function K(e){if(!P||e===null)return re;let t=e.access_token,s=(0,v.jwtDecode)(t);return{token:e.access_token,userId:s.sub}}async function R(e,t,s=5){try{if(!P||e===null||!t.pollingIsActive)return;let r=await de(e)*oe*1e3;setTimeout(async()=>{if(!t.pollingIsActive)return;let a=await q(),d=K(a);t.identity=d,await R(a,t)},r)}catch(n){if(s===0)throw n;c.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:n,workerId:t.workerId,retryCount:s});let r=2*1e3;setTimeout(async()=>await R(e,t,s-1),r)}}async function ce(e){let t=await(0,O.build)({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"});if(t.errors.length>0)throw c.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&c.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),t.outputFiles[0].text}async function le(e,t){try{var s=module.constructor,n=new s;return n._compile(e,t),n.exports}catch(r){throw c.error("Could not require module from string",{err:r}),r}}async function de(e){let t=e.expires_in;if(!t&&e.expires_at&&(t=Math.floor(e.expires_at-Date.now()/1e3)),t===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return t}function y(e){return e.replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/")}function ue(e){let t,s=[e,(0,i.join)(process.cwd(),"app"),(0,i.join)(process.cwd(),"src","app")];for(let n of s)if(n&&(0,m.existsSync)(n)){t=n;break}if(!t)throw new Error("Could not find external tasks directory");return t}function fe(){return o}var U=require("next-auth/jwt"),X=require("next/dist/compiled/@edge-runtime/cookies"),p=require("next/headers"),pe=process.env.NEXTAUTH_URL?.startsWith("https://"),$=`${pe?"__Secure-":""}next-auth.session-token`;async function Ie(){let e=await(0,U.getToken)({req:{cookies:(0,p.cookies)(),headers:(0,p.headers)()}});if(e?.expiresAt&&Date.now()>=e.expiresAt*1e3){let s=await fetch(`${process.env.NEXTAUTH_URL}/api/auth/session`,{method:"GET",headers:{"Content-Type":"application/json",cookie:(0,p.cookies)().toString()}}),n=new X.ResponseCookies(s.headers),r=n.get($);if(r){let a=!1;try{(0,p.cookies)().set($,r.value,{...r})}catch{a=!0}if(e=await(0,U.getToken)({req:{cookies:a?n:(0,p.cookies)(),headers:(0,p.headers)()}}),e?.error)throw e.error}}if(!e?.accessToken||!e?.sub)throw new Error("AccessToken or Sub could not be determined!");return{token:e?.accessToken,userId:e?.sub}}var j=require("@5minds/processcube_engine_client");async function ke(e){return await o.processInstances.query({...e?.query,state:j.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}var l=require("@5minds/processcube_engine_client");async function Te(e={},t){let{correlationId:s,processInstanceId:n,flowNodeId:r}=e;return new Promise(async(a,d)=>{let k=await o.userTasks.onUserTaskWaiting(async u=>{let x=s!==void 0&&u.correlationId!==s,_=u.flowNodeInstanceId===void 0,I=n!==void 0&&u.processInstanceId!==n,g=r!==void 0&&u.flowNodeId!==r;if(x||_||I||g)return;let T=await H(u.flowNodeInstanceId,{identity:t});return o.notification.removeSubscription(k,t),T===null?d(new Error(`UserTask with instance ID "${u.flowNodeInstanceId}" does not exist.`)):a(T)},{identity:t}),E=(await G({correlationId:s,processInstanceId:n,flowNodeId:r,state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t})).userTasks[0];E&&(o.notification.removeSubscription(k,t),a(E))})}async function me(e,t={},s={},n){await o.userTasks.finishUserTask(e,s,n);let r={state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended,...t};return(await o.userTasks.query(r,{identity:n})).userTasks[0]}async function G(...e){return await o.userTasks.query(...e)}async function Ee(e){return await o.userTasks.query({state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function ge(e,t){return await o.userTasks.query({processInstanceId:e,state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function we(e,t){return await o.userTasks.query({flowNodeId:e,state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function H(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function ye(e,t){return await o.userTasks.query({correlationId:e,state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Ce(e,t){let s=await o.userTasks.query({state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.actualOwnerId===e.userId);return s.userTasks=n,s}async function xe(e,t){let s=await o.userTasks.query({state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.assignedUserIds?.includes(e.userId));return s.userTasks=n,s}var C=require("next/dist/shared/lib/constants");var Y=!1;function _e(e={}){let{applicationSdk:t,...s}=e;return async(n,r)=>{let a=n===C.PHASE_DEVELOPMENT_SERVER||n===C.PHASE_PRODUCTION_SERVER;return t?.useExternalTasks&&a&&!Y&&(Y=!0,await M(t?.customExternalTasksDirPath)),s}}var V=require("next/cache"),Z=require("next/navigation");function Se(e){(0,V.revalidatePath)(e),(0,Z.redirect)(e)}async function Ne(...e){return await o.processModels.startProcessInstance(...e)}async function Re(...e){await o.userTasks.finishUserTask(...e)}0&&(module.exports={finishUserTask,finishUserTaskAndGetNext,getActiveProcessInstances,getAssignedUserTasksByIdentity,getEngineClient,getIdentity,getReservedUserTasksByIdentity,getUserTasks,getWaitingUserTaskByFlowNodeInstanceId,getWaitingUserTasks,getWaitingUserTasksByCorrelationId,getWaitingUserTasksByFlowNodeId,getWaitingUserTasksByProcessInstanceId,navigateToUrl,startProcess,waitForUserTask,withApplicationSdk});
1
+ var N=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var ee=Object.getOwnPropertyNames;var te=Object.prototype.hasOwnProperty;var se=(e,t)=>{for(var s in t)N(e,s,{get:t[s],enumerable:!0})},ne=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ee(t))!te.call(e,r)&&r!==s&&N(e,r,{get:()=>t[r],enumerable:!(n=Q(t,r))||n.enumerable});return e};var re=e=>ne(N({},"__esModule",{value:!0}),e);var Ue={};se(Ue,{finishUserTask:()=>he,finishUserTaskAndGetNext:()=>ge,getActiveProcessInstances:()=>me,getAssignedUserTasksByIdentity:()=>_e,getEngineClient:()=>fe,getIdentity:()=>ke,getReservedUserTasksByIdentity:()=>Se,getUserTasks:()=>H,getWaitingUserTaskByFlowNodeInstanceId:()=>Y,getWaitingUserTasks:()=>we,getWaitingUserTasksByCorrelationId:()=>Ce,getWaitingUserTasksByFlowNodeId:()=>xe,getWaitingUserTasksByProcessInstanceId:()=>ye,navigateToUrl:()=>Ne,startProcess:()=>Re,waitForProcessEnd:()=>Te,waitForUserTask:()=>Ee,withApplicationSdk:()=>Pe});module.exports=re(Ue);var ft=require("only-server"),It=require("../common/index.cjs");var g=require("node:fs"),a=require("node:path"),v=require("chokidar"),L=require("esbuild"),O=require("jwt-decode"),B=require("openid-client"),D=require("@5minds/processcube_engine_client"),W=require("@5minds/processcube_engine_sdk");var F=require("@5minds/processcube_engine_client"),R=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new F.EngineClient(R);var oe={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},ie=.85,y=["external_task.ts","external_task.js"],d=new W.Logger("processcube_app_sdk:external_task_adapter"),U=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0,I={};async function M(e){if(e&&!(0,g.existsSync)(e))throw new Error(`Invalid customExternalTasksDirPath. The given path '${e}' does not exist`);let t=pe(e);(0,v.watch)(t).on("add",async s=>{if(!y.includes((0,a.basename)(s)))return;await q(s,t);let n=(0,a.dirname)(s),r=(0,a.relative)(t,n),i=x(r);d.info(`Started external task ${I[s].workerId} for topic ${i}`)}).on("change",async s=>{if(!y.includes((0,a.basename)(s)))return;await ae(s,t);let n=(0,a.dirname)(s),r=(0,a.relative)(t,n),i=x(r);d.info(`Restarted external task ${I[s].workerId} for topic ${i}`)}).on("unlink",async s=>{if(!y.includes((0,a.basename)(s)))return;K(s);let n=(0,a.dirname)(s),r=(0,a.relative)(t,n),i=x(r);d.info(`Stopped external task ${I[s].workerId} for topic '${i}'`,{reason:`External Task for topic '${i}' was removed`,workerId:I[s].workerId,topic:i}),delete I[s]}).on("error",s=>d.info(`Watcher error: ${s}`))}async function q(e,t,s){let n=(0,a.dirname)(e);if(!ce(n)){d.error(`Could not find external task file in directory '${n}'`);return}let i=await de(e),c=await le(i,e);if(c.default===void 0){d.info(`External task file recognized at ${e}. Please export a default handler function. For more information see https://processcube.io/docs/app-sdk/samples/nextjs/external-task-adapter-with-nextjs#external-tasks-entwickeln`);return}let f=await $(),m=X(f),u=(0,a.relative)(t,n),S=x(u),_=c.default,P={identity:m,...s,...c?.config},T=new D.ExternalTaskWorker(R,S,_,P);T.onWorkerError((E,A,J)=>{d.error(`Intercepted "${E}"-type error: ${A.message}`,{err:A,type:E,externalTask:J})}),T.start(),await h(f,T),I[e]=T}async function ae(e,t){let s=I[e]?.workerId;K(e),await q(e,t,{workerId:s})}function K(e){let t=I[e];t&&(t.stop(),t.dispose())}async function ce(e){let s=(await g.promises.readdir(e)).filter(n=>y.includes(n));if(s.length===0)return null;if(s.length>1)throw new Error(`Found more than one external task file in directory '${e}'`);return s[0]}async function $(){if(!U)return null;if(!process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID||!process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET){let n=new Error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing. For help, please refer to our documentation on environment variables at: https://processcube.io/docs/app-sdk/samples/nextjs/external-task-adapter-with-nextjs#authority");throw d.error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing",{err:n}),n}let e=await B.Issuer.discover(process.env.PROCESSCUBE_AUTHORITY_URL);return await new e.Client({client_id:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID,client_secret:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET}).grant({grant_type:"client_credentials",scope:"engine_etw"})}function X(e){if(!U||e===null)return oe;let t=e.access_token,s=(0,O.jwtDecode)(t);return{token:e.access_token,userId:s.sub}}async function h(e,t,s=5){try{if(!U||e===null||!t.pollingIsActive)return;let r=await ue(e)*ie*1e3;setTimeout(async()=>{if(!t.pollingIsActive)return;let i=await $(),c=X(i);t.identity=c,await h(i,t)},r)}catch(n){if(s===0)throw n;d.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:n,workerId:t.workerId,retryCount:s});let r=2*1e3;setTimeout(async()=>await h(e,t,s-1),r)}}async function de(e){let t=await(0,L.build)({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs",external:["@opentelemetry/api"]});if(t.errors.length>0)throw d.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&d.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),t.outputFiles[0].text}async function le(e,t){try{var s=module.constructor,n=new s;return n._compile(e,t),n.exports}catch(r){throw d.error("Could not require module from string",{err:r}),r}}async function ue(e){let t=e.expires_in;if(!t&&e.expires_at&&(t=Math.floor(e.expires_at-Date.now()/1e3)),t===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return t}function x(e){return e.replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/")}function pe(e){let t,s=[e,(0,a.join)(process.cwd(),"app"),(0,a.join)(process.cwd(),"src","app")];for(let n of s)if(n&&(0,g.existsSync)(n)){t=n;break}if(!t)throw new Error("Could not find external tasks directory");return t}function fe(){return o}var b=require("next-auth/jwt"),j=require("next/dist/compiled/@edge-runtime/cookies"),k=require("next/headers"),Ie=process.env.NEXTAUTH_URL?.startsWith("https://"),G=`${Ie?"__Secure-":""}next-auth.session-token`;async function ke(){let e=await(0,b.getToken)({req:{cookies:(0,k.cookies)(),headers:(0,k.headers)()}});if(e?.expiresAt&&Date.now()>=e.expiresAt*1e3){let s=await fetch(`${process.env.NEXTAUTH_URL}/api/auth/session`,{method:"GET",headers:{"Content-Type":"application/json",cookie:(0,k.cookies)().toString()}}),n=new j.ResponseCookies(s.headers),r=n.get(G);if(r){let i=!1;try{(0,k.cookies)().set(G,r.value,{...r})}catch{i=!0}if(e=await(0,b.getToken)({req:{cookies:i?n:(0,k.cookies)(),headers:(0,k.headers)()}}),e?.error)throw e.error}}if(!e?.accessToken||!e?.sub)throw new Error("AccessToken or Sub could not be determined!");return{token:e?.accessToken,userId:e?.sub}}var w=require("@5minds/processcube_engine_client");async function me(e){return await o.processInstances.query({...e?.query,state:w.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}async function Te(e){let{processInstanceId:t}=e;return new Promise(async(s,n)=>{let r=[],i=async c=>{if(t!==void 0&&c.processInstanceId!==t)return;let m=await o.processInstances.query({processInstanceId:c.processInstanceId});for(let u of r)o.notification.removeSubscription(u);return m.totalCount===0?n(new Error(`Process with instance ID "${c.processInstanceId}" does not exist.`)):s(m.processInstances[0])};if(r.push(await o.notification.onProcessEnded(i)),r.push(await o.notification.onProcessError(i)),r.push(await o.notification.onProcessTerminated(i)),t){let c=await o.processInstances.query({processInstanceId:t,state:[w.DataModels.ProcessInstances.ProcessInstanceState.finished,w.DataModels.ProcessInstances.ProcessInstanceState.terminated,w.DataModels.ProcessInstances.ProcessInstanceState.error]});if(c.totalCount>0){for(let f of r)o.notification.removeSubscription(f);s(c.processInstances[0])}}})}var p=require("@5minds/processcube_engine_client"),l=require("../common/index.cjs");async function Ee(e={},t){let{correlationId:s,processInstanceId:n,flowNodeId:r}=e;return new Promise(async(i,c)=>{let f=await o.userTasks.onUserTaskWaiting(async u=>{let S=s!==void 0&&u.correlationId!==s,_=u.flowNodeInstanceId===void 0,P=n!==void 0&&u.processInstanceId!==n,T=r!==void 0&&u.flowNodeId!==r;if(S||_||P||T)return;let E=await Y(u.flowNodeInstanceId,{identity:t});return o.notification.removeSubscription(f,t),E===null?c(new Error(`UserTask with instance ID "${u.flowNodeInstanceId}" does not exist.`)):i(E)},{identity:t}),m=await H({correlationId:s,processInstanceId:n,flowNodeId:r,state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t});m.userTasks.length>0&&(o.notification.removeSubscription(f,t),i(m.userTasks[0]))})}async function ge(e,t={},s={},n){await o.userTasks.finishUserTask(e,s,n);let r={state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended,...t},i=await o.userTasks.query(r,{identity:n});return(0,l.mapUserTask)(i.userTasks[0])}async function H(...e){let t=await o.userTasks.query(...e);return(0,l.mapUserTaskList)(t)}async function we(e){let t=await o.userTasks.query({state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e);return(0,l.mapUserTaskList)(t)}async function ye(e,t){let s=await o.userTasks.query({processInstanceId:e,state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t);return(0,l.mapUserTaskList)(s)}async function xe(e,t){let s=await o.userTasks.query({flowNodeId:e,state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t);return(0,l.mapUserTaskList)(s)}async function Y(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:(0,l.mapUserTask)(s.userTasks[0])}async function Ce(e,t){let s=await o.userTasks.query({correlationId:e,state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t);return(0,l.mapUserTaskList)(s)}async function Se(e,t){let s=await o.userTasks.query({state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.actualOwnerId===e.userId);return s.userTasks=n,(0,l.mapUserTaskList)(s)}async function _e(e,t){let s=await o.userTasks.query({state:p.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.assignedUserIds?.includes(e.userId));return s.userTasks=n,(0,l.mapUserTaskList)(s)}var C=require("next/dist/shared/lib/constants");var V=!1;function Pe(e={}){let{applicationSdk:t,...s}=e;return async(n,r)=>{let i=n===C.PHASE_DEVELOPMENT_SERVER||n===C.PHASE_PRODUCTION_SERVER;return t?.useExternalTasks&&i&&!V&&(V=!0,await M(t?.customExternalTasksDirPath)),s}}var Z=require("next/cache"),z=require("next/navigation");function Ne(e){(0,Z.revalidatePath)(e),(0,z.redirect)(e)}async function Re(...e){return await o.processModels.startProcessInstance(...e)}async function he(...e){await o.userTasks.finishUserTask(...e)}0&&(module.exports={finishUserTask,finishUserTaskAndGetNext,getActiveProcessInstances,getAssignedUserTasksByIdentity,getEngineClient,getIdentity,getReservedUserTasksByIdentity,getUserTasks,getWaitingUserTaskByFlowNodeInstanceId,getWaitingUserTasks,getWaitingUserTasksByCorrelationId,getWaitingUserTasksByFlowNodeId,getWaitingUserTasksByProcessInstanceId,navigateToUrl,startProcess,waitForProcessEnd,waitForUserTask,withApplicationSdk});
@@ -1,5 +1,5 @@
1
- var Rn=Object.create;var as=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var Sn=Object.getOwnPropertyNames;var Tn=Object.getPrototypeOf,Cn=Object.prototype.hasOwnProperty;var L=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,s)=>(typeof require<"u"?require:e)[s]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var v=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var xn=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Sn(e))!Cn.call(t,n)&&n!==s&&as(t,n,{get:()=>e[n],enumerable:!(r=An(e,n))||r.enumerable});return t};var bn=(t,e,s)=>(s=t!=null?Rn(Tn(t)):{},xn(e||!t||!t.__esModule?as(s,"default",{value:t,enumerable:!0}):s,t));var we=v((cc,ds)=>{"use strict";var In=L("path"),ne="\\\\/",cs=`[^${ne}]`,ie="\\.",vn="\\+",kn="\\?",He="\\/",Nn="(?=.)",ls="[^/]",ot=`(?:${He}|$)`,us=`(?:^|${He})`,at=`${ie}{1,2}${ot}`,On=`(?!${ie})`,Pn=`(?!${us}${at})`,Ln=`(?!${ie}{0,1}${ot})`,Hn=`(?!${at})`,Dn=`[^.${He}]`,Fn=`${ls}*?`,fs={DOT_LITERAL:ie,PLUS_LITERAL:vn,QMARK_LITERAL:kn,SLASH_LITERAL:He,ONE_CHAR:Nn,QMARK:ls,END_ANCHOR:ot,DOTS_SLASH:at,NO_DOT:On,NO_DOTS:Pn,NO_DOT_SLASH:Ln,NO_DOTS_SLASH:Hn,QMARK_NO_DOT:Dn,STAR:Fn,START_ANCHOR:us},$n={...fs,SLASH_LITERAL:`[${ne}]`,QMARK:cs,STAR:`${cs}*?`,DOTS_SLASH:`${ie}{1,2}(?:[${ne}]|$)`,NO_DOT:`(?!${ie})`,NO_DOTS:`(?!(?:^|[${ne}])${ie}{1,2}(?:[${ne}]|$))`,NO_DOT_SLASH:`(?!${ie}{0,1}(?:[${ne}]|$))`,NO_DOTS_SLASH:`(?!${ie}{1,2}(?:[${ne}]|$))`,QMARK_NO_DOT:`[^.${ne}]`,START_ANCHOR:`(?:^|[${ne}])`,END_ANCHOR:`(?:[${ne}]|$)`},Mn={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};ds.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Mn,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:In.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?$n:fs}}});var De=v(Y=>{"use strict";var Un=L("path"),Wn=process.platform==="win32",{REGEX_BACKSLASH:Bn,REGEX_REMOVE_BACKSLASH:Gn,REGEX_SPECIAL_CHARS:qn,REGEX_SPECIAL_CHARS_GLOBAL:Kn}=we();Y.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Y.hasRegexChars=t=>qn.test(t);Y.isRegexChar=t=>t.length===1&&Y.hasRegexChars(t);Y.escapeRegex=t=>t.replace(Kn,"\\$1");Y.toPosixSlashes=t=>t.replace(Bn,"/");Y.removeBackslashes=t=>t.replace(Gn,e=>e==="\\"?"":e);Y.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Y.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:Wn===!0||Un.sep==="\\";Y.escapeLast=(t,e,s)=>{let r=t.lastIndexOf(e,s);return r===-1?t:t[r-1]==="\\"?Y.escapeLast(t,e,r-1):`${t.slice(0,r)}\\${t.slice(r)}`};Y.removePrefix=(t,e={})=>{let s=t;return s.startsWith("./")&&(s=s.slice(2),e.prefix="./"),s};Y.wrapOutput=(t,e={},s={})=>{let r=s.contains?"":"^",n=s.contains?"":"$",o=`${r}(?:${t})${n}`;return e.negated===!0&&(o=`(?:^(?!${o}).*$)`),o}});var ws=v((uc,ys)=>{"use strict";var hs=De(),{CHAR_ASTERISK:ct,CHAR_AT:jn,CHAR_BACKWARD_SLASH:Re,CHAR_COMMA:Vn,CHAR_DOT:lt,CHAR_EXCLAMATION_MARK:ut,CHAR_FORWARD_SLASH:ms,CHAR_LEFT_CURLY_BRACE:ft,CHAR_LEFT_PARENTHESES:dt,CHAR_LEFT_SQUARE_BRACKET:Yn,CHAR_PLUS:zn,CHAR_QUESTION_MARK:ps,CHAR_RIGHT_CURLY_BRACE:Xn,CHAR_RIGHT_PARENTHESES:_s,CHAR_RIGHT_SQUARE_BRACKET:Qn}=we(),Es=t=>t===ms||t===Re,gs=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},Zn=(t,e)=>{let s=e||{},r=t.length-1,n=s.parts===!0||s.scanToEnd===!0,o=[],i=[],a=[],c=t,d=-1,u=0,f=0,l=!1,m=!1,y=!1,w=!1,S=!1,x=!1,H=!1,F=!1,te=!1,q=!1,ce=0,K,A,I={value:"",depth:0,isGlob:!1},G=()=>d>=r,_=()=>c.charCodeAt(d+1),P=()=>(K=A,c.charCodeAt(++d));for(;d<r;){A=P();let j;if(A===Re){H=I.backslashes=!0,A=P(),A===ft&&(x=!0);continue}if(x===!0||A===ft){for(ce++;G()!==!0&&(A=P());){if(A===Re){H=I.backslashes=!0,P();continue}if(A===ft){ce++;continue}if(x!==!0&&A===lt&&(A=P())===lt){if(l=I.isBrace=!0,y=I.isGlob=!0,q=!0,n===!0)continue;break}if(x!==!0&&A===Vn){if(l=I.isBrace=!0,y=I.isGlob=!0,q=!0,n===!0)continue;break}if(A===Xn&&(ce--,ce===0)){x=!1,l=I.isBrace=!0,q=!0;break}}if(n===!0)continue;break}if(A===ms){if(o.push(d),i.push(I),I={value:"",depth:0,isGlob:!1},q===!0)continue;if(K===lt&&d===u+1){u+=2;continue}f=d+1;continue}if(s.noext!==!0&&(A===zn||A===jn||A===ct||A===ps||A===ut)===!0&&_()===dt){if(y=I.isGlob=!0,w=I.isExtglob=!0,q=!0,A===ut&&d===u&&(te=!0),n===!0){for(;G()!==!0&&(A=P());){if(A===Re){H=I.backslashes=!0,A=P();continue}if(A===_s){y=I.isGlob=!0,q=!0;break}}continue}break}if(A===ct){if(K===ct&&(S=I.isGlobstar=!0),y=I.isGlob=!0,q=!0,n===!0)continue;break}if(A===ps){if(y=I.isGlob=!0,q=!0,n===!0)continue;break}if(A===Yn){for(;G()!==!0&&(j=P());){if(j===Re){H=I.backslashes=!0,P();continue}if(j===Qn){m=I.isBracket=!0,y=I.isGlob=!0,q=!0;break}}if(n===!0)continue;break}if(s.nonegate!==!0&&A===ut&&d===u){F=I.negated=!0,u++;continue}if(s.noparen!==!0&&A===dt){if(y=I.isGlob=!0,n===!0){for(;G()!==!0&&(A=P());){if(A===dt){H=I.backslashes=!0,A=P();continue}if(A===_s){q=!0;break}}continue}break}if(y===!0){if(q=!0,n===!0)continue;break}}s.noext===!0&&(w=!1,y=!1);let N=c,le="",h="";u>0&&(le=c.slice(0,u),c=c.slice(u),f-=u),N&&y===!0&&f>0?(N=c.slice(0,f),h=c.slice(f)):y===!0?(N="",h=c):N=c,N&&N!==""&&N!=="/"&&N!==c&&Es(N.charCodeAt(N.length-1))&&(N=N.slice(0,-1)),s.unescape===!0&&(h&&(h=hs.removeBackslashes(h)),N&&H===!0&&(N=hs.removeBackslashes(N)));let p={prefix:le,input:t,start:u,base:N,glob:h,isBrace:l,isBracket:m,isGlob:y,isExtglob:w,isGlobstar:S,negated:F,negatedExtglob:te};if(s.tokens===!0&&(p.maxDepth=0,Es(A)||i.push(I),p.tokens=i),s.parts===!0||s.tokens===!0){let j;for(let b=0;b<o.length;b++){let se=j?j+1:u,re=o[b],z=t.slice(se,re);s.tokens&&(b===0&&u!==0?(i[b].isPrefix=!0,i[b].value=le):i[b].value=z,gs(i[b]),p.maxDepth+=i[b].depth),(b!==0||z!=="")&&a.push(z),j=re}if(j&&j+1<t.length){let b=t.slice(j+1);a.push(b),s.tokens&&(i[i.length-1].value=b,gs(i[i.length-1]),p.maxDepth+=i[i.length-1].depth)}p.slashes=o,p.parts=a}return p};ys.exports=Zn});var Ss=v((fc,As)=>{"use strict";var Fe=we(),X=De(),{MAX_LENGTH:$e,POSIX_REGEX_SOURCE:Jn,REGEX_NON_SPECIAL_CHARS:ei,REGEX_SPECIAL_CHARS_BACKREF:ti,REPLACEMENTS:Rs}=Fe,si=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let s=`[${t.join("-")}]`;try{new RegExp(s)}catch{return t.map(n=>X.escapeRegex(n)).join("..")}return s},_e=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,ht=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=Rs[t]||t;let s={...e},r=typeof s.maxLength=="number"?Math.min($e,s.maxLength):$e,n=t.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);let o={type:"bos",value:"",output:s.prepend||""},i=[o],a=s.capture?"":"?:",c=X.isWindows(e),d=Fe.globChars(c),u=Fe.extglobChars(d),{DOT_LITERAL:f,PLUS_LITERAL:l,SLASH_LITERAL:m,ONE_CHAR:y,DOTS_SLASH:w,NO_DOT:S,NO_DOT_SLASH:x,NO_DOTS_SLASH:H,QMARK:F,QMARK_NO_DOT:te,STAR:q,START_ANCHOR:ce}=d,K=g=>`(${a}(?:(?!${ce}${g.dot?w:f}).)*?)`,A=s.dot?"":S,I=s.dot?F:te,G=s.bash===!0?K(s):q;s.capture&&(G=`(${G})`),typeof s.noext=="boolean"&&(s.noextglob=s.noext);let _={input:t,index:-1,start:0,dot:s.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:i};t=X.removePrefix(t,_),n=t.length;let P=[],N=[],le=[],h=o,p,j=()=>_.index===n-1,b=_.peek=(g=1)=>t[_.index+g],se=_.advance=()=>t[++_.index]||"",re=()=>t.slice(_.index+1),z=(g="",O=0)=>{_.consumed+=g,_.index+=O},Ne=g=>{_.output+=g.output!=null?g.output:g.value,z(g.value)},yn=()=>{let g=1;for(;b()==="!"&&(b(2)!=="("||b(3)==="?");)se(),_.start++,g++;return g%2===0?!1:(_.negated=!0,_.start++,!0)},Oe=g=>{_[g]++,le.push(g)},fe=g=>{_[g]--,le.pop()},C=g=>{if(h.type==="globstar"){let O=_.braces>0&&(g.type==="comma"||g.type==="brace"),E=g.extglob===!0||P.length&&(g.type==="pipe"||g.type==="paren");g.type!=="slash"&&g.type!=="paren"&&!O&&!E&&(_.output=_.output.slice(0,-h.output.length),h.type="star",h.value="*",h.output=G,_.output+=h.output)}if(P.length&&g.type!=="paren"&&(P[P.length-1].inner+=g.value),(g.value||g.output)&&Ne(g),h&&h.type==="text"&&g.type==="text"){h.value+=g.value,h.output=(h.output||"")+g.value;return}g.prev=h,i.push(g),h=g},Pe=(g,O)=>{let E={...u[O],conditions:1,inner:""};E.prev=h,E.parens=_.parens,E.output=_.output;let T=(s.capture?"(":"")+E.open;Oe("parens"),C({type:g,value:O,output:_.output?"":y}),C({type:"paren",extglob:!0,value:se(),output:T}),P.push(E)},wn=g=>{let O=g.close+(s.capture?")":""),E;if(g.type==="negate"){let T=G;if(g.inner&&g.inner.length>1&&g.inner.includes("/")&&(T=K(s)),(T!==G||j()||/^\)+$/.test(re()))&&(O=g.close=`)$))${T}`),g.inner.includes("*")&&(E=re())&&/^\.[^\\/.]+$/.test(E)){let D=ht(E,{...e,fastpaths:!1}).output;O=g.close=`)${D})${T})`}g.prev.type==="bos"&&(_.negatedExtglob=!0)}C({type:"paren",extglob:!0,value:p,output:O}),fe("parens")};if(s.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let g=!1,O=t.replace(ti,(E,T,D,V,U,it)=>V==="\\"?(g=!0,E):V==="?"?T?T+V+(U?F.repeat(U.length):""):it===0?I+(U?F.repeat(U.length):""):F.repeat(D.length):V==="."?f.repeat(D.length):V==="*"?T?T+V+(U?G:""):G:T?E:`\\${E}`);return g===!0&&(s.unescape===!0?O=O.replace(/\\/g,""):O=O.replace(/\\+/g,E=>E.length%2===0?"\\\\":E?"\\":"")),O===t&&s.contains===!0?(_.output=t,_):(_.output=X.wrapOutput(O,_,e),_)}for(;!j();){if(p=se(),p==="\0")continue;if(p==="\\"){let E=b();if(E==="/"&&s.bash!==!0||E==="."||E===";")continue;if(!E){p+="\\",C({type:"text",value:p});continue}let T=/^\\+/.exec(re()),D=0;if(T&&T[0].length>2&&(D=T[0].length,_.index+=D,D%2!==0&&(p+="\\")),s.unescape===!0?p=se():p+=se(),_.brackets===0){C({type:"text",value:p});continue}}if(_.brackets>0&&(p!=="]"||h.value==="["||h.value==="[^")){if(s.posix!==!1&&p===":"){let E=h.value.slice(1);if(E.includes("[")&&(h.posix=!0,E.includes(":"))){let T=h.value.lastIndexOf("["),D=h.value.slice(0,T),V=h.value.slice(T+2),U=Jn[V];if(U){h.value=D+U,_.backtrack=!0,se(),!o.output&&i.indexOf(h)===1&&(o.output=y);continue}}}(p==="["&&b()!==":"||p==="-"&&b()==="]")&&(p=`\\${p}`),p==="]"&&(h.value==="["||h.value==="[^")&&(p=`\\${p}`),s.posix===!0&&p==="!"&&h.value==="["&&(p="^"),h.value+=p,Ne({value:p});continue}if(_.quotes===1&&p!=='"'){p=X.escapeRegex(p),h.value+=p,Ne({value:p});continue}if(p==='"'){_.quotes=_.quotes===1?0:1,s.keepQuotes===!0&&C({type:"text",value:p});continue}if(p==="("){Oe("parens"),C({type:"paren",value:p});continue}if(p===")"){if(_.parens===0&&s.strictBrackets===!0)throw new SyntaxError(_e("opening","("));let E=P[P.length-1];if(E&&_.parens===E.parens+1){wn(P.pop());continue}C({type:"paren",value:p,output:_.parens?")":"\\)"}),fe("parens");continue}if(p==="["){if(s.nobracket===!0||!re().includes("]")){if(s.nobracket!==!0&&s.strictBrackets===!0)throw new SyntaxError(_e("closing","]"));p=`\\${p}`}else Oe("brackets");C({type:"bracket",value:p});continue}if(p==="]"){if(s.nobracket===!0||h&&h.type==="bracket"&&h.value.length===1){C({type:"text",value:p,output:`\\${p}`});continue}if(_.brackets===0){if(s.strictBrackets===!0)throw new SyntaxError(_e("opening","["));C({type:"text",value:p,output:`\\${p}`});continue}fe("brackets");let E=h.value.slice(1);if(h.posix!==!0&&E[0]==="^"&&!E.includes("/")&&(p=`/${p}`),h.value+=p,Ne({value:p}),s.literalBrackets===!1||X.hasRegexChars(E))continue;let T=X.escapeRegex(h.value);if(_.output=_.output.slice(0,-h.value.length),s.literalBrackets===!0){_.output+=T,h.value=T;continue}h.value=`(${a}${T}|${h.value})`,_.output+=h.value;continue}if(p==="{"&&s.nobrace!==!0){Oe("braces");let E={type:"brace",value:p,output:"(",outputIndex:_.output.length,tokensIndex:_.tokens.length};N.push(E),C(E);continue}if(p==="}"){let E=N[N.length-1];if(s.nobrace===!0||!E){C({type:"text",value:p,output:p});continue}let T=")";if(E.dots===!0){let D=i.slice(),V=[];for(let U=D.length-1;U>=0&&(i.pop(),D[U].type!=="brace");U--)D[U].type!=="dots"&&V.unshift(D[U].value);T=si(V,s),_.backtrack=!0}if(E.comma!==!0&&E.dots!==!0){let D=_.output.slice(0,E.outputIndex),V=_.tokens.slice(E.tokensIndex);E.value=E.output="\\{",p=T="\\}",_.output=D;for(let U of V)_.output+=U.output||U.value}C({type:"brace",value:p,output:T}),fe("braces"),N.pop();continue}if(p==="|"){P.length>0&&P[P.length-1].conditions++,C({type:"text",value:p});continue}if(p===","){let E=p,T=N[N.length-1];T&&le[le.length-1]==="braces"&&(T.comma=!0,E="|"),C({type:"comma",value:p,output:E});continue}if(p==="/"){if(h.type==="dot"&&_.index===_.start+1){_.start=_.index+1,_.consumed="",_.output="",i.pop(),h=o;continue}C({type:"slash",value:p,output:m});continue}if(p==="."){if(_.braces>0&&h.type==="dot"){h.value==="."&&(h.output=f);let E=N[N.length-1];h.type="dots",h.output+=p,h.value+=p,E.dots=!0;continue}if(_.braces+_.parens===0&&h.type!=="bos"&&h.type!=="slash"){C({type:"text",value:p,output:f});continue}C({type:"dot",value:p,output:f});continue}if(p==="?"){if(!(h&&h.value==="(")&&s.noextglob!==!0&&b()==="("&&b(2)!=="?"){Pe("qmark",p);continue}if(h&&h.type==="paren"){let T=b(),D=p;if(T==="<"&&!X.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(h.value==="("&&!/[!=<:]/.test(T)||T==="<"&&!/<([!=]|\w+>)/.test(re()))&&(D=`\\${p}`),C({type:"text",value:p,output:D});continue}if(s.dot!==!0&&(h.type==="slash"||h.type==="bos")){C({type:"qmark",value:p,output:te});continue}C({type:"qmark",value:p,output:F});continue}if(p==="!"){if(s.noextglob!==!0&&b()==="("&&(b(2)!=="?"||!/[!=<:]/.test(b(3)))){Pe("negate",p);continue}if(s.nonegate!==!0&&_.index===0){yn();continue}}if(p==="+"){if(s.noextglob!==!0&&b()==="("&&b(2)!=="?"){Pe("plus",p);continue}if(h&&h.value==="("||s.regex===!1){C({type:"plus",value:p,output:l});continue}if(h&&(h.type==="bracket"||h.type==="paren"||h.type==="brace")||_.parens>0){C({type:"plus",value:p});continue}C({type:"plus",value:l});continue}if(p==="@"){if(s.noextglob!==!0&&b()==="("&&b(2)!=="?"){C({type:"at",extglob:!0,value:p,output:""});continue}C({type:"text",value:p});continue}if(p!=="*"){(p==="$"||p==="^")&&(p=`\\${p}`);let E=ei.exec(re());E&&(p+=E[0],_.index+=E[0].length),C({type:"text",value:p});continue}if(h&&(h.type==="globstar"||h.star===!0)){h.type="star",h.star=!0,h.value+=p,h.output=G,_.backtrack=!0,_.globstar=!0,z(p);continue}let g=re();if(s.noextglob!==!0&&/^\([^?]/.test(g)){Pe("star",p);continue}if(h.type==="star"){if(s.noglobstar===!0){z(p);continue}let E=h.prev,T=E.prev,D=E.type==="slash"||E.type==="bos",V=T&&(T.type==="star"||T.type==="globstar");if(s.bash===!0&&(!D||g[0]&&g[0]!=="/")){C({type:"star",value:p,output:""});continue}let U=_.braces>0&&(E.type==="comma"||E.type==="brace"),it=P.length&&(E.type==="pipe"||E.type==="paren");if(!D&&E.type!=="paren"&&!U&&!it){C({type:"star",value:p,output:""});continue}for(;g.slice(0,3)==="/**";){let Le=t[_.index+4];if(Le&&Le!=="/")break;g=g.slice(3),z("/**",3)}if(E.type==="bos"&&j()){h.type="globstar",h.value+=p,h.output=K(s),_.output=h.output,_.globstar=!0,z(p);continue}if(E.type==="slash"&&E.prev.type!=="bos"&&!V&&j()){_.output=_.output.slice(0,-(E.output+h.output).length),E.output=`(?:${E.output}`,h.type="globstar",h.output=K(s)+(s.strictSlashes?")":"|$)"),h.value+=p,_.globstar=!0,_.output+=E.output+h.output,z(p);continue}if(E.type==="slash"&&E.prev.type!=="bos"&&g[0]==="/"){let Le=g[1]!==void 0?"|$":"";_.output=_.output.slice(0,-(E.output+h.output).length),E.output=`(?:${E.output}`,h.type="globstar",h.output=`${K(s)}${m}|${m}${Le})`,h.value+=p,_.output+=E.output+h.output,_.globstar=!0,z(p+se()),C({type:"slash",value:"/",output:""});continue}if(E.type==="bos"&&g[0]==="/"){h.type="globstar",h.value+=p,h.output=`(?:^|${m}|${K(s)}${m})`,_.output=h.output,_.globstar=!0,z(p+se()),C({type:"slash",value:"/",output:""});continue}_.output=_.output.slice(0,-h.output.length),h.type="globstar",h.output=K(s),h.value+=p,_.output+=h.output,_.globstar=!0,z(p);continue}let O={type:"star",value:p,output:G};if(s.bash===!0){O.output=".*?",(h.type==="bos"||h.type==="slash")&&(O.output=A+O.output),C(O);continue}if(h&&(h.type==="bracket"||h.type==="paren")&&s.regex===!0){O.output=p,C(O);continue}(_.index===_.start||h.type==="slash"||h.type==="dot")&&(h.type==="dot"?(_.output+=x,h.output+=x):s.dot===!0?(_.output+=H,h.output+=H):(_.output+=A,h.output+=A),b()!=="*"&&(_.output+=y,h.output+=y)),C(O)}for(;_.brackets>0;){if(s.strictBrackets===!0)throw new SyntaxError(_e("closing","]"));_.output=X.escapeLast(_.output,"["),fe("brackets")}for(;_.parens>0;){if(s.strictBrackets===!0)throw new SyntaxError(_e("closing",")"));_.output=X.escapeLast(_.output,"("),fe("parens")}for(;_.braces>0;){if(s.strictBrackets===!0)throw new SyntaxError(_e("closing","}"));_.output=X.escapeLast(_.output,"{"),fe("braces")}if(s.strictSlashes!==!0&&(h.type==="star"||h.type==="bracket")&&C({type:"maybe_slash",value:"",output:`${m}?`}),_.backtrack===!0){_.output="";for(let g of _.tokens)_.output+=g.output!=null?g.output:g.value,g.suffix&&(_.output+=g.suffix)}return _};ht.fastpaths=(t,e)=>{let s={...e},r=typeof s.maxLength=="number"?Math.min($e,s.maxLength):$e,n=t.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);t=Rs[t]||t;let o=X.isWindows(e),{DOT_LITERAL:i,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:d,NO_DOT:u,NO_DOTS:f,NO_DOTS_SLASH:l,STAR:m,START_ANCHOR:y}=Fe.globChars(o),w=s.dot?f:u,S=s.dot?l:u,x=s.capture?"":"?:",H={negated:!1,prefix:""},F=s.bash===!0?".*?":m;s.capture&&(F=`(${F})`);let te=A=>A.noglobstar===!0?F:`(${x}(?:(?!${y}${A.dot?d:i}).)*?)`,q=A=>{switch(A){case"*":return`${w}${c}${F}`;case".*":return`${i}${c}${F}`;case"*.*":return`${w}${F}${i}${c}${F}`;case"*/*":return`${w}${F}${a}${c}${S}${F}`;case"**":return w+te(s);case"**/*":return`(?:${w}${te(s)}${a})?${S}${c}${F}`;case"**/*.*":return`(?:${w}${te(s)}${a})?${S}${F}${i}${c}${F}`;case"**/.*":return`(?:${w}${te(s)}${a})?${i}${c}${F}`;default:{let I=/^(.*?)\.(\w+)$/.exec(A);if(!I)return;let G=q(I[1]);return G?G+i+I[2]:void 0}}},ce=X.removePrefix(t,H),K=q(ce);return K&&s.strictSlashes!==!0&&(K+=`${a}?`),K};As.exports=ht});var Cs=v((dc,Ts)=>{"use strict";var ri=L("path"),ni=ws(),pt=Ss(),_t=De(),ii=we(),oi=t=>t&&typeof t=="object"&&!Array.isArray(t),M=(t,e,s=!1)=>{if(Array.isArray(t)){let u=t.map(l=>M(l,e,s));return l=>{for(let m of u){let y=m(l);if(y)return y}return!1}}let r=oi(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},o=_t.isWindows(e),i=r?M.compileRe(t,e):M.makeRe(t,e,!1,!0),a=i.state;delete i.state;let c=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};c=M(n.ignore,u,s)}let d=(u,f=!1)=>{let{isMatch:l,match:m,output:y}=M.test(u,i,e,{glob:t,posix:o}),w={glob:t,state:a,regex:i,posix:o,input:u,output:y,match:m,isMatch:l};return typeof n.onResult=="function"&&n.onResult(w),l===!1?(w.isMatch=!1,f?w:!1):c(u)?(typeof n.onIgnore=="function"&&n.onIgnore(w),w.isMatch=!1,f?w:!1):(typeof n.onMatch=="function"&&n.onMatch(w),f?w:!0)};return s&&(d.state=a),d};M.test=(t,e,s,{glob:r,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let o=s||{},i=o.format||(n?_t.toPosixSlashes:null),a=t===r,c=a&&i?i(t):t;return a===!1&&(c=i?i(t):t,a=c===r),(a===!1||o.capture===!0)&&(o.matchBase===!0||o.basename===!0?a=M.matchBase(t,e,s,n):a=e.exec(c)),{isMatch:!!a,match:a,output:c}};M.matchBase=(t,e,s,r=_t.isWindows(s))=>(e instanceof RegExp?e:M.makeRe(e,s)).test(ri.basename(t));M.isMatch=(t,e,s)=>M(e,s)(t);M.parse=(t,e)=>Array.isArray(t)?t.map(s=>M.parse(s,e)):pt(t,{...e,fastpaths:!1});M.scan=(t,e)=>ni(t,e);M.compileRe=(t,e,s=!1,r=!1)=>{if(s===!0)return t.output;let n=e||{},o=n.contains?"":"^",i=n.contains?"":"$",a=`${o}(?:${t.output})${i}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let c=M.toRegex(a,e);return r===!0&&(c.state=t),c};M.makeRe=(t,e={},s=!1,r=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(n.output=pt.fastpaths(t,e)),n.output||(n=pt(t,e)),M.compileRe(n,e,s,r)};M.toRegex=(t,e)=>{try{let s=e||{};return new RegExp(t,s.flags||(s.nocase?"i":""))}catch(s){if(e&&e.debug===!0)throw s;return/$^/}};M.constants=ii;Ts.exports=M});var Et=v((hc,xs)=>{"use strict";xs.exports=Cs()});var Ls=v((pc,Ps)=>{"use strict";var Se=L("fs"),{Readable:ai}=L("stream"),Ae=L("path"),{promisify:Be}=L("util"),gt=Et(),ci=Be(Se.readdir),li=Be(Se.stat),bs=Be(Se.lstat),ui=Be(Se.realpath),fi="!",Ns="READDIRP_RECURSIVE_ERROR",di=new Set(["ENOENT","EPERM","EACCES","ELOOP",Ns]),mt="files",Os="directories",Ue="files_directories",Me="all",Is=[mt,Os,Ue,Me],hi=t=>di.has(t.code),[vs,pi]=process.versions.node.split(".").slice(0,2).map(t=>Number.parseInt(t,10)),_i=process.platform==="win32"&&(vs>10||vs===10&&pi>=5),ks=t=>{if(t!==void 0){if(typeof t=="function")return t;if(typeof t=="string"){let e=gt(t.trim());return s=>e(s.basename)}if(Array.isArray(t)){let e=[],s=[];for(let r of t){let n=r.trim();n.charAt(0)===fi?s.push(gt(n.slice(1))):e.push(gt(n))}return s.length>0?e.length>0?r=>e.some(n=>n(r.basename))&&!s.some(n=>n(r.basename)):r=>!s.some(n=>n(r.basename)):r=>e.some(n=>n(r.basename))}}},We=class t extends ai{static get defaultOptions(){return{root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:mt,lstat:!1,depth:2147483648,alwaysStat:!1}}constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark||4096});let s={...t.defaultOptions,...e},{root:r,type:n}=s;this._fileFilter=ks(s.fileFilter),this._directoryFilter=ks(s.directoryFilter);let o=s.lstat?bs:li;_i?this._stat=i=>o(i,{bigint:!0}):this._stat=o,this._maxDepth=s.depth,this._wantsDir=[Os,Ue,Me].includes(n),this._wantsFile=[mt,Ue,Me].includes(n),this._wantsEverything=n===Me,this._root=Ae.resolve(r),this._isDirent="Dirent"in Se&&!s.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(r,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let{path:s,depth:r,files:n=[]}=this.parent||{};if(n.length>0){let o=n.splice(0,e).map(i=>this._formatEntry(i,s));for(let i of await Promise.all(o)){if(this.destroyed)return;let a=await this._getEntryType(i);a==="directory"&&this._directoryFilter(i)?(r<=this._maxDepth&&this.parents.push(this._exploreDir(i.fullPath,r+1)),this._wantsDir&&(this.push(i),e--)):(a==="file"||this._includeAsFile(i))&&this._fileFilter(i)&&this._wantsFile&&(this.push(i),e--)}}else{let o=this.parents.pop();if(!o){this.push(null);break}if(this.parent=await o,this.destroyed)return}}}catch(s){this.destroy(s)}finally{this.reading=!1}}}async _exploreDir(e,s){let r;try{r=await ci(e,this._rdOptions)}catch(n){this._onError(n)}return{files:r,depth:s,path:e}}async _formatEntry(e,s){let r;try{let n=this._isDirent?e.name:e,o=Ae.resolve(Ae.join(s,n));r={path:Ae.relative(this._root,o),fullPath:o,basename:n},r[this._statsProp]=this._isDirent?e:await this._stat(o)}catch(n){this._onError(n)}return r}_onError(e){hi(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){let s=e&&e[this._statsProp];if(s){if(s.isFile())return"file";if(s.isDirectory())return"directory";if(s&&s.isSymbolicLink()){let r=e.fullPath;try{let n=await ui(r),o=await bs(n);if(o.isFile())return"file";if(o.isDirectory()){let i=n.length;if(r.startsWith(n)&&r.substr(i,1)===Ae.sep){let a=new Error(`Circular symlink detected: "${r}" points to "${n}"`);return a.code=Ns,this._onError(a)}return"directory"}}catch(n){this._onError(n)}}}}_includeAsFile(e){let s=e&&e[this._statsProp];return s&&this._wantsEverything&&!s.isDirectory()}},Ee=(t,e={})=>{let s=e.entryType||e.type;if(s==="both"&&(s=Ue),s&&(e.type=s),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(s&&!Is.includes(s))throw new Error(`readdirp: Invalid type passed. Use one of ${Is.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new We(e)},Ei=(t,e={})=>new Promise((s,r)=>{let n=[];Ee(t,e).on("data",o=>n.push(o)).on("end",()=>s(n)).on("error",o=>r(o))});Ee.promise=Ei;Ee.ReaddirpStream=We;Ee.default=Ee;Ps.exports=Ee});var yt=v((_c,Hs)=>{Hs.exports=function(t,e){if(typeof t!="string")throw new TypeError("expected path to be a string");if(t==="\\"||t==="/")return"/";var s=t.length;if(s<=1)return t;var r="";if(s>4&&t[3]==="\\"){var n=t[2];(n==="?"||n===".")&&t.slice(0,2)==="\\\\"&&(t=t.slice(2),r="//")}var o=t.split(/[/\\]+/);return e!==!1&&o[o.length-1]===""&&o.pop(),r+o.join("/")}});var Ws=v((Ms,Us)=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var $s=Et(),gi=yt(),Ds="!",mi={returnIndex:!1},yi=t=>Array.isArray(t)?t:[t],wi=(t,e)=>{if(typeof t=="function")return t;if(typeof t=="string"){let s=$s(t,e);return r=>t===r||s(r)}return t instanceof RegExp?s=>t.test(s):s=>!1},Fs=(t,e,s,r)=>{let n=Array.isArray(s),o=n?s[0]:s;if(!n&&typeof o!="string")throw new TypeError("anymatch: second argument must be a string: got "+Object.prototype.toString.call(o));let i=gi(o,!1);for(let c=0;c<e.length;c++){let d=e[c];if(d(i))return r?-1:!1}let a=n&&[i].concat(s.slice(1));for(let c=0;c<t.length;c++){let d=t[c];if(n?d(...a):d(i))return r?c:!0}return r?-1:!1},wt=(t,e,s=mi)=>{if(t==null)throw new TypeError("anymatch: specify first argument");let r=typeof s=="boolean"?{returnIndex:s}:s,n=r.returnIndex||!1,o=yi(t),i=o.filter(c=>typeof c=="string"&&c.charAt(0)===Ds).map(c=>c.slice(1)).map(c=>$s(c,r)),a=o.filter(c=>typeof c!="string"||typeof c=="string"&&c.charAt(0)!==Ds).map(c=>wi(c,r));return e==null?(c,d=!1)=>Fs(a,i,c,typeof d=="boolean"?d:!1):Fs(a,i,e,n)};wt.default=wt;Us.exports=wt});var Gs=v((Ec,Bs)=>{Bs.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var s;s=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(s[2])return!0;e=e.slice(s.index+s[0].length)}return!1}});var Rt=v((gc,Ks)=>{var Ri=Gs(),qs={"{":"}","(":")","[":"]"},Ai=function(t){if(t[0]==="!")return!0;for(var e=0,s=-2,r=-2,n=-2,o=-2,i=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||r!==-1&&t[e]==="["&&t[e+1]!=="]"&&(r<e&&(r=t.indexOf("]",e)),r>e&&(i===-1||i>r||(i=t.indexOf("\\",e),i===-1||i>r)))||n!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(n=t.indexOf("}",e),n>e&&(i=t.indexOf("\\",e),i===-1||i>n))||o!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(o=t.indexOf(")",e),o>e&&(i=t.indexOf("\\",e),i===-1||i>o))||s!==-1&&t[e]==="("&&t[e+1]!=="|"&&(s<e&&(s=t.indexOf("|",e)),s!==-1&&t[s+1]!==")"&&(o=t.indexOf(")",s),o>s&&(i=t.indexOf("\\",s),i===-1||i>o))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var c=qs[a];if(c){var d=t.indexOf(c,e);d!==-1&&(e=d+1)}if(t[e]==="!")return!0}else e++}return!1},Si=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var s=t[e+1];e+=2;var r=qs[s];if(r){var n=t.indexOf(r,e);n!==-1&&(e=n+1)}if(t[e]==="!")return!0}else e++}return!1};Ks.exports=function(e,s){if(typeof e!="string"||e==="")return!1;if(Ri(e))return!0;var r=Ai;return s&&s.strict===!1&&(r=Si),r(e)}});var Vs=v((mc,js)=>{"use strict";var Ti=Rt(),Ci=L("path").posix.dirname,xi=L("os").platform()==="win32",At="/",bi=/\\/g,Ii=/[\{\[].*[\}\]]$/,vi=/(^|[^\\])([\{\[]|\([^\)]+$)/,ki=/\\([\!\*\?\|\[\]\(\)\{\}])/g;js.exports=function(e,s){var r=Object.assign({flipBackslashes:!0},s);r.flipBackslashes&&xi&&e.indexOf(At)<0&&(e=e.replace(bi,At)),Ii.test(e)&&(e+=At),e+="a";do e=Ci(e);while(Ti(e)||vi.test(e));return e.replace(ki,"$1")}});var Ge=v(Z=>{"use strict";Z.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Z.find=(t,e)=>t.nodes.find(s=>s.type===e);Z.exceedsLimit=(t,e,s=1,r)=>r===!1||!Z.isInteger(t)||!Z.isInteger(e)?!1:(Number(e)-Number(t))/Number(s)>=r;Z.escapeNode=(t,e=0,s)=>{let r=t.nodes[e];r&&(s&&r.type===s||r.type==="open"||r.type==="close")&&r.escaped!==!0&&(r.value="\\"+r.value,r.escaped=!0)};Z.encloseBrace=t=>t.type!=="brace"||t.commas>>0+t.ranges>>0?!1:(t.invalid=!0,!0);Z.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:!(t.commas>>0+t.ranges>>0)||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Z.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Z.reduce=t=>t.reduce((e,s)=>(s.type==="text"&&e.push(s.value),s.type==="range"&&(s.type="text"),e),[]);Z.flatten=(...t)=>{let e=[],s=r=>{for(let n=0;n<r.length;n++){let o=r[n];Array.isArray(o)?s(o,e):o!==void 0&&e.push(o)}return e};return s(t),e}});var qe=v((wc,zs)=>{"use strict";var Ys=Ge();zs.exports=(t,e={})=>{let s=(r,n={})=>{let o=e.escapeInvalid&&Ys.isInvalidBrace(n),i=r.invalid===!0&&e.escapeInvalid===!0,a="";if(r.value)return(o||i)&&Ys.isOpenOrClose(r)?"\\"+r.value:r.value;if(r.value)return r.value;if(r.nodes)for(let c of r.nodes)a+=s(c);return a};return s(t)}});var Qs=v((Rc,Xs)=>{"use strict";Xs.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var or=v((Ac,ir)=>{"use strict";var Zs=Qs(),de=(t,e,s)=>{if(Zs(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(Zs(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let r={relaxZeros:!0,...s};typeof r.strictZeros=="boolean"&&(r.relaxZeros=r.strictZeros===!1);let n=String(r.relaxZeros),o=String(r.shorthand),i=String(r.capture),a=String(r.wrap),c=t+":"+e+"="+n+o+i+a;if(de.cache.hasOwnProperty(c))return de.cache[c].result;let d=Math.min(t,e),u=Math.max(t,e);if(Math.abs(d-u)===1){let w=t+"|"+e;return r.capture?`(${w})`:r.wrap===!1?w:`(?:${w})`}let f=nr(t)||nr(e),l={min:t,max:e,a:d,b:u},m=[],y=[];if(f&&(l.isPadded=f,l.maxLen=String(l.max).length),d<0){let w=u<0?Math.abs(u):1;y=Js(w,Math.abs(d),l,r),d=l.a=0}return u>=0&&(m=Js(d,u,l,r)),l.negatives=y,l.positives=m,l.result=Ni(y,m,r),r.capture===!0?l.result=`(${l.result})`:r.wrap!==!1&&m.length+y.length>1&&(l.result=`(?:${l.result})`),de.cache[c]=l,l.result};function Ni(t,e,s){let r=St(t,e,"-",!1,s)||[],n=St(e,t,"",!1,s)||[],o=St(t,e,"-?",!0,s)||[];return r.concat(o).concat(n).join("|")}function Oi(t,e){let s=1,r=1,n=tr(t,s),o=new Set([e]);for(;t<=n&&n<=e;)o.add(n),s+=1,n=tr(t,s);for(n=sr(e+1,r)-1;t<n&&n<=e;)o.add(n),r+=1,n=sr(e+1,r)-1;return o=[...o],o.sort(Hi),o}function Pi(t,e,s){if(t===e)return{pattern:t,count:[],digits:0};let r=Li(t,e),n=r.length,o="",i=0;for(let a=0;a<n;a++){let[c,d]=r[a];c===d?o+=c:c!=="0"||d!=="9"?o+=Di(c,d,s):i++}return i&&(o+=s.shorthand===!0?"\\d":"[0-9]"),{pattern:o,count:[i],digits:n}}function Js(t,e,s,r){let n=Oi(t,e),o=[],i=t,a;for(let c=0;c<n.length;c++){let d=n[c],u=Pi(String(i),String(d),r),f="";if(!s.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+rr(a.count),i=d+1;continue}s.isPadded&&(f=Fi(d,s,r)),u.string=f+u.pattern+rr(u.count),o.push(u),i=d+1,a=u}return o}function St(t,e,s,r,n){let o=[];for(let i of t){let{string:a}=i;!r&&!er(e,"string",a)&&o.push(s+a),r&&er(e,"string",a)&&o.push(s+a)}return o}function Li(t,e){let s=[];for(let r=0;r<t.length;r++)s.push([t[r],e[r]]);return s}function Hi(t,e){return t>e?1:e>t?-1:0}function er(t,e,s){return t.some(r=>r[e]===s)}function tr(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function sr(t,e){return t-t%Math.pow(10,e)}function rr(t){let[e=0,s=""]=t;return s||e>1?`{${e+(s?","+s:"")}}`:""}function Di(t,e,s){return`[${t}${e-t===1?"":"-"}${e}]`}function nr(t){return/^-?(0+)\d/.test(t)}function Fi(t,e,s){if(!e.isPadded)return t;let r=Math.abs(e.maxLen-String(t).length),n=s.relaxZeros!==!1;switch(r){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${r}}`:`0{${r}}`}}de.cache={};de.clearCache=()=>de.cache={};ir.exports=de});var xt=v((Sc,pr)=>{"use strict";var $i=L("util"),lr=or(),ar=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),Mi=t=>e=>t===!0?Number(e):String(e),Tt=t=>typeof t=="number"||typeof t=="string"&&t!=="",Te=t=>Number.isInteger(+t),Ct=t=>{let e=`${t}`,s=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++s]==="0";);return s>0},Ui=(t,e,s)=>typeof t=="string"||typeof e=="string"?!0:s.stringify===!0,Wi=(t,e,s)=>{if(e>0){let r=t[0]==="-"?"-":"";r&&(t=t.slice(1)),t=r+t.padStart(r?e-1:e,"0")}return s===!1?String(t):t},cr=(t,e)=>{let s=t[0]==="-"?"-":"";for(s&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return s?"-"+t:t},Bi=(t,e)=>{t.negatives.sort((i,a)=>i<a?-1:i>a?1:0),t.positives.sort((i,a)=>i<a?-1:i>a?1:0);let s=e.capture?"":"?:",r="",n="",o;return t.positives.length&&(r=t.positives.join("|")),t.negatives.length&&(n=`-(${s}${t.negatives.join("|")})`),r&&n?o=`${r}|${n}`:o=r||n,e.wrap?`(${s}${o})`:o},ur=(t,e,s,r)=>{if(s)return lr(t,e,{wrap:!1,...r});let n=String.fromCharCode(t);if(t===e)return n;let o=String.fromCharCode(e);return`[${n}-${o}]`},fr=(t,e,s)=>{if(Array.isArray(t)){let r=s.wrap===!0,n=s.capture?"":"?:";return r?`(${n}${t.join("|")})`:t.join("|")}return lr(t,e,s)},dr=(...t)=>new RangeError("Invalid range arguments: "+$i.inspect(...t)),hr=(t,e,s)=>{if(s.strictRanges===!0)throw dr([t,e]);return[]},Gi=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},qi=(t,e,s=1,r={})=>{let n=Number(t),o=Number(e);if(!Number.isInteger(n)||!Number.isInteger(o)){if(r.strictRanges===!0)throw dr([t,e]);return[]}n===0&&(n=0),o===0&&(o=0);let i=n>o,a=String(t),c=String(e),d=String(s);s=Math.max(Math.abs(s),1);let u=Ct(a)||Ct(c)||Ct(d),f=u?Math.max(a.length,c.length,d.length):0,l=u===!1&&Ui(t,e,r)===!1,m=r.transform||Mi(l);if(r.toRegex&&s===1)return ur(cr(t,f),cr(e,f),!0,r);let y={negatives:[],positives:[]},w=H=>y[H<0?"negatives":"positives"].push(Math.abs(H)),S=[],x=0;for(;i?n>=o:n<=o;)r.toRegex===!0&&s>1?w(n):S.push(Wi(m(n,x),f,l)),n=i?n-s:n+s,x++;return r.toRegex===!0?s>1?Bi(y,r):fr(S,null,{wrap:!1,...r}):S},Ki=(t,e,s=1,r={})=>{if(!Te(t)&&t.length>1||!Te(e)&&e.length>1)return hr(t,e,r);let n=r.transform||(l=>String.fromCharCode(l)),o=`${t}`.charCodeAt(0),i=`${e}`.charCodeAt(0),a=o>i,c=Math.min(o,i),d=Math.max(o,i);if(r.toRegex&&s===1)return ur(c,d,!1,r);let u=[],f=0;for(;a?o>=i:o<=i;)u.push(n(o,f)),o=a?o-s:o+s,f++;return r.toRegex===!0?fr(u,null,{wrap:!1,options:r}):u},Ke=(t,e,s,r={})=>{if(e==null&&Tt(t))return[t];if(!Tt(t)||!Tt(e))return hr(t,e,r);if(typeof s=="function")return Ke(t,e,1,{transform:s});if(ar(s))return Ke(t,e,0,s);let n={...r};return n.capture===!0&&(n.wrap=!0),s=s||n.step||1,Te(s)?Te(t)&&Te(e)?qi(t,e,s,n):Ki(t,e,Math.max(Math.abs(s),1),n):s!=null&&!ar(s)?Gi(s,n):Ke(t,e,1,s)};pr.exports=Ke});var gr=v((Tc,Er)=>{"use strict";var ji=xt(),_r=Ge(),Vi=(t,e={})=>{let s=(r,n={})=>{let o=_r.isInvalidBrace(n),i=r.invalid===!0&&e.escapeInvalid===!0,a=o===!0||i===!0,c=e.escapeInvalid===!0?"\\":"",d="";if(r.isOpen===!0||r.isClose===!0)return c+r.value;if(r.type==="open")return a?c+r.value:"(";if(r.type==="close")return a?c+r.value:")";if(r.type==="comma")return r.prev.type==="comma"?"":a?r.value:"|";if(r.value)return r.value;if(r.nodes&&r.ranges>0){let u=_r.reduce(r.nodes),f=ji(...u,{...e,wrap:!1,toRegex:!0});if(f.length!==0)return u.length>1&&f.length>1?`(${f})`:f}if(r.nodes)for(let u of r.nodes)d+=s(u,r);return d};return s(t)};Er.exports=Vi});var wr=v((Cc,yr)=>{"use strict";var Yi=xt(),mr=qe(),ge=Ge(),he=(t="",e="",s=!1)=>{let r=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return s?ge.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let o of n)r.push(he(o,e,s));else for(let o of e)s===!0&&typeof o=="string"&&(o=`{${o}}`),r.push(Array.isArray(o)?he(n,o,s):n+o);return ge.flatten(r)},zi=(t,e={})=>{let s=e.rangeLimit===void 0?1e3:e.rangeLimit,r=(n,o={})=>{n.queue=[];let i=o,a=o.queue;for(;i.type!=="brace"&&i.type!=="root"&&i.parent;)i=i.parent,a=i.queue;if(n.invalid||n.dollar){a.push(he(a.pop(),mr(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(he(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let f=ge.reduce(n.nodes);if(ge.exceedsLimit(...f,e.step,s))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let l=Yi(...f,e);l.length===0&&(l=mr(n,e)),a.push(he(a.pop(),l)),n.nodes=[];return}let c=ge.encloseBrace(n),d=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,d=u.queue;for(let f=0;f<n.nodes.length;f++){let l=n.nodes[f];if(l.type==="comma"&&n.type==="brace"){f===1&&d.push(""),d.push("");continue}if(l.type==="close"){a.push(he(a.pop(),d,c));continue}if(l.value&&l.type!=="open"){d.push(he(d.pop(),l.value));continue}l.nodes&&r(l,n)}return d};return ge.flatten(r(t))};yr.exports=zi});var Ar=v((xc,Rr)=>{"use strict";Rr.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
2
- `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var br=v((bc,xr)=>{"use strict";var Xi=qe(),{MAX_LENGTH:Sr,CHAR_BACKSLASH:bt,CHAR_BACKTICK:Qi,CHAR_COMMA:Zi,CHAR_DOT:Ji,CHAR_LEFT_PARENTHESES:eo,CHAR_RIGHT_PARENTHESES:to,CHAR_LEFT_CURLY_BRACE:so,CHAR_RIGHT_CURLY_BRACE:ro,CHAR_LEFT_SQUARE_BRACKET:Tr,CHAR_RIGHT_SQUARE_BRACKET:Cr,CHAR_DOUBLE_QUOTE:no,CHAR_SINGLE_QUOTE:io,CHAR_NO_BREAK_SPACE:oo,CHAR_ZERO_WIDTH_NOBREAK_SPACE:ao}=Ar(),co=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let s=e||{},r=typeof s.maxLength=="number"?Math.min(Sr,s.maxLength):Sr;if(t.length>r)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${r})`);let n={type:"root",input:t,nodes:[]},o=[n],i=n,a=n,c=0,d=t.length,u=0,f=0,l,m={},y=()=>t[u++],w=S=>{if(S.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&S.type==="text"){a.value+=S.value;return}return i.nodes.push(S),S.parent=i,S.prev=a,a=S,S};for(w({type:"bos"});u<d;)if(i=o[o.length-1],l=y(),!(l===ao||l===oo)){if(l===bt){w({type:"text",value:(e.keepEscaping?l:"")+y()});continue}if(l===Cr){w({type:"text",value:"\\"+l});continue}if(l===Tr){c++;let S=!0,x;for(;u<d&&(x=y());){if(l+=x,x===Tr){c++;continue}if(x===bt){l+=y();continue}if(x===Cr&&(c--,c===0))break}w({type:"text",value:l});continue}if(l===eo){i=w({type:"paren",nodes:[]}),o.push(i),w({type:"text",value:l});continue}if(l===to){if(i.type!=="paren"){w({type:"text",value:l});continue}i=o.pop(),w({type:"text",value:l}),i=o[o.length-1];continue}if(l===no||l===io||l===Qi){let S=l,x;for(e.keepQuotes!==!0&&(l="");u<d&&(x=y());){if(x===bt){l+=x+y();continue}if(x===S){e.keepQuotes===!0&&(l+=x);break}l+=x}w({type:"text",value:l});continue}if(l===so){f++;let x={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||i.dollar===!0,depth:f,commas:0,ranges:0,nodes:[]};i=w(x),o.push(i),w({type:"open",value:l});continue}if(l===ro){if(i.type!=="brace"){w({type:"text",value:l});continue}let S="close";i=o.pop(),i.close=!0,w({type:S,value:l}),f--,i=o[o.length-1];continue}if(l===Zi&&f>0){if(i.ranges>0){i.ranges=0;let S=i.nodes.shift();i.nodes=[S,{type:"text",value:Xi(i)}]}w({type:"comma",value:l}),i.commas++;continue}if(l===Ji&&f>0&&i.commas===0){let S=i.nodes;if(f===0||S.length===0){w({type:"text",value:l});continue}if(a.type==="dot"){if(i.range=[],a.value+=l,a.type="range",i.nodes.length!==3&&i.nodes.length!==5){i.invalid=!0,i.ranges=0,a.type="text";continue}i.ranges++,i.args=[];continue}if(a.type==="range"){S.pop();let x=S[S.length-1];x.value+=a.value+l,a=x,i.ranges--;continue}w({type:"dot",value:l});continue}w({type:"text",value:l})}do if(i=o.pop(),i.type!=="root"){i.nodes.forEach(H=>{H.nodes||(H.type==="open"&&(H.isOpen=!0),H.type==="close"&&(H.isClose=!0),H.nodes||(H.type="text"),H.invalid=!0)});let S=o[o.length-1],x=S.nodes.indexOf(i);S.nodes.splice(x,1,...i.nodes)}while(o.length>0);return w({type:"eos"}),n};xr.exports=co});var kr=v((Ic,vr)=>{"use strict";var Ir=qe(),lo=gr(),uo=wr(),fo=br(),Q=(t,e={})=>{let s=[];if(Array.isArray(t))for(let r of t){let n=Q.create(r,e);Array.isArray(n)?s.push(...n):s.push(n)}else s=[].concat(Q.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(s=[...new Set(s)]),s};Q.parse=(t,e={})=>fo(t,e);Q.stringify=(t,e={})=>Ir(typeof t=="string"?Q.parse(t,e):t,e);Q.compile=(t,e={})=>(typeof t=="string"&&(t=Q.parse(t,e)),lo(t,e));Q.expand=(t,e={})=>{typeof t=="string"&&(t=Q.parse(t,e));let s=uo(t,e);return e.noempty===!0&&(s=s.filter(Boolean)),e.nodupes===!0&&(s=[...new Set(s)]),s};Q.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Q.compile(t,e):Q.expand(t,e);vr.exports=Q});var Nr=v((vc,ho)=>{ho.exports=["3dm","3ds","3g2","3gp","7z","a","aac","adp","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]});var Pr=v((kc,Or)=>{Or.exports=Nr()});var Hr=v((Nc,Lr)=>{"use strict";var po=L("path"),_o=Pr(),Eo=new Set(_o);Lr.exports=t=>Eo.has(po.extname(t).slice(1).toLowerCase())});var je=v(R=>{"use strict";var{sep:go}=L("path"),{platform:It}=process,mo=L("os");R.EV_ALL="all";R.EV_READY="ready";R.EV_ADD="add";R.EV_CHANGE="change";R.EV_ADD_DIR="addDir";R.EV_UNLINK="unlink";R.EV_UNLINK_DIR="unlinkDir";R.EV_RAW="raw";R.EV_ERROR="error";R.STR_DATA="data";R.STR_END="end";R.STR_CLOSE="close";R.FSEVENT_CREATED="created";R.FSEVENT_MODIFIED="modified";R.FSEVENT_DELETED="deleted";R.FSEVENT_MOVED="moved";R.FSEVENT_CLONED="cloned";R.FSEVENT_UNKNOWN="unknown";R.FSEVENT_TYPE_FILE="file";R.FSEVENT_TYPE_DIRECTORY="directory";R.FSEVENT_TYPE_SYMLINK="symlink";R.KEY_LISTENERS="listeners";R.KEY_ERR="errHandlers";R.KEY_RAW="rawEmitters";R.HANDLER_KEYS=[R.KEY_LISTENERS,R.KEY_ERR,R.KEY_RAW];R.DOT_SLASH=`.${go}`;R.BACK_SLASH_RE=/\\/g;R.DOUBLE_SLASH_RE=/\/\//;R.SLASH_OR_BACK_SLASH_RE=/[/\\]/;R.DOT_RE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/;R.REPLACER_RE=/^\.[/\\]/;R.SLASH="/";R.SLASH_SLASH="//";R.BRACE_START="{";R.BANG="!";R.ONE_DOT=".";R.TWO_DOTS="..";R.STAR="*";R.GLOBSTAR="**";R.ROOT_GLOBSTAR="/**/*";R.SLASH_GLOBSTAR="/**";R.DIR_SUFFIX="Dir";R.ANYMATCH_OPTS={dot:!0};R.STRING_TYPE="string";R.FUNCTION_TYPE="function";R.EMPTY_STR="";R.EMPTY_FN=()=>{};R.IDENTITY_FN=t=>t;R.isWindows=It==="win32";R.isMacos=It==="darwin";R.isLinux=It==="linux";R.isIBMi=mo.type()==="OS400"});var Wr=v((Pc,Ur)=>{"use strict";var oe=L("fs"),W=L("path"),{promisify:Ie}=L("util"),yo=Hr(),{isWindows:wo,isLinux:Ro,EMPTY_FN:Ao,EMPTY_STR:So,KEY_LISTENERS:me,KEY_ERR:vt,KEY_RAW:Ce,HANDLER_KEYS:To,EV_CHANGE:Ye,EV_ADD:Ve,EV_ADD_DIR:Co,EV_ERROR:Fr,STR_DATA:xo,STR_END:bo,BRACE_START:Io,STAR:vo}=je(),ko="watch",No=Ie(oe.open),$r=Ie(oe.stat),Oo=Ie(oe.lstat),Po=Ie(oe.close),kt=Ie(oe.realpath),Lo={lstat:Oo,stat:$r},Ot=(t,e)=>{t instanceof Set?t.forEach(e):e(t)},xe=(t,e,s)=>{let r=t[e];r instanceof Set||(t[e]=r=new Set([r])),r.add(s)},Ho=t=>e=>{let s=t[e];s instanceof Set?s.clear():delete t[e]},be=(t,e,s)=>{let r=t[e];r instanceof Set?r.delete(s):r===s&&delete t[e]},Mr=t=>t instanceof Set?t.size===0:!t,ze=new Map;function Dr(t,e,s,r,n){let o=(i,a)=>{s(t),n(i,a,{watchedPath:t}),a&&t!==a&&Xe(W.resolve(t,a),me,W.join(t,a))};try{return oe.watch(t,e,o)}catch(i){r(i)}}var Xe=(t,e,s,r,n)=>{let o=ze.get(t);o&&Ot(o[e],i=>{i(s,r,n)})},Do=(t,e,s,r)=>{let{listener:n,errHandler:o,rawEmitter:i}=r,a=ze.get(e),c;if(!s.persistent)return c=Dr(t,s,n,o,i),c.close.bind(c);if(a)xe(a,me,n),xe(a,vt,o),xe(a,Ce,i);else{if(c=Dr(t,s,Xe.bind(null,e,me),o,Xe.bind(null,e,Ce)),!c)return;c.on(Fr,async d=>{let u=Xe.bind(null,e,vt);if(a.watcherUnusable=!0,wo&&d.code==="EPERM")try{let f=await No(t,"r");await Po(f),u(d)}catch{}else u(d)}),a={listeners:n,errHandlers:o,rawEmitters:i,watcher:c},ze.set(e,a)}return()=>{be(a,me,n),be(a,vt,o),be(a,Ce,i),Mr(a.listeners)&&(a.watcher.close(),ze.delete(e),To.forEach(Ho(a)),a.watcher=void 0,Object.freeze(a))}},Nt=new Map,Fo=(t,e,s,r)=>{let{listener:n,rawEmitter:o}=r,i=Nt.get(e),a=new Set,c=new Set,d=i&&i.options;return d&&(d.persistent<s.persistent||d.interval>s.interval)&&(a=i.listeners,c=i.rawEmitters,oe.unwatchFile(e),i=void 0),i?(xe(i,me,n),xe(i,Ce,o)):(i={listeners:n,rawEmitters:o,options:s,watcher:oe.watchFile(e,s,(u,f)=>{Ot(i.rawEmitters,m=>{m(Ye,e,{curr:u,prev:f})});let l=u.mtimeMs;(u.size!==f.size||l>f.mtimeMs||l===0)&&Ot(i.listeners,m=>m(t,u))})},Nt.set(e,i)),()=>{be(i,me,n),be(i,Ce,o),Mr(i.listeners)&&(Nt.delete(e),oe.unwatchFile(e),i.options=i.watcher=void 0,Object.freeze(i))}},Pt=class{constructor(e){this.fsw=e,this._boundHandleError=s=>e._handleError(s)}_watchWithNodeFs(e,s){let r=this.fsw.options,n=W.dirname(e),o=W.basename(e);this.fsw._getWatchedDir(n).add(o);let a=W.resolve(e),c={persistent:r.persistent};s||(s=Ao);let d;return r.usePolling?(c.interval=r.enableBinaryInterval&&yo(o)?r.binaryInterval:r.interval,d=Fo(e,a,c,{listener:s,rawEmitter:this.fsw._emitRaw})):d=Do(e,a,c,{listener:s,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),d}_handleFile(e,s,r){if(this.fsw.closed)return;let n=W.dirname(e),o=W.basename(e),i=this.fsw._getWatchedDir(n),a=s;if(i.has(o))return;let c=async(u,f)=>{if(this.fsw._throttle(ko,e,5)){if(!f||f.mtimeMs===0)try{let l=await $r(e);if(this.fsw.closed)return;let m=l.atimeMs,y=l.mtimeMs;(!m||m<=y||y!==a.mtimeMs)&&this.fsw._emit(Ye,e,l),Ro&&a.ino!==l.ino?(this.fsw._closeFile(u),a=l,this.fsw._addPathCloser(u,this._watchWithNodeFs(e,c))):a=l}catch{this.fsw._remove(n,o)}else if(i.has(o)){let l=f.atimeMs,m=f.mtimeMs;(!l||l<=m||m!==a.mtimeMs)&&this.fsw._emit(Ye,e,f),a=f}}},d=this._watchWithNodeFs(e,c);if(!(r&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(Ve,e,0))return;this.fsw._emit(Ve,e,s)}return d}async _handleSymlink(e,s,r,n){if(this.fsw.closed)return;let o=e.fullPath,i=this.fsw._getWatchedDir(s);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await kt(r)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(i.has(n)?this.fsw._symlinkPaths.get(o)!==a&&(this.fsw._symlinkPaths.set(o,a),this.fsw._emit(Ye,r,e.stats)):(i.add(n),this.fsw._symlinkPaths.set(o,a),this.fsw._emit(Ve,r,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(o))return!0;this.fsw._symlinkPaths.set(o,!0)}_handleRead(e,s,r,n,o,i,a){if(e=W.join(e,So),!r.hasGlob&&(a=this.fsw._throttle("readdir",e,1e3),!a))return;let c=this.fsw._getWatchedDir(r.path),d=new Set,u=this.fsw._readdirp(e,{fileFilter:f=>r.filterPath(f),directoryFilter:f=>r.filterDir(f),depth:0}).on(xo,async f=>{if(this.fsw.closed){u=void 0;return}let l=f.path,m=W.join(e,l);if(d.add(l),!(f.stats.isSymbolicLink()&&await this._handleSymlink(f,e,m,l))){if(this.fsw.closed){u=void 0;return}(l===n||!n&&!c.has(l))&&(this.fsw._incrReadyCount(),m=W.join(o,W.relative(o,m)),this._addToNodeFs(m,s,r,i+1))}}).on(Fr,this._boundHandleError);return new Promise(f=>u.once(bo,()=>{if(this.fsw.closed){u=void 0;return}let l=a?a.clear():!1;f(),c.getChildren().filter(m=>m!==e&&!d.has(m)&&(!r.hasGlob||r.filterPath({fullPath:W.resolve(e,m)}))).forEach(m=>{this.fsw._remove(e,m)}),u=void 0,l&&this._handleRead(e,!1,r,n,o,i,a)}))}async _handleDir(e,s,r,n,o,i,a){let c=this.fsw._getWatchedDir(W.dirname(e)),d=c.has(W.basename(e));!(r&&this.fsw.options.ignoreInitial)&&!o&&!d&&(!i.hasGlob||i.globFilter(e))&&this.fsw._emit(Co,e,s),c.add(W.basename(e)),this.fsw._getWatchedDir(e);let u,f,l=this.fsw.options.depth;if((l==null||n<=l)&&!this.fsw._symlinkPaths.has(a)){if(!o&&(await this._handleRead(e,r,i,o,e,n,u),this.fsw.closed))return;f=this._watchWithNodeFs(e,(m,y)=>{y&&y.mtimeMs===0||this._handleRead(m,!1,i,o,e,n,u)})}return f}async _addToNodeFs(e,s,r,n,o){let i=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return i(),!1;let a=this.fsw._getWatchHelpers(e,n);!a.hasGlob&&r&&(a.hasGlob=r.hasGlob,a.globFilter=r.globFilter,a.filterPath=c=>r.filterPath(c),a.filterDir=c=>r.filterDir(c));try{let c=await Lo[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))return i(),!1;let d=this.fsw.options.followSymlinks&&!e.includes(vo)&&!e.includes(Io),u;if(c.isDirectory()){let f=W.resolve(e),l=d?await kt(e):e;if(this.fsw.closed||(u=await this._handleDir(a.watchPath,c,s,n,o,a,l),this.fsw.closed))return;f!==l&&l!==void 0&&this.fsw._symlinkPaths.set(f,l)}else if(c.isSymbolicLink()){let f=d?await kt(e):e;if(this.fsw.closed)return;let l=W.dirname(a.watchPath);if(this.fsw._getWatchedDir(l).add(a.watchPath),this.fsw._emit(Ve,a.watchPath,c),u=await this._handleDir(l,c,s,n,e,a,f),this.fsw.closed)return;f!==void 0&&this.fsw._symlinkPaths.set(W.resolve(e),f)}else u=this._handleFile(a.watchPath,c,s);return i(),this.fsw._addPathCloser(e,u),!1}catch(c){if(this.fsw._handleError(c))return i(),e}}};Ur.exports=Pt});var Yr=v((Lc,Wt)=>{"use strict";var Mt=L("fs"),B=L("path"),{promisify:Ut}=L("util"),ye;try{ye=L("fsevents")}catch(t){process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR&&console.error(t)}if(ye){let t=process.version.match(/v(\d+)\.(\d+)/);if(t&&t[1]&&t[2]){let e=Number.parseInt(t[1],10),s=Number.parseInt(t[2],10);e===8&&s<16&&(ye=void 0)}}var{EV_ADD:Lt,EV_CHANGE:$o,EV_ADD_DIR:Br,EV_UNLINK:Qe,EV_ERROR:Mo,STR_DATA:Uo,STR_END:Wo,FSEVENT_CREATED:Bo,FSEVENT_MODIFIED:Go,FSEVENT_DELETED:qo,FSEVENT_MOVED:Ko,FSEVENT_UNKNOWN:jo,FSEVENT_TYPE_FILE:Vo,FSEVENT_TYPE_DIRECTORY:ve,FSEVENT_TYPE_SYMLINK:Vr,ROOT_GLOBSTAR:Gr,DIR_SUFFIX:Yo,DOT_SLASH:qr,FUNCTION_TYPE:Ht,EMPTY_FN:zo,IDENTITY_FN:Xo}=je(),Qo=t=>isNaN(t)?{}:{depth:t},Ft=Ut(Mt.stat),Zo=Ut(Mt.lstat),Kr=Ut(Mt.realpath),Jo={stat:Ft,lstat:Zo},pe=new Map,ea=10,ta=new Set([69888,70400,71424,72704,73472,131328,131840,262912]),sa=(t,e)=>({stop:ye.watch(t,e)});function ra(t,e,s,r){let n=B.extname(e)?B.dirname(e):e,o=B.dirname(n),i=pe.get(n);na(o)&&(n=o);let a=B.resolve(t),c=a!==e,d=(f,l,m)=>{c&&(f=f.replace(e,a)),(f===a||!f.indexOf(a+B.sep))&&s(f,l,m)},u=!1;for(let f of pe.keys())if(e.indexOf(B.resolve(f)+B.sep)===0){n=f,i=pe.get(n),u=!0;break}return i||u?i.listeners.add(d):(i={listeners:new Set([d]),rawEmitter:r,watcher:sa(n,(f,l)=>{if(!i.listeners.size)return;let m=ye.getInfo(f,l);i.listeners.forEach(y=>{y(f,l,m)}),i.rawEmitter(m.event,f,m)})},pe.set(n,i)),()=>{let f=i.listeners;if(f.delete(d),!f.size&&(pe.delete(n),i.watcher))return i.watcher.stop().then(()=>{i.rawEmitter=i.watcher=void 0,Object.freeze(i)})}}var na=t=>{let e=0;for(let s of pe.keys())if(s.indexOf(t)===0&&(e++,e>=ea))return!0;return!1},ia=()=>ye&&pe.size<128,Dt=(t,e)=>{let s=0;for(;!t.indexOf(e)&&(t=B.dirname(t))!==e;)s++;return s},jr=(t,e)=>t.type===ve&&e.isDirectory()||t.type===Vr&&e.isSymbolicLink()||t.type===Vo&&e.isFile(),$t=class{constructor(e){this.fsw=e}checkIgnored(e,s){let r=this.fsw._ignoredPaths;if(this.fsw._isIgnored(e,s))return r.add(e),s&&s.isDirectory()&&r.add(e+Gr),!0;r.delete(e),r.delete(e+Gr)}addOrChange(e,s,r,n,o,i,a,c){let d=o.has(i)?$o:Lt;this.handleEvent(d,e,s,r,n,o,i,a,c)}async checkExists(e,s,r,n,o,i,a,c){try{let d=await Ft(e);if(this.fsw.closed)return;jr(a,d)?this.addOrChange(e,s,r,n,o,i,a,c):this.handleEvent(Qe,e,s,r,n,o,i,a,c)}catch(d){d.code==="EACCES"?this.addOrChange(e,s,r,n,o,i,a,c):this.handleEvent(Qe,e,s,r,n,o,i,a,c)}}handleEvent(e,s,r,n,o,i,a,c,d){if(!(this.fsw.closed||this.checkIgnored(s)))if(e===Qe){let u=c.type===ve;(u||i.has(a))&&this.fsw._remove(o,a,u)}else{if(e===Lt){if(c.type===ve&&this.fsw._getWatchedDir(s),c.type===Vr&&d.followSymlinks){let f=d.depth===void 0?void 0:Dt(r,n)+1;return this._addToFsEvents(s,!1,!0,f)}this.fsw._getWatchedDir(o).add(a)}let u=c.type===ve?e+Yo:e;this.fsw._emit(u,s),u===Br&&this._addToFsEvents(s,!1,!0)}}_watchWithFsEvents(e,s,r,n){if(this.fsw.closed||this.fsw._isIgnored(e))return;let o=this.fsw.options,a=ra(e,s,async(c,d,u)=>{if(this.fsw.closed||o.depth!==void 0&&Dt(c,s)>o.depth)return;let f=r(B.join(e,B.relative(e,c)));if(n&&!n(f))return;let l=B.dirname(f),m=B.basename(f),y=this.fsw._getWatchedDir(u.type===ve?f:l);if(ta.has(d)||u.event===jo)if(typeof o.ignored===Ht){let w;try{w=await Ft(f)}catch{}if(this.fsw.closed||this.checkIgnored(f,w))return;jr(u,w)?this.addOrChange(f,c,s,l,y,m,u,o):this.handleEvent(Qe,f,c,s,l,y,m,u,o)}else this.checkExists(f,c,s,l,y,m,u,o);else switch(u.event){case Bo:case Go:return this.addOrChange(f,c,s,l,y,m,u,o);case qo:case Ko:return this.checkExists(f,c,s,l,y,m,u,o)}},this.fsw._emitRaw);return this.fsw._emitReady(),a}async _handleFsEventsSymlink(e,s,r,n){if(!(this.fsw.closed||this.fsw._symlinkPaths.has(s))){this.fsw._symlinkPaths.set(s,!0),this.fsw._incrReadyCount();try{let o=await Kr(e);if(this.fsw.closed)return;if(this.fsw._isIgnored(o))return this.fsw._emitReady();this.fsw._incrReadyCount(),this._addToFsEvents(o||e,i=>{let a=e;return o&&o!==qr?a=i.replace(o,e):i!==qr&&(a=B.join(e,i)),r(a)},!1,n)}catch(o){if(this.fsw._handleError(o))return this.fsw._emitReady()}}}emitAdd(e,s,r,n,o){let i=r(e),a=s.isDirectory(),c=this.fsw._getWatchedDir(B.dirname(i)),d=B.basename(i);a&&this.fsw._getWatchedDir(i),!c.has(d)&&(c.add(d),(!n.ignoreInitial||o===!0)&&this.fsw._emit(a?Br:Lt,i,s))}initWatch(e,s,r,n){if(this.fsw.closed)return;let o=this._watchWithFsEvents(r.watchPath,B.resolve(e||r.watchPath),n,r.globFilter);this.fsw._addPathCloser(s,o)}async _addToFsEvents(e,s,r,n){if(this.fsw.closed)return;let o=this.fsw.options,i=typeof s===Ht?s:Xo,a=this.fsw._getWatchHelpers(e);try{let c=await Jo[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))throw null;if(c.isDirectory()){if(a.globFilter||this.emitAdd(i(e),c,i,o,r),n&&n>o.depth)return;this.fsw._readdirp(a.watchPath,{fileFilter:d=>a.filterPath(d),directoryFilter:d=>a.filterDir(d),...Qo(o.depth-(n||0))}).on(Uo,d=>{if(this.fsw.closed||d.stats.isDirectory()&&!a.filterPath(d))return;let u=B.join(a.watchPath,d.path),{fullPath:f}=d;if(a.followSymlinks&&d.stats.isSymbolicLink()){let l=o.depth===void 0?void 0:Dt(u,B.resolve(a.watchPath))+1;this._handleFsEventsSymlink(u,f,i,l)}else this.emitAdd(u,d.stats,i,o,r)}).on(Mo,zo).on(Wo,()=>{this.fsw._emitReady()})}else this.emitAdd(a.watchPath,c,i,o,r),this.fsw._emitReady()}catch(c){(!c||this.fsw._handleError(c))&&(this.fsw._emitReady(),this.fsw._emitReady())}if(o.persistent&&r!==!0)if(typeof s===Ht)this.initWatch(void 0,e,a,i);else{let c;try{c=await Kr(a.watchPath)}catch{}this.initWatch(c,e,a,i)}}};Wt.exports=$t;Wt.exports.canUse=ia});var on=v(ss=>{"use strict";var{EventEmitter:oa}=L("events"),es=L("fs"),k=L("path"),{promisify:tn}=L("util"),aa=Ls(),Vt=Ws().default,ca=Vs(),Bt=Rt(),la=kr(),ua=yt(),fa=Wr(),zr=Yr(),{EV_ALL:Gt,EV_READY:da,EV_ADD:Ze,EV_CHANGE:ke,EV_UNLINK:Xr,EV_ADD_DIR:ha,EV_UNLINK_DIR:pa,EV_RAW:_a,EV_ERROR:qt,STR_CLOSE:Ea,STR_END:ga,BACK_SLASH_RE:ma,DOUBLE_SLASH_RE:Qr,SLASH_OR_BACK_SLASH_RE:ya,DOT_RE:wa,REPLACER_RE:Ra,SLASH:Kt,SLASH_SLASH:Aa,BRACE_START:Sa,BANG:Yt,ONE_DOT:sn,TWO_DOTS:Ta,GLOBSTAR:Ca,SLASH_GLOBSTAR:jt,ANYMATCH_OPTS:zt,STRING_TYPE:ts,FUNCTION_TYPE:xa,EMPTY_STR:Xt,EMPTY_FN:ba,isWindows:Ia,isMacos:va,isIBMi:ka}=je(),Na=tn(es.stat),Oa=tn(es.readdir),Qt=(t=[])=>Array.isArray(t)?t:[t],rn=(t,e=[])=>(t.forEach(s=>{Array.isArray(s)?rn(s,e):e.push(s)}),e),Zr=t=>{let e=rn(Qt(t));if(!e.every(s=>typeof s===ts))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(nn)},Jr=t=>{let e=t.replace(ma,Kt),s=!1;for(e.startsWith(Aa)&&(s=!0);e.match(Qr);)e=e.replace(Qr,Kt);return s&&(e=Kt+e),e},nn=t=>Jr(k.normalize(Jr(t))),en=(t=Xt)=>e=>typeof e!==ts?e:nn(k.isAbsolute(e)?e:k.join(t,e)),Pa=(t,e)=>k.isAbsolute(t)?t:t.startsWith(Yt)?Yt+k.join(e,t.slice(1)):k.join(e,t),ee=(t,e)=>t[e]===void 0,Zt=class{constructor(e,s){this.path=e,this._removeWatcher=s,this.items=new Set}add(e){let{items:s}=this;s&&e!==sn&&e!==Ta&&s.add(e)}async remove(e){let{items:s}=this;if(!s||(s.delete(e),s.size>0))return;let r=this.path;try{await Oa(r)}catch{this._removeWatcher&&this._removeWatcher(k.dirname(r),k.basename(r))}}has(e){let{items:s}=this;if(s)return s.has(e)}getChildren(){let{items:e}=this;if(e)return[...e.values()]}dispose(){this.items.clear(),delete this.path,delete this._removeWatcher,delete this.items,Object.freeze(this)}},La="stat",Ha="lstat",Jt=class{constructor(e,s,r,n){this.fsw=n,this.path=e=e.replace(Ra,Xt),this.watchPath=s,this.fullWatchPath=k.resolve(s),this.hasGlob=s!==e,e===Xt&&(this.hasGlob=!1),this.globSymlink=this.hasGlob&&r?void 0:!1,this.globFilter=this.hasGlob?Vt(e,void 0,zt):!1,this.dirParts=this.getDirParts(e),this.dirParts.forEach(o=>{o.length>1&&o.pop()}),this.followSymlinks=r,this.statMethod=r?La:Ha}checkGlobSymlink(e){return this.globSymlink===void 0&&(this.globSymlink=e.fullParentDir===this.fullWatchPath?!1:{realPath:e.fullParentDir,linkPath:this.fullWatchPath}),this.globSymlink?e.fullPath.replace(this.globSymlink.realPath,this.globSymlink.linkPath):e.fullPath}entryPath(e){return k.join(this.watchPath,k.relative(this.watchPath,this.checkGlobSymlink(e)))}filterPath(e){let{stats:s}=e;if(s&&s.isSymbolicLink())return this.filterDir(e);let r=this.entryPath(e);return(this.hasGlob&&typeof this.globFilter===xa?this.globFilter(r):!0)&&this.fsw._isntIgnored(r,s)&&this.fsw._hasReadPermissions(s)}getDirParts(e){if(!this.hasGlob)return[];let s=[];return(e.includes(Sa)?la.expand(e):[e]).forEach(n=>{s.push(k.relative(this.watchPath,n).split(ya))}),s}filterDir(e){if(this.hasGlob){let s=this.getDirParts(this.checkGlobSymlink(e)),r=!1;this.unmatchedGlob=!this.dirParts.some(n=>n.every((o,i)=>(o===Ca&&(r=!0),r||!s[0][i]||Vt(o,s[0][i],zt))))}return!this.unmatchedGlob&&this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Je=class extends oa{constructor(e){super();let s={};e&&Object.assign(s,e),this._watched=new Map,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._symlinkPaths=new Map,this._streams=new Set,this.closed=!1,ee(s,"persistent")&&(s.persistent=!0),ee(s,"ignoreInitial")&&(s.ignoreInitial=!1),ee(s,"ignorePermissionErrors")&&(s.ignorePermissionErrors=!1),ee(s,"interval")&&(s.interval=100),ee(s,"binaryInterval")&&(s.binaryInterval=300),ee(s,"disableGlobbing")&&(s.disableGlobbing=!1),s.enableBinaryInterval=s.binaryInterval!==s.interval,ee(s,"useFsEvents")&&(s.useFsEvents=!s.usePolling),zr.canUse()||(s.useFsEvents=!1),ee(s,"usePolling")&&!s.useFsEvents&&(s.usePolling=va),ka&&(s.usePolling=!0);let n=process.env.CHOKIDAR_USEPOLLING;if(n!==void 0){let c=n.toLowerCase();c==="false"||c==="0"?s.usePolling=!1:c==="true"||c==="1"?s.usePolling=!0:s.usePolling=!!c}let o=process.env.CHOKIDAR_INTERVAL;o&&(s.interval=Number.parseInt(o,10)),ee(s,"atomic")&&(s.atomic=!s.usePolling&&!s.useFsEvents),s.atomic&&(this._pendingUnlinks=new Map),ee(s,"followSymlinks")&&(s.followSymlinks=!0),ee(s,"awaitWriteFinish")&&(s.awaitWriteFinish=!1),s.awaitWriteFinish===!0&&(s.awaitWriteFinish={});let i=s.awaitWriteFinish;i&&(i.stabilityThreshold||(i.stabilityThreshold=2e3),i.pollInterval||(i.pollInterval=100),this._pendingWrites=new Map),s.ignored&&(s.ignored=Qt(s.ignored));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=ba,this._readyEmitted=!0,process.nextTick(()=>this.emit(da)))},this._emitRaw=(...c)=>this.emit(_a,...c),this._readyEmitted=!1,this.options=s,s.useFsEvents?this._fsEventsHandler=new zr(this):this._nodeFsHandler=new fa(this),Object.freeze(s)}add(e,s,r){let{cwd:n,disableGlobbing:o}=this.options;this.closed=!1;let i=Zr(e);return n&&(i=i.map(a=>{let c=Pa(a,n);return o||!Bt(a)?c:ua(c)})),i=i.filter(a=>a.startsWith(Yt)?(this._ignoredPaths.add(a.slice(1)),!1):(this._ignoredPaths.delete(a),this._ignoredPaths.delete(a+jt),this._userIgnored=void 0,!0)),this.options.useFsEvents&&this._fsEventsHandler?(this._readyCount||(this._readyCount=i.length),this.options.persistent&&(this._readyCount*=2),i.forEach(a=>this._fsEventsHandler._addToFsEvents(a))):(this._readyCount||(this._readyCount=0),this._readyCount+=i.length,Promise.all(i.map(async a=>{let c=await this._nodeFsHandler._addToNodeFs(a,!r,0,0,s);return c&&this._emitReady(),c})).then(a=>{this.closed||a.filter(c=>c).forEach(c=>{this.add(k.dirname(c),k.basename(s||c))})})),this}unwatch(e){if(this.closed)return this;let s=Zr(e),{cwd:r}=this.options;return s.forEach(n=>{!k.isAbsolute(n)&&!this._closers.has(n)&&(r&&(n=k.join(r,n)),n=k.resolve(n)),this._closePath(n),this._ignoredPaths.add(n),this._watched.has(n)&&this._ignoredPaths.add(n+jt),this._userIgnored=void 0}),this}close(){if(this.closed)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(s=>s.forEach(r=>{let n=r();n instanceof Promise&&e.push(n)})),this._streams.forEach(s=>s.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(s=>s.dispose()),["closers","watched","streams","symlinkPaths","throttled"].forEach(s=>{this[`_${s}`].clear()}),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((s,r)=>{let n=this.options.cwd?k.relative(this.options.cwd,r):r;e[n||sn]=s.getChildren().sort()}),e}emitWithAll(e,s){this.emit(...s),e!==qt&&this.emit(Gt,...s)}async _emit(e,s,r,n,o){if(this.closed)return;let i=this.options;Ia&&(s=k.normalize(s)),i.cwd&&(s=k.relative(i.cwd,s));let a=[e,s];o!==void 0?a.push(r,n,o):n!==void 0?a.push(r,n):r!==void 0&&a.push(r);let c=i.awaitWriteFinish,d;if(c&&(d=this._pendingWrites.get(s)))return d.lastChange=new Date,this;if(i.atomic){if(e===Xr)return this._pendingUnlinks.set(s,a),setTimeout(()=>{this._pendingUnlinks.forEach((u,f)=>{this.emit(...u),this.emit(Gt,...u),this._pendingUnlinks.delete(f)})},typeof i.atomic=="number"?i.atomic:100),this;e===Ze&&this._pendingUnlinks.has(s)&&(e=a[0]=ke,this._pendingUnlinks.delete(s))}if(c&&(e===Ze||e===ke)&&this._readyEmitted){let u=(f,l)=>{f?(e=a[0]=qt,a[1]=f,this.emitWithAll(e,a)):l&&(a.length>2?a[2]=l:a.push(l),this.emitWithAll(e,a))};return this._awaitWriteFinish(s,c.stabilityThreshold,e,u),this}if(e===ke&&!this._throttle(ke,s,50))return this;if(i.alwaysStat&&r===void 0&&(e===Ze||e===ha||e===ke)){let u=i.cwd?k.join(i.cwd,s):s,f;try{f=await Na(u)}catch{}if(!f||this.closed)return;a.push(f)}return this.emitWithAll(e,a),this}_handleError(e){let s=e&&e.code;return e&&s!=="ENOENT"&&s!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||s!=="EPERM"&&s!=="EACCES")&&this.emit(qt,e),e||this.closed}_throttle(e,s,r){this._throttled.has(e)||this._throttled.set(e,new Map);let n=this._throttled.get(e),o=n.get(s);if(o)return o.count++,!1;let i,a=()=>{let d=n.get(s),u=d?d.count:0;return n.delete(s),clearTimeout(i),d&&clearTimeout(d.timeoutObject),u};i=setTimeout(a,r);let c={timeoutObject:i,clear:a,count:0};return n.set(s,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,s,r,n){let o,i=e;this.options.cwd&&!k.isAbsolute(e)&&(i=k.join(this.options.cwd,e));let a=new Date,c=d=>{es.stat(i,(u,f)=>{if(u||!this._pendingWrites.has(e)){u&&u.code!=="ENOENT"&&n(u);return}let l=Number(new Date);d&&f.size!==d.size&&(this._pendingWrites.get(e).lastChange=l);let m=this._pendingWrites.get(e);l-m.lastChange>=s?(this._pendingWrites.delete(e),n(void 0,f)):o=setTimeout(c,this.options.awaitWriteFinish.pollInterval,f)})};this._pendingWrites.has(e)||(this._pendingWrites.set(e,{lastChange:a,cancelWait:()=>(this._pendingWrites.delete(e),clearTimeout(o),r)}),o=setTimeout(c,this.options.awaitWriteFinish.pollInterval))}_getGlobIgnored(){return[...this._ignoredPaths.values()]}_isIgnored(e,s){if(this.options.atomic&&wa.test(e))return!0;if(!this._userIgnored){let{cwd:r}=this.options,n=this.options.ignored,o=n&&n.map(en(r)),i=Qt(o).filter(c=>typeof c===ts&&!Bt(c)).map(c=>c+jt),a=this._getGlobIgnored().map(en(r)).concat(o,i);this._userIgnored=Vt(a,void 0,zt)}return this._userIgnored([e,s])}_isntIgnored(e,s){return!this._isIgnored(e,s)}_getWatchHelpers(e,s){let r=s||this.options.disableGlobbing||!Bt(e)?e:ca(e),n=this.options.followSymlinks;return new Jt(e,r,n,this)}_getWatchedDir(e){this._boundRemove||(this._boundRemove=this._remove.bind(this));let s=k.resolve(e);return this._watched.has(s)||this._watched.set(s,new Zt(s,this._boundRemove)),this._watched.get(s)}_hasReadPermissions(e){if(this.options.ignorePermissionErrors)return!0;let r=(e&&Number.parseInt(e.mode,10))&511;return!!(4&Number.parseInt(r.toString(8)[0],10))}_remove(e,s,r){let n=k.join(e,s),o=k.resolve(n);if(r=r??(this._watched.has(n)||this._watched.has(o)),!this._throttle("remove",n,100))return;!r&&!this.options.useFsEvents&&this._watched.size===1&&this.add(e,s,!0),this._getWatchedDir(n).getChildren().forEach(l=>this._remove(n,l));let c=this._getWatchedDir(e),d=c.has(s);c.remove(s),this._symlinkPaths.has(o)&&this._symlinkPaths.delete(o);let u=n;if(this.options.cwd&&(u=k.relative(this.options.cwd,n)),this.options.awaitWriteFinish&&this._pendingWrites.has(u)&&this._pendingWrites.get(u).cancelWait()===Ze)return;this._watched.delete(n),this._watched.delete(o);let f=r?pa:Xr;d&&!this._isIgnored(n)&&this._emit(f,n),this.options.useFsEvents||this._closePath(n)}_closePath(e){this._closeFile(e);let s=k.dirname(e);this._getWatchedDir(s).remove(k.basename(e))}_closeFile(e){let s=this._closers.get(e);s&&(s.forEach(r=>r()),this._closers.delete(e))}_addPathCloser(e,s){if(!s)return;let r=this._closers.get(e);r||(r=[],this._closers.set(e,r)),r.push(s)}_readdirp(e,s){if(this.closed)return;let r={type:Gt,alwaysStat:!0,lstat:!0,...s},n=aa(e,r);return this._streams.add(n),n.once(Ea,()=>{n=void 0}),n.once(ga,()=>{n&&(this._streams.delete(n),n=void 0)}),n}};ss.FSWatcher=Je;var Da=(t,e)=>{let s=new Je(e);return s.add(t),s};ss.watch=Da});import"only-server";import"../common/index.mjs";var ln=bn(on(),1);import{existsSync as cn,promises as $a}from"node:fs";import{basename as ns,dirname as et,join as an,relative as tt}from"node:path";import{build as Ma}from"esbuild";import{jwtDecode as Ua}from"jwt-decode";import{Issuer as Wa}from"openid-client";import{ExternalTaskWorker as Ba}from"@5minds/processcube_engine_client";import{Logger as Ga}from"@5minds/processcube_engine_sdk";import{EngineClient as Fa}from"@5minds/processcube_engine_client";var rs=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",$=new Fa(rs);var qa={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},Ka=.85,st=["external_task.ts","external_task.js"],J=new Ga("processcube_app_sdk:external_task_adapter"),os=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0,ue={};async function un(t){if(t&&!cn(t))throw new Error(`Invalid customExternalTasksDirPath. The given path '${t}' does not exist`);let e=Qa(t);(0,ln.watch)(e).on("add",async s=>{if(!st.includes(ns(s)))return;await fn(s,e);let r=et(s),n=tt(e,r),o=rt(n);J.info(`Started external task ${ue[s].workerId} for topic ${o}`)}).on("change",async s=>{if(!st.includes(ns(s)))return;await ja(s,e);let r=et(s),n=tt(e,r),o=rt(n);J.info(`Restarted external task ${ue[s].workerId} for topic ${o}`)}).on("unlink",async s=>{if(!st.includes(ns(s)))return;dn(s);let r=et(s),n=tt(e,r),o=rt(n);J.info(`Stopped external task ${ue[s].workerId} for topic '${o}'`,{reason:`External Task for topic '${o}' was removed`,workerId:ue[s].workerId,topic:o}),delete ue[s]}).on("error",s=>J.info(`Watcher error: ${s}`))}async function fn(t,e,s){let r=et(t);if(!Va(r)){J.error(`Could not find external task file in directory '${r}'`);return}let o=await Ya(t),i=await za(o,t);if(i.default===void 0){J.info(`External task file recognized at ${t}. Please export a default handler function. For more information see https://processcube.io/docs/app-sdk/samples/nextjs/external-task-adapter-with-nextjs#external-tasks-entwickeln`);return}let a=await hn(),c=pn(a),d=tt(e,r),u=rt(d),f=i.default,l={identity:c,...s,...i?.config},m=new Ba(rs,u,f,l);m.onWorkerError((y,w,S)=>{J.error(`Intercepted "${y}"-type error: ${w.message}`,{err:w,type:y,externalTask:S})}),m.start(),await is(a,m),ue[t]=m}async function ja(t,e){let s=ue[t]?.workerId;dn(t),await fn(t,e,{workerId:s})}function dn(t){let e=ue[t];e&&(e.stop(),e.dispose())}async function Va(t){let s=(await $a.readdir(t)).filter(r=>st.includes(r));if(s.length===0)return null;if(s.length>1)throw new Error(`Found more than one external task file in directory '${t}'`);return s[0]}async function hn(){if(!os)return null;if(!process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID||!process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET){let r=new Error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing. For help, please refer to our documentation on environment variables at: https://processcube.io/docs/app-sdk/samples/nextjs/external-task-adapter-with-nextjs#authority");throw J.error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing",{err:r}),r}let t=await Wa.discover(process.env.PROCESSCUBE_AUTHORITY_URL);return await new t.Client({client_id:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID,client_secret:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET}).grant({grant_type:"client_credentials",scope:"engine_etw"})}function pn(t){if(!os||t===null)return qa;let e=t.access_token,s=Ua(e);return{token:t.access_token,userId:s.sub}}async function is(t,e,s=5){try{if(!os||t===null||!e.pollingIsActive)return;let n=await Xa(t)*Ka*1e3;setTimeout(async()=>{if(!e.pollingIsActive)return;let o=await hn(),i=pn(o);e.identity=i,await is(o,e)},n)}catch(r){if(s===0)throw r;J.error(`Could not refresh identity for external task worker ${e.workerId}`,{err:r,workerId:e.workerId,retryCount:s});let n=2*1e3;setTimeout(async()=>await is(t,e,s-1),n)}}async function Ya(t){let e=await Ma({entryPoints:[t],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"});if(e.errors.length>0)throw J.error(`Could not transpile file at '${t}'`,{errors:e.errors}),new Error(`Could not transpile file at '${t}'`);return e.warnings.length>0&&J.warn(`Transpiled file at '${t}' with warnings`,{warnings:e.warnings}),e.outputFiles[0].text}async function za(t,e){try{var s=module.constructor,r=new s;return r._compile(t,e),r.exports}catch(n){throw J.error("Could not require module from string",{err:n}),n}}async function Xa(t){let e=t.expires_in;if(!e&&t.expires_at&&(e=Math.floor(t.expires_at-Date.now()/1e3)),e===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return e}function rt(t){return t.replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/")}function Qa(t){let e,s=[t,an(process.cwd(),"app"),an(process.cwd(),"src","app")];for(let r of s)if(r&&cn(r)){e=r;break}if(!e)throw new Error("Could not find external tasks directory");return e}function Qc(){return $}import{getToken as _n}from"next-auth/jwt";import{ResponseCookies as Za}from"next/dist/compiled/@edge-runtime/cookies";import{cookies as nt,headers as En}from"next/headers";var Ja=process.env.NEXTAUTH_URL?.startsWith("https://"),gn=`${Ja?"__Secure-":""}next-auth.session-token`;async function sl(){let t=await _n({req:{cookies:nt(),headers:En()}});if(t?.expiresAt&&Date.now()>=t.expiresAt*1e3){let s=await fetch(`${process.env.NEXTAUTH_URL}/api/auth/session`,{method:"GET",headers:{"Content-Type":"application/json",cookie:nt().toString()}}),r=new Za(s.headers),n=r.get(gn);if(n){let o=!1;try{nt().set(gn,n.value,{...n})}catch{o=!0}if(t=await _n({req:{cookies:o?r:nt(),headers:En()}}),t?.error)throw t.error}}if(!t?.accessToken||!t?.sub)throw new Error("AccessToken or Sub could not be determined!");return{token:t?.accessToken,userId:t?.sub}}import{DataModels as ec}from"@5minds/processcube_engine_client";async function ol(t){return await $.processInstances.query({...t?.query,state:ec.ProcessInstances.ProcessInstanceState.running},t?.options)}import{DataModels as ae}from"@5minds/processcube_engine_client";async function ul(t={},e){let{correlationId:s,processInstanceId:r,flowNodeId:n}=t;return new Promise(async(o,i)=>{let a=await $.userTasks.onUserTaskWaiting(async u=>{let f=s!==void 0&&u.correlationId!==s,l=u.flowNodeInstanceId===void 0,m=r!==void 0&&u.processInstanceId!==r,y=n!==void 0&&u.flowNodeId!==n;if(f||l||m||y)return;let w=await sc(u.flowNodeInstanceId,{identity:e});return $.notification.removeSubscription(a,e),w===null?i(new Error(`UserTask with instance ID "${u.flowNodeInstanceId}" does not exist.`)):o(w)},{identity:e}),d=(await tc({correlationId:s,processInstanceId:r,flowNodeId:n,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e})).userTasks[0];d&&($.notification.removeSubscription(a,e),o(d))})}async function fl(t,e={},s={},r){await $.userTasks.finishUserTask(t,s,r);let n={state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended,...e};return(await $.userTasks.query(n,{identity:r})).userTasks[0]}async function tc(...t){return await $.userTasks.query(...t)}async function dl(t){return await $.userTasks.query({state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function hl(t,e){return await $.userTasks.query({processInstanceId:t,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function pl(t,e){return await $.userTasks.query({flowNodeId:t,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function sc(t,e){let s=await $.userTasks.query({flowNodeInstanceId:t,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},{...e,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function _l(t,e){return await $.userTasks.query({correlationId:t,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function El(t,e){let s=await $.userTasks.query({state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t,...e}),r=s.userTasks.filter(n=>n.actualOwnerId===t.userId);return s.userTasks=r,s}async function gl(t,e){let s=await $.userTasks.query({state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t,...e}),r=s.userTasks.filter(n=>n.assignedUserIds?.includes(t.userId));return s.userTasks=r,s}import{PHASE_DEVELOPMENT_SERVER as rc,PHASE_PRODUCTION_SERVER as nc}from"next/dist/shared/lib/constants";var mn=!1;function Il(t={}){let{applicationSdk:e,...s}=t;return async(r,n)=>{let o=r===rc||r===nc;return e?.useExternalTasks&&o&&!mn&&(mn=!0,await un(e?.customExternalTasksDirPath)),s}}import{revalidatePath as ic}from"next/cache";import{redirect as oc}from"next/navigation";function Ll(t){ic(t),oc(t)}async function Fl(...t){return await $.processModels.startProcessInstance(...t)}async function Ul(...t){await $.userTasks.finishUserTask(...t)}export{Ul as finishUserTask,fl as finishUserTaskAndGetNext,ol as getActiveProcessInstances,gl as getAssignedUserTasksByIdentity,Qc as getEngineClient,sl as getIdentity,El as getReservedUserTasksByIdentity,tc as getUserTasks,sc as getWaitingUserTaskByFlowNodeInstanceId,dl as getWaitingUserTasks,_l as getWaitingUserTasksByCorrelationId,pl as getWaitingUserTasksByFlowNodeId,hl as getWaitingUserTasksByProcessInstanceId,Ll as navigateToUrl,Fl as startProcess,ul as waitForUserTask,Il as withApplicationSdk};
1
+ var Tn=Object.create;var ls=Object.defineProperty;var Cn=Object.getOwnPropertyDescriptor;var xn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,In=Object.prototype.hasOwnProperty;var H=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var v=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var vn=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of xn(e))!In.call(s,n)&&n!==t&&ls(s,n,{get:()=>e[n],enumerable:!(r=Cn(e,n))||r.enumerable});return s};var kn=(s,e,t)=>(t=s!=null?Tn(bn(s)):{},vn(e||!s||!s.__esModule?ls(t,"default",{value:s,enumerable:!0}):t,s));var Re=v((uc,ps)=>{"use strict";var Nn=H("path"),ne="\\\\/",us=`[^${ne}]`,ie="\\.",Pn="\\+",On="\\?",De="\\/",Ln="(?=.)",fs="[^/]",ct=`(?:${De}|$)`,ds=`(?:^|${De})`,lt=`${ie}{1,2}${ct}`,Hn=`(?!${ie})`,Dn=`(?!${ds}${lt})`,Fn=`(?!${ie}{0,1}${ct})`,$n=`(?!${lt})`,Mn=`[^.${De}]`,Un=`${fs}*?`,hs={DOT_LITERAL:ie,PLUS_LITERAL:Pn,QMARK_LITERAL:On,SLASH_LITERAL:De,ONE_CHAR:Ln,QMARK:fs,END_ANCHOR:ct,DOTS_SLASH:lt,NO_DOT:Hn,NO_DOTS:Dn,NO_DOT_SLASH:Fn,NO_DOTS_SLASH:$n,QMARK_NO_DOT:Mn,STAR:Un,START_ANCHOR:ds},Wn={...hs,SLASH_LITERAL:`[${ne}]`,QMARK:us,STAR:`${us}*?`,DOTS_SLASH:`${ie}{1,2}(?:[${ne}]|$)`,NO_DOT:`(?!${ie})`,NO_DOTS:`(?!(?:^|[${ne}])${ie}{1,2}(?:[${ne}]|$))`,NO_DOT_SLASH:`(?!${ie}{0,1}(?:[${ne}]|$))`,NO_DOTS_SLASH:`(?!${ie}{1,2}(?:[${ne}]|$))`,QMARK_NO_DOT:`[^.${ne}]`,START_ANCHOR:`(?:^|[${ne}])`,END_ANCHOR:`(?:[${ne}]|$)`},Bn={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};ps.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Bn,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Nn.sep,extglobChars(s){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${s.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(s){return s===!0?Wn:hs}}});var Fe=v(Y=>{"use strict";var Gn=H("path"),qn=process.platform==="win32",{REGEX_BACKSLASH:Kn,REGEX_REMOVE_BACKSLASH:jn,REGEX_SPECIAL_CHARS:Vn,REGEX_SPECIAL_CHARS_GLOBAL:Yn}=Re();Y.isObject=s=>s!==null&&typeof s=="object"&&!Array.isArray(s);Y.hasRegexChars=s=>Vn.test(s);Y.isRegexChar=s=>s.length===1&&Y.hasRegexChars(s);Y.escapeRegex=s=>s.replace(Yn,"\\$1");Y.toPosixSlashes=s=>s.replace(Kn,"/");Y.removeBackslashes=s=>s.replace(jn,e=>e==="\\"?"":e);Y.supportsLookbehinds=()=>{let s=process.version.slice(1).split(".").map(Number);return s.length===3&&s[0]>=9||s[0]===8&&s[1]>=10};Y.isWindows=s=>s&&typeof s.windows=="boolean"?s.windows:qn===!0||Gn.sep==="\\";Y.escapeLast=(s,e,t)=>{let r=s.lastIndexOf(e,t);return r===-1?s:s[r-1]==="\\"?Y.escapeLast(s,e,r-1):`${s.slice(0,r)}\\${s.slice(r)}`};Y.removePrefix=(s,e={})=>{let t=s;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};Y.wrapOutput=(s,e={},t={})=>{let r=t.contains?"":"^",n=t.contains?"":"$",o=`${r}(?:${s})${n}`;return e.negated===!0&&(o=`(?:^(?!${o}).*$)`),o}});var As=v((dc,Rs)=>{"use strict";var _s=Fe(),{CHAR_ASTERISK:ut,CHAR_AT:zn,CHAR_BACKWARD_SLASH:Ae,CHAR_COMMA:Xn,CHAR_DOT:ft,CHAR_EXCLAMATION_MARK:dt,CHAR_FORWARD_SLASH:ws,CHAR_LEFT_CURLY_BRACE:ht,CHAR_LEFT_PARENTHESES:pt,CHAR_LEFT_SQUARE_BRACKET:Qn,CHAR_PLUS:Zn,CHAR_QUESTION_MARK:Es,CHAR_RIGHT_CURLY_BRACE:Jn,CHAR_RIGHT_PARENTHESES:gs,CHAR_RIGHT_SQUARE_BRACKET:ei}=Re(),ms=s=>s===ws||s===Ae,ys=s=>{s.isPrefix!==!0&&(s.depth=s.isGlobstar?1/0:1)},ti=(s,e)=>{let t=e||{},r=s.length-1,n=t.parts===!0||t.scanToEnd===!0,o=[],i=[],a=[],c=s,u=-1,f=0,d=0,l=!1,m=!1,y=!1,w=!1,S=!1,x=!1,D=!1,$=!1,te=!1,q=!1,ce=0,K,A,I={value:"",depth:0,isGlob:!1},G=()=>u>=r,_=()=>c.charCodeAt(u+1),L=()=>(K=A,c.charCodeAt(++u));for(;u<r;){A=L();let j;if(A===Ae){D=I.backslashes=!0,A=L(),A===ht&&(x=!0);continue}if(x===!0||A===ht){for(ce++;G()!==!0&&(A=L());){if(A===Ae){D=I.backslashes=!0,L();continue}if(A===ht){ce++;continue}if(x!==!0&&A===ft&&(A=L())===ft){if(l=I.isBrace=!0,y=I.isGlob=!0,q=!0,n===!0)continue;break}if(x!==!0&&A===Xn){if(l=I.isBrace=!0,y=I.isGlob=!0,q=!0,n===!0)continue;break}if(A===Jn&&(ce--,ce===0)){x=!1,l=I.isBrace=!0,q=!0;break}}if(n===!0)continue;break}if(A===ws){if(o.push(u),i.push(I),I={value:"",depth:0,isGlob:!1},q===!0)continue;if(K===ft&&u===f+1){f+=2;continue}d=u+1;continue}if(t.noext!==!0&&(A===Zn||A===zn||A===ut||A===Es||A===dt)===!0&&_()===pt){if(y=I.isGlob=!0,w=I.isExtglob=!0,q=!0,A===dt&&u===f&&(te=!0),n===!0){for(;G()!==!0&&(A=L());){if(A===Ae){D=I.backslashes=!0,A=L();continue}if(A===gs){y=I.isGlob=!0,q=!0;break}}continue}break}if(A===ut){if(K===ut&&(S=I.isGlobstar=!0),y=I.isGlob=!0,q=!0,n===!0)continue;break}if(A===Es){if(y=I.isGlob=!0,q=!0,n===!0)continue;break}if(A===Qn){for(;G()!==!0&&(j=L());){if(j===Ae){D=I.backslashes=!0,L();continue}if(j===ei){m=I.isBracket=!0,y=I.isGlob=!0,q=!0;break}}if(n===!0)continue;break}if(t.nonegate!==!0&&A===dt&&u===f){$=I.negated=!0,f++;continue}if(t.noparen!==!0&&A===pt){if(y=I.isGlob=!0,n===!0){for(;G()!==!0&&(A=L());){if(A===pt){D=I.backslashes=!0,A=L();continue}if(A===gs){q=!0;break}}continue}break}if(y===!0){if(q=!0,n===!0)continue;break}}t.noext===!0&&(w=!1,y=!1);let P=c,le="",h="";f>0&&(le=c.slice(0,f),c=c.slice(f),d-=f),P&&y===!0&&d>0?(P=c.slice(0,d),h=c.slice(d)):y===!0?(P="",h=c):P=c,P&&P!==""&&P!=="/"&&P!==c&&ms(P.charCodeAt(P.length-1))&&(P=P.slice(0,-1)),t.unescape===!0&&(h&&(h=_s.removeBackslashes(h)),P&&D===!0&&(P=_s.removeBackslashes(P)));let p={prefix:le,input:s,start:f,base:P,glob:h,isBrace:l,isBracket:m,isGlob:y,isExtglob:w,isGlobstar:S,negated:$,negatedExtglob:te};if(t.tokens===!0&&(p.maxDepth=0,ms(A)||i.push(I),p.tokens=i),t.parts===!0||t.tokens===!0){let j;for(let b=0;b<o.length;b++){let se=j?j+1:f,re=o[b],z=s.slice(se,re);t.tokens&&(b===0&&f!==0?(i[b].isPrefix=!0,i[b].value=le):i[b].value=z,ys(i[b]),p.maxDepth+=i[b].depth),(b!==0||z!=="")&&a.push(z),j=re}if(j&&j+1<s.length){let b=s.slice(j+1);a.push(b),t.tokens&&(i[i.length-1].value=b,ys(i[i.length-1]),p.maxDepth+=i[i.length-1].depth)}p.slashes=o,p.parts=a}return p};Rs.exports=ti});var Cs=v((hc,Ts)=>{"use strict";var $e=Re(),X=Fe(),{MAX_LENGTH:Me,POSIX_REGEX_SOURCE:si,REGEX_NON_SPECIAL_CHARS:ri,REGEX_SPECIAL_CHARS_BACKREF:ni,REPLACEMENTS:Ss}=$e,ii=(s,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...s,e);s.sort();let t=`[${s.join("-")}]`;try{new RegExp(t)}catch{return s.map(n=>X.escapeRegex(n)).join("..")}return t},Ee=(s,e)=>`Missing ${s}: "${e}" - use "\\\\${e}" to match literal characters`,_t=(s,e)=>{if(typeof s!="string")throw new TypeError("Expected a string");s=Ss[s]||s;let t={...e},r=typeof t.maxLength=="number"?Math.min(Me,t.maxLength):Me,n=s.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);let o={type:"bos",value:"",output:t.prepend||""},i=[o],a=t.capture?"":"?:",c=X.isWindows(e),u=$e.globChars(c),f=$e.extglobChars(u),{DOT_LITERAL:d,PLUS_LITERAL:l,SLASH_LITERAL:m,ONE_CHAR:y,DOTS_SLASH:w,NO_DOT:S,NO_DOT_SLASH:x,NO_DOTS_SLASH:D,QMARK:$,QMARK_NO_DOT:te,STAR:q,START_ANCHOR:ce}=u,K=g=>`(${a}(?:(?!${ce}${g.dot?w:d}).)*?)`,A=t.dot?"":S,I=t.dot?$:te,G=t.bash===!0?K(t):q;t.capture&&(G=`(${G})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let _={input:s,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:i};s=X.removePrefix(s,_),n=s.length;let L=[],P=[],le=[],h=o,p,j=()=>_.index===n-1,b=_.peek=(g=1)=>s[_.index+g],se=_.advance=()=>s[++_.index]||"",re=()=>s.slice(_.index+1),z=(g="",O=0)=>{_.consumed+=g,_.index+=O},Pe=g=>{_.output+=g.output!=null?g.output:g.value,z(g.value)},An=()=>{let g=1;for(;b()==="!"&&(b(2)!=="("||b(3)==="?");)se(),_.start++,g++;return g%2===0?!1:(_.negated=!0,_.start++,!0)},Oe=g=>{_[g]++,le.push(g)},fe=g=>{_[g]--,le.pop()},C=g=>{if(h.type==="globstar"){let O=_.braces>0&&(g.type==="comma"||g.type==="brace"),E=g.extglob===!0||L.length&&(g.type==="pipe"||g.type==="paren");g.type!=="slash"&&g.type!=="paren"&&!O&&!E&&(_.output=_.output.slice(0,-h.output.length),h.type="star",h.value="*",h.output=G,_.output+=h.output)}if(L.length&&g.type!=="paren"&&(L[L.length-1].inner+=g.value),(g.value||g.output)&&Pe(g),h&&h.type==="text"&&g.type==="text"){h.value+=g.value,h.output=(h.output||"")+g.value;return}g.prev=h,i.push(g),h=g},Le=(g,O)=>{let E={...f[O],conditions:1,inner:""};E.prev=h,E.parens=_.parens,E.output=_.output;let T=(t.capture?"(":"")+E.open;Oe("parens"),C({type:g,value:O,output:_.output?"":y}),C({type:"paren",extglob:!0,value:se(),output:T}),L.push(E)},Sn=g=>{let O=g.close+(t.capture?")":""),E;if(g.type==="negate"){let T=G;if(g.inner&&g.inner.length>1&&g.inner.includes("/")&&(T=K(t)),(T!==G||j()||/^\)+$/.test(re()))&&(O=g.close=`)$))${T}`),g.inner.includes("*")&&(E=re())&&/^\.[^\\/.]+$/.test(E)){let F=_t(E,{...e,fastpaths:!1}).output;O=g.close=`)${F})${T})`}g.prev.type==="bos"&&(_.negatedExtglob=!0)}C({type:"paren",extglob:!0,value:p,output:O}),fe("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(s)){let g=!1,O=s.replace(ni,(E,T,F,V,U,at)=>V==="\\"?(g=!0,E):V==="?"?T?T+V+(U?$.repeat(U.length):""):at===0?I+(U?$.repeat(U.length):""):$.repeat(F.length):V==="."?d.repeat(F.length):V==="*"?T?T+V+(U?G:""):G:T?E:`\\${E}`);return g===!0&&(t.unescape===!0?O=O.replace(/\\/g,""):O=O.replace(/\\+/g,E=>E.length%2===0?"\\\\":E?"\\":"")),O===s&&t.contains===!0?(_.output=s,_):(_.output=X.wrapOutput(O,_,e),_)}for(;!j();){if(p=se(),p==="\0")continue;if(p==="\\"){let E=b();if(E==="/"&&t.bash!==!0||E==="."||E===";")continue;if(!E){p+="\\",C({type:"text",value:p});continue}let T=/^\\+/.exec(re()),F=0;if(T&&T[0].length>2&&(F=T[0].length,_.index+=F,F%2!==0&&(p+="\\")),t.unescape===!0?p=se():p+=se(),_.brackets===0){C({type:"text",value:p});continue}}if(_.brackets>0&&(p!=="]"||h.value==="["||h.value==="[^")){if(t.posix!==!1&&p===":"){let E=h.value.slice(1);if(E.includes("[")&&(h.posix=!0,E.includes(":"))){let T=h.value.lastIndexOf("["),F=h.value.slice(0,T),V=h.value.slice(T+2),U=si[V];if(U){h.value=F+U,_.backtrack=!0,se(),!o.output&&i.indexOf(h)===1&&(o.output=y);continue}}}(p==="["&&b()!==":"||p==="-"&&b()==="]")&&(p=`\\${p}`),p==="]"&&(h.value==="["||h.value==="[^")&&(p=`\\${p}`),t.posix===!0&&p==="!"&&h.value==="["&&(p="^"),h.value+=p,Pe({value:p});continue}if(_.quotes===1&&p!=='"'){p=X.escapeRegex(p),h.value+=p,Pe({value:p});continue}if(p==='"'){_.quotes=_.quotes===1?0:1,t.keepQuotes===!0&&C({type:"text",value:p});continue}if(p==="("){Oe("parens"),C({type:"paren",value:p});continue}if(p===")"){if(_.parens===0&&t.strictBrackets===!0)throw new SyntaxError(Ee("opening","("));let E=L[L.length-1];if(E&&_.parens===E.parens+1){Sn(L.pop());continue}C({type:"paren",value:p,output:_.parens?")":"\\)"}),fe("parens");continue}if(p==="["){if(t.nobracket===!0||!re().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(Ee("closing","]"));p=`\\${p}`}else Oe("brackets");C({type:"bracket",value:p});continue}if(p==="]"){if(t.nobracket===!0||h&&h.type==="bracket"&&h.value.length===1){C({type:"text",value:p,output:`\\${p}`});continue}if(_.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(Ee("opening","["));C({type:"text",value:p,output:`\\${p}`});continue}fe("brackets");let E=h.value.slice(1);if(h.posix!==!0&&E[0]==="^"&&!E.includes("/")&&(p=`/${p}`),h.value+=p,Pe({value:p}),t.literalBrackets===!1||X.hasRegexChars(E))continue;let T=X.escapeRegex(h.value);if(_.output=_.output.slice(0,-h.value.length),t.literalBrackets===!0){_.output+=T,h.value=T;continue}h.value=`(${a}${T}|${h.value})`,_.output+=h.value;continue}if(p==="{"&&t.nobrace!==!0){Oe("braces");let E={type:"brace",value:p,output:"(",outputIndex:_.output.length,tokensIndex:_.tokens.length};P.push(E),C(E);continue}if(p==="}"){let E=P[P.length-1];if(t.nobrace===!0||!E){C({type:"text",value:p,output:p});continue}let T=")";if(E.dots===!0){let F=i.slice(),V=[];for(let U=F.length-1;U>=0&&(i.pop(),F[U].type!=="brace");U--)F[U].type!=="dots"&&V.unshift(F[U].value);T=ii(V,t),_.backtrack=!0}if(E.comma!==!0&&E.dots!==!0){let F=_.output.slice(0,E.outputIndex),V=_.tokens.slice(E.tokensIndex);E.value=E.output="\\{",p=T="\\}",_.output=F;for(let U of V)_.output+=U.output||U.value}C({type:"brace",value:p,output:T}),fe("braces"),P.pop();continue}if(p==="|"){L.length>0&&L[L.length-1].conditions++,C({type:"text",value:p});continue}if(p===","){let E=p,T=P[P.length-1];T&&le[le.length-1]==="braces"&&(T.comma=!0,E="|"),C({type:"comma",value:p,output:E});continue}if(p==="/"){if(h.type==="dot"&&_.index===_.start+1){_.start=_.index+1,_.consumed="",_.output="",i.pop(),h=o;continue}C({type:"slash",value:p,output:m});continue}if(p==="."){if(_.braces>0&&h.type==="dot"){h.value==="."&&(h.output=d);let E=P[P.length-1];h.type="dots",h.output+=p,h.value+=p,E.dots=!0;continue}if(_.braces+_.parens===0&&h.type!=="bos"&&h.type!=="slash"){C({type:"text",value:p,output:d});continue}C({type:"dot",value:p,output:d});continue}if(p==="?"){if(!(h&&h.value==="(")&&t.noextglob!==!0&&b()==="("&&b(2)!=="?"){Le("qmark",p);continue}if(h&&h.type==="paren"){let T=b(),F=p;if(T==="<"&&!X.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(h.value==="("&&!/[!=<:]/.test(T)||T==="<"&&!/<([!=]|\w+>)/.test(re()))&&(F=`\\${p}`),C({type:"text",value:p,output:F});continue}if(t.dot!==!0&&(h.type==="slash"||h.type==="bos")){C({type:"qmark",value:p,output:te});continue}C({type:"qmark",value:p,output:$});continue}if(p==="!"){if(t.noextglob!==!0&&b()==="("&&(b(2)!=="?"||!/[!=<:]/.test(b(3)))){Le("negate",p);continue}if(t.nonegate!==!0&&_.index===0){An();continue}}if(p==="+"){if(t.noextglob!==!0&&b()==="("&&b(2)!=="?"){Le("plus",p);continue}if(h&&h.value==="("||t.regex===!1){C({type:"plus",value:p,output:l});continue}if(h&&(h.type==="bracket"||h.type==="paren"||h.type==="brace")||_.parens>0){C({type:"plus",value:p});continue}C({type:"plus",value:l});continue}if(p==="@"){if(t.noextglob!==!0&&b()==="("&&b(2)!=="?"){C({type:"at",extglob:!0,value:p,output:""});continue}C({type:"text",value:p});continue}if(p!=="*"){(p==="$"||p==="^")&&(p=`\\${p}`);let E=ri.exec(re());E&&(p+=E[0],_.index+=E[0].length),C({type:"text",value:p});continue}if(h&&(h.type==="globstar"||h.star===!0)){h.type="star",h.star=!0,h.value+=p,h.output=G,_.backtrack=!0,_.globstar=!0,z(p);continue}let g=re();if(t.noextglob!==!0&&/^\([^?]/.test(g)){Le("star",p);continue}if(h.type==="star"){if(t.noglobstar===!0){z(p);continue}let E=h.prev,T=E.prev,F=E.type==="slash"||E.type==="bos",V=T&&(T.type==="star"||T.type==="globstar");if(t.bash===!0&&(!F||g[0]&&g[0]!=="/")){C({type:"star",value:p,output:""});continue}let U=_.braces>0&&(E.type==="comma"||E.type==="brace"),at=L.length&&(E.type==="pipe"||E.type==="paren");if(!F&&E.type!=="paren"&&!U&&!at){C({type:"star",value:p,output:""});continue}for(;g.slice(0,3)==="/**";){let He=s[_.index+4];if(He&&He!=="/")break;g=g.slice(3),z("/**",3)}if(E.type==="bos"&&j()){h.type="globstar",h.value+=p,h.output=K(t),_.output=h.output,_.globstar=!0,z(p);continue}if(E.type==="slash"&&E.prev.type!=="bos"&&!V&&j()){_.output=_.output.slice(0,-(E.output+h.output).length),E.output=`(?:${E.output}`,h.type="globstar",h.output=K(t)+(t.strictSlashes?")":"|$)"),h.value+=p,_.globstar=!0,_.output+=E.output+h.output,z(p);continue}if(E.type==="slash"&&E.prev.type!=="bos"&&g[0]==="/"){let He=g[1]!==void 0?"|$":"";_.output=_.output.slice(0,-(E.output+h.output).length),E.output=`(?:${E.output}`,h.type="globstar",h.output=`${K(t)}${m}|${m}${He})`,h.value+=p,_.output+=E.output+h.output,_.globstar=!0,z(p+se()),C({type:"slash",value:"/",output:""});continue}if(E.type==="bos"&&g[0]==="/"){h.type="globstar",h.value+=p,h.output=`(?:^|${m}|${K(t)}${m})`,_.output=h.output,_.globstar=!0,z(p+se()),C({type:"slash",value:"/",output:""});continue}_.output=_.output.slice(0,-h.output.length),h.type="globstar",h.output=K(t),h.value+=p,_.output+=h.output,_.globstar=!0,z(p);continue}let O={type:"star",value:p,output:G};if(t.bash===!0){O.output=".*?",(h.type==="bos"||h.type==="slash")&&(O.output=A+O.output),C(O);continue}if(h&&(h.type==="bracket"||h.type==="paren")&&t.regex===!0){O.output=p,C(O);continue}(_.index===_.start||h.type==="slash"||h.type==="dot")&&(h.type==="dot"?(_.output+=x,h.output+=x):t.dot===!0?(_.output+=D,h.output+=D):(_.output+=A,h.output+=A),b()!=="*"&&(_.output+=y,h.output+=y)),C(O)}for(;_.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(Ee("closing","]"));_.output=X.escapeLast(_.output,"["),fe("brackets")}for(;_.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(Ee("closing",")"));_.output=X.escapeLast(_.output,"("),fe("parens")}for(;_.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(Ee("closing","}"));_.output=X.escapeLast(_.output,"{"),fe("braces")}if(t.strictSlashes!==!0&&(h.type==="star"||h.type==="bracket")&&C({type:"maybe_slash",value:"",output:`${m}?`}),_.backtrack===!0){_.output="";for(let g of _.tokens)_.output+=g.output!=null?g.output:g.value,g.suffix&&(_.output+=g.suffix)}return _};_t.fastpaths=(s,e)=>{let t={...e},r=typeof t.maxLength=="number"?Math.min(Me,t.maxLength):Me,n=s.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);s=Ss[s]||s;let o=X.isWindows(e),{DOT_LITERAL:i,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:u,NO_DOT:f,NO_DOTS:d,NO_DOTS_SLASH:l,STAR:m,START_ANCHOR:y}=$e.globChars(o),w=t.dot?d:f,S=t.dot?l:f,x=t.capture?"":"?:",D={negated:!1,prefix:""},$=t.bash===!0?".*?":m;t.capture&&($=`(${$})`);let te=A=>A.noglobstar===!0?$:`(${x}(?:(?!${y}${A.dot?u:i}).)*?)`,q=A=>{switch(A){case"*":return`${w}${c}${$}`;case".*":return`${i}${c}${$}`;case"*.*":return`${w}${$}${i}${c}${$}`;case"*/*":return`${w}${$}${a}${c}${S}${$}`;case"**":return w+te(t);case"**/*":return`(?:${w}${te(t)}${a})?${S}${c}${$}`;case"**/*.*":return`(?:${w}${te(t)}${a})?${S}${$}${i}${c}${$}`;case"**/.*":return`(?:${w}${te(t)}${a})?${i}${c}${$}`;default:{let I=/^(.*?)\.(\w+)$/.exec(A);if(!I)return;let G=q(I[1]);return G?G+i+I[2]:void 0}}},ce=X.removePrefix(s,D),K=q(ce);return K&&t.strictSlashes!==!0&&(K+=`${a}?`),K};Ts.exports=_t});var bs=v((pc,xs)=>{"use strict";var oi=H("path"),ai=As(),Et=Cs(),gt=Fe(),ci=Re(),li=s=>s&&typeof s=="object"&&!Array.isArray(s),M=(s,e,t=!1)=>{if(Array.isArray(s)){let f=s.map(l=>M(l,e,t));return l=>{for(let m of f){let y=m(l);if(y)return y}return!1}}let r=li(s)&&s.tokens&&s.input;if(s===""||typeof s!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},o=gt.isWindows(e),i=r?M.compileRe(s,e):M.makeRe(s,e,!1,!0),a=i.state;delete i.state;let c=()=>!1;if(n.ignore){let f={...e,ignore:null,onMatch:null,onResult:null};c=M(n.ignore,f,t)}let u=(f,d=!1)=>{let{isMatch:l,match:m,output:y}=M.test(f,i,e,{glob:s,posix:o}),w={glob:s,state:a,regex:i,posix:o,input:f,output:y,match:m,isMatch:l};return typeof n.onResult=="function"&&n.onResult(w),l===!1?(w.isMatch=!1,d?w:!1):c(f)?(typeof n.onIgnore=="function"&&n.onIgnore(w),w.isMatch=!1,d?w:!1):(typeof n.onMatch=="function"&&n.onMatch(w),d?w:!0)};return t&&(u.state=a),u};M.test=(s,e,t,{glob:r,posix:n}={})=>{if(typeof s!="string")throw new TypeError("Expected input to be a string");if(s==="")return{isMatch:!1,output:""};let o=t||{},i=o.format||(n?gt.toPosixSlashes:null),a=s===r,c=a&&i?i(s):s;return a===!1&&(c=i?i(s):s,a=c===r),(a===!1||o.capture===!0)&&(o.matchBase===!0||o.basename===!0?a=M.matchBase(s,e,t,n):a=e.exec(c)),{isMatch:!!a,match:a,output:c}};M.matchBase=(s,e,t,r=gt.isWindows(t))=>(e instanceof RegExp?e:M.makeRe(e,t)).test(oi.basename(s));M.isMatch=(s,e,t)=>M(e,t)(s);M.parse=(s,e)=>Array.isArray(s)?s.map(t=>M.parse(t,e)):Et(s,{...e,fastpaths:!1});M.scan=(s,e)=>ai(s,e);M.compileRe=(s,e,t=!1,r=!1)=>{if(t===!0)return s.output;let n=e||{},o=n.contains?"":"^",i=n.contains?"":"$",a=`${o}(?:${s.output})${i}`;s&&s.negated===!0&&(a=`^(?!${a}).*$`);let c=M.toRegex(a,e);return r===!0&&(c.state=s),c};M.makeRe=(s,e={},t=!1,r=!1)=>{if(!s||typeof s!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(s[0]==="."||s[0]==="*")&&(n.output=Et.fastpaths(s,e)),n.output||(n=Et(s,e)),M.compileRe(n,e,t,r)};M.toRegex=(s,e)=>{try{let t=e||{};return new RegExp(s,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};M.constants=ci;xs.exports=M});var mt=v((_c,Is)=>{"use strict";Is.exports=bs()});var Ds=v((Ec,Hs)=>{"use strict";var Te=H("fs"),{Readable:ui}=H("stream"),Se=H("path"),{promisify:Ge}=H("util"),yt=mt(),fi=Ge(Te.readdir),di=Ge(Te.stat),vs=Ge(Te.lstat),hi=Ge(Te.realpath),pi="!",Os="READDIRP_RECURSIVE_ERROR",_i=new Set(["ENOENT","EPERM","EACCES","ELOOP",Os]),wt="files",Ls="directories",We="files_directories",Ue="all",ks=[wt,Ls,We,Ue],Ei=s=>_i.has(s.code),[Ns,gi]=process.versions.node.split(".").slice(0,2).map(s=>Number.parseInt(s,10)),mi=process.platform==="win32"&&(Ns>10||Ns===10&&gi>=5),Ps=s=>{if(s!==void 0){if(typeof s=="function")return s;if(typeof s=="string"){let e=yt(s.trim());return t=>e(t.basename)}if(Array.isArray(s)){let e=[],t=[];for(let r of s){let n=r.trim();n.charAt(0)===pi?t.push(yt(n.slice(1))):e.push(yt(n))}return t.length>0?e.length>0?r=>e.some(n=>n(r.basename))&&!t.some(n=>n(r.basename)):r=>!t.some(n=>n(r.basename)):r=>e.some(n=>n(r.basename))}}},Be=class s extends ui{static get defaultOptions(){return{root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:wt,lstat:!1,depth:2147483648,alwaysStat:!1}}constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark||4096});let t={...s.defaultOptions,...e},{root:r,type:n}=t;this._fileFilter=Ps(t.fileFilter),this._directoryFilter=Ps(t.directoryFilter);let o=t.lstat?vs:di;mi?this._stat=i=>o(i,{bigint:!0}):this._stat=o,this._maxDepth=t.depth,this._wantsDir=[Ls,We,Ue].includes(n),this._wantsFile=[wt,We,Ue].includes(n),this._wantsEverything=n===Ue,this._root=Se.resolve(r),this._isDirent="Dirent"in Te&&!t.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(r,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let{path:t,depth:r,files:n=[]}=this.parent||{};if(n.length>0){let o=n.splice(0,e).map(i=>this._formatEntry(i,t));for(let i of await Promise.all(o)){if(this.destroyed)return;let a=await this._getEntryType(i);a==="directory"&&this._directoryFilter(i)?(r<=this._maxDepth&&this.parents.push(this._exploreDir(i.fullPath,r+1)),this._wantsDir&&(this.push(i),e--)):(a==="file"||this._includeAsFile(i))&&this._fileFilter(i)&&this._wantsFile&&(this.push(i),e--)}}else{let o=this.parents.pop();if(!o){this.push(null);break}if(this.parent=await o,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let r;try{r=await fi(e,this._rdOptions)}catch(n){this._onError(n)}return{files:r,depth:t,path:e}}async _formatEntry(e,t){let r;try{let n=this._isDirent?e.name:e,o=Se.resolve(Se.join(t,n));r={path:Se.relative(this._root,o),fullPath:o,basename:n},r[this._statsProp]=this._isDirent?e:await this._stat(o)}catch(n){this._onError(n)}return r}_onError(e){Ei(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){let t=e&&e[this._statsProp];if(t){if(t.isFile())return"file";if(t.isDirectory())return"directory";if(t&&t.isSymbolicLink()){let r=e.fullPath;try{let n=await hi(r),o=await vs(n);if(o.isFile())return"file";if(o.isDirectory()){let i=n.length;if(r.startsWith(n)&&r.substr(i,1)===Se.sep){let a=new Error(`Circular symlink detected: "${r}" points to "${n}"`);return a.code=Os,this._onError(a)}return"directory"}}catch(n){this._onError(n)}}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}},ge=(s,e={})=>{let t=e.entryType||e.type;if(t==="both"&&(t=We),t&&(e.type=t),s){if(typeof s!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(t&&!ks.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${ks.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=s,new Be(e)},yi=(s,e={})=>new Promise((t,r)=>{let n=[];ge(s,e).on("data",o=>n.push(o)).on("end",()=>t(n)).on("error",o=>r(o))});ge.promise=yi;ge.ReaddirpStream=Be;ge.default=ge;Hs.exports=ge});var Rt=v((gc,Fs)=>{Fs.exports=function(s,e){if(typeof s!="string")throw new TypeError("expected path to be a string");if(s==="\\"||s==="/")return"/";var t=s.length;if(t<=1)return s;var r="";if(t>4&&s[3]==="\\"){var n=s[2];(n==="?"||n===".")&&s.slice(0,2)==="\\\\"&&(s=s.slice(2),r="//")}var o=s.split(/[/\\]+/);return e!==!1&&o[o.length-1]===""&&o.pop(),r+o.join("/")}});var Gs=v((Ws,Bs)=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});var Us=mt(),wi=Rt(),$s="!",Ri={returnIndex:!1},Ai=s=>Array.isArray(s)?s:[s],Si=(s,e)=>{if(typeof s=="function")return s;if(typeof s=="string"){let t=Us(s,e);return r=>s===r||t(r)}return s instanceof RegExp?t=>s.test(t):t=>!1},Ms=(s,e,t,r)=>{let n=Array.isArray(t),o=n?t[0]:t;if(!n&&typeof o!="string")throw new TypeError("anymatch: second argument must be a string: got "+Object.prototype.toString.call(o));let i=wi(o,!1);for(let c=0;c<e.length;c++){let u=e[c];if(u(i))return r?-1:!1}let a=n&&[i].concat(t.slice(1));for(let c=0;c<s.length;c++){let u=s[c];if(n?u(...a):u(i))return r?c:!0}return r?-1:!1},At=(s,e,t=Ri)=>{if(s==null)throw new TypeError("anymatch: specify first argument");let r=typeof t=="boolean"?{returnIndex:t}:t,n=r.returnIndex||!1,o=Ai(s),i=o.filter(c=>typeof c=="string"&&c.charAt(0)===$s).map(c=>c.slice(1)).map(c=>Us(c,r)),a=o.filter(c=>typeof c!="string"||typeof c=="string"&&c.charAt(0)!==$s).map(c=>Si(c,r));return e==null?(c,u=!1)=>Ms(a,i,c,typeof u=="boolean"?u:!1):Ms(a,i,e,n)};At.default=At;Bs.exports=At});var Ks=v((mc,qs)=>{qs.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var St=v((yc,Vs)=>{var Ti=Ks(),js={"{":"}","(":")","[":"]"},Ci=function(s){if(s[0]==="!")return!0;for(var e=0,t=-2,r=-2,n=-2,o=-2,i=-2;e<s.length;){if(s[e]==="*"||s[e+1]==="?"&&/[\].+)]/.test(s[e])||r!==-1&&s[e]==="["&&s[e+1]!=="]"&&(r<e&&(r=s.indexOf("]",e)),r>e&&(i===-1||i>r||(i=s.indexOf("\\",e),i===-1||i>r)))||n!==-1&&s[e]==="{"&&s[e+1]!=="}"&&(n=s.indexOf("}",e),n>e&&(i=s.indexOf("\\",e),i===-1||i>n))||o!==-1&&s[e]==="("&&s[e+1]==="?"&&/[:!=]/.test(s[e+2])&&s[e+3]!==")"&&(o=s.indexOf(")",e),o>e&&(i=s.indexOf("\\",e),i===-1||i>o))||t!==-1&&s[e]==="("&&s[e+1]!=="|"&&(t<e&&(t=s.indexOf("|",e)),t!==-1&&s[t+1]!==")"&&(o=s.indexOf(")",t),o>t&&(i=s.indexOf("\\",t),i===-1||i>o))))return!0;if(s[e]==="\\"){var a=s[e+1];e+=2;var c=js[a];if(c){var u=s.indexOf(c,e);u!==-1&&(e=u+1)}if(s[e]==="!")return!0}else e++}return!1},xi=function(s){if(s[0]==="!")return!0;for(var e=0;e<s.length;){if(/[*?{}()[\]]/.test(s[e]))return!0;if(s[e]==="\\"){var t=s[e+1];e+=2;var r=js[t];if(r){var n=s.indexOf(r,e);n!==-1&&(e=n+1)}if(s[e]==="!")return!0}else e++}return!1};Vs.exports=function(e,t){if(typeof e!="string"||e==="")return!1;if(Ti(e))return!0;var r=Ci;return t&&t.strict===!1&&(r=xi),r(e)}});var zs=v((wc,Ys)=>{"use strict";var bi=St(),Ii=H("path").posix.dirname,vi=H("os").platform()==="win32",Tt="/",ki=/\\/g,Ni=/[\{\[].*[\}\]]$/,Pi=/(^|[^\\])([\{\[]|\([^\)]+$)/,Oi=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Ys.exports=function(e,t){var r=Object.assign({flipBackslashes:!0},t);r.flipBackslashes&&vi&&e.indexOf(Tt)<0&&(e=e.replace(ki,Tt)),Ni.test(e)&&(e+=Tt),e+="a";do e=Ii(e);while(bi(e)||Pi.test(e));return e.replace(Oi,"$1")}});var qe=v(Z=>{"use strict";Z.isInteger=s=>typeof s=="number"?Number.isInteger(s):typeof s=="string"&&s.trim()!==""?Number.isInteger(Number(s)):!1;Z.find=(s,e)=>s.nodes.find(t=>t.type===e);Z.exceedsLimit=(s,e,t=1,r)=>r===!1||!Z.isInteger(s)||!Z.isInteger(e)?!1:(Number(e)-Number(s))/Number(t)>=r;Z.escapeNode=(s,e=0,t)=>{let r=s.nodes[e];r&&(t&&r.type===t||r.type==="open"||r.type==="close")&&r.escaped!==!0&&(r.value="\\"+r.value,r.escaped=!0)};Z.encloseBrace=s=>s.type!=="brace"||s.commas>>0+s.ranges>>0?!1:(s.invalid=!0,!0);Z.isInvalidBrace=s=>s.type!=="brace"?!1:s.invalid===!0||s.dollar?!0:!(s.commas>>0+s.ranges>>0)||s.open!==!0||s.close!==!0?(s.invalid=!0,!0):!1;Z.isOpenOrClose=s=>s.type==="open"||s.type==="close"?!0:s.open===!0||s.close===!0;Z.reduce=s=>s.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);Z.flatten=(...s)=>{let e=[],t=r=>{for(let n=0;n<r.length;n++){let o=r[n];Array.isArray(o)?t(o,e):o!==void 0&&e.push(o)}return e};return t(s),e}});var Ke=v((Ac,Qs)=>{"use strict";var Xs=qe();Qs.exports=(s,e={})=>{let t=(r,n={})=>{let o=e.escapeInvalid&&Xs.isInvalidBrace(n),i=r.invalid===!0&&e.escapeInvalid===!0,a="";if(r.value)return(o||i)&&Xs.isOpenOrClose(r)?"\\"+r.value:r.value;if(r.value)return r.value;if(r.nodes)for(let c of r.nodes)a+=t(c);return a};return t(s)}});var Js=v((Sc,Zs)=>{"use strict";Zs.exports=function(s){return typeof s=="number"?s-s===0:typeof s=="string"&&s.trim()!==""?Number.isFinite?Number.isFinite(+s):isFinite(+s):!1}});var cr=v((Tc,ar)=>{"use strict";var er=Js(),de=(s,e,t)=>{if(er(s)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||s===e)return String(s);if(er(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let r={relaxZeros:!0,...t};typeof r.strictZeros=="boolean"&&(r.relaxZeros=r.strictZeros===!1);let n=String(r.relaxZeros),o=String(r.shorthand),i=String(r.capture),a=String(r.wrap),c=s+":"+e+"="+n+o+i+a;if(de.cache.hasOwnProperty(c))return de.cache[c].result;let u=Math.min(s,e),f=Math.max(s,e);if(Math.abs(u-f)===1){let w=s+"|"+e;return r.capture?`(${w})`:r.wrap===!1?w:`(?:${w})`}let d=or(s)||or(e),l={min:s,max:e,a:u,b:f},m=[],y=[];if(d&&(l.isPadded=d,l.maxLen=String(l.max).length),u<0){let w=f<0?Math.abs(f):1;y=tr(w,Math.abs(u),l,r),u=l.a=0}return f>=0&&(m=tr(u,f,l,r)),l.negatives=y,l.positives=m,l.result=Li(y,m,r),r.capture===!0?l.result=`(${l.result})`:r.wrap!==!1&&m.length+y.length>1&&(l.result=`(?:${l.result})`),de.cache[c]=l,l.result};function Li(s,e,t){let r=Ct(s,e,"-",!1,t)||[],n=Ct(e,s,"",!1,t)||[],o=Ct(s,e,"-?",!0,t)||[];return r.concat(o).concat(n).join("|")}function Hi(s,e){let t=1,r=1,n=rr(s,t),o=new Set([e]);for(;s<=n&&n<=e;)o.add(n),t+=1,n=rr(s,t);for(n=nr(e+1,r)-1;s<n&&n<=e;)o.add(n),r+=1,n=nr(e+1,r)-1;return o=[...o],o.sort($i),o}function Di(s,e,t){if(s===e)return{pattern:s,count:[],digits:0};let r=Fi(s,e),n=r.length,o="",i=0;for(let a=0;a<n;a++){let[c,u]=r[a];c===u?o+=c:c!=="0"||u!=="9"?o+=Mi(c,u,t):i++}return i&&(o+=t.shorthand===!0?"\\d":"[0-9]"),{pattern:o,count:[i],digits:n}}function tr(s,e,t,r){let n=Hi(s,e),o=[],i=s,a;for(let c=0;c<n.length;c++){let u=n[c],f=Di(String(i),String(u),r),d="";if(!t.isPadded&&a&&a.pattern===f.pattern){a.count.length>1&&a.count.pop(),a.count.push(f.count[0]),a.string=a.pattern+ir(a.count),i=u+1;continue}t.isPadded&&(d=Ui(u,t,r)),f.string=d+f.pattern+ir(f.count),o.push(f),i=u+1,a=f}return o}function Ct(s,e,t,r,n){let o=[];for(let i of s){let{string:a}=i;!r&&!sr(e,"string",a)&&o.push(t+a),r&&sr(e,"string",a)&&o.push(t+a)}return o}function Fi(s,e){let t=[];for(let r=0;r<s.length;r++)t.push([s[r],e[r]]);return t}function $i(s,e){return s>e?1:e>s?-1:0}function sr(s,e,t){return s.some(r=>r[e]===t)}function rr(s,e){return Number(String(s).slice(0,-e)+"9".repeat(e))}function nr(s,e){return s-s%Math.pow(10,e)}function ir(s){let[e=0,t=""]=s;return t||e>1?`{${e+(t?","+t:"")}}`:""}function Mi(s,e,t){return`[${s}${e-s===1?"":"-"}${e}]`}function or(s){return/^-?(0+)\d/.test(s)}function Ui(s,e,t){if(!e.isPadded)return s;let r=Math.abs(e.maxLen-String(s).length),n=t.relaxZeros!==!1;switch(r){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${r}}`:`0{${r}}`}}de.cache={};de.clearCache=()=>de.cache={};ar.exports=de});var It=v((Cc,Er)=>{"use strict";var Wi=H("util"),fr=cr(),lr=s=>s!==null&&typeof s=="object"&&!Array.isArray(s),Bi=s=>e=>s===!0?Number(e):String(e),xt=s=>typeof s=="number"||typeof s=="string"&&s!=="",Ce=s=>Number.isInteger(+s),bt=s=>{let e=`${s}`,t=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++t]==="0";);return t>0},Gi=(s,e,t)=>typeof s=="string"||typeof e=="string"?!0:t.stringify===!0,qi=(s,e,t)=>{if(e>0){let r=s[0]==="-"?"-":"";r&&(s=s.slice(1)),s=r+s.padStart(r?e-1:e,"0")}return t===!1?String(s):s},ur=(s,e)=>{let t=s[0]==="-"?"-":"";for(t&&(s=s.slice(1),e--);s.length<e;)s="0"+s;return t?"-"+s:s},Ki=(s,e)=>{s.negatives.sort((i,a)=>i<a?-1:i>a?1:0),s.positives.sort((i,a)=>i<a?-1:i>a?1:0);let t=e.capture?"":"?:",r="",n="",o;return s.positives.length&&(r=s.positives.join("|")),s.negatives.length&&(n=`-(${t}${s.negatives.join("|")})`),r&&n?o=`${r}|${n}`:o=r||n,e.wrap?`(${t}${o})`:o},dr=(s,e,t,r)=>{if(t)return fr(s,e,{wrap:!1,...r});let n=String.fromCharCode(s);if(s===e)return n;let o=String.fromCharCode(e);return`[${n}-${o}]`},hr=(s,e,t)=>{if(Array.isArray(s)){let r=t.wrap===!0,n=t.capture?"":"?:";return r?`(${n}${s.join("|")})`:s.join("|")}return fr(s,e,t)},pr=(...s)=>new RangeError("Invalid range arguments: "+Wi.inspect(...s)),_r=(s,e,t)=>{if(t.strictRanges===!0)throw pr([s,e]);return[]},ji=(s,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${s}" to be a number`);return[]},Vi=(s,e,t=1,r={})=>{let n=Number(s),o=Number(e);if(!Number.isInteger(n)||!Number.isInteger(o)){if(r.strictRanges===!0)throw pr([s,e]);return[]}n===0&&(n=0),o===0&&(o=0);let i=n>o,a=String(s),c=String(e),u=String(t);t=Math.max(Math.abs(t),1);let f=bt(a)||bt(c)||bt(u),d=f?Math.max(a.length,c.length,u.length):0,l=f===!1&&Gi(s,e,r)===!1,m=r.transform||Bi(l);if(r.toRegex&&t===1)return dr(ur(s,d),ur(e,d),!0,r);let y={negatives:[],positives:[]},w=D=>y[D<0?"negatives":"positives"].push(Math.abs(D)),S=[],x=0;for(;i?n>=o:n<=o;)r.toRegex===!0&&t>1?w(n):S.push(qi(m(n,x),d,l)),n=i?n-t:n+t,x++;return r.toRegex===!0?t>1?Ki(y,r):hr(S,null,{wrap:!1,...r}):S},Yi=(s,e,t=1,r={})=>{if(!Ce(s)&&s.length>1||!Ce(e)&&e.length>1)return _r(s,e,r);let n=r.transform||(l=>String.fromCharCode(l)),o=`${s}`.charCodeAt(0),i=`${e}`.charCodeAt(0),a=o>i,c=Math.min(o,i),u=Math.max(o,i);if(r.toRegex&&t===1)return dr(c,u,!1,r);let f=[],d=0;for(;a?o>=i:o<=i;)f.push(n(o,d)),o=a?o-t:o+t,d++;return r.toRegex===!0?hr(f,null,{wrap:!1,options:r}):f},je=(s,e,t,r={})=>{if(e==null&&xt(s))return[s];if(!xt(s)||!xt(e))return _r(s,e,r);if(typeof t=="function")return je(s,e,1,{transform:t});if(lr(t))return je(s,e,0,t);let n={...r};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Ce(t)?Ce(s)&&Ce(e)?Vi(s,e,t,n):Yi(s,e,Math.max(Math.abs(t),1),n):t!=null&&!lr(t)?ji(t,n):je(s,e,1,t)};Er.exports=je});var yr=v((xc,mr)=>{"use strict";var zi=It(),gr=qe(),Xi=(s,e={})=>{let t=(r,n={})=>{let o=gr.isInvalidBrace(n),i=r.invalid===!0&&e.escapeInvalid===!0,a=o===!0||i===!0,c=e.escapeInvalid===!0?"\\":"",u="";if(r.isOpen===!0||r.isClose===!0)return c+r.value;if(r.type==="open")return a?c+r.value:"(";if(r.type==="close")return a?c+r.value:")";if(r.type==="comma")return r.prev.type==="comma"?"":a?r.value:"|";if(r.value)return r.value;if(r.nodes&&r.ranges>0){let f=gr.reduce(r.nodes),d=zi(...f,{...e,wrap:!1,toRegex:!0});if(d.length!==0)return f.length>1&&d.length>1?`(${d})`:d}if(r.nodes)for(let f of r.nodes)u+=t(f,r);return u};return t(s)};mr.exports=Xi});var Ar=v((bc,Rr)=>{"use strict";var Qi=It(),wr=Ke(),me=qe(),he=(s="",e="",t=!1)=>{let r=[];if(s=[].concat(s),e=[].concat(e),!e.length)return s;if(!s.length)return t?me.flatten(e).map(n=>`{${n}}`):e;for(let n of s)if(Array.isArray(n))for(let o of n)r.push(he(o,e,t));else for(let o of e)t===!0&&typeof o=="string"&&(o=`{${o}}`),r.push(Array.isArray(o)?he(n,o,t):n+o);return me.flatten(r)},Zi=(s,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,r=(n,o={})=>{n.queue=[];let i=o,a=o.queue;for(;i.type!=="brace"&&i.type!=="root"&&i.parent;)i=i.parent,a=i.queue;if(n.invalid||n.dollar){a.push(he(a.pop(),wr(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(he(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let d=me.reduce(n.nodes);if(me.exceedsLimit(...d,e.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let l=Qi(...d,e);l.length===0&&(l=wr(n,e)),a.push(he(a.pop(),l)),n.nodes=[];return}let c=me.encloseBrace(n),u=n.queue,f=n;for(;f.type!=="brace"&&f.type!=="root"&&f.parent;)f=f.parent,u=f.queue;for(let d=0;d<n.nodes.length;d++){let l=n.nodes[d];if(l.type==="comma"&&n.type==="brace"){d===1&&u.push(""),u.push("");continue}if(l.type==="close"){a.push(he(a.pop(),u,c));continue}if(l.value&&l.type!=="open"){u.push(he(u.pop(),l.value));continue}l.nodes&&r(l,n)}return u};return me.flatten(r(s))};Rr.exports=Zi});var Tr=v((Ic,Sr)=>{"use strict";Sr.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
2
+ `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var vr=v((vc,Ir)=>{"use strict";var Ji=Ke(),{MAX_LENGTH:Cr,CHAR_BACKSLASH:vt,CHAR_BACKTICK:eo,CHAR_COMMA:to,CHAR_DOT:so,CHAR_LEFT_PARENTHESES:ro,CHAR_RIGHT_PARENTHESES:no,CHAR_LEFT_CURLY_BRACE:io,CHAR_RIGHT_CURLY_BRACE:oo,CHAR_LEFT_SQUARE_BRACKET:xr,CHAR_RIGHT_SQUARE_BRACKET:br,CHAR_DOUBLE_QUOTE:ao,CHAR_SINGLE_QUOTE:co,CHAR_NO_BREAK_SPACE:lo,CHAR_ZERO_WIDTH_NOBREAK_SPACE:uo}=Tr(),fo=(s,e={})=>{if(typeof s!="string")throw new TypeError("Expected a string");let t=e||{},r=typeof t.maxLength=="number"?Math.min(Cr,t.maxLength):Cr;if(s.length>r)throw new SyntaxError(`Input length (${s.length}), exceeds max characters (${r})`);let n={type:"root",input:s,nodes:[]},o=[n],i=n,a=n,c=0,u=s.length,f=0,d=0,l,m={},y=()=>s[f++],w=S=>{if(S.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&S.type==="text"){a.value+=S.value;return}return i.nodes.push(S),S.parent=i,S.prev=a,a=S,S};for(w({type:"bos"});f<u;)if(i=o[o.length-1],l=y(),!(l===uo||l===lo)){if(l===vt){w({type:"text",value:(e.keepEscaping?l:"")+y()});continue}if(l===br){w({type:"text",value:"\\"+l});continue}if(l===xr){c++;let S=!0,x;for(;f<u&&(x=y());){if(l+=x,x===xr){c++;continue}if(x===vt){l+=y();continue}if(x===br&&(c--,c===0))break}w({type:"text",value:l});continue}if(l===ro){i=w({type:"paren",nodes:[]}),o.push(i),w({type:"text",value:l});continue}if(l===no){if(i.type!=="paren"){w({type:"text",value:l});continue}i=o.pop(),w({type:"text",value:l}),i=o[o.length-1];continue}if(l===ao||l===co||l===eo){let S=l,x;for(e.keepQuotes!==!0&&(l="");f<u&&(x=y());){if(x===vt){l+=x+y();continue}if(x===S){e.keepQuotes===!0&&(l+=x);break}l+=x}w({type:"text",value:l});continue}if(l===io){d++;let x={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||i.dollar===!0,depth:d,commas:0,ranges:0,nodes:[]};i=w(x),o.push(i),w({type:"open",value:l});continue}if(l===oo){if(i.type!=="brace"){w({type:"text",value:l});continue}let S="close";i=o.pop(),i.close=!0,w({type:S,value:l}),d--,i=o[o.length-1];continue}if(l===to&&d>0){if(i.ranges>0){i.ranges=0;let S=i.nodes.shift();i.nodes=[S,{type:"text",value:Ji(i)}]}w({type:"comma",value:l}),i.commas++;continue}if(l===so&&d>0&&i.commas===0){let S=i.nodes;if(d===0||S.length===0){w({type:"text",value:l});continue}if(a.type==="dot"){if(i.range=[],a.value+=l,a.type="range",i.nodes.length!==3&&i.nodes.length!==5){i.invalid=!0,i.ranges=0,a.type="text";continue}i.ranges++,i.args=[];continue}if(a.type==="range"){S.pop();let x=S[S.length-1];x.value+=a.value+l,a=x,i.ranges--;continue}w({type:"dot",value:l});continue}w({type:"text",value:l})}do if(i=o.pop(),i.type!=="root"){i.nodes.forEach(D=>{D.nodes||(D.type==="open"&&(D.isOpen=!0),D.type==="close"&&(D.isClose=!0),D.nodes||(D.type="text"),D.invalid=!0)});let S=o[o.length-1],x=S.nodes.indexOf(i);S.nodes.splice(x,1,...i.nodes)}while(o.length>0);return w({type:"eos"}),n};Ir.exports=fo});var Pr=v((kc,Nr)=>{"use strict";var kr=Ke(),ho=yr(),po=Ar(),_o=vr(),Q=(s,e={})=>{let t=[];if(Array.isArray(s))for(let r of s){let n=Q.create(r,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Q.create(s,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Q.parse=(s,e={})=>_o(s,e);Q.stringify=(s,e={})=>kr(typeof s=="string"?Q.parse(s,e):s,e);Q.compile=(s,e={})=>(typeof s=="string"&&(s=Q.parse(s,e)),ho(s,e));Q.expand=(s,e={})=>{typeof s=="string"&&(s=Q.parse(s,e));let t=po(s,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Q.create=(s,e={})=>s===""||s.length<3?[s]:e.expand!==!0?Q.compile(s,e):Q.expand(s,e);Nr.exports=Q});var Or=v((Nc,Eo)=>{Eo.exports=["3dm","3ds","3g2","3gp","7z","a","aac","adp","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]});var Hr=v((Pc,Lr)=>{Lr.exports=Or()});var Fr=v((Oc,Dr)=>{"use strict";var go=H("path"),mo=Hr(),yo=new Set(mo);Dr.exports=s=>yo.has(go.extname(s).slice(1).toLowerCase())});var Ve=v(R=>{"use strict";var{sep:wo}=H("path"),{platform:kt}=process,Ro=H("os");R.EV_ALL="all";R.EV_READY="ready";R.EV_ADD="add";R.EV_CHANGE="change";R.EV_ADD_DIR="addDir";R.EV_UNLINK="unlink";R.EV_UNLINK_DIR="unlinkDir";R.EV_RAW="raw";R.EV_ERROR="error";R.STR_DATA="data";R.STR_END="end";R.STR_CLOSE="close";R.FSEVENT_CREATED="created";R.FSEVENT_MODIFIED="modified";R.FSEVENT_DELETED="deleted";R.FSEVENT_MOVED="moved";R.FSEVENT_CLONED="cloned";R.FSEVENT_UNKNOWN="unknown";R.FSEVENT_TYPE_FILE="file";R.FSEVENT_TYPE_DIRECTORY="directory";R.FSEVENT_TYPE_SYMLINK="symlink";R.KEY_LISTENERS="listeners";R.KEY_ERR="errHandlers";R.KEY_RAW="rawEmitters";R.HANDLER_KEYS=[R.KEY_LISTENERS,R.KEY_ERR,R.KEY_RAW];R.DOT_SLASH=`.${wo}`;R.BACK_SLASH_RE=/\\/g;R.DOUBLE_SLASH_RE=/\/\//;R.SLASH_OR_BACK_SLASH_RE=/[/\\]/;R.DOT_RE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/;R.REPLACER_RE=/^\.[/\\]/;R.SLASH="/";R.SLASH_SLASH="//";R.BRACE_START="{";R.BANG="!";R.ONE_DOT=".";R.TWO_DOTS="..";R.STAR="*";R.GLOBSTAR="**";R.ROOT_GLOBSTAR="/**/*";R.SLASH_GLOBSTAR="/**";R.DIR_SUFFIX="Dir";R.ANYMATCH_OPTS={dot:!0};R.STRING_TYPE="string";R.FUNCTION_TYPE="function";R.EMPTY_STR="";R.EMPTY_FN=()=>{};R.IDENTITY_FN=s=>s;R.isWindows=kt==="win32";R.isMacos=kt==="darwin";R.isLinux=kt==="linux";R.isIBMi=Ro.type()==="OS400"});var Gr=v((Hc,Br)=>{"use strict";var oe=H("fs"),W=H("path"),{promisify:ve}=H("util"),Ao=Fr(),{isWindows:So,isLinux:To,EMPTY_FN:Co,EMPTY_STR:xo,KEY_LISTENERS:ye,KEY_ERR:Nt,KEY_RAW:xe,HANDLER_KEYS:bo,EV_CHANGE:ze,EV_ADD:Ye,EV_ADD_DIR:Io,EV_ERROR:Mr,STR_DATA:vo,STR_END:ko,BRACE_START:No,STAR:Po}=Ve(),Oo="watch",Lo=ve(oe.open),Ur=ve(oe.stat),Ho=ve(oe.lstat),Do=ve(oe.close),Pt=ve(oe.realpath),Fo={lstat:Ho,stat:Ur},Lt=(s,e)=>{s instanceof Set?s.forEach(e):e(s)},be=(s,e,t)=>{let r=s[e];r instanceof Set||(s[e]=r=new Set([r])),r.add(t)},$o=s=>e=>{let t=s[e];t instanceof Set?t.clear():delete s[e]},Ie=(s,e,t)=>{let r=s[e];r instanceof Set?r.delete(t):r===t&&delete s[e]},Wr=s=>s instanceof Set?s.size===0:!s,Xe=new Map;function $r(s,e,t,r,n){let o=(i,a)=>{t(s),n(i,a,{watchedPath:s}),a&&s!==a&&Qe(W.resolve(s,a),ye,W.join(s,a))};try{return oe.watch(s,e,o)}catch(i){r(i)}}var Qe=(s,e,t,r,n)=>{let o=Xe.get(s);o&&Lt(o[e],i=>{i(t,r,n)})},Mo=(s,e,t,r)=>{let{listener:n,errHandler:o,rawEmitter:i}=r,a=Xe.get(e),c;if(!t.persistent)return c=$r(s,t,n,o,i),c.close.bind(c);if(a)be(a,ye,n),be(a,Nt,o),be(a,xe,i);else{if(c=$r(s,t,Qe.bind(null,e,ye),o,Qe.bind(null,e,xe)),!c)return;c.on(Mr,async u=>{let f=Qe.bind(null,e,Nt);if(a.watcherUnusable=!0,So&&u.code==="EPERM")try{let d=await Lo(s,"r");await Do(d),f(u)}catch{}else f(u)}),a={listeners:n,errHandlers:o,rawEmitters:i,watcher:c},Xe.set(e,a)}return()=>{Ie(a,ye,n),Ie(a,Nt,o),Ie(a,xe,i),Wr(a.listeners)&&(a.watcher.close(),Xe.delete(e),bo.forEach($o(a)),a.watcher=void 0,Object.freeze(a))}},Ot=new Map,Uo=(s,e,t,r)=>{let{listener:n,rawEmitter:o}=r,i=Ot.get(e),a=new Set,c=new Set,u=i&&i.options;return u&&(u.persistent<t.persistent||u.interval>t.interval)&&(a=i.listeners,c=i.rawEmitters,oe.unwatchFile(e),i=void 0),i?(be(i,ye,n),be(i,xe,o)):(i={listeners:n,rawEmitters:o,options:t,watcher:oe.watchFile(e,t,(f,d)=>{Lt(i.rawEmitters,m=>{m(ze,e,{curr:f,prev:d})});let l=f.mtimeMs;(f.size!==d.size||l>d.mtimeMs||l===0)&&Lt(i.listeners,m=>m(s,f))})},Ot.set(e,i)),()=>{Ie(i,ye,n),Ie(i,xe,o),Wr(i.listeners)&&(Ot.delete(e),oe.unwatchFile(e),i.options=i.watcher=void 0,Object.freeze(i))}},Ht=class{constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let r=this.fsw.options,n=W.dirname(e),o=W.basename(e);this.fsw._getWatchedDir(n).add(o);let a=W.resolve(e),c={persistent:r.persistent};t||(t=Co);let u;return r.usePolling?(c.interval=r.enableBinaryInterval&&Ao(o)?r.binaryInterval:r.interval,u=Uo(e,a,c,{listener:t,rawEmitter:this.fsw._emitRaw})):u=Mo(e,a,c,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),u}_handleFile(e,t,r){if(this.fsw.closed)return;let n=W.dirname(e),o=W.basename(e),i=this.fsw._getWatchedDir(n),a=t;if(i.has(o))return;let c=async(f,d)=>{if(this.fsw._throttle(Oo,e,5)){if(!d||d.mtimeMs===0)try{let l=await Ur(e);if(this.fsw.closed)return;let m=l.atimeMs,y=l.mtimeMs;(!m||m<=y||y!==a.mtimeMs)&&this.fsw._emit(ze,e,l),To&&a.ino!==l.ino?(this.fsw._closeFile(f),a=l,this.fsw._addPathCloser(f,this._watchWithNodeFs(e,c))):a=l}catch{this.fsw._remove(n,o)}else if(i.has(o)){let l=d.atimeMs,m=d.mtimeMs;(!l||l<=m||m!==a.mtimeMs)&&this.fsw._emit(ze,e,d),a=d}}},u=this._watchWithNodeFs(e,c);if(!(r&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(Ye,e,0))return;this.fsw._emit(Ye,e,t)}return u}async _handleSymlink(e,t,r,n){if(this.fsw.closed)return;let o=e.fullPath,i=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await Pt(r)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(i.has(n)?this.fsw._symlinkPaths.get(o)!==a&&(this.fsw._symlinkPaths.set(o,a),this.fsw._emit(ze,r,e.stats)):(i.add(n),this.fsw._symlinkPaths.set(o,a),this.fsw._emit(Ye,r,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(o))return!0;this.fsw._symlinkPaths.set(o,!0)}_handleRead(e,t,r,n,o,i,a){if(e=W.join(e,xo),!r.hasGlob&&(a=this.fsw._throttle("readdir",e,1e3),!a))return;let c=this.fsw._getWatchedDir(r.path),u=new Set,f=this.fsw._readdirp(e,{fileFilter:d=>r.filterPath(d),directoryFilter:d=>r.filterDir(d),depth:0}).on(vo,async d=>{if(this.fsw.closed){f=void 0;return}let l=d.path,m=W.join(e,l);if(u.add(l),!(d.stats.isSymbolicLink()&&await this._handleSymlink(d,e,m,l))){if(this.fsw.closed){f=void 0;return}(l===n||!n&&!c.has(l))&&(this.fsw._incrReadyCount(),m=W.join(o,W.relative(o,m)),this._addToNodeFs(m,t,r,i+1))}}).on(Mr,this._boundHandleError);return new Promise(d=>f.once(ko,()=>{if(this.fsw.closed){f=void 0;return}let l=a?a.clear():!1;d(),c.getChildren().filter(m=>m!==e&&!u.has(m)&&(!r.hasGlob||r.filterPath({fullPath:W.resolve(e,m)}))).forEach(m=>{this.fsw._remove(e,m)}),f=void 0,l&&this._handleRead(e,!1,r,n,o,i,a)}))}async _handleDir(e,t,r,n,o,i,a){let c=this.fsw._getWatchedDir(W.dirname(e)),u=c.has(W.basename(e));!(r&&this.fsw.options.ignoreInitial)&&!o&&!u&&(!i.hasGlob||i.globFilter(e))&&this.fsw._emit(Io,e,t),c.add(W.basename(e)),this.fsw._getWatchedDir(e);let f,d,l=this.fsw.options.depth;if((l==null||n<=l)&&!this.fsw._symlinkPaths.has(a)){if(!o&&(await this._handleRead(e,r,i,o,e,n,f),this.fsw.closed))return;d=this._watchWithNodeFs(e,(m,y)=>{y&&y.mtimeMs===0||this._handleRead(m,!1,i,o,e,n,f)})}return d}async _addToNodeFs(e,t,r,n,o){let i=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return i(),!1;let a=this.fsw._getWatchHelpers(e,n);!a.hasGlob&&r&&(a.hasGlob=r.hasGlob,a.globFilter=r.globFilter,a.filterPath=c=>r.filterPath(c),a.filterDir=c=>r.filterDir(c));try{let c=await Fo[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))return i(),!1;let u=this.fsw.options.followSymlinks&&!e.includes(Po)&&!e.includes(No),f;if(c.isDirectory()){let d=W.resolve(e),l=u?await Pt(e):e;if(this.fsw.closed||(f=await this._handleDir(a.watchPath,c,t,n,o,a,l),this.fsw.closed))return;d!==l&&l!==void 0&&this.fsw._symlinkPaths.set(d,l)}else if(c.isSymbolicLink()){let d=u?await Pt(e):e;if(this.fsw.closed)return;let l=W.dirname(a.watchPath);if(this.fsw._getWatchedDir(l).add(a.watchPath),this.fsw._emit(Ye,a.watchPath,c),f=await this._handleDir(l,c,t,n,e,a,d),this.fsw.closed)return;d!==void 0&&this.fsw._symlinkPaths.set(W.resolve(e),d)}else f=this._handleFile(a.watchPath,c,t);return i(),this.fsw._addPathCloser(e,f),!1}catch(c){if(this.fsw._handleError(c))return i(),e}}};Br.exports=Ht});var Xr=v((Dc,Gt)=>{"use strict";var Wt=H("fs"),B=H("path"),{promisify:Bt}=H("util"),we;try{we=H("fsevents")}catch(s){process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR&&console.error(s)}if(we){let s=process.version.match(/v(\d+)\.(\d+)/);if(s&&s[1]&&s[2]){let e=Number.parseInt(s[1],10),t=Number.parseInt(s[2],10);e===8&&t<16&&(we=void 0)}}var{EV_ADD:Dt,EV_CHANGE:Wo,EV_ADD_DIR:qr,EV_UNLINK:Ze,EV_ERROR:Bo,STR_DATA:Go,STR_END:qo,FSEVENT_CREATED:Ko,FSEVENT_MODIFIED:jo,FSEVENT_DELETED:Vo,FSEVENT_MOVED:Yo,FSEVENT_UNKNOWN:zo,FSEVENT_TYPE_FILE:Xo,FSEVENT_TYPE_DIRECTORY:ke,FSEVENT_TYPE_SYMLINK:zr,ROOT_GLOBSTAR:Kr,DIR_SUFFIX:Qo,DOT_SLASH:jr,FUNCTION_TYPE:Ft,EMPTY_FN:Zo,IDENTITY_FN:Jo}=Ve(),ea=s=>isNaN(s)?{}:{depth:s},Mt=Bt(Wt.stat),ta=Bt(Wt.lstat),Vr=Bt(Wt.realpath),sa={stat:Mt,lstat:ta},pe=new Map,ra=10,na=new Set([69888,70400,71424,72704,73472,131328,131840,262912]),ia=(s,e)=>({stop:we.watch(s,e)});function oa(s,e,t,r){let n=B.extname(e)?B.dirname(e):e,o=B.dirname(n),i=pe.get(n);aa(o)&&(n=o);let a=B.resolve(s),c=a!==e,u=(d,l,m)=>{c&&(d=d.replace(e,a)),(d===a||!d.indexOf(a+B.sep))&&t(d,l,m)},f=!1;for(let d of pe.keys())if(e.indexOf(B.resolve(d)+B.sep)===0){n=d,i=pe.get(n),f=!0;break}return i||f?i.listeners.add(u):(i={listeners:new Set([u]),rawEmitter:r,watcher:ia(n,(d,l)=>{if(!i.listeners.size)return;let m=we.getInfo(d,l);i.listeners.forEach(y=>{y(d,l,m)}),i.rawEmitter(m.event,d,m)})},pe.set(n,i)),()=>{let d=i.listeners;if(d.delete(u),!d.size&&(pe.delete(n),i.watcher))return i.watcher.stop().then(()=>{i.rawEmitter=i.watcher=void 0,Object.freeze(i)})}}var aa=s=>{let e=0;for(let t of pe.keys())if(t.indexOf(s)===0&&(e++,e>=ra))return!0;return!1},ca=()=>we&&pe.size<128,$t=(s,e)=>{let t=0;for(;!s.indexOf(e)&&(s=B.dirname(s))!==e;)t++;return t},Yr=(s,e)=>s.type===ke&&e.isDirectory()||s.type===zr&&e.isSymbolicLink()||s.type===Xo&&e.isFile(),Ut=class{constructor(e){this.fsw=e}checkIgnored(e,t){let r=this.fsw._ignoredPaths;if(this.fsw._isIgnored(e,t))return r.add(e),t&&t.isDirectory()&&r.add(e+Kr),!0;r.delete(e),r.delete(e+Kr)}addOrChange(e,t,r,n,o,i,a,c){let u=o.has(i)?Wo:Dt;this.handleEvent(u,e,t,r,n,o,i,a,c)}async checkExists(e,t,r,n,o,i,a,c){try{let u=await Mt(e);if(this.fsw.closed)return;Yr(a,u)?this.addOrChange(e,t,r,n,o,i,a,c):this.handleEvent(Ze,e,t,r,n,o,i,a,c)}catch(u){u.code==="EACCES"?this.addOrChange(e,t,r,n,o,i,a,c):this.handleEvent(Ze,e,t,r,n,o,i,a,c)}}handleEvent(e,t,r,n,o,i,a,c,u){if(!(this.fsw.closed||this.checkIgnored(t)))if(e===Ze){let f=c.type===ke;(f||i.has(a))&&this.fsw._remove(o,a,f)}else{if(e===Dt){if(c.type===ke&&this.fsw._getWatchedDir(t),c.type===zr&&u.followSymlinks){let d=u.depth===void 0?void 0:$t(r,n)+1;return this._addToFsEvents(t,!1,!0,d)}this.fsw._getWatchedDir(o).add(a)}let f=c.type===ke?e+Qo:e;this.fsw._emit(f,t),f===qr&&this._addToFsEvents(t,!1,!0)}}_watchWithFsEvents(e,t,r,n){if(this.fsw.closed||this.fsw._isIgnored(e))return;let o=this.fsw.options,a=oa(e,t,async(c,u,f)=>{if(this.fsw.closed||o.depth!==void 0&&$t(c,t)>o.depth)return;let d=r(B.join(e,B.relative(e,c)));if(n&&!n(d))return;let l=B.dirname(d),m=B.basename(d),y=this.fsw._getWatchedDir(f.type===ke?d:l);if(na.has(u)||f.event===zo)if(typeof o.ignored===Ft){let w;try{w=await Mt(d)}catch{}if(this.fsw.closed||this.checkIgnored(d,w))return;Yr(f,w)?this.addOrChange(d,c,t,l,y,m,f,o):this.handleEvent(Ze,d,c,t,l,y,m,f,o)}else this.checkExists(d,c,t,l,y,m,f,o);else switch(f.event){case Ko:case jo:return this.addOrChange(d,c,t,l,y,m,f,o);case Vo:case Yo:return this.checkExists(d,c,t,l,y,m,f,o)}},this.fsw._emitRaw);return this.fsw._emitReady(),a}async _handleFsEventsSymlink(e,t,r,n){if(!(this.fsw.closed||this.fsw._symlinkPaths.has(t))){this.fsw._symlinkPaths.set(t,!0),this.fsw._incrReadyCount();try{let o=await Vr(e);if(this.fsw.closed)return;if(this.fsw._isIgnored(o))return this.fsw._emitReady();this.fsw._incrReadyCount(),this._addToFsEvents(o||e,i=>{let a=e;return o&&o!==jr?a=i.replace(o,e):i!==jr&&(a=B.join(e,i)),r(a)},!1,n)}catch(o){if(this.fsw._handleError(o))return this.fsw._emitReady()}}}emitAdd(e,t,r,n,o){let i=r(e),a=t.isDirectory(),c=this.fsw._getWatchedDir(B.dirname(i)),u=B.basename(i);a&&this.fsw._getWatchedDir(i),!c.has(u)&&(c.add(u),(!n.ignoreInitial||o===!0)&&this.fsw._emit(a?qr:Dt,i,t))}initWatch(e,t,r,n){if(this.fsw.closed)return;let o=this._watchWithFsEvents(r.watchPath,B.resolve(e||r.watchPath),n,r.globFilter);this.fsw._addPathCloser(t,o)}async _addToFsEvents(e,t,r,n){if(this.fsw.closed)return;let o=this.fsw.options,i=typeof t===Ft?t:Jo,a=this.fsw._getWatchHelpers(e);try{let c=await sa[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))throw null;if(c.isDirectory()){if(a.globFilter||this.emitAdd(i(e),c,i,o,r),n&&n>o.depth)return;this.fsw._readdirp(a.watchPath,{fileFilter:u=>a.filterPath(u),directoryFilter:u=>a.filterDir(u),...ea(o.depth-(n||0))}).on(Go,u=>{if(this.fsw.closed||u.stats.isDirectory()&&!a.filterPath(u))return;let f=B.join(a.watchPath,u.path),{fullPath:d}=u;if(a.followSymlinks&&u.stats.isSymbolicLink()){let l=o.depth===void 0?void 0:$t(f,B.resolve(a.watchPath))+1;this._handleFsEventsSymlink(f,d,i,l)}else this.emitAdd(f,u.stats,i,o,r)}).on(Bo,Zo).on(qo,()=>{this.fsw._emitReady()})}else this.emitAdd(a.watchPath,c,i,o,r),this.fsw._emitReady()}catch(c){(!c||this.fsw._handleError(c))&&(this.fsw._emitReady(),this.fsw._emitReady())}if(o.persistent&&r!==!0)if(typeof t===Ft)this.initWatch(void 0,e,a,i);else{let c;try{c=await Vr(a.watchPath)}catch{}this.initWatch(c,e,a,i)}}};Gt.exports=Ut;Gt.exports.canUse=ca});var cn=v(ns=>{"use strict";var{EventEmitter:la}=H("events"),ss=H("fs"),k=H("path"),{promisify:rn}=H("util"),ua=Ds(),zt=Gs().default,fa=zs(),qt=St(),da=Pr(),ha=Rt(),pa=Gr(),Qr=Xr(),{EV_ALL:Kt,EV_READY:_a,EV_ADD:Je,EV_CHANGE:Ne,EV_UNLINK:Zr,EV_ADD_DIR:Ea,EV_UNLINK_DIR:ga,EV_RAW:ma,EV_ERROR:jt,STR_CLOSE:ya,STR_END:wa,BACK_SLASH_RE:Ra,DOUBLE_SLASH_RE:Jr,SLASH_OR_BACK_SLASH_RE:Aa,DOT_RE:Sa,REPLACER_RE:Ta,SLASH:Vt,SLASH_SLASH:Ca,BRACE_START:xa,BANG:Xt,ONE_DOT:nn,TWO_DOTS:ba,GLOBSTAR:Ia,SLASH_GLOBSTAR:Yt,ANYMATCH_OPTS:Qt,STRING_TYPE:rs,FUNCTION_TYPE:va,EMPTY_STR:Zt,EMPTY_FN:ka,isWindows:Na,isMacos:Pa,isIBMi:Oa}=Ve(),La=rn(ss.stat),Ha=rn(ss.readdir),Jt=(s=[])=>Array.isArray(s)?s:[s],on=(s,e=[])=>(s.forEach(t=>{Array.isArray(t)?on(t,e):e.push(t)}),e),en=s=>{let e=on(Jt(s));if(!e.every(t=>typeof t===rs))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(an)},tn=s=>{let e=s.replace(Ra,Vt),t=!1;for(e.startsWith(Ca)&&(t=!0);e.match(Jr);)e=e.replace(Jr,Vt);return t&&(e=Vt+e),e},an=s=>tn(k.normalize(tn(s))),sn=(s=Zt)=>e=>typeof e!==rs?e:an(k.isAbsolute(e)?e:k.join(s,e)),Da=(s,e)=>k.isAbsolute(s)?s:s.startsWith(Xt)?Xt+k.join(e,s.slice(1)):k.join(e,s),ee=(s,e)=>s[e]===void 0,es=class{constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==nn&&e!==ba&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let r=this.path;try{await Ha(r)}catch{this._removeWatcher&&this._removeWatcher(k.dirname(r),k.basename(r))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;if(e)return[...e.values()]}dispose(){this.items.clear(),delete this.path,delete this._removeWatcher,delete this.items,Object.freeze(this)}},Fa="stat",$a="lstat",ts=class{constructor(e,t,r,n){this.fsw=n,this.path=e=e.replace(Ta,Zt),this.watchPath=t,this.fullWatchPath=k.resolve(t),this.hasGlob=t!==e,e===Zt&&(this.hasGlob=!1),this.globSymlink=this.hasGlob&&r?void 0:!1,this.globFilter=this.hasGlob?zt(e,void 0,Qt):!1,this.dirParts=this.getDirParts(e),this.dirParts.forEach(o=>{o.length>1&&o.pop()}),this.followSymlinks=r,this.statMethod=r?Fa:$a}checkGlobSymlink(e){return this.globSymlink===void 0&&(this.globSymlink=e.fullParentDir===this.fullWatchPath?!1:{realPath:e.fullParentDir,linkPath:this.fullWatchPath}),this.globSymlink?e.fullPath.replace(this.globSymlink.realPath,this.globSymlink.linkPath):e.fullPath}entryPath(e){return k.join(this.watchPath,k.relative(this.watchPath,this.checkGlobSymlink(e)))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let r=this.entryPath(e);return(this.hasGlob&&typeof this.globFilter===va?this.globFilter(r):!0)&&this.fsw._isntIgnored(r,t)&&this.fsw._hasReadPermissions(t)}getDirParts(e){if(!this.hasGlob)return[];let t=[];return(e.includes(xa)?da.expand(e):[e]).forEach(n=>{t.push(k.relative(this.watchPath,n).split(Aa))}),t}filterDir(e){if(this.hasGlob){let t=this.getDirParts(this.checkGlobSymlink(e)),r=!1;this.unmatchedGlob=!this.dirParts.some(n=>n.every((o,i)=>(o===Ia&&(r=!0),r||!t[0][i]||zt(o,t[0][i],Qt))))}return!this.unmatchedGlob&&this.fsw._isntIgnored(this.entryPath(e),e.stats)}},et=class extends la{constructor(e){super();let t={};e&&Object.assign(t,e),this._watched=new Map,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._symlinkPaths=new Map,this._streams=new Set,this.closed=!1,ee(t,"persistent")&&(t.persistent=!0),ee(t,"ignoreInitial")&&(t.ignoreInitial=!1),ee(t,"ignorePermissionErrors")&&(t.ignorePermissionErrors=!1),ee(t,"interval")&&(t.interval=100),ee(t,"binaryInterval")&&(t.binaryInterval=300),ee(t,"disableGlobbing")&&(t.disableGlobbing=!1),t.enableBinaryInterval=t.binaryInterval!==t.interval,ee(t,"useFsEvents")&&(t.useFsEvents=!t.usePolling),Qr.canUse()||(t.useFsEvents=!1),ee(t,"usePolling")&&!t.useFsEvents&&(t.usePolling=Pa),Oa&&(t.usePolling=!0);let n=process.env.CHOKIDAR_USEPOLLING;if(n!==void 0){let c=n.toLowerCase();c==="false"||c==="0"?t.usePolling=!1:c==="true"||c==="1"?t.usePolling=!0:t.usePolling=!!c}let o=process.env.CHOKIDAR_INTERVAL;o&&(t.interval=Number.parseInt(o,10)),ee(t,"atomic")&&(t.atomic=!t.usePolling&&!t.useFsEvents),t.atomic&&(this._pendingUnlinks=new Map),ee(t,"followSymlinks")&&(t.followSymlinks=!0),ee(t,"awaitWriteFinish")&&(t.awaitWriteFinish=!1),t.awaitWriteFinish===!0&&(t.awaitWriteFinish={});let i=t.awaitWriteFinish;i&&(i.stabilityThreshold||(i.stabilityThreshold=2e3),i.pollInterval||(i.pollInterval=100),this._pendingWrites=new Map),t.ignored&&(t.ignored=Jt(t.ignored));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=ka,this._readyEmitted=!0,process.nextTick(()=>this.emit(_a)))},this._emitRaw=(...c)=>this.emit(ma,...c),this._readyEmitted=!1,this.options=t,t.useFsEvents?this._fsEventsHandler=new Qr(this):this._nodeFsHandler=new pa(this),Object.freeze(t)}add(e,t,r){let{cwd:n,disableGlobbing:o}=this.options;this.closed=!1;let i=en(e);return n&&(i=i.map(a=>{let c=Da(a,n);return o||!qt(a)?c:ha(c)})),i=i.filter(a=>a.startsWith(Xt)?(this._ignoredPaths.add(a.slice(1)),!1):(this._ignoredPaths.delete(a),this._ignoredPaths.delete(a+Yt),this._userIgnored=void 0,!0)),this.options.useFsEvents&&this._fsEventsHandler?(this._readyCount||(this._readyCount=i.length),this.options.persistent&&(this._readyCount*=2),i.forEach(a=>this._fsEventsHandler._addToFsEvents(a))):(this._readyCount||(this._readyCount=0),this._readyCount+=i.length,Promise.all(i.map(async a=>{let c=await this._nodeFsHandler._addToNodeFs(a,!r,0,0,t);return c&&this._emitReady(),c})).then(a=>{this.closed||a.filter(c=>c).forEach(c=>{this.add(k.dirname(c),k.basename(t||c))})})),this}unwatch(e){if(this.closed)return this;let t=en(e),{cwd:r}=this.options;return t.forEach(n=>{!k.isAbsolute(n)&&!this._closers.has(n)&&(r&&(n=k.join(r,n)),n=k.resolve(n)),this._closePath(n),this._ignoredPaths.add(n),this._watched.has(n)&&this._ignoredPaths.add(n+Yt),this._userIgnored=void 0}),this}close(){if(this.closed)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(r=>{let n=r();n instanceof Promise&&e.push(n)})),this._streams.forEach(t=>t.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(t=>t.dispose()),["closers","watched","streams","symlinkPaths","throttled"].forEach(t=>{this[`_${t}`].clear()}),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,r)=>{let n=this.options.cwd?k.relative(this.options.cwd,r):r;e[n||nn]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(...t),e!==jt&&this.emit(Kt,...t)}async _emit(e,t,r,n,o){if(this.closed)return;let i=this.options;Na&&(t=k.normalize(t)),i.cwd&&(t=k.relative(i.cwd,t));let a=[e,t];o!==void 0?a.push(r,n,o):n!==void 0?a.push(r,n):r!==void 0&&a.push(r);let c=i.awaitWriteFinish,u;if(c&&(u=this._pendingWrites.get(t)))return u.lastChange=new Date,this;if(i.atomic){if(e===Zr)return this._pendingUnlinks.set(t,a),setTimeout(()=>{this._pendingUnlinks.forEach((f,d)=>{this.emit(...f),this.emit(Kt,...f),this._pendingUnlinks.delete(d)})},typeof i.atomic=="number"?i.atomic:100),this;e===Je&&this._pendingUnlinks.has(t)&&(e=a[0]=Ne,this._pendingUnlinks.delete(t))}if(c&&(e===Je||e===Ne)&&this._readyEmitted){let f=(d,l)=>{d?(e=a[0]=jt,a[1]=d,this.emitWithAll(e,a)):l&&(a.length>2?a[2]=l:a.push(l),this.emitWithAll(e,a))};return this._awaitWriteFinish(t,c.stabilityThreshold,e,f),this}if(e===Ne&&!this._throttle(Ne,t,50))return this;if(i.alwaysStat&&r===void 0&&(e===Je||e===Ea||e===Ne)){let f=i.cwd?k.join(i.cwd,t):t,d;try{d=await La(f)}catch{}if(!d||this.closed)return;a.push(d)}return this.emitWithAll(e,a),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(jt,e),e||this.closed}_throttle(e,t,r){this._throttled.has(e)||this._throttled.set(e,new Map);let n=this._throttled.get(e),o=n.get(t);if(o)return o.count++,!1;let i,a=()=>{let u=n.get(t),f=u?u.count:0;return n.delete(t),clearTimeout(i),u&&clearTimeout(u.timeoutObject),f};i=setTimeout(a,r);let c={timeoutObject:i,clear:a,count:0};return n.set(t,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,r,n){let o,i=e;this.options.cwd&&!k.isAbsolute(e)&&(i=k.join(this.options.cwd,e));let a=new Date,c=u=>{ss.stat(i,(f,d)=>{if(f||!this._pendingWrites.has(e)){f&&f.code!=="ENOENT"&&n(f);return}let l=Number(new Date);u&&d.size!==u.size&&(this._pendingWrites.get(e).lastChange=l);let m=this._pendingWrites.get(e);l-m.lastChange>=t?(this._pendingWrites.delete(e),n(void 0,d)):o=setTimeout(c,this.options.awaitWriteFinish.pollInterval,d)})};this._pendingWrites.has(e)||(this._pendingWrites.set(e,{lastChange:a,cancelWait:()=>(this._pendingWrites.delete(e),clearTimeout(o),r)}),o=setTimeout(c,this.options.awaitWriteFinish.pollInterval))}_getGlobIgnored(){return[...this._ignoredPaths.values()]}_isIgnored(e,t){if(this.options.atomic&&Sa.test(e))return!0;if(!this._userIgnored){let{cwd:r}=this.options,n=this.options.ignored,o=n&&n.map(sn(r)),i=Jt(o).filter(c=>typeof c===rs&&!qt(c)).map(c=>c+Yt),a=this._getGlobIgnored().map(sn(r)).concat(o,i);this._userIgnored=zt(a,void 0,Qt)}return this._userIgnored([e,t])}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e,t){let r=t||this.options.disableGlobbing||!qt(e)?e:fa(e),n=this.options.followSymlinks;return new ts(e,r,n,this)}_getWatchedDir(e){this._boundRemove||(this._boundRemove=this._remove.bind(this));let t=k.resolve(e);return this._watched.has(t)||this._watched.set(t,new es(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){if(this.options.ignorePermissionErrors)return!0;let r=(e&&Number.parseInt(e.mode,10))&511;return!!(4&Number.parseInt(r.toString(8)[0],10))}_remove(e,t,r){let n=k.join(e,t),o=k.resolve(n);if(r=r??(this._watched.has(n)||this._watched.has(o)),!this._throttle("remove",n,100))return;!r&&!this.options.useFsEvents&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(n).getChildren().forEach(l=>this._remove(n,l));let c=this._getWatchedDir(e),u=c.has(t);c.remove(t),this._symlinkPaths.has(o)&&this._symlinkPaths.delete(o);let f=n;if(this.options.cwd&&(f=k.relative(this.options.cwd,n)),this.options.awaitWriteFinish&&this._pendingWrites.has(f)&&this._pendingWrites.get(f).cancelWait()===Je)return;this._watched.delete(n),this._watched.delete(o);let d=r?ga:Zr;u&&!this._isIgnored(n)&&this._emit(d,n),this.options.useFsEvents||this._closePath(n)}_closePath(e){this._closeFile(e);let t=k.dirname(e);this._getWatchedDir(t).remove(k.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(r=>r()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let r=this._closers.get(e);r||(r=[],this._closers.set(e,r)),r.push(t)}_readdirp(e,t){if(this.closed)return;let r={type:Kt,alwaysStat:!0,lstat:!0,...t},n=ua(e,r);return this._streams.add(n),n.once(ya,()=>{n=void 0}),n.once(wa,()=>{n&&(this._streams.delete(n),n=void 0)}),n}};ns.FSWatcher=et;var Ma=(s,e)=>{let t=new et(e);return t.add(s),t};ns.watch=Ma});import"only-server";import"../common/index.mjs";var fn=kn(cn(),1);import{existsSync as un,promises as Wa}from"node:fs";import{basename as os,dirname as tt,join as ln,relative as st}from"node:path";import{build as Ba}from"esbuild";import{jwtDecode as Ga}from"jwt-decode";import{Issuer as qa}from"openid-client";import{ExternalTaskWorker as Ka}from"@5minds/processcube_engine_client";import{Logger as ja}from"@5minds/processcube_engine_sdk";import{EngineClient as Ua}from"@5minds/processcube_engine_client";var is=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",N=new Ua(is);var Va={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},Ya=.85,rt=["external_task.ts","external_task.js"],J=new ja("processcube_app_sdk:external_task_adapter"),cs=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0,ue={};async function dn(s){if(s&&!un(s))throw new Error(`Invalid customExternalTasksDirPath. The given path '${s}' does not exist`);let e=ec(s);(0,fn.watch)(e).on("add",async t=>{if(!rt.includes(os(t)))return;await hn(t,e);let r=tt(t),n=st(e,r),o=nt(n);J.info(`Started external task ${ue[t].workerId} for topic ${o}`)}).on("change",async t=>{if(!rt.includes(os(t)))return;await za(t,e);let r=tt(t),n=st(e,r),o=nt(n);J.info(`Restarted external task ${ue[t].workerId} for topic ${o}`)}).on("unlink",async t=>{if(!rt.includes(os(t)))return;pn(t);let r=tt(t),n=st(e,r),o=nt(n);J.info(`Stopped external task ${ue[t].workerId} for topic '${o}'`,{reason:`External Task for topic '${o}' was removed`,workerId:ue[t].workerId,topic:o}),delete ue[t]}).on("error",t=>J.info(`Watcher error: ${t}`))}async function hn(s,e,t){let r=tt(s);if(!Xa(r)){J.error(`Could not find external task file in directory '${r}'`);return}let o=await Qa(s),i=await Za(o,s);if(i.default===void 0){J.info(`External task file recognized at ${s}. Please export a default handler function. For more information see https://processcube.io/docs/app-sdk/samples/nextjs/external-task-adapter-with-nextjs#external-tasks-entwickeln`);return}let a=await _n(),c=En(a),u=st(e,r),f=nt(u),d=i.default,l={identity:c,...t,...i?.config},m=new Ka(is,f,d,l);m.onWorkerError((y,w,S)=>{J.error(`Intercepted "${y}"-type error: ${w.message}`,{err:w,type:y,externalTask:S})}),m.start(),await as(a,m),ue[s]=m}async function za(s,e){let t=ue[s]?.workerId;pn(s),await hn(s,e,{workerId:t})}function pn(s){let e=ue[s];e&&(e.stop(),e.dispose())}async function Xa(s){let t=(await Wa.readdir(s)).filter(r=>rt.includes(r));if(t.length===0)return null;if(t.length>1)throw new Error(`Found more than one external task file in directory '${s}'`);return t[0]}async function _n(){if(!cs)return null;if(!process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID||!process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET){let r=new Error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing. For help, please refer to our documentation on environment variables at: https://processcube.io/docs/app-sdk/samples/nextjs/external-task-adapter-with-nextjs#authority");throw J.error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing",{err:r}),r}let s=await qa.discover(process.env.PROCESSCUBE_AUTHORITY_URL);return await new s.Client({client_id:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID,client_secret:process.env.PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET}).grant({grant_type:"client_credentials",scope:"engine_etw"})}function En(s){if(!cs||s===null)return Va;let e=s.access_token,t=Ga(e);return{token:s.access_token,userId:t.sub}}async function as(s,e,t=5){try{if(!cs||s===null||!e.pollingIsActive)return;let n=await Ja(s)*Ya*1e3;setTimeout(async()=>{if(!e.pollingIsActive)return;let o=await _n(),i=En(o);e.identity=i,await as(o,e)},n)}catch(r){if(t===0)throw r;J.error(`Could not refresh identity for external task worker ${e.workerId}`,{err:r,workerId:e.workerId,retryCount:t});let n=2*1e3;setTimeout(async()=>await as(s,e,t-1),n)}}async function Qa(s){let e=await Ba({entryPoints:[s],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs",external:["@opentelemetry/api"]});if(e.errors.length>0)throw J.error(`Could not transpile file at '${s}'`,{errors:e.errors}),new Error(`Could not transpile file at '${s}'`);return e.warnings.length>0&&J.warn(`Transpiled file at '${s}' with warnings`,{warnings:e.warnings}),e.outputFiles[0].text}async function Za(s,e){try{var t=module.constructor,r=new t;return r._compile(s,e),r.exports}catch(n){throw J.error("Could not require module from string",{err:n}),n}}async function Ja(s){let e=s.expires_in;if(!e&&s.expires_at&&(e=Math.floor(s.expires_at-Date.now()/1e3)),e===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return e}function nt(s){return s.replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/")}function ec(s){let e,t=[s,ln(process.cwd(),"app"),ln(process.cwd(),"src","app")];for(let r of t)if(r&&un(r)){e=r;break}if(!e)throw new Error("Could not find external tasks directory");return e}function Jc(){return N}import{getToken as gn}from"next-auth/jwt";import{ResponseCookies as tc}from"next/dist/compiled/@edge-runtime/cookies";import{cookies as it,headers as mn}from"next/headers";var sc=process.env.NEXTAUTH_URL?.startsWith("https://"),yn=`${sc?"__Secure-":""}next-auth.session-token`;async function nl(){let s=await gn({req:{cookies:it(),headers:mn()}});if(s?.expiresAt&&Date.now()>=s.expiresAt*1e3){let t=await fetch(`${process.env.NEXTAUTH_URL}/api/auth/session`,{method:"GET",headers:{"Content-Type":"application/json",cookie:it().toString()}}),r=new tc(t.headers),n=r.get(yn);if(n){let o=!1;try{it().set(yn,n.value,{...n})}catch{o=!0}if(s=await gn({req:{cookies:o?r:it(),headers:mn()}}),s?.error)throw s.error}}if(!s?.accessToken||!s?.sub)throw new Error("AccessToken or Sub could not be determined!");return{token:s?.accessToken,userId:s?.sub}}import{DataModels as ot}from"@5minds/processcube_engine_client";async function cl(s){return await N.processInstances.query({...s?.query,state:ot.ProcessInstances.ProcessInstanceState.running},s?.options)}async function ll(s){let{processInstanceId:e}=s;return new Promise(async(t,r)=>{let n=[],o=async i=>{if(e!==void 0&&i.processInstanceId!==e)return;let c=await N.processInstances.query({processInstanceId:i.processInstanceId});for(let u of n)N.notification.removeSubscription(u);return c.totalCount===0?r(new Error(`Process with instance ID "${i.processInstanceId}" does not exist.`)):t(c.processInstances[0])};if(n.push(await N.notification.onProcessEnded(o)),n.push(await N.notification.onProcessError(o)),n.push(await N.notification.onProcessTerminated(o)),e){let i=await N.processInstances.query({processInstanceId:e,state:[ot.ProcessInstances.ProcessInstanceState.finished,ot.ProcessInstances.ProcessInstanceState.terminated,ot.ProcessInstances.ProcessInstanceState.error]});if(i.totalCount>0){for(let a of n)N.notification.removeSubscription(a);t(i.processInstances[0])}}})}import{DataModels as ae}from"@5minds/processcube_engine_client";import{mapUserTask as wn,mapUserTaskList as _e}from"../common/index.mjs";async function El(s={},e){let{correlationId:t,processInstanceId:r,flowNodeId:n}=s;return new Promise(async(o,i)=>{let a=await N.userTasks.onUserTaskWaiting(async u=>{let f=t!==void 0&&u.correlationId!==t,d=u.flowNodeInstanceId===void 0,l=r!==void 0&&u.processInstanceId!==r,m=n!==void 0&&u.flowNodeId!==n;if(f||d||l||m)return;let y=await nc(u.flowNodeInstanceId,{identity:e});return N.notification.removeSubscription(a,e),y===null?i(new Error(`UserTask with instance ID "${u.flowNodeInstanceId}" does not exist.`)):o(y)},{identity:e}),c=await rc({correlationId:t,processInstanceId:r,flowNodeId:n,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e});c.userTasks.length>0&&(N.notification.removeSubscription(a,e),o(c.userTasks[0]))})}async function gl(s,e={},t={},r){await N.userTasks.finishUserTask(s,t,r);let n={state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended,...e},o=await N.userTasks.query(n,{identity:r});return wn(o.userTasks[0])}async function rc(...s){let e=await N.userTasks.query(...s);return _e(e)}async function ml(s){let e=await N.userTasks.query({state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},s);return _e(e)}async function yl(s,e){let t=await N.userTasks.query({processInstanceId:s,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},e);return _e(t)}async function wl(s,e){let t=await N.userTasks.query({flowNodeId:s,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},e);return _e(t)}async function nc(s,e){let t=await N.userTasks.query({flowNodeInstanceId:s,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},{...e,limit:1});return t.userTasks.length===0?null:wn(t.userTasks[0])}async function Rl(s,e){let t=await N.userTasks.query({correlationId:s,state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},e);return _e(t)}async function Al(s,e){let t=await N.userTasks.query({state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:s,...e}),r=t.userTasks.filter(n=>n.actualOwnerId===s.userId);return t.userTasks=r,_e(t)}async function Sl(s,e){let t=await N.userTasks.query({state:ae.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:s,...e}),r=t.userTasks.filter(n=>n.assignedUserIds?.includes(s.userId));return t.userTasks=r,_e(t)}import{PHASE_DEVELOPMENT_SERVER as ic,PHASE_PRODUCTION_SERVER as oc}from"next/dist/shared/lib/constants";var Rn=!1;function Ll(s={}){let{applicationSdk:e,...t}=s;return async(r,n)=>{let o=r===ic||r===oc;return e?.useExternalTasks&&o&&!Rn&&(Rn=!0,await dn(e?.customExternalTasksDirPath)),t}}import{revalidatePath as ac}from"next/cache";import{redirect as cc}from"next/navigation";function Ul(s){ac(s),cc(s)}async function Gl(...s){return await N.processModels.startProcessInstance(...s)}async function jl(...s){await N.userTasks.finishUserTask(...s)}export{jl as finishUserTask,gl as finishUserTaskAndGetNext,cl as getActiveProcessInstances,Sl as getAssignedUserTasksByIdentity,Jc as getEngineClient,nl as getIdentity,Al as getReservedUserTasksByIdentity,rc as getUserTasks,nc as getWaitingUserTaskByFlowNodeInstanceId,ml as getWaitingUserTasks,Rl as getWaitingUserTasksByCorrelationId,wl as getWaitingUserTasksByFlowNodeId,yl as getWaitingUserTasksByProcessInstanceId,Ul as navigateToUrl,Gl as startProcess,ll as waitForProcessEnd,El as waitForUserTask,Ll as withApplicationSdk};
3
3
  /*! Bundled license information:
4
4
 
5
5
  normalize-path/index.js:
@@ -9,3 +9,14 @@ export declare function getActiveProcessInstances(query?: {
9
9
  query?: Omit<DataModels.ProcessInstances.ProcessInstanceQuery, 'state'>;
10
10
  options?: Parameters<typeof Client.processInstances.query>[1];
11
11
  }): Promise<DataModels.ProcessInstances.ProcessInstanceList>;
12
+ /**
13
+ * This function will wait until a ProcessInstance is finished, terminated or errored.
14
+ * If the processInstance is already finished, it will instantly be returned.
15
+ *
16
+ * @param filterBy Additional filter options
17
+ * @param filterBy.processInstanceId The ID of the ProcessInstance to wait for
18
+ * @returns {Promise<DataModels.ProcessInstances.ProcessInstance>} The ProcessInstance.
19
+ */
20
+ export declare function waitForProcessEnd(filterBy: {
21
+ processInstanceId?: string;
22
+ }): Promise<DataModels.ProcessInstances.ProcessInstance>;
@@ -1,5 +1,6 @@
1
1
  import { DataModels } from '@5minds/processcube_engine_client';
2
2
  import type { Identity, UserTaskResult } from '@5minds/processcube_engine_sdk';
3
+ import { UserTaskInstance, UserTaskList } from '../../common';
3
4
  import { Client } from './internal/EngineClient';
4
5
  /**
5
6
  * If there is no UserTask waiting, this function will wait for the next UserTask to be created.
@@ -10,13 +11,13 @@ import { Client } from './internal/EngineClient';
10
11
  * @param filterBy.processInstanceId The ID of the ProcessInstance the UserTask belongs to
11
12
  * @param filterBy.flowNodeId The UserTask FlowNode ID (BPMN)
12
13
  * @param identity The Identity of the User
13
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskInstance>} The created UserTask.
14
+ * @returns {Promise<UserTaskInstance>} The created UserTask.
14
15
  */
15
16
  export declare function waitForUserTask(filterBy?: {
16
17
  correlationId?: string;
17
18
  processInstanceId?: string;
18
19
  flowNodeId?: string;
19
- }, identity?: Identity): Promise<DataModels.FlowNodeInstances.UserTaskInstance>;
20
+ }, identity?: Identity): Promise<UserTaskInstance>;
20
21
  /**
21
22
  * The FilterBy object can be used to filter the result set of the finishUserTaskAndGetNext function.
22
23
  * The next UserTask will be returned based on the given filter options.
@@ -34,61 +35,61 @@ export type FilterBy = {
34
35
  * @param FilterBy Additional filter options for the next UserTask
35
36
  * @param result The result of the UserTask
36
37
  * @param identity The Identity of the User
37
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskInstance>} The next UserTask based on the given filter options.
38
+ * @returns {Promise<UserTaskInstance>} The next UserTask based on the given filter options.
38
39
  */
39
- export declare function finishUserTaskAndGetNext(flowNodeInstanceId: string, filterBy?: FilterBy, result?: UserTaskResult, identity?: Identity): Promise<DataModels.FlowNodeInstances.UserTaskInstance | null>;
40
- export declare function getUserTasks(...args: Parameters<typeof Client.userTasks.query>): Promise<DataModels.FlowNodeInstances.UserTaskList>;
40
+ export declare function finishUserTaskAndGetNext(flowNodeInstanceId: string, filterBy?: FilterBy, result?: UserTaskResult, identity?: Identity): Promise<UserTaskInstance | null>;
41
+ export declare function getUserTasks(...args: Parameters<typeof Client.userTasks.query>): Promise<UserTaskList>;
41
42
  /**
42
43
  *
43
44
  * @param options Additional options for the query e.g. {@link DataModels.Iam.Identity} or {@link DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings}
44
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskList>}
45
+ * @returns {Promise<UserTaskList>}
45
46
  */
46
- export declare function getWaitingUserTasks(options?: Parameters<typeof Client.userTasks.query>[1]): Promise<DataModels.FlowNodeInstances.UserTaskList>;
47
+ export declare function getWaitingUserTasks(options?: Parameters<typeof Client.userTasks.query>[1]): Promise<UserTaskList>;
47
48
  /**
48
49
  *
49
50
  * @param processInstanceId The Process Instance ID
50
51
  * @param options Additional options for the query e.g. {@link DataModels.Iam.Identity} or {@link DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings}
51
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskList>}
52
+ * @returns {Promise<UserTaskList>}
52
53
  */
53
- export declare function getWaitingUserTasksByProcessInstanceId(processInstanceId: string | Array<string>, options?: Parameters<typeof Client.userTasks.query>[1]): Promise<DataModels.FlowNodeInstances.UserTaskList>;
54
+ export declare function getWaitingUserTasksByProcessInstanceId(processInstanceId: string | Array<string>, options?: Parameters<typeof Client.userTasks.query>[1]): Promise<UserTaskList>;
54
55
  /**
55
56
  *
56
57
  * @param flowNodeId The UserTasks ID (BPMN)
57
58
  * @param options Additional options for the query e.g. {@link DataModels.Iam.Identity} or {@link DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings}
58
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskList>}
59
+ * @returns {Promise<UserTaskList>}
59
60
  */
60
- export declare function getWaitingUserTasksByFlowNodeId(flowNodeId: string | string[], options?: Parameters<typeof Client.userTasks.query>[1]): Promise<DataModels.FlowNodeInstances.UserTaskList>;
61
+ export declare function getWaitingUserTasksByFlowNodeId(flowNodeId: string | string[], options?: Parameters<typeof Client.userTasks.query>[1]): Promise<UserTaskList>;
61
62
  /**
62
63
  *
63
64
  * @param flowNodeInstanceId The UserTask Instance ID
64
65
  * @param options Additional options for the query e.g. {@link DataModels.Iam.Identity}
65
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskInstance | null>}
66
+ * @returns {Promise<UserTaskInstance | null>}
66
67
  */
67
- export declare function getWaitingUserTaskByFlowNodeInstanceId(flowNodeInstanceId: string, options?: Parameters<typeof Client.userTasks.query>[1]): Promise<DataModels.FlowNodeInstances.UserTaskInstance | null>;
68
+ export declare function getWaitingUserTaskByFlowNodeInstanceId(flowNodeInstanceId: string, options?: Parameters<typeof Client.userTasks.query>[1]): Promise<UserTaskInstance | null>;
68
69
  /**
69
70
  * @param correlationId The Correlation ID
70
71
  * @param options Additional options for the query e.g. {@link DataModels.Iam.Identity}
71
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskList>}
72
+ * @returns {Promise<UserTaskList>}
72
73
  */
73
- export declare function getWaitingUserTasksByCorrelationId(correlationId: string, options?: Parameters<typeof Client.userTasks.query>[1]): Promise<DataModels.FlowNodeInstances.UserTaskList>;
74
+ export declare function getWaitingUserTasksByCorrelationId(correlationId: string, options?: Parameters<typeof Client.userTasks.query>[1]): Promise<UserTaskList>;
74
75
  /**
75
76
  * @param identity The identity of the user
76
77
  * @param options Additional options for the query e.g. {@link DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings}
77
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskList>}
78
+ * @returns {Promise<UserTaskList>}
78
79
  */
79
80
  export declare function getReservedUserTasksByIdentity(identity: DataModels.Iam.Identity, options?: {
80
81
  offset?: number;
81
82
  limit?: number;
82
83
  sortSettings?: DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings;
83
- }): Promise<DataModels.FlowNodeInstances.UserTaskList>;
84
+ }): Promise<UserTaskList>;
84
85
  /**
85
86
  *
86
87
  * @param identity The identity of the user
87
88
  * @param options Additional options for the query e.g. {@link DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings}
88
- * @returns {Promise<DataModels.FlowNodeInstances.UserTaskList>}
89
+ * @returns {Promise<UserTaskList>}
89
90
  */
90
91
  export declare function getAssignedUserTasksByIdentity(identity: DataModels.Iam.Identity, options?: {
91
92
  offset?: number;
92
93
  limit?: number;
93
94
  sortSettings?: DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings;
94
- }): Promise<DataModels.FlowNodeInstances.UserTaskList>;
95
+ }): Promise<UserTaskList>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/processcube_app_sdk",
3
- "version": "5.1.0-feature-e9eeba-ltfryndo",
3
+ "version": "5.1.0-feature-1b26fa-ltfv6ej6",
4
4
  "description": "The SDK for ProcessCube Apps",
5
5
  "type": "module",
6
6
  "main": "build/common/index.cjs",