@capgo/cli 7.120.0 → 7.122.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +1 -0
  2. package/dist/index.js +580 -566
  3. package/dist/package.json +16 -3
  4. package/dist/src/ai/analyze.d.ts +8 -0
  5. package/dist/src/ai/telemetry.d.ts +2 -2
  6. package/dist/src/build/onboarding/ai-fit.d.ts +91 -0
  7. package/dist/src/build/onboarding/android/types.d.ts +1 -1
  8. package/dist/src/build/onboarding/android/ui/app.d.ts +5 -1
  9. package/dist/src/build/onboarding/build-log.d.ts +10 -0
  10. package/dist/src/build/onboarding/min-terminal-size.d.ts +16 -0
  11. package/dist/src/build/onboarding/progress.d.ts +1 -0
  12. package/dist/src/build/onboarding/types.d.ts +18 -1
  13. package/dist/src/build/onboarding/ui/app.d.ts +5 -2
  14. package/dist/src/build/onboarding/ui/completed-steps-log.d.ts +9 -0
  15. package/dist/src/build/onboarding/ui/components.d.ts +58 -1
  16. package/dist/src/build/onboarding/ui/frame-fit.d.ts +10 -0
  17. package/dist/src/build/onboarding/ui/min-size-gate.d.ts +20 -0
  18. package/dist/src/build/onboarding/ui/platform-picker.d.ts +19 -0
  19. package/dist/src/build/onboarding/ui/shell.d.ts +23 -0
  20. package/dist/src/build/onboarding/ui/steps/android-ci.d.ts +45 -0
  21. package/dist/src/build/onboarding/ui/steps/android-keystore.d.ts +75 -0
  22. package/dist/src/build/onboarding/ui/steps/android-sa-gcp.d.ts +85 -0
  23. package/dist/src/build/onboarding/ui/steps/android-shared.d.ts +63 -0
  24. package/dist/src/build/onboarding/ui/steps/ios-ci.d.ts +44 -0
  25. package/dist/src/build/onboarding/ui/steps/ios-credentials.d.ts +66 -0
  26. package/dist/src/build/onboarding/ui/steps/ios-import.d.ts +47 -0
  27. package/dist/src/build/onboarding/ui/steps/ios-shared.d.ts +89 -0
  28. package/dist/src/bundle/builder-cta.d.ts +18 -0
  29. package/dist/src/bundle/upload.d.ts +7 -0
  30. package/dist/src/schemas/build.d.ts +10 -0
  31. package/dist/src/schemas/bundle.d.ts +1 -0
  32. package/dist/src/sdk.js +257 -257
  33. package/package.json +16 -3
  34. package/skills/release-management/SKILL.md +1 -0
@@ -0,0 +1,85 @@
1
+ import type { FC } from 'react';
2
+ export interface SelectOption {
3
+ label: string;
4
+ value: string;
5
+ }
6
+ export type ServiceAccountMethodChoice = 'existing' | 'generate';
7
+ export interface ServiceAccountMethodSelectStepProps {
8
+ onChoose: (choice: ServiceAccountMethodChoice) => void;
9
+ dense?: boolean;
10
+ }
11
+ export declare const ServiceAccountMethodSelectStep: FC<ServiceAccountMethodSelectStepProps>;
12
+ export interface SaJsonExistingPathStepProps {
13
+ showChooser: boolean;
14
+ onChoosePicker: () => void;
15
+ onChooseManual: () => void;
16
+ onSubmitPath: (value: string) => void;
17
+ dense?: boolean;
18
+ }
19
+ export declare const SaJsonExistingPathStep: FC<SaJsonExistingPathStepProps>;
20
+ export declare const SaJsonExistingPickerStep: FC;
21
+ export declare const SaJsonValidatingStep: FC;
22
+ export interface SaJsonValidationFailedStepProps {
23
+ message: string;
24
+ onChoose: (choice: 'retry' | 'save-anyway' | 'oauth') => void;
25
+ dense?: boolean;
26
+ }
27
+ export declare const SaJsonValidationFailedStep: FC<SaJsonValidationFailedStepProps>;
28
+ export type GoogleSignInChoice = 'go' | 'learn' | 'exit';
29
+ export interface GoogleSignInStepProps {
30
+ onChoose: (choice: GoogleSignInChoice) => void;
31
+ dense?: boolean;
32
+ }
33
+ export declare const GoogleSignInStep: FC<GoogleSignInStepProps>;
34
+ export interface GoogleSignInLearnMoreStepProps {
35
+ onBack: () => void;
36
+ dense?: boolean;
37
+ }
38
+ export declare const GoogleSignInLearnMoreStep: FC<GoogleSignInLearnMoreStepProps>;
39
+ export interface GoogleSignInRunningStepProps {
40
+ statusMessages: string[];
41
+ dense?: boolean;
42
+ }
43
+ export declare const GoogleSignInRunningStep: FC<GoogleSignInRunningStepProps>;
44
+ export type PlayDevIdActionChoice = 'open' | 'tutorial' | 'manual';
45
+ export interface PlayDeveloperIdActionsStepProps {
46
+ playDeveloperUrl: string;
47
+ onChoose: (choice: PlayDevIdActionChoice) => void;
48
+ dense?: boolean;
49
+ }
50
+ export declare const PlayDeveloperIdActionsStep: FC<PlayDeveloperIdActionsStepProps>;
51
+ export interface PlayDeveloperIdInputStepProps {
52
+ onSubmit: (value: string) => void;
53
+ dense?: boolean;
54
+ }
55
+ export declare const PlayDeveloperIdInputStep: FC<PlayDeveloperIdInputStepProps>;
56
+ export declare const GcpProjectsLoadingStep: FC;
57
+ export interface GcpProjectsSelectStepProps {
58
+ options: SelectOption[];
59
+ onChange: (value: string) => void;
60
+ dense?: boolean;
61
+ }
62
+ export declare const GcpProjectsSelectStep: FC<GcpProjectsSelectStepProps>;
63
+ export interface GcpProjectCreateNameStepProps {
64
+ /** Placeholder shown for the default project display name. */
65
+ defaultDisplayName: string;
66
+ onSubmit: (value: string) => void;
67
+ dense?: boolean;
68
+ }
69
+ export declare const GcpProjectCreateNameStep: FC<GcpProjectCreateNameStepProps>;
70
+ export interface AndroidPackageSelectStepProps {
71
+ showChooser: boolean;
72
+ detectedOptions: SelectOption[];
73
+ detectedCount: number;
74
+ /** The configured native dir (e.g. "android") — used in the comfortable copy. */
75
+ androidDir: string;
76
+ onChooseDetected: (value: string) => void;
77
+ onSubmitManual: (value: string) => void;
78
+ dense?: boolean;
79
+ }
80
+ export declare const AndroidPackageSelectStep: FC<AndroidPackageSelectStepProps>;
81
+ export interface GcpSetupRunningStepProps {
82
+ statusMessages: string[];
83
+ dense?: boolean;
84
+ }
85
+ export declare const GcpSetupRunningStep: FC<GcpSetupRunningStepProps>;
@@ -0,0 +1,63 @@
1
+ import type { FC } from 'react';
2
+ import type { AiResultKind } from '../components.js';
3
+ export declare const WelcomeStep: FC;
4
+ export interface NoPlatformStepProps {
5
+ androidDir: string;
6
+ dense?: boolean;
7
+ }
8
+ export declare const NoPlatformStep: FC<NoPlatformStepProps>;
9
+ export interface CredentialsExistStepProps {
10
+ appId: string;
11
+ onChoose: (choice: 'backup' | 'exit') => void;
12
+ dense?: boolean;
13
+ }
14
+ export declare const CredentialsExistStep: FC<CredentialsExistStepProps>;
15
+ export declare const BackingUpStep: FC;
16
+ export interface BuildCompleteStepProps {
17
+ uploadSummary: string | null;
18
+ buildUrl: string;
19
+ /** Absolute path of a workflow file written by the GitHub Actions flow. */
20
+ workflowWrittenPath?: string | null;
21
+ /** Absolute path of credentials exported to a .env fallback. */
22
+ envExportPath?: string | null;
23
+ /** Surfaced when the .env export failed (non-fatal). */
24
+ envExportError?: string | null;
25
+ dense?: boolean;
26
+ }
27
+ export declare const BuildCompleteStep: FC<BuildCompleteStepProps>;
28
+ export interface ErrorStepProps {
29
+ message: string;
30
+ onChoose: (choice: 'retry' | 'exit') => void;
31
+ dense?: boolean;
32
+ }
33
+ export declare const ErrorStep: FC<ErrorStepProps>;
34
+ export interface AiAnalysisPromptStepProps {
35
+ onChoose: (choice: 'debug' | 'skip') => void;
36
+ dense?: boolean;
37
+ }
38
+ export declare const AiAnalysisPromptStep: FC<AiAnalysisPromptStepProps>;
39
+ export declare const AiAnalysisRunningStep: FC;
40
+ export interface AiAnalysisResultStepProps {
41
+ /** Pre-rendered (markdown→ANSI) analysis text, or null on a non-success result. */
42
+ analysisText: string | null;
43
+ /**
44
+ * True when the analysis is too tall to show inline alongside the picker, so
45
+ * it lives in the scroll viewer and is replaced here by a compact marker + a
46
+ * "Re-read analysis" option. False ⇒ render the full text inline.
47
+ */
48
+ collapsed: boolean;
49
+ /** Non-success outcome banner (error / already_analyzed / too_big), else null. */
50
+ result: {
51
+ kind: AiResultKind;
52
+ message: string;
53
+ } | null;
54
+ /** Retries already consumed; with `maxRetries` decides whether retry is offered. */
55
+ retryCount: number;
56
+ maxRetries: number;
57
+ onRetry: () => void;
58
+ onSkipOrContinue: () => void;
59
+ /** Re-open the fullscreen scroll viewer to re-read the analysis. */
60
+ onReread: () => void;
61
+ dense?: boolean;
62
+ }
63
+ export declare const AiAnalysisResultStep: FC<AiAnalysisResultStepProps>;
@@ -0,0 +1,44 @@
1
+ import type { FC } from 'react';
2
+ import type { CiSecretSetupAdvice, CiSecretTarget } from '../../ci-secrets.js';
3
+ export interface SelectOption {
4
+ label: string;
5
+ value: string;
6
+ }
7
+ export declare const DetectingCiSecretsStep: FC;
8
+ export interface CiSecretsSetupStepProps {
9
+ advice: CiSecretSetupAdvice[];
10
+ dense?: boolean;
11
+ onChange: (value: string) => void;
12
+ }
13
+ export declare const CiSecretsSetupStep: FC<CiSecretsSetupStepProps>;
14
+ export interface CiSecretsTargetSelectStepProps {
15
+ options: SelectOption[];
16
+ dense?: boolean;
17
+ onChange: (value: string) => void;
18
+ }
19
+ export declare const CiSecretsTargetSelectStep: FC<CiSecretsTargetSelectStepProps>;
20
+ export interface AskCiSecretsStepProps {
21
+ entryCount: number;
22
+ target: CiSecretTarget | null;
23
+ targetLabel: string;
24
+ dense?: boolean;
25
+ onChange: (value: string) => void;
26
+ }
27
+ export declare const AskCiSecretsStep: FC<AskCiSecretsStepProps>;
28
+ export interface ConfirmCiSecretOverwriteStepProps {
29
+ existingKeys: string[];
30
+ dense?: boolean;
31
+ onChange: (value: string) => void;
32
+ }
33
+ export declare const ConfirmCiSecretOverwriteStep: FC<ConfirmCiSecretOverwriteStepProps>;
34
+ export interface CiSecretsFailedStepProps {
35
+ error: string | null;
36
+ dense?: boolean;
37
+ onChange: (value: string) => void;
38
+ }
39
+ export declare const CiSecretsFailedStep: FC<CiSecretsFailedStepProps>;
40
+ export interface AskBuildStepProps {
41
+ dense?: boolean;
42
+ onChange: (value: string) => void;
43
+ }
44
+ export declare const AskBuildStep: FC<AskBuildStepProps>;
@@ -0,0 +1,66 @@
1
+ import type { FC } from 'react';
2
+ export interface SelectOption {
3
+ label: string;
4
+ value: string;
5
+ }
6
+ export interface CredentialsExistStepProps {
7
+ appId: string;
8
+ dense?: boolean;
9
+ onChange: (value: string) => void;
10
+ }
11
+ export declare const CredentialsExistStep: FC<CredentialsExistStepProps>;
12
+ export declare const BackingUpStep: FC;
13
+ export interface SetupMethodSelectStepProps {
14
+ dense?: boolean;
15
+ onChange: (value: string) => void | Promise<void>;
16
+ }
17
+ export declare const SetupMethodSelectStep: FC<SetupMethodSelectStepProps>;
18
+ export interface ApiKeyInstructionsStepProps {
19
+ canUseFilePicker: boolean;
20
+ dense?: boolean;
21
+ onMethodChange: (value: string) => void;
22
+ onPathSubmit: (value: string) => void | Promise<void>;
23
+ }
24
+ export declare const ApiKeyInstructionsStep: FC<ApiKeyInstructionsStepProps>;
25
+ export declare const P8MethodSelectStep: FC;
26
+ export interface InputP8PathStepProps {
27
+ onSubmit: (value: string) => void | Promise<void>;
28
+ }
29
+ export declare const InputP8PathStep: FC<InputP8PathStepProps>;
30
+ export interface InputKeyIdStepProps {
31
+ keyId: string;
32
+ dense?: boolean;
33
+ onSubmit: (value: string) => void;
34
+ }
35
+ export declare const InputKeyIdStep: FC<InputKeyIdStepProps>;
36
+ export interface InputIssuerIdStepProps {
37
+ dense?: boolean;
38
+ onSubmit: (value: string) => void;
39
+ }
40
+ export declare const InputIssuerIdStep: FC<InputIssuerIdStepProps>;
41
+ export declare const VerifyingKeyStep: FC;
42
+ export declare const CreatingCertificateStep: FC;
43
+ export interface CertLimitPromptStepProps {
44
+ existingCount: number;
45
+ options: SelectOption[];
46
+ dense?: boolean;
47
+ onChange: (value: string) => void;
48
+ }
49
+ export declare const CertLimitPromptStep: FC<CertLimitPromptStepProps>;
50
+ export declare const RevokingCertificateStep: FC;
51
+ export interface CreatingProfileStepProps {
52
+ appId: string;
53
+ dense?: boolean;
54
+ }
55
+ export declare const CreatingProfileStep: FC<CreatingProfileStepProps>;
56
+ export interface DuplicateProfilePromptStepProps {
57
+ duplicateCount: number;
58
+ dense?: boolean;
59
+ onChange: (value: string) => void;
60
+ }
61
+ export declare const DuplicateProfilePromptStep: FC<DuplicateProfilePromptStepProps>;
62
+ export interface DeletingDuplicateProfilesStepProps {
63
+ duplicateCount: number;
64
+ }
65
+ export declare const DeletingDuplicateProfilesStep: FC<DeletingDuplicateProfilesStepProps>;
66
+ export declare const SavingCredentialsStep: FC;
@@ -0,0 +1,47 @@
1
+ import type { FC } from 'react';
2
+ export interface SelectOption {
3
+ label: string;
4
+ value: string;
5
+ }
6
+ export declare const ImportScanningStep: FC;
7
+ export interface ImportDistributionModeStepProps {
8
+ dense?: boolean;
9
+ onChange: (value: string) => void | Promise<void>;
10
+ }
11
+ export declare const ImportDistributionModeStep: FC<ImportDistributionModeStepProps>;
12
+ export interface ImportPickIdentityStepProps {
13
+ identityCount: number;
14
+ options: SelectOption[];
15
+ dense?: boolean;
16
+ onChange: (value: string) => void | Promise<void>;
17
+ }
18
+ export declare const ImportPickIdentityStep: FC<ImportPickIdentityStepProps>;
19
+ export interface ImportPickProfileStepProps {
20
+ matchedCount: number;
21
+ droppedCount: number;
22
+ distribution: 'app_store' | 'ad_hoc' | null;
23
+ options: SelectOption[];
24
+ dense?: boolean;
25
+ onChange: (value: string) => void;
26
+ }
27
+ export declare const ImportPickProfileStep: FC<ImportPickProfileStepProps>;
28
+ export interface ImportNoMatchRecoveryStepProps {
29
+ identityName: string;
30
+ options: SelectOption[];
31
+ dense?: boolean;
32
+ onChange: (value: string) => void;
33
+ }
34
+ export declare const ImportNoMatchRecoveryStep: FC<ImportNoMatchRecoveryStepProps>;
35
+ export declare const ImportFetchingProfileStep: FC;
36
+ export declare const ImportCreateProfileOnlyStep: FC;
37
+ export interface ImportExportWarningStepProps {
38
+ identityName: string;
39
+ dense?: boolean;
40
+ onChange: (value: string) => void;
41
+ }
42
+ export declare const ImportExportWarningStep: FC<ImportExportWarningStepProps>;
43
+ export interface ImportCompilingHelperStepProps {
44
+ dense?: boolean;
45
+ }
46
+ export declare const ImportCompilingHelperStep: FC<ImportCompilingHelperStepProps>;
47
+ export declare const ImportExportingStep: FC;
@@ -0,0 +1,89 @@
1
+ import type { FC } from 'react';
2
+ import type { BuildOnboardingRecoveryAdvice } from '../../recovery.js';
3
+ import type { AiResultKind } from '../components.js';
4
+ export declare const WelcomeStep: FC;
5
+ export interface PlatformSelectStepProps {
6
+ appId: string;
7
+ dense?: boolean;
8
+ onChange: (value: string) => void | Promise<void>;
9
+ }
10
+ export declare const PlatformSelectStep: FC<PlatformSelectStepProps>;
11
+ export interface NoPlatformStepProps {
12
+ iosDir: string;
13
+ addIosCommand: string;
14
+ syncIosCommand: string;
15
+ dense?: boolean;
16
+ onChange: (value: string) => void;
17
+ }
18
+ export declare const NoPlatformStep: FC<NoPlatformStepProps>;
19
+ export interface AddingPlatformStepProps {
20
+ addIosCommand: string;
21
+ doctorCommand: string;
22
+ dense?: boolean;
23
+ }
24
+ export declare const AddingPlatformStep: FC<AddingPlatformStepProps>;
25
+ export interface AiAnalysisPromptStepProps {
26
+ dense?: boolean;
27
+ onChange: (value: string) => void | Promise<void>;
28
+ }
29
+ export declare const AiAnalysisPromptStep: FC<AiAnalysisPromptStepProps>;
30
+ export declare const AiAnalysisRunningStep: FC;
31
+ export interface AiAnalysisResultStepProps {
32
+ analysisText: string | null;
33
+ collapsed: boolean;
34
+ result: {
35
+ kind: AiResultKind;
36
+ message: string;
37
+ } | null;
38
+ canRetry: boolean;
39
+ retriesLeft: number;
40
+ maxRetries: number;
41
+ dense?: boolean;
42
+ onChange: (value: string) => void | Promise<void>;
43
+ }
44
+ export declare const AiAnalysisResultStep: FC<AiAnalysisResultStepProps>;
45
+ export interface ErrorStepProps {
46
+ error: string;
47
+ recoveryAdvice: BuildOnboardingRecoveryAdvice | null;
48
+ supportBundlePath: string | null;
49
+ showRetry: boolean;
50
+ dense?: boolean;
51
+ /** When true, the full error + recovery advice was already shown in the
52
+ * scrollable viewer (it was taller than the viewport), so render only the
53
+ * error headline + the action prompt here — keeping Try again / Restart /
54
+ * Exit reachable no matter how long the advice was. */
55
+ collapsed?: boolean;
56
+ onChange: (value: string) => void | Promise<void>;
57
+ }
58
+ export declare function formatErrorViewerLines(error: string, recoveryAdvice: BuildOnboardingRecoveryAdvice | null, supportBundlePath: string | null): string[];
59
+ /**
60
+ * Estimate the rendered row height of the COMFORTABLE ErrorStep body (marginTop
61
+ * + error line + recovery advice + action prompt), independent of whether the
62
+ * collapsed or full form actually renders. The parent uses this to decide
63
+ * whether to route the error through the scroll viewer.
64
+ *
65
+ * Why a structural estimate and not `measureElement`: measuring the rendered
66
+ * body would FEEDBACK-LOOP — a collapsed body measures short → "fits" → render
67
+ * full → measures tall → collapse → measures short → … This estimate depends
68
+ * only on the advice shape + width, so the decision is stable at any size.
69
+ *
70
+ * Calibrated against the VT harness: the body estimate lands within ~1 row of
71
+ * the real render across every recovery-advice shape, and the surrounding frame
72
+ * chrome (boxed header + completed-steps log + padding) is a fixed ~15 rows the
73
+ * caller reserves on top.
74
+ */
75
+ export declare function estimateErrorBodyRows(error: string, recoveryAdvice: BuildOnboardingRecoveryAdvice | null, supportBundlePath: string | null, cols: number, showRetry: boolean): number;
76
+ export declare const ErrorStep: FC<ErrorStepProps>;
77
+ export interface BuildCompleteStepProps {
78
+ buildUrl: string;
79
+ ciSecretUploadSummary: string | null;
80
+ buildRequestCommand: string;
81
+ /** Absolute path of a workflow file written by the GitHub Actions flow. */
82
+ workflowWrittenPath?: string | null;
83
+ /** Absolute path of credentials exported to a .env fallback. */
84
+ envExportPath?: string | null;
85
+ /** Surfaced when the .env export failed (non-fatal). */
86
+ envExportError?: string | null;
87
+ dense?: boolean;
88
+ }
89
+ export declare const BuildCompleteStep: FC<BuildCompleteStepProps>;
@@ -13,6 +13,24 @@ export interface BuilderCtaContext {
13
13
  * whether the app already has build credentials.
14
14
  */
15
15
  export declare function decideBuilderCtaSurface(ctx: BuilderCtaContext): BuilderCtaSurface;
16
+ export interface ShouldBlockIncompatibleUploadContext {
17
+ incompatible: boolean;
18
+ failOnIncompatible: boolean;
19
+ interactive: boolean;
20
+ /** The resolved Builder CTA action (`continue` in CI / when declined). */
21
+ builderAction: BuilderCtaAction;
22
+ }
23
+ /**
24
+ * Pure decision: should an incompatible upload be blocked (abort + exit non-zero)
25
+ * instead of uploaded, given `--fail-on-incompatible`?
26
+ *
27
+ * - Only confirmed-incompatible bundles with the flag set are candidates.
28
+ * - Non-interactive (CI): block immediately.
29
+ * - Interactive: block only when the user declined the Capgo Builder native-build
30
+ * escape hatch (`builderAction === 'continue'`). Accepting a native build
31
+ * (`launch-build` / `launch-onboarding`) supersedes the OTA upload, so do not block.
32
+ */
33
+ export declare function shouldBlockIncompatibleUpload(ctx: ShouldBlockIncompatibleUploadContext): boolean;
16
34
  export declare function printBuilderCiAd(hasCredentials: boolean): void;
17
35
  /** Confirm-prompt seam (`@clack/prompts` `confirm` satisfies it); injectable for tests. */
18
36
  export type BuilderConfirm = (opts: {
@@ -5,6 +5,13 @@ type SupabaseType = Awaited<ReturnType<typeof createSupabaseClient>>;
5
5
  export type { UploadBundleResult };
6
6
  export declare function getDefaultUploadChannel(appId: string, supabase: SupabaseType, hostWeb: string): Promise<string>;
7
7
  export declare function uploadBundleInternal(preAppid: string, options: OptionsUpload, silent?: boolean): Promise<UploadBundleResult>;
8
+ /**
9
+ * Validate mutually-exclusive and dependent upload options, failing fast (via
10
+ * `uploadFail`) before any network call. Exported so the option-conflict guards
11
+ * (e.g. `--fail-on-incompatible` + `--ignore-metadata-check`) can be unit-tested
12
+ * directly.
13
+ */
14
+ export declare function checkValidOptions(options: OptionsUpload): void;
8
15
  export declare function uploadBundle(appid: string, options: OptionsUpload): Promise<{
9
16
  success: boolean;
10
17
  bundle: string;
@@ -59,6 +59,11 @@ export declare const buildRequestOptionsSchema: z.ZodObject<{
59
59
  playstoreUpload: z.ZodOptional<z.ZodBoolean>;
60
60
  verbose: z.ZodOptional<z.ZodBoolean>;
61
61
  aiAnalytics: z.ZodOptional<z.ZodBoolean>;
62
+ aiAnalysisMode: z.ZodOptional<z.ZodEnum<{
63
+ skip: "skip";
64
+ "auto-prompt": "auto-prompt";
65
+ "caller-handled": "caller-handled";
66
+ }>>;
62
67
  }, z.core.$strip>;
63
68
  export type BuildRequestOptions = z.infer<typeof buildRequestOptionsSchema>;
64
69
  export declare const buildNeededOptionsSchema: z.ZodObject<{
@@ -77,6 +82,11 @@ export declare const buildRequestResultSchema: z.ZodObject<{
77
82
  uploadUrl: z.ZodOptional<z.ZodString>;
78
83
  status: z.ZodOptional<z.ZodString>;
79
84
  error: z.ZodOptional<z.ZodString>;
85
+ aiAnalysis: z.ZodOptional<z.ZodObject<{
86
+ jobId: z.ZodString;
87
+ capturedLogPath: z.ZodString;
88
+ ready: z.ZodBoolean;
89
+ }, z.core.$strip>>;
80
90
  }, z.core.$strip>;
81
91
  export type BuildRequestResult = z.infer<typeof buildRequestResultSchema>;
82
92
  export declare const buildOptionsPayloadSchema: z.ZodObject<{
@@ -26,6 +26,7 @@ export declare const optionsUploadSchema: z.ZodObject<{
26
26
  autoMinUpdateVersion: z.ZodOptional<z.ZodBoolean>;
27
27
  autoSetBundle: z.ZodOptional<z.ZodBoolean>;
28
28
  ignoreMetadataCheck: z.ZodOptional<z.ZodBoolean>;
29
+ failOnIncompatible: z.ZodOptional<z.ZodBoolean>;
29
30
  ignoreChecksumCheck: z.ZodOptional<z.ZodBoolean>;
30
31
  forceCrc32Checksum: z.ZodOptional<z.ZodBoolean>;
31
32
  timeout: z.ZodOptional<z.ZodNumber>;