@parsrun/types 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common.ts","../src/auth.ts","../src/tenant.ts","../src/email.ts","../src/storage.ts","../src/queue.ts","../src/cache.ts","../src/payments.ts","../src/server.ts","../src/index.ts"],"names":["type"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @parsrun/types - Common Schemas\n * Shared validation schemas used across all Pars packages\n */\n\nimport { type } from \"arktype\";\n\n// ============================================================================\n// Primitive Schemas\n// ============================================================================\n\n/** UUID v4 string validation */\nexport const uuid = type(\"string.uuid\");\n\n/** ISO 8601 timestamp string */\nexport const timestamp = type(\"string.date.iso\");\n\n/** Email address validation */\nexport const email = type(\"string.email\");\n\n/** URL validation */\nexport const url = type(\"string.url\");\n\n/** Non-empty string */\nexport const nonEmptyString = type(\"string >= 1\");\n\n/** Positive integer */\nexport const positiveInt = type(\"number.integer > 0\");\n\n/** Non-negative integer */\nexport const nonNegativeInt = type(\"number.integer >= 0\");\n\n// ============================================================================\n// Status Schemas\n// ============================================================================\n\n/** Common entity status */\nexport const status = type(\"'active' | 'inactive' | 'suspended' | 'deleted'\");\n\n/** Session status */\nexport const sessionStatus = type(\"'active' | 'expired' | 'revoked'\");\n\n// ============================================================================\n// Pagination Schemas\n// ============================================================================\n\n/** Pagination request parameters */\nexport const pagination = type({\n page: \"number >= 1\",\n limit: \"number >= 1\",\n \"orderBy?\": \"string\",\n \"orderDirection?\": \"'asc' | 'desc'\",\n});\n\n/** Pagination metadata in responses */\nexport const paginationMeta = type({\n page: \"number\",\n limit: \"number\",\n total: \"number\",\n totalPages: \"number\",\n hasNext: \"boolean\",\n hasPrev: \"boolean\",\n});\n\n/** Cursor-based pagination */\nexport const cursorPagination = type({\n \"cursor?\": \"string\",\n limit: \"number >= 1\",\n \"direction?\": \"'forward' | 'backward'\",\n});\n\n/** Cursor pagination metadata */\nexport const cursorPaginationMeta = type({\n \"cursor?\": \"string\",\n \"nextCursor?\": \"string\",\n \"prevCursor?\": \"string\",\n hasMore: \"boolean\",\n limit: \"number\",\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/** Success response wrapper */\nexport const successResponse = <T>(dataSchema: T) =>\n type({\n success: \"'true'\",\n data: dataSchema as never,\n \"message?\": \"string\",\n });\n\n/** Error response */\nexport const errorResponse = type({\n success: \"'false'\",\n error: {\n code: \"string\",\n message: \"string\",\n \"details?\": \"unknown\",\n },\n \"message?\": \"string\",\n});\n\n/** Paginated response wrapper */\nexport const paginatedResponse = <T>(dataSchema: T) =>\n type({\n success: \"boolean\",\n data: dataSchema as never,\n pagination: paginationMeta,\n \"message?\": \"string\",\n });\n\n/** Cursor paginated response wrapper */\nexport const cursorPaginatedResponse = <T>(dataSchema: T) =>\n type({\n success: \"boolean\",\n data: dataSchema as never,\n pagination: cursorPaginationMeta,\n \"message?\": \"string\",\n });\n\n// ============================================================================\n// Error Schemas\n// ============================================================================\n\n/** Pars framework error */\nexport const parsError = type({\n message: \"string\",\n statusCode: \"number >= 100\",\n \"code?\": \"string\",\n \"details?\": \"unknown\",\n});\n\n/** Validation error details */\nexport const validationErrorDetail = type({\n path: \"string\",\n message: \"string\",\n \"expected?\": \"string\",\n \"received?\": \"unknown\",\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\nexport type UUID = typeof uuid.infer;\nexport type Timestamp = typeof timestamp.infer;\nexport type Email = typeof email.infer;\nexport type Url = typeof url.infer;\nexport type NonEmptyString = typeof nonEmptyString.infer;\nexport type PositiveInt = typeof positiveInt.infer;\nexport type NonNegativeInt = typeof nonNegativeInt.infer;\n\nexport type Status = typeof status.infer;\nexport type SessionStatus = typeof sessionStatus.infer;\n\nexport type Pagination = typeof pagination.infer;\nexport type PaginationMeta = typeof paginationMeta.infer;\nexport type CursorPagination = typeof cursorPagination.infer;\nexport type CursorPaginationMeta = typeof cursorPaginationMeta.infer;\n\nexport type ErrorResponse = typeof errorResponse.infer;\nexport type ParsError = typeof parsError.infer;\nexport type ValidationErrorDetail = typeof validationErrorDetail.infer;\n\n// ============================================================================\n// API Response Interfaces (for TypeScript convenience)\n// ============================================================================\n\nexport interface ApiResponse<T = unknown> {\n success: boolean;\n data?: T;\n message?: string;\n}\n\nexport interface ApiErrorResponse {\n success: false;\n error: {\n code: string;\n message: string;\n details?: unknown;\n };\n message?: string;\n}\n\nexport interface ApiPaginatedResponse<T = unknown> {\n success: boolean;\n data: T[];\n pagination: PaginationMeta;\n message?: string;\n}\n\nexport interface ApiCursorPaginatedResponse<T = unknown> {\n success: boolean;\n data: T[];\n pagination: CursorPaginationMeta;\n message?: string;\n}\n","/**\n * @parsrun/types - Auth Schemas\n * Authentication and authorization validation schemas\n */\n\nimport { type } from \"arktype\";\nimport { status, sessionStatus, timestamp, uuid } from \"./common\";\n\n// ============================================================================\n// User Schemas\n// ============================================================================\n\n/** User entity */\nexport const user = type({\n id: uuid,\n \"displayName?\": \"string\",\n twoFactorEnabled: \"boolean\",\n \"twoFactorSecret?\": \"string\",\n status,\n insertedAt: timestamp,\n updatedAt: timestamp,\n \"deletedAt?\": timestamp,\n});\n\n/** Auth method (email, phone, OAuth providers) */\nexport const authMethod = type({\n id: uuid,\n userId: uuid,\n provider: \"'email' | 'phone' | 'google' | 'github' | 'microsoft' | 'apple'\",\n providerId: \"string >= 1\",\n verified: \"boolean\",\n \"metadata?\": \"object\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n \"deletedAt?\": timestamp,\n});\n\n// ============================================================================\n// Session Schemas\n// ============================================================================\n\n/** Session entity */\nexport const session = type({\n id: uuid,\n userId: uuid,\n \"authMethodId?\": uuid,\n \"currentTenantId?\": uuid,\n \"refreshTokenHash?\": \"string\",\n csrfTokenHash: \"string\",\n expiresAt: timestamp,\n \"refreshExpiresAt?\": timestamp,\n \"deviceType?\": \"'mobile' | 'desktop' | 'tablet' | 'api'\",\n \"deviceName?\": \"string\",\n \"userAgent?\": \"string\",\n \"ipAddress?\": \"string\",\n \"locationData?\": \"object\",\n \"deviceFingerprint?\": \"string\",\n status: sessionStatus,\n lastActivityAt: timestamp,\n \"revokedAt?\": timestamp,\n \"revokedReason?\":\n \"'user_logout' | 'admin_revoke' | 'security_breach' | 'suspicious_activity'\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n \"deletedAt?\": timestamp,\n});\n\n// ============================================================================\n// Tenant & Membership Schemas\n// ============================================================================\n\n/** Tenant membership */\nexport const tenantMembership = type({\n id: uuid,\n userId: uuid,\n tenantId: uuid,\n roleId: uuid,\n status: \"'active' | 'inactive' | 'invited' | 'suspended'\",\n permissions: \"object\",\n accessLevel: \"'full' | 'limited' | 'read_only'\",\n resourceRestrictions: \"object\",\n \"ipRestrictions?\": \"object\",\n \"timeRestrictions?\": \"object\",\n \"expiresAt?\": timestamp,\n \"invitedBy?\": uuid,\n \"invitedAt?\": timestamp,\n \"joinedAt?\": timestamp,\n \"lastLoginAt?\": timestamp,\n insertedAt: timestamp,\n updatedAt: timestamp,\n \"deletedAt?\": timestamp,\n});\n\n// ============================================================================\n// OTP Schemas\n// ============================================================================\n\n/** Request OTP (email/phone) */\nexport const requestOTPRequest = type({\n \"email?\": \"string.email\",\n \"phone?\": \"string >= 10\",\n \"tenantId?\": uuid,\n});\n\n/** OTP request response */\nexport const requestOTPResponse = type({\n success: \"boolean\",\n message: \"string\",\n \"expiresAt?\": timestamp,\n \"requiresTenantSelection?\": \"boolean\",\n \"isNewUser?\": \"boolean\",\n \"defaultTenantId?\": uuid,\n \"defaultTenantName?\": \"string\",\n \"selectedTenantId?\": uuid,\n \"selectedTenantName?\": \"string\",\n \"tenants?\": type({\n id: uuid,\n name: \"string\",\n role: \"string\",\n }).array(),\n});\n\n/** Verify OTP */\nexport const verifyOTPRequest = type({\n \"email?\": \"string.email\",\n \"phone?\": \"string >= 10\",\n code: \"string >= 6\",\n \"tenantId?\": uuid,\n});\n\n/** Resend OTP */\nexport const resendOTPRequest = type({\n \"email?\": \"string.email\",\n \"phone?\": \"string >= 10\",\n});\n\n// ============================================================================\n// Login Response Schemas\n// ============================================================================\n\n/** Login response data */\nexport const loginResponseData = type({\n user,\n session: {\n accessToken: \"string\",\n expiresAt: timestamp,\n csrfToken: \"string\",\n },\n \"refreshToken?\": \"string\",\n authMethod: {\n id: uuid,\n provider: \"'email' | 'phone' | 'google' | 'github' | 'microsoft' | 'apple'\",\n providerId: \"string >= 1\",\n verified: \"boolean\",\n \"metadata?\": \"object\",\n },\n \"tenantMemberships?\": tenantMembership.array(),\n isNewUser: \"boolean\",\n});\n\n/** Login response */\nexport const loginResponse = type({\n success: \"boolean\",\n data: loginResponseData,\n \"message?\": \"string\",\n});\n\n// ============================================================================\n// Current User Schemas\n// ============================================================================\n\n/** Current user response data */\nexport const currentUserResponseData = type({\n user,\n \"authMethod?\": {\n id: uuid,\n provider: \"'email' | 'phone' | 'google' | 'github' | 'microsoft' | 'apple'\",\n providerId: \"string >= 1\",\n verified: \"boolean\",\n \"metadata?\": \"object\",\n },\n tenantMemberships: tenantMembership.array(),\n roles: type({\n id: uuid,\n name: \"string\",\n \"description?\": \"string\",\n }).array(),\n permissions: \"string[]\",\n currentTenant: uuid,\n});\n\n/** Current user response */\nexport const currentUserResponse = type({\n success: \"boolean\",\n data: currentUserResponseData,\n \"message?\": \"string\",\n});\n\n// ============================================================================\n// Token Schemas\n// ============================================================================\n\n/** Refresh token request */\nexport const refreshTokenRequest = type({\n refreshToken: \"string\",\n});\n\n/** Token info (for client storage) */\nexport const tokenInfo = type({\n accessToken: \"string\",\n \"refreshToken?\": \"string\",\n expiresAt: \"Date\",\n csrfToken: \"string\",\n \"tenantId?\": uuid,\n});\n\n/** JWT payload */\nexport const jwtPayload = type({\n sub: uuid,\n tenantId: uuid,\n \"sessionId?\": uuid,\n \"roles?\": \"string[]\",\n \"permissions?\": \"string[]\",\n iat: \"number\",\n exp: \"number\",\n \"aud?\": \"string\",\n \"iss?\": \"string\",\n});\n\n// ============================================================================\n// RBAC Schemas\n// ============================================================================\n\n/** Permission entity */\nexport const permission = type({\n id: uuid,\n name: \"string >= 1\",\n \"description?\": \"string\",\n resource: \"string >= 1\",\n action: \"'create' | 'read' | 'update' | 'delete' | 'list' | 'manage'\",\n scope: \"'tenant' | 'global' | 'own'\",\n isSystem: \"boolean\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n});\n\n/** Role entity */\nexport const role = type({\n id: uuid,\n tenantId: uuid,\n name: \"string >= 1\",\n \"description?\": \"string\",\n isSystem: \"boolean\",\n isActive: \"boolean\",\n \"color?\": \"string\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n \"deletedAt?\": timestamp,\n});\n\n/** Permission check request */\nexport const permissionCheck = type({\n resource: \"string >= 1\",\n action: \"string >= 1\",\n \"scope?\": \"'tenant' | 'global' | 'own'\",\n \"resourceId?\": \"string\",\n});\n\n// ============================================================================\n// Session Management Schemas\n// ============================================================================\n\n/** Logout request */\nexport const logoutRequest = type({\n \"refreshToken?\": \"string\",\n allDevices: \"boolean\",\n});\n\n/** Revoke session request */\nexport const revokeSessionRequest = type({\n \"reason?\":\n \"'user_logout' | 'admin_revoke' | 'security_breach' | 'suspicious_activity'\",\n});\n\n/** Revoke all sessions request */\nexport const revokeAllSessionsRequest = type({\n \"reason?\":\n \"'user_logout' | 'admin_revoke' | 'security_breach' | 'suspicious_activity'\",\n \"excludeCurrent?\": \"boolean\",\n});\n\n/** Revoke all sessions response */\nexport const revokeAllSessionsResponse = type({\n success: \"boolean\",\n message: \"string\",\n revokedCount: \"number\",\n});\n\n// ============================================================================\n// Email Verification Schemas\n// ============================================================================\n\n/** Send verification email request */\nexport const sendVerificationEmailRequest = type({\n email: \"string.email\",\n});\n\n/** Verify email request */\nexport const verifyEmailRequest = type({\n token: \"string >= 1\",\n});\n\n/** Check verification status */\nexport const checkVerificationStatusRequest = type({\n email: \"string.email\",\n});\n\nexport const checkVerificationStatusResponse = type({\n success: \"boolean\",\n verified: \"boolean\",\n message: \"string\",\n \"sentAt?\": timestamp,\n \"expiresAt?\": timestamp,\n});\n\n// ============================================================================\n// CSRF Schemas\n// ============================================================================\n\n/** CSRF token validation */\nexport const csrfTokenRequest = type({\n csrfToken: \"string >= 1\",\n});\n\n// ============================================================================\n// Config Schemas (for @parsrun/auth)\n// ============================================================================\n\n/** Session config */\nexport const sessionConfig = type({\n \"accessTokenExpiry?\": \"number > 0\",\n \"refreshTokenExpiry?\": \"number > 0\",\n \"slidingWindow?\": \"boolean\",\n \"maxSessions?\": \"number > 0\",\n \"invalidateOnPasswordChange?\": \"boolean\",\n});\n\n/** JWT config */\nexport const jwtConfig = type({\n \"algorithm?\":\n \"'HS256' | 'HS384' | 'HS512' | 'RS256' | 'RS384' | 'RS512' | 'ES256' | 'ES384' | 'ES512'\",\n \"issuer?\": \"string\",\n \"audience?\": \"string | string[]\",\n});\n\n/** Cookie config */\nexport const cookieConfig = type({\n \"prefix?\": \"string\",\n \"domain?\": \"string\",\n \"path?\": \"string\",\n \"secure?\": \"boolean\",\n \"sameSite?\": \"'strict' | 'lax' | 'none'\",\n \"httpOnly?\": \"boolean\",\n});\n\n/** CSRF config */\nexport const csrfConfig = type({\n \"enabled?\": \"boolean\",\n \"headerName?\": \"string\",\n \"cookieName?\": \"string\",\n});\n\n/** Rate limit config */\nexport const rateLimitConfig = type({\n \"enabled?\": \"boolean\",\n \"loginAttempts?\": \"number > 0\",\n \"windowSize?\": \"number > 0\",\n});\n\n/** Lockout config */\nexport const lockoutConfig = type({\n \"enabled?\": \"boolean\",\n \"maxAttempts?\": \"number > 0\",\n \"duration?\": \"number > 0\",\n});\n\n/** Security config */\nexport const securityConfig = type({\n \"rateLimit?\": rateLimitConfig,\n \"lockout?\": lockoutConfig,\n \"csrf?\": csrfConfig,\n});\n\n/** Tenant config */\nexport const tenantConfig = type({\n \"enabled?\": \"boolean\",\n \"strategy?\": \"'subdomain' | 'header' | 'path' | 'query' | 'custom'\",\n \"headerName?\": \"string\",\n \"resolver?\": \"Function\",\n});\n\n/** OAuth provider config */\nexport const oauthProviderConfig = type({\n \"enabled?\": \"boolean\",\n clientId: \"string\",\n clientSecret: \"string\",\n \"scopes?\": \"string[]\",\n \"callbackUrl?\": \"string\",\n});\n\n/** OTP email config */\nexport const otpEmailConfig = type({\n \"enabled?\": \"boolean\",\n \"expiresIn?\": \"number > 0\",\n \"length?\": \"number >= 4\",\n \"maxAttempts?\": \"number > 0\",\n \"rateLimit?\": \"number > 0\",\n \"rateLimitWindow?\": \"number > 0\",\n send: \"Function\",\n});\n\n/** OTP SMS config */\nexport const otpSmsConfig = type({\n \"enabled?\": \"boolean\",\n \"expiresIn?\": \"number > 0\",\n \"length?\": \"number >= 4\",\n \"maxAttempts?\": \"number > 0\",\n \"rateLimit?\": \"number > 0\",\n \"rateLimitWindow?\": \"number > 0\",\n send: \"Function\",\n});\n\n/** OTP config */\nexport const otpConfig = type({\n \"enabled?\": \"boolean\",\n \"email?\": otpEmailConfig,\n \"sms?\": otpSmsConfig,\n});\n\n/** Magic link config */\nexport const magicLinkConfig = type({\n \"enabled?\": \"boolean\",\n \"expiresIn?\": \"number > 0\",\n send: \"Function\",\n});\n\n/** TOTP config */\nexport const totpConfig = type({\n \"enabled?\": \"boolean\",\n \"issuer?\": \"string\",\n \"backupCodesCount?\": \"number > 0\",\n});\n\n/** WebAuthn config */\nexport const webauthnConfig = type({\n \"enabled?\": \"boolean\",\n rpName: \"string\",\n rpId: \"string\",\n \"origins?\": \"string[]\",\n});\n\n/** Password config */\nexport const passwordConfig = type({\n \"enabled?\": \"boolean\",\n \"minLength?\": \"number >= 6\",\n \"requireUppercase?\": \"boolean\",\n \"requireLowercase?\": \"boolean\",\n \"requireNumbers?\": \"boolean\",\n \"requireSymbols?\": \"boolean\",\n \"checkCommonPasswords?\": \"boolean\",\n});\n\n/** OAuth providers config */\nexport const oauthProvidersConfig = type({\n \"google?\": oauthProviderConfig,\n \"github?\": oauthProviderConfig,\n \"microsoft?\": oauthProviderConfig,\n \"apple?\": oauthProviderConfig,\n \"custom?\": type(\"Record<string, unknown>\"),\n});\n\n/** Providers config */\nexport const providersConfig = type({\n \"otp?\": otpConfig,\n \"magicLink?\": magicLinkConfig,\n \"oauth?\": oauthProvidersConfig,\n \"totp?\": totpConfig,\n \"webauthn?\": webauthnConfig,\n \"password?\": passwordConfig,\n});\n\n/** Storage config */\nexport const storageConfig = type({\n \"type?\": \"'memory' | 'redis' | 'upstash' | 'cloudflare-kv' | 'deno-kv' | 'custom'\",\n \"redis?\": \"object\",\n \"upstash?\": \"object\",\n \"cloudflareKv?\": \"object\",\n \"denoKv?\": \"object\",\n \"custom?\": \"object\",\n});\n\n/** Main Pars auth config */\nexport const parsAuthConfig = type({\n secret: \"string >= 32\",\n \"baseUrl?\": \"string\",\n \"storage?\": storageConfig,\n \"providers?\": providersConfig,\n \"session?\": sessionConfig,\n \"jwt?\": jwtConfig,\n \"cookies?\": cookieConfig,\n \"security?\": securityConfig,\n \"tenant?\": tenantConfig,\n adapter: \"object\",\n \"callbacks?\": \"object\",\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\n// Entity types\nexport type User = typeof user.infer;\nexport type AuthMethod = typeof authMethod.infer;\nexport type Session = typeof session.infer;\nexport type TenantMembership = typeof tenantMembership.infer;\n\n// OTP types\nexport type RequestOTPRequest = typeof requestOTPRequest.infer;\nexport type RequestOTPResponse = typeof requestOTPResponse.infer;\nexport type VerifyOTPRequest = typeof verifyOTPRequest.infer;\nexport type ResendOTPRequest = typeof resendOTPRequest.infer;\n\n// Login types\nexport type LoginResponseData = typeof loginResponseData.infer;\nexport type LoginResponse = typeof loginResponse.infer;\n\n// Current user types\nexport type CurrentUserResponseData = typeof currentUserResponseData.infer;\nexport type CurrentUserResponse = typeof currentUserResponse.infer;\n\n// Token types\nexport type RefreshTokenRequest = typeof refreshTokenRequest.infer;\nexport type TokenInfo = typeof tokenInfo.infer;\nexport type JwtPayload = typeof jwtPayload.infer;\n\n// RBAC types\nexport type Permission = typeof permission.infer;\nexport type Role = typeof role.infer;\nexport type PermissionCheck = typeof permissionCheck.infer;\n\n// Session management types\nexport type LogoutRequest = typeof logoutRequest.infer;\nexport type RevokeSessionRequest = typeof revokeSessionRequest.infer;\nexport type RevokeAllSessionsRequest = typeof revokeAllSessionsRequest.infer;\nexport type RevokeAllSessionsResponse = typeof revokeAllSessionsResponse.infer;\n\n// Email verification types\nexport type SendVerificationEmailRequest = typeof sendVerificationEmailRequest.infer;\nexport type VerifyEmailRequest = typeof verifyEmailRequest.infer;\nexport type CheckVerificationStatusRequest = typeof checkVerificationStatusRequest.infer;\nexport type CheckVerificationStatusResponse = typeof checkVerificationStatusResponse.infer;\n\n// CSRF types\nexport type CSRFTokenRequest = typeof csrfTokenRequest.infer;\n\n// Config types\nexport type SessionConfig = typeof sessionConfig.infer;\nexport type JwtConfig = typeof jwtConfig.infer;\nexport type CookieConfig = typeof cookieConfig.infer;\nexport type CsrfConfig = typeof csrfConfig.infer;\nexport type RateLimitConfig = typeof rateLimitConfig.infer;\nexport type LockoutConfig = typeof lockoutConfig.infer;\nexport type SecurityConfig = typeof securityConfig.infer;\nexport type TenantConfig = typeof tenantConfig.infer;\nexport type OAuthProviderConfig = typeof oauthProviderConfig.infer;\nexport type OtpEmailConfig = typeof otpEmailConfig.infer;\nexport type OtpSmsConfig = typeof otpSmsConfig.infer;\nexport type OtpConfig = typeof otpConfig.infer;\nexport type MagicLinkConfig = typeof magicLinkConfig.infer;\nexport type TotpConfig = typeof totpConfig.infer;\nexport type WebAuthnConfig = typeof webauthnConfig.infer;\nexport type PasswordConfig = typeof passwordConfig.infer;\nexport type OAuthProvidersConfig = typeof oauthProvidersConfig.infer;\nexport type ProvidersConfig = typeof providersConfig.infer;\nexport type StorageConfig = typeof storageConfig.infer;\nexport type ParsAuthConfig = typeof parsAuthConfig.infer;\n","/**\n * @parsrun/types - Tenant Schemas\n * Multi-tenant related validation schemas\n */\n\nimport { type } from \"arktype\";\nimport { status, timestamp, uuid } from \"./common\";\n\n// ============================================================================\n// Tenant Schemas\n// ============================================================================\n\n/** Tenant entity */\nexport const tenant = type({\n id: uuid,\n name: \"string >= 1\",\n \"slug?\": \"string\",\n \"description?\": \"string\",\n status,\n \"settings?\": \"object\",\n \"metadata?\": \"object\",\n \"logoUrl?\": \"string\",\n \"primaryColor?\": \"string\",\n \"timezone?\": \"string\",\n \"locale?\": \"string\",\n \"currency?\": \"string\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n \"deletedAt?\": timestamp,\n});\n\n/** Tenant creation request */\nexport const createTenantRequest = type({\n name: \"string >= 1\",\n \"slug?\": \"string\",\n \"description?\": \"string\",\n \"settings?\": \"object\",\n \"logoUrl?\": \"string\",\n \"primaryColor?\": \"string\",\n \"timezone?\": \"string\",\n \"locale?\": \"string\",\n \"currency?\": \"string\",\n});\n\n/** Tenant update request */\nexport const updateTenantRequest = type({\n \"name?\": \"string >= 1\",\n \"slug?\": \"string\",\n \"description?\": \"string\",\n \"settings?\": \"object\",\n \"logoUrl?\": \"string\",\n \"primaryColor?\": \"string\",\n \"timezone?\": \"string\",\n \"locale?\": \"string\",\n \"currency?\": \"string\",\n \"status?\": status,\n});\n\n/** Tenant invite request */\nexport const inviteTenantMemberRequest = type({\n email: \"string.email\",\n roleId: uuid,\n \"accessLevel?\": \"'full' | 'limited' | 'read_only'\",\n \"expiresAt?\": timestamp,\n \"message?\": \"string\",\n});\n\n/** Tenant member list query */\nexport const tenantMemberListQuery = type({\n \"page?\": \"number >= 1\",\n \"limit?\": \"number >= 1\",\n \"status?\": \"'active' | 'inactive' | 'invited' | 'suspended'\",\n \"roleId?\": uuid,\n \"search?\": \"string\",\n});\n\n/** Tenant switch request */\nexport const switchTenantRequest = type({\n tenantId: uuid,\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\nexport type Tenant = typeof tenant.infer;\nexport type CreateTenantRequest = typeof createTenantRequest.infer;\nexport type UpdateTenantRequest = typeof updateTenantRequest.infer;\nexport type InviteTenantMemberRequest = typeof inviteTenantMemberRequest.infer;\nexport type TenantMemberListQuery = typeof tenantMemberListQuery.infer;\nexport type SwitchTenantRequest = typeof switchTenantRequest.infer;\n","/**\n * @parsrun/types - Email Schemas\n * Email service validation schemas\n */\n\nimport { type } from \"arktype\";\n\n// ============================================================================\n// Email Address Schemas\n// ============================================================================\n\n/** Email address with optional name */\nexport const emailAddress = type({\n email: \"string.email\",\n \"name?\": \"string\",\n});\n\n/** Simple email string or address object */\nexport const emailRecipient = type(\"string.email | object\");\n\n// ============================================================================\n// Email Content Schemas\n// ============================================================================\n\n/** Email attachment */\nexport const emailAttachment = type({\n filename: \"string >= 1\",\n content: \"string | object\",\n \"contentType?\": \"string\",\n \"encoding?\": \"'base64' | 'utf-8' | 'binary'\",\n \"contentId?\": \"string\",\n \"disposition?\": \"'attachment' | 'inline'\",\n});\n\n/** Email options */\nexport const sendEmailOptions = type({\n to: \"string.email | string.email[] | object | object[]\",\n \"cc?\": \"string.email | string.email[] | object | object[]\",\n \"bcc?\": \"string.email | string.email[] | object | object[]\",\n \"from?\": \"string.email | object\",\n \"replyTo?\": \"string.email | object\",\n subject: \"string >= 1\",\n \"text?\": \"string\",\n \"html?\": \"string\",\n \"attachments?\": emailAttachment.array(),\n \"headers?\": \"object\",\n \"priority?\": \"'high' | 'normal' | 'low'\",\n \"tags?\": \"string[]\",\n \"metadata?\": \"object\",\n});\n\n/** Templated email options */\nexport const sendTemplateEmailOptions = type({\n to: \"string.email | string.email[] | object | object[]\",\n \"cc?\": \"string.email | string.email[] | object | object[]\",\n \"bcc?\": \"string.email | string.email[] | object | object[]\",\n \"from?\": \"string.email | object\",\n \"replyTo?\": \"string.email | object\",\n template: \"string >= 1\",\n \"data?\": \"object\",\n \"attachments?\": emailAttachment.array(),\n \"headers?\": \"object\",\n \"priority?\": \"'high' | 'normal' | 'low'\",\n \"tags?\": \"string[]\",\n \"metadata?\": \"object\",\n});\n\n/** Email send result */\nexport const emailSendResult = type({\n success: \"boolean\",\n messageId: \"string\",\n \"accepted?\": \"string[]\",\n \"rejected?\": \"string[]\",\n \"pending?\": \"string[]\",\n});\n\n// ============================================================================\n// Email Provider Config Schemas\n// ============================================================================\n\n/** SMTP config */\nexport const smtpConfig = type({\n host: \"string >= 1\",\n port: \"number > 0\",\n \"secure?\": \"boolean\",\n \"auth?\": {\n user: \"string\",\n pass: \"string\",\n },\n \"tls?\": \"object\",\n});\n\n/** Resend config */\nexport const resendConfig = type({\n apiKey: \"string >= 1\",\n \"domain?\": \"string\",\n});\n\n/** SendGrid config */\nexport const sendgridConfig = type({\n apiKey: \"string >= 1\",\n});\n\n/** AWS SES config */\nexport const sesConfig = type({\n region: \"string >= 1\",\n \"accessKeyId?\": \"string\",\n \"secretAccessKey?\": \"string\",\n \"endpoint?\": \"string\",\n});\n\n/** Postmark config */\nexport const postmarkConfig = type({\n serverToken: \"string >= 1\",\n});\n\n/** Email provider config */\nexport const emailConfig = type({\n provider: \"'smtp' | 'resend' | 'sendgrid' | 'ses' | 'postmark' | 'mailgun'\",\n \"from?\": \"string.email | object\",\n \"replyTo?\": \"string.email | object\",\n \"smtp?\": smtpConfig,\n \"resend?\": resendConfig,\n \"sendgrid?\": sendgridConfig,\n \"ses?\": sesConfig,\n \"postmark?\": postmarkConfig,\n \"templates?\": \"object\",\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\nexport type EmailAddress = typeof emailAddress.infer;\nexport type EmailRecipient = typeof emailRecipient.infer;\nexport type EmailAttachment = typeof emailAttachment.infer;\nexport type SendEmailOptions = typeof sendEmailOptions.infer;\nexport type SendTemplateEmailOptions = typeof sendTemplateEmailOptions.infer;\nexport type EmailSendResult = typeof emailSendResult.infer;\nexport type SmtpConfig = typeof smtpConfig.infer;\nexport type ResendConfig = typeof resendConfig.infer;\nexport type SendgridConfig = typeof sendgridConfig.infer;\nexport type SesConfig = typeof sesConfig.infer;\nexport type PostmarkConfig = typeof postmarkConfig.infer;\nexport type EmailConfig = typeof emailConfig.infer;\n","/**\n * @parsrun/types - Storage Schemas\n * File storage validation schemas\n */\n\nimport { type } from \"arktype\";\nimport { timestamp, uuid } from \"./common\";\n\n// ============================================================================\n// File Schemas\n// ============================================================================\n\n/** File metadata */\nexport const fileMetadata = type({\n id: uuid,\n filename: \"string >= 1\",\n originalName: \"string >= 1\",\n mimeType: \"string\",\n size: \"number >= 0\",\n \"path?\": \"string\",\n \"url?\": \"string\",\n bucket: \"string\",\n \"etag?\": \"string\",\n \"metadata?\": \"object\",\n \"uploadedBy?\": uuid,\n \"tenantId?\": uuid,\n insertedAt: timestamp,\n updatedAt: timestamp,\n \"deletedAt?\": timestamp,\n});\n\n/** Upload options */\nexport const uploadOptions = type({\n \"path?\": \"string\",\n \"filename?\": \"string\",\n \"contentType?\": \"string\",\n \"metadata?\": \"object\",\n \"acl?\": \"'private' | 'public-read' | 'authenticated-read'\",\n \"cacheControl?\": \"string\",\n \"contentDisposition?\": \"string\",\n});\n\n/** Signed URL options */\nexport const signedUrlOptions = type({\n \"expiresIn?\": \"number > 0\",\n \"method?\": \"'GET' | 'PUT'\",\n \"contentType?\": \"string\",\n \"responseContentType?\": \"string\",\n \"responseContentDisposition?\": \"string\",\n});\n\n/** List files options */\nexport const listFilesOptions = type({\n \"prefix?\": \"string\",\n \"limit?\": \"number >= 1\",\n \"cursor?\": \"string\",\n \"delimiter?\": \"string\",\n});\n\n/** List files result */\nexport const listFilesResult = type({\n files: fileMetadata.array(),\n \"nextCursor?\": \"string\",\n hasMore: \"boolean\",\n});\n\n// ============================================================================\n// Storage Provider Config Schemas\n// ============================================================================\n\n/** Local storage config */\nexport const localStorageConfig = type({\n basePath: \"string >= 1\",\n \"baseUrl?\": \"string\",\n \"permissions?\": \"number\",\n});\n\n/** S3 storage config */\nexport const s3StorageConfig = type({\n bucket: \"string >= 1\",\n region: \"string >= 1\",\n \"endpoint?\": \"string\",\n \"accessKeyId?\": \"string\",\n \"secretAccessKey?\": \"string\",\n \"forcePathStyle?\": \"boolean\",\n \"acl?\": \"'private' | 'public-read' | 'authenticated-read'\",\n});\n\n/** Cloudflare R2 config */\nexport const r2StorageConfig = type({\n accountId: \"string >= 1\",\n bucket: \"string >= 1\",\n accessKeyId: \"string >= 1\",\n secretAccessKey: \"string >= 1\",\n \"publicUrl?\": \"string\",\n});\n\n/** GCS config */\nexport const gcsStorageConfig = type({\n bucket: \"string >= 1\",\n \"projectId?\": \"string\",\n \"credentials?\": \"object\",\n \"keyFilename?\": \"string\",\n});\n\n/** Storage config */\nexport const storageProviderConfig = type({\n provider: \"'local' | 's3' | 'r2' | 'gcs' | 'azure'\",\n \"defaultBucket?\": \"string\",\n \"local?\": localStorageConfig,\n \"s3?\": s3StorageConfig,\n \"r2?\": r2StorageConfig,\n \"gcs?\": gcsStorageConfig,\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\nexport type FileMetadata = typeof fileMetadata.infer;\nexport type UploadOptions = typeof uploadOptions.infer;\nexport type SignedUrlOptions = typeof signedUrlOptions.infer;\nexport type ListFilesOptions = typeof listFilesOptions.infer;\nexport type ListFilesResult = typeof listFilesResult.infer;\nexport type LocalStorageConfig = typeof localStorageConfig.infer;\nexport type S3StorageConfig = typeof s3StorageConfig.infer;\nexport type R2StorageConfig = typeof r2StorageConfig.infer;\nexport type GcsStorageConfig = typeof gcsStorageConfig.infer;\nexport type StorageProviderConfig = typeof storageProviderConfig.infer;\n","/**\n * @parsrun/types - Queue Schemas\n * Job queue validation schemas\n */\n\nimport { type } from \"arktype\";\nimport { timestamp, uuid } from \"./common\";\n\n// ============================================================================\n// Job Schemas\n// ============================================================================\n\n/** Job status */\nexport const jobStatus = type(\n \"'pending' | 'active' | 'completed' | 'failed' | 'delayed' | 'paused'\"\n);\n\n/** Job entity */\nexport const job = type({\n id: uuid,\n queue: \"string >= 1\",\n name: \"string >= 1\",\n data: \"unknown\",\n \"result?\": \"unknown\",\n \"error?\": \"string\",\n status: jobStatus,\n attempts: \"number >= 0\",\n maxAttempts: \"number >= 1\",\n \"priority?\": \"number\",\n \"delay?\": \"number >= 0\",\n \"progress?\": \"number >= 0\",\n \"startedAt?\": timestamp,\n \"completedAt?\": timestamp,\n \"failedAt?\": timestamp,\n \"processedBy?\": \"string\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n});\n\n/** Job options */\nexport const jobOptions = type({\n \"priority?\": \"number\",\n \"delay?\": \"number >= 0\",\n \"attempts?\": \"number >= 1\",\n \"backoff?\": {\n type: \"'fixed' | 'exponential'\",\n \"delay?\": \"number >= 0\",\n },\n \"timeout?\": \"number > 0\",\n \"removeOnComplete?\": \"boolean | number\",\n \"removeOnFail?\": \"boolean | number\",\n \"repeat?\": {\n \"pattern?\": \"string\",\n \"every?\": \"number > 0\",\n \"limit?\": \"number >= 1\",\n \"tz?\": \"string\",\n },\n});\n\n/** Add job request */\nexport const addJobRequest = type({\n name: \"string >= 1\",\n data: \"unknown\",\n \"options?\": jobOptions,\n});\n\n/** Job progress update */\nexport const jobProgressUpdate = type({\n progress: \"number >= 0\",\n \"message?\": \"string\",\n \"data?\": \"unknown\",\n});\n\n// ============================================================================\n// Queue Stats Schemas\n// ============================================================================\n\n/** Queue stats */\nexport const queueStats = type({\n name: \"string\",\n pending: \"number >= 0\",\n active: \"number >= 0\",\n completed: \"number >= 0\",\n failed: \"number >= 0\",\n delayed: \"number >= 0\",\n paused: \"boolean\",\n});\n\n/** Queue list options */\nexport const queueListOptions = type({\n \"status?\": jobStatus,\n \"start?\": \"number >= 0\",\n \"end?\": \"number\",\n \"order?\": \"'asc' | 'desc'\",\n});\n\n// ============================================================================\n// Queue Config Schemas\n// ============================================================================\n\n/** Redis queue config */\nexport const redisQueueConfig = type({\n \"host?\": \"string\",\n \"port?\": \"number > 0\",\n \"password?\": \"string\",\n \"db?\": \"number >= 0\",\n \"url?\": \"string\",\n \"tls?\": \"boolean | object\",\n});\n\n/** Queue worker options */\nexport const workerOptions = type({\n \"concurrency?\": \"number >= 1\",\n \"limiter?\": {\n max: \"number >= 1\",\n duration: \"number > 0\",\n },\n \"lockDuration?\": \"number > 0\",\n \"lockRenewTime?\": \"number > 0\",\n \"stalledInterval?\": \"number > 0\",\n \"maxStalledCount?\": \"number >= 0\",\n});\n\n/** Queue config */\nexport const queueConfig = type({\n provider: \"'bullmq' | 'sqs' | 'rabbitmq' | 'memory'\",\n \"defaultJobOptions?\": jobOptions,\n \"redis?\": redisQueueConfig,\n \"prefix?\": \"string\",\n \"worker?\": workerOptions,\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\nexport type JobStatus = typeof jobStatus.infer;\nexport type Job = typeof job.infer;\nexport type JobOptions = typeof jobOptions.infer;\nexport type AddJobRequest = typeof addJobRequest.infer;\nexport type JobProgressUpdate = typeof jobProgressUpdate.infer;\nexport type QueueStats = typeof queueStats.infer;\nexport type QueueListOptions = typeof queueListOptions.infer;\nexport type RedisQueueConfig = typeof redisQueueConfig.infer;\nexport type WorkerOptions = typeof workerOptions.infer;\nexport type QueueConfig = typeof queueConfig.infer;\n","/**\n * @parsrun/types - Cache Schemas\n * Caching validation schemas\n */\n\nimport { type } from \"arktype\";\n\n// ============================================================================\n// Cache Operation Schemas\n// ============================================================================\n\n/** Cache set options */\nexport const cacheSetOptions = type({\n \"ttl?\": \"number > 0\",\n \"tags?\": \"string[]\",\n \"metadata?\": \"object\",\n});\n\n/** Cache get result */\nexport const cacheGetResult = type({\n value: \"unknown\",\n \"ttl?\": \"number\",\n \"createdAt?\": \"number\",\n \"tags?\": \"string[]\",\n});\n\n/** Cache stats */\nexport const cacheStats = type({\n hits: \"number >= 0\",\n misses: \"number >= 0\",\n keys: \"number >= 0\",\n \"memory?\": \"number >= 0\",\n});\n\n// ============================================================================\n// Cache Config Schemas\n// ============================================================================\n\n/** Memory cache config */\nexport const memoryCacheConfig = type({\n \"maxSize?\": \"number > 0\",\n \"ttl?\": \"number > 0\",\n \"checkInterval?\": \"number > 0\",\n \"stale?\": \"boolean\",\n});\n\n/** Redis cache config */\nexport const redisCacheConfig = type({\n \"host?\": \"string\",\n \"port?\": \"number > 0\",\n \"password?\": \"string\",\n \"db?\": \"number >= 0\",\n \"url?\": \"string\",\n \"tls?\": \"boolean | object\",\n \"keyPrefix?\": \"string\",\n \"ttl?\": \"number > 0\",\n});\n\n/** Upstash cache config */\nexport const upstashCacheConfig = type({\n url: \"string >= 1\",\n token: \"string >= 1\",\n \"keyPrefix?\": \"string\",\n \"ttl?\": \"number > 0\",\n});\n\n/** Cloudflare KV config */\nexport const cloudflareKvConfig = type({\n namespaceId: \"string >= 1\",\n \"accountId?\": \"string\",\n \"apiToken?\": \"string\",\n \"keyPrefix?\": \"string\",\n});\n\n/** Multi-tier cache config */\nexport const multiTierCacheConfig = type({\n tiers: type({\n type: \"'memory' | 'redis' | 'upstash' | 'cloudflare-kv'\",\n \"priority?\": \"number\",\n \"ttl?\": \"number > 0\",\n \"config?\": \"object\",\n }).array(),\n \"writeThrough?\": \"boolean\",\n \"readThrough?\": \"boolean\",\n});\n\n/** Cache config */\nexport const cacheConfig = type({\n provider: \"'memory' | 'redis' | 'upstash' | 'cloudflare-kv' | 'multi-tier'\",\n \"ttl?\": \"number > 0\",\n \"keyPrefix?\": \"string\",\n \"memory?\": memoryCacheConfig,\n \"redis?\": redisCacheConfig,\n \"upstash?\": upstashCacheConfig,\n \"cloudflareKv?\": cloudflareKvConfig,\n \"multiTier?\": multiTierCacheConfig,\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\nexport type CacheSetOptions = typeof cacheSetOptions.infer;\nexport type CacheGetResult = typeof cacheGetResult.infer;\nexport type CacheStats = typeof cacheStats.infer;\nexport type MemoryCacheConfig = typeof memoryCacheConfig.infer;\nexport type RedisCacheConfig = typeof redisCacheConfig.infer;\nexport type UpstashCacheConfig = typeof upstashCacheConfig.infer;\nexport type CloudflareKvConfig = typeof cloudflareKvConfig.infer;\nexport type MultiTierCacheConfig = typeof multiTierCacheConfig.infer;\nexport type CacheConfig = typeof cacheConfig.infer;\n","/**\n * @parsrun/types - Payments Schemas\n * Payment provider validation schemas\n */\n\nimport { type } from \"arktype\";\nimport { timestamp, uuid } from \"./common\";\n\n// ============================================================================\n// Currency & Amount Schemas\n// ============================================================================\n\n/** Currency code (ISO 4217) */\nexport const currencyCode = type(\"string >= 3\");\n\n/** Money amount with currency */\nexport const money = type({\n amount: \"number\",\n currency: currencyCode,\n});\n\n// ============================================================================\n// Customer Schemas\n// ============================================================================\n\n/** Payment customer */\nexport const paymentCustomer = type({\n id: uuid,\n \"externalId?\": \"string\",\n email: \"string.email\",\n \"name?\": \"string\",\n \"phone?\": \"string\",\n \"metadata?\": \"object\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n});\n\n/** Create customer request */\nexport const createCustomerRequest = type({\n email: \"string.email\",\n \"name?\": \"string\",\n \"phone?\": \"string\",\n \"metadata?\": \"object\",\n});\n\n// ============================================================================\n// Payment Method Schemas\n// ============================================================================\n\n/** Card details */\nexport const cardDetails = type({\n brand: \"string\",\n last4: \"string\",\n expMonth: \"number >= 1\",\n expYear: \"number >= 2000\",\n \"fingerprint?\": \"string\",\n});\n\n/** Payment method */\nexport const paymentMethod = type({\n id: uuid,\n \"externalId?\": \"string\",\n customerId: uuid,\n type: \"'card' | 'bank_account' | 'paypal' | 'crypto' | 'other'\",\n \"card?\": cardDetails,\n isDefault: \"boolean\",\n \"metadata?\": \"object\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n});\n\n// ============================================================================\n// Payment Intent Schemas\n// ============================================================================\n\n/** Payment intent status */\nexport const paymentIntentStatus = type(\n \"'created' | 'processing' | 'requires_action' | 'succeeded' | 'failed' | 'canceled'\"\n);\n\n/** Payment intent */\nexport const paymentIntent = type({\n id: uuid,\n \"externalId?\": \"string\",\n customerId: uuid,\n \"paymentMethodId?\": uuid,\n amount: \"number > 0\",\n currency: currencyCode,\n status: paymentIntentStatus,\n \"description?\": \"string\",\n \"metadata?\": \"object\",\n \"clientSecret?\": \"string\",\n \"failureReason?\": \"string\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n});\n\n/** Create payment intent request */\nexport const createPaymentIntentRequest = type({\n customerId: uuid,\n amount: \"number > 0\",\n currency: currencyCode,\n \"paymentMethodId?\": uuid,\n \"description?\": \"string\",\n \"metadata?\": \"object\",\n \"confirm?\": \"boolean\",\n \"returnUrl?\": \"string\",\n});\n\n// ============================================================================\n// Subscription Schemas\n// ============================================================================\n\n/** Subscription status */\nexport const subscriptionStatus = type(\n \"'active' | 'past_due' | 'canceled' | 'incomplete' | 'incomplete_expired' | 'trialing' | 'paused'\"\n);\n\n/** Price interval */\nexport const priceInterval = type(\"'day' | 'week' | 'month' | 'year'\");\n\n/** Price */\nexport const price = type({\n id: uuid,\n \"externalId?\": \"string\",\n productId: uuid,\n amount: \"number >= 0\",\n currency: currencyCode,\n interval: priceInterval,\n \"intervalCount?\": \"number >= 1\",\n \"trialDays?\": \"number >= 0\",\n isActive: \"boolean\",\n \"metadata?\": \"object\",\n});\n\n/** Subscription */\nexport const subscription = type({\n id: uuid,\n \"externalId?\": \"string\",\n customerId: uuid,\n priceId: uuid,\n status: subscriptionStatus,\n currentPeriodStart: timestamp,\n currentPeriodEnd: timestamp,\n \"cancelAt?\": timestamp,\n \"canceledAt?\": timestamp,\n \"trialStart?\": timestamp,\n \"trialEnd?\": timestamp,\n \"metadata?\": \"object\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n});\n\n/** Create subscription request */\nexport const createSubscriptionRequest = type({\n customerId: uuid,\n priceId: uuid,\n \"paymentMethodId?\": uuid,\n \"trialDays?\": \"number >= 0\",\n \"metadata?\": \"object\",\n});\n\n// ============================================================================\n// Refund Schemas\n// ============================================================================\n\n/** Refund status */\nexport const refundStatus = type(\"'pending' | 'succeeded' | 'failed' | 'canceled'\");\n\n/** Refund */\nexport const refund = type({\n id: uuid,\n \"externalId?\": \"string\",\n paymentIntentId: uuid,\n amount: \"number > 0\",\n currency: currencyCode,\n status: refundStatus,\n \"reason?\": \"string\",\n \"metadata?\": \"object\",\n insertedAt: timestamp,\n updatedAt: timestamp,\n});\n\n/** Create refund request */\nexport const createRefundRequest = type({\n paymentIntentId: uuid,\n \"amount?\": \"number > 0\",\n \"reason?\": \"string\",\n \"metadata?\": \"object\",\n});\n\n// ============================================================================\n// Webhook Schemas\n// ============================================================================\n\n/** Webhook event types */\nexport const webhookEventType = type(\n \"'payment.succeeded' | 'payment.failed' | 'subscription.created' | 'subscription.updated' | 'subscription.canceled' | 'refund.created' | 'customer.created' | 'customer.updated'\"\n);\n\n/** Webhook event */\nexport const webhookEvent = type({\n id: uuid,\n type: webhookEventType,\n data: \"object\",\n \"livemode?\": \"boolean\",\n \"apiVersion?\": \"string\",\n createdAt: timestamp,\n});\n\n// ============================================================================\n// Provider Config Schemas\n// ============================================================================\n\n/** Stripe config */\nexport const stripeConfig = type({\n secretKey: \"string >= 1\",\n \"publishableKey?\": \"string\",\n \"webhookSecret?\": \"string\",\n \"apiVersion?\": \"string\",\n});\n\n/** Paddle config */\nexport const paddleConfig = type({\n vendorId: \"string >= 1\",\n vendorAuthCode: \"string >= 1\",\n \"publicKey?\": \"string\",\n \"webhookSecret?\": \"string\",\n \"sandbox?\": \"boolean\",\n});\n\n/** iyzico config */\nexport const iyzicoConfig = type({\n apiKey: \"string >= 1\",\n secretKey: \"string >= 1\",\n baseUrl: \"string >= 1\",\n \"sandbox?\": \"boolean\",\n});\n\n/** Payments config */\nexport const paymentsConfig = type({\n provider: \"'stripe' | 'paddle' | 'iyzico'\",\n \"currency?\": currencyCode,\n \"stripe?\": stripeConfig,\n \"paddle?\": paddleConfig,\n \"iyzico?\": iyzicoConfig,\n \"webhookPath?\": \"string\",\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\nexport type CurrencyCode = typeof currencyCode.infer;\nexport type Money = typeof money.infer;\nexport type PaymentCustomer = typeof paymentCustomer.infer;\nexport type CreateCustomerRequest = typeof createCustomerRequest.infer;\nexport type CardDetails = typeof cardDetails.infer;\nexport type PaymentMethod = typeof paymentMethod.infer;\nexport type PaymentIntentStatus = typeof paymentIntentStatus.infer;\nexport type PaymentIntent = typeof paymentIntent.infer;\nexport type CreatePaymentIntentRequest = typeof createPaymentIntentRequest.infer;\nexport type SubscriptionStatus = typeof subscriptionStatus.infer;\nexport type PriceInterval = typeof priceInterval.infer;\nexport type Price = typeof price.infer;\nexport type Subscription = typeof subscription.infer;\nexport type CreateSubscriptionRequest = typeof createSubscriptionRequest.infer;\nexport type RefundStatus = typeof refundStatus.infer;\nexport type Refund = typeof refund.infer;\nexport type CreateRefundRequest = typeof createRefundRequest.infer;\nexport type WebhookEventType = typeof webhookEventType.infer;\nexport type WebhookEvent = typeof webhookEvent.infer;\nexport type StripeConfig = typeof stripeConfig.infer;\nexport type PaddleConfig = typeof paddleConfig.infer;\nexport type IyzicoConfig = typeof iyzicoConfig.infer;\nexport type PaymentsConfig = typeof paymentsConfig.infer;\n","/**\n * @parsrun/types - Server Schemas\n * HTTP server validation schemas\n */\n\nimport { type } from \"arktype\";\nimport { uuid } from \"./common\";\n\n// ============================================================================\n// Request Validation Schemas\n// ============================================================================\n\n/** UUID path parameter */\nexport const uuidParam = type({\n id: uuid,\n});\n\n/** Standard pagination query */\nexport const paginationQuery = type({\n \"page?\": \"string\",\n \"limit?\": \"string\",\n \"orderBy?\": \"string\",\n \"orderDirection?\": \"'asc' | 'desc'\",\n});\n\n/** Cursor pagination query */\nexport const cursorPaginationQuery = type({\n \"cursor?\": \"string\",\n \"limit?\": \"string\",\n \"direction?\": \"'forward' | 'backward'\",\n});\n\n/** Search query */\nexport const searchQuery = type({\n \"q?\": \"string\",\n \"search?\": \"string\",\n \"filter?\": \"string\",\n});\n\n/** Date range query */\nexport const dateRangeQuery = type({\n \"startDate?\": \"string.date.iso\",\n \"endDate?\": \"string.date.iso\",\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n/** Health check response */\nexport const healthResponse = type({\n status: \"'healthy' | 'degraded' | 'unhealthy'\",\n timestamp: \"string\",\n \"version?\": \"string\",\n \"uptime?\": \"number\",\n checks: type({\n name: \"string\",\n status: \"'healthy' | 'degraded' | 'unhealthy'\",\n \"message?\": \"string\",\n \"latency?\": \"number\",\n }).array(),\n});\n\n/** API info response */\nexport const apiInfoResponse = type({\n name: \"string\",\n version: \"string\",\n \"description?\": \"string\",\n \"environment?\": \"string\",\n \"documentation?\": \"string\",\n});\n\n// ============================================================================\n// Server Config Schemas\n// ============================================================================\n\n/** CORS config */\nexport const corsConfig = type({\n \"origin?\": \"string | string[] | boolean | Function\",\n \"methods?\": \"string[]\",\n \"allowedHeaders?\": \"string[]\",\n \"exposedHeaders?\": \"string[]\",\n \"credentials?\": \"boolean\",\n \"maxAge?\": \"number\",\n});\n\n/** Server rate limit config */\nexport const serverRateLimitConfig = type({\n \"enabled?\": \"boolean\",\n \"windowMs?\": \"number > 0\",\n \"max?\": \"number > 0\",\n \"keyGenerator?\": \"Function\",\n \"skip?\": \"Function\",\n \"message?\": \"string\",\n});\n\n/** Logger config */\nexport const loggerConfig = type({\n \"level?\": \"'debug' | 'info' | 'warn' | 'error'\",\n \"format?\": \"'json' | 'pretty' | 'combined' | 'short'\",\n \"redact?\": \"string[]\",\n \"timestamp?\": \"boolean\",\n});\n\n/** Server config */\nexport const serverConfig = type({\n \"port?\": \"number > 0\",\n \"host?\": \"string\",\n \"basePath?\": \"string\",\n \"cors?\": corsConfig,\n \"rateLimit?\": serverRateLimitConfig,\n \"logger?\": loggerConfig,\n \"trustProxy?\": \"boolean\",\n \"strictRouting?\": \"boolean\",\n \"caseSensitiveRouting?\": \"boolean\",\n});\n\n// ============================================================================\n// Middleware Context Schemas\n// ============================================================================\n\n/** Auth context (after auth middleware) */\nexport const authContext = type({\n userId: uuid,\n \"tenantId?\": uuid,\n \"sessionId?\": uuid,\n \"roles?\": \"string[]\",\n \"permissions?\": \"string[]\",\n});\n\n/** Request context */\nexport const requestContext = type({\n requestId: \"string\",\n \"startTime?\": \"number\",\n \"ip?\": \"string\",\n \"userAgent?\": \"string\",\n \"auth?\": authContext,\n});\n\n// ============================================================================\n// Type Exports\n// ============================================================================\n\nexport type UuidParam = typeof uuidParam.infer;\nexport type PaginationQuery = typeof paginationQuery.infer;\nexport type CursorPaginationQuery = typeof cursorPaginationQuery.infer;\nexport type SearchQuery = typeof searchQuery.infer;\nexport type DateRangeQuery = typeof dateRangeQuery.infer;\nexport type HealthResponse = typeof healthResponse.infer;\nexport type ApiInfoResponse = typeof apiInfoResponse.infer;\nexport type CorsConfig = typeof corsConfig.infer;\nexport type ServerRateLimitConfig = typeof serverRateLimitConfig.infer;\nexport type LoggerConfig = typeof loggerConfig.infer;\nexport type ServerConfig = typeof serverConfig.infer;\nexport type AuthContext = typeof authContext.infer;\nexport type RequestContext = typeof requestContext.infer;\n","/**\n * @parsrun/types\n * Core types and validation schemas for Pars framework\n *\n * Uses ArkType for runtime validation + type inference\n *\n * @example\n * ```typescript\n * import { user, User, validateWithSchema } from '@parsrun/types';\n *\n * // Runtime validation\n * const result = user(data);\n * if (result instanceof type.errors) {\n * console.error(result.summary);\n * }\n *\n * // Type inference\n * const userData: User = result;\n * ```\n */\n\n// Re-export ArkType for convenience\nexport { type } from \"arktype\";\nexport type { Type } from \"arktype\";\n\n// ============================================================================\n// Common Schemas & Types\n// ============================================================================\nexport * from \"./common\";\n\n// ============================================================================\n// Auth Schemas & Types\n// ============================================================================\nexport * from \"./auth\";\n\n// ============================================================================\n// Tenant Schemas & Types\n// ============================================================================\nexport * from \"./tenant\";\n\n// ============================================================================\n// Email Schemas & Types\n// ============================================================================\nexport * from \"./email\";\n\n// ============================================================================\n// Storage Schemas & Types\n// ============================================================================\nexport * from \"./storage\";\n\n// ============================================================================\n// Queue Schemas & Types\n// ============================================================================\nexport * from \"./queue\";\n\n// ============================================================================\n// Cache Schemas & Types\n// ============================================================================\nexport * from \"./cache\";\n\n// ============================================================================\n// Payments Schemas & Types\n// ============================================================================\nexport * from \"./payments\";\n\n// ============================================================================\n// Server Schemas & Types\n// ============================================================================\nexport * from \"./server\";\n\n// ============================================================================\n// Validation Helpers\n// ============================================================================\n\nimport { type, type Type } from \"arktype\";\n\n/**\n * Validate data against an ArkType schema\n * Returns the validated data or throws an error\n *\n * @example\n * ```typescript\n * const userData = validateWithSchema(user, input);\n * ```\n */\nexport function validateWithSchema<T extends Type>(\n schema: T,\n data: unknown\n): T[\"infer\"] {\n const result = schema(data);\n\n if (result instanceof type.errors) {\n const errors = result.map((e) => `${String(e.path)}: ${e.message}`).join(\"\\n\");\n throw new Error(`Validation failed:\\n${errors}`);\n }\n\n return result;\n}\n\n/**\n * Safely validate data against an ArkType schema\n * Returns a result object with success/error\n *\n * @example\n * ```typescript\n * const result = safeValidate(user, input);\n * if (result.success) {\n * console.log(result.data);\n * } else {\n * console.error(result.errors);\n * }\n * ```\n */\nexport function safeValidate<T extends Type>(\n schema: T,\n data: unknown\n): { success: true; data: T[\"infer\"] } | { success: false; errors: string[] } {\n const result = schema(data);\n\n if (result instanceof type.errors) {\n return {\n success: false,\n errors: result.map((e) => `${String(e.path)}: ${e.message}`),\n };\n }\n\n return {\n success: true,\n data: result,\n };\n}\n\n/**\n * Check if data matches an ArkType schema (type guard)\n *\n * @example\n * ```typescript\n * if (isValid(user, input)) {\n * // input is typed as User\n * }\n * ```\n */\nexport function isValid<T extends Type>(\n schema: T,\n data: unknown\n): data is T[\"infer\"] {\n const result = schema(data);\n return !(result instanceof type.errors);\n}\n\n/**\n * Format ArkType errors to a user-friendly object\n *\n * @example\n * ```typescript\n * const result = user(input);\n * if (result instanceof type.errors) {\n * const formatted = formatErrors(result);\n * // { email: \"must be a valid email\", ... }\n * }\n * ```\n */\nexport function formatErrors(\n errors: type.errors\n): Record<string, string> {\n const formatted: Record<string, string> = {};\n\n for (const error of errors) {\n const path = String(error.path) || \"root\";\n formatted[path] = error.message;\n }\n\n return formatted;\n}\n"]}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@parsrun/types",
3
+ "version": "0.1.0",
4
+ "description": "Core types and validation schemas for Pars framework",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "README.md"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsup",
20
+ "dev": "tsup --watch",
21
+ "test": "vitest run",
22
+ "test:watch": "vitest",
23
+ "typecheck": "tsc --noEmit",
24
+ "clean": "rm -rf dist node_modules"
25
+ },
26
+ "dependencies": {
27
+ "arktype": "^2.0.0"
28
+ },
29
+ "devDependencies": {
30
+ "tsup": "^8.3.5",
31
+ "typescript": "^5.7.2"
32
+ },
33
+ "keywords": [
34
+ "pars",
35
+ "types",
36
+ "typescript",
37
+ "validation",
38
+ "arktype",
39
+ "schemas"
40
+ ],
41
+ "repository": {
42
+ "type": "git",
43
+ "url": "https://github.com/parsrun/pars",
44
+ "directory": "packages/types"
45
+ },
46
+ "license": "MIT",
47
+ "engines": {
48
+ "node": ">=18.0.0"
49
+ },
50
+ "sideEffects": false
51
+ }