mcpywrap-core 0.7.3__tar.gz → 0.7.4__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.
Files changed (270) hide show
  1. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/PKG-INFO +1 -1
  2. mcpywrap_core-0.7.4/mcpywrap_core/_version.py +1 -0
  3. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/deployment.py +52 -12
  4. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/troubleshooting.md +1 -1
  5. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core.egg-info/PKG-INFO +1 -1
  6. mcpywrap_core-0.7.3/mcpywrap_core/_version.py +0 -1
  7. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/LICENSE +0 -0
  8. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/MANIFEST.in +0 -0
  9. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/README.md +0 -0
  10. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/THIRD_PARTY_NOTICES.md +0 -0
  11. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/__init__.py +0 -0
  12. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/__main__.py +0 -0
  13. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/_process_identity.py +0 -0
  14. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/_script_worker.py +0 -0
  15. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/api.py +0 -0
  16. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/AddonsPack.py +0 -0
  17. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/MapPack.py +0 -0
  18. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/__init__.py +0 -0
  19. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/assembly.py +0 -0
  20. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/dependency_manager.py +0 -0
  21. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/file_merge.py +0 -0
  22. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/output_lock.py +0 -0
  23. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/project_builder.py +0 -0
  24. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/builders/watcher.py +0 -0
  25. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/cli.py +0 -0
  26. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/code_libraries.py +0 -0
  27. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/command_context.py +0 -0
  28. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/__init__.py +0 -0
  29. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/add_cmd.py +0 -0
  30. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/build_cmd.py +0 -0
  31. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/connect_cmd.py +0 -0
  32. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/default_cmd.py +0 -0
  33. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/dependency_prompt.py +0 -0
  34. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/deployment_cmd.py +0 -0
  35. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/deployment_output.py +0 -0
  36. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/deps_cmd.py +0 -0
  37. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/desktop_cmd.py +0 -0
  38. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/dev_cmd.py +0 -0
  39. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/doctor_cmd.py +0 -0
  40. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/edit_cmd.py +0 -0
  41. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/engine_cmd.py +0 -0
  42. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/host_cmd.py +0 -0
  43. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/init_cmd.py +0 -0
  44. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/mod_cmd.py +0 -0
  45. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/modsdk_cmd.py +0 -0
  46. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/package_cmd.py +0 -0
  47. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/profile_cmd.py +0 -0
  48. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/publish_cmd.py +0 -0
  49. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/record_cmd.py +0 -0
  50. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/remove_cmd.py +0 -0
  51. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/run_cmd.py +0 -0
  52. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/runtime_cmd.py +0 -0
  53. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/runtime_input_cmd.py +0 -0
  54. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/runtime_player_cmd.py +0 -0
  55. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/runtime_ui_cmd.py +0 -0
  56. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/script_cmd.py +0 -0
  57. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/serve_cmd.py +0 -0
  58. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/session_cmd.py +0 -0
  59. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/skill_cmd.py +0 -0
  60. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/sync_cmd.py +0 -0
  61. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/commands/ui_cmd.py +0 -0
  62. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/config.py +0 -0
  63. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/consumer_prepare.py +0 -0
  64. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/core-contract.json +0 -0
  65. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/custom_packaging.py +0 -0
  66. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/dependencies.py +0 -0
  67. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/dependency_feedback.py +0 -0
  68. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/__init__.py +0 -0
  69. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/android_icon.py +0 -0
  70. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/apk_profile.py +0 -0
  71. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/backend.py +0 -0
  72. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/host.py +0 -0
  73. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/install.py +0 -0
  74. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/macos.py +0 -0
  75. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/macos_icons.py +0 -0
  76. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/macos_network.py +0 -0
  77. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/official.py +0 -0
  78. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/preferences.py +0 -0
  79. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/tui.py +0 -0
  80. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/engines/windows.py +0 -0
  81. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/framework_presets.py +0 -0
  82. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/frameworks.py +0 -0
  83. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/git_cache.py +0 -0
  84. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/git_projects.py +0 -0
  85. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/host.py +0 -0
  86. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/host_assets.py +0 -0
  87. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/input_executor.py +0 -0
  88. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/input_plan.py +0 -0
  89. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/SimpleMonitor.py +0 -0
  90. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/__init__.py +0 -0
  91. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/auth_interaction.py +0 -0
  92. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/bridge_assets.py +0 -0
  93. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/deployment_links.py +0 -0
  94. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/diagnostics.py +0 -0
  95. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/discovery.py +0 -0
  96. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/editor.py +0 -0
  97. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/file_logs.py +0 -0
  98. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/game.py +0 -0
  99. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/host_input.py +0 -0
  100. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/hot_reload.py +0 -0
  101. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/image.py +0 -0
  102. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/input_sequence.py +0 -0
  103. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/lan_locator.py +0 -0
  104. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/lan_memory.py +0 -0
  105. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/lan_window.py +0 -0
  106. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/launcher_control.py +0 -0
  107. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/launcher_python.py +0 -0
  108. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/log_colorizer.py +0 -0
  109. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/log_protocol.py +0 -0
  110. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/log_query.py +0 -0
  111. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/log_stream.py +0 -0
  112. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/mcs.py +0 -0
  113. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/mcs_auth.py +0 -0
  114. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/network.py +0 -0
  115. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/private_logs.py +0 -0
  116. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/processes.py +0 -0
  117. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/recording_worker.py +0 -0
  118. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/recordings.py +0 -0
  119. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/runtime_cppconfig.py +0 -0
  120. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/runtime_debug.py +0 -0
  121. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/runtime_input_payload.py +0 -0
  122. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/runtime_key_timeline_payload.py +0 -0
  123. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/runtime_player_payload.py +0 -0
  124. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/runtime_ui.py +0 -0
  125. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/runtime_ui_outline.py +0 -0
  126. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/runtime_ui_payload.py +0 -0
  127. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/screenshot.py +0 -0
  128. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/session_capabilities.py +0 -0
  129. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/session_worker.py +0 -0
  130. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/sessions.py +0 -0
  131. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/studio_server.py +0 -0
  132. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/studio_server_ui.py +0 -0
  133. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/symlink_helper_global.py +0 -0
  134. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/symlink_helper_map.py +0 -0
  135. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/symlinks.py +0 -0
  136. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/unified_input.py +0 -0
  137. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/window.py +0 -0
  138. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mcstudio/window_activation.py +0 -0
  139. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/__init__.py +0 -0
  140. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/addons.py +0 -0
  141. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/level_dat.py +0 -0
  142. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/map.py +0 -0
  143. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/modsdk_environment.py +0 -0
  144. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/modsdk_versions.py +0 -0
  145. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/netease_modsdk.py +0 -0
  146. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/template/generate_mod_files.py +0 -0
  147. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/minecraft/template/mod_template.py +0 -0
  148. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/__init__.py +0 -0
  149. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/client.py +0 -0
  150. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/intervention.py +0 -0
  151. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/options.py +0 -0
  152. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/preparation.py +0 -0
  153. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/profiles.py +0 -0
  154. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/receipts.py +0 -0
  155. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/routing.py +0 -0
  156. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/mobile_host/streams.py +0 -0
  157. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/operations/__init__.py +0 -0
  158. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/operations/build.py +0 -0
  159. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/operations/input_snapshot.py +0 -0
  160. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/operations/package.py +0 -0
  161. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/operations/project.py +0 -0
  162. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/operations/sync.py +0 -0
  163. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/prepare_environment.py +0 -0
  164. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/profiling/__init__.py +0 -0
  165. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/profiling/analysis.py +0 -0
  166. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/profiling/endpoint.py +0 -0
  167. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/profiling/tools.json +0 -0
  168. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/profiling/tools.py +0 -0
  169. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/project_dependencies.py +0 -0
  170. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/project_init.py +0 -0
  171. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/project_scripts.py +0 -0
  172. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/recording_io.py +0 -0
  173. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/remote/__init__.py +0 -0
  174. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/remote/client.py +0 -0
  175. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/remote/http_server.py +0 -0
  176. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/remote/protocol.py +0 -0
  177. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/remote/service.py +0 -0
  178. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/__init__.py +0 -0
  179. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/deployment_inspection.py +0 -0
  180. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/deployment_service.py +0 -0
  181. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/diagnostics.py +0 -0
  182. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/groups.py +0 -0
  183. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/instances.py +0 -0
  184. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/lan_menu.py +0 -0
  185. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/native.py +0 -0
  186. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/occupancy.py +0 -0
  187. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/preparation.py +0 -0
  188. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/profiles.py +0 -0
  189. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/storage.py +0 -0
  190. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/targets.py +0 -0
  191. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/watch.py +0 -0
  192. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/window_policy.py +0 -0
  193. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/windows.py +0 -0
  194. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/runtime/windows_join.py +0 -0
  195. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/SKILL.md +0 -0
  196. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/agents/openai.yaml +0 -0
  197. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/framework/behavior_pack/CatalogRuntime/__init__.py +0 -0
  198. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/framework/behavior_pack/manifest.json +0 -0
  199. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/framework/build_tools/example.toml +0 -0
  200. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/framework/build_tools/prepare.py +0 -0
  201. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/framework/build_tools/schema.json +0 -0
  202. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/framework/pyproject.toml +0 -0
  203. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/game/.gitignore +0 -0
  204. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/game/behavior_pack/manifest.json +0 -0
  205. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/game/data/items.json +0 -0
  206. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/game/pyproject.toml +0 -0
  207. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/assets/consumer-prepare/game/resource_pack/manifest.json +0 -0
  208. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/application-host.md +0 -0
  209. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/capture.md +0 -0
  210. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/consumer-prepare-author.md +0 -0
  211. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/consumer-prepare.md +0 -0
  212. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/dual-clients.md +0 -0
  213. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/input-sequence.md +0 -0
  214. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/input-writing.md +0 -0
  215. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/instance-world-settings.md +0 -0
  216. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/local-development.md +0 -0
  217. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/macos-local.md +0 -0
  218. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/network-sessions.md +0 -0
  219. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/profiling.md +0 -0
  220. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/project-dependencies.md +0 -0
  221. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/project-scripts.md +0 -0
  222. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/project-workflow.md +0 -0
  223. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/remote-testing.md +0 -0
  224. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/runtime-debug.md +0 -0
  225. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/runtime-input.md +0 -0
  226. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/runtime-key-timeline.md +0 -0
  227. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/runtime-player.md +0 -0
  228. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/runtime-ui.md +0 -0
  229. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/script-example.md +0 -0
  230. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/references/setup.md +0 -0
  231. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/scripts/bootstrap.ps1 +0 -0
  232. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/scripts/bootstrap.py +0 -0
  233. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/scripts/game_window.py +0 -0
  234. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/skill/scripts/smoke.py +0 -0
  235. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/source_files.py +0 -0
  236. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/timeline.py +0 -0
  237. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/__init__.py +0 -0
  238. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/application.py +0 -0
  239. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/assets/mcpy.icns +0 -0
  240. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/assets/mcpy.icon/Assets/01-cube.svg +0 -0
  241. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/assets/mcpy.icon/Assets/02-prompt.svg +0 -0
  242. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/assets/mcpy.icon/icon.json +0 -0
  243. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/assets/mcpy.png +0 -0
  244. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/engine_setup.py +0 -0
  245. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/log_view.py +0 -0
  246. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/log_window.py +0 -0
  247. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/project_ui.py +0 -0
  248. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/run_session.py +0 -0
  249. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/session_controller.py +0 -0
  250. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/session_tools.py +0 -0
  251. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/session_views.py +0 -0
  252. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/ui/world_config.py +0 -0
  253. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/__init__.py +0 -0
  254. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/console.py +0 -0
  255. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/link_snapshot.py +0 -0
  256. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/locks.py +0 -0
  257. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/paths.py +0 -0
  258. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/pip_error_parser.py +0 -0
  259. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/print_guide.py +0 -0
  260. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/project_setup.py +0 -0
  261. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core/utils/utils.py +0 -0
  262. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core.egg-info/SOURCES.txt +0 -0
  263. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core.egg-info/dependency_links.txt +0 -0
  264. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core.egg-info/requires.txt +0 -0
  265. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_core.egg-info/top_level.txt +0 -0
  266. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_host/__init__.py +0 -0
  267. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/mcpywrap_host/store.py +0 -0
  268. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/pyproject.toml +0 -0
  269. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/setup.cfg +0 -0
  270. {mcpywrap_core-0.7.3 → mcpywrap_core-0.7.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcpywrap-core
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: Shared mcpy project dependency, build and runtime logic
5
5
  Author-email: boybook <boybook@easecation.net>
6
6
  License-Expression: MIT
@@ -0,0 +1 @@
1
+ __version__ = '0.7.4'
@@ -85,6 +85,43 @@ def inventory(root):
85
85
  return result
86
86
 
87
87
 
88
+ def _empty_tree(path):
89
+ """目录树内没有任何文件、链接或其他条目,只有(可嵌套的)空目录。"""
90
+ try:
91
+ with os.scandir(path) as entries:
92
+ for entry in entries:
93
+ if is_link(entry.path) or not entry.is_dir(follow_symlinks=False):
94
+ return False
95
+ if not _empty_tree(entry.path):
96
+ return False
97
+ except OSError:
98
+ return False
99
+ return True
100
+
101
+
102
+ def _runtime_directory(root, name, *recorded):
103
+ """引擎运行时在开发包里自建的空目录(如网易引擎补建的 entities/)。
104
+
105
+ 只放行所有记录里都不存在、且磁盘上整棵树为空的目录;任何文件(包括
106
+ inventory 忽略的 .pyc)、链接或已记录的目录都不在此列。
107
+ """
108
+ return (name.endswith('/') and all(name not in files for files in recorded)
109
+ and _empty_tree(Path(root)/name))
110
+
111
+
112
+ def unexpected_changes(root, recorded, current=None):
113
+ """返回运行目录相对部署记录的改动;引擎自建的空目录不算外部改写。"""
114
+ current = inventory(root) if current is None else current
115
+ return [name for name in sorted(current.keys() | recorded.keys())
116
+ if current.get(name) != recorded.get(name)
117
+ and not (name not in recorded and _runtime_directory(root, name, recorded))]
118
+
119
+
120
+ def _modified(target, changes, hint):
121
+ return EngineError('运行包已被外部程序改写,已保留现场。', 'deployment_modified', hint,
122
+ path=str(target), changes=changes[:20])
123
+
124
+
88
125
  def _dependency_declarations(project):
89
126
  config = read_project(project)
90
127
  settings = config.get('tool', {}).get('mcpywrap', {})
@@ -223,9 +260,9 @@ class Deployment:
223
260
  def preflight(self):
224
261
  self.recover()
225
262
  previous = storage.read(self.record_path)
226
- if previous and inventory(self.target) != previous['files']:
227
- raise EngineError('运行包已被外部程序改写,已保留现场。', 'deployment_modified',
228
- '退出相关游戏并检查运行目录。', path=str(self.target))
263
+ changes = unexpected_changes(self.target, previous['files']) if previous else []
264
+ if changes:
265
+ raise _modified(self.target, changes, '退出相关游戏并检查运行目录。')
229
266
 
230
267
  def prepare(self, session=None, allowed_sessions=()):
231
268
  self.preflight()
@@ -239,9 +276,9 @@ class Deployment:
239
276
  fingerprint, structure = source_fingerprint(self.builder)
240
277
  previous = storage.read(self.record_path)
241
278
  using = readers(self.project, self.target, exclude=(session,) if session else ())
242
- if previous and inventory(self.target) != previous['files']:
243
- raise EngineError('运行包已被外部程序改写,已保留现场。', 'deployment_modified',
244
- '退出相关游戏并检查运行目录;不要清理其他项目的包。', path=str(self.target))
279
+ changes = unexpected_changes(self.target, previous['files']) if previous else []
280
+ if changes:
281
+ raise _modified(self.target, changes, '退出相关游戏并检查运行目录;不要清理其他项目的包。')
245
282
  if previous and previous['fingerprint'] == fingerprint:
246
283
  self.record = previous
247
284
  return self.builder.target_addon
@@ -429,6 +466,8 @@ class Deployment:
429
466
  previous = self.journal['previous']['files']
430
467
  applied = set(self.journal['applied'])
431
468
  for name in current.keys() | previous.keys() | expected.keys():
469
+ if _runtime_directory(self.target, name, previous, expected):
470
+ continue # 游戏运行期间自建的空目录不是发布后的外部改动,回滚时保留。
432
471
  permitted = ((previous.get(name), expected.get(name)) if name in applied or name.endswith('/')
433
472
  else (previous.get(name),))
434
473
  if current.get(name) not in permitted:
@@ -459,12 +498,13 @@ class Deployment:
459
498
  else:
460
499
  dest.unlink(missing_ok=True)
461
500
  expected_dirs = {name for name in self.journal['previous']['files'] if name.endswith('/')}
462
- for name in sorted(inventory(self.target), reverse=True):
463
- if name.endswith('/') and name not in expected_dirs:
464
- try:
465
- (self.target/name).rmdir()
466
- except OSError:
467
- pass
501
+ # 只撤销本次发布新建的目录;未登记的空目录(引擎自建或外部创建)保留原样。
502
+ published_dirs = {name for name in self.journal['published_files'] if name.endswith('/')}
503
+ for name in sorted(published_dirs - expected_dirs, reverse=True):
504
+ try:
505
+ (self.target/name).rmdir()
506
+ except OSError:
507
+ pass
468
508
  for name in expected_dirs:
469
509
  (self.target/name).mkdir(parents=True, exist_ok=True)
470
510
  elif backup.exists():
@@ -17,7 +17,7 @@
17
17
  | managed_output | build/dev 指向运行目录;改用独立构建目录,游戏更新走 runtime 或重新 run |
18
18
  | restart_required | 依赖、身份、布局等变化不能当前热更;停止相关读者后重开原世界,不靠 --new 绕过 |
19
19
  | source_changed | 装配期间输入变了;停止持续写入,稳定后重新发起,不无限重试 |
20
- | deployment_modified | 运行产物被外部改写;保留现场,核对改动和所属会话,不清空全局包 |
20
+ | deployment_modified | 运行产物相对部署记录被改写;`details.changes` 列出首批改动路径。保留现场,核对改动和所属会话,不清空全局包。引擎运行时补建的空目录(如纯脚本行为包缺少的 `entities/`)自 0.7.4 起不再触发;旧版本只差这类空目录时,升级后重新 run 即可,不必手工删除 |
21
21
  | pack_conflict / ownership_changed / link_modified | 支持 deployment 命令的 CLI 先运行 `deployment inspect --json`;跨项目用 `deployment migrate --from <旧目录> --session <失败会话> --json` 预览,组用 --group;确认具体变更后才执行返回的 apply_argv。未知内容不手工删除 |
22
22
  | plan_stale / deployment_relocated | 前者重新预览现场;后者使用提示的新项目入口,不改 UUID 抢回旧部署 |
23
23
  | occupancy_unknown | 无法核验进程与部署的关系;保留现场,不自动杀游戏或清锁 |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcpywrap-core
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: Shared mcpy project dependency, build and runtime logic
5
5
  Author-email: boybook <boybook@easecation.net>
6
6
  License-Expression: MIT
@@ -1 +0,0 @@
1
- __version__ = '0.7.3'
File without changes
File without changes
File without changes