/** * GitHub Codespaces Provider * * Implements the Provider interface for GitHub Codespaces using the `gh` CLI. * * @see s-9cl3 - Unified Workspace Provider Architecture specification * @see s-84xz - Codespaces Provider Implementation specification * @see s-4ge4 - Service Registry & Workspace Manifest spec */ import type { Provider, CodespacesConfig, CreateOptions, Workspace, ListWorkspacesOptions } from '../types.js'; /** * GitHub Codespaces provider implementation. * * Uses the `gh` CLI for all operations. Auth token is retrieved * via `gh auth token` and passed in the config. */ export declare class CodespacesProvider implements Provider { private config; readonly name = "GitHub Codespaces"; constructor(config: CodespacesConfig); create(options: CreateOptions): Promise; resume(workspaceId?: string): Promise; stop(workspaceId: string): Promise; delete(workspaceId: string): Promise; get(workspaceId: string): Promise; list(filters?: ListWorkspacesOptions): Promise; /** * Apply runtime from a workspace manifest. * Starts services, waits for ports, sets up keepalive, forwards ports. */ private applyManifestRuntime; /** * Legacy fallback for pre-manifest workspaces. * Hardcodes sudocode on port 3000. * @deprecated Will be removed once all workspaces have manifests. */ private applyLegacyRuntimeConfig; /** * Wait for a port to be accepting connections. */ private waitForPort; /** * Ensure the keepalive daemon is running inside the codespace. */ private ensureKeepaliveDaemon; /** * Discover a workspace's Tailscale node in Headscale by hostname. * Polls with retry because the node may take a few seconds to appear * after `tailscale up` completes. */ private discoverTailscaleNode; /** * Enrich a Workspace with Tailscale connection info from the manifest. */ private enrichWithTailscale; /** * Poll until a codespace reaches the expected status. */ private waitForStatus; } //# sourceMappingURL=index.d.ts.map