@capgo/cli
Version:
A CLI to upload to capgo servers
90 lines (89 loc) • 3.92 kB
TypeScript
import type { FC } from 'react';
import type { BuildOnboardingRecoveryAdvice } from '../../recovery.js';
import type { AiResultKind } from '../components.js';
export declare const WelcomeStep: FC;
export interface PlatformSelectStepProps {
appId: string;
dense?: boolean;
onChange: (value: string) => void | Promise<void>;
}
export declare const PlatformSelectStep: FC<PlatformSelectStepProps>;
export interface NoPlatformStepProps {
iosDir: string;
addIosCommand: string;
syncIosCommand: string;
dense?: boolean;
onChange: (value: string) => void;
}
export declare const NoPlatformStep: FC<NoPlatformStepProps>;
export interface AddingPlatformStepProps {
addIosCommand: string;
doctorCommand: string;
dense?: boolean;
}
export declare const AddingPlatformStep: FC<AddingPlatformStepProps>;
export interface AiAnalysisPromptStepProps {
dense?: boolean;
onChange: (value: string) => void | Promise<void>;
}
export declare const AiAnalysisPromptStep: FC<AiAnalysisPromptStepProps>;
export declare const AiAnalysisRunningStep: FC;
export interface AiAnalysisResultStepProps {
analysisText: string | null;
collapsed: boolean;
result: {
kind: AiResultKind;
message: string;
} | null;
canRetry: boolean;
retriesLeft: number;
maxRetries: number;
dense?: boolean;
onChange: (value: string) => void | Promise<void>;
}
export declare const AiAnalysisResultStep: FC<AiAnalysisResultStepProps>;
export interface ErrorStepProps {
error: string;
recoveryAdvice: BuildOnboardingRecoveryAdvice | null;
supportBundlePath: string | null;
showRetry: boolean;
dense?: boolean;
/** When true, the full error + recovery advice was already shown in the
* scrollable viewer (it was taller than the viewport), so render only the
* error headline + the action prompt here — keeping Try again / Restart /
* Exit reachable no matter how long the advice was. */
collapsed?: boolean;
onChange: (value: string) => void | Promise<void>;
}
export declare function formatErrorViewerLines(error: string, recoveryAdvice: BuildOnboardingRecoveryAdvice | null, supportBundlePath: string | null): string[];
/**
* Estimate the rendered row height of the COMFORTABLE ErrorStep body (marginTop
* + error line + recovery advice + action prompt), independent of whether the
* collapsed or full form actually renders. The parent uses this to decide
* whether to route the error through the scroll viewer.
*
* Why a structural estimate and not `measureElement`: measuring the rendered
* body would FEEDBACK-LOOP — a collapsed body measures short → "fits" → render
* full → measures tall → collapse → measures short → … This estimate depends
* only on the advice shape + width, so the decision is stable at any size.
*
* Calibrated against the VT harness: the body estimate lands within ~1 row of
* the real render across every recovery-advice shape, and the surrounding frame
* chrome (boxed header + completed-steps log + padding) is a fixed ~15 rows the
* caller reserves on top.
*/
export declare function estimateErrorBodyRows(error: string, recoveryAdvice: BuildOnboardingRecoveryAdvice | null, supportBundlePath: string | null, cols: number, showRetry: boolean): number;
export declare const ErrorStep: FC<ErrorStepProps>;
export interface BuildCompleteStepProps {
buildUrl: string;
ciSecretUploadSummary: string | null;
buildRequestCommand: string;
/** Absolute path of a workflow file written by the GitHub Actions flow. */
workflowWrittenPath?: string | null;
/** Absolute path of credentials exported to a .env fallback. */
envExportPath?: string | null;
/** Surfaced when the .env export failed (non-fatal). */
envExportError?: string | null;
dense?: boolean;
}
export declare const BuildCompleteStep: FC<BuildCompleteStepProps>;