@capgo/cli
Version:
A CLI to upload to capgo servers
69 lines (68 loc) • 3.41 kB
TypeScript
import type { AndroidOnboardingErrorCategory, AndroidOnboardingStep } from './android/types.js';
import type { OnboardingErrorCategory, OnboardingStep, Platform } from './types.js';
export interface TrackBuilderOnboardingStepInput {
apikey: string;
appId: string;
orgId: string;
/** Correlation id tying every event from one onboarding run together. */
journeyId: string;
platform: Platform;
step: OnboardingStep | AndroidOnboardingStep;
durationMs?: number;
/** Step whose elapsed time is represented by durationMs. */
durationStep?: OnboardingStep | AndroidOnboardingStep;
/** Raw caught error — mapped via the platform's category mapper. Use this OR errorCategory, not both. */
error?: unknown;
/** Pre-computed category. Takes precedence over `error` if both are present. */
errorCategory?: OnboardingErrorCategory | AndroidOnboardingErrorCategory;
replaySessionId?: string;
}
export type BuilderOnboardingAction = 'resume_prompt_decision' | 'android_sa_method_selected' | 'android_sa_validation_recovery_selected' | 'android_sa_validation_result';
export interface TrackBuilderOnboardingActionInput {
apikey: string;
appId: string;
orgId: string;
/** Correlation id tying every event from one onboarding run together. */
journeyId: string;
platform: Platform;
step: OnboardingStep | AndroidOnboardingStep;
action: BuilderOnboardingAction;
tags?: Record<string, boolean | number | string>;
replaySessionId?: string;
}
export declare function trackBuilderOnboardingStep(input: TrackBuilderOnboardingStepInput): Promise<void>;
export declare function trackBuilderOnboardingAction(input: TrackBuilderOnboardingActionInput): Promise<void>;
export interface TrackBuilderOnboardingCancelledInput {
apikey: string;
appId: string;
/** May be undefined when the owner org couldn't be resolved post-exit. */
orgId?: string;
/** Correlation id tying every event from one onboarding run together. */
journeyId: string;
/**
* The platform being onboarded, or undefined when the user quit BEFORE
* choosing one (e.g. on the platform picker). The undefined case is itself a
* useful signal — it isolates "left at the very first screen" drop-off.
*/
platform?: Platform;
/** The step the user was on when they quit, when known. */
lastStep?: string;
/** Total wall-clock duration of the journey, from launch to quit. */
durationMs?: number;
/**
* Abort signal used to time-box the post-quit flush so a stalled network
* can't keep the CLI alive after the user has already exited the wizard.
*/
signal?: AbortSignal;
replaySessionId?: string;
}
/**
* Emits the terminal "Builder Onboarding Quit" event when a journey ends
* without reaching build-complete (user cancel, Ctrl+C, missing platform, or a
* fatal error that exits). Fired ONCE from command.ts after the wizard tears
* down — never mid-flow — so each journey has at most one quit marker. Unlike
* the per-step events this carries no org-scoped requirement: it sends with
* whatever org id could be resolved (possibly none) rather than dropping the
* event, because a quit is exactly when we most want the funnel exit recorded.
*/
export declare function trackBuilderOnboardingCancelled(input: TrackBuilderOnboardingCancelledInput): Promise<void>;