{"version":3,"sources":["../src/utils/errors.ts","../src/validators/validatePayload.ts","../src/envelopes/standard.ts","../src/validators/validateEnvelope.ts","../src/validators/guardFactory.ts","../src/routes/routes.ts","../src/registry/validateResponse.ts","../src/registry/validateRequest.ts","../src/registry/RouteRegistry.ts","../src/types/enums.ts","../src/schemas/auth.ts","../src/schemas/index.ts","../src/fingerprint.ts","../src/utils/headers.ts","../src/index.ts","../src/sdk/index.ts"],"names":["z"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * @fileoverview CON-04 Runtime Validation Errors\n * @description Standardized error classes for validation failures\n * @version 0.18.4\n */\n\n/**\n * Base validation error class for runtime validation failures\n * Extends Error to maintain compatibility with existing error handling\n */\nexport class ValidationError extends Error {\n  public readonly details?: Record<string, any>;\n  public readonly timestamp: string;\n  public readonly code: string;\n\n  constructor(message: string, code: string = 'VALIDATION_ERROR', cause?: Error | unknown, details?: Record<string, any>) {\n    super(message);\n    this.name = 'ValidationError';\n    this.code = code;\n    this.details = details;\n    this.timestamp = new Date().toISOString();\n\n    // Maintain proper stack trace for where our error was thrown (only available on V8)\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, ValidationError);\n    }\n\n    // Handle cause if provided (Node.js 16+ and browsers with Error.cause support)\n    if (cause instanceof Error) {\n      this.cause = cause;\n    }\n  }\n\n  /**\n   * Convert to JSON for logging/serialization\n   */\n  toJSON() {\n    return {\n      name: this.name,\n      code: this.code,\n      message: this.message,\n      details: this.details,\n      timestamp: this.timestamp,\n      stack: this.stack,\n      cause: this.cause instanceof Error ? {\n        name: this.cause.name,\n        message: this.cause.message,\n        stack: this.cause.stack\n      } : this.cause\n    };\n  }\n}\n\n/**\n * Error thrown when payload validation fails\n */\nexport class PayloadValidationError extends ValidationError {\n  constructor(message: string, code?: string, cause?: Error | unknown, details?: Record<string, any>) {\n    super(message, code || 'PAYLOAD_VALIDATION_ERROR', cause, details);\n    this.name = 'PayloadValidationError';\n  }\n}\n\n/**\n * Error thrown when envelope validation fails\n */\nexport class EnvelopeValidationError extends ValidationError {\n  constructor(message: string, code?: string, cause?: Error | unknown, details?: Record<string, any>) {\n    super(message, code || 'ENVELOPE_VALIDATION_ERROR', cause, details);\n    this.name = 'EnvelopeValidationError';\n  }\n}\n\n/**\n * Error thrown when type guard validation fails\n */\nexport class TypeGuardError extends ValidationError {\n  constructor(message: string, code?: string, cause?: Error | unknown, details?: Record<string, any>) {\n    super(message, code || 'TYPE_GUARD_ERROR', cause, details);\n    this.name = 'TypeGuardError';\n  }\n}\n\n/**\n * Error thrown when route validation fails\n */\nexport class RouteValidationError extends ValidationError {\n  constructor(message: string, code?: string, cause?: Error | unknown, details?: Record<string, any>) {\n    super(message, code || 'ROUTE_VALIDATION_ERROR', cause, details);\n    this.name = 'RouteValidationError';\n  }\n}\n","/**\n * @fileoverview CON-04 Runtime Validation - Payload Validation\n * @description Centralized validation function using Zod schemas\n * @version 0.18.4\n */\n\nimport { z, ZodSchema } from \"zod\";\nimport { ValidationError } from \"../utils/errors\";\n\n/**\n * Validates a payload against a Zod schema and returns the parsed result\n * Throws a ValidationError if validation fails\n *\n * @param schema - Zod schema to validate against\n * @param data - Unknown data to validate\n * @returns Parsed and validated data\n * @throws {ValidationError} if validation fails\n *\n * @example\n * ```typescript\n * const userSchema = z.object({\n *   id: z.string(),\n *   email: z.string().email(),\n *   name: z.string()\n * });\n *\n * const userData = { id: \"123\", email: \"user@example.com\", name: \"John\" };\n * const validUser = validatePayload(userSchema, userData);\n * // validUser is now typed as { id: string, email: string, name: string }\n * ```\n */\nexport function validatePayload<T>(\n  schema: ZodSchema<T>,\n  data: unknown\n): T {\n  try {\n    return schema.parse(data);\n  } catch (err) {\n    if (err instanceof z.ZodError) {\n      throw new ValidationError(\n        \"Payload validation failed\",\n        \"PAYLOAD_VALIDATION_ERROR\",\n        err,\n        {\n          zodError: err.format(),\n          schemaName: schema._def?.description || 'Unknown schema'\n        }\n      );\n    }\n\n    throw new ValidationError(\n      \"Payload validation failed with unknown error\",\n      \"PAYLOAD_VALIDATION_ERROR\",\n      err instanceof Error ? err : undefined,\n      {\n        schemaName: schema._def?.description || 'Unknown schema',\n        originalError: err\n      }\n    );\n  }\n}\n\n/**\n * Safely validates a payload and returns a result object\n * Does not throw - useful for optional validation or graceful degradation\n *\n * @param schema - Zod schema to validate against\n * @param data - Unknown data to validate\n * @returns Validation result with success flag and data/error\n *\n * @example\n * ```typescript\n * const result = safeValidatePayload(userSchema, inputData);\n * if (result.success) {\n *   // result.data is properly typed\n *   console.log(result.data.email);\n * } else {\n *   // result.error contains the ZodError\n *   console.error(result.error.format());\n * }\n * ```\n */\nexport function safeValidatePayload<T>(\n  schema: ZodSchema<T>,\n  data: unknown\n): { success: true; data: T } | { success: false; error: z.ZodError } {\n  const result = schema.safeParse(data);\n\n  if (result.success) {\n    return { success: true, data: result.data };\n  }\n\n  return { success: false, error: result.error };\n}\n","/**\n * @fileoverview Standard API Envelope Schemas\n * @description Standardized response envelope schemas for all API endpoints\n * @version 0.18.4\n */\n\nimport { z } from 'zod';\n\n/**\n * Error response schema for consistent error handling\n */\nexport const ErrorEnvelopeSchema = z.object({\n  code: z.string().min(1),\n  message: z.string().min(1),\n  details: z.record(z.any()).optional(),\n  timestamp: z.string().datetime()\n}).strict().describe('Standard error response format');\n\n/**\n * Standard API response envelope schema\n * Used by all endpoints to provide consistent response format\n */\nexport const ApiEnvelopeSchema = z.object({\n  success: z.boolean(),\n  data: z.any().optional(),\n  error: ErrorEnvelopeSchema.optional(),\n  meta: z.record(z.any()).optional()\n}).strict().describe('Standard API response envelope');\n\n/**\n * Enhanced API response envelope with additional metadata\n */\nexport const EnhancedApiEnvelopeSchema = z.object({\n  success: z.boolean(),\n  data: z.any().optional(),\n  error: ErrorEnvelopeSchema.optional(),\n\n  // Standard metadata\n  requestId: z.string(),\n  timestamp: z.string().datetime(),\n\n  // Enhanced metadata (Management improvement #5)\n  meta: z.object({\n    contractsVersion: z.string(),\n    traceId: z.string().optional(),          // Distributed tracing\n    latencyMs: z.number().int().nonnegative().optional(),\n    source: z.string().optional(),           // 'infra-api', 'cache', etc.\n  }).strict().optional()\n}).strict().describe('Enhanced API response envelope with metadata');\n\n// Type exports\nexport type ErrorEnvelope = z.infer<typeof ErrorEnvelopeSchema>;\nexport type ApiEnvelope<T = any> = z.infer<typeof ApiEnvelopeSchema> & { data?: T };\nexport type EnhancedApiEnvelope<T = any> = z.infer<typeof EnhancedApiEnvelopeSchema> & { data?: T };\n","/**\n * @fileoverview CON-04 Runtime Validation - Envelope Validation\n * @description Validation functions for API response envelopes\n * @version 0.18.4\n */\n\nimport { z, ZodSchema } from \"zod\";\nimport { ApiEnvelopeSchema, EnhancedApiEnvelopeSchema, ErrorEnvelopeSchema } from \"../envelopes/standard\";\nimport { EnvelopeValidationError } from \"../utils/errors\";\n\n/**\n * Validates that a response follows the standard API envelope format\n *\n * @param response - Unknown response to validate\n * @throws {EnvelopeValidationError} if response doesn't match envelope format\n *\n * @example\n * ```typescript\n * const response = { success: true, data: { id: \"123\" }, meta: {} };\n * validateStandardEnvelope(response);\n * // Throws if response doesn't match standard envelope format\n * ```\n */\nexport function validateStandardEnvelope(\n  response: unknown\n): asserts response is { success: boolean; data?: any; error?: any; meta?: Record<string, any> } {\n  try {\n    ApiEnvelopeSchema.parse(response);\n  } catch (err) {\n    if (err instanceof z.ZodError) {\n      throw new EnvelopeValidationError(\n        \"Response does not match standard envelope format\",\n        \"ENVELOPE_VALIDATION_ERROR\",\n        err,\n        {\n          zodError: err.format(),\n          expectedSchema: 'ApiEnvelopeSchema'\n        }\n      );\n    }\n\n    throw new EnvelopeValidationError(\n      \"Response validation failed with unknown error\",\n      \"ENVELOPE_VALIDATION_ERROR\",\n      err instanceof Error ? err : undefined,\n      {\n        expectedSchema: 'ApiEnvelopeSchema',\n        originalError: err\n      }\n    );\n  }\n}\n\n/**\n * Validates that a response follows the enhanced API envelope format\n *\n * @param response - Unknown response to validate\n * @throws {EnvelopeValidationError} if response doesn't match enhanced envelope format\n */\nexport function validateEnhancedEnvelope(\n  response: unknown\n): asserts response is {\n  success: boolean;\n  data?: any;\n  error?: any;\n  requestId: string;\n  timestamp: string;\n  meta?: { contractsVersion: string; traceId?: string; latencyMs?: number; source?: string }\n} {\n  try {\n    EnhancedApiEnvelopeSchema.parse(response);\n  } catch (err) {\n    if (err instanceof z.ZodError) {\n      throw new EnvelopeValidationError(\n        \"Response does not match enhanced envelope format\",\n        \"ENVELOPE_VALIDATION_ERROR\",\n        err,\n        {\n          zodError: err.format(),\n          expectedSchema: 'EnhancedApiEnvelopeSchema'\n        }\n      );\n    }\n\n    throw new EnvelopeValidationError(\n      \"Response validation failed with unknown error\",\n      \"ENVELOPE_VALIDATION_ERROR\",\n      err instanceof Error ? err : undefined,\n      {\n        expectedSchema: 'EnhancedApiEnvelopeSchema',\n        originalError: err\n      }\n    );\n  }\n}\n\n/**\n * Creates a combined schema that validates both envelope and data structure\n * This is the primary function for validating API responses with data\n *\n * @param dataSchema - Zod schema for the expected data structure\n * @returns Zod schema that validates envelope + data\n *\n * @example\n * ```typescript\n * const userSchema = z.object({\n *   id: z.string(),\n *   email: z.string().email()\n * });\n *\n * const envelopeWithUser = validateEnvelope(userSchema);\n * const response = {\n *   success: true,\n *   data: { id: \"123\", email: \"user@example.com\" }\n * };\n *\n * const result = envelopeWithUser.parse(response);\n * // result.data is now typed as { id: string, email: string }\n * ```\n */\nexport function validateEnvelope<T>(dataSchema: ZodSchema<T>) {\n  return ApiEnvelopeSchema.extend({\n    data: dataSchema\n  });\n}\n\n\n/**\n * Validates an error response according to the standard error envelope format\n *\n * @param response - Unknown error response to validate\n * @throws {EnvelopeValidationError} if error response doesn't match expected format\n */\nexport function validateErrorEnvelope(\n  response: unknown\n): asserts response is { success: false; error: { code: string; message: string; details?: Record<string, any>; timestamp: string }; meta?: Record<string, any> } {\n  try {\n    const errorEnvelopeSchema = ApiEnvelopeSchema.extend({\n      success: z.literal(false),\n      error: ErrorEnvelopeSchema,\n      data: z.undefined()\n    });\n\n    errorEnvelopeSchema.parse(response);\n  } catch (err) {\n    if (err instanceof z.ZodError) {\n      throw new EnvelopeValidationError(\n        \"Error response does not match expected error envelope format\",\n        \"ENVELOPE_VALIDATION_ERROR\",\n        err,\n        {\n          zodError: err.format(),\n          expectedSchema: 'ErrorEnvelopeSchema'\n        }\n      );\n    }\n\n    throw new EnvelopeValidationError(\n      \"Error response validation failed with unknown error\",\n      \"ENVELOPE_VALIDATION_ERROR\",\n      err instanceof Error ? err : undefined,\n      {\n        expectedSchema: 'ErrorEnvelopeSchema',\n        originalError: err\n      }\n    );\n  }\n}\n\n/**\n * Safely validates an envelope without throwing\n * Useful for graceful error handling\n *\n * @param dataSchema - Zod schema for the expected data structure\n * @param response - Unknown response to validate\n * @returns Validation result with success flag and data/error\n */\nexport function safeValidateEnvelope<T>(\n  dataSchema: ZodSchema<T>,\n  response: unknown\n): { success: true; data: T } | { success: false; error: z.ZodError } {\n  const schema = validateEnvelope(dataSchema);\n  const result = schema.safeParse(response);\n\n  if (result.success) {\n    return { success: true, data: result.data.data as T };\n  }\n\n  return { success: false, error: result.error };\n}\n","/**\n * @fileoverview CON-04 Runtime Validation - Type Guard Factory\n * @description Composable type-guard helpers and factory functions\n * @version 0.18.4\n */\n\nimport { z, ZodSchema } from \"zod\";\nimport { TypeGuardError } from \"../utils/errors\";\n\n/**\n * Creates a type guard function from a Zod schema\n * Useful for runtime type checking in FE/Infra/ML code\n *\n * @param schema - Zod schema to create guard for\n * @param errorMessage - Optional custom error message\n * @returns Type guard function\n *\n * @example\n * ```typescript\n * const isUser = createTypeGuard(userSchema);\n *\n * function processUser(data: unknown) {\n *   if (isUser(data)) {\n *     // TypeScript knows data is User type here\n *     console.log(data.email);\n *   } else {\n *     console.log(\"Invalid user data\");\n *   }\n * }\n * ```\n */\nexport function createTypeGuard<T>(\n  schema: ZodSchema<T>,\n  errorMessage?: string\n): (obj: unknown) => obj is T {\n  return (obj: unknown): obj is T => {\n    try {\n      schema.parse(obj);\n      return true;\n    } catch (err) {\n      if (errorMessage) {\n        console.warn(`${errorMessage}:`, err instanceof Error ? err.message : err);\n      }\n      return false;\n    }\n  };\n}\n\n/**\n * Creates a strict type guard that throws TypeGuardError on validation failure\n * Useful when you need to ensure type safety at runtime\n *\n * @param schema - Zod schema to create guard for\n * @param errorMessage - Optional custom error message\n * @returns Type guard function that throws on validation failure\n *\n * @example\n * ```typescript\n * const assertIsUser = createStrictTypeGuard(userSchema, \"Invalid user data\");\n *\n * function processUser(data: unknown) {\n *   assertIsUser(data); // Throws if data is invalid\n *   // TypeScript knows data is User type here\n *   console.log(data.email);\n * }\n * ```\n */\nexport function createStrictTypeGuard<T>(\n  schema: ZodSchema<T>,\n  errorMessage?: string\n): (obj: unknown) => asserts obj is T {\n  return (obj: unknown): asserts obj is T => {\n    try {\n      schema.parse(obj);\n    } catch (err) {\n      if (err instanceof z.ZodError) {\n        throw new TypeGuardError(\n          errorMessage || \"Type guard validation failed\",\n          \"TYPE_GUARD_ERROR\",\n          err,\n          {\n            zodError: err.format(),\n            schemaName: schema._def?.description || 'Unknown schema'\n          }\n        );\n      }\n\n      throw new TypeGuardError(\n        errorMessage || \"Type guard validation failed with unknown error\",\n        \"TYPE_GUARD_ERROR\",\n        err instanceof Error ? err : undefined,\n        {\n          schemaName: schema._def?.description || 'Unknown schema',\n          originalError: err\n        }\n      );\n    }\n  };\n}\n\n/**\n * Creates a safe type guard that returns a result object\n * Useful for graceful type checking without exceptions\n *\n * @param schema - Zod schema to create guard for\n * @returns Safe type guard function\n *\n * @example\n * ```typescript\n * const safeIsUser = createSafeTypeGuard(userSchema);\n *\n * function processUser(data: unknown) {\n *   const result = safeIsUser(data);\n *   if (result.success) {\n *     // result.data is properly typed\n *     console.log(result.data.email);\n *   } else {\n *     // result.error contains the ZodError\n *     console.error(\"Invalid user:\", result.error.format());\n *   }\n * }\n * ```\n */\nexport function createSafeTypeGuard<T>(\n  schema: ZodSchema<T>\n): (obj: unknown) => { success: true; data: T } | { success: false; error: z.ZodError } {\n  return (obj: unknown) => {\n    const result = schema.safeParse(obj);\n\n    if (result.success) {\n      return { success: true, data: result.data };\n    }\n\n    return { success: false, error: result.error };\n  };\n}\n\n/**\n * Combines multiple type guards with AND logic\n * All guards must pass for the combined guard to pass\n *\n * @param guards - Array of type guard functions\n * @returns Combined type guard function\n *\n * @example\n * ```typescript\n * const isAdultUser = combineGuards([\n *   isUser,\n *   (u): u is User & { age: number } => u.age >= 18\n * ]);\n * ```\n */\nexport function combineGuards<T>(\n  guards: Array<(obj: unknown) => obj is T>\n): (obj: unknown) => obj is T {\n  return (obj: unknown): obj is T => {\n    return guards.every(guard => guard(obj));\n  };\n}\n\n/**\n * Combines multiple type guards with OR logic\n * At least one guard must pass for the combined guard to pass\n *\n * @param guards - Array of type guard functions\n * @returns Combined type guard function\n *\n * @example\n * ```typescript\n * const isUserOrAdmin = combineGuardsOr([\n *   isUser,\n *   isAdmin\n * ]);\n * ```\n */\nexport function combineGuardsOr<T>(\n  guards: Array<(obj: unknown) => obj is T>\n): (obj: unknown) => obj is T {\n  return (obj: unknown): obj is T => {\n    return guards.some(guard => guard(obj));\n  };\n}\n\n/**\n * Creates a type guard for array elements\n * Validates that all elements in an array match the schema\n *\n * @param schema - Zod schema for array elements\n * @returns Type guard for arrays\n *\n * @example\n * ```typescript\n * const isUserArray = createArrayGuard(userSchema);\n *\n * function processUsers(data: unknown) {\n *   if (isUserArray(data)) {\n *     // TypeScript knows data is User[]\n *     data.forEach(user => console.log(user.email));\n *   }\n * }\n * ```\n */\nexport function createArrayGuard<T>(\n  schema: ZodSchema<T>\n): (obj: unknown) => obj is T[] {\n  const elementGuard = createTypeGuard(schema);\n  return (obj: unknown): obj is T[] => {\n    return Array.isArray(obj) && obj.every(elementGuard);\n  };\n}\n\n/**\n * Creates a type guard for optional values\n * Validates that a value is either undefined or matches the schema\n *\n * @param schema - Zod schema for the value type\n * @returns Type guard for optional values\n *\n * @example\n * ```typescript\n * const isOptionalUser = createOptionalGuard(userSchema);\n *\n * function processUser(data: unknown) {\n *   if (isOptionalUser(data)) {\n *     // TypeScript knows data is User | undefined\n *     if (data) {\n *       console.log(data.email);\n *     }\n *   }\n * }\n * ```\n */\nexport function createOptionalGuard<T>(\n  schema: ZodSchema<T>\n): (obj: unknown) => obj is T | undefined {\n  return (obj: unknown): obj is T | undefined => {\n    return obj === undefined || createTypeGuard(schema)(obj);\n  };\n}\n","/**\n * @fileoverview v0.18.0 Canonical Routes - /api/infra/* Standardization\n * Infrastructure Team Consensus: Standardize on /api/infra/* as canonical pattern\n * Purpose: Unified API surface with enhanced endpoints from Infrastructure audit\n */\n\n// === AUTHENTICATION & AUTHORIZATION === (Frontend Critical Requirement)\nexport const AUTH_ROUTES = {\n  LOGIN: '/api/auth/login',\n  LOGOUT: '/api/auth/logout',\n  REFRESH: '/api/auth/refresh',\n  VALIDATE: '/api/auth/validate',                     // Token validation\n  JWKS: '/api/auth/jwks',                            // JWKS endpoint for JWT validation\n  WHOAMI: '/api/auth/whoami',                        // Frontend guard requirement\n  PERMISSIONS: '/api/auth/permissions',               // Role validation\n\n  // Enhanced auth endpoints (Frontend requirements)\n  SESSION: '/api/auth/session',                      // ✅ SSR getUser() endpoint\n  SESSION_VALIDATE: '/api/auth/session/validate',    // Session validation\n  TOKEN_REFRESH: '/api/auth/token/refresh',          // Token refresh\n  LOGOUT_ALL: '/api/auth/logout/all'                 // Logout all sessions\n} as const;\n\n// === USER MANAGEMENT === (Frontend Protected Routes Requirement)\nexport const USER_ROUTES = {\n  PROFILE: '/api/user/profile',                      // User profile management\n  PREFERENCES: '/api/user/preferences',              // User preferences\n  SESSIONS: '/api/user/sessions',                    // Active sessions\n  ORGANIZATIONS: '/api/user/organizations',          // User organizations\n  \n  // Enhanced user endpoints (Frontend requirements)\n  ROLES: '/api/user/roles',                          // User role display\n  ACTIVITY: '/api/user/activity',                    // User activity log\n  SETTINGS: '/api/user/settings',                    // User settings\n  NOTIFICATIONS: '/api/user/notifications'           // User notifications\n} as const;\n\n// === ADMIN ROUTES === (Admin-only endpoints)\nexport const ADMIN_ROUTES = {\n  USERS: '/api/admin/users',                         // User management\n  ROLES: '/api/admin/roles',                         // Role management\n  PERMISSIONS: '/api/admin/permissions',             // Permission management\n  SYSTEM: '/api/admin/system',                       // System administration\n  \n  // Enhanced admin endpoints (Frontend requirements)\n  AUDIT: '/api/admin/audit',                         // Audit logs\n  ORGANIZATIONS: '/api/admin/organizations',         // Organization management\n  SECURITY: '/api/admin/security',                   // Security settings\n  MONITORING: '/api/admin/monitoring'                // System monitoring\n} as const;\n\n// === CANONICAL INFRASTRUCTURE ROUTES === (All teams consensus)\nexport const INFRA_ROUTES = {\n  // === PORTFOLIO DOMAIN ===\n  PORTFOLIO: {\n    SUMMARY: '/api/infra/portfolio/summary',         // Portfolio overview\n    ACCOUNTS: '/api/infra/portfolio/accounts',       // HL accounts (SIPP, ISA, GIA)\n    HOLDINGS: '/api/infra/portfolio/holdings',       // HL holdings\n    INVESTMENTS: '/api/infra/portfolio/investments', // Manual investments\n    MANUAL_ADD: '/api/infra/portfolio/manual/add',   // Add manual investment\n    SNAPSHOTS: '/api/infra/portfolio/snapshots',     // Portfolio snapshots\n    VALUE: '/api/infra/portfolio/value',             // Current portfolio value\n    SYNC: '/api/infra/portfolio/sync'                // Sync HL data\n  },\n\n  // === MARKET DATA DOMAIN ===\n  MARKET: {\n    // Core data endpoints\n    OHLCV: '/api/infra/market/data/ohlcv',          // OHLCV bars\n    INDICATORS: '/api/infra/market/data/indicators', // Technical indicators\n    BARS: '/api/infra/market/data/bars',            // Alternative bars endpoint\n    PRECOMPUTED: '/api/infra/market/data/precomputed', // Pre-computed indicators\n    \n    // Control endpoints (Infrastructure audit findings)\n    UNIVERSE: '/api/infra/market/meta/universe',     // Available symbols\n    TIMEFRAMES: '/api/infra/market/meta/timeframes', // Supported timeframes\n    STATUS: '/api/infra/market/meta/status',         // Ingestion status\n    PROVIDERS: '/api/infra/market/meta/providers',   // Data providers\n    \n    // Data management\n    STORE_BARS: '/api/infra/market/data/bars/store', // Store market bars\n    STORE_INDICATORS: '/api/infra/market/data/indicators/store', // Store indicators\n    HEALTH: '/api/infra/market/health'               // Market data health\n  },\n\n  // === ML DOMAIN ===\n  ML: {\n    // Model management\n    MODELS: '/api/infra/ml/models',                  // Model registry\n    MODELS_REGISTER: '/api/infra/ml/models/register', // Register new model\n    MODELS_PERFORMANCE: '/api/infra/ml/models/performance', // Model performance\n    MODEL_METRICS: '/api/infra/ml/models/:id/metrics', // Model-specific metrics (ML Critical)\n    MODEL_DEPLOY: '/api/infra/ml/models/:id/deploy',  // Model deployment (ML Critical)\n    \n    // Signal operations\n    SIGNALS_STORE: '/api/infra/ml/signals/store',    // Store signal\n    SIGNALS_LATEST: '/api/infra/ml/signals/latest',  // Latest signals\n    SIGNALS_HISTORY: '/api/infra/ml/signals/history', // Signal history\n    SIGNALS_STREAM: '/api/infra/ml/signals/stream',  // Real-time signal stream (SSE)\n    \n    // Consensus operations\n    CONSENSUS_STORE: '/api/infra/ml/consensus/store', // Store consensus\n    CONSENSUS_LATEST: '/api/infra/ml/consensus/latest', // Latest consensus\n    CONSENSUS_HISTORY: '/api/infra/ml/consensus/history', // Consensus history\n    \n    // Feature pipeline (ML Critical)\n    FEATURES_LATEST: '/api/infra/ml/features/latest', // Latest features (ML Critical)\n    FEATURES_STORE: '/api/infra/ml/features/store',  // Store features\n    \n    // Ensemble management (ML Enhancement)\n    ENSEMBLE_WEIGHTS: '/api/infra/ml/ensemble/weights', // Ensemble weights (ML Critical)\n    ENSEMBLE_UPDATE: '/api/infra/ml/ensemble/update', // Update ensemble\n    \n    // Analytics and monitoring\n    PERFORMANCE: '/api/infra/ml/performance',        // ML performance analytics (ML Critical)\n    ANALYTICS: '/api/infra/ml/analytics',            // ML analytics dashboard\n    \n    // Health\n    HEALTH: '/api/infra/ml/health'                   // ML service health\n  },\n\n  // === TRADING DOMAIN ===\n  TRADING: {\n    // Account management (Infrastructure audit: new table)\n    ACCOUNTS: '/api/infra/trading/accounts',         // Enhanced trading accounts\n    ACCOUNTS_SYNC: '/api/infra/trading/accounts/sync', // Sync account data\n    \n    // Position management\n    POSITIONS: '/api/infra/trading/positions',       // Open positions\n    POSITIONS_OPEN: '/api/infra/trading/positions/open', // Open new position\n    POSITIONS_CLOSE: '/api/infra/trading/positions/close', // Close position\n    POSITIONS_HISTORY: '/api/infra/trading/positions/history', // Position history\n    \n    // Trade management\n    TRADES: '/api/infra/trading/trades',             // Trade history\n    TRADES_RECENT: '/api/infra/trading/trades/recent', // Recent trades\n    \n    // Order management\n    ORDERS: '/api/infra/trading/orders',             // Order history\n    ORDERS_PENDING: '/api/infra/trading/orders/pending', // Pending orders\n    \n    // Health and monitoring\n    HEALTH: '/api/infra/trading/health'              // Trading service health\n  },\n\n  // === JOBS SYSTEM === (Infrastructure consensus)\n  JOBS: {\n    CREATE: '/api/infra/jobs',                       // Create job\n    LIST: '/api/infra/jobs/recent',                  // List recent jobs  \n    GET: '/api/infra/jobs/:id',                      // Get job details\n    UPDATE: '/api/infra/jobs/:id',                   // Update job\n    CANCEL: '/api/infra/jobs/:id/cancel',            // Cancel job\n    LOGS: '/api/infra/jobs/:id/logs',                // Job logs (with SSE)\n    CLAIM: '/api/infra/jobs/claim',                  // Worker claims job\n    HEARTBEAT: '/api/infra/jobs/:id/heartbeat',      // Worker heartbeat\n    TRIGGER: '/api/infra/jobs/trigger'               // Trigger job type\n  },\n\n  // === WEALTH MANAGEMENT ===\n  WEALTH: {\n    HL: '/api/infra/wealth/hl',                      // HL account aggregation\n    SUMMARY: '/api/infra/wealth/summary',            // Wealth summary\n    ACCOUNTS: '/api/infra/wealth/accounts',          // All wealth accounts\n    SYNC: '/api/infra/wealth/sync'                   // Sync wealth data\n  },\n\n  // === REAL-TIME STREAMING === (Frontend requirement)\n  REALTIME: {\n    POSITIONS: '/api/infra/realtime/positions',      // Live position updates\n    SIGNALS: '/api/infra/realtime/signals',          // Live signal stream\n    JOBS: '/api/infra/realtime/jobs/:id',            // Live job progress\n    PRICES: '/api/infra/realtime/prices'             // Live price stream\n  },\n\n  // === MARKETPLACE STUBS === (Enhanced for external developers)\n  MARKETPLACE: {\n    // Vendor management (Marketplace Critical)\n    VENDORS: '/api/infra/marketplace/vendors',       // Vendor management (stub)\n    VENDORS_REGISTER: '/api/infra/marketplace/vendors/register', // External vendor signup (Critical)\n    VENDORS_PROFILE: '/api/infra/marketplace/vendors/profile', // Vendor profile (Critical)\n    \n    // Model catalog (Marketplace Critical)\n    MODELS: '/api/infra/marketplace/models',         // Model catalog (stub)\n    MODELS_CATALOG: '/api/infra/marketplace/models/catalog', // Public model discovery (Critical)\n    MODELS_SUBMIT: '/api/infra/marketplace/models/submit', // Model submission (Critical)\n    \n    // Deployment orchestration (Marketplace Critical)\n    DEPLOYMENTS: '/api/infra/marketplace/deployments', // Deployments (stub)\n    DEPLOYMENTS_CREATE: '/api/infra/marketplace/deployments/create', // RunPod deployment (Critical)\n    DEPLOYMENTS_HEALTH: '/api/infra/marketplace/deployments/health', // Health monitoring (Critical)\n    \n    // Authentication for external developers (Marketplace Critical)\n    AUTH_API_KEYS: '/api/infra/marketplace/auth/api-keys', // CLI authentication (Critical)\n    AUTH_REGISTER: '/api/infra/marketplace/auth/register', // External developer signup (Critical)\n    \n    // Training workflows (Marketplace High Priority)\n    TRAINING_JOBS: '/api/infra/marketplace/training/jobs', // Managed training (High)\n    TRAINING_SUBMIT: '/api/infra/marketplace/training/submit', // Training submission (High)\n    \n    // Revenue and analytics (Marketplace Medium Priority)\n    BILLING: '/api/infra/marketplace/billing',       // Revenue tracking (stub)\n    REVENUE_TRACKING: '/api/infra/marketplace/revenue/tracking', // Vendor earnings (Medium)\n    ANALYTICS_PERFORMANCE: '/api/infra/marketplace/analytics/performance', // Model analytics (Medium)\n    ANALYTICS_USAGE: '/api/infra/marketplace/analytics/usage' // Resource usage (Medium)\n  },\n\n  // === SYSTEM & HEALTH ===\n  SYSTEM: {\n    HEALTH: '/api/infra/health',                     // Overall system health\n    STATUS: '/api/infra/status',                     // System status\n    METRICS: '/api/infra/metrics',                   // System metrics\n    VERSION: '/api/infra/version'                    // API version info\n  }\n} as const;\n\n// === LEGACY COMPATIBILITY ROUTES === (Deprecation timeline: v0.20.0 removal)\nexport const LEGACY_ROUTES = {\n  // v0.17.0 routes (dual support during transition)\n  PORTFOLIO: {\n    SUMMARY: '/api/portfolio/summary',               // Legacy: use INFRA_ROUTES.PORTFOLIO.SUMMARY\n    INVESTMENTS: '/api/portfolio/investments',       // Legacy: use INFRA_ROUTES.PORTFOLIO.INVESTMENTS\n    VALUE: '/api/portfolio/value',                   // Legacy: use INFRA_ROUTES.PORTFOLIO.VALUE\n    HOLDINGS: '/api/portfolio/holdings',             // Legacy: use INFRA_ROUTES.PORTFOLIO.HOLDINGS\n    ACCOUNTS: '/api/portfolio/accounts',             // Legacy: use INFRA_ROUTES.PORTFOLIO.ACCOUNTS\n    MANUAL_LIST: '/api/portfolio/manual/list',       // Legacy: use INFRA_ROUTES.PORTFOLIO.INVESTMENTS\n    MANUAL_ADD: '/api/portfolio/manual/add'          // Legacy: use INFRA_ROUTES.PORTFOLIO.MANUAL_ADD\n  },\n  MARKET: {\n    OHLCV: '/api/marketdata/ohlcv',                 // Legacy: use INFRA_ROUTES.MARKET.OHLCV\n    INDICATORS: '/api/marketdata/indicators',        // Legacy: use INFRA_ROUTES.MARKET.INDICATORS\n    SYMBOLS: '/api/marketdata/symbols'               // Legacy: use INFRA_ROUTES.MARKET.UNIVERSE\n  },\n  ML: {\n    SIGNALS_STORE: '/api/signals/store',            // Legacy: use INFRA_ROUTES.ML.SIGNALS_STORE\n    SIGNALS_LATEST: '/api/signals/latest',          // Legacy: use INFRA_ROUTES.ML.SIGNALS_LATEST\n    MODELS: '/api/models',                          // Legacy: use INFRA_ROUTES.ML.MODELS\n    CONSENSUS_LATEST: '/api/consensus/latest',      // Legacy: use INFRA_ROUTES.ML.CONSENSUS_LATEST\n    BACKTEST: '/api/ml/backtest',                   // Legacy: new endpoint\n    PREDICT: '/api/ml/predict'                      // Legacy: new endpoint\n  },\n  TRADING: {\n    POSITIONS: '/api/trading/positions',            // Legacy: use INFRA_ROUTES.TRADING.POSITIONS\n    TRADES: '/api/trading/trades',                  // Legacy: use INFRA_ROUTES.TRADING.TRADES\n    ACCOUNTS: '/api/trading/accounts',              // Legacy: use INFRA_ROUTES.TRADING.ACCOUNTS\n    TRADES_OPEN: '/api/trading/trades/open',        // Legacy: new endpoint\n    TRADES_CLOSED: '/api/trading/trades/closed',    // Legacy: new endpoint\n    HISTORY: '/api/trading/history',                // Legacy: use INFRA_ROUTES.TRADING.POSITIONS_HISTORY\n    ORDERS: '/api/trading/orders'                   // Legacy: use INFRA_ROUTES.TRADING.ORDERS\n  }\n} as const;\n\n// === CONSOLIDATED ROUTES OBJECT ===\nexport const ROUTES = {\n  // Modern canonical routes (v0.18.0+)\n  AUTH: AUTH_ROUTES,\n  USER: USER_ROUTES,\n  ADMIN: ADMIN_ROUTES,\n  INFRA: INFRA_ROUTES,\n  \n  // Legacy compatibility (deprecated in v0.19.0, removed in v0.20.0)\n  PORTFOLIO: LEGACY_ROUTES.PORTFOLIO,              // @deprecated Use INFRA.PORTFOLIO\n  MARKET: LEGACY_ROUTES.MARKET,                    // @deprecated Use INFRA.MARKET\n  ML: LEGACY_ROUTES.ML,                            // @deprecated Use INFRA.ML\n  TRADING: LEGACY_ROUTES.TRADING                   // @deprecated Use INFRA.TRADING\n} as const;\n\n// Type exports\nexport type AuthRoutesType = typeof AUTH_ROUTES;\nexport type UserRoutesType = typeof USER_ROUTES;\nexport type AdminRoutesType = typeof ADMIN_ROUTES;\nexport type InfraRoutesType = typeof INFRA_ROUTES;\nexport type LegacyRoutesType = typeof LEGACY_ROUTES;\nexport type RoutesType = typeof ROUTES;\n","/**\n * @fileoverview CON-03 Envelope Automation - Response Validation\n * @description Runtime validation for API responses with envelope automation\n * @version 0.18.4-alpha\n */\n\nimport { z } from 'zod';\nimport { ApiEnvelopeSchema } from \"../envelopes/standard\";\n\n/**\n * Validates that a payload conforms to the expected API envelope format\n * with the specified data schema, providing type-safe response validation\n *\n * @param schema - Zod schema for the expected response data structure\n * @param payload - Unknown payload to validate\n * @throws {ZodError} if payload doesn't match the envelope + data schema\n *\n * @example\n * ```typescript\n * // Validate a portfolio summary response\n * const response = { success: true, data: { total_value: 1000 } };\n * validateResponse(PortfolioSummarySchema, response);\n * // Throws if response doesn't match expected envelope + data structure\n * ```\n */\nexport function validateResponse<T>(\n  schema: z.ZodSchema<T>,\n  payload: unknown\n): asserts payload is { success: boolean; data: T; meta?: Record<string, any>; error?: any } {\n  // Create the combined envelope + data schema\n  const envelopeWithDataSchema = ApiEnvelopeSchema.extend({\n    data: schema\n  });\n\n  // Validate and throw on failure\n  envelopeWithDataSchema.parse(payload);\n}\n\n/**\n * Validates response data without the envelope wrapper\n * Useful for internal processing where envelope is already stripped\n *\n * @param schema - Zod schema for the response data\n * @param data - Data payload to validate\n * @throws {ZodError} if data doesn't match schema\n */\nexport function validateResponseData<T>(\n  schema: z.ZodSchema<T>,\n  data: unknown\n): asserts data is T {\n  schema.parse(data);\n}\n\n/**\n * Type-safe response validator for specific routes\n * Provides compile-time route path validation\n *\n * @param routePath - Route path from RouteRegistry\n * @param payload - Response payload to validate\n * @throws {ZodError} if payload doesn't match route's expected response schema\n */\nexport function validateRouteResponse<K extends string>(\n  routePath: K,\n  payload: unknown\n): asserts payload is { success: boolean; data: any; meta?: Record<string, any>; error?: any } {\n  // This will be enhanced in Phase 3 with actual route registry integration\n  // For now, it provides the interface for type-safe validation\n  const envelopeSchema = ApiEnvelopeSchema.extend({\n    data: z.any() // Will be replaced with actual route schema in auto-generated version\n  });\n\n  envelopeSchema.parse(payload);\n}\n\n/**\n * Validates error responses according to the standard error envelope format\n *\n * @param payload - Error payload to validate\n * @throws {ZodError} if error doesn't match expected format\n */\nexport function validateErrorResponse(\n  payload: unknown\n): asserts payload is { success: false; error: { code: string; message: string; details?: Record<string, any>; timestamp: string }; meta?: Record<string, any> } {\n  const errorEnvelopeSchema = ApiEnvelopeSchema.extend({\n    success: z.literal(false),\n    error: z.object({\n      code: z.string().min(1),\n      message: z.string().min(1),\n      details: z.record(z.any()).optional(),\n      timestamp: z.string().datetime()\n    }).strict(),\n    data: z.undefined()\n  });\n\n  errorEnvelopeSchema.parse(payload);\n}\n","/**\n * @fileoverview CON-03 Envelope Automation - Request Validation\n * @description Runtime validation for API requests with type safety\n * @version 0.18.4-alpha\n */\n\nimport { z } from 'zod';\n\n/**\n * Validates that a request payload conforms to the expected schema\n * Provides type-safe request validation for API endpoints\n *\n * @param schema - Zod schema for the expected request structure\n * @param payload - Unknown payload to validate\n * @throws {ZodError} if payload doesn't match the expected request schema\n *\n * @example\n * ```typescript\n * // Validate a login request\n * const request = { email: \"user@example.com\", password: \"secret123\" };\n * validateRequest(LoginRequestSchema, request);\n * // Throws if request doesn't match expected structure\n * ```\n */\nexport function validateRequest<T>(\n  schema: z.ZodSchema<T>,\n  payload: unknown\n): asserts payload is T {\n  schema.parse(payload);\n}\n\n/**\n * Validates request data for specific routes\n * Provides compile-time route path validation\n *\n * @param routePath - Route path from RouteRegistry\n * @param payload - Request payload to validate\n * @throws {ZodError} if payload doesn't match route's expected request schema\n */\nexport function validateRouteRequest<K extends string>(\n  routePath: K,\n  payload: unknown\n): asserts payload is any {\n  // This will be enhanced in Phase 3 with actual route registry integration\n  // For now, it provides the interface for type-safe validation\n  // Route-specific schemas will be injected by the auto-generation script\n  z.any().parse(payload);\n}\n\n/**\n * Validates query parameters for GET requests\n *\n * @param schema - Zod schema for query parameters\n * @param query - Query parameter object\n * @throws {ZodError} if query doesn't match schema\n */\nexport function validateQueryParams<T>(\n  schema: z.ZodSchema<T>,\n  query: unknown\n): asserts query is T {\n  schema.parse(query);\n}\n\n/**\n * Validates path parameters for dynamic routes\n *\n * @param schema - Zod schema for path parameters\n * @param params - Path parameter object\n * @throws {ZodError} if params don't match schema\n */\nexport function validatePathParams<T>(\n  schema: z.ZodSchema<T>,\n  params: unknown\n): asserts params is T {\n  schema.parse(params);\n}\n\n/**\n * Validates request body for POST/PUT requests\n *\n * @param schema - Zod schema for request body\n * @param body - Request body object\n * @throws {ZodError} if body doesn't match schema\n */\nexport function validateRequestBody<T>(\n  schema: z.ZodSchema<T>,\n  body: unknown\n): asserts body is T {\n  schema.parse(body);\n}\n\n/**\n * Validates complete request (query + body + params)\n * Useful for complex requests with multiple parts\n *\n * @param requestSchema - Combined schema for all request parts\n * @param request - Complete request object\n * @throws {ZodError} if request doesn't match schema\n */\nexport function validateCompleteRequest<T>(\n  requestSchema: z.ZodSchema<T>,\n  request: unknown\n): asserts request is T {\n  requestSchema.parse(request);\n}\n","/**\n * @fileoverview CON-03 RouteRegistry - Route Schema Linking & Envelope Automation\n * @description Canonical registry linking API routes to their Zod schemas for type-safe routing\n * @version 0.18.4-alpha\n */\n\nimport { z } from 'zod';\nimport { ROUTES } from \"../routes/routes\";\nimport * as Schemas from \"../schemas\";\nimport { ApiEnvelopeSchema } from \"../envelopes/standard\";\nimport { validateResponse, validateResponseData } from \"./validateResponse\";\nimport { validateRequest as validateRequestUtil } from \"./validateRequest\";\n\n/**\n * Route definition interface for type-safe route registration\n */\nexport interface RouteDefinition {\n  path: string;\n  method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\";\n  request?: z.ZodSchema<any>;\n  response?: z.ZodSchema<any>;\n  description?: string;\n  deprecated?: boolean;\n  version?: string;\n}\n\n/**\n * Canonical RouteRegistry - Single source of truth for all route definitions\n * Maps ROUTES constants to their Zod schemas for type-safe routing and validation\n */\nexport const RouteRegistry: Record<string, RouteDefinition> = {\n  // === AUTHENTICATION ROUTES ===\n  [ROUTES.AUTH.LOGIN]: {\n    path: ROUTES.AUTH.LOGIN,\n    method: \"POST\",\n    request: z.object({\n      email: z.string().email(),\n      password: z.string().min(1)\n    }),\n    response: z.object({\n      user: z.object({\n        id: z.string(),\n        email: z.string().email(),\n        role: z.string()\n      }),\n      access_token: z.string(),\n      refresh_token: z.string()\n    }),\n    description: \"User authentication endpoint\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.AUTH.LOGOUT]: {\n    path: ROUTES.AUTH.LOGOUT,\n    method: \"POST\",\n    response: z.object({\n      success: z.boolean(),\n      message: z.string()\n    }),\n    description: \"User logout endpoint\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.AUTH.REFRESH]: {\n    path: ROUTES.AUTH.REFRESH,\n    method: \"POST\",\n    request: z.object({\n      refresh_token: z.string()\n    }),\n    response: z.object({\n      access_token: z.string(),\n      refresh_token: z.string()\n    }),\n    description: \"Token refresh endpoint\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.AUTH.VALIDATE]: {\n    path: ROUTES.AUTH.VALIDATE,\n    method: \"POST\",\n    request: z.object({\n      token: z.string()\n    }),\n    response: z.object({\n      valid: z.boolean(),\n      user: z.object({\n        id: z.string(),\n        email: z.string().email(),\n        role: z.string()\n      }).optional()\n    }),\n    description: \"Token validation endpoint\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.AUTH.WHOAMI]: {\n    path: ROUTES.AUTH.WHOAMI,\n    method: \"GET\",\n    response: z.object({\n      user: z.object({\n        id: z.string(),\n        email: z.string().email(),\n        role: z.string(),\n        permissions: z.array(z.string())\n      })\n    }),\n    description: \"Get current user information\",\n    version: \"0.18.0\"\n  },\n\n  // === PORTFOLIO ROUTES ===\n  [ROUTES.INFRA.PORTFOLIO.SUMMARY]: {\n    path: ROUTES.INFRA.PORTFOLIO.SUMMARY,\n    method: \"GET\",\n    response: z.object({\n      total_value: z.number(),\n      total_cost: z.number(),\n      total_pl: z.number(),\n      total_pl_percent: z.number(),\n      accounts_count: z.number(),\n      last_updated: z.string().datetime()\n    }),\n    description: \"Portfolio overview and summary\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.PORTFOLIO.ACCOUNTS]: {\n    path: ROUTES.INFRA.PORTFOLIO.ACCOUNTS,\n    method: \"GET\",\n    response: z.object({\n      accounts: z.array(z.object({\n        id: z.string(),\n        name: z.string(),\n        type: z.string(),\n        balance: z.number(),\n        currency: z.string()\n      }))\n    }),\n    description: \"HL accounts (SIPP, ISA, GIA)\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.PORTFOLIO.HOLDINGS]: {\n    path: ROUTES.INFRA.PORTFOLIO.HOLDINGS,\n    method: \"GET\",\n    response: z.object({\n      holdings: z.array(z.object({\n        symbol: z.string(),\n        quantity: z.number(),\n        current_price: z.number(),\n        market_value: z.number(),\n        currency: z.string()\n      }))\n    }),\n    description: \"HL holdings data\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.PORTFOLIO.VALUE]: {\n    path: ROUTES.INFRA.PORTFOLIO.VALUE,\n    method: \"GET\",\n    response: z.object({\n      current_value: z.number(),\n      currency: z.string(),\n      last_updated: z.string().datetime()\n    }),\n    description: \"Current portfolio value\",\n    version: \"0.18.0\"\n  },\n\n  // === MARKET DATA ROUTES ===\n  [ROUTES.INFRA.MARKET.OHLCV]: {\n    path: ROUTES.INFRA.MARKET.OHLCV,\n    method: \"GET\",\n    response: z.object({\n      bars: z.array(z.object({\n        timestamp: z.string().datetime(),\n        open: z.number(),\n        high: z.number(),\n        low: z.number(),\n        close: z.number(),\n        volume: z.number()\n      }))\n    }),\n    description: \"OHLCV bars data\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.MARKET.INDICATORS]: {\n    path: ROUTES.INFRA.MARKET.INDICATORS,\n    method: \"GET\",\n    response: z.object({\n      indicators: z.array(z.object({\n        symbol: z.string(),\n        timeframe: z.string(),\n        indicator: z.string(),\n        values: z.array(z.number())\n      }))\n    }),\n    description: \"Technical indicators data\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.MARKET.UNIVERSE]: {\n    path: ROUTES.INFRA.MARKET.UNIVERSE,\n    method: \"GET\",\n    response: z.object({\n      symbols: z.array(z.object({\n        symbol: z.string(),\n        name: z.string(),\n        exchange: z.string(),\n        type: z.string()\n      }))\n    }),\n    description: \"Available symbols universe\",\n    version: \"0.18.0\"\n  },\n\n  // === ML ROUTES ===\n  [ROUTES.INFRA.ML.MODELS]: {\n    path: ROUTES.INFRA.ML.MODELS,\n    method: \"GET\",\n    response: z.object({\n      models: z.array(z.object({\n        id: z.string(),\n        name: z.string(),\n        type: z.string(),\n        status: z.string(),\n        accuracy: z.number().optional()\n      }))\n    }),\n    description: \"ML model registry\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.ML.SIGNALS_LATEST]: {\n    path: ROUTES.INFRA.ML.SIGNALS_LATEST,\n    method: \"GET\",\n    response: z.object({\n      signals: z.array(z.object({\n        id: z.string(),\n        symbol: z.string(),\n        action: z.string(),\n        confidence: z.number(),\n        timestamp: z.string().datetime()\n      }))\n    }),\n    description: \"Latest ML signals\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.ML.CONSENSUS_LATEST]: {\n    path: ROUTES.INFRA.ML.CONSENSUS_LATEST,\n    method: \"GET\",\n    response: z.object({\n      consensus: z.object({\n        symbol: z.string(),\n        action: z.string(),\n        confidence: z.number(),\n        model_count: z.number(),\n        timestamp: z.string().datetime()\n      })\n    }),\n    description: \"Latest ML consensus\",\n    version: \"0.18.0\"\n  },\n\n  // === TRADING ROUTES ===\n  [ROUTES.INFRA.TRADING.POSITIONS]: {\n    path: ROUTES.INFRA.TRADING.POSITIONS,\n    method: \"GET\",\n    response: z.object({\n      positions: z.array(z.object({\n        id: z.string(),\n        symbol: z.string(),\n        direction: z.string(),\n        size: z.number(),\n        current_price: z.number(),\n        pnl: z.number()\n      }))\n    }),\n    description: \"Open trading positions\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.TRADING.TRADES]: {\n    path: ROUTES.INFRA.TRADING.TRADES,\n    method: \"GET\",\n    response: z.object({\n      trades: z.array(z.object({\n        id: z.string(),\n        symbol: z.string(),\n        action: z.string(),\n        size: z.number(),\n        price: z.number(),\n        pnl: z.number(),\n        timestamp: z.string().datetime()\n      }))\n    }),\n    description: \"Trading history\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.TRADING.ACCOUNTS]: {\n    path: ROUTES.INFRA.TRADING.ACCOUNTS,\n    method: \"GET\",\n    response: z.object({\n      accounts: z.array(z.object({\n        id: z.string(),\n        name: z.string(),\n        type: z.string(),\n        balance: z.number(),\n        currency: z.string()\n      }))\n    }),\n    description: \"Trading accounts\",\n    version: \"0.18.0\"\n  },\n\n  // === JOBS ROUTES ===\n  [ROUTES.INFRA.JOBS.LIST]: {\n    path: ROUTES.INFRA.JOBS.LIST,\n    method: \"GET\",\n    response: z.object({\n      jobs: z.array(z.object({\n        id: z.string(),\n        name: z.string(),\n        status: z.string(),\n        created_at: z.string().datetime()\n      }))\n    }),\n    description: \"List recent jobs\",\n    version: \"0.18.0\"\n  },\n  [ROUTES.INFRA.JOBS.GET]: {\n    path: ROUTES.INFRA.JOBS.GET,\n    method: \"GET\",\n    response: z.object({\n      job: z.object({\n        id: z.string(),\n        name: z.string(),\n        status: z.string(),\n        progress: z.number(),\n        logs: z.array(z.string())\n      })\n    }),\n    description: \"Get job details\",\n    version: \"0.18.0\"\n  },\n\n  // === SYSTEM ROUTES ===\n  [ROUTES.INFRA.SYSTEM.HEALTH]: {\n    path: ROUTES.INFRA.SYSTEM.HEALTH,\n    method: \"GET\",\n    response: z.object({\n      status: z.string(),\n      uptime: z.number(),\n      version: z.string(),\n      timestamp: z.string().datetime()\n    }),\n    description: \"Overall system health\",\n    version: \"0.18.0\"\n  },\n\n  // === MARKETPLACE ROUTES (STUBS) ===\n  [ROUTES.INFRA.MARKETPLACE.MODELS_CATALOG]: {\n    path: ROUTES.INFRA.MARKETPLACE.MODELS_CATALOG,\n    method: \"GET\",\n    response: z.object({\n      models: z.array(z.object({\n        id: z.string(),\n        name: z.string(),\n        description: z.string(),\n        vendor: z.string(),\n        tags: z.array(z.string())\n      }))\n    }),\n    description: \"Public model discovery catalog\",\n    version: \"0.18.0\"\n  },\n\n  // === LEGACY ROUTES (DEPRECATED) ===\n  [ROUTES.PORTFOLIO.SUMMARY]: {\n    path: ROUTES.PORTFOLIO.SUMMARY,\n    method: \"GET\",\n    response: z.object({\n      total_value: z.number(),\n      total_cost: z.number(),\n      total_pl: z.number(),\n      total_pl_percent: z.number()\n    }),\n    description: \"Legacy portfolio summary (deprecated)\",\n    deprecated: true,\n    version: \"0.17.0\"\n  },\n  [ROUTES.MARKET.OHLCV]: {\n    path: ROUTES.MARKET.OHLCV,\n    method: \"GET\",\n    response: z.object({\n      bars: z.array(z.object({\n        timestamp: z.string().datetime(),\n        open: z.number(),\n        high: z.number(),\n        low: z.number(),\n        close: z.number(),\n        volume: z.number()\n      }))\n    }),\n    description: \"Legacy OHLCV data (deprecated)\",\n    deprecated: true,\n    version: \"0.17.0\"\n  }\n};\n\n/**\n * Type-safe route paths - all keys from RouteRegistry\n */\nexport type RoutePaths = keyof typeof RouteRegistry;\n\n/**\n * Route method type helper\n */\nexport type RouteMethod<K extends RoutePaths> = typeof RouteRegistry[K][\"method\"];\n\n/**\n * Route request type helper\n */\nexport type RouteRequest<K extends RoutePaths> = typeof RouteRegistry[K][\"request\"] extends z.ZodSchema<infer T> ? T : never;\n\n/**\n * Route response type helper\n */\nexport type RouteResponse<K extends RoutePaths> = typeof RouteRegistry[K][\"response\"] extends z.ZodSchema<infer T> ? T : never;\n\n/**\n * Registry metadata\n */\nexport const ROUTE_REGISTRY_METADATA = {\n  version: \"0.18.4-alpha\",\n  totalRoutes: Object.keys(RouteRegistry).length,\n  canonicalRoutes: Object.values(RouteRegistry).filter(route => !route.deprecated).length,\n  deprecatedRoutes: Object.values(RouteRegistry).filter(route => route.deprecated).length,\n  created: new Date().toISOString()\n} as const;\n\n/**\n * === RUNTIME VALIDATION HOOKS (Phase 5) ===\n * Type-safe validation functions for runtime use\n */\n\n/**\n * Asserts that a payload is a valid response for the specified route\n * Provides compile-time route path validation and runtime schema validation\n *\n * @param route - Route path from RouteRegistry\n * @param payload - Response payload to validate\n * @throws {ZodError} if payload doesn't match route's expected response schema\n *\n * @example\n * ```typescript\n * // In infra/frontend tests or API clients:\n * const response = await fetchPortfolioSummary();\n * assertValidResponse(ROUTES.INFRA.PORTFOLIO.SUMMARY, response);\n * // TypeScript now knows response is properly typed and validated\n * ```\n */\nexport function assertValidResponse<K extends RoutePaths>(\n  route: K,\n  payload: unknown\n): asserts payload is { success: boolean; data: RouteResponse<K>; meta?: Record<string, any>; error?: any } {\n  const routeDefinition = RouteRegistry[route];\n\n  if (!routeDefinition || !routeDefinition.response) {\n    throw new Error(`No response schema defined for route: ${route}`);\n  }\n\n  validateResponse(routeDefinition.response, payload);\n}\n\n/**\n * Asserts that a payload is a valid request for the specified route\n * Provides compile-time route path validation and runtime schema validation\n *\n * @param route - Route path from RouteRegistry\n * @param payload - Request payload to validate\n * @throws {ZodError} if payload doesn't match route's expected request schema\n *\n * @example\n * ```typescript\n * // In infra/frontend before making requests:\n * const requestData = { email: \"user@example.com\", password: \"secret\" };\n * assertValidRequest(ROUTES.AUTH.LOGIN, requestData);\n * // TypeScript now knows requestData is properly typed and validated\n * ```\n */\nexport function assertValidRequest<K extends RoutePaths>(\n  route: K,\n  payload: unknown\n): asserts payload is RouteRequest<K> {\n  const routeDefinition = RouteRegistry[route];\n\n  if (!routeDefinition || !routeDefinition.request) {\n    throw new Error(`No request schema defined for route: ${route}`);\n  }\n\n  validateRequestUtil(routeDefinition.request, payload);\n}\n\n/**\n * Validates response data without the envelope wrapper\n * Useful for internal processing where envelope is already stripped\n *\n * @param route - Route path from RouteRegistry\n * @param data - Response data to validate\n * @throws {ZodError} if data doesn't match route's expected response schema\n */\nexport function assertValidResponseData<K extends RoutePaths>(\n  route: K,\n  data: unknown\n): asserts data is RouteResponse<K> {\n  const routeDefinition = RouteRegistry[route];\n\n  if (!routeDefinition || !routeDefinition.response) {\n    throw new Error(`No response schema defined for route: ${route}`);\n  }\n\n  validateResponseData(routeDefinition.response, data);\n}\n\n/**\n * Type-safe route response validator for specific routes\n * Enhanced version that provides better error messages\n *\n * @param routePath - Route path from RouteRegistry\n * @param payload - Response payload to validate\n * @throws {ZodError} if payload doesn't match route's expected response schema\n */\nexport function validateRouteResponse<K extends RoutePaths>(\n  routePath: K,\n  payload: unknown\n): asserts payload is { success: boolean; data: RouteResponse<K>; meta?: Record<string, any>; error?: any } {\n  try {\n    assertValidResponse(routePath, payload);\n  } catch (error) {\n    throw new Error(`Route ${routePath} response validation failed: ${error instanceof Error ? error.message : 'Unknown validation error'}`);\n  }\n}\n\n/**\n * Type-safe route request validator for specific routes\n * Enhanced version that provides better error messages\n *\n * @param routePath - Route path from RouteRegistry\n * @param payload - Request payload to validate\n * @throws {ZodError} if payload doesn't match route's expected request schema\n */\nexport function validateRouteRequest<K extends RoutePaths>(\n  routePath: K,\n  payload: unknown\n): asserts payload is RouteRequest<K> {\n  try {\n    assertValidRequest(routePath, payload);\n  } catch (error) {\n    throw new Error(`Route ${routePath} request validation failed: ${error instanceof Error ? error.message : 'Unknown validation error'}`);\n  }\n}\n\n/**\n * Utility function to get route information at runtime\n * Useful for debugging and dynamic route handling\n *\n * @param routePath - Route path to look up\n * @returns Route definition or undefined if not found\n */\nexport function getRouteInfo<K extends RoutePaths>(routePath: K): RouteDefinition | undefined {\n  return RouteRegistry[routePath];\n}\n\n/**\n * Get all routes for a specific HTTP method\n *\n * @param method - HTTP method to filter by\n * @returns Array of route paths that use the specified method\n */\nexport function getRoutesByMethod(method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\"): RoutePaths[] {\n  return Object.entries(RouteRegistry)\n    .filter(([, definition]) => definition.method === method)\n    .map(([path]) => path as RoutePaths);\n}\n\n/**\n * Get all active (non-deprecated) routes\n *\n * @returns Array of active route paths\n */\nexport function getActiveRoutes(): RoutePaths[] {\n  return Object.entries(RouteRegistry)\n    .filter(([, definition]) => !definition.deprecated)\n    .map(([path]) => path as RoutePaths);\n}\n\n/**\n * Get all deprecated routes\n *\n * @returns Array of deprecated route paths\n */\nexport function getDeprecatedRoutes(): RoutePaths[] {\n  return Object.entries(RouteRegistry)\n    .filter(([, definition]) => definition.deprecated)\n    .map(([path]) => path as RoutePaths);\n}\n\n/**\n * Export route paths as string values for runtime use\n */\nexport const RoutePaths = Object.keys(RouteRegistry) as RoutePaths[];\n","/**\n * @fileoverview Shared Enums - Centralized enum definitions\n * @description Common enums used across all domain schemas\n * @version 0.18.4\n */\n\nimport { z } from 'zod';\n\n// === AUTHENTICATION ENUMS ===\nexport const RoleNameSchema = z.enum(['owner', 'admin', 'ml_developer', 'client']);\nexport const PermissionNameSchema = z.string().min(1);\nexport const SessionStatusSchema = z.enum(['active', 'expired', 'revoked']);\nexport const AuthLevelSchema = z.enum(['public', 'user', 'service', 'admin']);\n\n// === ML ENUMS ===\nexport const SignalStrengthSchema = z.enum(['weak', 'moderate', 'strong']);\nexport const SignalDirectionSchema = z.enum(['bullish', 'bearish', 'neutral']);\nexport const SignalTypeSchema = z.enum(['entry', 'exit', 'scalping', 'swing']);\nexport const ConsensusDecisionSchema = z.enum(['buy', 'sell', 'hold']);\nexport const ModelTypeSchema = z.enum(['lstm', 'random_forest', 'xgboost', 'ensemble', 'transformer']);\nexport const ModelStatusSchema = z.enum(['active', 'inactive', 'training', 'deprecated']);\n\n// === TRADING ENUMS ===\nexport const TradeSideSchema = z.enum(['BUY', 'SELL']);\nexport const OrderTypeSchema = z.enum(['market', 'limit', 'stop', 'stop_limit']);\nexport const OrderStatusSchema = z.enum(['pending', 'filled', 'cancelled', 'rejected', 'expired']);\nexport const PositionStatusSchema = z.enum(['open', 'closed', 'liquidated']);\n\n// === PORTFOLIO ENUMS ===\nexport const AccountTypeSchema = z.enum(['ISA', 'SIPP', 'GIA', 'CFD', 'SPREAD_BET']);\n\n// === MARKET ENUMS ===\nexport const TimeframeSchema = z.enum(['1m', '5m', '15m', '30m', '1h', '4h', '1d', '1w', '1M']);\nexport const DataProviderSchema = z.enum(['ig', 'hl', 'yahoo', 'alpha_vantage', 'twelve_data']);\n\n// === JOB ENUMS ===\nexport const JobStatusSchema = z.enum(['pending', 'running', 'completed', 'failed', 'cancelled']);\nexport const JobPrioritySchema = z.enum(['low', 'normal', 'high', 'critical']);\nexport const JobTypeSchema = z.enum(['data_ingestion', 'ml_training', 'signal_generation', 'portfolio_sync']);\n\n// === STREAMING ENUMS ===\nexport const StreamEventTypeSchema = z.enum(['position_update', 'signal_update', 'price_update', 'job_update']);\n\n// === PAGINATION ENUMS ===\nexport const SortDirectionSchema = z.enum(['asc', 'desc']);\nexport const FilterOperatorSchema = z.enum(['eq', 'neq', 'gt', 'gte', 'lt', 'lte', 'like', 'in', 'nin']);\n\n// === DEPRECATION ENUMS ===\nexport const DeprecationStatusSchema = z.enum(['active', 'deprecated', 'removed']);\nexport const DeprecationStatusValueSchema = z.enum(['dual_support', 'deprecation_warnings', 'legacy_removed']);\n\n// === MARKETPLACE ENUMS ===\nexport const VendorStatusSchema = z.enum(['pending', 'approved', 'suspended']);\nexport const ModelListingStatusSchema = z.enum(['draft', 'published', 'deprecated']);\nexport const DeploymentStatusSchema = z.enum(['deploying', 'active', 'scaling', 'stopped', 'failed']);\n\n// === COMMON ENUMS ===\nexport const HttpMethodSchema = z.enum(['GET', 'POST', 'PUT', 'DELETE', 'PATCH']);\nexport const PerformanceSLASchema = z.enum(['fast', 'standard', 'slow', 'batch']);\n\n// Type exports for all enums\nexport type RoleName = z.infer<typeof RoleNameSchema>;\nexport type PermissionName = z.infer<typeof PermissionNameSchema>;\nexport type SessionStatus = z.infer<typeof SessionStatusSchema>;\nexport type AuthLevel = z.infer<typeof AuthLevelSchema>;\n\nexport type SignalStrength = z.infer<typeof SignalStrengthSchema>;\nexport type SignalDirection = z.infer<typeof SignalDirectionSchema>;\nexport type SignalType = z.infer<typeof SignalTypeSchema>;\nexport type ConsensusDecision = z.infer<typeof ConsensusDecisionSchema>;\nexport type ModelType = z.infer<typeof ModelTypeSchema>;\nexport type ModelStatus = z.infer<typeof ModelStatusSchema>;\n\nexport type TradeSide = z.infer<typeof TradeSideSchema>;\nexport type OrderType = z.infer<typeof OrderTypeSchema>;\nexport type OrderStatus = z.infer<typeof OrderStatusSchema>;\nexport type PositionStatus = z.infer<typeof PositionStatusSchema>;\n\nexport type AccountType = z.infer<typeof AccountTypeSchema>;\n\nexport type Timeframe = z.infer<typeof TimeframeSchema>;\nexport type DataProvider = z.infer<typeof DataProviderSchema>;\n\nexport type JobStatus = z.infer<typeof JobStatusSchema>;\nexport type JobPriority = z.infer<typeof JobPrioritySchema>;\nexport type JobType = z.infer<typeof JobTypeSchema>;\n\nexport type StreamEventType = z.infer<typeof StreamEventTypeSchema>;\n\nexport type SortDirection = z.infer<typeof SortDirectionSchema>;\nexport type FilterOperator = z.infer<typeof FilterOperatorSchema>;\n\nexport type DeprecationStatus = z.infer<typeof DeprecationStatusSchema>;\nexport type DeprecationStatusValue = z.infer<typeof DeprecationStatusValueSchema>;\n\nexport type VendorStatus = z.infer<typeof VendorStatusSchema>;\nexport type ModelListingStatus = z.infer<typeof ModelListingStatusSchema>;\nexport type DeploymentStatus = z.infer<typeof DeploymentStatusSchema>;\n\nexport type HttpMethod = z.infer<typeof HttpMethodSchema>;\nexport type PerformanceSLA = z.infer<typeof PerformanceSLASchema>;\n","/**\n * @fileoverview Authentication Domain - Modern Supabase Auth with JWKS\n * v0.18.0 Enhancement: Publishable/Secret key pattern with JWKS validation\n * Purpose: Modern Supabase auth, JWT validation, role-based access control\n */\n\nimport { z } from 'zod';\nimport { RoleNameSchema, PermissionNameSchema, SessionStatusSchema } from '../types/enums.js';\n\n// Re-export shared enums for backward compatibility and convenience\nexport const RoleName = RoleNameSchema;\nexport const PermissionName = PermissionNameSchema;\nexport const SessionStatus = SessionStatusSchema;\n\n// ML-specific authentication scopes (ML Team requirement)\nexport const MLAuthScope = z.enum([\n  'ml:signals:read',        // Read ML signals\n  'ml:signals:write',       // Generate signals\n  'ml:models:read',         // View model metadata\n  'ml:models:deploy',       // Deploy models to production\n  'ml:consensus:read',      // Read consensus decisions\n  'ml:consensus:write',     // Generate consensus\n  'ml:features:read',       // Read feature data\n  'ml:features:write',      // Store feature data\n  'ml:performance:read',    // View performance metrics\n  'ml:admin',              // Emergency stop, model management\n  'ml:marketplace'         // Publish models to marketplace\n]);\n\n// Standard role definitions with Zod schema validation (using shared enum)\nexport const StandardRoleSchema = RoleNameSchema.describe('Standard application roles');\n\nexport const STANDARD_ROLES = {\n  OWNER: 'owner' as const,\n  ML_DEVELOPER: 'ml_developer' as const,\n  CLIENT: 'client' as const,\n  ADMIN: 'admin' as const\n} as const satisfies Record<string, z.infer<typeof StandardRoleSchema>>;\n\n// Role permissions mapping with Zod schema validation\nexport const RolePermissionsSchema = z.record(\n  StandardRoleSchema,\n  z.array(PermissionName)\n).describe('Role to permissions mapping');\n\nexport const ROLE_PERMISSIONS = {\n  owner: ['read:all', 'write:all', 'admin:all', 'ml:admin'] as const,\n  ml_developer: ['ml:signals:read', 'ml:signals:write', 'ml:models:read', 'ml:models:deploy', 'ml:consensus:read', 'ml:consensus:write', 'ml:features:read', 'ml:features:write', 'ml:performance:read'] as const,\n  client: ['read:portfolio', 'read:signals', 'ml:signals:read'] as const,\n  admin: ['admin:all', 'read:all'] as const\n} as const satisfies z.infer<typeof RolePermissionsSchema>;\n\n// Modern Supabase JWT Claims (JWKS validated)\nexport const SupabaseJWTClaims = z.object({\n  sub: z.string().uuid(),                       // User ID (Supabase auth.users.id)\n  email: z.string().email(),\n  aud: z.literal('authenticated'),              // Supabase audience\n  iss: z.string().url(),                        // Supabase issuer URL\n  iat: z.number().int().positive(),             // Issued at (Unix timestamp)\n  exp: z.number().int().positive(),             // Expires at (Unix timestamp)\n  \n  // Supabase-specific claims\n  role: z.literal('authenticated'),             // Supabase role (always 'authenticated')\n  session_id: z.string().uuid(),\n  \n  // Custom app metadata (stored in auth.users.app_metadata)\n  app_metadata: z.object({\n    provider: z.string().default('email'),\n    providers: z.array(z.string()).default(['email'])\n  }).strict().optional(),\n  \n  // Custom user metadata (stored in auth.users.user_metadata)  \n  user_metadata: z.object({\n    app_role: RoleName.optional(),              // Our custom role system\n    permissions: z.array(PermissionName).optional(),\n    organization_id: z.string().uuid().optional()\n  }).strict().optional()\n}).strict();\n\n// Role Definition (SSOT for permissions)\nexport const RoleDefinition = z.object({\n  name: RoleName,\n  permissions: z.array(PermissionName),\n  description: z.string(),\n  inherits_from: RoleName.optional(),           // Role hierarchy\n  created_at: z.string().datetime(),\n  updated_at: z.string().datetime()\n}).strict();\n\n// User Profile (Enhanced)\nexport const UserProfile = z.object({\n  id: z.string().uuid(),\n  email: z.string().email(),\n  roles: z.array(RoleName),\n  permissions: z.array(PermissionName),         // Computed from roles\n  organization_id: z.string().uuid().optional(),\n  preferences: z.record(z.any()).optional(),\n  created_at: z.string().datetime(),\n  updated_at: z.string().datetime(),\n  last_login: z.string().datetime().optional(),\n  is_active: z.boolean().default(true)\n}).strict();\n\n// Session Management\nexport const UserSession = z.object({\n  id: z.string().uuid(),\n  user_id: z.string().uuid(),\n  token_hash: z.string(),                       // SHA256 of JWT\n  expires_at: z.number().int().positive(),\n  created_at: z.string().datetime(),\n  last_accessed: z.string().datetime(),\n  ip_address: z.string().optional(),\n  user_agent: z.string().optional(),\n  status: SessionStatus\n}).strict();\n\n// Modern Supabase Auth Responses (using publishable/secret key pattern)\nexport const SupabaseAuthResponse = z.object({\n  success: z.literal(true),\n  data: z.object({\n    user: z.object({\n      id: z.string().uuid(),\n      email: z.string().email(),\n      phone: z.string().optional(),\n      created_at: z.string().datetime(),\n      updated_at: z.string().datetime(),\n      last_sign_in_at: z.string().datetime().optional(),\n      \n      // Supabase metadata\n      app_metadata: z.object({\n        provider: z.string(),\n        providers: z.array(z.string())\n      }).strict(),\n      \n      user_metadata: z.object({\n        app_role: RoleName.optional(),\n        permissions: z.array(PermissionName).optional(),\n        organization_id: z.string().uuid().optional()\n      }).strict()\n    }).strict(),\n    \n    session: z.object({\n      access_token: z.string(),                 // JWT validated via JWKS\n      refresh_token: z.string(),\n      expires_in: z.number().int().positive(),\n      expires_at: z.number().int().positive(),\n      token_type: z.literal('bearer'),\n      user: z.object({\n        id: z.string().uuid(),\n        email: z.string().email()\n      }).strict()\n    }).strict()\n  }).strict(),\n  requestId: z.string(),\n  timestamp: z.string().datetime()\n}).strict();\n\nexport const RefreshTokenRequest = z.object({\n  refresh_token: z.string()\n}).strict();\n\n// JWKS Validation (Modern Supabase pattern)\nexport const JWKSKey = z.object({\n  kty: z.literal('RSA'),                        // Key type\n  use: z.literal('sig'),                        // Usage\n  kid: z.string(),                              // Key ID\n  n: z.string(),                                // RSA modulus\n  e: z.string(),                                // RSA exponent\n  alg: z.literal('RS256')                       // Algorithm\n}).strict();\n\nexport const JWKSResponse = z.object({\n  success: z.literal(true),\n  data: z.object({\n    keys: z.array(JWKSKey)\n  }).strict(),\n  requestId: z.string(),\n  timestamp: z.string().datetime()\n}).strict();\n\n// Token Validation (JWKS-based)\nexport const ValidateTokenRequest = z.object({\n  access_token: z.string(),                     // JWT to validate\n  require_permissions: z.array(PermissionName).optional(),\n  resource_id: z.string().optional()           // Resource-specific validation\n}).strict();\n\nexport const TokenValidationResponse = z.object({\n  success: z.literal(true),\n  data: z.object({\n    valid: z.boolean(),\n    claims: SupabaseJWTClaims.optional(),\n    user_id: z.string().uuid().optional(),\n    app_role: RoleName.optional(),\n    permissions: z.array(PermissionName).optional(),\n    expires_in: z.number().int().optional(),    // Seconds until expiry\n    organization_id: z.string().uuid().optional()\n  }).strict(),\n  requestId: z.string(),\n  timestamp: z.string().datetime()\n}).strict();\n\n// Permission Check Request\nexport const PermissionCheckRequest = z.object({\n  user_id: z.string().uuid(),\n  permission: PermissionName,\n  resource_id: z.string().optional()            // Optional resource-specific check\n}).strict();\n\nexport const PermissionCheckResponse = z.object({\n  success: z.literal(true),\n  data: z.object({\n    granted: z.boolean(),\n    reason: z.string().optional()\n  }).strict(),\n  requestId: z.string(),\n  timestamp: z.string().datetime()\n}).strict();\n\n// Enhanced User Auth Response (Frontend requirement)\nexport const UserAuthResponse = z.object({\n  success: z.literal(true),\n  data: z.object({\n    user: z.object({\n      id: z.string().uuid(),\n      email: z.string().email(),\n      roles: z.array(RoleName),\n      permissions: z.array(PermissionName)\n    }).strict(),\n    session: z.object({\n      expires_at: z.number().int().positive(),\n      token_type: z.literal('Bearer'),\n      access_token: z.string(),\n      refresh_token: z.string().optional()\n    }).strict()\n  }).strict(),\n  requestId: z.string(),\n  timestamp: z.string().datetime()\n}).strict();\n\n// ✅ RESTORED: Session Envelope (used by SSR getUser())\nexport const SessionEnvelope = z.object({\n  status: z.literal('ok'),\n  user: z.object({\n    id: z.string().uuid(),\n    email: z.string().email().nullable(),\n    roles: z.array(RoleName).optional(),\n    permissions: z.array(PermissionName).optional()\n  }).strict()\n}).strict();\n\n// ✅ RESTORED: User Envelope (general user data responses)\nexport const UserEnvelope = z.object({\n  status: z.literal('ok'),\n  data: z.any(),\n  meta: z.record(z.any()).optional()\n}).strict();\n\n// ✅ RESTORED: Auth Response (general auth responses)\nexport const AuthResponse = z.object({\n  status: z.literal('ok'),\n  data: z.any(),\n  message: z.string().optional()\n}).strict();\n\n// Type exports (using shared types for consistency)\nexport type RoleNameType = z.infer<typeof RoleName>;\nexport type PermissionNameType = z.infer<typeof PermissionName>;\nexport type StandardRoleType = z.infer<typeof StandardRoleSchema>;\nexport type RolePermissionsType = z.infer<typeof RolePermissionsSchema>;\nexport type MLAuthScopeType = z.infer<typeof MLAuthScope>;\nexport type SupabaseJWTClaimsType = z.infer<typeof SupabaseJWTClaims>;\nexport type JWKSKeyType = z.infer<typeof JWKSKey>;\nexport type JWKSResponseType = z.infer<typeof JWKSResponse>;\nexport type RoleDefinitionType = z.infer<typeof RoleDefinition>;\nexport type UserProfileType = z.infer<typeof UserProfile>;\nexport type UserSessionType = z.infer<typeof UserSession>;\nexport type SupabaseAuthResponseType = z.infer<typeof SupabaseAuthResponse>;\nexport type UserAuthResponseType = z.infer<typeof UserAuthResponse>;\nexport type RefreshTokenRequestType = z.infer<typeof RefreshTokenRequest>;\nexport type ValidateTokenRequestType = z.infer<typeof ValidateTokenRequest>;\nexport type TokenValidationResponseType = z.infer<typeof TokenValidationResponse>;\nexport type PermissionCheckRequestType = z.infer<typeof PermissionCheckRequest>;\nexport type PermissionCheckResponseType = z.infer<typeof PermissionCheckResponse>;\n\n// ✅ RESTORED: Envelope type exports\nexport type SessionEnvelopeType = z.infer<typeof SessionEnvelope>;\nexport type UserEnvelopeType = z.infer<typeof UserEnvelope>;\nexport type AuthResponseType = z.infer<typeof AuthResponse>;\n","/**\n * @fileoverview v0.18.0 Enhanced Schema Index - Infrastructure Aligned\n * Complete transformation with Infrastructure audit findings integrated\n * New: Auth, Jobs, Real-time, Enhanced schemas, Canonical /api/infra/* routes\n */\n\n// Enhanced domain-separated schemas\nexport * from './portfolio.js';    // Enhanced: account_type, exchange, currency\nexport * from './market.js';       // Enhanced: universe, timeframes, precomputed indicators\nexport * from './ml.js';           // Enhanced: ta_fingerprint, bar_id confirmed in DB\nexport * from './trading.js';      // Enhanced: trading accounts, new account types\nexport * from '../routes/routes.js';       // Enhanced: canonical /api/infra/* pattern\nexport * from './helpers.js';      // Enhanced: idempotency, query normalization\n\n// NEW v0.18.0 domains\nexport * from './auth.js';         // NEW: Modern Supabase auth with JWKS\nexport * from './jobs.js';         // NEW: Unified jobs system\n\n// NEW v0.18.0 enhancements (Management improvements)\nexport * from './endpoint-meta.js';   // NEW: Auth matrix & performance SLAs\nexport * from './deprecation.js';     // NEW: Deprecation policy & warnings  \nexport * from './pagination.js';      // NEW: Standardized pagination & filtering\nexport * from './streaming.js';       // NEW: WebSocket/SSE contracts\nexport * from './marketplace.js';     // NEW: Marketplace stubs with comingSoon\n\n// Version information (imported from fingerprint.ts to avoid duplication)\nexport const SCHEMA_VERSION = '1.1.0' as const;\nexport const RELEASE_DATE = '2025-10-12' as const;\n\n// Infrastructure alignment metadata\nexport const INFRASTRUCTURE_ALIGNMENT = {\n  database_migrations_included: [\n    '20250910000001_add_missing_v017_columns.sql',\n    '20250916000004_fix_v017_schema.sql', \n    '20250916000005_market_data_system.sql',\n    '20250916000006_add_v017_portfolio_fields.sql',\n    '20250916000007_jobs_system_minimal.sql'\n  ],\n  new_tables_supported: [\n    'trading.accounts',\n    'market.universe', \n    'market.timeframes',\n    'market.ingestion_status',\n    'market.bars',\n    'market.indicators',\n    'jobs.jobs',\n    'jobs.job_runs', \n    'jobs.job_run_logs'\n  ],\n  canonical_routes: '/api/infra/*',\n  legacy_support_until: 'v0.20.0'\n} as const;\n","// AUTO-GENERATED by scripts/generate-fingerprint.mjs\n// DO NOT EDIT MANUALLY - This file is regenerated on every build\n\n/**\n * Contracts Version and Fingerprint\n * \n * The fingerprint is a SHA256 hash of all schema files in v0_18_0\n * and is used to detect schema drift and ensure SSOT compliance.\n */\n\nexport const CONTRACTS_VERSION = \"0.19.1\";\nexport const CONTRACTS_FINGERPRINT = \"0.19.1:fff38a6da619fbc648368b655694138563c73124d49105f725c5d23959bca7ac\";\n\n// Helper function to validate fingerprint at runtime\nexport const validateFingerprint = (expectedFingerprint: string): boolean => {\n  return CONTRACTS_FINGERPRINT === expectedFingerprint;\n};\n\n// Helper function to get version info\nexport const getVersionInfo = () => ({\n  version: CONTRACTS_VERSION,\n  fingerprint: CONTRACTS_FINGERPRINT,\n  generatedAt: \"2025-10-15T12:27:45.132Z\",\n});\n","/**\n * @fileoverview Standard HTTP Headers for API Endpoints\n * @description Required headers for all API responses\n * @version 0.18.4\n */\n\n/**\n * Standard headers that must be included in all API responses\n */\nexport const STANDARD_HEADERS = {\n  'X-Contracts-Version': '0.18.4',\n  'Content-Type': 'application/json',\n} as const;\n","/**\n * @neuronetiq/contracts v0.18.0 - Infrastructure-Aligned Enhanced Contracts\n * \n * 🎯 INFRASTRUCTURE AUDIT INTEGRATION: All database changes since v0.17.0 included\n * 🔐 Enhanced Auth: Modern Supabase auth with JWKS validation\n * 🏗️ Jobs System: Unified async task orchestration for all teams\n * 📡 Real-time: WebSocket/SSE streaming endpoints\n * 🔗 Canonical Routes: /api/infra/* standardization with legacy compatibility\n * \n * Teams use enhanced imports:\n * - Auth: SupabaseJWTClaims, RoleDefinition, TokenValidation (JWKS-based)\n * - Portfolio: ManualInvestment (enhanced: exchange, account_type)\n * - Market: MarketUniverse, IngestionStatus, PrecomputedIndicators\n * - ML: Signal (enhanced: ta_fingerprint, bar_id confirmed in DB)\n * - Trading: TradingAccount (enhanced: new account types)\n * - Jobs: Job, CreateJobRequest (unified system)\n * - Routes: ROUTES.INFRA.* (canonical), ROUTES.* (legacy compatibility)\n */\n\n// PRIMARY EXPORTS - v0.18.3 normalized schemas with Infrastructure alignment\nexport * from './schemas/portfolio';\nexport * from './schemas/market';\nexport * from './schemas/ml';\nexport * from './schemas/trading';\nexport * from './routes/routes';\nexport * from './schemas/helpers';\nexport * from './schemas/auth';\nexport * from './schemas/jobs';\n\n// RoutesV2 and RouteGroups exports for canonical route definitions\nexport { RoutesV2, RouteGroups, validateRoutes } from './routes/routesV2';\n\n// Management improvements\nexport * from './schemas/endpoint-meta';\nexport * from './schemas/deprecation';\nexport * from './schemas/pagination';\nexport * from './schemas/streaming';\nexport * from './schemas/marketplace';\n\n// Export metadata constants\nexport { SCHEMA_VERSION, RELEASE_DATE, INFRASTRUCTURE_ALIGNMENT } from './schemas/index.js';\n\n// Contract fingerprint and version for SSOT validation\nexport { CONTRACTS_FINGERPRINT, CONTRACTS_VERSION } from './fingerprint';\n\n// Route Registry - CON-03 Route Schema Linking & Envelope Automation\nexport { RouteRegistry, RoutePaths, RouteDefinition, ROUTE_REGISTRY_METADATA } from './registry/RouteRegistry';\nexport * from './types/route-map';\n\n// Standard envelope and utilities\nexport { ApiEnvelope } from './envelopes/standard';\nexport { STANDARD_HEADERS } from './utils/headers';\n\n// CON-04 Runtime Validation & Type Guards\nexport * from './validators/validatePayload';\nexport * from './validators/validateEnvelope';\nexport * from './validators/guardFactory';\nexport * from './utils/errors';\n\n// Enhanced response envelope helpers (Management improvement #5)\nexport const successEnvelope = <T>(\n  data: T,\n  requestId: string,\n  options?: {\n    traceId?: string;\n    latencyMs?: number;\n    source?: string;\n    deprecation?: Record<string, unknown>;\n  }\n) => ({\n  success: true as const,\n  data,\n  requestId,\n  timestamp: new Date().toISOString(),\n  meta: {\n    contractsVersion: CONTRACTS_VERSION,\n    traceId: options?.traceId,\n    latencyMs: options?.latencyMs,\n    source: options?.source || 'infra-api',\n    deprecation: options?.deprecation\n  }\n});\n\nexport const errorEnvelope = (\n  code: string,\n  message: string,\n  requestId: string,\n  details?: Record<string, unknown>,\n  options?: {\n    traceId?: string;\n    latencyMs?: number;\n    source?: string;\n  }\n) => ({\n  success: false as const,\n  error: {\n    code,\n    message,\n    details,\n    timestamp: new Date().toISOString()\n  },\n  requestId,\n  meta: {\n    contractsVersion: CONTRACTS_VERSION,\n    traceId: options?.traceId,\n    latencyMs: options?.latencyMs,\n    source: options?.source || 'infra-api'\n  }\n});\n\n// Contract headers for API validation\n// Request ID generation for API tracing\nexport const generateRequestId = () => {\n  return `req_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n};\n\nexport const emitContractHeaders = () => ({\n  'X-Contracts-Version': CONTRACTS_VERSION,\n  'X-Contracts-Fingerprint': CONTRACTS_FINGERPRINT\n});\n\n// Import CONTRACTS_VERSION and CONTRACTS_FINGERPRINT\nimport { CONTRACTS_FINGERPRINT, CONTRACTS_VERSION } from './fingerprint';","/**\n * @fileoverview @neuronetiq/contracts SDK - Canonical Public API Surface\n * @description Unified exports for Frontend, Infra, and ML teams\n * @version 0.18.4\n */\n\n// Runtime validation (CON-04) - Main feature of this sprint\nexport * from \"./validation\";\n\n// Re-export core contracts functionality without conflicts\nexport {\n  RouteRegistry,\n  RoutePaths,\n  RouteDefinition,\n  ROUTE_REGISTRY_METADATA,\n  CONTRACTS_VERSION,\n  CONTRACTS_FINGERPRINT,\n  ROUTES,\n  AUTH_ROUTES,\n  USER_ROUTES,\n  ADMIN_ROUTES,\n  INFRA_ROUTES,\n  LEGACY_ROUTES,\n  SessionEnvelope,\n  UserEnvelope,\n  AuthResponse,\n  SupabaseAuthResponse,\n  UserAuthResponse\n} from \"../index\";\n\n// Standard envelope and utilities - re-exported from main index to avoid duplication\nexport {\n  ApiEnvelope,\n  STANDARD_HEADERS,\n  successEnvelope,\n  errorEnvelope,\n  generateRequestId,\n  emitContractHeaders\n} from \"../index\";\n\n// Export metadata constants\nexport { SCHEMA_VERSION, RELEASE_DATE, INFRASTRUCTURE_ALIGNMENT } from '../schemas/index.js';\n\n// Canonical SDK version constant\nexport const CONTRACTS_SDK_VERSION = \"0.18.4\";\n\n/**\n * @fileoverview SDK Usage Examples\n * @description Common usage patterns for the contracts SDK\n * @version 0.18.4\n */\n\n/**\n * Example: Basic payload validation\n *\n * ```typescript\n * import { validatePayload } from '@neuronetiq/contracts/sdk';\n * import { z } from 'zod';\n *\n * const userSchema = z.object({\n *   id: z.string(),\n *   email: z.string().email(),\n *   name: z.string()\n * });\n *\n * function createUser(data: unknown) {\n *   const validUser = validatePayload(userSchema, data);\n *   // validUser is now typed as { id: string, email: string, name: string }\n *   return validUser;\n * }\n * ```\n */\n\n/**\n * Example: Envelope validation for API responses\n *\n * ```typescript\n * import { validateEnvelope } from '@neuronetiq/contracts/sdk';\n * import { z } from 'zod';\n *\n * const portfolioSchema = z.object({\n *   total_value: z.number(),\n *   total_cost: z.number(),\n *   total_pl: z.number()\n * });\n *\n * async function fetchPortfolio() {\n *   const response = await fetch('/api/portfolio/summary');\n *   const data = await response.json();\n *\n *   const envelopeWithPortfolio = validateEnvelope(portfolioSchema);\n *   const result = envelopeWithPortfolio.parse(data);\n *\n *   // result.data is now typed as portfolio data\n *   return result.data;\n * }\n * ```\n */\n\n/**\n * Example: Type guards for runtime type checking\n *\n * ```typescript\n * import { createTypeGuard } from '@neuronetiq/contracts/sdk';\n * import { z } from 'zod';\n *\n * const tradeSchema = z.object({\n *   id: z.string(),\n *   symbol: z.string(),\n *   action: z.enum(['BUY', 'SELL']),\n *   size: z.number(),\n *   price: z.number()\n * });\n *\n * const isTrade = createTypeGuard(tradeSchema);\n *\n * function processTrades(data: unknown) {\n *   if (isTrade(data)) {\n *     // TypeScript knows data is Trade type\n *     console.log(`Trade: ${data.symbol} ${data.action} ${data.size} @ ${data.price}`);\n *   } else {\n *     console.log('Invalid trade data');\n *   }\n * }\n * ```\n */\n\n/**\n * Example: Route-specific validation\n *\n * ```typescript\n * import { validateRouteResponse } from '@neuronetiq/contracts/sdk';\n * import { ROUTES } from '@neuronetiq/contracts';\n *\n * async function fetchPortfolioSummary() {\n *   const response = await fetch(ROUTES.INFRA.PORTFOLIO.SUMMARY);\n *   const data = await response.json();\n *\n *   // Validates both envelope format and data structure\n *   validateRouteResponse(ROUTES.INFRA.PORTFOLIO.SUMMARY, data);\n *\n *   // TypeScript now knows data matches the route's expected response\n *   return data.data;\n * }\n * ```\n */\n\n/**\n * Example: Error handling with validation errors\n *\n * ```typescript\n * import { ValidationError } from '@neuronetiq/contracts/sdk';\n *\n * try {\n *   const result = validatePayload(userSchema, invalidData);\n * } catch (error) {\n *   if (error instanceof ValidationError) {\n *     // Handle validation error specifically\n *     console.error('Validation failed:', error.message);\n *     console.error('Details:', error.details);\n *\n *     // Log to monitoring service\n *     monitoring.logValidationError(error);\n *   } else {\n *     // Handle other errors\n *     console.error('Unexpected error:', error);\n *   }\n * }\n * ```\n */\n"]}