xcode-mcp-server 1.3.12__tar.gz → 1.3.13__tar.gz
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.
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/PKG-INFO +1 -1
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/__init__.py +1 -1
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/build_project.py +15 -7
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/clean_project.py +7 -3
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/run_project_tests.py +19 -10
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/run_project_until_terminated.py +17 -11
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/applescript.py +48 -5
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/.github/workflows/claude-code.yml +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/.github/workflows/claude-self-review.yml +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/.gitignore +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/CLAUDE.md +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/LICENSE +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/README.md +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/TODO.md +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/__PUBLIC_REPO +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/_venv-setup.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/deploy-beta.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/deploy.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/dev.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/info.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/pyproject.toml +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/requirements.txt +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/run_local_for_claude.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/scripts/cleanup_tests.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/scripts/create_projects.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/scripts/create_real_projects.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/scripts/create_spm_projects.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/scripts/create_xcode_projects.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/scripts/run_all_tests.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/scripts/setup_test_projects.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/scripts/setup_tests.sh +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp/Assets.xcassets/AccentColor.colorset/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp/Assets.xcassets/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp/ContentView.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp/iosEmptySwiftUIAppApp.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp.xcodeproj/project.pbxproj +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp.xcodeproj/project.xcworkspace/xcuserdata/andrew.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/iosEmptySwiftUIApp/iosEmptySwiftUIApp.xcodeproj/xcuserdata/andrew.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptyCommandLineApp/macosEmptyCommandLineApp/main.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptyCommandLineApp/macosEmptyCommandLineApp.xcodeproj/project.pbxproj +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptyCommandLineApp/macosEmptyCommandLineApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptyCommandLineApp/macosEmptyCommandLineApp.xcodeproj/project.xcworkspace/xcuserdata/andrew.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptyCommandLineApp/macosEmptyCommandLineApp.xcodeproj/xcuserdata/andrew.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp/Assets.xcassets/AccentColor.colorset/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp/Assets.xcassets/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp/ContentView.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp/macosEmptySwiftUIAppApp.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp.xcodeproj/project.pbxproj +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp.xcodeproj/project.xcworkspace/xcuserdata/andrew.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/fromXcode/macosEmptySwiftUIApp/macosEmptySwiftUIApp.xcodeproj/xcuserdata/andrew.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/BrokenApp/BrokenApp/main.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/BrokenApp/BrokenApp.xcodeproj/project.pbxproj +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/BrokenApp/BrokenApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/BrokenApp/BrokenApp.xcodeproj/project.xcworkspace/xcuserdata/andrew.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/BrokenApp/BrokenApp.xcodeproj/xcuserdata/andrew.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/ConsoleApp/ConsoleApp/main.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/ConsoleApp/ConsoleApp.xcodeproj/project.pbxproj +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/ConsoleApp/ConsoleApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/ConsoleApp/ConsoleApp.xcodeproj/project.xcworkspace/xcuserdata/andrew.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/ConsoleApp/ConsoleApp.xcodeproj/xcuserdata/andrew.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SimpleApp/SimpleApp/main.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SimpleApp/SimpleApp.xcodeproj/project.pbxproj +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SimpleApp/SimpleApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SimpleApp/SimpleApp.xcodeproj/project.xcworkspace/xcuserdata/andrew.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SimpleApp/SimpleApp.xcodeproj/xcuserdata/andrew.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp/Assets.xcassets/AccentColor.colorset/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp/Assets.xcassets/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp/ContentView.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp/macosEmptySwiftUIAppApp.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp.xcodeproj/project.pbxproj +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp.xcodeproj/project.xcworkspace/xcuserdata/andrew.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/SwiftUITestApp/SwiftUITestApp.xcodeproj/xcuserdata/andrew.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp/Assets.xcassets/AccentColor.colorset/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp/Assets.xcassets/Contents.json +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp/ContentView.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp/iosEmptySwiftUIAppApp.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp.xcodeproj/project.pbxproj +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp.xcodeproj/project.xcworkspace/xcuserdata/andrew.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/test_projects/templates/iOSTestApp/iOSTestApp.xcodeproj/xcuserdata/andrew.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/debug_build.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/debug_test.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/test_basic.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/test_build.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/test_build_log_parser.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/test_fixed.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/test_manifest_wait.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/test_minimal.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/tests/test_runner.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/__main__.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/cli.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/config_manager.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/config_ui.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/exceptions.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/security.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/server.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/__init__.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/create_project.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/debug_list_notification_history.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_active_run_destination.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_build_errors.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_build_results.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_directory_listing.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_directory_tree.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_latest_test_results.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_project_schemes.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_runtime_output.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_xcode_projects.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_booted_simulators.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_mac_app_windows.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_project_tests.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_run_destinations.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_running_mac_apps.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/run_project_unmonitored.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/run_project_with_user_interaction.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/set_run_destination.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/stop_project.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/take_app_screenshot.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/take_simulator_screenshot.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/take_window_screenshot.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/take_xcode_screenshot.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/version.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/__init__.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/build_log_parser.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/decode_active_destination.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/decode_xcode_recents.swift +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/paths.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/project_templates.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/screenshot.py +0 -0
- {xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/xcresult.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xcode-mcp-server
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.13
|
|
4
4
|
Summary: Drew's MCP server for Xcode integration
|
|
5
5
|
Project-URL: Homepage, https://github.com/drewster99/xcode-mcp-server
|
|
6
6
|
Project-URL: Repository, https://github.com/drewster99/xcode-mcp-server
|
|
@@ -13,9 +13,9 @@ from xcode_mcp_server.config_manager import apply_config
|
|
|
13
13
|
from xcode_mcp_server.security import validate_and_normalize_project_path
|
|
14
14
|
from xcode_mcp_server.exceptions import InvalidParameterError, XCodeMCPError
|
|
15
15
|
from xcode_mcp_server.utils.applescript import (
|
|
16
|
-
BUILD_TIMEOUT_SECONDS,
|
|
17
16
|
build_open_and_wait_applescript,
|
|
18
17
|
build_wait_for_completion_applescript,
|
|
18
|
+
resolve_build_timeout,
|
|
19
19
|
escape_applescript_string,
|
|
20
20
|
run_applescript,
|
|
21
21
|
show_notification,
|
|
@@ -289,12 +289,14 @@ def build_project(project_path: str,
|
|
|
289
289
|
scheme: Optional[str] = None,
|
|
290
290
|
include_warnings: Optional[bool] = None,
|
|
291
291
|
regex_filter: Optional[str] = None,
|
|
292
|
-
max_lines: int = 25
|
|
292
|
+
max_lines: int = 25,
|
|
293
|
+
timeout: Optional[int] = None) -> str:
|
|
293
294
|
"""
|
|
294
295
|
Build the specified Xcode project or workspace.
|
|
295
296
|
|
|
296
|
-
Builds
|
|
297
|
-
|
|
297
|
+
Builds run for up to `timeout` seconds (default 600, i.e. 10 minutes) before
|
|
298
|
+
timing out, which guards against a build that hangs indefinitely. Raise it
|
|
299
|
+
for large projects whose cold build exceeds the default.
|
|
298
300
|
|
|
299
301
|
Args:
|
|
300
302
|
project_path: Path to an Xcode project or workspace directory.
|
|
@@ -302,6 +304,8 @@ def build_project(project_path: str,
|
|
|
302
304
|
include_warnings: Include warnings in build output. If not provided, uses global setting.
|
|
303
305
|
regex_filter: Optional regex to filter error/warning lines
|
|
304
306
|
max_lines: Maximum number of error/warning lines to show (default 25)
|
|
307
|
+
timeout: Maximum seconds to wait for the build to complete. If not
|
|
308
|
+
provided, defaults to 600. Must be a positive integer.
|
|
305
309
|
|
|
306
310
|
Returns:
|
|
307
311
|
Always returns JSON with format:
|
|
@@ -317,6 +321,10 @@ def build_project(project_path: str,
|
|
|
317
321
|
if include_warnings is not None and not isinstance(include_warnings, bool):
|
|
318
322
|
raise InvalidParameterError("include_warnings must be a boolean value")
|
|
319
323
|
|
|
324
|
+
# Resolve the build timeout up front so an invalid value errors immediately,
|
|
325
|
+
# before any AppleScript runs.
|
|
326
|
+
effective_timeout = resolve_build_timeout(timeout)
|
|
327
|
+
|
|
320
328
|
# Validate regex_filter up front so a bad pattern produces a clear error
|
|
321
329
|
# immediately, before any AppleScript runs. The supplement helper assumes
|
|
322
330
|
# the pattern compiles.
|
|
@@ -340,7 +348,7 @@ def build_project(project_path: str,
|
|
|
340
348
|
script = (
|
|
341
349
|
build_open_and_wait_applescript(escaped_path, escaped_scheme)
|
|
342
350
|
+ ' set actionResult to build workspaceDoc\n'
|
|
343
|
-
+ build_wait_for_completion_applescript("actionResult",
|
|
351
|
+
+ build_wait_for_completion_applescript("actionResult", effective_timeout)
|
|
344
352
|
+ ' set buildStatus to "unknown"\n'
|
|
345
353
|
+ ' try\n'
|
|
346
354
|
+ ' set buildStatus to status of actionResult as string\n'
|
|
@@ -359,10 +367,10 @@ def build_project(project_path: str,
|
|
|
359
367
|
manifest_path = os.path.join(derived_data_path, "Logs", "Build", "LogStoreManifest.plist")
|
|
360
368
|
pre_build_uuids = snapshot_build_uuids(manifest_path)
|
|
361
369
|
|
|
362
|
-
# The script polls inside AppleScript for up to
|
|
370
|
+
# The script polls inside AppleScript for up to effective_timeout; the
|
|
363
371
|
# subprocess timeout must exceed that, with a small buffer for workspace
|
|
364
372
|
# load and IPC overhead.
|
|
365
|
-
success, output = run_applescript(script, timeout=
|
|
373
|
+
success, output = run_applescript(script, timeout=effective_timeout + 60)
|
|
366
374
|
|
|
367
375
|
if success:
|
|
368
376
|
# Parse the BUILD_STATUS: prefix from the AppleScript output
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
"""clean_project tool - Clean an Xcode project"""
|
|
3
3
|
|
|
4
4
|
import os
|
|
5
|
+
from typing import Optional
|
|
5
6
|
|
|
6
7
|
from xcode_mcp_server.server import mcp, TOOL_CLEAN
|
|
7
8
|
from xcode_mcp_server.config_manager import apply_config
|
|
8
9
|
from xcode_mcp_server.security import validate_and_normalize_project_path
|
|
9
10
|
from xcode_mcp_server.exceptions import XCodeMCPError
|
|
10
11
|
from xcode_mcp_server.utils.applescript import (
|
|
11
|
-
BUILD_TIMEOUT_SECONDS,
|
|
12
12
|
build_open_and_wait_applescript,
|
|
13
|
+
resolve_build_timeout,
|
|
13
14
|
escape_applescript_string,
|
|
14
15
|
run_applescript,
|
|
15
16
|
show_result_notification,
|
|
@@ -19,12 +20,14 @@ from xcode_mcp_server.utils.applescript import (
|
|
|
19
20
|
|
|
20
21
|
@mcp.tool(annotations=TOOL_CLEAN)
|
|
21
22
|
@apply_config
|
|
22
|
-
def clean_project(project_path: str) -> str:
|
|
23
|
+
def clean_project(project_path: str, timeout: Optional[int] = None) -> str:
|
|
23
24
|
"""
|
|
24
25
|
Clean the specified Xcode project or workspace.
|
|
25
26
|
|
|
26
27
|
Args:
|
|
27
28
|
project_path: Path to an Xcode project/workspace directory.
|
|
29
|
+
timeout: Maximum seconds to wait for the clean to complete. If not
|
|
30
|
+
provided, defaults to 600. Must be a positive integer.
|
|
28
31
|
|
|
29
32
|
Returns:
|
|
30
33
|
Output message
|
|
@@ -32,6 +35,7 @@ def clean_project(project_path: str) -> str:
|
|
|
32
35
|
# Validate and normalize path
|
|
33
36
|
normalized_path = validate_and_normalize_project_path(project_path, "Cleaning")
|
|
34
37
|
escaped_path = escape_applescript_string(normalized_path)
|
|
38
|
+
effective_timeout = resolve_build_timeout(timeout)
|
|
35
39
|
|
|
36
40
|
script = build_open_and_wait_applescript(escaped_path) + (
|
|
37
41
|
' clean workspaceDoc\n'
|
|
@@ -41,7 +45,7 @@ def clean_project(project_path: str) -> str:
|
|
|
41
45
|
|
|
42
46
|
# Clean is synchronous in AppleScript and can take minutes on large projects;
|
|
43
47
|
# use the same budget as build/test rather than the short default.
|
|
44
|
-
success, output = run_applescript(script, timeout=
|
|
48
|
+
success, output = run_applescript(script, timeout=effective_timeout + 60)
|
|
45
49
|
|
|
46
50
|
project_name = os.path.basename(normalized_path)
|
|
47
51
|
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/run_project_tests.py
RENAMED
|
@@ -12,9 +12,10 @@ from xcode_mcp_server.config_manager import apply_config
|
|
|
12
12
|
from xcode_mcp_server.security import validate_and_normalize_project_path
|
|
13
13
|
from xcode_mcp_server.exceptions import InvalidParameterError
|
|
14
14
|
from xcode_mcp_server.utils.applescript import (
|
|
15
|
-
BUILD_TIMEOUT_SECONDS,
|
|
16
15
|
build_open_and_wait_applescript,
|
|
17
16
|
build_wait_for_completion_applescript,
|
|
17
|
+
resolve_build_timeout,
|
|
18
|
+
format_timeout_duration,
|
|
18
19
|
escape_applescript_string,
|
|
19
20
|
run_applescript,
|
|
20
21
|
show_notification,
|
|
@@ -152,16 +153,20 @@ from xcode_mcp_server.utils.xcresult import find_xcresult_bundle, extract_test_r
|
|
|
152
153
|
@mcp.tool(annotations=TOOL_BUILD)
|
|
153
154
|
@apply_config
|
|
154
155
|
def run_project_tests(project_path: str,
|
|
155
|
-
scheme: Optional[str] = None
|
|
156
|
+
scheme: Optional[str] = None,
|
|
157
|
+
timeout: Optional[int] = None) -> str:
|
|
156
158
|
"""
|
|
157
159
|
Run tests for the specified Xcode project or workspace.
|
|
158
160
|
|
|
159
|
-
Tests
|
|
160
|
-
|
|
161
|
+
Tests run for up to `timeout` seconds (default 600, i.e. 10 minutes) before
|
|
162
|
+
timing out, which guards against a test run hanging indefinitely. Raise it
|
|
163
|
+
for large projects whose build-for-testing alone exceeds the default.
|
|
161
164
|
|
|
162
165
|
Args:
|
|
163
166
|
project_path: Path to Xcode project/workspace directory
|
|
164
167
|
scheme: Optional scheme to test (uses active scheme if not specified)
|
|
168
|
+
timeout: Maximum seconds to wait for the build-for-testing plus test run
|
|
169
|
+
to complete. If not provided, defaults to 600. Must be a positive integer.
|
|
165
170
|
|
|
166
171
|
Returns:
|
|
167
172
|
JSON with test results if tests complete, otherwise plain text status message.
|
|
@@ -176,6 +181,10 @@ def run_project_tests(project_path: str,
|
|
|
176
181
|
# Validate and normalize the project path
|
|
177
182
|
project_path = validate_and_normalize_project_path(project_path, "run_project_tests")
|
|
178
183
|
|
|
184
|
+
# Resolve the test timeout up front so an invalid value errors immediately,
|
|
185
|
+
# before any AppleScript runs or notifications post.
|
|
186
|
+
effective_timeout = resolve_build_timeout(timeout)
|
|
187
|
+
|
|
179
188
|
# Show notification
|
|
180
189
|
show_notification("Drew's Xcode MCP", subtitle=os.path.basename(project_path), message="Running tests")
|
|
181
190
|
|
|
@@ -275,14 +284,14 @@ def run_project_tests(project_path: str,
|
|
|
275
284
|
script = (
|
|
276
285
|
build_open_and_wait_applescript(escaped_path, escaped_scheme)
|
|
277
286
|
+ ' set testResult to test workspaceDoc\n'
|
|
278
|
-
+ build_wait_for_completion_applescript("testResult",
|
|
287
|
+
+ build_wait_for_completion_applescript("testResult", effective_timeout)
|
|
279
288
|
+ failure_extraction_tail
|
|
280
289
|
+ 'end tell\n'
|
|
281
290
|
)
|
|
282
291
|
|
|
283
|
-
# The script polls inside AppleScript for up to
|
|
292
|
+
# The script polls inside AppleScript for up to effective_timeout; the
|
|
284
293
|
# subprocess timeout must exceed that, plus buffer for workspace load.
|
|
285
|
-
success, output = run_applescript(script, timeout=
|
|
294
|
+
success, output = run_applescript(script, timeout=effective_timeout + 60)
|
|
286
295
|
|
|
287
296
|
if not success:
|
|
288
297
|
show_error_notification("Failed to run tests", os.path.basename(project_path))
|
|
@@ -307,10 +316,10 @@ def run_project_tests(project_path: str,
|
|
|
307
316
|
output_lines = []
|
|
308
317
|
|
|
309
318
|
if not completed:
|
|
310
|
-
|
|
311
|
-
output_lines.append(f"⏳ Tests did not complete within {
|
|
319
|
+
duration = format_timeout_duration(effective_timeout)
|
|
320
|
+
output_lines.append(f"⏳ Tests did not complete within {duration}")
|
|
312
321
|
output_lines.append(f"Status: {status}")
|
|
313
|
-
show_warning_notification(f"Tests timeout ({
|
|
322
|
+
show_warning_notification(f"Tests timeout ({duration})")
|
|
314
323
|
return '\n'.join(output_lines)
|
|
315
324
|
|
|
316
325
|
# If tests completed, get detailed results from xcresult
|
|
@@ -12,7 +12,8 @@ from xcode_mcp_server.config_manager import apply_config
|
|
|
12
12
|
from xcode_mcp_server.security import validate_and_normalize_project_path
|
|
13
13
|
from xcode_mcp_server.exceptions import XCodeMCPError
|
|
14
14
|
from xcode_mcp_server.utils.applescript import (
|
|
15
|
-
|
|
15
|
+
resolve_build_timeout,
|
|
16
|
+
format_timeout_duration,
|
|
16
17
|
build_open_and_wait_applescript,
|
|
17
18
|
escape_applescript_string,
|
|
18
19
|
run_applescript,
|
|
@@ -32,12 +33,14 @@ from xcode_mcp_server.utils.xcresult import (
|
|
|
32
33
|
def run_project_until_terminated(project_path: str,
|
|
33
34
|
scheme: Optional[str] = None,
|
|
34
35
|
regex_filter: Optional[str] = None,
|
|
35
|
-
max_lines: int = 20
|
|
36
|
+
max_lines: int = 20,
|
|
37
|
+
timeout: Optional[int] = None) -> str:
|
|
36
38
|
"""
|
|
37
|
-
Run the app and wait for it to terminate naturally (up to
|
|
39
|
+
Run the app and wait for it to terminate naturally (up to `timeout` seconds).
|
|
38
40
|
|
|
39
|
-
The app will run in Xcode/Simulator. If it doesn't terminate within
|
|
40
|
-
it will be force-stopped and runtime
|
|
41
|
+
The app will run in Xcode/Simulator. If it doesn't terminate within `timeout`
|
|
42
|
+
seconds (default 600, i.e. 10 minutes), it will be force-stopped and runtime
|
|
43
|
+
logs will be extracted.
|
|
41
44
|
|
|
42
45
|
No user interaction required - fully automated.
|
|
43
46
|
|
|
@@ -48,6 +51,9 @@ def run_project_until_terminated(project_path: str,
|
|
|
48
51
|
scheme: Optional scheme to run. If not provided, uses the active scheme.
|
|
49
52
|
regex_filter: Optional regex pattern to find matching lines in the output
|
|
50
53
|
max_lines: Maximum number of matching lines to return (default 20)
|
|
54
|
+
timeout: Maximum seconds to wait for the app to terminate before
|
|
55
|
+
force-stopping it. If not provided, defaults to 600. Must be a
|
|
56
|
+
positive integer.
|
|
51
57
|
|
|
52
58
|
Returns:
|
|
53
59
|
JSON string with structured console output
|
|
@@ -56,6 +62,7 @@ def run_project_until_terminated(project_path: str,
|
|
|
56
62
|
scheme_desc = scheme if scheme else "active scheme"
|
|
57
63
|
normalized_path = validate_and_normalize_project_path(project_path, f"Running {scheme_desc} in")
|
|
58
64
|
escaped_path = escape_applescript_string(normalized_path)
|
|
65
|
+
effective_timeout = resolve_build_timeout(timeout)
|
|
59
66
|
|
|
60
67
|
# Show running notification
|
|
61
68
|
project_name = os.path.basename(normalized_path)
|
|
@@ -83,13 +90,12 @@ def run_project_until_terminated(project_path: str,
|
|
|
83
90
|
show_error_notification("Failed to launch app", project_name)
|
|
84
91
|
raise XCodeMCPError(f"Launch failed: {output}")
|
|
85
92
|
|
|
86
|
-
print(f"App launched, polling for termination (up to {
|
|
93
|
+
print(f"App launched, polling for termination (up to {format_timeout_duration(effective_timeout)})...", file=sys.stderr)
|
|
87
94
|
|
|
88
|
-
timeout = BUILD_TIMEOUT_SECONDS
|
|
89
95
|
elapsed = 0
|
|
90
96
|
app_terminated = False
|
|
91
97
|
|
|
92
|
-
while elapsed <
|
|
98
|
+
while elapsed < effective_timeout:
|
|
93
99
|
# Check if app terminated
|
|
94
100
|
check_script = f'''
|
|
95
101
|
set projectPath to "{escaped_path}"
|
|
@@ -112,9 +118,9 @@ def run_project_until_terminated(project_path: str,
|
|
|
112
118
|
|
|
113
119
|
# If still running after timeout, force-stop
|
|
114
120
|
if not app_terminated:
|
|
115
|
-
|
|
116
|
-
print(f"App did not terminate within {
|
|
117
|
-
show_warning_notification(f"App timeout ({
|
|
121
|
+
duration = format_timeout_duration(effective_timeout)
|
|
122
|
+
print(f"App did not terminate within {duration}, force-stopping...", file=sys.stderr)
|
|
123
|
+
show_warning_notification(f"App timeout ({duration})", "Force-stopping app")
|
|
118
124
|
|
|
119
125
|
stop_script = f'''
|
|
120
126
|
set projectPath to "{escaped_path}"
|
|
@@ -8,7 +8,7 @@ import threading
|
|
|
8
8
|
from collections import deque
|
|
9
9
|
from typing import Tuple, List, Dict, Optional
|
|
10
10
|
|
|
11
|
-
from xcode_mcp_server.exceptions import XCodeMCPError
|
|
11
|
+
from xcode_mcp_server.exceptions import XCodeMCPError, InvalidParameterError
|
|
12
12
|
|
|
13
13
|
# Global notification setting - initialized by CLI
|
|
14
14
|
NOTIFICATIONS_ENABLED = True
|
|
@@ -27,8 +27,9 @@ _NOTIFICATION_HISTORY_LOCK = threading.Lock()
|
|
|
27
27
|
# workspace document to load.
|
|
28
28
|
WORKSPACE_LOAD_REPEATS = 60
|
|
29
29
|
|
|
30
|
-
#
|
|
31
|
-
# AppleScript polling loops.
|
|
30
|
+
# Default maximum time (seconds) to wait for a build or run action to complete
|
|
31
|
+
# in AppleScript polling loops. Used when a caller doesn't pass an explicit
|
|
32
|
+
# `timeout` — see resolve_build_timeout.
|
|
32
33
|
BUILD_TIMEOUT_SECONDS = 600
|
|
33
34
|
|
|
34
35
|
# Default subprocess timeout for `osascript` invocations that are expected to
|
|
@@ -116,6 +117,19 @@ def build_open_and_wait_applescript(escaped_path: str, escaped_scheme: Optional[
|
|
|
116
117
|
)
|
|
117
118
|
|
|
118
119
|
|
|
120
|
+
def format_timeout_duration(seconds: int) -> str:
|
|
121
|
+
"""Render a timeout as human-readable text for user-facing messages.
|
|
122
|
+
|
|
123
|
+
Uses whole minutes only when the value is a clean minute multiple (so the
|
|
124
|
+
common 600s default reads as "10 minutes"); otherwise reports seconds, so a
|
|
125
|
+
short caller-supplied timeout reads as "5 seconds" rather than "0 minutes".
|
|
126
|
+
"""
|
|
127
|
+
if seconds >= 60 and seconds % 60 == 0:
|
|
128
|
+
minutes = seconds // 60
|
|
129
|
+
return f"{minutes} minute" + ("" if minutes == 1 else "s")
|
|
130
|
+
return f"{seconds} second" + ("" if seconds == 1 else "s")
|
|
131
|
+
|
|
132
|
+
|
|
119
133
|
def build_wait_for_completion_applescript(
|
|
120
134
|
result_var: str = "actionResult",
|
|
121
135
|
timeout_seconds: int = BUILD_TIMEOUT_SECONDS,
|
|
@@ -128,13 +142,13 @@ def build_wait_for_completion_applescript(
|
|
|
128
142
|
result_var: AppleScript variable holding a scheme-action-result.
|
|
129
143
|
timeout_seconds: Seconds before the loop errors out.
|
|
130
144
|
"""
|
|
131
|
-
|
|
145
|
+
duration = format_timeout_duration(timeout_seconds)
|
|
132
146
|
return (
|
|
133
147
|
f' set buildWaitTime to 0\n'
|
|
134
148
|
f' repeat\n'
|
|
135
149
|
f' if completed of {result_var} is true then exit repeat\n'
|
|
136
150
|
f' if buildWaitTime >= {timeout_seconds} then\n'
|
|
137
|
-
f' error "Build timed out after {
|
|
151
|
+
f' error "Build timed out after {duration}"\n'
|
|
138
152
|
f' end if\n'
|
|
139
153
|
f' delay 0.5\n'
|
|
140
154
|
f' set buildWaitTime to buildWaitTime + 0.5\n'
|
|
@@ -142,6 +156,35 @@ def build_wait_for_completion_applescript(
|
|
|
142
156
|
)
|
|
143
157
|
|
|
144
158
|
|
|
159
|
+
def resolve_build_timeout(timeout: Optional[int]) -> int:
|
|
160
|
+
"""Resolve the effective build/test timeout in seconds for a tool call.
|
|
161
|
+
|
|
162
|
+
Args:
|
|
163
|
+
timeout: Per-call override in seconds, or None to use the default
|
|
164
|
+
BUILD_TIMEOUT_SECONDS.
|
|
165
|
+
|
|
166
|
+
Returns:
|
|
167
|
+
The validated timeout in seconds. The caller threads this into BOTH the
|
|
168
|
+
inner AppleScript poll budget (build_wait_for_completion_applescript)
|
|
169
|
+
and the outer run_applescript subprocess timeout so the two stay
|
|
170
|
+
consistent.
|
|
171
|
+
|
|
172
|
+
Raises:
|
|
173
|
+
InvalidParameterError: If `timeout` is provided but is not a positive
|
|
174
|
+
integer number of seconds. Short timeouts (e.g. 5) are allowed; the
|
|
175
|
+
caller owns that trade-off.
|
|
176
|
+
"""
|
|
177
|
+
if timeout is None:
|
|
178
|
+
return BUILD_TIMEOUT_SECONDS
|
|
179
|
+
# bool is a subclass of int; reject it explicitly so True/False can't slip
|
|
180
|
+
# through as 1/0.
|
|
181
|
+
if isinstance(timeout, bool) or not isinstance(timeout, int):
|
|
182
|
+
raise InvalidParameterError("timeout must be an integer number of seconds")
|
|
183
|
+
if timeout <= 0:
|
|
184
|
+
raise InvalidParameterError("timeout must be a positive number of seconds")
|
|
185
|
+
return timeout
|
|
186
|
+
|
|
187
|
+
|
|
145
188
|
def run_applescript(script: str, timeout: int = DEFAULT_APPLESCRIPT_TIMEOUT) -> Tuple[bool, str]:
|
|
146
189
|
"""Run an AppleScript and return success status and output.
|
|
147
190
|
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/.github/workflows/claude-self-review.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/create_project.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_build_errors.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_build_results.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_directory_listing.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_directory_tree.py
RENAMED
|
File without changes
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_project_schemes.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_runtime_output.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/get_xcode_projects.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_booted_simulators.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_mac_app_windows.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_project_tests.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_run_destinations.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/list_running_mac_apps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/set_run_destination.py
RENAMED
|
File without changes
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/take_app_screenshot.py
RENAMED
|
File without changes
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/take_window_screenshot.py
RENAMED
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/tools/take_xcode_screenshot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/build_log_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xcode_mcp_server-1.3.12 → xcode_mcp_server-1.3.13}/xcode_mcp_server/utils/project_templates.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|