import { spawnSync as nodeSpawnSync } from 'node:child_process'; import type { ChildProcess, SpawnOptions } from 'node:child_process'; export declare const DIRECT_SESSION_SCHEMA_VERSION = "omx.vscode/direct-session/v1"; export type DirectSessionMode = 'launch' | 'resume'; export interface BuildDirectSessionArgsOptions { mode?: DirectSessionMode; codexArgs?: string[]; } export interface LaunchDirectSessionOptions extends BuildDirectSessionArgsOptions { cwd: string; prompt?: string; omxCommand?: string; env?: NodeJS.ProcessEnv; platform?: NodeJS.Platform; dangerousApproved?: boolean; logPath?: string; sessionId?: string; } export interface ResolveVscodeLaunchEnvOptions { cwd: string; omxCommand?: string; baseEnv?: NodeJS.ProcessEnv; extraPath?: string[]; platform?: NodeJS.Platform; } export interface VscodeLaunchEnvResolution { env: NodeJS.ProcessEnv; pathKey: string; pathEntries: string[]; codexPath: string | null; } export interface OmxDirectSessionHandle { schema_version: typeof DIRECT_SESSION_SCHEMA_VERSION; session_id: string; cwd: string; command: string; args: string[]; pid?: number; log_path: string; started_at: string; child: ChildProcess; stop: (signal?: NodeJS.Signals | number) => boolean; } export interface RunOmxCatalogCommandOptions { cwd: string; omxCommand?: string; args: string[]; env?: NodeJS.ProcessEnv; platform?: NodeJS.Platform; timeoutMs?: number; } export interface RunOmxCatalogCommandResult { command: string; args: string[]; stdout: string; stderr: string; code: number | null; signal: NodeJS.Signals | null; } interface LaunchDirectSessionDeps { spawn?: (command: string, args: string[], options: SpawnOptions) => ChildProcess; now?: () => Date; randomId?: () => string; } interface RunOmxCatalogCommandDeps { spawnSync?: typeof nodeSpawnSync; } export declare function resolveVscodeLaunchEnv(options: ResolveVscodeLaunchEnvOptions): VscodeLaunchEnvResolution; export declare function buildDirectSessionArgs(options?: BuildDirectSessionArgsOptions): string[]; export declare function findDangerousLaunchArgs(args: readonly string[]): string[]; export declare function launchRequiresDangerousApproval(args: readonly string[]): boolean; export declare function redactOmxLogLine(value: unknown): string; export declare function launchDirectSession(options: LaunchDirectSessionOptions, deps?: LaunchDirectSessionDeps): OmxDirectSessionHandle; export declare function runOmxCatalogCommand(options: RunOmxCatalogCommandOptions, deps?: RunOmxCatalogCommandDeps): RunOmxCatalogCommandResult; export {}; //# sourceMappingURL=index.d.ts.map