rea-agents - v1.7.0
    Preparing search index...

    Interface SetupHost

    Effects required by the idempotent setup workflow. Implementations report interrupted installers as values: setup must not wait indefinitely for stdin or a GUI response in an unattended agent invocation.

    interface SetupHost {
        nodeVersion: string;
        platform: Platform;
        clientNeedsConfigure(
            client: SetupClient,
            providerEnvironment: SetupProviderEnvironment,
            command: readonly string[],
        ): Promise<boolean>;
        configureClient(
            client: SetupClient,
            providerEnvironment: SetupProviderEnvironment,
            command: readonly string[],
        ): Promise<ClientConfigurationResult>;
        detectedClients(): Promise<readonly SetupClient[]>;
        doctor(): Promise<
            {
                checks: readonly DoctorCheck[];
                healthy: boolean;
                hopperPath?: string;
                identity?: {
                    catalog: {
                        counts: {
                            cli_commands: number;
                            mcp_prompts: number;
                            mcp_resource_templates: 7;
                            mcp_resources: 2;
                            mcp_tools: number;
                        };
                        digests: {
                            combined_sha256: string;
                            prompts_sha256: string;
                            resources_sha256: string;
                            tools_sha256: string;
                        };
                        tools: {
                            annotations: {
                                destructive: boolean;
                                idempotent: boolean;
                                open_world: boolean;
                                read_only: boolean;
                            };
                            effects: {
                                accessesNetwork: boolean;
                                changesUiState: boolean;
                                idempotent: boolean;
                                launchesProcess: boolean;
                                mayDiscardData: boolean;
                                mutatesSession: boolean;
                                mutatesTarget: boolean;
                                writesFilesystem: boolean;
                            };
                            name: | "open_binary"
                            | "list_browser_targets"
                            | "inspect_web_page"
                            | "analyze_web_bundle"
                            | "observe_web_session"
                            | "discover_webmcp_tools"
                            | "compare_web_captures"
                            | "capture_web_screenshot"
                            | "compare_web_screenshots"
                            | "list_electron_targets"
                            | "inspect_electron_page"
                            | "inventory_artifact"
                            | "extract_artifact"
                            | "analyze_javascript_application"
                            | "swift_classes"
                            | "get_objc_classes"
                            | "get_objc_protocols"
                            | "batch_decompile"
                            | "get_call_graph"
                            | "analyze_swift_types"
                            | "find_xrefs_to_name"
                            | "binary_overview"
                            | "analyze_function"
                            | "trace_feature"
                            | "comment"
                            | "compare_artifacts"
                            | "find_changed_behavior"
                            | "compare_process_captures"
                            | "compare_functions"
                            | "capture_process_scenario"
                            | "inspect_managed_members"
                            | "inspect_managed_native_boundaries"
                            | "inspect_macho"
                            | "inspect_managed_artifact"
                            | "address_name"
                            | "current_address"
                            | "current_procedure"
                            | "current_document"
                            | "goto_address"
                            | "inline_comment"
                            | "list_bookmarks"
                            | "list_documents"
                            | "list_names"
                            | "list_procedures"
                            | "list_segments"
                            | "list_strings"
                            | "next_address"
                            | "prev_address"
                            | "procedure_address"
                            | "procedure_assembly"
                            | "procedure_callees"
                            | "procedure_callers"
                            | "procedure_info"
                            | "procedure_references"
                            | "procedure_pseudo_code"
                            | "resolve_containing_procedure"
                            | "search_procedures"
                            | "search_strings"
                            | "set_address_name"
                            | "set_addresses_names"
                            | "set_bookmark"
                            | "set_comment"
                            | "set_current_document"
                            | "set_inline_comment"
                            | "unset_bookmark"
                            | "xrefs"
                            | "inspect_signature"
                            | "inspect_plist"
                            | "list_architectures"
                            | "demangle_swift"
                            | "compare_managed_members"
                            | "verify_managed_native_boundaries"
                            | "import_managed_reconstruction"
                            | "plan_managed_runtime_correlation"
                            | "project_managed_application_graph"
                            | "close_binary"
                            | "binary_session"
                            | "export_evidence_bundle"
                            | "import_evidence_bundle"
                            | "compare_bundles"
                            | "build_call_path"
                            | "correlate_static_and_runtime"
                            | "verify_reconstruction"
                            | "list_unknowns"
                            | "record_unknown"
                            | "update_unknown"
                            | "verify_unknown_resolution"
                            | "reconcile_javascript_runtime"
                            | "trace_application_feature"
                            | "compare_application_versions"
                            | "run_controlled_replay";
                            surface: ToolKind;
                        }[];
                    };
                    cli_package_version: string;
                    expected_skill_version: string;
                    installations: {
                        paths: readonly string[];
                        state: "unknown"
                        | "single"
                        | "multiple";
                    };
                    live_server: { remediation: string; state: "unknown" };
                    registrations: readonly ClientRegistrationStatus[];
                    sdk: {
                        client_test: "2.0.0-beta.4";
                        core: "2.0.0-beta.4";
                        server: "2.0.0-beta.4";
                    };
                    skill: {
                        installed_catalog_digest: string
                        | null;
                        installed_tool_count: number | null;
                        installed_version: string | null;
                        remediation: string | null;
                        state: "missing" | "aligned" | "stale";
                    };
                };
                providerInspections?: readonly DoctorProviderInspection[];
            },
        >;
        hopperPath(): Promise<string | undefined>;
        installHopper(replaceExisting: boolean): Promise<SetupHopperInstallResult>;
        installSkill(): Promise<"failed" | "unchanged" | "installed">;
        linuxDistribution(): Promise<LinuxDistribution | undefined>;
        macosVersion(): Promise<string | undefined>;
        providerEnvironment?(): Promise<Readonly<Record<string, string>>>;
        skillNeedsInstall(): Promise<boolean>;
    }
    Index
    nodeVersion: string
    platform: Platform
    • Returns Promise<
          {
              checks: readonly DoctorCheck[];
              healthy: boolean;
              hopperPath?: string;
              identity?: {
                  catalog: {
                      counts: {
                          cli_commands: number;
                          mcp_prompts: number;
                          mcp_resource_templates: 7;
                          mcp_resources: 2;
                          mcp_tools: number;
                      };
                      digests: {
                          combined_sha256: string;
                          prompts_sha256: string;
                          resources_sha256: string;
                          tools_sha256: string;
                      };
                      tools: {
                          annotations: {
                              destructive: boolean;
                              idempotent: boolean;
                              open_world: boolean;
                              read_only: boolean;
                          };
                          effects: {
                              accessesNetwork: boolean;
                              changesUiState: boolean;
                              idempotent: boolean;
                              launchesProcess: boolean;
                              mayDiscardData: boolean;
                              mutatesSession: boolean;
                              mutatesTarget: boolean;
                              writesFilesystem: boolean;
                          };
                          name: | "open_binary"
                          | "list_browser_targets"
                          | "inspect_web_page"
                          | "analyze_web_bundle"
                          | "observe_web_session"
                          | "discover_webmcp_tools"
                          | "compare_web_captures"
                          | "capture_web_screenshot"
                          | "compare_web_screenshots"
                          | "list_electron_targets"
                          | "inspect_electron_page"
                          | "inventory_artifact"
                          | "extract_artifact"
                          | "analyze_javascript_application"
                          | "swift_classes"
                          | "get_objc_classes"
                          | "get_objc_protocols"
                          | "batch_decompile"
                          | "get_call_graph"
                          | "analyze_swift_types"
                          | "find_xrefs_to_name"
                          | "binary_overview"
                          | "analyze_function"
                          | "trace_feature"
                          | "comment"
                          | "compare_artifacts"
                          | "find_changed_behavior"
                          | "compare_process_captures"
                          | "compare_functions"
                          | "capture_process_scenario"
                          | "inspect_managed_members"
                          | "inspect_managed_native_boundaries"
                          | "inspect_macho"
                          | "inspect_managed_artifact"
                          | "address_name"
                          | "current_address"
                          | "current_procedure"
                          | "current_document"
                          | "goto_address"
                          | "inline_comment"
                          | "list_bookmarks"
                          | "list_documents"
                          | "list_names"
                          | "list_procedures"
                          | "list_segments"
                          | "list_strings"
                          | "next_address"
                          | "prev_address"
                          | "procedure_address"
                          | "procedure_assembly"
                          | "procedure_callees"
                          | "procedure_callers"
                          | "procedure_info"
                          | "procedure_references"
                          | "procedure_pseudo_code"
                          | "resolve_containing_procedure"
                          | "search_procedures"
                          | "search_strings"
                          | "set_address_name"
                          | "set_addresses_names"
                          | "set_bookmark"
                          | "set_comment"
                          | "set_current_document"
                          | "set_inline_comment"
                          | "unset_bookmark"
                          | "xrefs"
                          | "inspect_signature"
                          | "inspect_plist"
                          | "list_architectures"
                          | "demangle_swift"
                          | "compare_managed_members"
                          | "verify_managed_native_boundaries"
                          | "import_managed_reconstruction"
                          | "plan_managed_runtime_correlation"
                          | "project_managed_application_graph"
                          | "close_binary"
                          | "binary_session"
                          | "export_evidence_bundle"
                          | "import_evidence_bundle"
                          | "compare_bundles"
                          | "build_call_path"
                          | "correlate_static_and_runtime"
                          | "verify_reconstruction"
                          | "list_unknowns"
                          | "record_unknown"
                          | "update_unknown"
                          | "verify_unknown_resolution"
                          | "reconcile_javascript_runtime"
                          | "trace_application_feature"
                          | "compare_application_versions"
                          | "run_controlled_replay";
                          surface: ToolKind;
                      }[];
                  };
                  cli_package_version: string;
                  expected_skill_version: string;
                  installations: {
                      paths: readonly string[];
                      state: "unknown"
                      | "single"
                      | "multiple";
                  };
                  live_server: { remediation: string; state: "unknown" };
                  registrations: readonly ClientRegistrationStatus[];
                  sdk: {
                      client_test: "2.0.0-beta.4";
                      core: "2.0.0-beta.4";
                      server: "2.0.0-beta.4";
                  };
                  skill: {
                      installed_catalog_digest: string
                      | null;
                      installed_tool_count: number | null;
                      installed_version: string | null;
                      remediation: string | null;
                      state: "missing" | "aligned" | "stale";
                  };
              };
              providerInspections?: readonly DoctorProviderInspection[];
          },
      >

    • Returns Promise<"failed" | "unchanged" | "installed">

    • Returns Promise<Readonly<Record<string, string>>>