import { type WizardSetupInput, type WizardSetupResult } from '../../config-runtime/src/setup.js'; import type { SapMcpMode } from '../../config-runtime/src/env.js'; /** * @name DesktopRuntimeId * @description Agent runtimes supported by the desktop wizard runtime setup screen. */ export type DesktopRuntimeId = 'codex' | 'claude' | 'hermes' | 'openclaw'; /** * @name DesktopWizardHostedDiscovery * @description Hosted discovery URLs and local bridge tools shown by desktop wizard surfaces. */ export interface DesktopWizardHostedDiscovery { hostedMcpUrl: string; serverInfoUrl: string; wizardDescriptorUrl: string; toolCatalogUrl: string; toolCatalogAliasUrl: string; sourceOfTruth: '@oobe-protocol-labs/sap-mcp-server/tools'; requiredLocalBridgeTools: readonly string[]; requiredHostedPrepaidTools: readonly string[]; } /** * @name DesktopWizardDraft * @description Serializable setup draft collected by the desktop wizard renderer. */ export interface DesktopWizardDraft { setupMode: 'full' | 'payments-only'; profileName: string; mode: SapMcpMode; rpcUrl: string; createNewWallet: boolean; walletPath?: string; maxTxValueSol: number; dailyLimitSol: number; enableBento: boolean; bentoApiKey?: string; bentoAgentId?: string; logLevel: WizardSetupInput['logLevel']; enableMetrics: boolean; configureCodex: boolean; configureRuntimes: DesktopRuntimeId[]; installAddonBundle: boolean; } /** * @name DesktopWizardRuntimeStatus * @description Safe runtime config target metadata shown by the desktop wizard. */ export interface DesktopWizardRuntimeStatus { id: DesktopRuntimeId; label: string; detected: boolean; paths: string[]; autoConfigurable: boolean; recommendation: string; } /** * @name DesktopProfileStatus * @description Safe local SAP MCP profile metadata shown by the desktop wizard without reading wallet bytes. */ export interface DesktopProfileStatus { name: string; path: string; active: boolean; mode?: SapMcpMode; rpcUrl?: string; network?: string; agentPubkey?: string; walletPath?: string; walletExists: boolean; externalSignerConfigured: boolean; readiness: 'ready' | 'needs-attention'; issues: string[]; } /** * @name DesktopWizardReadiness * @description Post-save readiness audit used to avoid reporting success when local signing or runtime bridge config is broken. */ export interface DesktopWizardReadiness { status: 'ready' | 'needs-attention'; profileName?: string; profileIssues: string[]; runtimeIssues: Array<{ runtime: string; path: string; issues: string[]; }>; nextSteps: string[]; } /** * @name DesktopWizardResult * @description Result returned after the desktop wizard saves profile and runtime integration state. */ export interface DesktopWizardResult { setup?: WizardSetupResult; setupMode: DesktopWizardDraft['setupMode']; readiness: DesktopWizardReadiness; runtimeActions: Array<{ runtime: string; status: 'configured' | 'installed' | 'skipped'; path?: string; backupPath?: string; message: string; }>; } /** * @name normalizeDesktopProfileName * @description Produces a safe suggested profile name while preserving validation in saveWizardSetup. */ export declare function normalizeDesktopProfileName(value: string): string; /** * @name createDefaultDesktopWizardDraft * @description Creates the hosted-first desktop wizard draft used by GUI and future TUI flows. */ export declare function createDefaultDesktopWizardDraft(): DesktopWizardDraft; /** * @name getDesktopHostedDiscovery * @description Returns hosted SAP MCP discovery links used by desktop wizard and renderer. */ export declare function getDesktopHostedDiscovery(): DesktopWizardHostedDiscovery; /** * @name getDesktopRuntimeStatuses * @description Summarizes local runtime config files without exposing secret material. */ export declare function getDesktopRuntimeStatuses(homeDir?: string): DesktopWizardRuntimeStatus[]; /** * @name getDesktopProfileStatuses * @description Lists local SAP MCP config profiles without loading or exposing keypair material. */ export declare function getDesktopProfileStatuses(homeDir?: string, platform?: NodeJS.Platform): DesktopProfileStatus[]; /** * @name validateDesktopWizardDraft * @description Returns actionable validation errors before persistence. */ export declare function validateDesktopWizardDraft(draft: DesktopWizardDraft): string[]; /** * @name saveDesktopWizardDraft * @description Persists a desktop wizard draft and installs selected runtime integrations. */ export declare function saveDesktopWizardDraft(draft: DesktopWizardDraft, homeDir?: string, platform?: NodeJS.Platform): Promise; //# sourceMappingURL=desktop-flow.d.ts.map