alepha 0.20.3 → 0.20.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/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/jobs/index.d.ts +14 -14
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/keys/index.d.ts +4 -4
- package/dist/api/organizations/index.d.ts.map +1 -1
- package/dist/api/parameters/index.d.ts +8 -3
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js +20 -4
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/api/payments/index.d.ts.map +1 -1
- package/dist/api/users/index.browser.js +6 -0
- package/dist/api/users/index.browser.js.map +1 -1
- package/dist/api/users/index.d.ts +5037 -139
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +58 -10
- package/dist/api/users/index.js.map +1 -1
- package/dist/bucket/index.d.ts +77 -107
- package/dist/bucket/index.d.ts.map +1 -1
- package/dist/bucket/index.js +148 -4
- package/dist/bucket/index.js.map +1 -1
- package/dist/bucket/index.workerd.js +7 -1
- package/dist/bucket/index.workerd.js.map +1 -1
- package/dist/cache/core/index.d.ts +26 -0
- package/dist/cache/core/index.d.ts.map +1 -1
- package/dist/cache/core/index.js +11 -1
- package/dist/cache/core/index.js.map +1 -1
- package/dist/cache/core/index.workerd.js +11 -1
- package/dist/cache/core/index.workerd.js.map +1 -1
- package/dist/cli/config/index.d.ts +7 -5
- package/dist/cli/config/index.d.ts.map +1 -1
- package/dist/cli/config/index.js +2 -3
- package/dist/cli/config/index.js.map +1 -1
- package/dist/cli/core/index.d.ts +420 -13
- package/dist/cli/core/index.d.ts.map +1 -1
- package/dist/cli/core/index.js +22 -511
- package/dist/cli/core/index.js.map +1 -1
- package/dist/cli/devtools/index.d.ts +4 -8
- package/dist/cli/devtools/index.d.ts.map +1 -1
- package/dist/cli/devtools/index.js +13 -15
- package/dist/cli/devtools/index.js.map +1 -1
- package/dist/cli/platform/index.d.ts +10 -13
- package/dist/cli/platform/index.d.ts.map +1 -1
- package/dist/cli/platform/index.js +18 -15
- package/dist/cli/platform/index.js.map +1 -1
- package/dist/cli/vendor/index.d.ts +10 -13
- package/dist/cli/vendor/index.d.ts.map +1 -1
- package/dist/cli/vendor/index.js +16 -13
- package/dist/cli/vendor/index.js.map +1 -1
- package/dist/core/index.browser.js +27 -3
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +6 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +27 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +27 -3
- package/dist/core/index.native.js.map +1 -1
- package/dist/core/index.workerd.js +27 -3
- package/dist/core/index.workerd.js.map +1 -1
- package/dist/datetime/index.d.ts +69 -10
- package/dist/datetime/index.d.ts.map +1 -1
- package/dist/datetime/index.js +135 -13
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/smtp/index.js +10636 -2
- package/dist/email/smtp/index.js.map +1 -1
- package/dist/fake/index.d.ts +8085 -4
- package/dist/fake/index.d.ts.map +1 -1
- package/dist/fake/index.js +33554 -3
- package/dist/fake/index.js.map +1 -1
- package/dist/lock/core/index.d.ts +30 -2
- package/dist/lock/core/index.d.ts.map +1 -1
- package/dist/lock/core/index.js +35 -12
- package/dist/lock/core/index.js.map +1 -1
- package/dist/mcp/index.d.ts +238 -31
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +198 -71
- package/dist/mcp/index.js.map +1 -1
- package/dist/orm/core/index.browser.js +1 -1
- package/dist/orm/core/index.browser.js.map +1 -1
- package/dist/orm/core/index.bun.js +4 -3
- package/dist/orm/core/index.bun.js.map +1 -1
- package/dist/orm/core/index.d.ts +4877 -9
- package/dist/orm/core/index.d.ts.map +1 -1
- package/dist/orm/core/index.js +4 -3
- package/dist/orm/core/index.js.map +1 -1
- package/dist/orm/postgres/index.d.ts +608 -1
- package/dist/orm/postgres/index.d.ts.map +1 -1
- package/dist/react/core/index.d.ts +102 -1
- package/dist/react/core/index.d.ts.map +1 -1
- package/dist/react/core/index.js +65 -1
- package/dist/react/core/index.js.map +1 -1
- package/dist/react/form/index.d.ts +6 -0
- package/dist/react/form/index.d.ts.map +1 -1
- package/dist/react/form/index.js +7 -7
- package/dist/react/form/index.js.map +1 -1
- package/dist/react/i18n/index.d.ts +7 -1
- package/dist/react/i18n/index.d.ts.map +1 -1
- package/dist/react/i18n/index.js +6 -0
- package/dist/react/i18n/index.js.map +1 -1
- package/dist/react/router/index.browser.js +20 -2
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +36 -4
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +20 -2
- package/dist/react/router/index.js.map +1 -1
- package/dist/react/testing/chunk-6Ep1yQYe.js +16 -0
- package/dist/react/testing/index.d.ts +411 -1
- package/dist/react/testing/index.d.ts.map +1 -1
- package/dist/react/testing/index.js +12293 -13
- package/dist/react/testing/index.js.map +1 -1
- package/dist/react/ui/index.d.ts +195 -1
- package/dist/react/ui/index.d.ts.map +1 -1
- package/dist/react/ui/index.js +61 -1
- package/dist/react/ui/index.js.map +1 -1
- package/dist/scheduler/index.d.ts +84 -3
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +390 -1
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/index.workerd.js +390 -1
- package/dist/scheduler/index.workerd.js.map +1 -1
- package/dist/security/index.d.ts +325 -2
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +1361 -2
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +1054 -1
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +1223 -1
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/core/index.browser.js +10 -3
- package/dist/server/core/index.browser.js.map +1 -1
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +28 -5
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/metrics/index.d.ts +514 -1
- package/dist/server/metrics/index.d.ts.map +1 -1
- package/dist/server/metrics/index.js +4374 -4
- package/dist/server/metrics/index.js.map +1 -1
- package/dist/server/swagger/index.d.ts.map +1 -1
- package/dist/server/swagger/index.js +3 -4
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/websocket/index.browser.js +11 -5
- package/dist/websocket/index.browser.js.map +1 -1
- package/dist/websocket/index.d.ts +3 -1
- package/dist/websocket/index.d.ts.map +1 -1
- package/dist/websocket/index.js +21 -6
- package/dist/websocket/index.js.map +1 -1
- package/package.json +671 -263
- package/src/api/parameters/services/ParameterProvider.ts +21 -4
- package/src/api/users/__tests__/SessionService.spec.ts +99 -0
- package/src/api/users/__tests__/UserJobs.spec.ts +67 -0
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +15 -0
- package/src/api/users/entities/sessions.ts +6 -0
- package/src/api/users/jobs/UserJobs.ts +44 -17
- package/src/api/users/providers/RealmProvider.ts +4 -0
- package/src/api/users/services/SessionService.ts +27 -0
- package/src/bucket/__tests__/NodeS3BucketProvider.spec.ts +74 -0
- package/src/bucket/index.ts +19 -2
- package/src/bucket/primitives/$bucket.ts +9 -1
- package/src/bucket/providers/CloudflareR2Provider.ts +2 -137
- package/src/bucket/providers/NodeS3BucketProvider.ts +218 -0
- package/src/cache/core/index.ts +29 -0
- package/src/cache/core/primitives/$cache.ts +14 -1
- package/src/cli/config/defineConfig.ts +13 -15
- package/src/cli/core/__tests__/init.spec.ts +6 -7
- package/src/cli/core/services/ProjectScaffolder.ts +18 -14
- package/src/cli/core/tasks/BuildCloudflareTask.ts +5 -0
- package/src/cli/core/templates/agentMd.ts +2 -10
- package/src/cli/core/templates/saasAdminLayoutTsx.ts +3 -3
- package/src/cli/devtools/index.ts +12 -26
- package/src/cli/platform/index.ts +15 -24
- package/src/cli/vendor/atoms/vendorOptions.ts +1 -1
- package/src/cli/vendor/index.ts +14 -23
- package/src/core/Alepha.ts +11 -1
- package/src/core/helpers/ref.ts +18 -0
- package/src/core/index.shared.ts +1 -0
- package/src/core/providers/SchemaValidator.ts +9 -1
- package/src/core/providers/TypeProvider.ts +1 -2
- package/src/datetime/REFACTORING.md +118 -0
- package/src/datetime/providers/DateTimeProvider.ts +203 -24
- package/src/lock/core/index.ts +31 -0
- package/src/lock/core/primitives/$lock.ts +14 -1
- package/src/mcp/__tests__/jsonrpc.spec.ts +1 -1
- package/src/mcp/helpers/jsonrpc.ts +26 -1
- package/src/mcp/index.ts +10 -5
- package/src/mcp/interfaces/McpTypes.ts +83 -6
- package/src/mcp/primitives/$prompt.ts +18 -1
- package/src/mcp/primitives/$resource.ts +18 -1
- package/src/mcp/primitives/$tool.ts +83 -7
- package/src/mcp/providers/McpServerProvider.ts +74 -16
- package/src/mcp/transports/StreamableHttpMcpTransport.ts +226 -0
- package/src/orm/REFACTORING.md +330 -0
- package/src/orm/core/primitives/$transactional.ts +11 -0
- package/src/orm/core/schemas/updateSchema.ts +1 -1
- package/src/orm/core/services/PgRelationManager.ts +4 -2
- package/src/react/core/__tests__/useQuery.browser.spec.tsx +86 -0
- package/src/react/core/hooks/useQuery.ts +153 -0
- package/src/react/core/index.ts +1 -0
- package/src/react/form/services/FormModel.ts +15 -6
- package/src/react/form/services/parseField.ts +8 -0
- package/src/react/i18n/providers/I18nProvider.ts +8 -2
- package/src/react/router/__tests__/$page.spec.tsx +0 -16
- package/src/react/router/__tests__/ssr.spec.tsx +339 -0
- package/src/react/router/primitives/$page.ts +28 -4
- package/src/react/router/providers/ReactPageProvider.ts +27 -9
- package/src/react/ui/atoms/uiThemeListAtom.ts +36 -0
- package/src/react/ui/index.ts +6 -0
- package/src/react/ui/services/SchemaControl.ts +209 -0
- package/src/security/primitives/$issuer.ts +6 -3
- package/src/server/core/__tests__/ServerRouterProvider-serializationError.spec.ts +75 -0
- package/src/server/core/__tests__/ServerRouterProvider-validationError.spec.ts +306 -0
- package/src/server/core/errors/ValidationError.ts +13 -1
- package/src/server/core/primitives/$action.ts +16 -5
- package/src/server/core/providers/ServerRouterProvider.ts +26 -4
- package/src/server/swagger/providers/ServerSwaggerProvider.ts +5 -7
- package/src/websocket/providers/NodeWebSocketServerProvider.ts +10 -4
- package/src/websocket/services/WebSocketClient.ts +11 -5
- package/src/mcp/transports/SseMcpTransport.ts +0 -182
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $inject, $module, Alepha, AlephaError, isFileLike, t } from "alepha";
|
|
1
|
+
import { $inject, $module, Alepha, AlephaError, TypeBoxError, isFileLike, t } from "alepha";
|
|
2
2
|
import { $cache } from "alepha/cache";
|
|
3
3
|
import { $logger } from "alepha/logger";
|
|
4
4
|
//#region ../../src/server/core/errors/HttpError.ts
|
|
@@ -384,9 +384,16 @@ var UnauthorizedError = class extends HttpError {
|
|
|
384
384
|
//#region ../../src/server/core/errors/ValidationError.ts
|
|
385
385
|
var ValidationError = class extends HttpError {
|
|
386
386
|
constructor(message = "Validation has failed", cause) {
|
|
387
|
+
let fullMessage = message;
|
|
388
|
+
let details;
|
|
389
|
+
if (cause instanceof TypeBoxError) {
|
|
390
|
+
fullMessage = `${message}: ${cause.cause.message}`;
|
|
391
|
+
if (cause.cause.instancePath) details = cause.cause.instancePath;
|
|
392
|
+
}
|
|
387
393
|
super({
|
|
388
|
-
message,
|
|
389
|
-
status: 400
|
|
394
|
+
message: fullMessage,
|
|
395
|
+
status: 400,
|
|
396
|
+
details
|
|
390
397
|
}, cause);
|
|
391
398
|
}
|
|
392
399
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.js","names":[],"sources":["../../../src/server/core/errors/HttpError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/index.browser.ts"],"sourcesContent":["import { AlephaError } from \"alepha\";\nimport type { ErrorSchema } from \"../schemas/errorSchema.ts\";\n\nexport const isHttpError = (\n error: unknown,\n status?: number,\n): error is HttpErrorLike => {\n const isError =\n !!error &&\n typeof error === \"object\" &&\n \"message\" in error &&\n typeof error.message === \"string\" &&\n \"status\" in error &&\n typeof error.status === \"number\";\n\n if (!isError) {\n return false;\n }\n\n if (status) {\n return (error as HttpErrorLike).status === status;\n }\n\n return true;\n};\n\nexport class HttpError extends AlephaError {\n public name = \"HttpError\";\n\n static is = isHttpError;\n\n static toJSON(error: HttpError): ErrorSchema {\n const json: Record<string, unknown> = {\n error: error.error,\n status: error.status,\n message: error.message,\n };\n\n if (error.details) json.details = error.details;\n if (error.requestId) json.requestId = error.requestId;\n if (error.reason) json.cause = error.reason;\n\n return json as ErrorSchema;\n }\n\n public readonly error: string;\n public readonly status: number;\n\n public readonly requestId?: string;\n public readonly details?: string;\n public readonly reason?: {\n name: string;\n message: string;\n };\n\n constructor(options: Partial<ErrorSchema>, cause?: unknown) {\n super(options.message, {\n cause,\n });\n\n this.status = options.status ?? 500;\n this.details = options.details;\n this.requestId = options.requestId;\n\n if (typeof options.cause === \"object\") {\n this.reason = {\n name: (options.cause as { name: string }).name,\n message: (options.cause as { message: string }).message,\n };\n } else if (cause instanceof Error) {\n this.reason = {\n name: cause.name,\n message: cause.message,\n };\n }\n\n if (this.constructor.name === \"HttpError\") {\n this.error =\n options.error ?? errorNameByStatus[this.status] ?? \"HttpError\";\n } else {\n this.error = this.constructor.name;\n }\n }\n}\n\nexport const errorNameByStatus: Record<number, string> = {\n 400: \"BadRequestError\",\n 401: \"UnauthorizedError\",\n 403: \"ForbiddenError\",\n 404: \"NotFoundError\",\n 405: \"MethodNotAllowedError\",\n 409: \"ConflictError\",\n 410: \"GoneError\",\n 413: \"PayloadTooLargeError\",\n 415: \"UnsupportedMediaTypeError\",\n 429: \"TooManyRequestsError\",\n 500: \"InternalServerError\",\n 501: \"NotImplementedError\",\n 502: \"BadGatewayError\",\n 503: \"ServiceUnavailableError\",\n 504: \"GatewayTimeoutError\",\n};\n\nexport interface HttpErrorLike extends Error {\n status: number;\n}\n","import type { RequestConfigSchema } from \"../interfaces/ServerRequest.ts\";\n\n/**\n * Checks if the route has multipart/form-data request body.\n */\nexport const isMultipart = (options: {\n schema?: RequestConfigSchema;\n contentType?: string;\n requestBodyType?: string;\n}): boolean => {\n if (\n options.contentType === \"multipart/form-data\" ||\n options.requestBodyType === \"multipart/form-data\"\n ) {\n return true;\n }\n\n if (options.schema?.body && \"properties\" in options.schema.body) {\n const properties: Record<string, any> = options.schema.body.properties;\n for (const key in properties) {\n if (properties[key].format === \"binary\") {\n return true;\n }\n }\n }\n\n return false;\n};\n","import { type Static, t } from \"alepha\";\n\nexport const errorSchema = t.object(\n {\n error: t.text({ description: \"HTTP error name\" }),\n status: t.integer({\n description: \"HTTP status code\",\n }),\n message: t.text({\n description: \"Short text which describe the error\",\n size: \"rich\",\n }),\n details: t.optional(\n t.text({\n description: \"Detailed description of the error\",\n size: \"rich\",\n }),\n ),\n requestId: t.optional(t.text()),\n cause: t.optional(\n t.object({\n name: t.text(),\n message: t.text({\n description: \"Cause Error message\",\n size: \"rich\",\n }),\n }),\n ),\n },\n {\n title: \"HttpError\",\n description: \"Generic response after a failed operation\",\n },\n);\n\nexport type ErrorSchema = Static<typeof errorSchema>;\n","import {\n $inject,\n Alepha,\n AlephaError,\n type FileLike,\n isFileLike,\n type Static,\n type TObject,\n type TSchema,\n} from \"alepha\";\nimport { $cache } from \"alepha/cache\";\nimport type { DurationLike } from \"alepha/datetime\";\nimport { $logger } from \"alepha/logger\";\nimport { HttpError } from \"../errors/HttpError.ts\";\nimport { isMultipart } from \"../helpers/isMultipart.ts\";\nimport type {\n ServerRequestConfigEntry,\n TRequestBody,\n TResponseBody,\n} from \"../interfaces/ServerRequest.ts\";\nimport type { ClientRequestOptions } from \"../primitives/$action.ts\";\nimport { errorSchema } from \"../schemas/errorSchema.ts\";\n\nexport class HttpClient {\n protected readonly log = $logger();\n protected readonly alepha = $inject(Alepha);\n\n public readonly cache = $cache<HttpClientCache>({\n provider: \"memory\",\n name: \"http:client\",\n });\n\n protected readonly pendingRequests: HttpClientPendingRequests = {};\n\n public async fetchAction(args: FetchActionArgs): Promise<FetchResponse> {\n const route = args.action; // our link to fetch\n const options = args.options ?? {}; // fetch standard options, cache, etc.\n const config = args.config ?? {}; // params, query, body, etc.\n const host = args.host ?? \"\"; // remote host, e.g. \"https://api.example.com\" or empty (for browser)\n\n const request: RequestInit = {\n ...options.request,\n };\n\n const method = route.method;\n const headers: Record<string, string> = {};\n const url = this.url(host, route, config);\n\n await this.alepha.events.emit(\"client:onRequest\", {\n route,\n config,\n options,\n headers,\n request,\n });\n\n request.method ??= method;\n\n await this.body(request, headers, route, config);\n\n request.headers = {\n ...config.headers,\n ...Object.fromEntries(new Headers(request.headers).entries()),\n ...headers,\n };\n\n return await this.fetch(url, {\n ...request,\n schema: route.schema,\n ...options,\n });\n }\n\n public async fetch<T extends TSchema>(\n url: string,\n request: RequestInitWithOptions<T> = {}, // standard options\n ): Promise<FetchResponse<Static<T>>> {\n const options = {\n cache: request.localCache,\n schema: request.schema?.response,\n key: request.key,\n };\n\n request.method ??= \"GET\";\n\n this.log.trace(\"Request\", {\n url,\n method: request.method,\n body: request.body,\n headers: request.headers,\n options,\n });\n\n // Only add automatic ETag if user didn't explicitly provide headers\n const cached = await this.cache.get(url);\n if (cached && request.method === \"GET\") {\n if (cached.etag) {\n request.headers = new Headers(request.headers);\n if (!request.headers.has(\"if-none-match\")) {\n request.headers.set(\"if-none-match\", cached.etag);\n }\n } else {\n return {\n data: cached.data as Static<T>,\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n }\n }\n\n await this.alepha.events.emit(\"client:beforeFetch\", {\n url,\n options,\n request,\n });\n\n // Deduplicate concurrent identical requests for idempotent methods only.\n // Non-idempotent methods (POST, PUT, PATCH, DELETE) must always execute\n // since each call may produce a different side effect.\n const isIdempotent =\n request.method === \"GET\" ||\n request.method === \"HEAD\" ||\n request.method === \"OPTIONS\";\n const key =\n options.key ??\n (isIdempotent\n ? JSON.stringify({ url, method: request.method })\n : undefined);\n\n if (key) {\n const existing = this.pendingRequests[key];\n if (existing) {\n this.log.info(\"Request already pending\", key);\n return existing;\n }\n }\n\n const promise = fetch(url, request)\n .then(async (response) => {\n this.log.debug(\"Response\", {\n url,\n status: response.status,\n });\n\n const fetchResponse: FetchResponse = {\n data: await this.responseData(response, options),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n raw: response,\n };\n\n if (request.method === \"GET\") {\n if (options.cache) {\n await this.cache.set(\n url,\n { data: fetchResponse.data },\n typeof options.cache === \"boolean\" ? undefined : options.cache,\n );\n } else if (!this.alepha.isBrowser()) {\n // only cache etag on server, browser can handle etag itself\n const etag = response.headers.get(\"etag\") ?? undefined;\n if (etag) {\n await this.cache.set(url, { data: fetchResponse.data, etag });\n }\n }\n }\n\n return fetchResponse;\n })\n .finally(() => {\n if (key) {\n delete this.pendingRequests[key];\n }\n });\n\n if (key) {\n this.pendingRequests[key] = promise;\n }\n\n return promise;\n }\n\n protected url(\n host: string,\n action: HttpAction,\n args: ServerRequestConfigEntry,\n ) {\n let url = host;\n\n if (action.prefix) {\n url += action.prefix;\n }\n\n url += action.path;\n url = this.pathVariables(url, action, args);\n url = this.queryParams(url, action, args);\n\n return url;\n }\n\n protected async body(\n init: RequestInit,\n headers: Record<string, string>,\n action: HttpAction,\n args: ServerRequestConfigEntry = {},\n ) {\n const hasHeader =\n typeof init.headers === \"object\" &&\n \"content-type\" in init.headers &&\n init.headers[\"content-type\"] === \"multipart/form-data\";\n\n if (hasHeader || isMultipart(action)) {\n if (typeof init.headers === \"object\" && \"content-type\" in init.headers) {\n delete (init.headers as Record<string, unknown>)[\"content-type\"]; // fetch() will fill this for us\n }\n\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(args.body ?? {})) {\n if (typeof value === \"string\") {\n formData.append(key, value);\n continue;\n }\n if (value instanceof Blob) {\n formData.append(key, value);\n continue;\n }\n if (isFileLike(value)) {\n // FileLike must be transformed to WebFile\n formData.append(\n key,\n new File([await value.arrayBuffer()], value.name, {\n type: value.type,\n }),\n );\n }\n }\n\n init.body = formData;\n\n return;\n }\n\n if (!init.body && action.schema?.body) {\n headers[\"content-type\"] = \"application/json\";\n init.body = this.alepha.codec.encode(action.schema?.body, args.body, {\n as: \"string\",\n });\n }\n }\n\n protected async responseData(\n response: Response,\n options: FetchOptions,\n ): Promise<any> {\n if (response.status === 304) {\n let cacheKey = response.url;\n if (typeof window !== \"undefined\") {\n cacheKey = cacheKey.replace(window.location.origin, \"\");\n }\n\n const cached = await this.cache.get(cacheKey);\n if (cached) {\n return cached.data;\n }\n\n // if no cached data (etag-only routes), return empty string\n return \"\";\n }\n\n if (response.status === 204) {\n return;\n }\n\n if (this.isMaybeFile(response)) {\n return this.createFileLike(response);\n }\n\n if (response.headers.get(\"Content-Type\")?.startsWith(\"text/\")) {\n return await response.text();\n }\n\n if (response.headers.get(\"Content-Type\") === \"application/json\") {\n const json = await response.json();\n\n if (response.status >= 400) {\n const jsonError = this.alepha.codec.decode(errorSchema, json);\n const error = new HttpError(jsonError);\n\n await this.alepha.events.emit(\"client:onError\", {\n error,\n });\n\n throw error;\n }\n\n if (options.schema) {\n return this.alepha.codec.decode(options.schema, json);\n }\n\n return json;\n }\n\n if (response.status >= 400) {\n const error = new HttpError({\n status: response.status,\n message: `An error occurred while fetching the resource. (${response.statusText})`,\n });\n\n await this.alepha.events.emit(\"client:onError\", {\n error,\n });\n\n throw error;\n }\n\n return response;\n }\n\n protected isMaybeFile(response: Response): boolean {\n const contentType = response.headers.get(\"Content-Type\");\n if (!contentType) {\n return false;\n }\n\n if (response.headers.get(\"Content-Disposition\")?.includes(\"attachment\")) {\n return true; // If Content-Disposition indicates an attachment, treat it as a file\n }\n\n return (\n contentType.startsWith(\"application/octet-stream\") ||\n contentType.startsWith(\"application/pdf\") ||\n contentType.startsWith(\"application/zip\") ||\n contentType.startsWith(\"image/\") ||\n contentType.startsWith(\"video/\") ||\n contentType.startsWith(\"audio/\")\n );\n }\n\n protected createFileLike(response: Response, defaultFileName = \"\"): FileLike {\n const match = (response.headers.get(\"Content-Disposition\") ?? \"\").match(\n /filename=\"(.+)\"/,\n );\n return {\n name: match?.[1] ? match[1] : defaultFileName,\n type: response.headers.get(\"Content-Type\") ?? \"application/octet-stream\",\n size: Number(response.headers.get(\"Content-Length\") ?? 0),\n lastModified: Date.now(),\n stream: () => {\n throw new AlephaError(\"Not implemented\");\n },\n arrayBuffer: async () => {\n return await response.arrayBuffer();\n },\n text: async () => {\n return await response.text();\n },\n };\n }\n\n public pathVariables(\n url: string,\n action: { schema?: { params?: TObject } },\n args: ServerRequestConfigEntry = {},\n ): string {\n if (typeof args.params === \"object\") {\n const params = action.schema?.params\n ? (this.alepha.codec.decode(\n action.schema.params,\n args.params,\n ) as Record<string, any>)\n : args.params;\n\n for (const key of Object.keys(params)) {\n url = url.replace(`:${key}`, params[key]);\n url = url.replace(`{${key}}`, params[key]);\n }\n }\n\n return url;\n }\n\n public queryParams(\n url: string,\n action: { schema?: { query?: TObject } },\n args: ServerRequestConfigEntry = {},\n ): string {\n if (typeof args.query === \"object\") {\n const query = action.schema?.query\n ? this.alepha.codec.decode(action.schema.query, args.query ?? {})\n : args.query;\n\n for (const key of Object.keys(query)) {\n if (query[key] === undefined) {\n delete query[key];\n }\n if (typeof query[key] === \"object\") {\n query[key] = JSON.stringify(query[key]);\n }\n }\n\n const params = new URLSearchParams(\n query as Record<string, string>,\n ).toString();\n return params ? `${url}?${params}` : url;\n }\n return url;\n }\n}\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface FetchOptions<T extends TSchema = TSchema> {\n /**\n * Key to identify the request in the pending requests.\n */\n key?: string;\n\n /**\n * The schema to validate the response against.\n */\n schema?: {\n response?: T;\n };\n\n /**\n * Built-in cache options.\n */\n localCache?: boolean | number | DurationLike;\n}\n\nexport type RequestInitWithOptions<T extends TSchema = TSchema> = RequestInit &\n FetchOptions<T>;\n\nexport interface FetchResponse<T = any> {\n data: T;\n status: number;\n statusText: string;\n headers: Headers;\n raw?: Response;\n}\n\nexport type HttpClientPendingRequests = Record<\n string,\n Promise<any> | undefined\n>;\n\ninterface HttpClientCache {\n data: any;\n etag?: string;\n}\n\nexport interface FetchActionArgs {\n action: HttpAction;\n host?: string;\n config?: ServerRequestConfigEntry;\n options?: ClientRequestOptions;\n}\n\nexport interface HttpAction {\n method?: string;\n prefix?: string;\n path: string;\n contentType?: string;\n requestBodyType?: string;\n schema?: {\n params?: TObject;\n query?: TObject;\n body?: TRequestBody;\n response?: TResponseBody;\n };\n}\n","export const routeMethods = [\n // list of supported http methods\n \"GET\",\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"DELETE\",\n \"HEAD\",\n \"OPTIONS\",\n \"CONNECT\",\n \"TRACE\",\n] as const;\n\nexport type RouteMethod = (typeof routeMethods)[number];\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class BadRequestError extends HttpError {\n constructor(message = \"Invalid request body\", cause?: unknown) {\n super(\n {\n message,\n status: 400,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ConflictError extends HttpError {\n constructor(message = \"Entity already exists\", cause?: unknown) {\n super(\n {\n message,\n status: 409,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ForbiddenError extends HttpError {\n constructor(\n message = \"No permission to access this resource\",\n cause?: unknown,\n ) {\n super(\n {\n message,\n status: 403,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class NotFoundError extends HttpError {\n constructor(message = \"Resource not found\", cause?: unknown) {\n super(\n {\n message,\n status: 404,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class UnauthorizedError extends HttpError {\n readonly name = \"UnauthorizedError\";\n\n constructor(\n message = \"Not allowed to access this resource\",\n cause?: unknown,\n ) {\n super(\n {\n message,\n status: 401,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ValidationError extends HttpError {\n constructor(message = \"Validation has failed\", cause?: unknown) {\n super(\n {\n message,\n status: 400,\n },\n cause,\n );\n }\n}\n","/**\n * Helper for building server replies.\n */\nexport class ServerReply {\n // TODO: make it private\n public headers: Record<string, string> & {\n \"set-cookie\"?: string[];\n } = {};\n\n public status?: number; // default 200, or 204 (no content)\n\n public body?: any;\n\n /**\n * Redirect to a given URL with optional status code (default 302).\n */\n public redirect(url: string, status: number = 302): void {\n this.status = status;\n this.headers.location = url;\n }\n\n // TODO: check if status / header is already set and throw an error if so (for allow to override with force flag)\n\n /**\n * Set the response status code.\n */\n public setStatus(status: number): this {\n this.status = status;\n return this;\n }\n\n /**\n * Set a response header.\n */\n public setHeader(name: string, value: string): this {\n this.headers[name.toLowerCase()] = value;\n return this;\n }\n\n /**\n * Set the response body.\n */\n public setBody(body: any): this {\n this.body = body;\n return this;\n }\n}\n","import type { Static } from \"alepha\";\nimport { t } from \"alepha\";\n\nexport const okSchema = t.object(\n {\n ok: t.boolean({ description: \"True when operation succeed\" }),\n id: t.optional(t.union([t.text(), t.integer()])),\n count: t.optional(\n t.number({ description: \"Number of resources affected\" }),\n ),\n },\n {\n title: \"Ok\",\n description: \"Generic response after a successful operation on a resource\",\n },\n);\n\nexport type Ok = Static<typeof okSchema>;\n","import { $module } from \"alepha\";\nimport { HttpClient } from \"./services/HttpClient.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./index.shared.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport const AlephaServer = $module({\n name: \"alepha.server\",\n primitives: [],\n services: [HttpClient],\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.browser.js","names":[],"sources":["../../../src/server/core/errors/HttpError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/index.browser.ts"],"sourcesContent":["import { AlephaError } from \"alepha\";\nimport type { ErrorSchema } from \"../schemas/errorSchema.ts\";\n\nexport const isHttpError = (\n error: unknown,\n status?: number,\n): error is HttpErrorLike => {\n const isError =\n !!error &&\n typeof error === \"object\" &&\n \"message\" in error &&\n typeof error.message === \"string\" &&\n \"status\" in error &&\n typeof error.status === \"number\";\n\n if (!isError) {\n return false;\n }\n\n if (status) {\n return (error as HttpErrorLike).status === status;\n }\n\n return true;\n};\n\nexport class HttpError extends AlephaError {\n public name = \"HttpError\";\n\n static is = isHttpError;\n\n static toJSON(error: HttpError): ErrorSchema {\n const json: Record<string, unknown> = {\n error: error.error,\n status: error.status,\n message: error.message,\n };\n\n if (error.details) json.details = error.details;\n if (error.requestId) json.requestId = error.requestId;\n if (error.reason) json.cause = error.reason;\n\n return json as ErrorSchema;\n }\n\n public readonly error: string;\n public readonly status: number;\n\n public readonly requestId?: string;\n public readonly details?: string;\n public readonly reason?: {\n name: string;\n message: string;\n };\n\n constructor(options: Partial<ErrorSchema>, cause?: unknown) {\n super(options.message, {\n cause,\n });\n\n this.status = options.status ?? 500;\n this.details = options.details;\n this.requestId = options.requestId;\n\n if (typeof options.cause === \"object\") {\n this.reason = {\n name: (options.cause as { name: string }).name,\n message: (options.cause as { message: string }).message,\n };\n } else if (cause instanceof Error) {\n this.reason = {\n name: cause.name,\n message: cause.message,\n };\n }\n\n if (this.constructor.name === \"HttpError\") {\n this.error =\n options.error ?? errorNameByStatus[this.status] ?? \"HttpError\";\n } else {\n this.error = this.constructor.name;\n }\n }\n}\n\nexport const errorNameByStatus: Record<number, string> = {\n 400: \"BadRequestError\",\n 401: \"UnauthorizedError\",\n 403: \"ForbiddenError\",\n 404: \"NotFoundError\",\n 405: \"MethodNotAllowedError\",\n 409: \"ConflictError\",\n 410: \"GoneError\",\n 413: \"PayloadTooLargeError\",\n 415: \"UnsupportedMediaTypeError\",\n 429: \"TooManyRequestsError\",\n 500: \"InternalServerError\",\n 501: \"NotImplementedError\",\n 502: \"BadGatewayError\",\n 503: \"ServiceUnavailableError\",\n 504: \"GatewayTimeoutError\",\n};\n\nexport interface HttpErrorLike extends Error {\n status: number;\n}\n","import type { RequestConfigSchema } from \"../interfaces/ServerRequest.ts\";\n\n/**\n * Checks if the route has multipart/form-data request body.\n */\nexport const isMultipart = (options: {\n schema?: RequestConfigSchema;\n contentType?: string;\n requestBodyType?: string;\n}): boolean => {\n if (\n options.contentType === \"multipart/form-data\" ||\n options.requestBodyType === \"multipart/form-data\"\n ) {\n return true;\n }\n\n if (options.schema?.body && \"properties\" in options.schema.body) {\n const properties: Record<string, any> = options.schema.body.properties;\n for (const key in properties) {\n if (properties[key].format === \"binary\") {\n return true;\n }\n }\n }\n\n return false;\n};\n","import { type Static, t } from \"alepha\";\n\nexport const errorSchema = t.object(\n {\n error: t.text({ description: \"HTTP error name\" }),\n status: t.integer({\n description: \"HTTP status code\",\n }),\n message: t.text({\n description: \"Short text which describe the error\",\n size: \"rich\",\n }),\n details: t.optional(\n t.text({\n description: \"Detailed description of the error\",\n size: \"rich\",\n }),\n ),\n requestId: t.optional(t.text()),\n cause: t.optional(\n t.object({\n name: t.text(),\n message: t.text({\n description: \"Cause Error message\",\n size: \"rich\",\n }),\n }),\n ),\n },\n {\n title: \"HttpError\",\n description: \"Generic response after a failed operation\",\n },\n);\n\nexport type ErrorSchema = Static<typeof errorSchema>;\n","import {\n $inject,\n Alepha,\n AlephaError,\n type FileLike,\n isFileLike,\n type Static,\n type TObject,\n type TSchema,\n} from \"alepha\";\nimport { $cache } from \"alepha/cache\";\nimport type { DurationLike } from \"alepha/datetime\";\nimport { $logger } from \"alepha/logger\";\nimport { HttpError } from \"../errors/HttpError.ts\";\nimport { isMultipart } from \"../helpers/isMultipart.ts\";\nimport type {\n ServerRequestConfigEntry,\n TRequestBody,\n TResponseBody,\n} from \"../interfaces/ServerRequest.ts\";\nimport type { ClientRequestOptions } from \"../primitives/$action.ts\";\nimport { errorSchema } from \"../schemas/errorSchema.ts\";\n\nexport class HttpClient {\n protected readonly log = $logger();\n protected readonly alepha = $inject(Alepha);\n\n public readonly cache = $cache<HttpClientCache>({\n provider: \"memory\",\n name: \"http:client\",\n });\n\n protected readonly pendingRequests: HttpClientPendingRequests = {};\n\n public async fetchAction(args: FetchActionArgs): Promise<FetchResponse> {\n const route = args.action; // our link to fetch\n const options = args.options ?? {}; // fetch standard options, cache, etc.\n const config = args.config ?? {}; // params, query, body, etc.\n const host = args.host ?? \"\"; // remote host, e.g. \"https://api.example.com\" or empty (for browser)\n\n const request: RequestInit = {\n ...options.request,\n };\n\n const method = route.method;\n const headers: Record<string, string> = {};\n const url = this.url(host, route, config);\n\n await this.alepha.events.emit(\"client:onRequest\", {\n route,\n config,\n options,\n headers,\n request,\n });\n\n request.method ??= method;\n\n await this.body(request, headers, route, config);\n\n request.headers = {\n ...config.headers,\n ...Object.fromEntries(new Headers(request.headers).entries()),\n ...headers,\n };\n\n return await this.fetch(url, {\n ...request,\n schema: route.schema,\n ...options,\n });\n }\n\n public async fetch<T extends TSchema>(\n url: string,\n request: RequestInitWithOptions<T> = {}, // standard options\n ): Promise<FetchResponse<Static<T>>> {\n const options = {\n cache: request.localCache,\n schema: request.schema?.response,\n key: request.key,\n };\n\n request.method ??= \"GET\";\n\n this.log.trace(\"Request\", {\n url,\n method: request.method,\n body: request.body,\n headers: request.headers,\n options,\n });\n\n // Only add automatic ETag if user didn't explicitly provide headers\n const cached = await this.cache.get(url);\n if (cached && request.method === \"GET\") {\n if (cached.etag) {\n request.headers = new Headers(request.headers);\n if (!request.headers.has(\"if-none-match\")) {\n request.headers.set(\"if-none-match\", cached.etag);\n }\n } else {\n return {\n data: cached.data as Static<T>,\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n }\n }\n\n await this.alepha.events.emit(\"client:beforeFetch\", {\n url,\n options,\n request,\n });\n\n // Deduplicate concurrent identical requests for idempotent methods only.\n // Non-idempotent methods (POST, PUT, PATCH, DELETE) must always execute\n // since each call may produce a different side effect.\n const isIdempotent =\n request.method === \"GET\" ||\n request.method === \"HEAD\" ||\n request.method === \"OPTIONS\";\n const key =\n options.key ??\n (isIdempotent\n ? JSON.stringify({ url, method: request.method })\n : undefined);\n\n if (key) {\n const existing = this.pendingRequests[key];\n if (existing) {\n this.log.info(\"Request already pending\", key);\n return existing;\n }\n }\n\n const promise = fetch(url, request)\n .then(async (response) => {\n this.log.debug(\"Response\", {\n url,\n status: response.status,\n });\n\n const fetchResponse: FetchResponse = {\n data: await this.responseData(response, options),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n raw: response,\n };\n\n if (request.method === \"GET\") {\n if (options.cache) {\n await this.cache.set(\n url,\n { data: fetchResponse.data },\n typeof options.cache === \"boolean\" ? undefined : options.cache,\n );\n } else if (!this.alepha.isBrowser()) {\n // only cache etag on server, browser can handle etag itself\n const etag = response.headers.get(\"etag\") ?? undefined;\n if (etag) {\n await this.cache.set(url, { data: fetchResponse.data, etag });\n }\n }\n }\n\n return fetchResponse;\n })\n .finally(() => {\n if (key) {\n delete this.pendingRequests[key];\n }\n });\n\n if (key) {\n this.pendingRequests[key] = promise;\n }\n\n return promise;\n }\n\n protected url(\n host: string,\n action: HttpAction,\n args: ServerRequestConfigEntry,\n ) {\n let url = host;\n\n if (action.prefix) {\n url += action.prefix;\n }\n\n url += action.path;\n url = this.pathVariables(url, action, args);\n url = this.queryParams(url, action, args);\n\n return url;\n }\n\n protected async body(\n init: RequestInit,\n headers: Record<string, string>,\n action: HttpAction,\n args: ServerRequestConfigEntry = {},\n ) {\n const hasHeader =\n typeof init.headers === \"object\" &&\n \"content-type\" in init.headers &&\n init.headers[\"content-type\"] === \"multipart/form-data\";\n\n if (hasHeader || isMultipart(action)) {\n if (typeof init.headers === \"object\" && \"content-type\" in init.headers) {\n delete (init.headers as Record<string, unknown>)[\"content-type\"]; // fetch() will fill this for us\n }\n\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(args.body ?? {})) {\n if (typeof value === \"string\") {\n formData.append(key, value);\n continue;\n }\n if (value instanceof Blob) {\n formData.append(key, value);\n continue;\n }\n if (isFileLike(value)) {\n // FileLike must be transformed to WebFile\n formData.append(\n key,\n new File([await value.arrayBuffer()], value.name, {\n type: value.type,\n }),\n );\n }\n }\n\n init.body = formData;\n\n return;\n }\n\n if (!init.body && action.schema?.body) {\n headers[\"content-type\"] = \"application/json\";\n init.body = this.alepha.codec.encode(action.schema?.body, args.body, {\n as: \"string\",\n });\n }\n }\n\n protected async responseData(\n response: Response,\n options: FetchOptions,\n ): Promise<any> {\n if (response.status === 304) {\n let cacheKey = response.url;\n if (typeof window !== \"undefined\") {\n cacheKey = cacheKey.replace(window.location.origin, \"\");\n }\n\n const cached = await this.cache.get(cacheKey);\n if (cached) {\n return cached.data;\n }\n\n // if no cached data (etag-only routes), return empty string\n return \"\";\n }\n\n if (response.status === 204) {\n return;\n }\n\n if (this.isMaybeFile(response)) {\n return this.createFileLike(response);\n }\n\n if (response.headers.get(\"Content-Type\")?.startsWith(\"text/\")) {\n return await response.text();\n }\n\n if (response.headers.get(\"Content-Type\") === \"application/json\") {\n const json = await response.json();\n\n if (response.status >= 400) {\n const jsonError = this.alepha.codec.decode(errorSchema, json);\n const error = new HttpError(jsonError);\n\n await this.alepha.events.emit(\"client:onError\", {\n error,\n });\n\n throw error;\n }\n\n if (options.schema) {\n return this.alepha.codec.decode(options.schema, json);\n }\n\n return json;\n }\n\n if (response.status >= 400) {\n const error = new HttpError({\n status: response.status,\n message: `An error occurred while fetching the resource. (${response.statusText})`,\n });\n\n await this.alepha.events.emit(\"client:onError\", {\n error,\n });\n\n throw error;\n }\n\n return response;\n }\n\n protected isMaybeFile(response: Response): boolean {\n const contentType = response.headers.get(\"Content-Type\");\n if (!contentType) {\n return false;\n }\n\n if (response.headers.get(\"Content-Disposition\")?.includes(\"attachment\")) {\n return true; // If Content-Disposition indicates an attachment, treat it as a file\n }\n\n return (\n contentType.startsWith(\"application/octet-stream\") ||\n contentType.startsWith(\"application/pdf\") ||\n contentType.startsWith(\"application/zip\") ||\n contentType.startsWith(\"image/\") ||\n contentType.startsWith(\"video/\") ||\n contentType.startsWith(\"audio/\")\n );\n }\n\n protected createFileLike(response: Response, defaultFileName = \"\"): FileLike {\n const match = (response.headers.get(\"Content-Disposition\") ?? \"\").match(\n /filename=\"(.+)\"/,\n );\n return {\n name: match?.[1] ? match[1] : defaultFileName,\n type: response.headers.get(\"Content-Type\") ?? \"application/octet-stream\",\n size: Number(response.headers.get(\"Content-Length\") ?? 0),\n lastModified: Date.now(),\n stream: () => {\n throw new AlephaError(\"Not implemented\");\n },\n arrayBuffer: async () => {\n return await response.arrayBuffer();\n },\n text: async () => {\n return await response.text();\n },\n };\n }\n\n public pathVariables(\n url: string,\n action: { schema?: { params?: TObject } },\n args: ServerRequestConfigEntry = {},\n ): string {\n if (typeof args.params === \"object\") {\n const params = action.schema?.params\n ? (this.alepha.codec.decode(\n action.schema.params,\n args.params,\n ) as Record<string, any>)\n : args.params;\n\n for (const key of Object.keys(params)) {\n url = url.replace(`:${key}`, params[key]);\n url = url.replace(`{${key}}`, params[key]);\n }\n }\n\n return url;\n }\n\n public queryParams(\n url: string,\n action: { schema?: { query?: TObject } },\n args: ServerRequestConfigEntry = {},\n ): string {\n if (typeof args.query === \"object\") {\n const query = action.schema?.query\n ? this.alepha.codec.decode(action.schema.query, args.query ?? {})\n : args.query;\n\n for (const key of Object.keys(query)) {\n if (query[key] === undefined) {\n delete query[key];\n }\n if (typeof query[key] === \"object\") {\n query[key] = JSON.stringify(query[key]);\n }\n }\n\n const params = new URLSearchParams(\n query as Record<string, string>,\n ).toString();\n return params ? `${url}?${params}` : url;\n }\n return url;\n }\n}\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport interface FetchOptions<T extends TSchema = TSchema> {\n /**\n * Key to identify the request in the pending requests.\n */\n key?: string;\n\n /**\n * The schema to validate the response against.\n */\n schema?: {\n response?: T;\n };\n\n /**\n * Built-in cache options.\n */\n localCache?: boolean | number | DurationLike;\n}\n\nexport type RequestInitWithOptions<T extends TSchema = TSchema> = RequestInit &\n FetchOptions<T>;\n\nexport interface FetchResponse<T = any> {\n data: T;\n status: number;\n statusText: string;\n headers: Headers;\n raw?: Response;\n}\n\nexport type HttpClientPendingRequests = Record<\n string,\n Promise<any> | undefined\n>;\n\ninterface HttpClientCache {\n data: any;\n etag?: string;\n}\n\nexport interface FetchActionArgs {\n action: HttpAction;\n host?: string;\n config?: ServerRequestConfigEntry;\n options?: ClientRequestOptions;\n}\n\nexport interface HttpAction {\n method?: string;\n prefix?: string;\n path: string;\n contentType?: string;\n requestBodyType?: string;\n schema?: {\n params?: TObject;\n query?: TObject;\n body?: TRequestBody;\n response?: TResponseBody;\n };\n}\n","export const routeMethods = [\n // list of supported http methods\n \"GET\",\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"DELETE\",\n \"HEAD\",\n \"OPTIONS\",\n \"CONNECT\",\n \"TRACE\",\n] as const;\n\nexport type RouteMethod = (typeof routeMethods)[number];\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class BadRequestError extends HttpError {\n constructor(message = \"Invalid request body\", cause?: unknown) {\n super(\n {\n message,\n status: 400,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ConflictError extends HttpError {\n constructor(message = \"Entity already exists\", cause?: unknown) {\n super(\n {\n message,\n status: 409,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class ForbiddenError extends HttpError {\n constructor(\n message = \"No permission to access this resource\",\n cause?: unknown,\n ) {\n super(\n {\n message,\n status: 403,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class NotFoundError extends HttpError {\n constructor(message = \"Resource not found\", cause?: unknown) {\n super(\n {\n message,\n status: 404,\n },\n cause,\n );\n }\n}\n","import { HttpError } from \"./HttpError.ts\";\n\nexport class UnauthorizedError extends HttpError {\n readonly name = \"UnauthorizedError\";\n\n constructor(\n message = \"Not allowed to access this resource\",\n cause?: unknown,\n ) {\n super(\n {\n message,\n status: 401,\n },\n cause,\n );\n }\n}\n","import { TypeBoxError } from \"alepha\";\nimport { HttpError } from \"./HttpError.ts\";\n\nexport class ValidationError extends HttpError {\n constructor(message = \"Validation has failed\", cause?: unknown) {\n let fullMessage = message;\n let details: string | undefined;\n\n if (cause instanceof TypeBoxError) {\n fullMessage = `${message}: ${cause.cause.message}`;\n if (cause.cause.instancePath) {\n details = cause.cause.instancePath;\n }\n }\n\n super(\n {\n message: fullMessage,\n status: 400,\n details,\n },\n cause,\n );\n }\n}\n","/**\n * Helper for building server replies.\n */\nexport class ServerReply {\n // TODO: make it private\n public headers: Record<string, string> & {\n \"set-cookie\"?: string[];\n } = {};\n\n public status?: number; // default 200, or 204 (no content)\n\n public body?: any;\n\n /**\n * Redirect to a given URL with optional status code (default 302).\n */\n public redirect(url: string, status: number = 302): void {\n this.status = status;\n this.headers.location = url;\n }\n\n // TODO: check if status / header is already set and throw an error if so (for allow to override with force flag)\n\n /**\n * Set the response status code.\n */\n public setStatus(status: number): this {\n this.status = status;\n return this;\n }\n\n /**\n * Set a response header.\n */\n public setHeader(name: string, value: string): this {\n this.headers[name.toLowerCase()] = value;\n return this;\n }\n\n /**\n * Set the response body.\n */\n public setBody(body: any): this {\n this.body = body;\n return this;\n }\n}\n","import type { Static } from \"alepha\";\nimport { t } from \"alepha\";\n\nexport const okSchema = t.object(\n {\n ok: t.boolean({ description: \"True when operation succeed\" }),\n id: t.optional(t.union([t.text(), t.integer()])),\n count: t.optional(\n t.number({ description: \"Number of resources affected\" }),\n ),\n },\n {\n title: \"Ok\",\n description: \"Generic response after a successful operation on a resource\",\n },\n);\n\nexport type Ok = Static<typeof okSchema>;\n","import { $module } from \"alepha\";\nimport { HttpClient } from \"./services/HttpClient.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport * from \"./index.shared.ts\";\n\n// ---------------------------------------------------------------------------------------------------------------------\n\nexport const AlephaServer = $module({\n name: \"alepha.server\",\n primitives: [],\n services: [HttpClient],\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/errors/HttpError.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/services/UserAgentParser.ts","../../../src/server/core/interfaces/ServerRequest.ts","../../../src/server/core/services/ServerRequestParser.ts","../../../src/server/core/providers/ServerTimingProvider.ts","../../../src/server/core/providers/ServerRouterProvider.ts","../../../src/server/core/providers/ServerProvider.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/primitives/$action.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/primitives/$circuit.ts","../../../src/server/core/primitives/$middleware.ts","../../../src/server/core/primitives/$route.ts","../../../src/server/core/primitives/$sse.ts","../../../src/server/core/providers/BunHttpServerProvider.ts","../../../src/server/core/providers/NodeHttpServerProvider.ts","../../../src/server/core/providers/ServerCompressProvider.ts","../../../src/server/core/providers/ServerHelmetProvider.ts","../../../src/server/core/providers/ServerLoggerProvider.ts","../../../src/server/core/providers/ServerMultipartProvider.ts","../../../src/server/core/providers/ServerNotReadyProvider.ts","../../../src/server/core/index.ts"],"mappings":";;;;;;;;;;;;;;cAEa,WAAA,WAAW,OAAA;SA+BvB,QAAA,CAAA,OAAA;;;;;;;;;;KAEW,WAAA,GAAc,MAAA,QAAc,WAAA;;;cChC3B,WAAA,GACX,KAAA,WACA,MAAA,cACC,KAAA,IAAS,aAAA;AAAA,cAoBC,SAAA,SAAkB,WAAA;EACtB,IAAA;EAAA,OAEA,EAAA,GAAE,KAAA,WAzBK,MAAA,cAEb,KAAA,IAAS,aAAA;EAAA,OAyBH,MAAA,CAAO,KAAA,EAAO,SAAA,GAAY,WAAA;EAAA,SAcjB,KAAA;EAAA,SACA,MAAA;EAAA,SAEA,SAAA;EAAA,SACA,OAAA;EAAA,SACA,MAAA;IACd,IAAA;IACA,OAAA;EAAA;cAGU,OAAA,EAAS,OAAA,CAAQ,WAAA,GAAc,KAAA;AAAA;AAAA,cA8BhC,iBAAA,EAAmB,MAAA;AAAA,UAkBf,aAAA,SAAsB,KAAA;EACrC,MAAA;AAAA;;;cCxGW,YAAA;AAAA,KAaD,WAAA,WAAsB,YAAA;;;;;;cCVrB,WAAA;EAEJ,OAAA,EAAS,MAAA;IACd,YAAA;EAAA;EAGK,MAAA;EAEA,IAAA;;;;EAKA,QAAA,CAAS,GAAA,UAAa,MAAA;;AHd/B;;EGwBS,SAAA,CAAU,MAAA;EHOlB;;;EGCQ,SAAA,CAAU,IAAA,UAAc,KAAA;;;;EAQxB,OAAA,CAAQ,IAAA;AAAA;;;UC1CA,aAAA;EACf,EAAA;EAaA,OAAA;EAYA,MAAA;AAAA;;;;;;;cASW,eAAA;EACJ,KAAA,CAAM,SAAA,YAAyB,aAAA;AAAA;;;KCZ5B,YAAA,GAAe,OAAA,GAAU,OAAA,GAAU,MAAA,GAAS,OAAA,GAAU,OAAA;AAAA,KACtD,aAAA,GACR,OAAA,GACA,OAAA,GACA,OAAA,GACA,KAAA,GACA,MAAA,GACA,OAAA,GACA,KAAA;AAAA,UAEa,mBAAA;EACf,IAAA,GAAO,YAAA;EACP,MAAA,GAAS,OAAA;EACT,KAAA,GAAQ,OAAA;EACR,OAAA,GAAU,OAAA;EACV,QAAA,GAAW,aAAA;AAAA;AAAA,UAGI,mBAAA,iBACC,mBAAA,GAAsB,mBAAA;EAEtC,IAAA,EAAM,OAAA,iBAAwB,YAAA,GAAe,MAAA,CAAO,OAAA;EAEpD,OAAA,EAAS,OAAA,oBAA2B,OAAA,GAChC,MAAA,CAAO,OAAA,eACP,MAAA;EAEJ,MAAA,EAAQ,OAAA,mBAA0B,OAAA,GAC9B,MAAA,CAAO,OAAA,cACP,MAAA;EAEJ,KAAA,EAAO,OAAA,kBAAyB,OAAA,GAC5B,MAAA,CAAO,OAAA,aACP,MAAA;AAAA;AAAA,KAGM,wBAAA,iBACM,mBAAA,GAAsB,mBAAA,IACpC,OAAA,CAAQ,mBAAA,CAAoB,OAAA;AAAA,UAIf,aAAA,iBACC,mBAAA,GAAsB,mBAAA,UAC9B,mBAAA,CAAoB,OAAA;;;;EAI5B,MAAA,EAAQ,WAAA;ELtEc;;;EK2EtB,GAAA,EAAK,GAAA;;;;EAKL,SAAA;;;;;EAMA,EAAA;;;;EAKA,IAAA;;;;;;;EAQA,SAAA,EAAW,aAAA;ELlED;;;;EKwEV,GAAA,EAAK,UAAA;;;;AJxGP;EI8GE,KAAA;;;;;EAMA,QAAA;EJjHU;;;AAoBZ;EImGE,QAAA;;;;;EAMA,QAAA;EJ5EqB;;;;EIkFrB,OAAA,GAAU,cAAA;EJ9GH;;;EImHP,QAAA,EAAU,MAAA;EJxIT;;;EI6ID,KAAA,EAAO,WAAA;EJpHO;;;EIyHd,GAAA,EAAK,gBAAA;AAAA;AAAA,UAKU,WAAA,iBACC,mBAAA,GAAsB,mBAAA,UAC9B,KAAA;EJ7GQ;;;EIiHhB,OAAA,EAAS,eAAA;EJ5GY;;;EIiHrB,MAAA,GAAS,WAAA;EJjHiD;;AA8B5D;;;;;AAkBA;;;;;;;EIiFE,MAAA,GAAS,OAAA;EHxLE;;;EG6LX,MAAA;AAAA;AHhLF;;;;AAAA,KGuLY,gBAAA,iBACM,mBAAA,GAAsB,mBAAA,IACpC,IAAA,CAAK,WAAA,CAAY,OAAA;EACnB,OAAA,EAAS,eAAA,GAAkB,aAAA,CAAc,OAAA;AAAA;AAAA,KAK/B,kBAAA,iBACM,mBAAA,GAAsB,mBAAA,IACpC,OAAA,qBAA4B,aAAA,GAC5B,MAAA,CAAO,OAAA,gBACP,gBAAA;AAAA,KAEQ,YAAA;AAAA,KAEA,gBAAA,YAGD,MAAA,GAAS,UAAA;AAAA,KAER,aAAA,iBACM,mBAAA,GAAsB,mBAAA,KACnC,OAAA,EAAS,aAAA,CAAc,OAAA,MAAa,KAAA,CAAM,kBAAA,CAAmB,OAAA;AAAA,UAEjD,cAAA;EACf,IAAA,WAAe,MAAA,GAAS,WAAA,GAAc,QAAA,GAAa,gBAAA;EACnD,OAAA,EAAS,MAAA;EACT,MAAA;AAAA;AAAA,KAGU,yBAAA,IACV,OAAA,EAAS,iBAAA,KACN,OAAA,CAAQ,cAAA;AAAA,UAEI,kBAAA,SAA2B,KAAA;EAC1C,OAAA,EAAS,yBAAA;AAAA;AAAA,UAGM,iBAAA;EAAA,SACN,MAAA,EAAQ,WAAA;EAAA,SACR,GAAA,EAAK,GAAA;EAAA,SACL,OAAA,EAAS,MAAA;EAAA,SACT,KAAA,EAAO,MAAA;EAAA,SACP,MAAA,EAAQ,MAAA;EACjB,GAAA,EAAK,gBAAA;AAAA;AAAA,UAGU,gBAAA;EACf,IAAA,GAAO,gBAAA;EACP,GAAA,GAAM,eAAA;AAAA;AAAA,UAGS,gBAAA;EACf,GAAA,EAAK,eAAA;EACL,GAAA,EAAK,gBAAA;AAAA;AAAA,UAGU,eAAA;EACf,GAAA,EAAK,OAAA;EACL,GAAA,GAAM,QAAA;AAAA;;AD7NR;;UCqOiB,UAAA;EDpOoC;;;ECwOnD,OAAA;EDxOmD;;;EC4OnD,IAAA;;AAxPF;;EA4PE,MAAA;EA5PyB;;;EAgQzB,QAAA;EAhQgE;;;EAoQhE,SAAA;AAAA;;;;UAMe,cAAA;EA1QwD;AACzE;;EA6QE,GAAA;EA5QE;;;EAgRF,QAAA;EA5QE;;;EAgRF,QAAA;AAAA;;;cCpRW,mBAAA;EAAA,mBACQ,MAAA,EAAM,MAAA;EAAA,mBACN,eAAA,EAAe,eAAA;EAAA,mBACf,cAAA,EAAc,cAAA;EAAA,mBACd,GAAA;;;qBACA,OAAA,EAAO,GAAA;EAEnB,mBAAA,CACL,iBAAA,EAAmB,OAAA,CAAQ,iBAAA,IAC1B,aAAA;EAsDI,YAAA,CAAa,OAAA,EAAS,iBAAA;EAItB,mBAAA,CAAoB,OAAA,EAAS,iBAAA,GAAiB,aAAA;EAI9C,YAAA,CAAa,OAAA,EAAS,iBAAA;EAAA,UAwBnB,eAAA,CAAgB,OAAA,EAAS,iBAAA;EAa5B,aAAA,CAAc,OAAA,EAAS,iBAAA,GAAoB,UAAA;EAAA,0BA6BxB,YAAA,EAAY,MAAA;EAoG/B,QAAA,CAAS,OAAA,EAAS,iBAAA;EAAA,0BAWC,eAAA,EAAe,MAAA;EAqBlC,WAAA,CAAY,OAAA,EAAS,iBAAA;EAarB,WAAA,CAAY,OAAA,EAAS,iBAAA;EA8BrB,WAAA,CAAY,OAAA,EAAS,iBAAA;EAmBrB,UAAA,CAAW,OAAA,EAAS,iBAAA,GAAoB,cAAA;AAAA;;;KCjW5C,SAAA,GAAY,MAAA;AAAA,cAEJ,oBAAA;EAAA,mBACQ,GAAA,EADY,gBAAA,CACT,MAAA;EAAA,mBACH,QAAA,EAAQ,gBAAA;EAAA,mBACR,MAAA,EAAM,MAAA;EAElB,OAAA;;;;WAOS,SAAA,EATS,QAAA,CASA,aAAA;EAAA,SAaT,UAAA,EAbS,QAAA,CAaC,aAAA;EAAA,cAqCZ,WAAA,CAAA;EAIP,WAAA,CAAY,IAAA;EAeZ,SAAA,CAAU,IAAA;EAAA,UAwBP,WAAA,CAAY,IAAA,UAAc,MAAA,EAAQ,SAAA;AAAA;;;;;;;;;;AP7G9C;cQoCa,oBAAA,SAA6B,cAAA,CAAe,kBAAA;EAAA,mBACpC,GAAA,EADsD,gBAAA,CACnD,MAAA;EAAA,mBACH,MAAA,EAAM,MAAA;EAAA,mBACN,MAAA,EAAQ,WAAA;EAAA,mBACR,oBAAA,EAAoB,oBAAA;EAAA,mBACpB,mBAAA,EAAmB,mBAAA;EAAA,mBACnB,cAAA,EAAc,OAAA;EAAA,mBACd,wBAAA,EAA0B,qBAAA;;;;YAKnC,kBAAA,CAAmB,MAAA;IAAU,UAAA;EAAA;EAShC,cAAA,CACL,OAAA,UACA,UAAA,EAAY,UAAA,IACZ,OAAA,GAAU,qBAAA;ER5DU;;;EAAA,UQyEZ,uBAAA,CACR,KAAA,EAAO,WAAA,EACP,OAAA,GAAU,qBAAA;;;;;YA2BF,cAAA,CAAe,SAAA,UAAmB,OAAA;;;;;;;EAarC,SAAA,CAAU,OAAA,YAAmB,WAAA;;;;;;;EAe7B,WAAA,iBAA4B,mBAAA,GAAsB,mBAAA,CAAA,CACvD,KAAA,EAAO,gBAAA,CAAiB,OAAA;ERlGhB;;;;;;;;EAAA,UQkJA,YAAA,CAAa,OAAA,EAAS,MAAA;EP7JjC;;;;EAAA,UOwKiB,cAAA,CACd,OAAA,EAAS,aAAA,EACT,KAAA,EAAO,WAAA,EACP,YAAA,EAAc,YAAA,GAAY,OAAA;;;;;;;;;;YA6BZ,eAAA,CACd,KAAA,EAAO,WAAA,EACP,OAAA,EAAS,aAAA,EACT,YAAA,EAAc,YAAA,GAAY,OAAA;EP5KC;;;EO4NtB,iBAAA,CACL,KAAA,EAAO,WAAA,EACP,KAAA,EAAO,WAAA,EACP,YAAA,EAAc,YAAA;EP5PwB;;;EAAA,UOuU9B,eAAA,CAAgB,MAAA,GAAS,mBAAA,GAAsB,YAAA;EPpUhD;;;EAAA,UOsWO,YAAA,CACd,KAAA,EAAO,WAAA,EACP,OAAA,EAAS,aAAA,EACT,KAAA,EAAO,KAAA,GAAK,OAAA;EPvWP;;;EOiaA,eAAA,CACL,KAAA;IAAS,MAAA,GAAS,mBAAA;EAAA,GAClB,OAAA,EAAS,mBAAA;AAAA;AAAA,UAkEI,qBAAA;EACf,MAAA,GAAS,WAAA,GAAc,WAAA;EACvB,OAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,qBAAA;EACtC,OAAA;EACA,UAAA,EAAY,UAAA;AAAA;;;;;;;;;;cCxeD,cAAA;EAAA,mBACQ,GAAA,EADM,gBAAA,CACH,MAAA;EAAA,mBACH,MAAA,EAAM,MAAA;EAAA,mBACN,gBAAA,EAAgB,gBAAA;EAAA,mBAChB,MAAA,EAAM,oBAAA;EAAA,mBAEN,0BAAA;EAAA,mBAGA,qBAAA,EAAqB,QAAA;;;;;;;qBAOrB,mBAAA,QAAmB,QAAA;;;;;;;qBAMnB,YAAA,EAAY,GAAA;;;;;YAMrB,UAAA,CAAW,OAAA,EAAS,MAAA;;;;;YAyBpB,gBAAA,CAAiB,MAAA,WAAiB,MAAA;;;;YAwClC,UAAA,CAAW,GAAA;EAAA,IAaV,QAAA,CAAA;;;;qBAUQ,aAAA,EA/D+B,QAAA,CA+DlB,aAAA;;ATpHlC;;qBS4HqB,YAAA,EARa,QAAA,CAQD,aAAA;ET5HP;;;;;ESwIX,iBAAA,CACX,gBAAA,EAAkB,gBAAA,GACjB,OAAA;ERrJJ;;;EQwPc,gBAAA,CAAiB,EAAA,EAAI,eAAA,GAAkB,OAAA;ER3QpD;;;;;AAqBF;;;EArBE,UQ2XU,YAAA,CAAa,OAAA,EAAS,MAAA,8BAAoC,OAAA;ERjW/C;;;EAAA,UQkXX,cAAA,CACR,GAAA,WACA,KAAA,GAAQ,KAAA,EACR,MAAA,GAAS,MAAA;AAAA;;;cC7XA,UAAA;EAAA,mBACQ,GAAA,EADE,gBAAA,CACC,MAAA;EAAA,mBACH,MAAA,EAAM,MAAA;EAAA,SAET,KAAA,EAAK,eAAA,CAAA,iBAAA,CAAA,eAAA;EAAA,mBAKF,eAAA,EAAiB,yBAAA;EAEvB,WAAA,CAAY,IAAA,EAAM,eAAA,GAAkB,OAAA,CAAQ,aAAA;EAuC5C,KAAA,WAAgB,OAAA,CAAA,CAC3B,GAAA,UACA,OAAA,GAAS,sBAAA,CAAuB,CAAA,IAC/B,OAAA,CAAQ,aAAA,CAAc,MAAA,CAAO,CAAA;EAAA,UA4GtB,GAAA,CACR,IAAA,UACA,MAAA,EAAQ,UAAA,EACR,IAAA,EAAM,wBAAA;EAAA,UAeQ,IAAA,CACd,IAAA,EAAM,WAAA,EACN,OAAA,EAAS,MAAA,kBACT,MAAA,EAAQ,UAAA,EACR,IAAA,GAAM,wBAAA,GAA6B,OAAA;EAAA,UA+CrB,YAAA,CACd,QAAA,EAAU,QAAA,EACV,OAAA,EAAS,YAAA,GACR,OAAA;EAAA,UAiEO,WAAA,CAAY,QAAA,EAAU,QAAA;EAAA,UAoBtB,cAAA,CAAe,QAAA,EAAU,QAAA,EAAU,eAAA,YAAuB,QAAA;EAqB7D,aAAA,CACL,GAAA,UACA,MAAA;IAAU,MAAA;MAAW,MAAA,GAAS,OAAA;IAAA;EAAA,GAC9B,IAAA,GAAM,wBAAA;EAmBD,WAAA,CACL,GAAA,UACA,MAAA;IAAU,MAAA;MAAW,KAAA,GAAQ,OAAA;IAAA;EAAA,GAC7B,IAAA,GAAM,wBAAA;AAAA;AAAA,UA2BO,YAAA,WAAuB,OAAA,GAAU,OAAA;;;;EAIhD,GAAA;;;;EAKA,MAAA;IACE,QAAA,GAAW,CAAA;EAAA;;;;EAMb,UAAA,sBAAgC,YAAA;AAAA;AAAA,KAGtB,sBAAA,WAAiC,OAAA,GAAU,OAAA,IAAW,WAAA,GAChE,YAAA,CAAa,CAAA;AAAA,UAEE,aAAA;EACf,IAAA,EAAM,CAAA;EACN,MAAA;EACA,UAAA;EACA,OAAA,EAAS,OAAA;EACT,GAAA,GAAM,QAAA;AAAA;AAAA,KAGI,yBAAA,GAA4B,MAAA,SAEtC,OAAA;AAAA,UAGQ,eAAA;EACR,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,eAAA;EACf,MAAA,EAAQ,UAAA;EACR,IAAA;EACA,MAAA,GAAS,wBAAA;EACT,OAAA,GAAU,oBAAA;AAAA;AAAA,UAGK,UAAA;EACf,MAAA;EACA,MAAA;EACA,IAAA;EACA,WAAA;EACA,eAAA;EACA,MAAA;IACE,MAAA,GAAS,OAAA;IACT,KAAA,GAAQ,OAAA;IACR,IAAA,GAAO,YAAA;IACP,QAAA,GAAW,aAAA;EAAA;AAAA;;;;;;;;;;;AVrdf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA;;;;;;;;AChCA;;;;;;;;;;AAuBA;;;;;;;;;cUmFa,OAAA;EAAA,iBAA2B,mBAAA,EAAmB,OAAA,EAChD,sBAAA,CAAuB,OAAA,IAC/B,iBAAA,CAAkB,OAAA;EAAA;;UAkBJ,sBAAA,iBAAuC,mBAAA,UAC9C,IAAA,CAAK,WAAA,gDACX,wBAAA;EVtGO;;;;;;EU6GT,IAAA;EV3GiC;;;;;;;;;;;;;;;AAsDnC;;;;;AAkBA;;EU2DE,KAAA;EV3DqC;;;EUgErC,IAAA;;ATvKF;;;;;AAaA;;ESoKE,MAAA,GAAS,WAAA;ETpKuB;;;;;ACVlC;;EQuLE,MAAA,GAAS,OAAA;ERrLa;;;EQ0LtB,WAAA;ERtLO;;;;EQ4LP,QAAA;ER3KO;;;EQgLP,OAAA,EAAS,mBAAA,CAAoB,OAAA;AAAA;;;;cAQlB,gBAAA,EAAgB,QAAA,CAAA,IAAA,CAAA,OAAA;UAW3B,QAAA,CAAA,OAAA;AAAA;AAAA,KAEU,gBAAA,GAAmB,MAAA,QAAc,gBAAA,CAAiB,MAAA;AAAA;EAAA,UAGlD,KAAA;IAAA,CACP,gBAAA,CAAiB,GAAA,GAAM,gBAAA;EAAA;AAAA;AAAA,cAMf,eAAA,iBACK,mBAAA,UACR,iBAAA,CAAkB,sBAAA,CAAuB,OAAA;EAAA,mBAC9B,GAAA,EAD6B,gBAAA,CAC1B,MAAA;EAAA,mBACH,QAAA,EAAQ,QAAA;;;qBACR,UAAA,EAAU,UAAA;EAAA,mBACV,cAAA,EAAc,cAAA;EAAA,mBACd,oBAAA,EAAoB,oBAAA;EAAA,UAE7B,MAAA,CAAA;EAAA,IAUC,MAAA,CAAA;EAAA,IAIA,KAAA,CAAA,GAAS,WAAA;EP5N+B;;;EAAA,IOwOxC,IAAA,CAAA;;ANpPb;;MM2Pa,KAAA,CAAA;EN3Pc;;;EAAA,IMkQd,MAAA,CAAA,GAAU,WAAA;ENlQ2C;;;;;EAAA,IM2QrD,IAAA,CAAA;EAAA,IAkBA,MAAA,CAAA,GAAU,OAAA;EAId,kBAAA,CAAA;ENjSgE;;AACzE;;EM0Te,GAAA,CACX,MAAA,GAAS,kBAAA,CAAmB,OAAA,GAC5B,OAAA,GAAS,oBAAA,GACR,OAAA,CAAQ,qBAAA,CAAsB,OAAA;EN5T/B;;;EMwbK,KAAA,CACL,MAAA,GAAS,kBAAA,CAAmB,OAAA,GAC5B,OAAA,GAAU,oBAAA,GACT,OAAA,CAAQ,aAAA,CAAc,qBAAA,CAAsB,OAAA;AAAA;AAAA,UAUhC,iBAAA,iBAAkC,mBAAA,UACzC,eAAA,CAAgB,OAAA;EAAA,CAEtB,MAAA,GAAS,kBAAA,CAAmB,OAAA,GAC5B,OAAA,GAAU,oBAAA,GACT,OAAA,CAAQ,qBAAA,CAAsB,OAAA;AAAA;AAAA,KAOvB,kBAAA,iBACM,mBAAA,MACZ,2BAAA,CAA4B,OAAA,mBAEpB,CAAA,IAAK,CAAA,CAAE,CAAA,8BAA+B,CAAA,GAAI,CAAA,CAAE,CAAA;AAAA,KAG9C,2BAAA,iBAA4C,mBAAA;EACtD,IAAA,EAAM,OAAA,iBAAwB,YAAA,GAC1B,MAAA,CAAO,OAAA;EAGX,MAAA,EAAQ,OAAA,mBAA0B,OAAA,GAC9B,MAAA,CAAO,OAAA;EAGX,OAAA,GAAU,OAAA,oBAA2B,OAAA,GACjC,MAAA,CAAO,OAAA,eACP,MAAA;EAEJ,KAAA,GAAQ,OAAA,kBAAyB,OAAA,GAC7B,OAAA,CAAQ,MAAA,CAAO,OAAA,cACf,MAAA;AAAA;AAAA,UAGW,oBAAA,SAA6B,YAAA;ENle7B;;;EMsef,OAAA,GAAU,WAAA;ENpeD;;;;EM0eT,KAAA,GAAQ,MAAA;AAAA;AAAA,KAGE,qBAAA,iBAAsC,mBAAA,IAChD,OAAA,qBAA4B,OAAA,GAAU,MAAA,CAAO,OAAA;;;;KAKnC,mBAAA,iBACM,mBAAA,GAAsB,mBAAA,KAEtC,OAAA,EAAS,mBAAA,CAAoB,OAAA,MAC1B,KAAA,CAAM,kBAAA,CAAmB,OAAA;;;;;;;;UASb,mBAAA,iBAAoC,mBAAA,UAC3C,aAAA,CAAc,OAAA;;;cCniBX,eAAA,SAAwB,SAAA;cACvB,OAAA,WAAkC,KAAA;AAAA;;;cCDnC,aAAA,SAAsB,SAAA;cACrB,OAAA,WAAmC,KAAA;AAAA;;;cCDpC,cAAA,SAAuB,SAAA;cAEhC,OAAA,WACA,KAAA;AAAA;;;cCHS,aAAA,SAAsB,SAAA;cACrB,OAAA,WAAgC,KAAA;AAAA;;;cCDjC,iBAAA,SAA0B,SAAA;EAAA,SAC5B,IAAA;cAGP,OAAA,WACA,KAAA;AAAA;;;cCLS,eAAA,SAAwB,SAAA;cACvB,OAAA,WAAmC,KAAA;AAAA;;;;;;cCEpC,WAAA,GAAe,OAAA;EAC1B,MAAA,GAAS,mBAAA;EACT,WAAA;EACA,eAAA;AAAA;;;cCLW,QAAA,WAAQ,OAAA;MAYpB,QAAA,CAAA,QAAA;;;;KAEW,EAAA,GAAK,MAAA,QAAc,QAAA;;;UCdd,qBAAA;;;;EAIf,SAAA;;;;EAKA,KAAA,EAAO,YAAA;AAAA;;;ApBVT;;;;;;;;;;;;;;;coB8Ba,QAAA,GAAY,OAAA,EAAS,qBAAA,KAAwB,UAAA;;;cCtB7C,WAAA;EAAA,UAAwB,gCAAA,GAAgC,yBAAA;EAAA;;UAIpD,gCAAA;;;;;;EAMf,IAAA;ErBlBW;;;EqBuBX,GAAA,EAAK,UAAA;;;;;EAML,MAAA,GAAS,WAAA,GAAc,WAAA;;;;EAKvB,OAAA;AAAA;AAAA,cAGW,yBAAA,SAAkC,SAAA,CAAU,gCAAA;EAAA,mBACpC,oBAAA,EAAoB,oBAAA;EAAA,UAE7B,MAAA,CAAA;AAAA;;;;;;;;;;;cCpBC,MAAA;EAAA,iBAA0B,mBAAA,EAAmB,OAAA,EAC/C,qBAAA,CAAsB,OAAA,IAC9B,cAAA,CAAe,OAAA;EAAA;;UAMD,qBAAA,iBACC,mBAAA,GAAsB,mBAAA,UAC9B,IAAA,CAAK,WAAA,CAAY,OAAA,eACvB,wBAAA,CAAyB,aAAA,CAAc,OAAA;AAAA,cAI9B,cAAA,iBACK,mBAAA,UACR,iBAAA,CAAkB,qBAAA,CAAsB,OAAA;EAAA,mBAC7B,oBAAA,EAAoB,oBAAA;EAAA,UAE7B,MAAA,CAAA;AAAA;;;;;;UCbK,eAAA;;;;EAIf,IAAA,GAAO,OAAA;;AvB/BT;;EuBoCE,MAAA,GAAS,OAAA;EvBLV;;;EuBUC,KAAA,GAAQ,OAAA;;;;EAKR,OAAA,GAAU,OAAA;;;;EAKV,IAAA,GAAO,OAAA;AAAA;;;;UAQQ,iBAAA,iBAAkC,eAAA;;;;EAIjD,IAAA,EAAM,OAAA,iBAAwB,OAAA,GAAU,MAAA,CAAO,OAAA;;;;EAK/C,MAAA,EAAQ,OAAA,mBAA0B,OAAA,GAC9B,MAAA,CAAO,OAAA,cACP,MAAA;;;;EAKJ,KAAA,EAAO,OAAA,kBAAyB,OAAA,GAC5B,OAAA,CAAQ,MAAA,CAAO,OAAA,cACf,MAAA;;;;EAKJ,OAAA,EAAS,OAAA,oBAA2B,OAAA,GAChC,MAAA,CAAO,OAAA,eACP,MAAA;;;;EAKJ,OAAA,EAAS,aAAA;EvBxDY;;;EuB6DrB,IAAA,GACE,IAAA,EAAM,OAAA,iBAAwB,OAAA,GAAU,MAAA,CAAO,OAAA;;;;EAMjD,KAAA;AAAA;;;;KAMU,UAAA,iBAA2B,eAAA,GAAkB,eAAA,KACvD,OAAA,EAAS,iBAAA,CAAkB,OAAA,MACxB,KAAA;;;;UAOY,mBAAA,iBAAoC,eAAA,UAC3C,wBAAA;EtB7FG;;;EsBiGX,IAAA;EtB5FqB;;;EsBiGrB,KAAA;EtBtG6B;;;EsB2G7B,IAAA;EtB1GO;;;EsB+GP,MAAA,GAAS,OAAA;EtBpIR;;;EsByID,WAAA;EtBhHc;;;EsBqHd,QAAA;EtBpGgB;;;EsByGhB,OAAA,EAAS,UAAA,CAAW,OAAA;AAAA;;;;;;;cAWT,SAAA,eAAwB,aAAA,CAAc,CAAA;EAAA,UACvC,KAAA,EAAO,CAAA;EAAA,UACP,KAAA,EAAO,KAAA;EAAA,UACP,IAAA;EAAA,UACA,OAAA;EAAA,UACA,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,CAAA;EtBlEnB;;;EsBuER,IAAA,CAAK,IAAA,EAAM,CAAA;EtBtEZ;;;EsBqFC,IAAA,CAAK,KAAA,EAAO,KAAA;ErB7LR;;;EqByMJ,GAAA,CAAA;ErB9LC;AAEV;;EqBuMS,SAAA,CAAU,QAAA,GAAW,IAAA,EAAM,CAAA;EAAA,CAQ1B,MAAA,CAAO,aAAA,KAAkB,aAAA,CAAc,CAAA;AAAA;;;;ApBzNjD;;;coBmPa,gBAAA,eAA+B,aAAA,CAAc,CAAA;EAAA,SACxC,QAAA,EAAU,QAAA;cAEd,QAAA,EAAU,QAAA;EpBnPpB;;;EAAA,IoB0PS,MAAA,CAAA;EpBhPK;;;EAAA,IoBuPL,UAAA,CAAA;EpBrOJ;;;EAAA,IoB4OI,OAAA,CAAA,GAAW,OAAA;EAAA,CAId,MAAA,CAAO,aAAA,KAAkB,aAAA,CAAc,CAAA;AAAA;;;;;AnBlRjD;;;;;;;;;AAmCA;;;;;;;;;;;;ACXA;;;;;;;;;;;;;;;;;AACA;;;ckBoVa,IAAA;EAAA,iBAAwB,eAAA,EAAe,OAAA,EACzC,mBAAA,CAAoB,OAAA,IAC5B,cAAA,CAAe,OAAA;EAAA;;;;;;;;cAuBL,YAAA,iBACK,eAAA,UACR,iBAAA,CAAkB,mBAAA,CAAoB,OAAA;EAAA,mBAC3B,GAAA,EAD0B,gBAAA,CACvB,MAAA;EAAA,mBACH,QAAA,EAAQ,QAAA;;;qBACR,cAAA,EAAc,cAAA;EAAA,mBACd,oBAAA,EAAoB,oBAAA;EAAA,UAE7B,MAAA,CAAA;ElB5WK;;;EAAA,IkB8XJ,MAAA,CAAA;ElB5XF;;;EAAA,IkBmYE,IAAA,CAAA;ElBhYa;;;EAAA,IkBuYb,KAAA,CAAA;ElB1YX;;;EAAA,IkBiZW,MAAA,CAAA,GAAU,WAAA;ElB/YrB;;;EAAA,IkBsZW,IAAA,CAAA;ElBrZa;;AAG1B;EAH0B,IkB0ab,MAAA,CAAA,GAAU,OAAA;ElBvaa;;;EAAA,ckB8apB,mBAAA,CAAA,GAAuB,mBAAA;ElB3aP;;;;EkBybvB,GAAA,CACL,MAAA,GAAS,eAAA,CAAgB,OAAA,IACxB,SAAA,CAAU,YAAA,CAAa,OAAA;ElBxbf;;;;EkBofE,KAAA,CACX,MAAA,GAAS,eAAA,CAAgB,OAAA,IACxB,OAAA,CAAQ,gBAAA,CAAiB,YAAA,CAAa,OAAA;ElBlf9B;;;;EAAA,UkB6gBD,WAAA,CAAY,OAAA,EAAS,aAAA,GAAgB,cAAA;ElBzgBpC;;;EAAA,UkBmkBD,aAAA,CACR,IAAA,UACA,MAAA,GAAS,eAAA,CAAgB,OAAA;AAAA;;;;UAmCZ,cAAA,iBAA+B,eAAA,UACtC,YAAA,CAAa,OAAA;EAAA,CACpB,MAAA,GAAS,eAAA,CAAgB,OAAA,IAAW,SAAA,CAAU,YAAA,CAAa,OAAA;AAAA;;;;KAUlD,YAAA,iBAA6B,eAAA,IACvC,OAAA,iBAAwB,OAAA,GAAU,MAAA,CAAO,OAAA;;;;KAK/B,eAAA,iBACM,eAAA,MACZ,wBAAA,CAAyB,OAAA,mBAEjB,CAAA,IAAK,CAAA,CAAE,CAAA,8BAA+B,CAAA,GAAI,CAAA,CAAE,CAAA;;;;KAM9C,wBAAA,iBAAyC,eAAA;EACnD,IAAA,EAAM,OAAA,iBAAwB,OAAA,GAAU,MAAA,CAAO,OAAA;EAE/C,MAAA,EAAQ,OAAA,mBAA0B,OAAA,GAC9B,MAAA,CAAO,OAAA;EAGX,OAAA,GAAU,OAAA,oBAA2B,OAAA,GACjC,MAAA,CAAO,OAAA,eACP,MAAA;EAEJ,KAAA,GAAQ,OAAA,kBAAyB,OAAA,GAC7B,OAAA,CAAQ,MAAA,CAAO,OAAA,cACf,MAAA;AAAA;;;cCnsBA,WAAA,WAAS,OAAA;eAWb,QAAA,CAAA,QAAA;;;;YAGU,GAAA,SAAY,OAAA,CAAQ,MAAA,QAAc,WAAA;AAAA;AAAA,cAGjC,qBAAA,SAA8B,cAAA;EAAA,mBACtB,MAAA,EAAM,MAAA;EAAA,mBACN,gBAAA,EAAgB,gBAAA;EAAA,mBAChB,GAAA,EADgB,gBAAA,CACb,MAAA;EAAA,mBACH,GAAA;;;;qBACA,MAAA,EAAM,oBAAA;EAAA,UAEf,SAAA,GAAY,UAAA,QAAkB,GAAA,CAAI,KAAA;EAAA,IAEjC,QAAA,CAAA;EAAA,SAOK,KAAA,EATgB,QAAA,CASX,aAAA;EAAA,mBAOF,IAAA,EAPE,QAAA,CAOE,aAAA;EAAA,UAaP,MAAA,CAAA,GAAM,OAAA;EAAA,UAyDN,KAAA,CAAA,GAAK,OAAA;AAAA;;;cCvGjB,SAAA,WAAS,OAAA;eAWb,QAAA,CAAA,QAAA;;;;YAGU,GAAA,SAAY,OAAA,CAAQ,MAAA,QAAc,SAAA;AAAA;AAAA,cAGjC,sBAAA,SAA+B,cAAA;EAAA,mBACvB,MAAA,EAAM,MAAA;EAAA,mBACN,gBAAA,EAAgB,gBAAA;EAAA,mBAChB,GAAA,EADgB,gBAAA,CACb,MAAA;EAAA,mBACH,GAAA;;;;qBACA,MAAA,EAAM,oBAAA;;;;qBAKN,WAAA,EAAW,GAAA,CAAA,MAAA;;;;EAKvB,mBAAA,CAAA;EzB3Ce;;;EAAA,SyBkDN,OAAA;;;;;;;;MASL,QAAA,CAAA;EAAA,mBAaQ,kBAAA,GAAsB,GAAA,EAAK,gBAAA,EAAgB,GAAA,EAAK,KAAA;EAM5D,MAAA,EAAS,MAAA;EAAA,SAEA,SAAA,EAFM,QAAA,CAEG,aAAA;EAAA,SAOT,KAAA,EAPS,QAAA,CAOJ,aAAA;EAAA,UAOX,eAAA,GAAmB,GAAA,EAAK,eAAA,EAAiB,GAAA,EAAK,gBAAA;EAAA,UAK9C,kBAAA,GAAsB,MAAA,EAAQ,MAAA;EAAA,UAK9B,gBAAA,CAAA,GAAoB,MAAA;EAAA,mBAuBX,IAAA,EAvBiB,QAAA,CAuBb,aAAA;EAAA,UAOP,MAAA,CAAA,GAAM,OAAA;EAAA,UA0BN,KAAA,CAAA,GAAK,OAAA;EAAA,UA8CX,qBAAA,CAAA;AAAA;;;;;;cC7LC,eAAA,EAAe,QAAA,CAAA,IAAA,UAAA,OAAA;+BAqB1B,QAAA,CAAA,QAAA;;;KAEU,eAAA,GAAkB,MAAA,QAAc,eAAA,CAAgB,MAAA;AAAA;EAAA,UAGhD,KAAA;IAAA,CACP,eAAA,CAAgB,GAAA,GAAM,eAAA;EAAA;AAAA;AAAA,cAMd,sBAAA;EAAA,OACJ,WAAA,EAAa,MAAA;IAGd,QAAA,MAAc,IAAA,YAAgB,OAAA,CAAQ,MAAA;IACtC,MAAA,GAAS,OAAA,WAAkB,SAAA;EAAA;EAAA,mBAqBd,MAAA,EAAM,MAAA;EAAA,mBACN,OAAA,EAAO,QAAA;;;;WAEV,UAAA,EAFU,QAAA,CAEA,aAAA;EAAA,UAwChB,oBAAA,CAAqB,WAAA;EAAA,UAYf,QAAA,CACd,QAAA,eAAuB,sBAAA,CAAuB,WAAA,EAC9C,QAAA,EAAU,gBAAA,GACT,OAAA;E1BtImB;;;;EAAA,U0BoLZ,4BAAA,CACR,KAAA,EAAO,gBAAA,EACP,gBAAA,GAAmB,OAAA,WAAkB,SAAA,EACrC,QAAA,UACA,MAAA,EAAQ,MAAA,gBACP,gBAAA,CAAe,UAAA;EAAA,UAiDR,SAAA,CACR,QAAA,eAAuB,sBAAA,CAAuB,WAAA,GAC7C,MAAA;EAAA,UAeO,UAAA,CACR,QAAA,EAAU,gBAAA,EACV,QAAA,eAAuB,sBAAA,CAAuB,WAAA;AAAA;;;;;;cCxPrC,aAAA,EAAa,QAAA,CAAA,IAAA,UAAA,OAAA;+BA2CxB,QAAA,CAAA,QAAA;;;;;;;;;;;;;;;KAEU,aAAA,GAAgB,MAAA,QAAc,aAAA,CAAc,MAAA;AAAA;EAAA,UAG5C,KAAA;IAAA,CACP,aAAA,CAAc,GAAA,GAAM,aAAA;EAAA;AAAA;AAAA,KAMpB,YAAA;AAAA,UAEY,aAAA;EACf,aAAA,GAAgB,YAAA;EAChB,YAAA,GAAe,YAAA;EACf,WAAA,GAAc,YAAA;EACd,SAAA,GAAY,YAAA;EACZ,aAAA,GAAgB,YAAA;EAChB,UAAA,GAAa,YAAA;EACb,YAAA,GAAe,YAAA;EACf,WAAA,GAAc,YAAA;EACd,WAAA,GAAc,YAAA;EACd,OAAA,GAAU,YAAA;EACV,YAAA;EACA,WAAA,GAAc,YAAA;EACd,aAAA,GAAgB,YAAA;EAChB,iBAAA,GAAoB,YAAA;EACpB,cAAA,GAAiB,YAAA;EACjB,UAAA,GAAa,YAAA;EAAA,CACZ,GAAA,WAAc,YAAA;AAAA;AAAA,UAGA,UAAA;EACf,UAAA,EAAY,aAAA;AAAA;AAAA,UAGG,WAAA;EACf,MAAA;EACA,iBAAA;EACA,OAAA;AAAA;;;;;cAOW,oBAAA;EAAA,mBACQ,MAAA,EAAM,MAAA;;A1BhG3B;;qB0BqGqB,OAAA,EAAO,QAAA;;;;;;;;;;;;;;;;YAEhB,oBAAA,CAAA,GAAwB,aAAA;EAAA,UAgBxB,YAAA,CAAA,GAAgB,MAAA;EAAA,UAIhB,sBAAA,CACR,MAAA,EAAQ,aAAA,GACP,MAAA;EAAA,mBAiEgB,UAAA,EAjEV,QAAA,CAiEoB,aAAA;AAAA;;;cC7LlB,oBAAA;EAAA,mBACQ,GAAA,EADY,gBAAA,CACT,MAAA;EAAA,mBACH,QAAA,EAAQ,gBAAA;EAAA,mBACR,MAAA,EAAM,MAAA;EAAA,SAET,SAAA,EAFS,QAAA,CAEA,aAAA;EAAA,SA8BT,OAAA,EA9BS,QAAA,CA8BF,aAAA;EAAA,SAQP,UAAA,EARO,QAAA,CAQG,aAAA;AAAA;;;;;;cC3Bf,gBAAA,EAAgB,QAAA,CAAA,IAAA,UAAA,OAAA;SAwB3B,QAAA,CAAA,QAAA;;;;KAEU,gBAAA,GAAmB,MAAA,QAAc,gBAAA,CAAiB,MAAA;AAAA;EAAA,UAGlD,KAAA;IAAA,CACP,gBAAA,CAAiB,GAAA,GAAM,gBAAA;EAAA;AAAA;AAAA,cAMf,uBAAA;EAAA,mBACQ,MAAA,EAAM,MAAA;EAAA,mBACN,GAAA,EADM,gBAAA,CACH,MAAA;EAAA,mBACH,OAAA,EAAO,QAAA;;;;;WAEV,SAAA,EAFU,QAAA,CAED,aAAA;EA8DZ,cAAA,CACX,KAAA,EAAO,aAAA,EACP,OAAA,EAAS,OAAA,GACR,OAAA,CAAQ,MAAA;EAAA,UA8ED,cAAA,CAAe,IAAA,EAAM,IAAA,EAAM,SAAA,WAAoB,QAAA;AAAA;;;;;;;;;;cClM9C,sBAAA;EAAA,mBACQ,MAAA,EAAM,MAAA;EAAA,SAET,SAAA,EAFS,QAAA,CAEA,aAAA;AAAA;;;;YC0Bf,KAAA;IACR,oBAAA,GAAuB,MAAA;IACvB,qBAAA,GAAwB,aAAA;IACxB,uBAAA,GAA0B,aAAA;EAAA;EAAA,UAElB,KAAA;IAGR,kBAAA;MACE,MAAA,EAAQ,eAAA,CAAgB,mBAAA;MACxB,OAAA,EAAS,aAAA;MACT,OAAA,EAAS,oBAAA;MACT,OAAA,GAAU,MAAA;IAAA;IAEZ,mBAAA;MACE,MAAA,EAAQ,eAAA,CAAgB,mBAAA;MACxB,OAAA,EAAS,aAAA;MACT,OAAA,EAAS,oBAAA;MACT,QAAA;IAAA;IAIF,kBAAA;MACE,KAAA,EAAO,WAAA;MACP,OAAA,EAAS,aAAA;IAAA;IAEX,gBAAA;MACE,KAAA,EAAO,WAAA;MACP,OAAA,EAAS,aAAA;MACT,KAAA,EAAO,KAAA;IAAA;IAIT,eAAA;MACE,KAAA,EAAO,WAAA;MACP,OAAA,EAAS,aAAA;IAAA;IAGX,mBAAA;MACE,KAAA,EAAO,WAAA;MACP,OAAA,EAAS,aAAA;MACT,QAAA,EAAU,cAAA;IAAA;IAIZ,kBAAA;MACE,KAAA,EAAO,UAAA;MACP,MAAA,EAAQ,wBAAA;MACR,OAAA,EAAS,oBAAA;MACT,OAAA,EAAS,MAAA;MACT,OAAA,EAAS,WAAA;IAAA;IAEX,oBAAA;MACE,GAAA;MACA,OAAA,EAAS,YAAA;MACT,OAAA,EAAS,WAAA;IAAA;IAEX,gBAAA;MACE,KAAA,GAAQ,UAAA;MACR,KAAA,EAAO,SAAA;IAAA;IAIT,cAAA,EAAgB,gBAAA;IAChB,aAAA,EAAe,eAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;cA6CN,YAAA,EAAY,QAAA,CAAA,OAAA,CAmDvB,QAAA,CAnDuB,MAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/server/core/schemas/errorSchema.ts","../../../src/server/core/errors/HttpError.ts","../../../src/server/core/constants/routeMethods.ts","../../../src/server/core/helpers/ServerReply.ts","../../../src/server/core/services/UserAgentParser.ts","../../../src/server/core/interfaces/ServerRequest.ts","../../../src/server/core/services/ServerRequestParser.ts","../../../src/server/core/providers/ServerTimingProvider.ts","../../../src/server/core/providers/ServerRouterProvider.ts","../../../src/server/core/providers/ServerProvider.ts","../../../src/server/core/services/HttpClient.ts","../../../src/server/core/primitives/$action.ts","../../../src/server/core/errors/BadRequestError.ts","../../../src/server/core/errors/ConflictError.ts","../../../src/server/core/errors/ForbiddenError.ts","../../../src/server/core/errors/NotFoundError.ts","../../../src/server/core/errors/UnauthorizedError.ts","../../../src/server/core/errors/ValidationError.ts","../../../src/server/core/helpers/isMultipart.ts","../../../src/server/core/schemas/okSchema.ts","../../../src/server/core/primitives/$circuit.ts","../../../src/server/core/primitives/$middleware.ts","../../../src/server/core/primitives/$route.ts","../../../src/server/core/primitives/$sse.ts","../../../src/server/core/providers/BunHttpServerProvider.ts","../../../src/server/core/providers/NodeHttpServerProvider.ts","../../../src/server/core/providers/ServerCompressProvider.ts","../../../src/server/core/providers/ServerHelmetProvider.ts","../../../src/server/core/providers/ServerLoggerProvider.ts","../../../src/server/core/providers/ServerMultipartProvider.ts","../../../src/server/core/providers/ServerNotReadyProvider.ts","../../../src/server/core/index.ts"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $atom, $env, $hook, $inject, $module, $state, Alepha, AlephaError, KIND, PipelineHandler, PipelinePrimitive, Primitive, createMiddleware, createPrimitive, isFileLike, isTypeFile, t } from "alepha";
|
|
1
|
+
import { $atom, $env, $hook, $inject, $module, $state, Alepha, AlephaError, KIND, PipelineHandler, PipelinePrimitive, Primitive, TypeBoxError, createMiddleware, createPrimitive, isFileLike, isTypeFile, t } from "alepha";
|
|
2
2
|
import { $logger } from "alepha/logger";
|
|
3
3
|
import { Readable } from "node:stream";
|
|
4
4
|
import { DateTimeProvider } from "alepha/datetime";
|
|
@@ -126,9 +126,16 @@ const errorNameByStatus = {
|
|
|
126
126
|
//#region ../../src/server/core/errors/ValidationError.ts
|
|
127
127
|
var ValidationError = class extends HttpError {
|
|
128
128
|
constructor(message = "Validation has failed", cause) {
|
|
129
|
+
let fullMessage = message;
|
|
130
|
+
let details;
|
|
131
|
+
if (cause instanceof TypeBoxError) {
|
|
132
|
+
fullMessage = `${message}: ${cause.cause.message}`;
|
|
133
|
+
if (cause.cause.instancePath) details = cause.cause.instancePath;
|
|
134
|
+
}
|
|
129
135
|
super({
|
|
130
|
-
message,
|
|
131
|
-
status: 400
|
|
136
|
+
message: fullMessage,
|
|
137
|
+
status: 400,
|
|
138
|
+
details
|
|
132
139
|
}, cause);
|
|
133
140
|
}
|
|
134
141
|
};
|
|
@@ -819,7 +826,16 @@ var ServerRouterProvider = class extends RouterProvider {
|
|
|
819
826
|
throw new ValidationError("Invalid request query", error);
|
|
820
827
|
}
|
|
821
828
|
if (route.schema?.headers) try {
|
|
822
|
-
|
|
829
|
+
const schemaHeaders = route.schema.headers;
|
|
830
|
+
const decoded = {};
|
|
831
|
+
for (const key of Object.keys(schemaHeaders.properties)) {
|
|
832
|
+
const lcKey = key.toLowerCase();
|
|
833
|
+
const value = request.headers[lcKey];
|
|
834
|
+
if (value == null) continue;
|
|
835
|
+
decoded[key] = this.alepha.codec.decode(schemaHeaders.properties[key], value);
|
|
836
|
+
}
|
|
837
|
+
this.alepha.codec.validate(schemaHeaders, decoded);
|
|
838
|
+
for (const [key, value] of Object.entries(decoded)) request.headers[key.toLowerCase()] = value;
|
|
823
839
|
} catch (error) {
|
|
824
840
|
throw new ValidationError("Invalid request header", error);
|
|
825
841
|
}
|
|
@@ -1522,7 +1538,14 @@ var ActionPrimitive = class extends PipelinePrimitive {
|
|
|
1522
1538
|
if (serverActionRequest.reply?.body) return serverActionRequest.reply.body;
|
|
1523
1539
|
const executeHandler = async () => {
|
|
1524
1540
|
if (serverActionRequest.query && this.options.schema?.query) serverActionRequest.query = this.alepha.codec.encode(this.options.schema.query, serverActionRequest.query);
|
|
1525
|
-
if (serverActionRequest.headers && this.options.schema?.headers)
|
|
1541
|
+
if (serverActionRequest.headers && this.options.schema?.headers) {
|
|
1542
|
+
const schemaHeaders = this.options.schema.headers;
|
|
1543
|
+
const headers = serverActionRequest.headers;
|
|
1544
|
+
for (const key of Object.keys(schemaHeaders.properties)) {
|
|
1545
|
+
const lcKey = key.toLowerCase();
|
|
1546
|
+
if (headers[lcKey] !== void 0) headers[lcKey] = this.alepha.codec.encode(schemaHeaders.properties[key], headers[lcKey]);
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1526
1549
|
if (serverActionRequest.body && this.options.schema?.body) serverActionRequest.body = this.alepha.codec.encode(this.options.schema.body, serverActionRequest.body);
|
|
1527
1550
|
if (serverActionRequest.params && this.options.schema?.params) serverActionRequest.params = this.alepha.codec.encode(this.options.schema.params, serverActionRequest.params);
|
|
1528
1551
|
this.serverRouterProvider.validateRequest(this.options, serverActionRequest);
|