tempest-express-sdk 0.30.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { z, looseBoolean, toDict, PasswordUtils } from './chunk-DK46733U.js';
2
- export { PasswordUtils, VERSION, baseAppSettingsSchema, baseAppSettingsShape, baseResponseSchema, centsField, corsSettingsShape, databaseSettingsShape, looseBoolean as envBoolean, hexColorField, latitudeField, loadSettings, longitudeField, looseBoolean, nonEmptyStrField, nonNegativeFloatField, nonNegativeIntField, percentField, portField, positiveFloatField, positiveIntField, priceField, ratingField, ratioField, serverSettingsShape, slugField, toDict, z } from './chunk-DK46733U.js';
1
+ import { z, looseBoolean, toDict, PasswordUtils } from './chunk-VLNTZE7Q.js';
2
+ export { PasswordUtils, VERSION, baseAppSettingsSchema, baseAppSettingsShape, baseResponseSchema, centsField, corsSettingsShape, databaseSettingsShape, looseBoolean as envBoolean, hexColorField, latitudeField, loadSettings, longitudeField, looseBoolean, nonEmptyStrField, nonNegativeFloatField, nonNegativeIntField, percentField, portField, positiveFloatField, positiveIntField, priceField, ratingField, ratioField, serverSettingsShape, slugField, toDict, z } from './chunk-VLNTZE7Q.js';
3
3
  import { AsyncLocalStorage } from 'async_hooks';
4
4
  import { Model, column, sql, BaseRepository, RecordNotFound, detectDialect, columnsOf, NodeSqliteDriver, AsyncEngine, or, and } from 'tempest-db-js';
5
5
  export { AsyncEngine, AsyncResult, AsyncSession, BaseRepository, Column, DeleteBuilder, InsertBuilder, Model, NoResultError, NodeSqliteDriver, PostgresDialect, RecordNotFound, SelectBuilder, SqliteDialect, SyncEngine, SyncSession, UpdateBuilder, and, belongsTo, column, columnsOf, createEngine, createSyncEngine, del, detectDialect, getDialect, hasMany, insert, join, loadRelations, not, or, parseDatabaseUrl, select, sql, update } from 'tempest-db-js';
@@ -12,8 +12,8 @@ import { cpus, loadavg, totalmem, freemem } from 'os';
12
12
  import { promisify } from 'util';
13
13
  import express3, { Router } from 'express';
14
14
  import { ZodError } from 'zod';
15
- import { OpenAPIRegistry, OpenApiGeneratorV31, OpenApiGeneratorV3 } from '@asteasolutions/zod-to-openapi';
16
- export { OpenAPIRegistry } from '@asteasolutions/zod-to-openapi';
15
+ import { OpenApiGeneratorV31, OpenApiGeneratorV3, OpenAPIRegistry } from '@asteasolutions/zod-to-openapi';
16
+ export { OpenAPIRegistry, extendZodWithOpenApi } from '@asteasolutions/zod-to-openapi';
17
17
  import { createRequire } from 'module';
18
18
  import { getAbsoluteFSPath } from 'swagger-ui-dist';
19
19
  import { reflectTable, renderOperation } from 'tempest-db-js/migrations';
@@ -15702,8 +15702,40 @@ function registerExceptionHandlers(app, options = {}) {
15702
15702
  })
15703
15703
  );
15704
15704
  }
15705
+ function normalizeSchema(refId, schema) {
15706
+ const candidate = schema;
15707
+ if (typeof candidate.openapi === "function") return schema;
15708
+ if (typeof candidate.meta === "function") {
15709
+ return candidate.meta({ id: refId });
15710
+ }
15711
+ throw new Error(
15712
+ `Cannot register "${refId}" for OpenAPI: the value carries neither \`.openapi()\` nor zod v4's \`.meta()\`. This usually means it is not a zod schema, or it comes from a second copy of zod in node_modules \u2014 check \`npm ls zod\` shows a single deduped instance.`
15713
+ );
15714
+ }
15715
+ var TempestOpenApiRegistry = class extends OpenAPIRegistry {
15716
+ /**
15717
+ * Register a component schema, normalizing it first.
15718
+ *
15719
+ * @param refId - The component name.
15720
+ * @param zodSchema - The schema to register.
15721
+ * @returns The registered schema, as the library returns it.
15722
+ */
15723
+ register(refId, zodSchema) {
15724
+ return super.register(refId, normalizeSchema(refId, zodSchema));
15725
+ }
15726
+ /**
15727
+ * Register a parameter schema, normalizing it first.
15728
+ *
15729
+ * @param refId - The parameter name.
15730
+ * @param zodSchema - The schema to register.
15731
+ * @returns The registered schema, as the library returns it.
15732
+ */
15733
+ registerParameter(refId, zodSchema) {
15734
+ return super.registerParameter(refId, normalizeSchema(refId, zodSchema));
15735
+ }
15736
+ };
15705
15737
  function createOpenApiRegistry() {
15706
- return new OpenAPIRegistry();
15738
+ return new TempestOpenApiRegistry();
15707
15739
  }
15708
15740
  function generateOpenApiDocument(registry, options) {
15709
15741
  const config = {
@@ -15927,6 +15959,239 @@ function makeMetricsRouter(options = {}) {
15927
15959
  });
15928
15960
  return router;
15929
15961
  }
15962
+ var PERSPECTIVE_EXTENSION = "x-tempest-perspective";
15963
+ var ASYNCAPI_VERSION = "3.0.0";
15964
+ function actionFor(direction) {
15965
+ return direction === "clientToServer" ? "receive" : "send";
15966
+ }
15967
+ var AsyncApiRegistry = class {
15968
+ /** Channels by `name`. */
15969
+ channels = /* @__PURE__ */ new Map();
15970
+ /** Messages by `name`. */
15971
+ messages = /* @__PURE__ */ new Map();
15972
+ /** Operations, in registration order. */
15973
+ operations = [];
15974
+ /**
15975
+ * Register the connection a socket is served on.
15976
+ *
15977
+ * @param channel - The channel definition.
15978
+ * @returns This registry, for chaining.
15979
+ * @throws Error When `name` is already registered.
15980
+ */
15981
+ registerChannel(channel) {
15982
+ if (this.channels.has(channel.name)) {
15983
+ throw new Error(`AsyncAPI channel "${channel.name}" is already registered.`);
15984
+ }
15985
+ this.channels.set(channel.name, channel);
15986
+ return this;
15987
+ }
15988
+ /**
15989
+ * Register one frame the socket carries.
15990
+ *
15991
+ * @param message - The message definition.
15992
+ * @returns This registry, for chaining.
15993
+ * @throws Error When `name` is already registered.
15994
+ */
15995
+ registerMessage(message) {
15996
+ if (this.messages.has(message.name)) {
15997
+ throw new Error(`AsyncAPI message "${message.name}" is already registered.`);
15998
+ }
15999
+ this.messages.set(message.name, message);
16000
+ return this;
16001
+ }
16002
+ /**
16003
+ * Register a set of messages travelling one way on one channel.
16004
+ *
16005
+ * @param operation - The operation definition.
16006
+ * @returns This registry, for chaining.
16007
+ * @throws Error When `name` is already registered.
16008
+ */
16009
+ registerOperation(operation) {
16010
+ if (this.operations.some((existing) => existing.name === operation.name)) {
16011
+ throw new Error(`AsyncAPI operation "${operation.name}" is already registered.`);
16012
+ }
16013
+ this.operations.push(operation);
16014
+ return this;
16015
+ }
16016
+ /**
16017
+ * Render the AsyncAPI document.
16018
+ *
16019
+ * @param options - The `info` block, optional servers and default content
16020
+ * type.
16021
+ * @returns The document, JSON-serializable.
16022
+ * @throws Error When an operation names a channel or a message that was
16023
+ * never registered. A dangling `$ref` produces a document that validates
16024
+ * structurally and generates a client missing the frame, so it fails
16025
+ * here instead.
16026
+ */
16027
+ generate(options) {
16028
+ this.assertReferencesResolve();
16029
+ const schemas = this.renderPayloads();
16030
+ const messages = this.renderMessages();
16031
+ const channels = this.renderChannels(schemas);
16032
+ const operations = this.renderOperations();
16033
+ return {
16034
+ asyncapi: ASYNCAPI_VERSION,
16035
+ [PERSPECTIVE_EXTENSION]: "server",
16036
+ info: {
16037
+ title: options.info.title,
16038
+ version: options.info.version,
16039
+ ...options.info.description !== void 0 ? { description: options.info.description } : {}
16040
+ },
16041
+ ...options.servers !== void 0 ? { servers: options.servers } : {},
16042
+ defaultContentType: options.defaultContentType ?? "application/json",
16043
+ channels,
16044
+ operations,
16045
+ components: { messages, schemas }
16046
+ };
16047
+ }
16048
+ /**
16049
+ * Fail when an operation points at something that was never registered.
16050
+ *
16051
+ * @throws Error Naming the operation and what it could not resolve.
16052
+ */
16053
+ assertReferencesResolve() {
16054
+ for (const operation of this.operations) {
16055
+ if (!this.channels.has(operation.channel)) {
16056
+ throw new Error(
16057
+ `AsyncAPI operation "${operation.name}" refers to channel "${operation.channel}", which is not registered.`
16058
+ );
16059
+ }
16060
+ for (const message of operation.messages) {
16061
+ if (!this.messages.has(message)) {
16062
+ throw new Error(
16063
+ `AsyncAPI operation "${operation.name}" refers to message "${message}", which is not registered.`
16064
+ );
16065
+ }
16066
+ }
16067
+ }
16068
+ }
16069
+ /**
16070
+ * Render every payload schema through the OpenAPI generator.
16071
+ *
16072
+ * @returns Component schemas keyed by message name, plus any handshake
16073
+ * schema a channel declared.
16074
+ *
16075
+ * AsyncAPI 3 payloads are JSON Schema, and `generateComponents` emits
16076
+ * exactly that from the Zod objects already validating at runtime. Reusing
16077
+ * it is what keeps the document from describing a shape the server would
16078
+ * reject.
16079
+ */
16080
+ renderPayloads() {
16081
+ const registry = createOpenApiRegistry();
16082
+ for (const message of this.messages.values()) {
16083
+ registry.register(message.name, message.schema);
16084
+ }
16085
+ for (const channel of this.channels.values()) {
16086
+ if (channel.handshakeHeaders !== void 0) {
16087
+ registry.register(`${channel.name}Headers`, channel.handshakeHeaders);
16088
+ }
16089
+ if (channel.handshakeQuery !== void 0) {
16090
+ registry.register(`${channel.name}Query`, channel.handshakeQuery);
16091
+ }
16092
+ }
16093
+ const components = new OpenApiGeneratorV31(registry.definitions).generateComponents();
16094
+ const schemas = components.components?.schemas ?? {};
16095
+ return schemas;
16096
+ }
16097
+ /**
16098
+ * Render `components.messages`.
16099
+ *
16100
+ * @returns Message objects keyed by name, each pointing at its payload.
16101
+ */
16102
+ renderMessages() {
16103
+ const rendered = {};
16104
+ for (const [name, message] of this.messages) {
16105
+ rendered[name] = {
16106
+ name,
16107
+ contentType: message.contentType ?? "application/json",
16108
+ ...message.summary !== void 0 ? { summary: message.summary } : {},
16109
+ ...message.description !== void 0 ? { description: message.description } : {},
16110
+ payload: { $ref: `#/components/schemas/${name}` }
16111
+ };
16112
+ }
16113
+ return rendered;
16114
+ }
16115
+ /**
16116
+ * Render `channels`, each listing every message it can carry.
16117
+ *
16118
+ * @param schemas - The rendered component schemas, to inline the
16119
+ * handshake ones into the binding.
16120
+ * @returns Channel objects keyed by name.
16121
+ *
16122
+ * The handshake schemas are **inlined** rather than `$ref`-ed. The
16123
+ * specification types the binding's `headers` and `query` as
16124
+ * `oneOf: [Schema, Reference]`, and a bare `{"$ref": ...}` object
16125
+ * satisfies both branches — so `oneOf` sees two matches and the document
16126
+ * fails validation against AsyncAPI's own JSON Schema. Measured: the same
16127
+ * binding with the schema inlined validates clean.
16128
+ *
16129
+ * A channel lists every registered message rather than only those its own
16130
+ * operations use: the specification requires an operation's `messages` to
16131
+ * be a subset of its channel's, and with one connection per document the
16132
+ * distinction buys nothing.
16133
+ */
16134
+ renderChannels(schemas) {
16135
+ const everyMessage = {};
16136
+ for (const name of this.messages.keys()) {
16137
+ everyMessage[name] = { $ref: `#/components/messages/${name}` };
16138
+ }
16139
+ const rendered = {};
16140
+ for (const [name, channel] of this.channels) {
16141
+ const bindings = {
16142
+ bindingVersion: "0.1.0",
16143
+ method: "GET"
16144
+ };
16145
+ if (channel.handshakeHeaders !== void 0) {
16146
+ bindings.headers = schemas[`${name}Headers`];
16147
+ }
16148
+ if (channel.handshakeQuery !== void 0) {
16149
+ bindings.query = schemas[`${name}Query`];
16150
+ }
16151
+ rendered[name] = {
16152
+ address: channel.address,
16153
+ ...channel.title !== void 0 ? { title: channel.title } : {},
16154
+ ...channel.description !== void 0 ? { description: channel.description } : {},
16155
+ messages: everyMessage,
16156
+ bindings: { ws: bindings }
16157
+ };
16158
+ }
16159
+ return rendered;
16160
+ }
16161
+ /**
16162
+ * Render `operations`, translating each direction into an `action`.
16163
+ *
16164
+ * @returns Operation objects keyed by name.
16165
+ */
16166
+ renderOperations() {
16167
+ const rendered = {};
16168
+ for (const operation of this.operations) {
16169
+ rendered[operation.name] = {
16170
+ action: actionFor(operation.direction),
16171
+ channel: { $ref: `#/channels/${operation.channel}` },
16172
+ ...operation.summary !== void 0 ? { summary: operation.summary } : {},
16173
+ ...operation.description !== void 0 ? { description: operation.description } : {},
16174
+ messages: operation.messages.map((message) => ({
16175
+ $ref: `#/channels/${operation.channel}/messages/${message}`
16176
+ }))
16177
+ };
16178
+ }
16179
+ return rendered;
16180
+ }
16181
+ };
16182
+ function createAsyncApiRegistry() {
16183
+ return new AsyncApiRegistry();
16184
+ }
16185
+ function generateAsyncApiDocument(registry, options) {
16186
+ return registry.generate(options);
16187
+ }
16188
+
16189
+ // src/asyncapi/mount.ts
16190
+ function mountAsyncApiJson(app, path, document) {
16191
+ app.get(path, (_req, res) => {
16192
+ res.json(document);
16193
+ });
16194
+ }
15930
16195
  var logger4 = new JSONLogger("tempest_express_sdk.api.server");
15931
16196
  function corsMiddleware(origins) {
15932
16197
  const allowAll = origins === "*";
@@ -15975,6 +16240,14 @@ async function createApp(options = {}) {
15975
16240
  mountRedoc(app, redocPath ?? "/redoc", specPath, redoc ?? {});
15976
16241
  }
15977
16242
  }
16243
+ if (options.asyncapi) {
16244
+ const { registry, jsonPath, ...genOptions } = options.asyncapi;
16245
+ mountAsyncApiJson(
16246
+ app,
16247
+ jsonPath ?? "/asyncapi.json",
16248
+ generateAsyncApiDocument(registry, genOptions)
16249
+ );
16250
+ }
15978
16251
  registerExceptionHandlers(app, {
15979
16252
  ...options.errorHandling,
15980
16253
  ...options.catalog !== void 0 ? { catalog: options.catalog } : {}
@@ -16866,6 +17139,6 @@ async function withTestDatabase(models, fn) {
16866
17139
  }
16867
17140
  }
16868
17141
 
16869
- export { ADMIN_CSS, ActivationService, AdminJsonSite, AdminModel, AdminPermission, AdminSessionStore, AdminSite, AppException, AttemptThrottle, AuditAction, BaseAuditLogModel, BaseController, BaseJobModel, BaseModel, BaseOAuthClient, BaseOutboxModel, BaseService, BaseUserModel, BaseUserRefreshTokenModel, BaseUserTokenModel, CEP_PATTERN, CNPJ_PATTERN, CPF_PATTERN, CSRF_COOKIE_NAME, CSRF_HEADER_NAME, CircuitOpenError, CompositeFeatureFlagBackend, ConflictException, DEFAULT_DOCS_FAVICON, DEFAULT_LOCALE, EmailProvider, EmailUtils, EnvFeatureFlagBackend, EventStream, ExpiredTokenException, FeatureFlags, ForbiddenException, GitHubOAuthClient, GoogleOAuthClient, GracefulShutdown, HTTPClient, HTTP_500_LOG_FILE, HTTP_500_MARKER, HttpMetrics, IDEMPOTENCY_HEADER, InvalidTokenException, JSONLogger, JWTUtils, JobStatus, JobStore, LEVEL_LOG_FILES, LocalUploadStorage, MemoryBroker, MemoryCacheManager, MemoryFeatureFlagBackend, MemoryIdempotencyStore, MemoryRateLimitStore, MemorySessionStore, MemoryThrottleBackend, MessageCatalog, MessagingHub, MetricsUtils, MfaService, MultipartLimitError, NotFoundException, OAuthError, OIDCProvider, OutboxRelay, OutboxStatus, PHONE_BR_PATTERN, PasswordResetService, REDOC_CDN_URL, REQUEST_ID_HEADER, RabbitBroker, RedisCacheManager, RedisIdempotencyStore, RedisRateLimitStore, RedisSSEBroker, RedisSessionStore, Region, RetryPolicy, S3UploadStorage, SSEBroker, ServerSentEvent, SessionService, SqlCapability, TOTPHelper, TaskManager, TelegramProvider, TenantScopedRepository, TooManyRequestsException, TwilioSmsProvider, UF, UnauthorizedException, UserAuthService, UserModelAuthBackend, UserTokenPurpose, ValidationException, WebPushDispatcher, WebPushError, WebPushGoneError, WebSocketHub, WebhookSignatureVerifier, WhatsAppProvider, activationSchema, addLogSink, adminAction, adminColumns, adminInline, adminLens, adminThemeCss, analyzeSql, attachWebSocketHub, authResponseSchema, authSettingsShape, backupDatabase, bearerToken, bodySizeLimitMiddleware, broadcastText, buildContentDisposition, buildFormFields, buildPaginationLinkHeader, cached2 as cached, cepField, checkSqlPolicy, citiesByUf, cnpjField, coerceFlag, configureFileLogging, configureLogging, cpfField, cpfOrCnpjField, createApp, createOpenApiRegistry, createTestDatabase, createdByColumn, csrfMiddleware, csrfTokenMatches, cursorPaginationFilterSchema, cursorPaginationSchema, decodeCursor, defaultMessageCatalog, defineEnum, deletedAtColumn, diffSnapshots, emailSettingsShape, encodeCursor, envList, escapeHtml, filterForColumn, filterLogEntries, foreignKeyFields, foreignKeyLabel, foreignKeyTable, formatCellValue, formatFieldValue, generateCsrfToken, generateOAuthState, generateOpaqueToken, generateOpenApiDocument, getAuth, getClientIp, getConditions, getPaginationConditions, getRequestId, getState, groupInlineSubmission, hashOpaqueToken, humanizeField, idempotencyMiddleware, inboundMessageSchema, isColumnOptional, isMultipart, isSearchableColumn, isValidCep, isValidCity, isValidCnpj, isValidCpf, isValidCpfCnpj, isValidPhoneBr, isValidUf, jwtSettingsShape, keyByHeader, keyByIp, keyByJwtClaim, keyByJwtSubject, listStates, loadSqlParser, logEntrySchema, logSettingsShape, loginSchema, makeAdminJsonRouter, makeAdminRouter, makeAppExceptionHandler, makeAuthRouter, makeFlagGuard, makeHealthRouter, makeJwtAuthMiddleware, makeLogsRouter, makeMetricsRouter, makeSessionMiddleware, makeToolSpecRouter, makeTwilioWebhookRouter, makeUnhandledExceptionHandler, makeWhatsAppWebhookRouter, metricCard, mfaChallengeSchema, mfaCodeSchema, mfaEnrollResponseSchema, minioSettingsShape, modifyDict, mountOpenApiJson, mountRedoc, mountSwaggerUi, normalizeCep, normalizeCnpj, normalizeCpf, normalizeCpfCnpj, normalizePhoneBr, normalizeUf, notFoundHandler, onlyDigits, paginationFilterSchema, paginationSchema, parseAcceptLanguage, parseCookies, parseCsv, parseFormBody, parseMultipart, partitionTotal, passwordResetConfirmSchema, passwordResetRequestSchema, phoneBrField, prometheusMiddleware, rabbitmqSettingsShape, rateLimitMiddleware, readLogEntries, redisSettingsShape, refreshSchema, registerExceptionHandlers, renderAuthResultPage, renderDashboardPage, renderDetailPage, renderFormPage, renderImportPage, renderLayout, renderListPage, renderLogEntriesJson, renderLogEntriesMarkdown, renderLoginPage, renderLogsPage, renderMfaPage, renderPasswordResetFormPage, renderSqlPage, renderTaskDetailPage, renderTasksPage, requestIdMiddleware, requestTracingMiddleware, requireRoles, resolveAdminTheme, resolveDownloadPath, resolveRedocBundle, runServer, runWithRequestContext, sendBytesDownload, sendFileDownload, sessionCookie, sessionSettingsShape, setRequestId, signupSchema, snapshot, sseResponse, statesByRegion, syncFilterSchema, syncPaginationSchema, tableNameFor, toLogEntry, toUtc, tokenFromUrl, tokenPairSchema, tokenSettingsShape, trendDirection, trendPercent, ufField, updatedByColumn, uploadSettingsShape, userPublicSchema, utcnow, validateTwilioSignature, verifyOpaqueToken, webPushKeysSchema, webPushPayloadSchema, webPushSettingsShape, webPushSubscriptionSchema, webSocketSettingsShape, widgetForColumn, withTestDatabase, wrapWithSlowQueryLog, wsEnvelopeSchema };
17142
+ export { ADMIN_CSS, ASYNCAPI_VERSION, ActivationService, AdminJsonSite, AdminModel, AdminPermission, AdminSessionStore, AdminSite, AppException, AsyncApiRegistry, AttemptThrottle, AuditAction, BaseAuditLogModel, BaseController, BaseJobModel, BaseModel, BaseOAuthClient, BaseOutboxModel, BaseService, BaseUserModel, BaseUserRefreshTokenModel, BaseUserTokenModel, CEP_PATTERN, CNPJ_PATTERN, CPF_PATTERN, CSRF_COOKIE_NAME, CSRF_HEADER_NAME, CircuitOpenError, CompositeFeatureFlagBackend, ConflictException, DEFAULT_DOCS_FAVICON, DEFAULT_LOCALE, EmailProvider, EmailUtils, EnvFeatureFlagBackend, EventStream, ExpiredTokenException, FeatureFlags, ForbiddenException, GitHubOAuthClient, GoogleOAuthClient, GracefulShutdown, HTTPClient, HTTP_500_LOG_FILE, HTTP_500_MARKER, HttpMetrics, IDEMPOTENCY_HEADER, InvalidTokenException, JSONLogger, JWTUtils, JobStatus, JobStore, LEVEL_LOG_FILES, LocalUploadStorage, MemoryBroker, MemoryCacheManager, MemoryFeatureFlagBackend, MemoryIdempotencyStore, MemoryRateLimitStore, MemorySessionStore, MemoryThrottleBackend, MessageCatalog, MessagingHub, MetricsUtils, MfaService, MultipartLimitError, NotFoundException, OAuthError, OIDCProvider, OutboxRelay, OutboxStatus, PERSPECTIVE_EXTENSION, PHONE_BR_PATTERN, PasswordResetService, REDOC_CDN_URL, REQUEST_ID_HEADER, RabbitBroker, RedisCacheManager, RedisIdempotencyStore, RedisRateLimitStore, RedisSSEBroker, RedisSessionStore, Region, RetryPolicy, S3UploadStorage, SSEBroker, ServerSentEvent, SessionService, SqlCapability, TOTPHelper, TaskManager, TelegramProvider, TenantScopedRepository, TooManyRequestsException, TwilioSmsProvider, UF, UnauthorizedException, UserAuthService, UserModelAuthBackend, UserTokenPurpose, ValidationException, WebPushDispatcher, WebPushError, WebPushGoneError, WebSocketHub, WebhookSignatureVerifier, WhatsAppProvider, activationSchema, addLogSink, adminAction, adminColumns, adminInline, adminLens, adminThemeCss, analyzeSql, attachWebSocketHub, authResponseSchema, authSettingsShape, backupDatabase, bearerToken, bodySizeLimitMiddleware, broadcastText, buildContentDisposition, buildFormFields, buildPaginationLinkHeader, cached2 as cached, cepField, checkSqlPolicy, citiesByUf, cnpjField, coerceFlag, configureFileLogging, configureLogging, cpfField, cpfOrCnpjField, createApp, createAsyncApiRegistry, createOpenApiRegistry, createTestDatabase, createdByColumn, csrfMiddleware, csrfTokenMatches, cursorPaginationFilterSchema, cursorPaginationSchema, decodeCursor, defaultMessageCatalog, defineEnum, deletedAtColumn, diffSnapshots, emailSettingsShape, encodeCursor, envList, escapeHtml, filterForColumn, filterLogEntries, foreignKeyFields, foreignKeyLabel, foreignKeyTable, formatCellValue, formatFieldValue, generateAsyncApiDocument, generateCsrfToken, generateOAuthState, generateOpaqueToken, generateOpenApiDocument, getAuth, getClientIp, getConditions, getPaginationConditions, getRequestId, getState, groupInlineSubmission, hashOpaqueToken, humanizeField, idempotencyMiddleware, inboundMessageSchema, isColumnOptional, isMultipart, isSearchableColumn, isValidCep, isValidCity, isValidCnpj, isValidCpf, isValidCpfCnpj, isValidPhoneBr, isValidUf, jwtSettingsShape, keyByHeader, keyByIp, keyByJwtClaim, keyByJwtSubject, listStates, loadSqlParser, logEntrySchema, logSettingsShape, loginSchema, makeAdminJsonRouter, makeAdminRouter, makeAppExceptionHandler, makeAuthRouter, makeFlagGuard, makeHealthRouter, makeJwtAuthMiddleware, makeLogsRouter, makeMetricsRouter, makeSessionMiddleware, makeToolSpecRouter, makeTwilioWebhookRouter, makeUnhandledExceptionHandler, makeWhatsAppWebhookRouter, metricCard, mfaChallengeSchema, mfaCodeSchema, mfaEnrollResponseSchema, minioSettingsShape, modifyDict, mountAsyncApiJson, mountOpenApiJson, mountRedoc, mountSwaggerUi, normalizeCep, normalizeCnpj, normalizeCpf, normalizeCpfCnpj, normalizePhoneBr, normalizeUf, notFoundHandler, onlyDigits, paginationFilterSchema, paginationSchema, parseAcceptLanguage, parseCookies, parseCsv, parseFormBody, parseMultipart, partitionTotal, passwordResetConfirmSchema, passwordResetRequestSchema, phoneBrField, prometheusMiddleware, rabbitmqSettingsShape, rateLimitMiddleware, readLogEntries, redisSettingsShape, refreshSchema, registerExceptionHandlers, renderAuthResultPage, renderDashboardPage, renderDetailPage, renderFormPage, renderImportPage, renderLayout, renderListPage, renderLogEntriesJson, renderLogEntriesMarkdown, renderLoginPage, renderLogsPage, renderMfaPage, renderPasswordResetFormPage, renderSqlPage, renderTaskDetailPage, renderTasksPage, requestIdMiddleware, requestTracingMiddleware, requireRoles, resolveAdminTheme, resolveDownloadPath, resolveRedocBundle, runServer, runWithRequestContext, sendBytesDownload, sendFileDownload, sessionCookie, sessionSettingsShape, setRequestId, signupSchema, snapshot, sseResponse, statesByRegion, syncFilterSchema, syncPaginationSchema, tableNameFor, toLogEntry, toUtc, tokenFromUrl, tokenPairSchema, tokenSettingsShape, trendDirection, trendPercent, ufField, updatedByColumn, uploadSettingsShape, userPublicSchema, utcnow, validateTwilioSignature, verifyOpaqueToken, webPushKeysSchema, webPushPayloadSchema, webPushSettingsShape, webPushSubscriptionSchema, webSocketSettingsShape, widgetForColumn, withTestDatabase, wrapWithSlowQueryLog, wsEnvelopeSchema };
16870
17143
  //# sourceMappingURL=index.js.map
16871
17144
  //# sourceMappingURL=index.js.map