@uploadista/server 0.0.20-beta.6 → 0.0.20-beta.7

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 CHANGED
@@ -1,2 +1,2 @@
1
- const e=require(`./auth-Ck4gisA2.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},ee=e=>e[e.length-2],te=e=>({jobId:e[e.length-3],nodeId:e[e.length-1]}),v=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.uploadServer,f)},ne=({kvStore:e,eventEmitter:i,flowProvider:a,uploadServer: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.flowServer,l)},b={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},x={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},S={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},C={ENGINE:b,FLOW:x,UPLOAD:S},re={ADMIN:[b.ALL],ORGANIZATION_OWNER:[x.ALL,S.ALL],ORGANIZATION_MEMBER:[x.ALL,S.ALL],API_KEY:[x.EXECUTE,S.CREATE]},w={[b.DLQ]:[b.DLQ_READ,b.DLQ_WRITE]},T=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!w[e]?.includes(t)},E=(e,t)=>e.some(e=>T(e,t)),D=(e,t)=>t.some(t=>E(e,t)),O=(e,t)=>t.every(t=>E(e,t)),k=e=>{let t=[e],n=w[e];return n&&t.push(...n),t};var A=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},j=class extends A{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},M=class extends A{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},N=class extends A{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const P=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),F=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},I=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var L=class extends A{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},R=class extends A{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},z=class extends A{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},B=class extends A{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const ie=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()});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(E(r,e)),hasAnyPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(D(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 R);if(!E(r,n))return yield*t.Effect.logDebug(`[Auth] Permission denied: '${n}' for client '${e.clientId}'`),yield*t.Effect.fail(new L(n));yield*t.Effect.logDebug(`[Auth] Permission granted: '${n}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?t.Effect.succeed(e):t.Effect.fail(new R),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(C.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(C.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(C.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(C.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(C.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(C.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(C.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(C.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.FlowServer,i=yield*V,a=yield*i.getClientId();return yield*i.requirePermission(C.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.FlowServer,o=yield*V,s=yield*u,c=yield*G,l=yield*o.getClientId();if(yield*o.requirePermission(C.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 B(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.FlowServer,i=yield*V,a=yield*u,o=yield*i.getClientId();if(yield*i.requirePermission(C.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.FlowServer,o=yield*V,s=yield*u;yield*o.requirePermission(C.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.FlowServer,i=yield*V,a=yield*u;yield*i.requirePermission(C.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.FlowServer,i=yield*V,a=yield*u,o=yield*G;if(yield*i.requirePermission(C.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 Z(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`KV store configured`,lastCheck:J()})}function we(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*Z(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*we(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*Z(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: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(C.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(C.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.UploadServer,a=yield*V,o=yield*u,s=yield*G,l=yield*a.getClientId();yield*a.requirePermission(C.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 j(`Invalid input file schema`));if(d.data.checksumAlgorithm&&!(0,i.isSupportedAlgorithm)(d.data.checksumAlgorithm))return yield*t.Effect.fail(new j(`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 B(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.UploadServer,n=yield*V,r=yield*n.getClientId();return yield*n.requirePermission(C.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.UploadServer;return yield*(yield*V).requirePermission(C.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),Fe=e=>t.Effect.gen(function*(){let n=yield*c.UploadServer,r=yield*V,i=yield*u,a=yield*s.MetricsService,o=yield*G,{uploadId:l,data:d}=e;yield*r.requirePermission(C.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*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:ee=i.GenerateIdLive,metricsLayer:te,bufferedDataStore:v,adapter:b,authCacheConfig:x,circuitBreaker:S=!0,deadLetterQueue:C=!1,healthCheck:re,usageHooks:w})=>{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:v,generateId:ee}),k=ne({kvStore:l,eventEmitter:T,flowProvider:D,uploadServer:O}),A=d(x),j=te??s.NoOpMetricsServiceLive,M=S?n.kvCircuitBreakerStoreLayer.pipe(t.Layer.provide(l)):null,N=C?n.deadLetterQueueService.pipe(t.Layer.provide(r.deadLetterQueueKvStore),t.Layer.provide(l)):null,P=K(w),F=t.Layer.mergeAll(O,k,j,A,P,...u,...M?[M]:[],...N?[N]:[]),I=m?h??s.NodeSdkLive:null,L=F,R=I?t.Layer.merge(L,I):L,z=t.ManagedRuntime.make(R);return{handler:async e=>{let r=t.Effect.gen(function*(){let r=yield*b.extractRequest(e,{baseUrl:E}),i=null;if(b.runAuthMiddleware){let n=yield*b.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*b.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*b.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*b.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=n}let a=H(i,{bypassAuth:!b.runAuthMiddleware}),o=[];if(b.extractWaitUntil){let r=b.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*b.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let d=yield*Ie(r,{healthCheckConfig:re}).pipe(t.Effect.provide(l));return yield*b.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 b.sendResponse(i,e)}));return z.runPromise(r)},websocketHandler:await z.runPromise(b.webSocketHandler({baseUrl:E})),baseUrl:E,dispose:()=>z.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=A,exports.AuthCacheService=u,exports.AuthCacheServiceLive=d,exports.AuthContextService=V,exports.AuthContextServiceLive=H,exports.AuthenticationRequiredError=R,exports.AuthorizationError=L,exports.BadRequestError=N,exports.DEFAULT_USAGE_HOOK_TIMEOUT=W,exports.ENGINE_PERMISSIONS=b,exports.FLOW_PERMISSIONS=x,exports.NoAuthCacheServiceLive=f,exports.NoAuthContextServiceLive=ae,exports.NoUsageHookServiceLive=se,exports.NotFoundError=M,exports.OrganizationMismatchError=z,exports.PERMISSIONS=C,exports.PERMISSION_HIERARCHY=w,exports.PERMISSION_SETS=re,exports.QuotaExceededError=B,exports.UPLOAD_PERMISSIONS=S,exports.UsageHookService=G,exports.UsageHookServiceLive=K,exports.ValidationError=j,exports.abortResult=oe,exports.continueResult=U,exports.createAuthorizationErrorResponseBody=ie,exports.createErrorResponseBody=P,exports.createFlowServerLayer=ne,exports.createGenericErrorResponseBody=I,exports.createTypeSafeServer=Re,exports.createUploadServerLayer=y,exports.createUploadistaErrorResponseBody=F,exports.createUploadistaServer=Le,exports.defineFlow=ze,exports.defineSimpleFlow=Be,exports.expandPermission=k,exports.extractFlowAndStorageId=v,exports.extractJobAndNodeId=te,exports.extractJobIdFromStatus=ee,exports.extractServiceIdentifiers=Ue,exports.formatPluginValidationError=$,exports.getAuthCredentials=e.t,exports.getLastSegment=m,exports.getRouteSegments=g,exports.handleFlowError=_,exports.handleWebSocketClose=Qe,exports.handleWebSocketError=$e,exports.handleWebSocketMessage=Ze,exports.handleWebSocketOpen=Xe,exports.hasAllPermissions=O,exports.hasAnyPermission=D,exports.hasBasePath=h,exports.hasPermission=E,exports.matchesPermission=T,exports.parseUrlSegments=p,exports.validatePluginRequirements=Q,exports.validatePluginRequirementsEffect=We,exports.validatePluginsOrThrow=Ge;
1
+ const e=require(`./auth-Ck4gisA2.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.uploadServer,f)},S=({kvStore:e,eventEmitter:i,flowProvider:a,uploadServer: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.flowServer,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.FlowServer,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.FlowServer,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.FlowServer,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.FlowServer,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.FlowServer,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.FlowServer,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.UploadServer,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.UploadServer,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.UploadServer;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.UploadServer,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,uploadServer: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=C,exports.AuthCacheService=u,exports.AuthCacheServiceLive=d,exports.AuthContextService=W,exports.AuthContextServiceLive=G,exports.AuthenticationRequiredError=j,exports.AuthorizationError=A,exports.BadRequestError=E,exports.DEFAULT_USAGE_HOOK_TIMEOUT=q,exports.ENGINE_PERMISSIONS=F,exports.FLOW_PERMISSIONS=I,exports.NoAuthCacheServiceLive=f,exports.NoAuthContextServiceLive=ne,exports.NoUsageHookServiceLive=ie,exports.NotFoundError=T,exports.OrganizationMismatchError=M,exports.PERMISSIONS=R,exports.PERMISSION_HIERARCHY=B,exports.PERMISSION_SETS=z,exports.QuotaExceededError=N,exports.UPLOAD_PERMISSIONS=L,exports.UsageHookService=J,exports.UsageHookServiceLive=Y,exports.ValidationError=w,exports.abortResult=re,exports.continueResult=K,exports.createAuthorizationErrorResponseBody=P,exports.createErrorResponseBody=D,exports.createFlowServerLayer=S,exports.createGenericErrorResponseBody=k,exports.createTypeSafeServer=Re,exports.createUploadServerLayer=x,exports.createUploadistaErrorResponseBody=O,exports.createUploadistaServer=Le,exports.defineFlow=ze,exports.defineSimpleFlow=Be,exports.expandPermission=te,exports.extractFlowAndStorageId=b,exports.extractJobAndNodeId=y,exports.extractJobIdFromStatus=v,exports.extractServiceIdentifiers=Ue,exports.formatPluginValidationError=$,exports.getAuthCredentials=e.t,exports.getLastSegment=m,exports.getRouteSegments=g,exports.handleFlowError=_,exports.handleWebSocketClose=Qe,exports.handleWebSocketError=$e,exports.handleWebSocketMessage=Ze,exports.handleWebSocketOpen=Xe,exports.hasAllPermissions=ee,exports.hasAnyPermission=U,exports.hasBasePath=h,exports.hasPermission=H,exports.matchesPermission=V,exports.parseUrlSegments=p,exports.validatePluginRequirements=Q,exports.validatePluginRequirementsEffect=We,exports.validatePluginsOrThrow=Ge;
package/dist/index.d.cts CHANGED
@@ -2228,6 +2228,163 @@ declare const createFlowServerLayer: ({
2228
2228
  uploadServer
2229
2229
  }: FlowServerLayerConfig) => Layer.Layer<_uploadista_core0.FlowServer, never, never>;
2230
2230
  //#endregion
2231
+ //#region src/permissions/errors.d.ts
2232
+ /**
2233
+ * Authorization error - indicates the user lacks required permissions.
2234
+ * Returns HTTP 403 Forbidden status.
2235
+ *
2236
+ * @example
2237
+ * ```typescript
2238
+ * if (!hasPermission(permissions, "engine:metrics")) {
2239
+ * throw new AuthorizationError("engine:metrics");
2240
+ * }
2241
+ * ```
2242
+ */
2243
+ declare class AuthorizationError extends AdapterError {
2244
+ /**
2245
+ * The permission that was required but not granted.
2246
+ */
2247
+ readonly requiredPermission: string;
2248
+ constructor(requiredPermission: string, message?: string);
2249
+ }
2250
+ /**
2251
+ * Authentication required error - indicates no authentication context.
2252
+ * Returns HTTP 401 Unauthorized status.
2253
+ *
2254
+ * @example
2255
+ * ```typescript
2256
+ * if (!authContext) {
2257
+ * throw new AuthenticationRequiredError();
2258
+ * }
2259
+ * ```
2260
+ */
2261
+ declare class AuthenticationRequiredError extends AdapterError {
2262
+ constructor(message?: string);
2263
+ }
2264
+ /**
2265
+ * Organization mismatch error - indicates accessing a resource from another organization.
2266
+ * Returns HTTP 403 Forbidden status.
2267
+ *
2268
+ * @example
2269
+ * ```typescript
2270
+ * if (resource.organizationId !== clientId) {
2271
+ * throw new OrganizationMismatchError();
2272
+ * }
2273
+ * ```
2274
+ */
2275
+ declare class OrganizationMismatchError extends AdapterError {
2276
+ constructor(message?: string);
2277
+ }
2278
+ /**
2279
+ * Quota exceeded error - indicates usage quota has been exceeded.
2280
+ * Returns HTTP 402 Payment Required status.
2281
+ *
2282
+ * @example
2283
+ * ```typescript
2284
+ * if (usage > quota) {
2285
+ * throw new QuotaExceededError("Storage quota exceeded");
2286
+ * }
2287
+ * ```
2288
+ */
2289
+ declare class QuotaExceededError extends AdapterError {
2290
+ constructor(message?: string, code?: string);
2291
+ }
2292
+ /**
2293
+ * Creates a standardized error response body for AuthorizationError.
2294
+ * Includes the required permission in the response.
2295
+ *
2296
+ * @param error - The AuthorizationError to format
2297
+ * @returns Standardized error response body
2298
+ */
2299
+ declare const createAuthorizationErrorResponseBody: (error: AuthorizationError) => {
2300
+ error: string;
2301
+ code: string;
2302
+ requiredPermission: string;
2303
+ timestamp: string;
2304
+ };
2305
+ //#endregion
2306
+ //#region src/permissions/matcher.d.ts
2307
+ /**
2308
+ * Permission Matching Logic
2309
+ *
2310
+ * Implements permission matching with support for:
2311
+ * - Exact match: `engine:health` matches `engine:health`
2312
+ * - Wildcard match: `engine:*` matches `engine:health`, `engine:metrics`, etc.
2313
+ * - Hierarchical match: `engine:dlq` implies `engine:dlq:read` and `engine:dlq:write`
2314
+ */
2315
+ /**
2316
+ * Checks if a granted permission matches a required permission.
2317
+ *
2318
+ * @param granted - The permission that has been granted to the user
2319
+ * @param required - The permission that is required for the operation
2320
+ * @returns true if the granted permission satisfies the required permission
2321
+ *
2322
+ * @example
2323
+ * ```typescript
2324
+ * matchesPermission("engine:*", "engine:health") // true (wildcard)
2325
+ * matchesPermission("engine:health", "engine:health") // true (exact)
2326
+ * matchesPermission("engine:dlq", "engine:dlq:read") // true (hierarchical)
2327
+ * matchesPermission("flow:execute", "engine:health") // false
2328
+ * ```
2329
+ */
2330
+ declare const matchesPermission: (granted: string, required: string) => boolean;
2331
+ /**
2332
+ * Checks if any of the granted permissions satisfy the required permission.
2333
+ *
2334
+ * @param grantedPermissions - Array of permissions granted to the user
2335
+ * @param required - The permission that is required for the operation
2336
+ * @returns true if any granted permission satisfies the required permission
2337
+ *
2338
+ * @example
2339
+ * ```typescript
2340
+ * hasPermission(["flow:*", "upload:create"], "flow:execute") // true
2341
+ * hasPermission(["upload:create"], "flow:execute") // false
2342
+ * ```
2343
+ */
2344
+ declare const hasPermission: (grantedPermissions: readonly string[], required: string) => boolean;
2345
+ /**
2346
+ * Checks if any of the granted permissions satisfy any of the required permissions.
2347
+ *
2348
+ * @param grantedPermissions - Array of permissions granted to the user
2349
+ * @param requiredPermissions - Array of permissions, any of which would be sufficient
2350
+ * @returns true if any granted permission satisfies any required permission
2351
+ *
2352
+ * @example
2353
+ * ```typescript
2354
+ * hasAnyPermission(["upload:create"], ["flow:execute", "upload:create"]) // true
2355
+ * hasAnyPermission(["upload:read"], ["flow:execute", "upload:create"]) // false
2356
+ * ```
2357
+ */
2358
+ declare const hasAnyPermission: (grantedPermissions: readonly string[], requiredPermissions: readonly string[]) => boolean;
2359
+ /**
2360
+ * Checks if all of the required permissions are satisfied.
2361
+ *
2362
+ * @param grantedPermissions - Array of permissions granted to the user
2363
+ * @param requiredPermissions - Array of permissions, all of which must be satisfied
2364
+ * @returns true if all required permissions are satisfied
2365
+ *
2366
+ * @example
2367
+ * ```typescript
2368
+ * hasAllPermissions(["flow:*", "upload:*"], ["flow:execute", "upload:create"]) // true
2369
+ * hasAllPermissions(["flow:execute"], ["flow:execute", "upload:create"]) // false
2370
+ * ```
2371
+ */
2372
+ declare const hasAllPermissions: (grantedPermissions: readonly string[], requiredPermissions: readonly string[]) => boolean;
2373
+ /**
2374
+ * Expands a permission to include all implied permissions.
2375
+ * Useful for display or audit purposes.
2376
+ *
2377
+ * @param permission - The permission to expand
2378
+ * @returns Array of the permission and all implied permissions
2379
+ *
2380
+ * @example
2381
+ * ```typescript
2382
+ * expandPermission("engine:dlq") // ["engine:dlq", "engine:dlq:read", "engine:dlq:write"]
2383
+ * expandPermission("engine:health") // ["engine:health"]
2384
+ * ```
2385
+ */
2386
+ declare const expandPermission: (permission: string) => string[];
2387
+ //#endregion
2231
2388
  //#region src/permissions/types.d.ts
2232
2389
  /**
2233
2390
  * Permission Types and Constants
@@ -2360,163 +2517,6 @@ declare const PERMISSION_SETS: {
2360
2517
  */
2361
2518
  declare const PERMISSION_HIERARCHY: Record<string, readonly string[]>;
2362
2519
  //#endregion
2363
- //#region src/permissions/matcher.d.ts
2364
- /**
2365
- * Permission Matching Logic
2366
- *
2367
- * Implements permission matching with support for:
2368
- * - Exact match: `engine:health` matches `engine:health`
2369
- * - Wildcard match: `engine:*` matches `engine:health`, `engine:metrics`, etc.
2370
- * - Hierarchical match: `engine:dlq` implies `engine:dlq:read` and `engine:dlq:write`
2371
- */
2372
- /**
2373
- * Checks if a granted permission matches a required permission.
2374
- *
2375
- * @param granted - The permission that has been granted to the user
2376
- * @param required - The permission that is required for the operation
2377
- * @returns true if the granted permission satisfies the required permission
2378
- *
2379
- * @example
2380
- * ```typescript
2381
- * matchesPermission("engine:*", "engine:health") // true (wildcard)
2382
- * matchesPermission("engine:health", "engine:health") // true (exact)
2383
- * matchesPermission("engine:dlq", "engine:dlq:read") // true (hierarchical)
2384
- * matchesPermission("flow:execute", "engine:health") // false
2385
- * ```
2386
- */
2387
- declare const matchesPermission: (granted: string, required: string) => boolean;
2388
- /**
2389
- * Checks if any of the granted permissions satisfy the required permission.
2390
- *
2391
- * @param grantedPermissions - Array of permissions granted to the user
2392
- * @param required - The permission that is required for the operation
2393
- * @returns true if any granted permission satisfies the required permission
2394
- *
2395
- * @example
2396
- * ```typescript
2397
- * hasPermission(["flow:*", "upload:create"], "flow:execute") // true
2398
- * hasPermission(["upload:create"], "flow:execute") // false
2399
- * ```
2400
- */
2401
- declare const hasPermission: (grantedPermissions: readonly string[], required: string) => boolean;
2402
- /**
2403
- * Checks if any of the granted permissions satisfy any of the required permissions.
2404
- *
2405
- * @param grantedPermissions - Array of permissions granted to the user
2406
- * @param requiredPermissions - Array of permissions, any of which would be sufficient
2407
- * @returns true if any granted permission satisfies any required permission
2408
- *
2409
- * @example
2410
- * ```typescript
2411
- * hasAnyPermission(["upload:create"], ["flow:execute", "upload:create"]) // true
2412
- * hasAnyPermission(["upload:read"], ["flow:execute", "upload:create"]) // false
2413
- * ```
2414
- */
2415
- declare const hasAnyPermission: (grantedPermissions: readonly string[], requiredPermissions: readonly string[]) => boolean;
2416
- /**
2417
- * Checks if all of the required permissions are satisfied.
2418
- *
2419
- * @param grantedPermissions - Array of permissions granted to the user
2420
- * @param requiredPermissions - Array of permissions, all of which must be satisfied
2421
- * @returns true if all required permissions are satisfied
2422
- *
2423
- * @example
2424
- * ```typescript
2425
- * hasAllPermissions(["flow:*", "upload:*"], ["flow:execute", "upload:create"]) // true
2426
- * hasAllPermissions(["flow:execute"], ["flow:execute", "upload:create"]) // false
2427
- * ```
2428
- */
2429
- declare const hasAllPermissions: (grantedPermissions: readonly string[], requiredPermissions: readonly string[]) => boolean;
2430
- /**
2431
- * Expands a permission to include all implied permissions.
2432
- * Useful for display or audit purposes.
2433
- *
2434
- * @param permission - The permission to expand
2435
- * @returns Array of the permission and all implied permissions
2436
- *
2437
- * @example
2438
- * ```typescript
2439
- * expandPermission("engine:dlq") // ["engine:dlq", "engine:dlq:read", "engine:dlq:write"]
2440
- * expandPermission("engine:health") // ["engine:health"]
2441
- * ```
2442
- */
2443
- declare const expandPermission: (permission: string) => string[];
2444
- //#endregion
2445
- //#region src/permissions/errors.d.ts
2446
- /**
2447
- * Authorization error - indicates the user lacks required permissions.
2448
- * Returns HTTP 403 Forbidden status.
2449
- *
2450
- * @example
2451
- * ```typescript
2452
- * if (!hasPermission(permissions, "engine:metrics")) {
2453
- * throw new AuthorizationError("engine:metrics");
2454
- * }
2455
- * ```
2456
- */
2457
- declare class AuthorizationError extends AdapterError {
2458
- /**
2459
- * The permission that was required but not granted.
2460
- */
2461
- readonly requiredPermission: string;
2462
- constructor(requiredPermission: string, message?: string);
2463
- }
2464
- /**
2465
- * Authentication required error - indicates no authentication context.
2466
- * Returns HTTP 401 Unauthorized status.
2467
- *
2468
- * @example
2469
- * ```typescript
2470
- * if (!authContext) {
2471
- * throw new AuthenticationRequiredError();
2472
- * }
2473
- * ```
2474
- */
2475
- declare class AuthenticationRequiredError extends AdapterError {
2476
- constructor(message?: string);
2477
- }
2478
- /**
2479
- * Organization mismatch error - indicates accessing a resource from another organization.
2480
- * Returns HTTP 403 Forbidden status.
2481
- *
2482
- * @example
2483
- * ```typescript
2484
- * if (resource.organizationId !== clientId) {
2485
- * throw new OrganizationMismatchError();
2486
- * }
2487
- * ```
2488
- */
2489
- declare class OrganizationMismatchError extends AdapterError {
2490
- constructor(message?: string);
2491
- }
2492
- /**
2493
- * Quota exceeded error - indicates usage quota has been exceeded.
2494
- * Returns HTTP 402 Payment Required status.
2495
- *
2496
- * @example
2497
- * ```typescript
2498
- * if (usage > quota) {
2499
- * throw new QuotaExceededError("Storage quota exceeded");
2500
- * }
2501
- * ```
2502
- */
2503
- declare class QuotaExceededError extends AdapterError {
2504
- constructor(message?: string, code?: string);
2505
- }
2506
- /**
2507
- * Creates a standardized error response body for AuthorizationError.
2508
- * Includes the required permission in the response.
2509
- *
2510
- * @param error - The AuthorizationError to format
2511
- * @returns Standardized error response body
2512
- */
2513
- declare const createAuthorizationErrorResponseBody: (error: AuthorizationError) => {
2514
- error: string;
2515
- code: string;
2516
- requiredPermission: string;
2517
- timestamp: string;
2518
- };
2519
- //#endregion
2520
2520
  //#region src/plugins-typing.d.ts
2521
2521
  /**
2522
2522
  * @deprecated Use `ExtractLayerServices` from `@uploadista/core/flow/types` instead.
@@ -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/types.ts","../src/permissions/matcher.ts","../src/permissions/errors.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"sourcesContent":[],"mappings":"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;ACjBiB,KFyOL,aAAA,GAAgB,eE3NjB,CAAA,QAAM,CAAA,GF2NuC,sBE3NvC;AAuBjB;AAgCA;AAuDA;;AAgBM,KFmGM,cAAA,GAAiB,eEnGvB,CAAA,QAAA,CAAA,GAAA;EACa,MAAA,EAAA,GAAA;EAAd,OAAO,EAAA;IAYE,cAAA,EAAA,kBAAA,GAAA,YAAA;EACD,CAAA;EACM,IAAA,EFuFX,gBEvFW,GAAA,MAAA;CAAd;;;;AA8Be,KF+DR,kBAAA,GAAqB,eE/Db,CAAA,cAAA,CAAA,GFgElB,sBEhEkB;;;;;AAoBF,KFkDN,mBAAA,GAAsB,eElDhB,CAAA,cAAA,CAAA,GAAA;EAAO,MAAA,EAAA,GAAA,GAAA,GAAA;;;;EC7Nb,IAAA,EHkRJ,gBGlRmB,GAAA,MAAA;AAczB,CAAA;;;;AAqDiD,KHqNvC,uBAAA,GAA0B,eGrNa,CAAA,mBAAA,CAAA,GHsNjD,sBGtNiD;;;;;KH4NvC,wBAAA,GAA2B;;EG3O1B,OAAA,EAAA;IAwCA,cAAA,EAAA,kBA2FZ,GAAA,YAAA;EA1FS,CAAA;EACK,IAAA,EHoMP,gBGpMO,GAAA,MAAA;CAAZ;AAAW,KHuMF,iBAAA,GACR,mBGxMU,GHyMV,sBGzMU,GH0MV,gBG1MU,GH2MV,kBG3MU,GH4MV,cG5MU,GH6MV,cG7MU,GH8MV,mBG9MU,GH+MV,iBG/MU,GHgNV,gBGhNU,GHiNV,iBGjNU,GHmNV,cGnNU,GHoNV,aGpNU,GHqNV,eGrNU,GHsNV,kBGtNU,GHuNV,gBGvNU,GHwNV,iBGxNU,GHyNV,iBGzNU,GH0NV,eG1NU,GH4NV,aG5NU,GH6NV,kBG7NU,GH8NV,uBG9NU,GHgOV,eGhOU,GHiOV,iBGjOU,GHkOV,uBGlOU,GHmOV,6BGnOU;AAgGD,KHqID,kBAAA,GACR,oBGtI6C,GHuI7C,uBGvI4C,GHwI5C,iBGxI4C,GHyI5C,mBGzI4C,GH0I5C,eG1I4C,GH2I5C,eG3I4C,GH4I5C,oBG5I4C,GH6I5C,kBG7I4C,GH8I5C,iBG9I4C,GH+I5C,kBG/I4C,GHiJ5C,eGjJ4C,GHkJ5C,cGlJ4C,GHmJ5C,gBGnJ4C,GHoJ5C,mBGpJ4C,GHqJ5C,iBGrJ4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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"],"sourcesContent":[],"mappings":"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CjBiB,KF4OL,aAAA,GAAgB,eE9NjB,CAAA,QAAM,CAAA,GF8NuC,sBE9NvC;AAuBjB;AAgCA;AAuDA;;AAgBM,KFsGM,cAAA,GAAiB,eEtGvB,CAAA,QAAA,CAAA,GAAA;EACa,MAAA,EAAA,GAAA;EAAd,OAAO,EAAA;IAYE,cAAA,EAAA,kBAAA,GAAA,YAAA;EACD,CAAA;EACM,IAAA,EF0FX,gBE1FW,GAAA,MAAA;CAAd;;;;AA8Be,KFkER,kBAAA,GAAqB,eElEb,CAAA,cAAA,CAAA,GFmElB,sBEnEkB;;;;;AAoBF,KFqDN,mBAAA,GAAsB,eErDhB,CAAA,cAAA,CAAA,GAAA;EAAO,MAAA,EAAA,GAAA,GAAA,GAAA;;;;EC7Nb,IAAA,EHqRJ,gBGrRmB,GAAA,MAAA;AAczB,CAAA;;;;AAqDiD,KHwNvC,uBAAA,GAA0B,eGxNa,CAAA,mBAAA,CAAA,GHyNjD,sBGzNiD;;;;;KH+NvC,wBAAA,GAA2B;;EG9O1B,OAAA,EAAA;IAwCA,cAAA,EAAA,kBA2FZ,GAAA,YAAA;EA1FS,CAAA;EACK,IAAA,EHuMP,gBGvMO,GAAA,MAAA;CAAZ;AAAW,KH0MF,iBAAA,GACR,mBG3MU,GH4MV,sBG5MU,GH6MV,gBG7MU,GH8MV,kBG9MU,GH+MV,cG/MU,GHgNV,cGhNU,GHiNV,mBGjNU,GHkNV,iBGlNU,GHmNV,gBGnNU,GHoNV,iBGpNU,GHsNV,cGtNU,GHuNV,aGvNU,GHwNV,eGxNU,GHyNV,kBGzNU,GH0NV,gBG1NU,GH2NV,iBG3NU,GH4NV,iBG5NU,GH6NV,eG7NU,GH+NV,aG/NU,GHgOV,kBGhOU,GHiOV,uBGjOU,GHmOV,eGnOU,GHoOV,iBGpOU,GHqOV,uBGrOU,GHsOV,6BGtOU;AAgGD,KHwID,kBAAA,GACR,oBGzI6C,GH0I7C,uBG1I4C,GH2I5C,iBG3I4C,GH4I5C,mBG5I4C,GH6I5C,eG7I4C,GH8I5C,eG9I4C,GH+I5C,oBG/I4C,GHgJ5C,kBGhJ4C,GHiJ5C,iBGjJ4C,GHkJ5C,kBGlJ4C,GHoJ5C,eGpJ4C,GHqJ5C,cGrJ4C,GHsJ5C,gBGtJ4C,GHuJ5C,mBGvJ4C,GHwJ5C,iBGxJ4C,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"}