/** Canonical names used by every one-shot CLI command registration. */ export const CLI_COMMANDS = Object.freeze({ inspectPacketFields: "inspect-packet-fields", inspectPacketCapture: "inspect-packet-capture", inspectSignalDecoders: "inspect-signal-decoders", decodeSignalRecording: "decode-signal-recording", compareWasmInterfaces: "compare-wasm-interfaces", inspectWasmArtifact: "inspect-wasm-artifact", inspectSqliteDatabase: "inspect-sqlite-database", inspectEvmInterface: "inspect-evm-interface", inspectWebNetworkCapture: "inspect-web-network-capture", observeWebExecution: "observe-web-execution", inspectWebEventListeners: "inspect-web-event-listeners", traceWebSourceLocation: "trace-web-source-location", traceWebModuleImports: "trace-web-module-imports", analyze: "analyze", inspect: "inspect", decompile: "decompile", setup: "setup", doctor: "doctor", uninstall: "uninstall", update: "update", xrefs: "xrefs", trace: "trace", traceNativeUiAction: "trace-native-ui-action", inspectNativeDispatchMetadata: "inspect-native-dispatch-metadata", capabilities: "capabilities", providers: "providers", function: "function", annotateNativeFunction: "annotate-native-function", inspectNativeApi: "inspect-native-api", instructions: "instructions", search: "search", importReferenceSource: "import-reference-source", inspectArtifact: "inspect-artifact", extractArtifact: "extract-artifact", decodeInterfaceBuilder: "decode-interface-builder", inspectKeyedArchive: "inspect-keyed-archive", traceDylibResolution: "trace-dylib-resolution", inspectNativeDataType: "inspect-native-data-type", inspectNativeLoadImage: "inspect-native-load-image", readBytes: "read-bytes", searchBytes: "search-bytes", addressToFileOffset: "address-to-file-offset", traceNativeValues: "trace-native-values", inspectNativeInstruction: "inspect-native-instruction", resolveNativeCallTargets: "resolve-native-call-targets", inspectAssetCatalog: "inspect-asset-catalog", inspectManagedArtifact: "inspect-managed-artifact", inspectRecordedCrash: "inspect-recorded-crash", inspectBinaryLayout: "inspect-binary-layout", listCutterSessions: "list-cutter-sessions", cutterCommand: "cutter-command", inspectWithObjdump: "inspect-with-objdump", listObjdumpArchitectures: "list-objdump-architectures", executeRizinCommand: "execute-rizin-command", debugWithGdb: "debug-with-gdb", debugWithRizin: "debug-with-rizin", inspectGoBinary: "inspect-go-binary", inspectRustBinary: "inspect-rust-binary", inspectPeResources: "inspect-pe-resources", inspectAnalysisView: "inspect-analysis-view", listFridaDevices: "list-frida-devices", listFridaProcesses: "list-frida-processes", instrumentWithFrida: "instrument-with-frida", inspectEvidenceBundle: "inspect-evidence-bundle", inspectFirmwareRegions: "inspect-firmware-regions", extractFirmware: "extract-firmware", inspectAndroidPackage: "inspect-android-package", inspectPcapClient: "inspect-pcap-client", inspectPcapCapture: "inspect-pcap-capture", identifyFlutterBuild: "identify-flutter-build", inspectDartAot: "inspect-dart-aot", inspectApktoolClient: "inspect-apktool-client", decodeAndroidResources: "decode-android-resources", inspectAdbClient: "inspect-adb-client", listAdbDevices: "list-adb-devices", inspectAdbDevice: "inspect-adb-device", listAdbPackages: "list-adb-packages", pullAdbPackage: "pull-adb-package", readAdbLogcat: "read-adb-logcat", inspectAdbPackage: "inspect-adb-package", pullAdbFile: "pull-adb-file", pushAdbFile: "push-adb-file", captureAdbScreen: "capture-adb-screen", listAdbProcesses: "list-adb-processes", listAdbDirectory: "list-adb-directory", listAdbFeatures: "list-adb-features", listAdbServices: "list-adb-services", inspectAdbDisplay: "inspect-adb-display", inspectAdbWindow: "inspect-adb-window", readAdbSetting: "read-adb-setting", collectAdbBugreport: "collect-adb-bugreport", resolveAdbPackages: "resolve-adb-packages", installAdbPackage: "install-adb-package", uninstallAdbPackage: "uninstall-adb-package", startAdbApp: "start-adb-app", startAdbActivity: "start-adb-activity", stopAdbApp: "stop-adb-app", searchAndroidClasses: "search-android-classes", inspectAndroidClass: "inspect-android-class", inspectAndroidMethod: "inspect-android-method", traceAndroidReferences: "trace-android-references", inspectJebClient: "inspect-jeb-client", openJebProject: "open-jeb-project", listJebUnits: "list-jeb-units", decompileJebItem: "decompile-jeb-item", inspectManagedMembers: "inspect-managed-members", inspectManagedNativeBoundaries: "inspect-managed-native-boundaries", compareManagedMembers: "compare-managed-members", verifyManagedNativeBoundaries: "verify-managed-native-boundaries", importManagedReconstruction: "import-managed-reconstruction", projectManagedApplicationGraph: "project-managed-application-graph", observeNativeUi: "observe-native-ui", observeNativeCalls: "observe-native-calls", captureNativeUiScenario: "capture-native-ui-scenario", inspectMacho: "inspect-macho", inspectSignature: "inspect-signature", listArchitectures: "list-architectures", inspectPlist: "inspect-plist", demangleSwift: "demangle-swift", evidenceImport: "evidence-import", evidenceExport: "evidence-export", compare: "compare", captureProcess: "capture-process", compareProcessCaptures: "compare-process-captures", listBrowserTargets: "list-browser-targets", inspectWebPage: "inspect-web-page", analyzeWebBundle: "analyze-web-bundle", exportWebScripts: "export-web-scripts", recoverJavaScriptSources: "recover-javascript-sources", observeWebSession: "observe-web-session", discoverWebMcpTools: "discover-webmcp-tools", compareWebCaptures: "compare-web-captures", captureWebScreenshot: "capture-web-screenshot", compareWebScreenshots: "compare-web-screenshots", captureBrowserScenario: "capture-browser-scenario", listElectronTargets: "list-electron-targets", inspectElectronPage: "inspect-electron-page", captureElectronScenario: "capture-electron-scenario", listJavaScriptRuntimeTargets: "list-javascript-runtime-targets", observeJavaScriptRuntime: "observe-javascript-runtime", analyzeJavaScriptApplication: "analyze-javascript-application", reconcileJavaScriptRuntime: "reconcile-javascript-runtime", traceApplicationFeature: "trace-application-feature", traceJavaScriptSemantics: "trace-javascript-semantics", compareApplicationVersions: "compare-application-versions", compareSourceToBundle: "compare-source-to-bundle", compareJavaScriptExportShapes: "compare-javascript-export-shapes", buildReconstructionObligationLedger: "build-reconstruction-obligation-ledger", evaluateReconstructionCoverage: "evaluate-reconstruction-coverage", projectAndroidApplicationGraph: "project-android-application-graph", projectAppleApplicationGraph: "project-apple-application-graph", projectHarmonyApplicationGraph: "project-harmony-application-graph", }); /** Ordered primary CLI inventory; aliases are intentionally excluded. */ export const CLI_COMMAND_NAMES = Object.freeze(Object.values(CLI_COMMANDS)); /** Command aliases registered on top of the primary CLI command inventory. */ export const CLI_COMMAND_ALIASES = Object.freeze(["compare-bundles"]); /** Canonical MCP operations reached by CLI commands with different names. */ export const CLI_COMMAND_TOOL_ALIASES = Object.freeze({ analyze: ["binary_overview"], inspect: ["binary_overview"], decompile: ["procedure_pseudo_code"], function: ["analyze_function"], instructions: ["read_function_instructions"], trace: ["trace_feature"], search: ["search_strings", "search_procedures"], "capture-process": ["capture_process_scenario"], "compare-bundles": ["compare_bundles"], "list-cutter-sessions": ["list_cutter_sessions"], "cutter-command": ["cutter_command"], "inspect-with-objdump": ["inspect_with_objdump"], "list-objdump-architectures": ["inspect_with_objdump"], "execute-rizin-command": ["execute_rizin_command"], "debug-with-gdb": ["gdb_console"], "debug-with-rizin": ["rizin_debug_command"], "list-frida-devices": ["list_frida_devices"], "list-frida-processes": ["list_frida_processes"], "instrument-with-frida": ["instrument_with_frida"], }); /** MCP operations without a dedicated CLI command or direct command alias. */ export const MCP_TOOLS_WITHOUT_DEDICATED_CLI = Object.freeze([ "address_name", "comment", "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", "resolve_containing_procedure", "set_address_name", "set_addresses_names", "set_bookmark", "set_comment", "set_inline_comment", "unset_bookmark", "get_objc_classes", "get_objc_protocols", "batch_decompile", "get_call_graph", "analyze_swift_types", "find_xrefs_to_name", "trace_call_path", "open_binary", "close_binary", "binary_session", "export_evidence_bundle", "import_evidence_bundle", "compare_artifacts", "compare_functions", "find_changed_behavior", "build_call_path", "correlate_static_and_runtime", "verify_reconstruction", "list_unknowns", "record_unknown", "update_unknown", "verify_unknown_resolution", "get_evidence_bundle", "get_navigation_context", "inspect_address_context", "start_gdb_session", "gdb_session_status", "close_gdb_session", "start_rizin_debug_session", "rizin_debug_session_status", "close_rizin_debug_session", "start_frida_session", "load_frida_script", "resume_frida_session", "unload_frida_script", "frida_session_status", "close_frida_session", ]);