@uploadista/server 0.0.20 → 0.1.0
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/auth/index.cjs +1 -1
- package/dist/auth/index.d.cts +80 -2
- package/dist/auth/index.d.cts.map +1 -0
- package/dist/auth/index.d.mts +80 -2
- package/dist/auth/index.d.mts.map +1 -0
- package/dist/auth/index.mjs +2 -1
- package/dist/auth/index.mjs.map +1 -0
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -13
- package/src/core/http-handlers/flow-http-handlers.ts +1 -1
- package/src/core/plugin-types.ts +1 -2
- package/tests/core/http-handlers/flow-handlers.test.ts +83 -51
- package/tests/core/http-handlers/health-handlers.test.ts +11 -10
- package/dist/auth-Ck4gisA2.cjs +0 -1
- package/dist/auth-DG0enyjj.mjs +0 -2
- package/dist/auth-DG0enyjj.mjs.map +0 -1
- package/dist/index-BXLtlr98.d.mts +0 -80
- package/dist/index-BXLtlr98.d.mts.map +0 -1
- package/dist/index-mMP18lsw.d.cts +0 -80
- package/dist/index-mMP18lsw.d.cts.map +0 -1
package/dist/auth/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=
|
|
1
|
+
const e=async({uploadistaClientId:e,uploadistaApiKey:t,baseUrl:n=`https://api.uploadista.com`})=>{let r=await fetch(`${n}/uploadista/auth/jwt?apiKey=${t}&clientId=${e}`,{method:`GET`,headers:{"Content-Type":`application/json`}});return r.ok===!0?{isValid:!0,data:await r.json()}:{isValid:!1,error:`Failed to get auth credentials`}};exports.getAuthCredentials=e;
|
package/dist/auth/index.d.cts
CHANGED
|
@@ -1,2 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/auth/get-auth-credentials.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Response type for authentication credential requests.
|
|
4
|
+
* - `isValid: true` with token and expiration
|
|
5
|
+
* - `isValid: false` with error message
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const response = await getAuthCredentials({
|
|
10
|
+
* uploadistaClientId: "my-client",
|
|
11
|
+
* uploadistaApiKey: "sk_..."
|
|
12
|
+
* });
|
|
13
|
+
* if (response.isValid) {
|
|
14
|
+
* console.log(`Token: ${response.data.token}`);
|
|
15
|
+
* } else {
|
|
16
|
+
* console.error(`Auth failed: ${response.error}`);
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
type AuthCredentialsResponse = {
|
|
21
|
+
isValid: true;
|
|
22
|
+
data: {
|
|
23
|
+
token: string;
|
|
24
|
+
expiresIn: number;
|
|
25
|
+
};
|
|
26
|
+
} | {
|
|
27
|
+
isValid: false;
|
|
28
|
+
error: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Retrieve JWT authentication credentials from the Uploadista server.
|
|
32
|
+
* This function exchanges client credentials (ID + API key) for a signed JWT token.
|
|
33
|
+
*
|
|
34
|
+
* The JWT token is then used in subsequent API requests via the Authorization header.
|
|
35
|
+
* Tokens are time-limited and should be refreshed before expiration.
|
|
36
|
+
*
|
|
37
|
+
* @param params - Credential exchange parameters
|
|
38
|
+
* @param params.uploadistaClientId - Your Uploadista client ID
|
|
39
|
+
* @param params.uploadistaApiKey - Your Uploadista API key (secret)
|
|
40
|
+
* @param params.baseUrl - Uploadista server base URL (default: https://api.uploadista.com)
|
|
41
|
+
* @returns Promise resolving to authentication response with token or error
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* import { getAuthCredentials } from "@uploadista/server";
|
|
46
|
+
*
|
|
47
|
+
* // Get JWT token for API requests
|
|
48
|
+
* const response = await getAuthCredentials({
|
|
49
|
+
* uploadistaClientId: process.env.UPLOADISTA_CLIENT_ID,
|
|
50
|
+
* uploadistaApiKey: process.env.UPLOADISTA_API_KEY,
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* if (response.isValid) {
|
|
54
|
+
* // Use token in API requests
|
|
55
|
+
* const headers = {
|
|
56
|
+
* Authorization: `Bearer ${response.data.token}`,
|
|
57
|
+
* };
|
|
58
|
+
*
|
|
59
|
+
* // Token expires in response.data.expiresIn seconds
|
|
60
|
+
* setTimeout(
|
|
61
|
+
* () => {
|
|
62
|
+
* // Refresh token before expiration
|
|
63
|
+
* },
|
|
64
|
+
* response.data.expiresIn * 1000,
|
|
65
|
+
* );
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
declare const getAuthCredentials: ({
|
|
70
|
+
uploadistaClientId,
|
|
71
|
+
uploadistaApiKey,
|
|
72
|
+
baseUrl
|
|
73
|
+
}: {
|
|
74
|
+
uploadistaClientId: string;
|
|
75
|
+
uploadistaApiKey: string;
|
|
76
|
+
baseUrl?: string;
|
|
77
|
+
}) => Promise<AuthCredentialsResponse>;
|
|
78
|
+
//#endregion
|
|
79
|
+
export { AuthCredentialsResponse, getAuthCredentials };
|
|
80
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/auth/get-auth-credentials.ts"],"sourcesContent":[],"mappings":";;AAkBA;AAiDA;;;;;;;;;;;;;;;;KAjDY,uBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDC;;;;;;;;MAQT,QAAQ"}
|
package/dist/auth/index.d.mts
CHANGED
|
@@ -1,2 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/auth/get-auth-credentials.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Response type for authentication credential requests.
|
|
4
|
+
* - `isValid: true` with token and expiration
|
|
5
|
+
* - `isValid: false` with error message
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const response = await getAuthCredentials({
|
|
10
|
+
* uploadistaClientId: "my-client",
|
|
11
|
+
* uploadistaApiKey: "sk_..."
|
|
12
|
+
* });
|
|
13
|
+
* if (response.isValid) {
|
|
14
|
+
* console.log(`Token: ${response.data.token}`);
|
|
15
|
+
* } else {
|
|
16
|
+
* console.error(`Auth failed: ${response.error}`);
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
type AuthCredentialsResponse = {
|
|
21
|
+
isValid: true;
|
|
22
|
+
data: {
|
|
23
|
+
token: string;
|
|
24
|
+
expiresIn: number;
|
|
25
|
+
};
|
|
26
|
+
} | {
|
|
27
|
+
isValid: false;
|
|
28
|
+
error: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Retrieve JWT authentication credentials from the Uploadista server.
|
|
32
|
+
* This function exchanges client credentials (ID + API key) for a signed JWT token.
|
|
33
|
+
*
|
|
34
|
+
* The JWT token is then used in subsequent API requests via the Authorization header.
|
|
35
|
+
* Tokens are time-limited and should be refreshed before expiration.
|
|
36
|
+
*
|
|
37
|
+
* @param params - Credential exchange parameters
|
|
38
|
+
* @param params.uploadistaClientId - Your Uploadista client ID
|
|
39
|
+
* @param params.uploadistaApiKey - Your Uploadista API key (secret)
|
|
40
|
+
* @param params.baseUrl - Uploadista server base URL (default: https://api.uploadista.com)
|
|
41
|
+
* @returns Promise resolving to authentication response with token or error
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* import { getAuthCredentials } from "@uploadista/server";
|
|
46
|
+
*
|
|
47
|
+
* // Get JWT token for API requests
|
|
48
|
+
* const response = await getAuthCredentials({
|
|
49
|
+
* uploadistaClientId: process.env.UPLOADISTA_CLIENT_ID,
|
|
50
|
+
* uploadistaApiKey: process.env.UPLOADISTA_API_KEY,
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* if (response.isValid) {
|
|
54
|
+
* // Use token in API requests
|
|
55
|
+
* const headers = {
|
|
56
|
+
* Authorization: `Bearer ${response.data.token}`,
|
|
57
|
+
* };
|
|
58
|
+
*
|
|
59
|
+
* // Token expires in response.data.expiresIn seconds
|
|
60
|
+
* setTimeout(
|
|
61
|
+
* () => {
|
|
62
|
+
* // Refresh token before expiration
|
|
63
|
+
* },
|
|
64
|
+
* response.data.expiresIn * 1000,
|
|
65
|
+
* );
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
declare const getAuthCredentials: ({
|
|
70
|
+
uploadistaClientId,
|
|
71
|
+
uploadistaApiKey,
|
|
72
|
+
baseUrl
|
|
73
|
+
}: {
|
|
74
|
+
uploadistaClientId: string;
|
|
75
|
+
uploadistaApiKey: string;
|
|
76
|
+
baseUrl?: string;
|
|
77
|
+
}) => Promise<AuthCredentialsResponse>;
|
|
78
|
+
//#endregion
|
|
79
|
+
export { AuthCredentialsResponse, getAuthCredentials };
|
|
80
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/auth/get-auth-credentials.ts"],"sourcesContent":[],"mappings":";;AAkBA;AAiDA;;;;;;;;;;;;;;;;KAjDY,uBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDC;;;;;;;;MAQT,QAAQ"}
|
package/dist/auth/index.mjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
const e=async({uploadistaClientId:e,uploadistaApiKey:t,baseUrl:n=`https://api.uploadista.com`})=>{let r=await fetch(`${n}/uploadista/auth/jwt?apiKey=${t}&clientId=${e}`,{method:`GET`,headers:{"Content-Type":`application/json`}});return r.ok===!0?{isValid:!0,data:await r.json()}:{isValid:!1,error:`Failed to get auth credentials`}};export{e as getAuthCredentials};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/auth/get-auth-credentials.ts"],"sourcesContent":["/**\n * Response type for authentication credential requests.\n * - `isValid: true` with token and expiration\n * - `isValid: false` with error message\n *\n * @example\n * ```typescript\n * const response = await getAuthCredentials({\n * uploadistaClientId: \"my-client\",\n * uploadistaApiKey: \"sk_...\"\n * });\n * if (response.isValid) {\n * console.log(`Token: ${response.data.token}`);\n * } else {\n * console.error(`Auth failed: ${response.error}`);\n * }\n * ```\n */\nexport type AuthCredentialsResponse =\n | {\n isValid: true;\n data: { token: string; expiresIn: number };\n }\n | {\n isValid: false;\n error: string;\n };\n\n/**\n * Retrieve JWT authentication credentials from the Uploadista server.\n * This function exchanges client credentials (ID + API key) for a signed JWT token.\n *\n * The JWT token is then used in subsequent API requests via the Authorization header.\n * Tokens are time-limited and should be refreshed before expiration.\n *\n * @param params - Credential exchange parameters\n * @param params.uploadistaClientId - Your Uploadista client ID\n * @param params.uploadistaApiKey - Your Uploadista API key (secret)\n * @param params.baseUrl - Uploadista server base URL (default: https://api.uploadista.com)\n * @returns Promise resolving to authentication response with token or error\n *\n * @example\n * ```typescript\n * import { getAuthCredentials } from \"@uploadista/server\";\n *\n * // Get JWT token for API requests\n * const response = await getAuthCredentials({\n * uploadistaClientId: process.env.UPLOADISTA_CLIENT_ID,\n * uploadistaApiKey: process.env.UPLOADISTA_API_KEY,\n * });\n *\n * if (response.isValid) {\n * // Use token in API requests\n * const headers = {\n * Authorization: `Bearer ${response.data.token}`,\n * };\n *\n * // Token expires in response.data.expiresIn seconds\n * setTimeout(\n * () => {\n * // Refresh token before expiration\n * },\n * response.data.expiresIn * 1000,\n * );\n * }\n * ```\n */\nexport const getAuthCredentials = async ({\n uploadistaClientId,\n uploadistaApiKey,\n baseUrl = \"https://api.uploadista.com\",\n}: {\n uploadistaClientId: string;\n uploadistaApiKey: string;\n baseUrl?: string;\n}): Promise<AuthCredentialsResponse> => {\n const response = await fetch(\n `${baseUrl}/uploadista/auth/jwt?apiKey=${uploadistaApiKey}&clientId=${uploadistaClientId}`,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n },\n );\n\n if (response.ok !== true) {\n return { isValid: false, error: \"Failed to get auth credentials\" };\n }\n\n const data = (await response.json()) as { token: string; expiresIn: number };\n\n return {\n isValid: true,\n data,\n };\n};\n"],"mappings":"AAmEA,MAAa,EAAqB,MAAO,CACvC,qBACA,mBACA,UAAU,gCAK4B,CACtC,IAAM,EAAW,MAAM,MACrB,GAAG,EAAQ,8BAA8B,EAAiB,YAAY,IACtE,CACE,OAAQ,MACR,QAAS,CACP,eAAgB,mBACjB,CACF,CACF,CAQD,OANI,EAAS,KAAO,GAMb,CACL,QAAS,GACT,KAJY,MAAM,EAAS,MAAM,CAKlC,CARQ,CAAE,QAAS,GAAO,MAAO,iCAAkC"}
|
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.uploadEngine,f)},S=({kvStore:e,eventEmitter:i,flowProvider:a,uploadEngine: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.flowEngine,l)};var C=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},w=class extends C{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},T=class extends C{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},E=class extends C{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const D=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),O=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},k=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var A=class extends C{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},j=class extends C{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},M=class extends C{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},N=class extends C{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const P=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()}),F={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},I={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},L={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},R={ENGINE:F,FLOW:I,UPLOAD:L},z={ADMIN:[F.ALL],ORGANIZATION_OWNER:[I.ALL,L.ALL],ORGANIZATION_MEMBER:[I.ALL,L.ALL],API_KEY:[I.EXECUTE,L.CREATE]},B={[F.DLQ]:[F.DLQ_READ,F.DLQ_WRITE]},V=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!B[e]?.includes(t)},H=(e,t)=>e.some(e=>V(e,t)),U=(e,t)=>t.some(t=>H(e,t)),ee=(e,t)=>t.every(t=>H(e,t)),te=e=>{let t=[e],n=B[e];return n&&t.push(...n),t};var W=class extends t.Context.Tag(`AuthContextService`)(){};const G=(e,n)=>{let r=e?.permissions??[],i=n?.bypassAuth??!1;return t.Layer.succeed(W,{getClientId:()=>t.Effect.succeed(e?.clientId??null),getMetadata:()=>t.Effect.succeed(e?.metadata??{}),hasPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(H(r,e)),hasAnyPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(U(r,e)),requirePermission:n=>t.Effect.gen(function*(){if(i){yield*t.Effect.logDebug(`[Auth] Bypass mode: permission '${n}' auto-granted`);return}if(!e)return yield*t.Effect.logDebug(`[Auth] Permission check failed: authentication required for '${n}'`),yield*t.Effect.fail(new j);if(!H(r,n))return yield*t.Effect.logDebug(`[Auth] Permission denied: '${n}' for client '${e.clientId}'`),yield*t.Effect.fail(new A(n));yield*t.Effect.logDebug(`[Auth] Permission granted: '${n}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?t.Effect.succeed(e):t.Effect.fail(new j),getPermissions:()=>t.Effect.succeed(r),getAuthContext:()=>t.Effect.succeed(e)})},ne=G(null),K=()=>({action:`continue`}),re=(e,t)=>({action:`abort`,reason:e,code:t}),q=5e3;var J=class extends t.Context.Tag(`UsageHookService`)(){};const Y=e=>{let n=e?.hooks,r=e?.timeout??q;return t.Layer.succeed(J,{onUploadStart:e=>n?.onUploadStart?n.onUploadStart(e).pipe(t.Effect.timeout(r),t.Effect.map(e=>e??K()),t.Effect.catchAll(e=>t.Effect.gen(function*(){return yield*t.Effect.logWarning(`onUploadStart hook failed: ${e}. Proceeding with upload.`),K()}))):t.Effect.succeed(K()),onUploadComplete:e=>n?.onUploadComplete?n.onUploadComplete(e).pipe(t.Effect.timeout(r),t.Effect.asVoid,t.Effect.catchAll(e=>t.Effect.logWarning(`onUploadComplete hook failed: ${e}. Upload already completed.`))):t.Effect.void,onFlowStart:e=>n?.onFlowStart?n.onFlowStart(e).pipe(t.Effect.timeout(r),t.Effect.map(e=>e??K()),t.Effect.catchAll(e=>t.Effect.gen(function*(){return yield*t.Effect.logWarning(`onFlowStart hook failed: ${e}. Proceeding with flow.`),K()}))):t.Effect.succeed(K()),onFlowComplete:e=>n?.onFlowComplete?n.onFlowComplete(e).pipe(t.Effect.timeout(r),t.Effect.asVoid,t.Effect.catchAll(e=>t.Effect.logWarning(`onFlowComplete hook failed: ${e}. Flow already completed.`))):t.Effect.void})},ie=Y(),ae=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let t=yield*(yield*n.DeadLetterQueueService).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),oe=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let t=yield*(yield*n.DeadLetterQueueService).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),se=e=>t.Effect.gen(function*(){return yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE),yield*(yield*n.DeadLetterQueueService).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),ce=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let r=yield*n.DeadLetterQueueService,{items:i}=yield*r.list({status:e.options?.status,flowId:e.options?.flowId}),a=0,o=0;for(let e of i)(yield*t.Effect.either(r.markRetrying(e.id)))._tag===`Right`?a++:o++;return{type:`dlq-retry-all`,status:200,headers:{"Content-Type":`application/json`},body:{retried:i.length,succeeded:a,failed:o}}}),le=e=>t.Effect.gen(function*(){return yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE),yield*(yield*n.DeadLetterQueueService).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),ue=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let t=yield*(yield*n.DeadLetterQueueService).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),de=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let t=yield*(yield*n.DeadLetterQueueService).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),fe=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let e=yield*(yield*n.DeadLetterQueueService).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),pe=({flowId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*i.getClientId();return yield*i.requirePermission(R.FLOW.STATUS),a&&(yield*t.Effect.logInfo(`[Flow] Getting flow data: ${e}, client: ${a}`)),{status:200,body:yield*r.getFlowData(e,a)}}),me=({flowId:e,storageId:r,inputs:i})=>t.Effect.gen(function*(){let a=yield*n.FlowEngine,o=yield*W,s=yield*u,c=yield*J,l=yield*o.getClientId();if(yield*o.requirePermission(R.FLOW.EXECUTE),l?(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}, client: ${l}`),yield*t.Effect.logInfo(JSON.stringify(i,null,2))):(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}`),yield*t.Effect.logInfo(`[Flow] Inputs: ${JSON.stringify(i,null,2)}`)),l){let n=yield*c.onFlowStart({clientId:l,operation:`flow`,metadata:{flowId:e}});if(n.action===`abort`)return yield*t.Effect.fail(new N(n.reason,n.code??`SUBSCRIPTION_REQUIRED`))}yield*t.Effect.logInfo(`[Flow] Calling flowServer.runFlow...`);let d=yield*a.runFlow({flowId:e,storageId:r,clientId:l,inputs:i}).pipe(t.Effect.tap(()=>t.Effect.logInfo(`[Flow] runFlow completed successfully`)),t.Effect.tapError(e=>t.Effect.logError(`[Flow] runFlow failed with error: ${e}`))),f=yield*o.getAuthContext();return f&&(yield*s.set(d.id,f)),yield*t.Effect.logInfo(`[Flow] Flow started with jobId: ${d.id}`),{status:200,body:d}}),he=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u,o=yield*i.getClientId();if(yield*i.requirePermission(R.FLOW.STATUS),!e)throw Error(`No job id`);o&&(yield*t.Effect.logInfo(`[Flow] Getting job status: ${e}, client: ${o}`));let s=yield*r.getJobStatus(e);return(s.status===`completed`||s.status===`failed`)&&(yield*a.delete(e),o&&(yield*t.Effect.logInfo(`[Flow] Flow ${s.status}, cleared auth cache: ${e}`))),{status:200,body:s}}),ge=({jobId:e,nodeId:r,newData:i})=>t.Effect.gen(function*(){let a=yield*n.FlowEngine,o=yield*W,s=yield*u;yield*o.requirePermission(R.FLOW.EXECUTE);let c=yield*o.getClientId();if(c||=(yield*s.get(e))?.clientId??null,c&&(yield*t.Effect.logInfo(`[Flow] Continuing flow: jobId=${e}, nodeId=${r}, client: ${c}`)),i===void 0)throw Error(`Missing newData`);let l=yield*a.resumeFlow({jobId:e,nodeId:r,newData:i,clientId:c});return(l.status===`completed`||l.status===`failed`)&&(yield*s.delete(e),c&&(yield*t.Effect.logInfo(`[Flow] Flow ${l.status}, cleared auth cache: ${e}`))),{status:200,body:l}}),_e=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u;yield*i.requirePermission(R.FLOW.CANCEL);let o=yield*i.getClientId();o||=(yield*a.get(e))?.clientId??null,o&&(yield*t.Effect.logInfo(`[Flow] Pausing flow: jobId=${e}, client: ${o}`));let s=yield*r.pauseFlow(e,o);return o&&(yield*t.Effect.logInfo(`[Flow] Flow paused: ${e}, status: ${s.status}`)),{status:200,body:s}}),ve=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u,o=yield*J;if(yield*i.requirePermission(R.FLOW.CANCEL),!e)throw Error(`No job id`);let s=yield*i.getClientId();s||=(yield*a.get(e))?.clientId??null,s&&(yield*t.Effect.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${s}`));let c=yield*r.cancelFlow(e,s);return yield*a.delete(e),s&&(yield*t.Effect.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`),yield*t.Effect.forkDaemon(o.onFlowComplete({clientId:s,operation:`flow`,metadata:{jobId:e,status:`cancelled`}}))),{status:200,body:c}}),ye=Date.now();function X(){return Date.now()-ye}function Z(){return new Date().toISOString()}function be(e){return{status:`healthy`,timestamp:Z(),version:e?.version,uptime:X()}}function xe(e){let t=[];if(e.storage&&t.push(e.storage.status),e.kvStore&&t.push(e.kvStore.status),t.includes(`unhealthy`))return`unhealthy`;let n=[...t];return e.eventBroadcaster&&n.push(e.eventBroadcaster.status),e.circuitBreaker&&n.push(e.circuitBreaker.status),e.deadLetterQueue&&n.push(e.deadLetterQueue.status),n.includes(`degraded`)?`degraded`:`healthy`}function Se(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Storage backend configured`,lastCheck:Z()})}function Ce(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`KV store configured`,lastCheck:Z()})}function we(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Event broadcaster configured`,lastCheck:Z()})}function Te(){return t.Effect.gen(function*(){let e=yield*t.Effect.serviceOption(r.CircuitBreakerStoreService);if(t.Option.isNone(e))return;let n=e.value,i=yield*t.Effect.either(n.getAllStats());if(i._tag===`Left`)return{status:`degraded`,openCircuits:0,totalCircuits:0};let a=i.right,o=Array.from(a.values()),s=o.filter(e=>e.state===`open`).length,c=o.length,l=`healthy`;return s>0&&(l=`degraded`),{status:l,openCircuits:s,totalCircuits:c,circuits:o.map(e=>({nodeType:e.nodeType,state:e.state,failureCount:e.failureCount,timeSinceLastStateChange:e.timeSinceLastStateChange}))}})}function Ee(){return t.Effect.gen(function*(){let e=yield*n.DeadLetterQueueService.optional;if(t.Option.isNone(e))return;let r=e.value,i=yield*t.Effect.either(r.getStats());if(i._tag===`Left`)return{status:`degraded`,pendingItems:0,exhaustedItems:0};let a=i.right,o=`healthy`;return a.byStatus.exhausted>0&&(o=`degraded`),{status:o,pendingItems:a.byStatus.pending,exhaustedItems:a.byStatus.exhausted,oldestItem:a.oldestItem?.toISOString()}})}function De(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};return n.checkStorage&&(t.storage=yield*Se(n)),n.checkKvStore&&(t.kvStore=yield*Ce(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*we(n)),{status:xe(t),timestamp:Z(),version:e.version,uptime:X(),components:t}})}function Oe(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};n.checkStorage&&(t.storage=yield*Se(n)),n.checkKvStore&&(t.kvStore=yield*Ce(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*we(n));let r=yield*Te();r&&(t.circuitBreaker=r);let i=yield*Ee();return i&&(t.deadLetterQueue=i),{status:xe(t),timestamp:Z(),version:e.version,uptime:X(),components:t}})}const ke=(e,n)=>t.Effect.sync(()=>{let t=be(n);return(0,r.getHealthResponseFormat)(e.acceptHeader)===`text`?{type:`health`,status:200,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Ae=(e,n)=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.READINESS);let t=yield*De(n),i=(0,r.getHealthResponseFormat)(e.acceptHeader),a=t.status===`unhealthy`?503:200;return i===`text`?{type:`health-ready`,status:a,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health-ready`,status:a,headers:{"Content-Type":`application/json`},body:t}}),je=(e,n)=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.READINESS);let t=yield*Oe(n);return(0,r.getHealthResponseFormat)(e.acceptHeader)===`text`?{type:`health-components`,status:200,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health-components`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Me=e=>t.Effect.gen(function*(){let n=yield*c.UploadEngine,a=yield*W,o=yield*u,s=yield*J,l=yield*a.getClientId();yield*a.requirePermission(R.UPLOAD.CREATE),l&&(yield*t.Effect.logInfo(`[Upload] Creating upload for client: ${l}`));let d=yield*t.Effect.sync(()=>r.inputFileSchema.safeParse(e.data));if(!d.success)return yield*t.Effect.fail(new w(`Invalid input file schema`));if(d.data.checksumAlgorithm&&!(0,i.isSupportedAlgorithm)(d.data.checksumAlgorithm))return yield*t.Effect.fail(new w(`Unsupported checksum algorithm: ${d.data.checksumAlgorithm}. Supported algorithms: sha256`));if(l){let e=yield*s.onUploadStart({clientId:l,operation:`upload`,metadata:{fileSize:d.data.size,mimeType:d.data.type,fileName:d.data.fileName}});if(e.action===`abort`)return yield*t.Effect.fail(new N(e.reason,e.code??`QUOTA_EXCEEDED`))}let f=yield*n.createUpload(d.data,l),p=yield*a.getAuthContext();return p&&(yield*o.set(f.id,p)),l&&(yield*t.Effect.logInfo(`[Upload] Upload created: ${f.id} for client: ${l}`)),{status:200,body:f}}),Ne=({storageId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadEngine,n=yield*W,r=yield*n.getClientId();return yield*n.requirePermission(R.UPLOAD.READ),{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,r),timestamp:new Date().toISOString()}}}),Pe=({uploadId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadEngine;return yield*(yield*W).requirePermission(R.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),Fe=e=>t.Effect.gen(function*(){let n=yield*c.UploadEngine,r=yield*W,i=yield*u,a=yield*s.MetricsService,o=yield*J,{uploadId:l,data:d}=e;yield*r.requirePermission(R.UPLOAD.CREATE);let f=yield*r.getClientId(),p=yield*r.getMetadata();if(!f){let e=yield*i.get(l);f=e?.clientId??null,p=e?.metadata??{}}f&&(yield*t.Effect.logInfo(`[Upload] Uploading chunk for upload: ${l}, client: ${f}`));let m=Date.now(),h=yield*n.uploadChunk(l,f,d);if(h.size&&h.offset>=h.size)if(yield*i.delete(l),f&&(yield*t.Effect.logInfo(`[Upload] Upload completed, cleared auth cache: ${l}`)),f&&h.size){yield*t.Effect.logInfo(`[Upload] Recording metrics for org: ${f}, size: ${h.size}`),yield*t.Effect.forkDaemon(a.recordUpload(f,h.size,p));let e=Date.now()-m;yield*t.Effect.forkDaemon(o.onUploadComplete({clientId:f,operation:`upload`,metadata:{uploadId:l,fileSize:h.size,duration:e}}))}else yield*t.Effect.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`);return f&&(yield*t.Effect.logInfo(`[Upload] Chunk uploaded for upload: ${l}, client: ${f}`)),{status:200,body:h}}),Ie=(e,n)=>t.Effect.gen(function*(){switch(e.type){case`create-upload`:return yield*Me(e);case`get-capabilities`:return yield*Ne(e);case`get-upload`:return yield*Pe(e);case`upload-chunk`:return yield*Fe(e);case`get-flow`:return yield*pe(e);case`run-flow`:return yield*me(e);case`job-status`:return yield*he(e);case`resume-flow`:return yield*ge(e);case`pause-flow`:return yield*_e(e);case`cancel-flow`:return yield*ve(e);case`dlq-list`:return yield*ae(e);case`dlq-get`:return yield*oe(e);case`dlq-retry`:return yield*se(e);case`dlq-retry-all`:return yield*ce(e);case`dlq-delete`:return yield*le(e);case`dlq-resolve`:return yield*ue(e);case`dlq-cleanup`:return yield*de(e);case`dlq-stats`:return yield*fe(e);case`health`:return yield*ke(e,n?.healthCheckConfig);case`health-ready`:return yield*Ae(e,n?.healthCheckConfig);case`health-components`:return yield*je(e,n?.healthCheckConfig);case`not-found`:return{status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}};case`bad-request`:return{status:400,body:{error:`Bad request`,message:e.message}};case`method-not-allowed`:return{status:405,headers:{"Content-Type":`application/json`},body:{error:`Method not allowed`}};case`unsupported-content-type`:return{status:415,headers:{"Content-Type":`application/json`},body:{error:`Unsupported content type`}}}}),Le=async({flows:e,dataStore:c,kvStore:l,plugins:u=[],eventEmitter:f,eventBroadcaster:p=a.memoryEventBroadcaster,withTracing:m=!1,observabilityLayer:h,baseUrl:g=`uploadista`,generateId:v=i.GenerateIdLive,metricsLayer:y,bufferedDataStore:b,adapter:C,authCacheConfig:w,circuitBreaker:T=!0,deadLetterQueue:E=!1,healthCheck:D,usageHooks:O})=>{let k=f??(0,o.webSocketEventEmitter)(p),A=g.endsWith(`/`)?g.slice(0,-1):g,j=t.Layer.effect(n.FlowProvider,t.Effect.succeed({getFlow:(t,n)=>e(t,n)}));if(!k)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let M=x({kvStore:l,eventEmitter:k,dataStore:await(0,r.createDataStoreLayer)(c),bufferedDataStore:b,generateId:v}),N=S({kvStore:l,eventEmitter:k,flowProvider:j,uploadEngine:M}),P=d(w),F=y??s.NoOpMetricsServiceLive,I=T?n.kvCircuitBreakerStoreLayer.pipe(t.Layer.provide(l)):null,L=E?n.deadLetterQueueService.pipe(t.Layer.provide(r.deadLetterQueueKvStore),t.Layer.provide(l)):null,R=Y(O),z=t.Layer.mergeAll(M,N,F,P,R,...u,...I?[I]:[],...L?[L]:[]),B=m?h??s.NodeSdkLive:null,V=z,H=B?t.Layer.merge(V,B):V,U=t.ManagedRuntime.make(H);return{handler:async e=>{let r=t.Effect.gen(function*(){let r=yield*C.extractRequest(e,{baseUrl:A}),i=null;if(C.runAuthMiddleware){let n=yield*C.runAuthMiddleware(e).pipe(t.Effect.timeout(`5 seconds`),t.Effect.catchAll(()=>(console.error(`Auth middleware timeout exceeded (5 seconds)`),t.Effect.succeed({_tag:`TimeoutError`}))),t.Effect.catchAllCause(e=>(console.error(`Auth middleware error:`,e),t.Effect.succeed({_tag:`AuthError`,error:e}))));if(n&&typeof n==`object`&&`_tag`in n&&n._tag===`TimeoutError`)return yield*C.sendResponse({status:503,headers:{"Content-Type":`application/json`},body:{error:`Authentication service unavailable`,message:`Authentication took too long to respond. Please try again.`}},e);if(n&&typeof n==`object`&&`_tag`in n&&n._tag===`AuthError`)return yield*C.sendResponse({status:500,headers:{"Content-Type":`application/json`},body:{error:`Internal Server Error`,message:`An error occurred during authentication`}},e);if(n===null)return yield*C.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=n}let a=G(i,{bypassAuth:!C.runAuthMiddleware}),o=[];if(C.extractWaitUntil){let r=C.extractWaitUntil(e);r&&o.push(t.Layer.succeed(n.FlowWaitUntil,r))}let s=t.Layer.mergeAll(a,P,F,R,...u,...o),c=I?t.Layer.merge(s,I):s,l=L?t.Layer.merge(c,L):c;if(r.type===`not-found`)return yield*C.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let d=yield*Ie(r,{healthCheckConfig:D}).pipe(t.Effect.provide(l));return yield*C.sendResponse(d,e)}).pipe(t.Effect.catchAll(t=>{let n=_(t),r={code:n.code,message:n.message};n.details!==void 0&&(r.details=n.details);let i={status:n.status,headers:{"Content-Type":`application/json`},body:r};return C.sendResponse(i,e)}));return U.runPromise(r)},websocketHandler:await U.runPromise(C.webSocketHandler({baseUrl:A})),baseUrl:A,dispose:()=>U.dispose()}};async function Re(e){return Le(e)}function ze(e){return e}function Be(e){return e}const Ve={ImagePlugin:{packageName:`@uploadista/flow-images-sharp`,variableName:`sharpImagePlugin`},ImageAiPlugin:{packageName:`@uploadista/flow-images-replicate`,variableName:`replicateImagePlugin`},ZipPlugin:{packageName:`@uploadista/flow-utility-zipjs`,variableName:`zipPlugin`},CredentialProvider:{packageName:`@uploadista/core`,variableName:`credentialProviderLayer`}};function He(e){try{let t=e;if(t._tag)return t._tag;if(t.constructor?.name)return t.constructor.name;if(t.context?.services){let e=Array.from(t.context.services.keys());if(e.length>0){let t=e[0];if(t.key)return t.key}}return null}catch{return null}}function Ue(e){return e.map(e=>He(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=Ue(t),i=n.filter(e=>!r.includes(e));return i.length===0?{success:!0}:{success:!1,required:n,provided:r,missing:i,suggestions:i.map(e=>{let t=Ve[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function $(e){let t=[`Server initialization failed: Missing required plugins`,``,`Required: ${e.required.join(`, `)}`,`Provided: ${e.provided.length>0?e.provided.join(`, `):`(none)`}`,`Missing: ${e.missing.join(`, `)}`,``];if(e.suggestions.length>0){t.push(`Add the missing plugins to your configuration:`),t.push(``);for(let n of e.suggestions)t.push(` ${n.importStatement}`);t.push(``),t.push(` const server = await createUploadistaServer({`),t.push(` plugins: [${[...e.provided,...e.missing.map(e=>Ve[e]?.variableName||e)].join(`, `)}],`),t.push(` // ...`),t.push(` });`)}else t.push(`Note: Could not determine package names for missing plugins.`),t.push(`Please ensure all required plugin layers are provided.`);return t.join(`
|
|
2
|
-
`)}function We(e){return t.Effect.sync(()=>{let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}})}function Ge(e){let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}}const Ke=(e,n,r)=>t.Effect.gen(function*(){if(!n){yield*t.Effect.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Job ID is required for flow event subscription`,code:`MISSING_JOB_ID`}))});return}yield*e.subscribeToFlowEvents(n,r)}),qe=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromFlowEvents(n))}),Je=(e,n,r)=>t.Effect.gen(function*(){if(!n){yield*t.Effect.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Upload ID is required for upload event subscription`,code:`MISSING_UPLOAD_ID`}))});return}yield*e.subscribeToUploadEvents(n,r)}),Ye=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromUploadEvents(n))}),Xe=(e,n,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:u}=e;return t.Effect.gen(function*(){a&&(yield*Ke(r,s,i)),o&&(yield*Je(n,c,i)),i.send(JSON.stringify({type:`connection`,message:`Uploadista WebSocket connected`,id:u,jobId:s,uploadId:c,timestamp:new Date().toISOString()}))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error subscribing to events:`,e);let t=e instanceof l.UploadistaError?e.body:`Failed to subscribe to events`;i.send(JSON.stringify({type:`error`,message:t,code:e instanceof l.UploadistaError?e.code:`SUBSCRIPTION_ERROR`}))})))},Ze=(e,n)=>t.Effect.sync(()=>{try{JSON.parse(e).type===`ping`&&n.send(JSON.stringify({type:`pong`,timestamp:new Date().toISOString()}))}catch(e){console.error(`Error handling WebSocket message:`,e),n.send(JSON.stringify({type:`error`,message:`Invalid message format`}))}}),Qe=(e,n,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return t.Effect.gen(function*(){i&&(yield*qe(r,o)),a&&(yield*Ye(n,s))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof l.UploadistaError?e.body:e)})))},$e=(e,n)=>t.Effect.sync(()=>{console.error(`WebSocket error for event ${n}:`,e)});exports.AdapterError=C,exports.AuthCacheService=u,exports.AuthCacheServiceLive=d,exports.AuthContextService=W,exports.AuthContextServiceLive=G,exports.AuthenticationRequiredError=j,exports.AuthorizationError=A,exports.BadRequestError=E,exports.DEFAULT_USAGE_HOOK_TIMEOUT=q,exports.ENGINE_PERMISSIONS=F,exports.FLOW_PERMISSIONS=I,exports.NoAuthCacheServiceLive=f,exports.NoAuthContextServiceLive=ne,exports.NoUsageHookServiceLive=ie,exports.NotFoundError=T,exports.OrganizationMismatchError=M,exports.PERMISSIONS=R,exports.PERMISSION_HIERARCHY=B,exports.PERMISSION_SETS=z,exports.QuotaExceededError=N,exports.UPLOAD_PERMISSIONS=L,exports.UsageHookService=J,exports.UsageHookServiceLive=Y,exports.ValidationError=w,exports.abortResult=re,exports.continueResult=K,exports.createAuthorizationErrorResponseBody=P,exports.createErrorResponseBody=D,exports.createFlowEngineLayer=S,exports.createGenericErrorResponseBody=k,exports.createTypeSafeServer=Re,exports.createUploadEngineLayer=x,exports.createUploadistaErrorResponseBody=O,exports.createUploadistaServer=Le,exports.defineFlow=ze,exports.defineSimpleFlow=Be,exports.expandPermission=te,exports.extractFlowAndStorageId=b,exports.extractJobAndNodeId=y,exports.extractJobIdFromStatus=v,exports.extractServiceIdentifiers=Ue,exports.formatPluginValidationError=$,exports.getAuthCredentials=e.
|
|
1
|
+
const e=require(`./auth/index.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.uploadEngine,f)},S=({kvStore:e,eventEmitter:i,flowProvider:a,uploadEngine: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.flowEngine,l)};var C=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},w=class extends C{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},T=class extends C{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},E=class extends C{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const D=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),O=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},k=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()});var A=class extends C{requiredPermission;constructor(e,t){super(t??`Permission denied: ${e} required`,403,`PERMISSION_DENIED`),this.name=`AuthorizationError`,this.requiredPermission=e}},j=class extends C{constructor(e=`Authentication required`){super(e,401,`AUTHENTICATION_REQUIRED`),this.name=`AuthenticationRequiredError`}},M=class extends C{constructor(e=`Access denied: resource belongs to another organization`){super(e,403,`ORGANIZATION_MISMATCH`),this.name=`OrganizationMismatchError`}},N=class extends C{constructor(e=`Quota exceeded`,t=`QUOTA_EXCEEDED`){super(e,402,t),this.name=`QuotaExceededError`}};const P=e=>({error:e.message,code:e.errorCode,requiredPermission:e.requiredPermission,timestamp:new Date().toISOString()}),F={ALL:`engine:*`,HEALTH:`engine:health`,READINESS:`engine:readiness`,METRICS:`engine:metrics`,DLQ:`engine:dlq`,DLQ_READ:`engine:dlq:read`,DLQ_WRITE:`engine:dlq:write`},I={ALL:`flow:*`,EXECUTE:`flow:execute`,CANCEL:`flow:cancel`,STATUS:`flow:status`},L={ALL:`upload:*`,CREATE:`upload:create`,READ:`upload:read`,CANCEL:`upload:cancel`},R={ENGINE:F,FLOW:I,UPLOAD:L},z={ADMIN:[F.ALL],ORGANIZATION_OWNER:[I.ALL,L.ALL],ORGANIZATION_MEMBER:[I.ALL,L.ALL],API_KEY:[I.EXECUTE,L.CREATE]},B={[F.DLQ]:[F.DLQ_READ,F.DLQ_WRITE]},V=(e,t)=>{if(e===t)return!0;if(e.endsWith(`:*`)){let n=e.slice(0,-1);if(t.startsWith(n))return!0}return!!B[e]?.includes(t)},H=(e,t)=>e.some(e=>V(e,t)),U=(e,t)=>t.some(t=>H(e,t)),ee=(e,t)=>t.every(t=>H(e,t)),te=e=>{let t=[e],n=B[e];return n&&t.push(...n),t};var W=class extends t.Context.Tag(`AuthContextService`)(){};const G=(e,n)=>{let r=e?.permissions??[],i=n?.bypassAuth??!1;return t.Layer.succeed(W,{getClientId:()=>t.Effect.succeed(e?.clientId??null),getMetadata:()=>t.Effect.succeed(e?.metadata??{}),hasPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(H(r,e)),hasAnyPermission:e=>i?t.Effect.succeed(!0):t.Effect.succeed(U(r,e)),requirePermission:n=>t.Effect.gen(function*(){if(i){yield*t.Effect.logDebug(`[Auth] Bypass mode: permission '${n}' auto-granted`);return}if(!e)return yield*t.Effect.logDebug(`[Auth] Permission check failed: authentication required for '${n}'`),yield*t.Effect.fail(new j);if(!H(r,n))return yield*t.Effect.logDebug(`[Auth] Permission denied: '${n}' for client '${e.clientId}'`),yield*t.Effect.fail(new A(n));yield*t.Effect.logDebug(`[Auth] Permission granted: '${n}' for client '${e.clientId}'`)}),requireAuthentication:()=>e?t.Effect.succeed(e):t.Effect.fail(new j),getPermissions:()=>t.Effect.succeed(r),getAuthContext:()=>t.Effect.succeed(e)})},ne=G(null),K=()=>({action:`continue`}),re=(e,t)=>({action:`abort`,reason:e,code:t}),q=5e3;var J=class extends t.Context.Tag(`UsageHookService`)(){};const Y=e=>{let n=e?.hooks,r=e?.timeout??q;return t.Layer.succeed(J,{onUploadStart:e=>n?.onUploadStart?n.onUploadStart(e).pipe(t.Effect.timeout(r),t.Effect.map(e=>e??K()),t.Effect.catchAll(e=>t.Effect.gen(function*(){return yield*t.Effect.logWarning(`onUploadStart hook failed: ${e}. Proceeding with upload.`),K()}))):t.Effect.succeed(K()),onUploadComplete:e=>n?.onUploadComplete?n.onUploadComplete(e).pipe(t.Effect.timeout(r),t.Effect.asVoid,t.Effect.catchAll(e=>t.Effect.logWarning(`onUploadComplete hook failed: ${e}. Upload already completed.`))):t.Effect.void,onFlowStart:e=>n?.onFlowStart?n.onFlowStart(e).pipe(t.Effect.timeout(r),t.Effect.map(e=>e??K()),t.Effect.catchAll(e=>t.Effect.gen(function*(){return yield*t.Effect.logWarning(`onFlowStart hook failed: ${e}. Proceeding with flow.`),K()}))):t.Effect.succeed(K()),onFlowComplete:e=>n?.onFlowComplete?n.onFlowComplete(e).pipe(t.Effect.timeout(r),t.Effect.asVoid,t.Effect.catchAll(e=>t.Effect.logWarning(`onFlowComplete hook failed: ${e}. Flow already completed.`))):t.Effect.void})},ie=Y(),ae=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let t=yield*(yield*n.DeadLetterQueueService).list(e.options);return{type:`dlq-list`,status:200,headers:{"Content-Type":`application/json`},body:t}}),oe=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let t=yield*(yield*n.DeadLetterQueueService).get(e.itemId);return{type:`dlq-get`,status:200,headers:{"Content-Type":`application/json`},body:t}}),se=e=>t.Effect.gen(function*(){return yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE),yield*(yield*n.DeadLetterQueueService).markRetrying(e.itemId),{type:`dlq-retry`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),ce=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let r=yield*n.DeadLetterQueueService,{items:i}=yield*r.list({status:e.options?.status,flowId:e.options?.flowId}),a=0,o=0;for(let e of i)(yield*t.Effect.either(r.markRetrying(e.id)))._tag===`Right`?a++:o++;return{type:`dlq-retry-all`,status:200,headers:{"Content-Type":`application/json`},body:{retried:i.length,succeeded:a,failed:o}}}),le=e=>t.Effect.gen(function*(){return yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE),yield*(yield*n.DeadLetterQueueService).delete(e.itemId),{type:`dlq-delete`,status:200,headers:{"Content-Type":`application/json`},body:{success:!0}}}),ue=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let t=yield*(yield*n.DeadLetterQueueService).markResolved(e.itemId);return{type:`dlq-resolve`,status:200,headers:{"Content-Type":`application/json`},body:t}}),de=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_WRITE);let t=yield*(yield*n.DeadLetterQueueService).cleanup(e.options);return{type:`dlq-cleanup`,status:200,headers:{"Content-Type":`application/json`},body:t}}),fe=e=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.DLQ_READ);let e=yield*(yield*n.DeadLetterQueueService).getStats();return{type:`dlq-stats`,status:200,headers:{"Content-Type":`application/json`},body:e}}),pe=({flowId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*i.getClientId();return yield*i.requirePermission(R.FLOW.STATUS),a&&(yield*t.Effect.logInfo(`[Flow] Getting flow data: ${e}, client: ${a}`)),{status:200,body:yield*r.getFlowData(e,a)}}),me=({flowId:e,storageId:r,inputs:i})=>t.Effect.gen(function*(){let a=yield*n.FlowEngine,o=yield*W,s=yield*u,c=yield*J,l=yield*o.getClientId();if(yield*o.requirePermission(R.FLOW.EXECUTE),l?(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}, client: ${l}`),yield*t.Effect.logInfo(JSON.stringify(i,null,2))):(yield*t.Effect.logInfo(`[Flow] Executing flow: ${e}, storage: ${r}`),yield*t.Effect.logInfo(`[Flow] Inputs: ${JSON.stringify(i,null,2)}`)),l){let n=yield*c.onFlowStart({clientId:l,operation:`flow`,metadata:{flowId:e}});if(n.action===`abort`)return yield*t.Effect.fail(new N(n.reason,n.code??`SUBSCRIPTION_REQUIRED`))}yield*t.Effect.logInfo(`[Flow] Calling flowServer.runFlow...`);let d=yield*a.runFlow({flowId:e,storageId:r,clientId:l,inputs:i}).pipe(t.Effect.tap(()=>t.Effect.logInfo(`[Flow] runFlow completed successfully`)),t.Effect.tapError(e=>t.Effect.logError(`[Flow] runFlow failed with error: ${e}`))),f=yield*o.getAuthContext();return f&&(yield*s.set(d.id,f)),yield*t.Effect.logInfo(`[Flow] Flow started with jobId: ${d.id}`),{status:200,body:d}}),he=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u,o=yield*i.getClientId();if(yield*i.requirePermission(R.FLOW.STATUS),!e)throw Error(`No job id`);o&&(yield*t.Effect.logInfo(`[Flow] Getting job status: ${e}, client: ${o}`));let s=yield*r.getJobStatus(e);return(s.status===`completed`||s.status===`failed`)&&(yield*a.delete(e),o&&(yield*t.Effect.logInfo(`[Flow] Flow ${s.status}, cleared auth cache: ${e}`))),{status:200,body:s}}),ge=({jobId:e,nodeId:r,newData:i})=>t.Effect.gen(function*(){let a=yield*n.FlowEngine,o=yield*W,s=yield*u;yield*o.requirePermission(R.FLOW.EXECUTE);let c=yield*o.getClientId();if(c||=(yield*s.get(e))?.clientId??null,c&&(yield*t.Effect.logInfo(`[Flow] Continuing flow: jobId=${e}, nodeId=${r}, client: ${c}`)),i===void 0)throw Error(`Missing newData`);let l=yield*a.resumeFlow({jobId:e,nodeId:r,newData:i,clientId:c});return(l.status===`completed`||l.status===`failed`)&&(yield*s.delete(e),c&&(yield*t.Effect.logInfo(`[Flow] Flow ${l.status}, cleared auth cache: ${e}`))),{status:200,body:l}}),_e=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u;yield*i.requirePermission(R.FLOW.CANCEL);let o=yield*i.getClientId();o||=(yield*a.get(e))?.clientId??null,o&&(yield*t.Effect.logInfo(`[Flow] Pausing flow: jobId=${e}, client: ${o}`));let s=yield*r.pauseFlow(e,o);return o&&(yield*t.Effect.logInfo(`[Flow] Flow paused: ${e}, status: ${s.status}`)),{status:200,body:s}}),ve=({jobId:e})=>t.Effect.gen(function*(){let r=yield*n.FlowEngine,i=yield*W,a=yield*u,o=yield*J;if(yield*i.requirePermission(R.FLOW.CANCEL),!e)throw Error(`No job id`);let s=yield*i.getClientId();s||=(yield*a.get(e))?.clientId??null,s&&(yield*t.Effect.logInfo(`[Flow] Cancelling flow: jobId=${e}, client: ${s}`));let c=yield*r.cancelFlow(e,s);return yield*a.delete(e),s&&(yield*t.Effect.logInfo(`[Flow] Flow cancelled, cleared auth cache: ${e}`),yield*t.Effect.forkDaemon(o.onFlowComplete({clientId:s,operation:`flow`,metadata:{jobId:e,status:`cancelled`}}))),{status:200,body:c}}),ye=Date.now();function X(){return Date.now()-ye}function Z(){return new Date().toISOString()}function be(e){return{status:`healthy`,timestamp:Z(),version:e?.version,uptime:X()}}function xe(e){let t=[];if(e.storage&&t.push(e.storage.status),e.kvStore&&t.push(e.kvStore.status),t.includes(`unhealthy`))return`unhealthy`;let n=[...t];return e.eventBroadcaster&&n.push(e.eventBroadcaster.status),e.circuitBreaker&&n.push(e.circuitBreaker.status),e.deadLetterQueue&&n.push(e.deadLetterQueue.status),n.includes(`degraded`)?`degraded`:`healthy`}function Se(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Storage backend configured`,lastCheck:Z()})}function Ce(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`KV store configured`,lastCheck:Z()})}function we(e){let n=Date.now();return t.Effect.succeed({status:`healthy`,latency:Date.now()-n,message:`Event broadcaster configured`,lastCheck:Z()})}function Te(){return t.Effect.gen(function*(){let e=yield*t.Effect.serviceOption(r.CircuitBreakerStoreService);if(t.Option.isNone(e))return;let n=e.value,i=yield*t.Effect.either(n.getAllStats());if(i._tag===`Left`)return{status:`degraded`,openCircuits:0,totalCircuits:0};let a=i.right,o=Array.from(a.values()),s=o.filter(e=>e.state===`open`).length,c=o.length,l=`healthy`;return s>0&&(l=`degraded`),{status:l,openCircuits:s,totalCircuits:c,circuits:o.map(e=>({nodeType:e.nodeType,state:e.state,failureCount:e.failureCount,timeSinceLastStateChange:e.timeSinceLastStateChange}))}})}function Ee(){return t.Effect.gen(function*(){let e=yield*n.DeadLetterQueueService.optional;if(t.Option.isNone(e))return;let r=e.value,i=yield*t.Effect.either(r.getStats());if(i._tag===`Left`)return{status:`degraded`,pendingItems:0,exhaustedItems:0};let a=i.right,o=`healthy`;return a.byStatus.exhausted>0&&(o=`degraded`),{status:o,pendingItems:a.byStatus.pending,exhaustedItems:a.byStatus.exhausted,oldestItem:a.oldestItem?.toISOString()}})}function De(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};return n.checkStorage&&(t.storage=yield*Se(n)),n.checkKvStore&&(t.kvStore=yield*Ce(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*we(n)),{status:xe(t),timestamp:Z(),version:e.version,uptime:X(),components:t}})}function Oe(e={}){let n={...r.DEFAULT_HEALTH_CHECK_CONFIG,...e};return t.Effect.gen(function*(){let t={};n.checkStorage&&(t.storage=yield*Se(n)),n.checkKvStore&&(t.kvStore=yield*Ce(n)),n.checkEventBroadcaster&&(t.eventBroadcaster=yield*we(n));let r=yield*Te();r&&(t.circuitBreaker=r);let i=yield*Ee();return i&&(t.deadLetterQueue=i),{status:xe(t),timestamp:Z(),version:e.version,uptime:X(),components:t}})}const ke=(e,n)=>t.Effect.sync(()=>{let t=be(n);return(0,r.getHealthResponseFormat)(e.acceptHeader)===`text`?{type:`health`,status:200,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Ae=(e,n)=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.READINESS);let t=yield*De(n),i=(0,r.getHealthResponseFormat)(e.acceptHeader),a=t.status===`unhealthy`?503:200;return i===`text`?{type:`health-ready`,status:a,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health-ready`,status:a,headers:{"Content-Type":`application/json`},body:t}}),je=(e,n)=>t.Effect.gen(function*(){yield*(yield*W).requirePermission(R.ENGINE.READINESS);let t=yield*Oe(n);return(0,r.getHealthResponseFormat)(e.acceptHeader)===`text`?{type:`health-components`,status:200,headers:{"Content-Type":`text/plain`},body:(0,r.formatHealthAsText)(t.status)}:{type:`health-components`,status:200,headers:{"Content-Type":`application/json`},body:t}}),Me=e=>t.Effect.gen(function*(){let n=yield*c.UploadEngine,a=yield*W,o=yield*u,s=yield*J,l=yield*a.getClientId();yield*a.requirePermission(R.UPLOAD.CREATE),l&&(yield*t.Effect.logInfo(`[Upload] Creating upload for client: ${l}`));let d=yield*t.Effect.sync(()=>r.inputFileSchema.safeParse(e.data));if(!d.success)return yield*t.Effect.fail(new w(`Invalid input file schema`));if(d.data.checksumAlgorithm&&!(0,i.isSupportedAlgorithm)(d.data.checksumAlgorithm))return yield*t.Effect.fail(new w(`Unsupported checksum algorithm: ${d.data.checksumAlgorithm}. Supported algorithms: sha256`));if(l){let e=yield*s.onUploadStart({clientId:l,operation:`upload`,metadata:{fileSize:d.data.size,mimeType:d.data.type,fileName:d.data.fileName}});if(e.action===`abort`)return yield*t.Effect.fail(new N(e.reason,e.code??`QUOTA_EXCEEDED`))}let f=yield*n.createUpload(d.data,l),p=yield*a.getAuthContext();return p&&(yield*o.set(f.id,p)),l&&(yield*t.Effect.logInfo(`[Upload] Upload created: ${f.id} for client: ${l}`)),{status:200,body:f}}),Ne=({storageId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadEngine,n=yield*W,r=yield*n.getClientId();return yield*n.requirePermission(R.UPLOAD.READ),{status:200,body:{storageId:e,capabilities:yield*t.getCapabilities(e,r),timestamp:new Date().toISOString()}}}),Pe=({uploadId:e})=>t.Effect.gen(function*(){let t=yield*c.UploadEngine;return yield*(yield*W).requirePermission(R.UPLOAD.READ),{status:200,body:yield*t.getUpload(e)}}),Fe=e=>t.Effect.gen(function*(){let n=yield*c.UploadEngine,r=yield*W,i=yield*u,a=yield*s.MetricsService,o=yield*J,{uploadId:l,data:d}=e;yield*r.requirePermission(R.UPLOAD.CREATE);let f=yield*r.getClientId(),p=yield*r.getMetadata();if(!f){let e=yield*i.get(l);f=e?.clientId??null,p=e?.metadata??{}}f&&(yield*t.Effect.logInfo(`[Upload] Uploading chunk for upload: ${l}, client: ${f}`));let m=Date.now(),h=yield*n.uploadChunk(l,f,d);if(h.size&&h.offset>=h.size)if(yield*i.delete(l),f&&(yield*t.Effect.logInfo(`[Upload] Upload completed, cleared auth cache: ${l}`)),f&&h.size){yield*t.Effect.logInfo(`[Upload] Recording metrics for org: ${f}, size: ${h.size}`),yield*t.Effect.forkDaemon(a.recordUpload(f,h.size,p));let e=Date.now()-m;yield*t.Effect.forkDaemon(o.onUploadComplete({clientId:f,operation:`upload`,metadata:{uploadId:l,fileSize:h.size,duration:e}}))}else yield*t.Effect.logWarning(`[Upload] Cannot record metrics - missing organizationId or size`);return f&&(yield*t.Effect.logInfo(`[Upload] Chunk uploaded for upload: ${l}, client: ${f}`)),{status:200,body:h}}),Ie=(e,n)=>t.Effect.gen(function*(){switch(e.type){case`create-upload`:return yield*Me(e);case`get-capabilities`:return yield*Ne(e);case`get-upload`:return yield*Pe(e);case`upload-chunk`:return yield*Fe(e);case`get-flow`:return yield*pe(e);case`run-flow`:return yield*me(e);case`job-status`:return yield*he(e);case`resume-flow`:return yield*ge(e);case`pause-flow`:return yield*_e(e);case`cancel-flow`:return yield*ve(e);case`dlq-list`:return yield*ae(e);case`dlq-get`:return yield*oe(e);case`dlq-retry`:return yield*se(e);case`dlq-retry-all`:return yield*ce(e);case`dlq-delete`:return yield*le(e);case`dlq-resolve`:return yield*ue(e);case`dlq-cleanup`:return yield*de(e);case`dlq-stats`:return yield*fe(e);case`health`:return yield*ke(e,n?.healthCheckConfig);case`health-ready`:return yield*Ae(e,n?.healthCheckConfig);case`health-components`:return yield*je(e,n?.healthCheckConfig);case`not-found`:return{status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}};case`bad-request`:return{status:400,body:{error:`Bad request`,message:e.message}};case`method-not-allowed`:return{status:405,headers:{"Content-Type":`application/json`},body:{error:`Method not allowed`}};case`unsupported-content-type`:return{status:415,headers:{"Content-Type":`application/json`},body:{error:`Unsupported content type`}}}}),Le=async({flows:e,dataStore:c,kvStore:l,plugins:u=[],eventEmitter:f,eventBroadcaster:p=a.memoryEventBroadcaster,withTracing:m=!1,observabilityLayer:h,baseUrl:g=`uploadista`,generateId:v=i.GenerateIdLive,metricsLayer:y,bufferedDataStore:b,adapter:C,authCacheConfig:w,circuitBreaker:T=!0,deadLetterQueue:E=!1,healthCheck:D,usageHooks:O})=>{let k=f??(0,o.webSocketEventEmitter)(p),A=g.endsWith(`/`)?g.slice(0,-1):g,j=t.Layer.effect(n.FlowProvider,t.Effect.succeed({getFlow:(t,n)=>e(t,n)}));if(!k)throw Error(`eventEmitter is required. Provide an event emitter layer in the configuration.`);let M=x({kvStore:l,eventEmitter:k,dataStore:await(0,r.createDataStoreLayer)(c),bufferedDataStore:b,generateId:v}),N=S({kvStore:l,eventEmitter:k,flowProvider:j,uploadEngine:M}),P=d(w),F=y??s.NoOpMetricsServiceLive,I=T?n.kvCircuitBreakerStoreLayer.pipe(t.Layer.provide(l)):null,L=E?n.deadLetterQueueService.pipe(t.Layer.provide(r.deadLetterQueueKvStore),t.Layer.provide(l)):null,R=Y(O),z=t.Layer.mergeAll(M,N,F,P,R,...u,...I?[I]:[],...L?[L]:[]),B=m?h??s.NodeSdkLive:null,V=z,H=B?t.Layer.merge(V,B):V,U=t.ManagedRuntime.make(H);return{handler:async e=>{let r=t.Effect.gen(function*(){let r=yield*C.extractRequest(e,{baseUrl:A}),i=null;if(C.runAuthMiddleware){let n=yield*C.runAuthMiddleware(e).pipe(t.Effect.timeout(`5 seconds`),t.Effect.catchAll(()=>(console.error(`Auth middleware timeout exceeded (5 seconds)`),t.Effect.succeed({_tag:`TimeoutError`}))),t.Effect.catchAllCause(e=>(console.error(`Auth middleware error:`,e),t.Effect.succeed({_tag:`AuthError`,error:e}))));if(n&&typeof n==`object`&&`_tag`in n&&n._tag===`TimeoutError`)return yield*C.sendResponse({status:503,headers:{"Content-Type":`application/json`},body:{error:`Authentication service unavailable`,message:`Authentication took too long to respond. Please try again.`}},e);if(n&&typeof n==`object`&&`_tag`in n&&n._tag===`AuthError`)return yield*C.sendResponse({status:500,headers:{"Content-Type":`application/json`},body:{error:`Internal Server Error`,message:`An error occurred during authentication`}},e);if(n===null)return yield*C.sendResponse({status:401,headers:{"Content-Type":`application/json`},body:{error:`Unauthorized`,message:`Invalid credentials`}},e);i=n}let a=G(i,{bypassAuth:!C.runAuthMiddleware}),o=[];if(C.extractWaitUntil){let r=C.extractWaitUntil(e);r&&o.push(t.Layer.succeed(n.FlowWaitUntil,r))}let s=t.Layer.mergeAll(a,P,F,R,...u,...o),c=I?t.Layer.merge(s,I):s,l=L?t.Layer.merge(c,L):c;if(r.type===`not-found`)return yield*C.sendResponse({type:`not-found`,status:404,headers:{"Content-Type":`application/json`},body:{error:`Not found`}},e);let d=yield*Ie(r,{healthCheckConfig:D}).pipe(t.Effect.provide(l));return yield*C.sendResponse(d,e)}).pipe(t.Effect.catchAll(t=>{let n=_(t),r={code:n.code,message:n.message};n.details!==void 0&&(r.details=n.details);let i={status:n.status,headers:{"Content-Type":`application/json`},body:r};return C.sendResponse(i,e)}));return U.runPromise(r)},websocketHandler:await U.runPromise(C.webSocketHandler({baseUrl:A})),baseUrl:A,dispose:()=>U.dispose()}};async function Re(e){return Le(e)}function ze(e){return e}function Be(e){return e}const Ve={ImagePlugin:{packageName:`@uploadista/flow-images-sharp`,variableName:`sharpImagePlugin`},ImageAiPlugin:{packageName:`@uploadista/flow-images-replicate`,variableName:`replicateImagePlugin`},ZipPlugin:{packageName:`@uploadista/flow-utility-zipjs`,variableName:`zipPlugin`},CredentialProvider:{packageName:`@uploadista/core`,variableName:`credentialProviderLayer`}};function He(e){try{let t=e;if(t._tag)return t._tag;if(t.constructor?.name)return t.constructor.name;if(t.context?.services){let e=Array.from(t.context.services.keys());if(e.length>0){let t=e[0];if(t.key)return t.key}}return null}catch{return null}}function Ue(e){return e.map(e=>He(e)).filter(e=>e!==null)}function Q(e){let{plugins:t,expectedServices:n=[]}=e,r=Ue(t),i=n.filter(e=>!r.includes(e));return i.length===0?{success:!0}:{success:!1,required:n,provided:r,missing:i,suggestions:i.map(e=>{let t=Ve[e];return t?{name:e,packageName:t.packageName,importStatement:`import { ${t.variableName} } from '${t.packageName}';`}:null}).filter(e=>e!==null)}}function $(e){let t=[`Server initialization failed: Missing required plugins`,``,`Required: ${e.required.join(`, `)}`,`Provided: ${e.provided.length>0?e.provided.join(`, `):`(none)`}`,`Missing: ${e.missing.join(`, `)}`,``];if(e.suggestions.length>0){t.push(`Add the missing plugins to your configuration:`),t.push(``);for(let n of e.suggestions)t.push(` ${n.importStatement}`);t.push(``),t.push(` const server = await createUploadistaServer({`),t.push(` plugins: [${[...e.provided,...e.missing.map(e=>Ve[e]?.variableName||e)].join(`, `)}],`),t.push(` // ...`),t.push(` });`)}else t.push(`Note: Could not determine package names for missing plugins.`),t.push(`Please ensure all required plugin layers are provided.`);return t.join(`
|
|
2
|
+
`)}function We(e){return t.Effect.sync(()=>{let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}})}function Ge(e){let t=Q(e);if(!t.success){let e=$(t);throw Error(e)}}const Ke=(e,n,r)=>t.Effect.gen(function*(){if(!n){yield*t.Effect.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Job ID is required for flow event subscription`,code:`MISSING_JOB_ID`}))});return}yield*e.subscribeToFlowEvents(n,r)}),qe=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromFlowEvents(n))}),Je=(e,n,r)=>t.Effect.gen(function*(){if(!n){yield*t.Effect.sync(()=>{r.send(JSON.stringify({type:`error`,message:`Upload ID is required for upload event subscription`,code:`MISSING_UPLOAD_ID`}))});return}yield*e.subscribeToUploadEvents(n,r)}),Ye=(e,n)=>t.Effect.gen(function*(){n&&(yield*e.unsubscribeFromUploadEvents(n))}),Xe=(e,n,r)=>{let{connection:i,isFlowRoute:a,isUploadRoute:o,jobId:s,uploadId:c,eventId:u}=e;return t.Effect.gen(function*(){a&&(yield*Ke(r,s,i)),o&&(yield*Je(n,c,i)),i.send(JSON.stringify({type:`connection`,message:`Uploadista WebSocket connected`,id:u,jobId:s,uploadId:c,timestamp:new Date().toISOString()}))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error subscribing to events:`,e);let t=e instanceof l.UploadistaError?e.body:`Failed to subscribe to events`;i.send(JSON.stringify({type:`error`,message:t,code:e instanceof l.UploadistaError?e.code:`SUBSCRIPTION_ERROR`}))})))},Ze=(e,n)=>t.Effect.sync(()=>{try{JSON.parse(e).type===`ping`&&n.send(JSON.stringify({type:`pong`,timestamp:new Date().toISOString()}))}catch(e){console.error(`Error handling WebSocket message:`,e),n.send(JSON.stringify({type:`error`,message:`Invalid message format`}))}}),Qe=(e,n,r)=>{let{isFlowRoute:i,isUploadRoute:a,jobId:o,uploadId:s}=e;return t.Effect.gen(function*(){i&&(yield*qe(r,o)),a&&(yield*Ye(n,s))}).pipe(t.Effect.catchAll(e=>t.Effect.sync(()=>{console.error(`Error unsubscribing from events:`,e instanceof l.UploadistaError?e.body:e)})))},$e=(e,n)=>t.Effect.sync(()=>{console.error(`WebSocket error for event ${n}:`,e)});exports.AdapterError=C,exports.AuthCacheService=u,exports.AuthCacheServiceLive=d,exports.AuthContextService=W,exports.AuthContextServiceLive=G,exports.AuthenticationRequiredError=j,exports.AuthorizationError=A,exports.BadRequestError=E,exports.DEFAULT_USAGE_HOOK_TIMEOUT=q,exports.ENGINE_PERMISSIONS=F,exports.FLOW_PERMISSIONS=I,exports.NoAuthCacheServiceLive=f,exports.NoAuthContextServiceLive=ne,exports.NoUsageHookServiceLive=ie,exports.NotFoundError=T,exports.OrganizationMismatchError=M,exports.PERMISSIONS=R,exports.PERMISSION_HIERARCHY=B,exports.PERMISSION_SETS=z,exports.QuotaExceededError=N,exports.UPLOAD_PERMISSIONS=L,exports.UsageHookService=J,exports.UsageHookServiceLive=Y,exports.ValidationError=w,exports.abortResult=re,exports.continueResult=K,exports.createAuthorizationErrorResponseBody=P,exports.createErrorResponseBody=D,exports.createFlowEngineLayer=S,exports.createGenericErrorResponseBody=k,exports.createTypeSafeServer=Re,exports.createUploadEngineLayer=x,exports.createUploadistaErrorResponseBody=O,exports.createUploadistaServer=Le,exports.defineFlow=ze,exports.defineSimpleFlow=Be,exports.expandPermission=te,exports.extractFlowAndStorageId=b,exports.extractJobAndNodeId=y,exports.extractJobIdFromStatus=v,exports.extractServiceIdentifiers=Ue,exports.formatPluginValidationError=$,exports.getAuthCredentials=e.getAuthCredentials,exports.getLastSegment=m,exports.getRouteSegments=g,exports.handleFlowError=_,exports.handleWebSocketClose=Qe,exports.handleWebSocketError=$e,exports.handleWebSocketMessage=Ze,exports.handleWebSocketOpen=Xe,exports.hasAllPermissions=ee,exports.hasAnyPermission=U,exports.hasBasePath=h,exports.hasPermission=H,exports.matchesPermission=V,exports.parseUrlSegments=p,exports.validatePluginRequirements=Q,exports.validatePluginRequirementsEffect=We,exports.validatePluginsOrThrow=Ge;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AuthCredentialsResponse, getAuthCredentials } from "./auth/index.cjs";
|
|
2
2
|
import * as _uploadista_core0 from "@uploadista/core";
|
|
3
3
|
import { DataStoreCapabilities, DeadLetterCleanupOptions, DeadLetterCleanupResult, DeadLetterItem, DeadLetterItemStatus, DeadLetterListOptions, DeadLetterQueueStats, Flow, FlowData, FlowEngine, FlowJob, HealthResponse as HealthResponse$1, PluginLayer, UploadEngine, UploadEvent, UploadFile, UploadistaError, VideoPluginLayer } from "@uploadista/core";
|
|
4
4
|
import { Context, Effect, Layer } from "effect";
|
|
@@ -654,7 +654,7 @@ type TypeSafePluginConfig<TPlugins extends PluginTuple, TFlowRequirements> = Val
|
|
|
654
654
|
* // Requirements = ImagePlugin | ZipPlugin
|
|
655
655
|
* ```
|
|
656
656
|
*/
|
|
657
|
-
type ExtractFlowPluginRequirements<TFlowFn extends (flowId: string, clientId: string | null) => Effect.Effect<unknown, unknown, unknown>> = ReturnType<TFlowFn> extends Effect.Effect<infer TFlow,
|
|
657
|
+
type ExtractFlowPluginRequirements<TFlowFn extends (flowId: string, clientId: string | null) => Effect.Effect<unknown, unknown, unknown>> = ReturnType<TFlowFn> extends Effect.Effect<infer TFlow, unknown, unknown> ? TFlow extends Flow$1<any, any, infer TRequirements> ? Exclude<TRequirements, never> : never : never;
|
|
658
658
|
/**
|
|
659
659
|
* Helper type to infer plugin requirements from a flow function.
|
|
660
660
|
*
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/usage-hooks/types.ts","../src/core/types.ts","../src/core/create-type-safe-server.ts","../src/core/plugin-validation.ts","../src/core/server.ts","../src/core/websocket-routes.ts","../src/core/websocket-handlers/websocket-handlers.ts","../src/error-types.ts","../src/http-utils.ts","../src/layer-utils.ts","../src/permissions/errors.ts","../src/permissions/matcher.ts","../src/permissions/types.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"sourcesContent":[],"mappings":"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CjBiB,KF4OL,aAAA,GAAgB,eE9NjB,CAAA,QAAM,CAAA,GF8NuC,sBE9NvC;AAuBjB;AAgCA;AAuDA;;AAgBM,KFsGM,cAAA,GAAiB,eEtGvB,CAAA,QAAA,CAAA,GAAA;EACa,MAAA,EAAA,GAAA;EAAd,OAAO,EAAA;IAYE,cAAA,EAAA,kBAAA,GAAA,YAAA;EACD,CAAA;EACM,IAAA,EF0FX,gBE1FW,GAAA,MAAA;CAAd;;;;AA8Be,KFkER,kBAAA,GAAqB,eElEb,CAAA,cAAA,CAAA,GFmElB,sBEnEkB;;;;;AAoBF,KFqDN,mBAAA,GAAsB,eErDhB,CAAA,cAAA,CAAA,GAAA;EAAO,MAAA,EAAA,GAAA,GAAA,GAAA;;;;EC7Nb,IAAA,EHqRJ,gBGrRmB,GAAA,MAAA;AAczB,CAAA;;;;AAqDiD,KHwNvC,uBAAA,GAA0B,eGxNa,CAAA,mBAAA,CAAA,GHyNjD,sBGzNiD;;;;;KH+NvC,wBAAA,GAA2B;;EG9O1B,OAAA,EAAA;IAwCA,cAAA,EAAA,kBA2FZ,GAAA,YAAA;EA1FS,CAAA;EACK,IAAA,EHuMP,gBGvMO,GAAA,MAAA;CAAZ;AAAW,KH0MF,iBAAA,GACR,mBG3MU,GH4MV,sBG5MU,GH6MV,gBG7MU,GH8MV,kBG9MU,GH+MV,cG/MU,GHgNV,cGhNU,GHiNV,mBGjNU,GHkNV,iBGlNU,GHmNV,gBGnNU,GHoNV,iBGpNU,GHsNV,cGtNU,GHuNV,aGvNU,GHwNV,eGxNU,GHyNV,kBGzNU,GH0NV,gBG1NU,GH2NV,iBG3NU,GH4NV,iBG5NU,GH6NV,eG7NU,GH+NV,aG/NU,GHgOV,kBGhOU,GHiOV,uBGjOU,GHmOV,eGnOU,GHoOV,iBGpOU,GHqOV,uBGrOU,GHsOV,6BGtOU;AAgGD,KHwID,kBAAA,GACR,oBGzI6C,GH0I7C,uBG1I4C,GH2I5C,iBG3I4C,GH4I5C,mBG5I4C,GH6I5C,eG7I4C,GH8I5C,eG9I4C,GH+I5C,oBG/I4C,GHgJ5C,kBGhJ4C,GHiJ5C,iBGjJ4C,GHkJ5C,kBGlJ4C,GHoJ5C,eGpJ4C,GHqJ5C,cGrJ4C,GHsJ5C,gBGtJ4C,GHuJ5C,mBGvJ4C,GHwJ5C,iBGxJ4C,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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/core/routes.ts","../src/types.ts","../src/adapter/types.ts","../src/cache.ts","../src/core/plugin-types.ts","../src/usage-hooks/types.ts","../src/core/types.ts","../src/core/create-type-safe-server.ts","../src/core/plugin-validation.ts","../src/core/server.ts","../src/core/websocket-routes.ts","../src/core/websocket-handlers/websocket-handlers.ts","../src/error-types.ts","../src/http-utils.ts","../src/layer-utils.ts","../src/permissions/errors.ts","../src/permissions/matcher.ts","../src/permissions/types.ts","../src/plugins-typing.ts","../src/service.ts","../src/usage-hooks/service.ts"],"sourcesContent":[],"mappings":"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CjBiB,KF4OL,aAAA,GAAgB,eE9NjB,CAAA,QAAM,CAAA,GF8NuC,sBE9NvC;AAuBjB;AAgCA;AAuDA;;AAgBM,KFsGM,cAAA,GAAiB,eEtGvB,CAAA,QAAA,CAAA,GAAA;EACa,MAAA,EAAA,GAAA;EAAd,OAAO,EAAA;IAYE,cAAA,EAAA,kBAAA,GAAA,YAAA;EACD,CAAA;EACM,IAAA,EF0FX,gBE1FW,GAAA,MAAA;CAAd;;;;AA8Be,KFkER,kBAAA,GAAqB,eElEb,CAAA,cAAA,CAAA,GFmElB,sBEnEkB;;;;;AAoBF,KFqDN,mBAAA,GAAsB,eErDhB,CAAA,cAAA,CAAA,GAAA;EAAO,MAAA,EAAA,GAAA,GAAA,GAAA;;;;EC7Nb,IAAA,EHqRJ,gBGrRmB,GAAA,MAAA;AAczB,CAAA;;;;AAqDiD,KHwNvC,uBAAA,GAA0B,eGxNa,CAAA,mBAAA,CAAA,GHyNjD,sBGzNiD;;;;;KH+NvC,wBAAA,GAA2B;;EG9O1B,OAAA,EAAA;IAwCA,cAAA,EAAA,kBA2FZ,GAAA,YAAA;EA1FS,CAAA;EACK,IAAA,EHuMP,gBGvMO,GAAA,MAAA;CAAZ;AAAW,KH0MF,iBAAA,GACR,mBG3MU,GH4MV,sBG5MU,GH6MV,gBG7MU,GH8MV,kBG9MU,GH+MV,cG/MU,GHgNV,cGhNU,GHiNV,mBGjNU,GHkNV,iBGlNU,GHmNV,gBGnNU,GHoNV,iBGpNU,GHsNV,cGtNU,GHuNV,aGvNU,GHwNV,eGxNU,GHyNV,kBGzNU,GH0NV,gBG1NU,GH2NV,iBG3NU,GH4NV,iBG5NU,GH6NV,eG7NU,GH+NV,aG/NU,GHgOV,kBGhOU,GHiOV,uBGjOU,GHmOV,eGnOU,GHoOV,iBGpOU,GHqOV,uBGrOU,GHsOV,6BGtOU;AAgGD,KHwID,kBAAA,GACR,oBGzI6C,GH0I7C,uBG1I4C,GH2I5C,iBG3I4C,GH4I5C,mBG5I4C,GH6I5C,eG7I4C,GH8I5C,eG9I4C,GH+I5C,oBG/I4C,GHgJ5C,kBGhJ4C,GHiJ5C,iBGjJ4C,GHkJ5C,kBGlJ4C,GHoJ5C,eGpJ4C,GHqJ5C,cGrJ4C,GHsJ5C,gBGtJ4C,GHuJ5C,mBGvJ4C,GHwJ5C,iBGxJ4C,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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AuthCredentialsResponse, getAuthCredentials } from "./auth/index.mjs";
|
|
2
2
|
import { Context, Effect, Layer } from "effect";
|
|
3
3
|
import { CredentialProviderLayer, ExtractLayerServices, Flow, FlowEngineShape, FlowProvider, ImageAiPluginLayer, ImagePluginLayer, ZipPluginLayer } from "@uploadista/core/flow";
|
|
4
4
|
import { BaseEventEmitterService, BaseKvStoreService, DataStoreConfig, EventBroadcasterService, HealthCheckConfig, UploadFileDataStore, UploadFileDataStores, UploadFileKVStore } from "@uploadista/core/types";
|
|
@@ -654,7 +654,7 @@ type TypeSafePluginConfig<TPlugins extends PluginTuple, TFlowRequirements> = Val
|
|
|
654
654
|
* // Requirements = ImagePlugin | ZipPlugin
|
|
655
655
|
* ```
|
|
656
656
|
*/
|
|
657
|
-
type ExtractFlowPluginRequirements<TFlowFn extends (flowId: string, clientId: string | null) => Effect.Effect<unknown, unknown, unknown>> = ReturnType<TFlowFn> extends Effect.Effect<infer TFlow,
|
|
657
|
+
type ExtractFlowPluginRequirements<TFlowFn extends (flowId: string, clientId: string | null) => Effect.Effect<unknown, unknown, unknown>> = ReturnType<TFlowFn> extends Effect.Effect<infer TFlow, unknown, unknown> ? TFlow extends Flow<any, any, infer TRequirements> ? Exclude<TRequirements, never> : never : never;
|
|
658
658
|
/**
|
|
659
659
|
* Helper type to infer plugin requirements from a flow function.
|
|
660
660
|
*
|