@capgo/cli
Version:
A CLI to upload to capgo servers
101 lines (100 loc) • 4.5 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<{
streamText?: string;
terminalRows: number;
terminalCols: number;
}>;
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;
/** A captured build log exists for this run (e.g. a build was attempted), so
* the help menu may offer the "Ask AI for help" option. Defaults to false. */
hasBuildLog?: boolean;
/** Offer "✨ Create a new key for me (guided)" as the first recovery option —
* set when an App Store Connect key failed to validate on a host where the
* guided macOS helper is available. Defaults to false. */
showGuidedKey?: 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, hasBuildLog: boolean, showGuidedKey?: 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>;