/**
 * Schema barrel — empty at Wave 0.
 * Each downstream domain spec adds one file per table and re-exports from here.
 * All tenant-scoped tables MUST carry: tenant_id UUID NOT NULL
 * Note: Postgres RLS is intentionally deferred to post-v1.
 *       The tenantQuery() wrapper + no-raw-drizzle-from-routes ESLint rule
 *       are the structural multi-tenant isolation defense at v1.
 */

// foundation-auth-rbac tables (13):
export * from './users'
export * from './tenants' // tenants + tenant_settings
export * from './rbac' // roles, permissions, role_permissions, tenant_memberships
export * from './auth-tokens' // invitations, refresh_tokens, oauth_accounts
export * from './usage' // usage_counters
export * from './admin' // admin_users
export * from './user-preferences' // user_preferences
export * from './shell-layouts'

// auth-2fa tables:
export * from './user-2fa-backup-codes'
export * from './user-trusted-devices'

// customers-module:
export * from './customers'

// module-management:
export * from './tenant-modules'

// system-ai:
export * from './ai'

// system-communications-notifications:
export * from './communications' // push_subscriptions, notifications, adapter_credentials

// system-i18n:
export * from './vat-rates'

// admin-dashboard:
export * from './admin-rbac'  // adminRoles
export * from './tax'         // taxRates

// ai-assistant:
export * from './ai-chat'

// kb-module + settings-kb:
export * from './kb'

// projects-module:
export * from './projects'

// tenant-audit-log:
export { tenantAuditLog } from './audit'
export type { TenantAuditLogRow, NewTenantAuditLog } from './audit'

// zync-subscription:
export * from './zync-subscriptions'

// expenses-module:
export * from './expenses'

// tasks-board-engine:
export * from './tasks'

// system-status-page:
export { systemIncidents, systemIncidentUpdates, statusSubscribers } from './status'
export type { SystemIncidentRow, NewSystemIncident, SystemIncidentUpdateRow, NewSystemIncidentUpdate, StatusSubscriberRow, NewStatusSubscriber } from './status'

// calendar-module:
export * from './calendar'

// recurring-tasks-templates:
export * from './recurring-tasks'

// task-dependencies:
export * from './task-dependencies'

// time-management:
export * from './time'

// tasks-detail-communication:
export * from './task-comms'

// invoices-core (wave-6):
export * from './invoices'

// project-template-gallery (wave-6):
export * from './project-templates'

// crm-support-center (wave-6):
export * from './support'

// wave-7: recurring-invoices (leaf2)
export * from './recurring-invoices'

// wave-7: project-milestones (leaf4)
export * from './project-milestones'

// wave-7: contractors + payouts (leaf5)
export * from './contractors'

// wave-8: contractor-portal (leaf3)
export * from './contractor-portal'

// wave-9: tenant-portals (task 1)
export * from './portal-sessions'

// wave-7: marketing leads pipeline (leaf6)
export * from './marketing'

// wave-7: ticket-sla (leaf7)
export * from './ticket-sla'

// wave-7: data-import (leaf8)
export * from './data-import'

// wave-7: attachments (leaf8)
export * from './attachments'

// wave-7: invoice-adapters + integration_sync_logs (leaf9)
export * from './invoice-adapters'

// wave-7: invoice generation jobs (leaf2)
export * from './invoice-generation-jobs'

// wave-8: saved-list-filters (leaf9)
export * from './saved-filters'

// wave-8: telegram-bot (leaf9)
export * from './telegram'

// wave-8: contracts-esignature (leaf4)
export * from './contracts'

// wave-9: marketing-catalogs-campaigns (leaf3)
export * from './catalog'
export * from './proposals'

// wave-9: billing-plans-management-ui (leaf1)
export * from './billing-plans'

// wave-10: multi-currency (leaf4)
export * from './exchange-rates'

// wave-10: white-label-api (leaf7)
export * from './white-label'

// wave-10: data-export-gdpr (leaf8)
export * from './data-export'

// wave-10: finance (leaf3)
export * from './recurring-expenses'
export * from './mileage'
export * from './products'
export * from './stock-locations'
export * from './stock-inventory'

// wave-10: marketing-flows (leaf6) — email_sequences, email_sequence_steps, email_sequence_enrollments re-exported from proposals
// (emailSequences, emailSequenceSteps, emailSequenceEnrollments are exported via './proposals' above)

// wave-10: ita-einvoice + payment-gateway-adapters (leaf5)
export * from './einvoice'
export * from './payment-gateways'

// wave-11: partial-payment-recording
export * from './invoice-payments'

// wave-11: payment-retry-dunning
export * from './dunning'

// wave-11: portal-file-sharing
export * from './portal-files'

// wave-11: proposal-editor + public-proposal-view (proposal_view_events, new columns)
export * from './proposal-templates'

// wave-11: contract-signing-page (contract_signatories, contract_audit_log, new columns)
// (contracts already exported above via wave-8; re-export of new tables only needed here
//  because contracts.ts is the same file — the wildcard above captures them)

// wave-11 leaf-D: webhook-endpoint-detail + tenant_api_keys
export * from './webhooks'

// wave-11 leaf-D: audit-compliance (audit_log partitioned table Drizzle object)
export * from './audit-log'

// wave-11 leaf-D: audit-compliance (tenant_export_jobs)
export * from './tenant-export-jobs'

// wave-11 leaf-E: email-template-editor
export * from './tenant-email-templates'

// wave-11 leaf-E: field-level-permissions
export * from './field-permission-rules'

// wave-11 leaf-E: vendors-suppliers
export * from './vendors'

// wave-12: oauth-authorization-code
export * from './oauth'

// wave-12: payment-reconciliation
export * from './unmatched-payments'

// wave-12: bad-debt-writeoff
export * from './bad-debt-vat-reclaims'

// wave-12: activity-timeline (invoice_activities, project_activities, customer_activities, vendor_activities)
export * from './activities'

// wave-12: invoice-receipt-document
export * from './receipts'

// wave-13: session-security
export * from './sessions'

// wave-13: uniform-format-export (spec 180)
export * from './uniform-export-jobs'

// wave-13: invoice-email-history (spec 159)
export * from './invoice-email-events'

// wave-13: reports-navigation-hub (spec 103)
export * from './report-shortcuts'

// wave-15: accountant-export (spec 2026-06-01-accountant-export)
export * from './accountant-export'

// wave-15: bituach-leumi (spec 175)
export * from './nii-advance-payments'

// wave-15: scheduled-reports
export * from './report-schedules'

// reports-analytics (wave A): custom analytics dashboards
export * from './dashboards'
