@uploadista/server 0.1.3 → 0.1.4-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +9 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +9 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
- package/src/core/http-handlers/upload-http-handlers.ts +10 -1
- package/src/core/server.ts +24 -1
- package/src/usage-hooks/types.ts +9 -0
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./auth/index.cjs`);let t=require(`effect`),n=require(`@uploadista/core/flow`),r=require(`@uploadista/core/types`),i=require(`@uploadista/core/utils`),a=require(`@uploadista/event-broadcaster-memory`),o=require(`@uploadista/event-emitter-websocket`),s=require(`@uploadista/observability`),c=require(`@uploadista/core/upload`),l=require(`@uploadista/core/errors`);var u=class extends t.Context.Tag(`AuthCacheService`)(){};const d=(e={})=>{let n=e.maxSize??1e4,r=e.ttl??36e5,i=new Map,a=()=>{let e=Date.now();for(let[t,n]of i.entries())e-n.timestamp>r&&i.delete(t)},o=()=>{if(i.size<=n)return;let e=null,t=1/0;for(let[n,r]of i.entries())r.timestamp<t&&(t=r.timestamp,e=n);e&&i.delete(e)};return t.Layer.succeed(u,{set:(e,n)=>t.Effect.sync(()=>{i.size%100==0&&a(),i.set(e,{authContext:n,timestamp:Date.now()}),o()}),get:e=>t.Effect.sync(()=>{let t=i.get(e);return t?Date.now()-t.timestamp>r?(i.delete(e),null):t.authContext:null}),delete:e=>t.Effect.sync(()=>{i.delete(e)}),clear:()=>t.Effect.sync(()=>{i.clear()}),size:()=>t.Effect.sync(()=>i.size)})},f=t.Layer.succeed(u,{set:()=>t.Effect.void,get:()=>t.Effect.succeed(null),delete:()=>t.Effect.void,clear:()=>t.Effect.void,size:()=>t.Effect.succeed(0)}),p=e=>e.split(`/`).filter(Boolean),m=e=>{let t=p(e);return t[t.length-1]},h=(e,t)=>e.includes(`${t}/api/`),g=(e,t)=>e.replace(`${t}/api/`,``).split(`/`).filter(Boolean),_=e=>{let t=500,n=`UNKNOWN_ERROR`,r=`Internal server error`,i;if(typeof e==`object`&&e){let a=e;if(`code`in a&&typeof a.code==`string`&&(n=a.code),`message`in a&&typeof a.message==`string`?r=a.message:`body`in a&&typeof a.body==`string`&&(r=a.body),`details`in a&&(i=a.details),`status`in a&&typeof a.status==`number`)t=a.status;else if(`code`in a)switch(a.code){case`FILE_NOT_FOUND`:case`FLOW_JOB_NOT_FOUND`:case`UPLOAD_ID_NOT_FOUND`:t=404;break;case`FLOW_JOB_ERROR`:case`VALIDATION_ERROR`:case`INVALID_METADATA`:case`INVALID_LENGTH`:case`ABORTED`:case`INVALID_TERMINATION`:t=400;break;case`INVALID_OFFSET`:t=409;break;case`ERR_SIZE_EXCEEDED`:case`ERR_MAX_SIZE_EXCEEDED`:t=413;break;case`FILE_NO_LONGER_EXISTS`:t=410;break;case`MISSING_OFFSET`:case`INVALID_CONTENT_TYPE`:t=403;break;default:t=500}`message`in a&&a.message===`Invalid JSON body`&&(t=400,n=`VALIDATION_ERROR`)}let a={status:t,code:n,message:r};return i!==void 0&&(a.details=i),a},v=e=>e[e.length-2],y=e=>({jobId:e[e.length-3],nodeId:e[e.length-1]}),b=e=>({storageId:e.pop(),flowId:e.pop()}),x=({kvStore:e,eventEmitter:n,dataStore:i,bufferedDataStore:a,generateId:o})=>{let s=t.Layer.provide(r.uploadFileKvStore,e),l=t.Layer.provide(i,s),u=a?t.Layer.provide(a,s):t.Layer.empty,d=t.Layer.provide(r.uploadEventEmitter,n),f=t.Layer.mergeAll(l,s,d,...o?[o]:[],u);return t.Layer.provide(c.uploadEngine,f)},S=({kvStore:e,eventEmitter:i,flowProvider:a,uploadEngine:o})=>{let s=t.Layer.provide(r.flowJobKvStore,e),c=t.Layer.provide(r.flowEventEmitter,i),l=t.Layer.mergeAll(a,c,s,o);return t.Layer.provide(n.flowEngine,l)};var C=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},w=class extends C{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},T=class extends C{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},E=class extends C{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const D=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),O=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},k=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var A=class extends C{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},j=class extends C{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},M=class extends C{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},N=class extends C{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const P=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()}),F={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},I={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},L={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},R={ENGINE:F,FLOW:I,UPLOAD:L},z={ADMIN:[F.ALL],ORGANIZATION_OWNER:[I.ALL,L.ALL],ORGANIZATION_MEMBER:[I.ALL,L.ALL],API_KEY:[I.EXECUTE,L.CREATE]},B={[F.DLQ]:[F.DLQ_READ,F.DLQ_WRITE]},V=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!B[e]?.includes(t)},H=(e,t)=>e.some(e=>V(e,t)),U=(e,t)=>t.some(t=>H(e,t)),ee=(e,t)=>t.every(t=>H(e,t)),te=e=>{let t=[e],n=B[e];return n&&t.push(...n),t};var W=class extends t.Context.Tag(`AuthContextService`)(){};const G=(e,n)=>{let r=e?.permissions??[],i=n?.bypassAuth??!1;return t.Layer.succeed(W,{getClientId:()=>t.Effect.succeed(e?.clientId??null),getMetadata:()=>t.Effect.succeed(e?.metadata??{}),hasPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(H(r,e)),hasAnyPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(U(r,e)),requirePermission:n=>t.Effect.gen(function*(){if(i){yield*t.Effect.logDebug(`[Auth] Bypass mode: permission '${n}' auto-granted`);return}if(!e)return yield*t.Effect.logDebug(`[Auth] Permission check failed: authentication required for '${n}'`),yield*t.Effect.fail(new j);if(!H(r,n))return yield*t.Effect.logDebug(`[Auth] Permission denied: '${n}' for client '${e.clientId}'`),yield*t.Effect.fail(new A(n));yield*t.Effect.logDebug(`[Auth] Permission granted: '${n}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?t.Effect.succeed(e):t.Effect.fail(new j),getPermissions:()=>t.Effect.succeed(r),getAuthContext:()=>t.Effect.succeed(e)})},ne=G(null),K=()=>({action:`continue`}),re=(e,t)=>({action:`abort`,reason:e,code:t}),q=5e3;var J=class extends t.Context.Tag(`UsageHookService`)(){};const Y=e=>{let n=e?.hooks,r=e?.timeout??q;return t.Layer.succeed(J,{onUploadStart:e=>n?.onUploadStart?n.onUploadStart(e).pipe(t.Effect.timeout(r),t.Effect.map(e=>e??K()),t.Effect.catchAll(e=>t.Effect.gen(function*(){return yield*t.Effect.logWarning(`onUploadStart hook failed: ${e}. Proceeding with upload.`),K()}))):t.Effect.succeed(K()),onUploadComplete:e=>n?.onUploadComplete?n.onUploadComplete(e).pipe(t.Effect.timeout(r),t.Effect.asVoid,t.Effect.catchAll(e=>t.Effect.logWarning(`onUploadComplete hook failed: ${e}. Upload already completed.`))):t.Effect.void,onFlowStart:e=>n?.onFlowStart?n.onFlowStart(e).pipe(t.Effect.timeout(r),t.Effect.map(e=>e??K()),t.Effect.catchAll(e=>t.Effect.gen(function*(){return yield*t.Effect.logWarning(`onFlowStart hook failed: ${e}. Proceeding with flow.`),K()}))):t.Effect.succeed(K()),onFlowComplete:e=>n?.onFlowComplete?n.onFlowComplete(e).pipe(t.Effect.timeout(r),t.Effect.asVoid,t.Effect.catchAll(e=>t.Effect.logWarning(`onFlowComplete hook failed: ${e}. Flow already completed.`))):t.Effect.void})},ie=Y(),ae=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let t=yield*(yield*n.DeadLetterQueueService).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),oe=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let t=yield*(yield*n.DeadLetterQueueService).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),se=e=>t.Effect.gen(function*(){return yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE),yield*(yield*n.DeadLetterQueueService).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),ce=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let r=yield*n.DeadLetterQueueService,{items:i}=yield*r.list({status:e.options?.status,flowId:e.options?.flowId}),a=0,o=0;for(let e of i)(yield*t.Effect.either(r.markRetrying(e.id)))._tag===`Right`?a++:o++;return{type:`dlq-retry-all`,status:200,headers:{"Content-Type":`application/json`},body:{retried:i.length,succeeded:a,failed:o}}}),le=e=>t.Effect.gen(function*(){return yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE),yield*(yield*n.DeadLetterQueueService).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),ue=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let t=yield*(yield*n.DeadLetterQueueService).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),de=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let t=yield*(yield*n.DeadLetterQueueService).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),fe=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let e=yield*(yield*n.DeadLetterQueueService).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),pe=({flowId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*i.getClientId();return yield*i.requirePermission(R.FLOW.STATUS),a&&(yield*t.Effect.logInfo(`[Flow] Getting flow data: ${e}, client: ${a}`)),{status:200,body:yield*r.getFlowData(e,a)}}),me=({flowId:e,storageId:r,inputs:i})=>t.Effect.gen(function*(){let a=yield*n.FlowEngine,o=yield*W,s=yield*u,c=yield*J,l=yield*o.getClientId();if(yield*o.requirePermission(R.FLOW.EXECUTE),l?(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}, client: ${l}`),yield*t.Effect.logInfo(JSON.stringify(i,null,2))):(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}`),yield*t.Effect.logInfo(`[Flow] Inputs: ${JSON.stringify(i,null,2)}`)),l){let n=yield*c.onFlowStart({clientId:l,operation:`flow`,metadata:{flowId:e}});if(n.action===`abort`)return yield*t.Effect.fail(new N(n.reason,n.code??`SUBSCRIPTION_REQUIRED`))}yield*t.Effect.logInfo(`[Flow] Calling flowServer.runFlow...`);let d=yield*a.runFlow({flowId:e,storageId:r,clientId:l,inputs:i}).pipe(t.Effect.tap(()=>t.Effect.logInfo(`[Flow] runFlow completed successfully`)),t.Effect.tapError(e=>t.Effect.logError(`[Flow] runFlow failed with error: ${e}`))),f=yield*o.getAuthContext();return f&&(yield*s.set(d.id,f)),yield*t.Effect.logInfo(`[Flow] Flow started with jobId: ${d.id}`),{status:200,body:d}}),he=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u,o=yield*i.getClientId();if(yield*i.requirePermission(R.FLOW.STATUS),!e)throw Error(`No job id`);o&&(yield*t.Effect.logInfo(`[Flow] Getting job status: ${e}, client: ${o}`));let s=yield*r.getJobStatus(e);return(s.status===`completed`||s.status===`failed`)&&(yield*a.delete(e),o&&(yield*t.Effect.logInfo(`[Flow] Flow ${s.status}, cleared auth cache: ${e}`))),{status:200,body:s}}),ge=({jobId:e,nodeId:r,newData:i})=>t.Effect.gen(function*(){let a=yield*n.FlowEngine,o=yield*W,s=yield*u;yield*o.requirePermission(R.FLOW.EXECUTE);let c=yield*o.getClientId();if(c||=(yield*s.get(e))?.clientId??null,c&&(yield*t.Effect.logInfo(`[Flow] Continuing flow: jobId=${e}, nodeId=${r}, client: ${c}`)),i===void 0)throw Error(`Missing newData`);let l=yield*a.resumeFlow({jobId:e,nodeId:r,newData:i,clientId:c});return(l.status===`completed`||l.status===`failed`)&&(yield*s.delete(e),c&&(yield*t.Effect.logInfo(`[Flow] Flow ${l.status}, cleared auth cache: ${e}`))),{status:200,body:l}}),_e=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u;yield*i.requirePermission(R.FLOW.CANCEL);let o=yield*i.getClientId();o||=(yield*a.get(e))?.clientId??null,o&&(yield*t.Effect.logInfo(`[Flow] Pausing flow: jobId=${e}, client: ${o}`));let s=yield*r.pauseFlow(e,o);return o&&(yield*t.Effect.logInfo(`[Flow] Flow paused: ${e}, status: ${s.status}`)),{status:200,body:s}}),ve=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u,o=yield*J;if(yield*i.requirePermission(R.FLOW.CANCEL),!e)throw Error(`No job id`);let s=yield*i.getClientId();s||=(yield*a.get(e))?.clientId??null,s&&(yield*t.Effect.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${s}`));let c=yield*r.cancelFlow(e,s);return yield*a.delete(e),s&&(yield*t.Effect.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`),yield*t.Effect.forkDaemon(o.onFlowComplete({clientId:s,operation:`flow`,metadata:{jobId:e,status:`cancelled`}}))),{status:200,body:c}}),ye=Date.now();function X(){return Date.now()-ye}function Z(){return new Date().toISOString()}function be(e){return{status:`healthy`,timestamp:Z(),version:e?.version,uptime:X()}}function xe(e){let t=[];if(e.storage&&t.push(e.storage.status),e.kvStore&&t.push(e.kvStore.status),t.includes(`unhealthy`))return`unhealthy`;let n=[...t];return e.eventBroadcaster&&n.push(e.eventBroadcaster.status),e.circuitBreaker&&n.push(e.circuitBreaker.status),e.deadLetterQueue&&n.push(e.deadLetterQueue.status),n.includes(`degraded`)?`degraded`:`healthy`}function Se(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Storage backend configured`,lastCheck:Z()})}function Ce(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`KV store configured`,lastCheck:Z()})}function we(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Event broadcaster configured`,lastCheck:Z()})}function Te(){return t.Effect.gen(function*(){let e=yield*t.Effect.serviceOption(r.CircuitBreakerStoreService);if(t.Option.isNone(e))return;let n=e.value,i=yield*t.Effect.either(n.getAllStats());if(i._tag===`Left`)return{status:`degraded`,openCircuits:0,totalCircuits:0};let a=i.right,o=Array.from(a.values()),s=o.filter(e=>e.state===`open`).length,c=o.length,l=`healthy`;return s>0&&(l=`degraded`),{status:l,openCircuits:s,totalCircuits:c,circuits:o.map(e=>({nodeType:e.nodeType,state:e.state,failureCount:e.failureCount,timeSinceLastStateChange:e.timeSinceLastStateChange}))}})}function Ee(){return t.Effect.gen(function*(){let e=yield*n.DeadLetterQueueService.optional;if(t.Option.isNone(e))return;let r=e.value,i=yield*t.Effect.either(r.getStats());if(i._tag===`Left`)return{status:`degraded`,pendingItems:0,exhaustedItems:0};let a=i.right,o=`healthy`;return a.byStatus.exhausted>0&&(o=`degraded`),{status:o,pendingItems:a.byStatus.pending,exhaustedItems:a.byStatus.exhausted,oldestItem:a.oldestItem?.toISOString()}})}function De(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};return n.checkStorage&&(t.storage=yield*Se(n)),n.checkKvStore&&(t.kvStore=yield*Ce(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*we(n)),{status:xe(t),timestamp:Z(),version:e.version,uptime:X(),components:t}})}function Oe(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};n.checkStorage&&(t.storage=yield*Se(n)),n.checkKvStore&&(t.kvStore=yield*Ce(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*we(n));let r=yield*Te();r&&(t.circuitBreaker=r);let i=yield*Ee();return i&&(t.deadLetterQueue=i),{status:xe(t),timestamp:Z(),version:e.version,uptime:X(),components:t}})}const ke=(e,n)=>t.Effect.sync(()=>{let t=be(n);return(0,r.getHealthResponseFormat)(e.acceptHeader)===`text`?{type:`health`,status:200,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Ae=(e,n)=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.READINESS);let t=yield*De(n),i=(0,r.getHealthResponseFormat)(e.acceptHeader),a=t.status===`unhealthy`?503:200;return i===`text`?{type:`health-ready`,status:a,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health-ready`,status:a,headers:{"Content-Type":`application/json`},body:t}}),je=(e,n)=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.READINESS);let t=yield*Oe(n);return(0,r.getHealthResponseFormat)(e.acceptHeader)===`text`?{type:`health-components`,status:200,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health-components`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Me=e=>t.Effect.gen(function*(){let n=yield*c.UploadEngine,a=yield*W,o=yield*u,s=yield*J,l=yield*a.getClientId();yield*a.requirePermission(R.UPLOAD.CREATE),l&&(yield*t.Effect.logInfo(`[Upload] Creating upload for client: ${l}`));let d=yield*t.Effect.sync(()=>r.inputFileSchema.safeParse(e.data));if(!d.success)return yield*t.Effect.fail(new w(`Invalid input file schema`));if(d.data.checksumAlgorithm&&!(0,i.isSupportedAlgorithm)(d.data.checksumAlgorithm))return yield*t.Effect.fail(new w(`Unsupported checksum algorithm: ${d.data.checksumAlgorithm}. Supported algorithms: sha256`));if(l){let e=yield*s.onUploadStart({clientId:l,operation:`upload`,metadata:{fileSize:d.data.size,mimeType:d.data.type,fileName:d.data.fileName}});if(e.action===`abort`)return yield*t.Effect.fail(new N(e.reason,e.code??`QUOTA_EXCEEDED`))}let f=yield*n.createUpload(d.data,l),p=yield*a.getAuthContext();return p&&(yield*o.set(f.id,p)),l&&(yield*t.Effect.logInfo(`[Upload] Upload created: ${f.id} for client: ${l}`)),{status:200,body:f}}),Ne=({storageId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadEngine,n=yield*W,r=yield*n.getClientId();return yield*n.requirePermission(R.UPLOAD.READ),{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,r),timestamp:new Date().toISOString()}}}),Pe=({uploadId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadEngine;return yield*(yield*W).requirePermission(R.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),Fe=e=>t.Effect.gen(function*(){let n=yield*c.UploadEngine,r=yield*W,i=yield*u,a=yield*s.MetricsService,o=yield*J,{uploadId:l,data:d}=e;yield*r.requirePermission(R.UPLOAD.CREATE);let f=yield*r.getClientId(),p=yield*r.getMetadata();if(!f){let e=yield*i.get(l);f=e?.clientId??null,p=e?.metadata??{}}f&&(yield*t.Effect.logInfo(`[Upload] Uploading chunk for upload: ${l}, client: ${f}`));let m=Date.now(),h=yield*n.uploadChunk(l,f,d);if(h.size&&h.offset>=h.size)if(yield*i.delete(l),f&&(yield*t.Effect.logInfo(`[Upload] Upload completed, cleared auth cache: ${l}`)),f&&h.size){yield*t.Effect.logInfo(`[Upload] Recording metrics for org: ${f}, size: ${h.size}`),yield*t.Effect.forkDaemon(a.recordUpload(f,h.size,p));let e=Date.now()-m;yield*t.Effect.forkDaemon(o.onUploadComplete({clientId:f,operation:`upload`,metadata:{uploadId:l,fileSize:h.size,duration:e}}))}else yield*t.Effect.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`);return f&&(yield*t.Effect.logInfo(`[Upload] Chunk uploaded for upload: ${l}, client: ${f}`)),{status:200,body:h}}),Ie=(e,n)=>t.Effect.gen(function*(){switch(e.type){case`create-upload`:return yield*Me(e);case`get-capabilities`:return yield*Ne(e);case`get-upload`:return yield*Pe(e);case`upload-chunk`:return yield*Fe(e);case`get-flow`:return yield*pe(e);case`run-flow`:return yield*me(e);case`job-status`:return yield*he(e);case`resume-flow`:return yield*ge(e);case`pause-flow`:return yield*_e(e);case`cancel-flow`:return yield*ve(e);case`dlq-list`:return yield*ae(e);case`dlq-get`:return yield*oe(e);case`dlq-retry`:return yield*se(e);case`dlq-retry-all`:return yield*ce(e);case`dlq-delete`:return yield*le(e);case`dlq-resolve`:return yield*ue(e);case`dlq-cleanup`:return yield*de(e);case`dlq-stats`:return yield*fe(e);case`health`:return yield*ke(e,n?.healthCheckConfig);case`health-ready`:return yield*Ae(e,n?.healthCheckConfig);case`health-components`:return yield*je(e,n?.healthCheckConfig);case`not-found`:return{status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}};case`bad-request`:return{status:400,body:{error:`Bad request`,message:e.message}};case`method-not-allowed`:return{status:405,headers:{"Content-Type":`application/json`},body:{error:`Method not allowed`}};case`unsupported-content-type`:return{status:415,headers:{"Content-Type":`application/json`},body:{error:`Unsupported content type`}}}}),Le=async({flows:e,dataStore:c,kvStore:l,plugins:u=[],eventEmitter:f,eventBroadcaster:p=a.memoryEventBroadcaster,withTracing:m=!1,observabilityLayer:h,baseUrl:g=`uploadista`,generateId:v=i.GenerateIdLive,metricsLayer:y,bufferedDataStore:b,adapter:C,authCacheConfig:w,circuitBreaker:T=!0,deadLetterQueue:E=!1,healthCheck:D,usageHooks:O})=>{let k=f??(0,o.webSocketEventEmitter)(p),A=g.endsWith(`/`)?g.slice(0,-1):g,j=t.Layer.effect(n.FlowProvider,t.Effect.succeed({getFlow:(t,n)=>e(t,n)}));if(!k)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let M=x({kvStore:l,eventEmitter:k,dataStore:await(0,r.createDataStoreLayer)(c),bufferedDataStore:b,generateId:v}),N=S({kvStore:l,eventEmitter:k,flowProvider:j,uploadEngine:M}),P=d(w),F=y??s.NoOpMetricsServiceLive,I=T?n.kvCircuitBreakerStoreLayer.pipe(t.Layer.provide(l)):null,L=E?n.deadLetterQueueService.pipe(t.Layer.provide(r.deadLetterQueueKvStore),t.Layer.provide(l)):null,R=Y(O),z=t.Layer.mergeAll(M,N,F,P,R,...u,...I?[I]:[],...L?[L]:[]),B=m?h??s.NodeSdkLive:null,V=z,H=B?t.Layer.merge(V,B):V,U=t.ManagedRuntime.make(H);return{handler:async e=>{let r=t.Effect.gen(function*(){let r=yield*C.extractRequest(e,{baseUrl:A}),i=null;if(C.runAuthMiddleware){let n=yield*C.runAuthMiddleware(e).pipe(t.Effect.timeout(`5 seconds`),t.Effect.catchAll(()=>(console.error(`Auth middleware timeout exceeded (5 seconds)`),t.Effect.succeed({_tag:`TimeoutError`}))),t.Effect.catchAllCause(e=>(console.error(`Auth middleware error:`,e),t.Effect.succeed({_tag:`AuthError`,error:e}))));if(n&&typeof n==`object`&&`_tag`in n&&n._tag===`TimeoutError`)return yield*C.sendResponse({status:503,headers:{"Content-Type":`application/json`},body:{error:`Authentication service unavailable`,message:`Authentication took too long to respond. Please try again.`}},e);if(n&&typeof n==`object`&&`_tag`in n&&n._tag===`AuthError`)return yield*C.sendResponse({status:500,headers:{"Content-Type":`application/json`},body:{error:`Internal Server Error`,message:`An error occurred during authentication`}},e);if(n===null)return yield*C.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=n}let a=G(i,{bypassAuth:!C.runAuthMiddleware}),o=[];if(C.extractWaitUntil){let r=C.extractWaitUntil(e);r&&o.push(t.Layer.succeed(n.FlowWaitUntil,r))}let s=t.Layer.mergeAll(a,P,F,R,...u,...o),c=I?t.Layer.merge(s,I):s,l=L?t.Layer.merge(c,L):c;if(r.type===`not-found`)return yield*C.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let d=yield*Ie(r,{healthCheckConfig:D}).pipe(t.Effect.provide(l));return yield*C.sendResponse(d,e)}).pipe(t.Effect.catchAll(t=>{let n=_(t),r={code:n.code,message:n.message};n.details!==void 0&&(r.details=n.details);let i={status:n.status,headers:{"Content-Type":`application/json`},body:r};return C.sendResponse(i,e)}));return U.runPromise(r)},websocketHandler:await U.runPromise(C.webSocketHandler({baseUrl:A})),baseUrl:A,dispose:()=>U.dispose()}};async function Re(e){return Le(e)}function ze(e){return e}function Be(e){return e}const Ve={ImagePlugin:{packageName:`@uploadista/flow-images-sharp`,variableName:`sharpImagePlugin`},ImageAiPlugin:{packageName:`@uploadista/flow-images-replicate`,variableName:`replicateImagePlugin`},ZipPlugin:{packageName:`@uploadista/flow-utility-zipjs`,variableName:`zipPlugin`},CredentialProvider:{packageName:`@uploadista/core`,variableName:`credentialProviderLayer`}};function He(e){try{let t=e;if(t._tag)return t._tag;if(t.constructor?.name)return t.constructor.name;if(t.context?.services){let e=Array.from(t.context.services.keys());if(e.length>0){let t=e[0];if(t.key)return t.key}}return null}catch{return null}}function Ue(e){return e.map(e=>He(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=Ue(t),i=n.filter(e=>!r.includes(e));return i.length===0?{success:!0}:{success:!1,required:n,provided:r,missing:i,suggestions:i.map(e=>{let t=Ve[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function $(e){let t=[`Server initialization failed: Missing required plugins`,``,`Required: ${e.required.join(`, `)}`,`Provided: ${e.provided.length>0?e.provided.join(`, `):`(none)`}`,`Missing: ${e.missing.join(`, `)}`,``];if(e.suggestions.length>0){t.push(`Add the missing plugins to your configuration:`),t.push(``);for(let n of e.suggestions)t.push(` ${n.importStatement}`);t.push(``),t.push(` const server = await createUploadistaServer({`),t.push(` plugins: [${[...e.provided,...e.missing.map(e=>Ve[e]?.variableName||e)].join(`, `)}],`),t.push(` // ...`),t.push(` });`)}else t.push(`Note: Could not determine package names for missing plugins.`),t.push(`Please ensure all required plugin layers are provided.`);return t.join(`
|
|
2
|
-
`)}function We(e){return t.Effect.sync(()=>{let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}})}function Ge(e){let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}}const Ke=(e,n,r)=>t.Effect.gen(function*(){if(!n){yield*t.Effect.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Job ID is required for flow event subscription`,code:`MISSING_JOB_ID`}))});return}yield*e.subscribeToFlowEvents(n,r)}),qe=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromFlowEvents(n))}),Je=(e,n,r)=>t.Effect.gen(function*(){if(!n){yield*t.Effect.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Upload ID is required for upload event subscription`,code:`MISSING_UPLOAD_ID`}))});return}yield*e.subscribeToUploadEvents(n,r)}),Ye=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromUploadEvents(n))}),Xe=(e,n,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:u}=e;return t.Effect.gen(function*(){a&&(yield*Ke(r,s,i)),o&&(yield*Je(n,c,i)),i.send(JSON.stringify({type:`connection`,message:`Uploadista WebSocket connected`,id:u,jobId:s,uploadId:c,timestamp:new Date().toISOString()}))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error subscribing to events:`,e);let t=e instanceof l.UploadistaError?e.body:`Failed to subscribe to events`;i.send(JSON.stringify({type:`error`,message:t,code:e instanceof l.UploadistaError?e.code:`SUBSCRIPTION_ERROR`}))})))},Ze=(e,n)=>t.Effect.sync(()=>{try{JSON.parse(e).type===`ping`&&n.send(JSON.stringify({type:`pong`,timestamp:new Date().toISOString()}))}catch(e){console.error(`Error handling WebSocket message:`,e),n.send(JSON.stringify({type:`error`,message:`Invalid message format`}))}}),Qe=(e,n,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return t.Effect.gen(function*(){i&&(yield*qe(r,o)),a&&(yield*Ye(n,s))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof l.UploadistaError?e.body:e)})))},$e=(e,n)=>t.Effect.sync(()=>{console.error(`WebSocket error for event ${n}:`,e)});exports.AdapterError=
|
|
1
|
+
const e=require(`./auth/index.cjs`);let t=require(`effect`),n=require(`@uploadista/core/flow`),r=require(`@uploadista/core/types`),i=require(`@uploadista/core/utils`),a=require(`@uploadista/event-broadcaster-memory`),o=require(`@uploadista/event-emitter-websocket`),s=require(`@uploadista/observability`),c=require(`@uploadista/core/upload`),l=require(`@uploadista/core/errors`);var u=class extends t.Context.Tag(`AuthCacheService`)(){};const d=(e={})=>{let n=e.maxSize??1e4,r=e.ttl??36e5,i=new Map,a=()=>{let e=Date.now();for(let[t,n]of i.entries())e-n.timestamp>r&&i.delete(t)},o=()=>{if(i.size<=n)return;let e=null,t=1/0;for(let[n,r]of i.entries())r.timestamp<t&&(t=r.timestamp,e=n);e&&i.delete(e)};return t.Layer.succeed(u,{set:(e,n)=>t.Effect.sync(()=>{i.size%100==0&&a(),i.set(e,{authContext:n,timestamp:Date.now()}),o()}),get:e=>t.Effect.sync(()=>{let t=i.get(e);return t?Date.now()-t.timestamp>r?(i.delete(e),null):t.authContext:null}),delete:e=>t.Effect.sync(()=>{i.delete(e)}),clear:()=>t.Effect.sync(()=>{i.clear()}),size:()=>t.Effect.sync(()=>i.size)})},f=t.Layer.succeed(u,{set:()=>t.Effect.void,get:()=>t.Effect.succeed(null),delete:()=>t.Effect.void,clear:()=>t.Effect.void,size:()=>t.Effect.succeed(0)}),p=e=>e.split(`/`).filter(Boolean),m=e=>{let t=p(e);return t[t.length-1]},h=(e,t)=>e.includes(`${t}/api/`),g=(e,t)=>e.replace(`${t}/api/`,``).split(`/`).filter(Boolean),_=e=>{let t=500,n=`UNKNOWN_ERROR`,r=`Internal server error`,i;if(typeof e==`object`&&e){let a=e;if(`code`in a&&typeof a.code==`string`&&(n=a.code),`message`in a&&typeof a.message==`string`?r=a.message:`body`in a&&typeof a.body==`string`&&(r=a.body),`details`in a&&(i=a.details),`status`in a&&typeof a.status==`number`)t=a.status;else if(`code`in a)switch(a.code){case`FILE_NOT_FOUND`:case`FLOW_JOB_NOT_FOUND`:case`UPLOAD_ID_NOT_FOUND`:t=404;break;case`FLOW_JOB_ERROR`:case`VALIDATION_ERROR`:case`INVALID_METADATA`:case`INVALID_LENGTH`:case`ABORTED`:case`INVALID_TERMINATION`:t=400;break;case`INVALID_OFFSET`:t=409;break;case`ERR_SIZE_EXCEEDED`:case`ERR_MAX_SIZE_EXCEEDED`:t=413;break;case`FILE_NO_LONGER_EXISTS`:t=410;break;case`MISSING_OFFSET`:case`INVALID_CONTENT_TYPE`:t=403;break;default:t=500}`message`in a&&a.message===`Invalid JSON body`&&(t=400,n=`VALIDATION_ERROR`)}let a={status:t,code:n,message:r};return i!==void 0&&(a.details=i),a},v=e=>e[e.length-2],ee=e=>({jobId:e[e.length-3],nodeId:e[e.length-1]}),te=e=>({storageId:e.pop(),flowId:e.pop()}),y=({kvStore:e,eventEmitter:n,dataStore:i,bufferedDataStore:a,generateId:o})=>{let s=t.Layer.provide(r.uploadFileKvStore,e),l=t.Layer.provide(i,s),u=a?t.Layer.provide(a,s):t.Layer.empty,d=t.Layer.provide(r.uploadEventEmitter,n),f=t.Layer.mergeAll(l,s,d,...o?[o]:[],u);return t.Layer.provide(c.uploadEngine,f)},b=({kvStore:e,eventEmitter:i,flowProvider:a,uploadEngine:o})=>{let s=t.Layer.provide(r.flowJobKvStore,e),c=t.Layer.provide(r.flowEventEmitter,i),l=t.Layer.mergeAll(a,c,s,o);return t.Layer.provide(n.flowEngine,l)};var x=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},S=class extends x{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},C=class extends x{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},w=class extends x{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const ne=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),re=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},T=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var E=class extends x{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},D=class extends x{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},O=class extends x{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},k=class extends x{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const A=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()}),j={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},M={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},N={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},P={ENGINE:j,FLOW:M,UPLOAD:N},F={ADMIN:[j.ALL],ORGANIZATION_OWNER:[M.ALL,N.ALL],ORGANIZATION_MEMBER:[M.ALL,N.ALL],API_KEY:[M.EXECUTE,N.CREATE]},I={[j.DLQ]:[j.DLQ_READ,j.DLQ_WRITE]},L=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!I[e]?.includes(t)},R=(e,t)=>e.some(e=>L(e,t)),z=(e,t)=>t.some(t=>R(e,t)),B=(e,t)=>t.every(t=>R(e,t)),ie=e=>{let t=[e],n=I[e];return n&&t.push(...n),t};var V=class extends t.Context.Tag(`AuthContextService`)(){};const H=(e,n)=>{let r=e?.permissions??[],i=n?.bypassAuth??!1;return t.Layer.succeed(V,{getClientId:()=>t.Effect.succeed(e?.clientId??null),getMetadata:()=>t.Effect.succeed(e?.metadata??{}),hasPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(R(r,e)),hasAnyPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(z(r,e)),requirePermission:n=>t.Effect.gen(function*(){if(i){yield*t.Effect.logDebug(`[Auth] Bypass mode: permission '${n}' auto-granted`);return}if(!e)return yield*t.Effect.logDebug(`[Auth] Permission check failed: authentication required for '${n}'`),yield*t.Effect.fail(new D);if(!R(r,n))return yield*t.Effect.logDebug(`[Auth] Permission denied: '${n}' for client '${e.clientId}'`),yield*t.Effect.fail(new E(n));yield*t.Effect.logDebug(`[Auth] Permission granted: '${n}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?t.Effect.succeed(e):t.Effect.fail(new D),getPermissions:()=>t.Effect.succeed(r),getAuthContext:()=>t.Effect.succeed(e)})},ae=H(null),U=()=>({action:`continue`}),oe=(e,t)=>({action:`abort`,reason:e,code:t}),W=5e3;var G=class extends t.Context.Tag(`UsageHookService`)(){};const K=e=>{let n=e?.hooks,r=e?.timeout??W;return t.Layer.succeed(G,{onUploadStart:e=>n?.onUploadStart?n.onUploadStart(e).pipe(t.Effect.timeout(r),t.Effect.map(e=>e??U()),t.Effect.catchAll(e=>t.Effect.gen(function*(){return yield*t.Effect.logWarning(`onUploadStart hook failed: ${e}. Proceeding with upload.`),U()}))):t.Effect.succeed(U()),onUploadComplete:e=>n?.onUploadComplete?n.onUploadComplete(e).pipe(t.Effect.timeout(r),t.Effect.asVoid,t.Effect.catchAll(e=>t.Effect.logWarning(`onUploadComplete hook failed: ${e}. Upload already completed.`))):t.Effect.void,onFlowStart:e=>n?.onFlowStart?n.onFlowStart(e).pipe(t.Effect.timeout(r),t.Effect.map(e=>e??U()),t.Effect.catchAll(e=>t.Effect.gen(function*(){return yield*t.Effect.logWarning(`onFlowStart hook failed: ${e}. Proceeding with flow.`),U()}))):t.Effect.succeed(U()),onFlowComplete:e=>n?.onFlowComplete?n.onFlowComplete(e).pipe(t.Effect.timeout(r),t.Effect.asVoid,t.Effect.catchAll(e=>t.Effect.logWarning(`onFlowComplete hook failed: ${e}. Flow already completed.`))):t.Effect.void})},se=K(),ce=e=>t.Effect.gen(function*(){yield*(yield*V).requirePermission(P.ENGINE.DLQ_READ);let t=yield*(yield*n.DeadLetterQueueService).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),le=e=>t.Effect.gen(function*(){yield*(yield*V).requirePermission(P.ENGINE.DLQ_READ);let t=yield*(yield*n.DeadLetterQueueService).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),ue=e=>t.Effect.gen(function*(){return yield*(yield*V).requirePermission(P.ENGINE.DLQ_WRITE),yield*(yield*n.DeadLetterQueueService).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),de=e=>t.Effect.gen(function*(){yield*(yield*V).requirePermission(P.ENGINE.DLQ_WRITE);let r=yield*n.DeadLetterQueueService,{items:i}=yield*r.list({status:e.options?.status,flowId:e.options?.flowId}),a=0,o=0;for(let e of i)(yield*t.Effect.either(r.markRetrying(e.id)))._tag===`Right`?a++:o++;return{type:`dlq-retry-all`,status:200,headers:{"Content-Type":`application/json`},body:{retried:i.length,succeeded:a,failed:o}}}),fe=e=>t.Effect.gen(function*(){return yield*(yield*V).requirePermission(P.ENGINE.DLQ_WRITE),yield*(yield*n.DeadLetterQueueService).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),pe=e=>t.Effect.gen(function*(){yield*(yield*V).requirePermission(P.ENGINE.DLQ_WRITE);let t=yield*(yield*n.DeadLetterQueueService).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),me=e=>t.Effect.gen(function*(){yield*(yield*V).requirePermission(P.ENGINE.DLQ_WRITE);let t=yield*(yield*n.DeadLetterQueueService).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),he=e=>t.Effect.gen(function*(){yield*(yield*V).requirePermission(P.ENGINE.DLQ_READ);let e=yield*(yield*n.DeadLetterQueueService).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),ge=({flowId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*V,a=yield*i.getClientId();return yield*i.requirePermission(P.FLOW.STATUS),a&&(yield*t.Effect.logInfo(`[Flow] Getting flow data: ${e}, client: ${a}`)),{status:200,body:yield*r.getFlowData(e,a)}}),_e=({flowId:e,storageId:r,inputs:i})=>t.Effect.gen(function*(){let a=yield*n.FlowEngine,o=yield*V,s=yield*u,c=yield*G,l=yield*o.getClientId();if(yield*o.requirePermission(P.FLOW.EXECUTE),l?(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}, client: ${l}`),yield*t.Effect.logInfo(JSON.stringify(i,null,2))):(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}`),yield*t.Effect.logInfo(`[Flow] Inputs: ${JSON.stringify(i,null,2)}`)),l){let n=yield*c.onFlowStart({clientId:l,operation:`flow`,metadata:{flowId:e}});if(n.action===`abort`)return yield*t.Effect.fail(new k(n.reason,n.code??`SUBSCRIPTION_REQUIRED`))}yield*t.Effect.logInfo(`[Flow] Calling flowServer.runFlow...`);let d=yield*a.runFlow({flowId:e,storageId:r,clientId:l,inputs:i}).pipe(t.Effect.tap(()=>t.Effect.logInfo(`[Flow] runFlow completed successfully`)),t.Effect.tapError(e=>t.Effect.logError(`[Flow] runFlow failed with error: ${e}`))),f=yield*o.getAuthContext();return f&&(yield*s.set(d.id,f)),yield*t.Effect.logInfo(`[Flow] Flow started with jobId: ${d.id}`),{status:200,body:d}}),ve=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*V,a=yield*u,o=yield*i.getClientId();if(yield*i.requirePermission(P.FLOW.STATUS),!e)throw Error(`No job id`);o&&(yield*t.Effect.logInfo(`[Flow] Getting job status: ${e}, client: ${o}`));let s=yield*r.getJobStatus(e);return(s.status===`completed`||s.status===`failed`)&&(yield*a.delete(e),o&&(yield*t.Effect.logInfo(`[Flow] Flow ${s.status}, cleared auth cache: ${e}`))),{status:200,body:s}}),ye=({jobId:e,nodeId:r,newData:i})=>t.Effect.gen(function*(){let a=yield*n.FlowEngine,o=yield*V,s=yield*u;yield*o.requirePermission(P.FLOW.EXECUTE);let c=yield*o.getClientId();if(c||=(yield*s.get(e))?.clientId??null,c&&(yield*t.Effect.logInfo(`[Flow] Continuing flow: jobId=${e}, nodeId=${r}, client: ${c}`)),i===void 0)throw Error(`Missing newData`);let l=yield*a.resumeFlow({jobId:e,nodeId:r,newData:i,clientId:c});return(l.status===`completed`||l.status===`failed`)&&(yield*s.delete(e),c&&(yield*t.Effect.logInfo(`[Flow] Flow ${l.status}, cleared auth cache: ${e}`))),{status:200,body:l}}),be=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*V,a=yield*u;yield*i.requirePermission(P.FLOW.CANCEL);let o=yield*i.getClientId();o||=(yield*a.get(e))?.clientId??null,o&&(yield*t.Effect.logInfo(`[Flow] Pausing flow: jobId=${e}, client: ${o}`));let s=yield*r.pauseFlow(e,o);return o&&(yield*t.Effect.logInfo(`[Flow] Flow paused: ${e}, status: ${s.status}`)),{status:200,body:s}}),xe=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*V,a=yield*u,o=yield*G;if(yield*i.requirePermission(P.FLOW.CANCEL),!e)throw Error(`No job id`);let s=yield*i.getClientId();s||=(yield*a.get(e))?.clientId??null,s&&(yield*t.Effect.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${s}`));let c=yield*r.cancelFlow(e,s);return yield*a.delete(e),s&&(yield*t.Effect.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`),yield*t.Effect.forkDaemon(o.onFlowComplete({clientId:s,operation:`flow`,metadata:{jobId:e,status:`cancelled`}}))),{status:200,body:c}}),Se=Date.now();function q(){return Date.now()-Se}function J(){return new Date().toISOString()}function Ce(e){return{status:`healthy`,timestamp:J(),version:e?.version,uptime:q()}}function Y(e){let t=[];if(e.storage&&t.push(e.storage.status),e.kvStore&&t.push(e.kvStore.status),t.includes(`unhealthy`))return`unhealthy`;let n=[...t];return e.eventBroadcaster&&n.push(e.eventBroadcaster.status),e.circuitBreaker&&n.push(e.circuitBreaker.status),e.deadLetterQueue&&n.push(e.deadLetterQueue.status),n.includes(`degraded`)?`degraded`:`healthy`}function X(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Storage backend configured`,lastCheck:J()})}function we(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`KV store configured`,lastCheck:J()})}function Z(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Event broadcaster configured`,lastCheck:J()})}function Te(){return t.Effect.gen(function*(){let e=yield*t.Effect.serviceOption(r.CircuitBreakerStoreService);if(t.Option.isNone(e))return;let n=e.value,i=yield*t.Effect.either(n.getAllStats());if(i._tag===`Left`)return{status:`degraded`,openCircuits:0,totalCircuits:0};let a=i.right,o=Array.from(a.values()),s=o.filter(e=>e.state===`open`).length,c=o.length,l=`healthy`;return s>0&&(l=`degraded`),{status:l,openCircuits:s,totalCircuits:c,circuits:o.map(e=>({nodeType:e.nodeType,state:e.state,failureCount:e.failureCount,timeSinceLastStateChange:e.timeSinceLastStateChange}))}})}function Ee(){return t.Effect.gen(function*(){let e=yield*n.DeadLetterQueueService.optional;if(t.Option.isNone(e))return;let r=e.value,i=yield*t.Effect.either(r.getStats());if(i._tag===`Left`)return{status:`degraded`,pendingItems:0,exhaustedItems:0};let a=i.right,o=`healthy`;return a.byStatus.exhausted>0&&(o=`degraded`),{status:o,pendingItems:a.byStatus.pending,exhaustedItems:a.byStatus.exhausted,oldestItem:a.oldestItem?.toISOString()}})}function De(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};return n.checkStorage&&(t.storage=yield*X(n)),n.checkKvStore&&(t.kvStore=yield*we(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*Z(n)),{status:Y(t),timestamp:J(),version:e.version,uptime:q(),components:t}})}function Oe(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};n.checkStorage&&(t.storage=yield*X(n)),n.checkKvStore&&(t.kvStore=yield*we(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*Z(n));let r=yield*Te();r&&(t.circuitBreaker=r);let i=yield*Ee();return i&&(t.deadLetterQueue=i),{status:Y(t),timestamp:J(),version:e.version,uptime:q(),components:t}})}const ke=(e,n)=>t.Effect.sync(()=>{let t=Ce(n);return(0,r.getHealthResponseFormat)(e.acceptHeader)===`text`?{type:`health`,status:200,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Ae=(e,n)=>t.Effect.gen(function*(){yield*(yield*V).requirePermission(P.ENGINE.READINESS);let t=yield*De(n),i=(0,r.getHealthResponseFormat)(e.acceptHeader),a=t.status===`unhealthy`?503:200;return i===`text`?{type:`health-ready`,status:a,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health-ready`,status:a,headers:{"Content-Type":`application/json`},body:t}}),je=(e,n)=>t.Effect.gen(function*(){yield*(yield*V).requirePermission(P.ENGINE.READINESS);let t=yield*Oe(n);return(0,r.getHealthResponseFormat)(e.acceptHeader)===`text`?{type:`health-components`,status:200,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health-components`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Me=e=>t.Effect.gen(function*(){let n=yield*c.UploadEngine,a=yield*V,o=yield*u,s=yield*G,l=yield*a.getClientId();yield*a.requirePermission(P.UPLOAD.CREATE),l&&(yield*t.Effect.logInfo(`[Upload] Creating upload for client: ${l}`));let d=yield*t.Effect.sync(()=>r.inputFileSchema.safeParse(e.data));if(!d.success)return yield*t.Effect.fail(new S(`Invalid input file schema`));if(d.data.checksumAlgorithm&&!(0,i.isSupportedAlgorithm)(d.data.checksumAlgorithm))return yield*t.Effect.fail(new S(`Unsupported checksum algorithm: ${d.data.checksumAlgorithm}. Supported algorithms: sha256`));if(l){let e=yield*s.onUploadStart({clientId:l,operation:`upload`,metadata:{fileSize:d.data.size,mimeType:d.data.type,fileName:d.data.fileName}});if(e.action===`abort`)return yield*t.Effect.fail(new k(e.reason,e.code??`QUOTA_EXCEEDED`))}let f=yield*n.createUpload(d.data,l),p=yield*a.getAuthContext();return p&&(yield*o.set(f.id,p)),l&&(yield*t.Effect.logInfo(`[Upload] Upload created: ${f.id} for client: ${l}`)),{status:200,body:f}}),Ne=({storageId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadEngine,n=yield*V,r=yield*n.getClientId();return yield*n.requirePermission(P.UPLOAD.READ),{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,r),timestamp:new Date().toISOString()}}}),Pe=({uploadId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadEngine;return yield*(yield*V).requirePermission(P.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),Fe=e=>t.Effect.gen(function*(){let n=yield*c.UploadEngine,r=yield*V,i=yield*u,a=yield*s.MetricsService,o=yield*G,{uploadId:l,data:d}=e;yield*r.requirePermission(P.UPLOAD.CREATE);let f=yield*r.getClientId(),p=yield*r.getMetadata();if(!f){let e=yield*i.get(l);f=e?.clientId??null,p=e?.metadata??{}}f&&(yield*t.Effect.logInfo(`[Upload] Uploading chunk for upload: ${l}, client: ${f}`));let m=Date.now(),h=yield*n.uploadChunk(l,f,d);if(h.size&&h.offset>=h.size)if(yield*i.delete(l),f&&(yield*t.Effect.logInfo(`[Upload] Upload completed, cleared auth cache: ${l}`)),f&&h.size){yield*t.Effect.logInfo(`[Upload] Recording metrics for org: ${f}, size: ${h.size}`),yield*t.Effect.forkDaemon(a.recordUpload(f,h.size,p));let e=Date.now()-m;yield*t.Effect.forkDaemon(o.onUploadComplete({clientId:f,operation:`upload`,metadata:{uploadId:l,fileSize:h.size,duration:e,storageId:h.storage?.id,url:h.url,fileName:h.metadata?.fileName,flowContext:h.flow?{flowId:h.flow.flowId,jobId:h.flow.jobId}:void 0}}))}else yield*t.Effect.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`);return f&&(yield*t.Effect.logInfo(`[Upload] Chunk uploaded for upload: ${l}, client: ${f}`)),{status:200,body:h}}),Ie=(e,n)=>t.Effect.gen(function*(){switch(e.type){case`create-upload`:return yield*Me(e);case`get-capabilities`:return yield*Ne(e);case`get-upload`:return yield*Pe(e);case`upload-chunk`:return yield*Fe(e);case`get-flow`:return yield*ge(e);case`run-flow`:return yield*_e(e);case`job-status`:return yield*ve(e);case`resume-flow`:return yield*ye(e);case`pause-flow`:return yield*be(e);case`cancel-flow`:return yield*xe(e);case`dlq-list`:return yield*ce(e);case`dlq-get`:return yield*le(e);case`dlq-retry`:return yield*ue(e);case`dlq-retry-all`:return yield*de(e);case`dlq-delete`:return yield*fe(e);case`dlq-resolve`:return yield*pe(e);case`dlq-cleanup`:return yield*me(e);case`dlq-stats`:return yield*he(e);case`health`:return yield*ke(e,n?.healthCheckConfig);case`health-ready`:return yield*Ae(e,n?.healthCheckConfig);case`health-components`:return yield*je(e,n?.healthCheckConfig);case`not-found`:return{status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}};case`bad-request`:return{status:400,body:{error:`Bad request`,message:e.message}};case`method-not-allowed`:return{status:405,headers:{"Content-Type":`application/json`},body:{error:`Method not allowed`}};case`unsupported-content-type`:return{status:415,headers:{"Content-Type":`application/json`},body:{error:`Unsupported content type`}}}}),Le=async({flows:e,dataStore:c,kvStore:l,plugins:u=[],eventEmitter:f,eventBroadcaster:p=a.memoryEventBroadcaster,withTracing:m=!1,observabilityLayer:h,baseUrl:g=`uploadista`,generateId:v=i.GenerateIdLive,metricsLayer:ee,bufferedDataStore:te,adapter:x,authCacheConfig:S,circuitBreaker:C=!0,deadLetterQueue:w=!1,healthCheck:ne,usageHooks:re})=>{let T=f??(0,o.webSocketEventEmitter)(p),E=g.endsWith(`/`)?g.slice(0,-1):g,D=t.Layer.effect(n.FlowProvider,t.Effect.succeed({getFlow:(t,n)=>e(t,n)}));if(!T)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let O=y({kvStore:l,eventEmitter:T,dataStore:await(0,r.createDataStoreLayer)(c),bufferedDataStore:te,generateId:v}),k=b({kvStore:l,eventEmitter:T,flowProvider:D,uploadEngine:O}),A=d(S),j=ee??s.NoOpMetricsServiceLive,M=C?n.kvCircuitBreakerStoreLayer.pipe(t.Layer.provide(l)):null,N=w?n.deadLetterQueueService.pipe(t.Layer.provide(r.deadLetterQueueKvStore),t.Layer.provide(l)):null,P=K(re),F=t.Layer.effect(n.FlowLifecycleHook,t.Effect.gen(function*(){let e=yield*G;return{onComplete:t=>e.onFlowComplete({clientId:t.clientId??``,operation:`flow`,metadata:{jobId:t.jobId,flowId:t.flowId,status:t.status===`completed`?`success`:`failed`}})}})).pipe(t.Layer.provide(P)),I=t.Layer.mergeAll(O,k,j,A,P,F,...u,...M?[M]:[],...N?[N]:[]),L=m?h??s.NodeSdkLive:null,R=I,z=L?t.Layer.merge(R,L):R,B=t.ManagedRuntime.make(z);return{handler:async e=>{let r=t.Effect.gen(function*(){let r=yield*x.extractRequest(e,{baseUrl:E}),i=null;if(x.runAuthMiddleware){let n=yield*x.runAuthMiddleware(e).pipe(t.Effect.timeout(`5 seconds`),t.Effect.catchAll(()=>(console.error(`Auth middleware timeout exceeded (5 seconds)`),t.Effect.succeed({_tag:`TimeoutError`}))),t.Effect.catchAllCause(e=>(console.error(`Auth middleware error:`,e),t.Effect.succeed({_tag:`AuthError`,error:e}))));if(n&&typeof n==`object`&&`_tag`in n&&n._tag===`TimeoutError`)return yield*x.sendResponse({status:503,headers:{"Content-Type":`application/json`},body:{error:`Authentication service unavailable`,message:`Authentication took too long to respond. Please try again.`}},e);if(n&&typeof n==`object`&&`_tag`in n&&n._tag===`AuthError`)return yield*x.sendResponse({status:500,headers:{"Content-Type":`application/json`},body:{error:`Internal Server Error`,message:`An error occurred during authentication`}},e);if(n===null)return yield*x.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=n}let a=H(i,{bypassAuth:!x.runAuthMiddleware}),o=[];if(x.extractWaitUntil){let r=x.extractWaitUntil(e);r&&o.push(t.Layer.succeed(n.FlowWaitUntil,r))}let s=t.Layer.mergeAll(a,A,j,P,...u,...o),c=M?t.Layer.merge(s,M):s,l=N?t.Layer.merge(c,N):c;if(r.type===`not-found`)return yield*x.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let d=yield*Ie(r,{healthCheckConfig:ne}).pipe(t.Effect.provide(l));return yield*x.sendResponse(d,e)}).pipe(t.Effect.catchAll(t=>{let n=_(t),r={code:n.code,message:n.message};n.details!==void 0&&(r.details=n.details);let i={status:n.status,headers:{"Content-Type":`application/json`},body:r};return x.sendResponse(i,e)}));return B.runPromise(r)},websocketHandler:await B.runPromise(x.webSocketHandler({baseUrl:E})),baseUrl:E,dispose:()=>B.dispose()}};async function Re(e){return Le(e)}function ze(e){return e}function Be(e){return e}const Ve={ImagePlugin:{packageName:`@uploadista/flow-images-sharp`,variableName:`sharpImagePlugin`},ImageAiPlugin:{packageName:`@uploadista/flow-images-replicate`,variableName:`replicateImagePlugin`},ZipPlugin:{packageName:`@uploadista/flow-utility-zipjs`,variableName:`zipPlugin`},CredentialProvider:{packageName:`@uploadista/core`,variableName:`credentialProviderLayer`}};function He(e){try{let t=e;if(t._tag)return t._tag;if(t.constructor?.name)return t.constructor.name;if(t.context?.services){let e=Array.from(t.context.services.keys());if(e.length>0){let t=e[0];if(t.key)return t.key}}return null}catch{return null}}function Ue(e){return e.map(e=>He(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=Ue(t),i=n.filter(e=>!r.includes(e));return i.length===0?{success:!0}:{success:!1,required:n,provided:r,missing:i,suggestions:i.map(e=>{let t=Ve[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function $(e){let t=[`Server initialization failed: Missing required plugins`,``,`Required: ${e.required.join(`, `)}`,`Provided: ${e.provided.length>0?e.provided.join(`, `):`(none)`}`,`Missing: ${e.missing.join(`, `)}`,``];if(e.suggestions.length>0){t.push(`Add the missing plugins to your configuration:`),t.push(``);for(let n of e.suggestions)t.push(` ${n.importStatement}`);t.push(``),t.push(` const server = await createUploadistaServer({`),t.push(` plugins: [${[...e.provided,...e.missing.map(e=>Ve[e]?.variableName||e)].join(`, `)}],`),t.push(` // ...`),t.push(` });`)}else t.push(`Note: Could not determine package names for missing plugins.`),t.push(`Please ensure all required plugin layers are provided.`);return t.join(`
|
|
2
|
+
`)}function We(e){return t.Effect.sync(()=>{let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}})}function Ge(e){let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}}const Ke=(e,n,r)=>t.Effect.gen(function*(){if(!n){yield*t.Effect.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Job ID is required for flow event subscription`,code:`MISSING_JOB_ID`}))});return}yield*e.subscribeToFlowEvents(n,r)}),qe=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromFlowEvents(n))}),Je=(e,n,r)=>t.Effect.gen(function*(){if(!n){yield*t.Effect.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Upload ID is required for upload event subscription`,code:`MISSING_UPLOAD_ID`}))});return}yield*e.subscribeToUploadEvents(n,r)}),Ye=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromUploadEvents(n))}),Xe=(e,n,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:u}=e;return t.Effect.gen(function*(){a&&(yield*Ke(r,s,i)),o&&(yield*Je(n,c,i)),i.send(JSON.stringify({type:`connection`,message:`Uploadista WebSocket connected`,id:u,jobId:s,uploadId:c,timestamp:new Date().toISOString()}))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error subscribing to events:`,e);let t=e instanceof l.UploadistaError?e.body:`Failed to subscribe to events`;i.send(JSON.stringify({type:`error`,message:t,code:e instanceof l.UploadistaError?e.code:`SUBSCRIPTION_ERROR`}))})))},Ze=(e,n)=>t.Effect.sync(()=>{try{JSON.parse(e).type===`ping`&&n.send(JSON.stringify({type:`pong`,timestamp:new Date().toISOString()}))}catch(e){console.error(`Error handling WebSocket message:`,e),n.send(JSON.stringify({type:`error`,message:`Invalid message format`}))}}),Qe=(e,n,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return t.Effect.gen(function*(){i&&(yield*qe(r,o)),a&&(yield*Ye(n,s))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof l.UploadistaError?e.body:e)})))},$e=(e,n)=>t.Effect.sync(()=>{console.error(`WebSocket error for event ${n}:`,e)});exports.AdapterError=x,exports.AuthCacheService=u,exports.AuthCacheServiceLive=d,exports.AuthContextService=V,exports.AuthContextServiceLive=H,exports.AuthenticationRequiredError=D,exports.AuthorizationError=E,exports.BadRequestError=w,exports.DEFAULT_USAGE_HOOK_TIMEOUT=W,exports.ENGINE_PERMISSIONS=j,exports.FLOW_PERMISSIONS=M,exports.NoAuthCacheServiceLive=f,exports.NoAuthContextServiceLive=ae,exports.NoUsageHookServiceLive=se,exports.NotFoundError=C,exports.OrganizationMismatchError=O,exports.PERMISSIONS=P,exports.PERMISSION_HIERARCHY=I,exports.PERMISSION_SETS=F,exports.QuotaExceededError=k,exports.UPLOAD_PERMISSIONS=N,exports.UsageHookService=G,exports.UsageHookServiceLive=K,exports.ValidationError=S,exports.abortResult=oe,exports.continueResult=U,exports.createAuthorizationErrorResponseBody=A,exports.createErrorResponseBody=ne,exports.createFlowEngineLayer=b,exports.createGenericErrorResponseBody=T,exports.createTypeSafeServer=Re,exports.createUploadEngineLayer=y,exports.createUploadistaErrorResponseBody=re,exports.createUploadistaServer=Le,exports.defineFlow=ze,exports.defineSimpleFlow=Be,exports.expandPermission=ie,exports.extractFlowAndStorageId=te,exports.extractJobAndNodeId=ee,exports.extractJobIdFromStatus=v,exports.extractServiceIdentifiers=Ue,exports.formatPluginValidationError=$,exports.getAuthCredentials=e.getAuthCredentials,exports.getLastSegment=m,exports.getRouteSegments=g,exports.handleFlowError=_,exports.handleWebSocketClose=Qe,exports.handleWebSocketError=$e,exports.handleWebSocketMessage=Ze,exports.handleWebSocketOpen=Xe,exports.hasAllPermissions=B,exports.hasAnyPermission=z,exports.hasBasePath=h,exports.hasPermission=R,exports.matchesPermission=L,exports.parseUrlSegments=p,exports.validatePluginRequirements=Q,exports.validatePluginRequirementsEffect=We,exports.validatePluginsOrThrow=Ge;
|
package/dist/index.d.cts
CHANGED
|
@@ -710,6 +710,15 @@ interface UploadUsageMetadata extends BaseUsageMetadata {
|
|
|
710
710
|
uploadId?: string;
|
|
711
711
|
/** Duration of the upload in milliseconds */
|
|
712
712
|
duration?: number;
|
|
713
|
+
/** Storage configuration identifier (for database persistence) */
|
|
714
|
+
storageId?: string;
|
|
715
|
+
/** URL of the uploaded file (for database persistence) */
|
|
716
|
+
url?: string;
|
|
717
|
+
/** Flow context if this upload was initiated as part of a flow (for double-counting prevention) */
|
|
718
|
+
flowContext?: {
|
|
719
|
+
flowId: string;
|
|
720
|
+
jobId: string;
|
|
721
|
+
};
|
|
713
722
|
}
|
|
714
723
|
/**
|
|
715
724
|
* Metadata specific to flow operations.
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/usage-hooks/types.ts","../src/core/types.ts","../src/core/create-type-safe-server.ts","../src/core/plugin-validation.ts","../src/core/server.ts","../src/core/websocket-routes.ts","../src/core/websocket-handlers/websocket-handlers.ts","../src/error-types.ts","../src/http-utils.ts","../src/layer-utils.ts","../src/permissions/errors.ts","../src/permissions/matcher.ts","../src/permissions/types.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/usage-hooks/types.ts","../src/core/types.ts","../src/core/create-type-safe-server.ts","../src/core/plugin-validation.ts","../src/core/server.ts","../src/core/websocket-routes.ts","../src/core/websocket-handlers/websocket-handlers.ts","../src/error-types.ts","../src/http-utils.ts","../src/layer-utils.ts","../src/permissions/errors.ts","../src/permissions/matcher.ts","../src/permissions/types.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -710,6 +710,15 @@ interface UploadUsageMetadata extends BaseUsageMetadata {
|
|
|
710
710
|
uploadId?: string;
|
|
711
711
|
/** Duration of the upload in milliseconds */
|
|
712
712
|
duration?: number;
|
|
713
|
+
/** Storage configuration identifier (for database persistence) */
|
|
714
|
+
storageId?: string;
|
|
715
|
+
/** URL of the uploaded file (for database persistence) */
|
|
716
|
+
url?: string;
|
|
717
|
+
/** Flow context if this upload was initiated as part of a flow (for double-counting prevention) */
|
|
718
|
+
flowContext?: {
|
|
719
|
+
flowId: string;
|
|
720
|
+
jobId: string;
|
|
721
|
+
};
|
|
713
722
|
}
|
|
714
723
|
/**
|
|
715
724
|
* Metadata specific to flow operations.
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/usage-hooks/types.ts","../src/core/types.ts","../src/core/create-type-safe-server.ts","../src/core/plugin-validation.ts","../src/core/server.ts","../src/core/websocket-routes.ts","../src/core/websocket-handlers/websocket-handlers.ts","../src/error-types.ts","../src/http-utils.ts","../src/layer-utils.ts","../src/permissions/errors.ts","../src/permissions/matcher.ts","../src/permissions/types.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/usage-hooks/types.ts","../src/core/types.ts","../src/core/create-type-safe-server.ts","../src/core/plugin-validation.ts","../src/core/server.ts","../src/core/websocket-routes.ts","../src/core/websocket-handlers/websocket-handlers.ts","../src/error-types.ts","../src/http-utils.ts","../src/layer-utils.ts","../src/permissions/errors.ts","../src/permissions/matcher.ts","../src/permissions/types.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{getAuthCredentials as e}from"./auth/index.mjs";import{Context as t,Effect as n,Layer as r,ManagedRuntime as i,Option as a}from"effect";import{DeadLetterQueueService as o,FlowEngine as s,FlowProvider as c,FlowWaitUntil as l,deadLetterQueueService as u,flowEngine as d,kvCircuitBreakerStoreLayer as f}from"@uploadista/core/flow";import{CircuitBreakerStoreService as ee,DEFAULT_HEALTH_CHECK_CONFIG as p,createDataStoreLayer as te,deadLetterQueueKvStore as ne,flowEventEmitter as m,flowJobKvStore as re,formatHealthAsText as h,getHealthResponseFormat as g,inputFileSchema as _,uploadEventEmitter as ie,uploadFileKvStore as ae}from"@uploadista/core/types";import{GenerateIdLive as oe,isSupportedAlgorithm as se}from"@uploadista/core/utils";import{memoryEventBroadcaster as ce}from"@uploadista/event-broadcaster-memory";import{webSocketEventEmitter as le}from"@uploadista/event-emitter-websocket";import{MetricsService as ue,NoOpMetricsServiceLive as de,NodeSdkLive as fe}from"@uploadista/observability";import{UploadEngine as v,uploadEngine as y}from"@uploadista/core/upload";import{UploadistaError as b}from"@uploadista/core/errors";var x=class extends t.Tag(`AuthCacheService`)(){};const pe=(e={})=>{let t=e.maxSize??1e4,i=e.ttl??36e5,a=new Map,o=()=>{let e=Date.now();for(let[t,n]of a.entries())e-n.timestamp>i&&a.delete(t)},s=()=>{if(a.size<=t)return;let e=null,n=1/0;for(let[t,r]of a.entries())r.timestamp<n&&(n=r.timestamp,e=t);e&&a.delete(e)};return r.succeed(x,{set:(e,t)=>n.sync(()=>{a.size%100==0&&o(),a.set(e,{authContext:t,timestamp:Date.now()}),s()}),get:e=>n.sync(()=>{let t=a.get(e);return t?Date.now()-t.timestamp>i?(a.delete(e),null):t.authContext:null}),delete:e=>n.sync(()=>{a.delete(e)}),clear:()=>n.sync(()=>{a.clear()}),size:()=>n.sync(()=>a.size)})},S=r.succeed(x,{set:()=>n.void,get:()=>n.succeed(null),delete:()=>n.void,clear:()=>n.void,size:()=>n.succeed(0)}),C=e=>e.split(`/`).filter(Boolean),w=e=>{let t=C(e);return t[t.length-1]},T=(e,t)=>e.includes(`${t}/api/`),E=(e,t)=>e.replace(`${t}/api/`,``).split(`/`).filter(Boolean),me=e=>{let t=500,n=`UNKNOWN_ERROR`,r=`Internal server error`,i;if(typeof e==`object`&&e){let a=e;if(`code`in a&&typeof a.code==`string`&&(n=a.code),`message`in a&&typeof a.message==`string`?r=a.message:`body`in a&&typeof a.body==`string`&&(r=a.body),`details`in a&&(i=a.details),`status`in a&&typeof a.status==`number`)t=a.status;else if(`code`in a)switch(a.code){case`FILE_NOT_FOUND`:case`FLOW_JOB_NOT_FOUND`:case`UPLOAD_ID_NOT_FOUND`:t=404;break;case`FLOW_JOB_ERROR`:case`VALIDATION_ERROR`:case`INVALID_METADATA`:case`INVALID_LENGTH`:case`ABORTED`:case`INVALID_TERMINATION`:t=400;break;case`INVALID_OFFSET`:t=409;break;case`ERR_SIZE_EXCEEDED`:case`ERR_MAX_SIZE_EXCEEDED`:t=413;break;case`FILE_NO_LONGER_EXISTS`:t=410;break;case`MISSING_OFFSET`:case`INVALID_CONTENT_TYPE`:t=403;break;default:t=500}`message`in a&&a.message===`Invalid JSON body`&&(t=400,n=`VALIDATION_ERROR`)}let a={status:t,code:n,message:r};return i!==void 0&&(a.details=i),a},D=e=>e[e.length-2],O=e=>({jobId:e[e.length-3],nodeId:e[e.length-1]}),he=e=>({storageId:e.pop(),flowId:e.pop()}),k=({kvStore:e,eventEmitter:t,dataStore:n,bufferedDataStore:i,generateId:a})=>{let o=r.provide(ae,e),s=r.provide(n,o),c=i?r.provide(i,o):r.empty,l=r.provide(ie,t),u=r.mergeAll(s,o,l,...a?[a]:[],c);return r.provide(y,u)},A=({kvStore:e,eventEmitter:t,flowProvider:n,uploadEngine:i})=>{let a=r.provide(re,e),o=r.provide(m,t),s=r.mergeAll(n,o,a,i);return r.provide(d,s)};var j=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},M=class extends j{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},ge=class extends j{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},N=class extends j{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const _e=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),ve=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},ye=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var be=class extends j{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},P=class extends j{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},xe=class extends j{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},F=class extends j{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const Se=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()}),I={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},L={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},R={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},z={ENGINE:I,FLOW:L,UPLOAD:R},Ce={ADMIN:[I.ALL],ORGANIZATION_OWNER:[L.ALL,R.ALL],ORGANIZATION_MEMBER:[L.ALL,R.ALL],API_KEY:[L.EXECUTE,R.CREATE]},B={[I.DLQ]:[I.DLQ_READ,I.DLQ_WRITE]},V=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!B[e]?.includes(t)},H=(e,t)=>e.some(e=>V(e,t)),U=(e,t)=>t.some(t=>H(e,t)),we=(e,t)=>t.every(t=>H(e,t)),Te=e=>{let t=[e],n=B[e];return n&&t.push(...n),t};var W=class extends t.Tag(`AuthContextService`)(){};const G=(e,t)=>{let i=e?.permissions??[],a=t?.bypassAuth??!1;return r.succeed(W,{getClientId:()=>n.succeed(e?.clientId??null),getMetadata:()=>n.succeed(e?.metadata??{}),hasPermission:e=>a?n.succeed(!0):n.succeed(H(i,e)),hasAnyPermission:e=>a?n.succeed(!0):n.succeed(U(i,e)),requirePermission:t=>n.gen(function*(){if(a){yield*n.logDebug(`[Auth] Bypass mode: permission '${t}' auto-granted`);return}if(!e)return yield*n.logDebug(`[Auth] Permission check failed: authentication required for '${t}'`),yield*n.fail(new P);if(!H(i,t))return yield*n.logDebug(`[Auth] Permission denied: '${t}' for client '${e.clientId}'`),yield*n.fail(new be(t));yield*n.logDebug(`[Auth] Permission granted: '${t}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?n.succeed(e):n.fail(new P),getPermissions:()=>n.succeed(i),getAuthContext:()=>n.succeed(e)})},Ee=G(null),K=()=>({action:`continue`}),De=(e,t)=>({action:`abort`,reason:e,code:t}),Oe=5e3;var q=class extends t.Tag(`UsageHookService`)(){};const J=e=>{let t=e?.hooks,i=e?.timeout??Oe;return r.succeed(q,{onUploadStart:e=>t?.onUploadStart?t.onUploadStart(e).pipe(n.timeout(i),n.map(e=>e??K()),n.catchAll(e=>n.gen(function*(){return yield*n.logWarning(`onUploadStart hook failed: ${e}. Proceeding with upload.`),K()}))):n.succeed(K()),onUploadComplete:e=>t?.onUploadComplete?t.onUploadComplete(e).pipe(n.timeout(i),n.asVoid,n.catchAll(e=>n.logWarning(`onUploadComplete hook failed: ${e}. Upload already completed.`))):n.void,onFlowStart:e=>t?.onFlowStart?t.onFlowStart(e).pipe(n.timeout(i),n.map(e=>e??K()),n.catchAll(e=>n.gen(function*(){return yield*n.logWarning(`onFlowStart hook failed: ${e}. Proceeding with flow.`),K()}))):n.succeed(K()),onFlowComplete:e=>t?.onFlowComplete?t.onFlowComplete(e).pipe(n.timeout(i),n.asVoid,n.catchAll(e=>n.logWarning(`onFlowComplete hook failed: ${e}. Flow already completed.`))):n.void})},ke=J(),Ae=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_READ);let t=yield*(yield*o).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),je=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_READ);let t=yield*(yield*o).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Me=e=>n.gen(function*(){return yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE),yield*(yield*o).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),Ne=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE);let t=yield*o,{items:r}=yield*t.list({status:e.options?.status,flowId:e.options?.flowId}),i=0,a=0;for(let e of r)(yield*n.either(t.markRetrying(e.id)))._tag===`Right`?i++:a++;return{type:`dlq-retry-all`,status:200,headers:{"Content-Type":`application/json`},body:{retried:r.length,succeeded:i,failed:a}}}),Pe=e=>n.gen(function*(){return yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE),yield*(yield*o).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),Fe=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE);let t=yield*(yield*o).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Ie=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE);let t=yield*(yield*o).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Le=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_READ);let e=yield*(yield*o).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),Re=({flowId:e})=>n.gen(function*(){let t=yield*s,r=yield*W,i=yield*r.getClientId();return yield*r.requirePermission(z.FLOW.STATUS),i&&(yield*n.logInfo(`[Flow] Getting flow data: ${e}, client: ${i}`)),{status:200,body:yield*t.getFlowData(e,i)}}),ze=({flowId:e,storageId:t,inputs:r})=>n.gen(function*(){let i=yield*s,a=yield*W,o=yield*x,c=yield*q,l=yield*a.getClientId();if(yield*a.requirePermission(z.FLOW.EXECUTE),l?(yield*n.logInfo(`[Flow] Executing flow: ${e}, storage: ${t}, client: ${l}`),yield*n.logInfo(JSON.stringify(r,null,2))):(yield*n.logInfo(`[Flow] Executing flow: ${e}, storage: ${t}`),yield*n.logInfo(`[Flow] Inputs: ${JSON.stringify(r,null,2)}`)),l){let t=yield*c.onFlowStart({clientId:l,operation:`flow`,metadata:{flowId:e}});if(t.action===`abort`)return yield*n.fail(new F(t.reason,t.code??`SUBSCRIPTION_REQUIRED`))}yield*n.logInfo(`[Flow] Calling flowServer.runFlow...`);let u=yield*i.runFlow({flowId:e,storageId:t,clientId:l,inputs:r}).pipe(n.tap(()=>n.logInfo(`[Flow] runFlow completed successfully`)),n.tapError(e=>n.logError(`[Flow] runFlow failed with error: ${e}`))),d=yield*a.getAuthContext();return d&&(yield*o.set(u.id,d)),yield*n.logInfo(`[Flow] Flow started with jobId: ${u.id}`),{status:200,body:u}}),Be=({jobId:e})=>n.gen(function*(){let t=yield*s,r=yield*W,i=yield*x,a=yield*r.getClientId();if(yield*r.requirePermission(z.FLOW.STATUS),!e)throw Error(`No job id`);a&&(yield*n.logInfo(`[Flow] Getting job status: ${e}, client: ${a}`));let o=yield*t.getJobStatus(e);return(o.status===`completed`||o.status===`failed`)&&(yield*i.delete(e),a&&(yield*n.logInfo(`[Flow] Flow ${o.status}, cleared auth cache: ${e}`))),{status:200,body:o}}),Ve=({jobId:e,nodeId:t,newData:r})=>n.gen(function*(){let i=yield*s,a=yield*W,o=yield*x;yield*a.requirePermission(z.FLOW.EXECUTE);let c=yield*a.getClientId();if(c||=(yield*o.get(e))?.clientId??null,c&&(yield*n.logInfo(`[Flow] Continuing flow: jobId=${e}, nodeId=${t}, client: ${c}`)),r===void 0)throw Error(`Missing newData`);let l=yield*i.resumeFlow({jobId:e,nodeId:t,newData:r,clientId:c});return(l.status===`completed`||l.status===`failed`)&&(yield*o.delete(e),c&&(yield*n.logInfo(`[Flow] Flow ${l.status}, cleared auth cache: ${e}`))),{status:200,body:l}}),He=({jobId:e})=>n.gen(function*(){let t=yield*s,r=yield*W,i=yield*x;yield*r.requirePermission(z.FLOW.CANCEL);let a=yield*r.getClientId();a||=(yield*i.get(e))?.clientId??null,a&&(yield*n.logInfo(`[Flow] Pausing flow: jobId=${e}, client: ${a}`));let o=yield*t.pauseFlow(e,a);return a&&(yield*n.logInfo(`[Flow] Flow paused: ${e}, status: ${o.status}`)),{status:200,body:o}}),Ue=({jobId:e})=>n.gen(function*(){let t=yield*s,r=yield*W,i=yield*x,a=yield*q;if(yield*r.requirePermission(z.FLOW.CANCEL),!e)throw Error(`No job id`);let o=yield*r.getClientId();o||=(yield*i.get(e))?.clientId??null,o&&(yield*n.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${o}`));let c=yield*t.cancelFlow(e,o);return yield*i.delete(e),o&&(yield*n.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`),yield*n.forkDaemon(a.onFlowComplete({clientId:o,operation:`flow`,metadata:{jobId:e,status:`cancelled`}}))),{status:200,body:c}}),We=Date.now();function Y(){return Date.now()-We}function X(){return new Date().toISOString()}function Ge(e){return{status:`healthy`,timestamp:X(),version:e?.version,uptime:Y()}}function Ke(e){let t=[];if(e.storage&&t.push(e.storage.status),e.kvStore&&t.push(e.kvStore.status),t.includes(`unhealthy`))return`unhealthy`;let n=[...t];return e.eventBroadcaster&&n.push(e.eventBroadcaster.status),e.circuitBreaker&&n.push(e.circuitBreaker.status),e.deadLetterQueue&&n.push(e.deadLetterQueue.status),n.includes(`degraded`)?`degraded`:`healthy`}function qe(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`Storage backend configured`,lastCheck:X()})}function Je(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`KV store configured`,lastCheck:X()})}function Ye(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`Event broadcaster configured`,lastCheck:X()})}function Xe(){return n.gen(function*(){let e=yield*n.serviceOption(ee);if(a.isNone(e))return;let t=e.value,r=yield*n.either(t.getAllStats());if(r._tag===`Left`)return{status:`degraded`,openCircuits:0,totalCircuits:0};let i=r.right,o=Array.from(i.values()),s=o.filter(e=>e.state===`open`).length,c=o.length,l=`healthy`;return s>0&&(l=`degraded`),{status:l,openCircuits:s,totalCircuits:c,circuits:o.map(e=>({nodeType:e.nodeType,state:e.state,failureCount:e.failureCount,timeSinceLastStateChange:e.timeSinceLastStateChange}))}})}function Ze(){return n.gen(function*(){let e=yield*o.optional;if(a.isNone(e))return;let t=e.value,r=yield*n.either(t.getStats());if(r._tag===`Left`)return{status:`degraded`,pendingItems:0,exhaustedItems:0};let i=r.right,s=`healthy`;return i.byStatus.exhausted>0&&(s=`degraded`),{status:s,pendingItems:i.byStatus.pending,exhaustedItems:i.byStatus.exhausted,oldestItem:i.oldestItem?.toISOString()}})}function Qe(e={}){let t={...p,...e};return n.gen(function*(){let n={};return t.checkStorage&&(n.storage=yield*qe(t)),t.checkKvStore&&(n.kvStore=yield*Je(t)),t.checkEventBroadcaster&&(n.eventBroadcaster=yield*Ye(t)),{status:Ke(n),timestamp:X(),version:e.version,uptime:Y(),components:n}})}function $e(e={}){let t={...p,...e};return n.gen(function*(){let n={};t.checkStorage&&(n.storage=yield*qe(t)),t.checkKvStore&&(n.kvStore=yield*Je(t)),t.checkEventBroadcaster&&(n.eventBroadcaster=yield*Ye(t));let r=yield*Xe();r&&(n.circuitBreaker=r);let i=yield*Ze();return i&&(n.deadLetterQueue=i),{status:Ke(n),timestamp:X(),version:e.version,uptime:Y(),components:n}})}const et=(e,t)=>n.sync(()=>{let n=Ge(t);return g(e.acceptHeader)===`text`?{type:`health`,status:200,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health`,status:200,headers:{"Content-Type":`application/json`},body:n}}),tt=(e,t)=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.READINESS);let n=yield*Qe(t),r=g(e.acceptHeader),i=n.status===`unhealthy`?503:200;return r===`text`?{type:`health-ready`,status:i,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health-ready`,status:i,headers:{"Content-Type":`application/json`},body:n}}),nt=(e,t)=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.READINESS);let n=yield*$e(t);return g(e.acceptHeader)===`text`?{type:`health-components`,status:200,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health-components`,status:200,headers:{"Content-Type":`application/json`},body:n}}),rt=e=>n.gen(function*(){let t=yield*v,r=yield*W,i=yield*x,a=yield*q,o=yield*r.getClientId();yield*r.requirePermission(z.UPLOAD.CREATE),o&&(yield*n.logInfo(`[Upload] Creating upload for client: ${o}`));let s=yield*n.sync(()=>_.safeParse(e.data));if(!s.success)return yield*n.fail(new M(`Invalid input file schema`));if(s.data.checksumAlgorithm&&!se(s.data.checksumAlgorithm))return yield*n.fail(new M(`Unsupported checksum algorithm: ${s.data.checksumAlgorithm}. Supported algorithms: sha256`));if(o){let e=yield*a.onUploadStart({clientId:o,operation:`upload`,metadata:{fileSize:s.data.size,mimeType:s.data.type,fileName:s.data.fileName}});if(e.action===`abort`)return yield*n.fail(new F(e.reason,e.code??`QUOTA_EXCEEDED`))}let c=yield*t.createUpload(s.data,o),l=yield*r.getAuthContext();return l&&(yield*i.set(c.id,l)),o&&(yield*n.logInfo(`[Upload] Upload created: ${c.id} for client: ${o}`)),{status:200,body:c}}),it=({storageId:e})=>n.gen(function*(){let t=yield*v,n=yield*W,r=yield*n.getClientId();return yield*n.requirePermission(z.UPLOAD.READ),{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,r),timestamp:new Date().toISOString()}}}),at=({uploadId:e})=>n.gen(function*(){let t=yield*v;return yield*(yield*W).requirePermission(z.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),ot=e=>n.gen(function*(){let t=yield*v,r=yield*W,i=yield*x,a=yield*ue,o=yield*q,{uploadId:s,data:c}=e;yield*r.requirePermission(z.UPLOAD.CREATE);let l=yield*r.getClientId(),u=yield*r.getMetadata();if(!l){let e=yield*i.get(s);l=e?.clientId??null,u=e?.metadata??{}}l&&(yield*n.logInfo(`[Upload] Uploading chunk for upload: ${s}, client: ${l}`));let d=Date.now(),f=yield*t.uploadChunk(s,l,c);if(f.size&&f.offset>=f.size)if(yield*i.delete(s),l&&(yield*n.logInfo(`[Upload] Upload completed, cleared auth cache: ${s}`)),l&&f.size){yield*n.logInfo(`[Upload] Recording metrics for org: ${l}, size: ${f.size}`),yield*n.forkDaemon(a.recordUpload(l,f.size,u));let e=Date.now()-d;yield*n.forkDaemon(o.onUploadComplete({clientId:l,operation:`upload`,metadata:{uploadId:s,fileSize:f.size,duration:e}}))}else yield*n.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`);return l&&(yield*n.logInfo(`[Upload] Chunk uploaded for upload: ${s}, client: ${l}`)),{status:200,body:f}}),st=(e,t)=>n.gen(function*(){switch(e.type){case`create-upload`:return yield*rt(e);case`get-capabilities`:return yield*it(e);case`get-upload`:return yield*at(e);case`upload-chunk`:return yield*ot(e);case`get-flow`:return yield*Re(e);case`run-flow`:return yield*ze(e);case`job-status`:return yield*Be(e);case`resume-flow`:return yield*Ve(e);case`pause-flow`:return yield*He(e);case`cancel-flow`:return yield*Ue(e);case`dlq-list`:return yield*Ae(e);case`dlq-get`:return yield*je(e);case`dlq-retry`:return yield*Me(e);case`dlq-retry-all`:return yield*Ne(e);case`dlq-delete`:return yield*Pe(e);case`dlq-resolve`:return yield*Fe(e);case`dlq-cleanup`:return yield*Ie(e);case`dlq-stats`:return yield*Le(e);case`health`:return yield*et(e,t?.healthCheckConfig);case`health-ready`:return yield*tt(e,t?.healthCheckConfig);case`health-components`:return yield*nt(e,t?.healthCheckConfig);case`not-found`:return{status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}};case`bad-request`:return{status:400,body:{error:`Bad request`,message:e.message}};case`method-not-allowed`:return{status:405,headers:{"Content-Type":`application/json`},body:{error:`Method not allowed`}};case`unsupported-content-type`:return{status:415,headers:{"Content-Type":`application/json`},body:{error:`Unsupported content type`}}}}),ct=async({flows:e,dataStore:t,kvStore:a,plugins:o=[],eventEmitter:s,eventBroadcaster:d=ce,withTracing:ee=!1,observabilityLayer:p,baseUrl:m=`uploadista`,generateId:re=oe,metricsLayer:h,bufferedDataStore:g,adapter:_,authCacheConfig:ie,circuitBreaker:ae=!0,deadLetterQueue:se=!1,healthCheck:ue,usageHooks:v})=>{let y=s??le(d),b=m.endsWith(`/`)?m.slice(0,-1):m,x=r.effect(c,n.succeed({getFlow:(t,n)=>e(t,n)}));if(!y)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let S=k({kvStore:a,eventEmitter:y,dataStore:await te(t),bufferedDataStore:g,generateId:re}),C=A({kvStore:a,eventEmitter:y,flowProvider:x,uploadEngine:S}),w=pe(ie),T=h??de,E=ae?f.pipe(r.provide(a)):null,D=se?u.pipe(r.provide(ne),r.provide(a)):null,O=J(v),he=r.mergeAll(S,C,T,w,O,...o,...E?[E]:[],...D?[D]:[]),j=ee?p??fe:null,M=he,ge=j?r.merge(M,j):M,N=i.make(ge);return{handler:async e=>{let t=n.gen(function*(){let t=yield*_.extractRequest(e,{baseUrl:b}),i=null;if(_.runAuthMiddleware){let t=yield*_.runAuthMiddleware(e).pipe(n.timeout(`5 seconds`),n.catchAll(()=>(console.error(`Auth middleware timeout exceeded (5 seconds)`),n.succeed({_tag:`TimeoutError`}))),n.catchAllCause(e=>(console.error(`Auth middleware error:`,e),n.succeed({_tag:`AuthError`,error:e}))));if(t&&typeof t==`object`&&`_tag`in t&&t._tag===`TimeoutError`)return yield*_.sendResponse({status:503,headers:{"Content-Type":`application/json`},body:{error:`Authentication service unavailable`,message:`Authentication took too long to respond. Please try again.`}},e);if(t&&typeof t==`object`&&`_tag`in t&&t._tag===`AuthError`)return yield*_.sendResponse({status:500,headers:{"Content-Type":`application/json`},body:{error:`Internal Server Error`,message:`An error occurred during authentication`}},e);if(t===null)return yield*_.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=t}let a=G(i,{bypassAuth:!_.runAuthMiddleware}),s=[];if(_.extractWaitUntil){let t=_.extractWaitUntil(e);t&&s.push(r.succeed(l,t))}let c=r.mergeAll(a,w,T,O,...o,...s),u=E?r.merge(c,E):c,d=D?r.merge(u,D):u;if(t.type===`not-found`)return yield*_.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let f=yield*st(t,{healthCheckConfig:ue}).pipe(n.provide(d));return yield*_.sendResponse(f,e)}).pipe(n.catchAll(t=>{let n=me(t),r={code:n.code,message:n.message};n.details!==void 0&&(r.details=n.details);let i={status:n.status,headers:{"Content-Type":`application/json`},body:r};return _.sendResponse(i,e)}));return N.runPromise(t)},websocketHandler:await N.runPromise(_.webSocketHandler({baseUrl:b})),baseUrl:b,dispose:()=>N.dispose()}};async function lt(e){return ct(e)}function ut(e){return e}function dt(e){return e}const Z={ImagePlugin:{packageName:`@uploadista/flow-images-sharp`,variableName:`sharpImagePlugin`},ImageAiPlugin:{packageName:`@uploadista/flow-images-replicate`,variableName:`replicateImagePlugin`},ZipPlugin:{packageName:`@uploadista/flow-utility-zipjs`,variableName:`zipPlugin`},CredentialProvider:{packageName:`@uploadista/core`,variableName:`credentialProviderLayer`}};function ft(e){try{let t=e;if(t._tag)return t._tag;if(t.constructor?.name)return t.constructor.name;if(t.context?.services){let e=Array.from(t.context.services.keys());if(e.length>0){let t=e[0];if(t.key)return t.key}}return null}catch{return null}}function pt(e){return e.map(e=>ft(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=pt(t),i=n.filter(e=>!r.includes(e));return i.length===0?{success:!0}:{success:!1,required:n,provided:r,missing:i,suggestions:i.map(e=>{let t=Z[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function $(e){let t=[`Server initialization failed: Missing required plugins`,``,`Required: ${e.required.join(`, `)}`,`Provided: ${e.provided.length>0?e.provided.join(`, `):`(none)`}`,`Missing: ${e.missing.join(`, `)}`,``];if(e.suggestions.length>0){t.push(`Add the missing plugins to your configuration:`),t.push(``);for(let n of e.suggestions)t.push(` ${n.importStatement}`);t.push(``),t.push(` const server = await createUploadistaServer({`),t.push(` plugins: [${[...e.provided,...e.missing.map(e=>Z[e]?.variableName||e)].join(`, `)}],`),t.push(` // ...`),t.push(` });`)}else t.push(`Note: Could not determine package names for missing plugins.`),t.push(`Please ensure all required plugin layers are provided.`);return t.join(`
|
|
2
|
-
`)}function
|
|
1
|
+
import{getAuthCredentials as e}from"./auth/index.mjs";import{Context as t,Effect as n,Layer as r,ManagedRuntime as i,Option as a}from"effect";import{DeadLetterQueueService as o,FlowEngine as s,FlowLifecycleHook as c,FlowProvider as l,FlowWaitUntil as u,deadLetterQueueService as d,flowEngine as f,kvCircuitBreakerStoreLayer as ee}from"@uploadista/core/flow";import{CircuitBreakerStoreService as te,DEFAULT_HEALTH_CHECK_CONFIG as p,createDataStoreLayer as ne,deadLetterQueueKvStore as re,flowEventEmitter as m,flowJobKvStore as ie,formatHealthAsText as h,getHealthResponseFormat as g,inputFileSchema as _,uploadEventEmitter as v,uploadFileKvStore as ae}from"@uploadista/core/types";import{GenerateIdLive as oe,isSupportedAlgorithm as se}from"@uploadista/core/utils";import{memoryEventBroadcaster as ce}from"@uploadista/event-broadcaster-memory";import{webSocketEventEmitter as le}from"@uploadista/event-emitter-websocket";import{MetricsService as y,NoOpMetricsServiceLive as ue,NodeSdkLive as de}from"@uploadista/observability";import{UploadEngine as b,uploadEngine as x}from"@uploadista/core/upload";import{UploadistaError as S}from"@uploadista/core/errors";var C=class extends t.Tag(`AuthCacheService`)(){};const fe=(e={})=>{let t=e.maxSize??1e4,i=e.ttl??36e5,a=new Map,o=()=>{let e=Date.now();for(let[t,n]of a.entries())e-n.timestamp>i&&a.delete(t)},s=()=>{if(a.size<=t)return;let e=null,n=1/0;for(let[t,r]of a.entries())r.timestamp<n&&(n=r.timestamp,e=t);e&&a.delete(e)};return r.succeed(C,{set:(e,t)=>n.sync(()=>{a.size%100==0&&o(),a.set(e,{authContext:t,timestamp:Date.now()}),s()}),get:e=>n.sync(()=>{let t=a.get(e);return t?Date.now()-t.timestamp>i?(a.delete(e),null):t.authContext:null}),delete:e=>n.sync(()=>{a.delete(e)}),clear:()=>n.sync(()=>{a.clear()}),size:()=>n.sync(()=>a.size)})},w=r.succeed(C,{set:()=>n.void,get:()=>n.succeed(null),delete:()=>n.void,clear:()=>n.void,size:()=>n.succeed(0)}),T=e=>e.split(`/`).filter(Boolean),E=e=>{let t=T(e);return t[t.length-1]},D=(e,t)=>e.includes(`${t}/api/`),O=(e,t)=>e.replace(`${t}/api/`,``).split(`/`).filter(Boolean),pe=e=>{let t=500,n=`UNKNOWN_ERROR`,r=`Internal server error`,i;if(typeof e==`object`&&e){let a=e;if(`code`in a&&typeof a.code==`string`&&(n=a.code),`message`in a&&typeof a.message==`string`?r=a.message:`body`in a&&typeof a.body==`string`&&(r=a.body),`details`in a&&(i=a.details),`status`in a&&typeof a.status==`number`)t=a.status;else if(`code`in a)switch(a.code){case`FILE_NOT_FOUND`:case`FLOW_JOB_NOT_FOUND`:case`UPLOAD_ID_NOT_FOUND`:t=404;break;case`FLOW_JOB_ERROR`:case`VALIDATION_ERROR`:case`INVALID_METADATA`:case`INVALID_LENGTH`:case`ABORTED`:case`INVALID_TERMINATION`:t=400;break;case`INVALID_OFFSET`:t=409;break;case`ERR_SIZE_EXCEEDED`:case`ERR_MAX_SIZE_EXCEEDED`:t=413;break;case`FILE_NO_LONGER_EXISTS`:t=410;break;case`MISSING_OFFSET`:case`INVALID_CONTENT_TYPE`:t=403;break;default:t=500}`message`in a&&a.message===`Invalid JSON body`&&(t=400,n=`VALIDATION_ERROR`)}let a={status:t,code:n,message:r};return i!==void 0&&(a.details=i),a},k=e=>e[e.length-2],A=e=>({jobId:e[e.length-3],nodeId:e[e.length-1]}),j=e=>({storageId:e.pop(),flowId:e.pop()}),me=({kvStore:e,eventEmitter:t,dataStore:n,bufferedDataStore:i,generateId:a})=>{let o=r.provide(ae,e),s=r.provide(n,o),c=i?r.provide(i,o):r.empty,l=r.provide(v,t),u=r.mergeAll(s,o,l,...a?[a]:[],c);return r.provide(x,u)},he=({kvStore:e,eventEmitter:t,flowProvider:n,uploadEngine:i})=>{let a=r.provide(ie,e),o=r.provide(m,t),s=r.mergeAll(n,o,a,i);return r.provide(f,s)};var M=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},N=class extends M{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},P=class extends M{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},ge=class extends M{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const F=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),_e=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},ve=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var ye=class extends M{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},I=class extends M{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},be=class extends M{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},L=class extends M{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const xe=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()}),R={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},z={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},B={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},V={ENGINE:R,FLOW:z,UPLOAD:B},Se={ADMIN:[R.ALL],ORGANIZATION_OWNER:[z.ALL,B.ALL],ORGANIZATION_MEMBER:[z.ALL,B.ALL],API_KEY:[z.EXECUTE,B.CREATE]},H={[R.DLQ]:[R.DLQ_READ,R.DLQ_WRITE]},Ce=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!H[e]?.includes(t)},U=(e,t)=>e.some(e=>Ce(e,t)),we=(e,t)=>t.some(t=>U(e,t)),Te=(e,t)=>t.every(t=>U(e,t)),Ee=e=>{let t=[e],n=H[e];return n&&t.push(...n),t};var W=class extends t.Tag(`AuthContextService`)(){};const G=(e,t)=>{let i=e?.permissions??[],a=t?.bypassAuth??!1;return r.succeed(W,{getClientId:()=>n.succeed(e?.clientId??null),getMetadata:()=>n.succeed(e?.metadata??{}),hasPermission:e=>a?n.succeed(!0):n.succeed(U(i,e)),hasAnyPermission:e=>a?n.succeed(!0):n.succeed(we(i,e)),requirePermission:t=>n.gen(function*(){if(a){yield*n.logDebug(`[Auth] Bypass mode: permission '${t}' auto-granted`);return}if(!e)return yield*n.logDebug(`[Auth] Permission check failed: authentication required for '${t}'`),yield*n.fail(new I);if(!U(i,t))return yield*n.logDebug(`[Auth] Permission denied: '${t}' for client '${e.clientId}'`),yield*n.fail(new ye(t));yield*n.logDebug(`[Auth] Permission granted: '${t}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?n.succeed(e):n.fail(new I),getPermissions:()=>n.succeed(i),getAuthContext:()=>n.succeed(e)})},De=G(null),K=()=>({action:`continue`}),Oe=(e,t)=>({action:`abort`,reason:e,code:t}),ke=5e3;var q=class extends t.Tag(`UsageHookService`)(){};const J=e=>{let t=e?.hooks,i=e?.timeout??ke;return r.succeed(q,{onUploadStart:e=>t?.onUploadStart?t.onUploadStart(e).pipe(n.timeout(i),n.map(e=>e??K()),n.catchAll(e=>n.gen(function*(){return yield*n.logWarning(`onUploadStart hook failed: ${e}. Proceeding with upload.`),K()}))):n.succeed(K()),onUploadComplete:e=>t?.onUploadComplete?t.onUploadComplete(e).pipe(n.timeout(i),n.asVoid,n.catchAll(e=>n.logWarning(`onUploadComplete hook failed: ${e}. Upload already completed.`))):n.void,onFlowStart:e=>t?.onFlowStart?t.onFlowStart(e).pipe(n.timeout(i),n.map(e=>e??K()),n.catchAll(e=>n.gen(function*(){return yield*n.logWarning(`onFlowStart hook failed: ${e}. Proceeding with flow.`),K()}))):n.succeed(K()),onFlowComplete:e=>t?.onFlowComplete?t.onFlowComplete(e).pipe(n.timeout(i),n.asVoid,n.catchAll(e=>n.logWarning(`onFlowComplete hook failed: ${e}. Flow already completed.`))):n.void})},Ae=J(),je=e=>n.gen(function*(){yield*(yield*W).requirePermission(V.ENGINE.DLQ_READ);let t=yield*(yield*o).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Me=e=>n.gen(function*(){yield*(yield*W).requirePermission(V.ENGINE.DLQ_READ);let t=yield*(yield*o).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Ne=e=>n.gen(function*(){return yield*(yield*W).requirePermission(V.ENGINE.DLQ_WRITE),yield*(yield*o).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),Pe=e=>n.gen(function*(){yield*(yield*W).requirePermission(V.ENGINE.DLQ_WRITE);let t=yield*o,{items:r}=yield*t.list({status:e.options?.status,flowId:e.options?.flowId}),i=0,a=0;for(let e of r)(yield*n.either(t.markRetrying(e.id)))._tag===`Right`?i++:a++;return{type:`dlq-retry-all`,status:200,headers:{"Content-Type":`application/json`},body:{retried:r.length,succeeded:i,failed:a}}}),Fe=e=>n.gen(function*(){return yield*(yield*W).requirePermission(V.ENGINE.DLQ_WRITE),yield*(yield*o).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),Ie=e=>n.gen(function*(){yield*(yield*W).requirePermission(V.ENGINE.DLQ_WRITE);let t=yield*(yield*o).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Le=e=>n.gen(function*(){yield*(yield*W).requirePermission(V.ENGINE.DLQ_WRITE);let t=yield*(yield*o).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Re=e=>n.gen(function*(){yield*(yield*W).requirePermission(V.ENGINE.DLQ_READ);let e=yield*(yield*o).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),ze=({flowId:e})=>n.gen(function*(){let t=yield*s,r=yield*W,i=yield*r.getClientId();return yield*r.requirePermission(V.FLOW.STATUS),i&&(yield*n.logInfo(`[Flow] Getting flow data: ${e}, client: ${i}`)),{status:200,body:yield*t.getFlowData(e,i)}}),Be=({flowId:e,storageId:t,inputs:r})=>n.gen(function*(){let i=yield*s,a=yield*W,o=yield*C,c=yield*q,l=yield*a.getClientId();if(yield*a.requirePermission(V.FLOW.EXECUTE),l?(yield*n.logInfo(`[Flow] Executing flow: ${e}, storage: ${t}, client: ${l}`),yield*n.logInfo(JSON.stringify(r,null,2))):(yield*n.logInfo(`[Flow] Executing flow: ${e}, storage: ${t}`),yield*n.logInfo(`[Flow] Inputs: ${JSON.stringify(r,null,2)}`)),l){let t=yield*c.onFlowStart({clientId:l,operation:`flow`,metadata:{flowId:e}});if(t.action===`abort`)return yield*n.fail(new L(t.reason,t.code??`SUBSCRIPTION_REQUIRED`))}yield*n.logInfo(`[Flow] Calling flowServer.runFlow...`);let u=yield*i.runFlow({flowId:e,storageId:t,clientId:l,inputs:r}).pipe(n.tap(()=>n.logInfo(`[Flow] runFlow completed successfully`)),n.tapError(e=>n.logError(`[Flow] runFlow failed with error: ${e}`))),d=yield*a.getAuthContext();return d&&(yield*o.set(u.id,d)),yield*n.logInfo(`[Flow] Flow started with jobId: ${u.id}`),{status:200,body:u}}),Ve=({jobId:e})=>n.gen(function*(){let t=yield*s,r=yield*W,i=yield*C,a=yield*r.getClientId();if(yield*r.requirePermission(V.FLOW.STATUS),!e)throw Error(`No job id`);a&&(yield*n.logInfo(`[Flow] Getting job status: ${e}, client: ${a}`));let o=yield*t.getJobStatus(e);return(o.status===`completed`||o.status===`failed`)&&(yield*i.delete(e),a&&(yield*n.logInfo(`[Flow] Flow ${o.status}, cleared auth cache: ${e}`))),{status:200,body:o}}),He=({jobId:e,nodeId:t,newData:r})=>n.gen(function*(){let i=yield*s,a=yield*W,o=yield*C;yield*a.requirePermission(V.FLOW.EXECUTE);let c=yield*a.getClientId();if(c||=(yield*o.get(e))?.clientId??null,c&&(yield*n.logInfo(`[Flow] Continuing flow: jobId=${e}, nodeId=${t}, client: ${c}`)),r===void 0)throw Error(`Missing newData`);let l=yield*i.resumeFlow({jobId:e,nodeId:t,newData:r,clientId:c});return(l.status===`completed`||l.status===`failed`)&&(yield*o.delete(e),c&&(yield*n.logInfo(`[Flow] Flow ${l.status}, cleared auth cache: ${e}`))),{status:200,body:l}}),Ue=({jobId:e})=>n.gen(function*(){let t=yield*s,r=yield*W,i=yield*C;yield*r.requirePermission(V.FLOW.CANCEL);let a=yield*r.getClientId();a||=(yield*i.get(e))?.clientId??null,a&&(yield*n.logInfo(`[Flow] Pausing flow: jobId=${e}, client: ${a}`));let o=yield*t.pauseFlow(e,a);return a&&(yield*n.logInfo(`[Flow] Flow paused: ${e}, status: ${o.status}`)),{status:200,body:o}}),We=({jobId:e})=>n.gen(function*(){let t=yield*s,r=yield*W,i=yield*C,a=yield*q;if(yield*r.requirePermission(V.FLOW.CANCEL),!e)throw Error(`No job id`);let o=yield*r.getClientId();o||=(yield*i.get(e))?.clientId??null,o&&(yield*n.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${o}`));let c=yield*t.cancelFlow(e,o);return yield*i.delete(e),o&&(yield*n.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`),yield*n.forkDaemon(a.onFlowComplete({clientId:o,operation:`flow`,metadata:{jobId:e,status:`cancelled`}}))),{status:200,body:c}}),Ge=Date.now();function Y(){return Date.now()-Ge}function X(){return new Date().toISOString()}function Ke(e){return{status:`healthy`,timestamp:X(),version:e?.version,uptime:Y()}}function qe(e){let t=[];if(e.storage&&t.push(e.storage.status),e.kvStore&&t.push(e.kvStore.status),t.includes(`unhealthy`))return`unhealthy`;let n=[...t];return e.eventBroadcaster&&n.push(e.eventBroadcaster.status),e.circuitBreaker&&n.push(e.circuitBreaker.status),e.deadLetterQueue&&n.push(e.deadLetterQueue.status),n.includes(`degraded`)?`degraded`:`healthy`}function Je(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`Storage backend configured`,lastCheck:X()})}function Z(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`KV store configured`,lastCheck:X()})}function Ye(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`Event broadcaster configured`,lastCheck:X()})}function Xe(){return n.gen(function*(){let e=yield*n.serviceOption(te);if(a.isNone(e))return;let t=e.value,r=yield*n.either(t.getAllStats());if(r._tag===`Left`)return{status:`degraded`,openCircuits:0,totalCircuits:0};let i=r.right,o=Array.from(i.values()),s=o.filter(e=>e.state===`open`).length,c=o.length,l=`healthy`;return s>0&&(l=`degraded`),{status:l,openCircuits:s,totalCircuits:c,circuits:o.map(e=>({nodeType:e.nodeType,state:e.state,failureCount:e.failureCount,timeSinceLastStateChange:e.timeSinceLastStateChange}))}})}function Ze(){return n.gen(function*(){let e=yield*o.optional;if(a.isNone(e))return;let t=e.value,r=yield*n.either(t.getStats());if(r._tag===`Left`)return{status:`degraded`,pendingItems:0,exhaustedItems:0};let i=r.right,s=`healthy`;return i.byStatus.exhausted>0&&(s=`degraded`),{status:s,pendingItems:i.byStatus.pending,exhaustedItems:i.byStatus.exhausted,oldestItem:i.oldestItem?.toISOString()}})}function Qe(e={}){let t={...p,...e};return n.gen(function*(){let n={};return t.checkStorage&&(n.storage=yield*Je(t)),t.checkKvStore&&(n.kvStore=yield*Z(t)),t.checkEventBroadcaster&&(n.eventBroadcaster=yield*Ye(t)),{status:qe(n),timestamp:X(),version:e.version,uptime:Y(),components:n}})}function $e(e={}){let t={...p,...e};return n.gen(function*(){let n={};t.checkStorage&&(n.storage=yield*Je(t)),t.checkKvStore&&(n.kvStore=yield*Z(t)),t.checkEventBroadcaster&&(n.eventBroadcaster=yield*Ye(t));let r=yield*Xe();r&&(n.circuitBreaker=r);let i=yield*Ze();return i&&(n.deadLetterQueue=i),{status:qe(n),timestamp:X(),version:e.version,uptime:Y(),components:n}})}const et=(e,t)=>n.sync(()=>{let n=Ke(t);return g(e.acceptHeader)===`text`?{type:`health`,status:200,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health`,status:200,headers:{"Content-Type":`application/json`},body:n}}),tt=(e,t)=>n.gen(function*(){yield*(yield*W).requirePermission(V.ENGINE.READINESS);let n=yield*Qe(t),r=g(e.acceptHeader),i=n.status===`unhealthy`?503:200;return r===`text`?{type:`health-ready`,status:i,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health-ready`,status:i,headers:{"Content-Type":`application/json`},body:n}}),nt=(e,t)=>n.gen(function*(){yield*(yield*W).requirePermission(V.ENGINE.READINESS);let n=yield*$e(t);return g(e.acceptHeader)===`text`?{type:`health-components`,status:200,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health-components`,status:200,headers:{"Content-Type":`application/json`},body:n}}),rt=e=>n.gen(function*(){let t=yield*b,r=yield*W,i=yield*C,a=yield*q,o=yield*r.getClientId();yield*r.requirePermission(V.UPLOAD.CREATE),o&&(yield*n.logInfo(`[Upload] Creating upload for client: ${o}`));let s=yield*n.sync(()=>_.safeParse(e.data));if(!s.success)return yield*n.fail(new N(`Invalid input file schema`));if(s.data.checksumAlgorithm&&!se(s.data.checksumAlgorithm))return yield*n.fail(new N(`Unsupported checksum algorithm: ${s.data.checksumAlgorithm}. Supported algorithms: sha256`));if(o){let e=yield*a.onUploadStart({clientId:o,operation:`upload`,metadata:{fileSize:s.data.size,mimeType:s.data.type,fileName:s.data.fileName}});if(e.action===`abort`)return yield*n.fail(new L(e.reason,e.code??`QUOTA_EXCEEDED`))}let c=yield*t.createUpload(s.data,o),l=yield*r.getAuthContext();return l&&(yield*i.set(c.id,l)),o&&(yield*n.logInfo(`[Upload] Upload created: ${c.id} for client: ${o}`)),{status:200,body:c}}),it=({storageId:e})=>n.gen(function*(){let t=yield*b,n=yield*W,r=yield*n.getClientId();return yield*n.requirePermission(V.UPLOAD.READ),{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,r),timestamp:new Date().toISOString()}}}),at=({uploadId:e})=>n.gen(function*(){let t=yield*b;return yield*(yield*W).requirePermission(V.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),ot=e=>n.gen(function*(){let t=yield*b,r=yield*W,i=yield*C,a=yield*y,o=yield*q,{uploadId:s,data:c}=e;yield*r.requirePermission(V.UPLOAD.CREATE);let l=yield*r.getClientId(),u=yield*r.getMetadata();if(!l){let e=yield*i.get(s);l=e?.clientId??null,u=e?.metadata??{}}l&&(yield*n.logInfo(`[Upload] Uploading chunk for upload: ${s}, client: ${l}`));let d=Date.now(),f=yield*t.uploadChunk(s,l,c);if(f.size&&f.offset>=f.size)if(yield*i.delete(s),l&&(yield*n.logInfo(`[Upload] Upload completed, cleared auth cache: ${s}`)),l&&f.size){yield*n.logInfo(`[Upload] Recording metrics for org: ${l}, size: ${f.size}`),yield*n.forkDaemon(a.recordUpload(l,f.size,u));let e=Date.now()-d;yield*n.forkDaemon(o.onUploadComplete({clientId:l,operation:`upload`,metadata:{uploadId:s,fileSize:f.size,duration:e,storageId:f.storage?.id,url:f.url,fileName:f.metadata?.fileName,flowContext:f.flow?{flowId:f.flow.flowId,jobId:f.flow.jobId}:void 0}}))}else yield*n.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`);return l&&(yield*n.logInfo(`[Upload] Chunk uploaded for upload: ${s}, client: ${l}`)),{status:200,body:f}}),st=(e,t)=>n.gen(function*(){switch(e.type){case`create-upload`:return yield*rt(e);case`get-capabilities`:return yield*it(e);case`get-upload`:return yield*at(e);case`upload-chunk`:return yield*ot(e);case`get-flow`:return yield*ze(e);case`run-flow`:return yield*Be(e);case`job-status`:return yield*Ve(e);case`resume-flow`:return yield*He(e);case`pause-flow`:return yield*Ue(e);case`cancel-flow`:return yield*We(e);case`dlq-list`:return yield*je(e);case`dlq-get`:return yield*Me(e);case`dlq-retry`:return yield*Ne(e);case`dlq-retry-all`:return yield*Pe(e);case`dlq-delete`:return yield*Fe(e);case`dlq-resolve`:return yield*Ie(e);case`dlq-cleanup`:return yield*Le(e);case`dlq-stats`:return yield*Re(e);case`health`:return yield*et(e,t?.healthCheckConfig);case`health-ready`:return yield*tt(e,t?.healthCheckConfig);case`health-components`:return yield*nt(e,t?.healthCheckConfig);case`not-found`:return{status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}};case`bad-request`:return{status:400,body:{error:`Bad request`,message:e.message}};case`method-not-allowed`:return{status:405,headers:{"Content-Type":`application/json`},body:{error:`Method not allowed`}};case`unsupported-content-type`:return{status:415,headers:{"Content-Type":`application/json`},body:{error:`Unsupported content type`}}}}),ct=async({flows:e,dataStore:t,kvStore:a,plugins:o=[],eventEmitter:s,eventBroadcaster:f=ce,withTracing:te=!1,observabilityLayer:p,baseUrl:m=`uploadista`,generateId:ie=oe,metricsLayer:h,bufferedDataStore:g,adapter:_,authCacheConfig:v,circuitBreaker:ae=!0,deadLetterQueue:se=!1,healthCheck:y,usageHooks:b})=>{let x=s??le(f),S=m.endsWith(`/`)?m.slice(0,-1):m,C=r.effect(l,n.succeed({getFlow:(t,n)=>e(t,n)}));if(!x)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let w=me({kvStore:a,eventEmitter:x,dataStore:await ne(t),bufferedDataStore:g,generateId:ie}),T=he({kvStore:a,eventEmitter:x,flowProvider:C,uploadEngine:w}),E=fe(v),D=h??ue,O=ae?ee.pipe(r.provide(a)):null,k=se?d.pipe(r.provide(re),r.provide(a)):null,A=J(b),j=r.effect(c,n.gen(function*(){let e=yield*q;return{onComplete:t=>e.onFlowComplete({clientId:t.clientId??``,operation:`flow`,metadata:{jobId:t.jobId,flowId:t.flowId,status:t.status===`completed`?`success`:`failed`}})}})).pipe(r.provide(A)),M=r.mergeAll(w,T,D,E,A,j,...o,...O?[O]:[],...k?[k]:[]),N=te?p??de:null,P=M,ge=N?r.merge(P,N):P,F=i.make(ge);return{handler:async e=>{let t=n.gen(function*(){let t=yield*_.extractRequest(e,{baseUrl:S}),i=null;if(_.runAuthMiddleware){let t=yield*_.runAuthMiddleware(e).pipe(n.timeout(`5 seconds`),n.catchAll(()=>(console.error(`Auth middleware timeout exceeded (5 seconds)`),n.succeed({_tag:`TimeoutError`}))),n.catchAllCause(e=>(console.error(`Auth middleware error:`,e),n.succeed({_tag:`AuthError`,error:e}))));if(t&&typeof t==`object`&&`_tag`in t&&t._tag===`TimeoutError`)return yield*_.sendResponse({status:503,headers:{"Content-Type":`application/json`},body:{error:`Authentication service unavailable`,message:`Authentication took too long to respond. Please try again.`}},e);if(t&&typeof t==`object`&&`_tag`in t&&t._tag===`AuthError`)return yield*_.sendResponse({status:500,headers:{"Content-Type":`application/json`},body:{error:`Internal Server Error`,message:`An error occurred during authentication`}},e);if(t===null)return yield*_.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=t}let a=G(i,{bypassAuth:!_.runAuthMiddleware}),s=[];if(_.extractWaitUntil){let t=_.extractWaitUntil(e);t&&s.push(r.succeed(u,t))}let c=r.mergeAll(a,E,D,A,...o,...s),l=O?r.merge(c,O):c,d=k?r.merge(l,k):l;if(t.type===`not-found`)return yield*_.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let f=yield*st(t,{healthCheckConfig:y}).pipe(n.provide(d));return yield*_.sendResponse(f,e)}).pipe(n.catchAll(t=>{let n=pe(t),r={code:n.code,message:n.message};n.details!==void 0&&(r.details=n.details);let i={status:n.status,headers:{"Content-Type":`application/json`},body:r};return _.sendResponse(i,e)}));return F.runPromise(t)},websocketHandler:await F.runPromise(_.webSocketHandler({baseUrl:S})),baseUrl:S,dispose:()=>F.dispose()}};async function lt(e){return ct(e)}function ut(e){return e}function dt(e){return e}const ft={ImagePlugin:{packageName:`@uploadista/flow-images-sharp`,variableName:`sharpImagePlugin`},ImageAiPlugin:{packageName:`@uploadista/flow-images-replicate`,variableName:`replicateImagePlugin`},ZipPlugin:{packageName:`@uploadista/flow-utility-zipjs`,variableName:`zipPlugin`},CredentialProvider:{packageName:`@uploadista/core`,variableName:`credentialProviderLayer`}};function pt(e){try{let t=e;if(t._tag)return t._tag;if(t.constructor?.name)return t.constructor.name;if(t.context?.services){let e=Array.from(t.context.services.keys());if(e.length>0){let t=e[0];if(t.key)return t.key}}return null}catch{return null}}function mt(e){return e.map(e=>pt(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=mt(t),i=n.filter(e=>!r.includes(e));return i.length===0?{success:!0}:{success:!1,required:n,provided:r,missing:i,suggestions:i.map(e=>{let t=ft[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function $(e){let t=[`Server initialization failed: Missing required plugins`,``,`Required: ${e.required.join(`, `)}`,`Provided: ${e.provided.length>0?e.provided.join(`, `):`(none)`}`,`Missing: ${e.missing.join(`, `)}`,``];if(e.suggestions.length>0){t.push(`Add the missing plugins to your configuration:`),t.push(``);for(let n of e.suggestions)t.push(` ${n.importStatement}`);t.push(``),t.push(` const server = await createUploadistaServer({`),t.push(` plugins: [${[...e.provided,...e.missing.map(e=>ft[e]?.variableName||e)].join(`, `)}],`),t.push(` // ...`),t.push(` });`)}else t.push(`Note: Could not determine package names for missing plugins.`),t.push(`Please ensure all required plugin layers are provided.`);return t.join(`
|
|
2
|
+
`)}function ht(e){return n.sync(()=>{let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}})}function gt(e){let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}}const _t=(e,t,r)=>n.gen(function*(){if(!t){yield*n.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Job ID is required for flow event subscription`,code:`MISSING_JOB_ID`}))});return}yield*e.subscribeToFlowEvents(t,r)}),vt=(e,t)=>n.gen(function*(){t&&(yield*e.unsubscribeFromFlowEvents(t))}),yt=(e,t,r)=>n.gen(function*(){if(!t){yield*n.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Upload ID is required for upload event subscription`,code:`MISSING_UPLOAD_ID`}))});return}yield*e.subscribeToUploadEvents(t,r)}),bt=(e,t)=>n.gen(function*(){t&&(yield*e.unsubscribeFromUploadEvents(t))}),xt=(e,t,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:l}=e;return n.gen(function*(){a&&(yield*_t(r,s,i)),o&&(yield*yt(t,c,i)),i.send(JSON.stringify({type:`connection`,message:`Uploadista WebSocket connected`,id:l,jobId:s,uploadId:c,timestamp:new Date().toISOString()}))}).pipe(n.catchAll(e=>n.sync(()=>{console.error(`Error subscribing to events:`,e);let t=e instanceof S?e.body:`Failed to subscribe to events`;i.send(JSON.stringify({type:`error`,message:t,code:e instanceof S?e.code:`SUBSCRIPTION_ERROR`}))})))},St=(e,t)=>n.sync(()=>{try{JSON.parse(e).type===`ping`&&t.send(JSON.stringify({type:`pong`,timestamp:new Date().toISOString()}))}catch(e){console.error(`Error handling WebSocket message:`,e),t.send(JSON.stringify({type:`error`,message:`Invalid message format`}))}}),Ct=(e,t,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return n.gen(function*(){i&&(yield*vt(r,o)),a&&(yield*bt(t,s))}).pipe(n.catchAll(e=>n.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof S?e.body:e)})))},wt=(e,t)=>n.sync(()=>{console.error(`WebSocket error for event ${t}:`,e)});export{M as AdapterError,C as AuthCacheService,fe as AuthCacheServiceLive,W as AuthContextService,G as AuthContextServiceLive,I as AuthenticationRequiredError,ye as AuthorizationError,ge as BadRequestError,ke as DEFAULT_USAGE_HOOK_TIMEOUT,R as ENGINE_PERMISSIONS,z as FLOW_PERMISSIONS,w as NoAuthCacheServiceLive,De as NoAuthContextServiceLive,Ae as NoUsageHookServiceLive,P as NotFoundError,be as OrganizationMismatchError,V as PERMISSIONS,H as PERMISSION_HIERARCHY,Se as PERMISSION_SETS,L as QuotaExceededError,B as UPLOAD_PERMISSIONS,q as UsageHookService,J as UsageHookServiceLive,N as ValidationError,Oe as abortResult,K as continueResult,xe as createAuthorizationErrorResponseBody,F as createErrorResponseBody,he as createFlowEngineLayer,ve as createGenericErrorResponseBody,lt as createTypeSafeServer,me as createUploadEngineLayer,_e as createUploadistaErrorResponseBody,ct as createUploadistaServer,ut as defineFlow,dt as defineSimpleFlow,Ee as expandPermission,j as extractFlowAndStorageId,A as extractJobAndNodeId,k as extractJobIdFromStatus,mt as extractServiceIdentifiers,$ as formatPluginValidationError,e as getAuthCredentials,E as getLastSegment,O as getRouteSegments,pe as handleFlowError,Ct as handleWebSocketClose,wt as handleWebSocketError,St as handleWebSocketMessage,xt as handleWebSocketOpen,Te as hasAllPermissions,we as hasAnyPermission,D as hasBasePath,U as hasPermission,Ce as matchesPermission,T as parseUrlSegments,Q as validatePluginRequirements,ht as validatePluginRequirementsEffect,gt as validatePluginsOrThrow};
|
|
3
3
|
//# sourceMappingURL=index.mjs.map
|