@capgo/cli 8.18.0 → 8.19.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.
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "8.18.0",
4
+ "version": "8.19.0",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",
@@ -156,7 +156,7 @@
156
156
  "test:ios-verify-app": "bun test/test-ios-verify-app.mjs",
157
157
  "test:platform-flow-contract": "bun test/test-platform-flow-contract.mjs",
158
158
  "test:tail-engine-shared": "bun test/test-tail-engine-shared.mjs",
159
- "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:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && 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:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:preview-qr && 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-app-conflict && bun run test:init-guardrails && bun run test:init-replay && 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:platform-flow-contract && bun run test:tail-engine-shared && bun run test:prescan",
159
+ "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:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && 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: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-app-conflict && bun run test:init-guardrails && bun run test:init-replay && 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:platform-flow-contract && bun run test:tail-engine-shared && bun run test:prescan",
160
160
  "test:build-platform-selection": "bun test/test-build-platform-selection.mjs",
161
161
  "test:ai-log-capture": "bun test/test-ai-log-capture.mjs",
162
162
  "test:ai-analyze-flow": "bun test/test-ai-analyze-flow.mjs",
@@ -183,7 +183,8 @@
183
183
  "test:support-contact": "bun test/test-support-contact.mjs",
184
184
  "test:support-upload-prompt": "bun test/test-support-upload-prompt.mjs",
185
185
  "test:support-bundle-files": "bun test/test-support-bundle-files.mjs",
186
- "test:mcp-live-update-onboarding": "bun test/test-mcp-live-update-onboarding.mjs"
186
+ "test:mcp-live-update-onboarding": "bun test/test-mcp-live-update-onboarding.mjs",
187
+ "test:app-set-options": "bun test/test-app-set-options.mjs"
187
188
  },
188
189
  "dependencies": {
189
190
  "@inkjs/ui": "^2.0.0",
@@ -0,0 +1,10 @@
1
+ import type { SupabaseClient } from '@supabase/supabase-js';
2
+ import type { Database } from '../types/supabase.types';
3
+ type CapgoSupabaseClient = SupabaseClient<Database>;
4
+ export declare function assertChannelExists(supabase: CapgoSupabaseClient, appId: string, channelName: string): Promise<{
5
+ id: number;
6
+ name: string;
7
+ }>;
8
+ export declare function setDefaultDownloadChannel(supabase: CapgoSupabaseClient, appId: string, channelName: string): Promise<void>;
9
+ export declare function disableDownloadChannels(supabase: CapgoSupabaseClient, appId: string): Promise<void>;
10
+ export {};
@@ -0,0 +1 @@
1
+ export declare function normalizeStoreUrl(rawUrl: string | undefined, expectedHost: 'apps.apple.com' | 'play.google.com'): string | null;
@@ -1,12 +1,17 @@
1
1
  import type { SupabaseClient } from '@supabase/supabase-js';
2
2
  import type { OptionsBase } from '../schemas/base';
3
3
  import type { Database } from '../types/supabase.types';
4
+ import { type PreviewWebEnv } from './web-url';
4
5
  type CapgoSupabaseClient = SupabaseClient<Database>;
5
6
  export interface PreviewQrCommandOptions extends OptionsBase {
6
7
  bundle?: string;
7
8
  channel?: string;
8
9
  target?: string;
9
10
  type?: 'bundle' | 'channel';
11
+ png?: string;
12
+ url?: boolean;
13
+ webUrl?: boolean;
14
+ previewEnv?: PreviewWebEnv;
10
15
  }
11
16
  export type PreviewQrTarget = {
12
17
  appId: string;
@@ -21,11 +26,19 @@ export type PreviewQrTarget = {
21
26
  };
22
27
  export declare function buildPreviewQrUrl(target: PreviewQrTarget): string;
23
28
  export declare function renderTerminalQrCode(value: string): Promise<string>;
29
+ export declare function renderQrCodePng(value: string, outputPath: string): Promise<string>;
24
30
  export declare function assertAppAllowsPreview(supabase: CapgoSupabaseClient, appId: string): Promise<void>;
25
31
  export declare function resolveBundlePreviewTarget(supabase: CapgoSupabaseClient, appId: string, bundleRef: string): Promise<PreviewQrTarget | null>;
26
32
  export declare function resolveChannelPreviewTarget(supabase: CapgoSupabaseClient, appId: string, channelRef: string): Promise<PreviewQrTarget | null>;
27
33
  export declare function resolvePreviewQrTarget(supabase: CapgoSupabaseClient, appId: string, options: Pick<PreviewQrCommandOptions, 'bundle' | 'channel' | 'target' | 'type'>): Promise<PreviewQrTarget>;
28
- export declare function printPreviewQrCode(target: PreviewQrTarget): Promise<void>;
29
- export declare function printPreviewQrForResolvedTarget(supabase: CapgoSupabaseClient, appId: string, target: PreviewQrTarget): Promise<void>;
34
+ export interface PreviewQrOutputOptions {
35
+ png?: string;
36
+ url?: boolean;
37
+ webUrl?: boolean;
38
+ previewEnv?: PreviewWebEnv;
39
+ }
40
+ export declare function resolvePreviewQrOutputValue(target: PreviewQrTarget, options?: PreviewQrOutputOptions): string;
41
+ export declare function printPreviewQrCode(target: PreviewQrTarget, options?: PreviewQrOutputOptions): Promise<void>;
42
+ export declare function printPreviewQrForResolvedTarget(supabase: CapgoSupabaseClient, appId: string, target: PreviewQrTarget, options?: PreviewQrOutputOptions): Promise<void>;
30
43
  export declare function getPreviewQr(appId: string, target: string | undefined, options: PreviewQrCommandOptions): Promise<void>;
31
44
  export {};
@@ -0,0 +1,3 @@
1
+ import type { PreviewQrTarget } from './qr';
2
+ export type PreviewWebEnv = 'prod' | 'preprod' | 'dev';
3
+ export declare function buildPreviewWebUrl(target: PreviewQrTarget, env?: PreviewWebEnv): string;
@@ -8,6 +8,14 @@ export declare const appOptionsSchema: z.ZodObject<{
8
8
  retention: z.ZodOptional<z.ZodNumber>;
9
9
  exposeMetadata: z.ZodOptional<z.ZodBoolean>;
10
10
  preview: z.ZodOptional<z.ZodBoolean>;
11
+ allowDeviceCustomId: z.ZodOptional<z.ZodBoolean>;
12
+ blockProviderInfraRequests: z.ZodOptional<z.ZodBoolean>;
13
+ buildTimeoutMinutes: z.ZodOptional<z.ZodNumber>;
14
+ iosStoreUrl: z.ZodOptional<z.ZodString>;
15
+ androidStoreUrl: z.ZodOptional<z.ZodString>;
16
+ defaultUploadChannel: z.ZodOptional<z.ZodString>;
17
+ defaultDownloadChannel: z.ZodOptional<z.ZodString>;
18
+ disableDownloadChannels: z.ZodOptional<z.ZodBoolean>;
11
19
  }, z.core.$strip>;
12
20
  export type AppOptions = z.infer<typeof appOptionsSchema>;
13
21
  export declare const appDebugOptionsSchema: z.ZodObject<{