// ═══════════════════════════════════════════════════════════
// @goosefactory/shared — Type Re-exports
// Single source of truth for all GooseFactory types
// Generated from CONTRACTS.md
// ═══════════════════════════════════════════════════════════

// API types
export type {
  ApiResponse,
  ApiError,
  ErrorCode,
  ResponseMeta,
  PaginationMeta,
  RateLimitMeta,
  PaginationParams,
  JWTPayload,
  Role,
  Scope,
} from "./api.js";

// Pipeline types
export type {
  Pipeline,
  PipelineStage,
  PipelineStatus,
  PipelineTemplate,
  PipelineStageRecord,
  StageStatus,
  Priority,
  ValidationRule,
  DashboardSummary,
  PipelineDetailState,
  PipelineTemplateConfig,
} from "./pipeline.js";

// Task types
export type {
  Task,
  TaskType,
  TaskStatus,
  TaskDecision,
  TaskContext,
  TaskStats,
  TestResults,
  TestFailure,
  DiffSummary,
  DiffFile,
  BlockerInfo,
} from "./task.js";

// Approval types
export type {
  Approval,
  ApprovalType,
  ApprovalStatus,
} from "./approval.js";

// Agent types
export type {
  Agent,
  AgentType,
  AgentStatus,
  AgentHealth,
} from "./agent.js";

// Asset types
export type {
  Asset,
  AssetType,
} from "./asset.js";

// Notification types
export type {
  Notification,
  NotificationType,
  NotificationChannel,
} from "./notification.js";

// Audit types
export type {
  AuditEntry,
} from "./audit.js";

// WebSocket types
export type {
  WsChannel,
  WsEvent,
  WsSubscribe,
  WsUnsubscribe,
  WsPing,
  WsSubscribed,
  WsPong,
  WebSocketEventType,
  PipelineCreatedPayload,
  PipelineStageChangedPayload,
  PipelineBlockedPayload,
  TaskCreatedPayload,
  TaskCompletedPayload,
  TaskSlaPayload,
  AgentStatusPayload,
  AgentHeartbeatPayload,
  DeployPayload,
  FeedbackReceivedPayload,
  ServerStatus,
  DeploymentInfo,
} from "./ws.js";

// Feedback & Modal types
export type {
  // Modal messages
  ModalMessage,
  ModalReady,
  ModalResize,
  ModalClose,
  ModalError,
  ModalResponse,
  // Feedback
  FeedbackPayload,
  FeedbackEvent,
  EnrichedFeedbackEvent,
  WorkProductRef,
  // Decision types
  DecisionFeedback,
  DimensionScore,
  QualityDimension,
  FreeTextFeedback,
  ComparisonFeedback,
  Annotation,
  ConfidenceFeedback,
  EstimationFeedback,
  BatchDecision,
  RankingFeedback,
  RetrospectiveFeedback,
  RetrospectiveNote,
  ChecklistFeedback,
  TemperatureFeedback,
  // Metrics
  ModalMetrics,
  EnrichedMeta,
  TimeOfDay,
  // Modal context & registration
  FactoryModalContext,
  ModalItem,
  ModalDimension,
  ChecklistItem as ModalChecklistItem,
  ModalPersona,
  ModalUseCase,
  ModalRegistration,
  // Learning
  FeedbackStats,
  CalibrationCurve,
  CalibrationBucket,
} from "./feedback.js";
