@pol-studios/db 1.0.58 → 1.0.59

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.
Files changed (49) hide show
  1. package/dist/DataLayerContext-V5FotiSk.d.ts +563 -0
  2. package/dist/auth/context.js +2 -2
  3. package/dist/auth/hooks.js +3 -3
  4. package/dist/auth/index.js +3 -3
  5. package/dist/{chunk-YRIPM2AN.js → chunk-4PZ744G2.js} +207 -6
  6. package/dist/chunk-4PZ744G2.js.map +1 -0
  7. package/dist/{chunk-6SDH7M7J.js → chunk-ARALLEDJ.js} +2 -2
  8. package/dist/{chunk-Z456IHCB.js → chunk-F4HW4NT5.js} +1 -1
  9. package/dist/chunk-F4HW4NT5.js.map +1 -0
  10. package/dist/{chunk-OK2C54B6.js → chunk-K46TGKB2.js} +323 -379
  11. package/dist/chunk-K46TGKB2.js.map +1 -0
  12. package/dist/{chunk-GWYTROSD.js → chunk-L4DFVMTS.js} +335 -4
  13. package/dist/chunk-L4DFVMTS.js.map +1 -0
  14. package/dist/{chunk-MEBT5YHA.js → chunk-SNPZMRBC.js} +2 -2
  15. package/dist/{chunk-LG3OHLGB.js → chunk-VADZSRHY.js} +16 -337
  16. package/dist/chunk-VADZSRHY.js.map +1 -0
  17. package/dist/{chunk-4EO55YV2.js → chunk-VSY6766U.js} +4 -4
  18. package/dist/{chunk-VYFAMTHI.js → chunk-WY6MNB6K.js} +2 -2
  19. package/dist/core/index.d.ts +1 -1
  20. package/dist/{executor-D15yjeMo.d.ts → executor-Bu1OlqCl.d.ts} +43 -3
  21. package/dist/hooks/index.d.ts +3 -3
  22. package/dist/hooks/index.js +2 -2
  23. package/dist/{index-CFUuTzXO.d.ts → index-vwVJ0BWj.d.ts} +1 -9
  24. package/dist/index.d.ts +5 -5
  25. package/dist/index.js +20 -12
  26. package/dist/index.native.d.ts +77 -76
  27. package/dist/index.native.js +20 -12
  28. package/dist/index.web.d.ts +21 -44
  29. package/dist/index.web.js +215 -149
  30. package/dist/index.web.js.map +1 -1
  31. package/dist/powersync-bridge/index.d.ts +1 -1
  32. package/dist/query/index.d.ts +1 -1
  33. package/dist/query/index.js +1 -1
  34. package/dist/types/index.d.ts +3 -3
  35. package/dist/types/index.js +1 -1
  36. package/dist/{useDbCount-Ckb-FhZk.d.ts → useDbCount-dCkdaBpP.d.ts} +41 -83
  37. package/dist/{useResolveFeedback-CuUkdHoR.d.ts → useResolveFeedback-thFi-4h8.d.ts} +429 -5
  38. package/dist/with-auth/index.js +5 -5
  39. package/package.json +1 -1
  40. package/dist/DataLayerContext-BYZtDD0g.d.ts +0 -946
  41. package/dist/chunk-GWYTROSD.js.map +0 -1
  42. package/dist/chunk-LG3OHLGB.js.map +0 -1
  43. package/dist/chunk-OK2C54B6.js.map +0 -1
  44. package/dist/chunk-YRIPM2AN.js.map +0 -1
  45. package/dist/chunk-Z456IHCB.js.map +0 -1
  46. /package/dist/{chunk-6SDH7M7J.js.map → chunk-ARALLEDJ.js.map} +0 -0
  47. /package/dist/{chunk-MEBT5YHA.js.map → chunk-SNPZMRBC.js.map} +0 -0
  48. /package/dist/{chunk-4EO55YV2.js.map → chunk-VSY6766U.js.map} +0 -0
  49. /package/dist/{chunk-VYFAMTHI.js.map → chunk-WY6MNB6K.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/powersync-integration.ts","../src/database.types.ts","../src/useDbAdvanceQuery.ts"],"sourcesContent":["/**\n * PowerSync Integration Types for @pol-studios/db\n *\n * This module provides TypeScript types for integrating the @pol-studios/db\n * package with @pol-studios/powersync. These types enable type-safe configuration\n * and context access when using both packages together.\n */\n\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport type { DataLayerConfig, SyncStatus, SyncControl, DatabaseSchema } from \"../core/types\";\nimport type { DataLayerContextValue, DataLayerStatus } from \"../providers/DataLayerContext\";\n\n// =============================================================================\n// PowerSync-Enhanced Configuration Types\n// =============================================================================\n\n/**\n * Extended DataLayerConfig with PowerSync-specific options.\n *\n * Use this type when you want to configure the data layer to work\n * optimally with @pol-studios/powersync.\n *\n * @template DB - The database types (from generated types)\n */\nexport interface PowerSyncEnabledConfig<DB = unknown> extends DataLayerConfig<DB> {\n /**\n * PowerSync-specific configuration options.\n */\n powerSync?: {\n /**\n * Whether to prefer PowerSync when both backends are available.\n * @default true\n */\n preferPowerSync?: boolean;\n\n /**\n * Whether to automatically reconnect on network changes.\n * @default true\n */\n autoReconnect?: boolean;\n\n /**\n * Tables that should always use Supabase directly (bypass PowerSync).\n * Useful for tables with real-time requirements or very large data.\n */\n supabaseOnlyTables?: string[];\n\n /**\n * Tables that should prioritize local data freshness over sync.\n * These tables will be queried from PowerSync first without waiting for sync.\n */\n offlineFirstTables?: string[];\n };\n}\n\n// =============================================================================\n// Context Types with PowerSync\n// =============================================================================\n\n/**\n * Enhanced sync status that includes PowerSync-specific details.\n *\n * This type extends the base SyncStatus with additional information\n * available when using @pol-studios/powersync.\n */\nexport interface EnhancedSyncStatus extends SyncStatus {\n /**\n * Whether the initial sync has completed.\n * Data may be stale until this is true.\n */\n hasSynced?: boolean;\n\n /**\n * Download progress during initial sync or re-sync.\n */\n downloadProgress?: {\n /** Number of operations downloaded so far */\n current: number;\n /** Total number of operations to download */\n target: number;\n /** Percentage complete (0-100) */\n percentage: number;\n };\n\n /**\n * Connection health status when available.\n */\n connectionHealth?: {\n /** Current connection status */\n status: \"healthy\" | \"degraded\" | \"disconnected\";\n /** Last measured query latency in milliseconds */\n latency: number | null;\n };\n}\n\n/**\n * Enhanced sync control with PowerSync-specific actions.\n */\nexport interface EnhancedSyncControl extends SyncControl {\n /**\n * Pause sync operations.\n * The database remains accessible but won't sync with the server.\n */\n pause?: () => Promise<void>;\n\n /**\n * Resume sync operations after pausing.\n */\n resume?: () => Promise<void>;\n\n /**\n * Disconnect from the PowerSync service entirely.\n */\n disconnect?: () => Promise<void>;\n}\n\n/**\n * Extended DataLayerContextValue with PowerSync integration.\n *\n * This type provides additional context values available when\n * PowerSync is being used as the backend.\n */\nexport interface PowerSyncEnabledContextValue extends DataLayerContextValue {\n /**\n * Enhanced sync status with PowerSync details.\n */\n syncStatus: EnhancedSyncStatus;\n\n /**\n * Enhanced sync control with PowerSync actions.\n */\n syncControl: EnhancedSyncControl;\n\n /**\n * Whether PowerSync is the active backend.\n */\n isPowerSyncActive: boolean;\n\n /**\n * Connection health metrics (only available with PowerSync).\n */\n connectionHealth?: {\n status: \"healthy\" | \"degraded\" | \"disconnected\";\n latency: number | null;\n lastHealthCheck: Date | null;\n };\n\n /**\n * Sync metrics (only available with PowerSync).\n */\n syncMetrics?: {\n totalSyncs: number;\n successfulSyncs: number;\n failedSyncs: number;\n lastSyncDuration: number | null;\n averageSyncDuration: number | null;\n };\n}\n\n// =============================================================================\n// Provider Props Types\n// =============================================================================\n\n/**\n * Props for using DataLayerProvider with PowerSync.\n *\n * This type defines the shape of props when integrating DataLayerProvider\n * with values from PowerSyncProvider.\n *\n * @template DB - The database types\n */\nexport interface DataLayerWithPowerSyncProps<DB = unknown> {\n /**\n * Data layer configuration.\n */\n config: PowerSyncEnabledConfig<DB>;\n\n /**\n * Children to render.\n */\n children: React.ReactNode;\n\n /**\n * PowerSync database instance from PowerSyncProvider.\n * Pass this from usePowerSync().db\n */\n powerSyncInstance: unknown | null;\n\n /**\n * Supabase client (required).\n */\n supabaseClient: SupabaseClient;\n\n /**\n * React Query client (required).\n */\n queryClient: QueryClient;\n\n /**\n * Optional callback when initialization completes.\n */\n onInitialized?: (context: DataLayerContextValue) => void;\n\n /**\n * Optional callback when error occurs.\n */\n onError?: (error: Error) => void;\n}\n\n// =============================================================================\n// Hook Return Types\n// =============================================================================\n\n/**\n * Return type for useDataLayer when PowerSync is available.\n */\nexport type UseDataLayerWithPowerSync = PowerSyncEnabledContextValue;\n\n/**\n * Return type for useSyncStatus when PowerSync is available.\n */\nexport type UseSyncStatusWithPowerSync = EnhancedSyncStatus;\n\n/**\n * Return type for useSyncControl when PowerSync is available.\n */\nexport type UseSyncControlWithPowerSync = EnhancedSyncControl;\n\n// =============================================================================\n// Utility Types\n// =============================================================================\n\n/**\n * Type helper to check if PowerSync is configured in a config.\n */\nexport type HasPowerSyncConfig<T> = T extends {\n powerSync: object;\n} ? true : false;\n\n/**\n * Type helper to extract PowerSync tables from config.\n */\nexport type PowerSyncTables<Config> = Config extends PowerSyncEnabledConfig ? Exclude<keyof Config[\"tables\"], Config[\"powerSync\"] extends {\n supabaseOnlyTables: infer T;\n} ? T extends readonly string[] ? T[number] : never : never> : keyof Config extends {\n tables: infer T;\n} ? keyof T : never;\n\n/**\n * Backend selection result type.\n */\nexport interface BackendSelectionResult {\n /**\n * The selected backend for the operation.\n */\n backend: \"powersync\" | \"supabase\";\n\n /**\n * Reason for the selection.\n */\n reason: \"powersync_available\" | \"powersync_preferred\" | \"offline\" | \"supabase_only_table\" | \"powersync_not_ready\" | \"fallback\";\n}\n\n// =============================================================================\n// Status Combination Types\n// =============================================================================\n\n/**\n * Combined status from both DataLayer and PowerSync providers.\n */\nexport interface CombinedProviderStatus {\n /**\n * DataLayer initialization status.\n */\n dataLayer: DataLayerStatus;\n\n /**\n * PowerSync readiness status.\n */\n powerSync: {\n isReady: boolean;\n isInitializing: boolean;\n error: Error | null;\n };\n\n /**\n * Overall status.\n */\n overall: {\n /**\n * True when both providers are ready.\n */\n isReady: boolean;\n\n /**\n * True when either provider is initializing.\n */\n isInitializing: boolean;\n\n /**\n * First error from either provider.\n */\n error: Error | null;\n };\n}\n\n/**\n * Creates a combined status from DataLayer and PowerSync status.\n */\nexport function createCombinedStatus(dataLayerStatus: DataLayerStatus, powerSyncStatus: {\n isReady: boolean;\n isInitializing: boolean;\n error: Error | null;\n}): CombinedProviderStatus {\n return {\n dataLayer: dataLayerStatus,\n powerSync: powerSyncStatus,\n overall: {\n isReady: dataLayerStatus.isInitialized && powerSyncStatus.isReady,\n isInitializing: !dataLayerStatus.isInitialized || powerSyncStatus.isInitializing,\n error: dataLayerStatus.error || powerSyncStatus.error\n }\n };\n}","export type Json = string | number | boolean | null | {\n [key: string]: Json | undefined;\n} | Json[];\nexport type Database = {\n core: {\n Tables: {\n AccountDeletionRequest: {\n Row: {\n cancelledAt: string | null;\n completedAt: string | null;\n createdAt: string;\n id: number;\n processedBy: string | null;\n reason: string | null;\n requestedAt: string;\n scheduledDeletionAt: string;\n status: string;\n updatedAt: string;\n userId: string;\n };\n Insert: {\n cancelledAt?: string | null;\n completedAt?: string | null;\n createdAt?: string;\n id?: never;\n processedBy?: string | null;\n reason?: string | null;\n requestedAt?: string;\n scheduledDeletionAt: string;\n status?: string;\n updatedAt?: string;\n userId: string;\n };\n Update: {\n cancelledAt?: string | null;\n completedAt?: string | null;\n createdAt?: string;\n id?: never;\n processedBy?: string | null;\n reason?: string | null;\n requestedAt?: string;\n scheduledDeletionAt?: string;\n status?: string;\n updatedAt?: string;\n userId?: string;\n };\n Relationships: [];\n };\n AdvanceQuery: {\n Row: {\n categoryId: string;\n createdAt: string;\n createdBy: string;\n filter: Json;\n id: number;\n path: string;\n query: string;\n schema: string;\n table: string;\n title: string;\n };\n Insert: {\n categoryId: string;\n createdAt?: string;\n createdBy?: string;\n filter: Json;\n id?: number;\n path: string;\n query: string;\n schema: string;\n table: string;\n title: string;\n };\n Update: {\n categoryId?: string;\n createdAt?: string;\n createdBy?: string;\n filter?: Json;\n id?: number;\n path?: string;\n query?: string;\n schema?: string;\n table?: string;\n title?: string;\n };\n Relationships: [];\n };\n AdvanceQueryNotificationSetting: {\n Row: {\n advanceQueryId: number;\n changeTypes: Database[\"core\"][\"Enums\"][\"AdvanceQueryChangeType\"][];\n id: number;\n notificationTypes: Database[\"core\"][\"Enums\"][\"NotificationType\"][];\n path: string;\n userId: string;\n };\n Insert: {\n advanceQueryId: number;\n changeTypes: Database[\"core\"][\"Enums\"][\"AdvanceQueryChangeType\"][];\n id?: number;\n notificationTypes: Database[\"core\"][\"Enums\"][\"NotificationType\"][];\n path: string;\n userId?: string;\n };\n Update: {\n advanceQueryId?: number;\n changeTypes?: Database[\"core\"][\"Enums\"][\"AdvanceQueryChangeType\"][];\n id?: number;\n notificationTypes?: Database[\"core\"][\"Enums\"][\"NotificationType\"][];\n path?: string;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"advancequerynotificationsetting_advancequeryid_fkey\";\n columns: [\"advanceQueryId\"];\n isOneToOne: false;\n referencedRelation: \"AdvanceQuery\";\n referencedColumns: [\"id\"];\n }];\n };\n AuditLog: {\n Row: {\n changeAt: string;\n changeBy: string | null;\n changeReason: string | null;\n correlationId: string | null;\n id: string;\n ipAddress: unknown;\n isRollback: boolean;\n newRecord: Json | null;\n oldRecord: Json | null;\n operation: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId_bigint: number | null;\n recordId_text: string | null;\n recordPrimaryKey: Json;\n rollbackOfLogId: string | null;\n schemaName: string;\n sessionId: string | null;\n tableName: string;\n userAgent: string | null;\n };\n Insert: {\n changeAt?: string;\n changeBy?: string | null;\n changeReason?: string | null;\n correlationId?: string | null;\n id?: string;\n ipAddress?: unknown;\n isRollback?: boolean;\n newRecord?: Json | null;\n oldRecord?: Json | null;\n operation: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId_bigint?: number | null;\n recordId_text?: string | null;\n recordPrimaryKey: Json;\n rollbackOfLogId?: string | null;\n schemaName: string;\n sessionId?: string | null;\n tableName: string;\n userAgent?: string | null;\n };\n Update: {\n changeAt?: string;\n changeBy?: string | null;\n changeReason?: string | null;\n correlationId?: string | null;\n id?: string;\n ipAddress?: unknown;\n isRollback?: boolean;\n newRecord?: Json | null;\n oldRecord?: Json | null;\n operation?: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId_bigint?: number | null;\n recordId_text?: string | null;\n recordPrimaryKey?: Json;\n rollbackOfLogId?: string | null;\n schemaName?: string;\n sessionId?: string | null;\n tableName?: string;\n userAgent?: string | null;\n };\n Relationships: [];\n };\n AuditLog_2026_01: {\n Row: {\n changeAt: string;\n changeBy: string | null;\n changeReason: string | null;\n correlationId: string | null;\n id: string;\n ipAddress: unknown;\n isRollback: boolean;\n newRecord: Json | null;\n oldRecord: Json | null;\n operation: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId_bigint: number | null;\n recordId_text: string | null;\n recordPrimaryKey: Json;\n rollbackOfLogId: string | null;\n schemaName: string;\n sessionId: string | null;\n tableName: string;\n userAgent: string | null;\n };\n Insert: {\n changeAt?: string;\n changeBy?: string | null;\n changeReason?: string | null;\n correlationId?: string | null;\n id?: string;\n ipAddress?: unknown;\n isRollback?: boolean;\n newRecord?: Json | null;\n oldRecord?: Json | null;\n operation: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId_bigint?: number | null;\n recordId_text?: string | null;\n recordPrimaryKey: Json;\n rollbackOfLogId?: string | null;\n schemaName: string;\n sessionId?: string | null;\n tableName: string;\n userAgent?: string | null;\n };\n Update: {\n changeAt?: string;\n changeBy?: string | null;\n changeReason?: string | null;\n correlationId?: string | null;\n id?: string;\n ipAddress?: unknown;\n isRollback?: boolean;\n newRecord?: Json | null;\n oldRecord?: Json | null;\n operation?: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId_bigint?: number | null;\n recordId_text?: string | null;\n recordPrimaryKey?: Json;\n rollbackOfLogId?: string | null;\n schemaName?: string;\n sessionId?: string | null;\n tableName?: string;\n userAgent?: string | null;\n };\n Relationships: [];\n };\n BroadcastChannel: {\n Row: {\n createdAt: string;\n event: string;\n instanceId: string;\n topic: string;\n updatedAt: string;\n };\n Insert: {\n createdAt?: string;\n event: string;\n instanceId: string;\n topic: string;\n updatedAt?: string;\n };\n Update: {\n createdAt?: string;\n event?: string;\n instanceId?: string;\n topic?: string;\n updatedAt?: string;\n };\n Relationships: [];\n };\n BroadcastChannelThrottle: {\n Row: {\n createdAt: string;\n event: string;\n instanceId: string;\n key: string;\n throttleUntil: string | null;\n topic: string;\n updatedAt: string;\n };\n Insert: {\n createdAt?: string;\n event: string;\n instanceId: string;\n key: string;\n throttleUntil?: string | null;\n topic: string;\n updatedAt?: string;\n };\n Update: {\n createdAt?: string;\n event?: string;\n instanceId?: string;\n key?: string;\n throttleUntil?: string | null;\n topic?: string;\n updatedAt?: string;\n };\n Relationships: [];\n };\n CachedEmbedding: {\n Row: {\n createdAt: string;\n key: string;\n updatedAt: string;\n value: string | null;\n };\n Insert: {\n createdAt?: string;\n key: string;\n updatedAt?: string;\n value?: string | null;\n };\n Update: {\n createdAt?: string;\n key?: string;\n updatedAt?: string;\n value?: string | null;\n };\n Relationships: [];\n };\n Column: {\n Row: {\n createdAt: string;\n defaultValue: Json | null;\n id: number;\n isOptional: boolean;\n options: string[] | null;\n orderHint: string | null;\n propertyType: Database[\"core\"][\"Enums\"][\"PropertyType\"];\n tableName: string;\n title: string;\n updatedAt: string;\n };\n Insert: {\n createdAt?: string;\n defaultValue?: Json | null;\n id?: number;\n isOptional?: boolean;\n options?: string[] | null;\n orderHint?: string | null;\n propertyType: Database[\"core\"][\"Enums\"][\"PropertyType\"];\n tableName: string;\n title: string;\n updatedAt?: string;\n };\n Update: {\n createdAt?: string;\n defaultValue?: Json | null;\n id?: number;\n isOptional?: boolean;\n options?: string[] | null;\n orderHint?: string | null;\n propertyType?: Database[\"core\"][\"Enums\"][\"PropertyType\"];\n tableName?: string;\n title?: string;\n updatedAt?: string;\n };\n Relationships: [];\n };\n Comment: {\n Row: {\n commentSectionId: string;\n createdAt: string;\n createdBy: string;\n id: string;\n message: string;\n parentId: string | null;\n };\n Insert: {\n commentSectionId: string;\n createdAt?: string;\n createdBy?: string;\n id?: string;\n message: string;\n parentId?: string | null;\n };\n Update: {\n commentSectionId?: string;\n createdAt?: string;\n createdBy?: string;\n id?: string;\n message?: string;\n parentId?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"comment_commentid_fkey\";\n columns: [\"commentSectionId\"];\n isOneToOne: false;\n referencedRelation: \"CommentSection\";\n referencedColumns: [\"id\"];\n }];\n };\n CommentReaction: {\n Row: {\n commentId: string;\n id: number;\n userId: string;\n value: string;\n };\n Insert: {\n commentId: string;\n id?: number;\n userId?: string;\n value: string;\n };\n Update: {\n commentId?: string;\n id?: number;\n userId?: string;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"commentresponse_commentid_fkey\";\n columns: [\"commentId\"];\n isOneToOne: false;\n referencedRelation: \"Comment\";\n referencedColumns: [\"id\"];\n }];\n };\n CommentRead: {\n Row: {\n commentId: string;\n id: number;\n userId: string;\n };\n Insert: {\n commentId: string;\n id?: number;\n userId?: string;\n };\n Update: {\n commentId?: string;\n id?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"commentread_commentid_fkey\";\n columns: [\"commentId\"];\n isOneToOne: false;\n referencedRelation: \"Comment\";\n referencedColumns: [\"id\"];\n }];\n };\n CommentSection: {\n Row: {\n createdAt: string;\n entityId: string;\n id: string;\n schemaName: string;\n tableName: string;\n updatedAt: string;\n };\n Insert: {\n createdAt?: string;\n entityId: string;\n id?: string;\n schemaName: string;\n tableName: string;\n updatedAt?: string;\n };\n Update: {\n createdAt?: string;\n entityId?: string;\n id?: string;\n schemaName?: string;\n tableName?: string;\n updatedAt?: string;\n };\n Relationships: [];\n };\n CommentTag: {\n Row: {\n commentId: string;\n id: number;\n userId: string;\n };\n Insert: {\n commentId: string;\n id?: number;\n userId: string;\n };\n Update: {\n commentId?: string;\n id?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"commenttag_commentid_fkey\";\n columns: [\"commentId\"];\n isOneToOne: false;\n referencedRelation: \"Comment\";\n referencedColumns: [\"id\"];\n }];\n };\n Configuration: {\n Row: {\n blockedUntil: string | null;\n groupKey: string | null;\n id: number;\n isBlocked: boolean;\n lastNotificationOn: string | null;\n notificationsSent: number | null;\n parameter: string;\n priority: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n subscriberId: number;\n value: string;\n };\n Insert: {\n blockedUntil?: string | null;\n groupKey?: string | null;\n id?: number;\n isBlocked?: boolean;\n lastNotificationOn?: string | null;\n notificationsSent?: number | null;\n parameter: string;\n priority?: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n subscriberId: number;\n value: string;\n };\n Update: {\n blockedUntil?: string | null;\n groupKey?: string | null;\n id?: number;\n isBlocked?: boolean;\n lastNotificationOn?: string | null;\n notificationsSent?: number | null;\n parameter?: string;\n priority?: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n subscriberId?: number;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"system_configuration_subscriberid_fkey\";\n columns: [\"subscriberId\"];\n isOneToOne: false;\n referencedRelation: \"NotificationSubscriber\";\n referencedColumns: [\"id\"];\n }];\n };\n ConsentRecord: {\n Row: {\n consentGiven: boolean;\n consentText: string | null;\n consentType: string;\n consentVersion: string;\n createdAt: string;\n id: number;\n ipAddress: unknown;\n userAgent: string | null;\n userId: string;\n };\n Insert: {\n consentGiven?: boolean;\n consentText?: string | null;\n consentType: string;\n consentVersion: string;\n createdAt?: string;\n id?: never;\n ipAddress?: unknown;\n userAgent?: string | null;\n userId: string;\n };\n Update: {\n consentGiven?: boolean;\n consentText?: string | null;\n consentType?: string;\n consentVersion?: string;\n createdAt?: string;\n id?: never;\n ipAddress?: unknown;\n userAgent?: string | null;\n userId?: string;\n };\n Relationships: [];\n };\n DataExportRequest: {\n Row: {\n completedAt: string | null;\n downloadCount: number;\n errorMessage: string | null;\n expiresAt: string | null;\n id: string;\n lastDownloadedAt: string | null;\n metadata: Json | null;\n requestedAt: string;\n status: string;\n userId: string;\n };\n Insert: {\n completedAt?: string | null;\n downloadCount?: number;\n errorMessage?: string | null;\n expiresAt?: string | null;\n id?: string;\n lastDownloadedAt?: string | null;\n metadata?: Json | null;\n requestedAt?: string;\n status?: string;\n userId: string;\n };\n Update: {\n completedAt?: string | null;\n downloadCount?: number;\n errorMessage?: string | null;\n expiresAt?: string | null;\n id?: string;\n lastDownloadedAt?: string | null;\n metadata?: Json | null;\n requestedAt?: string;\n status?: string;\n userId?: string;\n };\n Relationships: [];\n };\n EmailNotification: {\n Row: {\n deliveredAt: string | null;\n emailMessageId: string | null;\n id: number;\n message: string;\n messageParams: Json | null;\n messageTemplateName: string | null;\n recordId: string | null;\n scheduledAt: string | null;\n tableName: string | null;\n title: string;\n to: string[];\n topic: string | null;\n userId: string;\n };\n Insert: {\n deliveredAt?: string | null;\n emailMessageId?: string | null;\n id?: number;\n message: string;\n messageParams?: Json | null;\n messageTemplateName?: string | null;\n recordId?: string | null;\n scheduledAt?: string | null;\n tableName?: string | null;\n title: string;\n to?: string[];\n topic?: string | null;\n userId: string;\n };\n Update: {\n deliveredAt?: string | null;\n emailMessageId?: string | null;\n id?: number;\n message?: string;\n messageParams?: Json | null;\n messageTemplateName?: string | null;\n recordId?: string | null;\n scheduledAt?: string | null;\n tableName?: string | null;\n title?: string;\n to?: string[];\n topic?: string | null;\n userId?: string;\n };\n Relationships: [];\n };\n Embedding: {\n Row: {\n cachedEmbeddingKey: string;\n embeddingType: string;\n key: string;\n recordId: string;\n schemaName: string;\n tableName: string;\n weight: number;\n };\n Insert: {\n cachedEmbeddingKey: string;\n embeddingType?: string;\n key: string;\n recordId: string;\n schemaName?: string;\n tableName: string;\n weight?: number;\n };\n Update: {\n cachedEmbeddingKey?: string;\n embeddingType?: string;\n key?: string;\n recordId?: string;\n schemaName?: string;\n tableName?: string;\n weight?: number;\n };\n Relationships: [{\n foreignKeyName: \"embedding_cachedembeddingkey_fkey\";\n columns: [\"cachedEmbeddingKey\"];\n isOneToOne: false;\n referencedRelation: \"CachedEmbedding\";\n referencedColumns: [\"key\"];\n }];\n };\n EmbeddingConfig: {\n Row: {\n attachmentsJson: Json | null;\n configType: string;\n createdAt: string;\n description: string;\n fieldsJson: Json | null;\n hasCustomExtractor: boolean | null;\n id: number;\n isActive: boolean | null;\n options: Json | null;\n schemaName: string;\n tableName: string;\n updatedAt: string;\n };\n Insert: {\n attachmentsJson?: Json | null;\n configType?: string;\n createdAt?: string;\n description?: string;\n fieldsJson?: Json | null;\n hasCustomExtractor?: boolean | null;\n id?: never;\n isActive?: boolean | null;\n options?: Json | null;\n schemaName?: string;\n tableName: string;\n updatedAt?: string;\n };\n Update: {\n attachmentsJson?: Json | null;\n configType?: string;\n createdAt?: string;\n description?: string;\n fieldsJson?: Json | null;\n hasCustomExtractor?: boolean | null;\n id?: never;\n isActive?: boolean | null;\n options?: Json | null;\n schemaName?: string;\n tableName?: string;\n updatedAt?: string;\n };\n Relationships: [];\n };\n EmbeddingJob: {\n Row: {\n completedAt: string | null;\n createdAt: string;\n cursor: string | null;\n error: string | null;\n id: string;\n processedRecords: number | null;\n schemaName: string;\n startedAt: string | null;\n status: string;\n tableName: string;\n totalRecords: number | null;\n };\n Insert: {\n completedAt?: string | null;\n createdAt?: string;\n cursor?: string | null;\n error?: string | null;\n id?: string;\n processedRecords?: number | null;\n schemaName?: string;\n startedAt?: string | null;\n status?: string;\n tableName: string;\n totalRecords?: number | null;\n };\n Update: {\n completedAt?: string | null;\n createdAt?: string;\n cursor?: string | null;\n error?: string | null;\n id?: string;\n processedRecords?: number | null;\n schemaName?: string;\n startedAt?: string | null;\n status?: string;\n tableName?: string;\n totalRecords?: number | null;\n };\n Relationships: [];\n };\n EventListener: {\n Row: {\n avgPayloadKb: number | null;\n createdOn: string;\n defaultMachine: string | null;\n filter: Json | null;\n topic: string;\n triggerDevTaskId: string;\n };\n Insert: {\n avgPayloadKb?: number | null;\n createdOn?: string;\n defaultMachine?: string | null;\n filter?: Json | null;\n topic: string;\n triggerDevTaskId: string;\n };\n Update: {\n avgPayloadKb?: number | null;\n createdOn?: string;\n defaultMachine?: string | null;\n filter?: Json | null;\n topic?: string;\n triggerDevTaskId?: string;\n };\n Relationships: [];\n };\n GlobalVariables: {\n Row: {\n createdAt: string;\n key: string;\n updatedAt: string;\n value: string;\n };\n Insert: {\n createdAt?: string;\n key: string;\n updatedAt?: string;\n value: string;\n };\n Update: {\n createdAt?: string;\n key?: string;\n updatedAt?: string;\n value?: string;\n };\n Relationships: [];\n };\n Group: {\n Row: {\n createdAt: string;\n createdBy: string | null;\n description: string | null;\n id: number;\n isActive: boolean;\n name: string;\n };\n Insert: {\n createdAt?: string;\n createdBy?: string | null;\n description?: string | null;\n id?: never;\n isActive?: boolean;\n name: string;\n };\n Update: {\n createdAt?: string;\n createdBy?: string | null;\n description?: string | null;\n id?: never;\n isActive?: boolean;\n name?: string;\n };\n Relationships: [];\n };\n GroupAccessKey: {\n Row: {\n accessKey: string;\n effect: string;\n groupId: number;\n id: number;\n };\n Insert: {\n accessKey: string;\n effect?: string;\n groupId: number;\n id?: never;\n };\n Update: {\n accessKey?: string;\n effect?: string;\n groupId?: number;\n id?: never;\n };\n Relationships: [{\n foreignKeyName: \"GroupAccessKey_groupId_fkey\";\n columns: [\"groupId\"];\n isOneToOne: false;\n referencedRelation: \"Group\";\n referencedColumns: [\"id\"];\n }];\n };\n InAppNotification: {\n Row: {\n archivedAt: string | null;\n collapseId: string | null;\n deliveredAt: string | null;\n expiration: string | null;\n icon: string | null;\n id: number;\n link: string | null;\n message: string;\n priority: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId: string | null;\n scheduledAt: string | null;\n seenAt: string | null;\n subtitle: string | null;\n tableName: string | null;\n title: string;\n topic: string | null;\n userId: string;\n };\n Insert: {\n archivedAt?: string | null;\n collapseId?: string | null;\n deliveredAt?: string | null;\n expiration?: string | null;\n icon?: string | null;\n id?: number;\n link?: string | null;\n message: string;\n priority?: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId?: string | null;\n scheduledAt?: string | null;\n seenAt?: string | null;\n subtitle?: string | null;\n tableName?: string | null;\n title: string;\n topic?: string | null;\n userId: string;\n };\n Update: {\n archivedAt?: string | null;\n collapseId?: string | null;\n deliveredAt?: string | null;\n expiration?: string | null;\n icon?: string | null;\n id?: number;\n link?: string | null;\n message?: string;\n priority?: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId?: string | null;\n scheduledAt?: string | null;\n seenAt?: string | null;\n subtitle?: string | null;\n tableName?: string | null;\n title?: string;\n topic?: string | null;\n userId?: string;\n };\n Relationships: [];\n };\n MemoryNLAI: {\n Row: {\n createdAt: string;\n data: Json;\n id: number;\n isActive: boolean;\n memoryType: string;\n mustIncludeInContext: boolean | null;\n resolved: boolean;\n resolvedAt: string | null;\n resolvedBy: string | null;\n schema: string | null;\n table: string | null;\n updatedAt: string;\n userId: string | null;\n };\n Insert: {\n createdAt?: string;\n data: Json;\n id?: number;\n isActive?: boolean;\n memoryType: string;\n mustIncludeInContext?: boolean | null;\n resolved?: boolean;\n resolvedAt?: string | null;\n resolvedBy?: string | null;\n schema?: string | null;\n table?: string | null;\n updatedAt?: string;\n userId?: string | null;\n };\n Update: {\n createdAt?: string;\n data?: Json;\n id?: number;\n isActive?: boolean;\n memoryType?: string;\n mustIncludeInContext?: boolean | null;\n resolved?: boolean;\n resolvedAt?: string | null;\n resolvedBy?: string | null;\n schema?: string | null;\n table?: string | null;\n updatedAt?: string;\n userId?: string | null;\n };\n Relationships: [];\n };\n MemoryNLAIEmbedding: {\n Row: {\n createdAt: string | null;\n embedding: string | null;\n id: number;\n memoryId: number;\n text: string;\n type: string;\n };\n Insert: {\n createdAt?: string | null;\n embedding?: string | null;\n id?: number;\n memoryId: number;\n text: string;\n type?: string;\n };\n Update: {\n createdAt?: string | null;\n embedding?: string | null;\n id?: number;\n memoryId?: number;\n text?: string;\n type?: string;\n };\n Relationships: [{\n foreignKeyName: \"MemoryNLAIEmbedding_memoryId_fkey\";\n columns: [\"memoryId\"];\n isOneToOne: false;\n referencedRelation: \"MemoryNLAI\";\n referencedColumns: [\"id\"];\n }];\n };\n MutedTopic: {\n Row: {\n id: number;\n muteUntil: string;\n notificationType: string;\n topic: string;\n userId: string;\n };\n Insert: {\n id?: number;\n muteUntil: string;\n notificationType: string;\n topic: string;\n userId?: string;\n };\n Update: {\n id?: number;\n muteUntil?: string;\n notificationType?: string;\n topic?: string;\n userId?: string;\n };\n Relationships: [];\n };\n Notification: {\n Row: {\n collapseId: string | null;\n expiration: string | null;\n icon: string | null;\n id: number;\n link: string | null;\n message: string;\n messageParams: Json | null;\n messageTemplateName: string | null;\n priority: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId: string | null;\n resentAt: string | null;\n scheduledAt: string | null;\n subtitle: string | null;\n tableName: string | null;\n title: string;\n to: string[];\n types: Database[\"core\"][\"Enums\"][\"NotificationType\"][];\n userId: string;\n };\n Insert: {\n collapseId?: string | null;\n expiration?: string | null;\n icon?: string | null;\n id?: number;\n link?: string | null;\n message: string;\n messageParams?: Json | null;\n messageTemplateName?: string | null;\n priority?: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId?: string | null;\n resentAt?: string | null;\n scheduledAt?: string | null;\n subtitle?: string | null;\n tableName?: string | null;\n title: string;\n to?: string[];\n types: Database[\"core\"][\"Enums\"][\"NotificationType\"][];\n userId?: string;\n };\n Update: {\n collapseId?: string | null;\n expiration?: string | null;\n icon?: string | null;\n id?: number;\n link?: string | null;\n message?: string;\n messageParams?: Json | null;\n messageTemplateName?: string | null;\n priority?: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId?: string | null;\n resentAt?: string | null;\n scheduledAt?: string | null;\n subtitle?: string | null;\n tableName?: string | null;\n title?: string;\n to?: string[];\n types?: Database[\"core\"][\"Enums\"][\"NotificationType\"][];\n userId?: string;\n };\n Relationships: [];\n };\n NotificationSubscriber: {\n Row: {\n blockedUntil: string | null;\n event: string;\n id: number;\n instanceId: string;\n isBlocked: boolean;\n mutedNotificationTypes: string[] | null;\n topic: string;\n userId: string;\n userMuteUntil: string | null;\n };\n Insert: {\n blockedUntil?: string | null;\n event: string;\n id?: number;\n instanceId: string;\n isBlocked?: boolean;\n mutedNotificationTypes?: string[] | null;\n topic: string;\n userId?: string;\n userMuteUntil?: string | null;\n };\n Update: {\n blockedUntil?: string | null;\n event?: string;\n id?: number;\n instanceId?: string;\n isBlocked?: boolean;\n mutedNotificationTypes?: string[] | null;\n topic?: string;\n userId?: string;\n userMuteUntil?: string | null;\n };\n Relationships: [];\n };\n OperationLog: {\n Row: {\n changeAt: string;\n changeBy: string | null;\n columnName: string | null;\n id: number;\n newValue: string | null;\n oldValue: string | null;\n operationType: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId: string;\n schemaName: string;\n sessionId: string | null;\n tableName: string;\n };\n Insert: {\n changeAt?: string;\n changeBy?: string | null;\n columnName?: string | null;\n id?: number;\n newValue?: string | null;\n oldValue?: string | null;\n operationType: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId: string;\n schemaName: string;\n sessionId?: string | null;\n tableName: string;\n };\n Update: {\n changeAt?: string;\n changeBy?: string | null;\n columnName?: string | null;\n id?: number;\n newValue?: string | null;\n oldValue?: string | null;\n operationType?: Database[\"core\"][\"Enums\"][\"OperationType\"];\n recordId?: string;\n schemaName?: string;\n sessionId?: string | null;\n tableName?: string;\n };\n Relationships: [];\n };\n Organization: {\n Row: {\n billingEmail: string | null;\n id: number;\n name: string;\n };\n Insert: {\n billingEmail?: string | null;\n id?: number;\n name?: string;\n };\n Update: {\n billingEmail?: string | null;\n id?: number;\n name?: string;\n };\n Relationships: [];\n };\n PermissionRefreshQueue: {\n Row: {\n id: number;\n processedAt: string | null;\n queuedAt: string;\n rowCount: number | null;\n tableName: string;\n };\n Insert: {\n id?: never;\n processedAt?: string | null;\n queuedAt?: string;\n rowCount?: number | null;\n tableName: string;\n };\n Update: {\n id?: never;\n processedAt?: string | null;\n queuedAt?: string;\n rowCount?: number | null;\n tableName?: string;\n };\n Relationships: [];\n };\n Profile: {\n Row: {\n archivedAt: string | null;\n archivedBy: string | null;\n email: string;\n firstName: string;\n fullName: string | null;\n id: string;\n lastName: string;\n metadata: Json | null;\n middleName: string;\n phone: string;\n profilePath: string | null;\n status: string;\n };\n Insert: {\n archivedAt?: string | null;\n archivedBy?: string | null;\n email?: string;\n firstName?: string;\n fullName?: string | null;\n id?: string;\n lastName?: string;\n metadata?: Json | null;\n middleName?: string;\n phone?: string;\n profilePath?: string | null;\n status?: string;\n };\n Update: {\n archivedAt?: string | null;\n archivedBy?: string | null;\n email?: string;\n firstName?: string;\n fullName?: string | null;\n id?: string;\n lastName?: string;\n metadata?: Json | null;\n middleName?: string;\n phone?: string;\n profilePath?: string | null;\n status?: string;\n };\n Relationships: [];\n };\n PushNotification: {\n Row: {\n collapseId: string | null;\n deliveredAt: string | null;\n expiration: string | null;\n icon: string | null;\n id: number;\n link: string | null;\n message: string;\n priority: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId: string | null;\n scheduledAt: string | null;\n seenAt: string | null;\n subtitle: string | null;\n tableName: string | null;\n title: string;\n topic: string | null;\n userId: string;\n };\n Insert: {\n collapseId?: string | null;\n deliveredAt?: string | null;\n expiration?: string | null;\n icon?: string | null;\n id?: number;\n link?: string | null;\n message: string;\n priority?: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId?: string | null;\n scheduledAt?: string | null;\n seenAt?: string | null;\n subtitle?: string | null;\n tableName?: string | null;\n title: string;\n topic?: string | null;\n userId: string;\n };\n Update: {\n collapseId?: string | null;\n deliveredAt?: string | null;\n expiration?: string | null;\n icon?: string | null;\n id?: number;\n link?: string | null;\n message?: string;\n priority?: Database[\"core\"][\"Enums\"][\"PriorityLevel\"] | null;\n recordId?: string | null;\n scheduledAt?: string | null;\n seenAt?: string | null;\n subtitle?: string | null;\n tableName?: string | null;\n title?: string;\n topic?: string | null;\n userId?: string;\n };\n Relationships: [];\n };\n RecordNotificationListener: {\n Row: {\n recordId: string;\n schemaName: string;\n tableName: string;\n topics: string[];\n userId: string;\n };\n Insert: {\n recordId: string;\n schemaName: string;\n tableName: string;\n topics?: string[];\n userId: string;\n };\n Update: {\n recordId?: string;\n schemaName?: string;\n tableName?: string;\n topics?: string[];\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"recordnotificationlistener_userid_fkey\";\n columns: [\"userId\"];\n isOneToOne: false;\n referencedRelation: \"Profile\";\n referencedColumns: [\"id\"];\n }];\n };\n SavedQuery: {\n Row: {\n categoryId: string;\n createdAt: string;\n createdBy: string;\n description: string | null;\n filters: Json;\n id: number;\n path: string;\n schema: string;\n select: string | null;\n sort: Json | null;\n table: string;\n title: string;\n updatedAt: string;\n visibility: string;\n };\n Insert: {\n categoryId: string;\n createdAt?: string;\n createdBy?: string;\n description?: string | null;\n filters: Json;\n id?: number;\n path: string;\n schema: string;\n select?: string | null;\n sort?: Json | null;\n table: string;\n title: string;\n updatedAt?: string;\n visibility?: string;\n };\n Update: {\n categoryId?: string;\n createdAt?: string;\n createdBy?: string;\n description?: string | null;\n filters?: Json;\n id?: number;\n path?: string;\n schema?: string;\n select?: string | null;\n sort?: Json | null;\n table?: string;\n title?: string;\n updatedAt?: string;\n visibility?: string;\n };\n Relationships: [];\n };\n SavedQueryAccess: {\n Row: {\n grantedAt: string;\n grantedBy: string | null;\n id: number;\n permission: string;\n savedQueryId: number;\n userId: string;\n };\n Insert: {\n grantedAt?: string;\n grantedBy?: string | null;\n id?: number;\n permission: string;\n savedQueryId: number;\n userId: string;\n };\n Update: {\n grantedAt?: string;\n grantedBy?: string | null;\n id?: number;\n permission?: string;\n savedQueryId?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"SavedQueryAccess_savedQueryId_fkey\";\n columns: [\"savedQueryId\"];\n isOneToOne: false;\n referencedRelation: \"SavedQuery\";\n referencedColumns: [\"id\"];\n }];\n };\n Subscriber: {\n Row: {\n blockedUntil: string | null;\n event: string;\n id: number;\n instanceId: string;\n isBlocked: boolean;\n mutedNotificationTypes: string[] | null;\n topic: string;\n userId: string;\n userMuteUntil: string | null;\n };\n Insert: {\n blockedUntil?: string | null;\n event: string;\n id?: number;\n instanceId: string;\n isBlocked?: boolean;\n mutedNotificationTypes?: string[] | null;\n topic: string;\n userId?: string;\n userMuteUntil?: string | null;\n };\n Update: {\n blockedUntil?: string | null;\n event?: string;\n id?: number;\n instanceId?: string;\n isBlocked?: boolean;\n mutedNotificationTypes?: string[] | null;\n topic?: string;\n userId?: string;\n userMuteUntil?: string | null;\n };\n Relationships: [];\n };\n Task: {\n Row: {\n createdBy: string;\n description: string;\n endTime: string | null;\n handlerId: string;\n id: number;\n payload: Json | null;\n payloadLength: number;\n startTime: string;\n title: string;\n triggerDevRun: Json | null;\n };\n Insert: {\n createdBy: string;\n description: string;\n endTime?: string | null;\n handlerId: string;\n id?: number;\n payload?: Json | null;\n payloadLength?: number;\n startTime?: string;\n title: string;\n triggerDevRun?: Json | null;\n };\n Update: {\n createdBy?: string;\n description?: string;\n endTime?: string | null;\n handlerId?: string;\n id?: number;\n payload?: Json | null;\n payloadLength?: number;\n startTime?: string;\n title?: string;\n triggerDevRun?: Json | null;\n };\n Relationships: [];\n };\n TaskAttempt: {\n Row: {\n cancelledBy: string | null;\n estimatedDuration: number | null;\n finishedAt: string | null;\n handlerId: string | null;\n hasRequestCancellation: boolean;\n id: string;\n percentageComplete: number | null;\n processStatus: Database[\"core\"][\"Enums\"][\"ProcessStatus\"] | null;\n resultAttachmentId: number | null;\n resultPath: string | null;\n startedAt: string;\n startedBy: string | null;\n statusReason: string;\n taskId: number;\n triggerDevAttempt: Json | null;\n };\n Insert: {\n cancelledBy?: string | null;\n estimatedDuration?: number | null;\n finishedAt?: string | null;\n handlerId?: string | null;\n hasRequestCancellation?: boolean;\n id?: string;\n percentageComplete?: number | null;\n processStatus?: Database[\"core\"][\"Enums\"][\"ProcessStatus\"] | null;\n resultAttachmentId?: number | null;\n resultPath?: string | null;\n startedAt?: string;\n startedBy?: string | null;\n statusReason?: string;\n taskId: number;\n triggerDevAttempt?: Json | null;\n };\n Update: {\n cancelledBy?: string | null;\n estimatedDuration?: number | null;\n finishedAt?: string | null;\n handlerId?: string | null;\n hasRequestCancellation?: boolean;\n id?: string;\n percentageComplete?: number | null;\n processStatus?: Database[\"core\"][\"Enums\"][\"ProcessStatus\"] | null;\n resultAttachmentId?: number | null;\n resultPath?: string | null;\n startedAt?: string;\n startedBy?: string | null;\n statusReason?: string;\n taskId?: number;\n triggerDevAttempt?: Json | null;\n };\n Relationships: [{\n foreignKeyName: \"taskattempt_taskid_fkey\";\n columns: [\"taskId\"];\n isOneToOne: false;\n referencedRelation: \"Task\";\n referencedColumns: [\"id\"];\n }];\n };\n TriggerDotDevMetadata: {\n Row: {\n averageExecutionSeconds: number;\n averagePayloadSize: number;\n event: string;\n executionCount: number;\n metadata: Json;\n taskId: string;\n };\n Insert: {\n averageExecutionSeconds?: number;\n averagePayloadSize?: number;\n event: string;\n executionCount?: number;\n metadata?: Json;\n taskId: string;\n };\n Update: {\n averageExecutionSeconds?: number;\n averagePayloadSize?: number;\n event?: string;\n executionCount?: number;\n metadata?: Json;\n taskId?: string;\n };\n Relationships: [];\n };\n UserAccess: {\n Row: {\n accessKey: string;\n effect: string;\n expiresAt: string | null;\n grantedAt: string;\n grantedBy: string | null;\n userId: string;\n };\n Insert: {\n accessKey: string;\n effect?: string;\n expiresAt?: string | null;\n grantedAt?: string;\n grantedBy?: string | null;\n userId: string;\n };\n Update: {\n accessKey?: string;\n effect?: string;\n expiresAt?: string | null;\n grantedAt?: string;\n grantedBy?: string | null;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"UserAccess_userId_fkey1\";\n columns: [\"userId\"];\n isOneToOne: false;\n referencedRelation: \"Profile\";\n referencedColumns: [\"id\"];\n }];\n };\n UserGroup: {\n Row: {\n expiresAt: string | null;\n grantedAt: string;\n grantedBy: string | null;\n groupId: number;\n id: number;\n userId: string;\n };\n Insert: {\n expiresAt?: string | null;\n grantedAt?: string;\n grantedBy?: string | null;\n groupId: number;\n id?: never;\n userId: string;\n };\n Update: {\n expiresAt?: string | null;\n grantedAt?: string;\n grantedBy?: string | null;\n groupId?: number;\n id?: never;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"UserGroup_groupId_fkey\";\n columns: [\"groupId\"];\n isOneToOne: false;\n referencedRelation: \"Group\";\n referencedColumns: [\"id\"];\n }];\n };\n UserMetadata: {\n Row: {\n key: string;\n userId: string;\n value: string;\n };\n Insert: {\n key: string;\n userId: string;\n value: string;\n };\n Update: {\n key?: string;\n userId?: string;\n value?: string;\n };\n Relationships: [];\n };\n UserPushTokens: {\n Row: {\n appVersion: string | null;\n createdAt: string;\n deviceModel: string | null;\n deviceOS: string | null;\n deviceOSVersion: string | null;\n deviceType: string | null;\n expoPushToken: string;\n id: number;\n isActive: boolean | null;\n lastUsedAt: string | null;\n metadata: Json | null;\n platform: string | null;\n updatedAt: string;\n userId: string;\n };\n Insert: {\n appVersion?: string | null;\n createdAt?: string;\n deviceModel?: string | null;\n deviceOS?: string | null;\n deviceOSVersion?: string | null;\n deviceType?: string | null;\n expoPushToken: string;\n id?: number;\n isActive?: boolean | null;\n lastUsedAt?: string | null;\n metadata?: Json | null;\n platform?: string | null;\n updatedAt?: string;\n userId: string;\n };\n Update: {\n appVersion?: string | null;\n createdAt?: string;\n deviceModel?: string | null;\n deviceOS?: string | null;\n deviceOSVersion?: string | null;\n deviceType?: string | null;\n expoPushToken?: string;\n id?: number;\n isActive?: boolean | null;\n lastUsedAt?: string | null;\n metadata?: Json | null;\n platform?: string | null;\n updatedAt?: string;\n userId?: string;\n };\n Relationships: [];\n };\n Webhook: {\n Row: {\n createdAt: string;\n events: string[];\n id: string;\n secret: string;\n url: string;\n };\n Insert: {\n createdAt?: string;\n events?: string[];\n id?: string;\n secret?: string;\n url: string;\n };\n Update: {\n createdAt?: string;\n events?: string[];\n id?: string;\n secret?: string;\n url?: string;\n };\n Relationships: [];\n };\n };\n Views: {\n EffectivePermission: {\n Row: {\n effective_effect: string | null;\n entity_id: number | null;\n entity_type: string | null;\n expiresAt: string | null;\n materializedAt: string | null;\n permission: number | null;\n userId: string | null;\n };\n Relationships: [];\n };\n EmbeddingStats: {\n Row: {\n attachmentsJson: Json | null;\n configCreatedAt: string | null;\n configType: string | null;\n configUpdatedAt: string | null;\n description: string | null;\n fieldsJson: Json | null;\n indexed_count: number | null;\n isActive: boolean | null;\n options: Json | null;\n schemaName: string | null;\n tableName: string | null;\n total_count: number | null;\n };\n Relationships: [];\n };\n };\n Functions: {\n admin_force_account_deletion: {\n Args: {\n p_admin_reason?: string;\n p_user_id: string;\n };\n Returns: Json;\n };\n archive_user: {\n Args: {\n p_reason?: string;\n p_user_id: string;\n };\n Returns: Json;\n };\n build_pk_jsonb: {\n Args: {\n p_pk_columns: string[];\n p_record: unknown;\n };\n Returns: Json;\n };\n can_add_access_key_to_group: {\n Args: {\n p_access_key: string;\n p_user_id: string;\n };\n Returns: boolean;\n };\n can_grant_group_access: {\n Args: {\n p_granter_id: string;\n p_group_id: number;\n };\n Returns: boolean;\n };\n can_grant_user_access: {\n Args: {\n p_access_key: string;\n p_granter_id: string;\n };\n Returns: boolean;\n };\n can_manage_user_access: {\n Args: {\n p_access_key: string;\n p_manager_id: string;\n p_target_user_id: string;\n };\n Returns: boolean;\n };\n cancel_account_deletion: {\n Args: never;\n Returns: Json;\n };\n check_saved_query_access: {\n Args: {\n query_id: number;\n };\n Returns: boolean;\n };\n check_saved_query_owner: {\n Args: {\n query_id: number;\n };\n Returns: boolean;\n };\n check_saved_query_permission: {\n Args: {\n perms: string[];\n query_id: number;\n };\n Returns: boolean;\n };\n cleanup_expired_data_exports: {\n Args: never;\n Returns: number;\n };\n cleanup_expired_group_memberships: {\n Args: never;\n Returns: number;\n };\n cleanup_expired_user_access: {\n Args: never;\n Returns: number;\n };\n cleanup_permission_refresh_queue: {\n Args: {\n p_older_than?: unknown;\n };\n Returns: number;\n };\n create_audit_partition: {\n Args: {\n p_date: string;\n };\n Returns: undefined;\n };\n execute_account_deletion: {\n Args: {\n p_user_id: string;\n };\n Returns: Json;\n };\n export_user_personal_data: {\n Args: {\n p_user_id: string;\n };\n Returns: Json;\n };\n fetch_embedding_ids: {\n Args: {\n limit_count: number;\n query_embedding: string;\n request_unique_keys: boolean;\n table_name: string;\n };\n Returns: {\n recordId: string;\n schemaName: string;\n score: number;\n tableName: string;\n }[];\n };\n get_client_ip: {\n Args: never;\n Returns: unknown;\n };\n get_context_memory: {\n Args: {\n p_limit?: number;\n p_query_text?: string;\n p_schema: string;\n p_similarity_threshold?: number;\n p_table: string;\n p_training_notes_threshold?: number;\n query_embedding: string;\n };\n Returns: {\n createdAt: string;\n data: Json;\n id: number;\n isActive: boolean;\n memoryType: string;\n mustIncludeInContext: boolean;\n schema: string;\n similarity: number;\n table: string;\n updatedAt: string;\n }[];\n };\n get_data_export_history: {\n Args: {\n p_user_id?: string;\n };\n Returns: {\n completedAt: string;\n downloadCount: number;\n expiresAt: string;\n id: string;\n lastDownloadedAt: string;\n requestedAt: string;\n status: string;\n }[];\n };\n get_deletion_status: {\n Args: never;\n Returns: Json;\n };\n get_entity_permission: {\n Args: {\n p_entity_id: number;\n p_entity_type: string;\n p_user_id: string;\n };\n Returns: string;\n };\n get_latest_consent: {\n Args: {\n p_consent_type: string;\n p_user_id: string;\n };\n Returns: {\n consent_given: boolean;\n consent_version: string;\n consented_at: string;\n }[];\n };\n get_pending_deletions: {\n Args: never;\n Returns: {\n days_remaining: number;\n email: string;\n full_name: string;\n reason: string;\n request_id: number;\n requested_at: string;\n scheduled_deletion_at: string;\n user_id: string;\n }[];\n };\n get_permission_level: {\n Args: {\n p_permission: string;\n };\n Returns: number;\n };\n get_pk_type: {\n Args: {\n p_schema_name: string;\n p_table_name: string;\n };\n Returns: string;\n };\n get_primary_key_columns: {\n Args: {\n p_table_oid: unknown;\n };\n Returns: string[];\n };\n get_table_count: {\n Args: {\n table_name: string;\n table_schema: string;\n };\n Returns: number;\n };\n get_user_access_keys: {\n Args: {\n user_id: string;\n };\n Returns: {\n access_key: string;\n effect: string;\n expires_at: string;\n source: string;\n source_id: number;\n }[];\n };\n get_user_consents: {\n Args: {\n p_user_id: string;\n };\n Returns: {\n consent_given: boolean;\n consent_type: string;\n consent_version: string;\n consented_at: string;\n }[];\n };\n get_user_entity_permissions: {\n Args: {\n p_entities: Json;\n p_user_id: string;\n };\n Returns: Json;\n };\n get_user_entity_permissions_fast: {\n Args: {\n p_entities: Json;\n p_user_id: string;\n };\n Returns: Json;\n };\n get_user_groups_with_keys: {\n Args: {\n user_id: string;\n };\n Returns: {\n access_keys: string[];\n expires_at: string;\n granted_at: string;\n group_description: string;\n group_id: number;\n group_name: string;\n }[];\n };\n get_user_status: {\n Args: {\n p_user_id?: string;\n };\n Returns: Json;\n };\n grant_user_access: {\n Args: {\n p_access_key: string;\n p_effect?: string;\n p_expires_at?: string;\n p_user_id: string;\n };\n Returns: undefined;\n };\n has_active_consent: {\n Args: {\n p_consent_type: string;\n p_user_id: string;\n };\n Returns: boolean;\n };\n has_entity_access: {\n Args: {\n p_entity_id: number;\n p_entity_type: string;\n p_required_level: string;\n };\n Returns: boolean;\n } | {\n Args: {\n p_entity_id: number;\n p_entity_type: string;\n p_required_level: string;\n p_user_id: string;\n };\n Returns: boolean;\n };\n has_entity_access_fast: {\n Args: {\n p_entity_id: number;\n p_entity_type: string;\n p_required_level: string;\n };\n Returns: boolean;\n } | {\n Args: {\n p_entity_id: number;\n p_entity_type: string;\n p_required_level: string;\n p_user_id: string;\n };\n Returns: boolean;\n };\n has_explicit_deny: {\n Args: {\n access_key: string;\n user_id: string;\n };\n Returns: boolean;\n };\n has_organization_access_key: {\n Args: {\n access_key: string;\n };\n Returns: boolean;\n } | {\n Args: {\n access_key: string;\n user_id: string;\n };\n Returns: boolean;\n };\n has_record_access: {\n Args: {\n p_record_id: string;\n p_schema_name: string;\n p_table_name: string;\n p_user_id: string;\n };\n Returns: boolean;\n };\n has_table_access: {\n Args: {\n p_schema_name: string;\n p_table_name: string;\n p_user_id: string;\n };\n Returns: boolean;\n };\n increment_embedding_job_progress: {\n Args: {\n increment_by: number;\n job_id: string;\n };\n Returns: undefined;\n };\n increment_export_download_count: {\n Args: {\n p_export_id: string;\n };\n Returns: undefined;\n };\n is_profile_active: {\n Args: {\n p_user_id: string;\n };\n Returns: boolean;\n };\n process_pending_deletions: {\n Args: never;\n Returns: Json;\n };\n process_permission_refresh_queue: {\n Args: never;\n Returns: number;\n };\n refresh_effective_permissions: {\n Args: never;\n Returns: undefined;\n };\n request_account_deletion: {\n Args: {\n p_reason?: string;\n };\n Returns: Json;\n };\n search_embedding_ids_by_similarity: {\n Args: {\n query_embedding: string;\n similarity_threshold?: number;\n table_name: string;\n };\n Returns: {\n recordId: string;\n }[];\n };\n search_embeddings: {\n Args: {\n query_embedding: string;\n schema_name?: string;\n similarity_threshold?: number;\n table_name: string;\n };\n Returns: {\n recordId: string;\n score: number;\n }[];\n };\n search_embeddings_by_type: {\n Args: {\n embedding_types?: string[];\n query_embedding: string;\n schema_name?: string;\n similarity_threshold?: number;\n table_name: string;\n };\n Returns: {\n recordId: string;\n score: number;\n }[];\n };\n search_embeddings_detailed: {\n Args: {\n embedding_types?: string[];\n limit_count?: number;\n query_embedding: string;\n schema_name?: string;\n similarity_threshold?: number;\n table_name: string;\n };\n Returns: {\n matchedKeywords: string[];\n matchedTypes: string[];\n recordId: string;\n score: number;\n }[];\n };\n search_embeddings_weighted: {\n Args: {\n query_embedding: string;\n schema_name?: string;\n similarity_threshold?: number;\n table_name: string;\n type_weights?: Json;\n };\n Returns: {\n matchedTypes: string[];\n recordId: string;\n score: number;\n }[];\n };\n search_embeddings_with_keywords: {\n Args: {\n query_embedding: string;\n schema_name?: string;\n similarity_threshold?: number;\n table_name: string;\n };\n Returns: {\n keywords: string[];\n recordId: string;\n score: number;\n }[];\n };\n setup_audit_triggers: {\n Args: never;\n Returns: undefined;\n };\n unarchive_user: {\n Args: {\n p_user_id: string;\n };\n Returns: Json;\n };\n validate_access_key: {\n Args: {\n p_access_key: string;\n };\n Returns: boolean;\n };\n };\n Enums: {\n AdvanceQueryChangeType: \"Removed\" | \"Deleted\" | \"Created\" | \"Updated\" | \"Added\";\n NotificationType: \"App\" | \"Email\" | \"Push\";\n OperationType: \"Insert\" | \"Update\" | \"Delete\";\n PriorityLevel: \"Lowest\" | \"Low\" | \"Medium\" | \"High\" | \"Highest\";\n ProcessStatus: \"Pending\" | \"Executing\" | \"Completed\" | \"Failed\";\n PropertyType: \"String\" | \"Number\" | \"Options\" | \"Date\" | \"Boolean\";\n };\n CompositeTypes: { [_ in never]: never };\n };\n public: {\n Tables: {\n Accessory: {\n Row: {\n accessDbId: number | null;\n cosmosId: string | null;\n cost: number;\n description: string;\n id: number;\n isCostEstimated: boolean;\n manufacturerId: number | null;\n model: string;\n nickname: string;\n weightLb: number;\n };\n Insert: {\n accessDbId?: number | null;\n cosmosId?: string | null;\n cost?: number;\n description?: string;\n id?: never;\n isCostEstimated?: boolean;\n manufacturerId?: number | null;\n model?: string;\n nickname?: string;\n weightLb?: number;\n };\n Update: {\n accessDbId?: number | null;\n cosmosId?: string | null;\n cost?: number;\n description?: string;\n id?: never;\n isCostEstimated?: boolean;\n manufacturerId?: number | null;\n model?: string;\n nickname?: string;\n weightLb?: number;\n };\n Relationships: [{\n foreignKeyName: \"accessory_manufacturer_id_fkey\";\n columns: [\"manufacturerId\"];\n isOneToOne: false;\n referencedRelation: \"Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n Address: {\n Row: {\n city: string;\n cosmosId: string | null;\n country: string;\n id: number;\n state: string;\n street: string;\n zipCode: string;\n };\n Insert: {\n city?: string;\n cosmosId?: string | null;\n country?: string;\n id?: never;\n state?: string;\n street?: string;\n zipCode?: string;\n };\n Update: {\n city?: string;\n cosmosId?: string | null;\n country?: string;\n id?: never;\n state?: string;\n street?: string;\n zipCode?: string;\n };\n Relationships: [];\n };\n AdvanceQuery: {\n Row: {\n categoryId: string;\n createdAt: string;\n createdBy: string;\n filter: Json;\n id: number;\n path: string;\n query: string;\n schema: string;\n table: string;\n title: string;\n };\n Insert: {\n categoryId: string;\n createdAt?: string;\n createdBy?: string;\n filter: Json;\n id?: number;\n path: string;\n query: string;\n schema: string;\n table: string;\n title: string;\n };\n Update: {\n categoryId?: string;\n createdAt?: string;\n createdBy?: string;\n filter?: Json;\n id?: number;\n path?: string;\n query?: string;\n schema?: string;\n table?: string;\n title?: string;\n };\n Relationships: [];\n };\n AdvanceQueryNotificationSetting: {\n Row: {\n advanceQueryId: number;\n changeTypes: Database[\"public\"][\"Enums\"][\"AdvanceQueryChangeType\"][];\n id: number;\n notificationTypes: Database[\"public\"][\"Enums\"][\"NotificationType\"][];\n path: string;\n userId: string;\n };\n Insert: {\n advanceQueryId: number;\n changeTypes: Database[\"public\"][\"Enums\"][\"AdvanceQueryChangeType\"][];\n id?: number;\n notificationTypes: Database[\"public\"][\"Enums\"][\"NotificationType\"][];\n path: string;\n userId?: string;\n };\n Update: {\n advanceQueryId?: number;\n changeTypes?: Database[\"public\"][\"Enums\"][\"AdvanceQueryChangeType\"][];\n id?: number;\n notificationTypes?: Database[\"public\"][\"Enums\"][\"NotificationType\"][];\n path?: string;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"AdvanceQueryNotificationSetting_advanceQueryId_fkey\";\n columns: [\"advanceQueryId\"];\n isOneToOne: false;\n referencedRelation: \"AdvanceQuery\";\n referencedColumns: [\"id\"];\n }];\n };\n BillableService: {\n Row: {\n amountUsd: number;\n billingDetailsId: number;\n chargeTableId: number | null;\n cosmosId: string | null;\n description: string;\n id: number;\n quantity: number;\n rate: number;\n serviceDate: string | null;\n title: string;\n workingPhaseId: number | null;\n };\n Insert: {\n amountUsd?: number;\n billingDetailsId: number;\n chargeTableId?: number | null;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n quantity?: number;\n rate?: number;\n serviceDate?: string | null;\n title?: string;\n workingPhaseId?: number | null;\n };\n Update: {\n amountUsd?: number;\n billingDetailsId?: number;\n chargeTableId?: number | null;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n quantity?: number;\n rate?: number;\n serviceDate?: string | null;\n title?: string;\n workingPhaseId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"BillableService_chargeTableId_fkey\";\n columns: [\"chargeTableId\"];\n isOneToOne: false;\n referencedRelation: \"ChargeTable\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_billable_service_billing_details_id_fkey\";\n columns: [\"billingDetailsId\"];\n isOneToOne: false;\n referencedRelation: \"BillingDetails\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_billable_service_working_phase_id_fkey\";\n columns: [\"workingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }];\n };\n BillingDetails: {\n Row: {\n amount: number;\n chargeTableId: number | null;\n cosmosId: string | null;\n id: number;\n orderHint: string | null;\n rate: number;\n status: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n type: Database[\"public\"][\"Enums\"][\"BillableItemType\"] | null;\n };\n Insert: {\n amount?: number;\n chargeTableId?: number | null;\n cosmosId?: string | null;\n id?: never;\n orderHint?: string | null;\n rate?: number;\n status?: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n type?: Database[\"public\"][\"Enums\"][\"BillableItemType\"] | null;\n };\n Update: {\n amount?: number;\n chargeTableId?: number | null;\n cosmosId?: string | null;\n id?: never;\n orderHint?: string | null;\n rate?: number;\n status?: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n type?: Database[\"public\"][\"Enums\"][\"BillableItemType\"] | null;\n };\n Relationships: [{\n foreignKeyName: \"BillingDetails_chargeTableId_fkey\";\n columns: [\"chargeTableId\"];\n isOneToOne: false;\n referencedRelation: \"ChargeTable\";\n referencedColumns: [\"id\"];\n }];\n };\n CachedEmbedding: {\n Row: {\n key: string;\n value: string | null;\n };\n Insert: {\n key: string;\n value?: string | null;\n };\n Update: {\n key?: string;\n value?: string | null;\n };\n Relationships: [];\n };\n Changelog: {\n Row: {\n createdAt: string;\n createdBy: string | null;\n description: string | null;\n id: string;\n isFeatured: boolean;\n isPublished: boolean;\n metaDescription: string | null;\n metaTitle: string | null;\n releaseDate: string;\n slug: string | null;\n title: string;\n updatedAt: string | null;\n version: string;\n };\n Insert: {\n createdAt?: string;\n createdBy?: string | null;\n description?: string | null;\n id?: string;\n isFeatured?: boolean;\n isPublished?: boolean;\n metaDescription?: string | null;\n metaTitle?: string | null;\n releaseDate: string;\n slug?: string | null;\n title: string;\n updatedAt?: string | null;\n version: string;\n };\n Update: {\n createdAt?: string;\n createdBy?: string | null;\n description?: string | null;\n id?: string;\n isFeatured?: boolean;\n isPublished?: boolean;\n metaDescription?: string | null;\n metaTitle?: string | null;\n releaseDate?: string;\n slug?: string | null;\n title?: string;\n updatedAt?: string | null;\n version?: string;\n };\n Relationships: [];\n };\n ChangelogEntry: {\n Row: {\n category: string;\n changelogId: string;\n content: string;\n createdAt: string;\n id: string;\n order: number;\n slug: string | null;\n title: string;\n updatedAt: string | null;\n };\n Insert: {\n category: string;\n changelogId: string;\n content: string;\n createdAt?: string;\n id?: string;\n order?: number;\n slug?: string | null;\n title: string;\n updatedAt?: string | null;\n };\n Update: {\n category?: string;\n changelogId?: string;\n content?: string;\n createdAt?: string;\n id?: string;\n order?: number;\n slug?: string | null;\n title?: string;\n updatedAt?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"ChangelogEntry_changelogId_fkey\";\n columns: [\"changelogId\"];\n isOneToOne: false;\n referencedRelation: \"Changelog\";\n referencedColumns: [\"id\"];\n }];\n };\n ChangelogMedia: {\n Row: {\n altText: string | null;\n caption: string | null;\n changelogEntryId: string;\n createdAt: string;\n id: string;\n order: number;\n type: string;\n url: string;\n };\n Insert: {\n altText?: string | null;\n caption?: string | null;\n changelogEntryId: string;\n createdAt?: string;\n id?: string;\n order?: number;\n type: string;\n url: string;\n };\n Update: {\n altText?: string | null;\n caption?: string | null;\n changelogEntryId?: string;\n createdAt?: string;\n id?: string;\n order?: number;\n type?: string;\n url?: string;\n };\n Relationships: [{\n foreignKeyName: \"ChangelogMedia_changelogEntryId_fkey\";\n columns: [\"changelogEntryId\"];\n isOneToOne: false;\n referencedRelation: \"ChangelogEntry\";\n referencedColumns: [\"id\"];\n }];\n };\n ChargeTable: {\n Row: {\n amountUsd: number;\n cosmosId: string | null;\n header: string | null;\n id: number;\n invoiceId: number;\n orderHint: string | null;\n };\n Insert: {\n amountUsd?: number;\n cosmosId?: string | null;\n header?: string | null;\n id?: never;\n invoiceId: number;\n orderHint?: string | null;\n };\n Update: {\n amountUsd?: number;\n cosmosId?: string | null;\n header?: string | null;\n id?: never;\n invoiceId?: number;\n orderHint?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"public_charge_table_invoice_id_fkey\";\n columns: [\"invoiceId\"];\n isOneToOne: false;\n referencedRelation: \"Invoice\";\n referencedColumns: [\"id\"];\n }];\n };\n Circuit: {\n Row: {\n description: string | null;\n dimmerModuleId: number;\n dimmerRackId: number;\n dmxAddress: number | null;\n dmxUniverse: number | null;\n ets: boolean;\n id: number;\n phase: string;\n position: number;\n type: string;\n };\n Insert: {\n description?: string | null;\n dimmerModuleId: number;\n dimmerRackId: number;\n dmxAddress?: number | null;\n dmxUniverse?: number | null;\n ets?: boolean;\n id?: never;\n phase: string;\n position: number;\n type: string;\n };\n Update: {\n description?: string | null;\n dimmerModuleId?: number;\n dimmerRackId?: number;\n dmxAddress?: number | null;\n dmxUniverse?: number | null;\n ets?: boolean;\n id?: never;\n phase?: string;\n position?: number;\n type?: string;\n };\n Relationships: [{\n foreignKeyName: \"circuit_dimmermoduleid_fkey\";\n columns: [\"dimmerModuleId\"];\n isOneToOne: false;\n referencedRelation: \"DimmerModule\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"circuit_dimmerrackid_fkey\";\n columns: [\"dimmerRackId\"];\n isOneToOne: false;\n referencedRelation: \"DimmerRack\";\n referencedColumns: [\"id\"];\n }];\n };\n Client: {\n Row: {\n abbreviation: string;\n billingAddressId: number | null;\n color: string;\n companyAddressId: number | null;\n cosmosId: string | null;\n createdAt: string;\n displayName: string;\n id: number;\n isActive: boolean;\n name: string;\n qboDisplayName: string;\n updatedAt: string;\n };\n Insert: {\n abbreviation?: string;\n billingAddressId?: number | null;\n color?: string;\n companyAddressId?: number | null;\n cosmosId?: string | null;\n createdAt?: string;\n displayName?: string;\n id?: number;\n isActive?: boolean;\n name: string;\n qboDisplayName?: string;\n updatedAt?: string;\n };\n Update: {\n abbreviation?: string;\n billingAddressId?: number | null;\n color?: string;\n companyAddressId?: number | null;\n cosmosId?: string | null;\n createdAt?: string;\n displayName?: string;\n id?: number;\n isActive?: boolean;\n name?: string;\n qboDisplayName?: string;\n updatedAt?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_clients_billing_address_id_fkey\";\n columns: [\"billingAddressId\"];\n isOneToOne: false;\n referencedRelation: \"Address\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_clients_company_address_id_fkey\";\n columns: [\"companyAddressId\"];\n isOneToOne: false;\n referencedRelation: \"Address\";\n referencedColumns: [\"id\"];\n }];\n };\n Comment: {\n Row: {\n commentSectionId: number;\n createdAt: string;\n createdBy: string;\n id: number;\n message: string;\n parentId: number | null;\n };\n Insert: {\n commentSectionId: number;\n createdAt?: string;\n createdBy?: string;\n id?: number;\n message: string;\n parentId?: number | null;\n };\n Update: {\n commentSectionId?: number;\n createdAt?: string;\n createdBy?: string;\n id?: number;\n message?: string;\n parentId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"Comment_commentId_fkey\";\n columns: [\"commentSectionId\"];\n isOneToOne: false;\n referencedRelation: \"CommentSection\";\n referencedColumns: [\"id\"];\n }];\n };\n CommentReaction: {\n Row: {\n commentId: number;\n id: number;\n userId: string;\n value: string;\n };\n Insert: {\n commentId: number;\n id?: number;\n userId?: string;\n value: string;\n };\n Update: {\n commentId?: number;\n id?: number;\n userId?: string;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"CommentResponse_commentId_fkey\";\n columns: [\"commentId\"];\n isOneToOne: false;\n referencedRelation: \"Comment\";\n referencedColumns: [\"id\"];\n }];\n };\n CommentRead: {\n Row: {\n commentId: number;\n id: number;\n userId: string;\n };\n Insert: {\n commentId: number;\n id?: number;\n userId?: string;\n };\n Update: {\n commentId?: number;\n id?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"CommentRead_commentId_fkey\";\n columns: [\"commentId\"];\n isOneToOne: false;\n referencedRelation: \"Comment\";\n referencedColumns: [\"id\"];\n }];\n };\n CommentSection: {\n Row: {\n entityId: string;\n entityTableName: string;\n id: number;\n };\n Insert: {\n entityId: string;\n entityTableName: string;\n id?: number;\n };\n Update: {\n entityId?: string;\n entityTableName?: string;\n id?: number;\n };\n Relationships: [];\n };\n CommentTag: {\n Row: {\n commentId: number;\n id: number;\n userId: string;\n };\n Insert: {\n commentId: number;\n id?: number;\n userId: string;\n };\n Update: {\n commentId?: number;\n id?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"CommentTag_commentId_fkey\";\n columns: [\"commentId\"];\n isOneToOne: false;\n referencedRelation: \"Comment\";\n referencedColumns: [\"id\"];\n }];\n };\n CommonNote: {\n Row: {\n categoryId: number | null;\n cosmosId: string | null;\n id: number;\n note: string;\n projectId: number | null;\n standardMeasurementId: number | null;\n subCategoryId: number | null;\n title: string;\n };\n Insert: {\n categoryId?: number | null;\n cosmosId?: string | null;\n id?: never;\n note?: string;\n projectId?: number | null;\n standardMeasurementId?: number | null;\n subCategoryId?: number | null;\n title?: string;\n };\n Update: {\n categoryId?: number | null;\n cosmosId?: string | null;\n id?: never;\n note?: string;\n projectId?: number | null;\n standardMeasurementId?: number | null;\n subCategoryId?: number | null;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"common_note_category_id_fkey\";\n columns: [\"categoryId\"];\n isOneToOne: false;\n referencedRelation: \"CommonNoteCategory\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"common_note_project_id_fkey\";\n columns: [\"projectId\"];\n isOneToOne: false;\n referencedRelation: \"Project\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"common_note_sub_category_id_fkey\";\n columns: [\"subCategoryId\"];\n isOneToOne: false;\n referencedRelation: \"CommonNoteSubCategory\";\n referencedColumns: [\"id\"];\n }];\n };\n CommonNoteCategory: {\n Row: {\n cosmosId: string | null;\n id: number;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n id?: never;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n id?: never;\n title?: string;\n };\n Relationships: [];\n };\n CommonNoteSubCategory: {\n Row: {\n categoryId: number | null;\n cosmosId: string | null;\n id: number;\n title: string;\n };\n Insert: {\n categoryId?: number | null;\n cosmosId?: string | null;\n id?: never;\n title?: string;\n };\n Update: {\n categoryId?: number | null;\n cosmosId?: string | null;\n id?: never;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"common_note_sub_category_category_id_fkey\";\n columns: [\"categoryId\"];\n isOneToOne: false;\n referencedRelation: \"CommonNoteCategory\";\n referencedColumns: [\"id\"];\n }];\n };\n ControlComponent: {\n Row: {\n cosmosId: string | null;\n costUsd: number;\n description: string;\n heightInRackUnit: number;\n id: number;\n internalNotes: string;\n isCostEstimated: boolean;\n manufacturerId: number | null;\n model: string;\n notes: string;\n title: string;\n weightLb: number;\n };\n Insert: {\n cosmosId?: string | null;\n costUsd?: number;\n description?: string;\n heightInRackUnit?: number;\n id?: never;\n internalNotes?: string;\n isCostEstimated?: boolean;\n manufacturerId?: number | null;\n model?: string;\n notes?: string;\n title?: string;\n weightLb?: number;\n };\n Update: {\n cosmosId?: string | null;\n costUsd?: number;\n description?: string;\n heightInRackUnit?: number;\n id?: never;\n internalNotes?: string;\n isCostEstimated?: boolean;\n manufacturerId?: number | null;\n model?: string;\n notes?: string;\n title?: string;\n weightLb?: number;\n };\n Relationships: [{\n foreignKeyName: \"control_component_manufacturer_id_fkey\";\n columns: [\"manufacturerId\"];\n isOneToOne: false;\n referencedRelation: \"Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n ControlComponent_Datasheet: {\n Row: {\n controlComponentId: number | null;\n cosmosId: string | null;\n datasheetId: number | null;\n id: number;\n orderHint: string | null;\n };\n Insert: {\n controlComponentId?: number | null;\n cosmosId?: string | null;\n datasheetId?: number | null;\n id?: never;\n orderHint?: string | null;\n };\n Update: {\n controlComponentId?: number | null;\n cosmosId?: string | null;\n datasheetId?: number | null;\n id?: never;\n orderHint?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"datasheet_entry_control_component_id_fkey\";\n columns: [\"controlComponentId\"];\n isOneToOne: false;\n referencedRelation: \"ControlComponent\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"datasheet_entry_datasheet_id_fkey\";\n columns: [\"datasheetId\"];\n isOneToOne: false;\n referencedRelation: \"Datasheet\";\n referencedColumns: [\"id\"];\n }];\n };\n Controller: {\n Row: {\n description: string;\n displayName: string;\n id: number;\n ipAddress: string;\n projectDatabaseGroupId: number | null;\n udpPort: number | null;\n };\n Insert: {\n description?: string;\n displayName?: string;\n id?: number;\n ipAddress: string;\n projectDatabaseGroupId?: number | null;\n udpPort?: number | null;\n };\n Update: {\n description?: string;\n displayName?: string;\n id?: number;\n ipAddress?: string;\n projectDatabaseGroupId?: number | null;\n udpPort?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"Controller_projectDatabaseGroupId_fkey\";\n columns: [\"projectDatabaseGroupId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabaseGroup\";\n referencedColumns: [\"id\"];\n }];\n };\n Currency: {\n Row: {\n cosmosId: string | null;\n id: number;\n shortName: string;\n symbol: string;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n id?: never;\n shortName?: string;\n symbol?: string;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n id?: never;\n shortName?: string;\n symbol?: string;\n title?: string;\n };\n Relationships: [];\n };\n CurrencyUsdConversion: {\n Row: {\n currencyId: number;\n date: string;\n id: number;\n rateToUsd: number;\n };\n Insert: {\n currencyId: number;\n date: string;\n id?: number;\n rateToUsd: number;\n };\n Update: {\n currencyId?: number;\n date?: string;\n id?: number;\n rateToUsd?: number;\n };\n Relationships: [{\n foreignKeyName: \"CurrencyUsdConversation_currencyId_fkey\";\n columns: [\"currencyId\"];\n isOneToOne: false;\n referencedRelation: \"Currency\";\n referencedColumns: [\"id\"];\n }];\n };\n DataExchangeImport: {\n Row: {\n changesCount: number;\n cosmosId: string | null;\n filePath: string | null;\n id: number;\n importCompletedAt: string | null;\n importedAt: string;\n importedBy: string | null;\n projectDatabaseId: number;\n sourceProjectId: string | null;\n stateSnapshotPath: string | null;\n stateSnapshotSummary: Json | null;\n };\n Insert: {\n changesCount?: number;\n cosmosId?: string | null;\n filePath?: string | null;\n id?: never;\n importCompletedAt?: string | null;\n importedAt?: string;\n importedBy?: string | null;\n projectDatabaseId: number;\n sourceProjectId?: string | null;\n stateSnapshotPath?: string | null;\n stateSnapshotSummary?: Json | null;\n };\n Update: {\n changesCount?: number;\n cosmosId?: string | null;\n filePath?: string | null;\n id?: never;\n importCompletedAt?: string | null;\n importedAt?: string;\n importedBy?: string | null;\n projectDatabaseId?: number;\n sourceProjectId?: string | null;\n stateSnapshotPath?: string | null;\n stateSnapshotSummary?: Json | null;\n };\n Relationships: [{\n foreignKeyName: \"DataExchangeImport_projectDatabaseId_fkey\";\n columns: [\"projectDatabaseId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabase\";\n referencedColumns: [\"id\"];\n }];\n };\n Datasheet: {\n Row: {\n accessDbId: number | null;\n cosmosId: string | null;\n description: string;\n id: number;\n storagePath: string | null;\n title: string;\n };\n Insert: {\n accessDbId?: number | null;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n storagePath?: string | null;\n title?: string;\n };\n Update: {\n accessDbId?: number | null;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n storagePath?: string | null;\n title?: string;\n };\n Relationships: [];\n };\n Dimension: {\n Row: {\n cosmosId: string | null;\n depth: number;\n height: number;\n id: number;\n unitOfMeasurement: Database[\"public\"][\"Enums\"][\"UnitOfMeasurement\"];\n width: number;\n };\n Insert: {\n cosmosId?: string | null;\n depth?: number;\n height?: number;\n id?: never;\n unitOfMeasurement?: Database[\"public\"][\"Enums\"][\"UnitOfMeasurement\"];\n width?: number;\n };\n Update: {\n cosmosId?: string | null;\n depth?: number;\n height?: number;\n id?: never;\n unitOfMeasurement?: Database[\"public\"][\"Enums\"][\"UnitOfMeasurement\"];\n width?: number;\n };\n Relationships: [];\n };\n DimmerModule: {\n Row: {\n createdAt: string | null;\n description: string | null;\n id: number;\n partNumber: string;\n type: string;\n updatedAt: string | null;\n };\n Insert: {\n createdAt?: string | null;\n description?: string | null;\n id?: never;\n partNumber: string;\n type: string;\n updatedAt?: string | null;\n };\n Update: {\n createdAt?: string | null;\n description?: string | null;\n id?: never;\n partNumber?: string;\n type?: string;\n updatedAt?: string | null;\n };\n Relationships: [];\n };\n DimmerRack: {\n Row: {\n buildingNumber: string;\n circuitSize: number;\n id: number;\n location: string;\n name: string;\n projectDatabaseId: number;\n };\n Insert: {\n buildingNumber: string;\n circuitSize: number;\n id?: never;\n location: string;\n name: string;\n projectDatabaseId: number;\n };\n Update: {\n buildingNumber?: string;\n circuitSize?: number;\n id?: never;\n location?: string;\n name?: string;\n projectDatabaseId?: number;\n };\n Relationships: [{\n foreignKeyName: \"dimmerrack_projectdatabaseid_fkey\";\n columns: [\"projectDatabaseId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabase\";\n referencedColumns: [\"id\"];\n }];\n };\n Embedding: {\n Row: {\n cachedEmbeddingKey: string | null;\n id: string;\n recordId: string;\n tableName: string;\n };\n Insert: {\n cachedEmbeddingKey?: string | null;\n id?: string;\n recordId: string;\n tableName: string;\n };\n Update: {\n cachedEmbeddingKey?: string | null;\n id?: string;\n recordId?: string;\n tableName?: string;\n };\n Relationships: [{\n foreignKeyName: \"Embedding_cachedEmbeddingKey_fkey\";\n columns: [\"cachedEmbeddingKey\"];\n isOneToOne: false;\n referencedRelation: \"CachedEmbedding\";\n referencedColumns: [\"key\"];\n }];\n };\n EquipmentConfigurationGroup: {\n Row: {\n cosmosId: string | null;\n description: string;\n id: number;\n notes: string;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n notes?: string;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n notes?: string;\n title?: string;\n };\n Relationships: [];\n };\n EquipmentFixture: {\n Row: {\n accessDbId: number | null;\n canTakeFilter: boolean | null;\n canTakePattern: boolean | null;\n canUseData: boolean;\n canUsePower: boolean;\n class: string;\n colorTempEnd: number;\n colorTempStart: number;\n connector: string;\n cosmosId: string | null;\n creationDate: string | null;\n datasheetDate: string | null;\n defaultMediaContentStatus: Database[\"public\"][\"Enums\"][\"MediaContentStatus\"];\n description: string;\n finish: string;\n glass: string;\n hasData: boolean;\n hasPower: boolean;\n id: number;\n internalNotes: string;\n isAc: boolean;\n isAda: boolean;\n isCustom: boolean;\n isDimmable: boolean;\n isModified: boolean;\n isRetired: boolean;\n lightSource: string;\n manufacturerId: number;\n maxDmxChannels: number;\n model: string;\n nickname: string;\n notes: string;\n rating: string;\n shade: string;\n shadeMaterial: string;\n voltage: number | null;\n voltageThru: number | null;\n watts: number | null;\n };\n Insert: {\n accessDbId?: number | null;\n canTakeFilter?: boolean | null;\n canTakePattern?: boolean | null;\n canUseData?: boolean;\n canUsePower?: boolean;\n class?: string;\n colorTempEnd?: number;\n colorTempStart?: number;\n connector?: string;\n cosmosId?: string | null;\n creationDate?: string | null;\n datasheetDate?: string | null;\n defaultMediaContentStatus?: Database[\"public\"][\"Enums\"][\"MediaContentStatus\"];\n description?: string;\n finish?: string;\n glass?: string;\n hasData?: boolean;\n hasPower?: boolean;\n id?: never;\n internalNotes?: string;\n isAc?: boolean;\n isAda?: boolean;\n isCustom?: boolean;\n isDimmable?: boolean;\n isModified?: boolean;\n isRetired?: boolean;\n lightSource?: string;\n manufacturerId: number;\n maxDmxChannels?: number;\n model?: string;\n nickname?: string;\n notes?: string;\n rating?: string;\n shade?: string;\n shadeMaterial?: string;\n voltage?: number | null;\n voltageThru?: number | null;\n watts?: number | null;\n };\n Update: {\n accessDbId?: number | null;\n canTakeFilter?: boolean | null;\n canTakePattern?: boolean | null;\n canUseData?: boolean;\n canUsePower?: boolean;\n class?: string;\n colorTempEnd?: number;\n colorTempStart?: number;\n connector?: string;\n cosmosId?: string | null;\n creationDate?: string | null;\n datasheetDate?: string | null;\n defaultMediaContentStatus?: Database[\"public\"][\"Enums\"][\"MediaContentStatus\"];\n description?: string;\n finish?: string;\n glass?: string;\n hasData?: boolean;\n hasPower?: boolean;\n id?: never;\n internalNotes?: string;\n isAc?: boolean;\n isAda?: boolean;\n isCustom?: boolean;\n isDimmable?: boolean;\n isModified?: boolean;\n isRetired?: boolean;\n lightSource?: string;\n manufacturerId?: number;\n maxDmxChannels?: number;\n model?: string;\n nickname?: string;\n notes?: string;\n rating?: string;\n shade?: string;\n shadeMaterial?: string;\n voltage?: number | null;\n voltageThru?: number | null;\n watts?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"public_equipment_fixture_manufacturer_id_fkey\";\n columns: [\"manufacturerId\"];\n isOneToOne: false;\n referencedRelation: \"Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureConfiguration: {\n Row: {\n accessDbId: number | null;\n cosmosId: string | null;\n equipmentConfigurationGroupId: number;\n equipmentFixtureId: number;\n equipmentTypeId: number;\n holdOnBuying: boolean | null;\n id: number;\n index: string;\n index2: string;\n installationNotes: string;\n internalNotes: string;\n isExisting: boolean;\n isPurchasedByOthers: boolean;\n mountingType: string;\n notes: string;\n powerConnectionType: string;\n title: string;\n };\n Insert: {\n accessDbId?: number | null;\n cosmosId?: string | null;\n equipmentConfigurationGroupId: number;\n equipmentFixtureId: number;\n equipmentTypeId: number;\n holdOnBuying?: boolean | null;\n id?: never;\n index?: string;\n index2?: string;\n installationNotes?: string;\n internalNotes?: string;\n isExisting?: boolean;\n isPurchasedByOthers?: boolean;\n mountingType?: string;\n notes?: string;\n powerConnectionType?: string;\n title?: string;\n };\n Update: {\n accessDbId?: number | null;\n cosmosId?: string | null;\n equipmentConfigurationGroupId?: number;\n equipmentFixtureId?: number;\n equipmentTypeId?: number;\n holdOnBuying?: boolean | null;\n id?: never;\n index?: string;\n index2?: string;\n installationNotes?: string;\n internalNotes?: string;\n isExisting?: boolean;\n isPurchasedByOthers?: boolean;\n mountingType?: string;\n notes?: string;\n powerConnectionType?: string;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentConfigurationGroupI_fkey\";\n columns: [\"equipmentConfigurationGroupId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentConfigurationGroup\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentTypeId_fkey\";\n columns: [\"equipmentTypeId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentType\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureConfigurationAccessoryEntry: {\n Row: {\n accessoryId: number | null;\n cosmosId: string | null;\n equipmentFixtureConfigurationId: number;\n id: number;\n orderHint: number | null;\n quantity: number;\n };\n Insert: {\n accessoryId?: number | null;\n cosmosId?: string | null;\n equipmentFixtureConfigurationId: number;\n id?: never;\n orderHint?: number | null;\n quantity?: number;\n };\n Update: {\n accessoryId?: number | null;\n cosmosId?: string | null;\n equipmentFixtureConfigurationId?: number;\n id?: never;\n orderHint?: number | null;\n quantity?: number;\n };\n Relationships: [{\n foreignKeyName: \"accessory_entry_accessory_id_fkey\";\n columns: [\"accessoryId\"];\n isOneToOne: false;\n referencedRelation: \"Accessory\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"AccessoryEntry_equipmentFixtureConfigurationId_fkey\";\n columns: [\"equipmentFixtureConfigurationId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureConfiguration\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"AccessoryEntry_equipmentFixtureConfigurationId_fkey\";\n columns: [\"equipmentFixtureConfigurationId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureConfiguration_With_Equipment_AND_EquipmentType\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureConfigurationControlComponentEntry: {\n Row: {\n controlComponentId: number | null;\n cosmos_id: string;\n equipmentFixtureConfigurationId: number | null;\n id: number;\n orderHint: string | null;\n organizationId: number;\n quantity: number;\n };\n Insert: {\n controlComponentId?: number | null;\n cosmos_id: string;\n equipmentFixtureConfigurationId?: number | null;\n id?: never;\n orderHint?: string | null;\n organizationId: number;\n quantity?: number;\n };\n Update: {\n controlComponentId?: number | null;\n cosmos_id?: string;\n equipmentFixtureConfigurationId?: number | null;\n id?: never;\n orderHint?: string | null;\n organizationId?: number;\n quantity?: number;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentFixtureConfiguratio_fkey\";\n columns: [\"equipmentFixtureConfigurationId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureConfiguration\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentFixtureConfiguratio_fkey\";\n columns: [\"equipmentFixtureConfigurationId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureConfiguration_With_Equipment_AND_EquipmentType\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfigurationControlCom_controlComponentId_fkey\";\n columns: [\"controlComponentId\"];\n isOneToOne: false;\n referencedRelation: \"ControlComponent\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfigurationControlCompone_organizationId_fkey\";\n columns: [\"organizationId\"];\n isOneToOne: false;\n referencedRelation: \"Organization\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureCost: {\n Row: {\n cosmosId: string | null;\n costAsOf: string;\n fixtureId: number;\n id: number;\n isEstimated: boolean;\n usd: number;\n };\n Insert: {\n cosmosId?: string | null;\n costAsOf: string;\n fixtureId: number;\n id?: never;\n isEstimated?: boolean;\n usd?: number;\n };\n Update: {\n cosmosId?: string | null;\n costAsOf?: string;\n fixtureId?: number;\n id?: never;\n isEstimated?: boolean;\n usd?: number;\n };\n Relationships: [{\n foreignKeyName: \"equipment_fixture_cost_fixture_id_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"equipment_fixture_cost_fixture_id_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureDatasheet: {\n Row: {\n accessDbId: number | null;\n datasheetId: number;\n fixtureId: number;\n id: number;\n orderHint: string | null;\n };\n Insert: {\n accessDbId?: number | null;\n datasheetId: number;\n fixtureId: number;\n id?: never;\n orderHint?: string | null;\n };\n Update: {\n accessDbId?: number | null;\n datasheetId?: number;\n fixtureId?: number;\n id?: never;\n orderHint?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureDatasheet_datasheetId_fkey\";\n columns: [\"datasheetId\"];\n isOneToOne: false;\n referencedRelation: \"Datasheet\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureDatasheet_fixtureId_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureDatasheet_fixtureId_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureDimension: {\n Row: {\n cosmosId: string | null;\n depth: number | null;\n fixtureId: number;\n height: number | null;\n id: number;\n unitOfMeasurement: Database[\"public\"][\"Enums\"][\"UnitOfMeasurement\"];\n width: number | null;\n };\n Insert: {\n cosmosId?: string | null;\n depth?: number | null;\n fixtureId: number;\n height?: number | null;\n id?: never;\n unitOfMeasurement?: Database[\"public\"][\"Enums\"][\"UnitOfMeasurement\"];\n width?: number | null;\n };\n Update: {\n cosmosId?: string | null;\n depth?: number | null;\n fixtureId?: number;\n height?: number | null;\n id?: never;\n unitOfMeasurement?: Database[\"public\"][\"Enums\"][\"UnitOfMeasurement\"];\n width?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"equipment_fixture_dimensions_fixture_id_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"equipment_fixture_dimensions_fixture_id_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureDocument: {\n Row: {\n description: string | null;\n equipmentFixtureId: number;\n id: number;\n notes: string | null;\n orderHint: number | null;\n storagePath: string | null;\n title: string | null;\n };\n Insert: {\n description?: string | null;\n equipmentFixtureId: number;\n id?: number;\n notes?: string | null;\n orderHint?: number | null;\n storagePath?: string | null;\n title?: string | null;\n };\n Update: {\n description?: string | null;\n equipmentFixtureId?: number;\n id?: number;\n notes?: string | null;\n orderHint?: number | null;\n storagePath?: string | null;\n title?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureDocument_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureDocument_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureLampConfiguration: {\n Row: {\n cosmosId: string | null;\n equipmentFixtureId: number;\n id: number;\n isInc: boolean;\n isIntegral: boolean | null;\n isIntegralDmx: boolean | null;\n isNA: boolean;\n quantity: number;\n };\n Insert: {\n cosmosId?: string | null;\n equipmentFixtureId: number;\n id?: never;\n isInc?: boolean;\n isIntegral?: boolean | null;\n isIntegralDmx?: boolean | null;\n isNA?: boolean;\n quantity?: number;\n };\n Update: {\n cosmosId?: string | null;\n equipmentFixtureId?: number;\n id?: never;\n isInc?: boolean;\n isIntegral?: boolean | null;\n isIntegralDmx?: boolean | null;\n isNA?: boolean;\n quantity?: number;\n };\n Relationships: [{\n foreignKeyName: \"public_equipment_fixture_lamp_configuration_equipment_fixture_i\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_equipment_fixture_lamp_configuration_equipment_fixture_i\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureListing: {\n Row: {\n equipmentFixtureId: number;\n id: number;\n value: string;\n };\n Insert: {\n equipmentFixtureId: number;\n id?: never;\n value?: string;\n };\n Update: {\n equipmentFixtureId?: number;\n id?: never;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_equipment_fixture_listing_equipment_fixture_id_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_equipment_fixture_listing_equipment_fixture_id_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureMode: {\n Row: {\n equipmentFixtureId: number | null;\n id: number;\n maxChannels: number | null;\n name: string | null;\n shortName: string | null;\n };\n Insert: {\n equipmentFixtureId?: number | null;\n id?: never;\n maxChannels?: number | null;\n name?: string | null;\n shortName?: string | null;\n };\n Update: {\n equipmentFixtureId?: number | null;\n id?: never;\n maxChannels?: number | null;\n name?: string | null;\n shortName?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureMode_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureMode_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureModeChannel: {\n Row: {\n channelIndex: number | null;\n equipmentFixtureModeId: number | null;\n id: number;\n name: string | null;\n type: string | null;\n };\n Insert: {\n channelIndex?: number | null;\n equipmentFixtureModeId?: number | null;\n id?: number;\n name?: string | null;\n type?: string | null;\n };\n Update: {\n channelIndex?: number | null;\n equipmentFixtureModeId?: number | null;\n id?: number;\n name?: string | null;\n type?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureModeChannel_equipmentFixtureModeId_fkey\";\n columns: [\"equipmentFixtureModeId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureMode\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixturePreset: {\n Row: {\n channels: number[];\n equipmentFixtureModeId: number;\n id: number;\n level: number;\n name: string;\n };\n Insert: {\n channels: number[];\n equipmentFixtureModeId: number;\n id?: number;\n level: number;\n name: string;\n };\n Update: {\n channels?: number[];\n equipmentFixtureModeId?: number;\n id?: number;\n level?: number;\n name?: string;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixturePreset_equipmentFixtureModeId_fkey\";\n columns: [\"equipmentFixtureModeId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureMode\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureUnit: {\n Row: {\n accessories: string;\n changedBySessionId: string | null;\n channel: string;\n circuit: string;\n cosmosId: string | null;\n description: string;\n equipmentConfigurationId: number;\n externalId: string;\n externalVersionGuid: string;\n filter: string;\n id: number;\n installNotes: string;\n internalNotes: string;\n lcio: string;\n location: string;\n mediaContentsCount: number;\n mediaContentStatus: Database[\"public\"][\"Enums\"][\"MediaContentStatus\"];\n mediaContentStatusPriority: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n modeId: number | null;\n notes: string;\n panel: string;\n projectDatabaseId: number;\n purpose: string;\n settings: string;\n setupNotes: string;\n subPurpose: string;\n unitId: string | null;\n unitLetterIndex: string;\n unitNumber: number;\n unitNumberIndex: number;\n };\n Insert: {\n accessories?: string;\n changedBySessionId?: string | null;\n channel?: string;\n circuit?: string;\n cosmosId?: string | null;\n description?: string;\n equipmentConfigurationId: number;\n externalId?: string;\n externalVersionGuid?: string;\n filter?: string;\n id?: number;\n installNotes?: string;\n internalNotes?: string;\n lcio?: string;\n location?: string;\n mediaContentsCount?: number;\n mediaContentStatus?: Database[\"public\"][\"Enums\"][\"MediaContentStatus\"];\n mediaContentStatusPriority?: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n modeId?: number | null;\n notes?: string;\n panel?: string;\n projectDatabaseId: number;\n purpose?: string;\n settings?: string;\n setupNotes?: string;\n subPurpose?: string;\n unitId?: string | null;\n unitLetterIndex?: string;\n unitNumber: number;\n unitNumberIndex: number;\n };\n Update: {\n accessories?: string;\n changedBySessionId?: string | null;\n channel?: string;\n circuit?: string;\n cosmosId?: string | null;\n description?: string;\n equipmentConfigurationId?: number;\n externalId?: string;\n externalVersionGuid?: string;\n filter?: string;\n id?: number;\n installNotes?: string;\n internalNotes?: string;\n lcio?: string;\n location?: string;\n mediaContentsCount?: number;\n mediaContentStatus?: Database[\"public\"][\"Enums\"][\"MediaContentStatus\"];\n mediaContentStatusPriority?: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n modeId?: number | null;\n notes?: string;\n panel?: string;\n projectDatabaseId?: number;\n purpose?: string;\n settings?: string;\n setupNotes?: string;\n subPurpose?: string;\n unitId?: string | null;\n unitLetterIndex?: string;\n unitNumber?: number;\n unitNumberIndex?: number;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureUnit_equipmentConfigurationId_fkey\";\n columns: [\"equipmentConfigurationId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureConfiguration\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureUnit_equipmentConfigurationId_fkey\";\n columns: [\"equipmentConfigurationId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureConfiguration_With_Equipment_AND_EquipmentType\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureUnit_modeId_fkey\";\n columns: [\"modeId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureMode\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureUnit_projectDatabaseId_fkey\";\n columns: [\"projectDatabaseId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabase\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureUnitControl: {\n Row: {\n controllerId: number | null;\n cosmosId: string | null;\n dmxAddress: string;\n dmxUniverse: string;\n equipmentFixtureUnitId: number;\n id: number;\n isUsingDmx: boolean;\n type: Database[\"public\"][\"Enums\"][\"ControlType\"];\n };\n Insert: {\n controllerId?: number | null;\n cosmosId?: string | null;\n dmxAddress?: string;\n dmxUniverse?: string;\n equipmentFixtureUnitId: number;\n id?: number;\n isUsingDmx?: boolean;\n type?: Database[\"public\"][\"Enums\"][\"ControlType\"];\n };\n Update: {\n controllerId?: number | null;\n cosmosId?: string | null;\n dmxAddress?: string;\n dmxUniverse?: string;\n equipmentFixtureUnitId?: number;\n id?: number;\n isUsingDmx?: boolean;\n type?: Database[\"public\"][\"Enums\"][\"ControlType\"];\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureUnitControl_controllerId_fkey\";\n columns: [\"controllerId\"];\n isOneToOne: false;\n referencedRelation: \"Controller\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureUnitControl_equipmentFixtureUnitId_fkey\";\n columns: [\"equipmentFixtureUnitId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureUnit\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureUnitLocation: {\n Row: {\n createdAt: string;\n equipmentFixtureUnitId: number | null;\n id: number;\n name: string;\n };\n Insert: {\n createdAt?: string;\n equipmentFixtureUnitId?: number | null;\n id?: number;\n name?: string;\n };\n Update: {\n createdAt?: string;\n equipmentFixtureUnitId?: number | null;\n id?: number;\n name?: string;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureUnitLocation_equipmentFixtureUnitId_fkey\";\n columns: [\"equipmentFixtureUnitId\"];\n isOneToOne: true;\n referencedRelation: \"EquipmentFixtureUnit\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureUnitLocationTag: {\n Row: {\n createdAt: string;\n header: string;\n id: number;\n orderHint: number | null;\n projectDatabaseId: number;\n showOnReports: boolean;\n };\n Insert: {\n createdAt?: string;\n header: string;\n id?: number;\n orderHint?: number | null;\n projectDatabaseId: number;\n showOnReports?: boolean;\n };\n Update: {\n createdAt?: string;\n header?: string;\n id?: number;\n orderHint?: number | null;\n projectDatabaseId?: number;\n showOnReports?: boolean;\n };\n Relationships: [{\n foreignKeyName: \"ProjectDatabaseLocationTag_projectDatabaseId_fkey\";\n columns: [\"projectDatabaseId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabase\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureUnitLocationTagValue: {\n Row: {\n createdAt: string;\n equipmentFixtureUnitLocationId: number;\n equipmentFixtureUnitLocationTagId: number;\n id: number;\n value: string;\n };\n Insert: {\n createdAt?: string;\n equipmentFixtureUnitLocationId: number;\n equipmentFixtureUnitLocationTagId: number;\n id?: number;\n value: string;\n };\n Update: {\n createdAt?: string;\n equipmentFixtureUnitLocationId?: number;\n equipmentFixtureUnitLocationTagId?: number;\n id?: number;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureUnitLocation_equipmentFixtureUnitLocation_fkey1\";\n columns: [\"equipmentFixtureUnitLocationTagId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureUnitLocationTag\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureUnitLocationT_equipmentFixtureUnitLocation_fkey\";\n columns: [\"equipmentFixtureUnitLocationId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureUnitLocation\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureUnitPatternEntry: {\n Row: {\n equipmentFixtureUnitId: number;\n id: number;\n patternId: number;\n patternSize: string;\n position: number;\n };\n Insert: {\n equipmentFixtureUnitId: number;\n id?: never;\n patternId: number;\n patternSize?: string;\n position?: number;\n };\n Update: {\n equipmentFixtureUnitId?: number;\n id?: never;\n patternId?: number;\n patternSize?: string;\n position?: number;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureUnitPatternEntry_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureUnitId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureUnit\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureUnitPatternEntry_patternId_fkey\";\n columns: [\"patternId\"];\n isOneToOne: false;\n referencedRelation: \"Pattern\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureWeight: {\n Row: {\n cosmosId: string | null;\n fixtureId: number;\n id: number;\n isEstimated: boolean;\n unitOfMass: Database[\"public\"][\"Enums\"][\"UnitOfMass\"];\n value: number | null;\n };\n Insert: {\n cosmosId?: string | null;\n fixtureId: number;\n id?: never;\n isEstimated?: boolean;\n unitOfMass?: Database[\"public\"][\"Enums\"][\"UnitOfMass\"];\n value?: number | null;\n };\n Update: {\n cosmosId?: string | null;\n fixtureId?: number;\n id?: never;\n isEstimated?: boolean;\n unitOfMass?: Database[\"public\"][\"Enums\"][\"UnitOfMass\"];\n value?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"equipment_fixture_weight_fixture_id_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"equipment_fixture_weight_fixture_id_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentType: {\n Row: {\n accessDbId: number | null;\n code: string;\n cosmosId: string | null;\n description: string;\n id: number;\n showInDatasheet: boolean;\n };\n Insert: {\n accessDbId?: number | null;\n code?: string;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n showInDatasheet?: boolean;\n };\n Update: {\n accessDbId?: number | null;\n code?: string;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n showInDatasheet?: boolean;\n };\n Relationships: [];\n };\n EquipmentUnitMediaContent: {\n Row: {\n cosmosId: string | null;\n description: string;\n equipmentUnitId: number;\n id: number;\n internalNotes: string;\n isOfficial: boolean;\n needsReview: boolean;\n notes: string;\n orderHint: number | null;\n reviewPriority: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n storagePath: string | null;\n takenOn: string | null;\n title: string;\n type: Database[\"public\"][\"Enums\"][\"UnitMediaType\"] | null;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n equipmentUnitId: number;\n id?: number;\n internalNotes?: string;\n isOfficial?: boolean;\n needsReview?: boolean;\n notes?: string;\n orderHint?: number | null;\n reviewPriority?: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n storagePath?: string | null;\n takenOn?: string | null;\n title?: string;\n type?: Database[\"public\"][\"Enums\"][\"UnitMediaType\"] | null;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n equipmentUnitId?: number;\n id?: number;\n internalNotes?: string;\n isOfficial?: boolean;\n needsReview?: boolean;\n notes?: string;\n orderHint?: number | null;\n reviewPriority?: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n storagePath?: string | null;\n takenOn?: string | null;\n title?: string;\n type?: Database[\"public\"][\"Enums\"][\"UnitMediaType\"] | null;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentUnitMediaContent_equipmentUnitId_fkey\";\n columns: [\"equipmentUnitId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixtureUnit\";\n referencedColumns: [\"id\"];\n }];\n };\n Expense: {\n Row: {\n billingDetailsId: number;\n cosmosId: string | null;\n currencyId: number | null;\n currencyRateToUsd: number;\n embeddingId: string;\n expenseReportId: number;\n hasCustomCurrencyRate: boolean;\n id: number;\n merchantName: string;\n printSetting: Json | null;\n storagePath: string | null;\n txnDate: string | null;\n workingPhaseId: number | null;\n };\n Insert: {\n billingDetailsId: number;\n cosmosId?: string | null;\n currencyId?: number | null;\n currencyRateToUsd?: number;\n embeddingId?: string;\n expenseReportId: number;\n hasCustomCurrencyRate?: boolean;\n id?: never;\n merchantName?: string;\n printSetting?: Json | null;\n storagePath?: string | null;\n txnDate?: string | null;\n workingPhaseId?: number | null;\n };\n Update: {\n billingDetailsId?: number;\n cosmosId?: string | null;\n currencyId?: number | null;\n currencyRateToUsd?: number;\n embeddingId?: string;\n expenseReportId?: number;\n hasCustomCurrencyRate?: boolean;\n id?: never;\n merchantName?: string;\n printSetting?: Json | null;\n storagePath?: string | null;\n txnDate?: string | null;\n workingPhaseId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"Expense_billingDetailsId_fkey\";\n columns: [\"billingDetailsId\"];\n isOneToOne: true;\n referencedRelation: \"BillingDetails\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"Expense_workingPhaseId_fkey\";\n columns: [\"workingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_expense_currency_id_fkey\";\n columns: [\"currencyId\"];\n isOneToOne: false;\n referencedRelation: \"Currency\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_expense_expense_report_id_fkey\";\n columns: [\"expenseReportId\"];\n isOneToOne: false;\n referencedRelation: \"ExpenseReport\";\n referencedColumns: [\"id\"];\n }];\n };\n ExpenseLineItem: {\n Row: {\n adminAmount: number | null;\n adminNotes: string;\n amount: number;\n cosmosId: string | null;\n currencyRateToUsd: number;\n description: string;\n expenseId: number;\n hasCustomCurrencyRate: boolean;\n id: number;\n statusReason: string;\n taxCategoryId: number | null;\n userNotes: string;\n };\n Insert: {\n adminAmount?: number | null;\n adminNotes?: string;\n amount?: number;\n cosmosId?: string | null;\n currencyRateToUsd?: number;\n description?: string;\n expenseId: number;\n hasCustomCurrencyRate?: boolean;\n id?: never;\n statusReason?: string;\n taxCategoryId?: number | null;\n userNotes?: string;\n };\n Update: {\n adminAmount?: number | null;\n adminNotes?: string;\n amount?: number;\n cosmosId?: string | null;\n currencyRateToUsd?: number;\n description?: string;\n expenseId?: number;\n hasCustomCurrencyRate?: boolean;\n id?: never;\n statusReason?: string;\n taxCategoryId?: number | null;\n userNotes?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_expense_line_item_expense_id_fkey\";\n columns: [\"expenseId\"];\n isOneToOne: false;\n referencedRelation: \"Expense\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_expense_line_item_tax_category_id_fkey\";\n columns: [\"taxCategoryId\"];\n isOneToOne: false;\n referencedRelation: \"TaxCategory\";\n referencedColumns: [\"id\"];\n }];\n };\n ExpenseReport: {\n Row: {\n approvedAmountUsd: number;\n approvedExpensesCount: number;\n certifiedDateTime: string | null;\n cosmosId: string | null;\n globalExpenseReportId: number;\n id: number;\n notes: string;\n pendingAmountUsd: number;\n reimbursedAmountUsd: number;\n status: Database[\"public\"][\"Enums\"][\"ExpenseReportStatus\"];\n totalAmountUsd: number;\n totalExpensesCount: number;\n userId: string;\n };\n Insert: {\n approvedAmountUsd?: number;\n approvedExpensesCount?: number;\n certifiedDateTime?: string | null;\n cosmosId?: string | null;\n globalExpenseReportId: number;\n id?: never;\n notes?: string;\n pendingAmountUsd?: number;\n reimbursedAmountUsd?: number;\n status?: Database[\"public\"][\"Enums\"][\"ExpenseReportStatus\"];\n totalAmountUsd?: number;\n totalExpensesCount?: number;\n userId?: string;\n };\n Update: {\n approvedAmountUsd?: number;\n approvedExpensesCount?: number;\n certifiedDateTime?: string | null;\n cosmosId?: string | null;\n globalExpenseReportId?: number;\n id?: never;\n notes?: string;\n pendingAmountUsd?: number;\n reimbursedAmountUsd?: number;\n status?: Database[\"public\"][\"Enums\"][\"ExpenseReportStatus\"];\n totalAmountUsd?: number;\n totalExpensesCount?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_expense_report_global_expense_report_id_fkey\";\n columns: [\"globalExpenseReportId\"];\n isOneToOne: false;\n referencedRelation: \"GlobalExpenseReport\";\n referencedColumns: [\"id\"];\n }];\n };\n Fixture: {\n Row: {\n attachmentEmbedding: string | null;\n attachmentPhrase: string | null;\n cosmosId: string | null;\n description: string;\n detailEmbedding: string | null;\n id: number;\n isActiveLink: boolean;\n isInFavorites: boolean;\n linkLastChecked: string | null;\n manufacturerName: string;\n name: string;\n storagePath: string | null;\n url: string;\n viewCount: number;\n };\n Insert: {\n attachmentEmbedding?: string | null;\n attachmentPhrase?: string | null;\n cosmosId?: string | null;\n description?: string;\n detailEmbedding?: string | null;\n id?: never;\n isActiveLink?: boolean;\n isInFavorites?: boolean;\n linkLastChecked?: string | null;\n manufacturerName?: string;\n name?: string;\n storagePath?: string | null;\n url?: string;\n viewCount?: number;\n };\n Update: {\n attachmentEmbedding?: string | null;\n attachmentPhrase?: string | null;\n cosmosId?: string | null;\n description?: string;\n detailEmbedding?: string | null;\n id?: never;\n isActiveLink?: boolean;\n isInFavorites?: boolean;\n linkLastChecked?: string | null;\n manufacturerName?: string;\n name?: string;\n storagePath?: string | null;\n url?: string;\n viewCount?: number;\n };\n Relationships: [];\n };\n FixtureCatalog: {\n Row: {\n cosmosId: string | null;\n description: string;\n id: number;\n publicAccessType: Database[\"public\"][\"Enums\"][\"PublicAccessType\"];\n title: string;\n userId: string | null;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n publicAccessType?: Database[\"public\"][\"Enums\"][\"PublicAccessType\"];\n title?: string;\n userId?: string | null;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n publicAccessType?: Database[\"public\"][\"Enums\"][\"PublicAccessType\"];\n title?: string;\n userId?: string | null;\n };\n Relationships: [];\n };\n FixtureCatalogItem: {\n Row: {\n catalogId: number | null;\n cosmosId: string | null;\n fixtureId: number | null;\n id: number;\n };\n Insert: {\n catalogId?: number | null;\n cosmosId?: string | null;\n fixtureId?: number | null;\n id?: never;\n };\n Update: {\n catalogId?: number | null;\n cosmosId?: string | null;\n fixtureId?: number | null;\n id?: never;\n };\n Relationships: [{\n foreignKeyName: \"FixtureCatalogItem_catalogId_fkey\";\n columns: [\"catalogId\"];\n isOneToOne: false;\n referencedRelation: \"FixtureCatalog\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"FixtureCatalogItem_fixtureId_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"Fixture\";\n referencedColumns: [\"id\"];\n }];\n };\n FixtureCategory: {\n Row: {\n fixtureId: number;\n value: string;\n };\n Insert: {\n fixtureId: number;\n value?: string;\n };\n Update: {\n fixtureId?: number;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"FixtureCategory_fixtureId_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"Fixture\";\n referencedColumns: [\"id\"];\n }];\n };\n FixtureTag: {\n Row: {\n fixtureId: number;\n value: string;\n };\n Insert: {\n fixtureId: number;\n value?: string;\n };\n Update: {\n fixtureId?: number;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"FixtureTag_fixtureId_fkey\";\n columns: [\"fixtureId\"];\n isOneToOne: false;\n referencedRelation: \"Fixture\";\n referencedColumns: [\"id\"];\n }];\n };\n GlobalExpenseReport: {\n Row: {\n cosmosId: string | null;\n defaultWorkingPhaseId: number | null;\n description: string;\n endDate: string | null;\n id: number;\n projectId: number | null;\n startDate: string | null;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n defaultWorkingPhaseId?: number | null;\n description?: string;\n endDate?: string | null;\n id?: never;\n projectId?: number | null;\n startDate?: string | null;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n defaultWorkingPhaseId?: number | null;\n description?: string;\n endDate?: string | null;\n id?: never;\n projectId?: number | null;\n startDate?: string | null;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_global_expense_report_default_working_phase_id_fkey\";\n columns: [\"defaultWorkingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_global_expense_report_project_id_fkey\";\n columns: [\"projectId\"];\n isOneToOne: false;\n referencedRelation: \"Project\";\n referencedColumns: [\"id\"];\n }];\n };\n HighlightServer: {\n Row: {\n id: string;\n projectDatabaseGroupId: number | null;\n projectDatabaseId: number;\n };\n Insert: {\n id?: string;\n projectDatabaseGroupId?: number | null;\n projectDatabaseId: number;\n };\n Update: {\n id?: string;\n projectDatabaseGroupId?: number | null;\n projectDatabaseId?: number;\n };\n Relationships: [{\n foreignKeyName: \"HighlightServer_projectDatabaseGroupId_fkey\";\n columns: [\"projectDatabaseGroupId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabaseGroup\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"HighlightServer_projectDatabaseId_fkey\";\n columns: [\"projectDatabaseId\"];\n isOneToOne: true;\n referencedRelation: \"ProjectDatabase\";\n referencedColumns: [\"id\"];\n }];\n };\n HighlightServerInstance: {\n Row: {\n currentStatusId: string | null;\n highlightServerId: string;\n id: string;\n lastHeardOn: string;\n macAddress: string;\n timeSpentOn: number;\n updateSentOn: string;\n };\n Insert: {\n currentStatusId?: string | null;\n highlightServerId: string;\n id?: string;\n lastHeardOn?: string;\n macAddress: string;\n timeSpentOn?: number;\n updateSentOn: string;\n };\n Update: {\n currentStatusId?: string | null;\n highlightServerId?: string;\n id?: string;\n lastHeardOn?: string;\n macAddress?: string;\n timeSpentOn?: number;\n updateSentOn?: string;\n };\n Relationships: [{\n foreignKeyName: \"HighlightServerInstance_currentStatusId_fkey\";\n columns: [\"currentStatusId\"];\n isOneToOne: false;\n referencedRelation: \"HighlightServerInstanceStatus\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"HighlightServerInstance_highlightServerId_fkey\";\n columns: [\"highlightServerId\"];\n isOneToOne: false;\n referencedRelation: \"HighlightServer\";\n referencedColumns: [\"id\"];\n }];\n };\n HighlightServerInstanceLog: {\n Row: {\n createdAt: string;\n highlightServerInstanceId: string;\n id: number;\n level: string;\n message: string;\n };\n Insert: {\n createdAt?: string;\n highlightServerInstanceId: string;\n id?: number;\n level: string;\n message: string;\n };\n Update: {\n createdAt?: string;\n highlightServerInstanceId?: string;\n id?: number;\n level?: string;\n message?: string;\n };\n Relationships: [{\n foreignKeyName: \"HighlightServerInstanceLog_highlightServerInstanceId_fkey\";\n columns: [\"highlightServerInstanceId\"];\n isOneToOne: false;\n referencedRelation: \"HighlightServerInstance\";\n referencedColumns: [\"id\"];\n }];\n };\n HighlightServerInstanceOptions: {\n Row: {\n gatewayForEth: string | null;\n gatewayForWifi: string | null;\n highlightServerInstanceId: string;\n id: string;\n interval: number;\n ipAddressForEth: string | null;\n ipAddressForWifi: string | null;\n logLevel: string;\n passwordForWifi: string | null;\n restartRequestedOn: string;\n ssidForWifi: string | null;\n subnetForEth: string | null;\n subnetForWifi: string | null;\n targetIpAddress: string | null;\n udpPort: string | null;\n };\n Insert: {\n gatewayForEth?: string | null;\n gatewayForWifi?: string | null;\n highlightServerInstanceId: string;\n id?: string;\n interval?: number;\n ipAddressForEth?: string | null;\n ipAddressForWifi?: string | null;\n logLevel?: string;\n passwordForWifi?: string | null;\n restartRequestedOn?: string;\n ssidForWifi?: string | null;\n subnetForEth?: string | null;\n subnetForWifi?: string | null;\n targetIpAddress?: string | null;\n udpPort?: string | null;\n };\n Update: {\n gatewayForEth?: string | null;\n gatewayForWifi?: string | null;\n highlightServerInstanceId?: string;\n id?: string;\n interval?: number;\n ipAddressForEth?: string | null;\n ipAddressForWifi?: string | null;\n logLevel?: string;\n passwordForWifi?: string | null;\n restartRequestedOn?: string;\n ssidForWifi?: string | null;\n subnetForEth?: string | null;\n subnetForWifi?: string | null;\n targetIpAddress?: string | null;\n udpPort?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"HighlightServerOptions_highlightServerInstanceId_fkey\";\n columns: [\"highlightServerInstanceId\"];\n isOneToOne: true;\n referencedRelation: \"HighlightServerInstance\";\n referencedColumns: [\"id\"];\n }];\n };\n HighlightServerInstanceStatus: {\n Row: {\n hint: string | null;\n id: string;\n reason: string | null;\n status: string | null;\n };\n Insert: {\n hint?: string | null;\n id: string;\n reason?: string | null;\n status?: string | null;\n };\n Update: {\n hint?: string | null;\n id?: string;\n reason?: string | null;\n status?: string | null;\n };\n Relationships: [];\n };\n HighlightServerRequest: {\n Row: {\n action: string;\n address: string;\n attemptedOn: string | null;\n controllerId: number | null;\n highlightServerInstanceId: string;\n id: number;\n isActive: boolean;\n level: string;\n requestedOn: string;\n serverResponse: string | null;\n status: Database[\"public\"][\"Enums\"][\"HighlightStatus\"] | null;\n timeToComplete: number | null;\n universe: string;\n };\n Insert: {\n action: string;\n address: string;\n attemptedOn?: string | null;\n controllerId?: number | null;\n highlightServerInstanceId?: string;\n id?: number;\n isActive?: boolean;\n level?: string;\n requestedOn?: string;\n serverResponse?: string | null;\n status?: Database[\"public\"][\"Enums\"][\"HighlightStatus\"] | null;\n timeToComplete?: number | null;\n universe: string;\n };\n Update: {\n action?: string;\n address?: string;\n attemptedOn?: string | null;\n controllerId?: number | null;\n highlightServerInstanceId?: string;\n id?: number;\n isActive?: boolean;\n level?: string;\n requestedOn?: string;\n serverResponse?: string | null;\n status?: Database[\"public\"][\"Enums\"][\"HighlightStatus\"] | null;\n timeToComplete?: number | null;\n universe?: string;\n };\n Relationships: [{\n foreignKeyName: \"HighlightServerRequest_controllerId_fkey\";\n columns: [\"controllerId\"];\n isOneToOne: false;\n referencedRelation: \"Controller\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"HighlightServerRequest_highlightServerInstanceId_fkey\";\n columns: [\"highlightServerInstanceId\"];\n isOneToOne: false;\n referencedRelation: \"HighlightServerInstance\";\n referencedColumns: [\"id\"];\n }];\n };\n Invoice: {\n Row: {\n amountPaid: number;\n changeOrderNumber: string;\n contractNumber: string;\n cosmosId: string | null;\n datePaid: string | null;\n deductions: number;\n dueDate: string | null;\n id: number;\n internalName: string;\n invoiceDate: string | null;\n invoiceNumber: string;\n invoiceTotal: number;\n memo: string;\n pdfSettings: Json | null;\n projectId: number | null;\n status: Database[\"public\"][\"Enums\"][\"InvoiceStatus\"];\n subtotal: number;\n summaryTableId: number;\n termId: number | null;\n totalAmountDue: number;\n };\n Insert: {\n amountPaid?: number;\n changeOrderNumber?: string;\n contractNumber?: string;\n cosmosId?: string | null;\n datePaid?: string | null;\n deductions?: number;\n dueDate?: string | null;\n id?: never;\n internalName?: string;\n invoiceDate?: string | null;\n invoiceNumber?: string;\n invoiceTotal?: number;\n memo?: string;\n pdfSettings?: Json | null;\n projectId?: number | null;\n status?: Database[\"public\"][\"Enums\"][\"InvoiceStatus\"];\n subtotal?: number;\n summaryTableId: number;\n termId?: number | null;\n totalAmountDue?: number;\n };\n Update: {\n amountPaid?: number;\n changeOrderNumber?: string;\n contractNumber?: string;\n cosmosId?: string | null;\n datePaid?: string | null;\n deductions?: number;\n dueDate?: string | null;\n id?: never;\n internalName?: string;\n invoiceDate?: string | null;\n invoiceNumber?: string;\n invoiceTotal?: number;\n memo?: string;\n pdfSettings?: Json | null;\n projectId?: number | null;\n status?: Database[\"public\"][\"Enums\"][\"InvoiceStatus\"];\n subtotal?: number;\n summaryTableId?: number;\n termId?: number | null;\n totalAmountDue?: number;\n };\n Relationships: [{\n foreignKeyName: \"public_invoice_project_id_fkey\";\n columns: [\"projectId\"];\n isOneToOne: false;\n referencedRelation: \"Project\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_invoice_summary_table_id_fkey\";\n columns: [\"summaryTableId\"];\n isOneToOne: true;\n referencedRelation: \"InvoiceSummaryTable\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_invoice_term_id_fkey\";\n columns: [\"termId\"];\n isOneToOne: false;\n referencedRelation: \"InvoiceTerm\";\n referencedColumns: [\"id\"];\n }];\n };\n InvoiceSummaryTable: {\n Row: {\n amountUsd: number;\n cosmosId: string | null;\n header: string;\n id: number;\n };\n Insert: {\n amountUsd?: number;\n cosmosId?: string | null;\n header?: string;\n id?: never;\n };\n Update: {\n amountUsd?: number;\n cosmosId?: string | null;\n header?: string;\n id?: never;\n };\n Relationships: [];\n };\n InvoiceTerm: {\n Row: {\n cosmosId: string | null;\n description: string;\n id: number;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n title?: string;\n };\n Relationships: [];\n };\n InvoiceTermCondition: {\n Row: {\n amount: number;\n cosmosId: string | null;\n daysAfterInvoiceDate: number;\n id: number;\n invoiceTermId: number;\n isAmountDiscount: boolean;\n isAmountPercentage: boolean;\n isPastDue: boolean;\n };\n Insert: {\n amount?: number;\n cosmosId?: string | null;\n daysAfterInvoiceDate?: number;\n id?: never;\n invoiceTermId: number;\n isAmountDiscount?: boolean;\n isAmountPercentage?: boolean;\n isPastDue?: boolean;\n };\n Update: {\n amount?: number;\n cosmosId?: string | null;\n daysAfterInvoiceDate?: number;\n id?: never;\n invoiceTermId?: number;\n isAmountDiscount?: boolean;\n isAmountPercentage?: boolean;\n isPastDue?: boolean;\n };\n Relationships: [{\n foreignKeyName: \"public_invoice_term_condition_invoice_term_id_fkey\";\n columns: [\"invoiceTermId\"];\n isOneToOne: false;\n referencedRelation: \"InvoiceTerm\";\n referencedColumns: [\"id\"];\n }];\n };\n Lamp: {\n Row: {\n accessDbId: number;\n base: string;\n beamAngle: number;\n colorTemp: number;\n cosmosId: string | null;\n costUsd: number;\n description: string;\n finish: string;\n id: number;\n isCostEstimated: boolean;\n lifeSpanInHours: number;\n lumens: number;\n manufacturerId: number | null;\n model: string;\n notes: string;\n typeId: number | null;\n volts: number;\n watts: number;\n };\n Insert: {\n accessDbId: number;\n base?: string;\n beamAngle?: number;\n colorTemp?: number;\n cosmosId?: string | null;\n costUsd?: number;\n description?: string;\n finish?: string;\n id?: never;\n isCostEstimated?: boolean;\n lifeSpanInHours?: number;\n lumens?: number;\n manufacturerId?: number | null;\n model?: string;\n notes?: string;\n typeId?: number | null;\n volts?: number;\n watts?: number;\n };\n Update: {\n accessDbId?: number;\n base?: string;\n beamAngle?: number;\n colorTemp?: number;\n cosmosId?: string | null;\n costUsd?: number;\n description?: string;\n finish?: string;\n id?: never;\n isCostEstimated?: boolean;\n lifeSpanInHours?: number;\n lumens?: number;\n manufacturerId?: number | null;\n model?: string;\n notes?: string;\n typeId?: number | null;\n volts?: number;\n watts?: number;\n };\n Relationships: [{\n foreignKeyName: \"lamp_manufacturer_id_fkey\";\n columns: [\"manufacturerId\"];\n isOneToOne: false;\n referencedRelation: \"Manufacturer\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"lamp_type_id_fkey\";\n columns: [\"typeId\"];\n isOneToOne: false;\n referencedRelation: \"LampType\";\n referencedColumns: [\"id\"];\n }];\n };\n LampCategory: {\n Row: {\n accessDbId: number;\n description: string;\n id: number;\n title: string;\n };\n Insert: {\n accessDbId: number;\n description?: string;\n id?: never;\n title?: string;\n };\n Update: {\n accessDbId?: number;\n description?: string;\n id?: never;\n title?: string;\n };\n Relationships: [];\n };\n LampCurrentListing: {\n Row: {\n id: number;\n lampId: number | null;\n value: string;\n };\n Insert: {\n id?: never;\n lampId?: number | null;\n value?: string;\n };\n Update: {\n id?: never;\n lampId?: number | null;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"LampCurrentListing_lampId_fkey\";\n columns: [\"lampId\"];\n isOneToOne: false;\n referencedRelation: \"Lamp\";\n referencedColumns: [\"id\"];\n }];\n };\n LampType: {\n Row: {\n accessDbId: number;\n cosmosId: string | null;\n description: string;\n id: number;\n lampCategoryId: number;\n title: string;\n };\n Insert: {\n accessDbId: number;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n lampCategoryId: number;\n title?: string;\n };\n Update: {\n accessDbId?: number;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n lampCategoryId?: number;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"LampType_lampCategoryId_fkey\";\n columns: [\"lampCategoryId\"];\n isOneToOne: false;\n referencedRelation: \"LampCategory\";\n referencedColumns: [\"id\"];\n }];\n };\n LicenseAssignment: {\n Row: {\n subscriptionId: string;\n userId: string;\n };\n Insert: {\n subscriptionId: string;\n userId: string;\n };\n Update: {\n subscriptionId?: string;\n userId?: string;\n };\n Relationships: [];\n };\n Logo: {\n Row: {\n cosmosId: string | null;\n description: string;\n id: number;\n storagePath: string | null;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n storagePath?: string | null;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n storagePath?: string | null;\n title?: string;\n };\n Relationships: [];\n };\n Manufacturer: {\n Row: {\n accessDbId: number | null;\n addressId: number | null;\n catalogRecieved: string | null;\n codeName: string;\n cosmosId: string | null;\n id: number;\n metadata: Json | null;\n name: string;\n notes: string;\n state: string;\n website: string;\n };\n Insert: {\n accessDbId?: number | null;\n addressId?: number | null;\n catalogRecieved?: string | null;\n codeName?: string;\n cosmosId?: string | null;\n id?: never;\n metadata?: Json | null;\n name?: string;\n notes: string;\n state?: string;\n website?: string;\n };\n Update: {\n accessDbId?: number | null;\n addressId?: number | null;\n catalogRecieved?: string | null;\n codeName?: string;\n cosmosId?: string | null;\n id?: never;\n metadata?: Json | null;\n name?: string;\n notes?: string;\n state?: string;\n website?: string;\n };\n Relationships: [];\n };\n ManufacturerTag: {\n Row: {\n id: number;\n manufacturerId: number;\n value: string;\n };\n Insert: {\n id?: never;\n manufacturerId: number;\n value: string;\n };\n Update: {\n id?: never;\n manufacturerId?: number;\n value?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_manufacturer_tag_manufacturer_id_fkey\";\n columns: [\"manufacturerId\"];\n isOneToOne: false;\n referencedRelation: \"Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n ManufacturerToTag: {\n Row: {\n id: number;\n manufacturerId: number;\n tagId: number;\n };\n Insert: {\n id?: number;\n manufacturerId: number;\n tagId: number;\n };\n Update: {\n id?: number;\n manufacturerId?: number;\n tagId?: number;\n };\n Relationships: [{\n foreignKeyName: \"ManufacturerToTag_manufacturerId_fkey\";\n columns: [\"manufacturerId\"];\n isOneToOne: false;\n referencedRelation: \"Manufacturer\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"ManufacturerToTag_tagId_fkey\";\n columns: [\"tagId\"];\n isOneToOne: false;\n referencedRelation: \"Tag\";\n referencedColumns: [\"id\"];\n }];\n };\n OperationLog: {\n Row: {\n changeAt: string;\n changeBy: string | null;\n columnName: string | null;\n id: number;\n newValue: string | null;\n oldValue: string | null;\n operationType: Database[\"public\"][\"Enums\"][\"OperationType\"];\n recordId: number;\n sessionId: string | null;\n tableName: string;\n };\n Insert: {\n changeAt?: string;\n changeBy?: string | null;\n columnName?: string | null;\n id?: number;\n newValue?: string | null;\n oldValue?: string | null;\n operationType: Database[\"public\"][\"Enums\"][\"OperationType\"];\n recordId: number;\n sessionId?: string | null;\n tableName: string;\n };\n Update: {\n changeAt?: string;\n changeBy?: string | null;\n columnName?: string | null;\n id?: number;\n newValue?: string | null;\n oldValue?: string | null;\n operationType?: Database[\"public\"][\"Enums\"][\"OperationType\"];\n recordId?: number;\n sessionId?: string | null;\n tableName?: string;\n };\n Relationships: [];\n };\n OrderHinted: {\n Row: {\n id: number;\n orderHint: number | null;\n value: string;\n };\n Insert: {\n id?: number;\n orderHint?: number | null;\n value: string;\n };\n Update: {\n id?: number;\n orderHint?: number | null;\n value?: string;\n };\n Relationships: [];\n };\n Organization: {\n Row: {\n billingEmail: string | null;\n cosmosId: string | null;\n customerId: string | null;\n id: number;\n logoDarkPath: string | null;\n logoLightPath: string | null;\n name: string;\n };\n Insert: {\n billingEmail?: string | null;\n cosmosId?: string | null;\n customerId?: string | null;\n id?: number;\n logoDarkPath?: string | null;\n logoLightPath?: string | null;\n name?: string;\n };\n Update: {\n billingEmail?: string | null;\n cosmosId?: string | null;\n customerId?: string | null;\n id?: number;\n logoDarkPath?: string | null;\n logoLightPath?: string | null;\n name?: string;\n };\n Relationships: [];\n };\n OrganizationUser: {\n Row: {\n id: number;\n invitedAt: string | null;\n isDisabled: boolean;\n organizationId: number;\n profileId: number;\n userId: string;\n };\n Insert: {\n id?: number;\n invitedAt?: string | null;\n isDisabled?: boolean;\n organizationId: number;\n profileId: number;\n userId: string;\n };\n Update: {\n id?: number;\n invitedAt?: string | null;\n isDisabled?: boolean;\n organizationId?: number;\n profileId?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"OrganizationUser_organizationId_fkey\";\n columns: [\"organizationId\"];\n isOneToOne: false;\n referencedRelation: \"Organization\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"OrganizationUser_profileId_fkey\";\n columns: [\"profileId\"];\n isOneToOne: false;\n referencedRelation: \"Profile\";\n referencedColumns: [\"id\"];\n }];\n };\n OrganizationUserAccess: {\n Row: {\n accessKey: string;\n id: number;\n organizationUserId: number;\n };\n Insert: {\n accessKey: string;\n id?: number;\n organizationUserId: number;\n };\n Update: {\n accessKey?: string;\n id?: number;\n organizationUserId?: number;\n };\n Relationships: [{\n foreignKeyName: \"OrganizationUserAccess_organizationUserId_fkey\";\n columns: [\"organizationUserId\"];\n isOneToOne: false;\n referencedRelation: \"OrganizationUser\";\n referencedColumns: [\"id\"];\n }];\n };\n ParameterMappingProfile: {\n Row: {\n createdAt: string | null;\n description: string | null;\n id: number;\n name: string;\n updatedAt: string | null;\n };\n Insert: {\n createdAt?: string | null;\n description?: string | null;\n id?: number;\n name: string;\n updatedAt?: string | null;\n };\n Update: {\n createdAt?: string | null;\n description?: string | null;\n id?: number;\n name?: string;\n updatedAt?: string | null;\n };\n Relationships: [];\n };\n ParameterMappingProfileAssignment: {\n Row: {\n id: number;\n inputParameter: string;\n isReadOnly: boolean | null;\n orderHint: number;\n parameterMappingProfileId: number;\n propertyName: string;\n transformConfig: Json | null;\n transformType: string | null;\n };\n Insert: {\n id?: number;\n inputParameter: string;\n isReadOnly?: boolean | null;\n orderHint?: number;\n parameterMappingProfileId: number;\n propertyName: string;\n transformConfig?: Json | null;\n transformType?: string | null;\n };\n Update: {\n id?: number;\n inputParameter?: string;\n isReadOnly?: boolean | null;\n orderHint?: number;\n parameterMappingProfileId?: number;\n propertyName?: string;\n transformConfig?: Json | null;\n transformType?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"ParameterMappingProfileAssignment_parameterMappingProfileId_fke\";\n columns: [\"parameterMappingProfileId\"];\n isOneToOne: false;\n referencedRelation: \"ParameterMappingProfile\";\n referencedColumns: [\"id\"];\n }];\n };\n Pattern: {\n Row: {\n cosmosId: string | null;\n description: string;\n id: number;\n isCustom: boolean;\n manufacturerId: number;\n model: string;\n name: string;\n notes: string;\n storagePath: string | null;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n isCustom?: boolean;\n manufacturerId: number;\n model?: string;\n name?: string;\n notes?: string;\n storagePath?: string | null;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n isCustom?: boolean;\n manufacturerId?: number;\n model?: string;\n name?: string;\n notes?: string;\n storagePath?: string | null;\n };\n Relationships: [{\n foreignKeyName: \"Pattern_manufacturerId_fkey\";\n columns: [\"manufacturerId\"];\n isOneToOne: false;\n referencedRelation: \"Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n PhaseActivityBucket: {\n Row: {\n cosmosId: string | null;\n description: string;\n id: number;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n title?: string;\n };\n Relationships: [];\n };\n Profile: {\n Row: {\n email: string;\n firstName: string;\n fullName: string | null;\n id: number;\n lastName: string;\n middleName: string;\n profilePath: string | null;\n };\n Insert: {\n email?: string;\n firstName?: string;\n fullName?: string | null;\n id?: number;\n lastName?: string;\n middleName?: string;\n profilePath?: string | null;\n };\n Update: {\n email?: string;\n firstName?: string;\n fullName?: string | null;\n id?: number;\n lastName?: string;\n middleName?: string;\n profilePath?: string | null;\n };\n Relationships: [];\n };\n ProfileTimeBank: {\n Row: {\n accrualRate: number;\n createdAt: string;\n currentBalance: number;\n id: number;\n isRetired: boolean;\n maxBalance: number | null;\n profileId: string;\n retiredAt: string | null;\n retiredBy: string | null;\n updatedAt: string;\n };\n Insert: {\n accrualRate?: number;\n createdAt?: string;\n currentBalance?: number;\n id?: number;\n isRetired?: boolean;\n maxBalance?: number | null;\n profileId: string;\n retiredAt?: string | null;\n retiredBy?: string | null;\n updatedAt?: string;\n };\n Update: {\n accrualRate?: number;\n createdAt?: string;\n currentBalance?: number;\n id?: number;\n isRetired?: boolean;\n maxBalance?: number | null;\n profileId?: string;\n retiredAt?: string | null;\n retiredBy?: string | null;\n updatedAt?: string;\n };\n Relationships: [];\n };\n Project: {\n Row: {\n clientId: number;\n color: string;\n cosmosId: string | null;\n createdAt: string;\n displayName: string;\n id: number;\n isActive: boolean;\n name: string;\n qboDisplayName: string;\n status: Database[\"public\"][\"Enums\"][\"ProjectStatus\"];\n updatedAt: string;\n };\n Insert: {\n clientId: number;\n color?: string;\n cosmosId?: string | null;\n createdAt?: string;\n displayName?: string;\n id?: number;\n isActive?: boolean;\n name?: string;\n qboDisplayName?: string;\n status?: Database[\"public\"][\"Enums\"][\"ProjectStatus\"];\n updatedAt?: string;\n };\n Update: {\n clientId?: number;\n color?: string;\n cosmosId?: string | null;\n createdAt?: string;\n displayName?: string;\n id?: number;\n isActive?: boolean;\n name?: string;\n qboDisplayName?: string;\n status?: Database[\"public\"][\"Enums\"][\"ProjectStatus\"];\n updatedAt?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_projects_client_id_fkey\";\n columns: [\"clientId\"];\n isOneToOne: false;\n referencedRelation: \"Client\";\n referencedColumns: [\"id\"];\n }];\n };\n ProjectDatabase: {\n Row: {\n archivedAt: string | null;\n clientPath: string | null;\n controlHttpAddress: string;\n cosmosId: string | null;\n createdAt: string;\n description: string;\n documentPath: string | null;\n id: number;\n name: string;\n projectDatabaseGroupId: number | null;\n punchListPageId: number | null;\n updatedAt: string;\n };\n Insert: {\n archivedAt?: string | null;\n clientPath?: string | null;\n controlHttpAddress?: string;\n cosmosId?: string | null;\n createdAt?: string;\n description?: string;\n documentPath?: string | null;\n id?: never;\n name?: string;\n projectDatabaseGroupId?: number | null;\n punchListPageId?: number | null;\n updatedAt?: string;\n };\n Update: {\n archivedAt?: string | null;\n clientPath?: string | null;\n controlHttpAddress?: string;\n cosmosId?: string | null;\n createdAt?: string;\n description?: string;\n documentPath?: string | null;\n id?: never;\n name?: string;\n projectDatabaseGroupId?: number | null;\n punchListPageId?: number | null;\n updatedAt?: string;\n };\n Relationships: [{\n foreignKeyName: \"ProjectDatabase_projectDatabaseGroupId_fkey\";\n columns: [\"projectDatabaseGroupId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabaseGroup\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"ProjectDatabase_punchListPageId_fkey\";\n columns: [\"punchListPageId\"];\n isOneToOne: false;\n referencedRelation: \"PunchListPage\";\n referencedColumns: [\"id\"];\n }];\n };\n ProjectDatabaseEquipmentConfigurationGroup: {\n Row: {\n cosmosId: string | null;\n equipmentConfigurationGroupId: number;\n id: number;\n projectDatabaseId: number;\n };\n Insert: {\n cosmosId?: string | null;\n equipmentConfigurationGroupId: number;\n id?: never;\n projectDatabaseId: number;\n };\n Update: {\n cosmosId?: string | null;\n equipmentConfigurationGroupId?: number;\n id?: never;\n projectDatabaseId?: number;\n };\n Relationships: [{\n foreignKeyName: \"project_database_equipment_ty_equipment_configuration_grou_fkey\";\n columns: [\"equipmentConfigurationGroupId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentConfigurationGroup\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"project_database_equipment_type_group_project_database_id_fkey\";\n columns: [\"projectDatabaseId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabase\";\n referencedColumns: [\"id\"];\n }];\n };\n ProjectDatabaseExcelParameterAssignment: {\n Row: {\n cosmosId: string | null;\n excelParameter: string;\n id: number;\n projectDatabaseId: number | null;\n propertyName: string;\n };\n Insert: {\n cosmosId?: string | null;\n excelParameter?: string;\n id?: never;\n projectDatabaseId?: number | null;\n propertyName: string;\n };\n Update: {\n cosmosId?: string | null;\n excelParameter?: string;\n id?: never;\n projectDatabaseId?: number | null;\n propertyName?: string;\n };\n Relationships: [{\n foreignKeyName: \"excel_parameter_assignment_project_database_id_fkey\";\n columns: [\"projectDatabaseId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabase\";\n referencedColumns: [\"id\"];\n }];\n };\n ProjectDatabaseGroup: {\n Row: {\n id: number;\n name: string;\n };\n Insert: {\n id?: number;\n name?: string;\n };\n Update: {\n id?: number;\n name?: string;\n };\n Relationships: [];\n };\n ProjectDatabaseParameterMappingProfile: {\n Row: {\n createdAt: string | null;\n id: number;\n parameterMappingProfileId: number;\n projectDatabaseId: number;\n };\n Insert: {\n createdAt?: string | null;\n id?: number;\n parameterMappingProfileId: number;\n projectDatabaseId: number;\n };\n Update: {\n createdAt?: string | null;\n id?: number;\n parameterMappingProfileId?: number;\n projectDatabaseId?: number;\n };\n Relationships: [{\n foreignKeyName: \"ProjectDatabaseParameterMappingProfile_parameterMappingProfileI\";\n columns: [\"parameterMappingProfileId\"];\n isOneToOne: false;\n referencedRelation: \"ParameterMappingProfile\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"ProjectDatabaseParameterMappingProfile_projectDatabaseId_fkey\";\n columns: [\"projectDatabaseId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDatabase\";\n referencedColumns: [\"id\"];\n }];\n };\n ProjectDefaultRateByTitle: {\n Row: {\n cosmosId: string | null;\n id: number;\n projectId: number;\n rate: number;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n id?: never;\n projectId: number;\n rate?: number;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n id?: never;\n projectId?: number;\n rate?: number;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_project_default_rate_by_title_project_id_fkey\";\n columns: [\"projectId\"];\n isOneToOne: false;\n referencedRelation: \"Project\";\n referencedColumns: [\"id\"];\n }];\n };\n ProjectDocument: {\n Row: {\n amount: number;\n cosmosId: string | null;\n date: string;\n displayName: string;\n id: number;\n projectDocumentType: Database[\"public\"][\"Enums\"][\"ProjectDocumentType\"];\n projectId: number;\n title: string;\n };\n Insert: {\n amount?: number;\n cosmosId?: string | null;\n date: string;\n displayName?: string;\n id?: never;\n projectDocumentType: Database[\"public\"][\"Enums\"][\"ProjectDocumentType\"];\n projectId: number;\n title?: string;\n };\n Update: {\n amount?: number;\n cosmosId?: string | null;\n date?: string;\n displayName?: string;\n id?: never;\n projectDocumentType?: Database[\"public\"][\"Enums\"][\"ProjectDocumentType\"];\n projectId?: number;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_project_documents_project_id_fkey\";\n columns: [\"projectId\"];\n isOneToOne: false;\n referencedRelation: \"Project\";\n referencedColumns: [\"id\"];\n }];\n };\n ProjectDocumentLineItem: {\n Row: {\n amount: number;\n cosmosId: string | null;\n date: string | null;\n id: number;\n phaseBillingType: Database[\"public\"][\"Enums\"][\"PhaseBillingType\"];\n projectDocumentId: number;\n title: string;\n workingPhaseId: number | null;\n };\n Insert: {\n amount?: number;\n cosmosId?: string | null;\n date?: string | null;\n id?: never;\n phaseBillingType: Database[\"public\"][\"Enums\"][\"PhaseBillingType\"];\n projectDocumentId: number;\n title?: string;\n workingPhaseId?: number | null;\n };\n Update: {\n amount?: number;\n cosmosId?: string | null;\n date?: string | null;\n id?: never;\n phaseBillingType?: Database[\"public\"][\"Enums\"][\"PhaseBillingType\"];\n projectDocumentId?: number;\n title?: string;\n workingPhaseId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"ProjectDocumentLineItem_workingPhaseId_fkey\";\n columns: [\"workingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_project_document_line_items_project_document_id_fkey\";\n columns: [\"projectDocumentId\"];\n isOneToOne: false;\n referencedRelation: \"ProjectDocument\";\n referencedColumns: [\"id\"];\n }];\n };\n PunchList: {\n Row: {\n description: string;\n id: number;\n ownedBy: string;\n punchListPageId: number;\n title: string;\n };\n Insert: {\n description?: string;\n id?: never;\n ownedBy?: string;\n punchListPageId: number;\n title?: string;\n };\n Update: {\n description?: string;\n id?: never;\n ownedBy?: string;\n punchListPageId?: number;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"PunchList_punchListPageId_fkey\";\n columns: [\"punchListPageId\"];\n isOneToOne: false;\n referencedRelation: \"PunchListPage\";\n referencedColumns: [\"id\"];\n }];\n };\n PunchListAccess: {\n Row: {\n access: Database[\"public\"][\"Enums\"][\"UserAccess\"];\n id: number;\n punchListId: number;\n userId: string;\n };\n Insert: {\n access: Database[\"public\"][\"Enums\"][\"UserAccess\"];\n id?: never;\n punchListId: number;\n userId: string;\n };\n Update: {\n access?: Database[\"public\"][\"Enums\"][\"UserAccess\"];\n id?: never;\n punchListId?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"PunchListAccess_punchListId_fkey\";\n columns: [\"punchListId\"];\n isOneToOne: false;\n referencedRelation: \"PunchList\";\n referencedColumns: [\"id\"];\n }];\n };\n PunchListItem: {\n Row: {\n description: string;\n endDate: string | null;\n id: number;\n metadata: Json | null;\n orderHint: string | null;\n priority: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n punchListId: number | null;\n showCheckListInCard: boolean;\n startDate: string | null;\n status: Database[\"public\"][\"Enums\"][\"PunchListItemStatus\"];\n statusChangedByUserId: string | null;\n statusLastChangeAt: string;\n title: string;\n };\n Insert: {\n description?: string;\n endDate?: string | null;\n id?: never;\n metadata?: Json | null;\n orderHint?: string | null;\n priority: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n punchListId?: number | null;\n showCheckListInCard?: boolean;\n startDate?: string | null;\n status?: Database[\"public\"][\"Enums\"][\"PunchListItemStatus\"];\n statusChangedByUserId?: string | null;\n statusLastChangeAt?: string;\n title?: string;\n };\n Update: {\n description?: string;\n endDate?: string | null;\n id?: never;\n metadata?: Json | null;\n orderHint?: string | null;\n priority?: Database[\"public\"][\"Enums\"][\"PriorityLevel\"];\n punchListId?: number | null;\n showCheckListInCard?: boolean;\n startDate?: string | null;\n status?: Database[\"public\"][\"Enums\"][\"PunchListItemStatus\"];\n statusChangedByUserId?: string | null;\n statusLastChangeAt?: string;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"PunchListItem_punchListId_fkey\";\n columns: [\"punchListId\"];\n isOneToOne: false;\n referencedRelation: \"PunchList\";\n referencedColumns: [\"id\"];\n }];\n };\n PunchListItem_Assignment: {\n Row: {\n assignedToByUserId: string;\n assignedToUserId: string;\n id: number;\n punchListItemId: number | null;\n };\n Insert: {\n assignedToByUserId: string;\n assignedToUserId: string;\n id?: number;\n punchListItemId?: number | null;\n };\n Update: {\n assignedToByUserId?: string;\n assignedToUserId?: string;\n id?: number;\n punchListItemId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"punchlistitem_assignment_punchlistitemid_fkey\";\n columns: [\"punchListItemId\"];\n isOneToOne: false;\n referencedRelation: \"PunchListItem\";\n referencedColumns: [\"id\"];\n }];\n };\n PunchListItem_AttachedEntity: {\n Row: {\n entityId: string;\n id: number;\n punchListItemId: number | null;\n tableName: string;\n };\n Insert: {\n entityId: string;\n id?: number;\n punchListItemId?: number | null;\n tableName: string;\n };\n Update: {\n entityId?: string;\n id?: number;\n punchListItemId?: number | null;\n tableName?: string;\n };\n Relationships: [{\n foreignKeyName: \"punchlistitem_attachedentity_punchlistitemid_fkey\";\n columns: [\"punchListItemId\"];\n isOneToOne: false;\n referencedRelation: \"PunchListItem\";\n referencedColumns: [\"id\"];\n }];\n };\n PunchListItem_Attachment: {\n Row: {\n id: number;\n punchListItemId: number | null;\n storagePath: string | null;\n title: string;\n };\n Insert: {\n id?: number;\n punchListItemId?: number | null;\n storagePath?: string | null;\n title?: string;\n };\n Update: {\n id?: number;\n punchListItemId?: number | null;\n storagePath?: string | null;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"PunchListItem_Attachment_punchListItemId_fkey\";\n columns: [\"punchListItemId\"];\n isOneToOne: false;\n referencedRelation: \"PunchListItem\";\n referencedColumns: [\"id\"];\n }];\n };\n PunchListItem_CheckListItem: {\n Row: {\n id: number;\n isChecked: boolean;\n punchListItemId: number;\n title: string;\n };\n Insert: {\n id?: number;\n isChecked?: boolean;\n punchListItemId: number;\n title?: string;\n };\n Update: {\n id?: number;\n isChecked?: boolean;\n punchListItemId?: number;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"punchlistitem_checklistitem_punchlistitemid_fkey\";\n columns: [\"punchListItemId\"];\n isOneToOne: false;\n referencedRelation: \"PunchListItem\";\n referencedColumns: [\"id\"];\n }];\n };\n PunchListPage: {\n Row: {\n createdBy: string;\n entityId: string;\n id: number;\n tableName: string;\n };\n Insert: {\n createdBy?: string;\n entityId: string;\n id?: number;\n tableName: string;\n };\n Update: {\n createdBy?: string;\n entityId?: string;\n id?: number;\n tableName?: string;\n };\n Relationships: [];\n };\n PunchListUserOrderHint: {\n Row: {\n id: number;\n orderHint: string;\n punchListId: number;\n userId: string;\n };\n Insert: {\n id?: number;\n orderHint: string;\n punchListId: number;\n userId?: string;\n };\n Update: {\n id?: number;\n orderHint?: string;\n punchListId?: number;\n userId?: string;\n };\n Relationships: [{\n foreignKeyName: \"PunchListUserOrderHint_punchListId_fkey\";\n columns: [\"punchListId\"];\n isOneToOne: false;\n referencedRelation: \"PunchList\";\n referencedColumns: [\"id\"];\n }];\n };\n QrCode: {\n Row: {\n cosmosId: string | null;\n id: number;\n title: string;\n url: string;\n };\n Insert: {\n cosmosId?: string | null;\n id?: never;\n title?: string;\n url?: string;\n };\n Update: {\n cosmosId?: string | null;\n id?: never;\n title?: string;\n url?: string;\n };\n Relationships: [];\n };\n RetainageItem: {\n Row: {\n amountUsd: number;\n amountUsdRetained: number;\n billingDetailsId: number;\n cosmosId: string | null;\n description: string;\n id: number;\n invoiceSummaryTableId: number | null;\n isPercentageOfInvoiceTotal: boolean;\n rate: number;\n title: string | null;\n workingPhaseId: number | null;\n };\n Insert: {\n amountUsd?: number;\n amountUsdRetained?: number;\n billingDetailsId: number;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n invoiceSummaryTableId?: number | null;\n isPercentageOfInvoiceTotal?: boolean;\n rate?: number;\n title?: string | null;\n workingPhaseId?: number | null;\n };\n Update: {\n amountUsd?: number;\n amountUsdRetained?: number;\n billingDetailsId?: number;\n cosmosId?: string | null;\n description?: string;\n id?: never;\n invoiceSummaryTableId?: number | null;\n isPercentageOfInvoiceTotal?: boolean;\n rate?: number;\n title?: string | null;\n workingPhaseId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"public_retainage_item_billing_details_id_fkey\";\n columns: [\"billingDetailsId\"];\n isOneToOne: true;\n referencedRelation: \"BillingDetails\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_retainage_item_invoice_summary_table_id_fkey\";\n columns: [\"invoiceSummaryTableId\"];\n isOneToOne: false;\n referencedRelation: \"InvoiceSummaryTable\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"RetainageItem_workingPhaseId_fkey\";\n columns: [\"workingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }];\n };\n Role: {\n Row: {\n billableRate: number;\n cosmosId: string | null;\n id: number;\n phaseActivityBucketId: number;\n showInTimesheet: boolean;\n title: string;\n };\n Insert: {\n billableRate?: number;\n cosmosId?: string | null;\n id?: never;\n phaseActivityBucketId: number;\n showInTimesheet?: boolean;\n title?: string;\n };\n Update: {\n billableRate?: number;\n cosmosId?: string | null;\n id?: never;\n phaseActivityBucketId?: number;\n showInTimesheet?: boolean;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_roles_phase_activity_bucket_id_fkey\";\n columns: [\"phaseActivityBucketId\"];\n isOneToOne: false;\n referencedRelation: \"PhaseActivityBucket\";\n referencedColumns: [\"id\"];\n }];\n };\n Service: {\n Row: {\n id: number;\n title: string;\n };\n Insert: {\n id?: number;\n title: string;\n };\n Update: {\n id?: number;\n title?: string;\n };\n Relationships: [];\n };\n ServiceCosts: {\n Row: {\n amount: number;\n createdAt: string;\n id: number;\n serviceId: number;\n };\n Insert: {\n amount: number;\n createdAt?: string;\n id?: number;\n serviceId: number;\n };\n Update: {\n amount?: number;\n createdAt?: string;\n id?: number;\n serviceId?: number;\n };\n Relationships: [{\n foreignKeyName: \"ServiceCosts_serviceId_fkey\";\n columns: [\"serviceId\"];\n isOneToOne: false;\n referencedRelation: \"Service\";\n referencedColumns: [\"id\"];\n }];\n };\n ServiceStorageHourly: {\n Row: {\n bucketId: string;\n createdAt: string;\n id: number;\n size: number;\n };\n Insert: {\n bucketId: string;\n createdAt?: string;\n id?: number;\n size: number;\n };\n Update: {\n bucketId?: string;\n createdAt?: string;\n id?: number;\n size?: number;\n };\n Relationships: [];\n };\n SmartCode: {\n Row: {\n id: string;\n title: string | null;\n url: string | null;\n };\n Insert: {\n id?: string;\n title?: string | null;\n url?: string | null;\n };\n Update: {\n id?: string;\n title?: string | null;\n url?: string | null;\n };\n Relationships: [];\n };\n SmartCodeTag: {\n Row: {\n smartCodeId: string;\n tag: string;\n };\n Insert: {\n smartCodeId: string;\n tag: string;\n };\n Update: {\n smartCodeId?: string;\n tag?: string;\n };\n Relationships: [{\n foreignKeyName: \"SmartCodeTag_smartCodeId_fkey\";\n columns: [\"smartCodeId\"];\n isOneToOne: false;\n referencedRelation: \"SmartCode\";\n referencedColumns: [\"id\"];\n }];\n };\n Subtask: {\n Row: {\n cosmosId: string | null;\n id: number;\n showInTimesheet: boolean;\n taskId: number;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n id?: never;\n showInTimesheet?: boolean;\n taskId: number;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n id?: never;\n showInTimesheet?: boolean;\n taskId?: number;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_subtasks_task_id_fkey\";\n columns: [\"taskId\"];\n isOneToOne: false;\n referencedRelation: \"Task\";\n referencedColumns: [\"id\"];\n }];\n };\n Tag: {\n Row: {\n id: number;\n title: string;\n };\n Insert: {\n id?: number;\n title: string;\n };\n Update: {\n id?: number;\n title?: string;\n };\n Relationships: [];\n };\n Task: {\n Row: {\n cosmosId: string | null;\n id: number;\n roleId: number;\n showInTimesheet: boolean;\n timeBankEffect: Database[\"public\"][\"Enums\"][\"TimeBankEffect\"];\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n id?: never;\n roleId: number;\n showInTimesheet?: boolean;\n timeBankEffect?: Database[\"public\"][\"Enums\"][\"TimeBankEffect\"];\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n id?: never;\n roleId?: number;\n showInTimesheet?: boolean;\n timeBankEffect?: Database[\"public\"][\"Enums\"][\"TimeBankEffect\"];\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_tasks_role_id_fkey\";\n columns: [\"roleId\"];\n isOneToOne: false;\n referencedRelation: \"Role\";\n referencedColumns: [\"id\"];\n }];\n };\n TaxCategory: {\n Row: {\n cosmosId: string | null;\n id: number;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n id?: never;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n id?: never;\n title?: string;\n };\n Relationships: [];\n };\n Ticket: {\n Row: {\n assignedTo: string | null;\n closedAt: string | null;\n createdAt: string | null;\n createdBy: string;\n date: string | null;\n id: number;\n isPrivate: boolean;\n message: string;\n platform: Database[\"public\"][\"Enums\"][\"Platform\"] | null;\n priority: number | null;\n status: Database[\"public\"][\"Enums\"][\"TicketStatus\"];\n title: string;\n type: Database[\"public\"][\"Enums\"][\"TicketType\"];\n url: string | null;\n };\n Insert: {\n assignedTo?: string | null;\n closedAt?: string | null;\n createdAt?: string | null;\n createdBy?: string;\n date?: string | null;\n id?: number;\n isPrivate?: boolean;\n message: string;\n platform?: Database[\"public\"][\"Enums\"][\"Platform\"] | null;\n priority?: number | null;\n status: Database[\"public\"][\"Enums\"][\"TicketStatus\"];\n title: string;\n type: Database[\"public\"][\"Enums\"][\"TicketType\"];\n url?: string | null;\n };\n Update: {\n assignedTo?: string | null;\n closedAt?: string | null;\n createdAt?: string | null;\n createdBy?: string;\n date?: string | null;\n id?: number;\n isPrivate?: boolean;\n message?: string;\n platform?: Database[\"public\"][\"Enums\"][\"Platform\"] | null;\n priority?: number | null;\n status?: Database[\"public\"][\"Enums\"][\"TicketStatus\"];\n title?: string;\n type?: Database[\"public\"][\"Enums\"][\"TicketType\"];\n url?: string | null;\n };\n Relationships: [];\n };\n TicketAttachment: {\n Row: {\n id: number;\n positionIndex: number;\n storagePath: string | null;\n ticketId: number;\n };\n Insert: {\n id?: number;\n positionIndex: number;\n storagePath?: string | null;\n ticketId: number;\n };\n Update: {\n id?: number;\n positionIndex?: number;\n storagePath?: string | null;\n ticketId?: number;\n };\n Relationships: [{\n foreignKeyName: \"TicketAttachment_ticketId_fkey\";\n columns: [\"ticketId\"];\n isOneToOne: false;\n referencedRelation: \"Ticket\";\n referencedColumns: [\"id\"];\n }];\n };\n TicketComment: {\n Row: {\n createdAt: string;\n createdBy: string;\n id: number;\n message: string;\n parentId: number | null;\n parentType: Database[\"public\"][\"Enums\"][\"TicketCommentParentType\"] | null;\n ticketId: number;\n };\n Insert: {\n createdAt?: string;\n createdBy?: string;\n id?: number;\n message: string;\n parentId?: number | null;\n parentType?: Database[\"public\"][\"Enums\"][\"TicketCommentParentType\"] | null;\n ticketId: number;\n };\n Update: {\n createdAt?: string;\n createdBy?: string;\n id?: number;\n message?: string;\n parentId?: number | null;\n parentType?: Database[\"public\"][\"Enums\"][\"TicketCommentParentType\"] | null;\n ticketId?: number;\n };\n Relationships: [{\n foreignKeyName: \"TicketComment_parentId_fkey\";\n columns: [\"parentId\"];\n isOneToOne: false;\n referencedRelation: \"TicketComment\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"TicketComment_ticketId_fkey\";\n columns: [\"ticketId\"];\n isOneToOne: false;\n referencedRelation: \"Ticket\";\n referencedColumns: [\"id\"];\n }];\n };\n TicketCommentAttachment: {\n Row: {\n id: number;\n positionIndex: number;\n storagePath: string | null;\n ticketCommentId: number;\n };\n Insert: {\n id?: number;\n positionIndex: number;\n storagePath?: string | null;\n ticketCommentId: number;\n };\n Update: {\n id?: number;\n positionIndex?: number;\n storagePath?: string | null;\n ticketCommentId?: number;\n };\n Relationships: [{\n foreignKeyName: \"TicketCommentAttachment_ticketCommentId_fkey\";\n columns: [\"ticketCommentId\"];\n isOneToOne: false;\n referencedRelation: \"TicketComment\";\n referencedColumns: [\"id\"];\n }];\n };\n TimeActivity: {\n Row: {\n activityDate: string;\n adminNotes: string;\n billingDetailsId: number;\n clientId: number;\n description: string;\n descriptionVector: unknown;\n embeddingId: string;\n hasRequestBillableChange: boolean;\n hasRequestVerification: boolean;\n hours: number;\n id: number;\n projectId: number;\n roleId: number | null;\n subtaskId: number | null;\n taskId: number | null;\n userId: string;\n userNotes: string;\n weeklyTimesheetId: number | null;\n workingPhaseId: number | null;\n };\n Insert: {\n activityDate: string;\n adminNotes?: string;\n billingDetailsId: number;\n clientId: number;\n description?: string;\n descriptionVector?: unknown;\n embeddingId?: string;\n hasRequestBillableChange?: boolean;\n hasRequestVerification?: boolean;\n hours?: number;\n id?: number;\n projectId: number;\n roleId?: number | null;\n subtaskId?: number | null;\n taskId?: number | null;\n userId: string;\n userNotes?: string;\n weeklyTimesheetId?: number | null;\n workingPhaseId?: number | null;\n };\n Update: {\n activityDate?: string;\n adminNotes?: string;\n billingDetailsId?: number;\n clientId?: number;\n description?: string;\n descriptionVector?: unknown;\n embeddingId?: string;\n hasRequestBillableChange?: boolean;\n hasRequestVerification?: boolean;\n hours?: number;\n id?: number;\n projectId?: number;\n roleId?: number | null;\n subtaskId?: number | null;\n taskId?: number | null;\n userId?: string;\n userNotes?: string;\n weeklyTimesheetId?: number | null;\n workingPhaseId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"TimeActivity_billingDetailsId_fkey\";\n columns: [\"billingDetailsId\"];\n isOneToOne: true;\n referencedRelation: \"BillingDetails\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"TimeActivity_clientId_fkey\";\n columns: [\"clientId\"];\n isOneToOne: false;\n referencedRelation: \"Client\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"TimeActivity_projectId_fkey\";\n columns: [\"projectId\"];\n isOneToOne: false;\n referencedRelation: \"Project\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"TimeActivity_roleId_fkey\";\n columns: [\"roleId\"];\n isOneToOne: false;\n referencedRelation: \"Role\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"TimeActivity_subtaskId_fkey\";\n columns: [\"subtaskId\"];\n isOneToOne: false;\n referencedRelation: \"Subtask\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"TimeActivity_taskId_fkey\";\n columns: [\"taskId\"];\n isOneToOne: false;\n referencedRelation: \"Task\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"TimeActivity_workingPhaseId_fkey\";\n columns: [\"workingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }];\n };\n TimeBankTransaction: {\n Row: {\n balanceAfter: number;\n createdAt: string;\n createdBy: string | null;\n description: string | null;\n hours: number;\n id: number;\n profileTimeBankId: number;\n timeActivityId: number | null;\n transactionType: string;\n };\n Insert: {\n balanceAfter: number;\n createdAt?: string;\n createdBy?: string | null;\n description?: string | null;\n hours: number;\n id?: number;\n profileTimeBankId: number;\n timeActivityId?: number | null;\n transactionType: string;\n };\n Update: {\n balanceAfter?: number;\n createdAt?: string;\n createdBy?: string | null;\n description?: string | null;\n hours?: number;\n id?: number;\n profileTimeBankId?: number;\n timeActivityId?: number | null;\n transactionType?: string;\n };\n Relationships: [{\n foreignKeyName: \"TimeBankTransaction_profileTimeBankId_fkey\";\n columns: [\"profileTimeBankId\"];\n isOneToOne: false;\n referencedRelation: \"ProfileTimeBank\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"TimeBankTransaction_timeActivityId_fkey\";\n columns: [\"timeActivityId\"];\n isOneToOne: false;\n referencedRelation: \"TimeActivity\";\n referencedColumns: [\"id\"];\n }];\n };\n UserMetadata: {\n Row: {\n key: string;\n userId: string;\n value: string;\n };\n Insert: {\n key: string;\n userId: string;\n value: string;\n };\n Update: {\n key?: string;\n userId?: string;\n value?: string;\n };\n Relationships: [];\n };\n UserTimesheet: {\n Row: {\n certifiedAt: string | null;\n cosmosId: string | null;\n userId: string;\n weeklyTimesheetId: number;\n };\n Insert: {\n certifiedAt?: string | null;\n cosmosId?: string | null;\n userId: string;\n weeklyTimesheetId: number;\n };\n Update: {\n certifiedAt?: string | null;\n cosmosId?: string | null;\n userId?: string;\n weeklyTimesheetId?: number;\n };\n Relationships: [{\n foreignKeyName: \"public_user_timesheet_weekly_timesheet_id_fkey\";\n columns: [\"weeklyTimesheetId\"];\n isOneToOne: false;\n referencedRelation: \"WeeklyTimesheet\";\n referencedColumns: [\"id\"];\n }];\n };\n WeeklyTimesheet: {\n Row: {\n cosmosId: string | null;\n id: number;\n weekOf: string;\n };\n Insert: {\n cosmosId?: string | null;\n id?: number;\n weekOf: string;\n };\n Update: {\n cosmosId?: string | null;\n id?: number;\n weekOf?: string;\n };\n Relationships: [];\n };\n WorkEstimation: {\n Row: {\n id: number;\n name: string;\n };\n Insert: {\n id?: number;\n name?: string;\n };\n Update: {\n id?: number;\n name?: string;\n };\n Relationships: [];\n };\n WorkEstimationLineItem: {\n Row: {\n id: number;\n name: string;\n quantity: number;\n rate: number;\n workEstimationId: number | null;\n };\n Insert: {\n id?: number;\n name?: string;\n quantity?: number;\n rate?: number;\n workEstimationId?: number | null;\n };\n Update: {\n id?: number;\n name?: string;\n quantity?: number;\n rate?: number;\n workEstimationId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"WorkEstimationLineItem_workEstimationId_fkey\";\n columns: [\"workEstimationId\"];\n isOneToOne: false;\n referencedRelation: \"WorkEstimation\";\n referencedColumns: [\"id\"];\n }];\n };\n WorkingPhase: {\n Row: {\n cosmosId: string | null;\n description: string;\n displayName: string;\n id: number;\n phaseActivityBucketId: number | null;\n phaseBillingType: Database[\"public\"][\"Enums\"][\"PhaseBillingType\"];\n projectId: number;\n showInTimesheet: boolean;\n status: Database[\"public\"][\"Enums\"][\"WorkingPhaseStatus\"];\n title: string;\n workEstimationId: number | null;\n workingPhaseCategoryId: number | null;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n displayName?: string;\n id?: never;\n phaseActivityBucketId?: number | null;\n phaseBillingType: Database[\"public\"][\"Enums\"][\"PhaseBillingType\"];\n projectId: number;\n showInTimesheet?: boolean;\n status?: Database[\"public\"][\"Enums\"][\"WorkingPhaseStatus\"];\n title?: string;\n workEstimationId?: number | null;\n workingPhaseCategoryId?: number | null;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n displayName?: string;\n id?: never;\n phaseActivityBucketId?: number | null;\n phaseBillingType?: Database[\"public\"][\"Enums\"][\"PhaseBillingType\"];\n projectId?: number;\n showInTimesheet?: boolean;\n status?: Database[\"public\"][\"Enums\"][\"WorkingPhaseStatus\"];\n title?: string;\n workEstimationId?: number | null;\n workingPhaseCategoryId?: number | null;\n };\n Relationships: [{\n foreignKeyName: \"public_working_phases_phase_activity_bucket_id_fkey\";\n columns: [\"phaseActivityBucketId\"];\n isOneToOne: false;\n referencedRelation: \"PhaseActivityBucket\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_working_phases_project_id_fkey\";\n columns: [\"projectId\"];\n isOneToOne: false;\n referencedRelation: \"Project\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_working_phases_working_phase_category_id_fkey\";\n columns: [\"workingPhaseCategoryId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhaseCategory\";\n referencedColumns: [\"id\"];\n }];\n };\n WorkingPhaseBillingItemDailySummary: {\n Row: {\n amount: number;\n billingStatus: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n date: string;\n itemCount: number;\n totalQuantity: number;\n updatedAt: string | null;\n workingPhaseId: number;\n };\n Insert: {\n amount?: number;\n billingStatus: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n date: string;\n itemCount?: number;\n totalQuantity?: number;\n updatedAt?: string | null;\n workingPhaseId: number;\n };\n Update: {\n amount?: number;\n billingStatus?: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType?: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n date?: string;\n itemCount?: number;\n totalQuantity?: number;\n updatedAt?: string | null;\n workingPhaseId?: number;\n };\n Relationships: [{\n foreignKeyName: \"workingphasesummary_workingphaseid_fkey\";\n columns: [\"workingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }];\n };\n WorkingPhaseBillingItemLatestSummary: {\n Row: {\n amount: number;\n billingStatus: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n itemCount: number;\n totalQuantity: number;\n updatedAt: string | null;\n workingPhaseId: number;\n };\n Insert: {\n amount?: number;\n billingStatus: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n itemCount?: number;\n totalQuantity?: number;\n updatedAt?: string | null;\n workingPhaseId: number;\n };\n Update: {\n amount?: number;\n billingStatus?: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType?: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n itemCount?: number;\n totalQuantity?: number;\n updatedAt?: string | null;\n workingPhaseId?: number;\n };\n Relationships: [{\n foreignKeyName: \"WorkingPhaseSummary_workingPhaseId_fkey\";\n columns: [\"workingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }];\n };\n WorkingPhaseCategory: {\n Row: {\n cosmosId: string | null;\n description: string;\n id: number;\n projectId: number;\n title: string;\n };\n Insert: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n projectId: number;\n title?: string;\n };\n Update: {\n cosmosId?: string | null;\n description?: string;\n id?: never;\n projectId?: number;\n title?: string;\n };\n Relationships: [{\n foreignKeyName: \"public_working_phase_categories_project_id_fkey\";\n columns: [\"projectId\"];\n isOneToOne: false;\n referencedRelation: \"Project\";\n referencedColumns: [\"id\"];\n }];\n };\n WorkingPhaseDailySummary: {\n Row: {\n amount: number;\n billingStatus: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n date: string;\n itemCount: number;\n totalQuantity: number;\n workingPhaseId: number;\n };\n Insert: {\n amount: number;\n billingStatus: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n date: string;\n itemCount: number;\n totalQuantity?: number;\n workingPhaseId?: number;\n };\n Update: {\n amount?: number;\n billingStatus?: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType?: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n date?: string;\n itemCount?: number;\n totalQuantity?: number;\n workingPhaseId?: number;\n };\n Relationships: [];\n };\n WorkingPhaseRoleRate: {\n Row: {\n cosmosId: string | null;\n id: number;\n rate: number;\n roleId: number | null;\n workingPhaseId: number;\n };\n Insert: {\n cosmosId?: string | null;\n id?: never;\n rate?: number;\n roleId?: number | null;\n workingPhaseId: number;\n };\n Update: {\n cosmosId?: string | null;\n id?: never;\n rate?: number;\n roleId?: number | null;\n workingPhaseId?: number;\n };\n Relationships: [{\n foreignKeyName: \"public_working_phase_role_rate_working_phase_id_fkey\";\n columns: [\"workingPhaseId\"];\n isOneToOne: false;\n referencedRelation: \"WorkingPhase\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"public_working_phase_role_rates_role_id_fkey\";\n columns: [\"roleId\"];\n isOneToOne: false;\n referencedRelation: \"Role\";\n referencedColumns: [\"id\"];\n }];\n };\n WorkingPhaseSummary: {\n Row: {\n amount: number;\n billingStatus: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n id: number;\n itemCount: number;\n totalQuantity: number;\n };\n Insert: {\n amount: number;\n billingStatus: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n id?: number;\n itemCount: number;\n totalQuantity?: number;\n };\n Update: {\n amount?: number;\n billingStatus?: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billingType?: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n id?: number;\n itemCount?: number;\n totalQuantity?: number;\n };\n Relationships: [];\n };\n };\n Views: {\n EquipmentFixture_With_Manufacturer: {\n Row: {\n accessDbId: number | null;\n canTakeFilter: boolean | null;\n canTakePattern: boolean | null;\n canUseData: boolean | null;\n canUsePower: boolean | null;\n class: string | null;\n colorTempEnd: number | null;\n colorTempStart: number | null;\n connector: string | null;\n cosmosId: string | null;\n creationDate: string | null;\n datasheetDate: string | null;\n description: string | null;\n finish: string | null;\n glass: string | null;\n hasData: boolean | null;\n hasPower: boolean | null;\n id: number | null;\n internalNotes: string | null;\n isAc: boolean | null;\n isAda: boolean | null;\n isCustom: boolean | null;\n isDimmable: boolean | null;\n isModified: boolean | null;\n isRetired: boolean | null;\n lightSource: string | null;\n manufacturerId: number | null;\n manufacturerName: string | null;\n maxDmxChannels: number | null;\n model: string | null;\n nickname: string | null;\n notes: string | null;\n rating: string | null;\n shade: string | null;\n shadeMaterial: string | null;\n voltage: number | null;\n voltageThru: number | null;\n watts: number | null;\n };\n Relationships: [{\n foreignKeyName: \"public_equipment_fixture_manufacturer_id_fkey\";\n columns: [\"manufacturerId\"];\n isOneToOne: false;\n referencedRelation: \"Manufacturer\";\n referencedColumns: [\"id\"];\n }];\n };\n EquipmentFixtureConfiguration_With_Equipment_AND_EquipmentType: {\n Row: {\n accessDbId: number | null;\n code: string | null;\n cosmosId: string | null;\n equipmentConfigurationGroupId: number | null;\n equipmentFixtureId: number | null;\n equipmentNickname: string | null;\n equipmentTypeId: number | null;\n fullTitle: string | null;\n holdOnBuying: boolean | null;\n id: number | null;\n index: string | null;\n index2: string | null;\n installationNotes: string | null;\n internalNotes: string | null;\n isExisting: boolean | null;\n isPurchasedByOthers: boolean | null;\n manufacturerName: string | null;\n mountingType: string | null;\n notes: string | null;\n powerConnectionType: string | null;\n title: string | null;\n };\n Relationships: [{\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentConfigurationGroupI_fkey\";\n columns: [\"equipmentConfigurationGroupId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentConfigurationGroup\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentFixtureId_fkey\";\n columns: [\"equipmentFixtureId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentFixture_With_Manufacturer\";\n referencedColumns: [\"id\"];\n }, {\n foreignKeyName: \"EquipmentFixtureConfiguration_equipmentTypeId_fkey\";\n columns: [\"equipmentTypeId\"];\n isOneToOne: false;\n referencedRelation: \"EquipmentType\";\n referencedColumns: [\"id\"];\n }];\n };\n };\n Functions: {\n auto_complete_description_TimeActivity: {\n Args: {\n match_count: number;\n match_threshold: number;\n match_threshold_increment?: number;\n query_embedding: string;\n user_id: string;\n };\n Returns: string[];\n } | {\n Args: {\n match_count: number;\n match_threshold: number;\n match_threshold_increment?: number;\n organization_id: number;\n query_embedding: string;\n user_id: string;\n };\n Returns: string[];\n };\n BillableService_Process_BillingDetails: {\n Args: {\n billableService: Database[\"public\"][\"Tables\"][\"BillableService\"][\"Row\"];\n };\n Returns: {\n amountUsd: number;\n billingDetailsId: number;\n chargeTableId: number | null;\n cosmosId: string | null;\n description: string;\n id: number;\n quantity: number;\n rate: number;\n serviceDate: string | null;\n title: string;\n workingPhaseId: number | null;\n };\n SetofOptions: {\n from: '\"BillableService\"';\n to: \"BillableService\";\n isOneToOne: true;\n isSetofReturn: false;\n };\n };\n BillingDetails_Update_InvoiceItems: {\n Args: {\n invoice: Database[\"public\"][\"Tables\"][\"Invoice\"][\"Row\"];\n };\n Returns: undefined;\n };\n change_project_client: {\n Args: {\n p_new_client_id: number;\n p_project_id: number;\n };\n Returns: Json;\n };\n check_license_assignment: {\n Args: {\n organization_id: number;\n };\n Returns: boolean;\n };\n create_organization: {\n Args: {\n organization: Database[\"public\"][\"Tables\"][\"Organization\"][\"Row\"];\n };\n Returns: {\n billingEmail: string | null;\n cosmosId: string | null;\n customerId: string | null;\n id: number;\n logoDarkPath: string | null;\n logoLightPath: string | null;\n name: string;\n };\n SetofOptions: {\n from: '\"Organization\"';\n to: \"Organization\";\n isOneToOne: true;\n isSetofReturn: false;\n };\n };\n create_triggers: {\n Args: never;\n Returns: undefined;\n };\n each: {\n Args: {\n hs: unknown;\n };\n Returns: Record<string, unknown>[];\n };\n Expense_Process_BillingDetails: {\n Args: {\n expense: Database[\"public\"][\"Tables\"][\"Expense\"][\"Row\"];\n };\n Returns: {\n billingDetailsId: number;\n cosmosId: string | null;\n currencyId: number | null;\n currencyRateToUsd: number;\n embeddingId: string;\n expenseReportId: number;\n hasCustomCurrencyRate: boolean;\n id: number;\n merchantName: string;\n printSetting: Json | null;\n storagePath: string | null;\n txnDate: string | null;\n workingPhaseId: number | null;\n };\n SetofOptions: {\n from: '\"Expense\"';\n to: \"Expense\";\n isOneToOne: true;\n isSetofReturn: false;\n };\n };\n fetch_embedding_ids: {\n Args: {\n limit_count: number;\n organization_id: number;\n query_embedding: string;\n request_unique_keys: boolean;\n table_name: string;\n };\n Returns: {\n id: string;\n score: number;\n }[];\n } | {\n Args: {\n limit_count: number;\n query_embedding: string;\n request_unique_keys: boolean;\n table_name: string;\n };\n Returns: {\n id: string;\n score: number;\n }[];\n };\n get_bucket_size: {\n Args: {\n p_bucket_id: string;\n };\n Returns: number;\n };\n get_distinct_column: {\n Args: {\n column_name: string;\n table_name: string;\n where_condition: string;\n };\n Returns: {\n result: string;\n }[];\n };\n get_id_data_type: {\n Args: {\n schema_name: string;\n table_name: string;\n };\n Returns: string;\n };\n get_or_create_timesheet: {\n Args: {\n organization_id: number;\n user_id: string;\n week_of: string;\n };\n Returns: {\n certifiedAt: string | null;\n cosmosId: string | null;\n userId: string;\n weeklyTimesheetId: number;\n };\n SetofOptions: {\n from: \"*\";\n to: \"UserTimesheet\";\n isOneToOne: true;\n isSetofReturn: false;\n };\n } | {\n Args: {\n user_id: string;\n week_of: string;\n };\n Returns: {\n certifiedAt: string | null;\n cosmosId: string | null;\n userId: string;\n weeklyTimesheetId: number;\n };\n SetofOptions: {\n from: \"*\";\n to: \"UserTimesheet\";\n isOneToOne: true;\n isSetofReturn: false;\n };\n };\n handle_control_action: {\n Args: {\n action: string;\n controlid: number;\n equipmentunitid: number;\n newvalue: Json;\n propertyname: string;\n };\n Returns: undefined;\n } | {\n Args: {\n action: string;\n controlid: number;\n equipmentunitid: number;\n newvalue: Json;\n organizationid: number;\n propertyname: string;\n };\n Returns: undefined;\n };\n handle_control_actions: {\n Args: {\n controls: Json;\n equipmentunitid: number;\n };\n Returns: undefined;\n } | {\n Args: {\n controls: Json;\n equipmentunitid: number;\n organizationid: number;\n };\n Returns: undefined;\n };\n handle_pattern_action: {\n Args: {\n action: string;\n equipmentunitid: number;\n newvalue: Json;\n organizationid: number;\n patternentryid: number;\n propertyname: string;\n };\n Returns: undefined;\n };\n handle_pattern_actions: {\n Args: {\n equipmentunitid: number;\n organizationid: number;\n patterns: Json;\n };\n Returns: undefined;\n };\n handle_unit_action: {\n Args: {\n action: string;\n controls: Json;\n equipmentunitid: number;\n newvalue: Json;\n organizationid: number;\n patterns: Json;\n projectdatabaseid: number;\n propertyname: string;\n revitunitid: string;\n };\n Returns: number;\n } | {\n Args: {\n action: string;\n controls: Json;\n equipmentunitid: number;\n newvalue: Json;\n patterns: Json;\n projectdatabaseid: number;\n propertyname: string;\n revitunitid: string;\n };\n Returns: number;\n };\n has_organization_access: {\n Args: never;\n Returns: boolean;\n } | {\n Args: {\n organizationid: number;\n };\n Returns: boolean;\n };\n has_organization_access_key: {\n Args: {\n access_key: string;\n };\n Returns: boolean;\n } | {\n Args: {\n access_key: string;\n organization_id: number;\n };\n Returns: boolean;\n } | {\n Args: {\n access_key: string;\n organization_id: number;\n user_id: string;\n };\n Returns: boolean;\n } | {\n Args: {\n access_key: string;\n user_id: string;\n };\n Returns: boolean;\n };\n has_organization_license: {\n Args: {\n organization_id: number;\n };\n Returns: boolean;\n };\n has_punch_list_access: {\n Args: {\n action: string;\n punch_list_id: number;\n };\n Returns: boolean;\n };\n has_punch_list_item_access: {\n Args: {\n action: string;\n punch_list_item_id: number;\n };\n Returns: boolean;\n };\n has_record_access: {\n Args: {\n record_id: number;\n table_name: string;\n };\n Returns: boolean;\n } | {\n Args: {\n record_id: string;\n table_name: string;\n };\n Returns: boolean;\n } | {\n Args: {\n record_id: number;\n table_name: string;\n user_id: string;\n };\n Returns: boolean;\n };\n has_timesheet_access: {\n Args: {\n user_id: string;\n weekly_timesheet_id: number;\n };\n Returns: boolean;\n } | {\n Args: {\n organization_id: number;\n user_id: string;\n weekly_timesheet_id: number;\n };\n Returns: boolean;\n };\n has_unlicensed_organization_access: {\n Args: {\n organizationid: number;\n };\n Returns: boolean;\n };\n has_unlicensed_organization_access_key: {\n Args: {\n access_key: string;\n organization_id: number;\n };\n Returns: boolean;\n };\n increment_embedding_job_progress: {\n Args: {\n increment_by: number;\n job_id: string;\n };\n Returns: undefined;\n };\n internal_revit_sync: {\n Args: {\n changes: Json;\n projectdatabaseid: number;\n };\n Returns: undefined;\n };\n invoke_new_user: {\n Args: {\n p_email: string;\n p_id: string;\n };\n Returns: undefined;\n };\n is_punchlistpage_admin: {\n Args: {\n p_list_id: number;\n };\n Returns: boolean;\n };\n is_punchlistpage_user: {\n Args: {\n p_list_id: number;\n };\n Returns: boolean;\n };\n LowerOrderHint_EquipmentFixtureDocument: {\n Args: {\n documentid: number;\n };\n Returns: undefined;\n };\n patch_summary_details: {\n Args: {\n activity_date: string;\n billing_status: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billing_type: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n delta_amount: number;\n delta_itemcount: number;\n delta_quantity: number;\n working_phase_id: number;\n };\n Returns: undefined;\n } | {\n Args: {\n activity_date: string;\n billing_status: Database[\"public\"][\"Enums\"][\"BillingStatus\"];\n billing_type: Database[\"public\"][\"Enums\"][\"BillableItemType\"];\n delta_amount: number;\n delta_itemcount: number;\n delta_quantity: number;\n organization_id: number;\n working_phase_id: number;\n };\n Returns: undefined;\n };\n preview_change_project_client: {\n Args: {\n p_new_client_id: number;\n p_project_id: number;\n };\n Returns: Json;\n };\n RaiseOrderHint_EquipmentFixtureDocument: {\n Args: {\n documentid: number;\n };\n Returns: undefined;\n };\n recalculate_all_media_content_counts: {\n Args: never;\n Returns: undefined;\n };\n search_embeddings: {\n Args: {\n match_count: number;\n organization_id: number;\n query_embedding: string;\n request_unique_keys: boolean;\n table_name: string;\n };\n Returns: {\n id: string;\n recordId: string;\n score: number;\n tableName: string;\n }[];\n };\n search_fixtures: {\n Args: {\n match_count: number;\n match_threshold: number;\n query_embedding: string;\n };\n Returns: number[];\n };\n SetOrderHint_EquipmentFixtureDocument: {\n Args: {\n activeid: number;\n overid: number;\n };\n Returns: undefined;\n };\n setup_dynamic_triggers: {\n Args: never;\n Returns: undefined;\n };\n TimeActivity_Process_BillingDetails: {\n Args: {\n billing_record: Record<string, unknown>;\n };\n Returns: Record<string, unknown>;\n };\n update_working_phase_billing_item_daily_summary: {\n Args: {\n end_date: string;\n start_date: string;\n targetworkingphaseid: number;\n };\n Returns: undefined;\n };\n update_working_phase_billing_item_latest_summary: {\n Args: {\n targetworkingphaseid: number;\n };\n Returns: undefined;\n };\n verify_enough_licenses: {\n Args: {\n organization_id: number;\n };\n Returns: boolean;\n };\n verify_organization_access: {\n Args: {\n file_path: string;\n user_id: string;\n };\n Returns: boolean;\n };\n };\n Enums: {\n AdvanceQueryChangeType: \"Removed\" | \"Deleted\" | \"Created\" | \"Updated\" | \"Added\";\n BillableItemType: \"TimeActivity\" | \"Expense\" | \"Service\" | \"Retainage\";\n BillingStatus: \"Unknown\" | \"NotBillable\" | \"Billable\" | \"AddedToInvoice\" | \"HasBeenBilled\" | \"BilledElsewhere\" | \"LumpSum\";\n ControlType: \"Unknown\" | \"DMX\" | \"ACN\" | \"ArtNet\" | \"None\" | \"DMXPT\" | \"PWR\" | \"SA\" | \"KiNET\" | \"ZTTV\";\n ExpenseReportStatus: \"Pending\" | \"Open\" | \"Submitted\" | \"UnderReview\" | \"Approved\" | \"Reimbursed\" | \"Closed\";\n HighlightStatus: \"Queued\" | \"Executed\" | \"Failed\" | \"Cleared\";\n InvoiceStatus: \"Created\" | \"ReadyToReview\" | \"Reviewed\" | \"ReadyToSend\" | \"Sent\" | \"Rejected\" | \"Paid\";\n MediaContentStatus: \"Unknown\" | \"Required\" | \"Preferred\" | \"NotRequired\" | \"Retake\" | \"Taken\";\n NotificationType: \"App\" | \"Email\" | \"Push\";\n OperationType: \"Insert\" | \"Update\" | \"Delete\";\n PhaseBillingType: \"TBD\" | \"NotBillable\" | \"LumpSum\" | \"TimeAndMaterials\" | \"Expenses\";\n Platform: \"Web\" | \"Mobile\";\n pricing_plan_interval: \"day\" | \"week\" | \"month\" | \"year\";\n pricing_type: \"one_time\" | \"recurring\";\n PriorityLevel: \"Lowest\" | \"Low\" | \"Medium\" | \"High\" | \"Highest\";\n ProcessingStatus: \"None\" | \"Processing\" | \"Error\";\n ProjectDocumentType: \"Proposal\" | \"Directive\" | \"Contract\";\n ProjectStatus: \"Active\" | \"Inactive\" | \"Archived\";\n PublicAccessType: \"Public\" | \"Unlisted\" | \"InviteOnly\" | \"Private\" | \"Internal\";\n PunchListItemStatus: \"NotStarted\" | \"InProgress\" | \"Finished\";\n RevitChangeType: \"Unknown\" | \"Added\" | \"Modified\" | \"Deleted\";\n subscription_status: \"trialing\" | \"active\" | \"canceled\" | \"incomplete\" | \"incomplete_expired\" | \"past_due\" | \"unpaid\";\n TaskRunStatus: \"PENDING\" | \"EXECUTING\" | \"WAITING_TO_RESUME\" | \"RETRYING_AFTER_FAILURE\" | \"PAUSED\" | \"CANCELED\" | \"COMPLETED_SUCCESSFULLY\" | \"COMPLETED_WITH_ERRORS\" | \"INTERRUPTED\" | \"SYSTEM_FAILURE\" | \"CRASHED\" | \"WAITING_FOR_DEPLOY\" | \"DELAYED\" | \"EXPIRED\";\n TicketCommentParentType: \"Ticket\" | \"TicketComment\";\n TicketStatus: \"Open\" | \"Closed\";\n TicketType: \"Issue\" | \"Feedback\";\n TimeBankEffect: \"Accrues\" | \"Consumes\" | \"Neutral\";\n UnitMediaType: \"FocusPhoto\" | \"Attachment\";\n UnitOfMass: \"Pounds\" | \"Kilograms\";\n UnitOfMeasurement: \"Inches\" | \"Millimeters\";\n UserAccess: \"ReadOnly\" | \"ReadWrite\" | \"Admin\";\n WorkingPhaseStatus: \"Pending\" | \"Active\" | \"Closed\";\n };\n CompositeTypes: {\n temp_result: {\n id: string | null;\n recordId: string | null;\n tableName: string | null;\n score: number | null;\n };\n };\n };\n};\ntype DatabaseWithoutInternals = Omit<Database, \"__InternalSupabase\">;\ntype DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, \"public\">];\nexport type Tables<DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema[\"Tables\"] & DefaultSchema[\"Views\"]) | {\n schema: keyof DatabaseWithoutInternals;\n}, TableName extends (DefaultSchemaTableNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions[\"schema\"]][\"Tables\"] & DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions[\"schema\"]][\"Views\"]) : never) = never> = DefaultSchemaTableNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions[\"schema\"]][\"Tables\"] & DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions[\"schema\"]][\"Views\"])[TableName] extends {\n Row: infer R;\n} ? R : never : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema[\"Tables\"] & DefaultSchema[\"Views\"]) ? (DefaultSchema[\"Tables\"] & DefaultSchema[\"Views\"])[DefaultSchemaTableNameOrOptions] extends {\n Row: infer R;\n} ? R : never : never;\nexport type TablesInsert<DefaultSchemaTableNameOrOptions extends keyof DefaultSchema[\"Tables\"] | {\n schema: keyof DatabaseWithoutInternals;\n}, TableName extends (DefaultSchemaTableNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions[\"schema\"]][\"Tables\"] : never) = never> = DefaultSchemaTableNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions[\"schema\"]][\"Tables\"][TableName] extends {\n Insert: infer I;\n} ? I : never : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema[\"Tables\"] ? DefaultSchema[\"Tables\"][DefaultSchemaTableNameOrOptions] extends {\n Insert: infer I;\n} ? I : never : never;\nexport type TablesUpdate<DefaultSchemaTableNameOrOptions extends keyof DefaultSchema[\"Tables\"] | {\n schema: keyof DatabaseWithoutInternals;\n}, TableName extends (DefaultSchemaTableNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions[\"schema\"]][\"Tables\"] : never) = never> = DefaultSchemaTableNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions[\"schema\"]][\"Tables\"][TableName] extends {\n Update: infer U;\n} ? U : never : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema[\"Tables\"] ? DefaultSchema[\"Tables\"][DefaultSchemaTableNameOrOptions] extends {\n Update: infer U;\n} ? U : never : never;\nexport type Enums<DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema[\"Enums\"] | {\n schema: keyof DatabaseWithoutInternals;\n}, EnumName extends (DefaultSchemaEnumNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions[\"schema\"]][\"Enums\"] : never) = never> = DefaultSchemaEnumNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions[\"schema\"]][\"Enums\"][EnumName] : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema[\"Enums\"] ? DefaultSchema[\"Enums\"][DefaultSchemaEnumNameOrOptions] : never;\nexport type CompositeTypes<PublicCompositeTypeNameOrOptions extends keyof DefaultSchema[\"CompositeTypes\"] | {\n schema: keyof DatabaseWithoutInternals;\n}, CompositeTypeName extends (PublicCompositeTypeNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions[\"schema\"]][\"CompositeTypes\"] : never) = never> = PublicCompositeTypeNameOrOptions extends {\n schema: keyof DatabaseWithoutInternals;\n} ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions[\"schema\"]][\"CompositeTypes\"][CompositeTypeName] : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema[\"CompositeTypes\"] ? DefaultSchema[\"CompositeTypes\"][PublicCompositeTypeNameOrOptions] : never;\nexport const Constants = {\n core: {\n Enums: {\n AdvanceQueryChangeType: [\"Removed\", \"Deleted\", \"Created\", \"Updated\", \"Added\"],\n NotificationType: [\"App\", \"Email\", \"Push\"],\n OperationType: [\"Insert\", \"Update\", \"Delete\"],\n PriorityLevel: [\"Lowest\", \"Low\", \"Medium\", \"High\", \"Highest\"],\n ProcessStatus: [\"Pending\", \"Executing\", \"Completed\", \"Failed\"],\n PropertyType: [\"String\", \"Number\", \"Options\", \"Date\", \"Boolean\"]\n }\n },\n public: {\n Enums: {\n AdvanceQueryChangeType: [\"Removed\", \"Deleted\", \"Created\", \"Updated\", \"Added\"],\n BillableItemType: [\"TimeActivity\", \"Expense\", \"Service\", \"Retainage\"],\n BillingStatus: [\"Unknown\", \"NotBillable\", \"Billable\", \"AddedToInvoice\", \"HasBeenBilled\", \"BilledElsewhere\", \"LumpSum\"],\n ControlType: [\"Unknown\", \"DMX\", \"ACN\", \"ArtNet\", \"None\", \"DMXPT\", \"PWR\", \"SA\", \"KiNET\", \"ZTTV\"],\n ExpenseReportStatus: [\"Pending\", \"Open\", \"Submitted\", \"UnderReview\", \"Approved\", \"Reimbursed\", \"Closed\"],\n HighlightStatus: [\"Queued\", \"Executed\", \"Failed\", \"Cleared\"],\n InvoiceStatus: [\"Created\", \"ReadyToReview\", \"Reviewed\", \"ReadyToSend\", \"Sent\", \"Rejected\", \"Paid\"],\n MediaContentStatus: [\"Unknown\", \"Required\", \"Preferred\", \"NotRequired\", \"Retake\", \"Taken\"],\n NotificationType: [\"App\", \"Email\", \"Push\"],\n OperationType: [\"Insert\", \"Update\", \"Delete\"],\n PhaseBillingType: [\"TBD\", \"NotBillable\", \"LumpSum\", \"TimeAndMaterials\", \"Expenses\"],\n Platform: [\"Web\", \"Mobile\"],\n pricing_plan_interval: [\"day\", \"week\", \"month\", \"year\"],\n pricing_type: [\"one_time\", \"recurring\"],\n PriorityLevel: [\"Lowest\", \"Low\", \"Medium\", \"High\", \"Highest\"],\n ProcessingStatus: [\"None\", \"Processing\", \"Error\"],\n ProjectDocumentType: [\"Proposal\", \"Directive\", \"Contract\"],\n ProjectStatus: [\"Active\", \"Inactive\", \"Archived\"],\n PublicAccessType: [\"Public\", \"Unlisted\", \"InviteOnly\", \"Private\", \"Internal\"],\n PunchListItemStatus: [\"NotStarted\", \"InProgress\", \"Finished\"],\n RevitChangeType: [\"Unknown\", \"Added\", \"Modified\", \"Deleted\"],\n subscription_status: [\"trialing\", \"active\", \"canceled\", \"incomplete\", \"incomplete_expired\", \"past_due\", \"unpaid\"],\n TaskRunStatus: [\"PENDING\", \"EXECUTING\", \"WAITING_TO_RESUME\", \"RETRYING_AFTER_FAILURE\", \"PAUSED\", \"CANCELED\", \"COMPLETED_SUCCESSFULLY\", \"COMPLETED_WITH_ERRORS\", \"INTERRUPTED\", \"SYSTEM_FAILURE\", \"CRASHED\", \"WAITING_FOR_DEPLOY\", \"DELAYED\", \"EXPIRED\"],\n TicketCommentParentType: [\"Ticket\", \"TicketComment\"],\n TicketStatus: [\"Open\", \"Closed\"],\n TicketType: [\"Issue\", \"Feedback\"],\n TimeBankEffect: [\"Accrues\", \"Consumes\", \"Neutral\"],\n UnitMediaType: [\"FocusPhoto\", \"Attachment\"],\n UnitOfMass: [\"Pounds\", \"Kilograms\"],\n UnitOfMeasurement: [\"Inches\", \"Millimeters\"],\n UserAccess: [\"ReadOnly\", \"ReadWrite\", \"Admin\"],\n WorkingPhaseStatus: [\"Pending\", \"Active\", \"Closed\"]\n }\n }\n} as const;","import { encode } from \"@supabase-cache-helpers/postgrest-react-query\";\nimport { PostgrestSingleResponse, SupabaseClient } from \"@supabase/supabase-js\";\nimport { Dispatch, SetStateAction, useEffect, useMemo, useRef, useState } from \"react\";\nimport useSupabase from \"./useSupabase\";\nimport { PostgrestParser } from \"./parser/PostgrestParser\";\nimport { generateUUID } from \"./utils/uuid\";\nimport { DefinedUseQueryResult, useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { isNullOrWhitespace, isUsable, omit } from \"@pol-studios/utils\";\nimport { useSessionStorageState } from \"@pol-studios/hooks/storage\";\nimport { getSupabaseUrl } from \"./config\";\nimport { FilterConfig, TableInfo, PropertyType, ValueForPropertyType } from \"./types\";\n\n// Re-export FilterConfig and TableInfo for backward compatibility\n// NOTE: PropertyType and ValueForPropertyType are NOT re-exported here to avoid duplicates\n// They are exported from \"./types\" which is re-exported in index.ts\nexport type { FilterConfig, TableInfo };\nexport const normalizeFilter = (filter: FilterInput): Filter | FilterGroup | null => {\n // Check if it's a group (using either new 'op' or legacy 'operator' property)\n const groupOp = filter.op || filter.operator;\n if (groupOp && (groupOp === \"AND\" || groupOp === \"OR\") && filter.filters) {\n // It's a group, recursively normalize children\n return {\n id: filter.id || generateUUID(),\n op: groupOp,\n not: filter.not || filter.inverted,\n // Support both 'not' and legacy 'inverted' for groups\n filters: filter.filters.map(normalizeFilter).filter(Boolean) as Array<Filter | FilterGroup>\n };\n }\n\n // Get the operator - either from op or condition field\n let operator = filter.op || filter.condition;\n\n // Track if we need to negate the filter (for != and ≠ operators)\n let shouldNegate = filter.not || filter.inverted || false;\n\n // Convert unicode symbols and legacy operators to string operators that edge function expects\n if (operator === \"∋\") operator = \"in\"; // CONTAINS symbol\n // Handle NOT EQUALS: \"!=\" and \"≠\" are converted to \"=\" with not: true\n if (operator === \"≠\" || operator === \"!=\") {\n operator = \"=\";\n shouldNegate = true;\n }\n if (operator === \"like\") operator = \"contains\"; // Legacy LIKE\n if (operator === \"regex\" || operator === \"regex_i\" || operator === \"similar_to\") {\n // These advanced text operators aren't supported by the edge function yet\n // Fall back to contains for now\n operator = \"contains\";\n }\n\n // Skip filters with undefined operators\n if (!operator) {\n console.error(\"Filter has undefined operator:\", JSON.stringify(filter, null, 2));\n return null;\n }\n\n // Convert old format to new format\n if (filter.propertyName) {\n return {\n id: filter.id,\n field: filter.propertyName,\n op: operator as FilterOperator,\n value: filter.value as string | number | string[] | number[],\n not: shouldNegate,\n display: filter.display || filter.propertyName\n };\n }\n\n // Already in new format but may need operator normalization\n return {\n id: filter.id,\n field: filter.field,\n op: operator as FilterOperator,\n value: filter.value as string | number | string[] | number[],\n not: shouldNegate,\n similarity: filter.similarity,\n where: filter.where,\n display: filter.display || filter.field\n };\n};\n/**\n * Filter state for the UI - extends Filter with UI-specific metadata.\n * FilterState can always be assigned where Filter is expected since it\n * contains all Filter properties. The omitted properties (similarity, where, options)\n * are AI search-specific and not typically needed in the UI filter state.\n */\nexport interface FilterState extends Omit<Filter, 'similarity' | 'where' | 'options'> {\n // All base properties (id, field, op, value, not, display, info) are inherited from Filter.\n}\n\n// Allows single or array values for a given PropertyType\nexport type ValueOrArrayForPropertyType<T extends PropertyType> = ValueForPropertyType<T> | ValueForPropertyType<T>[];\n\n/**\n * State for tracking extra query metadata\n */\ninterface ExtraDataState {\n count?: number;\n key?: string;\n [key: string]: unknown;\n}\n\n/**\n * Body structure for query execution\n */\ninterface QueryBody {\n filters: Array<Filter | FilterGroup>;\n pagination: {\n from?: number | null;\n to?: number | null;\n offset?: number;\n limit?: number;\n };\n sort?: Sort[];\n op?: \"AND\" | \"OR\";\n id?: string;\n not?: boolean;\n distinctOn?: string[];\n naturalLanguageQuery?: string;\n isReady?: boolean;\n}\nexport type BooleanOperator = \"AND\" | \"OR\";\n\n/**\n * Filter operators supported by the edge function.\n * This is the single source of truth - matches /supabase/functions/_shared/query-sdk/types.ts\n *\n * Note: The following operators are normalized by normalizeFilter() before sending to the server:\n * - \"like\" -> \"contains\"\n * - \"regex\", \"regex_i\", \"similar_to\" -> \"contains\"\n * - \"!=\" and \"<>\" are NOT supported - use \"=\" with not: true instead\n */\nexport type FilterOperator =\n// Comparison operators\n\"=\" | \">\" | \">=\" | \"<\" | \"<=\"\n// Text search operators\n| \"contains\" | \"ilike\"\n// Null/boolean check\n| \"is\"\n// Array membership\n| \"in\"\n// AI/semantic search\n| \"ai_search\";\n\n// Type alias for backward compatibility\nexport type FilterConditionType = FilterOperator;\n\n/**\n * Filter interface - matches edge function API\n */\nexport interface Filter {\n /** Unique identifier */\n id: string;\n /** Field to filter on */\n field: string;\n /** Operator */\n op: FilterOperator;\n /** Value to compare */\n value: string | number | string[] | number[] | boolean | null;\n /** Negate the condition */\n not?: boolean;\n /** AI search options (when op = \"ai_search\") */\n similarity?: number;\n where?: string;\n display?: string;\n options?: {\n display: string;\n value: ValueForPropertyType<PropertyType>;\n }[];\n /** Filter configuration (UI metadata) */\n info?: FilterConfig<any>;\n}\n\n/**\n * Filter group - combine multiple filters\n */\nexport interface FilterGroup {\n /** Unique identifier */\n id: string;\n /** How to combine filters */\n op: \"AND\" | \"OR\";\n /** Filters in this group */\n filters: Array<Filter | FilterGroup>;\n /** Negate the entire group (NOT (A AND B)) */\n not?: boolean;\n}\n\n/**\n * Input type for normalizeFilter - accepts both legacy and new filter formats.\n * The normalizeFilter function handles legacy operators (like, regex, etc.) for data migration,\n * but the type only exposes the supported FilterOperator values.\n */\nexport type FilterInput = {\n id?: string;\n // New format fields (Filter)\n field?: string;\n value?: string | number | string[] | number[] | boolean | null;\n not?: boolean;\n similarity?: number;\n where?: string;\n display?: string;\n options?: {\n display: string;\n value: ValueForPropertyType<PropertyType>;\n }[];\n // FilterGroup fields\n filters?: Array<Filter | FilterGroup | FilterInput>;\n // Combined op field - can be either FilterOperator (for filters) or group operator\n op?: FilterOperator | \"AND\" | \"OR\";\n // Legacy fields\n propertyName?: string;\n condition?: string;\n operator?: \"AND\" | \"OR\";\n inverted?: boolean;\n};\n\n/**\n * Pagination settings\n */\nexport interface Pagination {\n offset?: number;\n limit?: number;\n}\n\n/**\n * Configuration for computed/aggregated field sorting\n */\nexport interface ComputedSortConfig {\n /** Aggregation function to apply */\n fn: \"SUM\" | \"COUNT\" | \"AVG\" | \"MIN\" | \"MAX\";\n /** Field to aggregate */\n field: string;\n /** Relationship path for related table aggregation (e.g., \"OrderItem\" or \"Order.OrderItem\") */\n relationship?: string;\n}\n\n/**\n * Sort order\n */\nexport interface Sort {\n field: string;\n direction: \"asc\" | \"desc\";\n /** Optional computed/aggregated sort configuration for sorting by aggregate values */\n computed?: ComputedSortConfig;\n}\n\n/**\n * Query state that includes FilterGroup plus pagination, sort, and isReady\n * Used by useDbAdvanceFilterQuery for managing filter state with query metadata\n */\nexport interface QueryState extends FilterGroup {\n /** Pagination settings */\n pagination?: Pagination;\n /** Sort order */\n sort?: Sort[];\n /** Distinct ON expressions - returns one record per unique combination */\n distinctOn?: string[];\n /** Natural language query - converts to filters automatically */\n naturalLanguageQuery?: string;\n /** Whether the query is ready to execute */\n isReady: boolean;\n}\nexport interface ClarificationSuggestion {\n interpretation: string;\n field_path: string;\n example: string;\n confidence: number;\n}\nexport interface ClarificationQuestion {\n question: string;\n suggestions: ClarificationSuggestion[];\n}\ninterface AdvancedQueryResult<T> {\n data: T;\n count: number;\n error?: Error | null;\n clarification?: ClarificationQuestion;\n}\nexport interface FilterContextType<T> {\n filters: FilterGroup;\n setFilters: Dispatch<SetStateAction<FilterGroup>>;\n}\n\n// Legacy types for backward compatibility\nexport interface OrderColumn {\n field: string;\n direction: \"asc\" | \"desc\";\n}\nexport function useDbAdvanceFilterQuery<Result>(query: PromiseLike<PostgrestSingleResponse<Result>>, config?: Omit<UseQueryOptions<PostgrestSingleResponse<Result>>, \"queryKey\" | \"queryFn\"> & {\n key?: string;\n filterKey?: string;\n searchByDefault?: boolean;\n timeout?: number;\n count?: \"exact\" | \"estimated\" | \"\";\n}): [DefinedUseQueryResult<Result, Error> & {\n count: number;\n clarification?: ClarificationQuestion;\n}, QueryState, Dispatch<SetStateAction<QueryState>>] {\n const filterKey = useMemo(() => config?.filterKey ?? window.location?.pathname, [config?.filterKey]);\n const [filterLayer, setFilterLayer] = useSessionStorageState<QueryState>(filterKey, {\n id: \"root\",\n op: \"AND\",\n filters: [],\n pagination: undefined,\n sort: [],\n isReady: isUsable(config?.searchByDefault) ? config.searchByDefault ? false : true : true\n });\n const parser = useMemo(() => new PostgrestParser<Result>(query as any), [query, config?.key]);\n useEffect(() => {\n const searchParam = parser.searchParams.get(\"order\");\n if (searchParam) {\n const orderColumns = searchParam.split(\",\");\n const orders: OrderColumn[] = [];\n orderColumns.forEach(x => {\n const values = x.split(\".\");\n orders.push({\n field: values[0],\n direction: values[1] === \"asc\" ? \"asc\" : \"desc\"\n });\n });\n setFilterLayer(pre => {\n if (!pre) {\n return {\n id: \"root\",\n op: \"AND\",\n filters: [],\n isReady: true,\n sort: orders\n };\n }\n return {\n ...pre,\n id: pre.id || \"root\",\n op: pre.op || \"AND\",\n filters: pre.filters || [],\n isReady: pre.isReady ?? true,\n sort: [...(pre.sort || []).filter(old => orders.some(o => o.field === old.field) === false), ...orders]\n };\n });\n }\n }, [JSON.stringify(parser.searchParams), config?.key]);\n const encodedQueryKeyRef = useRef<any[]>([]);\n const encodedQueryKey = useMemo(() => {\n const newEncoded = encode(query, false);\n const newEncodedString = JSON.stringify(newEncoded);\n const oldEncodedString = JSON.stringify(encodedQueryKeyRef.current);\n if (newEncodedString !== oldEncodedString) {\n encodedQueryKeyRef.current = newEncoded;\n }\n return encodedQueryKeyRef.current;\n }, [query, parser.offset, parser.limit]);\n\n // Stabilize filterLayer stringification using ref\n const filterLayerStringRef = useRef<string>(\"\");\n const currentFilterString = JSON.stringify(filterLayer, (key, value) => key === \"id\" ? \"redacted\" : value);\n if (filterLayerStringRef.current !== currentFilterString) {\n filterLayerStringRef.current = currentFilterString;\n }\n\n // Stabilize queryKey using ref - don't use useMemo, just ref\n const queryKeyRef = useRef<any[]>([]);\n const newKey = [encodedQueryKey[0], encodedQueryKey[1], encodedQueryKey[2], encodedQueryKey[3], encodedQueryKey[4], encodedQueryKey[5], \"count=\" + (config?.count ?? \"\"), encodedQueryKey[7], encodedQueryKey[8], filterLayerStringRef.current];\n\n // Only update ref if content actually changed\n const newKeyString = JSON.stringify(newKey);\n const oldKeyString = JSON.stringify(queryKeyRef.current);\n if (oldKeyString !== newKeyString) {\n queryKeyRef.current = newKey;\n }\n const queryKey = queryKeyRef.current;\n const [previousKey, setPreviousKey] = useState(queryKey);\n useEffect(() => {\n if (filterLayer?.isReady) {\n setPreviousKey(queryKey);\n }\n }, [...queryKey]);\n\n // const [local, setLocal] = useLocalStorageState(\"query\" + path, {});\n\n const loadingKey = filterLayer?.isReady ? queryKey : previousKey ?? queryKey;\n const supabase = useSupabase();\n const isEnabled = config?.enabled == null || config?.enabled === undefined ? true : config.enabled;\n const [extraData, setExtraData] = useState<ExtraDataState>({});\n const queryResponse = useQuery<AdvancedQueryResult<Result>>({\n ...(omit({\n retry: 0,\n // Changed from 1 to 0 to prevent retries\n ...(config ?? {}),\n // Override any config settings to prevent multiple executions\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n structuralSharing: false,\n enabled: filterLayer?.isReady && isEnabled\n }, [\"queryKey\", \"persister\", \"initialData\"]) as any),\n queryKey: loadingKey,\n queryFn: async props => {\n // Guard clause for type safety - query is only enabled when filterLayer exists\n if (!filterLayer) {\n throw new Error(\"Filter layer is not initialized\");\n }\n try {\n const searchParams = Array.from(parser.searchParams.entries());\n const body = {\n ...filterLayer,\n filters: [...filterLayer.filters],\n pagination: {\n ...filterLayer.pagination\n },\n sort: [...(filterLayer.sort || [])]\n };\n const currentKey = `${parser.schema}${parser.table}${parser.select}${JSON.stringify(omit(body, \"pagination\"))}`;\n\n // For now, assume we don't need edge function for ordering\n // (simplified ordering logic removed complex manyToOneTableInfo handling)\n const requiresEdgeForOrdering = false;\n\n // Always use edge function if natural language query is present\n const hasNaturalLanguageQuery = !!filterLayer.naturalLanguageQuery;\n if (filterLayer.filters.length == 0 && requiresEdgeForOrdering === false && !hasNaturalLanguageQuery) {\n const result = await executeSupabaseQuery(supabase, body, parser, extraData, props.signal, config?.count);\n setExtraData(pre_0 => ({\n ...omit(result, \"data\"),\n count: result.count ? result.count : pre_0.count,\n key: currentKey\n }));\n return result;\n }\n searchParams.forEach(([k, v]) => {\n if (k.includes(\"offset\")) {\n body.pagination.offset = Number(v);\n return;\n }\n if (k.includes(\"limit\")) {\n body.pagination.limit = Number(v);\n return;\n }\n if (k.includes(\"order\")) {\n // const orderColumns = v.split(\",\");\n // orderColumns.forEach((x) => {\n // const values = x.split(\".\");\n // body.order.push({\n // propertyName: values[0],\n // isAscending: values[1] === \"asc\",\n // });\n // });\n return;\n }\n // Skip .or() filters - they're handled separately below for edge function\n if (k === \"or\") {\n return;\n }\n if (v.includes(\".\") === false) return;\n const values_0 = v.split(\".\");\n const column = k;\n let rawCondition = values_0[0];\n let condition = \"\";\n let value_0: any = values_0[1];\n const inverted = values_0[0] === \"not\";\n if (column == \"select\") return;\n if (rawCondition === \"not\") {\n rawCondition = values_0[1];\n value_0 = values_0[2];\n }\n switch (rawCondition) {\n case \"eq\":\n condition = \"=\";\n break;\n case \"in\":\n condition = \"in\";\n value_0 = value_0.slice(1, value_0.length - 1).split(\",\").filter((x_0: string) => isNullOrWhitespace(x_0) === false);\n break;\n case \"lt\":\n condition = \"<\";\n break;\n case \"gt\":\n condition = \">\";\n break;\n case \"lte\":\n condition = \"<=\";\n break;\n case \"gte\":\n condition = \">=\";\n break;\n case \"is\":\n condition = \"is\";\n if (value_0 == \"null\") {\n value_0 = null;\n }\n break;\n }\n body.filters = [{\n id: `filter_${column}_${Date.now()}`,\n field: column,\n op: condition as FilterOperator,\n value: value_0,\n not: inverted,\n display: column\n }, {\n filters: [...body.filters] as Filter[],\n op: body.op ?? \"AND\",\n id: \"filterstate\"\n }];\n body.op = \"AND\";\n\n // Keep the base query in the query you are saving but not the pagination settings\n const bodyCopy = JSON.parse(JSON.stringify(body));\n bodyCopy.pagination = {\n page: 0,\n pageSize: 50\n };\n bodyCopy.isReady = true;\n\n // setLocal(bodyCopy);\n });\n const {\n data: {\n session\n }\n } = await supabase.auth.getSession();\n if (!session?.access_token) {\n throw new Error(\"No active session\");\n }\n const controller = new AbortController();\n props.signal.addEventListener(\"abort\", () => {\n controller.abort();\n });\n const timeout = setTimeout(() => controller.abort(), config?.timeout ?? 15_000);\n let result_0: any = null;\n let response: {\n error: Error | null;\n data: any;\n } = {\n error: null,\n data: null\n };\n try {\n // Strip UI-only properties from filters before sending to server\n // These properties are for UI metadata and should never be sent to the edge function\n const UI_ONLY_KEYS = new Set([\"info\", \"options\", \"display\"]);\n const filteredBody = JSON.parse(JSON.stringify(body, (key_0, value_1) => {\n // Unconditionally remove UI-only properties from all filters\n if (UI_ONLY_KEYS.has(key_0)) {\n return undefined;\n }\n return value_1;\n }));\n\n // Normalize all filters to use the new format (field, op) instead of (propertyName, condition)\n // Also convert unicode symbols to string operators\n\n filteredBody.filters = filteredBody.filters.map(normalizeFilter).filter(Boolean);\n\n // Handle .or() filters from searchParams by converting to filter format\n // Extract the .or() condition if it exists\n const orParam = parser.searchParams.get(\"or\");\n if (orParam) {\n // Parse the or condition\n // Example: \"(oldRecord->projectDatabaseId.eq.40,newRecord->projectDatabaseId.eq.40)\"\n // Strip parentheses first\n const cleanedOrParam = orParam.replace(/^\\(|\\)$/g, \"\");\n\n // Split by comma to get individual conditions\n const orConditions = cleanedOrParam.split(\",\");\n const orFilters = orConditions.map((condition_0, idx) => {\n // Parse each condition: \"oldRecord->projectDatabaseId.eq.40\"\n // The format is: field.operator.value\n const match = condition_0.match(/^(.+?)\\.([^.]+)\\.(.+)$/);\n if (match) {\n const [_, field, rawOp, value_2] = match;\n\n // Convert Supabase operators to edge function operators\n let op = rawOp.trim();\n switch (op) {\n case \"eq\":\n op = \"=\";\n break;\n case \"neq\":\n op = \"!=\";\n break;\n case \"gt\":\n op = \">\";\n break;\n case \"gte\":\n op = \">=\";\n break;\n case \"lt\":\n op = \"<\";\n break;\n case \"lte\":\n op = \"<=\";\n break;\n case \"like\":\n op = \"contains\";\n break;\n case \"ilike\":\n op = \"contains\";\n break;\n case \"in\":\n op = \"in\";\n break;\n // default: keep as-is\n }\n return {\n id: `or-${idx}`,\n field: field.trim(),\n op: op,\n value: value_2.trim()\n };\n }\n return null;\n }).filter(Boolean);\n if (orFilters.length > 0) {\n // Add OR group to filters\n filteredBody.filters = [...filteredBody.filters, {\n id: \"base-or-group\",\n op: \"OR\" as const,\n filters: orFilters,\n pagination: undefined,\n sort: undefined,\n isReady: true\n }];\n }\n }\n const res = await fetch(`${getSupabaseUrl()}/functions/v1/query?forceDenoVersion=2`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Authorization\": `Bearer ${session.access_token}`\n },\n body: JSON.stringify({\n table: parser.table,\n schema: parser.schema,\n select: parser.select,\n filters: {\n id: filteredBody.id || \"root\",\n op: filteredBody.op || filteredBody.operator || \"AND\",\n not: filteredBody.not || filteredBody.inverted,\n // Support both 'not' and legacy 'inverted'\n filters: filteredBody.filters || []\n },\n pagination: filteredBody.pagination,\n sort: filteredBody.sort,\n distinctOn: filteredBody.distinctOn,\n naturalLanguageQuery: filteredBody.naturalLanguageQuery,\n count: currentKey === extraData.key ? \"\" : config?.count ?? \"\",\n debug: true\n }),\n signal: controller.signal\n });\n if (!res.ok) {\n const errorData = await res.json();\n // Extract error message from response - edge function returns { error: string }\n const errorMessage_0 = typeof errorData?.error === \"string\" ? errorData.error : errorData?.error?.message || errorData?.message || \"An error occurred while processing your request\";\n throw new Error(errorMessage_0);\n }\n const data = await res.json();\n\n // Check if this is a clarification response\n if (data.clarification) {\n // Return clarification response - don't process as regular data\n return {\n data: [] as Result[],\n // Empty data array\n count: 0,\n clarification: data.clarification as ClarificationQuestion,\n error: undefined\n };\n }\n result_0 = data;\n response = {\n error: null,\n data: data\n };\n } catch (err: any) {\n if (err.name === \"AbortError\") {\n console.error(\"Fetch aborted/time-out\");\n response = {\n error: new Error(\"This query timed out\"),\n data: null\n };\n } else if (err instanceof Error) {\n // Already an Error instance\n response = {\n error: err,\n data: null\n };\n } else {\n // Convert plain object or string to Error\n const errorMessage = err?.error || err?.message || String(err);\n response = {\n error: new Error(errorMessage),\n data: null\n };\n }\n } finally {\n clearTimeout(timeout);\n }\n\n // const response = await supabase.functions.invoke(\"query\", {\n // body: {\n // tableName: parser.table,\n // schema: parser.schema,\n // query: parser.select,\n // filter: body,\n // },\n // method: \"POST\",\n // });\n\n if (response.error) {\n throw response.error;\n } else if ((response.data as any)?.error) {\n throw new Error((response.data as any).error);\n }\n\n // Check if result contains clarification (should have been handled above, but double-check)\n if (result_0.clarification) {\n return {\n data: [] as Result[],\n count: 0,\n clarification: result_0.clarification as ClarificationQuestion,\n error: undefined\n };\n }\n setExtraData(pre_1 => ({\n ...omit(result_0, \"data\"),\n count: pre_1.key === currentKey ? pre_1.count : result_0.count,\n key: currentKey\n }));\n return {\n ...result_0,\n statusText: \"\",\n status: result_0.data?.length > result_0.count ? 206 : 200,\n error: (response.data as any)?.error ?? null,\n hasMore: result_0.data?.length < result_0.count ? true : false\n };\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n console.log(\"Fetch aborted\");\n } else {\n console.error(\"Error fetching data:\", error);\n }\n if (error instanceof Error && error.message === \"Failed to send a request to the Edge Function\") {\n throw new Error(\"Could not contact query server\");\n }\n throw error;\n }\n }\n });\n const response_0 = {\n ...queryResponse,\n data: (queryResponse.data as any)?.data,\n count: extraData.count,\n clarification: (queryResponse.data as any)?.clarification\n } as DefinedUseQueryResult<Result, Error> & {\n count: number;\n clarification?: ClarificationQuestion;\n };\n useEffect(() => {\n if (queryResponse.isFetched && response_0.count == null) {\n queryResponse.refetch();\n }\n }, [response_0.count]);\n useEffect(() => {\n if ((queryResponse.data as any)?.error == null) return;\n if ((queryResponse.data as any)?.error?.message?.includes(\" does not exist\")) {\n setFilterLayer({\n id: \"root\",\n op: \"AND\",\n filters: [],\n pagination: undefined,\n sort: [],\n isReady: isUsable(config?.searchByDefault) ? config.searchByDefault ? false : true : true\n });\n }\n }, [(queryResponse.data as any)?.error]);\n return [response_0, filterLayer!, setFilterLayer as any];\n}\n\n// Helper function to check if a column is searchable\n// This is now handled at the FilterBuilder level, but keeping for backward compatibility\nfunction isSearchableColumn(columnName: string): boolean {\n // Since search is now handled at the FilterBuilder level,\n // we'll allow all searches to pass through here\n return true;\n}\nasync function executeSupabaseQuery<Result>(supabase: SupabaseClient, body: QueryBody, parser: PostgrestParser<Result>, extraData: ExtraDataState, signal: AbortSignal, count?: \"exact\" | \"estimated\" | \"\") {\n const searchParams = Array.from(parser.searchParams.entries());\n const currentKey = `${parser.schema}${parser.table}${parser.select}${JSON.stringify(omit(body, \"pagination\"))}`;\n const query = supabase.schema(parser.schema).from(parser.table).select(parser.select, {\n count: currentKey === extraData.key ? undefined : count || undefined\n });\n\n // Handle sort array from FilterGroup\n if (body.sort && Array.isArray(body.sort)) {\n body.sort.forEach((s: Sort) => {\n query.order(s.field, {\n ascending: s.direction === \"asc\"\n });\n });\n }\n const from = searchParams.find(x => x[0].includes(\"offset\"))?.[1];\n const to = searchParams.find(x => x[0].includes(\"limit\"))?.[1];\n searchParams.forEach(([k, v]) => {\n if (k.includes(\"offset\") && isUsable(v)) {\n body.pagination.from = Number(v);\n return;\n }\n if (k.includes(\"limit\") && isUsable(v)) {\n body.pagination.to = Number(from) + Number(v) - 1;\n return;\n }\n\n // Special handling for .or() filters - pass through as-is\n if (k === \"or\") {\n query.or(v.slice(1, v.length - 1)); // Fixed: was v.length - 2, should be -1 to properly strip parens\n return;\n }\n const values = v.split(\".\");\n const column = k;\n let rawCondition = values[0];\n let value: any = values[1];\n if (column == \"select\") return;\n // Skip 'order' param - ordering is handled separately via body.sort\n if (column == \"order\") return;\n if (v.includes(\".\") === false) return;\n\n // Skip non-searchable fields from search to avoid ILIKE errors\n // This is now handled at the FilterBuilder level, so we'll allow all searches\n if (rawCondition === \"ilike\" && !isSearchableColumn(column)) {\n return;\n }\n if (rawCondition === \"not\") {\n rawCondition = values[1];\n value = values[2];\n query.not(column, rawCondition, value);\n } else {\n query.filter(column, rawCondition, value);\n }\n });\n if (body.pagination.from !== null && body.pagination.from !== undefined && body.pagination.to !== null && body.pagination.to !== undefined && isNaN(body.pagination.from) === false && isNaN(body.pagination.to) === false) {\n query.range(body.pagination.from, body.pagination.to);\n }\n const result = await query.abortSignal(signal);\n const dataLength = result.data?.length ?? 0;\n const totalCount = result.count ?? 0;\n return {\n ...result,\n statusText: \"\",\n status: dataLength > totalCount ? 206 : 200,\n error: result.error,\n hasMore: dataLength < totalCount\n };\n}"],"mappings":"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","names":[]}