@gravity-rail/sdk 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/{chat-interaction-BKdImgZ5.d.ts → chat-interaction-BiH_iWSK.d.ts} +13679 -12591
- package/dist/{chat-interaction-DLfC_h_P.d.cts → chat-interaction-C-B463O4.d.cts} +13679 -12591
- package/dist/{chunk-N446FGCT.js → chunk-ON7HBHJA.js} +234 -22
- package/dist/chunk-ON7HBHJA.js.map +1 -0
- package/dist/helpers.d.cts +3 -3
- package/dist/helpers.d.ts +3 -3
- package/dist/index.cjs +236 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +47 -6
- package/dist/index.d.ts +47 -6
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.cjs +235 -21
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +30 -12
- package/dist/internal.d.ts +30 -12
- package/dist/internal.js +5 -1
- package/dist/internal.js.map +1 -1
- package/dist/{revision-state-Bsq5dKwi.d.cts → revision-state-CXEcwfWa.d.cts} +44 -44
- package/dist/{revision-state-CQTYcIRG.d.ts → revision-state-DLQDfN6Z.d.ts} +44 -44
- package/dist/schemas.cjs +33 -10
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +26 -23
- package/dist/schemas.d.ts +26 -23
- package/dist/schemas.js +32 -9
- package/dist/schemas.js.map +1 -1
- package/dist/{tasks-B-31JPuq.d.cts → tasks-Co5om-p9.d.cts} +3147 -3145
- package/dist/{tasks-B-31JPuq.d.ts → tasks-Co5om-p9.d.ts} +3147 -3145
- package/package.json +3 -3
- package/dist/chunk-N446FGCT.js.map +0 -1
package/dist/schemas.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schemas.ts","../src/schemas/accounts.ts","../src/schemas/calendars.ts","../src/types/calendar-types.ts","../src/schemas/chats.ts","../src/schemas/utils.ts","../src/schemas/data-types.ts","../src/types/data-types.ts","../src/schemas/inboxes.ts","../src/schemas/inquiries.ts","../src/schemas/members.ts","../src/schemas/phone-numbers.ts","../src/schemas/sites.ts","../src/schemas/tasks.ts","../src/schemas/workflows.ts","../src/schemas/workspaces.ts"],"sourcesContent":["/**\n * Export all Zod schemas for external use\n */\nexport * from './schemas/index';\n","import { z } from 'zod';\n\n// ============================================\n// ACCOUNT BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const AccountFormDataSchema = z.object({\n name: z.string().optional(),\n // email/phone removed - use credential change flow (POST /account/request-credential-change)\n tosAccepted: z.boolean().optional(),\n optedOut: z.boolean().optional(),\n locale: z.string().optional(),\n timezone: z.string().optional(),\n});\n\nexport const AdminAccountFormDataSchema = AccountFormDataSchema.extend({\n // Admins CAN set email/phone directly (bypasses verification flow)\n email: z.string().optional(),\n phone: z.string().optional(),\n isSuperuser: z.boolean().optional(),\n enabled: z.boolean().optional(),\n orgOwner: z.boolean().optional(),\n organizationId: z.number().nullable().optional(),\n stripeCustomerId: z.string().nullable().optional(), // Superuser only\n});\n\n// Note: With Verified Credential Architecture, if email/phone is set on an account,\n// it's verified by construction. No separate emailVerified/phoneVerified flags needed.\nexport const AccountSchema = z.object({\n id: z.number(),\n loggedIn: z.boolean(),\n avatarUrl: z.string().nullable(),\n email: z.string().nullable(), // If set, it's verified\n phone: z.string().nullable(), // If set, it's verified\n name: z.string().nullable(),\n uuid: z.string(),\n createdAt: z.string(),\n isSuperuser: z.boolean(),\n orgOwner: z.boolean(),\n enabled: z.boolean(),\n tosAccepted: z.boolean(),\n optedOut: z.boolean(),\n signupWorkspaceId: z.number().nullable(),\n stripeCustomerId: z.string().nullable(),\n organizationId: z.number().nullable(),\n organizationName: z.string().nullable(),\n locale: z.string().nullable(),\n});\n\n// ============================================\n// AUTHENTICATION SCHEMAS\n// ============================================\n\nexport const LoginRequestSchema = z.object({\n phoneNumber: z.string(),\n organizationId: z.number().optional(),\n isSignUp: z.boolean().optional(),\n});\n\nexport const VerifyCodeRequestSchema = z.object({\n phoneNumber: z.string(),\n code: z.string(),\n isSignUp: z.boolean().optional(),\n});\n\nexport const VerifyCodeResponseSchema = z.object({\n success: z.boolean(),\n token: z.string().optional(),\n requiresTwoFactor: z.boolean().optional(),\n availableTwoFactorMethods: z.array(z.any()).optional(),\n});\n\nexport const LoginResponseSchema = z.object({\n token: z.string().optional(),\n accountId: z.number().optional(),\n});\n\nexport const SMSLoginResponseSchema = z.object({\n success: z.boolean(),\n message: z.string().optional(),\n});\n\nexport const ErrorResponseSchema = z.object({\n detail: z.string(),\n});\n\n// ============================================\n// API KEY SCHEMAS\n// ============================================\n\nexport const ApiKeySchema = z.object({\n id: z.number(),\n uuid: z.string(),\n name: z.string(),\n keyPrefix: z.string(),\n createdAt: z.string(),\n expiresAt: z.string().nullable(),\n lastUsedAt: z.string().nullable(),\n enabled: z.boolean(),\n scopes: z.array(z.string()),\n appId: z.number().nullable().optional(),\n});\n\nexport const ApiKeyCreatedSchema = ApiKeySchema.extend({\n key: z.string(),\n});\n\nexport const ApiKeyFormDataSchema = z.object({\n name: z.string(),\n expiresInDays: z.number(),\n scopes: z.array(z.string()),\n});\n\nexport const ApiKeyScopeSchema = z.object({\n name: z.string(),\n description: z.string(),\n value: z.number(),\n});\n\nexport const ApiKeyScopesResponseSchema = z.object({\n scopes: z.array(ApiKeyScopeSchema),\n});\n\n// ============================================\n// ORGANIZATION SCHEMAS\n// ============================================\n\nexport const OrganizationSchema = z.object({\n id: z.number(),\n uuid: z.string(),\n name: z.string(),\n slug: z.string(),\n authMode: z.enum(['open', 'ssoForDomain', 'ssoOnly']),\n contactEmail: z.string().optional(),\n contactPhone: z.string().optional(),\n createdAt: z.string(),\n creatorId: z.number(),\n creatorName: z.string().optional(),\n});\n\nexport const AdminOrganizationSchema = OrganizationSchema.extend({\n accountCount: z.number(),\n workspaceCount: z.number(),\n enforceCreditLimit: z.boolean(),\n // Carrier provisioning entitlements — 0 = may not provision.\n maxPhoneNumbers: z.number().int().min(0),\n maxA2pBrands: z.number().int().min(0),\n});\n\nexport const CreateOrganizationRequestSchema = z.object({\n name: z.string(),\n contactEmail: z.string().optional(),\n contactPhone: z.string().optional(),\n logo: z.string().optional(), // Base64 encoded\n logoMimeType: z.string().optional(),\n});\n\nexport const UpdateOrganizationRequestSchema = z.object({\n name: z.string().optional(),\n slug: z.string().optional(),\n contactEmail: z.string().optional(),\n contactPhone: z.string().optional(),\n authMode: z.enum(['open', 'ssoForDomain', 'ssoOnly']).optional(),\n ssoProvider: z.string().nullable().optional(),\n ssoDomain: z.string().nullable().optional(),\n ssoAutoProvision: z.boolean().optional(),\n ssoOidc: z.unknown().nullable().optional(),\n logo: z.string().optional(), // Base64 encoded\n logoMimeType: z.string().optional(),\n // Twilio sub-account linkage. Explicit null clears the field so SMS\n // falls through to the master client (does not touch Twilio itself).\n twilioSubAccountSid: z.string().nullable().optional(),\n // Hard credit enforcement toggle — flips between the legacy soft\n // alert-only mode and the hard 402 stop at zero credits.\n enforceCreditLimit: z.boolean().optional(),\n // Carrier provisioning entitlements — 0 = may not provision.\n // Superuser-only; explicit null is ignored server-side.\n maxPhoneNumbers: z.number().int().min(0).optional(),\n maxA2pBrands: z.number().int().min(0).optional(),\n});\n\n// ============================================\n// WORKSPACE MEMBERSHIP SCHEMAS\n// ============================================\n\nexport const AdminAccountMembershipSchema = z.object({\n workspaceUuid: z.string(),\n workspaceName: z.string(),\n role: z.string(),\n createdAt: z.string(),\n tosAccepted: z.boolean(),\n memberRoleId: z.number().nullable(),\n memberId: z.number(),\n});\n\nexport const AdminWorkspaceMemberFormDataSchema = z.object({\n tosAccepted: z.boolean().optional(),\n role: z.string().optional(),\n memberRoleId: z.number().optional(),\n});\n\n// ============================================\n// REPORT SCHEMAS\n// ============================================\n\nexport const AccountReportItemSchema = z.object({\n id: z.number(),\n uuid: z.string(),\n email: z.string().nullable().optional(),\n phone: z.string().nullable().optional(),\n name: z.string().nullable().optional(),\n created_at: z.string(),\n organization_id: z.number().nullable().optional(),\n});\n\nexport const DuplicateAccountInfoSchema = z.object({\n id: z.number(),\n name: z.string().nullable(),\n email: z.string().nullable(),\n phone: z.string().nullable(),\n organizationId: z.number().nullable(),\n organizationName: z.string().nullable(),\n createdAt: z.string(),\n});\n\nexport const MissingMembershipItemSchema = z.object({\n member_id: z.number(),\n member_name: z.string(),\n account_id: z.number(),\n account_uuid: z.string(),\n});\n\n// ============================================\n// ACCOUNT OPERATION SCHEMAS\n// ============================================\n\nexport const CreateAccountSchema = z.object({\n name: z.string(),\n email: z.string().optional(),\n phone: z.string().optional(),\n});\n\n// ============================================\n// TYPE EXPORTS (Zod-inferred types)\n// ============================================\n\n// Core account types\nexport type Account = z.infer<typeof AccountSchema>;\nexport type AccountFormData = z.infer<typeof AccountFormDataSchema>;\nexport type AdminAccountFormData = z.infer<typeof AdminAccountFormDataSchema>;\n\n// Authentication types\nexport type LoginRequest = z.infer<typeof LoginRequestSchema>;\nexport type VerifyCodeRequest = z.infer<typeof VerifyCodeRequestSchema>;\nexport type VerifyCodeResponse = z.infer<typeof VerifyCodeResponseSchema>;\nexport type LoginResponse = z.infer<typeof LoginResponseSchema>;\nexport type SMSLoginResponse = z.infer<typeof SMSLoginResponseSchema>;\nexport type ErrorResponse = z.infer<typeof ErrorResponseSchema>;\n\n// API key types\nexport type ApiKey = z.infer<typeof ApiKeySchema>;\nexport type ApiKeyCreated = z.infer<typeof ApiKeyCreatedSchema>;\nexport type ApiKeyFormData = z.infer<typeof ApiKeyFormDataSchema>;\nexport type ApiKeyScope = z.infer<typeof ApiKeyScopeSchema>;\nexport type ApiKeyScopesResponse = z.infer<typeof ApiKeyScopesResponseSchema>;\n\n// Organization types\nexport type Organization = z.infer<typeof OrganizationSchema>;\nexport type AdminOrganization = z.infer<typeof AdminOrganizationSchema>;\nexport type CreateOrganizationRequest = z.infer<typeof CreateOrganizationRequestSchema>;\nexport type UpdateOrganizationRequest = z.infer<typeof UpdateOrganizationRequestSchema>;\n\n// Workspace membership types\nexport type AdminAccountMembership = z.infer<typeof AdminAccountMembershipSchema>;\nexport type AdminWorkspaceMemberFormData = z.infer<typeof AdminWorkspaceMemberFormDataSchema>;\n\n// Report types\nexport type AccountReportItem = z.infer<typeof AccountReportItemSchema>;\nexport type DuplicateAccountInfo = z.infer<typeof DuplicateAccountInfoSchema>;\nexport type MissingMembershipItem = z.infer<typeof MissingMembershipItemSchema>;\n\n// Operation input types\nexport type CreateAccountInput = z.infer<typeof CreateAccountSchema>;\n","import { z } from 'zod';\nimport {\n AttendeeResponseStatus,\n CalendarEventStatus,\n CalendarScheduleAvailabilityType,\n CalendarScheduleRecurrence,\n} from '../types/calendar-types.js';\n\n// ===== Calendar Schemas =====\n\nexport const ListCalendarsSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n page: z.number().optional().describe('Page number for pagination'),\n pageSize: z.number().optional().describe('Number of items per page'),\n includeSchedules: z.boolean().optional().describe('Include schedule details'),\n});\n\nexport const GetCalendarSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n includeSchedules: z.boolean().optional().describe('Include schedule details'),\n});\n\nexport const CreateCalendarSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n name: z.string().describe('Calendar name'),\n slug: z.string().optional().describe('URL-friendly identifier (auto-generated if not provided)'),\n description: z.string().optional().describe('Calendar description'),\n timezone: z.string().optional().describe('Timezone (e.g., \"America/New_York\", defaults to UTC)'),\n color: z.string().optional().describe('Hex color code (e.g., \"#FF5733\")'),\n isPublic: z.boolean().optional().describe('Whether calendar is publicly visible'),\n});\n\nexport const UpdateCalendarSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n name: z.string().optional().describe('Calendar name'),\n slug: z.string().optional().describe('URL-friendly identifier'),\n description: z.string().optional().describe('Calendar description'),\n timezone: z.string().optional().describe('Timezone'),\n color: z.string().optional().describe('Hex color code'),\n isPublic: z.boolean().optional().describe('Whether calendar is publicly visible'),\n});\n\nexport const DeleteCalendarSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n});\n\n// ===== Calendar Schedule Schemas =====\n\nexport const ListSchedulesSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n});\n\nexport const CreateScheduleSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n name: z.string().describe('Schedule name'),\n description: z.string().optional().describe('Schedule description'),\n availabilityType: z\n .nativeEnum(CalendarScheduleAvailabilityType)\n .describe('Whether this schedule makes time available or unavailable'),\n recurrenceType: z.nativeEnum(CalendarScheduleRecurrence).describe('Recurrence pattern'),\n startTime: z.string().describe('ISO 8601 datetime string'),\n endTime: z.string().describe('ISO 8601 datetime string'),\n daysOfWeek: z\n .array(z.enum(['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY']))\n .optional()\n .describe('Days of week for weekly recurrence'),\n recurrenceRule: z.string().optional().describe('Custom recurrence rule (RRULE format)'),\n recurrenceEndDate: z.string().optional().describe('ISO 8601 datetime when recurrence ends'),\n priority: z.number().optional().describe('Priority (higher numbers override lower)'),\n eventTypeIds: z.array(z.number()).optional().describe('Event type IDs this schedule applies to'),\n});\n\nexport const UpdateScheduleSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n scheduleId: z.number().describe('Schedule ID'),\n name: z.string().optional().describe('Schedule name'),\n description: z.string().optional().describe('Schedule description'),\n availabilityType: z.nativeEnum(CalendarScheduleAvailabilityType).optional(),\n recurrenceType: z.nativeEnum(CalendarScheduleRecurrence).optional(),\n startTime: z.string().optional().describe('ISO 8601 datetime string'),\n endTime: z.string().optional().describe('ISO 8601 datetime string'),\n daysOfWeek: z\n .array(z.enum(['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY']))\n .optional(),\n recurrenceRule: z.string().optional(),\n recurrenceEndDate: z.string().optional().describe('ISO 8601 datetime string'),\n priority: z.number().optional(),\n eventTypeIds: z.array(z.number()).optional(),\n});\n\nexport const DeleteScheduleSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n scheduleId: z.number().describe('Schedule ID'),\n});\n\n// ===== Event Type Schemas =====\n\nexport const ListEventTypesSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n});\n\nexport const GetEventTypeSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventTypeId: z.number().describe('Event type ID'),\n});\n\nexport const CreateEventTypeSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n name: z.string().describe('Event type name (e.g., \"30-minute consultation\")'),\n description: z.string().optional().describe('Event type description'),\n defaultDurationMinutes: z.number().describe('Default duration in minutes'),\n bufferBeforeMinutes: z.number().optional().describe('Buffer time before event'),\n bufferAfterMinutes: z.number().optional().describe('Buffer time after event'),\n minAttendees: z.number().optional().describe('Minimum number of attendees'),\n maxAttendees: z.number().optional().describe('Maximum number of attendees'),\n color: z.string().optional().describe('Hex color code'),\n active: z.boolean().optional().describe('Whether this event type is active'),\n});\n\nexport const UpdateEventTypeSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventTypeId: z.number().describe('Event type ID'),\n name: z.string().optional(),\n description: z.string().optional(),\n defaultDurationMinutes: z.number().optional(),\n bufferBeforeMinutes: z.number().optional(),\n bufferAfterMinutes: z.number().optional(),\n minAttendees: z.number().optional(),\n maxAttendees: z.number().optional(),\n color: z.string().optional(),\n active: z.boolean().optional(),\n});\n\nexport const DeleteEventTypeSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventTypeId: z.number().describe('Event type ID'),\n});\n\n// ===== Calendar Event Schemas =====\n\nexport const ListCalendarEventsSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().optional().describe('Filter by calendar ID'),\n startDate: z.string().optional().describe('ISO 8601 datetime - filter events starting after'),\n endDate: z.string().optional().describe('ISO 8601 datetime - filter events ending before'),\n status: z.nativeEnum(CalendarEventStatus).optional(),\n memberId: z.number().optional().describe('Filter by member ID'),\n limit: z.number().optional().describe('Maximum number of results'),\n offset: z.number().optional().describe('Pagination offset'),\n});\n\nexport const GetCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n});\n\nexport const CreateCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n eventTypeId: z.number().describe('Event type ID'),\n title: z.string().describe('Event title'),\n startTime: z.string().describe('ISO 8601 datetime string'),\n attendeeIds: z.array(z.number()).optional().describe('Member IDs of attendees'),\n workflowId: z\n .number()\n .optional()\n .describe('STABLE workflow root ID (resolves to the active revision)'),\n workflowRevisionId: z.number().optional().describe('Associated workflow revision ID'),\n taskId: z.number().optional().describe('Associated task ID'),\n description: z.string().optional().describe('Event description'),\n location: z.string().optional().describe('Event location (physical or virtual)'),\n});\n\nexport const UpdateCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n title: z.string().optional(),\n description: z.string().optional(),\n location: z.string().optional(),\n startTime: z.string().optional().describe('ISO 8601 datetime string'),\n});\n\nexport const CancelCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n cancellationReason: z.string().optional().describe('Reason for cancellation'),\n});\n\nexport const DeleteCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n});\n\n// ===== Availability Schemas =====\n\nexport const CheckAvailabilitySchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n eventTypeId: z.number().describe('Event type ID'),\n startTime: z.string().describe('ISO 8601 datetime string'),\n endTime: z.string().describe('ISO 8601 datetime string'),\n});\n\nexport const GetAvailableSlotsSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n eventTypeId: z.number().describe('Event type ID'),\n startDate: z.string().describe('ISO 8601 datetime - start of date range'),\n endDate: z.string().describe('ISO 8601 datetime - end of date range'),\n slotIntervalMinutes: z.number().optional().describe('Interval between slots in minutes'),\n});\n\n// ===== Attendee Schemas =====\n\nexport const UpdateAttendeeResponseSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n memberId: z.number().describe('Member ID'),\n responseStatus: z.nativeEnum(AttendeeResponseStatus).describe('Response status'),\n note: z.string().optional().describe('Optional note from attendee'),\n});\n\n// ===== iCal Feed Schemas =====\n\nexport const GenerateICalTokenSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n regenerate: z.boolean().optional().describe('Regenerate token even if one exists'),\n});\n\nexport const RevokeICalTokenSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n});\n\nexport const GetICalUrlSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n});\n\n// ===== Type Exports =====\n\nexport type ListCalendarsInput = z.infer<typeof ListCalendarsSchema>;\nexport type GetCalendarInput = z.infer<typeof GetCalendarSchema>;\nexport type CreateCalendarInput = z.infer<typeof CreateCalendarSchema>;\nexport type UpdateCalendarInput = z.infer<typeof UpdateCalendarSchema>;\nexport type DeleteCalendarInput = z.infer<typeof DeleteCalendarSchema>;\nexport type ListSchedulesInput = z.infer<typeof ListSchedulesSchema>;\nexport type CreateScheduleInput = z.infer<typeof CreateScheduleSchema>;\nexport type UpdateScheduleInput = z.infer<typeof UpdateScheduleSchema>;\nexport type DeleteScheduleInput = z.infer<typeof DeleteScheduleSchema>;\nexport type ListEventTypesInput = z.infer<typeof ListEventTypesSchema>;\nexport type GetEventTypeInput = z.infer<typeof GetEventTypeSchema>;\nexport type CreateEventTypeInput = z.infer<typeof CreateEventTypeSchema>;\nexport type UpdateEventTypeInput = z.infer<typeof UpdateEventTypeSchema>;\nexport type DeleteEventTypeInput = z.infer<typeof DeleteEventTypeSchema>;\nexport type ListCalendarEventsInput = z.infer<typeof ListCalendarEventsSchema>;\nexport type GetCalendarEventInput = z.infer<typeof GetCalendarEventSchema>;\nexport type CreateCalendarEventInput = z.infer<typeof CreateCalendarEventSchema>;\nexport type UpdateCalendarEventInput = z.infer<typeof UpdateCalendarEventSchema>;\nexport type CancelCalendarEventInput = z.infer<typeof CancelCalendarEventSchema>;\nexport type DeleteCalendarEventInput = z.infer<typeof DeleteCalendarEventSchema>;\nexport type CheckAvailabilityInput = z.infer<typeof CheckAvailabilitySchema>;\nexport type GetAvailableSlotsInput = z.infer<typeof GetAvailableSlotsSchema>;\nexport type UpdateAttendeeResponseInput = z.infer<typeof UpdateAttendeeResponseSchema>;\nexport type GenerateICalTokenInput = z.infer<typeof GenerateICalTokenSchema>;\nexport type RevokeICalTokenInput = z.infer<typeof RevokeICalTokenSchema>;\nexport type GetICalUrlInput = z.infer<typeof GetICalUrlSchema>;\n","/**\n * Calendar-related types for the Gravity Rail calendar and appointment booking system.\n * Server response shapes are generated from Pydantic via emit_openapi.py → Orval.\n * Client-only shapes (forms, enums, query params) are defined below.\n */\n\n// ===== GENERATED SERVER TYPES =====\n\nexport type {\n AttendeeResponse,\n AttendeeResponse as CalendarEventAttendee,\n AvailabilityResponse,\n AvailableSlotsResponse,\n CalendarResponse as GeneratedCalendarResponse,\n CalendarScheduleResponse as GeneratedCalendarScheduleResponse,\n EventResponse,\n EventResponse as CalendarEvent,\n EventTypeResponse,\n EventTypeResponse as CalendarEventType,\n ExternalAttendeeData,\n GoogleCalendarInfo,\n GoogleCalendarInsufficientScopesResponse,\n GoogleCalendarStatusResponse,\n ICalFeedGrantSummary,\n ICalFeedTokenResponse,\n ICalFeedUrlResponse,\n TimeSlot,\n} from './generated/calendar';\n\nimport type {\n CalendarResponse as GeneratedCalendarResponse,\n CalendarScheduleResponse as GeneratedCalendarScheduleResponse,\n ExternalAttendeeData as GeneratedExternalAttendeeData,\n} from './generated/calendar';\nimport type { EventRuleInput } from './event-types';\n\nexport type Calendar = Omit<GeneratedCalendarResponse, never> & {\n /** Present on detail responses; omitted from some list payloads. */\n eventTypeIds?: number[];\n};\nexport type CalendarResponse = Calendar;\n\nexport type CalendarSchedule = Omit<\n GeneratedCalendarScheduleResponse,\n 'availabilityType' | 'recurrenceType'\n> & {\n availabilityType: CalendarScheduleAvailabilityType | string;\n recurrenceType: CalendarScheduleRecurrence | string;\n};\nexport type CalendarScheduleResponse = CalendarSchedule;\n\n// ===== CLIENT-ONLY TYPES =====\n\nexport enum CalendarPermissionType {\n NONE = 'NONE',\n FREE_BUSY = 'FREE_BUSY',\n READ = 'READ',\n WRITE = 'WRITE',\n ADMIN = 'ADMIN',\n}\n\nexport enum CalendarSource {\n INTERNAL = 'internal',\n GOOGLE = 'google',\n OUTLOOK = 'outlook',\n}\n\nexport interface CalendarFormData {\n name: string;\n slug?: string;\n description?: string | null;\n timezone?: string;\n color?: string | null;\n isPublic?: boolean;\n eventTypeIds?: number[];\n /**\n * Ordered event rules to attach to the calendar in the same request.\n * Server syncs by UUID: same-UUID updates, new UUID creates, omitted\n * UUIDs are deleted. Omit (undefined) to leave existing rules unchanged.\n */\n eventRules?: EventRuleInput[];\n}\n\nexport interface CalendarScheduleFormData {\n name: string;\n description?: string | null;\n availabilityType: CalendarScheduleAvailabilityType;\n recurrenceType: CalendarScheduleRecurrence;\n startTime: string;\n endTime: string;\n recurrenceRule?: Record<string, any> | null;\n recurrenceEndDate?: string | null;\n daysOfWeek?: string[] | null;\n priority?: number;\n eventTypeIds?: number[] | null;\n}\n\nexport enum CalendarScheduleRecurrence {\n ONCE = 'ONCE',\n DAILY = 'DAILY',\n WEEKLY = 'WEEKLY',\n MONTHLY = 'MONTHLY',\n CUSTOM = 'CUSTOM',\n}\n\nexport enum CalendarScheduleAvailabilityType {\n AVAILABLE = 'AVAILABLE',\n UNAVAILABLE = 'UNAVAILABLE',\n}\n\nexport interface CalendarEventTypeFormData {\n name: string;\n slug?: string;\n description?: string | null;\n defaultDurationMinutes: number;\n bufferBeforeMinutes?: number;\n bufferAfterMinutes?: number;\n minAttendees?: number;\n maxAttendees?: number | null;\n color?: string | null;\n active?: boolean;\n /**\n * Ordered event rules scoped to this event type. Server syncs by UUID:\n * same-UUID updates, new UUID creates, omitted UUIDs are deleted.\n */\n eventRules?: EventRuleInput[];\n}\n\nexport interface CalendarEventFormData {\n calendarId: number;\n eventTypeId: number;\n title: string;\n description?: string | null;\n location?: string | null;\n startTime: string;\n attendeeIds: number[];\n externalAttendees?: GeneratedExternalAttendeeData[];\n workflowRevisionId?: number | null;\n workflowId?: number | null;\n taskId?: number | null;\n assignmentId?: number | null;\n}\n\nexport enum CalendarEventStatus {\n TENTATIVE = 'TENTATIVE',\n CONFIRMED = 'CONFIRMED',\n CANCELLED = 'CANCELLED',\n NO_SHOW = 'NO_SHOW',\n COMPLETED = 'COMPLETED',\n}\n\nexport enum AttendeeStatus {\n REQUIRED = 'REQUIRED',\n OPTIONAL = 'OPTIONAL',\n}\n\nexport enum AttendeeResponseStatus {\n PENDING = 'PENDING',\n ACCEPTED = 'ACCEPTED',\n DECLINED = 'DECLINED',\n TENTATIVE = 'TENTATIVE',\n}\n\nexport interface UpdateAttendeeRequest {\n responseStatus: AttendeeResponseStatus;\n note?: string | null;\n}\n\nexport interface AvailabilityCheck {\n eventTypeId: number;\n startTime: string;\n endTime?: string | null;\n}\n\nexport interface AvailableSlotsRequest {\n eventTypeId: number;\n startDate: string;\n endDate: string;\n slotIntervalMinutes?: number;\n}\n\nexport interface CalendarEventsQueryParams {\n calendarId?: number;\n startDate?: string;\n endDate?: string;\n status?: CalendarEventStatus;\n memberId?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface LinkCalendarRequest {\n googleCalendarId: string;\n}\n\nexport interface LinkCalendarResponse {\n status: string;\n message: string;\n googleCalendarId: string;\n googleCalendarName?: string;\n}\n\nexport interface UnlinkCalendarResponse {\n status: string;\n message: string;\n}\n\nexport interface SyncCalendarResponse {\n status: string;\n message: string;\n created: number;\n updated: number;\n errors: Array<{ event_id: string; error: string }>;\n}\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils';\n\n// ============================================\n// CHAT ENUMS AND CONSTANTS\n// ============================================\n\nexport const ChannelEnum = z.enum([\n 'cli',\n 'frame',\n 'phone-sms',\n 'phone-voice',\n 'fax',\n 'phone-whatsapp',\n 'email',\n 'background',\n 'web-chat',\n 'web-voice',\n 'discord',\n 'slack',\n 'teams',\n 'direct-message',\n 'a2a',\n 'routine',\n]);\n\n// Message roles. There is no `operator` role on this axis either: a human\n// operator's reply is a normal ASSISTANT message whose participant/owner is\n// that human, distinguished from the AI by the participant's `memberType`.\nexport const MessageRoleEnum = z.enum(['user', 'assistant', 'system', 'tool', 'function']);\n\nexport const ChatFilterObjectTypeEnum = z.enum([\n 'title',\n 'participant',\n 'mode',\n 'channel',\n 'owner',\n 'needsResponse',\n 'paused',\n 'messageCount',\n 'toolCall',\n]);\n\nexport const ChatFilterFilterTypeEnum = z.enum([\n 'any',\n 'all',\n 'none',\n 'partial',\n 'exact',\n 'equals',\n 'notEquals',\n 'onlyMine',\n 'active',\n]);\n\n// Reasons why a message may have been truncated\nexport const TruncationReasonEnum = z.enum([\n 'barge_in', // User interrupted the assistant mid-response (voice)\n 'client_interrupt', // Client requested interrupt\n 'user_cancel', // User explicitly cancelled\n 'error', // Error occurred during generation\n]);\n\n// ADR-11 provenance. Mirrors `MessageOrigin` / `MessageAudience` in\n// `lib/models/common.py`. `role` describes how a message is most commonly\n// SENT; these describe WHO wrote it and WHO it is for.\nexport const MessageOriginEnum = z.enum([\n 'member', // a human member of the workspace\n 'agent', // the AI assistant's own output\n 'operator', // a human operator acting in the conversation\n 'tool', // tool / function output\n 'workflow', // orchestration machinery (task guidance, routing notes)\n 'background_run', // a detached background trajectory of the agent\n 'platform', // Gravity Rail itself (notices, system events)\n]);\n\nexport const MessageAudienceEnum = z.enum([\n 'conversation', // participates in the member-facing transcript\n 'agent_only', // context the member never said; never render as speech\n]);\n\n// ============================================\n// CHAT BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const ChatParticipantFormDataSchema = z.object({\n memberId: z.number().optional(),\n role: z.string().optional(),\n additionalInstructions: z.string().optional(),\n});\n\n// Participant roles, in the shapes the API actually serves. The set is\n// `user | assistant | contributor | supervisor` — the `operator` participant\n// role was retired: a human taking a chat over is written as the ASSISTANT\n// participant (with a member-backed `memberType`), not a second parallel row.\n// `MessageRoleEnum` above lost its `operator` value for the same reason: the\n// human-vs-AI distinction is carried by the participant, not by a role string.\nexport const HumanChatParticipantSchema = z.object({\n name: z.string(),\n role: z.literal('user'),\n memberId: z.number(),\n});\n\nexport const AssistantChatParticipantSchema = z.object({\n name: z.string(),\n // A revision-backed assistant has no Member row at all, so the backend\n // serves `memberId: null` here — it is NOT a required number.\n memberId: z.number().nullable().optional(),\n memberType: z.string().optional(),\n role: z.literal('assistant'),\n additionalInstructions: z.string().optional(),\n});\n\nexport const ContributorChatParticipantSchema = z.object({\n name: z.string(),\n memberId: z.number(),\n memberType: z.string().optional(),\n role: z.literal('contributor'),\n additionalInstructions: z.string().optional(),\n});\n\nexport const SupervisorChatParticipantSchema = z.object({\n name: z.string(),\n memberId: z.number(),\n memberType: z.string().optional(),\n role: z.literal('supervisor'),\n});\n\nexport const ChatFormDataSchema = z.object({\n id: z.number().optional(),\n title: z.string().optional(),\n channel: z.string(),\n workflowId: z.number().nullable(),\n workflowUuid: z.string().nullable().optional(),\n workflowRevisionId: z.number().nullable().optional(),\n workflowRevisionUuid: z.string().nullable().optional(),\n phoneNumberId: z.number().nullable().optional(),\n siteId: z.number().nullable().optional(),\n browserChannel: z.enum(['web-chat', 'web-voice']).nullable().optional(),\n interactionMode: z.enum(['text', 'push_to_talk', 'realtime']).nullable().optional(),\n memberId: z.number().nullable().optional(),\n participants: z.array(ChatParticipantFormDataSchema),\n // Who answers. The explicit successor to `agentEnabled` — see ChatFormData.\n assistantKind: z.enum(['ai', 'human']).optional(),\n // The chat's user participant, named without the \"unless it's the caller\"\n // caveat that `memberId` carries.\n userMemberId: z.number().nullable().optional(),\n // Deprecated alias for `assistantKind`; false ⇒ 'human'.\n agentEnabled: z.boolean().optional(),\n assistantMemberId: z.number().nullable().optional(),\n assistantName: z.string().nullable().optional(),\n // Legacy client-side alias. ChatsApi serializes it as assistantMemberId.\n agentMemberId: z.number().nullable().optional(),\n // Per-chat assistant model override (snapshotted onto the assistant\n // participant). Set from the Create-Chat assistant-override dialog.\n assistantChatModelId: z.string().nullable().optional(),\n assistantChatModelConfig: z.record(z.string(), z.unknown()).nullable().optional(),\n assistantRealtimeModelId: z.string().nullable().optional(),\n assistantRealtimeModelConfig: z.record(z.string(), z.unknown()).nullable().optional(),\n paused: z.boolean().optional(),\n muted: z.boolean().optional(),\n needsResponse: z.boolean().optional(),\n // Human-typed initial SMS/email body. Optional, request-body only.\n // Backend dispatches via the existing initial-message path when the\n // Agent is disabled. Treat as PHI client-side.\n initialMessage: z.string().nullable().optional(),\n});\n\nexport const ChatFiltersSchema = z.object({\n page: z.number().optional(),\n pageSize: z.number().optional(),\n sortBy: z.string().optional(),\n sortOrder: z.enum(['asc', 'desc']).optional(),\n mine: z.boolean().optional(),\n needsResponse: z.boolean().optional(),\n paused: z.boolean().optional(),\n archived: z.boolean().optional(),\n channel: z.string().optional(),\n chatType: z\n .enum(['assignment', 'manager', 'dm', 'contributor'])\n .optional()\n .describe('Filter by chat type. Omitted = all types.'),\n});\n\n// ============================================\n// CHAT OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListChatsSchema = WorkspaceIdSchema.merge(ChatFiltersSchema);\n\nexport const GetChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n});\n\nexport const CreateChatSchema = WorkspaceIdSchema.merge(ChatFormDataSchema);\n\nexport const UpdateChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n}).merge(ChatFormDataSchema.omit({ browserChannel: true, interactionMode: true }).partial());\n\nexport const DeleteChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID to delete'),\n});\n\nexport const ArchiveChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID to archive'),\n});\n\nexport const UnarchiveChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID to unarchive'),\n});\n\nexport const UpdateChatMuteSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n muted: z.boolean().describe('Mute status'),\n});\n\nexport const UpdateChatNeedsResponseSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n needsResponse: z.boolean().describe('Needs response status'),\n});\n\nexport const GetChatsNeedsResponseSchema = WorkspaceIdSchema;\n\nexport const GetChatMessagesSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n limit: z.number().optional().describe('Maximum number of messages to retrieve'),\n});\n\nexport const SendChatMessageSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n message: z.string().describe('Message content to send'),\n model: z.string().optional().describe('AI model to use (defaults to \"gpt-4\")'),\n});\n\nexport const SendAssistantMessageSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n message: z.string().describe('Assistant message content'),\n});\n\nexport const InitiateOutboundCallSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n phoneNumberId: z.number().describe('Phone number ID for the call'),\n});\n\nexport const RateMessageSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n messageUuid: z.string().describe('Message UUID to rate'),\n rating: z.number().describe('Rating (1-5)'),\n});\n\nexport const CreateChatForWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID to start chat for'),\n memberId: z.number().describe('User member ID'),\n agentId: z\n .number()\n .optional()\n .describe('Agent ID (optional, uses workspace default if not provided)'),\n chatTitle: z.string().optional().describe('Chat title (optional)'),\n});\n\nexport const CreateChatCompletionSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n model: z.string().optional().describe('AI model to use'),\n // ``id`` on each message is optional but, when provided for the latest\n // user message, the backend uses it as the per-turn discriminator for\n // the Temporal inference workflow. MCP/tool callers that validate\n // through this schema would otherwise have ``id`` stripped and lose\n // the same-message-retry idempotency the per-turn workflow IDs rely\n // on (see lib/services/inference_keys.py and\n // ChatCompletionMessageSchema below).\n messages: z\n .array(\n z.object({\n id: z.string().optional(),\n role: z.string(),\n content: z.string(),\n })\n )\n .describe('Chat messages'),\n});\n\n// Additional schemas\nexport const FunctionToolSchema = z.object({\n type: z.literal('function'),\n function: z.object({\n name: z.string(),\n description: z.string(),\n parameters: z.record(z.string(), z.any()),\n }),\n});\n\nexport const ChatSchema = z.object({\n id: z.number(),\n archived: z.boolean(),\n muted: z.boolean(),\n needsResponse: z.boolean(),\n channel: ChannelEnum,\n chatType: z.string(),\n paused: z.boolean(),\n assignmentId: z.number().nullable(),\n workflowId: z.number().nullable(),\n phoneNumberId: z.number().nullable(),\n inboxId: z.number().nullable().optional(),\n siteId: z.number().nullable().optional(),\n folderId: z.number().nullable().optional(),\n fromMessageId: z.number().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n title: z.string(),\n summary: z.string().nullable(),\n participants: z.array(\n z.union([\n HumanChatParticipantSchema,\n AssistantChatParticipantSchema,\n ContributorChatParticipantSchema,\n SupervisorChatParticipantSchema,\n ])\n ),\n canSendAsAssistant: z.boolean().optional(),\n});\n\nexport const ChatFilterRuleSchema = z.object({\n objectType: ChatFilterObjectTypeEnum,\n filterType: ChatFilterFilterTypeEnum,\n objectIds: z.array(z.number()).optional(),\n query: z.string().optional(),\n});\n\nexport const ChatFilterRuleFormDataSchema = z.object({\n objectType: ChatFilterObjectTypeEnum,\n filterType: ChatFilterFilterTypeEnum,\n objectIds: z.array(z.number()).optional(),\n query: z.string().optional(),\n});\n\nexport const ToolCallFunctionSchema = z.object({\n name: z.string(),\n arguments: z.string(),\n});\n\nexport const ToolCallSchema = z.object({\n id: z.string(),\n type: z.literal('function'),\n function: ToolCallFunctionSchema,\n});\n\nexport const ToolResultSchema = z.object({\n tool_call_id: z.string(),\n content: z.string(),\n});\n\n// Multimodal message content types\nexport const TextContentSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n});\n\nexport const ImageUrlContentSchema = z.object({\n type: z.literal('image_url'),\n image_url: z.object({\n url: z.string(),\n }),\n});\n\nexport const MessageContentPartSchema = z.union([TextContentSchema, ImageUrlContentSchema]);\n\n// ============================================\n// MESSAGE SCHEMAS\n// ============================================\n\n// For OpenAI-compatible endpoints (role + content only)\nexport const ChatMessageObjectSchema = z.object({\n role: MessageRoleEnum,\n content: z\n .union([z.string(), z.array(MessageContentPartSchema)])\n .nullable()\n .optional(),\n tool_calls: z.array(ToolCallSchema).optional(),\n tool_call_id: z.string().optional(),\n});\n\n// API Response: What the GET /chats/{id}/messages endpoint returns\nexport const ChatMessageAPIResponseSchema = z.object({\n uuid: z.string(),\n id: z.string().optional(),\n chatId: z.number(),\n participantRole: MessageRoleEnum,\n participantName: z.string(),\n participantId: z.number().nullable(),\n role: MessageRoleEnum,\n content: z\n .union([z.string(), z.array(MessageContentPartSchema)])\n .nullable()\n .optional(),\n originalContent: z\n .union([z.string(), z.array(MessageContentPartSchema)])\n .nullable()\n .optional(),\n truncationReason: TruncationReasonEnum.optional(),\n truncatedAtMs: z.number().optional(),\n reasoning_content: z.string().optional(),\n failed: z.boolean(),\n tool_calls: z.array(ToolCallSchema).optional(),\n tool_call_id: z.string().optional(),\n error_details: z.any().optional(),\n createdAt: z.string(),\n email_id: z.number().optional(),\n inbox_id: z.number().optional(),\n // Task this message was produced under. Null for messages that predate the\n // workflow-task tracking or that originated outside a task (e.g. manager\n // chats). Surfaced in chat transcripts to help reviewers trace messages\n // back to the workflow task that produced them.\n taskId: z.number().nullable().optional(),\n // SMS delivery fields — only present on messages sent via Twilio SMS.\n smsDeliveryStatus: z.string().nullable().optional(),\n smsDeliveryErrorCode: z.string().nullable().optional(),\n smsDeliveryUpdatedAt: z.string().nullable().optional(),\n // Friendly failure reason — only set when smsDeliveryStatus is failed/undelivered.\n smsDeliveryFailureReason: z.string().nullable().optional(),\n // ADR-11 provenance. Null on rows written before the columns existed —\n // clients fall back to `role`.\n origin: MessageOriginEnum.nullable().optional(),\n audience: MessageAudienceEnum.nullable().optional(),\n // Forked-trajectory \"show work\" affordance: how many messages hang off this\n // one as a detached background thread, and the fork point this message\n // itself hangs off (the PARENT's uuid, so it joins against `id`).\n childMessageCount: z.number().optional(),\n parentMessageId: z.string().nullable().optional(),\n});\n\n// Chat Completion Request Message: Simplified format for /chat/completions endpoint\n//\n// ``id`` is optional but, when supplied for the latest user message, the\n// backend uses it as the per-turn discriminator for the Temporal\n// inference workflow ID. Sending an ID makes browser reload / retry\n// idempotent (USE_EXISTING attaches to the same workflow) while\n// guaranteeing two distinct user Messages produce two distinct workflow\n// executions even when the prior turn's tail-finalization is still\n// running. Treat as PHI structurally — do not log this value alongside\n// content.\nexport const ChatCompletionMessageSchema = z.object({\n id: z.string().optional(),\n role: z.enum(['user', 'assistant', 'system']),\n content: z.string(),\n});\n\n// Client-side UI Message: API response + UI-specific flags\nexport const ChatMessageUISchema = ChatMessageAPIResponseSchema.extend({\n error: z\n .object({\n code: z.string(),\n message: z.string(),\n })\n .optional(),\n suggestions: z.array(z.string()).optional(),\n sendAsAssistant: z.boolean().optional(),\n});\n\n// Main message type (backward compatible)\nexport const ChatMessageSchema = ChatMessageUISchema;\n\nexport const ChatMessageChunkSchema = z.object({\n type: z.enum(['content', 'toolCall', 'error']),\n content: z.string().optional(),\n toolCallId: z.string().optional(),\n toolCallName: z.string().optional(),\n toolCallArguments: z.string().optional(),\n error: z.string().optional(),\n});\n\n// ============================================\n// TYPE EXPORTS (Zod-inferred types)\n// ============================================\n\n// Core chat types\nexport type Channel = z.infer<typeof ChannelEnum>;\nexport type MessageRole = z.infer<typeof MessageRoleEnum>;\nexport type ChatFilterObjectType = z.infer<typeof ChatFilterObjectTypeEnum>;\nexport type ChatFilterFilterType = z.infer<typeof ChatFilterFilterTypeEnum>;\nexport type TruncationReason = z.infer<typeof TruncationReasonEnum>;\nexport type MessageOrigin = z.infer<typeof MessageOriginEnum>;\nexport type MessageAudience = z.infer<typeof MessageAudienceEnum>;\nexport type ChatParticipantFormData = z.infer<typeof ChatParticipantFormDataSchema>;\nexport type HumanChatParticipant = z.infer<typeof HumanChatParticipantSchema>;\nexport type AssistantChatParticipant = z.infer<typeof AssistantChatParticipantSchema>;\nexport type ContributorChatParticipant = z.infer<typeof ContributorChatParticipantSchema>;\nexport type SupervisorChatParticipant = z.infer<typeof SupervisorChatParticipantSchema>;\nexport type ChatFormData = z.infer<typeof ChatFormDataSchema>;\nexport type FunctionTool = z.infer<typeof FunctionToolSchema>;\nexport type Chat = z.infer<typeof ChatSchema>;\nexport type ChatFilterRule = z.infer<typeof ChatFilterRuleSchema>;\nexport type ChatFilterRuleFormData = z.infer<typeof ChatFilterRuleFormDataSchema>;\nexport type ToolCallFunction = z.infer<typeof ToolCallFunctionSchema>;\nexport type ToolCall = z.infer<typeof ToolCallSchema>;\nexport type ToolResult = z.infer<typeof ToolResultSchema>;\nexport type TextContent = z.infer<typeof TextContentSchema>;\nexport type ImageUrlContent = z.infer<typeof ImageUrlContentSchema>;\nexport type MessageContentPart = z.infer<typeof MessageContentPartSchema>;\nexport type ChatMessageObject = z.infer<typeof ChatMessageObjectSchema>;\nexport type ChatMessageAPIResponse = z.infer<typeof ChatMessageAPIResponseSchema>;\nexport type ChatCompletionMessage = z.infer<typeof ChatCompletionMessageSchema>;\nexport type ChatMessageUI = z.infer<typeof ChatMessageUISchema>;\nexport type ChatMessage = z.infer<typeof ChatMessageSchema>;\nexport type ChatMessageChunk = z.infer<typeof ChatMessageChunkSchema>;\n\n// Operation input types\nexport type ListChatsInput = z.infer<typeof ListChatsSchema>;\nexport type GetChatInput = z.infer<typeof GetChatSchema>;\nexport type CreateChatInput = z.infer<typeof CreateChatSchema>;\nexport type UpdateChatInput = z.infer<typeof UpdateChatSchema>;\nexport type DeleteChatInput = z.infer<typeof DeleteChatSchema>;\nexport type ArchiveChatInput = z.infer<typeof ArchiveChatSchema>;\nexport type UnarchiveChatInput = z.infer<typeof UnarchiveChatSchema>;\nexport type UpdateChatMuteInput = z.infer<typeof UpdateChatMuteSchema>;\nexport type UpdateChatNeedsResponseInput = z.infer<typeof UpdateChatNeedsResponseSchema>;\nexport type GetChatsNeedsResponseInput = z.infer<typeof GetChatsNeedsResponseSchema>;\nexport type GetChatMessagesInput = z.infer<typeof GetChatMessagesSchema>;\nexport type SendChatMessageInput = z.infer<typeof SendChatMessageSchema>;\nexport type SendAssistantMessageInput = z.infer<typeof SendAssistantMessageSchema>;\nexport type InitiateOutboundCallInput = z.infer<typeof InitiateOutboundCallSchema>;\nexport type RateMessageInput = z.infer<typeof RateMessageSchema>;\nexport type CreateChatForWorkflowInput = z.infer<typeof CreateChatForWorkflowSchema>;\nexport type CreateChatCompletionInput = z.infer<typeof CreateChatCompletionSchema>;\n","import type { Tool } from '@modelcontextprotocol/sdk/types.js';\nimport { z } from 'zod';\n\n// Note: Zod v4 is now supported since MCP TypeScript SDK 1.23.0+\n// See: https://github.com/modelcontextprotocol/typescript-sdk/issues/555\n\n// Base schema for workspace-scoped operations\nexport const WorkspaceIdSchema = z.object({\n wid: z.string().describe('Workspace UUID'),\n});\n\n/**\n * Helper to unwrap Optional/Default/Effects to get the underlying type and optionality\n */\nfunction unwrapSchema(schema: any): { schema: any; isOptional: boolean } {\n let current = schema;\n let isOptional = false;\n\n const isOptionalDef = (def?: any) => def?.type === 'optional' || def?.typeName === 'ZodOptional';\n const isDefaultDef = (def?: any) => def?.type === 'default' || def?.typeName === 'ZodDefault';\n // Zod 4: z.preprocess() creates a pipe with a transform input — treat as optional\n // since the preprocess provides a default value for null/undefined inputs.\n const isPipeDef = (def?: any) => def?.type === 'pipe';\n\n while (true) {\n if (isOptionalDef(current._def)) {\n isOptional = true;\n current = current._def.innerType;\n } else if (isDefaultDef(current._def)) {\n isOptional = true; // Defaults make it optional in JSON schema sense\n current = current._def.innerType;\n } else if (isPipeDef(current._def) && current._def.in?._def?.type === 'transform') {\n isOptional = true; // Preprocess provides defaults, so not required\n current = current._def.out;\n } else {\n break;\n }\n }\n\n return { schema: current, isOptional };\n}\n\n/**\n * Convert a Zod schema to MCP tool input schema format\n * Note: We use a custom converter instead of zod-to-json-schema because it has\n * compatibility issues with different Zod versions (3.x and 4.x).\n */\nexport function zodToMcpSchema(schema: any): any {\n // Handle ZodObject\n if (schema instanceof z.ZodObject) {\n const shape = schema.shape;\n const properties: Record<string, any> = {};\n const required: string[] = [];\n\n for (const [key, value] of Object.entries(shape)) {\n const { schema: fieldSchema, isOptional } = unwrapSchema(value as any);\n properties[key] = zodToMcpSchema(fieldSchema);\n if (!isOptional) {\n required.push(key);\n }\n }\n\n return {\n type: 'object',\n properties,\n ...(required.length > 0 ? { required } : {}),\n };\n }\n\n // Handle ZodString\n if (schema instanceof z.ZodString) {\n const result: any = { type: 'string' };\n if (schema.description) {\n result.description = schema.description;\n }\n return result;\n }\n\n // Handle ZodNumber\n if (schema instanceof z.ZodNumber) {\n const result: any = { type: 'number' };\n if (schema.description) {\n result.description = schema.description;\n }\n return result;\n }\n\n // Handle ZodBoolean\n if (schema instanceof z.ZodBoolean) {\n const result: any = { type: 'boolean' };\n if (schema.description) {\n result.description = schema.description;\n }\n return result;\n }\n\n // Handle ZodEnum - use .options public getter to access enum values\n if (schema instanceof z.ZodEnum) {\n const result: any = {\n type: 'string',\n enum: schema.options,\n };\n if (schema.description) {\n result.description = schema.description;\n }\n return result;\n }\n\n // Handle ZodOptional (should be unwrapped before calling this, but just in case)\n const isOptionalDef =\n schema._def?.type === 'optional' || schema._def?.typeName === 'ZodOptional';\n if (isOptionalDef) {\n return zodToMcpSchema(schema._def.innerType);\n }\n\n // Handle ZodDefault (should be unwrapped before calling this, but just in case)\n const isDefaultDef = schema._def?.type === 'default' || schema._def?.typeName === 'ZodDefault';\n if (isDefaultDef) {\n const result = zodToMcpSchema(schema._def.innerType);\n // defaultValue is a getter in Zod 4\n if (typeof schema._def.defaultValue === 'function') {\n result.default = schema._def.defaultValue();\n }\n return result;\n }\n\n // Handle Zod 4 pipe (e.g. z.preprocess) - unwrap to the output schema\n if (schema._def?.type === 'pipe' && schema._def.out) {\n return zodToMcpSchema(schema._def.out);\n }\n\n // Fallback for unknown types\n return { type: 'string' };\n}\n\n/**\n * Create an MCP Tool definition from a Zod schema\n */\nexport function createTool(name: string, description: string, schema: z.ZodSchema<any>): Tool {\n return {\n name,\n description,\n inputSchema: zodToMcpSchema(schema) as any,\n };\n}\n","import { z } from 'zod';\nimport {\n DataCategory,\n DataFieldType,\n DataSensitivity,\n DataTypeRecordScope,\n IndexStatus,\n} from '../types/data-types.js';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// DATA TYPE ENUMS AND CONSTANTS\n// ============================================\n\n// Re-export enums for convenience (canonical definition is in types/dataTypes.ts)\nexport { DataCategory, DataFieldType, DataSensitivity, DataTypeRecordScope, IndexStatus };\n\nconst DataFieldTypeEnum = z.nativeEnum(DataFieldType);\nconst IndexStatusEnum = z.nativeEnum(IndexStatus);\nconst DataTypeRecordScopeEnum = z.nativeEnum(DataTypeRecordScope);\nconst DataSensitivityEnum = z.nativeEnum(DataSensitivity);\nconst DataCategoryEnum = z.nativeEnum(DataCategory);\n\nexport const DataTypeMemberRoleAccessInputSchema = z\n .object({\n memberRoleId: z.number(),\n accessMode: z.number().int().nonnegative(),\n })\n .strict();\n\nexport const DataTypeMemberRoleAccessResponseSchema = DataTypeMemberRoleAccessInputSchema.extend({\n memberRoleName: z.string(),\n});\n\nconst SENSITIVITY_RANK: Record<DataSensitivity, number> = {\n [DataSensitivity.PUBLIC]: 1,\n [DataSensitivity.INTERNAL]: 2,\n [DataSensitivity.CONFIDENTIAL]: 3,\n [DataSensitivity.RESTRICTED]: 4,\n [DataSensitivity.SECRET]: 5,\n};\n\nconst CATEGORY_MIN_SENSITIVITY: Partial<Record<DataCategory, DataSensitivity>> = {\n [DataCategory.PHI]: DataSensitivity.RESTRICTED,\n [DataCategory.CREDENTIAL]: DataSensitivity.SECRET,\n};\n\nconst HIGH_RISK_CATEGORIES = new Set<DataCategory>([DataCategory.PHI, DataCategory.CREDENTIAL]);\n\ntype FieldPolicyInput = {\n sensitivity?: DataSensitivity;\n categories?: DataCategory[];\n};\n\ntype DataTypePolicyInput = {\n recordScope?: DataTypeRecordScope;\n isCollection?: boolean;\n sensitivity?: DataSensitivity;\n fields?: FieldPolicyInput[];\n};\n\nfunction maxSensitivity(first: DataSensitivity, second: DataSensitivity): DataSensitivity {\n return SENSITIVITY_RANK[first] >= SENSITIVITY_RANK[second] ? first : second;\n}\n\nfunction minSensitivityForCategories(categories: readonly DataCategory[] = []): DataSensitivity {\n return categories.reduce<DataSensitivity>((minimum, category) => {\n const categoryMinimum = CATEGORY_MIN_SENSITIVITY[category];\n return categoryMinimum ? maxSensitivity(minimum, categoryMinimum) : minimum;\n }, DataSensitivity.PUBLIC);\n}\n\n/**\n * What a data type with no schema fields derives.\n *\n * Mirrors `EMPTY_SCHEMA_SENSITIVITY` in `lib/models/workspace/data_policy.py`.\n * An empty schema carries no labels to read, which is an absence of information\n * rather than a claim that the records are public — and deriving Public made\n * zero fields more permissive than one unlabeled field, which defaults to\n * Confidential.\n */\nexport const EMPTY_SCHEMA_SENSITIVITY: DataSensitivity = DataSensitivity.CONFIDENTIAL;\n\nfunction minSensitivityForFields(fields: readonly FieldPolicyInput[] = []): DataSensitivity {\n if (fields.length === 0) {\n return EMPTY_SCHEMA_SENSITIVITY;\n }\n\n return fields.reduce<DataSensitivity>((minimum, field) => {\n const fieldSensitivity = field.sensitivity ?? DataSensitivity.CONFIDENTIAL;\n const categoryMinimum = minSensitivityForCategories(field.categories ?? []);\n return maxSensitivity(minimum, maxSensitivity(fieldSensitivity, categoryMinimum));\n }, DataSensitivity.PUBLIC);\n}\n\nfunction validateFieldPolicy(field: FieldPolicyInput, ctx: z.RefinementCtx) {\n const categories = field.categories ?? [];\n const sensitivity = field.sensitivity ?? DataSensitivity.CONFIDENTIAL;\n const minimumSensitivity = minSensitivityForCategories(categories);\n\n if (SENSITIVITY_RANK[sensitivity] < SENSITIVITY_RANK[minimumSensitivity]) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['sensitivity'],\n message: `Sensitivity must be at least ${minimumSensitivity} for selected categories`,\n });\n }\n}\n\nfunction validateDataTypePolicy(data: DataTypePolicyInput, ctx: z.RefinementCtx) {\n const recordScope = data.recordScope ?? DataTypeRecordScope.MEMBER;\n const fields = data.fields ?? [];\n const derivedSensitivity = minSensitivityForFields(fields);\n const hasHighRiskCategory = fields.some((field) =>\n (field.categories ?? []).some((category) => HIGH_RISK_CATEGORIES.has(category))\n );\n\n if (recordScope === DataTypeRecordScope.WORKSPACE && hasHighRiskCategory) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['fields'],\n message: 'Workspace-scoped data types cannot include PHI or credential categories',\n });\n }\n\n if (data.sensitivity !== undefined && data.sensitivity !== derivedSensitivity) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['sensitivity'],\n message: `Sensitivity is derived from fields and must be ${derivedSensitivity}`,\n });\n }\n}\n\nfunction validateDataTypeUpdatePolicy(data: DataTypePolicyInput, ctx: z.RefinementCtx) {\n const fields = data.fields ?? [];\n const hasFields = data.fields !== undefined;\n const hasHighRiskCategory = fields.some((field) =>\n (field.categories ?? []).some((category) => HIGH_RISK_CATEGORIES.has(category))\n );\n\n if (data.recordScope === DataTypeRecordScope.WORKSPACE && hasFields && hasHighRiskCategory) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['fields'],\n message: 'Workspace-scoped data types cannot include PHI or credential categories',\n });\n }\n\n if (hasFields && data.sensitivity !== undefined) {\n const derivedSensitivity = minSensitivityForFields(fields);\n if (data.sensitivity !== derivedSensitivity) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['sensitivity'],\n message: `Sensitivity is derived from fields and must be ${derivedSensitivity}`,\n });\n }\n }\n}\n\n// Label-value pair for enum field options\nconst EnumOptionSchema = z.object({\n label: z.string(),\n value: z.union([z.string(), z.number()]),\n visibleWhen: z.string().optional(),\n});\n\n// Options are always EnumOption objects\nconst OptionsSchema = z.array(EnumOptionSchema).optional();\n\n// ============================================\n// DATA TYPE BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const DataFieldSchema = z.object({\n id: z.number().optional(),\n name: z.string(),\n slug: z.string(),\n description: z.string().optional(),\n required: z.boolean(),\n fieldType: DataFieldTypeEnum,\n options: OptionsSchema,\n referencedTypeId: z.number().optional(),\n shouldIndex: z.boolean().optional(),\n indexStatus: IndexStatusEnum.optional(),\n adminOnly: z.boolean().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const DataFieldFormDataSchema = z.object({\n name: z.string(),\n slug: z.string(),\n description: z.string().optional(),\n required: z.boolean(),\n fieldType: DataFieldTypeEnum,\n options: OptionsSchema,\n referencedTypeId: z.number().optional(),\n shouldIndex: z.boolean().optional(),\n indexStatus: IndexStatusEnum.optional(),\n adminOnly: z.boolean().optional(),\n});\n\n// SchemaField - the canonical representation of a data type field\n// Display order is determined by array position, not the order field\nexport const SchemaFieldSchema = z\n .object({\n slug: z.string(),\n name: z.string(),\n description: z.string().optional(),\n fieldType: DataFieldTypeEnum,\n required: z.boolean(),\n order: z.number().optional(), // Deprecated: use array position for ordering\n options: OptionsSchema,\n referencedTypeId: z.number().optional(),\n shouldIndex: z.boolean().optional(),\n adminOnly: z.boolean().optional(),\n defaultValue: z.any().optional(),\n sensitivity: DataSensitivityEnum.optional(),\n categories: z.array(DataCategoryEnum).optional(),\n celFunction: z.string().optional(),\n validateCel: z.string().optional(),\n })\n .superRefine(validateFieldPolicy);\n\n// SchemaField for form data - order is optional (auto-assigned by backend)\nexport const SchemaFieldFormDataSchema = z\n .object({\n slug: z.string(),\n name: z.string(),\n description: z.string().optional(),\n fieldType: DataFieldTypeEnum,\n required: z.boolean(),\n order: z.number().optional(),\n options: OptionsSchema,\n referencedTypeId: z.number().optional(),\n shouldIndex: z.boolean().optional(),\n adminOnly: z.boolean().optional(),\n defaultValue: z.any().optional(),\n sensitivity: DataSensitivityEnum.optional(),\n categories: z.array(DataCategoryEnum).optional(),\n celFunction: z.string().optional(),\n validateCel: z.string().optional(),\n })\n .superRefine(validateFieldPolicy);\n\nexport const DataTypeSchema = z\n .object({\n id: z.number(),\n name: z.string(),\n slug: z.string(),\n uuid: z.string(),\n description: z.string().optional(),\n prompt: z.string().optional(),\n isCollection: z.boolean(),\n pinned: z.boolean().optional(),\n archived: z.boolean().optional(),\n ownerId: z.number().nullable(),\n recordScope: DataTypeRecordScopeEnum,\n sensitivity: DataSensitivityEnum,\n categories: z.array(DataCategoryEnum),\n memberRoleAccess: z.array(DataTypeMemberRoleAccessResponseSchema).optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n fields: z.array(SchemaFieldSchema),\n })\n .superRefine(validateDataTypePolicy);\n\nconst DataTypeFormDataBaseSchema = z\n .object({\n name: z.string(),\n slug: z.string(),\n description: z.string().optional(),\n prompt: z.string().optional(),\n isCollection: z.boolean(),\n pinned: z.boolean().optional(),\n recordScope: DataTypeRecordScopeEnum.optional(),\n fields: z.array(SchemaFieldFormDataSchema),\n memberRoleAccess: z.array(DataTypeMemberRoleAccessInputSchema).optional(),\n ownerId: z.number().nullable().optional(),\n })\n .strict();\n\nexport const DataTypeFormDataSchema =\n DataTypeFormDataBaseSchema.superRefine(validateDataTypePolicy);\n\nexport const DataRecordFiltersSchema = z.object({\n page: z.number().optional(),\n pageSize: z.number().optional(),\n search: z.string().optional(),\n searchField: z.string().optional(),\n memberId: z.number().optional(),\n});\n\n// ============================================\n// DATA TYPE OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListDataTypesSchema = WorkspaceIdSchema;\n\nexport const GetDataTypeSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n});\n\nexport const GetDataTypeBySlugSchema = WorkspaceIdSchema.extend({\n slug: z.string().describe('Data type slug'),\n});\n\nexport const CreateDataTypeSchema = WorkspaceIdSchema.merge(\n DataTypeFormDataBaseSchema.extend({\n fields: z\n .array(SchemaFieldFormDataSchema)\n .default([])\n .describe(\n 'Field definitions for the data type. Can be empty initially and fields added later.'\n ),\n })\n).superRefine(validateDataTypePolicy);\n\nexport const UpdateDataTypeSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n})\n .merge(DataTypeFormDataBaseSchema.partial())\n .superRefine(validateDataTypeUpdatePolicy);\n\nexport const DeleteDataTypeSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID to delete'),\n});\n\n// Data Records\nexport const ListDataRecordsSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n}).merge(DataRecordFiltersSchema);\n\nexport const GetDataRecordSchema = WorkspaceIdSchema.extend({\n recordId: z.number().describe('Data record ID'),\n});\n\nexport const CreateDataRecordSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n memberId: z\n .number()\n .nullable()\n .optional()\n .describe('Member ID for member-scoped records; omit/null for workspace-scoped records.'),\n memberExternalId: z\n .string()\n .nullable()\n .optional()\n .describe('Member external ID (alternative to memberId).'),\n fieldValues: z.record(z.string(), z.any()).describe('Field values for the record'),\n externalId: z.string().nullable().optional().describe('External ID for the record'),\n assignmentTaskId: z.number().nullable().optional().describe('Assignment task ID (optional)'),\n}).refine(\n (data) => [data.memberId, data.memberExternalId].filter((value) => value != null).length <= 1,\n {\n message: 'Specify only one of memberId or memberExternalId.',\n path: ['memberId'],\n }\n);\n\nexport const UpdateDataRecordSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n recordId: z.number().describe('Data record ID'),\n fieldValues: z.record(z.string(), z.any()).describe('New field values for the record'),\n memberId: z\n .number()\n .nullable()\n .optional()\n .describe(\n 'Member ID for member-scoped records; omit/null for workspace-scoped records. Cannot be used with memberExternalId.'\n ),\n memberExternalId: z\n .string()\n .nullable()\n .optional()\n .describe('Member external ID (alternative to memberId). Cannot be used with memberId.'),\n externalId: z.string().nullable().optional().describe('External ID for the record'),\n assignmentTaskId: z.number().nullable().optional().describe('Assignment task ID (optional)'),\n}).refine(\n (data) => [data.memberId, data.memberExternalId].filter((value) => value != null).length <= 1,\n {\n message: 'Specify only one of memberId or memberExternalId.',\n path: ['memberExternalId'],\n }\n);\n\nexport const DeleteDataRecordSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n recordId: z.number().describe('Data record ID to delete'),\n});\n\nexport const UpsertDataRecordSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n externalId: z.string().describe('External ID to match on'),\n fieldValues: z.record(z.string(), z.any()).describe('Field values for the record'),\n memberId: z.number().nullable().optional(),\n memberExternalId: z.string().nullable().optional(),\n});\n\nexport const ToggleFieldIndexSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n fieldSlug: z.string().describe('Field slug'),\n shouldIndex: z.boolean().describe('Whether to index the field'),\n});\n\nexport const GetFieldIndexStatusSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n fieldSlug: z.string().describe('Field slug'),\n});\n\nexport const AddDataFieldSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n name: z.string().describe('Field name'),\n slug: z.string().describe('URL-friendly field identifier'),\n description: z.string().optional().describe('Field description'),\n required: z.boolean().default(false).describe('Whether this field is required'),\n fieldType: DataFieldTypeEnum.describe('Field data type'),\n options: OptionsSchema.describe('Options for enum fields as {label, value} objects.'),\n referencedTypeId: z.number().optional().describe('Referenced data type ID for reference fields'),\n shouldIndex: z.boolean().optional().describe('Whether to create a search index for this field'),\n adminOnly: z.boolean().optional().describe('Whether only admins can edit this field'),\n});\n\nexport const RemoveDataFieldSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n fieldId: z.number().describe('Field ID to remove'),\n});\n\nexport const UpdateDataFieldSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n fieldId: z.number().describe('Field ID to update'),\n name: z.string().optional().describe('Field name'),\n slug: z.string().optional().describe('URL-friendly field identifier'),\n description: z.string().optional().describe('Field description'),\n required: z.boolean().optional().describe('Whether this field is required'),\n fieldType: DataFieldTypeEnum.optional().describe('Field data type'),\n options: OptionsSchema.describe('Options for enum fields as {label, value} objects.'),\n referencedTypeId: z.number().optional().describe('Referenced data type ID for reference fields'),\n shouldIndex: z.boolean().optional().describe('Whether to create a search index for this field'),\n adminOnly: z.boolean().optional().describe('Whether only admins can edit this field'),\n});\n\n// Derived lifecycle-retirement status (Monday item archived/deleted). Populated\n// only on the human Forms/CRUD read responses; null for live/non-connector\n// records. PHI-safe: closed-vocabulary status/reason/source codes only.\nexport const DataRecordRetirementSchema = z.object({\n status: z.literal('retired'),\n reason: z.enum(['monday_item_archived', 'monday_item_deleted']),\n source: z.literal('monday'),\n});\n\n// Additional schemas\nexport const DataRecordSchema = z.object({\n id: z.number(),\n dataTypeId: z.number(),\n memberId: z.number().nullable(),\n fieldValues: z.record(z.string(), z.any()),\n externalId: z.string().optional(),\n assignmentTaskId: z.number().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n retirement: DataRecordRetirementSchema.nullable().optional(),\n});\n\nexport const DataRecordFormDataSchema = z.object({\n memberId: z.number().nullable().optional(),\n memberExternalId: z.string().optional(),\n fieldValues: z.record(z.string(), z.any()),\n externalId: z.string().optional(),\n assignmentTaskId: z.number().optional(),\n});\n\nexport const DataRecordsPaginatedResponseSchema = z.object({\n items: z.array(DataRecordSchema),\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n totalPages: z.number(),\n});\n\nexport const DataRecordWithAccessModeSchema = DataRecordSchema.extend({\n accessMode: z.number(),\n});\n\nexport const DataRecordAssociationFormDataSchema = z.object({\n id: z.number(),\n accessMode: z.number(),\n});\n\nexport const DataRecordReportItemSchema = z.object({\n id: z.number(),\n data_type_id: z.number(),\n data_type_name: z.string(),\n data_type_slug: z.string(),\n values: z.record(z.string(), z.any()),\n created_at: z.string(),\n updated_at: z.string(),\n external_id: z.string().nullable().optional(),\n});\n\nexport const DataIntegrityReportItemSchema = z.object({\n issue_type: z.string(),\n data_type_id: z.number().optional(),\n data_type_name: z.string().optional(),\n record_id: z.number().optional(),\n field_name: z.string().optional(),\n details: z.string(),\n});\n\nexport const DataTypeExportItemSchema = z.object({\n uuid: z.string(),\n templateUuid: z.string().nullable().optional(),\n name: z.string(),\n slug: z.string(),\n description: z.string().nullable().optional(),\n prompt: z.string().nullable().optional(),\n isCollection: z.boolean(),\n recordScope: DataTypeRecordScopeEnum,\n fields: z.array(SchemaFieldSchema),\n});\n\nexport const TaskExportDataTypeRelationSchema = z.object({\n dataTypeUuid: z.string(),\n accessMode: z.number(),\n});\n\n// ============================================\n// TYPE EXPORTS (Zod-inferred types)\n// ============================================\n\n// Core data types\nexport type DataField = z.infer<typeof DataFieldSchema>;\nexport type DataFieldFormData = z.infer<typeof DataFieldFormDataSchema>;\nexport type SchemaField = z.infer<typeof SchemaFieldSchema>;\nexport type SchemaFieldFormData = z.infer<typeof SchemaFieldFormDataSchema>;\nexport type DataType = z.infer<typeof DataTypeSchema>;\nexport type DataTypeFormData = z.infer<typeof DataTypeFormDataSchema>;\nexport type DataRecord = z.infer<typeof DataRecordSchema>;\nexport type DataRecordRetirement = z.infer<typeof DataRecordRetirementSchema>;\nexport type DataRecordFormData = z.infer<typeof DataRecordFormDataSchema>;\nexport type DataRecordsPaginatedResponse = z.infer<typeof DataRecordsPaginatedResponseSchema>;\nexport type DataRecordWithAccessMode = z.infer<typeof DataRecordWithAccessModeSchema>;\nexport type DataRecordAssociationFormData = z.infer<typeof DataRecordAssociationFormDataSchema>;\nexport type DataRecordReportItem = z.infer<typeof DataRecordReportItemSchema>;\nexport type DataIntegrityReportItem = z.infer<typeof DataIntegrityReportItemSchema>;\nexport type DataTypeExportItem = z.infer<typeof DataTypeExportItemSchema>;\nexport type TaskExportDataTypeRelation = z.infer<typeof TaskExportDataTypeRelationSchema>;\n\n// Operation input types\nexport type DataRecordFilters = z.infer<typeof DataRecordFiltersSchema>;\nexport type ListDataTypesInput = z.infer<typeof ListDataTypesSchema>;\nexport type GetDataTypeInput = z.infer<typeof GetDataTypeSchema>;\nexport type GetDataTypeBySlugInput = z.infer<typeof GetDataTypeBySlugSchema>;\nexport type CreateDataTypeInput = z.infer<typeof CreateDataTypeSchema>;\nexport type UpdateDataTypeInput = z.infer<typeof UpdateDataTypeSchema>;\nexport type DeleteDataTypeInput = z.infer<typeof DeleteDataTypeSchema>;\nexport type ListDataRecordsInput = z.infer<typeof ListDataRecordsSchema>;\nexport type GetDataRecordInput = z.infer<typeof GetDataRecordSchema>;\nexport type CreateDataRecordInput = z.infer<typeof CreateDataRecordSchema>;\nexport type UpdateDataRecordInput = z.infer<typeof UpdateDataRecordSchema>;\nexport type DeleteDataRecordInput = z.infer<typeof DeleteDataRecordSchema>;\nexport type UpsertDataRecordInput = z.infer<typeof UpsertDataRecordSchema>;\nexport type ToggleFieldIndexInput = z.infer<typeof ToggleFieldIndexSchema>;\nexport type GetFieldIndexStatusInput = z.infer<typeof GetFieldIndexStatusSchema>;\nexport type AddDataFieldInput = z.infer<typeof AddDataFieldSchema>;\nexport type RemoveDataFieldInput = z.infer<typeof RemoveDataFieldSchema>;\nexport type UpdateDataFieldInput = z.infer<typeof UpdateDataFieldSchema>;\n","// Data-related types.\n// Server response shapes are generated from Pydantic via emit_openapi.py → Orval.\n// Client-only shapes (enums, forms, report items) are defined below.\n\nimport type { SchemaField } from './generated/data';\n\nexport type {\n DataTypeDraftResponse,\n DataTypeVersionResponse,\n PublishDataTypeDraftRequest,\n SaveDataTypeDraftRequest,\n} from './generated/data_type_version';\n\n// ===== GENERATED SERVER TYPES =====\n\nexport type {\n DataRecordResponse,\n DataRecordResponse as DataRecord,\n DataRecordRetirementResponse,\n DataRecordUpdateResponse,\n DataRecordUpdateResponse as DataRecordUpdate,\n DataTypeMemberRoleAccessResponse,\n DataTypeResponse,\n DataTypeResponse as DataType,\n IndexStatusResponse,\n SchemaField,\n} from './generated/data';\n\nexport type {\n DataRecordFilterResponse,\n DataRecordFilterResponse as DataRecordFilter,\n CreateDataRecordFilterRequest,\n UpdateDataRecordFilterRequest,\n} from './generated/data_record_filter';\n\nexport { DataRecordRetirementResponseReason } from './generated/data';\n\n// Field-slug rename (preview + apply). Value-free by construction: counts, ids,\n// schema slugs and closed-vocabulary blocker codes only.\nexport type {\n FieldReferenceImpact,\n FieldSlugRenamePreview,\n FieldSlugRenameResult,\n} from './generated/data_type_field_rename_service';\n\nimport type { DataRecordFilterResponse as GeneratedDataRecordFilterResponse } from './generated/data_record_filter';\nimport type { QueryPredicate } from './query-engine-types';\n\n/** DataRecordFilter with the query-engine predicate column narrowed to IR. */\nexport type DataRecordFilterWithQuery = GeneratedDataRecordFilterResponse & {\n query?: QueryPredicate | null;\n};\n\nexport interface DataRecordFilterFormData {\n dataTypeId: number;\n name: string;\n description?: string;\n pinned?: boolean;\n /** Query-engine predicate (JSON IR). Pass null to author an empty filter. */\n query: QueryPredicate | null;\n}\n\n// Pagination wrapper for data records (the backend uses an inline shape, not\n// a top-level Pydantic generic, so there is no generated equivalent).\nexport interface DataRecordsPaginatedResponse {\n items: DataRecordResponse[];\n total: number;\n page: number;\n pageSize: number;\n totalPages: number;\n}\n\n// Local import for use in `extends` clauses\nimport type { DataRecordResponse } from './generated/data';\n\n// ===== CLIENT-ONLY SURFACE =====\n// Enums, form shapes, report items, and query helpers that have no direct\n// Pydantic counterpart (or that the frontend builds in a different shape).\n\nimport type { AccountReportItem } from './account-types';\nimport type { EventRuleInput } from './event-types';\nimport type { MemberReportItem } from './member-types';\n\n// Field type enum (kept as TypeScript enum; widely used for comparisons)\nexport enum DataFieldType {\n ENUM = 'enum',\n EMAIL = 'email',\n PHONE = 'phone',\n TEXT = 'text',\n LONGTEXT = 'longtext',\n NUMBER = 'number',\n INTEGER = 'integer',\n DATE = 'date',\n DATETIME = 'datetime',\n TIME_OF_DAY = 'time_of_day',\n BOOLEAN = 'boolean',\n FILE = 'file',\n REFERENCE = 'reference',\n FUNCTION = 'function',\n ARRAY = 'array',\n OBJECT = 'object',\n US_ZIP_CODE = 'us_zip_code',\n}\n\nexport enum IndexStatus {\n NOT_INDEXED = 'not_indexed',\n INDEXING = 'indexing',\n INDEXED = 'indexed',\n ERROR = 'error',\n}\n\nexport enum DataTypeRecordScope {\n WORKSPACE = 'workspace',\n MEMBER = 'member',\n}\n\nexport enum DataSensitivity {\n PUBLIC = 'public',\n INTERNAL = 'internal',\n CONFIDENTIAL = 'confidential',\n RESTRICTED = 'restricted',\n SECRET = 'secret',\n}\n\nexport enum DataCategory {\n PHI = 'phi',\n PII = 'pii',\n FINANCIAL = 'financial',\n OPERATIONAL = 'operational',\n CREDENTIAL = 'credential',\n PERSONAL = 'personal',\n IDENTIFIER = 'identifier',\n}\n\n// DataField — the legacy client-side shape used in forms and the data-type editor.\n// SchemaField (from generated) is the canonical server representation.\nexport interface DataField {\n id?: number;\n name: string;\n slug: string;\n description?: string;\n required: boolean;\n fieldType: DataFieldType;\n options?: EnumOption[];\n referencedTypeId?: number;\n shouldIndex?: boolean;\n indexStatus?: IndexStatus;\n adminOnly?: boolean;\n defaultValue?: any;\n order: number;\n createdAt: string;\n updatedAt: string;\n}\n\n/**\n * Label-value pair for enum field options.\n * Allows enum fields to have user-friendly labels while storing clean values\n * (e.g., numbers for scoring calculations in CEL expressions).\n */\nexport interface EnumOption {\n /** Display label shown to users */\n label: string;\n /** Stored value (can be string or number) */\n value: string | number;\n /**\n * CEL expression that must return true for this option to be visible.\n * Uses record.data.<field_slug> syntax to reference other field values.\n * CONSTRAINT: Can only reference non-FUNCTION fields.\n */\n visibleWhen?: string | null;\n}\n\nexport interface DataTypeFormData {\n name: string;\n slug?: string;\n description?: string;\n prompt?: string;\n isCollection?: boolean;\n recordScope?: DataTypeRecordScope;\n sensitivity?: DataSensitivity;\n categories?: DataCategory[];\n // The update/create endpoints accept full SchemaField payloads (including\n // celFunction / validateCel); a narrower \"form data\" type here forced\n // unsafe double-casts at every call site.\n fields?: SchemaField[];\n memberRoleAccess?: DataTypeMemberRoleAccessInput[];\n pinned?: boolean;\n ownerId?: number | null;\n /**\n * Inline Actions. The same flat list ``DataType.eventRules`` returns, so a\n * form round-trips one shape. (``createRules``/``updateRules`` used to sit\n * here too, marked as the preferred pair — but the API never read them:\n * ``UpdateDataTypeRequest`` accepts ``eventRules`` and nothing else.)\n */\n eventRules?: EventRuleInput[];\n}\n\nexport interface DataRecordFormData {\n dataTypeId: number;\n memberId?: number | null;\n externalId?: string;\n fieldValues: Record<string, unknown>;\n}\n\nexport interface DataTypeMemberRoleAccessInput {\n memberRoleId: number;\n accessMode: number;\n}\n\nexport interface DataRecordAssociationFormData {\n dataRecordId: number;\n accessMode?: number;\n}\n\nexport interface DataRecordWithAccessMode extends DataRecordResponse {\n accessMode?: number | null;\n}\n\nexport interface DataRecordReportItem {\n id: number;\n dataTypeId: number;\n dataTypeSlug: string;\n member?: MemberReportItem;\n account?: AccountReportItem;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface DataIntegrityReportItem {\n dataTypeId: number;\n dataTypeSlug: string;\n dataTypeName: string;\n totalRecords: number;\n invalidRecords: number;\n issues: string[];\n}\n\nexport interface DataTypeExportItem {\n id: number;\n slug: string;\n name: string;\n fields: DataField[];\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface TaskExportDataTypeRelation {\n dataTypeId: number;\n dataTypeSlug: string;\n accessMode: number;\n}\n\nexport interface BulkRecordResult {\n index: number;\n status: 'created' | 'updated' | 'failed';\n recordId?: number;\n error?: string;\n}\n\nexport interface BulkCreateDataRecordResponse {\n importedCount: number;\n totalCount: number;\n success: boolean;\n results: BulkRecordResult[];\n errors?: string[];\n}\n\nexport interface BulkCreateDataRecordRequest {\n dataTypeId: number;\n records: DataRecordFormData[];\n upsert?: boolean;\n}\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// INBOX BASE SCHEMAS (Form Data)\n// ============================================\n\n// Inbox rule schemas based on backend validation\nexport const InboxRuleSchema = z.object({\n field: z.enum(['sender', 'sender_ip']),\n operator: z.enum(['contains', 'equals', 'ends_with', 'regex', 'ip_in_range']),\n value: z.string(),\n});\n\n// Per-inbox rate limit override configuration. `null`/omitted fields mean \"use system default\".\nexport const RateLimitOverrideSchema = z.object({\n enabled: z.boolean().nullish(),\n per_minute: z.number().int().nullish(),\n per_hour: z.number().int().nullish(),\n});\n\n// An allowlisted sender that bypasses rate limiting.\nexport const RateLimitAllowlistEntrySchema = z.object({\n sender: z.string(),\n reason: z.string().nullish(),\n});\n\nexport const InboxRulesConfigSchema = z.object({\n allowMode: z.enum(['all', 'none', 'rules']).optional(),\n denyMode: z.enum(['all', 'none', 'rules']).optional(),\n allowRules: z.array(InboxRuleSchema).optional(),\n denyRules: z.array(InboxRuleSchema).optional(),\n rateLimitEnabled: z.boolean().nullish(),\n rateLimitOverride: RateLimitOverrideSchema.nullish(),\n rateLimitAllowlist: z.array(RateLimitAllowlistEntrySchema).nullish(),\n});\n\nexport const InboxFormDataSchema = z.object({\n name: z.string(),\n slug: z.string().optional(),\n rules: InboxRulesConfigSchema.optional(),\n defaultWorkflowId: z.number().optional(),\n assistantEnabled: z.boolean().optional(),\n autoReplyEnabled: z.boolean().optional(),\n recipient: z.string().optional(),\n // Inbox-specific footer overriding the workspace-wide one. Empty string\n // clears the override; the backend sanitizes and length-caps it with the\n // same rules as the workspace footer.\n emailFooter: z.string().nullish(),\n // Store mail from senders who are not workspace Members instead of\n // dropping it. Stored only — such mail is never processed by the AI. Must\n // be declared here or Zod strips it: `UpdateInboxSchema` backs the MCP\n // `update_inbox` tool, and a stripped key makes the tool report success\n // while changing nothing.\n receiveNonMemberEmails: z.boolean().optional(),\n // Optional OrgDomain UUID for inboxes hosted on a verified org-tier custom\n // domain. Backend validates ownership and email-config status.\n orgDomainUuid: z.string().uuid().optional(),\n});\n\nexport const InboxEmailFiltersSchema = z.object({\n page: z.number().optional(),\n pageSize: z.number().optional(),\n includeAttachments: z.boolean().optional(),\n});\n\n// ============================================\n// INBOX OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListInboxesSchema = WorkspaceIdSchema;\n\nexport const GetInboxSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n});\n\nexport const CreateInboxSchema = WorkspaceIdSchema.merge(InboxFormDataSchema);\n\n// The update endpoint is a genuine partial update: `.partial()` here is not a\n// convenience, it is the contract — an omitted key leaves that field of the\n// inbox alone, so a one-flag change sends one flag. Clearing a field is a\n// separate instruction (an explicit `null`), and only `emailFooter` exposes it\n// through this schema; the others are set-only from the MCP tool.\nexport const UpdateInboxSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n}).merge(InboxFormDataSchema.partial());\n\nexport const DeleteInboxSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID to delete'),\n});\n\n// Inbox Emails\nexport const ListInboxEmailsSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n}).merge(InboxEmailFiltersSchema);\n\nexport const GetInboxEmailSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n emailId: z.number().describe('Email ID'),\n});\n\nexport const MarkEmailReadSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n emailId: z.number().describe('Email ID'),\n});\n\nexport const MarkEmailUnreadSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n emailId: z.number().describe('Email ID'),\n});\n\nexport const GetRecentInboxMessagesSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n limit: z.number().optional().describe('Maximum number of messages to return (default: 20)'),\n since: z.string().optional().describe('ISO date string to get messages since this date'),\n unreadOnly: z.boolean().optional().describe('Return only unread messages'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type InboxRule = z.infer<typeof InboxRuleSchema>;\nexport type RateLimitOverride = z.infer<typeof RateLimitOverrideSchema>;\nexport type RateLimitAllowlistEntry = z.infer<typeof RateLimitAllowlistEntrySchema>;\nexport type InboxRulesConfig = z.infer<typeof InboxRulesConfigSchema>;\nexport type InboxFormData = z.infer<typeof InboxFormDataSchema>;\nexport type InboxEmailFilters = z.infer<typeof InboxEmailFiltersSchema>;\nexport type ListInboxesInput = z.infer<typeof ListInboxesSchema>;\nexport type GetInboxInput = z.infer<typeof GetInboxSchema>;\nexport type CreateInboxInput = z.infer<typeof CreateInboxSchema>;\nexport type UpdateInboxInput = z.infer<typeof UpdateInboxSchema>;\nexport type DeleteInboxInput = z.infer<typeof DeleteInboxSchema>;\nexport type ListInboxEmailsInput = z.infer<typeof ListInboxEmailsSchema>;\nexport type GetInboxEmailInput = z.infer<typeof GetInboxEmailSchema>;\nexport type MarkEmailReadInput = z.infer<typeof MarkEmailReadSchema>;\nexport type MarkEmailUnreadInput = z.infer<typeof MarkEmailUnreadSchema>;\nexport type GetRecentInboxMessagesInput = z.infer<typeof GetRecentInboxMessagesSchema>;\n","import { z } from 'zod';\n\n// Wire schema matches the API: email/cellNumber are optional on the payload\n// because create_inquiry back-fills from the session account when logged in.\n// Anonymous forms enforce \"at least one contact method\" in the UI components.\nexport const CreateInquirySchema = z.object({\n name: z.string().optional(),\n email: z.string().email().optional(),\n inquiryType: z.enum([\n 'customer',\n 'builder',\n 'partner',\n 'other',\n 'demo_request',\n 'waitlist',\n 'whitepaper',\n ]),\n cellNumber: z.string().optional(),\n businessNumber: z.string().optional(),\n businessName: z.string().optional(),\n country: z.string().optional(),\n state: z.string().optional(),\n message: z.string().optional(),\n productId: z.number().optional(),\n /**\n * The submitter ticked \"we plan to use Gravity Rail with healthcare\n * information and will need a BAA\" (#20152). A self-declared sales-routing\n * signal — it confers no PHI authorization, which is an explicit property\n * of orgs and workspaces and never inferred from a marketing form.\n */\n requiresBaa: z.boolean().optional(),\n /** Marketing-document slug (whitepaper downloads) — lowercase kebab-case, mirrors the API validator. */\n documentId: z\n .string()\n .max(64)\n // Linear-time kebab-case check (char class + boundary refine) — avoids\n // the nested-quantifier pattern flagged by security/detect-unsafe-regex.\n .regex(/^[a-z0-9-]+$/)\n .refine((v) => !v.startsWith('-') && !v.endsWith('-') && !v.includes('--'), {\n message: 'Must be a lowercase kebab-case slug',\n })\n .optional(),\n /**\n * Per-form lead source (GRA-6765) — closed enum mirroring the API validator,\n * so gap-zero / generic-contact / concierge / etc. are distinguishable in\n * the funnel event and Slack notification. Never free text.\n */\n source: z\n .enum([\n 'contact',\n 'demo',\n 'gap_zero',\n 'waitlist_updates',\n 'about_contact',\n 'concierge_error',\n 'concierge_anonymous',\n 'whitepaper',\n 'get_started',\n ])\n .optional(),\n recaptchaToken: z.string().optional(),\n});\n\n/** Client-only: anonymous contact forms that cannot rely on account backfill. */\nexport const AnonymousInquiryFormSchema = CreateInquirySchema.refine(\n (data) => Boolean(data.email?.trim()) || Boolean(data.cellNumber?.trim()),\n {\n message: 'At least one of email or cellNumber is required',\n path: ['email'],\n }\n);\n\nexport const ListInquiriesSchema = z.object({\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n inquiryType: z.string().optional().describe('Filter by inquiry type'),\n});\n\nexport const GetInquirySchema = z.object({\n inquiryId: z.number().describe('Inquiry ID'),\n});\n\nexport const EnrichInquirySchema = z.object({\n inquiryUuid: z.string().uuid().describe('Inquiry UUID from cookie'),\n name: z.string().optional(),\n email: z.string().email().optional(),\n cellNumber: z.string().optional(),\n businessName: z.string().optional(),\n message: z.string().optional(),\n});\n\nexport const UpdateInquiryRequestSchema = z.object({\n notes: z.string().optional(),\n status: z.enum(['new', 'in_progress', 'done']).optional(),\n});\n\nexport const UpdateInquirySchema = z\n .object({\n inquiryId: z.number().describe('Inquiry ID'),\n })\n .merge(UpdateInquiryRequestSchema.partial());\n\nexport const DeleteInquirySchema = z.object({\n inquiryId: z.number().describe('Inquiry ID to delete'),\n});\n\nexport type ListInquiriesInput = z.infer<typeof ListInquiriesSchema>;\nexport type GetInquiryInput = z.infer<typeof GetInquirySchema>;\nexport type CreateInquiryInput = z.infer<typeof CreateInquirySchema>;\nexport type UpdateInquiryInput = z.infer<typeof UpdateInquirySchema>;\nexport type EnrichInquiryInput = z.infer<typeof EnrichInquirySchema>;\nexport type DeleteInquiryInput = z.infer<typeof DeleteInquirySchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// MEMBER BASE SCHEMAS (Form Data)\n// ============================================\n\n// This schema matches CreateWorkspaceMemberRequest from the API\nexport const CreateWorkspaceMemberRequestSchema = z.object({\n // Account identification - one of these is required for creation\n email: z.string().optional(),\n phone: z.string().optional(),\n accountUuid: z.string().optional(),\n\n // Member details\n name: z.string().optional(),\n description: z.string().optional(),\n externalId: z.string().optional(),\n dateOfBirth: z.string().optional(), // ISO 8601 date (YYYY-MM-DD)\n\n // Role and permissions\n memberRoleId: z.number(),\n\n // Notification preferences\n notifySms: z.boolean().optional(),\n notifyEmail: z.boolean().optional(),\n notifyVoice: z.boolean().optional(),\n\n // Label assignments\n labelIds: z.array(z.number()).optional(),\n\n // Account-specific fields (only used by orgOwners/superusers)\n accountEnabled: z.boolean().optional(),\n isOrgOwner: z.boolean().optional(),\n accountTosAccepted: z.boolean().optional(),\n\n // Member type (member, test, anonymous) - used to create test members\n memberType: z.enum(['member', 'test', 'anonymous']).optional(),\n});\n\n// This schema matches UpdateWorkspaceMemberRequest from the API\nexport const UpdateWorkspaceMemberRequestSchema = z.object({\n // Member details\n name: z.string().optional(),\n description: z.string().optional(),\n phone: z.string().optional(),\n email: z.string().optional(),\n externalId: z.string().optional(),\n dateOfBirth: z.string().nullable().optional(), // ISO 8601 date (YYYY-MM-DD)\n\n // Role and permissions\n memberRoleId: z.number().optional(),\n labelIds: z.array(z.number()).optional(),\n\n // Notification preferences\n notifySms: z.boolean().optional(),\n notifyEmail: z.boolean().optional(),\n notifyVoice: z.boolean().optional(),\n\n // Other settings\n tosAccepted: z.boolean().optional(),\n\n // Account-specific fields (only used by orgOwners/superusers)\n accountEnabled: z.boolean().optional(),\n isOrgOwner: z.boolean().optional(),\n isSuperuser: z.boolean().optional(),\n accountTosAccepted: z.boolean().optional(),\n\n // Member type (member, test, anonymous)\n memberType: z.enum(['member', 'test', 'anonymous']).optional(),\n});\n\n// Backward compatibility alias\nexport const MemberFormDataSchema = z.object({\n tosAccepted: z.boolean().optional(),\n memberRoleId: z.number().optional(),\n notifySms: z.boolean().optional(),\n notifyEmail: z.boolean().optional(),\n notifyVoice: z.boolean().optional(),\n\n // Consolidated member fields (from personas consolidation migration)\n name: z.string().optional(),\n description: z.string().optional(),\n phone: z.string().optional(),\n email: z.string().optional(),\n externalId: z.string().optional(),\n dateOfBirth: z.string().nullable().optional(),\n});\n\n// Access schemas for member roles\nexport const MemberRoleTaskAccessSchema = z.object({\n taskId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleSiteAccessSchema = z.object({\n siteId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleDataTypeAccessSchema = z.object({\n dataTypeId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleWorkflowAccessSchema = z.object({\n workflowId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleInboxAccessSchema = z.object({\n inboxId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleFormDataSchema = z.object({\n name: z.string().optional(),\n taskAccess: z.array(MemberRoleTaskAccessSchema).optional(),\n siteAccess: z.array(MemberRoleSiteAccessSchema).optional(),\n dataTypeAccess: z.array(MemberRoleDataTypeAccessSchema).optional(),\n workflowAccess: z.array(MemberRoleWorkflowAccessSchema).optional(),\n inboxAccess: z.array(MemberRoleInboxAccessSchema).optional(),\n});\n\n// ============================================\n// MEMBER OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const GetCurrentMemberSchema = WorkspaceIdSchema;\n\nexport const UpdateCurrentMemberSchema = WorkspaceIdSchema.extend({\n name: z.string().optional().describe('New member name'),\n description: z.string().optional().describe('New member description'),\n dateOfBirth: z.string().nullable().optional().describe('New date of birth (YYYY-MM-DD)'),\n});\n\nexport const ListWorkspaceMembersSchema = WorkspaceIdSchema.extend({\n query: z.string().optional().describe('Search query (name, email, or phone)'),\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n role: z.string().optional().describe('Filter by member role'),\n sortBy: z.enum(['createdAt', 'updatedAt', 'name', 'email']).optional().describe('Sort field'),\n sortOrder: z.enum(['asc', 'desc']).optional().describe('Sort order'),\n isTest: z.boolean().optional().describe('Filter by test member status (defaults to false)'),\n isArchived: z\n .boolean()\n .optional()\n .describe('Filter by archived status (defaults to false for active members)'),\n});\n\nexport const GetWorkspaceMemberSchema = WorkspaceIdSchema.extend({\n memberId: z.number().describe('Member ID'),\n});\n\nexport const AddWorkspaceMemberSchema = WorkspaceIdSchema.merge(CreateWorkspaceMemberRequestSchema);\n\nexport const UpdateWorkspaceMemberSchema = WorkspaceIdSchema.extend({\n memberId: z.number().describe('Member ID'),\n}).merge(UpdateWorkspaceMemberRequestSchema);\n\nexport const RemoveWorkspaceMemberSchema = WorkspaceIdSchema.extend({\n memberId: z.number().describe('Member ID to remove'),\n});\n\nexport const SendSmsToMemberSchema = WorkspaceIdSchema.extend({\n memberId: z.number().describe('Member ID'),\n message: z.string().describe('SMS message content'),\n phoneNumberId: z.number().optional().describe('Phone number ID to send from'),\n});\n\n// Member Roles\nexport const ListMemberRolesSchema = WorkspaceIdSchema;\n\nexport const GetMemberRoleSchema = WorkspaceIdSchema.extend({\n memberRoleId: z.number().describe('Member role ID'),\n});\n\nexport const CreateMemberRoleSchema = WorkspaceIdSchema.merge(MemberRoleFormDataSchema);\n\nexport const UpdateMemberRoleSchema = WorkspaceIdSchema.extend({\n memberRoleId: z.number().describe('Member role ID'),\n}).merge(MemberRoleFormDataSchema.partial());\n\nexport const DeleteMemberRoleSchema = WorkspaceIdSchema.extend({\n memberRoleId: z.number().describe('Member role ID to delete'),\n});\n\n// Additional schemas for other member types\nexport const MemberLabelSchema = z.object({\n id: z.number(),\n uuid: z.string(),\n name: z.string(),\n slug: z.string(),\n color: z.string(),\n description: z.string().optional(),\n});\n\nexport const MemberLabelFormDataSchema = z.object({\n name: z.string(),\n slug: z.string().optional(),\n description: z.string().optional(),\n color: z.string(),\n});\n\nexport const MemberFilterSchema = z.object({\n id: z.number(),\n name: z.string(),\n uuid: z.string(),\n description: z.string().optional(),\n pinned: z.boolean().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const MemberFilterFormDataSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n pinned: z.boolean().optional(),\n});\n\nexport const MemberRoleSchema = z.object({\n id: z.number(),\n name: z.string(),\n taskAccess: z.array(MemberRoleTaskAccessSchema),\n siteAccess: z.array(MemberRoleSiteAccessSchema),\n dataTypeAccess: z.array(MemberRoleDataTypeAccessSchema),\n workflowAccess: z.array(MemberRoleWorkflowAccessSchema),\n inboxAccess: z.array(MemberRoleInboxAccessSchema),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const MemberSchema = z.object({\n id: z.number(),\n accountUuid: z.string(),\n memberRoleId: z.number(),\n\n // Consolidated member fields (from personas consolidation migration)\n name: z.string().optional(),\n description: z.string().optional(),\n phone: z.string().optional(),\n phoneType: z.string().optional(),\n email: z.string().optional(),\n externalId: z.string().optional(),\n dateOfBirth: z.string().nullable().optional(),\n\n tosAccepted: z.boolean().optional(),\n accountTosAccepted: z.boolean().optional(),\n memberRoleName: z.string().optional(),\n\n notifySms: z.boolean().optional(),\n notifyEmail: z.boolean().optional(),\n notifyVoice: z.boolean().optional(),\n\n accountEnabled: z.boolean().optional(),\n isOrgOwner: z.boolean().optional(),\n isSuperuser: z.boolean().optional(),\n\n locale: z.string().optional(),\n timezone: z.string().optional(),\n memberType: z.enum(['member', 'test', 'anonymous']).optional(),\n isArchived: z.boolean().optional(),\n\n // Timestamps\n createdAt: z.string().optional(),\n updatedAt: z.string().optional(),\n\n // Labels\n labels: z.array(MemberLabelSchema).optional(),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\n// Core API type replacements (these match exactly)\nexport type MemberLabel = z.infer<typeof MemberLabelSchema>;\nexport type MemberLabelFormData = z.infer<typeof MemberLabelFormDataSchema>;\nexport type MemberFilter = z.infer<typeof MemberFilterSchema>;\nexport type MemberFilterFormData = z.infer<typeof MemberFilterFormDataSchema>;\nexport type MemberRoleTaskAccess = z.infer<typeof MemberRoleTaskAccessSchema>;\nexport type MemberRoleSiteAccess = z.infer<typeof MemberRoleSiteAccessSchema>;\nexport type MemberRoleDataTypeAccess = z.infer<typeof MemberRoleDataTypeAccessSchema>;\nexport type MemberRoleWorkflowAccess = z.infer<typeof MemberRoleWorkflowAccessSchema>;\nexport type MemberRoleInboxAccess = z.infer<typeof MemberRoleInboxAccessSchema>;\nexport type MemberRole = z.infer<typeof MemberRoleSchema>;\nexport type MemberRoleFormData = z.infer<typeof MemberRoleFormDataSchema>;\nexport type Member = z.infer<typeof MemberSchema>;\nexport type MemberFormData = z.infer<typeof MemberFormDataSchema>;\nexport type CreateWorkspaceMemberRequest = z.infer<typeof CreateWorkspaceMemberRequestSchema>;\nexport type UpdateWorkspaceMemberRequest = z.infer<typeof UpdateWorkspaceMemberRequestSchema>;\n\n// Input types for operations\nexport type GetCurrentMemberInput = z.infer<typeof GetCurrentMemberSchema>;\nexport type UpdateCurrentMemberInput = z.infer<typeof UpdateCurrentMemberSchema>;\nexport type ListWorkspaceMembersInput = z.infer<typeof ListWorkspaceMembersSchema>;\nexport type GetWorkspaceMemberInput = z.infer<typeof GetWorkspaceMemberSchema>;\nexport type AddWorkspaceMemberInput = z.infer<typeof AddWorkspaceMemberSchema>;\nexport type UpdateWorkspaceMemberInput = z.infer<typeof UpdateWorkspaceMemberSchema>;\nexport type RemoveWorkspaceMemberInput = z.infer<typeof RemoveWorkspaceMemberSchema>;\nexport type SendSmsToMemberInput = z.infer<typeof SendSmsToMemberSchema>;\nexport type ListMemberRolesInput = z.infer<typeof ListMemberRolesSchema>;\nexport type GetMemberRoleInput = z.infer<typeof GetMemberRoleSchema>;\nexport type CreateMemberRoleInput = z.infer<typeof CreateMemberRoleSchema>;\nexport type UpdateMemberRoleInput = z.infer<typeof UpdateMemberRoleSchema>;\nexport type DeleteMemberRoleInput = z.infer<typeof DeleteMemberRoleSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// PHONE NUMBER BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const PhoneNumberFormDataSchema = z.object({\n name: z.string().nullable().optional(),\n allowSignup: z.boolean(),\n signupMemberRoleId: z.number().nullable().optional(),\n defaultWorkflowId: z.number().nullable().optional(),\n restartPrompt: z.string().nullable().optional(),\n restartDelay: z.number().nullable().optional(),\n enableSms: z.boolean().optional(),\n enableVoice: z.boolean().optional(),\n inboundCallHandling: z.string().optional(),\n voiceUnavailableMessage: z.string().nullable().optional(),\n assistantEnabled: z.boolean().optional(),\n voiceForwardNumber: z.string().nullable().optional(),\n providerPhoneUuid: z.string().nullable().optional(),\n});\n\n// ============================================\n// PHONE NUMBER OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListPhoneNumbersSchema = WorkspaceIdSchema;\n\nexport const GetPhoneNumberSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n});\n\nexport const CreatePhoneNumberSchema = WorkspaceIdSchema.merge(PhoneNumberFormDataSchema);\n\nexport const UpdatePhoneNumberSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n}).merge(PhoneNumberFormDataSchema.partial());\n\nexport const ArchivePhoneNumberSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID to archive'),\n});\n\nexport const ListPhoneCallsSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n});\n\nexport const ListPhoneSmsMessagesSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n});\n\nexport const GetRecentSmsMessagesSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n limit: z.number().optional().describe('Maximum number of messages to return (default: 20)'),\n since: z.string().optional().describe('ISO date string to get messages since this date'),\n direction: z\n .enum(['inbound', 'outbound', 'all'])\n .optional()\n .describe('Filter by message direction'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type PhoneNumberFormData = z.infer<typeof PhoneNumberFormDataSchema>;\nexport type ListPhoneNumbersInput = z.infer<typeof ListPhoneNumbersSchema>;\nexport type GetPhoneNumberInput = z.infer<typeof GetPhoneNumberSchema>;\nexport type CreatePhoneNumberInput = z.infer<typeof CreatePhoneNumberSchema>;\nexport type UpdatePhoneNumberInput = z.infer<typeof UpdatePhoneNumberSchema>;\nexport type ArchivePhoneNumberInput = z.infer<typeof ArchivePhoneNumberSchema>;\nexport type ListPhoneCallsInput = z.infer<typeof ListPhoneCallsSchema>;\nexport type ListPhoneSmsMessagesInput = z.infer<typeof ListPhoneSmsMessagesSchema>;\nexport type GetRecentSmsMessagesInput = z.infer<typeof GetRecentSmsMessagesSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// SITE BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const SiteFormDataSchema = z.object({\n name: z.string(),\n slug: z.string().optional(),\n theme: z.string().optional(),\n tagLine: z.string().optional(),\n customDomain: z.string().optional(),\n redirectUrl: z.string().optional(),\n allowSignup: z.boolean().optional(),\n signupMemberRoleId: z.number().optional(),\n content: z.string().optional(),\n isReseller: z.boolean().optional(),\n isPublic: z.boolean().optional(),\n defaultWorkflowId: z.number().optional(),\n homePageId: z.number().optional(),\n});\n\nexport const SitePageFormDataSchema = z.object({\n title: z.string(),\n slug: z.string().optional(),\n content: z.string().optional(),\n isPublic: z.boolean().optional(),\n});\n\nexport const MenuItemFormDataSchema = z.object({\n label: z.string(),\n itemType: z.enum(['page', 'url']),\n pageId: z.number().optional(),\n url: z.string().optional(),\n parentId: z.number().optional(),\n position: z.number().optional(),\n icon: z.string().optional(),\n cssClass: z.string().optional(),\n target: z.string().optional(),\n isActive: z.boolean().optional(),\n});\n\nexport const ReorderMenuItemsSchema = z.object({\n menuItemIds: z.array(z.number()),\n});\n\n// ============================================\n// SITE OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListSitesSchema = WorkspaceIdSchema;\n\nexport const GetSiteSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n});\n\nexport const CreateSiteSchema = WorkspaceIdSchema.merge(SiteFormDataSchema);\n\nexport const UpdateSiteSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n}).merge(SiteFormDataSchema.partial());\n\nexport const DeleteSiteSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID to delete'),\n});\n\nexport const GetSiteCountsSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n});\n\n// Site Pages\nexport const ListSitePagesSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n search: z.string().optional().describe('Search term'),\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n sortBy: z.string().optional().describe('Sort field'),\n sortOrder: z.enum(['asc', 'desc']).optional().describe('Sort order'),\n});\n\nexport const GetSitePageSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n pageId: z.number().describe('Page ID'),\n});\n\nexport const GetSitePageBySlugSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n slug: z.string().describe('Page slug'),\n});\n\nexport const CreateSitePageSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n}).merge(SitePageFormDataSchema);\n\nexport const UpdateSitePageSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n pageId: z.number().describe('Page ID'),\n}).merge(SitePageFormDataSchema.partial());\n\nexport const DeleteSitePageSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n pageId: z.number().describe('Page ID to delete'),\n});\n\n// Site Menu schemas\nexport const GetSiteMenuSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n});\n\nexport const ListMenuItemsSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n parentId: z.number().optional().describe('Parent menu item ID'),\n});\n\nexport const CreateMenuItemSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n}).merge(MenuItemFormDataSchema);\n\nexport const UpdateMenuItemSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n itemId: z.number().describe('Menu item ID'),\n}).merge(MenuItemFormDataSchema.partial());\n\nexport const DeleteMenuItemSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n itemId: z.number().describe('Menu item ID to delete'),\n});\n\nexport const ReorderMenuItemsRequestSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n}).merge(ReorderMenuItemsSchema);\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type SiteFormData = z.infer<typeof SiteFormDataSchema>;\nexport type SitePageFormData = z.infer<typeof SitePageFormDataSchema>;\nexport type MenuItemFormData = z.infer<typeof MenuItemFormDataSchema>;\nexport type ReorderMenuItems = z.infer<typeof ReorderMenuItemsSchema>;\nexport type ListSitesInput = z.infer<typeof ListSitesSchema>;\nexport type GetSiteInput = z.infer<typeof GetSiteSchema>;\nexport type CreateSiteInput = z.infer<typeof CreateSiteSchema>;\nexport type UpdateSiteInput = z.infer<typeof UpdateSiteSchema>;\nexport type DeleteSiteInput = z.infer<typeof DeleteSiteSchema>;\nexport type GetSiteCountsInput = z.infer<typeof GetSiteCountsSchema>;\nexport type ListSitePagesInput = z.infer<typeof ListSitePagesSchema>;\nexport type GetSitePageInput = z.infer<typeof GetSitePageSchema>;\nexport type GetSitePageBySlugInput = z.infer<typeof GetSitePageBySlugSchema>;\nexport type CreateSitePageInput = z.infer<typeof CreateSitePageSchema>;\nexport type UpdateSitePageInput = z.infer<typeof UpdateSitePageSchema>;\nexport type DeleteSitePageInput = z.infer<typeof DeleteSitePageSchema>;\nexport type GetSiteMenuInput = z.infer<typeof GetSiteMenuSchema>;\nexport type ListMenuItemsInput = z.infer<typeof ListMenuItemsSchema>;\nexport type CreateMenuItemInput = z.infer<typeof CreateMenuItemSchema>;\nexport type UpdateMenuItemInput = z.infer<typeof UpdateMenuItemSchema>;\nexport type DeleteMenuItemInput = z.infer<typeof DeleteMenuItemSchema>;\nexport type ReorderMenuItemsInput = z.infer<typeof ReorderMenuItemsRequestSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// TASK BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const ChildTaskFormDataSchema = z.object({\n taskId: z.number(),\n choicePrompt: z.string().optional(),\n autoNext: z.boolean().optional(),\n required: z.boolean().optional(),\n celCondition: z.string().optional(),\n});\n\n// Ability data for inline creation/update. Mirrors the backend AbilityData\n// request model (lib/models/workspace/requests/ability_requests.py): abilities\n// are matched by `uuid` (required), and `order` is computed server-side from\n// array position — neither an `id` nor an `order` field is accepted.\nexport const AbilityDataSchema = z.object({\n uuid: z.string(), // UUID for matching/creating abilities\n abilityType: z.string(),\n config: z.record(z.string(), z.any()).optional(),\n enabled: z.boolean().optional(),\n celCondition: z.string().optional(),\n});\n\nexport const TaskFormDataSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n shortPrompt: z.string().optional(),\n prompt: z.string().optional(),\n isAdmin: z.boolean().optional(),\n childTasks: z.array(ChildTaskFormDataSchema).optional(),\n workflowId: z.number(),\n celGuard: z.string().optional(),\n abilities: z.array(AbilityDataSchema).optional(),\n});\n\n// ============================================\n// TASK OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListTasksSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().optional().describe('Filter by workflow ID'),\n includeArchived: z.boolean().optional().describe('Include archived tasks'),\n});\n\nexport const GetTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.string().describe('Task ID or UUID'),\n});\n\nexport const CreateTaskSchema = WorkspaceIdSchema.merge(TaskFormDataSchema);\n\nexport const UpdateTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.number().describe('Task ID'),\n}).merge(TaskFormDataSchema.partial());\n\nexport const DeleteTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.number().describe('Task ID to delete'),\n});\n\nexport const ArchiveTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.number().describe('Task ID to archive'),\n});\n\nexport const UnarchiveTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.number().describe('Task ID to unarchive'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type AbilityData = z.infer<typeof AbilityDataSchema>;\nexport type ChildTaskFormData = z.infer<typeof ChildTaskFormDataSchema>;\nexport type TaskFormData = z.infer<typeof TaskFormDataSchema>;\nexport type ListTasksInput = z.infer<typeof ListTasksSchema>;\nexport type GetTaskInput = z.infer<typeof GetTaskSchema>;\nexport type CreateTaskInput = z.infer<typeof CreateTaskSchema>;\nexport type UpdateTaskInput = z.infer<typeof UpdateTaskSchema>;\nexport type DeleteTaskInput = z.infer<typeof DeleteTaskSchema>;\nexport type ArchiveTaskInput = z.infer<typeof ArchiveTaskSchema>;\nexport type UnarchiveTaskInput = z.infer<typeof UnarchiveTaskSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// WORKFLOW BASE SCHEMAS (Form Data)\n// ============================================\n\nconst WorkflowMemberRoleAccessInputSchema = z.object({\n memberRoleId: z.number(),\n accessMode: z.number(),\n});\n\n/** Fields accepted when creating a workflow (matches CreateWorkflowRequest). */\nexport const WorkflowCreateFormDataSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n prompt: z.string().optional(),\n ownerId: z.number().optional(),\n copyFromAgentId: z.number().optional(),\n copyFromWorkflowRevisionId: z.number().optional(),\n copySourceDigest: z.string().optional(),\n assistantName: z.string().nullable().optional(),\n assistantIdentity: z.string().nullable().optional(),\n // Concrete revision models; selecting an Agent copies its preset here.\n // Explicit null/blank is rejected by the API — there is no invisible fallback.\n chatModelId: z.string().nullable().optional(),\n chatModelConfig: z.record(z.string(), z.unknown()).nullable().optional(),\n realtimeModelId: z.string().nullable().optional(),\n realtimeModelConfig: z.record(z.string(), z.unknown()).nullable().optional(),\n createMode: z.enum(['task', 'taskless']).optional(),\n defaultPhoneNumberId: z.number().nullable().optional(),\n defaultInboxId: z.number().nullable().optional(),\n defaultTaskName: z.string().optional(),\n defaultTaskDescription: z.string().optional(),\n defaultTaskPrompt: z.string().optional(),\n memberRoleAccess: z.array(WorkflowMemberRoleAccessInputSchema).optional(),\n});\n\n/** Fields for workflow updates; startTaskId is update-only on the API. */\nexport const WorkflowFormDataSchema = WorkflowCreateFormDataSchema.extend({\n startTaskId: z.number().nullable().optional(),\n});\n\n// ============================================\n// WORKFLOW OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListWorkflowsSchema = WorkspaceIdSchema;\n\nexport const GetWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID'),\n});\n\nexport const CreateWorkflowSchema = WorkspaceIdSchema.merge(WorkflowCreateFormDataSchema);\n\nexport const UpdateWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID'),\n}).merge(WorkflowFormDataSchema.partial());\n\nexport const DeleteWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID to delete'),\n});\n\nexport const CloneWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID to clone'),\n name: z.string().describe('New workflow name'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type WorkflowCreateFormData = z.infer<typeof WorkflowCreateFormDataSchema>;\nexport type WorkflowFormData = z.infer<typeof WorkflowFormDataSchema>;\nexport type ListWorkflowsInput = z.infer<typeof ListWorkflowsSchema>;\nexport type GetWorkflowInput = z.infer<typeof GetWorkflowSchema>;\nexport type CreateWorkflowInput = z.infer<typeof CreateWorkflowSchema>;\nexport type UpdateWorkflowInput = z.infer<typeof UpdateWorkflowSchema>;\nexport type DeleteWorkflowInput = z.infer<typeof DeleteWorkflowSchema>;\nexport type CloneWorkflowInput = z.infer<typeof CloneWorkflowSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// WORKSPACE BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const WorkspaceFormDataSchema = z.object({\n name: z.string(),\n slug: z.string().optional(),\n description: z.string().optional(),\n organizationId: z.number().optional(),\n});\n\n// ============================================\n// WORKSPACE OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListWorkspacesSchema = z.object({});\n\nexport const GetWorkspaceSchema = WorkspaceIdSchema;\n\nexport const CreateWorkspaceSchema = WorkspaceFormDataSchema;\n\nexport const UpdateWorkspaceSchema = WorkspaceIdSchema.merge(WorkspaceFormDataSchema);\n\nexport const DeleteWorkspaceSchema = WorkspaceIdSchema;\n\nexport const GetWorkspaceDefaultsSchema = WorkspaceIdSchema;\n\nexport const GetAvailableWorkspaceFeaturesSchema = z.object({});\n\nexport const GetResellerWorkspacesSchema = WorkspaceIdSchema;\n\nexport const GetProductsSchema = WorkspaceIdSchema;\n\nexport const GetProductSchema = z.object({\n productId: z.number().describe('Product ID'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type WorkspaceFormData = z.infer<typeof WorkspaceFormDataSchema>;\nexport type ListWorkspacesInput = z.infer<typeof ListWorkspacesSchema>;\nexport type GetWorkspaceInput = z.infer<typeof GetWorkspaceSchema>;\nexport type CreateWorkspaceInput = z.infer<typeof CreateWorkspaceSchema>;\nexport type UpdateWorkspaceInput = z.infer<typeof UpdateWorkspaceSchema>;\nexport type DeleteWorkspaceInput = z.infer<typeof DeleteWorkspaceSchema>;\nexport type GetWorkspaceDefaultsInput = z.infer<typeof GetWorkspaceDefaultsSchema>;\nexport type GetAvailableWorkspaceFeaturesInput = z.infer<\n typeof GetAvailableWorkspaceFeaturesSchema\n>;\nexport type GetResellerWorkspacesInput = z.infer<typeof GetResellerWorkspacesSchema>;\nexport type GetProductsInput = z.infer<typeof GetProductsSchema>;\nexport type GetProductInput = z.infer<typeof GetProductSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","names":["import_zod","CalendarScheduleRecurrence","CalendarScheduleAvailabilityType","CalendarEventStatus","AttendeeResponseStatus","import_zod","import_zod","import_zod","DataFieldType","IndexStatus","DataTypeRecordScope","DataSensitivity","DataCategory","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod"]}
|
|
1
|
+
{"version":3,"sources":["../src/schemas.ts","../src/schemas/accounts.ts","../src/schemas/calendars.ts","../src/types/calendar-types.ts","../src/schemas/chats.ts","../src/schemas/utils.ts","../src/schemas/data-types.ts","../src/types/data-types.ts","../src/schemas/inboxes.ts","../src/schemas/inquiries.ts","../src/schemas/members.ts","../src/schemas/phone-numbers.ts","../src/schemas/sites.ts","../src/schemas/tasks.ts","../src/schemas/workflows.ts","../src/schemas/workspaces.ts"],"sourcesContent":["/**\n * Export all Zod schemas for external use\n */\nexport * from './schemas/index';\n","import { z } from 'zod';\n\n// ============================================\n// ACCOUNT BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const AccountFormDataSchema = z.object({\n name: z.string().optional(),\n // email/phone removed - use credential change flow (POST /account/request-credential-change)\n tosAccepted: z.boolean().optional(),\n optedOut: z.boolean().optional(),\n locale: z.string().optional(),\n timezone: z.string().optional(),\n});\n\nexport const AdminAccountFormDataSchema = AccountFormDataSchema.extend({\n // Admins CAN set email/phone directly (bypasses verification flow)\n email: z.string().optional(),\n phone: z.string().optional(),\n isSuperuser: z.boolean().optional(),\n enabled: z.boolean().optional(),\n orgOwner: z.boolean().optional(),\n organizationId: z.number().nullable().optional(),\n stripeCustomerId: z.string().nullable().optional(), // Superuser only\n});\n\n// Note: With Verified Credential Architecture, if email/phone is set on an account,\n// it's verified by construction. No separate emailVerified/phoneVerified flags needed.\nexport const AccountSchema = z.object({\n id: z.number(),\n loggedIn: z.boolean(),\n avatarUrl: z.string().nullable(),\n email: z.string().nullable(), // If set, it's verified\n phone: z.string().nullable(), // If set, it's verified\n name: z.string().nullable(),\n uuid: z.string(),\n createdAt: z.string(),\n isSuperuser: z.boolean(),\n orgOwner: z.boolean(),\n enabled: z.boolean(),\n tosAccepted: z.boolean(),\n optedOut: z.boolean(),\n signupWorkspaceId: z.number().nullable(),\n stripeCustomerId: z.string().nullable(),\n organizationId: z.number().nullable(),\n organizationName: z.string().nullable(),\n locale: z.string().nullable(),\n});\n\n// ============================================\n// AUTHENTICATION SCHEMAS\n// ============================================\n\nexport const LoginRequestSchema = z.object({\n phoneNumber: z.string(),\n organizationId: z.number().optional(),\n isSignUp: z.boolean().optional(),\n});\n\nexport const VerifyCodeRequestSchema = z.object({\n phoneNumber: z.string(),\n code: z.string(),\n isSignUp: z.boolean().optional(),\n});\n\nexport const VerifyCodeResponseSchema = z.object({\n success: z.boolean(),\n token: z.string().optional(),\n requiresTwoFactor: z.boolean().optional(),\n availableTwoFactorMethods: z.array(z.any()).optional(),\n});\n\nexport const LoginResponseSchema = z.object({\n token: z.string().optional(),\n accountId: z.number().optional(),\n});\n\nexport const SMSLoginResponseSchema = z.object({\n success: z.boolean(),\n message: z.string().optional(),\n});\n\nexport const ErrorResponseSchema = z.object({\n detail: z.string(),\n});\n\n// ============================================\n// API KEY SCHEMAS\n// ============================================\n\nexport const ApiKeySchema = z.object({\n id: z.number(),\n uuid: z.string(),\n name: z.string(),\n keyPrefix: z.string(),\n createdAt: z.string(),\n expiresAt: z.string().nullable(),\n lastUsedAt: z.string().nullable(),\n enabled: z.boolean(),\n scopes: z.array(z.string()),\n appId: z.number().nullable().optional(),\n});\n\nexport const ApiKeyCreatedSchema = ApiKeySchema.extend({\n key: z.string(),\n});\n\nexport const ApiKeyFormDataSchema = z.object({\n name: z.string(),\n expiresInDays: z.number(),\n scopes: z.array(z.string()),\n});\n\nexport const ApiKeyScopeSchema = z.object({\n name: z.string(),\n description: z.string(),\n value: z.number(),\n});\n\nexport const ApiKeyScopesResponseSchema = z.object({\n scopes: z.array(ApiKeyScopeSchema),\n});\n\n// ============================================\n// ORGANIZATION SCHEMAS\n// ============================================\n\nexport const OrganizationSchema = z.object({\n id: z.number(),\n uuid: z.string(),\n name: z.string(),\n slug: z.string(),\n authMode: z.enum(['open', 'ssoForDomain', 'ssoOnly']),\n contactEmail: z.string().optional(),\n contactPhone: z.string().optional(),\n createdAt: z.string(),\n creatorId: z.number(),\n creatorName: z.string().optional(),\n});\n\nexport const AdminOrganizationSchema = OrganizationSchema.extend({\n accountCount: z.number(),\n workspaceCount: z.number(),\n enforceCreditLimit: z.boolean(),\n // Carrier provisioning entitlements — 0 = may not provision.\n maxPhoneNumbers: z.number().int().min(0),\n maxA2pBrands: z.number().int().min(0),\n});\n\nexport const CreateOrganizationRequestSchema = z.object({\n name: z.string(),\n contactEmail: z.string().optional(),\n contactPhone: z.string().optional(),\n logo: z.string().optional(), // Base64 encoded\n logoMimeType: z.string().optional(),\n});\n\nexport const UpdateOrganizationRequestSchema = z.object({\n name: z.string().optional(),\n slug: z.string().optional(),\n contactEmail: z.string().optional(),\n contactPhone: z.string().optional(),\n authMode: z.enum(['open', 'ssoForDomain', 'ssoOnly']).optional(),\n ssoProvider: z.string().nullable().optional(),\n ssoDomain: z.string().nullable().optional(),\n ssoAutoProvision: z.boolean().optional(),\n ssoOidc: z.unknown().nullable().optional(),\n logo: z.string().optional(), // Base64 encoded\n logoMimeType: z.string().optional(),\n // Twilio sub-account linkage. Explicit null clears the field so SMS\n // falls through to the master client (does not touch Twilio itself).\n twilioSubAccountSid: z.string().nullable().optional(),\n // Hard credit enforcement toggle — flips between the legacy soft\n // alert-only mode and the hard 402 stop at zero credits.\n enforceCreditLimit: z.boolean().optional(),\n // Carrier provisioning entitlements — 0 = may not provision.\n // Superuser-only; explicit null is ignored server-side.\n maxPhoneNumbers: z.number().int().min(0).optional(),\n maxA2pBrands: z.number().int().min(0).optional(),\n});\n\n// ============================================\n// WORKSPACE MEMBERSHIP SCHEMAS\n// ============================================\n\nexport const AdminAccountMembershipSchema = z.object({\n workspaceUuid: z.string(),\n workspaceName: z.string(),\n role: z.string(),\n createdAt: z.string(),\n tosAccepted: z.boolean(),\n memberRoleId: z.number().nullable(),\n memberId: z.number(),\n});\n\nexport const AdminWorkspaceMemberFormDataSchema = z.object({\n tosAccepted: z.boolean().optional(),\n role: z.string().optional(),\n memberRoleId: z.number().optional(),\n});\n\n// ============================================\n// REPORT SCHEMAS\n// ============================================\n\nexport const AccountReportItemSchema = z.object({\n id: z.number(),\n uuid: z.string(),\n email: z.string().nullable().optional(),\n phone: z.string().nullable().optional(),\n name: z.string().nullable().optional(),\n created_at: z.string(),\n organization_id: z.number().nullable().optional(),\n});\n\nexport const DuplicateAccountInfoSchema = z.object({\n id: z.number(),\n name: z.string().nullable(),\n email: z.string().nullable(),\n phone: z.string().nullable(),\n organizationId: z.number().nullable(),\n organizationName: z.string().nullable(),\n createdAt: z.string(),\n});\n\nexport const MissingMembershipItemSchema = z.object({\n member_id: z.number(),\n member_name: z.string(),\n account_id: z.number(),\n account_uuid: z.string(),\n});\n\n// ============================================\n// ACCOUNT OPERATION SCHEMAS\n// ============================================\n\nexport const CreateAccountSchema = z.object({\n name: z.string(),\n email: z.string().optional(),\n phone: z.string().optional(),\n});\n\n// ============================================\n// TYPE EXPORTS (Zod-inferred types)\n// ============================================\n\n// Core account types\nexport type Account = z.infer<typeof AccountSchema>;\nexport type AccountFormData = z.infer<typeof AccountFormDataSchema>;\nexport type AdminAccountFormData = z.infer<typeof AdminAccountFormDataSchema>;\n\n// Authentication types\nexport type LoginRequest = z.infer<typeof LoginRequestSchema>;\nexport type VerifyCodeRequest = z.infer<typeof VerifyCodeRequestSchema>;\nexport type VerifyCodeResponse = z.infer<typeof VerifyCodeResponseSchema>;\nexport type LoginResponse = z.infer<typeof LoginResponseSchema>;\nexport type SMSLoginResponse = z.infer<typeof SMSLoginResponseSchema>;\nexport type ErrorResponse = z.infer<typeof ErrorResponseSchema>;\n\n// API key types\nexport type ApiKey = z.infer<typeof ApiKeySchema>;\nexport type ApiKeyCreated = z.infer<typeof ApiKeyCreatedSchema>;\nexport type ApiKeyFormData = z.infer<typeof ApiKeyFormDataSchema>;\nexport type ApiKeyScope = z.infer<typeof ApiKeyScopeSchema>;\nexport type ApiKeyScopesResponse = z.infer<typeof ApiKeyScopesResponseSchema>;\n\n// Organization types\nexport type Organization = z.infer<typeof OrganizationSchema>;\nexport type AdminOrganization = z.infer<typeof AdminOrganizationSchema>;\nexport type CreateOrganizationRequest = z.infer<typeof CreateOrganizationRequestSchema>;\nexport type UpdateOrganizationRequest = z.infer<typeof UpdateOrganizationRequestSchema>;\n\n// Workspace membership types\nexport type AdminAccountMembership = z.infer<typeof AdminAccountMembershipSchema>;\nexport type AdminWorkspaceMemberFormData = z.infer<typeof AdminWorkspaceMemberFormDataSchema>;\n\n// Report types\nexport type AccountReportItem = z.infer<typeof AccountReportItemSchema>;\nexport type DuplicateAccountInfo = z.infer<typeof DuplicateAccountInfoSchema>;\nexport type MissingMembershipItem = z.infer<typeof MissingMembershipItemSchema>;\n\n// Operation input types\nexport type CreateAccountInput = z.infer<typeof CreateAccountSchema>;\n","import { z } from 'zod';\nimport {\n AttendeeResponseStatus,\n CalendarEventStatus,\n CalendarScheduleAvailabilityType,\n CalendarScheduleRecurrence,\n} from '../types/calendar-types.js';\n\n// ===== Calendar Schemas =====\n\nexport const ListCalendarsSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n page: z.number().optional().describe('Page number for pagination'),\n pageSize: z.number().optional().describe('Number of items per page'),\n includeSchedules: z.boolean().optional().describe('Include schedule details'),\n});\n\nexport const GetCalendarSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n includeSchedules: z.boolean().optional().describe('Include schedule details'),\n});\n\nexport const CreateCalendarSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n name: z.string().describe('Calendar name'),\n slug: z.string().optional().describe('URL-friendly identifier (auto-generated if not provided)'),\n description: z.string().optional().describe('Calendar description'),\n timezone: z.string().optional().describe('Timezone (e.g., \"America/New_York\", defaults to UTC)'),\n color: z.string().optional().describe('Hex color code (e.g., \"#FF5733\")'),\n isPublic: z.boolean().optional().describe('Whether calendar is publicly visible'),\n});\n\nexport const UpdateCalendarSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n name: z.string().optional().describe('Calendar name'),\n slug: z.string().optional().describe('URL-friendly identifier'),\n description: z.string().optional().describe('Calendar description'),\n timezone: z.string().optional().describe('Timezone'),\n color: z.string().optional().describe('Hex color code'),\n isPublic: z.boolean().optional().describe('Whether calendar is publicly visible'),\n});\n\nexport const DeleteCalendarSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n});\n\n// ===== Calendar Schedule Schemas =====\n\nexport const ListSchedulesSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n});\n\nexport const CreateScheduleSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n name: z.string().describe('Schedule name'),\n description: z.string().optional().describe('Schedule description'),\n availabilityType: z\n .nativeEnum(CalendarScheduleAvailabilityType)\n .describe('Whether this schedule makes time available or unavailable'),\n recurrenceType: z.nativeEnum(CalendarScheduleRecurrence).describe('Recurrence pattern'),\n startTime: z.string().describe('ISO 8601 datetime string'),\n endTime: z.string().describe('ISO 8601 datetime string'),\n daysOfWeek: z\n .array(z.enum(['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY']))\n .optional()\n .describe('Days of week for weekly recurrence'),\n recurrenceRule: z.string().optional().describe('Custom recurrence rule (RRULE format)'),\n recurrenceEndDate: z.string().optional().describe('ISO 8601 datetime when recurrence ends'),\n priority: z.number().optional().describe('Priority (higher numbers override lower)'),\n eventTypeIds: z.array(z.number()).optional().describe('Event type IDs this schedule applies to'),\n});\n\nexport const UpdateScheduleSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n scheduleId: z.number().describe('Schedule ID'),\n name: z.string().optional().describe('Schedule name'),\n description: z.string().optional().describe('Schedule description'),\n availabilityType: z.nativeEnum(CalendarScheduleAvailabilityType).optional(),\n recurrenceType: z.nativeEnum(CalendarScheduleRecurrence).optional(),\n startTime: z.string().optional().describe('ISO 8601 datetime string'),\n endTime: z.string().optional().describe('ISO 8601 datetime string'),\n daysOfWeek: z\n .array(z.enum(['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY']))\n .optional(),\n recurrenceRule: z.string().optional(),\n recurrenceEndDate: z.string().optional().describe('ISO 8601 datetime string'),\n priority: z.number().optional(),\n eventTypeIds: z.array(z.number()).optional(),\n});\n\nexport const DeleteScheduleSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n scheduleId: z.number().describe('Schedule ID'),\n});\n\n// ===== Event Type Schemas =====\n\nexport const ListEventTypesSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n});\n\nexport const GetEventTypeSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventTypeId: z.number().describe('Event type ID'),\n});\n\nexport const CreateEventTypeSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n name: z.string().describe('Event type name (e.g., \"30-minute consultation\")'),\n description: z.string().optional().describe('Event type description'),\n defaultDurationMinutes: z.number().describe('Default duration in minutes'),\n bufferBeforeMinutes: z.number().optional().describe('Buffer time before event'),\n bufferAfterMinutes: z.number().optional().describe('Buffer time after event'),\n minAttendees: z.number().optional().describe('Minimum number of attendees'),\n maxAttendees: z.number().optional().describe('Maximum number of attendees'),\n color: z.string().optional().describe('Hex color code'),\n active: z.boolean().optional().describe('Whether this event type is active'),\n});\n\nexport const UpdateEventTypeSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventTypeId: z.number().describe('Event type ID'),\n name: z.string().optional(),\n description: z.string().optional(),\n defaultDurationMinutes: z.number().optional(),\n bufferBeforeMinutes: z.number().optional(),\n bufferAfterMinutes: z.number().optional(),\n minAttendees: z.number().optional(),\n maxAttendees: z.number().optional(),\n color: z.string().optional(),\n active: z.boolean().optional(),\n});\n\nexport const DeleteEventTypeSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventTypeId: z.number().describe('Event type ID'),\n});\n\n// ===== Calendar Event Schemas =====\n\nexport const ListCalendarEventsSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().optional().describe('Filter by calendar ID'),\n startDate: z.string().optional().describe('ISO 8601 datetime - filter events starting after'),\n endDate: z.string().optional().describe('ISO 8601 datetime - filter events ending before'),\n status: z.nativeEnum(CalendarEventStatus).optional(),\n memberId: z.number().optional().describe('Filter by member ID'),\n limit: z.number().optional().describe('Maximum number of results'),\n offset: z.number().optional().describe('Pagination offset'),\n});\n\nexport const GetCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n});\n\nexport const CreateCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n eventTypeId: z.number().describe('Event type ID'),\n title: z.string().describe('Event title'),\n startTime: z.string().describe('ISO 8601 datetime string'),\n attendeeIds: z.array(z.number()).optional().describe('Member IDs of attendees'),\n workflowId: z\n .number()\n .optional()\n .describe('STABLE workflow root ID (resolves to the active revision)'),\n workflowRevisionId: z.number().optional().describe('Associated workflow revision ID'),\n taskId: z.number().optional().describe('Associated task ID'),\n description: z.string().optional().describe('Event description'),\n location: z.string().optional().describe('Event location (physical or virtual)'),\n});\n\nexport const UpdateCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n title: z.string().optional(),\n description: z.string().optional(),\n location: z.string().optional(),\n startTime: z.string().optional().describe('ISO 8601 datetime string'),\n});\n\nexport const CancelCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n cancellationReason: z.string().optional().describe('Reason for cancellation'),\n});\n\nexport const DeleteCalendarEventSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n});\n\n// ===== Availability Schemas =====\n\nexport const CheckAvailabilitySchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n eventTypeId: z.number().describe('Event type ID'),\n startTime: z.string().describe('ISO 8601 datetime string'),\n endTime: z.string().describe('ISO 8601 datetime string'),\n});\n\nexport const GetAvailableSlotsSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n eventTypeId: z.number().describe('Event type ID'),\n startDate: z.string().describe('ISO 8601 datetime - start of date range'),\n endDate: z.string().describe('ISO 8601 datetime - end of date range'),\n slotIntervalMinutes: z.number().optional().describe('Interval between slots in minutes'),\n});\n\n// ===== Attendee Schemas =====\n\nexport const UpdateAttendeeResponseSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n eventId: z.number().describe('Event ID'),\n memberId: z.number().describe('Member ID'),\n responseStatus: z.nativeEnum(AttendeeResponseStatus).describe('Response status'),\n note: z.string().optional().describe('Optional note from attendee'),\n});\n\n// ===== iCal Feed Schemas =====\n\nexport const GenerateICalTokenSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n regenerate: z.boolean().optional().describe('Regenerate token even if one exists'),\n});\n\nexport const RevokeICalTokenSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n});\n\nexport const GetICalUrlSchema = z.object({\n wid: z.string().describe('Workspace ID (UUID)'),\n calendarId: z.number().describe('Calendar ID'),\n});\n\n// ===== Type Exports =====\n\nexport type ListCalendarsInput = z.infer<typeof ListCalendarsSchema>;\nexport type GetCalendarInput = z.infer<typeof GetCalendarSchema>;\nexport type CreateCalendarInput = z.infer<typeof CreateCalendarSchema>;\nexport type UpdateCalendarInput = z.infer<typeof UpdateCalendarSchema>;\nexport type DeleteCalendarInput = z.infer<typeof DeleteCalendarSchema>;\nexport type ListSchedulesInput = z.infer<typeof ListSchedulesSchema>;\nexport type CreateScheduleInput = z.infer<typeof CreateScheduleSchema>;\nexport type UpdateScheduleInput = z.infer<typeof UpdateScheduleSchema>;\nexport type DeleteScheduleInput = z.infer<typeof DeleteScheduleSchema>;\nexport type ListEventTypesInput = z.infer<typeof ListEventTypesSchema>;\nexport type GetEventTypeInput = z.infer<typeof GetEventTypeSchema>;\nexport type CreateEventTypeInput = z.infer<typeof CreateEventTypeSchema>;\nexport type UpdateEventTypeInput = z.infer<typeof UpdateEventTypeSchema>;\nexport type DeleteEventTypeInput = z.infer<typeof DeleteEventTypeSchema>;\nexport type ListCalendarEventsInput = z.infer<typeof ListCalendarEventsSchema>;\nexport type GetCalendarEventInput = z.infer<typeof GetCalendarEventSchema>;\nexport type CreateCalendarEventInput = z.infer<typeof CreateCalendarEventSchema>;\nexport type UpdateCalendarEventInput = z.infer<typeof UpdateCalendarEventSchema>;\nexport type CancelCalendarEventInput = z.infer<typeof CancelCalendarEventSchema>;\nexport type DeleteCalendarEventInput = z.infer<typeof DeleteCalendarEventSchema>;\nexport type CheckAvailabilityInput = z.infer<typeof CheckAvailabilitySchema>;\nexport type GetAvailableSlotsInput = z.infer<typeof GetAvailableSlotsSchema>;\nexport type UpdateAttendeeResponseInput = z.infer<typeof UpdateAttendeeResponseSchema>;\nexport type GenerateICalTokenInput = z.infer<typeof GenerateICalTokenSchema>;\nexport type RevokeICalTokenInput = z.infer<typeof RevokeICalTokenSchema>;\nexport type GetICalUrlInput = z.infer<typeof GetICalUrlSchema>;\n","/**\n * Calendar-related types for the Gravity Rail calendar and appointment booking system.\n * Server response shapes are generated from Pydantic via emit_openapi.py → Orval.\n * Client-only shapes (forms, enums, query params) are defined below.\n */\n\n// ===== GENERATED SERVER TYPES =====\n\nexport type {\n AttendeeResponse,\n AttendeeResponse as CalendarEventAttendee,\n AvailabilityResponse,\n AvailableSlotsResponse,\n CalendarResponse as GeneratedCalendarResponse,\n CalendarScheduleResponse as GeneratedCalendarScheduleResponse,\n EventResponse,\n EventResponse as CalendarEvent,\n EventTypeResponse,\n EventTypeResponse as CalendarEventType,\n ExternalAttendeeData,\n GoogleCalendarInfo,\n GoogleCalendarInsufficientScopesResponse,\n GoogleCalendarStatusResponse,\n ICalFeedGrantSummary,\n ICalFeedTokenResponse,\n ICalFeedUrlResponse,\n TimeSlot,\n} from './generated/calendar';\n\nimport type {\n CalendarResponse as GeneratedCalendarResponse,\n CalendarScheduleResponse as GeneratedCalendarScheduleResponse,\n ExternalAttendeeData as GeneratedExternalAttendeeData,\n} from './generated/calendar';\nimport type { EventRuleInput } from './event-types';\n\nexport type Calendar = Omit<GeneratedCalendarResponse, never> & {\n /** Present on detail responses; omitted from some list payloads. */\n eventTypeIds?: number[];\n};\nexport type CalendarResponse = Calendar;\n\nexport type CalendarSchedule = Omit<\n GeneratedCalendarScheduleResponse,\n 'availabilityType' | 'recurrenceType'\n> & {\n availabilityType: CalendarScheduleAvailabilityType | string;\n recurrenceType: CalendarScheduleRecurrence | string;\n};\nexport type CalendarScheduleResponse = CalendarSchedule;\n\n// ===== CLIENT-ONLY TYPES =====\n\nexport enum CalendarPermissionType {\n NONE = 'NONE',\n FREE_BUSY = 'FREE_BUSY',\n READ = 'READ',\n WRITE = 'WRITE',\n ADMIN = 'ADMIN',\n}\n\nexport enum CalendarSource {\n INTERNAL = 'internal',\n GOOGLE = 'google',\n OUTLOOK = 'outlook',\n}\n\nexport interface CalendarFormData {\n name: string;\n slug?: string;\n description?: string | null;\n timezone?: string;\n color?: string | null;\n isPublic?: boolean;\n eventTypeIds?: number[];\n /**\n * Ordered event rules to attach to the calendar in the same request.\n * Server syncs by UUID: same-UUID updates, new UUID creates, omitted\n * UUIDs are deleted. Omit (undefined) to leave existing rules unchanged.\n */\n eventRules?: EventRuleInput[];\n}\n\nexport interface CalendarScheduleFormData {\n name: string;\n description?: string | null;\n availabilityType: CalendarScheduleAvailabilityType;\n recurrenceType: CalendarScheduleRecurrence;\n startTime: string;\n endTime: string;\n recurrenceRule?: Record<string, any> | null;\n recurrenceEndDate?: string | null;\n daysOfWeek?: string[] | null;\n priority?: number;\n eventTypeIds?: number[] | null;\n}\n\nexport enum CalendarScheduleRecurrence {\n ONCE = 'ONCE',\n DAILY = 'DAILY',\n WEEKLY = 'WEEKLY',\n MONTHLY = 'MONTHLY',\n CUSTOM = 'CUSTOM',\n}\n\nexport enum CalendarScheduleAvailabilityType {\n AVAILABLE = 'AVAILABLE',\n UNAVAILABLE = 'UNAVAILABLE',\n}\n\nexport interface CalendarEventTypeFormData {\n name: string;\n slug?: string;\n description?: string | null;\n defaultDurationMinutes: number;\n bufferBeforeMinutes?: number;\n bufferAfterMinutes?: number;\n minAttendees?: number;\n maxAttendees?: number | null;\n color?: string | null;\n active?: boolean;\n /**\n * Ordered event rules scoped to this event type. Server syncs by UUID:\n * same-UUID updates, new UUID creates, omitted UUIDs are deleted.\n */\n eventRules?: EventRuleInput[];\n}\n\nexport interface CalendarEventFormData {\n calendarId: number;\n eventTypeId: number;\n title: string;\n description?: string | null;\n location?: string | null;\n startTime: string;\n attendeeIds: number[];\n externalAttendees?: GeneratedExternalAttendeeData[];\n workflowRevisionId?: number | null;\n workflowId?: number | null;\n taskId?: number | null;\n assignmentId?: number | null;\n}\n\nexport enum CalendarEventStatus {\n TENTATIVE = 'TENTATIVE',\n CONFIRMED = 'CONFIRMED',\n CANCELLED = 'CANCELLED',\n NO_SHOW = 'NO_SHOW',\n COMPLETED = 'COMPLETED',\n}\n\nexport enum AttendeeStatus {\n REQUIRED = 'REQUIRED',\n OPTIONAL = 'OPTIONAL',\n}\n\nexport enum AttendeeResponseStatus {\n PENDING = 'PENDING',\n ACCEPTED = 'ACCEPTED',\n DECLINED = 'DECLINED',\n TENTATIVE = 'TENTATIVE',\n}\n\nexport interface UpdateAttendeeRequest {\n responseStatus: AttendeeResponseStatus;\n note?: string | null;\n}\n\nexport interface AvailabilityCheck {\n eventTypeId: number;\n startTime: string;\n endTime?: string | null;\n}\n\nexport interface AvailableSlotsRequest {\n eventTypeId: number;\n startDate: string;\n endDate: string;\n slotIntervalMinutes?: number;\n}\n\nexport interface CalendarEventsQueryParams {\n calendarId?: number;\n startDate?: string;\n endDate?: string;\n status?: CalendarEventStatus;\n memberId?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface LinkCalendarRequest {\n googleCalendarId: string;\n}\n\nexport interface LinkCalendarResponse {\n status: string;\n message: string;\n googleCalendarId: string;\n googleCalendarName?: string;\n}\n\nexport interface UnlinkCalendarResponse {\n status: string;\n message: string;\n}\n\nexport interface SyncCalendarResponse {\n status: string;\n message: string;\n created: number;\n updated: number;\n errors: Array<{ event_id: string; error: string }>;\n}\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils';\n\n// ============================================\n// CHAT ENUMS AND CONSTANTS\n// ============================================\n\nexport const ChannelEnum = z.enum([\n 'cli',\n 'frame',\n 'phone-sms',\n 'phone-voice',\n 'fax',\n 'phone-whatsapp',\n 'email',\n 'background',\n 'web-chat',\n 'web-voice',\n 'discord',\n 'slack',\n 'teams',\n 'direct-message',\n 'a2a',\n 'routine',\n]);\n\n// Message roles. There is no `operator` role on this axis either: a human\n// operator's reply is a normal ASSISTANT message whose participant/owner is\n// that human, distinguished from the AI by the participant's `memberType`.\nexport const MessageRoleEnum = z.enum(['user', 'assistant', 'system', 'tool', 'function']);\n\nexport const ChatFilterObjectTypeEnum = z.enum([\n 'title',\n 'participant',\n 'mode',\n 'channel',\n 'owner',\n 'needsResponse',\n 'paused',\n 'messageCount',\n 'toolCall',\n]);\n\nexport const ChatFilterFilterTypeEnum = z.enum([\n 'any',\n 'all',\n 'none',\n 'partial',\n 'exact',\n 'equals',\n 'notEquals',\n 'onlyMine',\n 'active',\n]);\n\n// Why a chat was muted. Runtime mirror of the backend's `ChatMuteReason`\n// StrEnum (`lib/models/workspace/chat.py`): closed in code, open in the DB.\n// Muting is only writable through the dedicated mute endpoint, whose request\n// model rejects anything outside this vocabulary with a 422.\nexport const ChatMuteReasonEnum = z.enum([\n 'working',\n 'waiting_on_person',\n 'resolved_elsewhere',\n 'not_mine',\n]);\n\n// Reasons why a message may have been truncated\nexport const TruncationReasonEnum = z.enum([\n 'barge_in', // User interrupted the assistant mid-response (voice)\n 'client_interrupt', // Client requested interrupt\n 'user_cancel', // User explicitly cancelled\n 'error', // Error occurred during generation\n]);\n\n// ADR-11 provenance. Mirrors `MessageOrigin` / `MessageAudience` in\n// `lib/models/common.py`. `role` describes how a message is most commonly\n// SENT; these describe WHO wrote it and WHO it is for.\nexport const MessageOriginEnum = z.enum([\n 'member', // a human member of the workspace\n 'agent', // the AI assistant's own output\n 'operator', // a human operator acting in the conversation\n 'tool', // tool / function output\n 'workflow', // orchestration machinery (task guidance, routing notes)\n 'background_run', // a detached background trajectory of the agent\n 'platform', // Gravity Rail itself (notices, system events)\n]);\n\nexport const MessageAudienceEnum = z.enum([\n 'conversation', // participates in the member-facing transcript\n 'agent_only', // context the member never said; never render as speech\n]);\n\n// ============================================\n// CHAT BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const ChatParticipantFormDataSchema = z.object({\n memberId: z.number().optional(),\n role: z.string().optional(),\n additionalInstructions: z.string().optional(),\n});\n\n// Participant roles, in the shapes the API actually serves. The set is\n// `user | assistant | contributor | supervisor` — the `operator` participant\n// role was retired: a human taking a chat over is written as the ASSISTANT\n// participant (with a member-backed `memberType`), not a second parallel row.\n// `MessageRoleEnum` above lost its `operator` value for the same reason: the\n// human-vs-AI distinction is carried by the participant, not by a role string.\nexport const HumanChatParticipantSchema = z.object({\n name: z.string(),\n role: z.literal('user'),\n memberId: z.number(),\n});\n\nexport const AssistantChatParticipantSchema = z.object({\n name: z.string(),\n // A revision-backed assistant has no Member row at all, so the backend\n // serves `memberId: null` here — it is NOT a required number.\n memberId: z.number().nullable().optional(),\n memberType: z.string().optional(),\n role: z.literal('assistant'),\n additionalInstructions: z.string().optional(),\n});\n\nexport const ContributorChatParticipantSchema = z.object({\n name: z.string(),\n memberId: z.number(),\n memberType: z.string().optional(),\n role: z.literal('contributor'),\n additionalInstructions: z.string().optional(),\n});\n\nexport const SupervisorChatParticipantSchema = z.object({\n name: z.string(),\n memberId: z.number(),\n memberType: z.string().optional(),\n role: z.literal('supervisor'),\n});\n\nexport const ChatFormDataSchema = z.object({\n id: z.number().optional(),\n title: z.string().optional(),\n channel: z.string(),\n workflowId: z.number().nullable(),\n workflowUuid: z.string().nullable().optional(),\n workflowRevisionId: z.number().nullable().optional(),\n workflowRevisionUuid: z.string().nullable().optional(),\n phoneNumberId: z.number().nullable().optional(),\n siteId: z.number().nullable().optional(),\n browserChannel: z.enum(['web-chat', 'web-voice']).nullable().optional(),\n interactionMode: z.enum(['text', 'push_to_talk', 'realtime']).nullable().optional(),\n memberId: z.number().nullable().optional(),\n participants: z.array(ChatParticipantFormDataSchema),\n // Who answers. The explicit successor to `agentEnabled` — see ChatFormData.\n assistantKind: z.enum(['ai', 'human']).optional(),\n // The chat's user participant, named without the \"unless it's the caller\"\n // caveat that `memberId` carries.\n userMemberId: z.number().nullable().optional(),\n // Deprecated alias for `assistantKind`; false ⇒ 'human'.\n agentEnabled: z.boolean().optional(),\n assistantMemberId: z.number().nullable().optional(),\n assistantName: z.string().nullable().optional(),\n // Legacy client-side alias. ChatsApi serializes it as assistantMemberId.\n agentMemberId: z.number().nullable().optional(),\n // Per-chat assistant model override (snapshotted onto the assistant\n // participant). Set from the Create-Chat assistant-override dialog.\n assistantChatModelId: z.string().nullable().optional(),\n assistantChatModelConfig: z.record(z.string(), z.unknown()).nullable().optional(),\n assistantRealtimeModelId: z.string().nullable().optional(),\n assistantRealtimeModelConfig: z.record(z.string(), z.unknown()).nullable().optional(),\n paused: z.boolean().optional(),\n muted: z.boolean().optional(),\n // Human-typed initial SMS/email body. Optional, request-body only.\n // Backend dispatches via the existing initial-message path when the\n // Agent is disabled. Treat as PHI client-side.\n initialMessage: z.string().nullable().optional(),\n});\n\nexport const ChatFiltersSchema = z.object({\n page: z.number().optional(),\n pageSize: z.number().optional(),\n sortBy: z.string().optional(),\n sortOrder: z.enum(['asc', 'desc']).optional(),\n mine: z.boolean().optional(),\n needsResponse: z.boolean().optional(),\n paused: z.boolean().optional(),\n archived: z.boolean().optional(),\n channel: z.string().optional(),\n chatType: z\n .enum(['assignment', 'manager', 'dm', 'contributor'])\n .optional()\n .describe('Filter by chat type. Omitted = all types.'),\n});\n\n// ============================================\n// CHAT OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListChatsSchema = WorkspaceIdSchema.merge(ChatFiltersSchema);\n\nexport const GetChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n});\n\nexport const CreateChatSchema = WorkspaceIdSchema.merge(ChatFormDataSchema);\n\nexport const UpdateChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n // `muted` is deliberately absent: the generic update endpoint does not\n // carry mute state at all (GRA-8353 — a mute without a reason mints\n // exactly the anonymous state the reason vocabulary exists to prevent),\n // so its request model forbids the field. Mute state goes through the\n // dedicated mute schema below, the only writer of the decision fields.\n}).merge(\n ChatFormDataSchema.omit({ browserChannel: true, interactionMode: true, muted: true }).partial()\n);\n\nexport const DeleteChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID to delete'),\n});\n\nexport const ArchiveChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID to archive'),\n});\n\nexport const UnarchiveChatSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID to unarchive'),\n});\n\nexport const UpdateChatMuteSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n muted: z.boolean().describe('Mute status'),\n muteReason: ChatMuteReasonEnum.optional().describe(\n 'Why the chat is muted (required when muting)'\n ),\n muteExpiresOnInbound: z\n .boolean()\n .optional()\n .describe('Lapse the mute when the member sends a new inbound message'),\n // Runtime mirror of the backend request model's validator\n // (`UpdateChatMuteRequest._muting_requires_reason`): muting without a\n // reason is a 422 at the API, so it is a parse failure here — a bare\n // boolean cannot reach the endpoint as an anonymous mute.\n}).superRefine((data, ctx) => {\n if (data.muted && data.muteReason === undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['muteReason'],\n message:\n 'Muting a chat requires a muteReason from the closed vocabulary: ' +\n 'working, waiting_on_person, resolved_elsewhere, not_mine.',\n });\n }\n});\n\nexport const GetChatsNeedsResponseSchema = WorkspaceIdSchema;\n\nexport const GetChatMessagesSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n limit: z.number().optional().describe('Maximum number of messages to retrieve'),\n});\n\nexport const SendChatMessageSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n message: z.string().describe('Message content to send'),\n model: z.string().optional().describe('AI model to use (defaults to \"gpt-4\")'),\n});\n\nexport const SendAssistantMessageSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n message: z.string().describe('Assistant message content'),\n});\n\nexport const InitiateOutboundCallSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n phoneNumberId: z.number().describe('Phone number ID for the call'),\n});\n\nexport const RateMessageSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n messageUuid: z.string().describe('Message UUID to rate'),\n rating: z.number().describe('Rating (1-5)'),\n});\n\nexport const CreateChatForWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID to start chat for'),\n memberId: z.number().describe('User member ID'),\n agentId: z\n .number()\n .optional()\n .describe('Agent ID (optional, uses workspace default if not provided)'),\n chatTitle: z.string().optional().describe('Chat title (optional)'),\n});\n\nexport const CreateChatCompletionSchema = WorkspaceIdSchema.extend({\n chatId: z.number().describe('Chat ID'),\n model: z.string().optional().describe('AI model to use'),\n // ``id`` on each message is optional but, when provided for the latest\n // user message, the backend uses it as the per-turn discriminator for\n // the Temporal inference workflow. MCP/tool callers that validate\n // through this schema would otherwise have ``id`` stripped and lose\n // the same-message-retry idempotency the per-turn workflow IDs rely\n // on (see lib/services/inference_keys.py and\n // ChatCompletionMessageSchema below).\n messages: z\n .array(\n z.object({\n id: z.string().optional(),\n role: z.string(),\n content: z.string(),\n })\n )\n .describe('Chat messages'),\n});\n\n// Additional schemas\nexport const FunctionToolSchema = z.object({\n type: z.literal('function'),\n function: z.object({\n name: z.string(),\n description: z.string(),\n parameters: z.record(z.string(), z.any()),\n }),\n});\n\nexport const ChatSchema = z.object({\n id: z.number(),\n archived: z.boolean(),\n muted: z.boolean(),\n channel: ChannelEnum,\n chatType: z.string(),\n paused: z.boolean(),\n assignmentId: z.number().nullable(),\n workflowId: z.number().nullable(),\n phoneNumberId: z.number().nullable(),\n inboxId: z.number().nullable().optional(),\n siteId: z.number().nullable().optional(),\n folderId: z.number().nullable().optional(),\n fromMessageId: z.number().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n title: z.string(),\n summary: z.string().nullable(),\n participants: z.array(\n z.union([\n HumanChatParticipantSchema,\n AssistantChatParticipantSchema,\n ContributorChatParticipantSchema,\n SupervisorChatParticipantSchema,\n ])\n ),\n canSendAsAssistant: z.boolean().optional(),\n});\n\nexport const ChatFilterRuleSchema = z.object({\n objectType: ChatFilterObjectTypeEnum,\n filterType: ChatFilterFilterTypeEnum,\n objectIds: z.array(z.number()).optional(),\n query: z.string().optional(),\n});\n\nexport const ChatFilterRuleFormDataSchema = z.object({\n objectType: ChatFilterObjectTypeEnum,\n filterType: ChatFilterFilterTypeEnum,\n objectIds: z.array(z.number()).optional(),\n query: z.string().optional(),\n});\n\nexport const ToolCallFunctionSchema = z.object({\n name: z.string(),\n arguments: z.string(),\n});\n\nexport const ToolCallSchema = z.object({\n id: z.string(),\n type: z.literal('function'),\n function: ToolCallFunctionSchema,\n});\n\nexport const ToolResultSchema = z.object({\n tool_call_id: z.string(),\n content: z.string(),\n});\n\n// Multimodal message content types\nexport const TextContentSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n});\n\nexport const ImageUrlContentSchema = z.object({\n type: z.literal('image_url'),\n image_url: z.object({\n url: z.string(),\n }),\n});\n\nexport const MessageContentPartSchema = z.union([TextContentSchema, ImageUrlContentSchema]);\n\n// ============================================\n// MESSAGE SCHEMAS\n// ============================================\n\n// For OpenAI-compatible endpoints (role + content only)\nexport const ChatMessageObjectSchema = z.object({\n role: MessageRoleEnum,\n content: z\n .union([z.string(), z.array(MessageContentPartSchema)])\n .nullable()\n .optional(),\n tool_calls: z.array(ToolCallSchema).optional(),\n tool_call_id: z.string().optional(),\n});\n\n// API Response: What the GET /chats/{id}/messages endpoint returns\nexport const ChatMessageAPIResponseSchema = z.object({\n uuid: z.string(),\n id: z.string().optional(),\n chatId: z.number(),\n participantRole: MessageRoleEnum,\n participantName: z.string(),\n participantId: z.number().nullable(),\n role: MessageRoleEnum,\n content: z\n .union([z.string(), z.array(MessageContentPartSchema)])\n .nullable()\n .optional(),\n originalContent: z\n .union([z.string(), z.array(MessageContentPartSchema)])\n .nullable()\n .optional(),\n truncationReason: TruncationReasonEnum.optional(),\n truncatedAtMs: z.number().optional(),\n reasoning_content: z.string().optional(),\n failed: z.boolean(),\n tool_calls: z.array(ToolCallSchema).optional(),\n tool_call_id: z.string().optional(),\n error_details: z.any().optional(),\n createdAt: z.string(),\n email_id: z.number().optional(),\n inbox_id: z.number().optional(),\n // Task this message was produced under. Null for messages that predate the\n // workflow-task tracking or that originated outside a task (e.g. manager\n // chats). Surfaced in chat transcripts to help reviewers trace messages\n // back to the workflow task that produced them.\n taskId: z.number().nullable().optional(),\n // SMS delivery fields — only present on messages sent via Twilio SMS.\n smsDeliveryStatus: z.string().nullable().optional(),\n smsDeliveryErrorCode: z.string().nullable().optional(),\n smsDeliveryUpdatedAt: z.string().nullable().optional(),\n // Friendly failure reason — only set when smsDeliveryStatus is failed/undelivered.\n smsDeliveryFailureReason: z.string().nullable().optional(),\n // ADR-11 provenance. Null on rows written before the columns existed —\n // clients fall back to `role`.\n origin: MessageOriginEnum.nullable().optional(),\n audience: MessageAudienceEnum.nullable().optional(),\n // Forked-trajectory \"show work\" affordance: how many messages hang off this\n // one as a detached background thread, and the fork point this message\n // itself hangs off (the PARENT's uuid, so it joins against `id`).\n childMessageCount: z.number().optional(),\n parentMessageId: z.string().nullable().optional(),\n});\n\n// Chat Completion Request Message: Simplified format for /chat/completions endpoint\n//\n// ``id`` is optional but, when supplied for the latest user message, the\n// backend uses it as the per-turn discriminator for the Temporal\n// inference workflow ID. Sending an ID makes browser reload / retry\n// idempotent (USE_EXISTING attaches to the same workflow) while\n// guaranteeing two distinct user Messages produce two distinct workflow\n// executions even when the prior turn's tail-finalization is still\n// running. Treat as PHI structurally — do not log this value alongside\n// content.\nexport const ChatCompletionMessageSchema = z.object({\n id: z.string().optional(),\n role: z.enum(['user', 'assistant', 'system']),\n content: z.string(),\n});\n\n// Client-side UI Message: API response + UI-specific flags\nexport const ChatMessageUISchema = ChatMessageAPIResponseSchema.extend({\n error: z\n .object({\n code: z.string(),\n message: z.string(),\n })\n .optional(),\n suggestions: z.array(z.string()).optional(),\n sendAsAssistant: z.boolean().optional(),\n});\n\n// Main message type (backward compatible)\nexport const ChatMessageSchema = ChatMessageUISchema;\n\nexport const ChatMessageChunkSchema = z.object({\n type: z.enum(['content', 'toolCall', 'error']),\n content: z.string().optional(),\n toolCallId: z.string().optional(),\n toolCallName: z.string().optional(),\n toolCallArguments: z.string().optional(),\n error: z.string().optional(),\n});\n\n// ============================================\n// TYPE EXPORTS (Zod-inferred types)\n// ============================================\n\n// Core chat types\nexport type Channel = z.infer<typeof ChannelEnum>;\nexport type MessageRole = z.infer<typeof MessageRoleEnum>;\nexport type ChatFilterObjectType = z.infer<typeof ChatFilterObjectTypeEnum>;\nexport type ChatFilterFilterType = z.infer<typeof ChatFilterFilterTypeEnum>;\nexport type TruncationReason = z.infer<typeof TruncationReasonEnum>;\nexport type ChatMuteReasonValue = z.infer<typeof ChatMuteReasonEnum>;\nexport type MessageOrigin = z.infer<typeof MessageOriginEnum>;\nexport type MessageAudience = z.infer<typeof MessageAudienceEnum>;\nexport type ChatParticipantFormData = z.infer<typeof ChatParticipantFormDataSchema>;\nexport type HumanChatParticipant = z.infer<typeof HumanChatParticipantSchema>;\nexport type AssistantChatParticipant = z.infer<typeof AssistantChatParticipantSchema>;\nexport type ContributorChatParticipant = z.infer<typeof ContributorChatParticipantSchema>;\nexport type SupervisorChatParticipant = z.infer<typeof SupervisorChatParticipantSchema>;\nexport type ChatFormData = z.infer<typeof ChatFormDataSchema>;\nexport type FunctionTool = z.infer<typeof FunctionToolSchema>;\nexport type Chat = z.infer<typeof ChatSchema>;\nexport type ChatFilterRule = z.infer<typeof ChatFilterRuleSchema>;\nexport type ChatFilterRuleFormData = z.infer<typeof ChatFilterRuleFormDataSchema>;\nexport type ToolCallFunction = z.infer<typeof ToolCallFunctionSchema>;\nexport type ToolCall = z.infer<typeof ToolCallSchema>;\nexport type ToolResult = z.infer<typeof ToolResultSchema>;\nexport type TextContent = z.infer<typeof TextContentSchema>;\nexport type ImageUrlContent = z.infer<typeof ImageUrlContentSchema>;\nexport type MessageContentPart = z.infer<typeof MessageContentPartSchema>;\nexport type ChatMessageObject = z.infer<typeof ChatMessageObjectSchema>;\nexport type ChatMessageAPIResponse = z.infer<typeof ChatMessageAPIResponseSchema>;\nexport type ChatCompletionMessage = z.infer<typeof ChatCompletionMessageSchema>;\nexport type ChatMessageUI = z.infer<typeof ChatMessageUISchema>;\nexport type ChatMessage = z.infer<typeof ChatMessageSchema>;\nexport type ChatMessageChunk = z.infer<typeof ChatMessageChunkSchema>;\n\n// Operation input types\nexport type ListChatsInput = z.infer<typeof ListChatsSchema>;\nexport type GetChatInput = z.infer<typeof GetChatSchema>;\nexport type CreateChatInput = z.infer<typeof CreateChatSchema>;\nexport type UpdateChatInput = z.infer<typeof UpdateChatSchema>;\nexport type DeleteChatInput = z.infer<typeof DeleteChatSchema>;\nexport type ArchiveChatInput = z.infer<typeof ArchiveChatSchema>;\nexport type UnarchiveChatInput = z.infer<typeof UnarchiveChatSchema>;\nexport type UpdateChatMuteInput = z.infer<typeof UpdateChatMuteSchema>;\nexport type GetChatsNeedsResponseInput = z.infer<typeof GetChatsNeedsResponseSchema>;\nexport type GetChatMessagesInput = z.infer<typeof GetChatMessagesSchema>;\nexport type SendChatMessageInput = z.infer<typeof SendChatMessageSchema>;\nexport type SendAssistantMessageInput = z.infer<typeof SendAssistantMessageSchema>;\nexport type InitiateOutboundCallInput = z.infer<typeof InitiateOutboundCallSchema>;\nexport type RateMessageInput = z.infer<typeof RateMessageSchema>;\nexport type CreateChatForWorkflowInput = z.infer<typeof CreateChatForWorkflowSchema>;\nexport type CreateChatCompletionInput = z.infer<typeof CreateChatCompletionSchema>;\n","import type { Tool } from '@modelcontextprotocol/sdk/types.js';\nimport { z } from 'zod';\n\n// Note: Zod v4 is now supported since MCP TypeScript SDK 1.23.0+\n// See: https://github.com/modelcontextprotocol/typescript-sdk/issues/555\n\n// Base schema for workspace-scoped operations\nexport const WorkspaceIdSchema = z.object({\n wid: z.string().describe('Workspace UUID'),\n});\n\n/**\n * Helper to unwrap Optional/Default/Effects to get the underlying type and optionality\n */\nfunction unwrapSchema(schema: any): { schema: any; isOptional: boolean } {\n let current = schema;\n let isOptional = false;\n\n const isOptionalDef = (def?: any) => def?.type === 'optional' || def?.typeName === 'ZodOptional';\n const isDefaultDef = (def?: any) => def?.type === 'default' || def?.typeName === 'ZodDefault';\n // Zod 4: z.preprocess() creates a pipe with a transform input — treat as optional\n // since the preprocess provides a default value for null/undefined inputs.\n const isPipeDef = (def?: any) => def?.type === 'pipe';\n\n while (true) {\n if (isOptionalDef(current._def)) {\n isOptional = true;\n current = current._def.innerType;\n } else if (isDefaultDef(current._def)) {\n isOptional = true; // Defaults make it optional in JSON schema sense\n current = current._def.innerType;\n } else if (isPipeDef(current._def) && current._def.in?._def?.type === 'transform') {\n isOptional = true; // Preprocess provides defaults, so not required\n current = current._def.out;\n } else {\n break;\n }\n }\n\n return { schema: current, isOptional };\n}\n\n/**\n * Convert a Zod schema to MCP tool input schema format\n * Note: We use a custom converter instead of zod-to-json-schema because it has\n * compatibility issues with different Zod versions (3.x and 4.x).\n */\nexport function zodToMcpSchema(schema: any): any {\n // Handle ZodObject\n if (schema instanceof z.ZodObject) {\n const shape = schema.shape;\n const properties: Record<string, any> = {};\n const required: string[] = [];\n\n for (const [key, value] of Object.entries(shape)) {\n const { schema: fieldSchema, isOptional } = unwrapSchema(value as any);\n properties[key] = zodToMcpSchema(fieldSchema);\n if (!isOptional) {\n required.push(key);\n }\n }\n\n return {\n type: 'object',\n properties,\n ...(required.length > 0 ? { required } : {}),\n };\n }\n\n // Handle ZodString\n if (schema instanceof z.ZodString) {\n const result: any = { type: 'string' };\n if (schema.description) {\n result.description = schema.description;\n }\n return result;\n }\n\n // Handle ZodNumber\n if (schema instanceof z.ZodNumber) {\n const result: any = { type: 'number' };\n if (schema.description) {\n result.description = schema.description;\n }\n return result;\n }\n\n // Handle ZodBoolean\n if (schema instanceof z.ZodBoolean) {\n const result: any = { type: 'boolean' };\n if (schema.description) {\n result.description = schema.description;\n }\n return result;\n }\n\n // Handle ZodEnum - use .options public getter to access enum values\n if (schema instanceof z.ZodEnum) {\n const result: any = {\n type: 'string',\n enum: schema.options,\n };\n if (schema.description) {\n result.description = schema.description;\n }\n return result;\n }\n\n // Handle ZodOptional (should be unwrapped before calling this, but just in case)\n const isOptionalDef =\n schema._def?.type === 'optional' || schema._def?.typeName === 'ZodOptional';\n if (isOptionalDef) {\n return zodToMcpSchema(schema._def.innerType);\n }\n\n // Handle ZodDefault (should be unwrapped before calling this, but just in case)\n const isDefaultDef = schema._def?.type === 'default' || schema._def?.typeName === 'ZodDefault';\n if (isDefaultDef) {\n const result = zodToMcpSchema(schema._def.innerType);\n // defaultValue is a getter in Zod 4\n if (typeof schema._def.defaultValue === 'function') {\n result.default = schema._def.defaultValue();\n }\n return result;\n }\n\n // Handle Zod 4 pipe (e.g. z.preprocess) - unwrap to the output schema\n if (schema._def?.type === 'pipe' && schema._def.out) {\n return zodToMcpSchema(schema._def.out);\n }\n\n // Fallback for unknown types\n return { type: 'string' };\n}\n\n/**\n * Create an MCP Tool definition from a Zod schema\n */\nexport function createTool(name: string, description: string, schema: z.ZodSchema<any>): Tool {\n return {\n name,\n description,\n inputSchema: zodToMcpSchema(schema) as any,\n };\n}\n","import { z } from 'zod';\nimport {\n DataCategory,\n DataFieldType,\n DataSensitivity,\n DataTypeRecordScope,\n IndexStatus,\n} from '../types/data-types.js';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// DATA TYPE ENUMS AND CONSTANTS\n// ============================================\n\n// Re-export enums for convenience (canonical definition is in types/dataTypes.ts)\nexport { DataCategory, DataFieldType, DataSensitivity, DataTypeRecordScope, IndexStatus };\n\nconst DataFieldTypeEnum = z.nativeEnum(DataFieldType);\nconst IndexStatusEnum = z.nativeEnum(IndexStatus);\nconst DataTypeRecordScopeEnum = z.nativeEnum(DataTypeRecordScope);\nconst DataSensitivityEnum = z.nativeEnum(DataSensitivity);\nconst DataCategoryEnum = z.nativeEnum(DataCategory);\n\nexport const DataTypeMemberRoleAccessInputSchema = z\n .object({\n memberRoleId: z.number(),\n accessMode: z.number().int().nonnegative(),\n })\n .strict();\n\nexport const DataTypeMemberRoleAccessResponseSchema = DataTypeMemberRoleAccessInputSchema.extend({\n memberRoleName: z.string(),\n});\n\nconst SENSITIVITY_RANK: Record<DataSensitivity, number> = {\n [DataSensitivity.PUBLIC]: 1,\n [DataSensitivity.INTERNAL]: 2,\n [DataSensitivity.CONFIDENTIAL]: 3,\n [DataSensitivity.RESTRICTED]: 4,\n [DataSensitivity.SECRET]: 5,\n};\n\nconst CATEGORY_MIN_SENSITIVITY: Partial<Record<DataCategory, DataSensitivity>> = {\n [DataCategory.PHI]: DataSensitivity.RESTRICTED,\n [DataCategory.CREDENTIAL]: DataSensitivity.SECRET,\n};\n\nconst HIGH_RISK_CATEGORIES = new Set<DataCategory>([DataCategory.PHI, DataCategory.CREDENTIAL]);\n\ntype FieldPolicyInput = {\n sensitivity?: DataSensitivity;\n categories?: DataCategory[];\n};\n\ntype DataTypePolicyInput = {\n recordScope?: DataTypeRecordScope;\n isCollection?: boolean;\n sensitivity?: DataSensitivity;\n fields?: FieldPolicyInput[];\n};\n\nfunction maxSensitivity(first: DataSensitivity, second: DataSensitivity): DataSensitivity {\n return SENSITIVITY_RANK[first] >= SENSITIVITY_RANK[second] ? first : second;\n}\n\nfunction minSensitivityForCategories(categories: readonly DataCategory[] = []): DataSensitivity {\n return categories.reduce<DataSensitivity>((minimum, category) => {\n const categoryMinimum = CATEGORY_MIN_SENSITIVITY[category];\n return categoryMinimum ? maxSensitivity(minimum, categoryMinimum) : minimum;\n }, DataSensitivity.PUBLIC);\n}\n\n/**\n * What a data type with no schema fields derives.\n *\n * Mirrors `EMPTY_SCHEMA_SENSITIVITY` in `lib/models/workspace/data_policy.py`.\n * An empty schema carries no labels to read, which is an absence of information\n * rather than a claim that the records are public — and deriving Public made\n * zero fields more permissive than one unlabeled field, which defaults to\n * Confidential.\n */\nexport const EMPTY_SCHEMA_SENSITIVITY: DataSensitivity = DataSensitivity.CONFIDENTIAL;\n\nfunction minSensitivityForFields(fields: readonly FieldPolicyInput[] = []): DataSensitivity {\n if (fields.length === 0) {\n return EMPTY_SCHEMA_SENSITIVITY;\n }\n\n return fields.reduce<DataSensitivity>((minimum, field) => {\n const fieldSensitivity = field.sensitivity ?? DataSensitivity.CONFIDENTIAL;\n const categoryMinimum = minSensitivityForCategories(field.categories ?? []);\n return maxSensitivity(minimum, maxSensitivity(fieldSensitivity, categoryMinimum));\n }, DataSensitivity.PUBLIC);\n}\n\nfunction validateFieldPolicy(field: FieldPolicyInput, ctx: z.RefinementCtx) {\n const categories = field.categories ?? [];\n const sensitivity = field.sensitivity ?? DataSensitivity.CONFIDENTIAL;\n const minimumSensitivity = minSensitivityForCategories(categories);\n\n if (SENSITIVITY_RANK[sensitivity] < SENSITIVITY_RANK[minimumSensitivity]) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['sensitivity'],\n message: `Sensitivity must be at least ${minimumSensitivity} for selected categories`,\n });\n }\n}\n\nfunction validateDataTypePolicy(data: DataTypePolicyInput, ctx: z.RefinementCtx) {\n const recordScope = data.recordScope ?? DataTypeRecordScope.MEMBER;\n const fields = data.fields ?? [];\n const derivedSensitivity = minSensitivityForFields(fields);\n const hasHighRiskCategory = fields.some((field) =>\n (field.categories ?? []).some((category) => HIGH_RISK_CATEGORIES.has(category))\n );\n\n if (recordScope === DataTypeRecordScope.WORKSPACE && hasHighRiskCategory) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['fields'],\n message: 'Workspace-scoped data types cannot include PHI or credential categories',\n });\n }\n\n if (data.sensitivity !== undefined && data.sensitivity !== derivedSensitivity) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['sensitivity'],\n message: `Sensitivity is derived from fields and must be ${derivedSensitivity}`,\n });\n }\n}\n\nfunction validateDataTypeUpdatePolicy(data: DataTypePolicyInput, ctx: z.RefinementCtx) {\n const fields = data.fields ?? [];\n const hasFields = data.fields !== undefined;\n const hasHighRiskCategory = fields.some((field) =>\n (field.categories ?? []).some((category) => HIGH_RISK_CATEGORIES.has(category))\n );\n\n if (data.recordScope === DataTypeRecordScope.WORKSPACE && hasFields && hasHighRiskCategory) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['fields'],\n message: 'Workspace-scoped data types cannot include PHI or credential categories',\n });\n }\n\n if (hasFields && data.sensitivity !== undefined) {\n const derivedSensitivity = minSensitivityForFields(fields);\n if (data.sensitivity !== derivedSensitivity) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['sensitivity'],\n message: `Sensitivity is derived from fields and must be ${derivedSensitivity}`,\n });\n }\n }\n}\n\n// Label-value pair for enum field options\nconst EnumOptionSchema = z.object({\n label: z.string(),\n value: z.union([z.string(), z.number()]),\n visibleWhen: z.string().optional(),\n});\n\n// Options are always EnumOption objects\nconst OptionsSchema = z.array(EnumOptionSchema).optional();\n\n// ============================================\n// DATA TYPE BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const DataFieldSchema = z.object({\n id: z.number().optional(),\n name: z.string(),\n slug: z.string(),\n description: z.string().optional(),\n required: z.boolean(),\n fieldType: DataFieldTypeEnum,\n options: OptionsSchema,\n referencedTypeId: z.number().optional(),\n shouldIndex: z.boolean().optional(),\n indexStatus: IndexStatusEnum.optional(),\n adminOnly: z.boolean().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const DataFieldFormDataSchema = z.object({\n name: z.string(),\n slug: z.string(),\n description: z.string().optional(),\n required: z.boolean(),\n fieldType: DataFieldTypeEnum,\n options: OptionsSchema,\n referencedTypeId: z.number().optional(),\n shouldIndex: z.boolean().optional(),\n indexStatus: IndexStatusEnum.optional(),\n adminOnly: z.boolean().optional(),\n});\n\n// SchemaField - the canonical representation of a data type field\n// Display order is determined by array position, not the order field\nexport const SchemaFieldSchema = z\n .object({\n slug: z.string(),\n name: z.string(),\n description: z.string().optional(),\n fieldType: DataFieldTypeEnum,\n required: z.boolean(),\n order: z.number().optional(), // Deprecated: use array position for ordering\n options: OptionsSchema,\n referencedTypeId: z.number().optional(),\n shouldIndex: z.boolean().optional(),\n adminOnly: z.boolean().optional(),\n defaultValue: z.any().optional(),\n sensitivity: DataSensitivityEnum.optional(),\n categories: z.array(DataCategoryEnum).optional(),\n celFunction: z.string().optional(),\n validateCel: z.string().optional(),\n })\n .superRefine(validateFieldPolicy);\n\n// SchemaField for form data - order is optional (auto-assigned by backend)\nexport const SchemaFieldFormDataSchema = z\n .object({\n slug: z.string(),\n name: z.string(),\n description: z.string().optional(),\n fieldType: DataFieldTypeEnum,\n required: z.boolean(),\n order: z.number().optional(),\n options: OptionsSchema,\n referencedTypeId: z.number().optional(),\n shouldIndex: z.boolean().optional(),\n adminOnly: z.boolean().optional(),\n defaultValue: z.any().optional(),\n sensitivity: DataSensitivityEnum.optional(),\n categories: z.array(DataCategoryEnum).optional(),\n celFunction: z.string().optional(),\n validateCel: z.string().optional(),\n })\n .superRefine(validateFieldPolicy);\n\nexport const DataTypeSchema = z\n .object({\n id: z.number(),\n name: z.string(),\n slug: z.string(),\n uuid: z.string(),\n description: z.string().optional(),\n prompt: z.string().optional(),\n isCollection: z.boolean(),\n pinned: z.boolean().optional(),\n archived: z.boolean().optional(),\n ownerId: z.number().nullable(),\n recordScope: DataTypeRecordScopeEnum,\n sensitivity: DataSensitivityEnum,\n categories: z.array(DataCategoryEnum),\n memberRoleAccess: z.array(DataTypeMemberRoleAccessResponseSchema).optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n fields: z.array(SchemaFieldSchema),\n })\n .superRefine(validateDataTypePolicy);\n\nconst DataTypeFormDataBaseSchema = z\n .object({\n name: z.string(),\n slug: z.string(),\n description: z.string().optional(),\n prompt: z.string().optional(),\n isCollection: z.boolean(),\n pinned: z.boolean().optional(),\n recordScope: DataTypeRecordScopeEnum.optional(),\n fields: z.array(SchemaFieldFormDataSchema),\n memberRoleAccess: z.array(DataTypeMemberRoleAccessInputSchema).optional(),\n ownerId: z.number().nullable().optional(),\n })\n .strict();\n\nexport const DataTypeFormDataSchema =\n DataTypeFormDataBaseSchema.superRefine(validateDataTypePolicy);\n\nexport const DataRecordFiltersSchema = z.object({\n page: z.number().optional(),\n pageSize: z.number().optional(),\n search: z.string().optional(),\n searchField: z.string().optional(),\n memberId: z.number().optional(),\n});\n\n// ============================================\n// DATA TYPE OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListDataTypesSchema = WorkspaceIdSchema;\n\nexport const GetDataTypeSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n});\n\nexport const GetDataTypeBySlugSchema = WorkspaceIdSchema.extend({\n slug: z.string().describe('Data type slug'),\n});\n\nexport const CreateDataTypeSchema = WorkspaceIdSchema.merge(\n DataTypeFormDataBaseSchema.extend({\n fields: z\n .array(SchemaFieldFormDataSchema)\n .default([])\n .describe(\n 'Field definitions for the data type. Can be empty initially and fields added later.'\n ),\n })\n).superRefine(validateDataTypePolicy);\n\nexport const UpdateDataTypeSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n})\n .merge(DataTypeFormDataBaseSchema.partial())\n .superRefine(validateDataTypeUpdatePolicy);\n\nexport const DeleteDataTypeSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID to delete'),\n});\n\n// Data Records\nexport const ListDataRecordsSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n}).merge(DataRecordFiltersSchema);\n\nexport const GetDataRecordSchema = WorkspaceIdSchema.extend({\n recordId: z.number().describe('Data record ID'),\n});\n\nexport const CreateDataRecordSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n memberId: z\n .number()\n .nullable()\n .optional()\n .describe('Member ID for member-scoped records; omit/null for workspace-scoped records.'),\n memberExternalId: z\n .string()\n .nullable()\n .optional()\n .describe('Member external ID (alternative to memberId).'),\n fieldValues: z.record(z.string(), z.any()).describe('Field values for the record'),\n externalId: z.string().nullable().optional().describe('External ID for the record'),\n assignmentTaskId: z.number().nullable().optional().describe('Assignment task ID (optional)'),\n}).refine(\n (data) => [data.memberId, data.memberExternalId].filter((value) => value != null).length <= 1,\n {\n message: 'Specify only one of memberId or memberExternalId.',\n path: ['memberId'],\n }\n);\n\nexport const UpdateDataRecordSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n recordId: z.number().describe('Data record ID'),\n fieldValues: z.record(z.string(), z.any()).describe('New field values for the record'),\n memberId: z\n .number()\n .nullable()\n .optional()\n .describe(\n 'Member ID for member-scoped records; omit/null for workspace-scoped records. Cannot be used with memberExternalId.'\n ),\n memberExternalId: z\n .string()\n .nullable()\n .optional()\n .describe('Member external ID (alternative to memberId). Cannot be used with memberId.'),\n externalId: z.string().nullable().optional().describe('External ID for the record'),\n assignmentTaskId: z.number().nullable().optional().describe('Assignment task ID (optional)'),\n}).refine(\n (data) => [data.memberId, data.memberExternalId].filter((value) => value != null).length <= 1,\n {\n message: 'Specify only one of memberId or memberExternalId.',\n path: ['memberExternalId'],\n }\n);\n\nexport const DeleteDataRecordSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n recordId: z.number().describe('Data record ID to delete'),\n});\n\nexport const UpsertDataRecordSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n externalId: z.string().describe('External ID to match on'),\n fieldValues: z.record(z.string(), z.any()).describe('Field values for the record'),\n memberId: z.number().nullable().optional(),\n memberExternalId: z.string().nullable().optional(),\n});\n\nexport const ToggleFieldIndexSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n fieldSlug: z.string().describe('Field slug'),\n shouldIndex: z.boolean().describe('Whether to index the field'),\n});\n\nexport const GetFieldIndexStatusSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n fieldSlug: z.string().describe('Field slug'),\n});\n\nexport const AddDataFieldSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n name: z.string().describe('Field name'),\n slug: z.string().describe('URL-friendly field identifier'),\n description: z.string().optional().describe('Field description'),\n required: z.boolean().default(false).describe('Whether this field is required'),\n fieldType: DataFieldTypeEnum.describe('Field data type'),\n options: OptionsSchema.describe('Options for enum fields as {label, value} objects.'),\n referencedTypeId: z.number().optional().describe('Referenced data type ID for reference fields'),\n shouldIndex: z.boolean().optional().describe('Whether to create a search index for this field'),\n adminOnly: z.boolean().optional().describe('Whether only admins can edit this field'),\n});\n\nexport const RemoveDataFieldSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n fieldId: z.number().describe('Field ID to remove'),\n});\n\nexport const UpdateDataFieldSchema = WorkspaceIdSchema.extend({\n dataTypeId: z.number().describe('Data type ID'),\n fieldId: z.number().describe('Field ID to update'),\n name: z.string().optional().describe('Field name'),\n slug: z.string().optional().describe('URL-friendly field identifier'),\n description: z.string().optional().describe('Field description'),\n required: z.boolean().optional().describe('Whether this field is required'),\n fieldType: DataFieldTypeEnum.optional().describe('Field data type'),\n options: OptionsSchema.describe('Options for enum fields as {label, value} objects.'),\n referencedTypeId: z.number().optional().describe('Referenced data type ID for reference fields'),\n shouldIndex: z.boolean().optional().describe('Whether to create a search index for this field'),\n adminOnly: z.boolean().optional().describe('Whether only admins can edit this field'),\n});\n\n// Derived lifecycle-retirement status (Monday item archived/deleted). Populated\n// only on the human Forms/CRUD read responses; null for live/non-connector\n// records. PHI-safe: closed-vocabulary status/reason/source codes only.\nexport const DataRecordRetirementSchema = z.object({\n status: z.literal('retired'),\n reason: z.enum(['monday_item_archived', 'monday_item_deleted']),\n source: z.literal('monday'),\n});\n\n// Additional schemas\nexport const DataRecordSchema = z.object({\n id: z.number(),\n dataTypeId: z.number(),\n memberId: z.number().nullable(),\n fieldValues: z.record(z.string(), z.any()),\n externalId: z.string().optional(),\n assignmentTaskId: z.number().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n retirement: DataRecordRetirementSchema.nullable().optional(),\n});\n\nexport const DataRecordFormDataSchema = z.object({\n memberId: z.number().nullable().optional(),\n memberExternalId: z.string().optional(),\n fieldValues: z.record(z.string(), z.any()),\n externalId: z.string().optional(),\n assignmentTaskId: z.number().optional(),\n});\n\nexport const DataRecordsPaginatedResponseSchema = z.object({\n items: z.array(DataRecordSchema),\n total: z.number(),\n page: z.number(),\n pageSize: z.number(),\n totalPages: z.number(),\n});\n\nexport const DataRecordWithAccessModeSchema = DataRecordSchema.extend({\n accessMode: z.number(),\n});\n\nexport const DataRecordAssociationFormDataSchema = z.object({\n id: z.number(),\n accessMode: z.number(),\n});\n\nexport const DataRecordReportItemSchema = z.object({\n id: z.number(),\n data_type_id: z.number(),\n data_type_name: z.string(),\n data_type_slug: z.string(),\n values: z.record(z.string(), z.any()),\n created_at: z.string(),\n updated_at: z.string(),\n external_id: z.string().nullable().optional(),\n});\n\nexport const DataIntegrityReportItemSchema = z.object({\n issue_type: z.string(),\n data_type_id: z.number().optional(),\n data_type_name: z.string().optional(),\n record_id: z.number().optional(),\n field_name: z.string().optional(),\n details: z.string(),\n});\n\nexport const DataTypeExportItemSchema = z.object({\n uuid: z.string(),\n templateUuid: z.string().nullable().optional(),\n name: z.string(),\n slug: z.string(),\n description: z.string().nullable().optional(),\n prompt: z.string().nullable().optional(),\n isCollection: z.boolean(),\n recordScope: DataTypeRecordScopeEnum,\n fields: z.array(SchemaFieldSchema),\n});\n\nexport const TaskExportDataTypeRelationSchema = z.object({\n dataTypeUuid: z.string(),\n accessMode: z.number(),\n});\n\n// ============================================\n// TYPE EXPORTS (Zod-inferred types)\n// ============================================\n\n// Core data types\nexport type DataField = z.infer<typeof DataFieldSchema>;\nexport type DataFieldFormData = z.infer<typeof DataFieldFormDataSchema>;\nexport type SchemaField = z.infer<typeof SchemaFieldSchema>;\nexport type SchemaFieldFormData = z.infer<typeof SchemaFieldFormDataSchema>;\nexport type DataType = z.infer<typeof DataTypeSchema>;\nexport type DataTypeFormData = z.infer<typeof DataTypeFormDataSchema>;\nexport type DataRecord = z.infer<typeof DataRecordSchema>;\nexport type DataRecordRetirement = z.infer<typeof DataRecordRetirementSchema>;\nexport type DataRecordFormData = z.infer<typeof DataRecordFormDataSchema>;\nexport type DataRecordsPaginatedResponse = z.infer<typeof DataRecordsPaginatedResponseSchema>;\nexport type DataRecordWithAccessMode = z.infer<typeof DataRecordWithAccessModeSchema>;\nexport type DataRecordAssociationFormData = z.infer<typeof DataRecordAssociationFormDataSchema>;\nexport type DataRecordReportItem = z.infer<typeof DataRecordReportItemSchema>;\nexport type DataIntegrityReportItem = z.infer<typeof DataIntegrityReportItemSchema>;\nexport type DataTypeExportItem = z.infer<typeof DataTypeExportItemSchema>;\nexport type TaskExportDataTypeRelation = z.infer<typeof TaskExportDataTypeRelationSchema>;\n\n// Operation input types\nexport type DataRecordFilters = z.infer<typeof DataRecordFiltersSchema>;\nexport type ListDataTypesInput = z.infer<typeof ListDataTypesSchema>;\nexport type GetDataTypeInput = z.infer<typeof GetDataTypeSchema>;\nexport type GetDataTypeBySlugInput = z.infer<typeof GetDataTypeBySlugSchema>;\nexport type CreateDataTypeInput = z.infer<typeof CreateDataTypeSchema>;\nexport type UpdateDataTypeInput = z.infer<typeof UpdateDataTypeSchema>;\nexport type DeleteDataTypeInput = z.infer<typeof DeleteDataTypeSchema>;\nexport type ListDataRecordsInput = z.infer<typeof ListDataRecordsSchema>;\nexport type GetDataRecordInput = z.infer<typeof GetDataRecordSchema>;\nexport type CreateDataRecordInput = z.infer<typeof CreateDataRecordSchema>;\nexport type UpdateDataRecordInput = z.infer<typeof UpdateDataRecordSchema>;\nexport type DeleteDataRecordInput = z.infer<typeof DeleteDataRecordSchema>;\nexport type UpsertDataRecordInput = z.infer<typeof UpsertDataRecordSchema>;\nexport type ToggleFieldIndexInput = z.infer<typeof ToggleFieldIndexSchema>;\nexport type GetFieldIndexStatusInput = z.infer<typeof GetFieldIndexStatusSchema>;\nexport type AddDataFieldInput = z.infer<typeof AddDataFieldSchema>;\nexport type RemoveDataFieldInput = z.infer<typeof RemoveDataFieldSchema>;\nexport type UpdateDataFieldInput = z.infer<typeof UpdateDataFieldSchema>;\n","// Data-related types.\n// Server response shapes are generated from Pydantic via emit_openapi.py → Orval.\n// Client-only shapes (enums, forms, report items) are defined below.\n\nimport type { SchemaField } from './generated/data';\n\nexport type {\n DataTypeDraftResponse,\n DataTypeVersionResponse,\n PublishDataTypeDraftRequest,\n SaveDataTypeDraftRequest,\n} from './generated/data_type_version';\n\n// ===== GENERATED SERVER TYPES =====\n\nexport type {\n DataRecordResponse,\n DataRecordResponse as DataRecord,\n DataRecordRetirementResponse,\n DataRecordUpdateResponse,\n DataRecordUpdateResponse as DataRecordUpdate,\n DataTypeMemberRoleAccessResponse,\n DataTypeResponse,\n DataTypeResponse as DataType,\n IndexStatusResponse,\n SchemaField,\n} from './generated/data';\n\nexport type {\n DataRecordFilterResponse,\n DataRecordFilterResponse as DataRecordFilter,\n CreateDataRecordFilterRequest,\n UpdateDataRecordFilterRequest,\n} from './generated/data_record_filter';\n\nexport { DataRecordRetirementResponseReason } from './generated/data';\n\n// Field-slug rename (preview + apply). Value-free by construction: counts, ids,\n// schema slugs and closed-vocabulary blocker codes only.\nexport type {\n FieldReferenceImpact,\n FieldSlugRenamePreview,\n FieldSlugRenameResult,\n} from './generated/data_type_field_rename_service';\n\nimport type { DataRecordFilterResponse as GeneratedDataRecordFilterResponse } from './generated/data_record_filter';\nimport type { QueryPredicate } from './query-engine-types';\n\n/** DataRecordFilter with the query-engine predicate column narrowed to IR. */\nexport type DataRecordFilterWithQuery = GeneratedDataRecordFilterResponse & {\n query?: QueryPredicate | null;\n};\n\nexport interface DataRecordFilterFormData {\n dataTypeId: number;\n name: string;\n description?: string;\n pinned?: boolean;\n /** Query-engine predicate (JSON IR). Pass null to author an empty filter. */\n query: QueryPredicate | null;\n}\n\n// Pagination wrapper for data records (the backend uses an inline shape, not\n// a top-level Pydantic generic, so there is no generated equivalent).\nexport interface DataRecordsPaginatedResponse {\n items: DataRecordResponse[];\n total: number;\n page: number;\n pageSize: number;\n totalPages: number;\n}\n\n// Local import for use in `extends` clauses\nimport type { DataRecordResponse } from './generated/data';\n\n// ===== CLIENT-ONLY SURFACE =====\n// Enums, form shapes, report items, and query helpers that have no direct\n// Pydantic counterpart (or that the frontend builds in a different shape).\n\nimport type { AccountReportItem } from './account-types';\nimport type { EventRuleInput } from './event-types';\nimport type { MemberReportItem } from './member-types';\n\n// Field type enum (kept as TypeScript enum; widely used for comparisons)\nexport enum DataFieldType {\n ENUM = 'enum',\n EMAIL = 'email',\n PHONE = 'phone',\n TEXT = 'text',\n LONGTEXT = 'longtext',\n NUMBER = 'number',\n INTEGER = 'integer',\n DATE = 'date',\n DATETIME = 'datetime',\n TIME_OF_DAY = 'time_of_day',\n BOOLEAN = 'boolean',\n FILE = 'file',\n REFERENCE = 'reference',\n FUNCTION = 'function',\n ARRAY = 'array',\n OBJECT = 'object',\n US_ZIP_CODE = 'us_zip_code',\n}\n\nexport enum IndexStatus {\n NOT_INDEXED = 'not_indexed',\n INDEXING = 'indexing',\n INDEXED = 'indexed',\n ERROR = 'error',\n}\n\nexport enum DataTypeRecordScope {\n WORKSPACE = 'workspace',\n MEMBER = 'member',\n}\n\nexport enum DataSensitivity {\n PUBLIC = 'public',\n INTERNAL = 'internal',\n CONFIDENTIAL = 'confidential',\n RESTRICTED = 'restricted',\n SECRET = 'secret',\n}\n\nexport enum DataCategory {\n PHI = 'phi',\n PII = 'pii',\n FINANCIAL = 'financial',\n OPERATIONAL = 'operational',\n CREDENTIAL = 'credential',\n PERSONAL = 'personal',\n IDENTIFIER = 'identifier',\n}\n\n// DataField — the legacy client-side shape used in forms and the data-type editor.\n// SchemaField (from generated) is the canonical server representation.\nexport interface DataField {\n id?: number;\n name: string;\n slug: string;\n description?: string;\n required: boolean;\n fieldType: DataFieldType;\n options?: EnumOption[];\n referencedTypeId?: number;\n shouldIndex?: boolean;\n indexStatus?: IndexStatus;\n adminOnly?: boolean;\n defaultValue?: any;\n order: number;\n createdAt: string;\n updatedAt: string;\n}\n\n/**\n * Label-value pair for enum field options.\n * Allows enum fields to have user-friendly labels while storing clean values\n * (e.g., numbers for scoring calculations in CEL expressions).\n */\nexport interface EnumOption {\n /** Display label shown to users */\n label: string;\n /** Stored value (can be string or number) */\n value: string | number;\n /**\n * CEL expression that must return true for this option to be visible.\n * Uses record.data.<field_slug> syntax to reference other field values.\n * CONSTRAINT: Can only reference non-FUNCTION fields.\n */\n visibleWhen?: string | null;\n}\n\nexport interface DataTypeFormData {\n name: string;\n slug?: string;\n description?: string;\n prompt?: string;\n isCollection?: boolean;\n recordScope?: DataTypeRecordScope;\n sensitivity?: DataSensitivity;\n categories?: DataCategory[];\n // The update/create endpoints accept full SchemaField payloads (including\n // celFunction / validateCel); a narrower \"form data\" type here forced\n // unsafe double-casts at every call site.\n fields?: SchemaField[];\n memberRoleAccess?: DataTypeMemberRoleAccessInput[];\n pinned?: boolean;\n ownerId?: number | null;\n /**\n * Inline Actions. The same flat list ``DataType.eventRules`` returns, so a\n * form round-trips one shape. (``createRules``/``updateRules`` used to sit\n * here too, marked as the preferred pair — but the API never read them:\n * ``UpdateDataTypeRequest`` accepts ``eventRules`` and nothing else.)\n */\n eventRules?: EventRuleInput[];\n}\n\nexport interface DataRecordFormData {\n dataTypeId: number;\n memberId?: number | null;\n externalId?: string;\n fieldValues: Record<string, unknown>;\n}\n\nexport interface DataTypeMemberRoleAccessInput {\n memberRoleId: number;\n accessMode: number;\n}\n\nexport interface DataRecordAssociationFormData {\n dataRecordId: number;\n accessMode?: number;\n}\n\nexport interface DataRecordWithAccessMode extends DataRecordResponse {\n accessMode?: number | null;\n}\n\nexport interface DataRecordReportItem {\n id: number;\n dataTypeId: number;\n dataTypeSlug: string;\n member?: MemberReportItem;\n account?: AccountReportItem;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface DataIntegrityReportItem {\n dataTypeId: number;\n dataTypeSlug: string;\n dataTypeName: string;\n totalRecords: number;\n invalidRecords: number;\n issues: string[];\n}\n\nexport interface DataTypeExportItem {\n id: number;\n slug: string;\n name: string;\n fields: DataField[];\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface TaskExportDataTypeRelation {\n dataTypeId: number;\n dataTypeSlug: string;\n accessMode: number;\n}\n\nexport interface BulkRecordResult {\n index: number;\n status: 'created' | 'updated' | 'failed';\n recordId?: number;\n error?: string;\n}\n\nexport interface BulkCreateDataRecordResponse {\n importedCount: number;\n totalCount: number;\n success: boolean;\n results: BulkRecordResult[];\n errors?: string[];\n}\n\nexport interface BulkCreateDataRecordRequest {\n dataTypeId: number;\n records: DataRecordFormData[];\n upsert?: boolean;\n}\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// INBOX BASE SCHEMAS (Form Data)\n// ============================================\n\n// Inbox rule schemas based on backend validation\nexport const InboxRuleSchema = z.object({\n field: z.enum(['sender', 'sender_ip']),\n operator: z.enum(['contains', 'equals', 'ends_with', 'regex', 'ip_in_range']),\n value: z.string(),\n});\n\n// Per-inbox rate limit override configuration. `null`/omitted fields mean \"use system default\".\nexport const RateLimitOverrideSchema = z.object({\n enabled: z.boolean().nullish(),\n per_minute: z.number().int().nullish(),\n per_hour: z.number().int().nullish(),\n});\n\n// An allowlisted sender that bypasses rate limiting.\nexport const RateLimitAllowlistEntrySchema = z.object({\n sender: z.string(),\n reason: z.string().nullish(),\n});\n\nexport const InboxRulesConfigSchema = z.object({\n allowMode: z.enum(['all', 'none', 'rules']).optional(),\n denyMode: z.enum(['all', 'none', 'rules']).optional(),\n allowRules: z.array(InboxRuleSchema).optional(),\n denyRules: z.array(InboxRuleSchema).optional(),\n rateLimitEnabled: z.boolean().nullish(),\n rateLimitOverride: RateLimitOverrideSchema.nullish(),\n rateLimitAllowlist: z.array(RateLimitAllowlistEntrySchema).nullish(),\n});\n\nexport const InboxFormDataSchema = z.object({\n name: z.string(),\n slug: z.string().optional(),\n rules: InboxRulesConfigSchema.optional(),\n defaultWorkflowId: z.number().optional(),\n assistantEnabled: z.boolean().optional(),\n autoReplyEnabled: z.boolean().optional(),\n recipient: z.string().optional(),\n // Inbox-specific footer overriding the workspace-wide one. Empty string\n // clears the override; the backend sanitizes and length-caps it with the\n // same rules as the workspace footer.\n emailFooter: z.string().nullish(),\n // Store mail from senders who are not workspace Members instead of\n // dropping it. Stored only — such mail is never processed by the AI. Must\n // be declared here or Zod strips it: `UpdateInboxSchema` backs the MCP\n // `update_inbox` tool, and a stripped key makes the tool report success\n // while changing nothing.\n receiveNonMemberEmails: z.boolean().optional(),\n // Optional OrgDomain UUID for inboxes hosted on a verified org-tier custom\n // domain. Backend validates ownership and email-config status.\n orgDomainUuid: z.string().uuid().optional(),\n});\n\nexport const InboxEmailFiltersSchema = z.object({\n page: z.number().optional(),\n pageSize: z.number().optional(),\n includeAttachments: z.boolean().optional(),\n});\n\n// ============================================\n// INBOX OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListInboxesSchema = WorkspaceIdSchema;\n\nexport const GetInboxSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n});\n\nexport const CreateInboxSchema = WorkspaceIdSchema.merge(InboxFormDataSchema);\n\n// The update endpoint is a genuine partial update: `.partial()` here is not a\n// convenience, it is the contract — an omitted key leaves that field of the\n// inbox alone, so a one-flag change sends one flag. Clearing a field is a\n// separate instruction (an explicit `null`), and only `emailFooter` exposes it\n// through this schema; the others are set-only from the MCP tool.\nexport const UpdateInboxSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n}).merge(InboxFormDataSchema.partial());\n\nexport const DeleteInboxSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID to delete'),\n});\n\n// Inbox Emails\nexport const ListInboxEmailsSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n}).merge(InboxEmailFiltersSchema);\n\nexport const GetInboxEmailSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n emailId: z.number().describe('Email ID'),\n});\n\nexport const MarkEmailReadSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n emailId: z.number().describe('Email ID'),\n});\n\nexport const MarkEmailUnreadSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n emailId: z.number().describe('Email ID'),\n});\n\nexport const GetRecentInboxMessagesSchema = WorkspaceIdSchema.extend({\n inboxId: z.number().describe('Inbox ID'),\n limit: z.number().optional().describe('Maximum number of messages to return (default: 20)'),\n since: z.string().optional().describe('ISO date string to get messages since this date'),\n unreadOnly: z.boolean().optional().describe('Return only unread messages'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type InboxRule = z.infer<typeof InboxRuleSchema>;\nexport type RateLimitOverride = z.infer<typeof RateLimitOverrideSchema>;\nexport type RateLimitAllowlistEntry = z.infer<typeof RateLimitAllowlistEntrySchema>;\nexport type InboxRulesConfig = z.infer<typeof InboxRulesConfigSchema>;\nexport type InboxFormData = z.infer<typeof InboxFormDataSchema>;\nexport type InboxEmailFilters = z.infer<typeof InboxEmailFiltersSchema>;\nexport type ListInboxesInput = z.infer<typeof ListInboxesSchema>;\nexport type GetInboxInput = z.infer<typeof GetInboxSchema>;\nexport type CreateInboxInput = z.infer<typeof CreateInboxSchema>;\nexport type UpdateInboxInput = z.infer<typeof UpdateInboxSchema>;\nexport type DeleteInboxInput = z.infer<typeof DeleteInboxSchema>;\nexport type ListInboxEmailsInput = z.infer<typeof ListInboxEmailsSchema>;\nexport type GetInboxEmailInput = z.infer<typeof GetInboxEmailSchema>;\nexport type MarkEmailReadInput = z.infer<typeof MarkEmailReadSchema>;\nexport type MarkEmailUnreadInput = z.infer<typeof MarkEmailUnreadSchema>;\nexport type GetRecentInboxMessagesInput = z.infer<typeof GetRecentInboxMessagesSchema>;\n","import { z } from 'zod';\n\n// Wire schema matches the API: email/cellNumber are optional on the payload\n// because create_inquiry back-fills from the session account when logged in.\n// Anonymous forms enforce \"at least one contact method\" in the UI components.\nexport const CreateInquirySchema = z.object({\n name: z.string().optional(),\n email: z.string().email().optional(),\n inquiryType: z.enum([\n 'customer',\n 'builder',\n 'partner',\n 'other',\n 'demo_request',\n 'waitlist',\n 'whitepaper',\n ]),\n cellNumber: z.string().optional(),\n businessNumber: z.string().optional(),\n businessName: z.string().optional(),\n country: z.string().optional(),\n state: z.string().optional(),\n message: z.string().optional(),\n productId: z.number().optional(),\n /**\n * The submitter ticked \"we plan to use Gravity Rail with healthcare\n * information and will need a BAA\" (#20152). A self-declared sales-routing\n * signal — it confers no PHI authorization, which is an explicit property\n * of orgs and workspaces and never inferred from a marketing form.\n */\n requiresBaa: z.boolean().optional(),\n /** Marketing-document slug (whitepaper downloads) — lowercase kebab-case, mirrors the API validator. */\n documentId: z\n .string()\n .max(64)\n // Linear-time kebab-case check (char class + boundary refine) — avoids\n // the nested-quantifier pattern flagged by security/detect-unsafe-regex.\n .regex(/^[a-z0-9-]+$/)\n .refine((v) => !v.startsWith('-') && !v.endsWith('-') && !v.includes('--'), {\n message: 'Must be a lowercase kebab-case slug',\n })\n .optional(),\n /**\n * Per-form lead source (GRA-6765) — closed enum mirroring the API validator,\n * so gap-zero / generic-contact / concierge / etc. are distinguishable in\n * the funnel event and Slack notification. Never free text.\n */\n source: z\n .enum([\n 'contact',\n 'demo',\n 'gap_zero',\n 'waitlist_updates',\n 'about_contact',\n 'concierge_error',\n 'concierge_anonymous',\n 'whitepaper',\n 'get_started',\n ])\n .optional(),\n recaptchaToken: z.string().optional(),\n});\n\n/** Client-only: anonymous contact forms that cannot rely on account backfill. */\nexport const AnonymousInquiryFormSchema = CreateInquirySchema.refine(\n (data) => Boolean(data.email?.trim()) || Boolean(data.cellNumber?.trim()),\n {\n message: 'At least one of email or cellNumber is required',\n path: ['email'],\n }\n);\n\nexport const ListInquiriesSchema = z.object({\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n inquiryType: z.string().optional().describe('Filter by inquiry type'),\n});\n\nexport const GetInquirySchema = z.object({\n inquiryId: z.number().describe('Inquiry ID'),\n});\n\nexport const EnrichInquirySchema = z.object({\n inquiryUuid: z.string().uuid().describe('Inquiry UUID from cookie'),\n name: z.string().optional(),\n email: z.string().email().optional(),\n cellNumber: z.string().optional(),\n businessName: z.string().optional(),\n message: z.string().optional(),\n});\n\nexport const UpdateInquiryRequestSchema = z.object({\n notes: z.string().optional(),\n status: z.enum(['new', 'in_progress', 'done']).optional(),\n});\n\nexport const UpdateInquirySchema = z\n .object({\n inquiryId: z.number().describe('Inquiry ID'),\n })\n .merge(UpdateInquiryRequestSchema.partial());\n\nexport const DeleteInquirySchema = z.object({\n inquiryId: z.number().describe('Inquiry ID to delete'),\n});\n\nexport type ListInquiriesInput = z.infer<typeof ListInquiriesSchema>;\nexport type GetInquiryInput = z.infer<typeof GetInquirySchema>;\nexport type CreateInquiryInput = z.infer<typeof CreateInquirySchema>;\nexport type UpdateInquiryInput = z.infer<typeof UpdateInquirySchema>;\nexport type EnrichInquiryInput = z.infer<typeof EnrichInquirySchema>;\nexport type DeleteInquiryInput = z.infer<typeof DeleteInquirySchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// MEMBER BASE SCHEMAS (Form Data)\n// ============================================\n\n// This schema matches CreateWorkspaceMemberRequest from the API\nexport const CreateWorkspaceMemberRequestSchema = z.object({\n // Account identification - one of these is required for creation\n email: z.string().optional(),\n phone: z.string().optional(),\n accountUuid: z.string().optional(),\n\n // Member details\n name: z.string().optional(),\n description: z.string().optional(),\n externalId: z.string().optional(),\n dateOfBirth: z.string().optional(), // ISO 8601 date (YYYY-MM-DD)\n\n // Role and permissions\n memberRoleId: z.number(),\n\n // Notification preferences\n notifySms: z.boolean().optional(),\n notifyEmail: z.boolean().optional(),\n notifyVoice: z.boolean().optional(),\n\n // Label assignments\n labelIds: z.array(z.number()).optional(),\n\n // Account-specific fields (only used by orgOwners/superusers)\n accountEnabled: z.boolean().optional(),\n isOrgOwner: z.boolean().optional(),\n accountTosAccepted: z.boolean().optional(),\n\n // Member type (member, test, anonymous) - used to create test members\n memberType: z.enum(['member', 'test', 'anonymous']).optional(),\n});\n\n// This schema matches UpdateWorkspaceMemberRequest from the API\nexport const UpdateWorkspaceMemberRequestSchema = z.object({\n // Member details\n name: z.string().optional(),\n description: z.string().optional(),\n phone: z.string().optional(),\n email: z.string().optional(),\n externalId: z.string().optional(),\n dateOfBirth: z.string().nullable().optional(), // ISO 8601 date (YYYY-MM-DD)\n\n // Role and permissions\n memberRoleId: z.number().optional(),\n labelIds: z.array(z.number()).optional(),\n\n // Notification preferences\n notifySms: z.boolean().optional(),\n notifyEmail: z.boolean().optional(),\n notifyVoice: z.boolean().optional(),\n\n // Other settings\n tosAccepted: z.boolean().optional(),\n\n // Account-specific fields (only used by orgOwners/superusers)\n accountEnabled: z.boolean().optional(),\n isOrgOwner: z.boolean().optional(),\n isSuperuser: z.boolean().optional(),\n accountTosAccepted: z.boolean().optional(),\n\n // Member type (member, test, anonymous)\n memberType: z.enum(['member', 'test', 'anonymous']).optional(),\n});\n\n// Backward compatibility alias\nexport const MemberFormDataSchema = z.object({\n tosAccepted: z.boolean().optional(),\n memberRoleId: z.number().optional(),\n notifySms: z.boolean().optional(),\n notifyEmail: z.boolean().optional(),\n notifyVoice: z.boolean().optional(),\n\n // Consolidated member fields (from personas consolidation migration)\n name: z.string().optional(),\n description: z.string().optional(),\n phone: z.string().optional(),\n email: z.string().optional(),\n externalId: z.string().optional(),\n dateOfBirth: z.string().nullable().optional(),\n});\n\n// Access schemas for member roles\nexport const MemberRoleTaskAccessSchema = z.object({\n taskId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleSiteAccessSchema = z.object({\n siteId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleDataTypeAccessSchema = z.object({\n dataTypeId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleWorkflowAccessSchema = z.object({\n workflowId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleInboxAccessSchema = z.object({\n inboxId: z.number(),\n accessMode: z.number(),\n});\n\nexport const MemberRoleFormDataSchema = z.object({\n name: z.string().optional(),\n taskAccess: z.array(MemberRoleTaskAccessSchema).optional(),\n siteAccess: z.array(MemberRoleSiteAccessSchema).optional(),\n dataTypeAccess: z.array(MemberRoleDataTypeAccessSchema).optional(),\n workflowAccess: z.array(MemberRoleWorkflowAccessSchema).optional(),\n inboxAccess: z.array(MemberRoleInboxAccessSchema).optional(),\n});\n\n// ============================================\n// MEMBER OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const GetCurrentMemberSchema = WorkspaceIdSchema;\n\nexport const UpdateCurrentMemberSchema = WorkspaceIdSchema.extend({\n name: z.string().optional().describe('New member name'),\n description: z.string().optional().describe('New member description'),\n dateOfBirth: z.string().nullable().optional().describe('New date of birth (YYYY-MM-DD)'),\n});\n\nexport const ListWorkspaceMembersSchema = WorkspaceIdSchema.extend({\n query: z.string().optional().describe('Search query (name, email, or phone)'),\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n role: z.string().optional().describe('Filter by member role'),\n sortBy: z.enum(['createdAt', 'updatedAt', 'name', 'email']).optional().describe('Sort field'),\n sortOrder: z.enum(['asc', 'desc']).optional().describe('Sort order'),\n isTest: z.boolean().optional().describe('Filter by test member status (defaults to false)'),\n isArchived: z\n .boolean()\n .optional()\n .describe('Filter by archived status (defaults to false for active members)'),\n});\n\nexport const GetWorkspaceMemberSchema = WorkspaceIdSchema.extend({\n memberId: z.number().describe('Member ID'),\n});\n\nexport const AddWorkspaceMemberSchema = WorkspaceIdSchema.merge(CreateWorkspaceMemberRequestSchema);\n\nexport const UpdateWorkspaceMemberSchema = WorkspaceIdSchema.extend({\n memberId: z.number().describe('Member ID'),\n}).merge(UpdateWorkspaceMemberRequestSchema);\n\nexport const RemoveWorkspaceMemberSchema = WorkspaceIdSchema.extend({\n memberId: z.number().describe('Member ID to remove'),\n});\n\nexport const SendSmsToMemberSchema = WorkspaceIdSchema.extend({\n memberId: z.number().describe('Member ID'),\n message: z.string().describe('SMS message content'),\n phoneNumberId: z.number().optional().describe('Phone number ID to send from'),\n});\n\n// Member Roles\nexport const ListMemberRolesSchema = WorkspaceIdSchema;\n\nexport const GetMemberRoleSchema = WorkspaceIdSchema.extend({\n memberRoleId: z.number().describe('Member role ID'),\n});\n\nexport const CreateMemberRoleSchema = WorkspaceIdSchema.merge(MemberRoleFormDataSchema);\n\nexport const UpdateMemberRoleSchema = WorkspaceIdSchema.extend({\n memberRoleId: z.number().describe('Member role ID'),\n}).merge(MemberRoleFormDataSchema.partial());\n\nexport const DeleteMemberRoleSchema = WorkspaceIdSchema.extend({\n memberRoleId: z.number().describe('Member role ID to delete'),\n});\n\n// Additional schemas for other member types\nexport const MemberLabelSchema = z.object({\n id: z.number(),\n uuid: z.string(),\n name: z.string(),\n slug: z.string(),\n color: z.string(),\n description: z.string().optional(),\n});\n\nexport const MemberLabelFormDataSchema = z.object({\n name: z.string(),\n slug: z.string().optional(),\n description: z.string().optional(),\n color: z.string(),\n});\n\nexport const MemberFilterSchema = z.object({\n id: z.number(),\n name: z.string(),\n uuid: z.string(),\n description: z.string().optional(),\n pinned: z.boolean().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const MemberFilterFormDataSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n pinned: z.boolean().optional(),\n});\n\nexport const MemberRoleSchema = z.object({\n id: z.number(),\n name: z.string(),\n taskAccess: z.array(MemberRoleTaskAccessSchema),\n siteAccess: z.array(MemberRoleSiteAccessSchema),\n dataTypeAccess: z.array(MemberRoleDataTypeAccessSchema),\n workflowAccess: z.array(MemberRoleWorkflowAccessSchema),\n inboxAccess: z.array(MemberRoleInboxAccessSchema),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const MemberSchema = z.object({\n id: z.number(),\n accountUuid: z.string(),\n memberRoleId: z.number(),\n\n // Consolidated member fields (from personas consolidation migration)\n name: z.string().optional(),\n description: z.string().optional(),\n phone: z.string().optional(),\n phoneType: z.string().optional(),\n email: z.string().optional(),\n externalId: z.string().optional(),\n dateOfBirth: z.string().nullable().optional(),\n\n tosAccepted: z.boolean().optional(),\n accountTosAccepted: z.boolean().optional(),\n memberRoleName: z.string().optional(),\n\n notifySms: z.boolean().optional(),\n notifyEmail: z.boolean().optional(),\n notifyVoice: z.boolean().optional(),\n\n accountEnabled: z.boolean().optional(),\n isOrgOwner: z.boolean().optional(),\n isSuperuser: z.boolean().optional(),\n\n locale: z.string().optional(),\n timezone: z.string().optional(),\n memberType: z.enum(['member', 'test', 'anonymous']).optional(),\n isArchived: z.boolean().optional(),\n\n // Timestamps\n createdAt: z.string().optional(),\n updatedAt: z.string().optional(),\n\n // Labels\n labels: z.array(MemberLabelSchema).optional(),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\n// Core API type replacements (these match exactly)\nexport type MemberLabel = z.infer<typeof MemberLabelSchema>;\nexport type MemberLabelFormData = z.infer<typeof MemberLabelFormDataSchema>;\nexport type MemberFilter = z.infer<typeof MemberFilterSchema>;\nexport type MemberFilterFormData = z.infer<typeof MemberFilterFormDataSchema>;\nexport type MemberRoleTaskAccess = z.infer<typeof MemberRoleTaskAccessSchema>;\nexport type MemberRoleSiteAccess = z.infer<typeof MemberRoleSiteAccessSchema>;\nexport type MemberRoleDataTypeAccess = z.infer<typeof MemberRoleDataTypeAccessSchema>;\nexport type MemberRoleWorkflowAccess = z.infer<typeof MemberRoleWorkflowAccessSchema>;\nexport type MemberRoleInboxAccess = z.infer<typeof MemberRoleInboxAccessSchema>;\nexport type MemberRole = z.infer<typeof MemberRoleSchema>;\nexport type MemberRoleFormData = z.infer<typeof MemberRoleFormDataSchema>;\nexport type Member = z.infer<typeof MemberSchema>;\nexport type MemberFormData = z.infer<typeof MemberFormDataSchema>;\nexport type CreateWorkspaceMemberRequest = z.infer<typeof CreateWorkspaceMemberRequestSchema>;\nexport type UpdateWorkspaceMemberRequest = z.infer<typeof UpdateWorkspaceMemberRequestSchema>;\n\n// Input types for operations\nexport type GetCurrentMemberInput = z.infer<typeof GetCurrentMemberSchema>;\nexport type UpdateCurrentMemberInput = z.infer<typeof UpdateCurrentMemberSchema>;\nexport type ListWorkspaceMembersInput = z.infer<typeof ListWorkspaceMembersSchema>;\nexport type GetWorkspaceMemberInput = z.infer<typeof GetWorkspaceMemberSchema>;\nexport type AddWorkspaceMemberInput = z.infer<typeof AddWorkspaceMemberSchema>;\nexport type UpdateWorkspaceMemberInput = z.infer<typeof UpdateWorkspaceMemberSchema>;\nexport type RemoveWorkspaceMemberInput = z.infer<typeof RemoveWorkspaceMemberSchema>;\nexport type SendSmsToMemberInput = z.infer<typeof SendSmsToMemberSchema>;\nexport type ListMemberRolesInput = z.infer<typeof ListMemberRolesSchema>;\nexport type GetMemberRoleInput = z.infer<typeof GetMemberRoleSchema>;\nexport type CreateMemberRoleInput = z.infer<typeof CreateMemberRoleSchema>;\nexport type UpdateMemberRoleInput = z.infer<typeof UpdateMemberRoleSchema>;\nexport type DeleteMemberRoleInput = z.infer<typeof DeleteMemberRoleSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// PHONE NUMBER BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const PhoneNumberFormDataSchema = z.object({\n name: z.string().nullable().optional(),\n allowSignup: z.boolean(),\n signupMemberRoleId: z.number().nullable().optional(),\n defaultWorkflowId: z.number().nullable().optional(),\n restartPrompt: z.string().nullable().optional(),\n restartDelay: z.number().nullable().optional(),\n enableSms: z.boolean().optional(),\n enableVoice: z.boolean().optional(),\n inboundCallHandling: z.string().optional(),\n voiceUnavailableMessage: z.string().nullable().optional(),\n assistantEnabled: z.boolean().optional(),\n voiceForwardNumber: z.string().nullable().optional(),\n providerPhoneUuid: z.string().nullable().optional(),\n});\n\n// ============================================\n// PHONE NUMBER OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListPhoneNumbersSchema = WorkspaceIdSchema;\n\nexport const GetPhoneNumberSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n});\n\nexport const CreatePhoneNumberSchema = WorkspaceIdSchema.merge(PhoneNumberFormDataSchema);\n\nexport const UpdatePhoneNumberSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n}).merge(PhoneNumberFormDataSchema.partial());\n\nexport const ArchivePhoneNumberSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID to archive'),\n});\n\nexport const ListPhoneCallsSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n});\n\nexport const ListPhoneSmsMessagesSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n});\n\nexport const GetRecentSmsMessagesSchema = WorkspaceIdSchema.extend({\n phoneNumberId: z.number().describe('Phone Number ID'),\n limit: z.number().optional().describe('Maximum number of messages to return (default: 20)'),\n since: z.string().optional().describe('ISO date string to get messages since this date'),\n direction: z\n .enum(['inbound', 'outbound', 'all'])\n .optional()\n .describe('Filter by message direction'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type PhoneNumberFormData = z.infer<typeof PhoneNumberFormDataSchema>;\nexport type ListPhoneNumbersInput = z.infer<typeof ListPhoneNumbersSchema>;\nexport type GetPhoneNumberInput = z.infer<typeof GetPhoneNumberSchema>;\nexport type CreatePhoneNumberInput = z.infer<typeof CreatePhoneNumberSchema>;\nexport type UpdatePhoneNumberInput = z.infer<typeof UpdatePhoneNumberSchema>;\nexport type ArchivePhoneNumberInput = z.infer<typeof ArchivePhoneNumberSchema>;\nexport type ListPhoneCallsInput = z.infer<typeof ListPhoneCallsSchema>;\nexport type ListPhoneSmsMessagesInput = z.infer<typeof ListPhoneSmsMessagesSchema>;\nexport type GetRecentSmsMessagesInput = z.infer<typeof GetRecentSmsMessagesSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// SITE BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const SiteFormDataSchema = z.object({\n name: z.string(),\n slug: z.string().optional(),\n theme: z.string().optional(),\n tagLine: z.string().optional(),\n customDomain: z.string().optional(),\n redirectUrl: z.string().optional(),\n allowSignup: z.boolean().optional(),\n signupMemberRoleId: z.number().optional(),\n content: z.string().optional(),\n isReseller: z.boolean().optional(),\n isPublic: z.boolean().optional(),\n defaultWorkflowId: z.number().optional(),\n homePageId: z.number().optional(),\n});\n\nexport const SitePageFormDataSchema = z.object({\n title: z.string(),\n slug: z.string().optional(),\n content: z.string().optional(),\n isPublic: z.boolean().optional(),\n});\n\nexport const MenuItemFormDataSchema = z.object({\n label: z.string(),\n itemType: z.enum(['page', 'url']),\n pageId: z.number().optional(),\n url: z.string().optional(),\n parentId: z.number().optional(),\n position: z.number().optional(),\n icon: z.string().optional(),\n cssClass: z.string().optional(),\n target: z.string().optional(),\n isActive: z.boolean().optional(),\n});\n\nexport const ReorderMenuItemsSchema = z.object({\n menuItemIds: z.array(z.number()),\n});\n\n// ============================================\n// SITE OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListSitesSchema = WorkspaceIdSchema;\n\nexport const GetSiteSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n});\n\nexport const CreateSiteSchema = WorkspaceIdSchema.merge(SiteFormDataSchema);\n\nexport const UpdateSiteSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n}).merge(SiteFormDataSchema.partial());\n\nexport const DeleteSiteSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID to delete'),\n});\n\nexport const GetSiteCountsSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n});\n\n// Site Pages\nexport const ListSitePagesSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n search: z.string().optional().describe('Search term'),\n page: z.number().optional().describe('Page number'),\n pageSize: z.number().optional().describe('Items per page'),\n sortBy: z.string().optional().describe('Sort field'),\n sortOrder: z.enum(['asc', 'desc']).optional().describe('Sort order'),\n});\n\nexport const GetSitePageSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n pageId: z.number().describe('Page ID'),\n});\n\nexport const GetSitePageBySlugSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n slug: z.string().describe('Page slug'),\n});\n\nexport const CreateSitePageSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n}).merge(SitePageFormDataSchema);\n\nexport const UpdateSitePageSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n pageId: z.number().describe('Page ID'),\n}).merge(SitePageFormDataSchema.partial());\n\nexport const DeleteSitePageSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n pageId: z.number().describe('Page ID to delete'),\n});\n\n// Site Menu schemas\nexport const GetSiteMenuSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n});\n\nexport const ListMenuItemsSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n parentId: z.number().optional().describe('Parent menu item ID'),\n});\n\nexport const CreateMenuItemSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n}).merge(MenuItemFormDataSchema);\n\nexport const UpdateMenuItemSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n itemId: z.number().describe('Menu item ID'),\n}).merge(MenuItemFormDataSchema.partial());\n\nexport const DeleteMenuItemSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n itemId: z.number().describe('Menu item ID to delete'),\n});\n\nexport const ReorderMenuItemsRequestSchema = WorkspaceIdSchema.extend({\n siteId: z.number().describe('Site ID'),\n}).merge(ReorderMenuItemsSchema);\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type SiteFormData = z.infer<typeof SiteFormDataSchema>;\nexport type SitePageFormData = z.infer<typeof SitePageFormDataSchema>;\nexport type MenuItemFormData = z.infer<typeof MenuItemFormDataSchema>;\nexport type ReorderMenuItems = z.infer<typeof ReorderMenuItemsSchema>;\nexport type ListSitesInput = z.infer<typeof ListSitesSchema>;\nexport type GetSiteInput = z.infer<typeof GetSiteSchema>;\nexport type CreateSiteInput = z.infer<typeof CreateSiteSchema>;\nexport type UpdateSiteInput = z.infer<typeof UpdateSiteSchema>;\nexport type DeleteSiteInput = z.infer<typeof DeleteSiteSchema>;\nexport type GetSiteCountsInput = z.infer<typeof GetSiteCountsSchema>;\nexport type ListSitePagesInput = z.infer<typeof ListSitePagesSchema>;\nexport type GetSitePageInput = z.infer<typeof GetSitePageSchema>;\nexport type GetSitePageBySlugInput = z.infer<typeof GetSitePageBySlugSchema>;\nexport type CreateSitePageInput = z.infer<typeof CreateSitePageSchema>;\nexport type UpdateSitePageInput = z.infer<typeof UpdateSitePageSchema>;\nexport type DeleteSitePageInput = z.infer<typeof DeleteSitePageSchema>;\nexport type GetSiteMenuInput = z.infer<typeof GetSiteMenuSchema>;\nexport type ListMenuItemsInput = z.infer<typeof ListMenuItemsSchema>;\nexport type CreateMenuItemInput = z.infer<typeof CreateMenuItemSchema>;\nexport type UpdateMenuItemInput = z.infer<typeof UpdateMenuItemSchema>;\nexport type DeleteMenuItemInput = z.infer<typeof DeleteMenuItemSchema>;\nexport type ReorderMenuItemsInput = z.infer<typeof ReorderMenuItemsRequestSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// TASK BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const ChildTaskFormDataSchema = z.object({\n taskId: z.number(),\n choicePrompt: z.string().optional(),\n autoNext: z.boolean().optional(),\n required: z.boolean().optional(),\n celCondition: z.string().optional(),\n});\n\n// Ability data for inline creation/update. Mirrors the backend AbilityData\n// request model (lib/models/workspace/requests/ability_requests.py): abilities\n// are matched by `uuid` (required), and `order` is computed server-side from\n// array position — neither an `id` nor an `order` field is accepted.\nexport const AbilityDataSchema = z.object({\n uuid: z.string(), // UUID for matching/creating abilities\n abilityType: z.string(),\n config: z.record(z.string(), z.any()).optional(),\n enabled: z.boolean().optional(),\n celCondition: z.string().optional(),\n});\n\nexport const TaskFormDataSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n shortPrompt: z.string().optional(),\n prompt: z.string().optional(),\n isAdmin: z.boolean().optional(),\n childTasks: z.array(ChildTaskFormDataSchema).optional(),\n workflowId: z.number(),\n celGuard: z.string().optional(),\n abilities: z.array(AbilityDataSchema).optional(),\n});\n\n// ============================================\n// TASK OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListTasksSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().optional().describe('Filter by workflow ID'),\n includeArchived: z.boolean().optional().describe('Include archived tasks'),\n});\n\nexport const GetTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.string().describe('Task ID or UUID'),\n});\n\nexport const CreateTaskSchema = WorkspaceIdSchema.merge(TaskFormDataSchema);\n\nexport const UpdateTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.number().describe('Task ID'),\n}).merge(TaskFormDataSchema.partial());\n\nexport const DeleteTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.number().describe('Task ID to delete'),\n});\n\nexport const ArchiveTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.number().describe('Task ID to archive'),\n});\n\nexport const UnarchiveTaskSchema = WorkspaceIdSchema.extend({\n taskId: z.number().describe('Task ID to unarchive'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type AbilityData = z.infer<typeof AbilityDataSchema>;\nexport type ChildTaskFormData = z.infer<typeof ChildTaskFormDataSchema>;\nexport type TaskFormData = z.infer<typeof TaskFormDataSchema>;\nexport type ListTasksInput = z.infer<typeof ListTasksSchema>;\nexport type GetTaskInput = z.infer<typeof GetTaskSchema>;\nexport type CreateTaskInput = z.infer<typeof CreateTaskSchema>;\nexport type UpdateTaskInput = z.infer<typeof UpdateTaskSchema>;\nexport type DeleteTaskInput = z.infer<typeof DeleteTaskSchema>;\nexport type ArchiveTaskInput = z.infer<typeof ArchiveTaskSchema>;\nexport type UnarchiveTaskInput = z.infer<typeof UnarchiveTaskSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// WORKFLOW BASE SCHEMAS (Form Data)\n// ============================================\n\nconst WorkflowMemberRoleAccessInputSchema = z.object({\n memberRoleId: z.number(),\n accessMode: z.number(),\n});\n\n/** Fields accepted when creating a workflow (matches CreateWorkflowRequest). */\nexport const WorkflowCreateFormDataSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n prompt: z.string().optional(),\n ownerId: z.number().optional(),\n copyFromAgentId: z.number().optional(),\n copyFromWorkflowRevisionId: z.number().optional(),\n copySourceDigest: z.string().optional(),\n assistantName: z.string().nullable().optional(),\n assistantIdentity: z.string().nullable().optional(),\n // Concrete revision models; selecting an Agent copies its preset here.\n // Explicit null/blank is rejected by the API — there is no invisible fallback.\n chatModelId: z.string().nullable().optional(),\n chatModelConfig: z.record(z.string(), z.unknown()).nullable().optional(),\n realtimeModelId: z.string().nullable().optional(),\n realtimeModelConfig: z.record(z.string(), z.unknown()).nullable().optional(),\n createMode: z.enum(['task', 'taskless']).optional(),\n defaultPhoneNumberId: z.number().nullable().optional(),\n defaultInboxId: z.number().nullable().optional(),\n defaultTaskName: z.string().optional(),\n defaultTaskDescription: z.string().optional(),\n defaultTaskPrompt: z.string().optional(),\n memberRoleAccess: z.array(WorkflowMemberRoleAccessInputSchema).optional(),\n});\n\n/** Fields for workflow updates; startTaskId is update-only on the API. */\nexport const WorkflowFormDataSchema = WorkflowCreateFormDataSchema.extend({\n startTaskId: z.number().nullable().optional(),\n});\n\n// ============================================\n// WORKFLOW OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListWorkflowsSchema = WorkspaceIdSchema;\n\nexport const GetWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID'),\n});\n\nexport const CreateWorkflowSchema = WorkspaceIdSchema.merge(WorkflowCreateFormDataSchema);\n\nexport const UpdateWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID'),\n}).merge(WorkflowFormDataSchema.partial());\n\nexport const DeleteWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID to delete'),\n});\n\nexport const CloneWorkflowSchema = WorkspaceIdSchema.extend({\n workflowId: z.number().describe('Workflow ID to clone'),\n name: z.string().describe('New workflow name'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type WorkflowCreateFormData = z.infer<typeof WorkflowCreateFormDataSchema>;\nexport type WorkflowFormData = z.infer<typeof WorkflowFormDataSchema>;\nexport type ListWorkflowsInput = z.infer<typeof ListWorkflowsSchema>;\nexport type GetWorkflowInput = z.infer<typeof GetWorkflowSchema>;\nexport type CreateWorkflowInput = z.infer<typeof CreateWorkflowSchema>;\nexport type UpdateWorkflowInput = z.infer<typeof UpdateWorkflowSchema>;\nexport type DeleteWorkflowInput = z.infer<typeof DeleteWorkflowSchema>;\nexport type CloneWorkflowInput = z.infer<typeof CloneWorkflowSchema>;\n","import { z } from 'zod';\nimport { WorkspaceIdSchema } from './utils.js';\n\n// ============================================\n// WORKSPACE BASE SCHEMAS (Form Data)\n// ============================================\n\nexport const WorkspaceFormDataSchema = z.object({\n name: z.string(),\n slug: z.string().optional(),\n description: z.string().optional(),\n organizationId: z.number().optional(),\n});\n\n// ============================================\n// WORKSPACE OPERATION SCHEMAS (With Workspace Context)\n// ============================================\n\nexport const ListWorkspacesSchema = z.object({});\n\nexport const GetWorkspaceSchema = WorkspaceIdSchema;\n\nexport const CreateWorkspaceSchema = WorkspaceFormDataSchema;\n\nexport const UpdateWorkspaceSchema = WorkspaceIdSchema.merge(WorkspaceFormDataSchema);\n\nexport const DeleteWorkspaceSchema = WorkspaceIdSchema;\n\nexport const GetWorkspaceDefaultsSchema = WorkspaceIdSchema;\n\nexport const GetAvailableWorkspaceFeaturesSchema = z.object({});\n\nexport const GetResellerWorkspacesSchema = WorkspaceIdSchema;\n\nexport const GetProductsSchema = WorkspaceIdSchema;\n\nexport const GetProductSchema = z.object({\n productId: z.number().describe('Product ID'),\n});\n\n// ============================================\n// TYPE EXPORTS\n// ============================================\n\nexport type WorkspaceFormData = z.infer<typeof WorkspaceFormDataSchema>;\nexport type ListWorkspacesInput = z.infer<typeof ListWorkspacesSchema>;\nexport type GetWorkspaceInput = z.infer<typeof GetWorkspaceSchema>;\nexport type CreateWorkspaceInput = z.infer<typeof CreateWorkspaceSchema>;\nexport type UpdateWorkspaceInput = z.infer<typeof UpdateWorkspaceSchema>;\nexport type DeleteWorkspaceInput = z.infer<typeof DeleteWorkspaceSchema>;\nexport type GetWorkspaceDefaultsInput = z.infer<typeof GetWorkspaceDefaultsSchema>;\nexport type GetAvailableWorkspaceFeaturesInput = z.infer<\n typeof GetAvailableWorkspaceFeaturesSchema\n>;\nexport type GetResellerWorkspacesInput = z.infer<typeof GetResellerWorkspacesSchema>;\nexport type GetProductsInput = z.infer<typeof GetProductsSchema>;\nexport type GetProductInput = z.infer<typeof GetProductSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","names":["import_zod","CalendarScheduleRecurrence","CalendarScheduleAvailabilityType","CalendarEventStatus","AttendeeResponseStatus","import_zod","import_zod","import_zod","DataFieldType","IndexStatus","DataTypeRecordScope","DataSensitivity","DataCategory","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod"]}
|