{"version":3,"sources":["../src/schemas/common.schemas.ts","../src/schemas/auth.schemas.ts","../src/schemas/users.schemas.ts","../src/schemas/organizations.schemas.ts","../src/schemas/conversations.schemas.ts","../src/schemas/agents.schemas.ts","../src/schemas/escalations.schemas.ts","../src/schemas/analytics.schemas.ts","../src/schemas/audit.schemas.ts","../src/schemas/integrations.schemas.ts","../src/routes/auth.routes.ts","../src/routes/public.routes.ts","../src/routes/knowledge.routes.ts","../src/routes/tools.routes.ts","../src/routes/conversations.routes.ts","../src/routes/agents.routes.ts","../src/routes/escalations.routes.ts","../src/routes/analytics.routes.ts","../src/routes/audit.routes.ts","../src/routes/integrations.routes.ts","../src/index.ts"],"names":["z","c","initContract"],"mappings":"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","file":"index.mjs","sourcesContent":["import { z } from 'zod';\n\n/**\n * Common reusable schemas and types\n */\n\n// Timestamp fields\nexport const timestampSchema = z.object({\n  createdAt: z.coerce.date(),\n  updatedAt: z.coerce.date(),\n});\n\n// Pagination\nexport const paginationQuerySchema = z.object({\n  page: z.coerce.number().int().positive().default(1),\n  limit: z.coerce.number().int().positive().max(100).default(20),\n});\n\nexport const paginationResponseSchema = z.object({\n  page: z.number().int().positive(),\n  limit: z.number().int().positive(),\n  total: z.number().int().nonnegative(),\n  totalPages: z.number().int().nonnegative(),\n});\n\n// UUID validation\nexport const uuidSchema = z.string().uuid();\n\n// Error responses\nexport const errorResponseSchema = z.object({\n  message: z.string(),\n  code: z.string().optional(),\n  details: z.record(z.unknown()).optional(),\n});\n\nexport const validationErrorResponseSchema = z.object({\n  message: z.string(),\n  errors: z.array(\n    z.object({\n      field: z.string(),\n      message: z.string(),\n    }),\n  ),\n});\n\n// Success responses\nexport const successResponseSchema = z.object({\n  message: z.string(),\n});\n\n// Export inferred types\nexport type TimestampFields = z.infer<typeof timestampSchema>;\nexport type PaginationQuery = z.infer<typeof paginationQuerySchema>;\nexport type PaginationResponse = z.infer<typeof paginationResponseSchema>;\nexport type ErrorResponse = z.infer<typeof errorResponseSchema>;\nexport type ValidationErrorResponse = z.infer<typeof validationErrorResponseSchema>;\nexport type SuccessResponse = z.infer<typeof successResponseSchema>;\n","import { z } from 'zod';\nimport { timestampSchema } from './common.schemas';\n\n/**\n * Authentication & Authorization Schemas\n */\n\n// Login\nexport const loginSchema = z.object({\n  email: z.string().email(),\n  password: z.string().min(8),\n});\n\nexport const loginResponseSchema = z.object({\n  accessToken: z.string(),\n  refreshToken: z.string(),\n  expiresIn: z.number(),\n  user: z.object({\n    id: z.string().uuid(),\n    email: z.string().email(),\n    name: z.string(),\n    role: z.enum(['admin', 'agent', 'viewer']),\n    organizationId: z.string().uuid(),\n  }),\n});\n\n// Register\nexport const registerSchema = z.object({\n  email: z.string().email(),\n  password: z.string().min(8).max(100),\n  name: z.string().min(1).max(100),\n  organizationName: z.string().min(1).max(100),\n});\n\nexport const registerResponseSchema = loginResponseSchema;\n\n// Refresh Token\nexport const refreshTokenSchema = z.object({\n  refreshToken: z.string(),\n});\n\nexport const refreshTokenResponseSchema = z.object({\n  accessToken: z.string(),\n  expiresIn: z.number(),\n});\n\n// API Key Creation\nexport const createApiKeySchema = z.object({\n  name: z.string().min(1).max(100),\n  permissions: z.array(z.string()).min(1),\n  expiresAt: z.coerce.date().optional(),\n});\n\nexport const apiKeyResponseSchema = z\n  .object({\n    id: z.string().uuid(),\n    name: z.string(),\n    key: z.string(), // Only returned on creation\n    keyPrefix: z.string(),\n    permissions: z.array(z.string()),\n    expiresAt: z.coerce.date().nullable(),\n    lastUsedAt: z.coerce.date().nullable(),\n  })\n  .merge(timestampSchema);\n\nexport const apiKeyListItemSchema = z\n  .object({\n    id: z.string().uuid(),\n    name: z.string(),\n    keyPrefix: z.string(),\n    permissions: z.array(z.string()),\n    expiresAt: z.coerce.date().nullable(),\n    lastUsedAt: z.coerce.date().nullable(),\n  })\n  .merge(timestampSchema);\n\n// Change Password\nexport const changePasswordSchema = z.object({\n  currentPassword: z.string(),\n  newPassword: z.string().min(8).max(100),\n});\n\n// Export inferred types\nexport type LoginInput = z.infer<typeof loginSchema>;\nexport type LoginResponse = z.infer<typeof loginResponseSchema>;\nexport type RegisterInput = z.infer<typeof registerSchema>;\nexport type RegisterResponse = z.infer<typeof registerResponseSchema>;\nexport type RefreshTokenInput = z.infer<typeof refreshTokenSchema>;\nexport type RefreshTokenResponse = z.infer<typeof refreshTokenResponseSchema>;\nexport type CreateApiKeyInput = z.infer<typeof createApiKeySchema>;\nexport type ApiKeyResponse = z.infer<typeof apiKeyResponseSchema>;\nexport type ApiKeyListItem = z.infer<typeof apiKeyListItemSchema>;\nexport type ChangePasswordInput = z.infer<typeof changePasswordSchema>;\n","import { z } from 'zod';\nimport { timestampSchema } from './common.schemas';\n\n/**\n * User Management Schemas\n */\n\n// User object\nexport const userSchema = z\n  .object({\n    id: z.string().uuid(),\n    email: z.string().email(),\n    name: z.string(),\n    role: z.enum(['admin', 'agent', 'viewer']),\n    status: z.enum(['active', 'invited', 'suspended']),\n    lastActiveAt: z.coerce.date().nullable(),\n    organizationId: z.string().uuid(),\n  })\n  .merge(timestampSchema);\n\n// Create user\nexport const createUserSchema = z.object({\n  email: z.string().email(),\n  name: z.string().min(1).max(100),\n  role: z.enum(['admin', 'agent', 'viewer']).default('agent'),\n  password: z.string().min(8).max(100).optional(), // Optional for invited users\n});\n\n// Update user\nexport const updateUserSchema = z.object({\n  name: z.string().min(1).max(100).optional(),\n  role: z.enum(['admin', 'agent', 'viewer']).optional(),\n  status: z.enum(['active', 'invited', 'suspended']).optional(),\n});\n\n// User list with pagination\nexport const userListResponseSchema = z.object({\n  users: z.array(userSchema),\n  pagination: z.object({\n    page: z.number(),\n    limit: z.number(),\n    total: z.number(),\n    totalPages: z.number(),\n  }),\n});\n\n// Export inferred types\nexport type User = z.infer<typeof userSchema>;\nexport type CreateUserInput = z.infer<typeof createUserSchema>;\nexport type UpdateUserInput = z.infer<typeof updateUserSchema>;\nexport type UserListResponse = z.infer<typeof userListResponseSchema>;\n","import { z } from 'zod';\nimport { timestampSchema } from './common.schemas';\n\n/**\n * Organization Management Schemas\n */\n\n// Organization object\nexport const organizationSchema = z\n  .object({\n    id: z.string().uuid(),\n    name: z.string(),\n    slug: z.string(),\n    plan: z.enum(['starter', 'growth', 'professional', 'enterprise']),\n    status: z.enum(['active', 'suspended', 'cancelled']),\n  })\n  .merge(timestampSchema);\n\n// Create organization\nexport const createOrganizationSchema = z.object({\n  name: z.string().min(1).max(100),\n  slug: z\n    .string()\n    .min(3)\n    .max(50)\n    .regex(/^[a-z0-9-]+$/, 'Slug must contain only lowercase letters, numbers, and hyphens'),\n});\n\n// Update organization\nexport const updateOrganizationSchema = z.object({\n  name: z.string().min(1).max(100).optional(),\n  plan: z.enum(['starter', 'growth', 'professional', 'enterprise']).optional(),\n  status: z.enum(['active', 'suspended', 'cancelled']).optional(),\n});\n\n// Organization settings\nexport const organizationSettingsSchema = z.object({\n  aiTransparencyEnabled: z.boolean().default(false),\n  proactiveBiasMonitoring: z.boolean().default(false),\n  dataResidency: z.enum(['us', 'eu', 'asia']).default('us'),\n  llmCostLimit: z.number().positive().optional(),\n  autoEscalationEnabled: z.boolean().default(true),\n  escalationThreshold: z.number().min(0).max(100).default(75),\n});\n\n// Export inferred types\nexport type Organization = z.infer<typeof organizationSchema>;\nexport type CreateOrganizationInput = z.infer<typeof createOrganizationSchema>;\nexport type UpdateOrganizationInput = z.infer<typeof updateOrganizationSchema>;\nexport type OrganizationSettings = z.infer<typeof organizationSettingsSchema>;\n","import { z } from 'zod';\nimport { timestampSchema, paginationResponseSchema } from './common.schemas';\n\n/**\n * Conversation Management Schemas\n */\n\n// Message schema\nexport const messageSchema = z\n  .object({\n    id: z.string().uuid(),\n    content: z.string(),\n    role: z.enum(['user', 'assistant', 'system']),\n    agentType: z\n      .enum([\n        'orchestrator',\n        'listener',\n        'resolver',\n        'technical',\n        'billing',\n        'product',\n        'anticipator',\n      ])\n      .nullable(),\n    tokenCount: z.number().int().nonnegative(),\n    cost: z.number().nonnegative(),\n    sentiment: z.enum(['positive', 'neutral', 'negative', 'frustrated', 'angry']).nullable(),\n    intent: z.string().nullable(),\n    metadata: z.record(z.unknown()).nullable(),\n  })\n  .merge(timestampSchema);\n\n// Conversation schema\nexport const conversationSchema = z\n  .object({\n    id: z.string().uuid(),\n    customerId: z.string(),\n    customerEmail: z.string().email().nullable(),\n    customerName: z.string().nullable(),\n    channel: z.enum(['web', 'mobile', 'email', 'slack', 'api']),\n    status: z.enum(['active', 'resolved', 'escalated']),\n    priority: z.enum(['low', 'normal', 'high', 'urgent']),\n    sentiment: z.enum(['positive', 'neutral', 'negative', 'frustrated', 'angry']),\n    effortScore: z.number().min(1).max(5).nullable(),\n    resolved: z.boolean(),\n    resolvedAt: z.coerce.date().nullable(),\n    firstResponseAt: z.coerce.date().nullable(),\n    contextSummary: z.string().nullable(),\n    metadata: z.record(z.unknown()).nullable(),\n    organizationId: z.string().uuid(),\n  })\n  .merge(timestampSchema);\n\n// Conversation with messages\nexport const conversationWithMessagesSchema = conversationSchema.extend({\n  messages: z.array(messageSchema),\n});\n\n// Create conversation\nexport const createConversationSchema = z.object({\n  customerId: z.string().min(1),\n  customerEmail: z.string().email().optional(),\n  customerName: z.string().optional(),\n  channel: z.enum(['web', 'mobile', 'email', 'slack', 'api']).default('web'),\n  priority: z.enum(['low', 'normal', 'high', 'urgent']).default('normal'),\n  metadata: z.record(z.unknown()).optional(),\n});\n\n// Send message\nexport const sendMessageSchema = z.object({\n  content: z.string().min(1).max(10000),\n  role: z.enum(['user', 'assistant']).default('user'),\n  metadata: z.record(z.unknown()).optional(),\n});\n\n// Update conversation\nexport const updateConversationSchema = z.object({\n  status: z.enum(['active', 'resolved', 'escalated']).optional(),\n  priority: z.enum(['low', 'normal', 'high', 'urgent']).optional(),\n  effortScore: z.number().min(1).max(5).optional(),\n  metadata: z.record(z.unknown()).optional(),\n});\n\n// Conversation list response\nexport const conversationListResponseSchema = z.object({\n  conversations: z.array(conversationSchema),\n  pagination: paginationResponseSchema,\n});\n\n// Conversation filters\nexport const conversationFiltersSchema = z.object({\n  status: z.enum(['active', 'resolved', 'escalated']).optional(),\n  priority: z.enum(['low', 'normal', 'high', 'urgent']).optional(),\n  channel: z.enum(['web', 'mobile', 'email', 'slack', 'api']).optional(),\n  customerId: z.string().optional(),\n  fromDate: z.coerce.date().optional(),\n  toDate: z.coerce.date().optional(),\n});\n\n// Export inferred types\nexport type Message = z.infer<typeof messageSchema>;\nexport type Conversation = z.infer<typeof conversationSchema>;\nexport type ConversationWithMessages = z.infer<typeof conversationWithMessagesSchema>;\nexport type CreateConversationInput = z.infer<typeof createConversationSchema>;\nexport type SendMessageInput = z.infer<typeof sendMessageSchema>;\nexport type UpdateConversationInput = z.infer<typeof updateConversationSchema>;\nexport type ConversationListResponse = z.infer<typeof conversationListResponseSchema>;\nexport type ConversationFilters = z.infer<typeof conversationFiltersSchema>;\n","import { z } from 'zod';\nimport { timestampSchema } from './common.schemas';\n\n/**\n * Agent System Schemas\n */\n\n// Agent types\nexport const agentTypeEnum = z.enum([\n  'orchestrator',\n  'listener',\n  'resolver',\n  'technical',\n  'billing',\n  'product',\n  'anticipator',\n]);\n\n// Agent action schema\nexport const agentActionSchema = z\n  .object({\n    id: z.string().uuid(),\n    agentType: agentTypeEnum,\n    action: z.string(),\n    status: z.enum(['pending', 'in_progress', 'completed', 'failed']),\n    input: z.record(z.unknown()).nullable(),\n    output: z.record(z.unknown()).nullable(),\n    toolName: z.string().nullable(),\n    toolParams: z.record(z.unknown()).nullable(),\n    toolResult: z.record(z.unknown()).nullable(),\n    reasoning: z.string().nullable(), // XAI explanation\n    tokenCount: z.number().int().nonnegative(),\n    cost: z.number().nonnegative(),\n    duration: z.number().int().nullable(), // milliseconds\n    error: z.string().nullable(),\n    conversationId: z.string().uuid(),\n    completedAt: z.coerce.date().nullable(),\n  })\n  .merge(timestampSchema);\n\n// Agent status\nexport const agentStatusSchema = z.object({\n  agentType: agentTypeEnum,\n  status: z.enum(['active', 'idle', 'error']),\n  currentLoad: z.number().int().nonnegative(),\n  actionsPerHour: z.number().int().nonnegative(),\n  averageResponseTime: z.number().nonnegative(), // milliseconds\n  errorRate: z.number().min(0).max(100), // percentage\n});\n\n// Agent configuration\nexport const agentConfigSchema = z.object({\n  agentType: agentTypeEnum,\n  enabled: z.boolean(),\n  maxConcurrent: z.number().int().positive().default(10),\n  timeout: z.number().int().positive().default(30000), // milliseconds\n  retryAttempts: z.number().int().nonnegative().default(3),\n  llmModel: z.string().default('gpt-4o-mini'),\n  temperature: z.number().min(0).max(2).default(0.7),\n  systemPrompt: z.string().optional(),\n  tools: z.array(z.string()).optional(),\n});\n\n// Agent performance metrics\nexport const agentMetricsSchema = z.object({\n  agentType: agentTypeEnum,\n  totalActions: z.number().int().nonnegative(),\n  successfulActions: z.number().int().nonnegative(),\n  failedActions: z.number().int().nonnegative(),\n  averageDuration: z.number().nonnegative(),\n  totalCost: z.number().nonnegative(),\n  totalTokens: z.number().int().nonnegative(),\n  period: z.object({\n    from: z.coerce.date(),\n    to: z.coerce.date(),\n  }),\n});\n\n// Live agentic system status\nexport const agenticSystemStatusSchema = z.object({\n  orchestratorLoad: z.number().min(0).max(100), // percentage\n  resolverActionsPerHour: z.number().int().nonnegative(),\n  agents: z.array(\n    z.object({\n      type: agentTypeEnum,\n      status: z.enum(['active', 'idle']),\n    }),\n  ),\n});\n\n// Export inferred types\nexport type AgentType = z.infer<typeof agentTypeEnum>;\nexport type AgentAction = z.infer<typeof agentActionSchema>;\nexport type AgentStatus = z.infer<typeof agentStatusSchema>;\nexport type AgentConfig = z.infer<typeof agentConfigSchema>;\nexport type AgentMetrics = z.infer<typeof agentMetricsSchema>;\nexport type AgenticSystemStatus = z.infer<typeof agenticSystemStatusSchema>;\n","import { z } from 'zod';\nimport { timestampSchema, paginationResponseSchema } from './common.schemas';\n\n/**\n * Escalation System Schemas\n */\n\n// Escalation schema\nexport const escalationSchema = z\n  .object({\n    id: z.string().uuid(),\n    reason: z.string(),\n    priority: z.enum(['low', 'normal', 'high', 'urgent']),\n    status: z.enum(['new', 'assigned', 'in_progress', 'resolved']),\n    aiSummary: z.string(),\n    customerContext: z.record(z.unknown()).nullable(),\n    assignedAt: z.coerce.date().nullable(),\n    resolvedAt: z.coerce.date().nullable(),\n    resolution: z.string().nullable(),\n    conversationId: z.string().uuid(),\n    organizationId: z.string().uuid(),\n    assignedToId: z.string().uuid().nullable(),\n    assignedTo: z\n      .object({\n        id: z.string().uuid(),\n        name: z.string(),\n        email: z.string().email(),\n      })\n      .nullable(),\n  })\n  .merge(timestampSchema);\n\n// Create escalation (typically created automatically by system)\nexport const createEscalationSchema = z.object({\n  conversationId: z.string().uuid(),\n  reason: z.string().min(1),\n  priority: z.enum(['low', 'normal', 'high', 'urgent']).default('normal'),\n  aiSummary: z.string(),\n  customerContext: z.record(z.unknown()).optional(),\n});\n\n// Update escalation\nexport const updateEscalationSchema = z.object({\n  status: z.enum(['new', 'assigned', 'in_progress', 'resolved']).optional(),\n  priority: z.enum(['low', 'normal', 'high', 'urgent']).optional(),\n  assignedToId: z.string().uuid().nullable().optional(),\n  resolution: z.string().optional(),\n});\n\n// Escalation list response\nexport const escalationListResponseSchema = z.object({\n  escalations: z.array(escalationSchema),\n  pagination: paginationResponseSchema,\n});\n\n// Escalation filters\nexport const escalationFiltersSchema = z.object({\n  status: z.enum(['new', 'assigned', 'in_progress', 'resolved']).optional(),\n  priority: z.enum(['low', 'normal', 'high', 'urgent']).optional(),\n  assignedToId: z.string().uuid().optional(),\n  fromDate: z.coerce.date().optional(),\n  toDate: z.coerce.date().optional(),\n});\n\n// Escalation assignment\nexport const assignEscalationSchema = z.object({\n  userId: z.string().uuid(),\n});\n\n// Export inferred types\nexport type Escalation = z.infer<typeof escalationSchema>;\nexport type CreateEscalationInput = z.infer<typeof createEscalationSchema>;\nexport type UpdateEscalationInput = z.infer<typeof updateEscalationSchema>;\nexport type EscalationListResponse = z.infer<typeof escalationListResponseSchema>;\nexport type EscalationFilters = z.infer<typeof escalationFiltersSchema>;\nexport type AssignEscalationInput = z.infer<typeof assignEscalationSchema>;\n","import { z } from 'zod';\n\n/**\n * Analytics & Metrics Schemas\n */\n\n// Dashboard metrics\nexport const dashboardMetricsSchema = z.object({\n  firstContactResolution: z.object({\n    value: z.number().min(0).max(100), // percentage\n    change: z.number(),\n    changeType: z.enum(['increase', 'decrease']),\n  }),\n  customerEffortScore: z.object({\n    value: z.number().min(1).max(5),\n    change: z.number(),\n    changeType: z.enum(['increase', 'decrease']),\n  }),\n  emotionalValueIndex: z.object({\n    value: z.number().min(0).max(100),\n    change: z.number(),\n    changeType: z.enum(['increase', 'decrease']),\n  }),\n  supportROI: z.object({\n    value: z.number(), // percentage\n    retainedRevenue: z.number(),\n  }),\n});\n\n// Sentiment over time\nexport const sentimentOverTimeSchema = z.object({\n  dataPoints: z.array(\n    z.object({\n      date: z.coerce.date(),\n      evi: z.number().min(0).max(100),\n    }),\n  ),\n});\n\n// Top frustration drivers\nexport const frustrationDriverSchema = z.object({\n  topic: z.string(),\n  mentions: z.number().int().nonnegative(),\n  percentage: z.number().min(0).max(100),\n  severity: z.enum(['low', 'medium', 'high']),\n});\n\nexport const frustrationDriversSchema = z.object({\n  drivers: z.array(frustrationDriverSchema),\n});\n\n// Emerging issues\nexport const emergingIssueSchema = z.object({\n  topic: z.string(),\n  mentions: z.number().int().nonnegative(),\n  growthRate: z.number(), // percentage\n});\n\nexport const emergingIssuesSchema = z.object({\n  issues: z.array(emergingIssueSchema),\n});\n\n// Conversation metrics\nexport const conversationMetricsSchema = z.object({\n  id: z.string().uuid(),\n  conversationId: z.string().uuid(),\n  firstContactResolution: z.boolean(),\n  effortScore: z.number().min(1).max(5).nullable(),\n  emotionalValueIndex: z.number().min(0).max(100).nullable(),\n  totalMessages: z.number().int().nonnegative(),\n  totalTokens: z.number().int().nonnegative(),\n  totalCost: z.number().nonnegative(),\n  agentsInvolved: z.array(z.string()),\n  toolsUsed: z.array(z.string()),\n  durationSeconds: z.number().int().nullable(),\n  resolutionTimeSeconds: z.number().int().nullable(),\n  calculatedAt: z.coerce.date(),\n});\n\n// FinOps metrics\nexport const finOpsMetricsSchema = z.object({\n  totalSpend: z.object({\n    value: z.number().nonnegative(),\n    period: z.string(), // \"MTD\", \"30d\", etc.\n    change: z.number(),\n  }),\n  resolvedConversations: z.object({\n    value: z.number().int().nonnegative(),\n    change: z.number(),\n  }),\n  avgCostPerResolution: z.object({\n    value: z.number().nonnegative(),\n    change: z.number(),\n    changeType: z.enum(['increase', 'decrease']),\n  }),\n  dataEgressFees: z.object({\n    value: z.number().nonnegative(),\n    poweredBy: z.string(),\n  }),\n  spendOverTime: z.array(\n    z.object({\n      date: z.coerce.date(),\n      spend: z.number().nonnegative(),\n      limit: z.number().nonnegative(),\n    }),\n  ),\n  usageBreakdown: z.array(\n    z.object({\n      conversationId: z.string(),\n      date: z.coerce.date(),\n      agentsInvolved: z.array(z.string()),\n      tokens: z.number().int().nonnegative(),\n      totalCost: z.number().nonnegative(),\n    }),\n  ),\n});\n\n// Analytics query parameters\nexport const analyticsQuerySchema = z.object({\n  from: z.coerce.date(),\n  to: z.coerce.date(),\n  granularity: z.enum(['hour', 'day', 'week', 'month']).default('day'),\n});\n\n// Export inferred types\nexport type DashboardMetrics = z.infer<typeof dashboardMetricsSchema>;\nexport type SentimentOverTime = z.infer<typeof sentimentOverTimeSchema>;\nexport type FrustrationDriver = z.infer<typeof frustrationDriverSchema>;\nexport type FrustrationDrivers = z.infer<typeof frustrationDriversSchema>;\nexport type EmergingIssue = z.infer<typeof emergingIssueSchema>;\nexport type EmergingIssues = z.infer<typeof emergingIssuesSchema>;\nexport type ConversationMetrics = z.infer<typeof conversationMetricsSchema>;\nexport type FinOpsMetrics = z.infer<typeof finOpsMetricsSchema>;\nexport type AnalyticsQuery = z.infer<typeof analyticsQuerySchema>;\n","import { z } from 'zod';\nimport { paginationResponseSchema } from './common.schemas';\n\n/**\n * Audit Trail & Governance Schemas\n */\n\n// Audit log entry\nexport const auditLogSchema = z.object({\n  id: z.string().uuid(),\n  action: z.string(),\n  actorType: z.enum(['user', 'agent', 'system']),\n  actorId: z.string().nullable(),\n  targetType: z.string().nullable(),\n  targetId: z.string().nullable(),\n  details: z.record(z.unknown()),\n  decision: z.string().nullable(), // XAI decision made\n  reasoning: z.string().nullable(), // XAI reasoning\n  rbacCheck: z.record(z.unknown()).nullable(), // RBAC permissions verified\n  ipAddress: z.string().nullable(),\n  userAgent: z.string().nullable(),\n  timestamp: z.coerce.date(),\n  organizationId: z.string().uuid(),\n  userId: z.string().uuid().nullable(),\n  agentActionId: z.string().uuid().nullable(),\n});\n\n// Audit log filters\nexport const auditLogFiltersSchema = z.object({\n  action: z.string().optional(),\n  actorType: z.enum(['user', 'agent', 'system']).optional(),\n  actorId: z.string().optional(),\n  targetType: z.string().optional(),\n  targetId: z.string().optional(),\n  fromDate: z.coerce.date().optional(),\n  toDate: z.coerce.date().optional(),\n});\n\n// Audit log list response\nexport const auditLogListResponseSchema = z.object({\n  logs: z.array(auditLogSchema),\n  pagination: paginationResponseSchema,\n});\n\n// RBAC permission check\nexport const rbacPermissionSchema = z.object({\n  resource: z.string(),\n  action: z.string(),\n  allowed: z.boolean(),\n  reason: z.string().optional(),\n});\n\n// Export audit log\nexport const exportAuditLogSchema = z.object({\n  format: z.enum(['json', 'csv']),\n  filters: auditLogFiltersSchema.optional(),\n});\n\n// Export inferred types\nexport type AuditLog = z.infer<typeof auditLogSchema>;\nexport type AuditLogFilters = z.infer<typeof auditLogFiltersSchema>;\nexport type AuditLogListResponse = z.infer<typeof auditLogListResponseSchema>;\nexport type RBACPermission = z.infer<typeof rbacPermissionSchema>;\nexport type ExportAuditLogInput = z.infer<typeof exportAuditLogSchema>;\n","import { z } from 'zod';\nimport { timestampSchema } from './common.schemas';\n\n/**\n * Integrations & Webhooks Schemas\n */\n\n// Integration types\nexport const integrationTypeEnum = z.enum(['salesforce', 'slack', 'zendesk']);\n\n// Integration schema\nexport const integrationSchema = z\n  .object({\n    id: z.string().uuid(),\n    type: integrationTypeEnum,\n    name: z.string(),\n    status: z.enum(['connected', 'disconnected', 'error']),\n    lastSyncAt: z.coerce.date().nullable(),\n    syncStatus: z.enum(['success', 'failed', 'in_progress']).nullable(),\n    syncError: z.string().nullable(),\n    organizationId: z.string().uuid(),\n  })\n  .merge(timestampSchema);\n\n// Create integration\nexport const createIntegrationSchema = z.object({\n  type: integrationTypeEnum,\n  name: z.string().min(1).max(100),\n  config: z.record(z.unknown()),\n  credentials: z.record(z.unknown()),\n});\n\n// Update integration\nexport const updateIntegrationSchema = z.object({\n  name: z.string().min(1).max(100).optional(),\n  config: z.record(z.unknown()).optional(),\n  credentials: z.record(z.unknown()).optional(),\n});\n\n// Webhook schema\nexport const webhookSchema = z\n  .object({\n    id: z.string().uuid(),\n    url: z.string().url(),\n    events: z.array(z.string()),\n    status: z.enum(['active', 'paused', 'failed']),\n    lastTriggered: z.coerce.date().nullable(),\n    failureCount: z.number().int().nonnegative(),\n    organizationId: z.string().uuid(),\n  })\n  .merge(timestampSchema);\n\n// Create webhook\nexport const createWebhookSchema = z.object({\n  url: z.string().url(),\n  events: z\n    .array(\n      z.enum([\n        'conversation.created',\n        'conversation.resolved',\n        'conversation.escalated',\n        'escalation.created',\n        'escalation.assigned',\n        'escalation.resolved',\n        'agent.action.completed',\n      ]),\n    )\n    .min(1),\n});\n\n// Update webhook\nexport const updateWebhookSchema = z.object({\n  url: z.string().url().optional(),\n  events: z.array(z.string()).optional(),\n  status: z.enum(['active', 'paused', 'failed']).optional(),\n});\n\n// Webhook delivery\nexport const webhookDeliverySchema = z.object({\n  id: z.string().uuid(),\n  event: z.string(),\n  status: z.enum(['pending', 'delivered', 'failed']),\n  statusCode: z.number().int().nullable(),\n  response: z.string().nullable(),\n  attempts: z.number().int().nonnegative(),\n  nextRetry: z.coerce.date().nullable(),\n  deliveredAt: z.coerce.date().nullable(),\n  createdAt: z.coerce.date(),\n  webhookId: z.string().uuid(),\n});\n\n// Test webhook\nexport const testWebhookSchema = z.object({\n  event: z.string(),\n  payload: z.record(z.unknown()),\n});\n\n// Export inferred types\nexport type IntegrationType = z.infer<typeof integrationTypeEnum>;\nexport type Integration = z.infer<typeof integrationSchema>;\nexport type CreateIntegrationInput = z.infer<typeof createIntegrationSchema>;\nexport type UpdateIntegrationInput = z.infer<typeof updateIntegrationSchema>;\nexport type Webhook = z.infer<typeof webhookSchema>;\nexport type CreateWebhookInput = z.infer<typeof createWebhookSchema>;\nexport type UpdateWebhookInput = z.infer<typeof updateWebhookSchema>;\nexport type WebhookDelivery = z.infer<typeof webhookDeliverySchema>;\nexport type TestWebhookInput = z.infer<typeof testWebhookSchema>;\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  loginSchema,\n  loginResponseSchema,\n  registerSchema,\n  registerResponseSchema,\n  refreshTokenSchema,\n  refreshTokenResponseSchema,\n  createApiKeySchema,\n  apiKeyResponseSchema,\n  apiKeyListItemSchema,\n  changePasswordSchema,\n} from '../schemas/auth.schemas';\nimport { errorResponseSchema, successResponseSchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nexport const authContract = c.router({\n  login: {\n    method: 'POST',\n    path: '/auth/login',\n    body: loginSchema,\n    responses: {\n      200: loginResponseSchema,\n      401: errorResponseSchema,\n      400: errorResponseSchema,\n    },\n    summary: 'Login with email and password',\n  },\n  register: {\n    method: 'POST',\n    path: '/auth/register',\n    body: registerSchema,\n    responses: {\n      201: registerResponseSchema,\n      400: errorResponseSchema,\n      409: errorResponseSchema,\n    },\n    summary: 'Register a new organization and admin user',\n  },\n  refreshToken: {\n    method: 'POST',\n    path: '/auth/refresh',\n    body: refreshTokenSchema,\n    responses: {\n      200: refreshTokenResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Refresh access token',\n  },\n  changePassword: {\n    method: 'POST',\n    path: '/auth/change-password',\n    body: changePasswordSchema,\n    responses: {\n      200: successResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Change user password',\n  },\n  // API Key Management\n  createApiKey: {\n    method: 'POST',\n    path: '/auth/api-keys',\n    body: createApiKeySchema,\n    responses: {\n      201: apiKeyResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Create a new API key',\n  },\n  listApiKeys: {\n    method: 'GET',\n    path: '/auth/api-keys',\n    responses: {\n      200: z.object({\n        apiKeys: z.array(apiKeyListItemSchema),\n      }),\n      401: errorResponseSchema,\n    },\n    summary: 'List all API keys',\n  },\n  deleteApiKey: {\n    method: 'DELETE',\n    path: '/auth/api-keys/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({}),\n    responses: {\n      200: successResponseSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Delete an API key',\n  },\n  createPublicApiKey: {\n    method: 'POST',\n    path: '/auth/public-api-keys',\n    body: z.object({\n      name: z.string().min(1).max(100).optional(),\n    }),\n    responses: {\n      201: apiKeyResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Create a public API key for frontend SDK',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport { errorResponseSchema, successResponseSchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nexport const publicContract = c.router({\n  identify: {\n    method: 'POST',\n    path: '/public/identify',\n    body: z.object({\n      userId: z.string().min(1),\n      userData: z.record(z.unknown()).optional(),\n    }),\n    responses: {\n      200: successResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Identify user for persistent memory (frontend SDK)',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport { errorResponseSchema, successResponseSchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nconst knowledgeDocumentSchema = z.object({\n  id: z.string().uuid(),\n  documentId: z.string(),\n  filename: z.string(),\n  contentType: z.string(),\n  agentType: z.string().nullable(),\n  fileSize: z.number(),\n  chunkCount: z.number(),\n  status: z.string(),\n  uploadedAt: z.coerce.date(),\n  processedAt: z.coerce.date().nullable(),\n});\n\nexport const knowledgeContract = c.router({\n  uploadDocument: {\n    method: 'POST',\n    path: '/knowledge/upload',\n    contentType: 'multipart/form-data',\n    body: z.object({\n      documentId: z.string().min(1),\n      agentType: z.string().optional(),\n      file: z.any(), // File will be handled by NestJS FileInterceptor\n    }),\n    responses: {\n      201: knowledgeDocumentSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Upload a knowledge document (PDF, Markdown, or Text)',\n  },\n  listDocuments: {\n    method: 'GET',\n    path: '/knowledge/documents',\n    query: z.object({\n      agentType: z.string().optional(),\n      status: z.string().optional(),\n    }),\n    responses: {\n      200: z.object({\n        documents: z.array(knowledgeDocumentSchema),\n      }),\n      401: errorResponseSchema,\n    },\n    summary: 'List knowledge documents',\n  },\n  getDocument: {\n    method: 'GET',\n    path: '/knowledge/documents/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    responses: {\n      200: knowledgeDocumentSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get knowledge document by ID',\n  },\n  deleteDocument: {\n    method: 'DELETE',\n    path: '/knowledge/documents/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({}),\n    responses: {\n      200: successResponseSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Delete knowledge document and all its chunks',\n  },\n  updateDocumentAgent: {\n    method: 'PATCH',\n    path: '/knowledge/documents/:id/agent',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({\n      agentType: z.string().nullable(),\n    }),\n    responses: {\n      200: knowledgeDocumentSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Update document agent assignment',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport { errorResponseSchema, successResponseSchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nconst toolSchema = z.object({\n  id: z.string().uuid(),\n  name: z.string(),\n  description: z.string(),\n  agentType: z.string().nullable(),\n  endpointUrl: z.string().url(),\n  httpMethod: z.string(),\n  bodySchema: z.record(z.unknown()),\n  headers: z.record(z.string()).nullable(),\n  enabled: z.boolean(),\n  createdAt: z.coerce.date(),\n  updatedAt: z.coerce.date(),\n});\n\nconst toolExecutionResponseSchema = z.object({\n  success: z.boolean(),\n  statusCode: z.number(),\n  data: z.unknown().optional(),\n  error: z.string().optional(),\n});\n\nexport const toolsContract = c.router({\n  createTool: {\n    method: 'POST',\n    path: '/tools',\n    body: z.object({\n      name: z.string().min(1).max(100),\n      description: z.string().min(1).max(500),\n      endpointUrl: z.string().url(),\n      httpMethod: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).optional(),\n      bodySchema: z.record(z.unknown()),\n      headers: z.record(z.string()).optional(),\n      agentType: z.string().optional(),\n    }),\n    responses: {\n      201: toolSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Register a new external tool',\n  },\n  listTools: {\n    method: 'GET',\n    path: '/tools',\n    query: z.object({\n      agentType: z.string().optional(),\n      enabled: z.string().optional(),\n    }),\n    responses: {\n      200: z.object({\n        tools: z.array(toolSchema),\n      }),\n      401: errorResponseSchema,\n    },\n    summary: 'List all registered tools',\n  },\n  getTool: {\n    method: 'GET',\n    path: '/tools/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    responses: {\n      200: toolSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get tool by ID',\n  },\n  updateTool: {\n    method: 'PATCH',\n    path: '/tools/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({\n      name: z.string().min(1).max(100).optional(),\n      description: z.string().min(1).max(500).optional(),\n      endpointUrl: z.string().url().optional(),\n      httpMethod: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).optional(),\n      bodySchema: z.record(z.unknown()).optional(),\n      headers: z.record(z.string()).optional(),\n      agentType: z.string().nullable().optional(),\n      enabled: z.boolean().optional(),\n    }),\n    responses: {\n      200: toolSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Update tool configuration',\n  },\n  deleteTool: {\n    method: 'DELETE',\n    path: '/tools/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({}),\n    responses: {\n      200: successResponseSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Delete a tool',\n  },\n  executeTool: {\n    method: 'POST',\n    path: '/tools/:id/execute',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({\n      body: z.record(z.unknown()).optional(),\n    }),\n    responses: {\n      200: toolExecutionResponseSchema,\n      400: errorResponseSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n      500: errorResponseSchema,\n    },\n    summary: 'Execute a registered tool',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  createConversationSchema,\n  conversationSchema,\n  conversationWithMessagesSchema,\n  sendMessageSchema,\n  messageSchema,\n  updateConversationSchema,\n  conversationListResponseSchema,\n  conversationFiltersSchema,\n} from '../schemas/conversations.schemas';\nimport { errorResponseSchema, paginationQuerySchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nexport const conversationsContract = c.router({\n  createConversation: {\n    method: 'POST',\n    path: '/conversations',\n    body: createConversationSchema,\n    responses: {\n      201: conversationSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Create a new conversation',\n  },\n  getConversation: {\n    method: 'GET',\n    path: '/conversations/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    responses: {\n      200: conversationWithMessagesSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get conversation by ID with messages',\n  },\n  listConversations: {\n    method: 'GET',\n    path: '/conversations',\n    query: paginationQuerySchema.merge(conversationFiltersSchema),\n    responses: {\n      200: conversationListResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'List conversations with pagination and filters',\n  },\n  updateConversation: {\n    method: 'PATCH',\n    path: '/conversations/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: updateConversationSchema,\n    responses: {\n      200: conversationSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Update conversation',\n  },\n  sendMessage: {\n    method: 'POST',\n    path: '/conversations/:id/messages',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: sendMessageSchema,\n    responses: {\n      201: messageSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Send a message in a conversation',\n  },\n  getMessages: {\n    method: 'GET',\n    path: '/conversations/:id/messages',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    query: paginationQuerySchema,\n    responses: {\n      200: z.object({\n        messages: z.array(messageSchema),\n        pagination: z.object({\n          page: z.number(),\n          limit: z.number(),\n          total: z.number(),\n          totalPages: z.number(),\n        }),\n      }),\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get messages for a conversation',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  agentActionSchema,\n  agentStatusSchema,\n  agentConfigSchema,\n  agentMetricsSchema,\n  agenticSystemStatusSchema,\n  agentTypeEnum,\n} from '../schemas/agents.schemas';\nimport { errorResponseSchema, paginationQuerySchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nexport const agentsContract = c.router({\n  getSystemStatus: {\n    method: 'GET',\n    path: '/agents/status',\n    responses: {\n      200: agenticSystemStatusSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get live agentic system status',\n  },\n  getAgentStatus: {\n    method: 'GET',\n    path: '/agents/:agentType/status',\n    pathParams: z.object({\n      agentType: agentTypeEnum,\n    }),\n    responses: {\n      200: agentStatusSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get status for a specific agent',\n  },\n  getAgentMetrics: {\n    method: 'GET',\n    path: '/agents/:agentType/metrics',\n    pathParams: z.object({\n      agentType: agentTypeEnum,\n    }),\n    query: z.object({\n      from: z.coerce.date(),\n      to: z.coerce.date(),\n    }),\n    responses: {\n      200: agentMetricsSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get performance metrics for an agent',\n  },\n  getAgentConfig: {\n    method: 'GET',\n    path: '/agents/:agentType/config',\n    pathParams: z.object({\n      agentType: agentTypeEnum,\n    }),\n    responses: {\n      200: agentConfigSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get agent configuration',\n  },\n  updateAgentConfig: {\n    method: 'PATCH',\n    path: '/agents/:agentType/config',\n    pathParams: z.object({\n      agentType: agentTypeEnum,\n    }),\n    body: agentConfigSchema.partial(),\n    responses: {\n      200: agentConfigSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Update agent configuration',\n  },\n  listAgentActions: {\n    method: 'GET',\n    path: '/agents/actions',\n    query: paginationQuerySchema.merge(\n      z.object({\n        conversationId: z.string().uuid().optional(),\n        agentType: agentTypeEnum.optional(),\n        status: z.enum(['pending', 'in_progress', 'completed', 'failed']).optional(),\n      }),\n    ),\n    responses: {\n      200: z.object({\n        actions: z.array(agentActionSchema),\n        pagination: z.object({\n          page: z.number(),\n          limit: z.number(),\n          total: z.number(),\n          totalPages: z.number(),\n        }),\n      }),\n      401: errorResponseSchema,\n    },\n    summary: 'List agent actions with filters',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  escalationSchema,\n  createEscalationSchema,\n  updateEscalationSchema,\n  escalationListResponseSchema,\n  escalationFiltersSchema,\n  assignEscalationSchema,\n} from '../schemas/escalations.schemas';\nimport { errorResponseSchema, paginationQuerySchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nexport const escalationsContract = c.router({\n  createEscalation: {\n    method: 'POST',\n    path: '/escalations',\n    body: createEscalationSchema,\n    responses: {\n      201: escalationSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n      404: errorResponseSchema,\n    },\n    summary: 'Create a new escalation',\n  },\n  getEscalation: {\n    method: 'GET',\n    path: '/escalations/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    responses: {\n      200: escalationSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get escalation by ID',\n  },\n  listEscalations: {\n    method: 'GET',\n    path: '/escalations',\n    query: paginationQuerySchema.merge(escalationFiltersSchema),\n    responses: {\n      200: escalationListResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'List escalations with pagination and filters',\n  },\n  updateEscalation: {\n    method: 'PATCH',\n    path: '/escalations/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: updateEscalationSchema,\n    responses: {\n      200: escalationSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Update escalation',\n  },\n  assignEscalation: {\n    method: 'POST',\n    path: '/escalations/:id/assign',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: assignEscalationSchema,\n    responses: {\n      200: escalationSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Assign escalation to a user',\n  },\n  resolveEscalation: {\n    method: 'POST',\n    path: '/escalations/:id/resolve',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({\n      resolution: z.string().min(1),\n    }),\n    responses: {\n      200: escalationSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Mark escalation as resolved',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  dashboardMetricsSchema,\n  sentimentOverTimeSchema,\n  frustrationDriversSchema,\n  emergingIssuesSchema,\n  conversationMetricsSchema,\n  finOpsMetricsSchema,\n  analyticsQuerySchema,\n} from '../schemas/analytics.schemas';\nimport { errorResponseSchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nexport const analyticsContract = c.router({\n  getDashboardMetrics: {\n    method: 'GET',\n    path: '/analytics/dashboard',\n    query: z.object({\n      period: z.enum(['7d', '30d', '90d']).default('30d'),\n    }),\n    responses: {\n      200: dashboardMetricsSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get dashboard metrics (FCR, CES, EVI, ROI)',\n  },\n  getSentimentOverTime: {\n    method: 'GET',\n    path: '/analytics/sentiment',\n    query: analyticsQuerySchema,\n    responses: {\n      200: sentimentOverTimeSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get sentiment (EVI) over time',\n  },\n  getFrustrationDrivers: {\n    method: 'GET',\n    path: '/analytics/frustration-drivers',\n    query: z.object({\n      limit: z.coerce.number().int().positive().max(50).default(10),\n    }),\n    responses: {\n      200: frustrationDriversSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get top frustration drivers',\n  },\n  getEmergingIssues: {\n    method: 'GET',\n    path: '/analytics/emerging-issues',\n    query: z.object({\n      limit: z.coerce.number().int().positive().max(50).default(10),\n    }),\n    responses: {\n      200: emergingIssuesSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get emerging issues trending upward',\n  },\n  getConversationMetrics: {\n    method: 'GET',\n    path: '/analytics/conversations/:id/metrics',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    responses: {\n      200: conversationMetricsSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get detailed metrics for a specific conversation',\n  },\n  getFinOpsMetrics: {\n    method: 'GET',\n    path: '/analytics/finops',\n    query: z.object({\n      period: z.enum(['7d', '30d', '90d']).default('30d'),\n    }),\n    responses: {\n      200: finOpsMetricsSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get FinOps cost tracking metrics',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  auditLogSchema,\n  auditLogListResponseSchema,\n  auditLogFiltersSchema,\n  rbacPermissionSchema,\n  exportAuditLogSchema,\n} from '../schemas/audit.schemas';\nimport { errorResponseSchema, paginationQuerySchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nexport const auditContract = c.router({\n  listAuditLogs: {\n    method: 'GET',\n    path: '/audit/logs',\n    query: paginationQuerySchema.merge(auditLogFiltersSchema),\n    responses: {\n      200: auditLogListResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'List audit logs with XAI trail',\n  },\n  getAuditLog: {\n    method: 'GET',\n    path: '/audit/logs/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    responses: {\n      200: auditLogSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get detailed audit log entry',\n  },\n  checkPermission: {\n    method: 'POST',\n    path: '/audit/rbac/check',\n    body: z.object({\n      resource: z.string(),\n      action: z.string(),\n    }),\n    responses: {\n      200: rbacPermissionSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Check RBAC permission for current user',\n  },\n  exportAuditLog: {\n    method: 'POST',\n    path: '/audit/logs/export',\n    body: exportAuditLogSchema,\n    responses: {\n      200: z.object({\n        downloadUrl: z.string(),\n        expiresAt: z.coerce.date(),\n      }),\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Export audit logs to JSON or CSV',\n  },\n});\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  integrationSchema,\n  createIntegrationSchema,\n  updateIntegrationSchema,\n  webhookSchema,\n  createWebhookSchema,\n  updateWebhookSchema,\n  webhookDeliverySchema,\n  testWebhookSchema,\n} from '../schemas/integrations.schemas';\nimport { errorResponseSchema, successResponseSchema } from '../schemas/common.schemas';\n\nconst c = initContract();\n\nexport const integrationsContract = c.router({\n  // Integrations\n  listIntegrations: {\n    method: 'GET',\n    path: '/integrations',\n    responses: {\n      200: z.object({\n        integrations: z.array(integrationSchema),\n      }),\n      401: errorResponseSchema,\n    },\n    summary: 'List all integrations',\n  },\n  getIntegration: {\n    method: 'GET',\n    path: '/integrations/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    responses: {\n      200: integrationSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get integration by ID',\n  },\n  createIntegration: {\n    method: 'POST',\n    path: '/integrations',\n    body: createIntegrationSchema,\n    responses: {\n      201: integrationSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Create a new integration',\n  },\n  updateIntegration: {\n    method: 'PATCH',\n    path: '/integrations/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: updateIntegrationSchema,\n    responses: {\n      200: integrationSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Update integration',\n  },\n  deleteIntegration: {\n    method: 'DELETE',\n    path: '/integrations/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({}),\n    responses: {\n      200: successResponseSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Delete integration',\n  },\n  syncIntegration: {\n    method: 'POST',\n    path: '/integrations/:id/sync',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({}),\n    responses: {\n      200: integrationSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Trigger manual sync for integration',\n  },\n\n  // Webhooks\n  listWebhooks: {\n    method: 'GET',\n    path: '/webhooks',\n    responses: {\n      200: z.object({\n        webhooks: z.array(webhookSchema),\n      }),\n      401: errorResponseSchema,\n    },\n    summary: 'List all webhooks',\n  },\n  getWebhook: {\n    method: 'GET',\n    path: '/webhooks/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    responses: {\n      200: webhookSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get webhook by ID',\n  },\n  createWebhook: {\n    method: 'POST',\n    path: '/webhooks',\n    body: createWebhookSchema,\n    responses: {\n      201: webhookSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Create a new webhook',\n  },\n  updateWebhook: {\n    method: 'PATCH',\n    path: '/webhooks/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: updateWebhookSchema,\n    responses: {\n      200: webhookSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Update webhook',\n  },\n  deleteWebhook: {\n    method: 'DELETE',\n    path: '/webhooks/:id',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: z.object({}),\n    responses: {\n      200: successResponseSchema,\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Delete webhook',\n  },\n  testWebhook: {\n    method: 'POST',\n    path: '/webhooks/:id/test',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    body: testWebhookSchema,\n    responses: {\n      200: successResponseSchema,\n      404: errorResponseSchema,\n      400: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Test webhook with sample payload',\n  },\n  getWebhookDeliveries: {\n    method: 'GET',\n    path: '/webhooks/:id/deliveries',\n    pathParams: z.object({\n      id: z.string().uuid(),\n    }),\n    query: z.object({\n      limit: z.coerce.number().int().positive().max(100).default(20),\n    }),\n    responses: {\n      200: z.object({\n        deliveries: z.array(webhookDeliverySchema),\n      }),\n      404: errorResponseSchema,\n      401: errorResponseSchema,\n    },\n    summary: 'Get webhook delivery history',\n  },\n});\n","/**\n * Noovera API Contracts\n * Version: 1.0.0\n *\n * This library contains all API contracts (Zod schemas and ts-rest routes)\n * for the Noovera backend API.\n */\n\nimport { initContract } from '@ts-rest/core';\n\n// Export all schemas\nexport * from './schemas/common.schemas';\nexport * from './schemas/auth.schemas';\nexport * from './schemas/users.schemas';\nexport * from './schemas/organizations.schemas';\nexport * from './schemas/conversations.schemas';\nexport * from './schemas/agents.schemas';\nexport * from './schemas/escalations.schemas';\nexport * from './schemas/analytics.schemas';\nexport * from './schemas/audit.schemas';\nexport * from './schemas/integrations.schemas';\n\n// Export individual route contracts\nexport * from './routes/auth.routes';\nexport * from './routes/public.routes';\nexport * from './routes/knowledge.routes';\nexport * from './routes/tools.routes';\nexport * from './routes/conversations.routes';\nexport * from './routes/agents.routes';\nexport * from './routes/escalations.routes';\nexport * from './routes/analytics.routes';\nexport * from './routes/audit.routes';\nexport * from './routes/integrations.routes';\nexport { knowledgeContract } from './routes/knowledge.routes';\nexport { toolsContract } from './routes/tools.routes';\n\n// Import route contracts\nimport { authContract } from './routes/auth.routes';\nimport { publicContract } from './routes/public.routes';\nimport { knowledgeContract } from './routes/knowledge.routes';\nimport { toolsContract } from './routes/tools.routes';\nimport { conversationsContract } from './routes/conversations.routes';\nimport { agentsContract } from './routes/agents.routes';\nimport { escalationsContract } from './routes/escalations.routes';\nimport { analyticsContract } from './routes/analytics.routes';\nimport { auditContract } from './routes/audit.routes';\nimport { integrationsContract } from './routes/integrations.routes';\n\n// Create main API contract\nconst c = initContract();\n\nexport const apiContract = c.router(\n  {\n    auth: authContract,\n    public: publicContract,\n    knowledge: knowledgeContract,\n    tools: toolsContract,\n    conversations: conversationsContract,\n    agents: agentsContract,\n    escalations: escalationsContract,\n    analytics: analyticsContract,\n    audit: auditContract,\n    integrations: integrationsContract,\n  },\n  {\n    pathPrefix: '/api/v1',\n  },\n);\n\n// Export the contract type for use in frontend\nexport type ApiContract = typeof apiContract;\n"]}