nextmv 1.2.3.dev1__tar.gz → 1.2.3.dev3__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 (350) hide show
  1. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/PKG-INFO +1 -1
  2. nextmv-1.2.3.dev3/nextmv/__about__.py +1 -0
  3. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/local.py +14 -120
  4. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/local/executor.py +5 -1
  5. nextmv-1.2.3.dev1/nextmv/__about__.py +0 -1
  6. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/.gitignore +0 -0
  7. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/.python-version +0 -0
  8. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/CONTRIBUTING.md +0 -0
  9. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/LICENSE +0 -0
  10. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/README.md +0 -0
  11. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/__entrypoint__.py +0 -0
  12. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/__init__.py +0 -0
  13. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/_serialization.py +0 -0
  14. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/base_model.py +0 -0
  15. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/__init__.py +0 -0
  16. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/__init__.py +0 -0
  17. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/acceptance/__init__.py +0 -0
  18. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/acceptance/create.py +0 -0
  19. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/acceptance/delete.py +0 -0
  20. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/acceptance/get.py +0 -0
  21. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/acceptance/list.py +0 -0
  22. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/acceptance/update.py +0 -0
  23. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/account/__init__.py +0 -0
  24. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/account/create.py +0 -0
  25. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/account/delete.py +0 -0
  26. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/account/get.py +0 -0
  27. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/account/update.py +0 -0
  28. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/app/__init__.py +0 -0
  29. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/app/create.py +0 -0
  30. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/app/delete.py +0 -0
  31. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/app/exists.py +0 -0
  32. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/app/get.py +0 -0
  33. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/app/list.py +0 -0
  34. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/app/push.py +0 -0
  35. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/app/update.py +0 -0
  36. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/batch/__init__.py +0 -0
  37. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/batch/create.py +0 -0
  38. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/batch/delete.py +0 -0
  39. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/batch/get.py +0 -0
  40. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/batch/list.py +0 -0
  41. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/batch/metadata.py +0 -0
  42. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/batch/update.py +0 -0
  43. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/data/__init__.py +0 -0
  44. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/data/upload.py +0 -0
  45. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/ensemble/__init__.py +0 -0
  46. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/ensemble/create.py +0 -0
  47. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/ensemble/delete.py +0 -0
  48. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/ensemble/get.py +0 -0
  49. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/ensemble/list.py +0 -0
  50. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/ensemble/update.py +0 -0
  51. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/input_set/__init__.py +0 -0
  52. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/input_set/create.py +0 -0
  53. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/input_set/delete.py +0 -0
  54. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/input_set/get.py +0 -0
  55. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/input_set/list.py +0 -0
  56. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/input_set/update.py +0 -0
  57. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/instance/__init__.py +0 -0
  58. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/instance/create.py +0 -0
  59. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/instance/delete.py +0 -0
  60. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/instance/exists.py +0 -0
  61. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/instance/get.py +0 -0
  62. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/instance/list.py +0 -0
  63. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/instance/update.py +0 -0
  64. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/managed_input/__init__.py +0 -0
  65. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/managed_input/create.py +0 -0
  66. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/managed_input/delete.py +0 -0
  67. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/managed_input/get.py +0 -0
  68. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/managed_input/list.py +0 -0
  69. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/managed_input/update.py +0 -0
  70. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/__init__.py +0 -0
  71. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/app/__init__.py +0 -0
  72. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/app/create.py +0 -0
  73. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/app/get.py +0 -0
  74. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/app/list.py +0 -0
  75. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/app/update.py +0 -0
  76. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/subscription/__init__.py +0 -0
  77. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/subscription/create.py +0 -0
  78. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/subscription/delete.py +0 -0
  79. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/subscription/get.py +0 -0
  80. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/subscription/list.py +0 -0
  81. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/version/__init__.py +0 -0
  82. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/version/create.py +0 -0
  83. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/version/get.py +0 -0
  84. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/version/list.py +0 -0
  85. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/marketplace/version/update.py +0 -0
  86. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/__init__.py +0 -0
  87. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/cancel.py +0 -0
  88. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/create.py +0 -0
  89. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/get.py +0 -0
  90. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/input.py +0 -0
  91. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/list.py +0 -0
  92. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/logs.py +0 -0
  93. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/metadata.py +0 -0
  94. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/run/track.py +0 -0
  95. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/scenario/__init__.py +0 -0
  96. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/scenario/create.py +0 -0
  97. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/scenario/delete.py +0 -0
  98. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/scenario/get.py +0 -0
  99. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/scenario/list.py +0 -0
  100. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/scenario/metadata.py +0 -0
  101. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/scenario/update.py +0 -0
  102. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/secrets/__init__.py +0 -0
  103. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/secrets/create.py +0 -0
  104. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/secrets/delete.py +0 -0
  105. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/secrets/get.py +0 -0
  106. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/secrets/list.py +0 -0
  107. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/secrets/update.py +0 -0
  108. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/__init__.py +0 -0
  109. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/create.py +0 -0
  110. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/delete.py +0 -0
  111. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/get.py +0 -0
  112. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/list.py +0 -0
  113. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/metadata.py +0 -0
  114. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/start.py +0 -0
  115. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/stop.py +0 -0
  116. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/shadow/update.py +0 -0
  117. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/__init__.py +0 -0
  118. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/create.py +0 -0
  119. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/delete.py +0 -0
  120. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/disable.py +0 -0
  121. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/domain/__init__.py +0 -0
  122. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/domain/delete.py +0 -0
  123. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/enable.py +0 -0
  124. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/get.py +0 -0
  125. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/sso/update.py +0 -0
  126. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/__init__.py +0 -0
  127. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/create.py +0 -0
  128. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/delete.py +0 -0
  129. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/get.py +0 -0
  130. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/list.py +0 -0
  131. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/metadata.py +0 -0
  132. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/start.py +0 -0
  133. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/stop.py +0 -0
  134. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/switchback/update.py +0 -0
  135. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/upload/__init__.py +0 -0
  136. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/upload/create.py +0 -0
  137. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/version/__init__.py +0 -0
  138. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/version/create.py +0 -0
  139. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/version/delete.py +0 -0
  140. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/version/exists.py +0 -0
  141. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/version/get.py +0 -0
  142. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/version/list.py +0 -0
  143. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/cloud/version/update.py +0 -0
  144. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/community/__init__.py +0 -0
  145. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/community/clone.py +0 -0
  146. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/community/list.py +0 -0
  147. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/configuration/__init__.py +0 -0
  148. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/configuration/config.py +0 -0
  149. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/configuration/create.py +0 -0
  150. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/configuration/delete.py +0 -0
  151. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/configuration/list.py +0 -0
  152. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/init.py +0 -0
  153. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/__init__.py +0 -0
  154. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/app/__init__.py +0 -0
  155. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/app/delete.py +0 -0
  156. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/app/get.py +0 -0
  157. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/app/list.py +0 -0
  158. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/app/register.py +0 -0
  159. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/app/registered.py +0 -0
  160. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/app/sync.py +0 -0
  161. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/app/update.py +0 -0
  162. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/run/__init__.py +0 -0
  163. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/run/create.py +0 -0
  164. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/run/get.py +0 -0
  165. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/run/input.py +0 -0
  166. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/run/list.py +0 -0
  167. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/run/logs.py +0 -0
  168. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/run/metadata.py +0 -0
  169. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/local/run/visuals.py +0 -0
  170. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/main.py +0 -0
  171. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/manifest/__init__.py +0 -0
  172. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/manifest/init.py +0 -0
  173. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/manifest/validate.py +0 -0
  174. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/__init__.py +0 -0
  175. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/serve.py +0 -0
  176. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/server.py +0 -0
  177. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/__init__.py +0 -0
  178. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/_helpers.py +0 -0
  179. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/acceptance.py +0 -0
  180. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/account.py +0 -0
  181. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/app.py +0 -0
  182. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/batch.py +0 -0
  183. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/community.py +0 -0
  184. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/ensemble.py +0 -0
  185. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/input_set.py +0 -0
  186. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/instance.py +0 -0
  187. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/managed_input.py +0 -0
  188. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/profile.py +0 -0
  189. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/run.py +0 -0
  190. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/scenario.py +0 -0
  191. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/secrets.py +0 -0
  192. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/shadow.py +0 -0
  193. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/sso.py +0 -0
  194. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/switchback.py +0 -0
  195. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/mcp/tools/version.py +0 -0
  196. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/message.py +0 -0
  197. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/options.py +0 -0
  198. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cli/version.py +0 -0
  199. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/__init__.py +0 -0
  200. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/acceptance_test.py +0 -0
  201. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/account.py +0 -0
  202. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/__init__.py +0 -0
  203. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_acceptance.py +0 -0
  204. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_batch_scenario.py +0 -0
  205. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_ensemble.py +0 -0
  206. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_input_set.py +0 -0
  207. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_instance.py +0 -0
  208. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_managed_input.py +0 -0
  209. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_run.py +0 -0
  210. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_secrets.py +0 -0
  211. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_shadow.py +0 -0
  212. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_switchback.py +0 -0
  213. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_utils.py +0 -0
  214. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/application/_version.py +0 -0
  215. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/assets.py +0 -0
  216. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/batch_experiment.py +0 -0
  217. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/client.py +0 -0
  218. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/community.py +0 -0
  219. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/ensemble.py +0 -0
  220. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/input_set.py +0 -0
  221. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/instance.py +0 -0
  222. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/integration.py +0 -0
  223. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/marketplace.py +0 -0
  224. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/package.py +0 -0
  225. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/scenario.py +0 -0
  226. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/secrets.py +0 -0
  227. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/shadow.py +0 -0
  228. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/sso.py +0 -0
  229. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/switchback.py +0 -0
  230. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/url.py +0 -0
  231. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/cloud/version.py +0 -0
  232. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/content_format.py +0 -0
  233. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/default_app/.gitignore +0 -0
  234. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/default_app/README.md +0 -0
  235. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/default_app/app.yaml +0 -0
  236. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/default_app/input.json +0 -0
  237. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/default_app/main.py +0 -0
  238. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/default_app/requirements.txt +0 -0
  239. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/default_app/src/__init__.py +0 -0
  240. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/default_app/src/visuals.py +0 -0
  241. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/deprecated.py +0 -0
  242. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/input.py +0 -0
  243. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/local/__init__.py +0 -0
  244. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/local/application.py +0 -0
  245. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/local/geojson_handler.py +0 -0
  246. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/local/local.py +0 -0
  247. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/local/plotly_handler.py +0 -0
  248. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/local/registry.py +0 -0
  249. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/local/runner.py +0 -0
  250. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/logger.py +0 -0
  251. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/manifest.py +0 -0
  252. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/model.py +0 -0
  253. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/options.py +0 -0
  254. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/output.py +0 -0
  255. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/polling.py +0 -0
  256. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/run.py +0 -0
  257. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/safe.py +0 -0
  258. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/status.py +0 -0
  259. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/binary_json_app.yaml +0 -0
  260. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/binary_multi-file_app.yaml +0 -0
  261. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_json_app.yaml +0 -0
  262. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_json_template/.gitignore +0 -0
  263. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_json_template/README.md +0 -0
  264. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_json_template/app.yaml +0 -0
  265. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_json_template/go.mod +0 -0
  266. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_json_template/input.json +0 -0
  267. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_json_template/main.go +0 -0
  268. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_multi-file_app.yaml +0 -0
  269. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_multi-file_template/.gitignore +0 -0
  270. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_multi-file_template/README.md +0 -0
  271. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_multi-file_template/app.yaml +0 -0
  272. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_multi-file_template/go.mod +0 -0
  273. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_multi-file_template/inputs/input.json +0 -0
  274. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/go_multi-file_template/main.go +0 -0
  275. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_json_app.yaml +0 -0
  276. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_json_template/.gitignore +0 -0
  277. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_json_template/Main.java +0 -0
  278. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_json_template/README.md +0 -0
  279. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_json_template/app.yaml +0 -0
  280. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_json_template/input.json +0 -0
  281. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_json_template/pom.xml +0 -0
  282. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_multi-file_app.yaml +0 -0
  283. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_multi-file_template/.gitignore +0 -0
  284. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_multi-file_template/Main.java +0 -0
  285. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_multi-file_template/README.md +0 -0
  286. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_multi-file_template/app.yaml +0 -0
  287. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_multi-file_template/inputs/input.json +0 -0
  288. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/java_multi-file_template/pom.xml +0 -0
  289. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_json_app.yaml +0 -0
  290. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_json_template/.gitignore +0 -0
  291. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_json_template/README.md +0 -0
  292. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_json_template/app.yaml +0 -0
  293. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_json_template/input.json +0 -0
  294. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_json_template/main.py +0 -0
  295. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_json_template/requirements.txt +0 -0
  296. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_multi-file_app.yaml +0 -0
  297. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_multi-file_template/.gitignore +0 -0
  298. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_multi-file_template/README.md +0 -0
  299. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_multi-file_template/app.yaml +0 -0
  300. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_multi-file_template/inputs/input.json +0 -0
  301. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_multi-file_template/main.py +0 -0
  302. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/nextmv/templates/python_multi-file_template/requirements.txt +0 -0
  303. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/pyproject.toml +0 -0
  304. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/__init__.py +0 -0
  305. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cli/__init__.py +0 -0
  306. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cli/test_configuration.py +0 -0
  307. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cli/test_main.py +0 -0
  308. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cli/test_mcp.py +0 -0
  309. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cli/test_version.py +0 -0
  310. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cloud/__init__.py +0 -0
  311. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cloud/app.yaml +0 -0
  312. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cloud/test_client.py +0 -0
  313. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cloud/test_instance.py +0 -0
  314. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cloud/test_package.py +0 -0
  315. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/cloud/test_scenario.py +0 -0
  316. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/integration/__init__.py +0 -0
  317. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/integration/cloud/__init__.py +0 -0
  318. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/integration/cloud/test_integration_cloud.py +0 -0
  319. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/integration/cloud/test_integration_marketplace.py +0 -0
  320. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/local/__init__.py +0 -0
  321. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/local/test_application.py +0 -0
  322. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/local/test_executor.py +0 -0
  323. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/local/test_registry.py +0 -0
  324. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/local/test_runner.py +0 -0
  325. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/scripts/__init__.py +0 -0
  326. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/scripts/options1.py +0 -0
  327. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/scripts/options2.py +0 -0
  328. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/scripts/options3.py +0 -0
  329. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/scripts/options4.py +0 -0
  330. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/scripts/options5.py +0 -0
  331. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/scripts/options6.py +0 -0
  332. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/scripts/options7.py +0 -0
  333. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_base_model.py +0 -0
  334. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_entrypoint/__init__.py +0 -0
  335. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_entrypoint/test_entrypoint.py +0 -0
  336. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_input.py +0 -0
  337. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_inputs/test_data.csv +0 -0
  338. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_inputs/test_data.json +0 -0
  339. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_inputs/test_data.txt +0 -0
  340. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_logger.py +0 -0
  341. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_manifest.py +0 -0
  342. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_model.py +0 -0
  343. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_options.py +0 -0
  344. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_output.py +0 -0
  345. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_polling.py +0 -0
  346. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_run.py +0 -0
  347. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_safe.py +0 -0
  348. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_serialization.py +0 -0
  349. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/tests/test_version.py +0 -0
  350. {nextmv-1.2.3.dev1 → nextmv-1.2.3.dev3}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nextmv
3
- Version: 1.2.3.dev1
3
+ Version: 1.2.3.dev3
4
4
  Summary: The all-purpose Python SDK for Nextmv
5
5
  Project-URL: Homepage, https://www.nextmv.io
6
6
  Project-URL: Documentation, https://nextmv-py.docs.nextmv.io/en/latest/nextmv/
@@ -0,0 +1 @@
1
+ __version__ = "v1.2.3.dev3"
@@ -1,9 +1,6 @@
1
1
  """MCP tools for local application management."""
2
2
 
3
- import json
4
3
  import os
5
- import subprocess
6
- import tempfile
7
4
  from typing import Any
8
5
 
9
6
  from mcp.server.fastmcp import FastMCP
@@ -20,103 +17,6 @@ def _local_run_dir(app_dir: str, run_id: str) -> str:
20
17
  return os.path.join(app_dir, NEXTMV_DIR, RUNS_KEY, run_id)
21
18
 
22
19
 
23
- def _run_via_cli(
24
- app_dir: str,
25
- input_data: dict[str, Any],
26
- run_options: dict[str, str] | None = None,
27
- wait: bool = False,
28
- ) -> str:
29
- """Execute a local run via ``uv run nextmv local run create``.
30
-
31
- This invokes the Nextmv CLI through ``uv``, which ensures that
32
- the application's ``requirements.txt`` dependencies are installed
33
- and available at runtime (unlike calling the SDK directly with
34
- ``sys.executable``).
35
-
36
- Args:
37
- app_dir: Absolute path to the local application directory.
38
- input_data: The input data (JSON object) for the run.
39
- run_options: Optional solver options passed as ``--options key=value``.
40
- wait: If True, blocks until the run completes (``--wait``).
41
-
42
- Returns:
43
- The run ID (parsed from the CLI's JSON stdout output).
44
-
45
- Raises:
46
- RuntimeError: If the CLI process exits with a non-zero return code.
47
- """
48
-
49
- # Write input to a temp file so the CLI can read it via --input.
50
- fd, input_path = tempfile.mkstemp(suffix=".json", prefix="mcp_local_input_")
51
- try:
52
- with os.fdopen(fd, "w") as fh:
53
- json.dump(input_data, fh)
54
-
55
- cmd: list[str] = [
56
- "uv", "run", "nextmv",
57
- "local", "run", "create",
58
- "--app-src", os.path.abspath(app_dir),
59
- "--input", input_path,
60
- ]
61
-
62
- if run_options:
63
- for key, value in run_options.items():
64
- cmd.extend(["--options", f"{key}={value}"])
65
-
66
- if wait:
67
- cmd.append("--wait")
68
-
69
- result = subprocess.run(
70
- cmd,
71
- capture_output=True,
72
- text=True,
73
- check=False,
74
- env=os.environ,
75
- )
76
-
77
- if result.returncode != 0:
78
- stderr = result.stderr.strip()
79
- raise RuntimeError(
80
- f"nextmv local run create failed (exit {result.returncode}): {stderr}"
81
- )
82
-
83
- # The CLI prints JSON with a "run_id" key to stdout when not
84
- # waiting, or the full result when waiting.
85
- stdout = result.stdout.strip()
86
- try:
87
- parsed = json.loads(stdout)
88
- if isinstance(parsed, dict) and "run_id" in parsed:
89
- return parsed["run_id"]
90
- except json.JSONDecodeError:
91
- pass
92
-
93
- # When --wait is used the CLI may print the run_id via a
94
- # success message to stderr. Fall back to extracting the
95
- # run_id from the run directory listing.
96
- from nextmv.local.local import NEXTMV_DIR, RUNS_KEY
97
-
98
- runs_dir = os.path.join(
99
- os.path.abspath(app_dir), NEXTMV_DIR, RUNS_KEY,
100
- )
101
- if os.path.isdir(runs_dir):
102
- entries = sorted(
103
- os.listdir(runs_dir),
104
- key=lambda d: os.path.getmtime(
105
- os.path.join(runs_dir, d)
106
- ),
107
- )
108
- if entries:
109
- return entries[-1]
110
-
111
- raise RuntimeError(
112
- f"Could not determine run_id from CLI output: {stdout}"
113
- )
114
- finally:
115
- # Clean up the temp input file.
116
- if os.path.exists(input_path):
117
- os.unlink(input_path)
118
-
119
-
120
20
  def _local_run_input_impl(
121
21
  app_dir: str,
122
22
  run_id: str,
@@ -160,11 +60,10 @@ def local_run(
160
60
  ) -> str:
161
61
  """Run a local Nextmv application and wait for the result.
162
62
 
163
- Executes the application via ``uv run nextmv local run create
164
- --wait``, which handles dependency installation (e.g.
165
- requirements.txt) automatically. The result is stored in the
166
- local run directory at ``{app_dir}/.nextmv/runs/{run_id}/``.
167
- Use file-reading tools to inspect the result file.
63
+ Executes the application using the Nextmv SDK and polls until the
64
+ run completes. The result is stored in the local run directory at
65
+ ``{app_dir}/.nextmv/runs/{run_id}/``. Use file-reading tools to
66
+ inspect the result file.
168
67
 
169
68
  Args:
170
69
  app_dir: Absolute path to the local application directory
@@ -174,11 +73,11 @@ def local_run(
174
73
  e.g. ``{"solve.duration": "10s"}``.
175
74
  """
176
75
 
177
- run_id = _run_via_cli(
178
- app_dir=app_dir,
179
- input_data=input,
180
- run_options=run_options,
181
- wait=True,
76
+ app = _helpers._get_local_app(app_dir=app_dir)
77
+ run_id = app.new_run(input=input, options=run_options)
78
+ app.run_result_with_polling(
79
+ run_id=run_id,
80
+ polling_options=default_polling_options(),
182
81
  )
183
82
  run_dir = _local_run_dir(app_dir, run_id)
184
83
  result_path = os.path.join(run_dir, f"{run_id}.json")
@@ -195,10 +94,9 @@ def local_run_submit(
195
94
  ) -> str:
196
95
  """Submit a local run without waiting for completion.
197
96
 
198
- Executes the application via ``uv run nextmv local run create``
199
- (non-blocking). Returns the run ID immediately. Use
200
- ``local_run_poll_result`` or ``local_run_status`` to check on
201
- the run later.
97
+ Executes the application using the Nextmv SDK and returns the run
98
+ ID immediately. Use ``local_run_poll_result`` or
99
+ ``local_run_status`` to check on the run later.
202
100
 
203
101
  Args:
204
102
  app_dir: Absolute path to the local application directory
@@ -208,12 +106,8 @@ def local_run_submit(
208
106
  e.g. ``{"solve.duration": "10s"}``.
209
107
  """
210
108
 
211
- return _run_via_cli(
212
- app_dir=app_dir,
213
- input_data=input,
214
- run_options=run_options,
215
- wait=False,
216
- )
109
+ app = _helpers._get_local_app(app_dir=app_dir)
110
+ return app.new_run(input=input, options=run_options)
217
111
 
218
112
 
219
113
  def local_run_status(
@@ -50,7 +50,7 @@ from nextmv.input import INPUTS_KEY, InputFormat, load
50
50
  from nextmv.local.geojson_handler import handle_geojson_visual
51
51
  from nextmv.local.local import DEFAULT_OUTPUT_JSON_FILE, LOGS_FILE, LOGS_KEY, OUTPUT_KEY, calculate_files_size
52
52
  from nextmv.local.plotly_handler import handle_plotly_visual
53
- from nextmv.manifest import Manifest, ManifestType, find_files
53
+ from nextmv.manifest import MANIFEST_FILE_NAME, Manifest, ManifestType, find_files
54
54
  from nextmv.output import (
55
55
  ASSETS_KEY,
56
56
  METRICS_KEY,
@@ -948,6 +948,10 @@ def _copy_new_or_modified_files( # noqa: C901
948
948
  if rel_file.endswith(".pyc"):
949
949
  continue
950
950
 
951
+ # Skip the manifest file itself
952
+ if rel_file == MANIFEST_FILE_NAME:
953
+ continue
954
+
951
955
  file_path = os.path.join(root, rel_file)
952
956
  # Normalize to forward slashes for cross-platform comparison
953
957
  runtime_files_rel.append(os.path.relpath(file_path, runtime_dir).replace("\\", "/"))
@@ -1 +0,0 @@
1
- __version__ = "v1.2.3.dev1"
File without changes
File without changes
File without changes
File without changes
File without changes