@uploadista/server 0.0.18-beta.6 → 0.0.18-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/README.md CHANGED
@@ -8,6 +8,7 @@ This package provides framework-agnostic server components including authenticat
8
8
 
9
9
  - **Authentication Context** - User identity and metadata management
10
10
  - **Auth Caching** - LRU cache for auth contexts with TTL support
11
+ - **Health Checks** - Kubernetes-compatible liveness/readiness probes
11
12
  - **Effect Layers** - Dependency injection for upload and flow servers
12
13
  - **Error Handling** - Standardized error responses with HTTP status codes
13
14
  - **HTTP Utilities** - Route parsing and error mapping helpers
@@ -391,6 +392,88 @@ const errorInfo = handleFlowError({
391
392
  // => { status: 404, code: "FILE_NOT_FOUND", message: "File not found" }
392
393
  ```
393
394
 
395
+ ## Health Check Endpoints
396
+
397
+ The server provides Kubernetes-compatible health check endpoints for production deployments.
398
+
399
+ ### Available Endpoints
400
+
401
+ | Endpoint | Purpose | Checks |
402
+ |----------|---------|--------|
403
+ | `/{baseUrl}/health` | Liveness probe | None (always returns healthy) |
404
+ | `/{baseUrl}/ready` | Readiness probe | Storage, KV store, event broadcaster |
405
+ | `/{baseUrl}/health/components` | Detailed status | All components + circuit breakers + DLQ |
406
+
407
+ Alternative paths `/healthz` and `/readyz` are also supported for Kubernetes compatibility.
408
+
409
+ ### Response Format
410
+
411
+ Health endpoints support content negotiation via the `Accept` header:
412
+ - `Accept: application/json` - JSON response with full details
413
+ - `Accept: text/plain` - Simple text response (`OK`, `DEGRADED`, `UNHEALTHY`)
414
+
415
+ ```json
416
+ {
417
+ "status": "healthy",
418
+ "timestamp": "2024-11-27T10:30:00.000Z",
419
+ "version": "1.0.0",
420
+ "uptime": 3600000,
421
+ "components": {
422
+ "storage": {
423
+ "status": "healthy",
424
+ "latency": 15,
425
+ "lastCheck": "2024-11-27T10:30:00.000Z"
426
+ },
427
+ "kvStore": {
428
+ "status": "healthy",
429
+ "latency": 5,
430
+ "lastCheck": "2024-11-27T10:30:00.000Z"
431
+ }
432
+ }
433
+ }
434
+ ```
435
+
436
+ ### Configuration
437
+
438
+ Configure health checks in your server setup:
439
+
440
+ ```typescript
441
+ import { createUploadistaServer } from "@uploadista/server";
442
+
443
+ const server = createUploadistaServer({
444
+ // ... other config
445
+ healthCheck: {
446
+ version: "1.0.0", // Application version
447
+ checkStorage: true, // Enable storage health checks
448
+ checkKvStore: true, // Enable KV store health checks
449
+ checkEventBroadcaster: false, // Disable event broadcaster checks
450
+ timeout: 5000, // Health check timeout in ms
451
+ },
452
+ });
453
+ ```
454
+
455
+ ### Kubernetes Integration
456
+
457
+ Example Kubernetes deployment configuration:
458
+
459
+ ```yaml
460
+ livenessProbe:
461
+ httpGet:
462
+ path: /uploadista/health
463
+ port: 8080
464
+ initialDelaySeconds: 5
465
+ periodSeconds: 10
466
+
467
+ readinessProbe:
468
+ httpGet:
469
+ path: /uploadista/ready
470
+ port: 8080
471
+ initialDelaySeconds: 10
472
+ periodSeconds: 5
473
+ ```
474
+
475
+ For complete documentation, see [docs/HEALTH_CHECKS.md](./docs/HEALTH_CHECKS.md).
476
+
394
477
  ## Framework Integration
395
478
 
396
479
  This package is used by framework adapters:
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},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 t.Context.Tag(`AuthContextService`)(){};const w=e=>t.Layer.succeed(C,{getClientId:()=>t.Effect.succeed(e?.clientId??null),getMetadata:()=>t.Effect.succeed(e?.metadata??{}),hasPermission:n=>t.Effect.succeed(e?.permissions?.includes(n)??!1),getAuthContext:()=>t.Effect.succeed(e)}),T=w(null),E=e=>t.Effect.gen(function*(){let t=yield*(yield*n.DeadLetterQueueService).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),D=e=>t.Effect.gen(function*(){let t=yield*(yield*n.DeadLetterQueueService).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),O=e=>t.Effect.gen(function*(){return yield*(yield*n.DeadLetterQueueService).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),k=e=>t.Effect.gen(function*(){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}}}),A=e=>t.Effect.gen(function*(){return yield*(yield*n.DeadLetterQueueService).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),j=e=>t.Effect.gen(function*(){let t=yield*(yield*n.DeadLetterQueueService).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),M=e=>t.Effect.gen(function*(){let t=yield*(yield*n.DeadLetterQueueService).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),N=e=>t.Effect.gen(function*(){let e=yield*(yield*n.DeadLetterQueueService).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),P=({flowId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowServer,i=yield*(yield*C).getClientId();return i&&(yield*t.Effect.logInfo(`[Flow] Getting flow data: ${e}, client: ${i}`)),{status:200,body:yield*r.getFlowData(e,i)}}),F=({flowId:e,storageId:r,inputs:i})=>t.Effect.gen(function*(){let a=yield*n.FlowServer,o=yield*C,s=yield*u,c=yield*o.getClientId();c?(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}, client: ${c}`),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)}`)),yield*t.Effect.logInfo(`[Flow] Calling flowServer.runFlow...`);let l=yield*a.runFlow({flowId:e,storageId:r,clientId:c,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}`))),d=yield*o.getAuthContext();return d&&(yield*s.set(l.id,d)),yield*t.Effect.logInfo(`[Flow] Flow started with jobId: ${l.id}`),{status:200,body:l}}),I=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowServer,i=yield*C,a=yield*u,o=yield*i.getClientId();if(!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}}),L=({jobId:e,nodeId:r,newData:i})=>t.Effect.gen(function*(){let a=yield*n.FlowServer,o=yield*C,s=yield*u,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}}),R=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowServer,i=yield*C,a=yield*u,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}}),ee=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowServer,i=yield*C,a=yield*u;if(!e)throw Error(`No job id`);let o=yield*i.getClientId();o||=(yield*a.get(e))?.clientId??null,o&&(yield*t.Effect.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${o}`));let s=yield*r.cancelFlow(e,o);return yield*a.delete(e),o&&(yield*t.Effect.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`)),{status:200,body:s}});var z=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},B=class extends z{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},te=class extends z{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},ne=class extends z{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const re=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),ie=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},V=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()}),H=e=>t.Effect.gen(function*(){let n=yield*c.UploadServer,a=yield*C,o=yield*u,s=yield*a.getClientId();s&&(yield*t.Effect.logInfo(`[Upload] Creating upload for client: ${s}`));let l=yield*t.Effect.sync(()=>r.inputFileSchema.safeParse(e.data));if(!l.success)return yield*t.Effect.fail(new B(`Invalid input file schema`));if(l.data.checksumAlgorithm&&!(0,i.isSupportedAlgorithm)(l.data.checksumAlgorithm))return yield*t.Effect.fail(new B(`Unsupported checksum algorithm: ${l.data.checksumAlgorithm}. Supported algorithms: sha256`));let d=yield*n.createUpload(l.data,s),f=yield*a.getAuthContext();return f&&(yield*o.set(d.id,f)),s&&(yield*t.Effect.logInfo(`[Upload] Upload created: ${d.id} for client: ${s}`)),{status:200,body:d}}),U=({storageId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadServer,n=yield*(yield*C).getClientId();return{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,n),timestamp:new Date().toISOString()}}}),W=({uploadId:e})=>t.Effect.gen(function*(){return{status:200,body:yield*(yield*c.UploadServer).getUpload(e)}}),G=e=>t.Effect.gen(function*(){let n=yield*c.UploadServer,r=yield*C,i=yield*u,a=yield*s.MetricsService,{uploadId:o,data:l}=e,d=yield*r.getClientId(),f=yield*r.getMetadata();if(!d){let e=yield*i.get(o);d=e?.clientId??null,f=e?.metadata??{}}d&&(yield*t.Effect.logInfo(`[Upload] Uploading chunk for upload: ${o}, client: ${d}`));let p=yield*n.uploadChunk(o,d,l);return p.size&&p.offset>=p.size&&(yield*i.delete(o),d&&(yield*t.Effect.logInfo(`[Upload] Upload completed, cleared auth cache: ${o}`)),d&&p.size?(yield*t.Effect.logInfo(`[Upload] Recording metrics for org: ${d}, size: ${p.size}`),yield*t.Effect.forkDaemon(a.recordUpload(d,p.size,f))):yield*t.Effect.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`)),d&&(yield*t.Effect.logInfo(`[Upload] Chunk uploaded for upload: ${o}, client: ${d}`)),{status:200,body:p}}),K=e=>t.Effect.gen(function*(){switch(e.type){case`create-upload`:return yield*H(e);case`get-capabilities`:return yield*U(e);case`get-upload`:return yield*W(e);case`upload-chunk`:return yield*G(e);case`get-flow`:return yield*P(e);case`run-flow`:return yield*F(e);case`job-status`:return yield*I(e);case`resume-flow`:return yield*L(e);case`pause-flow`:return yield*R(e);case`cancel-flow`:return yield*ee(e);case`dlq-list`:return yield*E(e);case`dlq-get`:return yield*D(e);case`dlq-retry`:return yield*O(e);case`dlq-retry-all`:return yield*k(e);case`dlq-delete`:return yield*A(e);case`dlq-resolve`:return yield*j(e);case`dlq-cleanup`:return yield*M(e);case`dlq-stats`:return yield*N(e);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`}}}}),q=async({flows:e,dataStore:c,kvStore:l,plugins:u=[],eventEmitter:f,eventBroadcaster:p=a.memoryEventBroadcaster,withTracing:m=!1,baseUrl:h=`uploadista`,generateId:g=i.GenerateIdLive,metricsLayer:v,bufferedDataStore:y,adapter:b,authCacheConfig:C,circuitBreaker:T=!0,deadLetterQueue:E=!1})=>{let D=f??(0,o.webSocketEventEmitter)(p),O=h.endsWith(`/`)?h.slice(0,-1):h,k=t.Layer.effect(n.FlowProvider,t.Effect.succeed({getFlow:(t,n)=>e(t,n)}));if(!D)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let A=x({kvStore:l,eventEmitter:D,dataStore:await(0,r.createDataStoreLayer)(c),bufferedDataStore:y,generateId:g}),j=S({kvStore:l,eventEmitter:D,flowProvider:k,uploadServer:A}),M=d(C),N=v??s.NoOpMetricsServiceLive,P=T?n.kvCircuitBreakerStoreLayer.pipe(t.Layer.provide(l)):null,F=E?n.deadLetterQueueService.pipe(t.Layer.provide(r.deadLetterQueueKvStore),t.Layer.provide(l)):null,I=t.Layer.mergeAll(A,j,N,M,...u,...P?[P]:[],...F?[F]:[]),L=t.ManagedRuntime.make(I);return{handler:async e=>{let r=t.Effect.gen(function*(){let r=yield*b.extractRequest(e,{baseUrl:O}),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=w(i),o=[];if(b.extractWaitUntil){let r=b.extractWaitUntil(e);r&&o.push(t.Layer.succeed(n.FlowWaitUntil,r))}let s=t.Layer.mergeAll(a,M,N,...u,...o),c=P?t.Layer.merge(s,P):s,l=F?t.Layer.merge(c,F):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*K(r).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 m?L.runPromise(r.pipe(t.Effect.provide(s.NodeSdkLive))):L.runPromise(r)},websocketHandler:await L.runPromise(b.webSocketHandler({baseUrl:O})),baseUrl:O,dispose:()=>L.dispose()}};async function J(e){return q(e)}function ae(e){return e}function oe(e){return e}const Y={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 se(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 X(e){return e.map(e=>se(e)).filter(e=>e!==null)}function Z(e){let{plugins:t,expectedServices:n=[]}=e,r=X(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=Y[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function Q(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=>Y[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 ce(e){return t.Effect.sync(()=>{let t=Z(e);if(!t.success){let e=Q(t);throw Error(e)}})}function le(e){let t=Z(e);if(!t.success){let e=Q(t);throw Error(e)}}const ue=(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)}),de=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromFlowEvents(n))}),fe=(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)}),$=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromUploadEvents(n))}),pe=(e,n,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:u}=e;return t.Effect.gen(function*(){a&&(yield*ue(r,s,i)),o&&(yield*fe(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`}))})))},me=(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`}))}}),he=(e,n,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return t.Effect.gen(function*(){i&&(yield*de(r,o)),a&&(yield*$(n,s))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof l.UploadistaError?e.body:e)})))},ge=(e,n)=>t.Effect.sync(()=>{console.error(`WebSocket error for event ${n}:`,e)});exports.AdapterError=z,exports.AuthCacheService=u,exports.AuthCacheServiceLive=d,exports.AuthContextService=C,exports.AuthContextServiceLive=w,exports.BadRequestError=ne,exports.NoAuthCacheServiceLive=f,exports.NoAuthContextServiceLive=T,exports.NotFoundError=te,exports.ValidationError=B,exports.createErrorResponseBody=re,exports.createFlowServerLayer=S,exports.createGenericErrorResponseBody=V,exports.createTypeSafeServer=J,exports.createUploadServerLayer=x,exports.createUploadistaErrorResponseBody=ie,exports.createUploadistaServer=q,exports.defineFlow=ae,exports.defineSimpleFlow=oe,exports.extractFlowAndStorageId=b,exports.extractJobAndNodeId=y,exports.extractJobIdFromStatus=v,exports.extractServiceIdentifiers=X,exports.formatPluginValidationError=Q,exports.getAuthCredentials=e.t,exports.getLastSegment=m,exports.getRouteSegments=g,exports.handleFlowError=_,exports.handleWebSocketClose=he,exports.handleWebSocketError=ge,exports.handleWebSocketMessage=me,exports.handleWebSocketOpen=pe,exports.hasBasePath=h,exports.parseUrlSegments=p,exports.validatePluginRequirements=Z,exports.validatePluginRequirementsEffect=ce,exports.validatePluginsOrThrow=le;
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 t.Context.Tag(`AuthContextService`)(){};const w=e=>t.Layer.succeed(C,{getClientId:()=>t.Effect.succeed(e?.clientId??null),getMetadata:()=>t.Effect.succeed(e?.metadata??{}),hasPermission:n=>t.Effect.succeed(e?.permissions?.includes(n)??!1),getAuthContext:()=>t.Effect.succeed(e)}),T=w(null),E=e=>t.Effect.gen(function*(){let t=yield*(yield*n.DeadLetterQueueService).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),D=e=>t.Effect.gen(function*(){let t=yield*(yield*n.DeadLetterQueueService).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),O=e=>t.Effect.gen(function*(){return yield*(yield*n.DeadLetterQueueService).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),k=e=>t.Effect.gen(function*(){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}}}),A=e=>t.Effect.gen(function*(){return yield*(yield*n.DeadLetterQueueService).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),j=e=>t.Effect.gen(function*(){let t=yield*(yield*n.DeadLetterQueueService).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),M=e=>t.Effect.gen(function*(){let t=yield*(yield*n.DeadLetterQueueService).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),N=e=>t.Effect.gen(function*(){let e=yield*(yield*n.DeadLetterQueueService).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),P=({flowId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowServer,i=yield*(yield*C).getClientId();return i&&(yield*t.Effect.logInfo(`[Flow] Getting flow data: ${e}, client: ${i}`)),{status:200,body:yield*r.getFlowData(e,i)}}),F=({flowId:e,storageId:r,inputs:i})=>t.Effect.gen(function*(){let a=yield*n.FlowServer,o=yield*C,s=yield*u,c=yield*o.getClientId();c?(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}, client: ${c}`),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)}`)),yield*t.Effect.logInfo(`[Flow] Calling flowServer.runFlow...`);let l=yield*a.runFlow({flowId:e,storageId:r,clientId:c,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}`))),d=yield*o.getAuthContext();return d&&(yield*s.set(l.id,d)),yield*t.Effect.logInfo(`[Flow] Flow started with jobId: ${l.id}`),{status:200,body:l}}),I=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowServer,i=yield*C,a=yield*u,o=yield*i.getClientId();if(!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}}),L=({jobId:e,nodeId:r,newData:i})=>t.Effect.gen(function*(){let a=yield*n.FlowServer,o=yield*C,s=yield*u,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}}),R=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowServer,i=yield*C,a=yield*u,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}}),ee=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowServer,i=yield*C,a=yield*u;if(!e)throw Error(`No job id`);let o=yield*i.getClientId();o||=(yield*a.get(e))?.clientId??null,o&&(yield*t.Effect.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${o}`));let s=yield*r.cancelFlow(e,o);return yield*a.delete(e),o&&(yield*t.Effect.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`)),{status:200,body:s}}),te=Date.now();function z(){return Date.now()-te}function B(){return new Date().toISOString()}function ne(e){return{status:`healthy`,timestamp:B(),version:e?.version,uptime:z()}}function V(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 H(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Storage backend configured`,lastCheck:B()})}function U(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`KV store configured`,lastCheck:B()})}function W(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Event broadcaster configured`,lastCheck:B()})}function re(){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 ie(){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 ae(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};return n.checkStorage&&(t.storage=yield*H(n)),n.checkKvStore&&(t.kvStore=yield*U(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*W(n)),{status:V(t),timestamp:B(),version:e.version,uptime:z(),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*H(n)),n.checkKvStore&&(t.kvStore=yield*U(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*W(n));let r=yield*re();r&&(t.circuitBreaker=r);let i=yield*ie();return i&&(t.deadLetterQueue=i),{status:V(t),timestamp:B(),version:e.version,uptime:z(),components:t}})}const se=(e,n)=>t.Effect.sync(()=>{let t=ne(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}}),ce=(e,n)=>t.Effect.gen(function*(){let t=yield*ae(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}}),G=(e,n)=>t.Effect.gen(function*(){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}});var K=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},q=class extends K{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},le=class extends K{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},ue=class extends K{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const de=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),fe=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},pe=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()}),me=e=>t.Effect.gen(function*(){let n=yield*c.UploadServer,a=yield*C,o=yield*u,s=yield*a.getClientId();s&&(yield*t.Effect.logInfo(`[Upload] Creating upload for client: ${s}`));let l=yield*t.Effect.sync(()=>r.inputFileSchema.safeParse(e.data));if(!l.success)return yield*t.Effect.fail(new q(`Invalid input file schema`));if(l.data.checksumAlgorithm&&!(0,i.isSupportedAlgorithm)(l.data.checksumAlgorithm))return yield*t.Effect.fail(new q(`Unsupported checksum algorithm: ${l.data.checksumAlgorithm}. Supported algorithms: sha256`));let d=yield*n.createUpload(l.data,s),f=yield*a.getAuthContext();return f&&(yield*o.set(d.id,f)),s&&(yield*t.Effect.logInfo(`[Upload] Upload created: ${d.id} for client: ${s}`)),{status:200,body:d}}),he=({storageId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadServer,n=yield*(yield*C).getClientId();return{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,n),timestamp:new Date().toISOString()}}}),ge=({uploadId:e})=>t.Effect.gen(function*(){return{status:200,body:yield*(yield*c.UploadServer).getUpload(e)}}),_e=e=>t.Effect.gen(function*(){let n=yield*c.UploadServer,r=yield*C,i=yield*u,a=yield*s.MetricsService,{uploadId:o,data:l}=e,d=yield*r.getClientId(),f=yield*r.getMetadata();if(!d){let e=yield*i.get(o);d=e?.clientId??null,f=e?.metadata??{}}d&&(yield*t.Effect.logInfo(`[Upload] Uploading chunk for upload: ${o}, client: ${d}`));let p=yield*n.uploadChunk(o,d,l);return p.size&&p.offset>=p.size&&(yield*i.delete(o),d&&(yield*t.Effect.logInfo(`[Upload] Upload completed, cleared auth cache: ${o}`)),d&&p.size?(yield*t.Effect.logInfo(`[Upload] Recording metrics for org: ${d}, size: ${p.size}`),yield*t.Effect.forkDaemon(a.recordUpload(d,p.size,f))):yield*t.Effect.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`)),d&&(yield*t.Effect.logInfo(`[Upload] Chunk uploaded for upload: ${o}, client: ${d}`)),{status:200,body:p}}),ve=(e,n)=>t.Effect.gen(function*(){switch(e.type){case`create-upload`:return yield*me(e);case`get-capabilities`:return yield*he(e);case`get-upload`:return yield*ge(e);case`upload-chunk`:return yield*_e(e);case`get-flow`:return yield*P(e);case`run-flow`:return yield*F(e);case`job-status`:return yield*I(e);case`resume-flow`:return yield*L(e);case`pause-flow`:return yield*R(e);case`cancel-flow`:return yield*ee(e);case`dlq-list`:return yield*E(e);case`dlq-get`:return yield*D(e);case`dlq-retry`:return yield*O(e);case`dlq-retry-all`:return yield*k(e);case`dlq-delete`:return yield*A(e);case`dlq-resolve`:return yield*j(e);case`dlq-cleanup`:return yield*M(e);case`dlq-stats`:return yield*N(e);case`health`:return yield*se(e,n?.healthCheckConfig);case`health-ready`:return yield*ce(e,n?.healthCheckConfig);case`health-components`:return yield*G(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`}}}}),J=async({flows:e,dataStore:c,kvStore:l,plugins:u=[],eventEmitter:f,eventBroadcaster:p=a.memoryEventBroadcaster,withTracing:m=!1,baseUrl:h=`uploadista`,generateId:g=i.GenerateIdLive,metricsLayer:v,bufferedDataStore:y,adapter:b,authCacheConfig:C,circuitBreaker:T=!0,deadLetterQueue:E=!1,healthCheck:D})=>{let O=f??(0,o.webSocketEventEmitter)(p),k=h.endsWith(`/`)?h.slice(0,-1):h,A=t.Layer.effect(n.FlowProvider,t.Effect.succeed({getFlow:(t,n)=>e(t,n)}));if(!O)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let j=x({kvStore:l,eventEmitter:O,dataStore:await(0,r.createDataStoreLayer)(c),bufferedDataStore:y,generateId:g}),M=S({kvStore:l,eventEmitter:O,flowProvider:A,uploadServer:j}),N=d(C),P=v??s.NoOpMetricsServiceLive,F=T?n.kvCircuitBreakerStoreLayer.pipe(t.Layer.provide(l)):null,I=E?n.deadLetterQueueService.pipe(t.Layer.provide(r.deadLetterQueueKvStore),t.Layer.provide(l)):null,L=t.Layer.mergeAll(j,M,P,N,...u,...F?[F]:[],...I?[I]:[]),R=t.ManagedRuntime.make(L);return{handler:async e=>{let r=t.Effect.gen(function*(){let r=yield*b.extractRequest(e,{baseUrl:k}),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=w(i),o=[];if(b.extractWaitUntil){let r=b.extractWaitUntil(e);r&&o.push(t.Layer.succeed(n.FlowWaitUntil,r))}let s=t.Layer.mergeAll(a,N,P,...u,...o),c=F?t.Layer.merge(s,F):s,l=I?t.Layer.merge(c,I):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*ve(r,{healthCheckConfig:D}).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 m?R.runPromise(r.pipe(t.Effect.provide(s.NodeSdkLive))):R.runPromise(r)},websocketHandler:await R.runPromise(b.webSocketHandler({baseUrl:k})),baseUrl:k,dispose:()=>R.dispose()}};async function Y(e){return J(e)}function ye(e){return e}function be(e){return e}const X={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 xe(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 Z(e){return e.map(e=>xe(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=Z(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=X[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=>X[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 Se(e){return t.Effect.sync(()=>{let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}})}function Ce(e){let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}}const we=(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)}),Te=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromFlowEvents(n))}),Ee=(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)}),De=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromUploadEvents(n))}),Oe=(e,n,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:u}=e;return t.Effect.gen(function*(){a&&(yield*we(r,s,i)),o&&(yield*Ee(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`}))})))},ke=(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`}))}}),Ae=(e,n,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return t.Effect.gen(function*(){i&&(yield*Te(r,o)),a&&(yield*De(n,s))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof l.UploadistaError?e.body:e)})))},je=(e,n)=>t.Effect.sync(()=>{console.error(`WebSocket error for event ${n}:`,e)});exports.AdapterError=K,exports.AuthCacheService=u,exports.AuthCacheServiceLive=d,exports.AuthContextService=C,exports.AuthContextServiceLive=w,exports.BadRequestError=ue,exports.NoAuthCacheServiceLive=f,exports.NoAuthContextServiceLive=T,exports.NotFoundError=le,exports.ValidationError=q,exports.createErrorResponseBody=de,exports.createFlowServerLayer=S,exports.createGenericErrorResponseBody=pe,exports.createTypeSafeServer=Y,exports.createUploadServerLayer=x,exports.createUploadistaErrorResponseBody=fe,exports.createUploadistaServer=J,exports.defineFlow=ye,exports.defineSimpleFlow=be,exports.extractFlowAndStorageId=b,exports.extractJobAndNodeId=y,exports.extractJobIdFromStatus=v,exports.extractServiceIdentifiers=Z,exports.formatPluginValidationError=$,exports.getAuthCredentials=e.t,exports.getLastSegment=m,exports.getRouteSegments=g,exports.handleFlowError=_,exports.handleWebSocketClose=Ae,exports.handleWebSocketError=je,exports.handleWebSocketMessage=ke,exports.handleWebSocketOpen=Oe,exports.hasBasePath=h,exports.parseUrlSegments=p,exports.validatePluginRequirements=Q,exports.validatePluginRequirementsEffect=Se,exports.validatePluginsOrThrow=Ce;
package/dist/index.d.cts CHANGED
@@ -1,17 +1,17 @@
1
1
  import { n as getAuthCredentials, t as AuthCredentialsResponse } from "./index-mMP18lsw.cjs";
2
2
  import * as _uploadista_core0 from "@uploadista/core";
3
- import { DataStoreCapabilities, DeadLetterCleanupOptions, DeadLetterCleanupResult, DeadLetterItem, DeadLetterItemStatus, DeadLetterListOptions, DeadLetterQueueStats, Flow, FlowData, FlowJob, FlowServer, PluginLayer, UploadEvent, UploadFile, UploadServer, UploadistaError, VideoPluginLayer } from "@uploadista/core";
3
+ import { DataStoreCapabilities, DeadLetterCleanupOptions, DeadLetterCleanupResult, DeadLetterItem, DeadLetterItemStatus, DeadLetterListOptions, DeadLetterQueueStats, Flow, FlowData, FlowJob, FlowServer, HealthResponse as HealthResponse$1, PluginLayer, UploadEvent, UploadFile, UploadServer, UploadistaError, VideoPluginLayer } from "@uploadista/core";
4
4
  import { Context, Effect, Layer } from "effect";
5
5
  import { CredentialProviderLayer, ExtractLayerServices, Flow as Flow$1, FlowProvider, FlowServerShape, ImageAiPluginLayer, ImagePluginLayer, ZipPluginLayer } from "@uploadista/core/flow";
6
6
  import z$1, { z } from "zod";
7
- import { BaseEventEmitterService, BaseKvStoreService, DataStoreConfig, EventBroadcasterService, UploadFileDataStore, UploadFileDataStores, UploadFileKVStore } from "@uploadista/core/types";
7
+ import { BaseEventEmitterService, BaseKvStoreService, DataStoreConfig, EventBroadcasterService, HealthCheckConfig, UploadFileDataStore, UploadFileDataStores, UploadFileKVStore } from "@uploadista/core/types";
8
8
  import { GenerateId } from "@uploadista/core/utils";
9
9
  import { MetricsService } from "@uploadista/observability";
10
10
  import { UploadServer as UploadServer$1, UploadServerShape } from "@uploadista/core/upload";
11
11
  import { UploadistaError as UploadistaError$1 } from "@uploadista/core/errors";
12
12
 
13
13
  //#region src/core/routes.d.ts
14
- type UploadistaRouteType = "create-upload" | "get-capabilities" | "get-upload" | "upload-chunk" | "get-flow" | "run-flow" | "job-status" | "resume-flow" | "pause-flow" | "cancel-flow" | "dlq-list" | "dlq-get" | "dlq-retry" | "dlq-retry-all" | "dlq-delete" | "dlq-resolve" | "dlq-cleanup" | "dlq-stats" | "not-found" | "bad-request" | "method-not-allowed" | "unsupported-content-type";
14
+ type UploadistaRouteType = "create-upload" | "get-capabilities" | "get-upload" | "upload-chunk" | "get-flow" | "run-flow" | "job-status" | "resume-flow" | "pause-flow" | "cancel-flow" | "dlq-list" | "dlq-get" | "dlq-retry" | "dlq-retry-all" | "dlq-delete" | "dlq-resolve" | "dlq-cleanup" | "dlq-stats" | "health" | "health-ready" | "health-components" | "not-found" | "bad-request" | "method-not-allowed" | "unsupported-content-type";
15
15
  type UploadistaRoute<T extends UploadistaRouteType> = {
16
16
  type: T;
17
17
  };
@@ -135,8 +135,60 @@ type DlqCleanupRequest = UploadistaRoute<"dlq-cleanup"> & {
135
135
  type DlqCleanupResponse = UploadistaStandardResponse<"dlq-cleanup", DeadLetterCleanupResult>;
136
136
  type DlqStatsRequest = UploadistaRoute<"dlq-stats">;
137
137
  type DlqStatsResponse = UploadistaStandardResponse<"dlq-stats", DeadLetterQueueStats>;
138
- type UploadistaRequest = CreateUploadRequest | GetCapabilitiesRequest | GetUploadRequest | UploadChunkRequest | GetFlowRequest | RunFlowRequest | GetJobStatusRequest | ResumeFlowRequest | PauseFlowRequest | CancelFlowRequest | DlqListRequest | DlqGetRequest | DlqRetryRequest | DlqRetryAllRequest | DlqDeleteRequest | DlqResolveRequest | DlqCleanupRequest | DlqStatsRequest | NotFoundRequest | BadRequestRequest | MethodNotAllowedRequest | UnsupportedContentTypeRequest;
139
- type UploadistaResponse = CreateUploadResponse | GetCapabilitiesResponse | GetUploadResponse | UploadChunkResponse | GetFlowResponse | RunFlowResponse | GetJobStatusResponse | ResumeFlowResponse | PauseFlowResponse | CancelFlowResponse | DlqListResponse | DlqGetResponse | DlqRetryResponse | DlqRetryAllResponse | DlqDeleteResponse | DlqResolveResponse | DlqCleanupResponse | DlqStatsResponse | NotFoundResponse | BadRequestResponse | MethodNotAllowedResponse | UnsupportedContentTypeResponse | StandardResponse;
138
+ /**
139
+ * Health check request base type with optional Accept header.
140
+ */
141
+ type HealthCheckRequestBase = {
142
+ /** Accept header value for response format negotiation */
143
+ acceptHeader?: string | null;
144
+ };
145
+ /**
146
+ * Liveness health check request (GET /health or /healthz).
147
+ */
148
+ type HealthRequest = UploadistaRoute<"health"> & HealthCheckRequestBase;
149
+ /**
150
+ * Liveness health check response.
151
+ * Can return JSON or plain text based on Accept header.
152
+ */
153
+ type HealthResponse = UploadistaRoute<"health"> & {
154
+ status: 200;
155
+ headers: {
156
+ "Content-Type": "application/json" | "text/plain";
157
+ };
158
+ body: HealthResponse$1 | string;
159
+ };
160
+ /**
161
+ * Readiness health check request (GET /ready or /readyz).
162
+ */
163
+ type HealthReadyRequest = UploadistaRoute<"health-ready"> & HealthCheckRequestBase;
164
+ /**
165
+ * Readiness health check response.
166
+ * Returns 200 if healthy, 503 if unhealthy.
167
+ */
168
+ type HealthReadyResponse = UploadistaRoute<"health-ready"> & {
169
+ status: 200 | 503;
170
+ headers: {
171
+ "Content-Type": "application/json" | "text/plain";
172
+ };
173
+ body: HealthResponse$1 | string;
174
+ };
175
+ /**
176
+ * Component details health check request (GET /health/components).
177
+ */
178
+ type HealthComponentsRequest = UploadistaRoute<"health-components"> & HealthCheckRequestBase;
179
+ /**
180
+ * Component details health check response.
181
+ * Always returns 200 for debugging purposes.
182
+ */
183
+ type HealthComponentsResponse = UploadistaRoute<"health-components"> & {
184
+ status: 200;
185
+ headers: {
186
+ "Content-Type": "application/json" | "text/plain";
187
+ };
188
+ body: HealthResponse$1 | string;
189
+ };
190
+ type UploadistaRequest = CreateUploadRequest | GetCapabilitiesRequest | GetUploadRequest | UploadChunkRequest | GetFlowRequest | RunFlowRequest | GetJobStatusRequest | ResumeFlowRequest | PauseFlowRequest | CancelFlowRequest | DlqListRequest | DlqGetRequest | DlqRetryRequest | DlqRetryAllRequest | DlqDeleteRequest | DlqResolveRequest | DlqCleanupRequest | DlqStatsRequest | HealthRequest | HealthReadyRequest | HealthComponentsRequest | NotFoundRequest | BadRequestRequest | MethodNotAllowedRequest | UnsupportedContentTypeRequest;
191
+ type UploadistaResponse = CreateUploadResponse | GetCapabilitiesResponse | GetUploadResponse | UploadChunkResponse | GetFlowResponse | RunFlowResponse | GetJobStatusResponse | ResumeFlowResponse | PauseFlowResponse | CancelFlowResponse | DlqListResponse | DlqGetResponse | DlqRetryResponse | DlqRetryAllResponse | DlqDeleteResponse | DlqResolveResponse | DlqCleanupResponse | DlqStatsResponse | HealthResponse | HealthReadyResponse | HealthComponentsResponse | NotFoundResponse | BadRequestResponse | MethodNotAllowedResponse | UnsupportedContentTypeResponse | StandardResponse;
140
192
  //#endregion
141
193
  //#region src/types.d.ts
142
194
  /**
@@ -915,6 +967,27 @@ interface UploadistaServerConfig<TRequest, TResponse, TWebSocket = unknown, TFlo
915
967
  * ```
916
968
  */
917
969
  deadLetterQueue?: boolean;
970
+ /**
971
+ * Optional: Health check configuration.
972
+ *
973
+ * Configures the behavior of health check endpoints (`/health`, `/ready`, `/health/components`).
974
+ * When not provided, default values are used:
975
+ * - timeout: 5000ms
976
+ * - checkStorage: true
977
+ * - checkKvStore: true
978
+ * - checkEventBroadcaster: true
979
+ *
980
+ * @example
981
+ * ```typescript
982
+ * healthCheck: {
983
+ * timeout: 3000, // 3 second timeout for dependency checks
984
+ * checkStorage: true, // Check storage backend health
985
+ * checkKvStore: true, // Check KV store health
986
+ * version: "1.2.3" // Include version in health responses
987
+ * }
988
+ * ```
989
+ */
990
+ healthCheck?: HealthCheckConfig;
918
991
  }
919
992
  /**
920
993
  * Return type from createUploadistaServer.
@@ -1388,7 +1461,8 @@ declare const createUploadistaServer: <TContext, TResponse, TWebSocketHandler =
1388
1461
  adapter,
1389
1462
  authCacheConfig,
1390
1463
  circuitBreaker,
1391
- deadLetterQueue
1464
+ deadLetterQueue,
1465
+ healthCheck
1392
1466
  }: UploadistaServerConfig<TContext, TResponse, TWebSocketHandler, TFlows, TPlugins>) => Promise<UploadistaServer<TContext, TResponse, TWebSocketHandler>>;
1393
1467
  //#endregion
1394
1468
  //#region src/core/websocket-routes.d.ts
@@ -2062,5 +2136,5 @@ declare const AuthContextServiceLive: (authContext: AuthContext | null) => Layer
2062
2136
  */
2063
2137
  declare const NoAuthContextServiceLive: Layer.Layer<AuthContextService>;
2064
2138
  //#endregion
2065
- export { AdapterError, AuthCacheConfig, AuthCacheService, AuthCacheServiceLive, AuthContext, AuthContextService, AuthContextServiceLive, AuthCredentialsResponse, AuthFailedEvent, AuthResult, BadRequestError, BadRequestRequest, BadRequestResponse, CancelFlowRequest, CancelFlowResponse, ConnectionEvent, CreateUploadRequest, CreateUploadResponse, DlqCleanupRequest, DlqCleanupResponse, DlqDeleteRequest, DlqDeleteResponse, DlqGetRequest, DlqGetResponse, DlqListRequest, DlqListResponse, DlqResolveRequest, DlqResolveResponse, DlqRetryAllRequest, DlqRetryAllResponse, DlqRetryRequest, DlqRetryResponse, DlqStatsRequest, DlqStatsResponse, ErrorEvent, ExtractFlowPluginRequirements, ExtractServicesFromLayers, FlowEventMessage, FlowRequirementsOf, FlowServerLayerConfig, FlowSuccess, FlowsFunction, GetCapabilitiesRequest, GetCapabilitiesResponse, GetFlowRequest, GetFlowResponse, GetJobStatusRequest, GetJobStatusResponse, GetUploadRequest, GetUploadResponse, InferFlowRequirements, InvalidPathEvent, KnownPluginLayer, LayerSuccessUnion, MethodNotAllowedRequest, MethodNotAllowedResponse, NoAuthCacheServiceLive, NoAuthContextServiceLive, NotFoundError, NotFoundRequest, NotFoundResponse, PauseFlowRequest, PauseFlowResponse, PingEvent, PluginAssertion, PluginServices, PluginTuple, PluginValidationResult, RequiredPluginsOf, ResumeFlowRequest, ResumeFlowResponse, RunFlowRequest, RunFlowResponse, RuntimePluginLayers, ServerAdapter, StandardRequest, StandardResponse, SubscribeFlowEvent, SubscribeUploadEvent, TypeSafeFlowFunction, TypeSafePluginConfig, TypeSafeServerConfig, UnsubscribeFlowEvent, UnsubscribeUploadEvent, UnsupportedContentTypeRequest, UnsupportedContentTypeResponse, UploadChunkRequest, UploadChunkResponse, UploadEventMessage, UploadServerLayerConfig, UploadistaRequest, UploadistaResponse, UploadistaRoute, UploadistaRouteType, UploadistaServer, UploadistaServerConfig, UploadistaStandardResponse, ValidatePlugins, ValidationError, type WebSocketConnection, type WebSocketConnectionRequest, WebSocketEvent, WebSocketEventType, WebSocketHandler, WebSocketIncomingEvent, WebSocketOutgoingEvent, createErrorResponseBody, createFlowServerLayer, createGenericErrorResponseBody, createTypeSafeServer, createUploadServerLayer, createUploadistaErrorResponseBody, createUploadistaServer, defineFlow, defineSimpleFlow, extractFlowAndStorageId, extractJobAndNodeId, extractJobIdFromStatus, extractServiceIdentifiers, formatPluginValidationError, getAuthCredentials, getLastSegment, getRouteSegments, handleFlowError, handleWebSocketClose, handleWebSocketError, handleWebSocketMessage, handleWebSocketOpen, hasBasePath, parseUrlSegments, validatePluginRequirements, validatePluginRequirementsEffect, validatePluginsOrThrow };
2139
+ export { AdapterError, AuthCacheConfig, AuthCacheService, AuthCacheServiceLive, AuthContext, AuthContextService, AuthContextServiceLive, AuthCredentialsResponse, AuthFailedEvent, AuthResult, BadRequestError, BadRequestRequest, BadRequestResponse, CancelFlowRequest, CancelFlowResponse, ConnectionEvent, CreateUploadRequest, CreateUploadResponse, DlqCleanupRequest, DlqCleanupResponse, DlqDeleteRequest, DlqDeleteResponse, DlqGetRequest, DlqGetResponse, DlqListRequest, DlqListResponse, DlqResolveRequest, DlqResolveResponse, DlqRetryAllRequest, DlqRetryAllResponse, DlqRetryRequest, DlqRetryResponse, DlqStatsRequest, DlqStatsResponse, ErrorEvent, ExtractFlowPluginRequirements, ExtractServicesFromLayers, FlowEventMessage, FlowRequirementsOf, FlowServerLayerConfig, FlowSuccess, FlowsFunction, GetCapabilitiesRequest, GetCapabilitiesResponse, GetFlowRequest, GetFlowResponse, GetJobStatusRequest, GetJobStatusResponse, GetUploadRequest, GetUploadResponse, HealthComponentsRequest, HealthComponentsResponse, HealthReadyRequest, HealthReadyResponse, HealthRequest, HealthResponse, InferFlowRequirements, InvalidPathEvent, KnownPluginLayer, LayerSuccessUnion, MethodNotAllowedRequest, MethodNotAllowedResponse, NoAuthCacheServiceLive, NoAuthContextServiceLive, NotFoundError, NotFoundRequest, NotFoundResponse, PauseFlowRequest, PauseFlowResponse, PingEvent, PluginAssertion, PluginServices, PluginTuple, PluginValidationResult, RequiredPluginsOf, ResumeFlowRequest, ResumeFlowResponse, RunFlowRequest, RunFlowResponse, RuntimePluginLayers, ServerAdapter, StandardRequest, StandardResponse, SubscribeFlowEvent, SubscribeUploadEvent, TypeSafeFlowFunction, TypeSafePluginConfig, TypeSafeServerConfig, UnsubscribeFlowEvent, UnsubscribeUploadEvent, UnsupportedContentTypeRequest, UnsupportedContentTypeResponse, UploadChunkRequest, UploadChunkResponse, UploadEventMessage, UploadServerLayerConfig, UploadistaRequest, UploadistaResponse, UploadistaRoute, UploadistaRouteType, UploadistaServer, UploadistaServerConfig, UploadistaStandardResponse, ValidatePlugins, ValidationError, type WebSocketConnection, type WebSocketConnectionRequest, WebSocketEvent, WebSocketEventType, WebSocketHandler, WebSocketIncomingEvent, WebSocketOutgoingEvent, createErrorResponseBody, createFlowServerLayer, createGenericErrorResponseBody, createTypeSafeServer, createUploadServerLayer, createUploadistaErrorResponseBody, createUploadistaServer, defineFlow, defineSimpleFlow, extractFlowAndStorageId, extractJobAndNodeId, extractJobIdFromStatus, extractServiceIdentifiers, formatPluginValidationError, getAuthCredentials, getLastSegment, getRouteSegments, handleFlowError, handleWebSocketClose, handleWebSocketError, handleWebSocketMessage, handleWebSocketOpen, hasBasePath, parseUrlSegments, validatePluginRequirements, validatePluginRequirementsEffect, validatePluginsOrThrow };
2066
2140
  //# sourceMappingURL=index.d.cts.map
@@ -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/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/plugins-typing.ts","../src/service.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/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/plugins-typing.ts","../src/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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"}
package/dist/index.d.mts CHANGED
@@ -1,17 +1,17 @@
1
1
  import { n as getAuthCredentials, t as AuthCredentialsResponse } from "./index-BXLtlr98.mjs";
2
2
  import { Context, Effect, Layer } from "effect";
3
3
  import { CredentialProviderLayer, ExtractLayerServices, Flow, FlowProvider, FlowServerShape, ImageAiPluginLayer, ImagePluginLayer, ZipPluginLayer } from "@uploadista/core/flow";
4
- import { BaseEventEmitterService, BaseKvStoreService, DataStoreConfig, EventBroadcasterService, UploadFileDataStore, UploadFileDataStores, UploadFileKVStore } from "@uploadista/core/types";
4
+ import { BaseEventEmitterService, BaseKvStoreService, DataStoreConfig, EventBroadcasterService, HealthCheckConfig, UploadFileDataStore, UploadFileDataStores, UploadFileKVStore } from "@uploadista/core/types";
5
5
  import { GenerateId } from "@uploadista/core/utils";
6
6
  import { MetricsService } from "@uploadista/observability";
7
7
  import { UploadServer, UploadServerShape } from "@uploadista/core/upload";
8
8
  import { UploadistaError } from "@uploadista/core/errors";
9
9
  import * as _uploadista_core0 from "@uploadista/core";
10
- import { DataStoreCapabilities, DeadLetterCleanupOptions, DeadLetterCleanupResult, DeadLetterItem, DeadLetterItemStatus, DeadLetterListOptions, DeadLetterQueueStats, Flow as Flow$1, FlowData, FlowJob, FlowServer as FlowServer$1, PluginLayer, UploadEvent, UploadFile, UploadServer as UploadServer$1, UploadistaError as UploadistaError$1, VideoPluginLayer } from "@uploadista/core";
10
+ import { DataStoreCapabilities, DeadLetterCleanupOptions, DeadLetterCleanupResult, DeadLetterItem, DeadLetterItemStatus, DeadLetterListOptions, DeadLetterQueueStats, Flow as Flow$1, FlowData, FlowJob, FlowServer as FlowServer$1, HealthResponse as HealthResponse$1, PluginLayer, UploadEvent, UploadFile, UploadServer as UploadServer$1, UploadistaError as UploadistaError$1, VideoPluginLayer } from "@uploadista/core";
11
11
  import z$1, { z } from "zod";
12
12
 
13
13
  //#region src/core/routes.d.ts
14
- type UploadistaRouteType = "create-upload" | "get-capabilities" | "get-upload" | "upload-chunk" | "get-flow" | "run-flow" | "job-status" | "resume-flow" | "pause-flow" | "cancel-flow" | "dlq-list" | "dlq-get" | "dlq-retry" | "dlq-retry-all" | "dlq-delete" | "dlq-resolve" | "dlq-cleanup" | "dlq-stats" | "not-found" | "bad-request" | "method-not-allowed" | "unsupported-content-type";
14
+ type UploadistaRouteType = "create-upload" | "get-capabilities" | "get-upload" | "upload-chunk" | "get-flow" | "run-flow" | "job-status" | "resume-flow" | "pause-flow" | "cancel-flow" | "dlq-list" | "dlq-get" | "dlq-retry" | "dlq-retry-all" | "dlq-delete" | "dlq-resolve" | "dlq-cleanup" | "dlq-stats" | "health" | "health-ready" | "health-components" | "not-found" | "bad-request" | "method-not-allowed" | "unsupported-content-type";
15
15
  type UploadistaRoute<T extends UploadistaRouteType> = {
16
16
  type: T;
17
17
  };
@@ -135,8 +135,60 @@ type DlqCleanupRequest = UploadistaRoute<"dlq-cleanup"> & {
135
135
  type DlqCleanupResponse = UploadistaStandardResponse<"dlq-cleanup", DeadLetterCleanupResult>;
136
136
  type DlqStatsRequest = UploadistaRoute<"dlq-stats">;
137
137
  type DlqStatsResponse = UploadistaStandardResponse<"dlq-stats", DeadLetterQueueStats>;
138
- type UploadistaRequest = CreateUploadRequest | GetCapabilitiesRequest | GetUploadRequest | UploadChunkRequest | GetFlowRequest | RunFlowRequest | GetJobStatusRequest | ResumeFlowRequest | PauseFlowRequest | CancelFlowRequest | DlqListRequest | DlqGetRequest | DlqRetryRequest | DlqRetryAllRequest | DlqDeleteRequest | DlqResolveRequest | DlqCleanupRequest | DlqStatsRequest | NotFoundRequest | BadRequestRequest | MethodNotAllowedRequest | UnsupportedContentTypeRequest;
139
- type UploadistaResponse = CreateUploadResponse | GetCapabilitiesResponse | GetUploadResponse | UploadChunkResponse | GetFlowResponse | RunFlowResponse | GetJobStatusResponse | ResumeFlowResponse | PauseFlowResponse | CancelFlowResponse | DlqListResponse | DlqGetResponse | DlqRetryResponse | DlqRetryAllResponse | DlqDeleteResponse | DlqResolveResponse | DlqCleanupResponse | DlqStatsResponse | NotFoundResponse | BadRequestResponse | MethodNotAllowedResponse | UnsupportedContentTypeResponse | StandardResponse;
138
+ /**
139
+ * Health check request base type with optional Accept header.
140
+ */
141
+ type HealthCheckRequestBase = {
142
+ /** Accept header value for response format negotiation */
143
+ acceptHeader?: string | null;
144
+ };
145
+ /**
146
+ * Liveness health check request (GET /health or /healthz).
147
+ */
148
+ type HealthRequest = UploadistaRoute<"health"> & HealthCheckRequestBase;
149
+ /**
150
+ * Liveness health check response.
151
+ * Can return JSON or plain text based on Accept header.
152
+ */
153
+ type HealthResponse = UploadistaRoute<"health"> & {
154
+ status: 200;
155
+ headers: {
156
+ "Content-Type": "application/json" | "text/plain";
157
+ };
158
+ body: HealthResponse$1 | string;
159
+ };
160
+ /**
161
+ * Readiness health check request (GET /ready or /readyz).
162
+ */
163
+ type HealthReadyRequest = UploadistaRoute<"health-ready"> & HealthCheckRequestBase;
164
+ /**
165
+ * Readiness health check response.
166
+ * Returns 200 if healthy, 503 if unhealthy.
167
+ */
168
+ type HealthReadyResponse = UploadistaRoute<"health-ready"> & {
169
+ status: 200 | 503;
170
+ headers: {
171
+ "Content-Type": "application/json" | "text/plain";
172
+ };
173
+ body: HealthResponse$1 | string;
174
+ };
175
+ /**
176
+ * Component details health check request (GET /health/components).
177
+ */
178
+ type HealthComponentsRequest = UploadistaRoute<"health-components"> & HealthCheckRequestBase;
179
+ /**
180
+ * Component details health check response.
181
+ * Always returns 200 for debugging purposes.
182
+ */
183
+ type HealthComponentsResponse = UploadistaRoute<"health-components"> & {
184
+ status: 200;
185
+ headers: {
186
+ "Content-Type": "application/json" | "text/plain";
187
+ };
188
+ body: HealthResponse$1 | string;
189
+ };
190
+ type UploadistaRequest = CreateUploadRequest | GetCapabilitiesRequest | GetUploadRequest | UploadChunkRequest | GetFlowRequest | RunFlowRequest | GetJobStatusRequest | ResumeFlowRequest | PauseFlowRequest | CancelFlowRequest | DlqListRequest | DlqGetRequest | DlqRetryRequest | DlqRetryAllRequest | DlqDeleteRequest | DlqResolveRequest | DlqCleanupRequest | DlqStatsRequest | HealthRequest | HealthReadyRequest | HealthComponentsRequest | NotFoundRequest | BadRequestRequest | MethodNotAllowedRequest | UnsupportedContentTypeRequest;
191
+ type UploadistaResponse = CreateUploadResponse | GetCapabilitiesResponse | GetUploadResponse | UploadChunkResponse | GetFlowResponse | RunFlowResponse | GetJobStatusResponse | ResumeFlowResponse | PauseFlowResponse | CancelFlowResponse | DlqListResponse | DlqGetResponse | DlqRetryResponse | DlqRetryAllResponse | DlqDeleteResponse | DlqResolveResponse | DlqCleanupResponse | DlqStatsResponse | HealthResponse | HealthReadyResponse | HealthComponentsResponse | NotFoundResponse | BadRequestResponse | MethodNotAllowedResponse | UnsupportedContentTypeResponse | StandardResponse;
140
192
  //#endregion
141
193
  //#region src/types.d.ts
142
194
  /**
@@ -915,6 +967,27 @@ interface UploadistaServerConfig<TRequest, TResponse, TWebSocket = unknown, TFlo
915
967
  * ```
916
968
  */
917
969
  deadLetterQueue?: boolean;
970
+ /**
971
+ * Optional: Health check configuration.
972
+ *
973
+ * Configures the behavior of health check endpoints (`/health`, `/ready`, `/health/components`).
974
+ * When not provided, default values are used:
975
+ * - timeout: 5000ms
976
+ * - checkStorage: true
977
+ * - checkKvStore: true
978
+ * - checkEventBroadcaster: true
979
+ *
980
+ * @example
981
+ * ```typescript
982
+ * healthCheck: {
983
+ * timeout: 3000, // 3 second timeout for dependency checks
984
+ * checkStorage: true, // Check storage backend health
985
+ * checkKvStore: true, // Check KV store health
986
+ * version: "1.2.3" // Include version in health responses
987
+ * }
988
+ * ```
989
+ */
990
+ healthCheck?: HealthCheckConfig;
918
991
  }
919
992
  /**
920
993
  * Return type from createUploadistaServer.
@@ -1388,7 +1461,8 @@ declare const createUploadistaServer: <TContext, TResponse, TWebSocketHandler =
1388
1461
  adapter,
1389
1462
  authCacheConfig,
1390
1463
  circuitBreaker,
1391
- deadLetterQueue
1464
+ deadLetterQueue,
1465
+ healthCheck
1392
1466
  }: UploadistaServerConfig<TContext, TResponse, TWebSocketHandler, TFlows, TPlugins>) => Promise<UploadistaServer<TContext, TResponse, TWebSocketHandler>>;
1393
1467
  //#endregion
1394
1468
  //#region src/core/websocket-routes.d.ts
@@ -2062,5 +2136,5 @@ declare const AuthContextServiceLive: (authContext: AuthContext | null) => Layer
2062
2136
  */
2063
2137
  declare const NoAuthContextServiceLive: Layer.Layer<AuthContextService>;
2064
2138
  //#endregion
2065
- export { AdapterError, AuthCacheConfig, AuthCacheService, AuthCacheServiceLive, AuthContext, AuthContextService, AuthContextServiceLive, AuthCredentialsResponse, AuthFailedEvent, AuthResult, BadRequestError, BadRequestRequest, BadRequestResponse, CancelFlowRequest, CancelFlowResponse, ConnectionEvent, CreateUploadRequest, CreateUploadResponse, DlqCleanupRequest, DlqCleanupResponse, DlqDeleteRequest, DlqDeleteResponse, DlqGetRequest, DlqGetResponse, DlqListRequest, DlqListResponse, DlqResolveRequest, DlqResolveResponse, DlqRetryAllRequest, DlqRetryAllResponse, DlqRetryRequest, DlqRetryResponse, DlqStatsRequest, DlqStatsResponse, ErrorEvent, ExtractFlowPluginRequirements, ExtractServicesFromLayers, FlowEventMessage, FlowRequirementsOf, FlowServerLayerConfig, FlowSuccess, FlowsFunction, GetCapabilitiesRequest, GetCapabilitiesResponse, GetFlowRequest, GetFlowResponse, GetJobStatusRequest, GetJobStatusResponse, GetUploadRequest, GetUploadResponse, InferFlowRequirements, InvalidPathEvent, KnownPluginLayer, LayerSuccessUnion, MethodNotAllowedRequest, MethodNotAllowedResponse, NoAuthCacheServiceLive, NoAuthContextServiceLive, NotFoundError, NotFoundRequest, NotFoundResponse, PauseFlowRequest, PauseFlowResponse, PingEvent, PluginAssertion, PluginServices, PluginTuple, PluginValidationResult, RequiredPluginsOf, ResumeFlowRequest, ResumeFlowResponse, RunFlowRequest, RunFlowResponse, RuntimePluginLayers, ServerAdapter, StandardRequest, StandardResponse, SubscribeFlowEvent, SubscribeUploadEvent, TypeSafeFlowFunction, TypeSafePluginConfig, TypeSafeServerConfig, UnsubscribeFlowEvent, UnsubscribeUploadEvent, UnsupportedContentTypeRequest, UnsupportedContentTypeResponse, UploadChunkRequest, UploadChunkResponse, UploadEventMessage, UploadServerLayerConfig, UploadistaRequest, UploadistaResponse, UploadistaRoute, UploadistaRouteType, UploadistaServer, UploadistaServerConfig, UploadistaStandardResponse, ValidatePlugins, ValidationError, type WebSocketConnection, type WebSocketConnectionRequest, WebSocketEvent, WebSocketEventType, WebSocketHandler, WebSocketIncomingEvent, WebSocketOutgoingEvent, createErrorResponseBody, createFlowServerLayer, createGenericErrorResponseBody, createTypeSafeServer, createUploadServerLayer, createUploadistaErrorResponseBody, createUploadistaServer, defineFlow, defineSimpleFlow, extractFlowAndStorageId, extractJobAndNodeId, extractJobIdFromStatus, extractServiceIdentifiers, formatPluginValidationError, getAuthCredentials, getLastSegment, getRouteSegments, handleFlowError, handleWebSocketClose, handleWebSocketError, handleWebSocketMessage, handleWebSocketOpen, hasBasePath, parseUrlSegments, validatePluginRequirements, validatePluginRequirementsEffect, validatePluginsOrThrow };
2139
+ export { AdapterError, AuthCacheConfig, AuthCacheService, AuthCacheServiceLive, AuthContext, AuthContextService, AuthContextServiceLive, AuthCredentialsResponse, AuthFailedEvent, AuthResult, BadRequestError, BadRequestRequest, BadRequestResponse, CancelFlowRequest, CancelFlowResponse, ConnectionEvent, CreateUploadRequest, CreateUploadResponse, DlqCleanupRequest, DlqCleanupResponse, DlqDeleteRequest, DlqDeleteResponse, DlqGetRequest, DlqGetResponse, DlqListRequest, DlqListResponse, DlqResolveRequest, DlqResolveResponse, DlqRetryAllRequest, DlqRetryAllResponse, DlqRetryRequest, DlqRetryResponse, DlqStatsRequest, DlqStatsResponse, ErrorEvent, ExtractFlowPluginRequirements, ExtractServicesFromLayers, FlowEventMessage, FlowRequirementsOf, FlowServerLayerConfig, FlowSuccess, FlowsFunction, GetCapabilitiesRequest, GetCapabilitiesResponse, GetFlowRequest, GetFlowResponse, GetJobStatusRequest, GetJobStatusResponse, GetUploadRequest, GetUploadResponse, HealthComponentsRequest, HealthComponentsResponse, HealthReadyRequest, HealthReadyResponse, HealthRequest, HealthResponse, InferFlowRequirements, InvalidPathEvent, KnownPluginLayer, LayerSuccessUnion, MethodNotAllowedRequest, MethodNotAllowedResponse, NoAuthCacheServiceLive, NoAuthContextServiceLive, NotFoundError, NotFoundRequest, NotFoundResponse, PauseFlowRequest, PauseFlowResponse, PingEvent, PluginAssertion, PluginServices, PluginTuple, PluginValidationResult, RequiredPluginsOf, ResumeFlowRequest, ResumeFlowResponse, RunFlowRequest, RunFlowResponse, RuntimePluginLayers, ServerAdapter, StandardRequest, StandardResponse, SubscribeFlowEvent, SubscribeUploadEvent, TypeSafeFlowFunction, TypeSafePluginConfig, TypeSafeServerConfig, UnsubscribeFlowEvent, UnsubscribeUploadEvent, UnsupportedContentTypeRequest, UnsupportedContentTypeResponse, UploadChunkRequest, UploadChunkResponse, UploadEventMessage, UploadServerLayerConfig, UploadistaRequest, UploadistaResponse, UploadistaRoute, UploadistaRouteType, UploadistaServer, UploadistaServerConfig, UploadistaStandardResponse, ValidatePlugins, ValidationError, type WebSocketConnection, type WebSocketConnectionRequest, WebSocketEvent, WebSocketEventType, WebSocketHandler, WebSocketIncomingEvent, WebSocketOutgoingEvent, createErrorResponseBody, createFlowServerLayer, createGenericErrorResponseBody, createTypeSafeServer, createUploadServerLayer, createUploadistaErrorResponseBody, createUploadistaServer, defineFlow, defineSimpleFlow, extractFlowAndStorageId, extractJobAndNodeId, extractJobIdFromStatus, extractServiceIdentifiers, formatPluginValidationError, getAuthCredentials, getLastSegment, getRouteSegments, handleFlowError, handleWebSocketClose, handleWebSocketError, handleWebSocketMessage, handleWebSocketOpen, hasBasePath, parseUrlSegments, validatePluginRequirements, validatePluginRequirementsEffect, validatePluginsOrThrow };
2066
2140
  //# sourceMappingURL=index.d.mts.map