@5minds/processcube_app_sdk 5.1.0-alpha.2 → 5.1.0-alpha.4

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.
Files changed (42) hide show
  1. package/build/client/components/DynamicLink.d.ts +13 -0
  2. package/build/client/index.cjs +1 -0
  3. package/build/client/index.mjs +1 -0
  4. package/{common → build/common}/functions/hasClaim.d.ts +1 -1
  5. package/build/common/index.cjs +1 -0
  6. package/{common → build/common}/index.d.ts +2 -1
  7. package/build/common/index.mjs +1 -0
  8. package/build/common/types/IPCMessageType.d.ts +16 -0
  9. package/build/common/types/UserTaskInstance.d.ts +20 -0
  10. package/build/common/types/index.d.ts +2 -0
  11. package/build/server/index.cjs +1 -0
  12. package/build/server/index.d.ts +15 -0
  13. package/build/server/index.mjs +52 -0
  14. package/{server → build/server}/lib/ExternalTaskAdapter.d.ts +2 -2
  15. package/build/server/lib/ExternalTaskWorkerProcess.cjs +5 -0
  16. package/build/server/lib/ExternalTaskWorkerProcess.d.ts +1 -0
  17. package/{server → build/server}/lib/ProcessInstanceFunctions.d.ts +11 -0
  18. package/{server → build/server}/lib/UserTaskFunctions.d.ts +21 -20
  19. package/client.d.ts +1 -0
  20. package/common.d.ts +1 -0
  21. package/package.json +29 -32
  22. package/server.d.ts +1 -0
  23. package/client/components/DynamicLink.d.ts +0 -6
  24. package/client/index.cjs +0 -1
  25. package/client/index.mjs +0 -1
  26. package/common/index.cjs +0 -1
  27. package/common/index.mjs +0 -1
  28. package/server/index.cjs +0 -1
  29. package/server/index.d.ts +0 -40
  30. package/server/index.mjs +0 -52
  31. /package/{client → build/client}/index.d.ts +0 -0
  32. /package/{common → build/common}/components/RemoteUserTask.d.ts +0 -0
  33. /package/{server → build/server}/lib/getEngineClient.d.ts +0 -0
  34. /package/{server → build/server}/lib/getIdentity.d.ts +0 -0
  35. /package/{server → build/server}/lib/index.d.ts +0 -0
  36. /package/{server → build/server}/lib/internal/EngineClient.d.ts +0 -0
  37. /package/{server → build/server}/plugin/index.d.ts +0 -0
  38. /package/{server → build/server}/plugin/withApplicationSDK.d.ts +0 -0
  39. /package/{server → build/server}/server-actions/NavigationActions.d.ts +0 -0
  40. /package/{server → build/server}/server-actions/ProcessInstanceActions.d.ts +0 -0
  41. /package/{server → build/server}/server-actions/UserTaskActions.d.ts +0 -0
  42. /package/{server → build/server}/server-actions/index.d.ts +0 -0
@@ -0,0 +1,13 @@
1
+ type DynamicLinkProps = {
2
+ href: string;
3
+ children: any;
4
+ };
5
+ /**
6
+ * @deprecated This component should no longer be used.
7
+ * It will be removed in a future version of this package.
8
+ * Please use the NextJS Link component instead.
9
+ *
10
+ * Former workaround for https://github.com/vercel/next.js/issues/42991#issuecomment-1592921378
11
+ */
12
+ export declare function DynamicLink({ href, children }: DynamicLinkProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1 @@
1
+ "use client";var m=Object.create;var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty;var k=(e,n)=>{for(var r in n)i(e,r,{get:n[r],enumerable:!0})},a=(e,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of u(n))!l.call(e,t)&&t!==r&&i(e,t,{get:()=>n[t],enumerable:!(o=s(n,t))||o.enumerable});return e};var y=(e,n,r)=>(r=e!=null?m(f(e)):{},a(n||!e||!e.__esModule?i(r,"default",{value:e,enumerable:!0}):r,e)),D=e=>a(i({},"__esModule",{value:!0}),e);var h={};k(h,{DynamicLink:()=>d});module.exports=D(h);var x=require("client-only");var c=require("next/navigation"),p=y(require("react"),1);function d({href:e,children:n}){console.warn("The DynamicLink component is deprecated. Please use the NextJS Link component instead.");let r=(0,c.useRouter)();return p.default.createElement("a",{href:e,onClick:o=>{o.preventDefault(),r.replace(e),r.refresh()}},n)}0&&(module.exports={DynamicLink});
@@ -0,0 +1 @@
1
+ "use client";import"client-only";import{useRouter as o}from"next/navigation";import i from"react";function p({href:e,children:r}){console.warn("The DynamicLink component is deprecated. Please use the NextJS Link component instead.");let n=o();return i.createElement("a",{href:e,onClick:t=>{t.preventDefault(),n.replace(e),n.refresh()}},r)}export{p as DynamicLink};
@@ -1,4 +1,4 @@
1
- import { Session, CallbacksOptions } from 'next-auth';
1
+ import { CallbacksOptions, Session } from 'next-auth';
2
2
  import type { JWT } from 'next-auth/jwt';
3
3
  /**
4
4
  *
@@ -0,0 +1 @@
1
+ var C=Object.create;var a=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var D=(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))!x.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={};D(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,5 +1,7 @@
1
+ import { DefaultSession, User } from 'next-auth';
1
2
  export * from './components/RemoteUserTask';
2
3
  export * from './functions/hasClaim';
4
+ export * from './types';
3
5
  declare global {
4
6
  namespace NodeJS {
5
7
  interface ProcessEnv {
@@ -8,7 +10,6 @@ declare global {
8
10
  }
9
11
  }
10
12
  }
11
- import { DefaultSession, User } from 'next-auth';
12
13
  declare module 'next-auth' {
13
14
  /**
14
15
  * Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider` React Context
@@ -0,0 +1 @@
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,16 @@
1
+ import { Identity } from '@5minds/processcube_engine_sdk';
2
+ export type StartPayload = {
3
+ identity: Identity;
4
+ moduleString: string;
5
+ topic: string;
6
+ workerPath: string;
7
+ };
8
+ export type IPCMessageType = {
9
+ action: 'create' | 'restart';
10
+ payload: StartPayload;
11
+ } | {
12
+ action: 'updateIdentity';
13
+ payload: {
14
+ identity: Identity;
15
+ };
16
+ };
@@ -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,2 @@
1
+ export * from './UserTaskInstance';
2
+ export * from './IPCMessageType';
@@ -0,0 +1 @@
1
+ var _=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var ee=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var te=(e,s)=>{for(var t in s)_(e,t,{get:s[t],enumerable:!0})},ne=(e,s,t,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of ee(s))!se.call(e,r)&&r!==t&&_(e,r,{get:()=>s[r],enumerable:!(n=z(s,r))||n.enumerable});return e};var re=e=>ne(_({},"__esModule",{value:!0}),e);var Re={};te(Re,{finishUserTask:()=>Ne,finishUserTaskAndGetNext:()=>me,getActiveProcessInstances:()=>Ie,getAssignedUserTasksByIdentity:()=>Se,getEngineClient:()=>ue,getIdentity:()=>fe,getReservedUserTasksByIdentity:()=>Ce,getUserTasks:()=>$,getWaitingUserTaskByFlowNodeInstanceId:()=>j,getWaitingUserTasks:()=>Ee,getWaitingUserTasksByCorrelationId:()=>we,getWaitingUserTasksByFlowNodeId:()=>ye,getWaitingUserTasksByProcessInstanceId:()=>ge,navigateToUrl:()=>xe,startProcess:()=>Pe,waitForProcessEnd:()=>Te,waitForUserTask:()=>ke,withApplicationSdk:()=>_e});module.exports=re(Re);var us=require("only-server"),ps=require("../common/index.cjs");var b=require("node:child_process"),g=require("node:fs"),c=require("node:path"),O=require("chokidar"),A=require("esbuild"),L=require("jwt-decode"),C=require("openid-client"),F=require("@5minds/processcube_engine_sdk");var U=require("@5minds/processcube_engine_client"),x=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new U.EngineClient(x);var oe={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},ie=.85,w=["external_task.ts","external_task.js"],P=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0,k=new F.Logger("processcube_app_sdk:external_task_adapter"),T={},E;async function v(e){if(e&&!(0,g.existsSync)(e))throw new Error(`Invalid customExternalTasksDirPath. The given path '${e}' does not exist`);C.custom.setHttpOptionsDefaults({timeout:1e5});let s=await M();E=await W(s),await ce(s);let t=le(e);(0,O.watch)(t).on("add",async n=>{if(w.includes((0,c.basename)(n)))return D(n,t)}).on("change",async n=>{if(w.includes((0,c.basename)(n)))return ae(n,t)}).on("unlink",async n=>{w.includes((0,c.basename)(n))&&B(n)}).on("error",n=>k.error(`Watcher error: ${n}`))}async function D(e,s){let t=(0,c.dirname)(e);if((await g.promises.readdir(t)).filter(S=>w.includes(S)).length>1){k.error(`Multiple external task files found in directory ${t}. Stopping all external task workers for this directory.`),T[t]&&B(e);return}let i=await q(e),a=(0,c.relative)(s,t),p=K(a),I=(0,c.join)(__dirname,"lib/ExternalTaskWorkerProcess.cjs"),d=(0,b.fork)(I,{env:{NODE_ENV:process.env.NODE_ENV,PROCESSCUBE_ENGINE_URL:x}});T[t]=d,d.once("disconnect",()=>{delete T[t]}),d.send({action:"create",payload:{topic:p,identity:E,moduleString:i,workerPath:e}})}async function ae(e,s){let t=(0,c.dirname)(e),n=T[t];if(!n)return D(e,s);let r=await q(e),i=(0,c.relative)(s,t),a=K(i);n.send({action:"restart",payload:{topic:a,identity:E,moduleString:r,workerPath:e}})}function B(e){let s=(0,c.dirname)(e),t=T[s];t&&t.kill()}async function M(){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 k.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 C.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 W(e){if(!P||e===null)return oe;let s=e.access_token,t=(0,L.jwtDecode)(s);return{token:e.access_token,userId:t.sub}}async function ce(e){let s=5;if(!P||e===null)return;let n=await de(e)*ie*1e3,r=async()=>{try{let i=await M();E=W(i);for(let a of Object.values(T))a.send({action:"updateIdentity",payload:{identity:E}});s=5,setTimeout(r,n)}catch(i){if(s===0){k.error("Could not refresh identity for external task worker processes. Stopping all external task workers.",{error:i});for(let p of Object.values(T))p.kill();return}k.error("Could not refresh identity for external task worker processes.",{error:i,retryCount:s}),s--;let a=2*1e3;setTimeout(r,a)}};setTimeout(r,n)}async function q(e){let s=await(0,A.build)({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs",external:["@opentelemetry/api"]});if(s.errors.length>0)throw k.error(`Could not transpile file at '${e}'`,{errors:s.errors}),new Error(`Could not transpile file at '${e}'`);return s.warnings.length>0&&k.warn(`Transpiled file at '${e}' with warnings`,{warnings:s.warnings}),s.outputFiles[0].text}async function de(e){let s=e.expires_in;if(!s&&e.expires_at&&(s=Math.floor(e.expires_at-Date.now()/1e3)),s===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return s}function K(e){return e.replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/")}function le(e){let s,t=[e,(0,c.join)(process.cwd(),"app"),(0,c.join)(process.cwd(),"src","app")];for(let n of t)if(n&&(0,g.existsSync)(n)){s=n;break}if(!s)throw new Error("Could not find external tasks directory");return s}function ue(){return o}var N=require("next-auth/jwt"),G=require("next/dist/compiled/@edge-runtime/cookies"),f=require("next/headers"),pe=process.env.NEXTAUTH_URL?.startsWith("https://"),X=`${pe?"__Secure-":""}next-auth.session-token`;async function fe(){let e=await(0,N.getToken)({req:{cookies:(0,f.cookies)(),headers:(0,f.headers)()}});if(e?.expiresAt&&Date.now()>=e.expiresAt*1e3){let t=await fetch(`${process.env.NEXTAUTH_URL}/api/auth/session`,{method:"GET",headers:{"Content-Type":"application/json",cookie:(0,f.cookies)().toString()}}),n=new G.ResponseCookies(t.headers),r=n.get(X);if(r){let i=!1;try{(0,f.cookies)().set(X,r.value,{...r})}catch{i=!0}if(e=await(0,N.getToken)({req:{cookies:i?n:(0,f.cookies)(),headers:(0,f.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 y=require("@5minds/processcube_engine_client");async function Ie(e){return await o.processInstances.query({...e?.query,state:y.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}async function Te(e){let{processInstanceId:s}=e;return new Promise(async(t,n)=>{let r=[],i=async a=>{if(s!==void 0&&a.processInstanceId!==s)return;let I=await o.processInstances.query({processInstanceId:a.processInstanceId});for(let d of r)o.notification.removeSubscription(d);return I.totalCount===0?n(new Error(`Process with instance ID "${a.processInstanceId}" does not exist.`)):t(I.processInstances[0])};if(r.push(await o.notification.onProcessEnded(i)),r.push(await o.notification.onProcessError(i)),r.push(await o.notification.onProcessTerminated(i)),s){let a=await o.processInstances.query({processInstanceId:s,state:[y.DataModels.ProcessInstances.ProcessInstanceState.finished,y.DataModels.ProcessInstances.ProcessInstanceState.terminated,y.DataModels.ProcessInstances.ProcessInstanceState.error]});if(a.totalCount>0){for(let p of r)o.notification.removeSubscription(p);t(a.processInstances[0])}}})}var u=require("@5minds/processcube_engine_client"),l=require("../common/index.cjs");async function ke(e={},s){let{correlationId:t,processInstanceId:n,flowNodeId:r}=e;return new Promise(async(i,a)=>{let p=await o.userTasks.onUserTaskWaiting(async d=>{let S=t!==void 0&&d.correlationId!==t,Z=d.flowNodeInstanceId===void 0,J=n!==void 0&&d.processInstanceId!==n,Q=r!==void 0&&d.flowNodeId!==r;if(S||Z||J||Q)return;let h=await j(d.flowNodeInstanceId,{identity:s});return o.notification.removeSubscription(p,s),h===null?a(new Error(`UserTask with instance ID "${d.flowNodeInstanceId}" does not exist.`)):i(h)},{identity:s}),I=await $({correlationId:t,processInstanceId:n,flowNodeId:r,state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:s});I.userTasks.length>0&&(o.notification.removeSubscription(p,s),i(I.userTasks[0]))})}async function me(e,s={},t={},n){await o.userTasks.finishUserTask(e,t,n);let r={state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended,...s},i=await o.userTasks.query(r,{identity:n});return(0,l.mapUserTask)(i.userTasks[0])}async function $(...e){let s=await o.userTasks.query(...e);return(0,l.mapUserTaskList)(s)}async function Ee(e){let s=await o.userTasks.query({state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e);return(0,l.mapUserTaskList)(s)}async function ge(e,s){let t=await o.userTasks.query({processInstanceId:e,state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},s);return(0,l.mapUserTaskList)(t)}async function ye(e,s){let t=await o.userTasks.query({flowNodeId:e,state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},s);return(0,l.mapUserTaskList)(t)}async function j(e,s){let t=await o.userTasks.query({flowNodeInstanceId:e,state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{...s,limit:1});return t.userTasks.length===0?null:(0,l.mapUserTask)(t.userTasks[0])}async function we(e,s){let t=await o.userTasks.query({correlationId:e,state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},s);return(0,l.mapUserTaskList)(t)}async function Ce(e,s){let t=await o.userTasks.query({state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...s}),n=t.userTasks.filter(r=>r.actualOwnerId===e.userId);return t.userTasks=n,(0,l.mapUserTaskList)(t)}async function Se(e,s){let t=await o.userTasks.query({state:u.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...s}),n=t.userTasks.filter(r=>r.assignedUserIds?.includes(e.userId));return t.userTasks=n,(0,l.mapUserTaskList)(t)}var m=require("next/dist/shared/lib/constants");var H=!1,R=!1;function _e(e={}){let{applicationSdk:s,...t}=e;return async(n,r)=>{R=R||n===m.PHASE_PRODUCTION_BUILD;let i=n===m.PHASE_DEVELOPMENT_SERVER||n===m.PHASE_PRODUCTION_SERVER;return s?.useExternalTasks&&i&&!H&&!R&&(H=!0,await v(s?.customExternalTasksDirPath)),t}}var V=require("next/cache"),Y=require("next/navigation");function xe(e){(0,V.revalidatePath)(e),(0,Y.redirect)(e)}async function Pe(...e){return await o.processModels.startProcessInstance(...e)}async function Ne(...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});
@@ -0,0 +1,15 @@
1
+ import 'only-server';
2
+ import '../common';
3
+ export * from './lib';
4
+ export * from './plugin';
5
+ export * from './server-actions';
6
+ declare global {
7
+ namespace NodeJS {
8
+ interface ProcessEnv {
9
+ PROCESSCUBE_ENGINE_URL?: string;
10
+ PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID?: string;
11
+ PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET?: string;
12
+ PROCESSCUBE_AUTHORITY_URL?: string;
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,52 @@
1
+ var xn=Object.create;var ls=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var In=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,kn=Object.prototype.hasOwnProperty;var H=(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 Nn=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of In(e))!kn.call(t,n)&&n!==s&&ls(t,n,{get:()=>e[n],enumerable:!(r=bn(e,n))||r.enumerable});return t};var Pn=(t,e,s)=>(s=t!=null?xn(vn(t)):{},Nn(e||!t||!t.__esModule?ls(s,"default",{value:t,enumerable:!0}):s,t));var we=v((dc,ps)=>{"use strict";var On=H("path"),re="\\\\/",us=`[^${re}]`,ne="\\.",Ln="\\+",Hn="\\?",Fe="\\/",Dn="(?=.)",fs="[^/]",ot=`(?:${Fe}|$)`,hs=`(?:^|${Fe})`,at=`${ne}{1,2}${ot}`,Fn=`(?!${ne})`,$n=`(?!${hs}${at})`,Mn=`(?!${ne}{0,1}${ot})`,Un=`(?!${at})`,Wn=`[^.${Fe}]`,Bn=`${fs}*?`,ds={DOT_LITERAL:ne,PLUS_LITERAL:Ln,QMARK_LITERAL:Hn,SLASH_LITERAL:Fe,ONE_CHAR:Dn,QMARK:fs,END_ANCHOR:ot,DOTS_SLASH:at,NO_DOT:Fn,NO_DOTS:$n,NO_DOT_SLASH:Mn,NO_DOTS_SLASH:Un,QMARK_NO_DOT:Wn,STAR:Bn,START_ANCHOR:hs},Gn={...ds,SLASH_LITERAL:`[${re}]`,QMARK:us,STAR:`${us}*?`,DOTS_SLASH:`${ne}{1,2}(?:[${re}]|$)`,NO_DOT:`(?!${ne})`,NO_DOTS:`(?!(?:^|[${re}])${ne}{1,2}(?:[${re}]|$))`,NO_DOT_SLASH:`(?!${ne}{0,1}(?:[${re}]|$))`,NO_DOTS_SLASH:`(?!${ne}{1,2}(?:[${re}]|$))`,QMARK_NO_DOT:`[^.${re}]`,START_ANCHOR:`(?:^|[${re}])`,END_ANCHOR:`(?:[${re}]|$)`},qn={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:qn,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:On.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?Gn:ds}}});var $e=v(Y=>{"use strict";var Kn=H("path"),Vn=process.platform==="win32",{REGEX_BACKSLASH:jn,REGEX_REMOVE_BACKSLASH:Yn,REGEX_SPECIAL_CHARS:zn,REGEX_SPECIAL_CHARS_GLOBAL:Xn}=we();Y.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Y.hasRegexChars=t=>zn.test(t);Y.isRegexChar=t=>t.length===1&&Y.hasRegexChars(t);Y.escapeRegex=t=>t.replace(Xn,"\\$1");Y.toPosixSlashes=t=>t.replace(jn,"/");Y.removeBackslashes=t=>t.replace(Yn,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:Vn===!0||Kn.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 As=v((_c,ws)=>{"use strict";var _s=$e(),{CHAR_ASTERISK:ct,CHAR_AT:Qn,CHAR_BACKWARD_SLASH:Ae,CHAR_COMMA:Zn,CHAR_DOT:lt,CHAR_EXCLAMATION_MARK:ut,CHAR_FORWARD_SLASH:Rs,CHAR_LEFT_CURLY_BRACE:ft,CHAR_LEFT_PARENTHESES:ht,CHAR_LEFT_SQUARE_BRACKET:Jn,CHAR_PLUS:ei,CHAR_QUESTION_MARK:Es,CHAR_RIGHT_CURLY_BRACE:ti,CHAR_RIGHT_PARENTHESES:gs,CHAR_RIGHT_SQUARE_BRACKET:si}=we(),ms=t=>t===Rs||t===Ae,ys=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},ri=(t,e)=>{let s=e||{},r=t.length-1,n=s.parts===!0||s.scanToEnd===!0,o=[],i=[],a=[],c=t,u=-1,f=0,h=0,l=!1,m=!1,y=!1,w=!1,S=!1,x=!1,D=!1,$=!1,ee=!1,q=!1,ae=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 V;if(A===Ae){D=I.backslashes=!0,A=L(),A===ft&&(x=!0);continue}if(x===!0||A===ft){for(ae++;G()!==!0&&(A=L());){if(A===Ae){D=I.backslashes=!0,L();continue}if(A===ft){ae++;continue}if(x!==!0&&A===lt&&(A=L())===lt){if(l=I.isBrace=!0,y=I.isGlob=!0,q=!0,n===!0)continue;break}if(x!==!0&&A===Zn){if(l=I.isBrace=!0,y=I.isGlob=!0,q=!0,n===!0)continue;break}if(A===ti&&(ae--,ae===0)){x=!1,l=I.isBrace=!0,q=!0;break}}if(n===!0)continue;break}if(A===Rs){if(o.push(u),i.push(I),I={value:"",depth:0,isGlob:!1},q===!0)continue;if(K===lt&&u===f+1){f+=2;continue}h=u+1;continue}if(s.noext!==!0&&(A===ei||A===Qn||A===ct||A===Es||A===ut)===!0&&_()===ht){if(y=I.isGlob=!0,w=I.isExtglob=!0,q=!0,A===ut&&u===f&&(ee=!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===ct){if(K===ct&&(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===Jn){for(;G()!==!0&&(V=L());){if(V===Ae){D=I.backslashes=!0,L();continue}if(V===si){m=I.isBracket=!0,y=I.isGlob=!0,q=!0;break}}if(n===!0)continue;break}if(s.nonegate!==!0&&A===ut&&u===f){$=I.negated=!0,f++;continue}if(s.noparen!==!0&&A===ht){if(y=I.isGlob=!0,n===!0){for(;G()!==!0&&(A=L());){if(A===ht){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}}s.noext===!0&&(w=!1,y=!1);let P=c,ce="",d="";f>0&&(ce=c.slice(0,f),c=c.slice(f),h-=f),P&&y===!0&&h>0?(P=c.slice(0,h),d=c.slice(h)):y===!0?(P="",d=c):P=c,P&&P!==""&&P!=="/"&&P!==c&&ms(P.charCodeAt(P.length-1))&&(P=P.slice(0,-1)),s.unescape===!0&&(d&&(d=_s.removeBackslashes(d)),P&&D===!0&&(P=_s.removeBackslashes(P)));let p={prefix:ce,input:t,start:f,base:P,glob:d,isBrace:l,isBracket:m,isGlob:y,isExtglob:w,isGlobstar:S,negated:$,negatedExtglob:ee};if(s.tokens===!0&&(p.maxDepth=0,ms(A)||i.push(I),p.tokens=i),s.parts===!0||s.tokens===!0){let V;for(let b=0;b<o.length;b++){let te=V?V+1:f,se=o[b],z=t.slice(te,se);s.tokens&&(b===0&&f!==0?(i[b].isPrefix=!0,i[b].value=ce):i[b].value=z,ys(i[b]),p.maxDepth+=i[b].depth),(b!==0||z!=="")&&a.push(z),V=se}if(V&&V+1<t.length){let b=t.slice(V+1);a.push(b),s.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};ws.exports=ri});var Cs=v((Ec,Ts)=>{"use strict";var Me=we(),X=$e(),{MAX_LENGTH:Ue,POSIX_REGEX_SOURCE:ni,REGEX_NON_SPECIAL_CHARS:ii,REGEX_SPECIAL_CHARS_BACKREF:oi,REPLACEMENTS:Ss}=Me,ai=(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},Ee=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,dt=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=Ss[t]||t;let s={...e},r=typeof s.maxLength=="number"?Math.min(Ue,s.maxLength):Ue,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),u=Me.globChars(c),f=Me.extglobChars(u),{DOT_LITERAL:h,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:ee,STAR:q,START_ANCHOR:ae}=u,K=g=>`(${a}(?:(?!${ae}${g.dot?w:h}).)*?)`,A=s.dot?"":S,I=s.dot?$:ee,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 L=[],P=[],ce=[],d=o,p,V=()=>_.index===n-1,b=_.peek=(g=1)=>t[_.index+g],te=_.advance=()=>t[++_.index]||"",se=()=>t.slice(_.index+1),z=(g="",O=0)=>{_.consumed+=g,_.index+=O},Oe=g=>{_.output+=g.output!=null?g.output:g.value,z(g.value)},Tn=()=>{let g=1;for(;b()==="!"&&(b(2)!=="("||b(3)==="?");)te(),_.start++,g++;return g%2===0?!1:(_.negated=!0,_.start++,!0)},Le=g=>{_[g]++,ce.push(g)},le=g=>{_[g]--,ce.pop()},C=g=>{if(d.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,-d.output.length),d.type="star",d.value="*",d.output=G,_.output+=d.output)}if(L.length&&g.type!=="paren"&&(L[L.length-1].inner+=g.value),(g.value||g.output)&&Oe(g),d&&d.type==="text"&&g.type==="text"){d.value+=g.value,d.output=(d.output||"")+g.value;return}g.prev=d,i.push(g),d=g},He=(g,O)=>{let E={...f[O],conditions:1,inner:""};E.prev=d,E.parens=_.parens,E.output=_.output;let T=(s.capture?"(":"")+E.open;Le("parens"),C({type:g,value:O,output:_.output?"":y}),C({type:"paren",extglob:!0,value:te(),output:T}),L.push(E)},Cn=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||V()||/^\)+$/.test(se()))&&(O=g.close=`)$))${T}`),g.inner.includes("*")&&(E=se())&&/^\.[^\\/.]+$/.test(E)){let F=dt(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}),le("parens")};if(s.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let g=!1,O=t.replace(oi,(E,T,F,j,U,it)=>j==="\\"?(g=!0,E):j==="?"?T?T+j+(U?$.repeat(U.length):""):it===0?I+(U?$.repeat(U.length):""):$.repeat(F.length):j==="."?h.repeat(F.length):j==="*"?T?T+j+(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(;!V();){if(p=te(),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(se()),F=0;if(T&&T[0].length>2&&(F=T[0].length,_.index+=F,F%2!==0&&(p+="\\")),s.unescape===!0?p=te():p+=te(),_.brackets===0){C({type:"text",value:p});continue}}if(_.brackets>0&&(p!=="]"||d.value==="["||d.value==="[^")){if(s.posix!==!1&&p===":"){let E=d.value.slice(1);if(E.includes("[")&&(d.posix=!0,E.includes(":"))){let T=d.value.lastIndexOf("["),F=d.value.slice(0,T),j=d.value.slice(T+2),U=ni[j];if(U){d.value=F+U,_.backtrack=!0,te(),!o.output&&i.indexOf(d)===1&&(o.output=y);continue}}}(p==="["&&b()!==":"||p==="-"&&b()==="]")&&(p=`\\${p}`),p==="]"&&(d.value==="["||d.value==="[^")&&(p=`\\${p}`),s.posix===!0&&p==="!"&&d.value==="["&&(p="^"),d.value+=p,Oe({value:p});continue}if(_.quotes===1&&p!=='"'){p=X.escapeRegex(p),d.value+=p,Oe({value:p});continue}if(p==='"'){_.quotes=_.quotes===1?0:1,s.keepQuotes===!0&&C({type:"text",value:p});continue}if(p==="("){Le("parens"),C({type:"paren",value:p});continue}if(p===")"){if(_.parens===0&&s.strictBrackets===!0)throw new SyntaxError(Ee("opening","("));let E=L[L.length-1];if(E&&_.parens===E.parens+1){Cn(L.pop());continue}C({type:"paren",value:p,output:_.parens?")":"\\)"}),le("parens");continue}if(p==="["){if(s.nobracket===!0||!se().includes("]")){if(s.nobracket!==!0&&s.strictBrackets===!0)throw new SyntaxError(Ee("closing","]"));p=`\\${p}`}else Le("brackets");C({type:"bracket",value:p});continue}if(p==="]"){if(s.nobracket===!0||d&&d.type==="bracket"&&d.value.length===1){C({type:"text",value:p,output:`\\${p}`});continue}if(_.brackets===0){if(s.strictBrackets===!0)throw new SyntaxError(Ee("opening","["));C({type:"text",value:p,output:`\\${p}`});continue}le("brackets");let E=d.value.slice(1);if(d.posix!==!0&&E[0]==="^"&&!E.includes("/")&&(p=`/${p}`),d.value+=p,Oe({value:p}),s.literalBrackets===!1||X.hasRegexChars(E))continue;let T=X.escapeRegex(d.value);if(_.output=_.output.slice(0,-d.value.length),s.literalBrackets===!0){_.output+=T,d.value=T;continue}d.value=`(${a}${T}|${d.value})`,_.output+=d.value;continue}if(p==="{"&&s.nobrace!==!0){Le("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(s.nobrace===!0||!E){C({type:"text",value:p,output:p});continue}let T=")";if(E.dots===!0){let F=i.slice(),j=[];for(let U=F.length-1;U>=0&&(i.pop(),F[U].type!=="brace");U--)F[U].type!=="dots"&&j.unshift(F[U].value);T=ai(j,s),_.backtrack=!0}if(E.comma!==!0&&E.dots!==!0){let F=_.output.slice(0,E.outputIndex),j=_.tokens.slice(E.tokensIndex);E.value=E.output="\\{",p=T="\\}",_.output=F;for(let U of j)_.output+=U.output||U.value}C({type:"brace",value:p,output:T}),le("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&&ce[ce.length-1]==="braces"&&(T.comma=!0,E="|"),C({type:"comma",value:p,output:E});continue}if(p==="/"){if(d.type==="dot"&&_.index===_.start+1){_.start=_.index+1,_.consumed="",_.output="",i.pop(),d=o;continue}C({type:"slash",value:p,output:m});continue}if(p==="."){if(_.braces>0&&d.type==="dot"){d.value==="."&&(d.output=h);let E=P[P.length-1];d.type="dots",d.output+=p,d.value+=p,E.dots=!0;continue}if(_.braces+_.parens===0&&d.type!=="bos"&&d.type!=="slash"){C({type:"text",value:p,output:h});continue}C({type:"dot",value:p,output:h});continue}if(p==="?"){if(!(d&&d.value==="(")&&s.noextglob!==!0&&b()==="("&&b(2)!=="?"){He("qmark",p);continue}if(d&&d.type==="paren"){let T=b(),F=p;if(T==="<"&&!X.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(d.value==="("&&!/[!=<:]/.test(T)||T==="<"&&!/<([!=]|\w+>)/.test(se()))&&(F=`\\${p}`),C({type:"text",value:p,output:F});continue}if(s.dot!==!0&&(d.type==="slash"||d.type==="bos")){C({type:"qmark",value:p,output:ee});continue}C({type:"qmark",value:p,output:$});continue}if(p==="!"){if(s.noextglob!==!0&&b()==="("&&(b(2)!=="?"||!/[!=<:]/.test(b(3)))){He("negate",p);continue}if(s.nonegate!==!0&&_.index===0){Tn();continue}}if(p==="+"){if(s.noextglob!==!0&&b()==="("&&b(2)!=="?"){He("plus",p);continue}if(d&&d.value==="("||s.regex===!1){C({type:"plus",value:p,output:l});continue}if(d&&(d.type==="bracket"||d.type==="paren"||d.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=ii.exec(se());E&&(p+=E[0],_.index+=E[0].length),C({type:"text",value:p});continue}if(d&&(d.type==="globstar"||d.star===!0)){d.type="star",d.star=!0,d.value+=p,d.output=G,_.backtrack=!0,_.globstar=!0,z(p);continue}let g=se();if(s.noextglob!==!0&&/^\([^?]/.test(g)){He("star",p);continue}if(d.type==="star"){if(s.noglobstar===!0){z(p);continue}let E=d.prev,T=E.prev,F=E.type==="slash"||E.type==="bos",j=T&&(T.type==="star"||T.type==="globstar");if(s.bash===!0&&(!F||g[0]&&g[0]!=="/")){C({type:"star",value:p,output:""});continue}let U=_.braces>0&&(E.type==="comma"||E.type==="brace"),it=L.length&&(E.type==="pipe"||E.type==="paren");if(!F&&E.type!=="paren"&&!U&&!it){C({type:"star",value:p,output:""});continue}for(;g.slice(0,3)==="/**";){let De=t[_.index+4];if(De&&De!=="/")break;g=g.slice(3),z("/**",3)}if(E.type==="bos"&&V()){d.type="globstar",d.value+=p,d.output=K(s),_.output=d.output,_.globstar=!0,z(p);continue}if(E.type==="slash"&&E.prev.type!=="bos"&&!j&&V()){_.output=_.output.slice(0,-(E.output+d.output).length),E.output=`(?:${E.output}`,d.type="globstar",d.output=K(s)+(s.strictSlashes?")":"|$)"),d.value+=p,_.globstar=!0,_.output+=E.output+d.output,z(p);continue}if(E.type==="slash"&&E.prev.type!=="bos"&&g[0]==="/"){let De=g[1]!==void 0?"|$":"";_.output=_.output.slice(0,-(E.output+d.output).length),E.output=`(?:${E.output}`,d.type="globstar",d.output=`${K(s)}${m}|${m}${De})`,d.value+=p,_.output+=E.output+d.output,_.globstar=!0,z(p+te()),C({type:"slash",value:"/",output:""});continue}if(E.type==="bos"&&g[0]==="/"){d.type="globstar",d.value+=p,d.output=`(?:^|${m}|${K(s)}${m})`,_.output=d.output,_.globstar=!0,z(p+te()),C({type:"slash",value:"/",output:""});continue}_.output=_.output.slice(0,-d.output.length),d.type="globstar",d.output=K(s),d.value+=p,_.output+=d.output,_.globstar=!0,z(p);continue}let O={type:"star",value:p,output:G};if(s.bash===!0){O.output=".*?",(d.type==="bos"||d.type==="slash")&&(O.output=A+O.output),C(O);continue}if(d&&(d.type==="bracket"||d.type==="paren")&&s.regex===!0){O.output=p,C(O);continue}(_.index===_.start||d.type==="slash"||d.type==="dot")&&(d.type==="dot"?(_.output+=x,d.output+=x):s.dot===!0?(_.output+=D,d.output+=D):(_.output+=A,d.output+=A),b()!=="*"&&(_.output+=y,d.output+=y)),C(O)}for(;_.brackets>0;){if(s.strictBrackets===!0)throw new SyntaxError(Ee("closing","]"));_.output=X.escapeLast(_.output,"["),le("brackets")}for(;_.parens>0;){if(s.strictBrackets===!0)throw new SyntaxError(Ee("closing",")"));_.output=X.escapeLast(_.output,"("),le("parens")}for(;_.braces>0;){if(s.strictBrackets===!0)throw new SyntaxError(Ee("closing","}"));_.output=X.escapeLast(_.output,"{"),le("braces")}if(s.strictSlashes!==!0&&(d.type==="star"||d.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 _};dt.fastpaths=(t,e)=>{let s={...e},r=typeof s.maxLength=="number"?Math.min(Ue,s.maxLength):Ue,n=t.length;if(n>r)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${r}`);t=Ss[t]||t;let o=X.isWindows(e),{DOT_LITERAL:i,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:u,NO_DOT:f,NO_DOTS:h,NO_DOTS_SLASH:l,STAR:m,START_ANCHOR:y}=Me.globChars(o),w=s.dot?h:f,S=s.dot?l:f,x=s.capture?"":"?:",D={negated:!1,prefix:""},$=s.bash===!0?".*?":m;s.capture&&($=`(${$})`);let ee=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+ee(s);case"**/*":return`(?:${w}${ee(s)}${a})?${S}${c}${$}`;case"**/*.*":return`(?:${w}${ee(s)}${a})?${S}${$}${i}${c}${$}`;case"**/.*":return`(?:${w}${ee(s)}${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}}},ae=X.removePrefix(t,D),K=q(ae);return K&&s.strictSlashes!==!0&&(K+=`${a}?`),K};Ts.exports=dt});var bs=v((gc,xs)=>{"use strict";var ci=H("path"),li=As(),pt=Cs(),_t=$e(),ui=we(),fi=t=>t&&typeof t=="object"&&!Array.isArray(t),M=(t,e,s=!1)=>{if(Array.isArray(t)){let f=t.map(l=>M(l,e,s));return l=>{for(let m of f){let y=m(l);if(y)return y}return!1}}let r=fi(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 f={...e,ignore:null,onMatch:null,onResult:null};c=M(n.ignore,f,s)}let u=(f,h=!1)=>{let{isMatch:l,match:m,output:y}=M.test(f,i,e,{glob:t,posix:o}),w={glob:t,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,h?w:!1):c(f)?(typeof n.onIgnore=="function"&&n.onIgnore(w),w.isMatch=!1,h?w:!1):(typeof n.onMatch=="function"&&n.onMatch(w),h?w:!0)};return s&&(u.state=a),u};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(ci.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)=>li(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=ui;xs.exports=M});var Et=v((mc,Is)=>{"use strict";Is.exports=bs()});var Ds=v((yc,Hs)=>{"use strict";var Te=H("fs"),{Readable:hi}=H("stream"),Se=H("path"),{promisify:qe}=H("util"),gt=Et(),di=qe(Te.readdir),pi=qe(Te.stat),vs=qe(Te.lstat),_i=qe(Te.realpath),Ei="!",Os="READDIRP_RECURSIVE_ERROR",gi=new Set(["ENOENT","EPERM","EACCES","ELOOP",Os]),mt="files",Ls="directories",Be="files_directories",We="all",ks=[mt,Ls,Be,We],mi=t=>gi.has(t.code),[Ns,yi]=process.versions.node.split(".").slice(0,2).map(t=>Number.parseInt(t,10)),Ri=process.platform==="win32"&&(Ns>10||Ns===10&&yi>=5),Ps=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)===Ei?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))}}},Ge=class t extends hi{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=Ps(s.fileFilter),this._directoryFilter=Ps(s.directoryFilter);let o=s.lstat?vs:pi;Ri?this._stat=i=>o(i,{bigint:!0}):this._stat=o,this._maxDepth=s.depth,this._wantsDir=[Ls,Be,We].includes(n),this._wantsFile=[mt,Be,We].includes(n),this._wantsEverything=n===We,this._root=Se.resolve(r),this._isDirent="Dirent"in Te&&!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 di(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=Se.resolve(Se.join(s,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){mi(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 _i(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 s=e&&e[this._statsProp];return s&&this._wantsEverything&&!s.isDirectory()}},ge=(t,e={})=>{let s=e.entryType||e.type;if(s==="both"&&(s=Be),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&&!ks.includes(s))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=t,new Ge(e)},wi=(t,e={})=>new Promise((s,r)=>{let n=[];ge(t,e).on("data",o=>n.push(o)).on("end",()=>s(n)).on("error",o=>r(o))});ge.promise=wi;ge.ReaddirpStream=Ge;ge.default=ge;Hs.exports=ge});var yt=v((Rc,Fs)=>{Fs.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 Gs=v((Ws,Bs)=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});var Us=Et(),Ai=yt(),$s="!",Si={returnIndex:!1},Ti=t=>Array.isArray(t)?t:[t],Ci=(t,e)=>{if(typeof t=="function")return t;if(typeof t=="string"){let s=Us(t,e);return r=>t===r||s(r)}return t instanceof RegExp?s=>t.test(s):s=>!1},Ms=(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=Ai(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(s.slice(1));for(let c=0;c<t.length;c++){let u=t[c];if(n?u(...a):u(i))return r?c:!0}return r?-1:!1},Rt=(t,e,s=Si)=>{if(t==null)throw new TypeError("anymatch: specify first argument");let r=typeof s=="boolean"?{returnIndex:s}:s,n=r.returnIndex||!1,o=Ti(t),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=>Ci(c,r));return e==null?(c,u=!1)=>Ms(a,i,c,typeof u=="boolean"?u:!1):Ms(a,i,e,n)};Rt.default=Rt;Bs.exports=Rt});var Ks=v((wc,qs)=>{qs.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 wt=v((Ac,js)=>{var xi=Ks(),Vs={"{":"}","(":")","[":"]"},bi=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=Vs[a];if(c){var u=t.indexOf(c,e);u!==-1&&(e=u+1)}if(t[e]==="!")return!0}else e++}return!1},Ii=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=Vs[s];if(r){var n=t.indexOf(r,e);n!==-1&&(e=n+1)}if(t[e]==="!")return!0}else e++}return!1};js.exports=function(e,s){if(typeof e!="string"||e==="")return!1;if(xi(e))return!0;var r=bi;return s&&s.strict===!1&&(r=Ii),r(e)}});var zs=v((Sc,Ys)=>{"use strict";var vi=wt(),ki=H("path").posix.dirname,Ni=H("os").platform()==="win32",At="/",Pi=/\\/g,Oi=/[\{\[].*[\}\]]$/,Li=/(^|[^\\])([\{\[]|\([^\)]+$)/,Hi=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Ys.exports=function(e,s){var r=Object.assign({flipBackslashes:!0},s);r.flipBackslashes&&Ni&&e.indexOf(At)<0&&(e=e.replace(Pi,At)),Oi.test(e)&&(e+=At),e+="a";do e=ki(e);while(vi(e)||Li.test(e));return e.replace(Hi,"$1")}});var Ke=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 Ve=v((Cc,Qs)=>{"use strict";var Xs=Ke();Qs.exports=(t,e={})=>{let s=(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+=s(c);return a};return s(t)}});var Js=v((xc,Zs)=>{"use strict";Zs.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var cr=v((bc,ar)=>{"use strict";var er=Js(),ue=(t,e,s)=>{if(er(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(er(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(ue.cache.hasOwnProperty(c))return ue.cache[c].result;let u=Math.min(t,e),f=Math.max(t,e);if(Math.abs(u-f)===1){let w=t+"|"+e;return r.capture?`(${w})`:r.wrap===!1?w:`(?:${w})`}let h=or(t)||or(e),l={min:t,max:e,a:u,b:f},m=[],y=[];if(h&&(l.isPadded=h,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=Di(y,m,r),r.capture===!0?l.result=`(${l.result})`:r.wrap!==!1&&m.length+y.length>1&&(l.result=`(?:${l.result})`),ue.cache[c]=l,l.result};function Di(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 Fi(t,e){let s=1,r=1,n=rr(t,s),o=new Set([e]);for(;t<=n&&n<=e;)o.add(n),s+=1,n=rr(t,s);for(n=nr(e+1,r)-1;t<n&&n<=e;)o.add(n),r+=1,n=nr(e+1,r)-1;return o=[...o],o.sort(Ui),o}function $i(t,e,s){if(t===e)return{pattern:t,count:[],digits:0};let r=Mi(t,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+=Wi(c,u,s):i++}return i&&(o+=s.shorthand===!0?"\\d":"[0-9]"),{pattern:o,count:[i],digits:n}}function tr(t,e,s,r){let n=Fi(t,e),o=[],i=t,a;for(let c=0;c<n.length;c++){let u=n[c],f=$i(String(i),String(u),r),h="";if(!s.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}s.isPadded&&(h=Bi(u,s,r)),f.string=h+f.pattern+ir(f.count),o.push(f),i=u+1,a=f}return o}function St(t,e,s,r,n){let o=[];for(let i of t){let{string:a}=i;!r&&!sr(e,"string",a)&&o.push(s+a),r&&sr(e,"string",a)&&o.push(s+a)}return o}function Mi(t,e){let s=[];for(let r=0;r<t.length;r++)s.push([t[r],e[r]]);return s}function Ui(t,e){return t>e?1:e>t?-1:0}function sr(t,e,s){return t.some(r=>r[e]===s)}function rr(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function nr(t,e){return t-t%Math.pow(10,e)}function ir(t){let[e=0,s=""]=t;return s||e>1?`{${e+(s?","+s:"")}}`:""}function Wi(t,e,s){return`[${t}${e-t===1?"":"-"}${e}]`}function or(t){return/^-?(0+)\d/.test(t)}function Bi(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}}`}}ue.cache={};ue.clearCache=()=>ue.cache={};ar.exports=ue});var xt=v((Ic,Er)=>{"use strict";var Gi=H("util"),fr=cr(),lr=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),qi=t=>e=>t===!0?Number(e):String(e),Tt=t=>typeof t=="number"||typeof t=="string"&&t!=="",Ce=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},Ki=(t,e,s)=>typeof t=="string"||typeof e=="string"?!0:s.stringify===!0,Vi=(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},ur=(t,e)=>{let s=t[0]==="-"?"-":"";for(s&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return s?"-"+t:t},ji=(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},hr=(t,e,s,r)=>{if(s)return fr(t,e,{wrap:!1,...r});let n=String.fromCharCode(t);if(t===e)return n;let o=String.fromCharCode(e);return`[${n}-${o}]`},dr=(t,e,s)=>{if(Array.isArray(t)){let r=s.wrap===!0,n=s.capture?"":"?:";return r?`(${n}${t.join("|")})`:t.join("|")}return fr(t,e,s)},pr=(...t)=>new RangeError("Invalid range arguments: "+Gi.inspect(...t)),_r=(t,e,s)=>{if(s.strictRanges===!0)throw pr([t,e]);return[]},Yi=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},zi=(t,e,s=1,r={})=>{let n=Number(t),o=Number(e);if(!Number.isInteger(n)||!Number.isInteger(o)){if(r.strictRanges===!0)throw pr([t,e]);return[]}n===0&&(n=0),o===0&&(o=0);let i=n>o,a=String(t),c=String(e),u=String(s);s=Math.max(Math.abs(s),1);let f=Ct(a)||Ct(c)||Ct(u),h=f?Math.max(a.length,c.length,u.length):0,l=f===!1&&Ki(t,e,r)===!1,m=r.transform||qi(l);if(r.toRegex&&s===1)return hr(ur(t,h),ur(e,h),!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&&s>1?w(n):S.push(Vi(m(n,x),h,l)),n=i?n-s:n+s,x++;return r.toRegex===!0?s>1?ji(y,r):dr(S,null,{wrap:!1,...r}):S},Xi=(t,e,s=1,r={})=>{if(!Ce(t)&&t.length>1||!Ce(e)&&e.length>1)return _r(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),u=Math.max(o,i);if(r.toRegex&&s===1)return hr(c,u,!1,r);let f=[],h=0;for(;a?o>=i:o<=i;)f.push(n(o,h)),o=a?o-s:o+s,h++;return r.toRegex===!0?dr(f,null,{wrap:!1,options:r}):f},je=(t,e,s,r={})=>{if(e==null&&Tt(t))return[t];if(!Tt(t)||!Tt(e))return _r(t,e,r);if(typeof s=="function")return je(t,e,1,{transform:s});if(lr(s))return je(t,e,0,s);let n={...r};return n.capture===!0&&(n.wrap=!0),s=s||n.step||1,Ce(s)?Ce(t)&&Ce(e)?zi(t,e,s,n):Xi(t,e,Math.max(Math.abs(s),1),n):s!=null&&!lr(s)?Yi(s,n):je(t,e,1,s)};Er.exports=je});var yr=v((vc,mr)=>{"use strict";var Qi=xt(),gr=Ke(),Zi=(t,e={})=>{let s=(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),h=Qi(...f,{...e,wrap:!1,toRegex:!0});if(h.length!==0)return f.length>1&&h.length>1?`(${h})`:h}if(r.nodes)for(let f of r.nodes)u+=s(f,r);return u};return s(t)};mr.exports=Zi});var Ar=v((kc,wr)=>{"use strict";var Ji=xt(),Rr=Ve(),me=Ke(),fe=(t="",e="",s=!1)=>{let r=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return s?me.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let o of n)r.push(fe(o,e,s));else for(let o of e)s===!0&&typeof o=="string"&&(o=`{${o}}`),r.push(Array.isArray(o)?fe(n,o,s):n+o);return me.flatten(r)},eo=(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(fe(a.pop(),Rr(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(fe(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let h=me.reduce(n.nodes);if(me.exceedsLimit(...h,e.step,s))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let l=Ji(...h,e);l.length===0&&(l=Rr(n,e)),a.push(fe(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 h=0;h<n.nodes.length;h++){let l=n.nodes[h];if(l.type==="comma"&&n.type==="brace"){h===1&&u.push(""),u.push("");continue}if(l.type==="close"){a.push(fe(a.pop(),u,c));continue}if(l.value&&l.type!=="open"){u.push(fe(u.pop(),l.value));continue}l.nodes&&r(l,n)}return u};return me.flatten(r(t))};wr.exports=eo});var Tr=v((Nc,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((Pc,Ir)=>{"use strict";var to=Ve(),{MAX_LENGTH:Cr,CHAR_BACKSLASH:bt,CHAR_BACKTICK:so,CHAR_COMMA:ro,CHAR_DOT:no,CHAR_LEFT_PARENTHESES:io,CHAR_RIGHT_PARENTHESES:oo,CHAR_LEFT_CURLY_BRACE:ao,CHAR_RIGHT_CURLY_BRACE:co,CHAR_LEFT_SQUARE_BRACKET:xr,CHAR_RIGHT_SQUARE_BRACKET:br,CHAR_DOUBLE_QUOTE:lo,CHAR_SINGLE_QUOTE:uo,CHAR_NO_BREAK_SPACE:fo,CHAR_ZERO_WIDTH_NOBREAK_SPACE:ho}=Tr(),po=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let s=e||{},r=typeof s.maxLength=="number"?Math.min(Cr,s.maxLength):Cr;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,u=t.length,f=0,h=0,l,m={},y=()=>t[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===ho||l===fo)){if(l===bt){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===bt){l+=y();continue}if(x===br&&(c--,c===0))break}w({type:"text",value:l});continue}if(l===io){i=w({type:"paren",nodes:[]}),o.push(i),w({type:"text",value:l});continue}if(l===oo){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===lo||l===uo||l===so){let S=l,x;for(e.keepQuotes!==!0&&(l="");f<u&&(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===ao){h++;let x={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||i.dollar===!0,depth:h,commas:0,ranges:0,nodes:[]};i=w(x),o.push(i),w({type:"open",value:l});continue}if(l===co){if(i.type!=="brace"){w({type:"text",value:l});continue}let S="close";i=o.pop(),i.close=!0,w({type:S,value:l}),h--,i=o[o.length-1];continue}if(l===ro&&h>0){if(i.ranges>0){i.ranges=0;let S=i.nodes.shift();i.nodes=[S,{type:"text",value:to(i)}]}w({type:"comma",value:l}),i.commas++;continue}if(l===no&&h>0&&i.commas===0){let S=i.nodes;if(h===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=po});var Pr=v((Oc,Nr)=>{"use strict";var kr=Ve(),_o=yr(),Eo=Ar(),go=vr(),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={})=>go(t,e);Q.stringify=(t,e={})=>kr(typeof t=="string"?Q.parse(t,e):t,e);Q.compile=(t,e={})=>(typeof t=="string"&&(t=Q.parse(t,e)),_o(t,e));Q.expand=(t,e={})=>{typeof t=="string"&&(t=Q.parse(t,e));let s=Eo(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);Nr.exports=Q});var Or=v((Lc,mo)=>{mo.exports=["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","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((Hc,Lr)=>{Lr.exports=Or()});var Fr=v((Dc,Dr)=>{"use strict";var yo=H("path"),Ro=Hr(),wo=new Set(Ro);Dr.exports=t=>wo.has(yo.extname(t).slice(1).toLowerCase())});var Ye=v(R=>{"use strict";var{sep:Ao}=H("path"),{platform:It}=process,So=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_FLAG_MUST_SCAN_SUBDIRS=1;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=`.${Ao}`;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=So.type()==="OS400"});var Gr=v(($c,Br)=>{"use strict";var ie=H("fs"),W=H("path"),{promisify:ve}=H("util"),To=Fr(),{isWindows:Co,isLinux:xo,EMPTY_FN:bo,EMPTY_STR:Io,KEY_LISTENERS:ye,KEY_ERR:vt,KEY_RAW:xe,HANDLER_KEYS:vo,EV_CHANGE:Xe,EV_ADD:ze,EV_ADD_DIR:ko,EV_ERROR:Mr,STR_DATA:No,STR_END:Po,BRACE_START:Oo,STAR:Lo}=Ye(),Ho="watch",Do=ve(ie.open),Ur=ve(ie.stat),Fo=ve(ie.lstat),$o=ve(ie.close),kt=ve(ie.realpath),Mo={lstat:Fo,stat:Ur},Pt=(t,e)=>{t instanceof Set?t.forEach(e):e(t)},be=(t,e,s)=>{let r=t[e];r instanceof Set||(t[e]=r=new Set([r])),r.add(s)},Uo=t=>e=>{let s=t[e];s instanceof Set?s.clear():delete t[e]},Ie=(t,e,s)=>{let r=t[e];r instanceof Set?r.delete(s):r===s&&delete t[e]},Wr=t=>t instanceof Set?t.size===0:!t,Qe=new Map;function $r(t,e,s,r,n){let o=(i,a)=>{s(t),n(i,a,{watchedPath:t}),a&&t!==a&&Ze(W.resolve(t,a),ye,W.join(t,a))};try{return ie.watch(t,e,o)}catch(i){r(i)}}var Ze=(t,e,s,r,n)=>{let o=Qe.get(t);o&&Pt(o[e],i=>{i(s,r,n)})},Wo=(t,e,s,r)=>{let{listener:n,errHandler:o,rawEmitter:i}=r,a=Qe.get(e),c;if(!s.persistent)return c=$r(t,s,n,o,i),c.close.bind(c);if(a)be(a,ye,n),be(a,vt,o),be(a,xe,i);else{if(c=$r(t,s,Ze.bind(null,e,ye),o,Ze.bind(null,e,xe)),!c)return;c.on(Mr,async u=>{let f=Ze.bind(null,e,vt);if(a.watcherUnusable=!0,Co&&u.code==="EPERM")try{let h=await Do(t,"r");await $o(h),f(u)}catch{}else f(u)}),a={listeners:n,errHandlers:o,rawEmitters:i,watcher:c},Qe.set(e,a)}return()=>{Ie(a,ye,n),Ie(a,vt,o),Ie(a,xe,i),Wr(a.listeners)&&(a.watcher.close(),Qe.delete(e),vo.forEach(Uo(a)),a.watcher=void 0,Object.freeze(a))}},Nt=new Map,Bo=(t,e,s,r)=>{let{listener:n,rawEmitter:o}=r,i=Nt.get(e),a=new Set,c=new Set,u=i&&i.options;return u&&(u.persistent<s.persistent||u.interval>s.interval)&&(a=i.listeners,c=i.rawEmitters,ie.unwatchFile(e),i=void 0),i?(be(i,ye,n),be(i,xe,o)):(i={listeners:n,rawEmitters:o,options:s,watcher:ie.watchFile(e,s,(f,h)=>{Pt(i.rawEmitters,m=>{m(Xe,e,{curr:f,prev:h})});let l=f.mtimeMs;(f.size!==h.size||l>h.mtimeMs||l===0)&&Pt(i.listeners,m=>m(t,f))})},Nt.set(e,i)),()=>{Ie(i,ye,n),Ie(i,xe,o),Wr(i.listeners)&&(Nt.delete(e),ie.unwatchFile(e),i.options=i.watcher=void 0,Object.freeze(i))}},Ot=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=bo);let u;return r.usePolling?(c.interval=r.enableBinaryInterval&&To(o)?r.binaryInterval:r.interval,u=Bo(e,a,c,{listener:s,rawEmitter:this.fsw._emitRaw})):u=Wo(e,a,c,{listener:s,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),u}_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(f,h)=>{if(this.fsw._throttle(Ho,e,5)){if(!h||h.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(Xe,e,l),xo&&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=h.atimeMs,m=h.mtimeMs;(!l||l<=m||m!==a.mtimeMs)&&this.fsw._emit(Xe,e,h),a=h}}},u=this._watchWithNodeFs(e,c);if(!(r&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(ze,e,0))return;this.fsw._emit(ze,e,s)}return u}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(Xe,r,e.stats)):(i.add(n),this.fsw._symlinkPaths.set(o,a),this.fsw._emit(ze,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,Io),!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:h=>r.filterPath(h),directoryFilter:h=>r.filterDir(h),depth:0}).on(No,async h=>{if(this.fsw.closed){f=void 0;return}let l=h.path,m=W.join(e,l);if(u.add(l),!(h.stats.isSymbolicLink()&&await this._handleSymlink(h,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,s,r,i+1))}}).on(Mr,this._boundHandleError);return new Promise(h=>f.once(Po,()=>{if(this.fsw.closed){f=void 0;return}let l=a?a.clear():!1;h(),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,s,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(ko,e,s),c.add(W.basename(e)),this.fsw._getWatchedDir(e);let f,h,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;h=this._watchWithNodeFs(e,(m,y)=>{y&&y.mtimeMs===0||this._handleRead(m,!1,i,o,e,n,f)})}return h}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 Mo[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(Lo)&&!e.includes(Oo),f;if(c.isDirectory()){let h=W.resolve(e),l=u?await kt(e):e;if(this.fsw.closed||(f=await this._handleDir(a.watchPath,c,s,n,o,a,l),this.fsw.closed))return;h!==l&&l!==void 0&&this.fsw._symlinkPaths.set(h,l)}else if(c.isSymbolicLink()){let h=u?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(ze,a.watchPath,c),f=await this._handleDir(l,c,s,n,e,a,h),this.fsw.closed)return;h!==void 0&&this.fsw._symlinkPaths.set(W.resolve(e),h)}else f=this._handleFile(a.watchPath,c,s);return i(),this.fsw._addPathCloser(e,f),!1}catch(c){if(this.fsw._handleError(c))return i(),e}}};Br.exports=Ot});var Xr=v((Mc,Wt)=>{"use strict";var Mt=H("fs"),B=H("path"),{promisify:Ut}=H("util"),Re;try{Re=H("fsevents")}catch(t){process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR&&console.error(t)}if(Re){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&&(Re=void 0)}}var{EV_ADD:Lt,EV_CHANGE:Go,EV_ADD_DIR:qr,EV_UNLINK:Je,EV_ERROR:qo,STR_DATA:Ko,STR_END:Vo,FSEVENT_CREATED:jo,FSEVENT_MODIFIED:Yo,FSEVENT_DELETED:zo,FSEVENT_MOVED:Xo,FSEVENT_UNKNOWN:Qo,FSEVENT_FLAG_MUST_SCAN_SUBDIRS:Zo,FSEVENT_TYPE_FILE:Jo,FSEVENT_TYPE_DIRECTORY:ke,FSEVENT_TYPE_SYMLINK:zr,ROOT_GLOBSTAR:Kr,DIR_SUFFIX:ea,DOT_SLASH:Vr,FUNCTION_TYPE:Ht,EMPTY_FN:ta,IDENTITY_FN:sa}=Ye(),ra=t=>isNaN(t)?{}:{depth:t},Ft=Ut(Mt.stat),na=Ut(Mt.lstat),jr=Ut(Mt.realpath),ia={stat:Ft,lstat:na},he=new Map,oa=10,aa=new Set([69888,70400,71424,72704,73472,131328,131840,262912]),ca=(t,e)=>({stop:Re.watch(t,e)});function la(t,e,s,r){let n=B.extname(e)?B.dirname(e):e,o=B.dirname(n),i=he.get(n);ua(o)&&(n=o);let a=B.resolve(t),c=a!==e,u=(h,l,m)=>{c&&(h=h.replace(e,a)),(h===a||!h.indexOf(a+B.sep))&&s(h,l,m)},f=!1;for(let h of he.keys())if(e.indexOf(B.resolve(h)+B.sep)===0){n=h,i=he.get(n),f=!0;break}return i||f?i.listeners.add(u):(i={listeners:new Set([u]),rawEmitter:r,watcher:ca(n,(h,l)=>{if(!i.listeners.size||l&Zo)return;let m=Re.getInfo(h,l);i.listeners.forEach(y=>{y(h,l,m)}),i.rawEmitter(m.event,h,m)})},he.set(n,i)),()=>{let h=i.listeners;if(h.delete(u),!h.size&&(he.delete(n),i.watcher))return i.watcher.stop().then(()=>{i.rawEmitter=i.watcher=void 0,Object.freeze(i)})}}var ua=t=>{let e=0;for(let s of he.keys())if(s.indexOf(t)===0&&(e++,e>=oa))return!0;return!1},fa=()=>Re&&he.size<128,Dt=(t,e)=>{let s=0;for(;!t.indexOf(e)&&(t=B.dirname(t))!==e;)s++;return s},Yr=(t,e)=>t.type===ke&&e.isDirectory()||t.type===zr&&e.isSymbolicLink()||t.type===Jo&&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+Kr),!0;r.delete(e),r.delete(e+Kr)}addOrChange(e,s,r,n,o,i,a,c){let u=o.has(i)?Go:Lt;this.handleEvent(u,e,s,r,n,o,i,a,c)}async checkExists(e,s,r,n,o,i,a,c){try{let u=await Ft(e);if(this.fsw.closed)return;Yr(a,u)?this.addOrChange(e,s,r,n,o,i,a,c):this.handleEvent(Je,e,s,r,n,o,i,a,c)}catch(u){u.code==="EACCES"?this.addOrChange(e,s,r,n,o,i,a,c):this.handleEvent(Je,e,s,r,n,o,i,a,c)}}handleEvent(e,s,r,n,o,i,a,c,u){if(!(this.fsw.closed||this.checkIgnored(s)))if(e===Je){let f=c.type===ke;(f||i.has(a))&&this.fsw._remove(o,a,f)}else{if(e===Lt){if(c.type===ke&&this.fsw._getWatchedDir(s),c.type===zr&&u.followSymlinks){let h=u.depth===void 0?void 0:Dt(r,n)+1;return this._addToFsEvents(s,!1,!0,h)}this.fsw._getWatchedDir(o).add(a)}let f=c.type===ke?e+ea:e;this.fsw._emit(f,s),f===qr&&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=la(e,s,async(c,u,f)=>{if(this.fsw.closed||o.depth!==void 0&&Dt(c,s)>o.depth)return;let h=r(B.join(e,B.relative(e,c)));if(n&&!n(h))return;let l=B.dirname(h),m=B.basename(h),y=this.fsw._getWatchedDir(f.type===ke?h:l);if(aa.has(u)||f.event===Qo)if(typeof o.ignored===Ht){let w;try{w=await Ft(h)}catch{}if(this.fsw.closed||this.checkIgnored(h,w))return;Yr(f,w)?this.addOrChange(h,c,s,l,y,m,f,o):this.handleEvent(Je,h,c,s,l,y,m,f,o)}else this.checkExists(h,c,s,l,y,m,f,o);else switch(f.event){case jo:case Yo:return this.addOrChange(h,c,s,l,y,m,f,o);case zo:case Xo:return this.checkExists(h,c,s,l,y,m,f,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 jr(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!==Vr?a=i.replace(o,e):i!==Vr&&(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)),u=B.basename(i);a&&this.fsw._getWatchedDir(i),!c.has(u)&&(c.add(u),(!n.ignoreInitial||o===!0)&&this.fsw._emit(a?qr: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:sa,a=this.fsw._getWatchHelpers(e);try{let c=await ia[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),...ra(o.depth-(n||0))}).on(Ko,u=>{if(this.fsw.closed||u.stats.isDirectory()&&!a.filterPath(u))return;let f=B.join(a.watchPath,u.path),{fullPath:h}=u;if(a.followSymlinks&&u.stats.isSymbolicLink()){let l=o.depth===void 0?void 0:Dt(f,B.resolve(a.watchPath))+1;this._handleFsEventsSymlink(f,h,i,l)}else this.emitAdd(f,u.stats,i,o,r)}).on(qo,ta).on(Vo,()=>{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 jr(a.watchPath)}catch{}this.initWatch(c,e,a,i)}}};Wt.exports=$t;Wt.exports.canUse=fa});var cn=v(ss=>{"use strict";var{EventEmitter:ha}=H("events"),es=H("fs"),k=H("path"),{promisify:rn}=H("util"),da=Ds(),jt=Gs().default,pa=zs(),Bt=wt(),_a=Pr(),Ea=yt(),ga=Gr(),Qr=Xr(),{EV_ALL:Gt,EV_READY:ma,EV_ADD:et,EV_CHANGE:Ne,EV_UNLINK:Zr,EV_ADD_DIR:ya,EV_UNLINK_DIR:Ra,EV_RAW:wa,EV_ERROR:qt,STR_CLOSE:Aa,STR_END:Sa,BACK_SLASH_RE:Ta,DOUBLE_SLASH_RE:Jr,SLASH_OR_BACK_SLASH_RE:Ca,DOT_RE:xa,REPLACER_RE:ba,SLASH:Kt,SLASH_SLASH:Ia,BRACE_START:va,BANG:Yt,ONE_DOT:nn,TWO_DOTS:ka,GLOBSTAR:Na,SLASH_GLOBSTAR:Vt,ANYMATCH_OPTS:zt,STRING_TYPE:ts,FUNCTION_TYPE:Pa,EMPTY_STR:Xt,EMPTY_FN:Oa,isWindows:La,isMacos:Ha,isIBMi:Da}=Ye(),Fa=rn(es.stat),$a=rn(es.readdir),Qt=(t=[])=>Array.isArray(t)?t:[t],on=(t,e=[])=>(t.forEach(s=>{Array.isArray(s)?on(s,e):e.push(s)}),e),en=t=>{let e=on(Qt(t));if(!e.every(s=>typeof s===ts))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(an)},tn=t=>{let e=t.replace(Ta,Kt),s=!1;for(e.startsWith(Ia)&&(s=!0);e.match(Jr);)e=e.replace(Jr,Kt);return s&&(e=Kt+e),e},an=t=>tn(k.normalize(tn(t))),sn=(t=Xt)=>e=>typeof e!==ts?e:an(k.isAbsolute(e)?e:k.join(t,e)),Ma=(t,e)=>k.isAbsolute(t)?t:t.startsWith(Yt)?Yt+k.join(e,t.slice(1)):k.join(e,t),J=(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!==nn&&e!==ka&&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 $a(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)}},Ua="stat",Wa="lstat",Jt=class{constructor(e,s,r,n){this.fsw=n,this.path=e=e.replace(ba,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?jt(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?Ua:Wa}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===Pa?this.globFilter(r):!0)&&this.fsw._isntIgnored(r,s)&&this.fsw._hasReadPermissions(s)}getDirParts(e){if(!this.hasGlob)return[];let s=[];return(e.includes(va)?_a.expand(e):[e]).forEach(n=>{s.push(k.relative(this.watchPath,n).split(Ca))}),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===Na&&(r=!0),r||!s[0][i]||jt(o,s[0][i],zt))))}return!this.unmatchedGlob&&this.fsw._isntIgnored(this.entryPath(e),e.stats)}},tt=class extends ha{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,J(s,"persistent")&&(s.persistent=!0),J(s,"ignoreInitial")&&(s.ignoreInitial=!1),J(s,"ignorePermissionErrors")&&(s.ignorePermissionErrors=!1),J(s,"interval")&&(s.interval=100),J(s,"binaryInterval")&&(s.binaryInterval=300),J(s,"disableGlobbing")&&(s.disableGlobbing=!1),s.enableBinaryInterval=s.binaryInterval!==s.interval,J(s,"useFsEvents")&&(s.useFsEvents=!s.usePolling),Qr.canUse()||(s.useFsEvents=!1),J(s,"usePolling")&&!s.useFsEvents&&(s.usePolling=Ha),Da&&(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)),J(s,"atomic")&&(s.atomic=!s.usePolling&&!s.useFsEvents),s.atomic&&(this._pendingUnlinks=new Map),J(s,"followSymlinks")&&(s.followSymlinks=!0),J(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=Oa,this._readyEmitted=!0,process.nextTick(()=>this.emit(ma)))},this._emitRaw=(...c)=>this.emit(wa,...c),this._readyEmitted=!1,this.options=s,s.useFsEvents?this._fsEventsHandler=new Qr(this):this._nodeFsHandler=new ga(this),Object.freeze(s)}add(e,s,r){let{cwd:n,disableGlobbing:o}=this.options;this.closed=!1;let i=en(e);return n&&(i=i.map(a=>{let c=Ma(a,n);return o||!Bt(a)?c:Ea(c)})),i=i.filter(a=>a.startsWith(Yt)?(this._ignoredPaths.add(a.slice(1)),!1):(this._ignoredPaths.delete(a),this._ignoredPaths.delete(a+Vt),this._userIgnored=void 0,!0)),this.options.useFsEvents&&this._fsEventsHandler?(this._readyCount||(this._readyCount=i.length),this.options.persistent&&(this._readyCount+=i.length),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=en(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+Vt),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||nn]=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;La&&(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,u;if(c&&(u=this._pendingWrites.get(s)))return u.lastChange=new Date,this;if(i.atomic){if(e===Zr)return this._pendingUnlinks.set(s,a),setTimeout(()=>{this._pendingUnlinks.forEach((f,h)=>{this.emit(...f),this.emit(Gt,...f),this._pendingUnlinks.delete(h)})},typeof i.atomic=="number"?i.atomic:100),this;e===et&&this._pendingUnlinks.has(s)&&(e=a[0]=Ne,this._pendingUnlinks.delete(s))}if(c&&(e===et||e===Ne)&&this._readyEmitted){let f=(h,l)=>{h?(e=a[0]=qt,a[1]=h,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,f),this}if(e===Ne&&!this._throttle(Ne,s,50))return this;if(i.alwaysStat&&r===void 0&&(e===et||e===ya||e===Ne)){let f=i.cwd?k.join(i.cwd,s):s,h;try{h=await Fa(f)}catch{}if(!h||this.closed)return;a.push(h)}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 u=n.get(s),f=u?u.count:0;return n.delete(s),clearTimeout(i),u&&clearTimeout(u.timeoutObject),f};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=u=>{es.stat(i,(f,h)=>{if(f||!this._pendingWrites.has(e)){f&&f.code!=="ENOENT"&&n(f);return}let l=Number(new Date);u&&h.size!==u.size&&(this._pendingWrites.get(e).lastChange=l);let m=this._pendingWrites.get(e);l-m.lastChange>=s?(this._pendingWrites.delete(e),n(void 0,h)):o=setTimeout(c,this.options.awaitWriteFinish.pollInterval,h)})};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&&xa.test(e))return!0;if(!this._userIgnored){let{cwd:r}=this.options,n=this.options.ignored,o=n&&n.map(sn(r)),i=Qt(o).filter(c=>typeof c===ts&&!Bt(c)).map(c=>c+Vt),a=this._getGlobIgnored().map(sn(r)).concat(o,i);this._userIgnored=jt(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:pa(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),u=c.has(s);c.remove(s),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()===et)return;this._watched.delete(n),this._watched.delete(o);let h=r?Ra:Zr;u&&!this._isIgnored(n)&&this._emit(h,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=da(e,r);return this._streams.add(n),n.once(Aa,()=>{n=void 0}),n.once(Sa,()=>{n&&(this._streams.delete(n),n=void 0)}),n}};ss.FSWatcher=tt;var Ba=(t,e)=>{let s=new tt(e);return s.add(t),s};ss.watch=Ba});import"only-server";import"../common/index.mjs";var fn=Pn(cn(),1);import{fork as qa}from"node:child_process";import{existsSync as ln,promises as Ka}from"node:fs";import{basename as ns,dirname as os,join as is,relative as un}from"node:path";import{build as Va}from"esbuild";import{jwtDecode as ja}from"jwt-decode";import{Issuer as Ya,custom as za}from"openid-client";import{Logger as Xa}from"@5minds/processcube_engine_sdk";import{EngineClient as Ga}from"@5minds/processcube_engine_client";var rs=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",N=new Ga(rs);var Qa={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},Za=.85,st=["external_task.ts","external_task.js"],as=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0,pe=new Xa("processcube_app_sdk:external_task_adapter"),de={},Pe;async function hn(t){if(t&&!ln(t))throw new Error(`Invalid customExternalTasksDirPath. The given path '${t}' does not exist`);za.setHttpOptionsDefaults({timeout:1e5});let e=await _n();Pe=await En(e),await ec(e);let s=sc(t);(0,fn.watch)(s).on("add",async r=>{if(st.includes(ns(r)))return dn(r,s)}).on("change",async r=>{if(st.includes(ns(r)))return Ja(r,s)}).on("unlink",async r=>{st.includes(ns(r))&&pn(r)}).on("error",r=>pe.error(`Watcher error: ${r}`))}async function dn(t,e){let s=os(t);if((await Ka.readdir(s)).filter(f=>st.includes(f)).length>1){pe.error(`Multiple external task files found in directory ${s}. Stopping all external task workers for this directory.`),de[s]&&pn(t);return}let o=await gn(t),i=un(e,s),a=mn(i),c=is(__dirname,"lib/ExternalTaskWorkerProcess.cjs"),u=qa(c,{env:{NODE_ENV:process.env.NODE_ENV,PROCESSCUBE_ENGINE_URL:rs}});de[s]=u,u.once("disconnect",()=>{delete de[s]}),u.send({action:"create",payload:{topic:a,identity:Pe,moduleString:o,workerPath:t}})}async function Ja(t,e){let s=os(t),r=de[s];if(!r)return dn(t,e);let n=await gn(t),o=un(e,s),i=mn(o);r.send({action:"restart",payload:{topic:i,identity:Pe,moduleString:n,workerPath:t}})}function pn(t){let e=os(t),s=de[e];s&&s.kill()}async function _n(){if(!as)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 pe.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 Ya.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 En(t){if(!as||t===null)return Qa;let e=t.access_token,s=ja(e);return{token:t.access_token,userId:s.sub}}async function ec(t){let e=5;if(!as||t===null)return;let r=await tc(t)*Za*1e3,n=async()=>{try{let o=await _n();Pe=En(o);for(let i of Object.values(de))i.send({action:"updateIdentity",payload:{identity:Pe}});e=5,setTimeout(n,r)}catch(o){if(e===0){pe.error("Could not refresh identity for external task worker processes. Stopping all external task workers.",{error:o});for(let a of Object.values(de))a.kill();return}pe.error("Could not refresh identity for external task worker processes.",{error:o,retryCount:e}),e--;let i=2*1e3;setTimeout(n,i)}};setTimeout(n,r)}async function gn(t){let e=await Va({entryPoints:[t],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs",external:["@opentelemetry/api"]});if(e.errors.length>0)throw pe.error(`Could not transpile file at '${t}'`,{errors:e.errors}),new Error(`Could not transpile file at '${t}'`);return e.warnings.length>0&&pe.warn(`Transpiled file at '${t}' with warnings`,{warnings:e.warnings}),e.outputFiles[0].text}async function tc(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 mn(t){return t.replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/")}function sc(t){let e,s=[t,is(process.cwd(),"app"),is(process.cwd(),"src","app")];for(let r of s)if(r&&ln(r)){e=r;break}if(!e)throw new Error("Could not find external tasks directory");return e}function sl(){return N}import{getToken as yn}from"next-auth/jwt";import{ResponseCookies as rc}from"next/dist/compiled/@edge-runtime/cookies";import{cookies as rt,headers as Rn}from"next/headers";var nc=process.env.NEXTAUTH_URL?.startsWith("https://"),wn=`${nc?"__Secure-":""}next-auth.session-token`;async function al(){let t=await yn({req:{cookies:rt(),headers:Rn()}});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:rt().toString()}}),r=new rc(s.headers),n=r.get(wn);if(n){let o=!1;try{rt().set(wn,n.value,{...n})}catch{o=!0}if(t=await yn({req:{cookies:o?r:rt(),headers:Rn()}}),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 nt}from"@5minds/processcube_engine_client";async function fl(t){return await N.processInstances.query({...t?.query,state:nt.ProcessInstances.ProcessInstanceState.running},t?.options)}async function hl(t){let{processInstanceId:e}=t;return new Promise(async(s,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.`)):s(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:[nt.ProcessInstances.ProcessInstanceState.finished,nt.ProcessInstances.ProcessInstanceState.terminated,nt.ProcessInstances.ProcessInstanceState.error]});if(i.totalCount>0){for(let a of n)N.notification.removeSubscription(a);s(i.processInstances[0])}}})}import{DataModels as oe}from"@5minds/processcube_engine_client";import{mapUserTask as An,mapUserTaskList as _e}from"../common/index.mjs";async function yl(t={},e){let{correlationId:s,processInstanceId:r,flowNodeId:n}=t;return new Promise(async(o,i)=>{let a=await N.userTasks.onUserTaskWaiting(async u=>{let f=s!==void 0&&u.correlationId!==s,h=u.flowNodeInstanceId===void 0,l=r!==void 0&&u.processInstanceId!==r,m=n!==void 0&&u.flowNodeId!==n;if(f||h||l||m)return;let y=await oc(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 ic({correlationId:s,processInstanceId:r,flowNodeId:n,state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e});c.userTasks.length>0&&(N.notification.removeSubscription(a,e),o(c.userTasks[0]))})}async function Rl(t,e={},s={},r){await N.userTasks.finishUserTask(t,s,r);let n={state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended,...e},o=await N.userTasks.query(n,{identity:r});return An(o.userTasks[0])}async function ic(...t){let e=await N.userTasks.query(...t);return _e(e)}async function wl(t){let e=await N.userTasks.query({state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended},t);return _e(e)}async function Al(t,e){let s=await N.userTasks.query({processInstanceId:t,state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended},e);return _e(s)}async function Sl(t,e){let s=await N.userTasks.query({flowNodeId:t,state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended},e);return _e(s)}async function oc(t,e){let s=await N.userTasks.query({flowNodeInstanceId:t,state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended},{...e,limit:1});return s.userTasks.length===0?null:An(s.userTasks[0])}async function Tl(t,e){let s=await N.userTasks.query({correlationId:t,state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended},e);return _e(s)}async function Cl(t,e){let s=await N.userTasks.query({state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t,...e}),r=s.userTasks.filter(n=>n.actualOwnerId===t.userId);return s.userTasks=r,_e(s)}async function xl(t,e){let s=await N.userTasks.query({state:oe.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t,...e}),r=s.userTasks.filter(n=>n.assignedUserIds?.includes(t.userId));return s.userTasks=r,_e(s)}import{PHASE_DEVELOPMENT_SERVER as ac,PHASE_PRODUCTION_BUILD as cc,PHASE_PRODUCTION_SERVER as lc}from"next/dist/shared/lib/constants";var Sn=!1,cs=!1;function Fl(t={}){let{applicationSdk:e,...s}=t;return async(r,n)=>{cs=cs||r===cc;let o=r===ac||r===lc;return e?.useExternalTasks&&o&&!Sn&&!cs&&(Sn=!0,await hn(e?.customExternalTasksDirPath)),s}}import{revalidatePath as uc}from"next/cache";import{redirect as fc}from"next/navigation";function Gl(t){uc(t),fc(t)}async function Vl(...t){return await N.processModels.startProcessInstance(...t)}async function zl(...t){await N.userTasks.finishUserTask(...t)}export{zl as finishUserTask,Rl as finishUserTaskAndGetNext,fl as getActiveProcessInstances,xl as getAssignedUserTasksByIdentity,sl as getEngineClient,al as getIdentity,Cl as getReservedUserTasksByIdentity,ic as getUserTasks,oc as getWaitingUserTaskByFlowNodeInstanceId,wl as getWaitingUserTasks,Tl as getWaitingUserTasksByCorrelationId,Sl as getWaitingUserTasksByFlowNodeId,Al as getWaitingUserTasksByProcessInstanceId,Gl as navigateToUrl,Vl as startProcess,hl as waitForProcessEnd,yl as waitForUserTask,Fl as withApplicationSdk};
3
+ /*! Bundled license information:
4
+
5
+ normalize-path/index.js:
6
+ (*!
7
+ * normalize-path <https://github.com/jonschlinkert/normalize-path>
8
+ *
9
+ * Copyright (c) 2014-2018, Jon Schlinkert.
10
+ * Released under the MIT License.
11
+ *)
12
+
13
+ is-extglob/index.js:
14
+ (*!
15
+ * is-extglob <https://github.com/jonschlinkert/is-extglob>
16
+ *
17
+ * Copyright (c) 2014-2016, Jon Schlinkert.
18
+ * Licensed under the MIT License.
19
+ *)
20
+
21
+ is-glob/index.js:
22
+ (*!
23
+ * is-glob <https://github.com/jonschlinkert/is-glob>
24
+ *
25
+ * Copyright (c) 2014-2017, Jon Schlinkert.
26
+ * Released under the MIT License.
27
+ *)
28
+
29
+ is-number/index.js:
30
+ (*!
31
+ * is-number <https://github.com/jonschlinkert/is-number>
32
+ *
33
+ * Copyright (c) 2014-present, Jon Schlinkert.
34
+ * Released under the MIT License.
35
+ *)
36
+
37
+ to-regex-range/index.js:
38
+ (*!
39
+ * to-regex-range <https://github.com/micromatch/to-regex-range>
40
+ *
41
+ * Copyright (c) 2015-present, Jon Schlinkert.
42
+ * Released under the MIT License.
43
+ *)
44
+
45
+ fill-range/index.js:
46
+ (*!
47
+ * fill-range <https://github.com/jonschlinkert/fill-range>
48
+ *
49
+ * Copyright (c) 2014-present, Jon Schlinkert.
50
+ * Licensed under the MIT License.
51
+ *)
52
+ */
@@ -2,7 +2,7 @@ import { IExternalTaskWorkerConfig } from '@5minds/processcube_engine_client';
2
2
  export type ExternalTaskConfig = Omit<IExternalTaskWorkerConfig, 'identity' | 'workerId'>;
3
3
  /**
4
4
  * Subscribe to external tasks.
5
- * @param {string} customExternalTasksDirPath Optional path to the external tasks directory. Uses the Next.js app directory by default.
5
+ * @param {string} customEtwRootDirectory Optional path to the external tasks directory. Uses the Next.js app directory by default.
6
6
  * @returns {Promise<void>} A promise that resolves when the external tasks are subscribed
7
7
  * */
8
- export declare function subscribeToExternalTasks(customExternalTasksDirPath?: string): Promise<void>;
8
+ export declare function subscribeToExternalTasks(customEtwRootDirectory?: string): Promise<void>;
@@ -0,0 +1,5 @@
1
+ var a=require("node:process"),p=require("@5minds/processcube_engine_client"),f=require("@5minds/processcube_engine_sdk"),i=new f.Logger("processcube_app_sdk:external_task_worker_process"),d=process.env.PROCESSCUBE_ENGINE_URL??null,e=null,c;process.on("message",async r=>{switch(r.action){case"create":await w(r.payload);break;case"restart":T(r.payload);break;case"updateIdentity":E(r.payload);break}});process.once("SIGTERM",()=>{k("External Task Worker Process received SIGTERM signal")});process.once("SIGINT",()=>{k("External Task Worker Process received SIGINT signal")});process.once("SIGHUP",()=>{k("External Task Worker Process received SIGHUP signal")});process.once("disconnect",()=>{k("External Task Worker Process received disconnect signal")});async function w({topic:r,identity:t,moduleString:o,workerPath:n,workerId:s}){c=r;let l=await m(o,n);l===null&&process.exit(1),"default"in l||(i.error(`Failed starting external task worker ${e?.workerId??""} for topic ${r}. 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`,{workerId:e?.workerId,topic:r,pid:a.pid}),process.exit(2));let I={identity:t,...l?.config,workerId:s},g=l.default;u(d,"EngineURL"),e=new p.ExternalTaskWorker(d,r,g,I),e.onWorkerError(y=>{u(e,"externalTaskWorker"),i.error(`External task worker ${e.workerId} for topic ${r} ran into an error`,{error:y,workerId:e.workerId,topic:r,pid:a.pid}),e.stop(),e.dispose(),process.exit(3)}),e.start(),i.info(`Started external task worker ${e.workerId} for topic ${r}`,{workerId:e.workerId,topic:r,pid:a.pid})}function T({topic:r,identity:t,moduleString:o,workerPath:n}){let s=e?.workerId;i.info(`Restarting external task worker ${s??""} for topic ${r}`,{reason:`Code changes in External Task for ${r}`,workerId:s,topic:r,pid:a.pid}),x("External Task Worker restarting"),w({topic:r,identity:t,moduleString:o,workerPath:n,workerId:s})}function E({identity:r}){e&&(e.identity=r)}function k(r){x(r),process.exit()}function x(r){i.info(`Stopping external task worker ${e?.workerId??""} for topic ${c}`,{reason:r,workerId:e?.workerId,topic:c,pid:a.pid}),e?.stop(),e?.dispose()}function m(r,t){try{var o=module.constructor,n=new o;return n._compile(r,t),n.exports}catch(s){return i.error("Could not start external task worker due to error while requiring module from string",{err:s,pid:a.pid}),null}}function u(r,t,o){if(r==null){let n=o==null?"":`
2
+
3
+ Context:
4
+
5
+ ${JSON.stringify(o,null,2)}`;throw new Error(`Unexpected value: \`${t}\` should not be null here.${n}`)}}
@@ -0,0 +1 @@
1
+ export {};
@@ -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,6 +1,7 @@
1
1
  import { DataModels } from '@5minds/processcube_engine_client';
2
- import { Client } from './internal/EngineClient';
3
2
  import type { Identity, UserTaskResult } from '@5minds/processcube_engine_sdk';
3
+ import { UserTaskInstance, UserTaskList } from '../../common';
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.
6
7
  * If there is already a UserTask waiting, this function will return it.
@@ -10,13 +11,13 @@ import type { Identity, UserTaskResult } from '@5minds/processcube_engine_sdk';
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/client.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './build/client/index';
package/common.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './build/common/index';
package/package.json CHANGED
@@ -1,54 +1,49 @@
1
1
  {
2
2
  "name": "@5minds/processcube_app_sdk",
3
- "version": "5.1.0-alpha.2",
3
+ "version": "5.1.0-alpha.4",
4
4
  "description": "The SDK for ProcessCube Apps",
5
5
  "type": "module",
6
- "main": "common/index.cjs",
7
- "module": "common/index.mjs",
8
- "browser": "client/index.mjs",
9
- "types": "common/index.d.ts",
6
+ "main": "build/common/index.cjs",
7
+ "module": "build/common/index.mjs",
8
+ "browser": "build/client/index.mjs",
9
+ "types": "common.d.ts",
10
10
  "exports": {
11
11
  ".": {
12
- "types": "./common/index.d.ts",
13
- "require": "./common/index.cjs",
14
- "default": "./common/index.mjs"
12
+ "types": "./common.d.ts",
13
+ "require": "./build/common/index.cjs",
14
+ "default": "./build/common/index.mjs"
15
15
  },
16
16
  "./server": {
17
- "types": "./server/index.d.ts",
18
- "require": "./server/index.cjs",
19
- "default": "./server/index.mjs"
17
+ "types": "./server.d.ts",
18
+ "require": "./build/server/index.cjs",
19
+ "default": "./build/server/index.mjs"
20
20
  },
21
21
  "./client": {
22
- "types": "./client/index.d.ts",
23
- "require": "./client/index.cjs",
24
- "default": "./client/index.mjs"
22
+ "types": "./client.d.ts",
23
+ "require": "./build/client/index.cjs",
24
+ "default": "./build/client/index.mjs"
25
25
  }
26
26
  },
27
27
  "scripts": {
28
- "clean": "rm -rf server common client",
28
+ "clean": "rm -rf build",
29
29
  "prepare": "npm run build:prod",
30
30
  "test": "echo \"Error: no test specified\" && exit 1",
31
- "build": "concurrently -n=build:esm,build:commonjs,build:types \"npm run build:esm\" \"npm run build:commonjs\" \"npm run build:types\"",
32
- "build:esm:server": "NODE_ENV=development esbuild src/server/*.ts --outdir=./server --bundle --platform=node --format=esm --external:@opentelemetry --external:fsevents --external:@5minds/* --external:next --external:next-auth --external:react --external:jwt-decode --external:openid-client --external:esbuild --analyze=verbose --out-extension:.js=.mjs",
33
- "build:esm:client/common": "NODE_ENV=development esbuild src/client/*.ts src/common/*.ts --outdir=. --packages=external --bundle --format=esm --analyze=verbose --out-extension:.js=.mjs",
34
- "build:esm": "npm run build:esm:server && npm run build:esm:client/common",
35
- "build:commonjs": "NODE_ENV=development esbuild src/**/*.ts --outdir=. --packages=external --bundle --platform=node --out-extension:.js=.cjs --analyze=verbose",
36
- "build:types": "tsc --emitDeclarationOnly && tsc -p tsconfig.common.json --emitDeclarationOnly && tsc -p tsconfig.client.json --emitDeclarationOnly",
37
- "build:prod": "npm run clean && concurrently -n=build:prod:esm,build:prod:commonjs,build:types \"npm run build:prod:esm\" \"npm run build:prod:commonjs\" \"npm run build:types\"",
38
- "build:prod:esm:server": "NODE_ENV=production esbuild src/server/*.ts --outdir=./server --bundle --platform=node --format=esm --external:@opentelemetry --external:fsevents --external:@5minds/* --external:next --external:next-auth --external:react --external:jwt-decode --external:openid-client --external:esbuild --tree-shaking=true --splitting --minify --drop:console --out-extension:.js=.mjs",
39
- "build:prod:esm:client/common": "NODE_ENV=production esbuild src/client/*.ts src/common/*.ts --outdir=. --packages=external --bundle --format=esm --tree-shaking=true --splitting --minify --drop:console --out-extension:.js=.mjs",
40
- "build:prod:esm": "npm run build:prod:esm:server && npm run build:prod:esm:client/common",
41
- "build:prod:commonjs": "NODE_ENV=production esbuild src/**/*.ts --outdir=. --packages=external --bundle --platform=node --out-extension:.js=.cjs --tree-shaking=true --minify --drop:console",
42
- "watch": "NODE_ENV=development concurrently --kill-others -n=esbuild:esm,esbuild:comonjs,tsc:server,tsc:common,tsc:client \"esbuild src/**/*.ts --watch --outdir=. --format=esm --bundle --packages=external --out-extension:.js=.mjs\" \"esbuild src/**/*.ts --watch --outdir=. --platform=node --bundle --packages=external --out-extension:.js=.cjs\" \"tsc -p tsconfig.json --watch --preserveWatchOutput --emitDeclarationOnly\" \"tsc -p tsconfig.common.json --watch --preserveWatchOutput --emitDeclarationOnly\" \"tsc -p tsconfig.client.json --watch --preserveWatchOutput --emitDeclarationOnly\""
31
+ "build": "concurrently -n=build:code,build:types \"NODE_ENV=development node build.js\" \"npm run build:types\"",
32
+ "build:types": "tsc -p tsconfig.common.json --emitDeclarationOnly && concurrently -n=build:types:server,build:types:client \"tsc -p tsconfig.server.json --emitDeclarationOnly\" \"tsc -p tsconfig.client.json --emitDeclarationOnly\"",
33
+ "build:prod": "npm run clean && concurrently -n=build:prod:code,build:types \"NODE_ENV=production node build.js\" \"npm run build:types\"",
34
+ "watch": "NODE_ENV=development tsc -p tsconfig.common.json --emitDeclarationOnly && concurrently --kill-others -n=esbuild,tsc:server,tsc:common,tsc:client \"node build.js --watch\" \"tsc -p tsconfig.server.json --watch --preserveWatchOutput --emitDeclarationOnly\" \"tsc -p tsconfig.common.json --watch --preserveWatchOutput --emitDeclarationOnly\" \"tsc -p tsconfig.client.json --watch --preserveWatchOutput --emitDeclarationOnly\""
43
35
  },
44
36
  "repository": {
45
37
  "type": "git",
46
38
  "url": "git+ssh://git@github.com/5minds/ProcessCube.App.SDK.git"
47
39
  },
48
40
  "files": [
49
- "client",
50
- "server",
51
- "common"
41
+ "build/client",
42
+ "build/common",
43
+ "build/server",
44
+ "client.d.ts",
45
+ "common.d.ts",
46
+ "server.d.ts"
52
47
  ],
53
48
  "keywords": [
54
49
  "SDK",
@@ -69,14 +64,16 @@
69
64
  "node": ">=18"
70
65
  },
71
66
  "devDependencies": {
67
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
68
+ "@types/node": "^20.11.17",
72
69
  "@types/react": "^18.2.22",
73
70
  "concurrently": "^8.2.0",
74
71
  "prettier": "^3.0.0",
75
72
  "typescript": "^5.2.2"
76
73
  },
77
74
  "peerDependencies": {
78
- "next": ">=13.4",
79
- "next-auth": "^4.23.1",
75
+ "next": ">=14 <14.1.2",
76
+ "next-auth": "~4.24.6",
80
77
  "react": ">=18.0.0"
81
78
  },
82
79
  "dependencies": {
package/server.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './build/server/index';
@@ -1,6 +0,0 @@
1
- type DynamicLinkProps = {
2
- href: string;
3
- children: any;
4
- };
5
- export declare function DynamicLink({ href, children }: DynamicLinkProps): import("react/jsx-runtime").JSX.Element;
6
- export {};
package/client/index.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";"use client";var i=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var u=(e,r)=>{for(var n in r)i(e,n,{get:r[n],enumerable:!0})},l=(e,r,n,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of f(r))!m.call(e,o)&&o!==n&&i(e,o,{get:()=>r[o],enumerable:!(t=c(r,o))||t.enumerable});return e};var s=e=>l(i({},"__esModule",{value:!0}),e);var D={};u(D,{DynamicLink:()=>y});module.exports=s(D);var v=require("client-only");var p=require("next/navigation"),a=require("react/jsx-runtime");function y({href:e,children:r}){let n=(0,p.useRouter)();return(0,a.jsx)("a",{href:e,onClick:t=>{t.preventDefault(),n.replace(e),n.refresh()},children:r})}0&&(module.exports={DynamicLink});
package/client/index.mjs DELETED
@@ -1 +0,0 @@
1
- "use client";import"client-only";import{useRouter as t}from"next/navigation";import{jsx as i}from"react/jsx-runtime";function a({href:r,children:n}){let e=t();return i("a",{href:r,onClick:o=>{o.preventDefault(),e.replace(r),e.refresh()},children:n})}export{a as DynamicLink};
package/common/index.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";var c=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var w=(r,e)=>{for(var s in e)c(r,s,{get:e[s],enumerable:!0})},C=(r,e,s,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of S(e))!g.call(r,n)&&n!==s&&c(r,n,{get:()=>e[n],enumerable:!(t=E(e,n))||t.enumerable});return r};var R=r=>C(c({},"__esModule",{value:!0}),r);var b={};w(b,{RemoteUserTask:()=>U,authConfigJwtCallback:()=>m,authConfigSessionCallback:()=>h,hasClaim:()=>A});module.exports=R(b);var f=require("react/jsx-runtime");function U(r){return(0,f.jsx)("div",{style:{width:"100%",height:"100%"},children:(0,f.jsx)("iframe",{width:"100%",height:"100%",src:r.url})})}var T=require("next-auth"),p=require("next-auth/react"),k=require("jwt-decode"),d=require("@5minds/processcube_engine_sdk"),a=new d.Logger("processcube_app_sdk:next-auth_configuration"),u="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(r){let e;return typeof window>"u"?e=(await(0,T.getServerSession)({callbacks:{jwt:m,session:h}}))?.user:e=(await(0,p.getSession)())?.user,!e||!e.claims?!1:e.claims[r]!=null}async function m(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||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(u),n&&Date.now()>=e.expiresAt*1e3){if(e.refreshToken===void 0)return a.error("Error refreshing access token.",{err:u}),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){a.error("Error refreshing access token",{err:i}),e.error="RefreshAccessTokenError"}}return e}async function h(r){let{session:e,token:s}=r,t=l(s.accessToken),n=l(s.idToken),i=Object.keys(n),o=Object.fromEntries(Object.entries(t).filter(([_,y])=>!i.includes(_)));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 l(r){return(0,k.jwtDecode)(r)}0&&(module.exports={RemoteUserTask,authConfigJwtCallback,authConfigSessionCallback,hasClaim});
package/common/index.mjs DELETED
@@ -1 +0,0 @@
1
- import{jsx as c}from"react/jsx-runtime";function E(n){return c("div",{style:{width:"100%",height:"100%"},children:c("iframe",{width:"100%",height:"100%",src:n.url})})}import{getServerSession as T}from"next-auth";import{getSession as p}from"next-auth/react";import{jwtDecode as k}from"jwt-decode";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 T({callbacks:{jwt:m,session:h}}))?.user:e=(await p())?.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 k(n)}export{E as RemoteUserTask,m as authConfigJwtCallback,h as authConfigSessionCallback,v as hasClaim};
package/server/index.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";var S=Object.defineProperty;var z=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,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Q(t))!ee.call(e,n)&&n!==s&&S(e,n,{get:()=>t[n],enumerable:!(r=z(t,n))||r.enumerable});return e};var re=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:()=>H,getWaitingUserTaskByFlowNodeInstanceId:()=>j,getWaitingUserTasks:()=>ge,getWaitingUserTasksByCorrelationId:()=>ye,getWaitingUserTasksByFlowNodeId:()=>we,getWaitingUserTasksByProcessInstanceId:()=>Ee,navigateToUrl:()=>Se,startProcess:()=>Ne,waitForUserTask:()=>Te,withApplicationSdk:()=>_e});module.exports=re(Pe);var lt=require("only-server");var A=require("@5minds/processcube_engine_sdk"),O=require("@5minds/processcube_engine_client"),i=require("node:path"),b=require("esbuild"),m=require("node:fs"),v=require("openid-client"),L=require("jwt-decode"),D=require("chokidar");var F=require("@5minds/processcube_engine_client"),N=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new F.EngineClient(N);var ne={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},oe=.85,w=["external_task.ts","external_task.js"],c=new A.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,D.watch)(t).on("add",async s=>{if(!w.includes((0,i.basename)(s)))return;await W(s,t);let r=(0,i.dirname)(s),n=(0,i.relative)(t,r),a=y(n);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 r=(0,i.dirname)(s),n=(0,i.relative)(t,r),a=y(n);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 r=(0,i.dirname)(s),n=(0,i.relative)(t,r),a=y(n);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 r=(0,i.dirname)(e);if(!ie(r)){c.error(`Could not find external task file in directory '${r}'`);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/external-task-adapter#external-tasks-entwickeln`);return}let k=await q(),U=K(k),g=(0,i.relative)(t,r),u=y(g),x=d.default,_={identity:U,...s,...d?.config},I=new O.ExternalTaskWorker(N,u,x,_);I.onWorkerError((E,T,Z)=>{c.error(`Intercepted "${E}"-type error: ${T.message}`,{err:T,type:E,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(r=>w.includes(r));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 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/external-task-adapter#authority");throw c.error("Required environment variables PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID and PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET are missing",{err:r}),r}let e=await v.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 ne;let t=e.access_token,s=(0,L.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 n=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)},n)}catch(r){if(s===0)throw r;c.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:r,workerId:t.workerId,retryCount:s});let n=2*1e3;setTimeout(async()=>await R(e,t,s-1),n)}}async function ce(e){let t=await(0,b.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,r=new s;return r._compile(e,t),r.exports}catch(n){throw c.error("Could not require module from string",{err:n}),n}}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 r of s)if(r&&(0,m.existsSync)(r)){t=r;break}if(!t)throw new Error("Could not find external tasks directory");return t}function fe(){return o}var p=require("next/headers"),X=require("next/dist/compiled/@edge-runtime/cookies"),h=require("next-auth/jwt"),pe=process.env.NEXTAUTH_URL?.startsWith("https://"),$=`${pe?"__Secure-":""}next-auth.session-token`;async function Ie(){let e=await(0,h.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()}}),r=new X.ResponseCookies(s.headers),n=r.get($);if(n){let a=!1;try{(0,p.cookies)().set($,n.value,{...n})}catch{a=!0}if(e=await(0,h.getToken)({req:{cookies:a?r:(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 G=require("@5minds/processcube_engine_client");async function ke(e){return await o.processInstances.query({...e?.query,state:G.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}var l=require("@5minds/processcube_engine_client");async function Te(e={},t){let{correlationId:s,processInstanceId:r,flowNodeId:n}=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=r!==void 0&&u.processInstanceId!==r,E=n!==void 0&&u.flowNodeId!==n;if(x||_||I||E)return;let T=await j(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}),g=(await H({correlationId:s,processInstanceId:r,flowNodeId:n,state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t})).userTasks[0];g&&(o.notification.removeSubscription(k,t),a(g))})}async function me(e,t={},s={},r){await o.userTasks.finishUserTask(e,s,r);let n={state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended,...t};return(await o.userTasks.query(n,{identity:r})).userTasks[0]}async function H(...e){return await o.userTasks.query(...e)}async function ge(e){return await o.userTasks.query({state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function Ee(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 j(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}),r=s.userTasks.filter(n=>n.actualOwnerId===e.userId);return s.userTasks=r,s}async function xe(e,t){let s=await o.userTasks.query({state:l.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.assignedUserIds?.includes(e.userId));return s.userTasks=r,s}var C=require("next/dist/shared/lib/constants");var Y=!1;function _e(e={}){let{applicationSdk:t,...s}=e;return async(r,n)=>{let a=r===C.PHASE_DEVELOPMENT_SERVER||r===C.PHASE_PRODUCTION_SERVER;return t?.useExternalTasks&&a&&!Y&&(Y=!0,await M(t?.customExternalTasksDirPath)),s}}var V=require("next/cache"),J=require("next/navigation");function Se(e){(0,V.revalidatePath)(e),(0,J.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});
package/server/index.d.ts DELETED
@@ -1,40 +0,0 @@
1
- import 'only-server';
2
- export * from './lib';
3
- export * from './plugin';
4
- export * from './server-actions';
5
- declare global {
6
- namespace NodeJS {
7
- interface ProcessEnv {
8
- PROCESSCUBE_ENGINE_URL?: string;
9
- PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_ID?: string;
10
- PROCESSCUBE_EXTERNAL_TASK_WORKER_CLIENT_SECRET?: string;
11
- PROCESSCUBE_AUTHORITY_URL?: string;
12
- }
13
- }
14
- }
15
- import { DefaultSession } from 'next-auth';
16
- declare module 'next-auth' {
17
- /**
18
- * Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider` React Context
19
- */
20
- interface Session {
21
- user: {
22
- /** The user's identity claims. */
23
- claims?: Record<string, unknown>;
24
- } & DefaultSession['user'];
25
- error?: 'RefreshAccessTokenError';
26
- }
27
- }
28
- declare module 'next-auth/jwt' {
29
- /** Returned by the `jwt` callback and `getToken`, when using JWT sessions */
30
- interface JWT {
31
- /** OpenID Access Token */
32
- accessToken?: string;
33
- /** OpenID ID Token */
34
- idToken?: string;
35
- /** OpenID Refresh Token */
36
- refreshToken?: string;
37
- expiresAt: number;
38
- error?: 'RefreshAccessTokenError';
39
- }
40
- }
package/server/index.mjs DELETED
@@ -1,52 +0,0 @@
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:Vn,CHAR_BACKWARD_SLASH:Re,CHAR_COMMA:jn,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 V;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===jn){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===Vn||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&&(V=P());){if(V===Re){H=I.backslashes=!0,P();continue}if(V===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 V;for(let b=0;b<o.length;b++){let se=V?V+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),V=re}if(V&&V+1<t.length){let b=t.slice(V+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,V=()=>_.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||V()||/^\)+$/.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,j,U,it)=>j==="\\"?(g=!0,E):j==="?"?T?T+j+(U?F.repeat(U.length):""):it===0?I+(U?F.repeat(U.length):""):F.repeat(D.length):j==="."?f.repeat(D.length):j==="*"?T?T+j+(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(;!V();){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),j=h.value.slice(T+2),U=Jn[j];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(),j=[];for(let U=D.length-1;U>=0&&(i.pop(),D[U].type!=="brace");U--)D[U].type!=="dots"&&j.unshift(D[U].value);T=si(j,s),_.backtrack=!0}if(E.comma!==!0&&E.dots!==!0){let D=_.output.slice(0,E.outputIndex),j=_.tokens.slice(E.tokensIndex);E.value=E.output="\\{",p=T="\\}",_.output=D;for(let U of j)_.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",j=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"&&V()){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"&&!j&&V()){_.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 js=v((mc,Vs)=>{"use strict";var Ti=Rt(),Ci=L("path").posix.dirname,xi=L("os").platform()==="win32",At="/",bi=/\\/g,Ii=/[\{\[].*[\}\]]$/,vi=/(^|[^\\])([\{\[]|\([^\)]+$)/,ki=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Vs.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 Vi=xt(),_r=Ge(),ji=(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=Vi(...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=ji});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 Ve=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:je,EV_ADD_DIR:Co,EV_ERROR:Fr,STR_DATA:xo,STR_END:bo,BRACE_START:Io,STAR:vo}=Ve(),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(je,e,0))return;this.fsw._emit(je,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(je,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(je,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{process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR}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:Vo,FSEVENT_TYPE_FILE:jo,FSEVENT_TYPE_DIRECTORY:ve,FSEVENT_TYPE_SYMLINK:jr,ROOT_GLOBSTAR:Gr,DIR_SUFFIX:Yo,DOT_SLASH:qr,FUNCTION_TYPE:Ht,EMPTY_FN:zo,IDENTITY_FN:Xo}=Ve(),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},Vr=(t,e)=>t.type===ve&&e.isDirectory()||t.type===jr&&e.isSymbolicLink()||t.type===jo&&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;Vr(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===jr&&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===Vo)if(typeof o.ignored===Ht){let w;try{w=await Ft(f)}catch{}if(this.fsw.closed||this.checkIgnored(f,w))return;Vr(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(),jt=Ws().default,ca=js(),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:Vt,ANYMATCH_OPTS:zt,STRING_TYPE:ts,FUNCTION_TYPE:xa,EMPTY_STR:Xt,EMPTY_FN:ba,isWindows:Ia,isMacos:va,isIBMi:ka}=Ve(),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?jt(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]||jt(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+Vt),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+Vt),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+Vt),a=this._getGlobIgnored().map(en(r)).concat(o,i);this._userIgnored=jt(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});var ln=bn(on(),1);import{Logger as $a}from"@5minds/processcube_engine_sdk";import{ExternalTaskWorker as Ma}from"@5minds/processcube_engine_client";import{basename as ns,dirname as et,join as an,relative as tt}from"node:path";import{build as Ua}from"esbuild";import{promises as Wa,existsSync as cn}from"node:fs";import{Issuer as Ba}from"openid-client";import{jwtDecode as Ga}from"jwt-decode";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 $a("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 Va(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(!ja(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/external-task-adapter#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 Ma(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 Va(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 ja(t){let s=(await Wa.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/external-task-adapter#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 Ba.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=Ga(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 Ua({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{cookies as nt,headers as _n}from"next/headers";import{ResponseCookies as Za}from"next/dist/compiled/@edge-runtime/cookies";import{getToken as En}from"next-auth/jwt";var Ja=process.env.NEXTAUTH_URL?.startsWith("https://"),gn=`${Ja?"__Secure-":""}next-auth.session-token`;async function sl(){let t=await En({req:{cookies:nt(),headers:_n()}});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 En({req:{cookies:o?r:nt(),headers:_n()}}),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};
3
- /*! Bundled license information:
4
-
5
- normalize-path/index.js:
6
- (*!
7
- * normalize-path <https://github.com/jonschlinkert/normalize-path>
8
- *
9
- * Copyright (c) 2014-2018, Jon Schlinkert.
10
- * Released under the MIT License.
11
- *)
12
-
13
- is-extglob/index.js:
14
- (*!
15
- * is-extglob <https://github.com/jonschlinkert/is-extglob>
16
- *
17
- * Copyright (c) 2014-2016, Jon Schlinkert.
18
- * Licensed under the MIT License.
19
- *)
20
-
21
- is-glob/index.js:
22
- (*!
23
- * is-glob <https://github.com/jonschlinkert/is-glob>
24
- *
25
- * Copyright (c) 2014-2017, Jon Schlinkert.
26
- * Released under the MIT License.
27
- *)
28
-
29
- is-number/index.js:
30
- (*!
31
- * is-number <https://github.com/jonschlinkert/is-number>
32
- *
33
- * Copyright (c) 2014-present, Jon Schlinkert.
34
- * Released under the MIT License.
35
- *)
36
-
37
- to-regex-range/index.js:
38
- (*!
39
- * to-regex-range <https://github.com/micromatch/to-regex-range>
40
- *
41
- * Copyright (c) 2015-present, Jon Schlinkert.
42
- * Released under the MIT License.
43
- *)
44
-
45
- fill-range/index.js:
46
- (*!
47
- * fill-range <https://github.com/jonschlinkert/fill-range>
48
- *
49
- * Copyright (c) 2014-present, Jon Schlinkert.
50
- * Licensed under the MIT License.
51
- *)
52
- */
File without changes
File without changes
File without changes
File without changes