@5minds/processcube_app_sdk 0.0.1-develop-73b219-lmfx64it → 0.0.1-develop-e9d4c8-lmhp3flv

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 T=Object.create;var r=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var s in t)r(e,s,{get:t[s],enumerable:!0})},c=(e,t,s,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of h(t))!S.call(e,n)&&n!==s&&r(e,n,{get:()=>t[n],enumerable:!(o=g(t,n))||o.enumerable});return e};var y=(e,t,s)=>(s=e!=null?T(C(e)):{},c(t||!e||!e.__esModule?r(s,"default",{value:e,enumerable:!0}):s,e)),x=e=>c(r({},"__esModule",{value:!0}),e);var v={};b(v,{RemoteUserTask:()=>j,authConfigJwtCallback:()=>f,authConfigSessionCallback:()=>k,hasClaim:()=>P});module.exports=x(v);var a=require("react/jsx-runtime");function j(e){return(0,a.jsx)("div",{style:{width:"100%",height:"100%"},children:(0,a.jsx)("iframe",{width:"100%",height:"100%",src:e.url})})}var u=require("next-auth"),m=require("next-auth/react"),d=y(require("jwt-decode"),1);async function P(e){let t;return typeof window>"u"?t=(await(0,u.getServerSession)({callbacks:{jwt:f,session:k}}))?.user:t=(await(0,m.getSession)())?.user,!t||!t.claims?!1:t.claims[e]!=null}async function f(e){let{token:t,account:s}=e;return s&&(t.accessToken=s.access_token,t.idToken=s.id_token),t}async function k(e){let{session:t,token:s}=e,o=await l(s.accessToken),n=await l(s.idToken),p=Object.keys(n),i=Object.fromEntries(Object.entries(o).filter(([w,J])=>!p.includes(w)));return delete i.scope,delete i.jti,delete i.client_id,t.user.claims=i,t}async function l(e){return(0,d.default)(e)}0&&(module.exports={RemoteUserTask,authConfigJwtCallback,authConfigSessionCallback,hasClaim});
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});
package/common/index.d.ts CHANGED
@@ -1,5 +1,13 @@
1
1
  export * from './components/RemoteUserTask';
2
2
  export * from './functions/hasClaim';
3
+ declare global {
4
+ namespace NodeJS {
5
+ interface ProcessEnv {
6
+ NEXTAUTH_CLIENT_ID?: string;
7
+ PROCESSCUBE_AUTHORITY_URL?: string;
8
+ }
9
+ }
10
+ }
3
11
  import { DefaultSession } from 'next-auth';
4
12
  declare module 'next-auth' {
5
13
  /**
@@ -10,6 +18,7 @@ declare module 'next-auth' {
10
18
  /** The user's identity claims. */
11
19
  claims?: Record<string, unknown>;
12
20
  } & DefaultSession['user'];
21
+ error?: 'RefreshAccessTokenError';
13
22
  }
14
23
  }
15
24
  declare module 'next-auth/jwt' {
@@ -19,5 +28,9 @@ declare module 'next-auth/jwt' {
19
28
  accessToken?: string;
20
29
  /** OpenID ID Token */
21
30
  idToken?: string;
31
+ /** OpenID Refresh Token */
32
+ refreshToken?: string;
33
+ expiresAt: number;
34
+ error?: 'RefreshAccessTokenError';
22
35
  }
23
36
  }
package/common/index.mjs CHANGED
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";function w(t){return o("div",{style:{width:"100%",height:"100%"},children:o("iframe",{width:"100%",height:"100%",src:t.url})})}import{getServerSession as u}from"next-auth";import{getSession as m}from"next-auth/react";import d from"jwt-decode";async function j(t){let e;return typeof window>"u"?e=(await u({callbacks:{jwt:f,session:k}}))?.user:e=(await m())?.user,!e||!e.claims?!1:e.claims[t]!=null}async function f(t){let{token:e,account:s}=t;return s&&(e.accessToken=s.access_token,e.idToken=s.id_token),e}async function k(t){let{session:e,token:s}=t,r=await i(s.accessToken),a=await i(s.idToken),c=Object.keys(a),n=Object.fromEntries(Object.entries(r).filter(([l,p])=>!c.includes(l)));return delete n.scope,delete n.jti,delete n.client_id,e.user.claims=n,e}async function i(t){return d(t)}export{w as RemoteUserTask,f as authConfigJwtCallback,k as authConfigSessionCallback,j as hasClaim};
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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/processcube_app_sdk",
3
- "version": "0.0.1-develop-73b219-lmfx64it",
3
+ "version": "0.0.1-develop-e9d4c8-lmhp3flv",
4
4
  "description": "The SDK for ProcessCube Apps",
5
5
  "type": "module",
6
6
  "main": "common/index.cjs",
@@ -72,7 +72,7 @@
72
72
  },
73
73
  "peerDependencies": {
74
74
  "next": ">=13.4",
75
- "next-auth": "^4.22.1",
75
+ "next-auth": "^4.23.1",
76
76
  "react": ">=18.0.0"
77
77
  },
78
78
  "dependencies": {
package/server/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var X=Object.create;var k=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)k(e,s,{get:t[s],enumerable:!0})},P=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of j(t))!J.call(e,r)&&r!==s&&k(e,r,{get:()=>t[r],enumerable:!(n=Y(t,r))||n.enumerable});return e};var Q=(e,t,s)=>(s=e!=null?X(V(e)):{},P(t||!e||!e.__esModule?k(s,"default",{value:e,enumerable:!0}):s,e)),z=e=>P(k({},"__esModule",{value:!0}),e);var xe={};Z(xe,{finishUserTask:()=>ye,finishUserTaskAndGetNext:()=>te,getActiveProcessInstances:()=>de,getAssignedUserTasksByIdentity:()=>ie,getIdentity:()=>ce,getReservedUserTasksByIdentity:()=>ae,getUserTasks:()=>_,getWaitingUserTaskByFlowNodeInstanceId:()=>U,getWaitingUserTasks:()=>se,getWaitingUserTasksByCorrelationId:()=>oe,getWaitingUserTasksByFlowNodeId:()=>re,getWaitingUserTasksByProcessInstanceId:()=>ne,hardNavigate:()=>we,navigateToUrl:()=>Ee,startProcess:()=>ge,waitForUserTask:()=>ee,withApplicationSdk:()=>ke});module.exports=z(xe);var et=require("only-server");var c=require("@5minds/processcube_engine_client");var h=require("@5minds/processcube_engine_client"),N=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new h.EngineClient(N);async function ee(e={}){let{processInstanceId:t,flowNodeId:s}=e;return new Promise(async(n,r)=>{let a=await o.userTasks.onUserTaskWaiting(async i=>{let E=i.flowNodeInstanceId===void 0,x=t!==void 0&&i.processInstanceId!==t,T=s!==void 0&&i.flowNodeId!==s,l=t!==void 0&&s!==void 0&&i.processInstanceId!==t&&i.flowNodeId!==s;if(E||x||T||l)return;let m=await U(i.flowNodeInstanceId);return o.notification.removeSubscription(a),m===null?r(new Error(`UserTask with instance ID "${i.flowNodeInstanceId}" does not exist.`)):n(m)}),p=(await _({processInstanceId:t,flowNodeId:s,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended})).userTasks[0];p&&(o.notification.removeSubscription(a),n(p))})}async function te(e,t,s){await o.userTasks.finishUserTask(e,t);let n=await o.userTasks.query({flowNodeId:s,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended});return n.userTasks.length===0?null:n.userTasks[0]}async function _(...e){return await o.userTasks.query(...e)}async function se(e){return await o.userTasks.query({state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function ne(e,t){return await o.userTasks.query({processInstanceId:e,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function re(e,t){return await o.userTasks.query({flowNodeId:e,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function U(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function oe(e,t){return await o.userTasks.query({correlationId:e,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function ae(e,t){let s=await o.userTasks.query({state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.actualOwnerId===e.userId);return s.userTasks=n,s}async function ie(e,t){let s=await o.userTasks.query({state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),n=s.userTasks.filter(r=>r.assignedUserIds?.includes(e.userId));return s.userTasks=n,s}var w=require("next/headers"),F=require("next-auth/jwt");async function ce(){let e=await(0,F.getToken)({req:{cookies:(0,w.cookies)(),headers:(0,w.headers)()}});if(!e?.accessToken||!e?.sub)throw new Error("AccessToken or Sub could not be determined!");return{token:e?.accessToken,userId:e?.sub}}var R=require("@5minds/processcube_engine_client");async function de(e){return await o.processInstances.query({...e?.query,state:R.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}var D=require("@5minds/processcube_engine_sdk"),b=require("@5minds/processcube_engine_client");var d=require("node:path"),M=require("esbuild"),I=require("node:fs"),A=require("openid-client"),L=Q(require("jwt-decode"),1),le={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},ue=.85,fe="external_task.ts",u=new D.Logger("processcube_app_sdk:external_task_adapter"),g=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function O(e){let t,s=[e,(0,d.join)(process.cwd(),"app"),(0,d.join)(process.cwd(),"src","app")];for(let r of s)if(r&&(0,I.existsSync)(r)){t=r;break}if(!t)throw new Error("Could not find external tasks directory");let n=await v(t);for(let r of n){let a=await pe(r);if(!a)continue;let f=(0,d.join)(r,a),p=await me(f),i=g?await q():null,E={identity:await W(i),...p?.config},x=p.default,T=(0,d.relative)(t,r).replace(/^\.\/+/,""),l=new b.ExternalTaskWorker(N,T,x,E);await S(i,l),l.onWorkerError((m,C,H)=>{u.error(`Intercepted "${m}"-type error: ${C.message}`,{err:C,type:m,externalTask:H})}),l.start(),u.info(`Started external task worker ${l.workerId} for topic '${T}'`)}}async function pe(e){let s=(await I.promises.readdir(e)).filter(n=>n===fe);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(!g)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 W(e){if(!g||e===null)return le;let t=e.access_token,s=(0,L.default)(t);return{token:e.access_token,userId:s.sub}}async function S(e,t,s=5){try{if(!g||e===null)return;let r=await Ie(e)*ue*1e3;setTimeout(async()=>{let a=await q(),f=await W(a);t.identity=f,await S(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 S(e,t,s-1),r)}}async function me(e){let t=await(0,M.build)({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"}),s=t.outputFiles[0].text,n=Te(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 v(e){let t=await I.promises.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async n=>{let r=(0,d.join)(e.toString(),n.name);return n.isDirectory()?[r,...await v(r)]:[]}));return Array.prototype.concat(...s)}async function Ie(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 Te(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}}var y=require("next/dist/shared/lib/constants");function ke(e={}){let{applicationSdk:t,...s}=e;return async(n,r)=>{let a=n===y.PHASE_DEVELOPMENT_SERVER||n===y.PHASE_PRODUCTION_SERVER;return t?.useExternalTasks&&a&&await O(t?.customExternalTasksDirPath),s}}var B=require("next/cache"),$=require("next/navigation");async function we(e,t){(0,B.revalidatePath)(e),(0,$.redirect)(e,t)}async function ge(...e){return await o.processModels.startProcessInstance(...e)}async function ye(...e){await o.userTasks.finishUserTask(...e)}var K=require("next/cache"),G=require("next/navigation");function Ee(e){(0,K.revalidatePath)(e),(0,G.redirect)(e)}0&&(module.exports={finishUserTask,finishUserTaskAndGetNext,getActiveProcessInstances,getAssignedUserTasksByIdentity,getIdentity,getReservedUserTasksByIdentity,getUserTasks,getWaitingUserTaskByFlowNodeInstanceId,getWaitingUserTasks,getWaitingUserTasksByCorrelationId,getWaitingUserTasksByFlowNodeId,getWaitingUserTasksByProcessInstanceId,hardNavigate,navigateToUrl,startProcess,waitForUserTask,withApplicationSdk});
1
+ "use strict";var j=Object.create;var w=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty;var z=(e,t)=>{for(var s in t)w(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))!Q.call(e,n)&&n!==s&&w(e,n,{get:()=>t[n],enumerable:!(r=V(t,n))||r.enumerable});return e};var ee=(e,t,s)=>(s=e!=null?j(Z(e)):{},_(t||!e||!e.__esModule?w(s,"default",{value:e,enumerable:!0}):s,e)),te=e=>_(w({},"__esModule",{value:!0}),e);var he={};z(he,{finishUserTask:()=>Ce,finishUserTaskAndGetNext:()=>me,getActiveProcessInstances:()=>pe,getAssignedUserTasksByIdentity:()=>ye,getEngineClient:()=>de,getIdentity:()=>ue,getReservedUserTasksByIdentity:()=>ge,getUserTasks:()=>B,getWaitingUserTaskByFlowNodeInstanceId:()=>K,getWaitingUserTasks:()=>ke,getWaitingUserTasksByCorrelationId:()=>we,getWaitingUserTasksByFlowNodeId:()=>Ie,getWaitingUserTasksByProcessInstanceId:()=>Te,hardNavigate:()=>xe,navigateToUrl:()=>Se,startProcess:()=>Ne,waitForUserTask:()=>fe,withApplicationSdk:()=>Ee});module.exports=te(he);var it=require("only-server");var U=require("@5minds/processcube_engine_sdk"),R=require("@5minds/processcube_engine_client");var P=require("@5minds/processcube_engine_client"),N=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new P.EngineClient(N);var l=require("node:path"),F=require("esbuild"),T=require("node:fs"),A=require("openid-client"),D=ee(require("jwt-decode"),1),se={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},re=.85,ne="external_task.ts",p=new U.Logger("processcube_app_sdk:external_task_adapter"),g=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function b(e){let t,s=[e,(0,l.join)(process.cwd(),"app"),(0,l.join)(process.cwd(),"src","app")];for(let n of s)if(n&&(0,T.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 oe(n);if(!a)continue;let f=(0,l.join)(n,a),m=await ae(f),i=g?await L():null,E={identity:await M(i),...m?.config},x=m.default,I=(0,l.relative)(t,n).replace(/^\.\/+/,""),u=new R.ExternalTaskWorker(N,I,x,E);await C(i,u),u.onWorkerError((k,h,Y)=>{p.error(`Intercepted "${k}"-type error: ${h.message}`,{err:h,type:k,externalTask:Y})}),u.start(),p.info(`Started external task worker ${u.workerId} for topic '${I}'`)}}async function oe(e){let s=(await T.promises.readdir(e)).filter(r=>r===ne);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(!g)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(!g||e===null)return se;let t=e.access_token,s=(0,D.default)(t);return{token:e.access_token,userId:s.sub}}async function C(e,t,s=5){try{if(!g||e===null)return;let n=await ie(e)*re*1e3;setTimeout(async()=>{let a=await L(),f=await M(a);t.identity=f,await C(a,t)},n)}catch(r){if(s===0)throw r;p.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:r,workerId:t.workerId});let n=2*1e3;setTimeout(async()=>await C(e,t,s-1),n)}}async function ae(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=ce(s,e);if(t.errors.length>0)throw p.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&p.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),r}async function O(e){let t=await T.promises.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async r=>{let n=(0,l.join)(e.toString(),r.name);return r.isDirectory()?[n,...await O(n)]:[]}));return Array.prototype.concat(...s)}async function ie(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 ce(e,t){try{var s=module.constructor,r=new s;return r._compile(e,t),r.exports}catch(n){throw p.error("Could not require module from string",{err:n}),n}}function de(){return o}var d=require("next/headers"),q=require("next/dist/compiled/@edge-runtime/cookies"),S=require("next-auth/jwt"),le=process.env.NEXTAUTH_URL?.startsWith("https://"),v=`${le?"__Secure-":""}next-auth.session-token`;async function ue(){let e=await(0,S.getToken)({req:{cookies:(0,d.cookies)(),headers:(0,d.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,d.cookies)().toString()}}),r=new q.ResponseCookies(s.headers),n=r.get(v);if(n){let a=!1;try{(0,d.cookies)().set(v,n.value,{...n})}catch{a=!0}if(e=await(0,S.getToken)({req:{cookies:a?r:(0,d.cookies)(),headers:(0,d.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 pe(e){return await o.processInstances.query({...e?.query,state:W.DataModels.ProcessInstances.ProcessInstanceState.running},e?.options)}var c=require("@5minds/processcube_engine_client");async function fe(e={}){let{processInstanceId:t,flowNodeId:s}=e;return new Promise(async(r,n)=>{let a=await o.userTasks.onUserTaskWaiting(async i=>{let E=i.flowNodeInstanceId===void 0,x=t!==void 0&&i.processInstanceId!==t,I=s!==void 0&&i.flowNodeId!==s,u=t!==void 0&&s!==void 0&&i.processInstanceId!==t&&i.flowNodeId!==s;if(E||x||I||u)return;let k=await K(i.flowNodeInstanceId);return o.notification.removeSubscription(a),k===null?n(new Error(`UserTask with instance ID "${i.flowNodeInstanceId}" does not exist.`)):r(k)}),m=(await B({processInstanceId:t,flowNodeId:s,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended})).userTasks[0];m&&(o.notification.removeSubscription(a),r(m))})}async function me(e,t,s){await o.userTasks.finishUserTask(e,t);let r=await o.userTasks.query({flowNodeId:s,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended});return r.userTasks.length===0?null:r.userTasks[0]}async function B(...e){return await o.userTasks.query(...e)}async function ke(e){return await o.userTasks.query({state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function Te(e,t){return await o.userTasks.query({processInstanceId:e,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Ie(e,t){return await o.userTasks.query({flowNodeId:e,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function K(e,t){let s=await o.userTasks.query({flowNodeInstanceId:e,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{...t,limit:1});return s.userTasks.length===0?null:s.userTasks[0]}async function we(e,t){return await o.userTasks.query({correlationId:e,state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function ge(e,t){let s=await o.userTasks.query({state:c.DataModels.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.actualOwnerId===e.userId);return s.userTasks=r,s}async function ye(e,t){let s=await o.userTasks.query({state:c.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 Ee(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 b(t?.customExternalTasksDirPath),s}}var $=require("next/cache"),G=require("next/navigation");async function xe(e,t){(0,$.revalidatePath)(e),(0,G.redirect)(e,t)}async function Ne(...e){return await o.processModels.startProcessInstance(...e)}async function Ce(...e){await o.userTasks.finishUserTask(...e)}var H=require("next/cache"),X=require("next/navigation");function Se(e){(0,H.revalidatePath)(e),(0,X.redirect)(e)}0&&(module.exports={finishUserTask,finishUserTaskAndGetNext,getActiveProcessInstances,getAssignedUserTasksByIdentity,getEngineClient,getIdentity,getReservedUserTasksByIdentity,getUserTasks,getWaitingUserTaskByFlowNodeInstanceId,getWaitingUserTasks,getWaitingUserTasksByCorrelationId,getWaitingUserTasksByFlowNodeId,getWaitingUserTasksByProcessInstanceId,hardNavigate,navigateToUrl,startProcess,waitForUserTask,withApplicationSdk});
package/server/index.d.ts CHANGED
@@ -22,6 +22,7 @@ declare module 'next-auth' {
22
22
  /** The user's identity claims. */
23
23
  claims?: Record<string, unknown>;
24
24
  } & DefaultSession['user'];
25
+ error?: 'RefreshAccessTokenError';
25
26
  }
26
27
  }
27
28
  declare module 'next-auth/jwt' {
@@ -31,5 +32,9 @@ declare module 'next-auth/jwt' {
31
32
  accessToken?: string;
32
33
  /** OpenID ID Token */
33
34
  idToken?: string;
35
+ /** OpenID Refresh Token */
36
+ refreshToken?: string;
37
+ expiresAt: number;
38
+ error?: 'RefreshAccessTokenError';
34
39
  }
35
40
  }
package/server/index.mjs CHANGED
@@ -1 +1 @@
1
- import"only-server";import{DataModels as c}from"@5minds/processcube_engine_client";import{EngineClient as _}from"@5minds/processcube_engine_client";var g=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new _(g);async function oe(e={}){let{processInstanceId:t,flowNodeId:s}=e;return new Promise(async(n,r)=>{let a=await o.userTasks.onUserTaskWaiting(async i=>{let k=i.flowNodeInstanceId===void 0,w=t!==void 0&&i.processInstanceId!==t,m=s!==void 0&&i.flowNodeId!==s,d=t!==void 0&&s!==void 0&&i.processInstanceId!==t&&i.flowNodeId!==s;if(k||w||m||d)return;let p=await F(i.flowNodeInstanceId);return o.notification.removeSubscription(a),p===null?r(new Error(`UserTask with instance ID "${i.flowNodeInstanceId}" does not exist.`)):n(p)}),f=(await U({processInstanceId:t,flowNodeId:s,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended})).userTasks[0];f&&(o.notification.removeSubscription(a),n(f))})}async function ae(e,t,s){await o.userTasks.finishUserTask(e,t);let n=await o.userTasks.query({flowNodeId:s,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended});return n.userTasks.length===0?null:n.userTasks[0]}async function U(...e){return await o.userTasks.query(...e)}async function ie(e){return await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function ce(e,t){return await o.userTasks.query({processInstanceId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function de(e,t){return await o.userTasks.query({flowNodeId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function F(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 le(e,t){return await o.userTasks.query({correlationId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function ue(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 fe(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{cookies as R,headers as D}from"next/headers";import{getToken as b}from"next-auth/jwt";async function Te(){let e=await b({req:{cookies:R(),headers:D()}});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 M}from"@5minds/processcube_engine_client";async function ye(e){return await o.processInstances.query({...e?.query,state:M.ProcessInstances.ProcessInstanceState.running},e?.options)}import{Logger as A}from"@5minds/processcube_engine_sdk";import{ExternalTaskWorker as L}from"@5minds/processcube_engine_client";import{join as I,relative as O}from"node:path";import{build as q}from"esbuild";import{promises as x,existsSync as W}from"node:fs";import{Issuer as v}from"openid-client";import B from"jwt-decode";var $={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},K=.85,G="external_task.ts",l=new A("processcube_app_sdk:external_task_adapter"),T=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function N(e){let t,s=[e,I(process.cwd(),"app"),I(process.cwd(),"src","app")];for(let r of s)if(r&&W(r)){t=r;break}if(!t)throw new Error("Could not find external tasks directory");let n=await P(t);for(let r of n){let a=await H(r);if(!a)continue;let u=I(r,a),f=await X(u),i=T?await S():null,k={identity:await C(i),...f?.config},w=f.default,m=O(t,r).replace(/^\.\/+/,""),d=new L(g,m,w,k);await y(i,d),d.onWorkerError((p,E,h)=>{l.error(`Intercepted "${p}"-type error: ${E.message}`,{err:E,type:p,externalTask:h})}),d.start(),l.info(`Started external task worker ${d.workerId} for topic '${m}'`)}}async function H(e){let s=(await x.readdir(e)).filter(n=>n===G);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 v.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 C(e){if(!T||e===null)return $;let t=e.access_token,s=B(t);return{token:e.access_token,userId:s.sub}}async function y(e,t,s=5){try{if(!T||e===null)return;let r=await Y(e)*K*1e3;setTimeout(async()=>{let a=await S(),u=await C(a);t.identity=u,await y(a,t)},r)}catch(n){if(s===0)throw n;l.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:n,workerId:t.workerId});let r=2*1e3;setTimeout(async()=>await y(e,t,s-1),r)}}async function X(e){let t=await q({entryPoints:[e],write:!1,bundle:!0,platform:"node",target:"node18",format:"cjs"}),s=t.outputFiles[0].text,n=j(s,e);if(t.errors.length>0)throw l.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&l.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),n}async function P(e){let t=await x.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async n=>{let r=I(e.toString(),n.name);return n.isDirectory()?[r,...await P(r)]:[]}));return Array.prototype.concat(...s)}async function Y(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 j(e,t){try{var s=module.constructor,n=new s;return n._compile(e,t),n.exports}catch(r){throw l.error("Could not require module from string",{err:r}),r}}import{PHASE_DEVELOPMENT_SERVER as V,PHASE_PRODUCTION_SERVER as J}from"next/dist/shared/lib/constants";function Ke(e={}){let{applicationSdk:t,...s}=e;return async(n,r)=>{let a=n===V||n===J;return t?.useExternalTasks&&a&&await N(t?.customExternalTasksDirPath),s}}import{revalidatePath as Z}from"next/cache";import{redirect as Q}from"next/navigation";async function Ve(e,t){Z(e),Q(e,t)}async function Qe(...e){return await o.processModels.startProcessInstance(...e)}async function ze(...e){await o.userTasks.finishUserTask(...e)}import{revalidatePath as z}from"next/cache";import{redirect as ee}from"next/navigation";function nt(e){z(e),ee(e)}export{ze as finishUserTask,ae as finishUserTaskAndGetNext,ye as getActiveProcessInstances,fe as getAssignedUserTasksByIdentity,Te as getIdentity,ue as getReservedUserTasksByIdentity,U as getUserTasks,F as getWaitingUserTaskByFlowNodeInstanceId,ie as getWaitingUserTasks,le as getWaitingUserTasksByCorrelationId,de as getWaitingUserTasksByFlowNodeId,ce as getWaitingUserTasksByProcessInstanceId,Ve as hardNavigate,nt as navigateToUrl,Qe as startProcess,oe as waitForUserTask,Ke 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{EngineClient as A}from"@5minds/processcube_engine_client";var y=process.env.PROCESSCUBE_ENGINE_URL??"http://localhost:10560",o=new A(y);import{join as k,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 v}from"openid-client";import q from"jwt-decode";var W={token:"ZHVtbXlfdG9rZW4=",userId:"dummy_token"},B=.85,K="external_task.ts",l=new D("processcube_app_sdk:external_task_adapter"),T=process.env.PROCESSCUBE_AUTHORITY_URL!==void 0;async function C(e){let t,s=[e,k(process.cwd(),"app"),k(process.cwd(),"src","app")];for(let n of s)if(n&&O(n)){t=n;break}if(!t)throw new Error("Could not find external tasks directory");let r=await _(t);for(let n of r){let a=await $(n);if(!a)continue;let u=k(n,a),p=await G(u),i=T?await S():null,w={identity:await h(i),...p?.config},g=p.default,m=L(t,n).replace(/^\.\/+/,""),d=new b(y,m,g,w);await E(i,d),d.onWorkerError((f,x,F)=>{l.error(`Intercepted "${f}"-type error: ${x.message}`,{err:x,type:f,externalTask:F})}),d.start(),l.info(`Started external task worker ${d.workerId} for topic '${m}'`)}}async function $(e){let s=(await N.readdir(e)).filter(r=>r===K);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 v.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 W;let t=e.access_token,s=q(t);return{token:e.access_token,userId:s.sub}}async function E(e,t,s=5){try{if(!T||e===null)return;let n=await H(e)*B*1e3;setTimeout(async()=>{let a=await S(),u=await h(a);t.identity=u,await E(a,t)},n)}catch(r){if(s===0)throw r;l.error(`Could not refresh identity for external task worker ${t.workerId}`,{err:r,workerId:t.workerId});let n=2*1e3;setTimeout(async()=>await E(e,t,s-1),n)}}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,r=X(s,e);if(t.errors.length>0)throw l.error(`Could not transpile file at '${e}'`,{errors:t.errors}),new Error(`Could not transpile file at '${e}'`);return t.warnings.length>0&&l.warn(`Transpiled file at '${e}' with warnings`,{warnings:t.warnings}),r}async function _(e){let t=await N.readdir(e,{withFileTypes:!0}),s=await Promise.all(t.map(async r=>{let n=k(e.toString(),r.name);return r.isDirectory()?[n,...await _(n)]:[]}));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,r=new s;return r._compile(e,t),r.exports}catch(n){throw l.error("Could not require module from string",{err:n}),n}}function ye(){return o}import{cookies as I,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 Se(){let e=await U({req:{cookies:I(),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:I().toString()}}),r=new Y(s.headers),n=r.get(R);if(n){let a=!1;try{I().set(R,n.value,{...n})}catch{a=!0}if(e=await U({req:{cookies:a?r:I(),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 Ue(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 De(e={}){let{processInstanceId:t,flowNodeId:s}=e;return new Promise(async(r,n)=>{let a=await o.userTasks.onUserTaskWaiting(async i=>{let w=i.flowNodeInstanceId===void 0,g=t!==void 0&&i.processInstanceId!==t,m=s!==void 0&&i.flowNodeId!==s,d=t!==void 0&&s!==void 0&&i.processInstanceId!==t&&i.flowNodeId!==s;if(w||g||m||d)return;let f=await Z(i.flowNodeInstanceId);return o.notification.removeSubscription(a),f===null?n(new Error(`UserTask with instance ID "${i.flowNodeInstanceId}" does not exist.`)):r(f)}),p=(await J({processInstanceId:t,flowNodeId:s,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended})).userTasks[0];p&&(o.notification.removeSubscription(a),r(p))})}async function be(e,t,s){await o.userTasks.finishUserTask(e,t);let r=await o.userTasks.query({flowNodeId:s,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended});return r.userTasks.length===0?null:r.userTasks[0]}async function J(...e){return await o.userTasks.query(...e)}async function Le(e){return await o.userTasks.query({state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},e)}async function Me(e,t){return await o.userTasks.query({processInstanceId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function Oe(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 ve(e,t){return await o.userTasks.query({correlationId:e,state:c.FlowNodeInstances.FlowNodeInstanceState.suspended},t)}async function qe(e,t){let s=await o.userTasks.query({state:c.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:c.FlowNodeInstances.FlowNodeInstanceState.suspended},{identity:e,...t}),r=s.userTasks.filter(n=>n.assignedUserIds?.includes(e.userId));return s.userTasks=r,s}import{PHASE_DEVELOPMENT_SERVER as Q,PHASE_PRODUCTION_SERVER as z}from"next/dist/shared/lib/constants";function Ze(e={}){let{applicationSdk:t,...s}=e;return async(r,n)=>{let a=r===Q||r===z;return t?.useExternalTasks&&a&&await C(t?.customExternalTasksDirPath),s}}import{revalidatePath as ee}from"next/cache";import{redirect as te}from"next/navigation";async function rt(e,t){ee(e),te(e,t)}async function at(...e){return await o.processModels.startProcessInstance(...e)}async function it(...e){await o.userTasks.finishUserTask(...e)}import{revalidatePath as se}from"next/cache";import{redirect as re}from"next/navigation";function ut(e){se(e),re(e)}export{it as finishUserTask,be as finishUserTaskAndGetNext,Ue as getActiveProcessInstances,We as getAssignedUserTasksByIdentity,ye as getEngineClient,Se as getIdentity,qe as getReservedUserTasksByIdentity,J as getUserTasks,Z as getWaitingUserTaskByFlowNodeInstanceId,Le as getWaitingUserTasks,ve as getWaitingUserTasksByCorrelationId,Oe as getWaitingUserTasksByFlowNodeId,Me as getWaitingUserTasksByProcessInstanceId,rt as hardNavigate,ut as navigateToUrl,at as startProcess,De as waitForUserTask,Ze as withApplicationSdk};
@@ -0,0 +1,2 @@
1
+ import { type EngineClient } from '@5minds/processcube_engine_client';
2
+ export declare function getEngineClient(): EngineClient;
@@ -1,4 +1,5 @@
1
- export * from './UserTaskFunctions';
1
+ export { ExternalTaskConfig } from './ExternalTaskAdapter';
2
+ export * from './getEngineClient';
2
3
  export * from './getIdentity';
3
4
  export * from './ProcessInstanceFunctions';
4
- export { ExternalTaskConfig } from './ExternalTaskAdapter';
5
+ export * from './UserTaskFunctions';