export * from "./clawhub-trust-error-details.js";
export * from "./system-agent-error-details.js";
export {
  isMcpAppViewExpiredError,
  readMissingScopeError,
  readMissingScopeErrorDetails,
} from "./gateway-error-details.js";
export * from "./session-icon.js";
export * from "./terminal-validators.js";
export {
  validateApprovalGetResult,
  validateApprovalHistoryResult,
  validateApprovalResolveResult,
} from "./approval-result-validators.js";
export { formatValidationErrors, type ValidationError } from "./validation-errors.js";
export type { ProtocolValidator } from "./protocol-validator.js";
export * from "./schema/worker-inference.js";
export * from "./schema/skill-history.js";
export * from "./schema/ui-command.js";
export type {
  GatewayErrorDetails,
  McpAppViewExpiredErrorDetails,
  MissingScopeErrorDetails,
  WizardNotFoundErrorDetails,
} from "./schema/error-codes.js";
export * from "./schema/board.js";
export {
  SessionCreatedActorSchema,
  SessionToolOverridesSchema,
  type SessionCreatedActor,
  type SessionRow,
  type SessionRunStatus,
  type SessionToolOverrides,
} from "./schema/sessions-row.js";
export * from "./schema/session-classification.js";
export * from "./schema/sessions-suggestions.js";
export * from "./migration-api.js";
export type * from "./public-session-catalog.js";
export * from "./validator-registry.js";
export * from "./schema-export-registry.js";
export type * from "./schema-types.js";

// Local structural result keeps this package independent of core session types.
export type SessionsPatchResult = {
  ok: true;
  path: string;
  key: string;
  entry: Record<string, unknown>;
  resolved?: {
    modelProvider?: string;
    model?: string;
    agentRuntime?: import("./schema/agents-models-skills.js").GatewayAgentRuntime;
    thinkingLevel?: string;
    thinkingLevels?: Array<{ id: string; label: string }>;
  };
};
