@5minds/processcube_app_sdk 5.1.0-develop-32fdbc-locnoihk → 5.1.0-develop-159957-loim6gm5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/common/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var E=Object.create;var a=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var R=(r,e)=>{for(var s in e)a(r,s,{get:e[s],enumerable:!0})},l=(r,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of C(e))!g.call(r,n)&&n!==s&&a(r,n,{get:()=>e[n],enumerable:!(o=w(e,n))||o.enumerable});return r};var U=(r,e,s)=>(s=r!=null?E(S(r)):{},l(e||!r||!r.__esModule?a(s,"default",{value:r,enumerable:!0}):s,r)),A=r=>l(a({},"__esModule",{value:!0}),r);var v={};R(v,{RemoteUserTask:()=>b,authConfigJwtCallback:()=>p,authConfigSessionCallback:()=>_,hasClaim:()=>x});module.exports=A(v);var c=require("react/jsx-runtime");function b(r){return(0,c.jsx)("div",{style:{width:"100%",height:"100%"},children:(0,c.jsx)("iframe",{width:"100%",height:"100%",src:r.url})})}var u=require("next-auth"),k=require("next-auth/react"),m=U(require("jwt-decode"),1),d=require("@5minds/processcube_engine_sdk"),T=new d.Logger("processcube_app_sdk:next-auth_configuration");async function x(r){let e;return typeof window>"u"?e=(await(0,u.getServerSession)({callbacks:{jwt:p,session:_}}))?.user:e=(await(0,k.getSession)())?.user,!e||!e.claims?!1:e.claims[r]!=null}async function p(r){let{token:e,account:s}=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));let o=process.env.PROCESSCUBE_AUTHORITY_URL!=null&&process.env.NEXTAUTH_CLIENT_ID!=null&&process.env.NEXTAUTH_SECRET!=null;if(o||T.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"),o&&Date.now()>=e.expiresAt*1e3)try{let n=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"}),t=await n.json();if(!n.ok)throw t;e.accessToken=t.access_token,e.idToken=t.id_token,e.expiresAt=Math.floor(Date.now()/1e3+t.expires_in),e.refreshToken=t.refresh_token??e.refreshToken}catch(n){T.error("Error refreshing access token",{err:n}),e.error="RefreshAccessTokenError"}return e}async function _(r){let{session:e,token:s}=r,o=await f(s.accessToken),n=await f(s.idToken),t=Object.keys(n),i=Object.fromEntries(Object.entries(o).filter(([h,y])=>!t.includes(h)));return delete i.scope,delete i.jti,delete i.client_id,e.user.claims=i,e.error=s.error,e}async function f(r){return(0,m.default)(r)}0&&(module.exports={RemoteUserTask,authConfigJwtCallback,authConfigSessionCallback,hasClaim});
1
+ "use strict";var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var C=(r,e)=>{for(var s in e)a(r,s,{get:e[s],enumerable:!0})},S=(r,e,s,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of E(e))!w.call(r,n)&&n!==s&&a(r,n,{get:()=>e[n],enumerable:!(t=h(e,n))||t.enumerable});return r};var g=r=>S(a({},"__esModule",{value:!0}),r);var A={};C(A,{RemoteUserTask:()=>R,authConfigJwtCallback:()=>m,authConfigSessionCallback:()=>d,hasClaim:()=>U});module.exports=g(A);var c=require("react/jsx-runtime");function R(r){return(0,c.jsx)("div",{style:{width:"100%",height:"100%"},children:(0,c.jsx)("iframe",{width:"100%",height:"100%",src:r.url})})}var f=require("next-auth"),u=require("next-auth/react"),p=require("jwt-decode"),k=require("@5minds/processcube_engine_sdk"),l=new k.Logger("processcube_app_sdk:next-auth_configuration");async function U(r){let e;return typeof window>"u"?e=(await(0,f.getServerSession)({callbacks:{jwt:m,session:d}}))?.user:e=(await(0,u.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||l.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"),n&&Date.now()>=e.expiresAt*1e3)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){l.error("Error refreshing access token",{err:i}),e.error="RefreshAccessTokenError"}return e}async function d(r){let{session:e,token:s}=r,t=T(s.accessToken),n=T(s.idToken),i=Object.keys(n),o=Object.fromEntries(Object.entries(t).filter(([_,b])=>!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 T(r){return(0,p.jwtDecode)(r)}0&&(module.exports={RemoteUserTask,authConfigJwtCallback,authConfigSessionCallback,hasClaim});
package/common/index.d.ts CHANGED
@@ -8,7 +8,7 @@ declare global {
8
8
  }
9
9
  }
10
10
  }
11
- import { DefaultSession } from 'next-auth';
11
+ import { DefaultSession, User } from 'next-auth';
12
12
  declare module 'next-auth' {
13
13
  /**
14
14
  * Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider` React Context
@@ -17,7 +17,9 @@ declare module 'next-auth' {
17
17
  user: {
18
18
  /** The user's identity claims. */
19
19
  claims?: Record<string, unknown>;
20
- } & DefaultSession['user'];
20
+ } & DefaultSession['user'] & {
21
+ [profile_property: string]: any;
22
+ };
21
23
  error?: 'RefreshAccessTokenError';
22
24
  }
23
25
  }
@@ -32,5 +34,6 @@ declare module 'next-auth/jwt' {
32
34
  refreshToken?: string;
33
35
  expiresAt: number;
34
36
  error?: 'RefreshAccessTokenError';
37
+ user?: User;
35
38
  }
36
39
  }
package/common/index.mjs CHANGED
@@ -1 +1 @@
1
- import{jsx as a}from"react/jsx-runtime";function h(s){return a("div",{style:{width:"100%",height:"100%"},children:a("iframe",{width:"100%",height:"100%",src:s.url})})}import{getServerSession as f}from"next-auth";import{getSession as u}from"next-auth/react";import k from"jwt-decode";import{Logger as m}from"@5minds/processcube_engine_sdk";var c=new m("processcube_app_sdk:next-auth_configuration");async function v(s){let e;return typeof window>"u"?e=(await f({callbacks:{jwt:d,session:p}}))?.user:e=(await u())?.user,!e||!e.claims?!1:e.claims[s]!=null}async function d(s){let{token:e,account:r}=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));let t=process.env.PROCESSCUBE_AUTHORITY_URL!=null&&process.env.NEXTAUTH_CLIENT_ID!=null&&process.env.NEXTAUTH_SECRET!=null;if(t||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"),t&&Date.now()>=e.expiresAt*1e3)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"}),n=await o.json();if(!o.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(o){c.error("Error refreshing access token",{err:o}),e.error="RefreshAccessTokenError"}return e}async function p(s){let{session:e,token:r}=s,t=await l(r.accessToken),o=await l(r.idToken),n=Object.keys(o),i=Object.fromEntries(Object.entries(t).filter(([T,_])=>!n.includes(T)));return delete i.scope,delete i.jti,delete i.client_id,e.user.claims=i,e.error=r.error,e}async function l(s){return k(s)}export{h as RemoteUserTask,d as authConfigJwtCallback,p as authConfigSessionCallback,v as hasClaim};
1
+ import{jsx as a}from"react/jsx-runtime";function h(n){return a("div",{style:{width:"100%",height:"100%"},children:a("iframe",{width:"100%",height:"100%",src:n.url})})}import{getServerSession as f}from"next-auth";import{getSession as u}from"next-auth/react";import{jwtDecode as p}from"jwt-decode";import{Logger as k}from"@5minds/processcube_engine_sdk";var c=new k("processcube_app_sdk:next-auth_configuration");async function v(n){let e;return typeof window>"u"?e=(await f({callbacks:{jwt:m,session:d}}))?.user:e=(await u())?.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||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"),i&&Date.now()>=e.expiresAt*1e3)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){c.error("Error refreshing access token",{err:o}),e.error="RefreshAccessTokenError"}return e}async function d(n){let{session:e,token:r}=n,t=l(r.accessToken),i=l(r.idToken),o=Object.keys(i),s=Object.fromEntries(Object.entries(t).filter(([T,_])=>!o.includes(T)));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 l(n){return p(n)}export{h as RemoteUserTask,m as authConfigJwtCallback,d as authConfigSessionCallback,v as hasClaim};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/processcube_app_sdk",
3
- "version": "5.1.0-develop-32fdbc-locnoihk",
3
+ "version": "5.1.0-develop-159957-loim6gm5",
4
4
  "description": "The SDK for ProcessCube Apps",
5
5
  "type": "module",
6
6
  "main": "common/index.cjs",
@@ -80,7 +80,7 @@
80
80
  "@5minds/processcube_engine_sdk": "2023-2",
81
81
  "client-only": "^0.0.1",
82
82
  "esbuild": "^0.19.3",
83
- "jwt-decode": "^3.1.2",
83
+ "jwt-decode": "^4.0.0",
84
84
  "only-server": "^0.0.1",
85
85
  "openid-client": "^5.5.0"
86
86
  }
package/server/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var X=Object.create;var g=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var V=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var Z=(e,t)=>{for(var s in t)g(e,s,{get:t[s],enumerable:!0})},_=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of j(t))!J.call(e,n)&&n!==s&&g(e,n,{get:()=>t[n],enumerable:!(r=Y(t,n))||r.enumerable});return e};var Q=(e,t,s)=>(s=e!=null?X(V(e)):{},_(t||!e||!e.__esModule?g(s,"default",{value:e,enumerable:!0}):s,e)),z=e=>_(g({},"__esModule",{value:!0}),e);var Ne={};Z(Ne,{finishUserTask:()=>xe,finishUserTaskAndGetNext:()=>pe,getActiveProcessInstances:()=>de,getAssignedUserTasksByIdentity:()=>we,getEngineClient:()=>ie,getIdentity:()=>le,getReservedUserTasksByIdentity:()=>Te,getUserTasks:()=>B,getWaitingUserTaskByFlowNodeInstanceId:()=>$,getWaitingUserTasks:()=>fe,getWaitingUserTasksByCorrelationId:()=>Ie,getWaitingUserTasksByFlowNodeId:()=>ke,getWaitingUserTasksByProcessInstanceId:()=>me,navigateToUrl:()=>ye,startProcess:()=>Ee,waitForUserTask:()=>ue,withApplicationSdk:()=>ge});module.exports=z(Ne);var ot=require("only-server");var U=require("@5minds/processcube_engine_sdk"),R=require("@5minds/processcube_engine_client"),u=require("node:path"),F=require("esbuild"),I=require("node:fs"),A=require("openid-client"),D=Q(require("jwt-decode"),1);var P=require("@5minds/processcube_engine_client"),C=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new P.EngineClient(C);var ee={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},te=.85,se="external_task.ts",f=new U.Logger("processcube_app_sdk:external_task_adapter"),y=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function b(e){let t,s=[e,(0,u.join)(process.cwd(),"app"),(0,u.join)(process.cwd(),"src","app")];for(let n of s)if(n&&(0,I.existsSync)(n)){t=n;break}if(!t)throw new Error("Could not find external tasks directory");let r=await O(t);for(let n of r){let a=await ne(n);if(!a)continue;let d=(0,u.join)(n,a),x=await re(d),m=y?await L():null,c={identity:await M(m),...x?.config},N=x.default,T=(0,u.relative)(t,n).replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/"),p=new R.ExternalTaskWorker(C,T,N,c);await S(m,p),p.onWorkerError((w,k,H)=>{f.error(`Intercepted "${w}"-type error: ${k.message}`,{err:k,type:w,externalTask:H})}),p.start(),f.info(`Started external task worker ${p.workerId} for topic '${T}'`)}}async function ne(e){let s=(await I.promises.readdir(e)).filter(r=>r===se);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 L(){if(!y)throw new Error("No authority is configured");let e=await A.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"})}async function M(e){if(!y||e===null)return ee;let t=e.access_token,s=(0,D.default)(t);return{token:e.access_token,userId:s.sub}}async function S(e,t,s=5){try{if(!y||e===null)return;let n=await oe(e)*te*1e3;setTimeout(async()=>{let a=await L(),d=await M(a);t.identity=d,await S(a,t)},n)}catch(r){if(s===0)throw r;f.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:r,workerId:t.workerId});let n=2*1e3;setTimeout(async()=>await S(e,t,s-1),n)}}async function re(e){let t=await(0,F.build)({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"}),s=t.outputFiles[0].text,r=ae(s,e);if(t.errors.length>0)throw f.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&f.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),r}async function O(e){let t=await I.promises.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async r=>{let n=(0,u.join)(e.toString(),r.name);return r.isDirectory()?[n,...await O(n)]:[]}));return Array.prototype.concat(...s)}async function oe(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 ae(e,t){try{var s=module.constructor,r=new s;return r._compile(e,t),r.exports}catch(n){throw f.error("Could not require module from string",{err:n}),n}}function ie(){return o}var l=require("next/headers"),W=require("next/dist/compiled/@edge-runtime/cookies"),h=require("next-auth/jwt"),ce=process.env.NEXTAUTH_URL?.startsWith("https://"),q=`${ce?"__Secure-":""}next-auth.session-token`;async function le(){let e=await(0,h.getToken)({req:{cookies:(0,l.cookies)(),headers:(0,l.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,l.cookies)().toString()}}),r=new W.ResponseCookies(s.headers),n=r.get(q);if(n){let a=!1;try{(0,l.cookies)().set(q,n.value,{...n})}catch{a=!0}if(e=await(0,h.getToken)({req:{cookies:a?r:(0,l.cookies)(),headers:(0,l.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 v=require("@5minds/processcube_engine_client");async function de(e){return await o.processInstances.query({...e?.query,state:v.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}var i=require("@5minds/processcube_engine_client");async function ue(e={},t){let{processInstanceId:s,flowNodeId:r}=e;return new Promise(async(n,a)=>{let d=await o.userTasks.onUserTaskWaiting(async c=>{let N=c.flowNodeInstanceId===void 0,T=s!==void 0&&c.processInstanceId!==s,p=r!==void 0&&c.flowNodeId!==r,w=s!==void 0&&r!==void 0&&c.processInstanceId!==s&&c.flowNodeId!==r;if(N||T||p||w)return;let k=await $(c.flowNodeInstanceId,{identity:t});return o.notification.removeSubscription(d,t),k===null?a(new Error(`UserTask with instance ID "${c.flowNodeInstanceId}" does not exist.`)):n(k)},{identity:t}),m=(await B({processInstanceId:s,flowNodeId:r,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t})).userTasks[0];m&&(o.notification.removeSubscription(d,t),n(m))})}async function pe(e,t,s,r){await o.userTasks.finishUserTask(e,t,r);let n=await o.userTasks.query({flowNodeId:s,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:r});return n.userTasks.length===0?null:n.userTasks[0]}async function B(...e){return await o.userTasks.query(...e)}async function fe(e){return await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function me(e,t){return await o.userTasks.query({processInstanceId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function ke(e,t){return await o.userTasks.query({flowNodeId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function $(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function Ie(e,t){return await o.userTasks.query({correlationId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Te(e,t){let s=await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.actualOwnerId===e.userId);return s.userTasks=r,s}async function we(e,t){let s=await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.assignedUserIds?.includes(e.userId));return s.userTasks=r,s}var E=require("next/dist/shared/lib/constants");function ge(e={}){let{applicationSdk:t,...s}=e;return async(r,n)=>{let a=r===E.PHASE_DEVELOPMENT_SERVER||r===E.PHASE_PRODUCTION_SERVER;return t?.useExternalTasks&&a&&await b(t?.customExternalTasksDirPath),s}}var K=require("next/cache"),G=require("next/navigation");function ye(e){(0,K.revalidatePath)(e),(0,G.redirect)(e)}async function Ee(...e){return await o.processModels.startProcessInstance(...e)}async function xe(...e){await o.userTasks.finishUserTask(...e)}0&&(module.exports={finishUserTask,finishUserTaskAndGetNext,getActiveProcessInstances,getAssignedUserTasksByIdentity,getEngineClient,getIdentity,getReservedUserTasksByIdentity,getUserTasks,getWaitingUserTaskByFlowNodeInstanceId,getWaitingUserTasks,getWaitingUserTasksByCorrelationId,getWaitingUserTasksByFlowNodeId,getWaitingUserTasksByProcessInstanceId,navigateToUrl,startProcess,waitForUserTask,withApplicationSdk});
1
+ "use strict";var N=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Y=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var s in t)N(e,s,{get:t[s],enumerable:!0})},V=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of X(t))!Y.call(e,n)&&n!==s&&N(e,n,{get:()=>t[n],enumerable:!(r=H(t,n))||r.enumerable});return e};var J=e=>V(N({},"__esModule",{value:!0}),e);var ye={};j(ye,{finishUserTask:()=>we,finishUserTaskAndGetNext:()=>le,getActiveProcessInstances:()=>ie,getAssignedUserTasksByIdentity:()=>ke,getEngineClient:()=>re,getIdentity:()=>ae,getReservedUserTasksByIdentity:()=>me,getUserTasks:()=>v,getWaitingUserTaskByFlowNodeInstanceId:()=>B,getWaitingUserTasks:()=>de,getWaitingUserTasksByCorrelationId:()=>fe,getWaitingUserTasksByFlowNodeId:()=>pe,getWaitingUserTasksByProcessInstanceId:()=>ue,navigateToUrl:()=>Te,startProcess:()=>ge,waitForUserTask:()=>ce,withApplicationSdk:()=>Ie});module.exports=J(ye);var st=require("only-server");var P=require("@5minds/processcube_engine_sdk"),U=require("@5minds/processcube_engine_client"),u=require("node:path"),R=require("esbuild"),I=require("node:fs"),F=require("openid-client"),A=require("jwt-decode");var _=require("@5minds/processcube_engine_client"),C=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new _.EngineClient(C);var Z={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},Q=.85,z="external_task.ts",f=new P.Logger("processcube_app_sdk:external_task_adapter"),w=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function D(e){let t,s=[e,(0,u.join)(process.cwd(),"app"),(0,u.join)(process.cwd(),"src","app")];for(let n of s)if(n&&(0,I.existsSync)(n)){t=n;break}if(!t)throw new Error("Could not find external tasks directory");let r=await M(t);for(let n of r){let a=await ee(n);if(!a)continue;let d=(0,u.join)(n,a),E=await te(d),m=w?await b():null,c={identity:L(m),...E?.config},x=E.default,T=(0,u.relative)(t,n).replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/"),p=new U.ExternalTaskWorker(C,T,x,c);await S(m,p),p.onWorkerError((g,k,G)=>{f.error(`Intercepted "${g}"-type error: ${k.message}`,{err:k,type:g,externalTask:G})}),p.start(),f.info(`Started external task worker ${p.workerId} for topic '${T}'`)}}async function ee(e){let s=(await I.promises.readdir(e)).filter(r=>r===z);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 b(){if(!w)throw new Error("No authority is configured");let e=await F.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 L(e){if(!w||e===null)return Z;let t=e.access_token,s=(0,A.jwtDecode)(t);return{token:e.access_token,userId:s.sub}}async function S(e,t,s=5){try{if(!w||e===null)return;let n=await se(e)*Q*1e3;setTimeout(async()=>{let a=await b(),d=L(a);t.identity=d,await S(a,t)},n)}catch(r){if(s===0)throw r;f.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:r,workerId:t.workerId});let n=2*1e3;setTimeout(async()=>await S(e,t,s-1),n)}}async function te(e){let t=await(0,R.build)({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"}),s=t.outputFiles[0].text,r=ne(s,e);if(t.errors.length>0)throw f.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&f.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),r}async function M(e){let t=await I.promises.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async r=>{let n=(0,u.join)(e.toString(),r.name);return r.isDirectory()?[n,...await M(n)]:[]}));return Array.prototype.concat(...s)}async function se(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 ne(e,t){try{var s=module.constructor,r=new s;return r._compile(e,t),r.exports}catch(n){throw f.error("Could not require module from string",{err:n}),n}}function re(){return o}var l=require("next/headers"),q=require("next/dist/compiled/@edge-runtime/cookies"),h=require("next-auth/jwt"),oe=process.env.NEXTAUTH_URL?.startsWith("https://"),O=`${oe?"__Secure-":""}next-auth.session-token`;async function ae(){let e=await(0,h.getToken)({req:{cookies:(0,l.cookies)(),headers:(0,l.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,l.cookies)().toString()}}),r=new q.ResponseCookies(s.headers),n=r.get(O);if(n){let a=!1;try{(0,l.cookies)().set(O,n.value,{...n})}catch{a=!0}if(e=await(0,h.getToken)({req:{cookies:a?r:(0,l.cookies)(),headers:(0,l.headers)()}}),e?.error)throw e.error}}if(!e?.accessToken||!e?.sub)throw new Error("AccessToken or Sub could not be determined!");return{token:e?.accessToken,userId:e?.sub}}var W=require("@5minds/processcube_engine_client");async function ie(e){return await o.processInstances.query({...e?.query,state:W.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}var i=require("@5minds/processcube_engine_client");async function ce(e={},t){let{processInstanceId:s,flowNodeId:r}=e;return new Promise(async(n,a)=>{let d=await o.userTasks.onUserTaskWaiting(async c=>{let x=c.flowNodeInstanceId===void 0,T=s!==void 0&&c.processInstanceId!==s,p=r!==void 0&&c.flowNodeId!==r,g=s!==void 0&&r!==void 0&&c.processInstanceId!==s&&c.flowNodeId!==r;if(x||T||p||g)return;let k=await B(c.flowNodeInstanceId,{identity:t});return o.notification.removeSubscription(d,t),k===null?a(new Error(`UserTask with instance ID "${c.flowNodeInstanceId}" does not exist.`)):n(k)},{identity:t}),m=(await v({processInstanceId:s,flowNodeId:r,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t})).userTasks[0];m&&(o.notification.removeSubscription(d,t),n(m))})}async function le(e,t,s,r){await o.userTasks.finishUserTask(e,t,r);let n=await o.userTasks.query({flowNodeId:s,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:r});return n.userTasks.length===0?null:n.userTasks[0]}async function v(...e){return await o.userTasks.query(...e)}async function de(e){return await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function ue(e,t){return await o.userTasks.query({processInstanceId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function pe(e,t){return await o.userTasks.query({flowNodeId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function B(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function fe(e,t){return await o.userTasks.query({correlationId:e,state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function me(e,t){let s=await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.actualOwnerId===e.userId);return s.userTasks=r,s}async function ke(e,t){let s=await o.userTasks.query({state:i.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.assignedUserIds?.includes(e.userId));return s.userTasks=r,s}var y=require("next/dist/shared/lib/constants");function Ie(e={}){let{applicationSdk:t,...s}=e;return async(r,n)=>{let a=r===y.PHASE_DEVELOPMENT_SERVER||r===y.PHASE_PRODUCTION_SERVER;return t?.useExternalTasks&&a&&await D(t?.customExternalTasksDirPath),s}}var $=require("next/cache"),K=require("next/navigation");function Te(e){(0,$.revalidatePath)(e),(0,K.redirect)(e)}async function ge(...e){return await o.processModels.startProcessInstance(...e)}async function we(...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.mjs CHANGED
@@ -1 +1 @@
1
- import"only-server";import{Logger as D}from"@5minds/processcube_engine_sdk";import{ExternalTaskWorker as b}from"@5minds/processcube_engine_client";import{join as I,relative as L}from"node:path";import{build as M}from"esbuild";import{promises as N,existsSync as O}from"node:fs";import{Issuer as q}from"openid-client";import W from"jwt-decode";import{EngineClient as A}from"@5minds/processcube_engine_client";var E=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new A(E);var v={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},B=.85,$="external_task.ts",u=new D("processcube_app_sdk:external_task_adapter"),T=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function C(e){let t,s=[e,I(process.cwd(),"app"),I(process.cwd(),"src","app")];for(let r of s)if(r&&O(r)){t=r;break}if(!t)throw new Error("Could not find external tasks directory");let n=await _(t);for(let r of n){let a=await K(r);if(!a)continue;let l=I(r,a),g=await G(l),p=T?await S():null,i={identity:await h(p),...g?.config},y=g.default,m=L(t,r).replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/"),d=new b(E,m,y,i);await x(p,d),d.onWorkerError((k,f,F)=>{u.error(`Intercepted "${k}"-type error: ${f.message}`,{err:f,type:k,externalTask:F})}),d.start(),u.info(`Started external task worker ${d.workerId} for topic '${m}'`)}}async function K(e){let s=(await N.readdir(e)).filter(n=>n===$);if(s.length===0)return null;if(s.length>1)throw new Error(`Found more than one external task file in directory '${e}'`);return s[0]}async function S(){if(!T)throw new Error("No authority is configured");let e=await q.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"})}async function h(e){if(!T||e===null)return v;let t=e.access_token,s=W(t);return{token:e.access_token,userId:s.sub}}async function x(e,t,s=5){try{if(!T||e===null)return;let r=await H(e)*B*1e3;setTimeout(async()=>{let a=await S(),l=await h(a);t.identity=l,await x(a,t)},r)}catch(n){if(s===0)throw n;u.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:n,workerId:t.workerId});let r=2*1e3;setTimeout(async()=>await x(e,t,s-1),r)}}async function G(e){let t=await M({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"}),s=t.outputFiles[0].text,n=X(s,e);if(t.errors.length>0)throw u.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&u.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),n}async function _(e){let t=await N.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async n=>{let r=I(e.toString(),n.name);return n.isDirectory()?[r,...await _(r)]:[]}));return Array.prototype.concat(...s)}async function H(e){let t=e.expires_in;if(!t&&e.expires_at&&(t=Math.floor(e.expires_at-Date.now()/1e3)),t===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return t}function X(e,t){try{var s=module.constructor,n=new s;return n._compile(e,t),n.exports}catch(r){throw u.error("Could not require module from string",{err:r}),r}}function we(){return o}import{cookies as w,headers as P}from"next/headers";import{ResponseCookies as Y}from"next/dist/compiled/@edge-runtime/cookies";import{getToken as U}from"next-auth/jwt";var j=process.env.NEXTAUTH_URL?.startsWith("https://"),R=`${j?"__Secure-":""}next-auth.session-token`;async function Ne(){let e=await U({req:{cookies:w(),headers:P()}});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:w().toString()}}),n=new Y(s.headers),r=n.get(R);if(r){let a=!1;try{w().set(R,r.value,{...r})}catch{a=!0}if(e=await U({req:{cookies:a?n:w(),headers:P()}}),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}}import{DataModels as V}from"@5minds/processcube_engine_client";async function _e(e){return await o.processInstances.query({...e?.query,state:V.ProcessInstances.ProcessInstanceState.running},e?.options)}import{DataModels as c}from"@5minds/processcube_engine_client";async function Fe(e={},t){let{processInstanceId:s,flowNodeId:n}=e;return new Promise(async(r,a)=>{let l=await o.userTasks.onUserTaskWaiting(async i=>{let y=i.flowNodeInstanceId===void 0,m=s!==void 0&&i.processInstanceId!==s,d=n!==void 0&&i.flowNodeId!==n,k=s!==void 0&&n!==void 0&&i.processInstanceId!==s&&i.flowNodeId!==n;if(y||m||d||k)return;let f=await Z(i.flowNodeInstanceId,{identity:t});return o.notification.removeSubscription(l,t),f===null?a(new Error(`UserTask with instance ID "${i.flowNodeInstanceId}" does not exist.`)):r(f)},{identity:t}),p=(await J({processInstanceId:s,flowNodeId:n,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t})).userTasks[0];p&&(o.notification.removeSubscription(l,t),r(p))})}async function Ae(e,t,s,n){await o.userTasks.finishUserTask(e,t,n);let r=await o.userTasks.query({flowNodeId:s,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:n});return r.userTasks.length===0?null:r.userTasks[0]}async function J(...e){return await o.userTasks.query(...e)}async function De(e){return await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function be(e,t){return await o.userTasks.query({processInstanceId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Le(e,t){return await o.userTasks.query({flowNodeId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Z(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function Me(e,t){return await o.userTasks.query({correlationId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Oe(e,t){let s=await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.actualOwnerId===e.userId);return s.userTasks=n,s}async function qe(e,t){let s=await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.assignedUserIds?.includes(e.userId));return s.userTasks=n,s}import{PHASE_DEVELOPMENT_SERVER as Q,PHASE_PRODUCTION_SERVER as z}from"next/dist/shared/lib/constants";function Ve(e={}){let{applicationSdk:t,...s}=e;return async(n,r)=>{let a=n===Q||n===z;return t?.useExternalTasks&&a&&await C(t?.customExternalTasksDirPath),s}}import{revalidatePath as ee}from"next/cache";import{redirect as te}from"next/navigation";function tt(e){ee(e),te(e)}async function rt(...e){return await o.processModels.startProcessInstance(...e)}async function it(...e){await o.userTasks.finishUserTask(...e)}export{it as finishUserTask,Ae as finishUserTaskAndGetNext,_e as getActiveProcessInstances,qe as getAssignedUserTasksByIdentity,we as getEngineClient,Ne as getIdentity,Oe as getReservedUserTasksByIdentity,J as getUserTasks,Z as getWaitingUserTaskByFlowNodeInstanceId,De as getWaitingUserTasks,Me as getWaitingUserTasksByCorrelationId,Le as getWaitingUserTasksByFlowNodeId,be as getWaitingUserTasksByProcessInstanceId,tt as navigateToUrl,rt as startProcess,Fe as waitForUserTask,Ve as withApplicationSdk};
1
+ import"only-server";import{Logger as D}from"@5minds/processcube_engine_sdk";import{ExternalTaskWorker as b}from"@5minds/processcube_engine_client";import{join as I,relative as L}from"node:path";import{build as M}from"esbuild";import{promises as N,existsSync as O}from"node:fs";import{Issuer as q}from"openid-client";import{jwtDecode as W}from"jwt-decode";import{EngineClient as A}from"@5minds/processcube_engine_client";var E=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new A(E);var v={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},B=.85,$="external_task.ts",u=new D("processcube_app_sdk:external_task_adapter"),T=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function C(e){let t,s=[e,I(process.cwd(),"app"),I(process.cwd(),"src","app")];for(let r of s)if(r&&O(r)){t=r;break}if(!t)throw new Error("Could not find external tasks directory");let n=await _(t);for(let r of n){let a=await K(r);if(!a)continue;let l=I(r,a),w=await G(l),p=T?await S():null,i={identity:h(p),...w?.config},y=w.default,m=L(t,r).replace(/^\.\/+|\([^)]+\)|^\/*|\/*$/g,"").replace(/[\/]{2,}/g,"/"),d=new b(E,m,y,i);await x(p,d),d.onWorkerError((k,f,F)=>{u.error(`Intercepted "${k}"-type error: ${f.message}`,{err:f,type:k,externalTask:F})}),d.start(),u.info(`Started external task worker ${d.workerId} for topic '${m}'`)}}async function K(e){let s=(await N.readdir(e)).filter(n=>n===$);if(s.length===0)return null;if(s.length>1)throw new Error(`Found more than one external task file in directory '${e}'`);return s[0]}async function S(){if(!T)throw new Error("No authority is configured");let e=await q.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 h(e){if(!T||e===null)return v;let t=e.access_token,s=W(t);return{token:e.access_token,userId:s.sub}}async function x(e,t,s=5){try{if(!T||e===null)return;let r=await H(e)*B*1e3;setTimeout(async()=>{let a=await S(),l=h(a);t.identity=l,await x(a,t)},r)}catch(n){if(s===0)throw n;u.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:n,workerId:t.workerId});let r=2*1e3;setTimeout(async()=>await x(e,t,s-1),r)}}async function G(e){let t=await M({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"}),s=t.outputFiles[0].text,n=X(s,e);if(t.errors.length>0)throw u.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&u.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),n}async function _(e){let t=await N.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async n=>{let r=I(e.toString(),n.name);return n.isDirectory()?[r,...await _(r)]:[]}));return Array.prototype.concat(...s)}async function H(e){let t=e.expires_in;if(!t&&e.expires_at&&(t=Math.floor(e.expires_at-Date.now()/1e3)),t===void 0)throw new Error("Could not determine the time until the access token for external task workers expires");return t}function X(e,t){try{var s=module.constructor,n=new s;return n._compile(e,t),n.exports}catch(r){throw u.error("Could not require module from string",{err:r}),r}}function ge(){return o}import{cookies as g,headers as P}from"next/headers";import{ResponseCookies as Y}from"next/dist/compiled/@edge-runtime/cookies";import{getToken as U}from"next-auth/jwt";var j=process.env.NEXTAUTH_URL?.startsWith("https://"),R=`${j?"__Secure-":""}next-auth.session-token`;async function Ne(){let e=await U({req:{cookies:g(),headers:P()}});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:g().toString()}}),n=new Y(s.headers),r=n.get(R);if(r){let a=!1;try{g().set(R,r.value,{...r})}catch{a=!0}if(e=await U({req:{cookies:a?n:g(),headers:P()}}),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}}import{DataModels as V}from"@5minds/processcube_engine_client";async function _e(e){return await o.processInstances.query({...e?.query,state:V.ProcessInstances.ProcessInstanceState.running},e?.options)}import{DataModels as c}from"@5minds/processcube_engine_client";async function Fe(e={},t){let{processInstanceId:s,flowNodeId:n}=e;return new Promise(async(r,a)=>{let l=await o.userTasks.onUserTaskWaiting(async i=>{let y=i.flowNodeInstanceId===void 0,m=s!==void 0&&i.processInstanceId!==s,d=n!==void 0&&i.flowNodeId!==n,k=s!==void 0&&n!==void 0&&i.processInstanceId!==s&&i.flowNodeId!==n;if(y||m||d||k)return;let f=await Z(i.flowNodeInstanceId,{identity:t});return o.notification.removeSubscription(l,t),f===null?a(new Error(`UserTask with instance ID "${i.flowNodeInstanceId}" does not exist.`)):r(f)},{identity:t}),p=(await J({processInstanceId:s,flowNodeId:n,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:t})).userTasks[0];p&&(o.notification.removeSubscription(l,t),r(p))})}async function Ae(e,t,s,n){await o.userTasks.finishUserTask(e,t,n);let r=await o.userTasks.query({flowNodeId:s,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:n});return r.userTasks.length===0?null:r.userTasks[0]}async function J(...e){return await o.userTasks.query(...e)}async function De(e){return await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function be(e,t){return await o.userTasks.query({processInstanceId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Le(e,t){return await o.userTasks.query({flowNodeId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Z(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function Me(e,t){return await o.userTasks.query({correlationId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Oe(e,t){let s=await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.actualOwnerId===e.userId);return s.userTasks=n,s}async function qe(e,t){let s=await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.assignedUserIds?.includes(e.userId));return s.userTasks=n,s}import{PHASE_DEVELOPMENT_SERVER as Q,PHASE_PRODUCTION_SERVER as z}from"next/dist/shared/lib/constants";function Ve(e={}){let{applicationSdk:t,...s}=e;return async(n,r)=>{let a=n===Q||n===z;return t?.useExternalTasks&&a&&await C(t?.customExternalTasksDirPath),s}}import{revalidatePath as ee}from"next/cache";import{redirect as te}from"next/navigation";function tt(e){ee(e),te(e)}async function rt(...e){return await o.processModels.startProcessInstance(...e)}async function it(...e){await o.userTasks.finishUserTask(...e)}export{it as finishUserTask,Ae as finishUserTaskAndGetNext,_e as getActiveProcessInstances,qe as getAssignedUserTasksByIdentity,ge as getEngineClient,Ne as getIdentity,Oe as getReservedUserTasksByIdentity,J as getUserTasks,Z as getWaitingUserTaskByFlowNodeInstanceId,De as getWaitingUserTasks,Me as getWaitingUserTasksByCorrelationId,Le as getWaitingUserTasksByFlowNodeId,be as getWaitingUserTasksByProcessInstanceId,tt as navigateToUrl,rt as startProcess,Fe as waitForUserTask,Ve as withApplicationSdk};