tempest-express-sdk 0.21.0 → 0.22.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, toDict } from './chunk-E3CJPTYY.js';
2
- export { PasswordUtils, VERSION, baseAppSettingsSchema, baseAppSettingsShape, baseResponseSchema, corsSettingsShape, databaseSettingsShape, loadSettings, serverSettingsShape, toDict, z } from './chunk-E3CJPTYY.js';
1
+ import { z, looseBoolean, toDict } from './chunk-7Q5NBMSP.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-7Q5NBMSP.js';
3
3
  import { AsyncLocalStorage } from 'async_hooks';
4
4
  import { Model, column, sql, BaseRepository, RecordNotFound, detectDialect, NodeSqliteDriver, AsyncEngine } 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';
@@ -286,7 +286,9 @@ var paginationFilterSchema = z.object({
286
286
  page: z.coerce.number().int().min(1).default(1).openapi({ description: "The page number to retrieve (1-indexed)." }),
287
287
  pageSize: z.coerce.number().int().min(1).default(20).openapi({ description: "The number of items per page." }),
288
288
  orderBy: z.string().optional().openapi({ description: "Column to order by; defaults to repository default." }),
289
- ascending: z.coerce.boolean().default(true).openapi({ description: "Whether to order results ascending." })
289
+ ascending: looseBoolean(true).openapi({
290
+ description: "Whether to order results ascending."
291
+ })
290
292
  });
291
293
  var PAGINATION_KEYS = ["page", "pageSize", "orderBy", "ascending"];
292
294
  function getConditions(filter, options = {}) {
@@ -316,7 +318,9 @@ var cursorPaginationFilterSchema = z.object({
316
318
  cursor: z.string().optional().openapi({ description: "Opaque cursor; omit for the first page." }),
317
319
  limit: z.coerce.number().int().min(1).max(500).default(20).openapi({ description: "Maximum number of items to return." }),
318
320
  orderBy: z.string().default("createdAt").openapi({ description: "Column to sort by." }),
319
- ascending: z.coerce.boolean().default(false).openapi({ description: "Whether to sort ascending (default newest first)." })
321
+ ascending: looseBoolean(false).openapi({
322
+ description: "Whether to sort ascending (default newest first)."
323
+ })
320
324
  });
321
325
  function cursorPaginationSchema(item) {
322
326
  return z.object({
@@ -343,29 +347,6 @@ function decodeCursor(cursor) {
343
347
  return parsed;
344
348
  }
345
349
 
346
- // src/schemas/fields.ts
347
- var positiveIntField = z.number().int().positive();
348
- var nonNegativeIntField = z.number().int().min(0);
349
- var centsField = z.number().int().min(0);
350
- var portField = z.number().int().min(1).max(65535);
351
- var ratingField = z.number().int().min(0).max(5);
352
- var positiveFloatField = z.number().positive();
353
- var nonNegativeFloatField = z.number().min(0);
354
- var percentField = z.number().min(0).max(100);
355
- var ratioField = z.number().min(0).max(1);
356
- var latitudeField = z.number().min(-90).max(90);
357
- var longitudeField = z.number().min(-180).max(180);
358
- var nonEmptyStrField = z.string().transform((value) => value.trim()).pipe(z.string().min(1));
359
- var slugField = z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, {
360
- message: "Must be a lowercase hyphen-separated slug."
361
- });
362
- var hexColorField = z.string().regex(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/, {
363
- message: "Must be a #rgb or #rrggbb hex color."
364
- });
365
- var priceField = z.string().regex(/^\d+(?:\.\d{1,2})?$/, {
366
- message: 'Must be a decimal money string, e.g. "19.90".'
367
- });
368
-
369
350
  // src/schemas/sync.ts
370
351
  var syncFilterSchema = z.object({
371
352
  since: z.coerce.date().optional().openapi({
@@ -375,7 +356,9 @@ var syncFilterSchema = z.object({
375
356
  description: "Opaque cursor from the previous page; omit for the first."
376
357
  }),
377
358
  limit: z.coerce.number().int().min(1).max(1e3).default(100).openapi({ description: "Maximum number of items to return." }),
378
- includeDeleted: z.coerce.boolean().default(false).openapi({ description: "Whether soft-deleted rows are included in the delta." })
359
+ includeDeleted: looseBoolean(false).openapi({
360
+ description: "Whether soft-deleted rows are included in the delta."
361
+ })
379
362
  });
380
363
  function syncPaginationSchema(item) {
381
364
  return z.object({
@@ -428,12 +411,6 @@ var logEntrySchema = z.object({
428
411
  }).loose();
429
412
 
430
413
  // src/settings/mixins.ts
431
- function envBoolean(defaultValue) {
432
- return z.union([z.boolean(), z.string()]).default(defaultValue).transform((value) => {
433
- if (typeof value === "boolean") return value;
434
- return ["true", "1", "yes", "on"].includes(value.trim().toLowerCase());
435
- });
436
- }
437
414
  function envList(defaultValue = "") {
438
415
  return z.string().default(defaultValue).transform(
439
416
  (value) => value.split(",").map((entry) => entry.trim()).filter((entry) => entry.length > 0)
@@ -441,7 +418,7 @@ function envList(defaultValue = "") {
441
418
  }
442
419
  var logSettingsShape = {
443
420
  LOG_LEVEL: z.enum(["DEBUG", "INFO", "WARNING", "ERROR"]).default("INFO"),
444
- LOG_JSON: envBoolean(true),
421
+ LOG_JSON: looseBoolean(true),
445
422
  LOG_DIR: z.string().default("logs")
446
423
  };
447
424
  var redisSettingsShape = {
@@ -467,8 +444,8 @@ var emailSettingsShape = {
467
444
  SMTP_USERNAME: z.string().optional(),
468
445
  SMTP_PASSWORD: z.string().optional(),
469
446
  SMTP_FROM_ADDR: z.string().default("noreply@example.com"),
470
- SMTP_USE_TLS: envBoolean(true),
471
- SMTP_USE_SSL: envBoolean(false),
447
+ SMTP_USE_TLS: looseBoolean(true),
448
+ SMTP_USE_SSL: looseBoolean(false),
472
449
  SMTP_TIMEOUT_SECONDS: z.coerce.number().min(0).default(30)
473
450
  };
474
451
  var uploadSettingsShape = {
@@ -481,7 +458,7 @@ var minioSettingsShape = {
481
458
  MINIO_ENDPOINT: z.string().default("localhost:9000"),
482
459
  MINIO_ACCESS_KEY: z.string().default("minioadmin"),
483
460
  MINIO_SECRET_KEY: z.string().default("minioadmin"),
484
- MINIO_SECURE: envBoolean(false),
461
+ MINIO_SECURE: looseBoolean(false),
485
462
  MINIO_REGION: z.string().default("us-east-1"),
486
463
  MINIO_DEFAULT_BUCKET: z.string().default("uploads"),
487
464
  MINIO_PUBLIC_ENDPOINT: z.string().optional(),
@@ -497,14 +474,14 @@ var webPushSettingsShape = {
497
474
  };
498
475
  var sessionSettingsShape = {
499
476
  SESSION_TTL_SECONDS: z.coerce.number().int().min(1).default(86400),
500
- SESSION_SLIDING: envBoolean(true),
477
+ SESSION_SLIDING: looseBoolean(true),
501
478
  SESSION_COOKIE_NAME: z.string().default("tempest_session"),
502
479
  SESSION_COOKIE_DOMAIN: z.string().optional(),
503
480
  SESSION_COOKIE_PATH: z.string().default("/"),
504
- SESSION_COOKIE_SECURE: envBoolean(true),
505
- SESSION_COOKIE_HTTPONLY: envBoolean(true),
481
+ SESSION_COOKIE_SECURE: looseBoolean(true),
482
+ SESSION_COOKIE_HTTPONLY: looseBoolean(true),
506
483
  SESSION_COOKIE_SAMESITE: z.enum(["lax", "strict", "none"]).default("lax"),
507
- SESSION_ROTATE_ON_LOGIN: envBoolean(true)
484
+ SESSION_ROTATE_ON_LOGIN: looseBoolean(true)
508
485
  };
509
486
  var webSocketSettingsShape = {
510
487
  WS_HEARTBEAT_SECONDS: z.coerce.number().int().min(1).default(30),
@@ -513,22 +490,22 @@ var webSocketSettingsShape = {
513
490
  WS_MAX_MESSAGE_BYTES: z.coerce.number().int().min(1).default(64 * 1024)
514
491
  };
515
492
  var authSettingsShape = {
516
- AUTH_AUTO_ACTIVATE: envBoolean(false),
517
- AUTH_RETURN_TOKEN_IN_RESPONSE: envBoolean(false),
493
+ AUTH_AUTO_ACTIVATE: looseBoolean(false),
494
+ AUTH_RETURN_TOKEN_IN_RESPONSE: looseBoolean(false),
518
495
  AUTH_ACTIVATION_TTL_SECONDS: z.coerce.number().int().min(1).default(86400 * 7),
519
496
  AUTH_PASSWORD_RESET_TTL_SECONDS: z.coerce.number().int().min(1).default(3600),
520
497
  AUTH_ACTIVATION_URL_TEMPLATE: z.string().default("http://localhost:3000/activate?token={token}"),
521
498
  AUTH_PASSWORD_RESET_URL_TEMPLATE: z.string().default("http://localhost:3000/reset-password?token={token}"),
522
499
  AUTH_PASSWORD_MIN_LENGTH: z.coerce.number().int().min(1).default(12),
523
- AUTH_PASSWORD_REQUIRE_COMPLEXITY: envBoolean(false),
500
+ AUTH_PASSWORD_REQUIRE_COMPLEXITY: looseBoolean(false),
524
501
  AUTH_DEFAULT_LOCALE: z.string().default("pt-BR"),
525
- AUTH_MFA_ENABLED: envBoolean(false),
502
+ AUTH_MFA_ENABLED: looseBoolean(false),
526
503
  AUTH_MFA_ISSUER: z.string().default("Tempest"),
527
504
  AUTH_MFA_RECOVERY_CODES_COUNT: z.coerce.number().int().min(0).default(10),
528
505
  AUTH_MFA_TOKEN_TTL_SECONDS: z.coerce.number().int().min(1).default(300),
529
506
  AUTH_MFA_VERIFY_WINDOW: z.coerce.number().int().min(0).default(1),
530
507
  AUTH_TOKEN_DELIVERY: z.enum(["bearer", "cookie", "both"]).default("bearer"),
531
- AUTH_COOKIE_SECURE: envBoolean(true),
508
+ AUTH_COOKIE_SECURE: looseBoolean(true),
532
509
  AUTH_COOKIE_SAMESITE: z.enum(["lax", "strict", "none"]).default("lax"),
533
510
  AUTH_COOKIE_DOMAIN: z.string().optional(),
534
511
  AUTH_ACCESS_COOKIE_NAME: z.string().default("access_token"),
@@ -11224,6 +11201,6 @@ async function withTestDatabase(models, fn) {
11224
11201
  }
11225
11202
  }
11226
11203
 
11227
- export { ActivationService, AdminSite, AppException, AttemptThrottle, AuditAction, BaseAuditLogModel, BaseController, BaseModel, BaseOAuthClient, BaseOutboxModel, BaseService, BaseUserModel, BaseUserRefreshTokenModel, BaseUserTokenModel, CEP_PATTERN, CNPJ_PATTERN, CPF_PATTERN, CSRF_COOKIE_NAME, CSRF_HEADER_NAME, CircuitOpenError, CompositeFeatureFlagBackend, ConflictException, 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, LEVEL_LOG_FILES, LocalUploadStorage, MemoryBroker, MemoryCacheManager, MemoryFeatureFlagBackend, MemoryIdempotencyStore, MemoryRateLimitStore, MemorySessionStore, MemoryThrottleBackend, MessageCatalog, MessagingHub, MetricsUtils, MfaService, NotFoundException, OAuthError, OIDCProvider, OutboxRelay, OutboxStatus, PHONE_BR_PATTERN, PasswordResetService, REQUEST_ID_HEADER, RabbitBroker, RedisCacheManager, RedisIdempotencyStore, RedisRateLimitStore, RedisSSEBroker, RedisSessionStore, Region, RetryPolicy, S3UploadStorage, SSEBroker, ServerSentEvent, SessionService, TOTPHelper, TaskManager, TelegramProvider, TenantScopedRepository, TooManyRequestsException, TwilioSmsProvider, UF, UnauthorizedException, UserAuthService, UserTokenPurpose, ValidationException, WebPushDispatcher, WebPushError, WebPushGoneError, WebSocketHub, WebhookSignatureVerifier, WhatsAppProvider, activationSchema, addLogSink, attachWebSocketHub, authResponseSchema, authSettingsShape, backupDatabase, bearerToken, bodySizeLimitMiddleware, broadcastText, buildContentDisposition, buildPaginationLinkHeader, cached2 as cached, centsField, cepField, citiesByUf, cnpjField, coerceFlag, configureFileLogging, configureLogging, cpfField, cpfOrCnpjField, createApp, createOpenApiRegistry, createTestDatabase, createdByColumn, csrfMiddleware, cursorPaginationFilterSchema, cursorPaginationSchema, decodeCursor, defaultMessageCatalog, defineEnum, deletedAtColumn, diffSnapshots, emailSettingsShape, encodeCursor, envBoolean, envList, generateCsrfToken, generateOAuthState, generateOpaqueToken, generateOpenApiDocument, getAuth, getClientIp, getConditions, getPaginationConditions, getRequestId, getState, hashOpaqueToken, hexColorField, idempotencyMiddleware, inboundMessageSchema, isValidCep, isValidCity, isValidCnpj, isValidCpf, isValidCpfCnpj, isValidPhoneBr, isValidUf, jwtSettingsShape, keyByHeader, keyByIp, keyByJwtClaim, keyByJwtSubject, latitudeField, listStates, logEntrySchema, logSettingsShape, loginSchema, longitudeField, makeAdminRouter, makeAppExceptionHandler, makeAuthRouter, makeFlagGuard, makeHealthRouter, makeJwtAuthMiddleware, makeLogsRouter, makeMetricsRouter, makeSessionMiddleware, makeToolSpecRouter, makeTwilioWebhookRouter, makeUnhandledExceptionHandler, makeWhatsAppWebhookRouter, mfaChallengeSchema, mfaCodeSchema, mfaEnrollResponseSchema, minioSettingsShape, modifyDict, mountOpenApiJson, mountRedoc, mountSwaggerUi, nonEmptyStrField, nonNegativeFloatField, nonNegativeIntField, normalizeCep, normalizeCnpj, normalizeCpf, normalizeCpfCnpj, normalizePhoneBr, normalizeUf, notFoundHandler, onlyDigits, paginationFilterSchema, paginationSchema, parseAcceptLanguage, parseCookies, passwordResetConfirmSchema, passwordResetRequestSchema, percentField, phoneBrField, portField, positiveFloatField, positiveIntField, priceField, prometheusMiddleware, rabbitmqSettingsShape, rateLimitMiddleware, ratingField, ratioField, redisSettingsShape, refreshSchema, registerExceptionHandlers, renderAuthResultPage, renderPasswordResetFormPage, requestIdMiddleware, requestTracingMiddleware, requireRoles, resolveDownloadPath, runServer, runWithRequestContext, sendBytesDownload, sendFileDownload, sessionCookie, sessionSettingsShape, setRequestId, signupSchema, slugField, snapshot, sseResponse, statesByRegion, syncFilterSchema, syncPaginationSchema, tableNameFor, toUtc, tokenFromUrl, tokenPairSchema, tokenSettingsShape, ufField, updatedByColumn, uploadSettingsShape, userPublicSchema, utcnow, validateTwilioSignature, verifyOpaqueToken, webPushKeysSchema, webPushPayloadSchema, webPushSettingsShape, webPushSubscriptionSchema, webSocketSettingsShape, withTestDatabase, wrapWithSlowQueryLog, wsEnvelopeSchema };
11204
+ export { ActivationService, AdminSite, AppException, AttemptThrottle, AuditAction, BaseAuditLogModel, BaseController, BaseModel, BaseOAuthClient, BaseOutboxModel, BaseService, BaseUserModel, BaseUserRefreshTokenModel, BaseUserTokenModel, CEP_PATTERN, CNPJ_PATTERN, CPF_PATTERN, CSRF_COOKIE_NAME, CSRF_HEADER_NAME, CircuitOpenError, CompositeFeatureFlagBackend, ConflictException, 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, LEVEL_LOG_FILES, LocalUploadStorage, MemoryBroker, MemoryCacheManager, MemoryFeatureFlagBackend, MemoryIdempotencyStore, MemoryRateLimitStore, MemorySessionStore, MemoryThrottleBackend, MessageCatalog, MessagingHub, MetricsUtils, MfaService, NotFoundException, OAuthError, OIDCProvider, OutboxRelay, OutboxStatus, PHONE_BR_PATTERN, PasswordResetService, REQUEST_ID_HEADER, RabbitBroker, RedisCacheManager, RedisIdempotencyStore, RedisRateLimitStore, RedisSSEBroker, RedisSessionStore, Region, RetryPolicy, S3UploadStorage, SSEBroker, ServerSentEvent, SessionService, TOTPHelper, TaskManager, TelegramProvider, TenantScopedRepository, TooManyRequestsException, TwilioSmsProvider, UF, UnauthorizedException, UserAuthService, UserTokenPurpose, ValidationException, WebPushDispatcher, WebPushError, WebPushGoneError, WebSocketHub, WebhookSignatureVerifier, WhatsAppProvider, activationSchema, addLogSink, attachWebSocketHub, authResponseSchema, authSettingsShape, backupDatabase, bearerToken, bodySizeLimitMiddleware, broadcastText, buildContentDisposition, buildPaginationLinkHeader, cached2 as cached, cepField, citiesByUf, cnpjField, coerceFlag, configureFileLogging, configureLogging, cpfField, cpfOrCnpjField, createApp, createOpenApiRegistry, createTestDatabase, createdByColumn, csrfMiddleware, cursorPaginationFilterSchema, cursorPaginationSchema, decodeCursor, defaultMessageCatalog, defineEnum, deletedAtColumn, diffSnapshots, emailSettingsShape, encodeCursor, envList, generateCsrfToken, generateOAuthState, generateOpaqueToken, generateOpenApiDocument, getAuth, getClientIp, getConditions, getPaginationConditions, getRequestId, getState, hashOpaqueToken, idempotencyMiddleware, inboundMessageSchema, isValidCep, isValidCity, isValidCnpj, isValidCpf, isValidCpfCnpj, isValidPhoneBr, isValidUf, jwtSettingsShape, keyByHeader, keyByIp, keyByJwtClaim, keyByJwtSubject, listStates, logEntrySchema, logSettingsShape, loginSchema, makeAdminRouter, makeAppExceptionHandler, makeAuthRouter, makeFlagGuard, makeHealthRouter, makeJwtAuthMiddleware, makeLogsRouter, makeMetricsRouter, makeSessionMiddleware, makeToolSpecRouter, makeTwilioWebhookRouter, makeUnhandledExceptionHandler, makeWhatsAppWebhookRouter, mfaChallengeSchema, mfaCodeSchema, mfaEnrollResponseSchema, minioSettingsShape, modifyDict, mountOpenApiJson, mountRedoc, mountSwaggerUi, normalizeCep, normalizeCnpj, normalizeCpf, normalizeCpfCnpj, normalizePhoneBr, normalizeUf, notFoundHandler, onlyDigits, paginationFilterSchema, paginationSchema, parseAcceptLanguage, parseCookies, passwordResetConfirmSchema, passwordResetRequestSchema, phoneBrField, prometheusMiddleware, rabbitmqSettingsShape, rateLimitMiddleware, redisSettingsShape, refreshSchema, registerExceptionHandlers, renderAuthResultPage, renderPasswordResetFormPage, requestIdMiddleware, requestTracingMiddleware, requireRoles, resolveDownloadPath, runServer, runWithRequestContext, sendBytesDownload, sendFileDownload, sessionCookie, sessionSettingsShape, setRequestId, signupSchema, snapshot, sseResponse, statesByRegion, syncFilterSchema, syncPaginationSchema, tableNameFor, toUtc, tokenFromUrl, tokenPairSchema, tokenSettingsShape, ufField, updatedByColumn, uploadSettingsShape, userPublicSchema, utcnow, validateTwilioSignature, verifyOpaqueToken, webPushKeysSchema, webPushPayloadSchema, webPushSettingsShape, webPushSubscriptionSchema, webSocketSettingsShape, withTestDatabase, wrapWithSlowQueryLog, wsEnvelopeSchema };
11228
11205
  //# sourceMappingURL=index.js.map
11229
11206
  //# sourceMappingURL=index.js.map