// Shared ACP stdio session layer (provider-neutral).
// Provider launch/auth/env/model stay in adapter packages (e.g. grok-acp, codex-acp).

export {
  AcpClient,
  isSessionResumeAdvertised,
  type AcpClientOptions,
  type AcpConnectMode,
  type AcpConnectOptions,
  type AcpConnectResult,
  type AcpStartResult,
} from "./client.js";
export {
  collectSecretValues,
  isSecretEnvKeyName,
  redactDiagnosticText,
  redactDiagnosticValue,
  redactSecrets,
} from "./redact.js";
export {
  isAssistantMessageChunkKind,
  sealAssistantMessageSegment,
  selectFinalAssistantReport,
} from "./assistant-report.js";
export {
  DEFAULT_PERMISSION_TIMEOUT_MS,
  DEFAULT_PROMPT_TIMEOUT_MS,
  cloneAcpSessionConfigSnapshot,
  createAcpSessionConfigSnapshot,
  parseAcpSessionConfigSnapshot,
  type AcpAuthenticateParams,
  type AcpJsonRpcNotification,
  type AcpJsonRpcRequest,
  type AcpJsonRpcResponse,
  type AcpPermissionOption,
  type AcpPermissionPolicy,
  type AcpRouteOptions,
  type AcpSessionConfigOption,
  type AcpSessionConfigOptionValue,
  type AcpSessionConfigSelectOptions,
  type AcpSessionConfigSnapshot,
  type AcpSessionUpdate,
} from "./types.js";
export {
  AcpManagedSession,
  bindAcpPermissionHooks,
  loadSessionAcpCapabilities,
  mapAcpProcessExit,
  mainstreamAcpCapabilities,
  parseAcpResumeToken,
  resumeManagedAcpSession,
  startManagedAcpSession,
  type AcpPermissionAskHooks,
  type AcpResumeTransport,
  type ManagedAcpClient,
  type ResumeManagedAcpSessionInput,
  type StartManagedAcpSessionInput,
} from "./managed-session.js";
export {
  defaultNpxCommand,
  defaultNpxLaunch,
  normalizeAcpPermissionPolicy,
  normalizeSharedAcpOpts,
  readAcpExtras,
  readAcpSessionProjection,
  readBootstrapImageClientOptions,
  readCoreChildEnvClientOptions,
  resolveNpxAcpLaunch,
  resolvePlanOrProcessEnv,
} from "./connection.js";
export {
  cloneMcpServers,
  cloneSkillRefs,
  defaultAllowedSkillRoots,
  isUnderAllowedSkillRoots,
  parseMcpServersArrayValue,
  parseSkillsArrayValue,
  projectMcpServers,
  projectSkillRefs,
  resolveAcpMcpServersWire,
  resolveAcpSkillMeta,
  summarizeMcpServersWire,
  type AcpMcpServerWire,
  type AcpSkillMetaRef,
  type ConnectionMcpServer,
  type ConnectionMcpServerProjection,
  type RouteSkillProjection,
  type ConnectionSkillRef,
} from "./mcp-skills.js";
export {
  ACP_IMAGE_MIME_BY_EXT,
  MAX_ACP_IMAGE_BYTES,
  MAX_ACP_IMAGES_PER_PROMPT,
  MAX_ACP_IMAGES_TOTAL_BYTES,
  acpTransportSupportsImage,
  appendImageFallbackNote,
  bindSystemRootReadBinary,
  collectBootstrapImageRefsFromTask,
  extractMarkdownImageRefs,
  fileUriForSystemRelative,
  isAllowedImageMime,
  mimeFromPath,
  normalizeSystemRelativePath,
  projectBootstrapImagesToAcpPrompt,
  resolveLocalImagePath,
  sniffImageMime,
  type AcpImageContentBlock,
  type AcpPromptContentBlock,
  type AcpTextContentBlock,
  type BootstrapImageRef,
  type ProjectBootstrapImagesInput,
  type ProjectBootstrapImagesResult,
} from "./image-prompt.js";
