@uploadista/server 0.0.3 → 0.0.4
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/.turbo/turbo-build.log +30 -2
- package/dist/auth/index.cjs +1 -0
- package/dist/auth/index.d.cts +2 -0
- package/dist/auth/index.d.ts +2 -2
- package/dist/auth/index.js +1 -1
- package/dist/auth-B3XCQncE.cjs +1 -0
- package/dist/auth-C77S4vQd.js +2 -0
- package/dist/auth-C77S4vQd.js.map +1 -0
- package/dist/{auth/get-auth-credentials.js → index-50KlDIjc.d.cts} +41 -16
- package/dist/index-50KlDIjc.d.cts.map +1 -0
- package/dist/{auth/get-auth-credentials.d.ts → index-CvDNB1lJ.d.ts} +20 -13
- package/dist/index-CvDNB1lJ.d.ts.map +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +620 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +619 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -8
- package/dist/index.js.map +1 -0
- package/package.json +5 -4
- package/tsdown.config.ts +12 -0
- package/dist/auth/cache.d.ts +0 -87
- package/dist/auth/cache.d.ts.map +0 -1
- package/dist/auth/cache.js +0 -121
- package/dist/auth/cache.test.d.ts +0 -2
- package/dist/auth/cache.test.d.ts.map +0 -1
- package/dist/auth/cache.test.js +0 -209
- package/dist/auth/get-auth-credentials.d.ts.map +0 -1
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/jwt/index.d.ts +0 -38
- package/dist/auth/jwt/index.d.ts.map +0 -1
- package/dist/auth/jwt/index.js +0 -36
- package/dist/auth/jwt/types.d.ts +0 -77
- package/dist/auth/jwt/types.d.ts.map +0 -1
- package/dist/auth/jwt/types.js +0 -1
- package/dist/auth/jwt/validate.d.ts +0 -58
- package/dist/auth/jwt/validate.d.ts.map +0 -1
- package/dist/auth/jwt/validate.js +0 -226
- package/dist/auth/jwt/validate.test.d.ts +0 -2
- package/dist/auth/jwt/validate.test.d.ts.map +0 -1
- package/dist/auth/jwt/validate.test.js +0 -492
- package/dist/auth/service.d.ts +0 -63
- package/dist/auth/service.d.ts.map +0 -1
- package/dist/auth/service.js +0 -43
- package/dist/auth/service.test.d.ts +0 -2
- package/dist/auth/service.test.d.ts.map +0 -1
- package/dist/auth/service.test.js +0 -195
- package/dist/auth/types.d.ts +0 -38
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js +0 -1
- package/dist/cache.d.ts +0 -87
- package/dist/cache.d.ts.map +0 -1
- package/dist/cache.js +0 -121
- package/dist/cache.test.d.ts +0 -2
- package/dist/cache.test.d.ts.map +0 -1
- package/dist/cache.test.js +0 -209
- package/dist/cloudflare-config.d.ts +0 -72
- package/dist/cloudflare-config.d.ts.map +0 -1
- package/dist/cloudflare-config.js +0 -67
- package/dist/error-types.d.ts +0 -138
- package/dist/error-types.d.ts.map +0 -1
- package/dist/error-types.js +0 -155
- package/dist/hono-adapter.d.ts +0 -48
- package/dist/hono-adapter.d.ts.map +0 -1
- package/dist/hono-adapter.js +0 -58
- package/dist/http-utils.d.ts +0 -148
- package/dist/http-utils.d.ts.map +0 -1
- package/dist/http-utils.js +0 -233
- package/dist/layer-utils.d.ts +0 -121
- package/dist/layer-utils.d.ts.map +0 -1
- package/dist/layer-utils.js +0 -80
- package/dist/metrics/service.d.ts +0 -26
- package/dist/metrics/service.d.ts.map +0 -1
- package/dist/metrics/service.js +0 -20
- package/dist/plugins-typing.d.ts +0 -11
- package/dist/plugins-typing.d.ts.map +0 -1
- package/dist/plugins-typing.js +0 -1
- package/dist/service.d.ts +0 -63
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -43
- package/dist/service.test.d.ts +0 -2
- package/dist/service.test.d.ts.map +0 -1
- package/dist/service.test.js +0 -195
- package/dist/types.d.ts +0 -38
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @uploadista/server@0.0.
|
|
4
|
-
>
|
|
3
|
+
> @uploadista/server@0.0.3 build /Users/denislaboureyras/Documents/uploadista/dev/uploadista-workspace/uploadista-sdk/packages/servers/server
|
|
4
|
+
> tsdown
|
|
5
5
|
|
|
6
|
+
[34mℹ[39m tsdown [2mv0.15.9[22m powered by rolldown [2mv1.0.0-beta.44[22m
|
|
7
|
+
[34mℹ[39m Using tsdown config: [4m/Users/denislaboureyras/Documents/uploadista/dev/uploadista-workspace/uploadista-sdk/packages/servers/server/tsdown.config.ts[24m
|
|
8
|
+
[34mℹ[39m entry: [34msrc/index.ts, src/auth/index.ts[39m
|
|
9
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
10
|
+
[34mℹ[39m Build start
|
|
11
|
+
[34mℹ[39m Cleaning 19 files
|
|
12
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mindex.cjs[22m [2m5.04 kB[22m [2m│ gzip: 2.04 kB[22m
|
|
13
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mauth/index.cjs[22m [2m0.07 kB[22m [2m│ gzip: 0.09 kB[22m
|
|
14
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mauth-B3XCQncE.cjs [2m0.41 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
15
|
+
[34mℹ[39m [33m[CJS][39m 3 files, total: 5.52 kB
|
|
16
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mindex.js[22m [2m 4.31 kB[22m [2m│ gzip: 1.81 kB[22m
|
|
17
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mauth/index.js[22m [2m 0.07 kB[22m [2m│ gzip: 0.09 kB[22m
|
|
18
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.js.map [2m31.04 kB[22m [2m│ gzip: 8.02 kB[22m
|
|
19
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.d.ts.map [2m 4.84 kB[22m [2m│ gzip: 1.78 kB[22m
|
|
20
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mauth-C77S4vQd.js.map [2m 3.21 kB[22m [2m│ gzip: 1.30 kB[22m
|
|
21
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mauth-C77S4vQd.js [2m 0.39 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
22
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex-CvDNB1lJ.d.ts.map [2m 0.25 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
23
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m21.66 kB[22m [2m│ gzip: 5.57 kB[22m
|
|
24
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mauth/index.d.ts[22m[39m [2m 0.15 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
25
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32mindex-CvDNB1lJ.d.ts[39m [2m 2.33 kB[22m [2m│ gzip: 0.94 kB[22m
|
|
26
|
+
[34mℹ[39m [34m[ESM][39m 10 files, total: 68.25 kB
|
|
27
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mindex.d.cts.map [2m 4.84 kB[22m [2m│ gzip: 1.78 kB[22m
|
|
28
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mindex-50KlDIjc.d.cts.map [2m 0.25 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
29
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mindex.d.cts[22m[39m [2m21.66 kB[22m [2m│ gzip: 5.57 kB[22m
|
|
30
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mauth/index.d.cts[22m[39m [2m 0.15 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
31
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32mindex-50KlDIjc.d.cts[39m [2m 2.33 kB[22m [2m│ gzip: 0.94 kB[22m
|
|
32
|
+
[34mℹ[39m [33m[CJS][39m 5 files, total: 29.23 kB
|
|
33
|
+
[32m✔[39m Build complete in [32m14491ms[39m
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../auth-B3XCQncE.cjs`);exports.getAuthCredentials=e.t;
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { n as getAuthCredentials, t as AuthCredentialsResponse } from "../index-CvDNB1lJ.js";
|
|
2
|
+
export { AuthCredentialsResponse, getAuthCredentials };
|
package/dist/auth/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{t as e}from"../auth-C77S4vQd.js";export{e as getAuthCredentials};
|
|
@@ -0,0 +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`}};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
|
|
@@ -0,0 +1,2 @@
|
|
|
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 t};
|
|
2
|
+
//# sourceMappingURL=auth-C77S4vQd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-C77S4vQd.js","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"}
|
|
@@ -1,3 +1,32 @@
|
|
|
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
|
+
};
|
|
1
30
|
/**
|
|
2
31
|
* Retrieve JWT authentication credentials from the Uploadista server.
|
|
3
32
|
* This function exchanges client credentials (ID + API key) for a signed JWT token.
|
|
@@ -37,19 +66,15 @@
|
|
|
37
66
|
* }
|
|
38
67
|
* ```
|
|
39
68
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
isValid: true,
|
|
53
|
-
data,
|
|
54
|
-
};
|
|
55
|
-
};
|
|
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 { getAuthCredentials as n, AuthCredentialsResponse as t };
|
|
80
|
+
//# sourceMappingURL=index-50KlDIjc.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-50KlDIjc.d.cts","names":[],"sources":["../src/auth/get-auth-credentials.ts"],"sourcesContent":[],"mappings":";;AAkBA;AAiDA;;;;;;;;;;;;;;;;KAjDY,uBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDC;;;;;;;;MAQT,QAAQ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/auth/get-auth-credentials.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Response type for authentication credential requests.
|
|
3
4
|
* - `isValid: true` with token and expiration
|
|
@@ -16,15 +17,15 @@
|
|
|
16
17
|
* }
|
|
17
18
|
* ```
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
type AuthCredentialsResponse = {
|
|
21
|
+
isValid: true;
|
|
22
|
+
data: {
|
|
23
|
+
token: string;
|
|
24
|
+
expiresIn: number;
|
|
25
|
+
};
|
|
25
26
|
} | {
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
isValid: false;
|
|
28
|
+
error: string;
|
|
28
29
|
};
|
|
29
30
|
/**
|
|
30
31
|
* Retrieve JWT authentication credentials from the Uploadista server.
|
|
@@ -65,9 +66,15 @@ export type AuthCredentialsResponse = {
|
|
|
65
66
|
* }
|
|
66
67
|
* ```
|
|
67
68
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
declare const getAuthCredentials: ({
|
|
70
|
+
uploadistaClientId,
|
|
71
|
+
uploadistaApiKey,
|
|
72
|
+
baseUrl
|
|
73
|
+
}: {
|
|
74
|
+
uploadistaClientId: string;
|
|
75
|
+
uploadistaApiKey: string;
|
|
76
|
+
baseUrl?: string;
|
|
72
77
|
}) => Promise<AuthCredentialsResponse>;
|
|
73
|
-
//#
|
|
78
|
+
//#endregion
|
|
79
|
+
export { getAuthCredentials as n, AuthCredentialsResponse as t };
|
|
80
|
+
//# sourceMappingURL=index-CvDNB1lJ.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CvDNB1lJ.d.ts","names":[],"sources":["../src/auth/get-auth-credentials.ts"],"sourcesContent":[],"mappings":";;AAkBA;AAiDA;;;;;;;;;;;;;;;;KAjDY,uBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDC;;;;;;;;MAQT,QAAQ"}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require(`./auth-B3XCQncE.cjs`);let l=require(`effect`);l=s(l);let u=require(`@uploadista/core/flow`);u=s(u);let d=require(`@uploadista/core/types`);d=s(d);let f=require(`@uploadista/core/upload`);f=s(f);var p=class extends l.Context.Tag(`AuthCacheService`)(){};const m=(e={})=>{let t=e.maxSize??1e4,n=e.ttl??36e5,r=new Map,i=()=>{let e=Date.now();for(let[t,i]of r.entries())e-i.timestamp>n&&r.delete(t)},a=()=>{if(r.size<=t)return;let e=null,n=1/0;for(let[t,i]of r.entries())i.timestamp<n&&(n=i.timestamp,e=t);e&&r.delete(e)};return l.Layer.succeed(p,{set:(e,t)=>l.Effect.sync(()=>{r.size%100==0&&i(),r.set(e,{authContext:t,timestamp:Date.now()}),a()}),get:e=>l.Effect.sync(()=>{let t=r.get(e);return t?Date.now()-t.timestamp>n?(r.delete(e),null):t.authContext:null}),delete:e=>l.Effect.sync(()=>{r.delete(e)}),clear:()=>l.Effect.sync(()=>{r.clear()}),size:()=>l.Effect.sync(()=>r.size)})},h=l.Layer.succeed(p,{set:()=>l.Effect.void,get:()=>l.Effect.succeed(null),delete:()=>l.Effect.void,clear:()=>l.Effect.void,size:()=>l.Effect.succeed(0)});var g=class extends Error{constructor(e,t=500,n=`INTERNAL_ERROR`){super(e),this.statusCode=t,this.errorCode=n,this.name=`AdapterError`}},_=class extends g{constructor(e){super(e,400,`VALIDATION_ERROR`),this.name=`ValidationError`}},v=class extends g{constructor(e){super(`${e} not found`,404,`NOT_FOUND`),this.name=`NotFoundError`}},y=class extends g{constructor(e){super(e,400,`BAD_REQUEST`),this.name=`BadRequestError`}};const b=e=>({error:e.message,code:e.errorCode,timestamp:new Date().toISOString()}),x=e=>{let t={error:e.body,code:e.code,timestamp:new Date().toISOString()};return e.details!==void 0&&(t.details=e.details),t},S=(e=`Internal server error`)=>({error:e,code:`INTERNAL_ERROR`,timestamp:new Date().toISOString()}),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),D=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},O=e=>e[e.length-2],k=e=>({jobId:e[e.length-3],nodeId:e[e.length-1]}),A=e=>({storageId:e.pop(),flowId:e.pop()}),j=({kvStore:e,eventEmitter:t,dataStore:n,bufferedDataStore:r,generateId:i})=>{let a=l.Layer.provide(d.uploadFileKvStore,e),o=l.Layer.provide(n,a),s=r?l.Layer.provide(r,a):l.Layer.empty,c=l.Layer.provide(d.uploadEventEmitter,t),u=l.Layer.mergeAll(o,a,c,...i?[i]:[],s);return l.Layer.provide(f.uploadServer,u)},M=({kvStore:e,eventEmitter:t,flowProvider:n,uploadServer:r})=>{let i=l.Layer.provide(d.flowJobKvStore,e),a=l.Layer.provide(d.flowEventEmitter,t),o=l.Layer.mergeAll(n,a,i,r);return l.Layer.provide(u.flowServer,o)};var N=class extends l.Context.Tag(`AuthContextService`)(){};const P=e=>l.Layer.succeed(N,{getClientId:()=>l.Effect.succeed(e?.clientId??null),getMetadata:()=>l.Effect.succeed(e?.metadata??{}),hasPermission:t=>l.Effect.succeed(e?.permissions?.includes(t)??!1),getAuthContext:()=>l.Effect.succeed(e)}),F=P(null);exports.AdapterError=g,exports.AuthCacheService=p,exports.AuthCacheServiceLive=m,exports.AuthContextService=N,exports.AuthContextServiceLive=P,exports.BadRequestError=y,exports.NoAuthCacheServiceLive=h,exports.NoAuthContextServiceLive=F,exports.NotFoundError=v,exports.ValidationError=_,exports.createErrorResponseBody=b,exports.createFlowServerLayer=M,exports.createGenericErrorResponseBody=S,exports.createUploadServerLayer=j,exports.createUploadistaErrorResponseBody=x,exports.extractFlowAndStorageId=A,exports.extractJobAndNodeId=k,exports.extractJobIdFromStatus=O,exports.getAuthCredentials=c.t,exports.getLastSegment=w,exports.getRouteSegments=E,exports.handleFlowError=D,exports.hasBasePath=T,exports.parseUrlSegments=C;
|