{"version":3,"file":"core-NRUNUQ5O.mjs","names":[],"sources":["../src/core.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const relioPermissionLevelSchema = z.enum([\"disabled\", \"read\", \"read_write\"]);\nexport type RelioPermissionLevel = z.infer<typeof relioPermissionLevelSchema>;\n\nexport const relioApiScopeSchema = z.enum([\n  \"userManagement\",\n  \"records\",\n  \"relationships\",\n  \"activities\",\n  \"files\",\n  \"objectConfiguration\",\n  \"listEntries\",\n  \"listConfiguration\",\n  \"tags\",\n  \"tasks\",\n  \"notifications\",\n  \"webhooks\",\n  \"apiKeys\",\n  \"preferences\",\n  \"communications\",\n]);\nexport type RelioApiScope = z.infer<typeof relioApiScopeSchema>;\n\nexport const relioContactEmailSchema = z.object({\n  address: z.string().email(),\n  label: z.string().optional(),\n  isPrimary: z.boolean().optional(),\n  isBad: z.boolean().optional(),\n});\nexport type RelioContactEmail = z.infer<typeof relioContactEmailSchema>;\n\nexport const relioContactPhoneSchema = z.object({\n  number: z.string(),\n  label: z.string().optional(),\n  isPrimary: z.boolean().optional(),\n  isBad: z.boolean().optional(),\n});\nexport type RelioContactPhone = z.infer<typeof relioContactPhoneSchema>;\n\nexport const relioContactAddressSchema = z.object({\n  street: z.string(),\n  street2: z.string().optional(),\n  city: z.string().optional(),\n  state: z.string().optional(),\n  zip: z.string().optional(),\n  label: z.string().optional(),\n  isPrimary: z.boolean().optional(),\n});\nexport type RelioContactAddress = z.infer<typeof relioContactAddressSchema>;\n\nexport const relioContactSchema = z.object({\n  id: z.string(),\n  workspaceId: z.string().optional(),\n  firstName: z.string(),\n  lastName: z.string(),\n  email: z.array(relioContactEmailSchema).nullable().optional(),\n  phone: z.array(relioContactPhoneSchema).nullable().optional(),\n  address: z.array(relioContactAddressSchema).nullable().optional(),\n  avatarUrl: z.string().nullish(),\n  title: z.string().nullish(),\n  role: z.string().nullish(),\n  stage: z.string().nullish(),\n  source: z.string().nullish(),\n  notes: z.string().nullish(),\n  createdAt: z.union([z.string(), z.date()]).optional(),\n  updatedAt: z.union([z.string(), z.date()]).optional(),\n});\nexport type RelioContact = z.infer<typeof relioContactSchema>;\n\nexport const relioCreateContactInputSchema = z.object({\n  firstName: z.string().min(1),\n  lastName: z.string().min(1),\n  email: z.array(relioContactEmailSchema).optional(),\n  phone: z.array(relioContactPhoneSchema).optional(),\n  address: z.array(relioContactAddressSchema).optional(),\n  avatarUrl: z.string().url().nullish(),\n  role: z.string().nullish(),\n  stage: z.string().nullish(),\n  source: z.string().nullish(),\n  title: z.string().nullish(),\n  linkedIn: z.string().nullish(),\n  instagram: z.string().nullish(),\n  facebook: z.string().nullish(),\n  birthday: z.string().nullish(),\n  notes: z.string().nullish(),\n  ownerId: z.string().nullish(),\n  preferredAreas: z.unknown().nullish(),\n  buyerNeeds: z.unknown().nullish(),\n  latitude: z.number().nullish(),\n  longitude: z.number().nullish(),\n});\nexport type RelioCreateContactInput = z.infer<typeof relioCreateContactInputSchema>;\n\nexport type RelioUpdateContactInput = Partial<RelioCreateContactInput>;\n\nexport type RelioListContactsInput = {\n  limit?: number;\n  cursor?: string | null;\n  search?: string;\n  listId?: string;\n  role?: string;\n  stage?: string;\n  source?: string;\n  connectionStrength?: string;\n  ownerId?: string;\n  tagIds?: string[];\n  sort?: {\n    field: string;\n    direction: \"asc\" | \"desc\";\n  };\n};\n\nexport type RelioCursorPage<T> = {\n  items: T[];\n  nextCursor: string | null;\n};\n\nexport type RelioProperty = {\n  id: string;\n  workspaceId?: string;\n  address: string;\n  city?: string | null;\n  state?: string | null;\n  zip?: string | null;\n  status?: string | null;\n  propertyType?: string | null;\n  createdAt?: string | Date;\n  updatedAt?: string | Date;\n  [key: string]: unknown;\n};\n\nexport type RelioCreatePropertyInput = {\n  address: string;\n  [key: string]: unknown;\n};\n\nexport type RelioUpdatePropertyInput = Partial<RelioCreatePropertyInput>;\n\nexport type RelioListPropertiesInput = {\n  limit?: number;\n  cursor?: string | null;\n  search?: string;\n  listId?: string;\n  propertyType?: string;\n  status?: string;\n  city?: string;\n  state?: string;\n  minPrice?: number;\n  maxPrice?: number;\n  minYearBuilt?: number;\n  maxYearBuilt?: number;\n  minUnits?: number;\n  maxUnits?: number;\n  minEquity?: number;\n  maxEquity?: number;\n  minCapRate?: number;\n  maxCapRate?: number;\n  exchange1031?: string;\n  minBedrooms?: number;\n  minBathrooms?: number;\n  minSqft?: number;\n  tagIds?: string[];\n  sort?: {\n    field: string;\n    direction: \"asc\" | \"desc\";\n  };\n};\n\nexport type RelioCompany = {\n  id: string;\n  workspaceId?: string;\n  name: string;\n  domain?: string | null;\n  city?: string | null;\n  state?: string | null;\n  createdAt?: string | Date;\n  updatedAt?: string | Date;\n  [key: string]: unknown;\n};\n\nexport type RelioCreateCompanyInput = {\n  name: string;\n  [key: string]: unknown;\n};\n\nexport type RelioUpdateCompanyInput = Partial<RelioCreateCompanyInput>;\n\nexport type RelioListCompaniesInput = {\n  limit?: number;\n  cursor?: string | null;\n  search?: string;\n  listId?: string;\n  type?: string;\n  city?: string;\n  tagIds?: string[];\n  sort?: {\n    field: string;\n    direction: \"asc\" | \"desc\";\n  };\n};\n\nexport type RelioAuthStatus = {\n  authType: \"api_key\" | \"session\";\n  userId: string;\n  workspaceId: string | null;\n  apiToken: {\n    id: string;\n    name: string;\n    role: \"owner\" | \"admin\" | \"member\";\n  } | null;\n};\n\nexport type RelioClientOptions = {\n  baseUrl: string;\n  apiKey?: string;\n  fetch?: typeof globalThis.fetch;\n};\n\nexport class RelioApiError extends Error {\n  readonly code?: string;\n  readonly status?: number;\n  readonly causeData?: unknown;\n\n  constructor(message: string, options?: { code?: string; status?: number; causeData?: unknown }) {\n    super(message);\n    this.name = \"RelioApiError\";\n    this.code = options?.code;\n    this.status = options?.status;\n    this.causeData = options?.causeData;\n  }\n}\n\nexport function normalizeRelioBaseUrl(baseUrl: string): string {\n  return baseUrl.replace(/\\/+$/, \"\");\n}\n\nexport function isRelioApiError(error: unknown): error is RelioApiError {\n  return error instanceof RelioApiError;\n}\n"],"mappings":"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"}