@uploadista/server 0.0.18-beta.5 → 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 +83 -0
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +154 -7
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +154 -7
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/docs/HEALTH_CHECKS.md +256 -0
- package/package.json +6 -6
- package/src/core/health-check-service.ts +367 -0
- package/src/core/http-handlers/dlq-http-handlers.ts +177 -0
- package/src/core/http-handlers/health-http-handlers.ts +134 -0
- package/src/core/http-handlers/http-handlers.ts +50 -0
- package/src/core/routes.ts +171 -0
- package/src/core/server.ts +23 -7
- package/src/core/types.ts +51 -0
- package/tests/core/health-check-service.test.ts +570 -0
- package/tests/core/http-handlers/health-handlers.test.ts +351 -0
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=({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)}}),D=({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}}),O=({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}}),k=({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}}),A=({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}}),j=({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 M=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},N=class extends M{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},P=class extends M{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},F=class extends M{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const I=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),L=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},R=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()}),z=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 N(`Invalid input file schema`));if(l.data.checksumAlgorithm&&!(0,i.isSupportedAlgorithm)(l.data.checksumAlgorithm))return yield*t.Effect.fail(new N(`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}}),B=({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()}}}),V=({uploadId:e})=>t.Effect.gen(function*(){return{status:200,body:yield*(yield*c.UploadServer).getUpload(e)}}),ee=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}}),H=e=>t.Effect.gen(function*(){switch(e.type){case`create-upload`:return yield*z(e);case`get-capabilities`:return yield*B(e);case`get-upload`:return yield*V(e);case`upload-chunk`:return yield*ee(e);case`get-flow`:return yield*E(e);case`run-flow`:return yield*D(e);case`job-status`:return yield*O(e);case`resume-flow`:return yield*k(e);case`pause-flow`:return yield*A(e);case`cancel-flow`:return yield*j(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`}}}}),U=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})=>{let E=f??(0,o.webSocketEventEmitter)(p),D=h.endsWith(`/`)?h.slice(0,-1):h,O=t.Layer.effect(n.FlowProvider,t.Effect.succeed({getFlow:(t,n)=>e(t,n)}));if(!E)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let k=x({kvStore:l,eventEmitter:E,dataStore:await(0,r.createDataStoreLayer)(c),bufferedDataStore:y,generateId:g}),A=S({kvStore:l,eventEmitter:E,flowProvider:O,uploadServer:k}),j=d(C),M=v??s.NoOpMetricsServiceLive,N=T?n.kvCircuitBreakerStoreLayer.pipe(t.Layer.provide(l)):null,P=t.Layer.mergeAll(k,A,M,j,...u),F=N?t.Layer.merge(P,N):P,I=t.ManagedRuntime.make(F);return{handler:async e=>{let r=t.Effect.gen(function*(){let r=yield*b.extractRequest(e,{baseUrl:D}),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,j,M,...u,...o),c=N?t.Layer.merge(s,N):s;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 l=yield*H(r).pipe(t.Effect.provide(c));return yield*b.sendResponse(l,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?I.runPromise(r.pipe(t.Effect.provide(s.NodeSdkLive))):I.runPromise(r)},websocketHandler:await I.runPromise(b.webSocketHandler({baseUrl:D})),baseUrl:D,dispose:()=>I.dispose()}};async function W(e){return U(e)}function G(e){return e}function K(e){return e}const q={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 J(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 Y(e){return e.map(e=>J(e)).filter(e=>e!==null)}function X(e){let{plugins:t,expectedServices:n=[]}=e,r=Y(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=q[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function Z(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=>q[e]?.variableName||e)].join(`, `)}],`),t.push(` // ...`),t.push(` });`)}else t.push(`Note: Could not determine package names for missing plugins.`),t.push(`Please ensure all required plugin layers are provided.`);return t.join(`
|
|
2
|
-
`)}function
|
|
1
|
+
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, 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" | "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
|
};
|
|
@@ -90,8 +90,105 @@ type CancelFlowRequest = UploadistaRoute<"cancel-flow"> & {
|
|
|
90
90
|
jobId: string;
|
|
91
91
|
};
|
|
92
92
|
type CancelFlowResponse = UploadistaStandardResponse<"cancel-flow", FlowJob>;
|
|
93
|
-
type
|
|
94
|
-
|
|
93
|
+
type DlqListRequest = UploadistaRoute<"dlq-list"> & {
|
|
94
|
+
options?: DeadLetterListOptions;
|
|
95
|
+
};
|
|
96
|
+
type DlqListResponse = UploadistaStandardResponse<"dlq-list", {
|
|
97
|
+
items: DeadLetterItem[];
|
|
98
|
+
total: number;
|
|
99
|
+
}>;
|
|
100
|
+
type DlqGetRequest = UploadistaRoute<"dlq-get"> & {
|
|
101
|
+
itemId: string;
|
|
102
|
+
};
|
|
103
|
+
type DlqGetResponse = UploadistaStandardResponse<"dlq-get", DeadLetterItem>;
|
|
104
|
+
type DlqRetryRequest = UploadistaRoute<"dlq-retry"> & {
|
|
105
|
+
itemId: string;
|
|
106
|
+
};
|
|
107
|
+
type DlqRetryResponse = UploadistaStandardResponse<"dlq-retry", {
|
|
108
|
+
success: boolean;
|
|
109
|
+
newJobId?: string;
|
|
110
|
+
}>;
|
|
111
|
+
type DlqRetryAllRequest = UploadistaRoute<"dlq-retry-all"> & {
|
|
112
|
+
options?: {
|
|
113
|
+
status?: DeadLetterItemStatus;
|
|
114
|
+
flowId?: string;
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
type DlqRetryAllResponse = UploadistaStandardResponse<"dlq-retry-all", {
|
|
118
|
+
retried: number;
|
|
119
|
+
succeeded: number;
|
|
120
|
+
failed: number;
|
|
121
|
+
}>;
|
|
122
|
+
type DlqDeleteRequest = UploadistaRoute<"dlq-delete"> & {
|
|
123
|
+
itemId: string;
|
|
124
|
+
};
|
|
125
|
+
type DlqDeleteResponse = UploadistaStandardResponse<"dlq-delete", {
|
|
126
|
+
success: boolean;
|
|
127
|
+
}>;
|
|
128
|
+
type DlqResolveRequest = UploadistaRoute<"dlq-resolve"> & {
|
|
129
|
+
itemId: string;
|
|
130
|
+
};
|
|
131
|
+
type DlqResolveResponse = UploadistaStandardResponse<"dlq-resolve", DeadLetterItem>;
|
|
132
|
+
type DlqCleanupRequest = UploadistaRoute<"dlq-cleanup"> & {
|
|
133
|
+
options?: DeadLetterCleanupOptions;
|
|
134
|
+
};
|
|
135
|
+
type DlqCleanupResponse = UploadistaStandardResponse<"dlq-cleanup", DeadLetterCleanupResult>;
|
|
136
|
+
type DlqStatsRequest = UploadistaRoute<"dlq-stats">;
|
|
137
|
+
type DlqStatsResponse = UploadistaStandardResponse<"dlq-stats", DeadLetterQueueStats>;
|
|
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;
|
|
95
192
|
//#endregion
|
|
96
193
|
//#region src/types.d.ts
|
|
97
194
|
/**
|
|
@@ -843,6 +940,54 @@ interface UploadistaServerConfig<TRequest, TResponse, TWebSocket = unknown, TFlo
|
|
|
843
940
|
* ```
|
|
844
941
|
*/
|
|
845
942
|
circuitBreaker?: boolean;
|
|
943
|
+
/**
|
|
944
|
+
* Optional: Enable dead letter queue for failed flow jobs.
|
|
945
|
+
*
|
|
946
|
+
* When enabled, failed flow jobs are captured in a DLQ with full context
|
|
947
|
+
* for debugging and retry. The DLQ state is stored in the KV store,
|
|
948
|
+
* allowing it to be shared across multiple server instances.
|
|
949
|
+
*
|
|
950
|
+
* Set to `false` to disable the DLQ entirely.
|
|
951
|
+
*
|
|
952
|
+
* @default false
|
|
953
|
+
*
|
|
954
|
+
* @example
|
|
955
|
+
* ```typescript
|
|
956
|
+
* // Enable DLQ (uses the provided kvStore)
|
|
957
|
+
* const server = await createUploadistaServer({
|
|
958
|
+
* kvStore: redisKvStore,
|
|
959
|
+
* deadLetterQueue: true
|
|
960
|
+
* });
|
|
961
|
+
*
|
|
962
|
+
* // DLQ is disabled by default
|
|
963
|
+
* const server = await createUploadistaServer({
|
|
964
|
+
* kvStore: redisKvStore,
|
|
965
|
+
* // deadLetterQueue: false (default)
|
|
966
|
+
* });
|
|
967
|
+
* ```
|
|
968
|
+
*/
|
|
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;
|
|
846
991
|
}
|
|
847
992
|
/**
|
|
848
993
|
* Return type from createUploadistaServer.
|
|
@@ -1315,7 +1460,9 @@ declare const createUploadistaServer: <TContext, TResponse, TWebSocketHandler =
|
|
|
1315
1460
|
bufferedDataStore,
|
|
1316
1461
|
adapter,
|
|
1317
1462
|
authCacheConfig,
|
|
1318
|
-
circuitBreaker
|
|
1463
|
+
circuitBreaker,
|
|
1464
|
+
deadLetterQueue,
|
|
1465
|
+
healthCheck
|
|
1319
1466
|
}: UploadistaServerConfig<TContext, TResponse, TWebSocketHandler, TFlows, TPlugins>) => Promise<UploadistaServer<TContext, TResponse, TWebSocketHandler>>;
|
|
1320
1467
|
//#endregion
|
|
1321
1468
|
//#region src/core/websocket-routes.d.ts
|
|
@@ -1989,5 +2136,5 @@ declare const AuthContextServiceLive: (authContext: AuthContext | null) => Layer
|
|
|
1989
2136
|
*/
|
|
1990
2137
|
declare const NoAuthContextServiceLive: Layer.Layer<AuthContextService>;
|
|
1991
2138
|
//#endregion
|
|
1992
|
-
export { AdapterError, AuthCacheConfig, AuthCacheService, AuthCacheServiceLive, AuthContext, AuthContextService, AuthContextServiceLive, AuthCredentialsResponse, AuthFailedEvent, AuthResult, BadRequestError, BadRequestRequest, BadRequestResponse, CancelFlowRequest, CancelFlowResponse, ConnectionEvent, CreateUploadRequest, CreateUploadResponse, 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 };
|
|
1993
2140
|
//# sourceMappingURL=index.d.cts.map
|
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/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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"}
|