smbcloud-cli 0.5.4__tar.gz → 0.6.0__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 (186) hide show
  1. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/Cargo.lock +44 -68
  2. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/Cargo.toml +13 -13
  3. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/PKG-INFO +1 -1
  4. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/Cargo.toml +1 -1
  5. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/mod.rs +1 -1
  6. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/process_deploy.rs +6 -1
  7. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/process_deploy_nextjs_ssr.rs +19 -10
  8. smbcloud_cli-0.5.4/crates/cli/src/cloud-deploy/process_deploy_vite_spa.rs → smbcloud_cli-0.6.0/crates/cli/src/cloud-deploy/process_deploy_static_site.rs +46 -11
  9. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/mcp.rs +5 -7
  10. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/mcp_xcrs.rs +4 -5
  11. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/Cargo.toml +1 -1
  12. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-deploy/Cargo.toml +2 -1
  13. smbcloud_cli-0.6.0/crates/smbcloud-deploy/src/build.rs +328 -0
  14. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-deploy/src/lib.rs +1 -1
  15. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-email-sdk/Cargo.toml +1 -1
  16. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-mail/Cargo.toml +1 -1
  17. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/Cargo.toml +1 -1
  18. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/app_auth.rs +46 -0
  19. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/project.rs +2 -2
  20. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-network/Cargo.toml +1 -1
  21. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking/Cargo.toml +1 -1
  22. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/Cargo.toml +1 -1
  23. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-utils/Cargo.toml +1 -1
  24. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/xcrs/Cargo.toml +1 -1
  25. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/xcrs/src/mcp.rs +73 -6
  26. smbcloud_cli-0.5.4/crates/smbcloud-deploy/src/build.rs +0 -78
  27. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/README.md +0 -0
  28. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/README.md +0 -0
  29. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/cli.rs +0 -0
  30. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/forgot/mod.rs +0 -0
  31. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/lib.rs +0 -0
  32. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/login/mod.rs +0 -0
  33. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/login/process.rs +0 -0
  34. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/logout/mod.rs +0 -0
  35. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/me/mod.rs +0 -0
  36. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/mod.rs +0 -0
  37. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/signup/mod.rs +0 -0
  38. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/account/signup/process.rs +0 -0
  39. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ci.rs +0 -0
  40. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cli/mod.rs +0 -0
  41. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-auth/auth_app.rs +0 -0
  42. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-auth/cli.rs +0 -0
  43. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-auth/mod.rs +0 -0
  44. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-auth/process.rs +0 -0
  45. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-auth/render.rs +0 -0
  46. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-auth/request.rs +0 -0
  47. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-auth/url_builder.rs +0 -0
  48. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/config.rs +0 -0
  49. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/git.rs +0 -0
  50. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/process_deploy_rails.rs +0 -0
  51. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/process_deploy_rust.rs +0 -0
  52. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/process_deploy_swift.rs +0 -0
  53. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/process_migrate.rs +0 -0
  54. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/remote_messages.rs +0 -0
  55. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/setup.rs +0 -0
  56. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/setup_create_new_project.rs +0 -0
  57. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/setup_project.rs +0 -0
  58. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-deploy/setup_select_project.rs +0 -0
  59. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-mail/cli.rs +0 -0
  60. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-mail/current_project.rs +0 -0
  61. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-mail/mod.rs +0 -0
  62. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-mail/process.rs +0 -0
  63. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-mail/render.rs +0 -0
  64. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/cloud-mail/send.rs +0 -0
  65. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/controlkit.rs +0 -0
  66. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/interface.rs +0 -0
  67. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/lib.rs +0 -0
  68. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/main.rs +0 -0
  69. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/cli.rs +0 -0
  70. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/crud_create.rs +0 -0
  71. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/crud_delete.rs +0 -0
  72. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/crud_read.rs +0 -0
  73. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/crud_update.rs +0 -0
  74. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/deploy_target.rs +0 -0
  75. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/deployment.rs +0 -0
  76. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/mod.rs +0 -0
  77. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/project/process.rs +0 -0
  78. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/session_config.rs +0 -0
  79. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/tenant/cli.rs +0 -0
  80. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/tenant/mod.rs +0 -0
  81. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/tenant/process.rs +0 -0
  82. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/tenant/render.rs +0 -0
  83. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/tenant/request.rs +0 -0
  84. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/tenant/tenant_client.rs +0 -0
  85. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/tenant/url_builder.rs +0 -0
  86. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/token/clear_smb_token.rs +0 -0
  87. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/token/get_smb_token.rs +0 -0
  88. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/token/is_logged_in.rs +0 -0
  89. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/token/mod.rs +0 -0
  90. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/token/smb_token_file_path.rs +0 -0
  91. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/confirm_dialog.rs +0 -0
  92. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/deployment_detail_view.rs +0 -0
  93. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/deployment_table.rs +0 -0
  94. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/me_view.rs +0 -0
  95. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/mod.rs +0 -0
  96. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/plain.rs +0 -0
  97. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/project_detail_view.rs +0 -0
  98. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/project_table.rs +0 -0
  99. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/prompt.rs +0 -0
  100. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/reporter.rs +0 -0
  101. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/cli/src/ui/theme.rs +0 -0
  102. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/.gitignore +0 -0
  103. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/README.md +0 -0
  104. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/check_email.rs +0 -0
  105. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/lib.rs +0 -0
  106. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/login.rs +0 -0
  107. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/logout.rs +0 -0
  108. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/me.rs +0 -0
  109. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/oauth/get_account_status.rs +0 -0
  110. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/oauth/get_consent_url.rs +0 -0
  111. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/oauth/get_profile.rs +0 -0
  112. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/oauth/get_token.rs +0 -0
  113. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/oauth/mod.rs +0 -0
  114. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/oauth/provider.rs +0 -0
  115. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/remove.rs +0 -0
  116. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/resend_email_verification.rs +0 -0
  117. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/resend_reset_password_instruction.rs +0 -0
  118. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/reset_password.rs +0 -0
  119. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-auth/src/signup.rs +0 -0
  120. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-deploy/README.md +0 -0
  121. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-deploy/src/error.rs +0 -0
  122. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-deploy/src/known_hosts.rs +0 -0
  123. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-deploy/src/report.rs +0 -0
  124. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-deploy/src/runner.rs +0 -0
  125. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-deploy/src/transport.rs +0 -0
  126. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-email-sdk/README.md +0 -0
  127. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-email-sdk/src/client.rs +0 -0
  128. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-email-sdk/src/client_credentials.rs +0 -0
  129. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-email-sdk/src/error.rs +0 -0
  130. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-email-sdk/src/message.rs +0 -0
  131. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-email-sdk/src/smbcloud_email_sdk.rs +0 -0
  132. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-mail/README.md +0 -0
  133. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-mail/src/mail_app.rs +0 -0
  134. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-mail/src/mail_inbox.rs +0 -0
  135. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-mail/src/mail_message.rs +0 -0
  136. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-mail/src/request.rs +0 -0
  137. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-mail/src/smbcloud_mail.rs +0 -0
  138. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-mail/src/url_builder.rs +0 -0
  139. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/README.md +0 -0
  140. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/account.rs +0 -0
  141. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/deploy_config.rs +0 -0
  142. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/deploy_config_update.rs +0 -0
  143. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/error_codes.rs +0 -0
  144. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/forgot.rs +0 -0
  145. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/frontend_app.rs +0 -0
  146. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/lib.rs +0 -0
  147. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/login.rs +0 -0
  148. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/mail.rs +0 -0
  149. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/oauth.rs +0 -0
  150. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/repository.rs +0 -0
  151. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/reset_password_response.rs +0 -0
  152. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/runner.rs +0 -0
  153. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/signup.rs +0 -0
  154. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-model/src/tenant.rs +0 -0
  155. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-network/README.md +0 -0
  156. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-network/src/environment.rs +0 -0
  157. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-network/src/lib.rs +0 -0
  158. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-network/src/network.rs +0 -0
  159. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking/README.md +0 -0
  160. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking/src/constants.rs +0 -0
  161. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking/src/lib.rs +0 -0
  162. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking/src/smb_client.rs +0 -0
  163. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/README.md +0 -0
  164. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_deploy_repo_create.rs +0 -0
  165. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_frontend_app_create.rs +0 -0
  166. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_frontend_app_deploy_config.rs +0 -0
  167. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_frontend_app_read.rs +0 -0
  168. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_frontend_app_update_deploy_config.rs +0 -0
  169. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_project_create.rs +0 -0
  170. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_project_delete.rs +0 -0
  171. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_project_deployment_create.rs +0 -0
  172. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_project_deployment_read.rs +0 -0
  173. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_project_deployment_update.rs +0 -0
  174. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_project_read.rs +0 -0
  175. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/crud_project_update.rs +0 -0
  176. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/lib.rs +0 -0
  177. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/request.rs +0 -0
  178. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-networking-project/src/url_builder.rs +0 -0
  179. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-utils/README.md +0 -0
  180. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-utils/src/config.rs +0 -0
  181. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-utils/src/lib.rs +0 -0
  182. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/smbcloud-utils/src/write_config.rs +0 -0
  183. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/xcrs/README.md +0 -0
  184. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/xcrs/src/main.rs +0 -0
  185. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/crates/xcrs/src/xcrs.rs +0 -0
  186. {smbcloud_cli-0.5.4 → smbcloud_cli-0.6.0}/pyproject.toml +0 -0
@@ -144,6 +144,12 @@ version = "0.22.1"
144
144
  source = "registry+https://github.com/rust-lang/crates.io-index"
145
145
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
146
146
 
147
+ [[package]]
148
+ name = "base64"
149
+ version = "0.23.1"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5"
152
+
147
153
  [[package]]
148
154
  name = "bitflags"
149
155
  version = "1.3.2"
@@ -480,37 +486,14 @@ dependencies = [
480
486
  "cmov",
481
487
  ]
482
488
 
483
- [[package]]
484
- name = "darling"
485
- version = "0.23.0"
486
- source = "registry+https://github.com/rust-lang/crates.io-index"
487
- checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d"
488
- dependencies = [
489
- "darling_core 0.23.0",
490
- "darling_macro 0.23.0",
491
- ]
492
-
493
489
  [[package]]
494
490
  name = "darling"
495
491
  version = "0.24.1"
496
492
  source = "registry+https://github.com/rust-lang/crates.io-index"
497
493
  checksum = "ed17f5901b6630b993ca003def43f2f8ef4014fc13b047b57aad617ff32bc2ec"
498
494
  dependencies = [
499
- "darling_core 0.24.1",
500
- "darling_macro 0.24.1",
501
- ]
502
-
503
- [[package]]
504
- name = "darling_core"
505
- version = "0.23.0"
506
- source = "registry+https://github.com/rust-lang/crates.io-index"
507
- checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0"
508
- dependencies = [
509
- "ident_case",
510
- "proc-macro2",
511
- "quote",
512
- "strsim 0.11.1",
513
- "syn 2.0.119",
495
+ "darling_core",
496
+ "darling_macro",
514
497
  ]
515
498
 
516
499
  [[package]]
@@ -526,24 +509,13 @@ dependencies = [
526
509
  "syn 3.0.4",
527
510
  ]
528
511
 
529
- [[package]]
530
- name = "darling_macro"
531
- version = "0.23.0"
532
- source = "registry+https://github.com/rust-lang/crates.io-index"
533
- checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d"
534
- dependencies = [
535
- "darling_core 0.23.0",
536
- "quote",
537
- "syn 2.0.119",
538
- ]
539
-
540
512
  [[package]]
541
513
  name = "darling_macro"
542
514
  version = "0.24.1"
543
515
  source = "registry+https://github.com/rust-lang/crates.io-index"
544
516
  checksum = "2ac7135c3ef02b2f7833bbeb1be5ba7f966dcde8a87c6b87f65a778d71a02785"
545
517
  dependencies = [
546
- "darling_core 0.24.1",
518
+ "darling_core",
547
519
  "quote",
548
520
  "syn 3.0.4",
549
521
  ]
@@ -1040,7 +1012,7 @@ version = "0.1.20"
1040
1012
  source = "registry+https://github.com/rust-lang/crates.io-index"
1041
1013
  checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
1042
1014
  dependencies = [
1043
- "base64",
1015
+ "base64 0.22.1",
1044
1016
  "bytes",
1045
1017
  "futures-channel",
1046
1018
  "futures-util",
@@ -1199,6 +1171,8 @@ checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
1199
1171
  dependencies = [
1200
1172
  "equivalent",
1201
1173
  "hashbrown 0.17.1",
1174
+ "serde",
1175
+ "serde_core",
1202
1176
  ]
1203
1177
 
1204
1178
  [[package]]
@@ -1229,7 +1203,7 @@ version = "0.3.13"
1229
1203
  source = "registry+https://github.com/rust-lang/crates.io-index"
1230
1204
  checksum = "2bf84e73fa6f27f299dec58e13223cf70db80da872eb921d4f6138342a0eabc8"
1231
1205
  dependencies = [
1232
- "darling 0.24.1",
1206
+ "darling",
1233
1207
  "indoc",
1234
1208
  "proc-macro2",
1235
1209
  "quote",
@@ -1749,7 +1723,7 @@ version = "0.6.12"
1749
1723
  source = "registry+https://github.com/rust-lang/crates.io-index"
1750
1724
  checksum = "08808e3c483c46e999108051c78334f473d5adb59d78bb80a1268c7e6aa6c514"
1751
1725
  dependencies = [
1752
- "base64",
1726
+ "base64 0.22.1",
1753
1727
  "byteorder",
1754
1728
  "bytes",
1755
1729
  "fallible-iterator",
@@ -2092,7 +2066,7 @@ version = "0.12.28"
2092
2066
  source = "registry+https://github.com/rust-lang/crates.io-index"
2093
2067
  checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
2094
2068
  dependencies = [
2095
- "base64",
2069
+ "base64 0.22.1",
2096
2070
  "bytes",
2097
2071
  "futures-core",
2098
2072
  "http",
@@ -2141,14 +2115,14 @@ dependencies = [
2141
2115
 
2142
2116
  [[package]]
2143
2117
  name = "rmcp"
2144
- version = "2.2.0"
2118
+ version = "3.4.1"
2145
2119
  source = "registry+https://github.com/rust-lang/crates.io-index"
2146
- checksum = "14db48ee17a9ba61810ab1a9c1beb7d06d8136ae39ac25a1137f10d357af01af"
2120
+ checksum = "5b6317cd8c13e3ec9033cf2aa5aa92cd743f0f4f8a93cddc42ea0ae6ce3b8898"
2147
2121
  dependencies = [
2148
- "async-trait",
2149
- "base64",
2122
+ "base64 0.23.1",
2150
2123
  "chrono",
2151
2124
  "futures",
2125
+ "indexmap",
2152
2126
  "pastey",
2153
2127
  "pin-project-lite",
2154
2128
  "rmcp-macros",
@@ -2159,19 +2133,20 @@ dependencies = [
2159
2133
  "tokio",
2160
2134
  "tokio-util",
2161
2135
  "tracing",
2136
+ "uuid",
2162
2137
  ]
2163
2138
 
2164
2139
  [[package]]
2165
2140
  name = "rmcp-macros"
2166
- version = "2.2.0"
2141
+ version = "3.4.1"
2167
2142
  source = "registry+https://github.com/rust-lang/crates.io-index"
2168
- checksum = "783d787bf21813b285f13019adc49e11af501c658890c1e519f31f937c68b7e3"
2143
+ checksum = "d2ee366004e5f87c103be91c6c09337811517ae8d2f919ece9da7c21444b85c5"
2169
2144
  dependencies = [
2170
- "darling 0.23.0",
2145
+ "darling",
2171
2146
  "proc-macro2",
2172
2147
  "quote",
2173
2148
  "serde_json",
2174
- "syn 2.0.119",
2149
+ "syn 3.0.4",
2175
2150
  ]
2176
2151
 
2177
2152
  [[package]]
@@ -2541,7 +2516,7 @@ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
2541
2516
 
2542
2517
  [[package]]
2543
2518
  name = "smbcloud-auth"
2544
- version = "0.5.4"
2519
+ version = "0.6.0"
2545
2520
  dependencies = [
2546
2521
  "log",
2547
2522
  "reqwest",
@@ -2556,9 +2531,9 @@ dependencies = [
2556
2531
 
2557
2532
  [[package]]
2558
2533
  name = "smbcloud-auth-sdk"
2559
- version = "0.5.4"
2534
+ version = "0.6.0"
2560
2535
  dependencies = [
2561
- "base64",
2536
+ "base64 0.22.1",
2562
2537
  "reqwest",
2563
2538
  "serde",
2564
2539
  "serde_json",
@@ -2571,7 +2546,7 @@ dependencies = [
2571
2546
 
2572
2547
  [[package]]
2573
2548
  name = "smbcloud-auth-sdk-py"
2574
- version = "0.5.4"
2549
+ version = "0.6.0"
2575
2550
  dependencies = [
2576
2551
  "pyo3",
2577
2552
  "pythonize",
@@ -2585,7 +2560,7 @@ dependencies = [
2585
2560
 
2586
2561
  [[package]]
2587
2562
  name = "smbcloud-auth-sdk-wasm"
2588
- version = "0.5.4"
2563
+ version = "0.6.0"
2589
2564
  dependencies = [
2590
2565
  "serde-wasm-bindgen",
2591
2566
  "smbcloud-auth-sdk",
@@ -2598,7 +2573,7 @@ dependencies = [
2598
2573
 
2599
2574
  [[package]]
2600
2575
  name = "smbcloud-cli"
2601
- version = "0.5.4"
2576
+ version = "0.6.0"
2602
2577
  dependencies = [
2603
2578
  "anyhow",
2604
2579
  "chrono",
@@ -2646,9 +2621,10 @@ dependencies = [
2646
2621
 
2647
2622
  [[package]]
2648
2623
  name = "smbcloud-deploy"
2649
- version = "0.5.4"
2624
+ version = "0.6.0"
2650
2625
  dependencies = [
2651
2626
  "anyhow",
2627
+ "serde_json",
2652
2628
  "smbcloud-model",
2653
2629
  "smbcloud-utils",
2654
2630
  "tempfile",
@@ -2658,7 +2634,7 @@ dependencies = [
2658
2634
 
2659
2635
  [[package]]
2660
2636
  name = "smbcloud-email-sdk"
2661
- version = "0.5.4"
2637
+ version = "0.6.0"
2662
2638
  dependencies = [
2663
2639
  "anyhow",
2664
2640
  "log",
@@ -2673,7 +2649,7 @@ dependencies = [
2673
2649
 
2674
2650
  [[package]]
2675
2651
  name = "smbcloud-gresiq"
2676
- version = "0.5.4"
2652
+ version = "0.6.0"
2677
2653
  dependencies = [
2678
2654
  "native-tls",
2679
2655
  "postgres-native-tls",
@@ -2687,7 +2663,7 @@ dependencies = [
2687
2663
 
2688
2664
  [[package]]
2689
2665
  name = "smbcloud-gresiq-sdk"
2690
- version = "0.5.4"
2666
+ version = "0.6.0"
2691
2667
  dependencies = [
2692
2668
  "anyhow",
2693
2669
  "log",
@@ -2701,7 +2677,7 @@ dependencies = [
2701
2677
 
2702
2678
  [[package]]
2703
2679
  name = "smbcloud-mail"
2704
- version = "0.5.4"
2680
+ version = "0.6.0"
2705
2681
  dependencies = [
2706
2682
  "reqwest",
2707
2683
  "serde",
@@ -2713,7 +2689,7 @@ dependencies = [
2713
2689
 
2714
2690
  [[package]]
2715
2691
  name = "smbcloud-model"
2716
- version = "0.5.4"
2692
+ version = "0.6.0"
2717
2693
  dependencies = [
2718
2694
  "chrono",
2719
2695
  "log",
@@ -2729,7 +2705,7 @@ dependencies = [
2729
2705
 
2730
2706
  [[package]]
2731
2707
  name = "smbcloud-network"
2732
- version = "0.5.4"
2708
+ version = "0.6.0"
2733
2709
  dependencies = [
2734
2710
  "clap 4.6.6",
2735
2711
  "log",
@@ -2742,7 +2718,7 @@ dependencies = [
2742
2718
 
2743
2719
  [[package]]
2744
2720
  name = "smbcloud-networking"
2745
- version = "0.5.4"
2721
+ version = "0.6.0"
2746
2722
  dependencies = [
2747
2723
  "smbcloud-network",
2748
2724
  "url-builder",
@@ -2750,7 +2726,7 @@ dependencies = [
2750
2726
 
2751
2727
  [[package]]
2752
2728
  name = "smbcloud-networking-project"
2753
- version = "0.5.4"
2729
+ version = "0.6.0"
2754
2730
  dependencies = [
2755
2731
  "anyhow",
2756
2732
  "async-trait",
@@ -2768,11 +2744,11 @@ dependencies = [
2768
2744
 
2769
2745
  [[package]]
2770
2746
  name = "smbcloud-s6n"
2771
- version = "0.5.4"
2747
+ version = "0.6.0"
2772
2748
 
2773
2749
  [[package]]
2774
2750
  name = "smbcloud-utils"
2775
- version = "0.5.4"
2751
+ version = "0.6.0"
2776
2752
  dependencies = [
2777
2753
  "anyhow",
2778
2754
  "dirs",
@@ -3997,10 +3973,10 @@ checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc"
3997
3973
 
3998
3974
  [[package]]
3999
3975
  name = "xcrs"
4000
- version = "0.5.4"
3976
+ version = "0.6.0"
4001
3977
  dependencies = [
4002
3978
  "anyhow",
4003
- "base64",
3979
+ "base64 0.22.1",
4004
3980
  "clap 4.6.6",
4005
3981
  "reqwest",
4006
3982
  "rmcp",
@@ -24,22 +24,22 @@ openssl = { version = "0.10", features = ["vendored"] }
24
24
  ratatui = { version = "0.29", default-features = false, features = ["crossterm"] }
25
25
  regex = "1.11"
26
26
  reqwest = { version = "0.12.18", default-features = false }
27
- rmcp = { version = "2.2.0", features = ["server", "macros", "transport-io", "schemars"] }
27
+ rmcp = { version = "3.4.1", features = ["server", "macros", "transport-io", "schemars"] }
28
28
  schemars = "1"
29
29
  serde = "1"
30
30
  serde_json = "1.0.82"
31
31
  serde_repr = "0.1"
32
- smbcloud-auth = { version = "0.5.4", path = "crates/smbcloud-auth" }
33
- smbcloud-auth-sdk = { version = "0.5.4", path = "crates/smbcloud-auth-sdk" }
34
- smbcloud-deploy = { version = "0.5.4", path = "crates/smbcloud-deploy" }
35
- smbcloud-email-sdk = { version = "0.5.4", path = "crates/smbcloud-email-sdk" }
36
- smbcloud-gresiq-sdk = { version = "0.5.4", path = "crates/smbcloud-gresiq-sdk" }
37
- smbcloud-mail = { version = "0.5.4", path = "crates/smbcloud-mail" }
38
- smbcloud-model = { version = "0.5.4", path = "crates/smbcloud-model" }
39
- smbcloud-network = { version = "0.5.4", path = "crates/smbcloud-network" }
40
- smbcloud-networking = { version = "0.5.4", path = "crates/smbcloud-networking" }
41
- smbcloud-networking-project = { version = "0.5.4", path = "crates/smbcloud-networking-project" }
42
- smbcloud-utils = { version = "0.5.4", path = "crates/smbcloud-utils" }
32
+ smbcloud-auth = { version = "0.6.0", path = "crates/smbcloud-auth" }
33
+ smbcloud-auth-sdk = { version = "0.6.0", path = "crates/smbcloud-auth-sdk" }
34
+ smbcloud-deploy = { version = "0.6.0", path = "crates/smbcloud-deploy" }
35
+ smbcloud-email-sdk = { version = "0.6.0", path = "crates/smbcloud-email-sdk" }
36
+ smbcloud-gresiq-sdk = { version = "0.6.0", path = "crates/smbcloud-gresiq-sdk" }
37
+ smbcloud-mail = { version = "0.6.0", path = "crates/smbcloud-mail" }
38
+ smbcloud-model = { version = "0.6.0", path = "crates/smbcloud-model" }
39
+ smbcloud-network = { version = "0.6.0", path = "crates/smbcloud-network" }
40
+ smbcloud-networking = { version = "0.6.0", path = "crates/smbcloud-networking" }
41
+ smbcloud-networking-project = { version = "0.6.0", path = "crates/smbcloud-networking-project" }
42
+ smbcloud-utils = { version = "0.6.0", path = "crates/smbcloud-utils" }
43
43
  spinners = "4.1.0"
44
44
  strum = "0.27"
45
45
  strum_macros = "0.27"
@@ -56,4 +56,4 @@ tsync = "2"
56
56
  uniffi = "0.31"
57
57
  url-builder = "0.1.1"
58
58
  wasm-bindgen = "0.2"
59
- xcrs = { version = "0.5.4", path = "crates/xcrs" }
59
+ xcrs = { version = "0.6.0", path = "crates/xcrs" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smbcloud-cli
3
- Version: 0.5.4
3
+ Version: 0.6.0
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "smbcloud-cli"
3
- version = "0.5.4"
3
+ version = "0.6.0"
4
4
  edition = "2021"
5
5
  authors = ["Seto Elkahfi <seto@smbcloud.xyz>"]
6
6
  description = "smbCloud command line interface."
@@ -4,8 +4,8 @@ pub mod process_deploy;
4
4
  pub mod process_deploy_nextjs_ssr;
5
5
  pub mod process_deploy_rails;
6
6
  pub mod process_deploy_rust;
7
+ pub mod process_deploy_static_site;
7
8
  pub mod process_deploy_swift;
8
- pub mod process_deploy_vite_spa;
9
9
  pub mod process_migrate;
10
10
  mod remote_messages;
11
11
  pub(crate) mod setup_create_new_project;
@@ -9,8 +9,8 @@ use {
9
9
  process_deploy_nextjs_ssr::process_deploy_nextjs_ssr,
10
10
  process_deploy_rails::process_deploy_rails,
11
11
  process_deploy_rust::process_deploy_rust,
12
+ process_deploy_static_site::{process_deploy_sveltekit, process_deploy_vite_spa},
12
13
  process_deploy_swift::process_deploy_swift,
13
- process_deploy_vite_spa::process_deploy_vite_spa,
14
14
  remote_messages::{build_next_app, start_server},
15
15
  },
16
16
  token::{get_smb_token::get_smb_token, is_logged_in::is_logged_in},
@@ -144,6 +144,11 @@ pub async fn process_deploy(
144
144
  return process_deploy_vite_spa(env, config).await;
145
145
  }
146
146
 
147
+ // Route SvelteKit projects built with adapter-static: install + build, rsync the output.
148
+ if config.project.kind.as_deref() == Some("sveltekit") {
149
+ return process_deploy_sveltekit(env, config).await;
150
+ }
151
+
147
152
  // Route Next.js SSR projects: pnpm install + build, rsync 8 items, SSH pm2 restart.
148
153
  if config.project.kind.as_deref() == Some("nextjs-ssr") {
149
154
  return process_deploy_nextjs_ssr(env, config).await;
@@ -215,16 +215,25 @@ pub async fn process_deploy_nextjs_ssr(env: Environment, config: Config) -> Resu
215
215
 
216
216
  // Capture stdout/stderr so pnpm's output does not interleave with the
217
217
  // spinner animation. On failure the captured output is printed for the user.
218
- let install_output = Command::new(package_manager)
219
- .args(["install", "--ignore-scripts"])
220
- .current_dir(source)
221
- .output()
222
- .map_err(|e| {
223
- anyhow!(fail_message(&format!(
224
- "Failed to spawn '{} install': {}",
225
- package_manager, e
226
- )))
227
- })?;
218
+ let mut install_command = Command::new(package_manager);
219
+ install_command.args(["install", "--ignore-scripts"]);
220
+ // With stdio captured pnpm has no TTY, so when it needs to recreate
221
+ // node_modules (store or linker change) it aborts with
222
+ // ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY instead of prompting.
223
+ // CI=true would also skip the prompt, but it turns on --frozen-lockfile.
224
+ // Matching on the file stem also catches full paths and Windows `pnpm.cmd`.
225
+ let is_pnpm = std::path::Path::new(package_manager)
226
+ .file_stem()
227
+ .is_some_and(|stem| stem.eq_ignore_ascii_case("pnpm"));
228
+ if is_pnpm {
229
+ install_command.arg("--config.confirm-modules-purge=false");
230
+ }
231
+ let install_output = install_command.current_dir(source).output().map_err(|e| {
232
+ anyhow!(fail_message(&format!(
233
+ "Failed to spawn '{} install': {}",
234
+ package_manager, e
235
+ )))
236
+ })?;
228
237
 
229
238
  if !install_output.status.success() {
230
239
  install_spinner.stop_and_persist(&fail_symbol(), fail_message("Install failed."));
@@ -18,13 +18,53 @@ use {
18
18
  };
19
19
 
20
20
  pub async fn process_deploy_vite_spa(env: Environment, config: Config) -> Result<CommandResult> {
21
- // Resolve required SPA fields from the project config.
22
21
  // `source` is the local directory containing the vite project (e.g. "frontend/connected-devices/").
23
22
  // `path` is the remote destination on the server, consumed by rsync_deploy.
24
- let project_path = config.project.source.as_deref().unwrap_or(".");
25
- let output_dir = config.project.output.as_deref().unwrap_or("dist");
26
- let package_manager = config.project.package_manager.as_deref().unwrap_or("pnpm");
23
+ let strategy = smbcloud_deploy::ViteSpaBuild {
24
+ project_path: config.project.source.as_deref().unwrap_or(".").to_string(),
25
+ output_dir: config
26
+ .project
27
+ .output
28
+ .as_deref()
29
+ .unwrap_or("dist")
30
+ .to_string(),
31
+ package_manager: config
32
+ .project
33
+ .package_manager
34
+ .as_deref()
35
+ .unwrap_or("pnpm")
36
+ .to_string(),
37
+ };
38
+ deploy_static_build(env, config, &strategy).await
39
+ }
40
+
41
+ pub async fn process_deploy_sveltekit(env: Environment, config: Config) -> Result<CommandResult> {
42
+ // adapter-static writes to `build/` unless svelte.config.js sets `pages`.
43
+ let strategy = smbcloud_deploy::SvelteKitBuild {
44
+ project_path: config.project.source.as_deref().unwrap_or(".").to_string(),
45
+ output_dir: config
46
+ .project
47
+ .output
48
+ .as_deref()
49
+ .unwrap_or("build")
50
+ .to_string(),
51
+ package_manager: config
52
+ .project
53
+ .package_manager
54
+ .as_deref()
55
+ .unwrap_or("pnpm")
56
+ .to_string(),
57
+ };
58
+ deploy_static_build(env, config, &strategy).await
59
+ }
27
60
 
61
+ /// Builds locally with `strategy`, then rsyncs the output to the project's
62
+ /// remote `path` for nginx to serve as static files.
63
+ async fn deploy_static_build(
64
+ env: Environment,
65
+ config: Config,
66
+ strategy: &dyn BuildStrategy,
67
+ ) -> Result<CommandResult> {
28
68
  // Fetch user for SSH key and deployment record.
29
69
  let access_token = crate::token::get_smb_token::get_smb_token(env)?;
30
70
  let user = me(env, client(), &access_token).await?;
@@ -32,16 +72,11 @@ pub async fn process_deploy_vite_spa(env: Environment, config: Config) -> Result
32
72
  // ── Step 1: build locally (engine BuildStrategy) ─────────────────────────
33
73
 
34
74
  let reporter = crate::ui::reporter::SpinnerReporter::new();
35
- let artifact = smbcloud_deploy::ViteSpaBuild {
36
- project_path: project_path.to_string(),
37
- output_dir: output_dir.to_string(),
38
- package_manager: package_manager.to_string(),
39
- }
40
- .build(&reporter)?;
75
+ let artifact = strategy.build(&reporter)?;
41
76
 
42
77
  // ── Step 2: record deployment as Started ─────────────────────────────────
43
78
  //
44
- // A pure rsync SPA deploy has no git commit hash; use a UTC timestamp as a
79
+ // A pure rsync static deploy has no git commit hash; use a UTC timestamp as a
45
80
  // lightweight, non-empty identifier for the API record.
46
81
 
47
82
  let deploy_ref = Utc::now().format("%Y%m%dT%H%M%SZ").to_string();
@@ -29,10 +29,8 @@ use {
29
29
  anyhow::{anyhow, Result},
30
30
  rmcp::{
31
31
  handler::server::{wrapper::Parameters, ServerHandler},
32
- model::{CallToolResult, ContentBlock, Implementation, ServerCapabilities, ServerInfo},
33
- tool, tool_handler, tool_router,
34
- transport::stdio,
35
- ErrorData, ServiceExt,
32
+ model::{CallToolResult, ContentBlock, Implementation, ServerCapabilities, ServerConfig},
33
+ tool, tool_handler, tool_router, ErrorData, ServiceExt,
36
34
  },
37
35
  schemars::JsonSchema,
38
36
  serde::Deserialize,
@@ -982,14 +980,14 @@ impl SmbMcpServer {
982
980
 
983
981
  #[tool_handler(router = Self::cloud_tool_router())]
984
982
  impl ServerHandler for SmbMcpServer {
985
- fn get_info(&self) -> ServerInfo {
983
+ fn get_info(&self) -> ServerConfig {
986
984
  // `Implementation` is `#[non_exhaustive]`, so start from the build-env
987
985
  // default and override the identity fields to report `smb`, not `rmcp`.
988
986
  let mut server_info = Implementation::from_build_env();
989
987
  server_info.name = "smb".to_string();
990
988
  server_info.version = env!("CARGO_PKG_VERSION").to_string();
991
989
 
992
- ServerInfo::new(ServerCapabilities::builder().enable_tools().build())
990
+ ServerConfig::new(ServerCapabilities::builder().enable_tools().build())
993
991
  .with_server_info(server_info)
994
992
  .with_instructions(
995
993
  "smbCloud CLI exposed as MCP tools. Authentication uses the token stored by \
@@ -1008,7 +1006,7 @@ pub async fn serve(environment: Environment, scope: McpScope) -> Result<()> {
1008
1006
  }
1009
1007
 
1010
1008
  let running = SmbMcpServer::new(environment)
1011
- .serve(stdio())
1009
+ .serve(xcrs::mcp::compatible_stdio().await?)
1012
1010
  .await
1013
1011
  .map_err(|e| anyhow!("Failed to start MCP server: {e}"))?;
1014
1012
  running
@@ -9,8 +9,7 @@
9
9
  use {
10
10
  anyhow::{anyhow, Result},
11
11
  rmcp::{
12
- model::{Implementation, ServerCapabilities, ServerInfo},
13
- transport::stdio,
12
+ model::{Implementation, ServerCapabilities, ServerConfig},
14
13
  ServerHandler, ServiceExt,
15
14
  },
16
15
  };
@@ -52,14 +51,14 @@ xcrs::xcrs_mcp_tools!(
52
51
 
53
52
  #[rmcp::tool_handler(router = Self::xcrs_tool_router())]
54
53
  impl ServerHandler for AutomationMcpServer {
55
- fn get_info(&self) -> ServerInfo {
54
+ fn get_info(&self) -> ServerConfig {
56
55
  // `Implementation` is `#[non_exhaustive]`, so start from the build-env
57
56
  // default and override the identity fields.
58
57
  let mut server_info = Implementation::from_build_env();
59
58
  server_info.name = "XCRS Mobile & TV Automation".to_string();
60
59
  server_info.version = env!("CARGO_PKG_VERSION").to_string();
61
60
 
62
- ServerInfo::new(ServerCapabilities::builder().enable_tools().build())
61
+ ServerConfig::new(ServerCapabilities::builder().enable_tools().build())
63
62
  .with_server_info(server_info)
64
63
  .with_instructions(
65
64
  "Cross-platform mobile and TV app automation over Apple simulators/ControlKit \
@@ -76,7 +75,7 @@ impl ServerHandler for AutomationMcpServer {
76
75
  /// Run the automation MCP server over stdio until the client disconnects.
77
76
  pub async fn serve() -> Result<()> {
78
77
  let running = AutomationMcpServer::new()
79
- .serve(stdio())
78
+ .serve(xcrs::mcp::compatible_stdio().await?)
80
79
  .await
81
80
  .map_err(|error| anyhow!("Failed to start automation MCP server: {error}"))?;
82
81
  running
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "smbcloud-auth"
3
- version = "0.5.4"
3
+ version = "0.6.0"
4
4
  edition = "2024"
5
5
  authors = ["Seto Elkahfi <seto@smbcloud.xyz>"]
6
6
  description = "Cross-platform Auth SDK for the smbCloud platform."
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "smbcloud-deploy"
3
- version = "0.5.4"
3
+ version = "0.6.0"
4
4
  edition = "2021"
5
5
  authors = ["keypair34 <216233964+keypair34@users.noreply.github.com>, Seto Elkahfi <seto@smbcloud.xyz>"]
6
6
  description = "smbCloud build and deploy engine: UI-agnostic, reusable by the CLI, CI, and the server-side git receiver."
@@ -14,6 +14,7 @@ categories = ["development-tools", "development-tools::build-utils"]
14
14
 
15
15
  [dependencies]
16
16
  anyhow = { workspace = true }
17
+ serde_json = { workspace = true }
17
18
  tempfile = { workspace = true }
18
19
  thiserror = { workspace = true }
19
20
  tracing = { workspace = true }