/**
 * Teleport (handoff to remote session) — stub. The teleport feature
 * spawned a cloud-hosted remote runtime to continue a local session;
 * the whole subsystem is removed per locked decision C. Every entry point
 * returns null/no-op so callers fall back to in-process / local paths.
 */

export type TeleportProgressStep =
  | 'preparing'
  | 'syncing'
  | 'authenticating'
  | 'launching'
  | 'connected'
  | 'failed'

export type TeleportResult = {
  success: boolean
  sessionId?: string
  error?: string
}

export async function teleportToRemote(): Promise<TeleportResult> {
  return { success: false, error: 'teleport disabled in sandcode' }
}

export async function teleportResumeCodeSession(): Promise<TeleportResult> {
  return { success: false, error: 'teleport disabled in sandcode' }
}

export async function checkOutTeleportedSessionBranch(): Promise<void> {
  /* no-op */
}

export async function processMessagesForTeleportResume<T>(messages: T): Promise<T> {
  return messages
}

export async function archiveRemoteSession(): Promise<void> {
  /* no-op */
}

export async function pollRemoteSessionEvents(): Promise<unknown[]> {
  return []
}
