@capgo/cli 8.37.4 → 8.41.3

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.
package/dist/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "8.37.4",
4
+ "version": "8.41.3",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",
8
8
  "homepage": "https://github.com/Cap-go/capgo/tree/main/cli#readme",
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git+https://github.com/Cap-go/capgo.git",
11
+ "url": "https://github.com/Cap-go/capgo.app",
12
12
  "directory": "cli"
13
13
  },
14
14
  "bugs": {
@@ -105,6 +105,7 @@
105
105
  "test:mcp-build-job": "bun test/test-mcp-build-job.mjs",
106
106
  "test:mcp-build-tools": "bun test/test-mcp-build-tools.mjs",
107
107
  "test:app-created-source": "bun test/test-app-created-source.mjs",
108
+ "test:app-list-output-text": "bun test/test-app-list-output-text.mjs",
108
109
  "test:doctor-analytics": "bun test/test-doctor-analytics.mjs",
109
110
  "test:posthog-exception": "bun test/test-posthog-exception.mjs",
110
111
  "test:onboarding-recovery": "bun test/test-onboarding-recovery.mjs",
@@ -162,10 +163,12 @@
162
163
  "test:ios-updater-sync-validation": "bun test/test-ios-updater-sync-validation.mjs",
163
164
  "test:ios-verify-app": "bun test/test-ios-verify-app.mjs",
164
165
  "test:ios-marketing-version": "bun test/test-ios-marketing-version.mjs",
166
+ "test:android-version": "bun test/test-android-version.mjs",
165
167
  "test:platform-flow-contract": "bun test/test-platform-flow-contract.mjs",
166
168
  "test:tail-engine-shared": "bun test/test-tail-engine-shared.mjs",
167
- "test": "bun run build && bun run test:helper-dce && bun run test:version-detection:setup && bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:auto-bump-version && bun run test:auto-bump-ai-diff && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && bun run test:native-dependencies && bun run test:package-json-guard && bun run test:credentials && bun run test:credentials-validation && bun run test:android-service-account-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:build-needed && bun run test:ci-prompts && bun run test:ci-secrets && bun run test:android-onboarding-progress && bun run test:onboarding-telemetry && bun run test:v2-event-migration && bun run test:analytics && bun run test:authenticated-command-invocation && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:preview-qr && bun run test:app-set-options && bun run test:mcp-analytics && bun run test:mcp-instructions && bun run test:mcp-live-update-onboarding && bun run test:mcp-stdout-guard && bun run test:mcp-platform-select && bun run test:mcp-explain-scopes && bun run test:mcp-oauth-reopen && bun run test:mcp-broker-oauth && bun run test:mcp-broker-session && bun run test:mcp-credentials-manage && bun run test:mcp-resume-prompt && bun run test:mcp-build-job && bun run test:mcp-build-tools && bun run test:app-created-source && bun run test:doctor-analytics && bun run test:posthog-exception && bun run test:build-platform-selection && bun run test:onboarding-recovery && bun run test:onboarding-progress && bun run test:onboarding-run-targets && bun run test:run-device-command && bun run test:init-monorepo-targeting && bun run test:init-app-conflict && bun run test:wait-log && bun run test:init-guardrails && bun run test:init-replay && bun run test:init-telemetry && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:mcp-no-key-handshake && bun run test:auth-session && bun run test:version-detection && bun run test:platform-paths && bun run test:project-type-detection && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:asc-key-protocol && bun run test:apple-api-import-helpers && bun run test:apple-api-verify-key && bun run test:bundle-id-detector && bun run test:apple-api-app-list && bun run test:app-verification && bun run test:pbxproj-parser && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:cicd-failure-help && bun run test:ai-sse-parser && bun run test:ai-render-markdown && bun run test:ai-stream-markdown && bun run test:ai-onboarding-mode && bun run test:ai-fit && bun run test:platform-layout && bun run test:frame-fit && bun run test:onboarding-min-size && bun run test:min-size-gate && bun run test:shell-size-gate && bun run test:build-log-sanitize && bun run test:build-output-viewport && bun run test:diff-viewer-viewport && bun run test:build-complete-exit && bun run test:ai-analyze-stream && bun run test:support-mailto && bun run test:support-redact && bun run test:support-internal-log && bun run test:support-help-menu && bun run test:support-contact && bun run test:support-upload-prompt && bun run test:support-bundle-files && bun run test:self-update && bun run test:update-prompt && bun run test:apple-api-cert-create && bun run test:android-tail-engine && bun run test:android-tail-render && bun run test:android-tail-routing && bun run test:dev-gate-stripped && bun run test:frame-fit-ios-shared && bun run test:ios-confirm-app-id && bun run test:ios-create-new && bun run test:ios-e2e && bun run test:ios-flow-contract && bun run test:ios-import-discovery && bun run test:ios-import-export && bun run test:ios-import-pickers && bun run test:ios-import-recovery && bun run test:ios-recovery && bun run test:ios-resume && bun run test:ios-tail-handoff && bun run test:ios-tui-render && bun run test:p8-error && bun run test:ios-tui-routing && bun run test:ios-updater-sync-validation && bun run test:ios-verify-app && bun run test:ios-marketing-version && bun run test:platform-flow-contract && bun run test:tail-engine-shared && bun run test:prescan && bun run test:android-reporting-api && bun run test:android-app-verification && bun run test:android-rename && bun run test:appflow-auth && bun run test:appflow-api-map && bun run test:appflow-validate && bun run test:appflow-flow && bun run test:appflow-gapfill && bun run test:appflow-engine && bun run test:appflow-tail && bun run test:appflow-fetch && bun run test:appflow-sa-decode && bun run test:app-permission-helper && bun run test:organization-set-api-host && bun run test:trial-warning && bun run test:plan-validation",
169
+ "test": "bun run build && bun run test:helper-dce && bun run test:version-detection:setup && bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:auto-bump-version && bun run test:auto-bump-ai-diff && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && bun run test:native-dependencies && bun run test:package-json-guard && bun run test:credentials && bun run test:credentials-validation && bun run test:android-service-account-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:build-needed && bun run test:ci-prompts && bun run test:ci-secrets && bun run test:android-onboarding-progress && bun run test:onboarding-telemetry && bun run test:v2-event-migration && bun run test:analytics && bun run test:authenticated-command-invocation && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:preview-qr && bun run test:app-set-options && bun run test:mcp-analytics && bun run test:mcp-instructions && bun run test:mcp-live-update-onboarding && bun run test:mcp-stdout-guard && bun run test:mcp-platform-select && bun run test:mcp-explain-scopes && bun run test:mcp-oauth-reopen && bun run test:mcp-broker-oauth && bun run test:mcp-broker-session && bun run test:mcp-credentials-manage && bun run test:mcp-resume-prompt && bun run test:mcp-build-job && bun run test:mcp-build-tools && bun run test:app-created-source && bun run test:app-list-output-text && bun run test:doctor-analytics && bun run test:posthog-exception && bun run test:build-platform-selection && bun run test:builder-project-discovery && bun run test:onboarding-recovery && bun run test:onboarding-progress && bun run test:onboarding-run-targets && bun run test:run-device-command && bun run test:init-monorepo-targeting && bun run test:init-app-conflict && bun run test:wait-log && bun run test:init-guardrails && bun run test:init-replay && bun run test:init-telemetry && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:mcp-no-key-handshake && bun run test:auth-session && bun run test:version-detection && bun run test:platform-paths && bun run test:project-type-detection && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:asc-key-protocol && bun run test:apple-api-import-helpers && bun run test:apple-api-verify-key && bun run test:bundle-id-detector && bun run test:apple-api-app-list && bun run test:app-verification && bun run test:pbxproj-parser && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:cicd-failure-help && bun run test:ai-sse-parser && bun run test:ai-render-markdown && bun run test:ai-stream-markdown && bun run test:ai-onboarding-mode && bun run test:ai-fit && bun run test:platform-layout && bun run test:frame-fit && bun run test:onboarding-min-size && bun run test:min-size-gate && bun run test:shell-size-gate && bun run test:build-log-sanitize && bun run test:build-output-viewport && bun run test:diff-viewer-viewport && bun run test:build-complete-exit && bun run test:ai-analyze-stream && bun run test:support-mailto && bun run test:support-redact && bun run test:support-internal-log && bun run test:support-help-menu && bun run test:support-contact && bun run test:support-upload-prompt && bun run test:support-bundle-files && bun run test:self-update && bun run test:update-prompt && bun run test:apple-api-cert-create && bun run test:android-tail-engine && bun run test:android-tail-render && bun run test:android-tail-routing && bun run test:dev-gate-stripped && bun run test:frame-fit-ios-shared && bun run test:ios-confirm-app-id && bun run test:ios-create-new && bun run test:ios-e2e && bun run test:ios-flow-contract && bun run test:ios-import-discovery && bun run test:ios-import-export && bun run test:ios-import-pickers && bun run test:ios-import-recovery && bun run test:ios-recovery && bun run test:ios-resume && bun run test:ios-tail-handoff && bun run test:ios-tui-render && bun run test:p8-error && bun run test:ios-tui-routing && bun run test:ios-updater-sync-validation && bun run test:ios-verify-app && bun run test:ios-marketing-version && bun run test:android-version && bun run test:platform-flow-contract && bun run test:tail-engine-shared && bun run test:prescan && bun run test:android-reporting-api && bun run test:android-app-verification && bun run test:android-rename && bun run test:appflow-auth && bun run test:appflow-api-map && bun run test:appflow-validate && bun run test:appflow-flow && bun run test:appflow-gapfill && bun run test:appflow-engine && bun run test:appflow-tail && bun run test:appflow-fetch && bun run test:appflow-sa-decode && bun run test:app-permission-helper && bun run test:organization-set-api-host && bun run test:trial-warning && bun run test:plan-validation",
168
170
  "test:build-platform-selection": "bun test/test-build-platform-selection.mjs",
171
+ "test:builder-project-discovery": "bun test/test-builder-project-discovery.mjs",
169
172
  "test:ai-log-capture": "bun test/test-ai-log-capture.mjs",
170
173
  "test:ai-analyze-flow": "bun test/test-ai-analyze-flow.mjs",
171
174
  "test:cicd-failure-help": "bun test/test-cicd-failure-help.mjs",
@@ -192,7 +195,7 @@
192
195
  "test:support-upload-prompt": "bun test/test-support-upload-prompt.mjs",
193
196
  "test:support-bundle-files": "bun test/test-support-bundle-files.mjs",
194
197
  "test:mcp-live-update-onboarding": "bun test/test-mcp-live-update-onboarding.mjs",
195
- "test:app-set-options": "bun test/test-app-set-options.mjs",
198
+ "test:app-set-options": "bun test/test-app-set-options.mjs && bun test/test-app-list-options.mjs",
196
199
  "test:android-reporting-api": "bun test/test-android-reporting-api.mjs",
197
200
  "test:android-app-verification": "bun test/test-android-app-verification.mjs",
198
201
  "test:android-rename": "bun test/test-android-rename.mjs",
@@ -214,7 +217,9 @@
214
217
  },
215
218
  "dependencies": {
216
219
  "@inkjs/ui": "^2.0.0",
220
+ "@manypkg/tools": "^2.1.2",
217
221
  "@rrweb/types": "^2.1.1",
222
+ "@standard-schema/spec": "^1.1.0",
218
223
  "@xmldom/xmldom": "^0.9.10",
219
224
  "@xterm/addon-serialize": "^0.14.0",
220
225
  "@xterm/headless": "^6.0.0",
@@ -227,8 +232,8 @@
227
232
  "react": "^19.2.8",
228
233
  "rrweb-snapshot": "^2.1.1",
229
234
  "string-width": "^8.2.2",
230
- "zod": "^4.4.3",
231
- "@standard-schema/spec": "^1.1.0"
235
+ "typescript": "6.0.3",
236
+ "zod": "^4.4.3"
232
237
  },
233
238
  "optionalDependencies": {
234
239
  "@capgo/cli-helper-darwin-arm64": "^1.1.1",
@@ -273,7 +278,6 @@
273
278
  "prettyjson": "^1.2.5",
274
279
  "tmp": "^0.2.7",
275
280
  "tus-js-client": "^4.3.1",
276
- "typescript": "6.0.3",
277
281
  "ws": "^8.21.1"
278
282
  }
279
283
  }
@@ -9,7 +9,6 @@ export declare function resolveTrackingContext(apikey: string, signal?: AbortSig
9
9
  export interface TrackEventInput {
10
10
  channel: string;
11
11
  event: string;
12
- icon?: string;
13
12
  /** Org id for actor-scoped attribution. Omitted => resolved best-effort. */
14
13
  orgId?: string;
15
14
  /** App id (also lets the backend verify org ownership). */
@@ -1,6 +1,6 @@
1
1
  import type { AppDebugOptions } from '../schemas/app';
2
2
  import type { Database } from '../types/supabase.types';
3
- export declare function markSnag(channel: string, orgId: string, apikey: string, event: string, appId?: string, icon?: string, tags?: Record<string, string | number | boolean>): Promise<void>;
3
+ export declare function sendCliEvent(channel: string, orgId: string, apikey: string, event: string, appId?: string, tags?: Record<string, string | number | boolean>): Promise<void>;
4
4
  export declare function cancelCommand(channel: string, command: boolean | symbol, orgId: string, apikey: string): Promise<void>;
5
5
  interface Order {
6
6
  key: string;
@@ -1,5 +1,19 @@
1
1
  import type { OptionsBase } from '../schemas/base';
2
- export declare function listAppInternal(options: OptionsBase, silent?: boolean): Promise<{
2
+ import type { Database } from '../types/supabase.types';
3
+ interface AppListOptions extends OptionsBase {
4
+ filterByOrgId?: string;
5
+ showOrg?: boolean;
6
+ showOrgId?: boolean;
7
+ outputText?: boolean;
8
+ }
9
+ export declare const APP_LIST_ORG_FILTER_WARNING = "You have passed \"--filter-by-org-id\". You might have access to more apps. Remove the filter to see all apps";
10
+ export declare function getAppListPath(page: number, orgId?: string): string;
11
+ type AppRow = Database['public']['Tables']['apps']['Row'];
12
+ export declare function formatAppsCsv(data: AppRow[]): string;
13
+ export declare function formatAppListText(data: AppRow[]): string;
14
+ export declare function getAppListHeaders(options: AppListOptions): string[];
15
+ export declare function getAppListRow(row: AppRow, options: AppListOptions, orgNames: Map<string, string>): string[];
16
+ export declare function listAppInternal(options: AppListOptions, silent?: boolean): Promise<{
3
17
  allow_device_custom_id: boolean;
4
18
  allow_preview: boolean;
5
19
  android_store_url: string | null;
@@ -32,7 +46,7 @@ export declare function listAppInternal(options: OptionsBase, silent?: boolean):
32
46
  updated_at: string | null;
33
47
  user_id: string | null;
34
48
  }[]>;
35
- export declare function listApp(options: OptionsBase, silent?: boolean): Promise<{
49
+ export declare function listApp(options: AppListOptions, silent?: boolean): Promise<{
36
50
  allow_device_custom_id: boolean;
37
51
  allow_preview: boolean;
38
52
  android_store_url: string | null;
@@ -65,3 +79,4 @@ export declare function listApp(options: OptionsBase, silent?: boolean): Promise
65
79
  updated_at: string | null;
66
80
  user_id: string | null;
67
81
  }[]>;
82
+ export {};
@@ -0,0 +1,12 @@
1
+ export interface SyncAndroidVersionOptions {
2
+ path?: string;
3
+ }
4
+ export interface SyncAndroidVersionResult {
5
+ projectDir: string;
6
+ packageJsonPath: string;
7
+ buildGradlePath: string;
8
+ packageVersion: string;
9
+ replacements: number;
10
+ changed: boolean;
11
+ }
12
+ export declare function syncAndroidVersion(options?: SyncAndroidVersionOptions): SyncAndroidVersionResult;
@@ -1,3 +1,4 @@
1
+ import type { BuilderProjectPrompts } from './project-selection.js';
1
2
  export interface OnboardingBuilderOptions {
2
3
  analytics?: boolean;
3
4
  apikey?: string;
@@ -14,5 +15,13 @@ export interface OnboardingBuilderOptions {
14
15
  * (e.g. re-run the upload) instead of `build init`.
15
16
  */
16
17
  enableSelfUpdate?: boolean;
18
+ /** Search exact-root package workspaces for a Capacitor app before onboarding. */
19
+ enableProjectDiscovery?: boolean;
17
20
  }
21
+ export declare function shouldDiscoverBuilderProject(options: OnboardingBuilderOptions): boolean;
22
+ export declare function builderProjectNotFoundMessage(nxDetected: boolean): string;
23
+ export declare function builderProjectTimeoutMessage(): string;
24
+ type BuilderProjectResolution = 'ready' | 'cancelled' | 'not-found';
25
+ export declare function discoverBuilderProjectFromInvocationRoot(options: OnboardingBuilderOptions, prompts: BuilderProjectPrompts): Promise<BuilderProjectResolution>;
18
26
  export declare function onboardingBuilderCommand(options?: OnboardingBuilderOptions): Promise<void>;
27
+ export {};
@@ -0,0 +1,15 @@
1
+ export type BuilderProjectDiscoveryReason = 'missing-package-json' | 'unsupported-workspace' | 'invalid-workspace' | 'no-capacitor-app';
2
+ export interface CapacitorProjectCandidate {
3
+ dir: string;
4
+ relativeDir: string;
5
+ packageName?: string;
6
+ appId?: string;
7
+ }
8
+ export interface BuilderProjectDiscovery {
9
+ searchRoot: string;
10
+ candidates: CapacitorProjectCandidate[];
11
+ nxDetected: boolean;
12
+ reason?: BuilderProjectDiscoveryReason;
13
+ }
14
+ export declare function hasCapacitorConfig(directory: string): boolean;
15
+ export declare function discoverCapacitorProjects(searchRoot: string): Promise<BuilderProjectDiscovery>;
@@ -0,0 +1,7 @@
1
+ import type { CapacitorProjectCandidate } from './project-discovery.js';
2
+ export interface BuilderProjectPrompts {
3
+ confirm: (candidate: CapacitorProjectCandidate) => Promise<boolean | symbol>;
4
+ select: (candidates: CapacitorProjectCandidate[]) => Promise<string | symbol>;
5
+ }
6
+ export declare function projectCandidateLabel(candidate: CapacitorProjectCandidate): string;
7
+ export declare function selectCapacitorProject(candidates: CapacitorProjectCandidate[], prompts: BuilderProjectPrompts): Promise<CapacitorProjectCandidate | undefined>;
@@ -58,6 +58,8 @@ export interface CardChooserProps {
58
58
  defaultIndex?: number;
59
59
  /** Rendered directly below the legend (flush, no gap). */
60
60
  footer?: ReactNode;
61
+ /** Keep variable-width details on a stable row for shared/golden layouts. */
62
+ subtitleAlign?: 'center' | 'left';
61
63
  onSelect: (value: string) => void;
62
64
  }
63
65
  /** A heading + bordered cards (←/→/Enter) — or a Select on narrow terminals —
@@ -0,0 +1,27 @@
1
+ import type { FC } from 'react';
2
+ import type { CapacitorProjectCandidate } from '../project-discovery.js';
3
+ import { discoverCapacitorProjects } from '../project-discovery.js';
4
+ export type BuilderProjectDecision = {
5
+ kind: 'selected';
6
+ candidate: CapacitorProjectCandidate;
7
+ } | {
8
+ kind: 'cancelled';
9
+ } | {
10
+ kind: 'not-found';
11
+ nxDetected: boolean;
12
+ } | {
13
+ kind: 'timed-out';
14
+ };
15
+ export interface BuilderProjectDiscoveryAppProps {
16
+ searchRoot: string;
17
+ onDecision: (decision: BuilderProjectDecision) => void;
18
+ discoverProjects?: typeof discoverCapacitorProjects;
19
+ timing?: Partial<BuilderProjectDiscoveryTiming>;
20
+ }
21
+ export interface BuilderProjectDiscoveryTiming {
22
+ searchStatusDelayMs: number;
23
+ minimumSearchStatusMs: number;
24
+ timeoutMs: number;
25
+ }
26
+ export declare const DEFAULT_BUILDER_PROJECT_DISCOVERY_TIMING: BuilderProjectDiscoveryTiming;
27
+ export declare const BuilderProjectDiscoveryApp: FC<BuilderProjectDiscoveryAppProps>;
@@ -1,4 +1,4 @@
1
- import type { ExtConfigPairs } from '../schemas/config';
1
+ import type { CapacitorConfig, ExtConfigPairs } from '../schemas/config';
2
2
  export type { CapacitorConfig, ExtConfigPairs } from '../schemas/config';
3
3
  /**
4
4
  * Overrides the config file Capacitor writes after loading the active root config.
@@ -13,6 +13,7 @@ export declare function getConfigWriteTarget(): string | undefined;
13
13
  */
14
14
  export declare function withConfigWriteTarget<T>(filePath: string | undefined, action: () => T): T;
15
15
  export declare function resolveCapacitorConfigTargetPath(value: string | undefined, initialCwd?: string): string | undefined;
16
+ export declare function loadConfigTarget(filePath: string): Promise<CapacitorConfig>;
16
17
  export declare function loadConfig(): Promise<ExtConfigPairs | undefined>;
17
18
  /**
18
19
  * Loads the source file that will receive a config update. Normal reads must
@@ -0,0 +1,26 @@
1
+ import type { SaveKeyOptions } from '../auth/session';
2
+ interface BrowserLoginOptions extends SaveKeyOptions {
3
+ local: boolean;
4
+ }
5
+ interface BrowserLoginEvent {
6
+ channel: 'user-login';
7
+ event: 'User CLI login';
8
+ tracking_version: 2;
9
+ org_id: string;
10
+ description: string;
11
+ notifyConsole: true;
12
+ }
13
+ interface BrowserLoginDependencies {
14
+ createSession: () => string;
15
+ openUrl: (url: string) => Promise<unknown>;
16
+ promptForKey: () => Promise<string | undefined>;
17
+ validateKey: (key: string, options: SaveKeyOptions) => Promise<{
18
+ userId: string;
19
+ }>;
20
+ listOrganizationIds: (key: string, options: BrowserLoginOptions) => Promise<string[]>;
21
+ sendEvent: (key: string, payload: BrowserLoginEvent) => Promise<void>;
22
+ writeUrl: (message: string) => void;
23
+ }
24
+ export declare function shouldStartInitBrowserLogin(resolvedKey: string | undefined, interactive: boolean): boolean;
25
+ export declare function loginInitInBrowser(options: BrowserLoginOptions, overrides?: Partial<BrowserLoginDependencies>): Promise<string>;
26
+ export {};
@@ -8,6 +8,7 @@ interface SuperOptions extends Options {
8
8
  local: boolean;
9
9
  mainFile?: string;
10
10
  packageJson?: string;
11
+ silent?: boolean;
11
12
  }
12
13
  interface InitTargetPaths {
13
14
  pathToPackageJson?: string;
@@ -7,6 +7,7 @@ interface ConfirmOptions {
7
7
  }
8
8
  interface TextOptions {
9
9
  message: string;
10
+ mask?: string;
10
11
  placeholder?: string;
11
12
  validate?: (value: string | undefined) => string | undefined;
12
13
  }
@@ -23,6 +23,7 @@ export interface ConfirmPrompt {
23
23
  }
24
24
  export interface TextPrompt {
25
25
  kind: 'text';
26
+ mask?: string;
26
27
  message: string;
27
28
  placeholder?: string;
28
29
  validate?: (value: string | undefined) => string | undefined;
@@ -107,7 +108,7 @@ export declare function pushInitLog(message: string, tone: InitLogTone): void;
107
108
  export declare function clearInitLogs(): void;
108
109
  export declare function setInitSpinner(message?: string): void;
109
110
  export declare function requestInitConfirm(message: string, initialValue?: boolean): Promise<boolean | symbol>;
110
- export declare function requestInitText(message: string, placeholder?: string, validate?: (value: string | undefined) => string | undefined): Promise<string | symbol>;
111
+ export declare function requestInitText(message: string, placeholder?: string, validate?: (value: string | undefined) => string | undefined, mask?: string): Promise<string | symbol>;
111
112
  export declare function requestInitSelect(message: string, options: SelectPromptOption[]): Promise<string | symbol>;
112
113
  export declare function setInitCodeDiff(diff?: InitCodeDiff): void;
113
114
  export declare function setInitEncryptionSummary(summary?: InitEncryptionSummary): void;
@@ -5,7 +5,7 @@ export interface InitProgressTelemetry {
5
5
  last_run_id?: string;
6
6
  }
7
7
  export interface InitTelemetryOptions {
8
- capture?: (event: string, properties: TelemetryProperties, icon: string, appId?: string) => Promise<void> | void;
8
+ capture?: (event: string, properties: TelemetryProperties, appId?: string) => Promise<void> | void;
9
9
  enabled?: boolean;
10
10
  replaySessionId?: () => string | undefined;
11
11
  }
@@ -25,7 +25,7 @@ export declare function createInitTelemetry(options?: InitTelemetryOptions): {
25
25
  last_run_id?: string | undefined;
26
26
  journey_id: string;
27
27
  } | undefined;
28
- recordMilestone: (event: string, extra?: TelemetryProperties, icon?: string, eventAppId?: string | null) => Promise<void>;
28
+ recordMilestone: (event: string, extra?: TelemetryProperties, eventAppId?: string | null) => Promise<void>;
29
29
  recordResumeDecision: (nextChoice: "continue" | "restart") => Promise<void>;
30
30
  recordResumePromptViewed: () => Promise<void>;
31
31
  recordRunEnded: (outcome: "completed" | "cancelled" | "failed", exitCode: number) => Promise<void>;
@@ -4,6 +4,19 @@ interface Options {
4
4
  supaHost?: string;
5
5
  supaAnon?: string;
6
6
  }
7
+ export type LoginMethod = 'browser' | 'paste';
8
+ type LoginMethodPrompt = (options: {
9
+ message: string;
10
+ options: Array<{
11
+ value: LoginMethod;
12
+ label: string;
13
+ }>;
14
+ }) => Promise<unknown>;
15
+ export declare const LOGIN_METHOD_OPTIONS: Array<{
16
+ value: LoginMethod;
17
+ label: string;
18
+ }>;
19
+ export declare function chooseLoginMethod(prompt?: LoginMethodPrompt): Promise<LoginMethod>;
7
20
  export declare function doLoginExists(): boolean;
8
21
  export declare function loginInternal(apikey: string | undefined, options: Options, silent?: boolean): Promise<string>;
9
22
  export declare function login(apikey: string, options: Options): Promise<void>;
@@ -1,5 +1,8 @@
1
+ type RunnerEnvironment = Record<string, string | undefined>;
1
2
  export declare function formatRunnerCommand(runner: string, args: string[]): string;
3
+ export declare function getCliLoginCommand(environment?: RunnerEnvironment): string;
2
4
  export declare function splitRunnerCommand(runner: string): {
3
5
  command: string;
4
6
  args: string[];
5
7
  };
8
+ export {};
@@ -86,6 +86,7 @@ export declare const buildRequestOptionsSchema: z.ZodObject<{
86
86
  skipBuildNumberBump: z.ZodOptional<z.ZodBoolean>;
87
87
  skipMarketingVersionBump: z.ZodOptional<z.ZodBoolean>;
88
88
  syncIosVersion: z.ZodOptional<z.ZodBoolean>;
89
+ syncAndroidVersion: z.ZodOptional<z.ZodBoolean>;
89
90
  playstoreUpload: z.ZodOptional<z.ZodBoolean>;
90
91
  submitToStoreReview: z.ZodOptional<z.ZodBoolean>;
91
92
  storeReleaseName: z.ZodOptional<z.ZodString>;
@@ -8,6 +8,7 @@ export declare const optionsUploadSchema: z.ZodObject<{
8
8
  channel: z.ZodOptional<z.ZodString>;
9
9
  rollout: z.ZodOptional<z.ZodNumber>;
10
10
  rolloutPercentageBps: z.ZodOptional<z.ZodNumber>;
11
+ rolloutAdvance: z.ZodOptional<z.ZodBoolean>;
11
12
  rolloutCacheTtlSeconds: z.ZodOptional<z.ZodNumber>;
12
13
  displayIvSession: z.ZodOptional<z.ZodBoolean>;
13
14
  external: z.ZodOptional<z.ZodString>;
@@ -102,10 +102,10 @@ export declare const onboardingNextStepSchema: z.ZodObject<{
102
102
  }>>;
103
103
  envExportPath: z.ZodOptional<z.ZodString>;
104
104
  packageManager: z.ZodOptional<z.ZodEnum<{
105
- yarn: "yarn";
106
- npm: "npm";
107
105
  bun: "bun";
108
106
  pnpm: "pnpm";
107
+ yarn: "yarn";
108
+ npm: "npm";
109
109
  }>>;
110
110
  buildScript: z.ZodOptional<z.ZodString>;
111
111
  buildScriptCustom: z.ZodOptional<z.ZodString>;