/**
 * Main exports for @repo/core package
 *
 * ⚠️ BROWSER-SAFE EXPORTS ONLY
 * This entry point is imported by frontend apps (command-center).
 * DO NOT export anything that uses Node.js APIs (process.env, crypto, fs, etc.)
 * Server-only exports belong in ./server.ts
 *
 * For scoped imports, prefer:
 *   import { ... } from '@repo/core/platform'
 *   import { ... } from '@repo/core/execution'
 *   import { ... } from '@repo/core/operations'
 * etc.
 */

// === Domain Groups ===

// Platform: constants, utilities, registry, SSE, API types
export * from './platform'

// Auth: multi-tenancy types
export * from './auth'

// Execution: engine, core types, scheduler
export * from './execution'

// Commands: command queue types
export * from './commands'

// Deployments: deployment response types
export * from './deployments'

// Operations: sessions, notifications, debug logs, observability, activities, triggers
export * from './operations'

// Business: acquisition types (PDF has own subpath exports)
export * from './business'

// Organization model: semantic layer for downstream business semantics
export * from './organization-model'

// === Standalone (cross-cutting or independent) ===

// Supabase types
export * from './supabase/index'

// Shared form types (used by Command Queue, Execution Runner UI, etc.)
export * from './forms/index'

// OAuth integration types
export * from './integrations/oauth/index'

// Credential types and utilities
export * from './integrations/credentials/index'

// Scaffold registry — browser-safe schema types and Zod schemas only.
// For server-side loader functions, use: import { ... } from '@repo/core/scaffold-registry'
export {
  ExternalSyncCategorySchema,
  ExternalSyncDeletePolicySchema,
  ExternalSyncOwnerSchema,
  ExternalSyncStrategySchema,
  ScaffoldEntryKindSchema,
  ScaffoldRegistrySchema
} from './scaffold-registry/schema'
export type {
  ExternalSyncCategory,
  ExternalSyncDeletePolicy,
  ExternalSyncOwner,
  ExternalSyncStrategy,
  ScaffoldEntryKind,
  ScaffoldRegistry,
  ScaffoldRegistryEntry,
  ScaffoldRef
} from './scaffold-registry/schema'
