/** * planning-credentials.ts — build the credential bundle that `hula plan start` * (remote mode) and `hula plan draft-and-launch` send to hula-server so its * sandbox can clone the repo and run a planning agent exactly as a launch does. * * The bundle is the same set of fields `hula launch` sends to * `POST /api/v1/ralph-run` (see `buildRalphRunRequestBody` in * src/commands/launch.ts): GitHub token, provider credential, forwarded env * vars, container resources, sandbox profile, update-notification URL + tag, * client session id, and the `test` / `handoff` passthroughs. Field names match * the launch request body verbatim. */ import type { Config } from '../types/config.schema.js'; import type { SandboxProfile } from './sandbox-profile.js'; export interface RemotePlanningBundle { githubToken?: string; provider: { type: string; authToken: string; }; envVars?: Record; containerResources?: { cpu: number; memory: number; disk: number; }; sandboxProfile?: SandboxProfile; updateNotificationUrl?: string; updateNotificationNameTag?: string; clientSessionId?: string; test?: boolean; handoff?: string; } export interface BuildBundleOptions { test?: boolean; handoff?: string; /** Resolved by the caller (varies: tracking name for start, planId for draft). */ clientSessionId?: string; } /** * Build the remote-planning credential bundle. Resolves a fresh GitHub token * and provider credential every call (tokens are never cached between `start` * and `draft-and-launch`). Throws when no provider credential can be resolved, * so the caller surfaces the same actionable error `hula launch` gives. */ export declare function buildRemotePlanningBundle(repoRoot: string, config: Config, opts?: BuildBundleOptions): Promise; //# sourceMappingURL=planning-credentials.d.ts.map