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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -2228,6 +2228,163 @@ declare const createFlowServerLayer: ({
2228
2228
  uploadServer
2229
2229
  }: FlowServerLayerConfig) => Layer.Layer<_uploadista_core0.FlowServer, never, never>;
2230
2230
  //#endregion
2231
+ //#region src/permissions/errors.d.ts
2232
+ /**
2233
+ * Authorization error - indicates the user lacks required permissions.
2234
+ * Returns HTTP 403 Forbidden status.
2235
+ *
2236
+ * @example
2237
+ * ```typescript
2238
+ * if (!hasPermission(permissions, "engine:metrics")) {
2239
+ * throw new AuthorizationError("engine:metrics");
2240
+ * }
2241
+ * ```
2242
+ */
2243
+ declare class AuthorizationError extends AdapterError {
2244
+ /**
2245
+ * The permission that was required but not granted.
2246
+ */
2247
+ readonly requiredPermission: string;
2248
+ constructor(requiredPermission: string, message?: string);
2249
+ }
2250
+ /**
2251
+ * Authentication required error - indicates no authentication context.
2252
+ * Returns HTTP 401 Unauthorized status.
2253
+ *
2254
+ * @example
2255
+ * ```typescript
2256
+ * if (!authContext) {
2257
+ * throw new AuthenticationRequiredError();
2258
+ * }
2259
+ * ```
2260
+ */
2261
+ declare class AuthenticationRequiredError extends AdapterError {
2262
+ constructor(message?: string);
2263
+ }
2264
+ /**
2265
+ * Organization mismatch error - indicates accessing a resource from another organization.
2266
+ * Returns HTTP 403 Forbidden status.
2267
+ *
2268
+ * @example
2269
+ * ```typescript
2270
+ * if (resource.organizationId !== clientId) {
2271
+ * throw new OrganizationMismatchError();
2272
+ * }
2273
+ * ```
2274
+ */
2275
+ declare class OrganizationMismatchError extends AdapterError {
2276
+ constructor(message?: string);
2277
+ }
2278
+ /**
2279
+ * Quota exceeded error - indicates usage quota has been exceeded.
2280
+ * Returns HTTP 402 Payment Required status.
2281
+ *
2282
+ * @example
2283
+ * ```typescript
2284
+ * if (usage > quota) {
2285
+ * throw new QuotaExceededError("Storage quota exceeded");
2286
+ * }
2287
+ * ```
2288
+ */
2289
+ declare class QuotaExceededError extends AdapterError {
2290
+ constructor(message?: string, code?: string);
2291
+ }
2292
+ /**
2293
+ * Creates a standardized error response body for AuthorizationError.
2294
+ * Includes the required permission in the response.
2295
+ *
2296
+ * @param error - The AuthorizationError to format
2297
+ * @returns Standardized error response body
2298
+ */
2299
+ declare const createAuthorizationErrorResponseBody: (error: AuthorizationError) => {
2300
+ error: string;
2301
+ code: string;
2302
+ requiredPermission: string;
2303
+ timestamp: string;
2304
+ };
2305
+ //#endregion
2306
+ //#region src/permissions/matcher.d.ts
2307
+ /**
2308
+ * Permission Matching Logic
2309
+ *
2310
+ * Implements permission matching with support for:
2311
+ * - Exact match: `engine:health` matches `engine:health`
2312
+ * - Wildcard match: `engine:*` matches `engine:health`, `engine:metrics`, etc.
2313
+ * - Hierarchical match: `engine:dlq` implies `engine:dlq:read` and `engine:dlq:write`
2314
+ */
2315
+ /**
2316
+ * Checks if a granted permission matches a required permission.
2317
+ *
2318
+ * @param granted - The permission that has been granted to the user
2319
+ * @param required - The permission that is required for the operation
2320
+ * @returns true if the granted permission satisfies the required permission
2321
+ *
2322
+ * @example
2323
+ * ```typescript
2324
+ * matchesPermission("engine:*", "engine:health") // true (wildcard)
2325
+ * matchesPermission("engine:health", "engine:health") // true (exact)
2326
+ * matchesPermission("engine:dlq", "engine:dlq:read") // true (hierarchical)
2327
+ * matchesPermission("flow:execute", "engine:health") // false
2328
+ * ```
2329
+ */
2330
+ declare const matchesPermission: (granted: string, required: string) => boolean;
2331
+ /**
2332
+ * Checks if any of the granted permissions satisfy the required permission.
2333
+ *
2334
+ * @param grantedPermissions - Array of permissions granted to the user
2335
+ * @param required - The permission that is required for the operation
2336
+ * @returns true if any granted permission satisfies the required permission
2337
+ *
2338
+ * @example
2339
+ * ```typescript
2340
+ * hasPermission(["flow:*", "upload:create"], "flow:execute") // true
2341
+ * hasPermission(["upload:create"], "flow:execute") // false
2342
+ * ```
2343
+ */
2344
+ declare const hasPermission: (grantedPermissions: readonly string[], required: string) => boolean;
2345
+ /**
2346
+ * Checks if any of the granted permissions satisfy any of the required permissions.
2347
+ *
2348
+ * @param grantedPermissions - Array of permissions granted to the user
2349
+ * @param requiredPermissions - Array of permissions, any of which would be sufficient
2350
+ * @returns true if any granted permission satisfies any required permission
2351
+ *
2352
+ * @example
2353
+ * ```typescript
2354
+ * hasAnyPermission(["upload:create"], ["flow:execute", "upload:create"]) // true
2355
+ * hasAnyPermission(["upload:read"], ["flow:execute", "upload:create"]) // false
2356
+ * ```
2357
+ */
2358
+ declare const hasAnyPermission: (grantedPermissions: readonly string[], requiredPermissions: readonly string[]) => boolean;
2359
+ /**
2360
+ * Checks if all of the required permissions are satisfied.
2361
+ *
2362
+ * @param grantedPermissions - Array of permissions granted to the user
2363
+ * @param requiredPermissions - Array of permissions, all of which must be satisfied
2364
+ * @returns true if all required permissions are satisfied
2365
+ *
2366
+ * @example
2367
+ * ```typescript
2368
+ * hasAllPermissions(["flow:*", "upload:*"], ["flow:execute", "upload:create"]) // true
2369
+ * hasAllPermissions(["flow:execute"], ["flow:execute", "upload:create"]) // false
2370
+ * ```
2371
+ */
2372
+ declare const hasAllPermissions: (grantedPermissions: readonly string[], requiredPermissions: readonly string[]) => boolean;
2373
+ /**
2374
+ * Expands a permission to include all implied permissions.
2375
+ * Useful for display or audit purposes.
2376
+ *
2377
+ * @param permission - The permission to expand
2378
+ * @returns Array of the permission and all implied permissions
2379
+ *
2380
+ * @example
2381
+ * ```typescript
2382
+ * expandPermission("engine:dlq") // ["engine:dlq", "engine:dlq:read", "engine:dlq:write"]
2383
+ * expandPermission("engine:health") // ["engine:health"]
2384
+ * ```
2385
+ */
2386
+ declare const expandPermission: (permission: string) => string[];
2387
+ //#endregion
2231
2388
  //#region src/permissions/types.d.ts
2232
2389
  /**
2233
2390
  * Permission Types and Constants
@@ -2360,163 +2517,6 @@ declare const PERMISSION_SETS: {
2360
2517
  */
2361
2518
  declare const PERMISSION_HIERARCHY: Record<string, readonly string[]>;
2362
2519
  //#endregion
2363
- //#region src/permissions/matcher.d.ts
2364
- /**
2365
- * Permission Matching Logic
2366
- *
2367
- * Implements permission matching with support for:
2368
- * - Exact match: `engine:health` matches `engine:health`
2369
- * - Wildcard match: `engine:*` matches `engine:health`, `engine:metrics`, etc.
2370
- * - Hierarchical match: `engine:dlq` implies `engine:dlq:read` and `engine:dlq:write`
2371
- */
2372
- /**
2373
- * Checks if a granted permission matches a required permission.
2374
- *
2375
- * @param granted - The permission that has been granted to the user
2376
- * @param required - The permission that is required for the operation
2377
- * @returns true if the granted permission satisfies the required permission
2378
- *
2379
- * @example
2380
- * ```typescript
2381
- * matchesPermission("engine:*", "engine:health") // true (wildcard)
2382
- * matchesPermission("engine:health", "engine:health") // true (exact)
2383
- * matchesPermission("engine:dlq", "engine:dlq:read") // true (hierarchical)
2384
- * matchesPermission("flow:execute", "engine:health") // false
2385
- * ```
2386
- */
2387
- declare const matchesPermission: (granted: string, required: string) => boolean;
2388
- /**
2389
- * Checks if any of the granted permissions satisfy the required permission.
2390
- *
2391
- * @param grantedPermissions - Array of permissions granted to the user
2392
- * @param required - The permission that is required for the operation
2393
- * @returns true if any granted permission satisfies the required permission
2394
- *
2395
- * @example
2396
- * ```typescript
2397
- * hasPermission(["flow:*", "upload:create"], "flow:execute") // true
2398
- * hasPermission(["upload:create"], "flow:execute") // false
2399
- * ```
2400
- */
2401
- declare const hasPermission: (grantedPermissions: readonly string[], required: string) => boolean;
2402
- /**
2403
- * Checks if any of the granted permissions satisfy any of the required permissions.
2404
- *
2405
- * @param grantedPermissions - Array of permissions granted to the user
2406
- * @param requiredPermissions - Array of permissions, any of which would be sufficient
2407
- * @returns true if any granted permission satisfies any required permission
2408
- *
2409
- * @example
2410
- * ```typescript
2411
- * hasAnyPermission(["upload:create"], ["flow:execute", "upload:create"]) // true
2412
- * hasAnyPermission(["upload:read"], ["flow:execute", "upload:create"]) // false
2413
- * ```
2414
- */
2415
- declare const hasAnyPermission: (grantedPermissions: readonly string[], requiredPermissions: readonly string[]) => boolean;
2416
- /**
2417
- * Checks if all of the required permissions are satisfied.
2418
- *
2419
- * @param grantedPermissions - Array of permissions granted to the user
2420
- * @param requiredPermissions - Array of permissions, all of which must be satisfied
2421
- * @returns true if all required permissions are satisfied
2422
- *
2423
- * @example
2424
- * ```typescript
2425
- * hasAllPermissions(["flow:*", "upload:*"], ["flow:execute", "upload:create"]) // true
2426
- * hasAllPermissions(["flow:execute"], ["flow:execute", "upload:create"]) // false
2427
- * ```
2428
- */
2429
- declare const hasAllPermissions: (grantedPermissions: readonly string[], requiredPermissions: readonly string[]) => boolean;
2430
- /**
2431
- * Expands a permission to include all implied permissions.
2432
- * Useful for display or audit purposes.
2433
- *
2434
- * @param permission - The permission to expand
2435
- * @returns Array of the permission and all implied permissions
2436
- *
2437
- * @example
2438
- * ```typescript
2439
- * expandPermission("engine:dlq") // ["engine:dlq", "engine:dlq:read", "engine:dlq:write"]
2440
- * expandPermission("engine:health") // ["engine:health"]
2441
- * ```
2442
- */
2443
- declare const expandPermission: (permission: string) => string[];
2444
- //#endregion
2445
- //#region src/permissions/errors.d.ts
2446
- /**
2447
- * Authorization error - indicates the user lacks required permissions.
2448
- * Returns HTTP 403 Forbidden status.
2449
- *
2450
- * @example
2451
- * ```typescript
2452
- * if (!hasPermission(permissions, "engine:metrics")) {
2453
- * throw new AuthorizationError("engine:metrics");
2454
- * }
2455
- * ```
2456
- */
2457
- declare class AuthorizationError extends AdapterError {
2458
- /**
2459
- * The permission that was required but not granted.
2460
- */
2461
- readonly requiredPermission: string;
2462
- constructor(requiredPermission: string, message?: string);
2463
- }
2464
- /**
2465
- * Authentication required error - indicates no authentication context.
2466
- * Returns HTTP 401 Unauthorized status.
2467
- *
2468
- * @example
2469
- * ```typescript
2470
- * if (!authContext) {
2471
- * throw new AuthenticationRequiredError();
2472
- * }
2473
- * ```
2474
- */
2475
- declare class AuthenticationRequiredError extends AdapterError {
2476
- constructor(message?: string);
2477
- }
2478
- /**
2479
- * Organization mismatch error - indicates accessing a resource from another organization.
2480
- * Returns HTTP 403 Forbidden status.
2481
- *
2482
- * @example
2483
- * ```typescript
2484
- * if (resource.organizationId !== clientId) {
2485
- * throw new OrganizationMismatchError();
2486
- * }
2487
- * ```
2488
- */
2489
- declare class OrganizationMismatchError extends AdapterError {
2490
- constructor(message?: string);
2491
- }
2492
- /**
2493
- * Quota exceeded error - indicates usage quota has been exceeded.
2494
- * Returns HTTP 402 Payment Required status.
2495
- *
2496
- * @example
2497
- * ```typescript
2498
- * if (usage > quota) {
2499
- * throw new QuotaExceededError("Storage quota exceeded");
2500
- * }
2501
- * ```
2502
- */
2503
- declare class QuotaExceededError extends AdapterError {
2504
- constructor(message?: string, code?: string);
2505
- }
2506
- /**
2507
- * Creates a standardized error response body for AuthorizationError.
2508
- * Includes the required permission in the response.
2509
- *
2510
- * @param error - The AuthorizationError to format
2511
- * @returns Standardized error response body
2512
- */
2513
- declare const createAuthorizationErrorResponseBody: (error: AuthorizationError) => {
2514
- error: string;
2515
- code: string;
2516
- requiredPermission: string;
2517
- timestamp: string;
2518
- };
2519
- //#endregion
2520
2520
  //#region src/plugins-typing.d.ts
2521
2521
  /**
2522
2522
  * @deprecated Use `ExtractLayerServices` from `@uploadista/core/flow/types` instead.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/usage-hooks/types.ts","../src/core/types.ts","../src/core/create-type-safe-server.ts","../src/core/plugin-validation.ts","../src/core/server.ts","../src/core/websocket-routes.ts","../src/core/websocket-handlers/websocket-handlers.ts","../src/error-types.ts","../src/http-utils.ts","../src/layer-utils.ts","../src/permissions/types.ts","../src/permissions/matcher.ts","../src/permissions/errors.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"sourcesContent":[],"mappings":"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;ACjBiB,KFyOL,aAAA,GAAgB,eE3NjB,CAAA,QAAM,CAAA,GF2NuC,sBE3NvC;AAuBjB;AAgCA;AAuDA;;AAgBM,KFmGM,cAAA,GAAiB,eEnGvB,CAAA,QAAA,CAAA,GAAA;EACa,MAAA,EAAA,GAAA;EAAd,OAAO,EAAA;IAYE,cAAA,EAAA,kBAAA,GAAA,YAAA;EACD,CAAA;EACM,IAAA,EFuFX,gBEvFW,GAAA,MAAA;CAAd;;;;AA8Be,KF+DR,kBAAA,GAAqB,eE/Db,CAAA,cAAA,CAAA,GFgElB,sBEhEkB;;;;;AAoBF,KFkDN,mBAAA,GAAsB,eElDhB,CAAA,cAAA,CAAA,GAAA;EAAO,MAAA,EAAA,GAAA,GAAA,GAAA;;;;EC7Nb,IAAA,EHkRJ,gBGlRmB,GAAA,MAAA;AAczB,CAAA;;;;AAqDiD,KHqNvC,uBAAA,GAA0B,eGrNa,CAAA,mBAAA,CAAA,GHsNjD,sBGtNiD;;;;;KH4NvC,wBAAA,GAA2B;;EG3O1B,OAAA,EAAA;IAwCA,cAAA,EAAA,kBA2FZ,GAAA,YAAA;EA1FS,CAAA;EACK,IAAA,EHoMP,gBGpMO,GAAA,MAAA;CAAZ;AAAW,KHuMF,iBAAA,GACR,mBGxMU,GHyMV,sBGzMU,GH0MV,gBG1MU,GH2MV,kBG3MU,GH4MV,cG5MU,GH6MV,cG7MU,GH8MV,mBG9MU,GH+MV,iBG/MU,GHgNV,gBGhNU,GHiNV,iBGjNU,GHmNV,cGnNU,GHoNV,aGpNU,GHqNV,eGrNU,GHsNV,kBGtNU,GHuNV,gBGvNU,GHwNV,iBGxNU,GHyNV,iBGzNU,GH0NV,eG1NU,GH4NV,aG5NU,GH6NV,kBG7NU,GH8NV,uBG9NU,GHgOV,eGhOU,GHiOV,iBGjOU,GHkOV,uBGlOU,GHmOV,6BGnOU;AAgGD,KHqID,kBAAA,GACR,oBGtI6C,GHuI7C,uBGvI4C,GHwI5C,iBGxI4C,GHyI5C,mBGzI4C,GH0I5C,eG1I4C,GH2I5C,eG3I4C,GH4I5C,oBG5I4C,GH6I5C,kBG7I4C,GH8I5C,iBG9I4C,GH+I5C,kBG/I4C,GHiJ5C,eGjJ4C,GHkJ5C,cGlJ4C,GHmJ5C,gBGnJ4C,GHoJ5C,mBGpJ4C,GHqJ5C,iBGrJ4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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/usage-hooks/types.ts","../src/core/types.ts","../src/core/create-type-safe-server.ts","../src/core/plugin-validation.ts","../src/core/server.ts","../src/core/websocket-routes.ts","../src/core/websocket-handlers/websocket-handlers.ts","../src/error-types.ts","../src/http-utils.ts","../src/layer-utils.ts","../src/permissions/errors.ts","../src/permissions/matcher.ts","../src/permissions/types.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;KAeY,mBAAA;KA8BA,0BAA0B;QAC9B;;KAGI,qCACA,kEAGR,gBAAgB;UACV;;;;QAEF;;AAzCI,KA4CA,eAAA,GAAkB,eA5CC,CAAA,WAAA,CAAA;AA8BnB,KAgBA,gBAAA,GAAmB,0BAfvB,CAAC,WAAA,EAAA;EAGG,KAAA,EAAA,WAAA;CACA,EAAA,GAAA,CAAA;AAGQ,KAcR,uBAAA,GAA0B,eAdlB,CAAA,oBAAA,CAAA;AAAhB,KAgBQ,wBAAA,GAA2B,0BAhBnC,CAAA,oBAAA,EAAA;EACM,KAAA,EAAA,oBAAA;CAEF,EAAA,GAAA,CAAA;AAAY,KAmBR,iBAAA,GAAoB,eAnBZ,CAAA,aAAA,CAAA,GAAA;EAGR,OAAA,EAAA,MAAA;AAEZ,CAAA;AAMY,KAYA,kBAAA,GAAqB,0BAZoB,CAAA,aAAA,EAAA;EAEzC,KAAA,EAAA,aAAA;EAMA,OAAA,EAAA,MAAA;AAIZ,CAAA,EAAA,GAAY,CAAA;AAMA,KAAA,6BAAA,GACV,eAAA,CAAA,0BAAe,CAAA;AAEL,KAAA,8BAAA,GAAiC,0BAAA,CAAA,0BAA0B,EAAA;EAK3D,KAAA,EAAA,0BAAmB;AAG/B,CAAA,EAAA,GAAY,CAAA;AAIA,KAPA,mBAAA,GAAsB,eAOG,CAAA,eAAe,CAAA,GAAA;EAGxC,IAAA,EAAA,OAAA;AASZ,CAAA;AAIY,KApBA,oBAAA,GAAuB,0BAoBH,CAAA,eAA0B,EAlBxD,UAkBwD,CAAA;AAK9C,KArBA,sBAAA,GAAyB,eAqBJ,CAAA,kBAEX,CAAA,GAAA;EAGV,SAAA,EAAA,MAAA;AAKZ,CAAA;AAGY,KA/BA,uBAAA,GAA0B,0BA+BR,CAAA,kBAA0B,EAAA;EAE5C,SAAA,EAAA,MAAc;EAKd,YAAA,EAlCM,qBAkCmD;EAEzD,SAAA,EAAA,MAAA;AAGZ,CAAA,CAAA;AAKY,KAvCA,gBAAA,GAAmB,eAuCC,CAAA,YAAe,CAAA,GAAA;EAKnC,QAAA,EAAA,MAAA;AAKZ,CAAA;AAGY,KAhDA,iBAAA,GAAoB,0BAgDA,CAAA,YAAA,EA9C9B,UA8CwD,CAAA;AAK9C,KAhDA,kBAAA,GAAqB,eAgDD,CAAA,cAAe,CAAA,GAAA;EAGnC,QAAA,EAAA,MAAA;EASA,IAAA,EA1DJ,cA0DkB;AAG1B,CAAA;AAKY,KA/DA,mBAAA,GAAsB,0BA+DS,CAAA,cAAA,EA7DzC,UA6DyC,CAAA;AAG/B,KA7DA,cAAA,GAAiB,eA+D3B,CAAA,UAF2B,CAAA,GAAA;EAKjB,MAAA,EAAA,MAAA;AAGZ,CAAA;AAKY,KAvEA,eAAA,GAAkB,0BAwEP,CAAA,UAAA,EAxE8C,QAwE1B,CAAA;AAE/B,KAxEA,cAAA,GAAiB,eAwEK,CAAA,UAAA,CAAA,GAAA;EAKtB,MAAA,EAAA,MAAA;EAGA,SAAA,EAAA,MAAA;EAKA,MAAA,EAlFF,MAkFE,CAAA,MAAiB,EAAA,OAAA,CAAA;AAG7B,CAAA;AAKY,KAxFA,eAAA,GAAkB,0BAyFlB,CAAA,UAAA,EAzFyD,OAyFzD,CAAA;AAEA,KAzFA,mBAAA,GAAsB,eA2FhC,CAAA,YAAA,CAF+B,GAAA;EAKrB,KAAA,EAAA,MAAA;AACZ,CAAA;AAYK,KAxGO,oBAAA,GAAuB,0BAwGR,CAAA,YAAA,EAtGzB,OAsGyB,CAAA;AAQf,KA3GA,iBAAA,GAAoB,eA2GJ,CAAA,aAA4B,CAAA,GAAA;EAM5C,KAAA,EAAA,MAAA;EASA,MAAA,EAAA,MAAA;EAOA,OAAA,EAAA,OAAA;AASZ,CAAA;AAOY,KA5IA,kBAAA,GAAqB,0BA4IM,CAAA,aAG/B,EA7IN,OA6IwB,CAAA;AAGd,KA7IA,gBAAA,GAAmB,eA6IF,CAAA,YAAA,CAAA,GAAA;EACzB,KAAA,EAAA,MAAA;CACA;AACA,KA7IQ,iBAAA,GAAoB,0BA6I5B,CAAA,YAAA,EA3IF,OA2IE,CAAA;AACA,KAzIQ,iBAAA,GAAoB,eAyI5B,CAAA,aAAA,CAAA,GAAA;EACA,KAAA,EAAA,MAAA;CACA;AACA,KAzIQ,kBAAA,GAAqB,0BAyI7B,CAAA,aAAA,EAvIF,OAuIE,CAAA;AACA,KAjIQ,cAAA,GAAiB,eAiIzB,CAAA,UAAA,CAAA,GAAA;EACA,OAAA,CAAA,EAjIQ,qBAiIR;CACA;AAEA,KAlIQ,eAAA,GAAkB,0BAkI1B,CAAA,UAAA,EAAA;EACA,KAAA,EAjIO,cAiIP,EAAA;EACA,KAAA,EAAA,MAAA;CACA,CAAA;AACA,KAjIQ,aAAA,GAAgB,eAiIxB,CAAA,SAAA,CAAA,GAAA;EACA,MAAA,EAAA,MAAA;CACA;AACA,KAjIQ,cAAA,GAAiB,0BAiIzB,CAAA,SAAA,EA/HF,cA+HE,CAAA;AAEA,KA9HQ,eAAA,GAAkB,eA8H1B,CAAA,WAAA,CAAA,GAAA;EACA,MAAA,EAAA,MAAA;CACA;AAEA,KA/HQ,gBAAA,GAAmB,0BA+H3B,CAAA,WAAA,EAAA;EACA,OAAA,EAAA,OAAA;EACA,QAAA,CAAA,EAAA,MAAA;CACA,CAAA;AAA6B,KA7HrB,kBAAA,GAAqB,eA6HA,CAAA,eAAA,CAAA,GAAA;EAErB,OAAA,CAAA,EAAA;IACR,MAAA,CAAA,EA/HmB,oBA+HnB;IACA,MAAA,CAAA,EAAA,MAAA;EACA,CAAA;CACA;AACA,KAjIQ,mBAAA,GAAsB,0BAiI9B,CAAA,eAAA,EAAA;EACA,OAAA,EAAA,MAAA;EACA,SAAA,EAAA,MAAA;EACA,MAAA,EAAA,MAAA;CACA,CAAA;AACA,KAjIQ,gBAAA,GAAmB,eAiI3B,CAAA,YAAA,CAAA,GAAA;EAEA,MAAA,EAAA,MAAA;CACA;AACA,KAlIQ,iBAAA,GAAoB,0BAkI5B,CAAA,YAAA,EAAA;EACA,OAAA,EAAA,OAAA;CACA,CAAA;AACA,KAhIQ,iBAAA,GAAoB,eAgI5B,CAAA,aAAA,CAAA,GAAA;EACA,MAAA,EAAA,MAAA;CACA;AAEA,KAjIQ,kBAAA,GAAqB,0BAiI7B,CAAA,aAAA,EA/HF,cA+HE,CAAA;AACA,KA7HQ,iBAAA,GAAoB,eA6H5B,CAAA,aAAA,CAAA,GAAA;EACA,OAAA,CAAA,EA7HQ,wBA6HR;CAEA;AACA,KA9HQ,kBAAA,GAAqB,0BA8H7B,CAAA,aAAA,EA5HF,uBA4HE,CAAA;AACA,KA1HQ,eAAA,GAAkB,eA0H1B,CAAA,WAAA,CAAA;AACA,KA1HQ,gBAAA,GAAmB,0BA0H3B,CAAA,WAAA,EAxHF,oBAwHE,CAAA;;;;KA9GC,sBAAA;;ECrPO,YAAA,CAAA,EAAW,MAAA,GAAA,IAoBV;AAcb,CAAA;;;;ACjBiB,KF4OL,aAAA,GAAgB,eE9NjB,CAAA,QAAM,CAAA,GF8NuC,sBE9NvC;AAuBjB;AAgCA;AAuDA;;AAgBM,KFsGM,cAAA,GAAiB,eEtGvB,CAAA,QAAA,CAAA,GAAA;EACa,MAAA,EAAA,GAAA;EAAd,OAAO,EAAA;IAYE,cAAA,EAAA,kBAAA,GAAA,YAAA;EACD,CAAA;EACM,IAAA,EF0FX,gBE1FW,GAAA,MAAA;CAAd;;;;AA8Be,KFkER,kBAAA,GAAqB,eElEb,CAAA,cAAA,CAAA,GFmElB,sBEnEkB;;;;;AAoBF,KFqDN,mBAAA,GAAsB,eErDhB,CAAA,cAAA,CAAA,GAAA;EAAO,MAAA,EAAA,GAAA,GAAA,GAAA;;;;EC7Nb,IAAA,EHqRJ,gBGrRmB,GAAA,MAAA;AAczB,CAAA;;;;AAqDiD,KHwNvC,uBAAA,GAA0B,eGxNa,CAAA,mBAAA,CAAA,GHyNjD,sBGzNiD;;;;;KH+NvC,wBAAA,GAA2B;;EG9O1B,OAAA,EAAA;IAwCA,cAAA,EAAA,kBA2FZ,GAAA,YAAA;EA1FS,CAAA;EACK,IAAA,EHuMP,gBGvMO,GAAA,MAAA;CAAZ;AAAW,KH0MF,iBAAA,GACR,mBG3MU,GH4MV,sBG5MU,GH6MV,gBG7MU,GH8MV,kBG9MU,GH+MV,cG/MU,GHgNV,cGhNU,GHiNV,mBGjNU,GHkNV,iBGlNU,GHmNV,gBGnNU,GHoNV,iBGpNU,GHsNV,cGtNU,GHuNV,aGvNU,GHwNV,eGxNU,GHyNV,kBGzNU,GH0NV,gBG1NU,GH2NV,iBG3NU,GH4NV,iBG5NU,GH6NV,eG7NU,GH+NV,aG/NU,GHgOV,kBGhOU,GHiOV,uBGjOU,GHmOV,eGnOU,GHoOV,iBGpOU,GHqOV,uBGrOU,GHsOV,6BGtOU;AAgGD,KHwID,kBAAA,GACR,oBGzI6C,GH0I7C,uBG1I4C,GH2I5C,iBG3I4C,GH4I5C,mBG5I4C,GH6I5C,eG7I4C,GH8I5C,eG9I4C,GH+I5C,oBG/I4C,GHgJ5C,kBGhJ4C,GHiJ5C,iBGjJ4C,GHkJ5C,kBGlJ4C,GHoJ5C,eGpJ4C,GHqJ5C,cGrJ4C,GHsJ5C,gBGtJ4C,GHuJ5C,mBGvJ4C,GHwJ5C,iBGxJ4C,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"}
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import{t as e}from"./auth-DG0enyjj.mjs";import{Context as t,Effect as n,Layer as r,ManagedRuntime as i,Option as a}from"effect";import{DeadLetterQueueService as o,FlowProvider as s,FlowServer as c,FlowWaitUntil as l,deadLetterQueueService as u,flowServer as d,kvCircuitBreakerStoreLayer as f}from"@uploadista/core/flow";import{CircuitBreakerStoreService as p,DEFAULT_HEALTH_CHECK_CONFIG as m,createDataStoreLayer as ee,deadLetterQueueKvStore as te,flowEventEmitter as h,flowJobKvStore as g,formatHealthAsText as _,getHealthResponseFormat as v,inputFileSchema as y,uploadEventEmitter as ne,uploadFileKvStore as re}from"@uploadista/core/types";import{GenerateIdLive as ie,isSupportedAlgorithm as b}from"@uploadista/core/utils";import{memoryEventBroadcaster as ae}from"@uploadista/event-broadcaster-memory";import{webSocketEventEmitter as oe}from"@uploadista/event-emitter-websocket";import{MetricsService as se,NoOpMetricsServiceLive as ce,NodeSdkLive as le}from"@uploadista/observability";import{UploadServer as x,uploadServer as S}from"@uploadista/core/upload";import{UploadistaError as C}from"@uploadista/core/errors";var w=class extends t.Tag(`AuthCacheService`)(){};const T=(e={})=>{let t=e.maxSize??1e4,i=e.ttl??36e5,a=new Map,o=()=>{let e=Date.now();for(let[t,n]of a.entries())e-n.timestamp>i&&a.delete(t)},s=()=>{if(a.size<=t)return;let e=null,n=1/0;for(let[t,r]of a.entries())r.timestamp<n&&(n=r.timestamp,e=t);e&&a.delete(e)};return r.succeed(w,{set:(e,t)=>n.sync(()=>{a.size%100==0&&o(),a.set(e,{authContext:t,timestamp:Date.now()}),s()}),get:e=>n.sync(()=>{let t=a.get(e);return t?Date.now()-t.timestamp>i?(a.delete(e),null):t.authContext:null}),delete:e=>n.sync(()=>{a.delete(e)}),clear:()=>n.sync(()=>{a.clear()}),size:()=>n.sync(()=>a.size)})},E=r.succeed(w,{set:()=>n.void,get:()=>n.succeed(null),delete:()=>n.void,clear:()=>n.void,size:()=>n.succeed(0)}),D=e=>e.split(`/`).filter(Boolean),O=e=>{let t=D(e);return t[t.length-1]},k=(e,t)=>e.includes(`${t}/api/`),A=(e,t)=>e.replace(`${t}/api/`,``).split(`/`).filter(Boolean),j=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},M=e=>e[e.length-2],N=e=>({jobId:e[e.length-3],nodeId:e[e.length-1]}),ue=e=>({storageId:e.pop(),flowId:e.pop()}),de=({kvStore:e,eventEmitter:t,dataStore:n,bufferedDataStore:i,generateId:a})=>{let o=r.provide(re,e),s=r.provide(n,o),c=i?r.provide(i,o):r.empty,l=r.provide(ne,t),u=r.mergeAll(s,o,l,...a?[a]:[],c);return r.provide(S,u)},fe=({kvStore:e,eventEmitter:t,flowProvider:n,uploadServer:i})=>{let a=r.provide(g,e),o=r.provide(h,t),s=r.mergeAll(n,o,a,i);return r.provide(d,s)},P={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},F={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},I={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},L={ENGINE:P,FLOW:F,UPLOAD:I},pe={ADMIN:[P.ALL],ORGANIZATION_OWNER:[F.ALL,I.ALL],ORGANIZATION_MEMBER:[F.ALL,I.ALL],API_KEY:[F.EXECUTE,I.CREATE]},R={[P.DLQ]:[P.DLQ_READ,P.DLQ_WRITE]},me=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!R[e]?.includes(t)},z=(e,t)=>e.some(e=>me(e,t)),he=(e,t)=>t.some(t=>z(e,t)),ge=(e,t)=>t.every(t=>z(e,t)),_e=e=>{let t=[e],n=R[e];return n&&t.push(...n),t};var B=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},V=class extends B{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},ve=class extends B{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},ye=class extends B{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const be=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),xe=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},Se=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var Ce=class extends B{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},H=class extends B{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},we=class extends B{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},U=class extends B{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const Te=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()});var W=class extends t.Tag(`AuthContextService`)(){};const G=(e,t)=>{let i=e?.permissions??[],a=t?.bypassAuth??!1;return r.succeed(W,{getClientId:()=>n.succeed(e?.clientId??null),getMetadata:()=>n.succeed(e?.metadata??{}),hasPermission:e=>a?n.succeed(!0):n.succeed(z(i,e)),hasAnyPermission:e=>a?n.succeed(!0):n.succeed(he(i,e)),requirePermission:t=>n.gen(function*(){if(a){yield*n.logDebug(`[Auth] Bypass mode: permission '${t}' auto-granted`);return}if(!e)return yield*n.logDebug(`[Auth] Permission check failed: authentication required for '${t}'`),yield*n.fail(new H);if(!z(i,t))return yield*n.logDebug(`[Auth] Permission denied: '${t}' for client '${e.clientId}'`),yield*n.fail(new Ce(t));yield*n.logDebug(`[Auth] Permission granted: '${t}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?n.succeed(e):n.fail(new H),getPermissions:()=>n.succeed(i),getAuthContext:()=>n.succeed(e)})},Ee=G(null),K=()=>({action:`continue`}),De=(e,t)=>({action:`abort`,reason:e,code:t}),Oe=5e3;var q=class extends t.Tag(`UsageHookService`)(){};const J=e=>{let t=e?.hooks,i=e?.timeout??Oe;return r.succeed(q,{onUploadStart:e=>t?.onUploadStart?t.onUploadStart(e).pipe(n.timeout(i),n.map(e=>e??K()),n.catchAll(e=>n.gen(function*(){return yield*n.logWarning(`onUploadStart hook failed: ${e}. Proceeding with upload.`),K()}))):n.succeed(K()),onUploadComplete:e=>t?.onUploadComplete?t.onUploadComplete(e).pipe(n.timeout(i),n.asVoid,n.catchAll(e=>n.logWarning(`onUploadComplete hook failed: ${e}. Upload already completed.`))):n.void,onFlowStart:e=>t?.onFlowStart?t.onFlowStart(e).pipe(n.timeout(i),n.map(e=>e??K()),n.catchAll(e=>n.gen(function*(){return yield*n.logWarning(`onFlowStart hook failed: ${e}. Proceeding with flow.`),K()}))):n.succeed(K()),onFlowComplete:e=>t?.onFlowComplete?t.onFlowComplete(e).pipe(n.timeout(i),n.asVoid,n.catchAll(e=>n.logWarning(`onFlowComplete hook failed: ${e}. Flow already completed.`))):n.void})},ke=J(),Ae=e=>n.gen(function*(){yield*(yield*W).requirePermission(L.ENGINE.DLQ_READ);let t=yield*(yield*o).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),je=e=>n.gen(function*(){yield*(yield*W).requirePermission(L.ENGINE.DLQ_READ);let t=yield*(yield*o).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Me=e=>n.gen(function*(){return yield*(yield*W).requirePermission(L.ENGINE.DLQ_WRITE),yield*(yield*o).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),Ne=e=>n.gen(function*(){yield*(yield*W).requirePermission(L.ENGINE.DLQ_WRITE);let t=yield*o,{items:r}=yield*t.list({status:e.options?.status,flowId:e.options?.flowId}),i=0,a=0;for(let e of r)(yield*n.either(t.markRetrying(e.id)))._tag===`Right`?i++:a++;return{type:`dlq-retry-all`,status:200,headers:{"Content-Type":`application/json`},body:{retried:r.length,succeeded:i,failed:a}}}),Pe=e=>n.gen(function*(){return yield*(yield*W).requirePermission(L.ENGINE.DLQ_WRITE),yield*(yield*o).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),Fe=e=>n.gen(function*(){yield*(yield*W).requirePermission(L.ENGINE.DLQ_WRITE);let t=yield*(yield*o).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Ie=e=>n.gen(function*(){yield*(yield*W).requirePermission(L.ENGINE.DLQ_WRITE);let t=yield*(yield*o).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Le=e=>n.gen(function*(){yield*(yield*W).requirePermission(L.ENGINE.DLQ_READ);let e=yield*(yield*o).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),Re=({flowId:e})=>n.gen(function*(){let t=yield*c,r=yield*W,i=yield*r.getClientId();return yield*r.requirePermission(L.FLOW.STATUS),i&&(yield*n.logInfo(`[Flow] Getting flow data: ${e}, client: ${i}`)),{status:200,body:yield*t.getFlowData(e,i)}}),ze=({flowId:e,storageId:t,inputs:r})=>n.gen(function*(){let i=yield*c,a=yield*W,o=yield*w,s=yield*q,l=yield*a.getClientId();if(yield*a.requirePermission(L.FLOW.EXECUTE),l?(yield*n.logInfo(`[Flow] Executing flow: ${e}, storage: ${t}, client: ${l}`),yield*n.logInfo(JSON.stringify(r,null,2))):(yield*n.logInfo(`[Flow] Executing flow: ${e}, storage: ${t}`),yield*n.logInfo(`[Flow] Inputs: ${JSON.stringify(r,null,2)}`)),l){let t=yield*s.onFlowStart({clientId:l,operation:`flow`,metadata:{flowId:e}});if(t.action===`abort`)return yield*n.fail(new U(t.reason,t.code??`SUBSCRIPTION_REQUIRED`))}yield*n.logInfo(`[Flow] Calling flowServer.runFlow...`);let u=yield*i.runFlow({flowId:e,storageId:t,clientId:l,inputs:r}).pipe(n.tap(()=>n.logInfo(`[Flow] runFlow completed successfully`)),n.tapError(e=>n.logError(`[Flow] runFlow failed with error: ${e}`))),d=yield*a.getAuthContext();return d&&(yield*o.set(u.id,d)),yield*n.logInfo(`[Flow] Flow started with jobId: ${u.id}`),{status:200,body:u}}),Be=({jobId:e})=>n.gen(function*(){let t=yield*c,r=yield*W,i=yield*w,a=yield*r.getClientId();if(yield*r.requirePermission(L.FLOW.STATUS),!e)throw Error(`No job id`);a&&(yield*n.logInfo(`[Flow] Getting job status: ${e}, client: ${a}`));let o=yield*t.getJobStatus(e);return(o.status===`completed`||o.status===`failed`)&&(yield*i.delete(e),a&&(yield*n.logInfo(`[Flow] Flow ${o.status}, cleared auth cache: ${e}`))),{status:200,body:o}}),Ve=({jobId:e,nodeId:t,newData:r})=>n.gen(function*(){let i=yield*c,a=yield*W,o=yield*w;yield*a.requirePermission(L.FLOW.EXECUTE);let s=yield*a.getClientId();if(s||=(yield*o.get(e))?.clientId??null,s&&(yield*n.logInfo(`[Flow] Continuing flow: jobId=${e}, nodeId=${t}, client: ${s}`)),r===void 0)throw Error(`Missing newData`);let l=yield*i.resumeFlow({jobId:e,nodeId:t,newData:r,clientId:s});return(l.status===`completed`||l.status===`failed`)&&(yield*o.delete(e),s&&(yield*n.logInfo(`[Flow] Flow ${l.status}, cleared auth cache: ${e}`))),{status:200,body:l}}),He=({jobId:e})=>n.gen(function*(){let t=yield*c,r=yield*W,i=yield*w;yield*r.requirePermission(L.FLOW.CANCEL);let a=yield*r.getClientId();a||=(yield*i.get(e))?.clientId??null,a&&(yield*n.logInfo(`[Flow] Pausing flow: jobId=${e}, client: ${a}`));let o=yield*t.pauseFlow(e,a);return a&&(yield*n.logInfo(`[Flow] Flow paused: ${e}, status: ${o.status}`)),{status:200,body:o}}),Ue=({jobId:e})=>n.gen(function*(){let t=yield*c,r=yield*W,i=yield*w,a=yield*q;if(yield*r.requirePermission(L.FLOW.CANCEL),!e)throw Error(`No job id`);let o=yield*r.getClientId();o||=(yield*i.get(e))?.clientId??null,o&&(yield*n.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${o}`));let s=yield*t.cancelFlow(e,o);return yield*i.delete(e),o&&(yield*n.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`),yield*n.forkDaemon(a.onFlowComplete({clientId:o,operation:`flow`,metadata:{jobId:e,status:`cancelled`}}))),{status:200,body:s}}),We=Date.now();function Y(){return Date.now()-We}function X(){return new Date().toISOString()}function Ge(e){return{status:`healthy`,timestamp:X(),version:e?.version,uptime:Y()}}function Ke(e){let t=[];if(e.storage&&t.push(e.storage.status),e.kvStore&&t.push(e.kvStore.status),t.includes(`unhealthy`))return`unhealthy`;let n=[...t];return e.eventBroadcaster&&n.push(e.eventBroadcaster.status),e.circuitBreaker&&n.push(e.circuitBreaker.status),e.deadLetterQueue&&n.push(e.deadLetterQueue.status),n.includes(`degraded`)?`degraded`:`healthy`}function Z(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`Storage backend configured`,lastCheck:X()})}function qe(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`KV store configured`,lastCheck:X()})}function Je(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`Event broadcaster configured`,lastCheck:X()})}function Ye(){return n.gen(function*(){let e=yield*n.serviceOption(p);if(a.isNone(e))return;let t=e.value,r=yield*n.either(t.getAllStats());if(r._tag===`Left`)return{status:`degraded`,openCircuits:0,totalCircuits:0};let i=r.right,o=Array.from(i.values()),s=o.filter(e=>e.state===`open`).length,c=o.length,l=`healthy`;return s>0&&(l=`degraded`),{status:l,openCircuits:s,totalCircuits:c,circuits:o.map(e=>({nodeType:e.nodeType,state:e.state,failureCount:e.failureCount,timeSinceLastStateChange:e.timeSinceLastStateChange}))}})}function Xe(){return n.gen(function*(){let e=yield*o.optional;if(a.isNone(e))return;let t=e.value,r=yield*n.either(t.getStats());if(r._tag===`Left`)return{status:`degraded`,pendingItems:0,exhaustedItems:0};let i=r.right,s=`healthy`;return i.byStatus.exhausted>0&&(s=`degraded`),{status:s,pendingItems:i.byStatus.pending,exhaustedItems:i.byStatus.exhausted,oldestItem:i.oldestItem?.toISOString()}})}function Ze(e={}){let t={...m,...e};return n.gen(function*(){let n={};return t.checkStorage&&(n.storage=yield*Z(t)),t.checkKvStore&&(n.kvStore=yield*qe(t)),t.checkEventBroadcaster&&(n.eventBroadcaster=yield*Je(t)),{status:Ke(n),timestamp:X(),version:e.version,uptime:Y(),components:n}})}function Qe(e={}){let t={...m,...e};return n.gen(function*(){let n={};t.checkStorage&&(n.storage=yield*Z(t)),t.checkKvStore&&(n.kvStore=yield*qe(t)),t.checkEventBroadcaster&&(n.eventBroadcaster=yield*Je(t));let r=yield*Ye();r&&(n.circuitBreaker=r);let i=yield*Xe();return i&&(n.deadLetterQueue=i),{status:Ke(n),timestamp:X(),version:e.version,uptime:Y(),components:n}})}const $e=(e,t)=>n.sync(()=>{let n=Ge(t);return v(e.acceptHeader)===`text`?{type:`health`,status:200,headers:{"Content-Type":`text/plain`},body:_(n.status)}:{type:`health`,status:200,headers:{"Content-Type":`application/json`},body:n}}),et=(e,t)=>n.gen(function*(){yield*(yield*W).requirePermission(L.ENGINE.READINESS);let n=yield*Ze(t),r=v(e.acceptHeader),i=n.status===`unhealthy`?503:200;return r===`text`?{type:`health-ready`,status:i,headers:{"Content-Type":`text/plain`},body:_(n.status)}:{type:`health-ready`,status:i,headers:{"Content-Type":`application/json`},body:n}}),tt=(e,t)=>n.gen(function*(){yield*(yield*W).requirePermission(L.ENGINE.READINESS);let n=yield*Qe(t);return v(e.acceptHeader)===`text`?{type:`health-components`,status:200,headers:{"Content-Type":`text/plain`},body:_(n.status)}:{type:`health-components`,status:200,headers:{"Content-Type":`application/json`},body:n}}),nt=e=>n.gen(function*(){let t=yield*x,r=yield*W,i=yield*w,a=yield*q,o=yield*r.getClientId();yield*r.requirePermission(L.UPLOAD.CREATE),o&&(yield*n.logInfo(`[Upload] Creating upload for client: ${o}`));let s=yield*n.sync(()=>y.safeParse(e.data));if(!s.success)return yield*n.fail(new V(`Invalid input file schema`));if(s.data.checksumAlgorithm&&!b(s.data.checksumAlgorithm))return yield*n.fail(new V(`Unsupported checksum algorithm: ${s.data.checksumAlgorithm}. Supported algorithms: sha256`));if(o){let e=yield*a.onUploadStart({clientId:o,operation:`upload`,metadata:{fileSize:s.data.size,mimeType:s.data.type,fileName:s.data.fileName}});if(e.action===`abort`)return yield*n.fail(new U(e.reason,e.code??`QUOTA_EXCEEDED`))}let c=yield*t.createUpload(s.data,o),l=yield*r.getAuthContext();return l&&(yield*i.set(c.id,l)),o&&(yield*n.logInfo(`[Upload] Upload created: ${c.id} for client: ${o}`)),{status:200,body:c}}),rt=({storageId:e})=>n.gen(function*(){let t=yield*x,n=yield*W,r=yield*n.getClientId();return yield*n.requirePermission(L.UPLOAD.READ),{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,r),timestamp:new Date().toISOString()}}}),it=({uploadId:e})=>n.gen(function*(){let t=yield*x;return yield*(yield*W).requirePermission(L.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),at=e=>n.gen(function*(){let t=yield*x,r=yield*W,i=yield*w,a=yield*se,o=yield*q,{uploadId:s,data:c}=e;yield*r.requirePermission(L.UPLOAD.CREATE);let l=yield*r.getClientId(),u=yield*r.getMetadata();if(!l){let e=yield*i.get(s);l=e?.clientId??null,u=e?.metadata??{}}l&&(yield*n.logInfo(`[Upload] Uploading chunk for upload: ${s}, client: ${l}`));let d=Date.now(),f=yield*t.uploadChunk(s,l,c);if(f.size&&f.offset>=f.size)if(yield*i.delete(s),l&&(yield*n.logInfo(`[Upload] Upload completed, cleared auth cache: ${s}`)),l&&f.size){yield*n.logInfo(`[Upload] Recording metrics for org: ${l}, size: ${f.size}`),yield*n.forkDaemon(a.recordUpload(l,f.size,u));let e=Date.now()-d;yield*n.forkDaemon(o.onUploadComplete({clientId:l,operation:`upload`,metadata:{uploadId:s,fileSize:f.size,duration:e}}))}else yield*n.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`);return l&&(yield*n.logInfo(`[Upload] Chunk uploaded for upload: ${s}, client: ${l}`)),{status:200,body:f}}),ot=(e,t)=>n.gen(function*(){switch(e.type){case`create-upload`:return yield*nt(e);case`get-capabilities`:return yield*rt(e);case`get-upload`:return yield*it(e);case`upload-chunk`:return yield*at(e);case`get-flow`:return yield*Re(e);case`run-flow`:return yield*ze(e);case`job-status`:return yield*Be(e);case`resume-flow`:return yield*Ve(e);case`pause-flow`:return yield*He(e);case`cancel-flow`:return yield*Ue(e);case`dlq-list`:return yield*Ae(e);case`dlq-get`:return yield*je(e);case`dlq-retry`:return yield*Me(e);case`dlq-retry-all`:return yield*Ne(e);case`dlq-delete`:return yield*Pe(e);case`dlq-resolve`:return yield*Fe(e);case`dlq-cleanup`:return yield*Ie(e);case`dlq-stats`:return yield*Le(e);case`health`:return yield*$e(e,t?.healthCheckConfig);case`health-ready`:return yield*et(e,t?.healthCheckConfig);case`health-components`:return yield*tt(e,t?.healthCheckConfig);case`not-found`:return{status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}};case`bad-request`:return{status:400,body:{error:`Bad request`,message:e.message}};case`method-not-allowed`:return{status:405,headers:{"Content-Type":`application/json`},body:{error:`Method not allowed`}};case`unsupported-content-type`:return{status:415,headers:{"Content-Type":`application/json`},body:{error:`Unsupported content type`}}}}),st=async({flows:e,dataStore:t,kvStore:a,plugins:o=[],eventEmitter:c,eventBroadcaster:d=ae,withTracing:p=!1,observabilityLayer:m,baseUrl:h=`uploadista`,generateId:g=ie,metricsLayer:_,bufferedDataStore:v,adapter:y,authCacheConfig:ne,circuitBreaker:re=!0,deadLetterQueue:b=!1,healthCheck:se,usageHooks:x})=>{let S=c??oe(d),C=h.endsWith(`/`)?h.slice(0,-1):h,w=r.effect(s,n.succeed({getFlow:(t,n)=>e(t,n)}));if(!S)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let E=de({kvStore:a,eventEmitter:S,dataStore:await ee(t),bufferedDataStore:v,generateId:g}),D=fe({kvStore:a,eventEmitter:S,flowProvider:w,uploadServer:E}),O=T(ne),k=_??ce,A=re?f.pipe(r.provide(a)):null,M=b?u.pipe(r.provide(te),r.provide(a)):null,N=J(x),ue=r.mergeAll(E,D,k,O,N,...o,...A?[A]:[],...M?[M]:[]),P=p?m??le:null,F=ue,I=P?r.merge(F,P):F,L=i.make(I);return{handler:async e=>{let t=n.gen(function*(){let t=yield*y.extractRequest(e,{baseUrl:C}),i=null;if(y.runAuthMiddleware){let t=yield*y.runAuthMiddleware(e).pipe(n.timeout(`5 seconds`),n.catchAll(()=>(console.error(`Auth middleware timeout exceeded (5 seconds)`),n.succeed({_tag:`TimeoutError`}))),n.catchAllCause(e=>(console.error(`Auth middleware error:`,e),n.succeed({_tag:`AuthError`,error:e}))));if(t&&typeof t==`object`&&`_tag`in t&&t._tag===`TimeoutError`)return yield*y.sendResponse({status:503,headers:{"Content-Type":`application/json`},body:{error:`Authentication service unavailable`,message:`Authentication took too long to respond. Please try again.`}},e);if(t&&typeof t==`object`&&`_tag`in t&&t._tag===`AuthError`)return yield*y.sendResponse({status:500,headers:{"Content-Type":`application/json`},body:{error:`Internal Server Error`,message:`An error occurred during authentication`}},e);if(t===null)return yield*y.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=t}let a=G(i,{bypassAuth:!y.runAuthMiddleware}),s=[];if(y.extractWaitUntil){let t=y.extractWaitUntil(e);t&&s.push(r.succeed(l,t))}let c=r.mergeAll(a,O,k,N,...o,...s),u=A?r.merge(c,A):c,d=M?r.merge(u,M):u;if(t.type===`not-found`)return yield*y.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let f=yield*ot(t,{healthCheckConfig:se}).pipe(n.provide(d));return yield*y.sendResponse(f,e)}).pipe(n.catchAll(t=>{let n=j(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 y.sendResponse(i,e)}));return L.runPromise(t)},websocketHandler:await L.runPromise(y.webSocketHandler({baseUrl:C})),baseUrl:C,dispose:()=>L.dispose()}};async function ct(e){return st(e)}function lt(e){return e}function ut(e){return e}const dt={ImagePlugin:{packageName:`@uploadista/flow-images-sharp`,variableName:`sharpImagePlugin`},ImageAiPlugin:{packageName:`@uploadista/flow-images-replicate`,variableName:`replicateImagePlugin`},ZipPlugin:{packageName:`@uploadista/flow-utility-zipjs`,variableName:`zipPlugin`},CredentialProvider:{packageName:`@uploadista/core`,variableName:`credentialProviderLayer`}};function ft(e){try{let t=e;if(t._tag)return t._tag;if(t.constructor?.name)return t.constructor.name;if(t.context?.services){let e=Array.from(t.context.services.keys());if(e.length>0){let t=e[0];if(t.key)return t.key}}return null}catch{return null}}function pt(e){return e.map(e=>ft(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=pt(t),i=n.filter(e=>!r.includes(e));return i.length===0?{success:!0}:{success:!1,required:n,provided:r,missing:i,suggestions:i.map(e=>{let t=dt[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=>dt[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 mt(e){return n.sync(()=>{let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}})}function ht(e){let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}}const gt=(e,t,r)=>n.gen(function*(){if(!t){yield*n.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Job ID is required for flow event subscription`,code:`MISSING_JOB_ID`}))});return}yield*e.subscribeToFlowEvents(t,r)}),_t=(e,t)=>n.gen(function*(){t&&(yield*e.unsubscribeFromFlowEvents(t))}),vt=(e,t,r)=>n.gen(function*(){if(!t){yield*n.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Upload ID is required for upload event subscription`,code:`MISSING_UPLOAD_ID`}))});return}yield*e.subscribeToUploadEvents(t,r)}),yt=(e,t)=>n.gen(function*(){t&&(yield*e.unsubscribeFromUploadEvents(t))}),bt=(e,t,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:l}=e;return n.gen(function*(){a&&(yield*gt(r,s,i)),o&&(yield*vt(t,c,i)),i.send(JSON.stringify({type:`connection`,message:`Uploadista WebSocket connected`,id:l,jobId:s,uploadId:c,timestamp:new Date().toISOString()}))}).pipe(n.catchAll(e=>n.sync(()=>{console.error(`Error subscribing to events:`,e);let t=e instanceof C?e.body:`Failed to subscribe to events`;i.send(JSON.stringify({type:`error`,message:t,code:e instanceof C?e.code:`SUBSCRIPTION_ERROR`}))})))},xt=(e,t)=>n.sync(()=>{try{JSON.parse(e).type===`ping`&&t.send(JSON.stringify({type:`pong`,timestamp:new Date().toISOString()}))}catch(e){console.error(`Error handling WebSocket message:`,e),t.send(JSON.stringify({type:`error`,message:`Invalid message format`}))}}),St=(e,t,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return n.gen(function*(){i&&(yield*_t(r,o)),a&&(yield*yt(t,s))}).pipe(n.catchAll(e=>n.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof C?e.body:e)})))},Ct=(e,t)=>n.sync(()=>{console.error(`WebSocket error for event ${t}:`,e)});export{B as AdapterError,w as AuthCacheService,T as AuthCacheServiceLive,W as AuthContextService,G as AuthContextServiceLive,H as AuthenticationRequiredError,Ce as AuthorizationError,ye as BadRequestError,Oe as DEFAULT_USAGE_HOOK_TIMEOUT,P as ENGINE_PERMISSIONS,F as FLOW_PERMISSIONS,E as NoAuthCacheServiceLive,Ee as NoAuthContextServiceLive,ke as NoUsageHookServiceLive,ve as NotFoundError,we as OrganizationMismatchError,L as PERMISSIONS,R as PERMISSION_HIERARCHY,pe as PERMISSION_SETS,U as QuotaExceededError,I as UPLOAD_PERMISSIONS,q as UsageHookService,J as UsageHookServiceLive,V as ValidationError,De as abortResult,K as continueResult,Te as createAuthorizationErrorResponseBody,be as createErrorResponseBody,fe as createFlowServerLayer,Se as createGenericErrorResponseBody,ct as createTypeSafeServer,de as createUploadServerLayer,xe as createUploadistaErrorResponseBody,st as createUploadistaServer,lt as defineFlow,ut as defineSimpleFlow,_e as expandPermission,ue as extractFlowAndStorageId,N as extractJobAndNodeId,M as extractJobIdFromStatus,pt as extractServiceIdentifiers,$ as formatPluginValidationError,e as getAuthCredentials,O as getLastSegment,A as getRouteSegments,j as handleFlowError,St as handleWebSocketClose,Ct as handleWebSocketError,xt as handleWebSocketMessage,bt as handleWebSocketOpen,ge as hasAllPermissions,he as hasAnyPermission,k as hasBasePath,z as hasPermission,me as matchesPermission,D as parseUrlSegments,Q as validatePluginRequirements,mt as validatePluginRequirementsEffect,ht as validatePluginsOrThrow};
1
+ import{t as e}from"./auth-DG0enyjj.mjs";import{Context as t,Effect as n,Layer as r,ManagedRuntime as i,Option as a}from"effect";import{DeadLetterQueueService as o,FlowProvider as s,FlowServer as c,FlowWaitUntil as l,deadLetterQueueService as u,flowServer as d,kvCircuitBreakerStoreLayer as f}from"@uploadista/core/flow";import{CircuitBreakerStoreService as ee,DEFAULT_HEALTH_CHECK_CONFIG as p,createDataStoreLayer as te,deadLetterQueueKvStore as ne,flowEventEmitter as m,flowJobKvStore as re,formatHealthAsText as h,getHealthResponseFormat as g,inputFileSchema as _,uploadEventEmitter as ie,uploadFileKvStore as ae}from"@uploadista/core/types";import{GenerateIdLive as oe,isSupportedAlgorithm as se}from"@uploadista/core/utils";import{memoryEventBroadcaster as ce}from"@uploadista/event-broadcaster-memory";import{webSocketEventEmitter as le}from"@uploadista/event-emitter-websocket";import{MetricsService as ue,NoOpMetricsServiceLive as de,NodeSdkLive as fe}from"@uploadista/observability";import{UploadServer as v,uploadServer as y}from"@uploadista/core/upload";import{UploadistaError as b}from"@uploadista/core/errors";var x=class extends t.Tag(`AuthCacheService`)(){};const pe=(e={})=>{let t=e.maxSize??1e4,i=e.ttl??36e5,a=new Map,o=()=>{let e=Date.now();for(let[t,n]of a.entries())e-n.timestamp>i&&a.delete(t)},s=()=>{if(a.size<=t)return;let e=null,n=1/0;for(let[t,r]of a.entries())r.timestamp<n&&(n=r.timestamp,e=t);e&&a.delete(e)};return r.succeed(x,{set:(e,t)=>n.sync(()=>{a.size%100==0&&o(),a.set(e,{authContext:t,timestamp:Date.now()}),s()}),get:e=>n.sync(()=>{let t=a.get(e);return t?Date.now()-t.timestamp>i?(a.delete(e),null):t.authContext:null}),delete:e=>n.sync(()=>{a.delete(e)}),clear:()=>n.sync(()=>{a.clear()}),size:()=>n.sync(()=>a.size)})},S=r.succeed(x,{set:()=>n.void,get:()=>n.succeed(null),delete:()=>n.void,clear:()=>n.void,size:()=>n.succeed(0)}),C=e=>e.split(`/`).filter(Boolean),w=e=>{let t=C(e);return t[t.length-1]},T=(e,t)=>e.includes(`${t}/api/`),E=(e,t)=>e.replace(`${t}/api/`,``).split(`/`).filter(Boolean),me=e=>{let t=500,n=`UNKNOWN_ERROR`,r=`Internal server error`,i;if(typeof e==`object`&&e){let a=e;if(`code`in a&&typeof a.code==`string`&&(n=a.code),`message`in a&&typeof a.message==`string`?r=a.message:`body`in a&&typeof a.body==`string`&&(r=a.body),`details`in a&&(i=a.details),`status`in a&&typeof a.status==`number`)t=a.status;else if(`code`in a)switch(a.code){case`FILE_NOT_FOUND`:case`FLOW_JOB_NOT_FOUND`:case`UPLOAD_ID_NOT_FOUND`:t=404;break;case`FLOW_JOB_ERROR`:case`VALIDATION_ERROR`:case`INVALID_METADATA`:case`INVALID_LENGTH`:case`ABORTED`:case`INVALID_TERMINATION`:t=400;break;case`INVALID_OFFSET`:t=409;break;case`ERR_SIZE_EXCEEDED`:case`ERR_MAX_SIZE_EXCEEDED`:t=413;break;case`FILE_NO_LONGER_EXISTS`:t=410;break;case`MISSING_OFFSET`:case`INVALID_CONTENT_TYPE`:t=403;break;default:t=500}`message`in a&&a.message===`Invalid JSON body`&&(t=400,n=`VALIDATION_ERROR`)}let a={status:t,code:n,message:r};return i!==void 0&&(a.details=i),a},D=e=>e[e.length-2],O=e=>({jobId:e[e.length-3],nodeId:e[e.length-1]}),he=e=>({storageId:e.pop(),flowId:e.pop()}),k=({kvStore:e,eventEmitter:t,dataStore:n,bufferedDataStore:i,generateId:a})=>{let o=r.provide(ae,e),s=r.provide(n,o),c=i?r.provide(i,o):r.empty,l=r.provide(ie,t),u=r.mergeAll(s,o,l,...a?[a]:[],c);return r.provide(y,u)},A=({kvStore:e,eventEmitter:t,flowProvider:n,uploadServer:i})=>{let a=r.provide(re,e),o=r.provide(m,t),s=r.mergeAll(n,o,a,i);return r.provide(d,s)};var j=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},M=class extends j{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},ge=class extends j{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},N=class extends j{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const _e=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),ve=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},ye=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var be=class extends j{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},P=class extends j{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},xe=class extends j{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},F=class extends j{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const Se=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()}),I={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},L={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},R={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},z={ENGINE:I,FLOW:L,UPLOAD:R},Ce={ADMIN:[I.ALL],ORGANIZATION_OWNER:[L.ALL,R.ALL],ORGANIZATION_MEMBER:[L.ALL,R.ALL],API_KEY:[L.EXECUTE,R.CREATE]},B={[I.DLQ]:[I.DLQ_READ,I.DLQ_WRITE]},V=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!B[e]?.includes(t)},H=(e,t)=>e.some(e=>V(e,t)),U=(e,t)=>t.some(t=>H(e,t)),we=(e,t)=>t.every(t=>H(e,t)),Te=e=>{let t=[e],n=B[e];return n&&t.push(...n),t};var W=class extends t.Tag(`AuthContextService`)(){};const G=(e,t)=>{let i=e?.permissions??[],a=t?.bypassAuth??!1;return r.succeed(W,{getClientId:()=>n.succeed(e?.clientId??null),getMetadata:()=>n.succeed(e?.metadata??{}),hasPermission:e=>a?n.succeed(!0):n.succeed(H(i,e)),hasAnyPermission:e=>a?n.succeed(!0):n.succeed(U(i,e)),requirePermission:t=>n.gen(function*(){if(a){yield*n.logDebug(`[Auth] Bypass mode: permission '${t}' auto-granted`);return}if(!e)return yield*n.logDebug(`[Auth] Permission check failed: authentication required for '${t}'`),yield*n.fail(new P);if(!H(i,t))return yield*n.logDebug(`[Auth] Permission denied: '${t}' for client '${e.clientId}'`),yield*n.fail(new be(t));yield*n.logDebug(`[Auth] Permission granted: '${t}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?n.succeed(e):n.fail(new P),getPermissions:()=>n.succeed(i),getAuthContext:()=>n.succeed(e)})},Ee=G(null),K=()=>({action:`continue`}),De=(e,t)=>({action:`abort`,reason:e,code:t}),Oe=5e3;var q=class extends t.Tag(`UsageHookService`)(){};const J=e=>{let t=e?.hooks,i=e?.timeout??Oe;return r.succeed(q,{onUploadStart:e=>t?.onUploadStart?t.onUploadStart(e).pipe(n.timeout(i),n.map(e=>e??K()),n.catchAll(e=>n.gen(function*(){return yield*n.logWarning(`onUploadStart hook failed: ${e}. Proceeding with upload.`),K()}))):n.succeed(K()),onUploadComplete:e=>t?.onUploadComplete?t.onUploadComplete(e).pipe(n.timeout(i),n.asVoid,n.catchAll(e=>n.logWarning(`onUploadComplete hook failed: ${e}. Upload already completed.`))):n.void,onFlowStart:e=>t?.onFlowStart?t.onFlowStart(e).pipe(n.timeout(i),n.map(e=>e??K()),n.catchAll(e=>n.gen(function*(){return yield*n.logWarning(`onFlowStart hook failed: ${e}. Proceeding with flow.`),K()}))):n.succeed(K()),onFlowComplete:e=>t?.onFlowComplete?t.onFlowComplete(e).pipe(n.timeout(i),n.asVoid,n.catchAll(e=>n.logWarning(`onFlowComplete hook failed: ${e}. Flow already completed.`))):n.void})},ke=J(),Ae=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_READ);let t=yield*(yield*o).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),je=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_READ);let t=yield*(yield*o).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Me=e=>n.gen(function*(){return yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE),yield*(yield*o).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),Ne=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE);let t=yield*o,{items:r}=yield*t.list({status:e.options?.status,flowId:e.options?.flowId}),i=0,a=0;for(let e of r)(yield*n.either(t.markRetrying(e.id)))._tag===`Right`?i++:a++;return{type:`dlq-retry-all`,status:200,headers:{"Content-Type":`application/json`},body:{retried:r.length,succeeded:i,failed:a}}}),Pe=e=>n.gen(function*(){return yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE),yield*(yield*o).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),Fe=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE);let t=yield*(yield*o).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Ie=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_WRITE);let t=yield*(yield*o).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Le=e=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.DLQ_READ);let e=yield*(yield*o).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),Re=({flowId:e})=>n.gen(function*(){let t=yield*c,r=yield*W,i=yield*r.getClientId();return yield*r.requirePermission(z.FLOW.STATUS),i&&(yield*n.logInfo(`[Flow] Getting flow data: ${e}, client: ${i}`)),{status:200,body:yield*t.getFlowData(e,i)}}),ze=({flowId:e,storageId:t,inputs:r})=>n.gen(function*(){let i=yield*c,a=yield*W,o=yield*x,s=yield*q,l=yield*a.getClientId();if(yield*a.requirePermission(z.FLOW.EXECUTE),l?(yield*n.logInfo(`[Flow] Executing flow: ${e}, storage: ${t}, client: ${l}`),yield*n.logInfo(JSON.stringify(r,null,2))):(yield*n.logInfo(`[Flow] Executing flow: ${e}, storage: ${t}`),yield*n.logInfo(`[Flow] Inputs: ${JSON.stringify(r,null,2)}`)),l){let t=yield*s.onFlowStart({clientId:l,operation:`flow`,metadata:{flowId:e}});if(t.action===`abort`)return yield*n.fail(new F(t.reason,t.code??`SUBSCRIPTION_REQUIRED`))}yield*n.logInfo(`[Flow] Calling flowServer.runFlow...`);let u=yield*i.runFlow({flowId:e,storageId:t,clientId:l,inputs:r}).pipe(n.tap(()=>n.logInfo(`[Flow] runFlow completed successfully`)),n.tapError(e=>n.logError(`[Flow] runFlow failed with error: ${e}`))),d=yield*a.getAuthContext();return d&&(yield*o.set(u.id,d)),yield*n.logInfo(`[Flow] Flow started with jobId: ${u.id}`),{status:200,body:u}}),Be=({jobId:e})=>n.gen(function*(){let t=yield*c,r=yield*W,i=yield*x,a=yield*r.getClientId();if(yield*r.requirePermission(z.FLOW.STATUS),!e)throw Error(`No job id`);a&&(yield*n.logInfo(`[Flow] Getting job status: ${e}, client: ${a}`));let o=yield*t.getJobStatus(e);return(o.status===`completed`||o.status===`failed`)&&(yield*i.delete(e),a&&(yield*n.logInfo(`[Flow] Flow ${o.status}, cleared auth cache: ${e}`))),{status:200,body:o}}),Ve=({jobId:e,nodeId:t,newData:r})=>n.gen(function*(){let i=yield*c,a=yield*W,o=yield*x;yield*a.requirePermission(z.FLOW.EXECUTE);let s=yield*a.getClientId();if(s||=(yield*o.get(e))?.clientId??null,s&&(yield*n.logInfo(`[Flow] Continuing flow: jobId=${e}, nodeId=${t}, client: ${s}`)),r===void 0)throw Error(`Missing newData`);let l=yield*i.resumeFlow({jobId:e,nodeId:t,newData:r,clientId:s});return(l.status===`completed`||l.status===`failed`)&&(yield*o.delete(e),s&&(yield*n.logInfo(`[Flow] Flow ${l.status}, cleared auth cache: ${e}`))),{status:200,body:l}}),He=({jobId:e})=>n.gen(function*(){let t=yield*c,r=yield*W,i=yield*x;yield*r.requirePermission(z.FLOW.CANCEL);let a=yield*r.getClientId();a||=(yield*i.get(e))?.clientId??null,a&&(yield*n.logInfo(`[Flow] Pausing flow: jobId=${e}, client: ${a}`));let o=yield*t.pauseFlow(e,a);return a&&(yield*n.logInfo(`[Flow] Flow paused: ${e}, status: ${o.status}`)),{status:200,body:o}}),Ue=({jobId:e})=>n.gen(function*(){let t=yield*c,r=yield*W,i=yield*x,a=yield*q;if(yield*r.requirePermission(z.FLOW.CANCEL),!e)throw Error(`No job id`);let o=yield*r.getClientId();o||=(yield*i.get(e))?.clientId??null,o&&(yield*n.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${o}`));let s=yield*t.cancelFlow(e,o);return yield*i.delete(e),o&&(yield*n.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`),yield*n.forkDaemon(a.onFlowComplete({clientId:o,operation:`flow`,metadata:{jobId:e,status:`cancelled`}}))),{status:200,body:s}}),We=Date.now();function Y(){return Date.now()-We}function X(){return new Date().toISOString()}function Ge(e){return{status:`healthy`,timestamp:X(),version:e?.version,uptime:Y()}}function Ke(e){let t=[];if(e.storage&&t.push(e.storage.status),e.kvStore&&t.push(e.kvStore.status),t.includes(`unhealthy`))return`unhealthy`;let n=[...t];return e.eventBroadcaster&&n.push(e.eventBroadcaster.status),e.circuitBreaker&&n.push(e.circuitBreaker.status),e.deadLetterQueue&&n.push(e.deadLetterQueue.status),n.includes(`degraded`)?`degraded`:`healthy`}function qe(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`Storage backend configured`,lastCheck:X()})}function Je(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`KV store configured`,lastCheck:X()})}function Ye(e){let t=Date.now();return n.succeed({status:`healthy`,latency:Date.now()-t,message:`Event broadcaster configured`,lastCheck:X()})}function Xe(){return n.gen(function*(){let e=yield*n.serviceOption(ee);if(a.isNone(e))return;let t=e.value,r=yield*n.either(t.getAllStats());if(r._tag===`Left`)return{status:`degraded`,openCircuits:0,totalCircuits:0};let i=r.right,o=Array.from(i.values()),s=o.filter(e=>e.state===`open`).length,c=o.length,l=`healthy`;return s>0&&(l=`degraded`),{status:l,openCircuits:s,totalCircuits:c,circuits:o.map(e=>({nodeType:e.nodeType,state:e.state,failureCount:e.failureCount,timeSinceLastStateChange:e.timeSinceLastStateChange}))}})}function Ze(){return n.gen(function*(){let e=yield*o.optional;if(a.isNone(e))return;let t=e.value,r=yield*n.either(t.getStats());if(r._tag===`Left`)return{status:`degraded`,pendingItems:0,exhaustedItems:0};let i=r.right,s=`healthy`;return i.byStatus.exhausted>0&&(s=`degraded`),{status:s,pendingItems:i.byStatus.pending,exhaustedItems:i.byStatus.exhausted,oldestItem:i.oldestItem?.toISOString()}})}function Qe(e={}){let t={...p,...e};return n.gen(function*(){let n={};return t.checkStorage&&(n.storage=yield*qe(t)),t.checkKvStore&&(n.kvStore=yield*Je(t)),t.checkEventBroadcaster&&(n.eventBroadcaster=yield*Ye(t)),{status:Ke(n),timestamp:X(),version:e.version,uptime:Y(),components:n}})}function $e(e={}){let t={...p,...e};return n.gen(function*(){let n={};t.checkStorage&&(n.storage=yield*qe(t)),t.checkKvStore&&(n.kvStore=yield*Je(t)),t.checkEventBroadcaster&&(n.eventBroadcaster=yield*Ye(t));let r=yield*Xe();r&&(n.circuitBreaker=r);let i=yield*Ze();return i&&(n.deadLetterQueue=i),{status:Ke(n),timestamp:X(),version:e.version,uptime:Y(),components:n}})}const et=(e,t)=>n.sync(()=>{let n=Ge(t);return g(e.acceptHeader)===`text`?{type:`health`,status:200,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health`,status:200,headers:{"Content-Type":`application/json`},body:n}}),tt=(e,t)=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.READINESS);let n=yield*Qe(t),r=g(e.acceptHeader),i=n.status===`unhealthy`?503:200;return r===`text`?{type:`health-ready`,status:i,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health-ready`,status:i,headers:{"Content-Type":`application/json`},body:n}}),nt=(e,t)=>n.gen(function*(){yield*(yield*W).requirePermission(z.ENGINE.READINESS);let n=yield*$e(t);return g(e.acceptHeader)===`text`?{type:`health-components`,status:200,headers:{"Content-Type":`text/plain`},body:h(n.status)}:{type:`health-components`,status:200,headers:{"Content-Type":`application/json`},body:n}}),rt=e=>n.gen(function*(){let t=yield*v,r=yield*W,i=yield*x,a=yield*q,o=yield*r.getClientId();yield*r.requirePermission(z.UPLOAD.CREATE),o&&(yield*n.logInfo(`[Upload] Creating upload for client: ${o}`));let s=yield*n.sync(()=>_.safeParse(e.data));if(!s.success)return yield*n.fail(new M(`Invalid input file schema`));if(s.data.checksumAlgorithm&&!se(s.data.checksumAlgorithm))return yield*n.fail(new M(`Unsupported checksum algorithm: ${s.data.checksumAlgorithm}. Supported algorithms: sha256`));if(o){let e=yield*a.onUploadStart({clientId:o,operation:`upload`,metadata:{fileSize:s.data.size,mimeType:s.data.type,fileName:s.data.fileName}});if(e.action===`abort`)return yield*n.fail(new F(e.reason,e.code??`QUOTA_EXCEEDED`))}let c=yield*t.createUpload(s.data,o),l=yield*r.getAuthContext();return l&&(yield*i.set(c.id,l)),o&&(yield*n.logInfo(`[Upload] Upload created: ${c.id} for client: ${o}`)),{status:200,body:c}}),it=({storageId:e})=>n.gen(function*(){let t=yield*v,n=yield*W,r=yield*n.getClientId();return yield*n.requirePermission(z.UPLOAD.READ),{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,r),timestamp:new Date().toISOString()}}}),at=({uploadId:e})=>n.gen(function*(){let t=yield*v;return yield*(yield*W).requirePermission(z.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),ot=e=>n.gen(function*(){let t=yield*v,r=yield*W,i=yield*x,a=yield*ue,o=yield*q,{uploadId:s,data:c}=e;yield*r.requirePermission(z.UPLOAD.CREATE);let l=yield*r.getClientId(),u=yield*r.getMetadata();if(!l){let e=yield*i.get(s);l=e?.clientId??null,u=e?.metadata??{}}l&&(yield*n.logInfo(`[Upload] Uploading chunk for upload: ${s}, client: ${l}`));let d=Date.now(),f=yield*t.uploadChunk(s,l,c);if(f.size&&f.offset>=f.size)if(yield*i.delete(s),l&&(yield*n.logInfo(`[Upload] Upload completed, cleared auth cache: ${s}`)),l&&f.size){yield*n.logInfo(`[Upload] Recording metrics for org: ${l}, size: ${f.size}`),yield*n.forkDaemon(a.recordUpload(l,f.size,u));let e=Date.now()-d;yield*n.forkDaemon(o.onUploadComplete({clientId:l,operation:`upload`,metadata:{uploadId:s,fileSize:f.size,duration:e}}))}else yield*n.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`);return l&&(yield*n.logInfo(`[Upload] Chunk uploaded for upload: ${s}, client: ${l}`)),{status:200,body:f}}),st=(e,t)=>n.gen(function*(){switch(e.type){case`create-upload`:return yield*rt(e);case`get-capabilities`:return yield*it(e);case`get-upload`:return yield*at(e);case`upload-chunk`:return yield*ot(e);case`get-flow`:return yield*Re(e);case`run-flow`:return yield*ze(e);case`job-status`:return yield*Be(e);case`resume-flow`:return yield*Ve(e);case`pause-flow`:return yield*He(e);case`cancel-flow`:return yield*Ue(e);case`dlq-list`:return yield*Ae(e);case`dlq-get`:return yield*je(e);case`dlq-retry`:return yield*Me(e);case`dlq-retry-all`:return yield*Ne(e);case`dlq-delete`:return yield*Pe(e);case`dlq-resolve`:return yield*Fe(e);case`dlq-cleanup`:return yield*Ie(e);case`dlq-stats`:return yield*Le(e);case`health`:return yield*et(e,t?.healthCheckConfig);case`health-ready`:return yield*tt(e,t?.healthCheckConfig);case`health-components`:return yield*nt(e,t?.healthCheckConfig);case`not-found`:return{status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}};case`bad-request`:return{status:400,body:{error:`Bad request`,message:e.message}};case`method-not-allowed`:return{status:405,headers:{"Content-Type":`application/json`},body:{error:`Method not allowed`}};case`unsupported-content-type`:return{status:415,headers:{"Content-Type":`application/json`},body:{error:`Unsupported content type`}}}}),ct=async({flows:e,dataStore:t,kvStore:a,plugins:o=[],eventEmitter:c,eventBroadcaster:d=ce,withTracing:ee=!1,observabilityLayer:p,baseUrl:m=`uploadista`,generateId:re=oe,metricsLayer:h,bufferedDataStore:g,adapter:_,authCacheConfig:ie,circuitBreaker:ae=!0,deadLetterQueue:se=!1,healthCheck:ue,usageHooks:v})=>{let y=c??le(d),b=m.endsWith(`/`)?m.slice(0,-1):m,x=r.effect(s,n.succeed({getFlow:(t,n)=>e(t,n)}));if(!y)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let S=k({kvStore:a,eventEmitter:y,dataStore:await te(t),bufferedDataStore:g,generateId:re}),C=A({kvStore:a,eventEmitter:y,flowProvider:x,uploadServer:S}),w=pe(ie),T=h??de,E=ae?f.pipe(r.provide(a)):null,D=se?u.pipe(r.provide(ne),r.provide(a)):null,O=J(v),he=r.mergeAll(S,C,T,w,O,...o,...E?[E]:[],...D?[D]:[]),j=ee?p??fe:null,M=he,ge=j?r.merge(M,j):M,N=i.make(ge);return{handler:async e=>{let t=n.gen(function*(){let t=yield*_.extractRequest(e,{baseUrl:b}),i=null;if(_.runAuthMiddleware){let t=yield*_.runAuthMiddleware(e).pipe(n.timeout(`5 seconds`),n.catchAll(()=>(console.error(`Auth middleware timeout exceeded (5 seconds)`),n.succeed({_tag:`TimeoutError`}))),n.catchAllCause(e=>(console.error(`Auth middleware error:`,e),n.succeed({_tag:`AuthError`,error:e}))));if(t&&typeof t==`object`&&`_tag`in t&&t._tag===`TimeoutError`)return yield*_.sendResponse({status:503,headers:{"Content-Type":`application/json`},body:{error:`Authentication service unavailable`,message:`Authentication took too long to respond. Please try again.`}},e);if(t&&typeof t==`object`&&`_tag`in t&&t._tag===`AuthError`)return yield*_.sendResponse({status:500,headers:{"Content-Type":`application/json`},body:{error:`Internal Server Error`,message:`An error occurred during authentication`}},e);if(t===null)return yield*_.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=t}let a=G(i,{bypassAuth:!_.runAuthMiddleware}),s=[];if(_.extractWaitUntil){let t=_.extractWaitUntil(e);t&&s.push(r.succeed(l,t))}let c=r.mergeAll(a,w,T,O,...o,...s),u=E?r.merge(c,E):c,d=D?r.merge(u,D):u;if(t.type===`not-found`)return yield*_.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let f=yield*st(t,{healthCheckConfig:ue}).pipe(n.provide(d));return yield*_.sendResponse(f,e)}).pipe(n.catchAll(t=>{let n=me(t),r={code:n.code,message:n.message};n.details!==void 0&&(r.details=n.details);let i={status:n.status,headers:{"Content-Type":`application/json`},body:r};return _.sendResponse(i,e)}));return N.runPromise(t)},websocketHandler:await N.runPromise(_.webSocketHandler({baseUrl:b})),baseUrl:b,dispose:()=>N.dispose()}};async function lt(e){return ct(e)}function ut(e){return e}function dt(e){return e}const Z={ImagePlugin:{packageName:`@uploadista/flow-images-sharp`,variableName:`sharpImagePlugin`},ImageAiPlugin:{packageName:`@uploadista/flow-images-replicate`,variableName:`replicateImagePlugin`},ZipPlugin:{packageName:`@uploadista/flow-utility-zipjs`,variableName:`zipPlugin`},CredentialProvider:{packageName:`@uploadista/core`,variableName:`credentialProviderLayer`}};function ft(e){try{let t=e;if(t._tag)return t._tag;if(t.constructor?.name)return t.constructor.name;if(t.context?.services){let e=Array.from(t.context.services.keys());if(e.length>0){let t=e[0];if(t.key)return t.key}}return null}catch{return null}}function pt(e){return e.map(e=>ft(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=pt(t),i=n.filter(e=>!r.includes(e));return i.length===0?{success:!0}:{success:!1,required:n,provided:r,missing:i,suggestions:i.map(e=>{let t=Z[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function $(e){let t=[`Server initialization failed: Missing required plugins`,``,`Required: ${e.required.join(`, `)}`,`Provided: ${e.provided.length>0?e.provided.join(`, `):`(none)`}`,`Missing: ${e.missing.join(`, `)}`,``];if(e.suggestions.length>0){t.push(`Add the missing plugins to your configuration:`),t.push(``);for(let n of e.suggestions)t.push(` ${n.importStatement}`);t.push(``),t.push(` const server = await createUploadistaServer({`),t.push(` plugins: [${[...e.provided,...e.missing.map(e=>Z[e]?.variableName||e)].join(`, `)}],`),t.push(` // ...`),t.push(` });`)}else t.push(`Note: Could not determine package names for missing plugins.`),t.push(`Please ensure all required plugin layers are provided.`);return t.join(`
2
+ `)}function mt(e){return n.sync(()=>{let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}})}function ht(e){let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}}const gt=(e,t,r)=>n.gen(function*(){if(!t){yield*n.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Job ID is required for flow event subscription`,code:`MISSING_JOB_ID`}))});return}yield*e.subscribeToFlowEvents(t,r)}),_t=(e,t)=>n.gen(function*(){t&&(yield*e.unsubscribeFromFlowEvents(t))}),vt=(e,t,r)=>n.gen(function*(){if(!t){yield*n.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Upload ID is required for upload event subscription`,code:`MISSING_UPLOAD_ID`}))});return}yield*e.subscribeToUploadEvents(t,r)}),yt=(e,t)=>n.gen(function*(){t&&(yield*e.unsubscribeFromUploadEvents(t))}),bt=(e,t,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:l}=e;return n.gen(function*(){a&&(yield*gt(r,s,i)),o&&(yield*vt(t,c,i)),i.send(JSON.stringify({type:`connection`,message:`Uploadista WebSocket connected`,id:l,jobId:s,uploadId:c,timestamp:new Date().toISOString()}))}).pipe(n.catchAll(e=>n.sync(()=>{console.error(`Error subscribing to events:`,e);let t=e instanceof b?e.body:`Failed to subscribe to events`;i.send(JSON.stringify({type:`error`,message:t,code:e instanceof b?e.code:`SUBSCRIPTION_ERROR`}))})))},xt=(e,t)=>n.sync(()=>{try{JSON.parse(e).type===`ping`&&t.send(JSON.stringify({type:`pong`,timestamp:new Date().toISOString()}))}catch(e){console.error(`Error handling WebSocket message:`,e),t.send(JSON.stringify({type:`error`,message:`Invalid message format`}))}}),St=(e,t,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return n.gen(function*(){i&&(yield*_t(r,o)),a&&(yield*yt(t,s))}).pipe(n.catchAll(e=>n.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof b?e.body:e)})))},Ct=(e,t)=>n.sync(()=>{console.error(`WebSocket error for event ${t}:`,e)});export{j as AdapterError,x as AuthCacheService,pe as AuthCacheServiceLive,W as AuthContextService,G as AuthContextServiceLive,P as AuthenticationRequiredError,be as AuthorizationError,N as BadRequestError,Oe as DEFAULT_USAGE_HOOK_TIMEOUT,I as ENGINE_PERMISSIONS,L as FLOW_PERMISSIONS,S as NoAuthCacheServiceLive,Ee as NoAuthContextServiceLive,ke as NoUsageHookServiceLive,ge as NotFoundError,xe as OrganizationMismatchError,z as PERMISSIONS,B as PERMISSION_HIERARCHY,Ce as PERMISSION_SETS,F as QuotaExceededError,R as UPLOAD_PERMISSIONS,q as UsageHookService,J as UsageHookServiceLive,M as ValidationError,De as abortResult,K as continueResult,Se as createAuthorizationErrorResponseBody,_e as createErrorResponseBody,A as createFlowServerLayer,ye as createGenericErrorResponseBody,lt as createTypeSafeServer,k as createUploadServerLayer,ve as createUploadistaErrorResponseBody,ct as createUploadistaServer,ut as defineFlow,dt as defineSimpleFlow,Te as expandPermission,he as extractFlowAndStorageId,O as extractJobAndNodeId,D as extractJobIdFromStatus,pt as extractServiceIdentifiers,$ as formatPluginValidationError,e as getAuthCredentials,w as getLastSegment,E as getRouteSegments,me as handleFlowError,St as handleWebSocketClose,Ct as handleWebSocketError,xt as handleWebSocketMessage,bt as handleWebSocketOpen,we as hasAllPermissions,U as hasAnyPermission,T as hasBasePath,H as hasPermission,V as matchesPermission,C as parseUrlSegments,Q as validatePluginRequirements,mt as validatePluginRequirementsEffect,ht as validatePluginsOrThrow};
3
3
  //# sourceMappingURL=index.mjs.map