@uploadista/server 0.0.20-beta.5 → 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 +2 -2
- package/dist/index.d.cts +157 -157
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +157 -157
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -9
- package/src/core/http-handlers/flow-http-handlers.ts +1 -1
- package/src/core/plugin-types.ts +9 -9
- package/src/core/routes.ts +4 -1
- package/src/core/server.ts +1 -3
- package/src/permissions/errors.ts +3 -1
- package/src/permissions/index.ts +2 -2
- package/src/permissions/types.ts +3 -12
- package/src/plugins-typing.ts +12 -10
- package/src/service.ts +9 -4
- package/src/usage-hooks/index.ts +1 -1
- package/src/usage-hooks/service.ts +51 -59
- package/src/usage-hooks/types.ts +2 -4
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=
|
|
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.
|
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/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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"}
|