@capgo/cli 8.9.2 → 8.11.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/README.md +2 -0
- package/dist/index.js +975 -694
- package/dist/package.json +11 -3
- package/dist/src/analytics/opt-out.d.ts +2 -0
- package/dist/src/app/debug.d.ts +1 -1
- package/dist/src/auth/session.d.ts +71 -0
- package/dist/src/build/onboarding/android/ui/app.d.ts +3 -0
- package/dist/src/build/onboarding/command.d.ts +1 -0
- package/dist/src/build/onboarding/mcp/onboarding-tools.d.ts +2 -2
- package/dist/src/build/onboarding/telemetry.d.ts +3 -0
- package/dist/src/build/onboarding/ui/app.d.ts +3 -0
- package/dist/src/build/onboarding/ui/exit.d.ts +2 -0
- package/dist/src/build/onboarding/ui/shell.d.ts +5 -0
- package/dist/src/init/command.d.ts +12 -1
- package/dist/src/init/replay.d.ts +91 -0
- package/dist/src/init/ui.d.ts +1 -1
- package/dist/src/posthog.d.ts +1 -0
- package/dist/src/schemas/auth.d.ts +14 -0
- package/dist/src/schemas/common.d.ts +5 -0
- package/dist/src/schemas/index.d.ts +1 -0
- package/dist/src/sdk.js +242 -242
- package/dist/src/utils.d.ts +10 -1
- package/package.json +11 -3
- package/skills/native-builds/SKILL.md +1 -0
- package/skills/usage/SKILL.md +1 -0
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capgo/cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.11.0",
|
|
5
5
|
"description": "A CLI to upload to capgo servers",
|
|
6
6
|
"author": "Martin martin@capgo.app",
|
|
7
7
|
"license": "Apache 2.0",
|
|
@@ -109,8 +109,10 @@
|
|
|
109
109
|
"test:run-device-command": "bun test/test-run-device-command.mjs",
|
|
110
110
|
"test:init-app-conflict": "bun test/test-init-app-conflict.mjs",
|
|
111
111
|
"test:init-guardrails": "bun test/test-init-guardrails.mjs",
|
|
112
|
+
"test:init-replay": "bun test/test-init-replay.mjs",
|
|
112
113
|
"test:prompt-preferences": "bun test/test-prompt-preferences.mjs",
|
|
113
114
|
"test:esm-sdk": "node test/test-sdk-esm.mjs",
|
|
115
|
+
"test:auth-session": "bun test/test-auth-session.mjs",
|
|
114
116
|
"test:mcp": "node test/test-mcp.mjs",
|
|
115
117
|
"test:version-detection": "node test/test-get-installed-version.mjs",
|
|
116
118
|
"test:version-detection:setup": "./test/fixtures/setup-test-projects.sh",
|
|
@@ -151,7 +153,7 @@
|
|
|
151
153
|
"test:ios-verify-app": "bun test/test-ios-verify-app.mjs",
|
|
152
154
|
"test:platform-flow-contract": "bun test/test-platform-flow-contract.mjs",
|
|
153
155
|
"test:tail-engine-shared": "bun test/test-tail-engine-shared.mjs",
|
|
154
|
-
"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-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:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && 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: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: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-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",
|
|
156
|
+
"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-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: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: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: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-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",
|
|
155
157
|
"test:build-platform-selection": "bun test/test-build-platform-selection.mjs",
|
|
156
158
|
"test:ai-log-capture": "bun test/test-ai-log-capture.mjs",
|
|
157
159
|
"test:ai-analyze-flow": "bun test/test-ai-analyze-flow.mjs",
|
|
@@ -179,17 +181,23 @@
|
|
|
179
181
|
},
|
|
180
182
|
"dependencies": {
|
|
181
183
|
"@inkjs/ui": "^2.0.0",
|
|
184
|
+
"@rrweb/types": "^2.0.1",
|
|
185
|
+
"@xterm/addon-serialize": "^0.14.0",
|
|
186
|
+
"@xterm/headless": "^6.0.0",
|
|
187
|
+
"happy-dom": "^20.10.4",
|
|
182
188
|
"ink": "^7.0.4",
|
|
183
189
|
"ink-spinner": "^5.0.0",
|
|
184
190
|
"jsonwebtoken": "^9.0.3",
|
|
185
191
|
"node-forge": "^1.4.0",
|
|
186
192
|
"qrcode": "^1.5.4",
|
|
187
193
|
"react": "^19.2.6",
|
|
194
|
+
"rrweb-snapshot": "^2.0.1",
|
|
188
195
|
"string-width": "^8.2.1"
|
|
189
196
|
},
|
|
190
197
|
"optionalDependencies": {
|
|
191
198
|
"@capgo/cli-helper-darwin-arm64": "^1.1.1",
|
|
192
|
-
"@capgo/cli-helper-darwin-x64": "^1.1.1"
|
|
199
|
+
"@capgo/cli-helper-darwin-x64": "^1.1.1",
|
|
200
|
+
"node-pty": "^1.1.0"
|
|
193
201
|
},
|
|
194
202
|
"devDependencies": {
|
|
195
203
|
"@antfu/eslint-config": "^9.0.0",
|
package/dist/src/app/debug.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AppDebugOptions } from '../schemas/app';
|
|
2
2
|
import type { Database } from '../types/supabase.types';
|
|
3
3
|
export type { AppDebugOptions as OptionsBaseDebug } from '../schemas/app';
|
|
4
|
-
export declare function markSnag(channel: string, orgId: string, apikey: string, event: string, appId?: string, icon?: string): Promise<void>;
|
|
4
|
+
export declare function markSnag(channel: string, orgId: string, apikey: string, event: string, appId?: string, icon?: string, tags?: Record<string, string | number | boolean>): Promise<void>;
|
|
5
5
|
export declare function cancelCommand(channel: string, command: boolean | symbol, orgId: string, apikey: string): Promise<void>;
|
|
6
6
|
interface Order {
|
|
7
7
|
key: string;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared, UI-free authentication core.
|
|
3
|
+
*
|
|
4
|
+
* `cli/src/login.ts` (the interactive `capgo login` command) and the MCP login
|
|
5
|
+
* tools (`capgo_login` / `capgo_whoami` / `capgo_logout`) all funnel through these
|
|
6
|
+
* helpers so there is a single validate / persist / introspect path — no forked
|
|
7
|
+
* security logic. The user-facing message builders live here too (pure functions)
|
|
8
|
+
* so the tool wording is covered by unit tests rather than only the integration
|
|
9
|
+
* smoke test.
|
|
10
|
+
*/
|
|
11
|
+
export type KeySource = 'env' | 'global' | 'local';
|
|
12
|
+
export interface LoginState {
|
|
13
|
+
loggedIn: boolean;
|
|
14
|
+
/** Resolved user id — only populated when `validate` succeeded. */
|
|
15
|
+
userId?: string;
|
|
16
|
+
/** Where the resolved key came from, if any (also set when a present key fails validation). */
|
|
17
|
+
source?: KeySource;
|
|
18
|
+
/**
|
|
19
|
+
* Only meaningful when `validate` was requested. `true` = confirmed valid this
|
|
20
|
+
* call; `false` = a key is present but could NOT be verified (network/server
|
|
21
|
+
* error), so it is reported as still-logged-in-but-unverified rather than as a
|
|
22
|
+
* definitive sign-out. Undefined when no validation was attempted.
|
|
23
|
+
*/
|
|
24
|
+
verified?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface SaveKeyOptions {
|
|
27
|
+
/** Persist to `./.capgo` (project-local) instead of `~/.capgo` (global). */
|
|
28
|
+
local?: boolean;
|
|
29
|
+
supaHost?: string;
|
|
30
|
+
supaAnon?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Validate an API key against Capgo and, if valid, persist it (0o600).
|
|
34
|
+
* Returns the resolved user id. Throws on a missing/invalid key or a disallowed
|
|
35
|
+
* local write (local requires a git repository, mirroring `capgo login --local`).
|
|
36
|
+
*
|
|
37
|
+
* Nothing is written when validation fails.
|
|
38
|
+
*/
|
|
39
|
+
export declare function validateAndSaveKey(apikey: string, options?: SaveKeyOptions): Promise<{
|
|
40
|
+
userId: string;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Report whether a saved key exists.
|
|
44
|
+
*
|
|
45
|
+
* Presence-only by default (no network) so it is cheap enough to gate every tool
|
|
46
|
+
* call. Pass `{ validate: true }` (used by `capgo_whoami`) to additionally confirm
|
|
47
|
+
* the key still authenticates and resolve the user id.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getLoginState(options?: {
|
|
50
|
+
validate?: boolean;
|
|
51
|
+
}): Promise<LoginState>;
|
|
52
|
+
/**
|
|
53
|
+
* Remove the saved key. Clears the global key (`~/.capgo`) by default, or the
|
|
54
|
+
* project-local key (`./.capgo`) when `local` is set. Never touches `CAPGO_TOKEN`
|
|
55
|
+
* (an env var is not ours to unset). Returns whether a file was actually removed.
|
|
56
|
+
*/
|
|
57
|
+
export declare function clearSavedKey(options?: {
|
|
58
|
+
local?: boolean;
|
|
59
|
+
}): Promise<{
|
|
60
|
+
cleared: boolean;
|
|
61
|
+
}>;
|
|
62
|
+
/** Success text for capgo_login. */
|
|
63
|
+
export declare function loginSuccessMessage(userId: string, local: boolean): string;
|
|
64
|
+
/** Status text for capgo_whoami, covering verified / unverified / invalid / signed-out. */
|
|
65
|
+
export declare function whoamiMessage(state: LoginState): string;
|
|
66
|
+
/**
|
|
67
|
+
* Honest text for capgo_logout. `remaining` is the post-clear login state: if a
|
|
68
|
+
* credential is still reachable (CAPGO_TOKEN, or the other on-disk scope) we say
|
|
69
|
+
* so explicitly instead of falsely claiming the session is signed out.
|
|
70
|
+
*/
|
|
71
|
+
export declare function logoutMessage(cleared: boolean, removedLocal: boolean, remaining: LoginState): string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { FC } from 'react';
|
|
2
2
|
import type { AndroidOnboardingProgress } from '../types.js';
|
|
3
3
|
import type { OnboardingResult } from '../../types.js';
|
|
4
|
+
import type { OnboardingBeforeExit } from '../../ui/exit.js';
|
|
4
5
|
interface AppProps {
|
|
5
6
|
appId: string;
|
|
6
7
|
initialProgress: AndroidOnboardingProgress | null;
|
|
@@ -17,6 +18,8 @@ interface AppProps {
|
|
|
17
18
|
* the caller prints an accurate post-exit message + durable summary instead of
|
|
18
19
|
* always claiming success. Never fires on cancel/missing-platform exits. */
|
|
19
20
|
onResult?: (result: OnboardingResult) => void;
|
|
21
|
+
/** Awaited immediately before Ink exits so replay can capture the alt-screen frame. */
|
|
22
|
+
onBeforeExit?: OnboardingBeforeExit;
|
|
20
23
|
}
|
|
21
24
|
declare const AndroidOnboardingApp: FC<AppProps>;
|
|
22
25
|
export default AndroidOnboardingApp;
|
|
@@ -24,10 +24,10 @@ interface McpLike {
|
|
|
24
24
|
* Production EngineDeps wiring. Exported for tests that pin production-only
|
|
25
25
|
* behavior (clearBuildRecord wiring, keystore file modes).
|
|
26
26
|
*/
|
|
27
|
-
export declare function buildDeps(
|
|
27
|
+
export declare function buildDeps(getSdk: () => CapgoSDK): EngineDeps;
|
|
28
28
|
/**
|
|
29
29
|
* Register the 2-tool onboarding spine onto an MCP server.
|
|
30
30
|
* `depsOverride` is for tests; production passes only `server` + `sdk`.
|
|
31
31
|
*/
|
|
32
|
-
export declare function registerOnboardingTools(server: McpLike,
|
|
32
|
+
export declare function registerOnboardingTools(server: McpLike, getSdk: () => CapgoSDK, depsOverride?: EngineDeps, buildJobDepsOverride?: BuildJobDeps, credentialsManageDepsOverride?: CredentialsManageDeps): void;
|
|
33
33
|
export {};
|
|
@@ -15,6 +15,7 @@ export interface TrackBuilderOnboardingStepInput {
|
|
|
15
15
|
error?: unknown;
|
|
16
16
|
/** Pre-computed category. Takes precedence over `error` if both are present. */
|
|
17
17
|
errorCategory?: OnboardingErrorCategory | AndroidOnboardingErrorCategory;
|
|
18
|
+
replaySessionId?: string;
|
|
18
19
|
}
|
|
19
20
|
export type BuilderOnboardingAction = 'resume_prompt_decision' | 'android_sa_method_selected' | 'android_sa_validation_recovery_selected' | 'android_sa_validation_result';
|
|
20
21
|
export interface TrackBuilderOnboardingActionInput {
|
|
@@ -27,6 +28,7 @@ export interface TrackBuilderOnboardingActionInput {
|
|
|
27
28
|
step: OnboardingStep | AndroidOnboardingStep;
|
|
28
29
|
action: BuilderOnboardingAction;
|
|
29
30
|
tags?: Record<string, boolean | number | string>;
|
|
31
|
+
replaySessionId?: string;
|
|
30
32
|
}
|
|
31
33
|
export declare function trackBuilderOnboardingStep(input: TrackBuilderOnboardingStepInput): Promise<void>;
|
|
32
34
|
export declare function trackBuilderOnboardingAction(input: TrackBuilderOnboardingActionInput): Promise<void>;
|
|
@@ -52,6 +54,7 @@ export interface TrackBuilderOnboardingCancelledInput {
|
|
|
52
54
|
* can't keep the CLI alive after the user has already exited the wizard.
|
|
53
55
|
*/
|
|
54
56
|
signal?: AbortSignal;
|
|
57
|
+
replaySessionId?: string;
|
|
55
58
|
}
|
|
56
59
|
/**
|
|
57
60
|
* Emits the terminal "Builder Onboarding Quit" event when a journey ends
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { FC } from 'react';
|
|
2
2
|
import type { OnboardingProgress, OnboardingResult } from '../types.js';
|
|
3
|
+
import type { OnboardingBeforeExit } from './exit.js';
|
|
3
4
|
interface AppProps {
|
|
4
5
|
/**
|
|
5
6
|
* Capgo lookup key (progress files, saved credentials, Capgo SaaS build
|
|
@@ -47,6 +48,8 @@ interface AppProps {
|
|
|
47
48
|
* always claiming success. Never fires on cancel/missing-platform exits.
|
|
48
49
|
*/
|
|
49
50
|
onResult?: (result: OnboardingResult) => void;
|
|
51
|
+
/** Awaited immediately before Ink exits so replay can capture the alt-screen frame. */
|
|
52
|
+
onBeforeExit?: OnboardingBeforeExit;
|
|
50
53
|
}
|
|
51
54
|
declare const OnboardingApp: FC<AppProps>;
|
|
52
55
|
export default OnboardingApp;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { FC } from 'react';
|
|
2
2
|
import type { OnboardingResult, Platform } from '../types.js';
|
|
3
|
+
import type { OnboardingBeforeExit } from './exit.js';
|
|
3
4
|
export declare function useTerminalSize(): {
|
|
4
5
|
cols: number;
|
|
5
6
|
rows: number;
|
|
@@ -38,6 +39,8 @@ export interface OnboardingShellProps {
|
|
|
38
39
|
currentVersion: string;
|
|
39
40
|
latestVersion: string;
|
|
40
41
|
};
|
|
42
|
+
/** Shows the terminal replay/analytics opt-out notice on the first shell screen. */
|
|
43
|
+
analyticsNotice?: boolean;
|
|
41
44
|
/** Called once a platform is chosen so the caller can print the completion breadcrumb. */
|
|
42
45
|
onResolvePlatform?: (platform: Platform) => void;
|
|
43
46
|
/** Called by the mounted app on every step transition, so the caller can record
|
|
@@ -48,6 +51,8 @@ export interface OnboardingShellProps {
|
|
|
48
51
|
* exits any other way (cancel / missing platform), this never fires and the
|
|
49
52
|
* caller treats it as cancelled. */
|
|
50
53
|
onResult?: (result: OnboardingResult) => void;
|
|
54
|
+
/** Awaited immediately before Ink exits so replay can capture the alt-screen frame. */
|
|
55
|
+
onBeforeExit?: OnboardingBeforeExit;
|
|
51
56
|
}
|
|
52
57
|
declare const OnboardingShell: FC<OnboardingShellProps>;
|
|
53
58
|
export default OnboardingShell;
|
|
@@ -2,6 +2,7 @@ import type { Options } from '../api/app';
|
|
|
2
2
|
import { spawnSync } from 'node:child_process';
|
|
3
3
|
import { getPMAndCommand } from '../utils';
|
|
4
4
|
interface SuperOptions extends Options {
|
|
5
|
+
analytics?: boolean;
|
|
5
6
|
local: boolean;
|
|
6
7
|
}
|
|
7
8
|
export type RunDeviceCancelHandler = () => Promise<never>;
|
|
@@ -54,10 +55,20 @@ export interface CapacitorRunTarget {
|
|
|
54
55
|
id: string;
|
|
55
56
|
}
|
|
56
57
|
export declare function runPackageRunnerSync(runner: string, args: string[], options: Parameters<typeof spawnSync>[2]): import("node:child_process").SpawnSyncReturns<string | NonSharedBuffer>;
|
|
58
|
+
interface InheritedCommandResult {
|
|
59
|
+
error?: Error;
|
|
60
|
+
signal: NodeJS.Signals | number | null;
|
|
61
|
+
status: number | null;
|
|
62
|
+
}
|
|
63
|
+
interface InheritedCommandOptions {
|
|
64
|
+
cwd?: string;
|
|
65
|
+
forcePty?: boolean;
|
|
66
|
+
}
|
|
67
|
+
export declare function runInheritedCommand(command: string, args: string[], options?: InheritedCommandOptions): Promise<InheritedCommandResult>;
|
|
57
68
|
export declare function parseCapacitorRunTargetList(output: string): CapacitorRunTarget[];
|
|
58
69
|
export declare function getPhysicalIosRunTargets(targets: CapacitorRunTarget[]): CapacitorRunTarget[];
|
|
59
70
|
export declare function getSimulatorIosRunTargets(targets: CapacitorRunTarget[]): CapacitorRunTarget[];
|
|
60
71
|
export declare function resolveRunDeviceCommand(cancelHandler: RunDeviceCancelHandler, pm: PackageManagerInfo, platformName: PlatformChoice, projectDir?: string): Promise<RunDeviceStepOutcome>;
|
|
61
72
|
export declare function normalizeRunDevicePlatform(platformName: string): PlatformChoice;
|
|
62
|
-
export declare function initApp(apikeyCommand: string, appId: string, options: SuperOptions): Promise<
|
|
73
|
+
export declare function initApp(apikeyCommand: string, appId: string, options: SuperOptions): Promise<never>;
|
|
63
74
|
export {};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { eventWithTime, serializedNodeWithId } from '@rrweb/types';
|
|
2
|
+
interface TerminalSnapshot {
|
|
3
|
+
node: serializedNodeWithId;
|
|
4
|
+
terminalNodeId: number;
|
|
5
|
+
}
|
|
6
|
+
export interface TerminalReplayFrame {
|
|
7
|
+
height: number;
|
|
8
|
+
html: string;
|
|
9
|
+
text: string;
|
|
10
|
+
width: number;
|
|
11
|
+
}
|
|
12
|
+
export interface TerminalPixelSize {
|
|
13
|
+
height: number;
|
|
14
|
+
width: number;
|
|
15
|
+
}
|
|
16
|
+
interface InitReplayGateInput {
|
|
17
|
+
analyticsEnabled?: boolean;
|
|
18
|
+
apikey?: string;
|
|
19
|
+
isCi?: boolean;
|
|
20
|
+
stdinIsTTY?: boolean;
|
|
21
|
+
stdoutIsTTY?: boolean;
|
|
22
|
+
telemetryDisabled?: boolean;
|
|
23
|
+
}
|
|
24
|
+
interface InitReplaySnapshotBody {
|
|
25
|
+
event: '$snapshot';
|
|
26
|
+
properties: {
|
|
27
|
+
$current_url: string;
|
|
28
|
+
$lib: string;
|
|
29
|
+
$lib_version: string;
|
|
30
|
+
$session_id: string;
|
|
31
|
+
$snapshot_bytes: number;
|
|
32
|
+
$snapshot_data: eventWithTime[];
|
|
33
|
+
$snapshot_source: string;
|
|
34
|
+
$window_id: string;
|
|
35
|
+
};
|
|
36
|
+
timestamp: string;
|
|
37
|
+
}
|
|
38
|
+
type InitReplayTransport = (url: string, body: InitReplaySnapshotBody, apikey: string, signal?: AbortSignal) => Promise<boolean>;
|
|
39
|
+
interface StartInitReplayOptions {
|
|
40
|
+
analyticsEnabled?: boolean;
|
|
41
|
+
apikey?: string;
|
|
42
|
+
ariaLabel?: string;
|
|
43
|
+
cols?: number;
|
|
44
|
+
currentUrl?: string;
|
|
45
|
+
replayUrl?: string;
|
|
46
|
+
rows?: number;
|
|
47
|
+
sessionPrefix?: string;
|
|
48
|
+
supaAnon?: string;
|
|
49
|
+
supaHost?: string;
|
|
50
|
+
throttleMs?: number;
|
|
51
|
+
terminalPixelSize?: TerminalPixelSize;
|
|
52
|
+
transport?: InitReplayTransport;
|
|
53
|
+
}
|
|
54
|
+
export interface InitReplayController {
|
|
55
|
+
finish: () => Promise<void>;
|
|
56
|
+
sessionId: string;
|
|
57
|
+
}
|
|
58
|
+
export declare function getActiveCliReplaySessionId(): string | undefined;
|
|
59
|
+
export declare function finishActiveCliReplay(): Promise<void>;
|
|
60
|
+
export declare function isCliTelemetryDisabled(): boolean;
|
|
61
|
+
export declare function shouldStartInitReplay(input: InitReplayGateInput): boolean;
|
|
62
|
+
export declare function resolveCapgoReplayUrl(host?: string): string | undefined;
|
|
63
|
+
export declare function resolveSupabaseReplayUrl(supaHost?: string): string | undefined;
|
|
64
|
+
export declare function resolveReplayUrlForFlush(replayUrl: Promise<string | undefined>, timeoutMs?: number, onTimeout?: () => void): Promise<string | undefined>;
|
|
65
|
+
export declare function parseTerminalPixelSizeResponse(input: string): TerminalPixelSize | undefined;
|
|
66
|
+
export declare function getReplayViewportSize(cols?: number, rows?: number, terminalPixelSize?: TerminalPixelSize): {
|
|
67
|
+
height: number;
|
|
68
|
+
width: number;
|
|
69
|
+
};
|
|
70
|
+
export declare function queryTerminalPixelSize(timeoutMs?: number): Promise<TerminalPixelSize | undefined>;
|
|
71
|
+
export declare function renderRedactedTerminalFrame(rawAnsi: string, cols?: number, rows?: number, terminalPixelSize?: TerminalPixelSize): Promise<TerminalReplayFrame>;
|
|
72
|
+
export declare function renderRedactedTerminalText(rawAnsi: string, cols?: number, rows?: number): Promise<string>;
|
|
73
|
+
export declare function createTerminalSnapshot(frameInput: TerminalReplayFrame | string, options?: {
|
|
74
|
+
ariaLabel?: string;
|
|
75
|
+
currentUrl?: string;
|
|
76
|
+
}): Promise<TerminalSnapshot>;
|
|
77
|
+
export declare function createTerminalSnapshotNode(frame: TerminalReplayFrame | string): Promise<serializedNodeWithId>;
|
|
78
|
+
export declare function createTerminalInteractionEvents(input: {
|
|
79
|
+
terminalNodeId: number;
|
|
80
|
+
text: string;
|
|
81
|
+
timestamp: number;
|
|
82
|
+
}): eventWithTime[];
|
|
83
|
+
export declare function buildInitReplayBody(input: {
|
|
84
|
+
currentUrl?: string;
|
|
85
|
+
events: eventWithTime[];
|
|
86
|
+
sessionId: string;
|
|
87
|
+
timestamp: string;
|
|
88
|
+
windowId: string;
|
|
89
|
+
}): InitReplaySnapshotBody;
|
|
90
|
+
export declare function startInitReplay(options?: StartInitReplayOptions): InitReplayController | undefined;
|
|
91
|
+
export {};
|
package/dist/src/init/ui.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export interface InitOnboardingStepDefinition {
|
|
|
4
4
|
phase: string;
|
|
5
5
|
}
|
|
6
6
|
export declare const initOnboardingSteps: InitOnboardingStepDefinition[];
|
|
7
|
-
export declare function renderInitOnboardingWelcome(totalSteps: number): void;
|
|
7
|
+
export declare function renderInitOnboardingWelcome(totalSteps: number, analyticsEnabled?: boolean): void;
|
|
8
8
|
export declare function renderInitOnboardingFrame(currentStepNumber: number, totalSteps: number, options?: {
|
|
9
9
|
resumed?: boolean;
|
|
10
10
|
}): void;
|
package/dist/src/posthog.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ interface CapturePosthogExceptionPayload {
|
|
|
7
7
|
status?: number;
|
|
8
8
|
}
|
|
9
9
|
export declare function isTruthyEnvValue(value: string | undefined): boolean;
|
|
10
|
+
export declare function getPosthogToken(): string | undefined;
|
|
10
11
|
export declare function shouldCapturePosthogException(error: unknown): boolean;
|
|
11
12
|
export declare function getCommandPath(command: Command): string;
|
|
12
13
|
export declare function capturePosthogException(payload: CapturePosthogExceptionPayload): Promise<boolean>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const mcpLoginInputSchema: z.ZodObject<{
|
|
3
|
+
apikey: z.ZodString;
|
|
4
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
5
|
+
local: "local";
|
|
6
|
+
global: "global";
|
|
7
|
+
}>>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export declare const mcpLogoutInputSchema: z.ZodObject<{
|
|
10
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
11
|
+
local: "local";
|
|
12
|
+
global: "global";
|
|
13
|
+
}>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const nativePackageSchema: z.ZodObject<{
|
|
3
3
|
name: z.ZodString;
|
|
4
4
|
version: z.ZodString;
|
|
5
|
+
requested_version: z.ZodOptional<z.ZodString>;
|
|
5
6
|
ios_checksum: z.ZodOptional<z.ZodString>;
|
|
6
7
|
android_checksum: z.ZodOptional<z.ZodString>;
|
|
7
8
|
}, z.core.$strip>;
|
|
@@ -10,6 +11,7 @@ export declare const incompatibilityReasonSchema: z.ZodEnum<{
|
|
|
10
11
|
new_plugin: "new_plugin";
|
|
11
12
|
removed_plugin: "removed_plugin";
|
|
12
13
|
version_mismatch: "version_mismatch";
|
|
14
|
+
requested_version_changed: "requested_version_changed";
|
|
13
15
|
ios_code_changed: "ios_code_changed";
|
|
14
16
|
android_code_changed: "android_code_changed";
|
|
15
17
|
both_platforms_changed: "both_platforms_changed";
|
|
@@ -19,6 +21,8 @@ export declare const compatibilitySchema: z.ZodObject<{
|
|
|
19
21
|
name: z.ZodString;
|
|
20
22
|
localVersion: z.ZodOptional<z.ZodString>;
|
|
21
23
|
remoteVersion: z.ZodOptional<z.ZodString>;
|
|
24
|
+
localRequestedVersion: z.ZodOptional<z.ZodString>;
|
|
25
|
+
remoteRequestedVersion: z.ZodOptional<z.ZodString>;
|
|
22
26
|
localIosChecksum: z.ZodOptional<z.ZodString>;
|
|
23
27
|
remoteIosChecksum: z.ZodOptional<z.ZodString>;
|
|
24
28
|
localAndroidChecksum: z.ZodOptional<z.ZodString>;
|
|
@@ -31,6 +35,7 @@ export declare const compatibilityDetailsSchema: z.ZodObject<{
|
|
|
31
35
|
new_plugin: "new_plugin";
|
|
32
36
|
removed_plugin: "removed_plugin";
|
|
33
37
|
version_mismatch: "version_mismatch";
|
|
38
|
+
requested_version_changed: "requested_version_changed";
|
|
34
39
|
ios_code_changed: "ios_code_changed";
|
|
35
40
|
android_code_changed: "android_code_changed";
|
|
36
41
|
both_platforms_changed: "both_platforms_changed";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { appDebugOptionsSchema, appOptionsSchema, appSettingOptionsSchema } from './app';
|
|
2
2
|
export type { AppDebugOptions, AppOptions, AppSettingOptions } from './app';
|
|
3
|
+
export { mcpLoginInputSchema, mcpLogoutInputSchema } from './auth';
|
|
3
4
|
export { optionsBaseSchema } from './base';
|
|
4
5
|
export type { OptionsBase } from './base';
|
|
5
6
|
export { allCredentialsSchema, buildCredentialsSchema, buildRequestOptionsSchema, buildRequestResultSchema, credentialFileSchema, savedCredentialsSchema, } from './build';
|