zen-cli 0.1.8__tar.gz → 0.1.9__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 (227) hide show
  1. {zen_cli-0.1.8 → zen_cli-0.1.9}/PKG-INFO +5 -16
  2. {zen_cli-0.1.8 → zen_cli-0.1.9}/README.md +1 -12
  3. {zen_cli-0.1.8 → zen_cli-0.1.9}/pyproject.toml +5 -4
  4. zen_cli-0.1.9/src/zen_cli/__init__.py +1 -0
  5. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cli.py +1 -1
  6. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/activity/get.py +20 -20
  7. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/activity/list.py +138 -138
  8. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/api.py +144 -144
  9. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/auth/details.py +19 -19
  10. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/auth/refresh.py +11 -11
  11. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/auth/status.py +17 -17
  12. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/auth/token.py +17 -17
  13. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/completion.py +47 -44
  14. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/credential/create.py +13 -13
  15. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/credential/delete.py +27 -27
  16. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/credential/get.py +19 -19
  17. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/credential/list.py +18 -18
  18. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/deployment/create.py +19 -19
  19. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/deployment/delete.py +28 -28
  20. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/deployment/get.py +19 -19
  21. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/deployment/list.py +19 -19
  22. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/entitlement/create.py +13 -13
  23. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/entitlement/delete.py +27 -27
  24. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/entitlement/get.py +19 -19
  25. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/entitlement/list.py +19 -19
  26. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/group/create.py +13 -13
  27. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/group/delete.py +33 -33
  28. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/group/get.py +19 -19
  29. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/group/list.py +26 -26
  30. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/login.py +370 -373
  31. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/logout.py +9 -9
  32. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/mcp.py +20 -20
  33. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/network/create.py +13 -13
  34. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/network/delete.py +34 -34
  35. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/network/get.py +19 -19
  36. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/network/list.py +21 -21
  37. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/notification/get.py +19 -19
  38. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/notification/list.py +48 -48
  39. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/org/create.py +13 -13
  40. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/org/get.py +51 -51
  41. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/org/list.py +20 -20
  42. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/org/use.py +46 -46
  43. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/pool/create.py +13 -13
  44. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/pool/delete.py +34 -34
  45. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/pool/get.py +19 -19
  46. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/pool/list.py +36 -36
  47. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/pool/use.py +35 -35
  48. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/profile/init.py +10 -10
  49. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/provider/create.py +13 -13
  50. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/provider/delete.py +27 -27
  51. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/provider/get.py +27 -27
  52. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/provider/list.py +43 -43
  53. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/sag/create.py +13 -13
  54. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/sag/delete.py +34 -34
  55. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/sag/get.py +19 -19
  56. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/sag/list.py +20 -20
  57. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/cancel.py +27 -27
  58. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/duplicate.py +29 -29
  59. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/get.py +20 -20
  60. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/list.py +132 -132
  61. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/log.py +57 -57
  62. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/namespaces.py +11 -11
  63. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/use.py +37 -37
  64. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/wait.py +28 -28
  65. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/upgrade.py +68 -68
  66. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/delete.py +39 -39
  67. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/get.py +14 -14
  68. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/list.py +91 -91
  69. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/poweroff.py +29 -29
  70. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/poweron.py +29 -29
  71. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/restart.py +19 -19
  72. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/shutdown.py +19 -19
  73. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/use.py +48 -48
  74. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/wait.py +55 -55
  75. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/config/default.yaml +1 -1
  76. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/config/int.yaml +1 -1
  77. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/config/prod.yaml +1 -1
  78. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/config/stg.yaml +1 -1
  79. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/__init__.py +1 -2
  80. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/_init.py +76 -76
  81. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/built_in_cmds/_ut.py +122 -122
  82. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/built_in_cmds/context.py +93 -92
  83. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/built_in_cmds/profile.py +159 -159
  84. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/cli_options.py +136 -136
  85. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/cli_processor.py +13 -36
  86. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/fstore.py +41 -38
  87. zen_cli-0.1.8/src/zen_cli/__init__.py → zen_cli-0.1.9/src/zen_cli/ctxp/httpx_alias.py +13 -14
  88. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/logger.py +0 -23
  89. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/profile.py +19 -8
  90. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/telemetry.py +152 -154
  91. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/util.py +490 -486
  92. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/api.py +1 -1
  93. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/server.py +1 -1
  94. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/task.py +0 -12
  95. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/auth.py +3 -2
  96. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/cli_options.py +59 -59
  97. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/client_util.py +39 -41
  98. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/csp.py +3 -4
  99. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/ez_client.py +1 -4
  100. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/login_support.py +2 -2
  101. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/mdc.py +2 -2
  102. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/requtil.py +1 -1
  103. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/payload.py +123 -123
  104. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/use_util.py +103 -103
  105. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/util/exec_util.py +257 -257
  106. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/util/query_util.py +11 -6
  107. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/util/versions.py +1 -1
  108. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/cli_test.py +1 -1
  109. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_auth.py +1 -4
  110. zen_cli-0.1.9/tests/blackbox/test_help.py +21 -0
  111. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_io.py +4 -0
  112. zen_cli-0.1.9/tests/blackbox/test_login.py +14 -0
  113. zen_cli-0.1.9/tests/blackbox/test_org.py +10 -0
  114. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_pool.py +0 -6
  115. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_profile.py +1 -0
  116. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_root.py +0 -3
  117. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/util.py +5 -1
  118. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/test_auth_status.py +23 -1
  119. zen_cli-0.1.9/tests/test_cli.py +169 -0
  120. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/test_mcp.py +1 -11
  121. zen_cli-0.1.9/tests/test_query_util.py +17 -0
  122. zen_cli-0.1.8/src/zen_cli/cmds/task/delete.py +0 -41
  123. zen_cli-0.1.8/src/zen_cli/ctxp/_patch_click.py +0 -5
  124. zen_cli-0.1.8/src/zen_cli/ctxp/cmd_util.py +0 -88
  125. zen_cli-0.1.8/src/zen_cli/ctxp/dispatcher.py +0 -84
  126. zen_cli-0.1.8/src/zen_cli/ctxp/extension.py +0 -32
  127. zen_cli-0.1.8/src/zen_cli/ctxp/fn_util.py +0 -61
  128. zen_cli-0.1.8/src/zen_cli/ctxp/template_util.py +0 -26
  129. zen_cli-0.1.8/src/zen_cli/ctxp/timeutil.py +0 -11
  130. zen_cli-0.1.8/src/zen_cli/ctxp/var_template.py +0 -109
  131. zen_cli-0.1.8/src/zen_cli/sglib/init.py +0 -18
  132. zen_cli-0.1.8/src/zen_cli/sglib/utils.py +0 -107
  133. zen_cli-0.1.8/tests/blackbox/test_credential.py +0 -10
  134. zen_cli-0.1.8/tests/blackbox/test_deployment.py +0 -10
  135. zen_cli-0.1.8/tests/blackbox/test_entitlement.py +0 -10
  136. zen_cli-0.1.8/tests/blackbox/test_group.py +0 -10
  137. zen_cli-0.1.8/tests/blackbox/test_login.py +0 -26
  138. zen_cli-0.1.8/tests/blackbox/test_mcp.py +0 -7
  139. zen_cli-0.1.8/tests/blackbox/test_network.py +0 -10
  140. zen_cli-0.1.8/tests/blackbox/test_org.py +0 -22
  141. zen_cli-0.1.8/tests/blackbox/test_provider.py +0 -10
  142. zen_cli-0.1.8/tests/blackbox/test_sag.py +0 -10
  143. zen_cli-0.1.8/tests/blackbox/test_task.py +0 -7
  144. zen_cli-0.1.8/tests/blackbox/test_vm.py +0 -7
  145. zen_cli-0.1.8/tests/test_cli.py +0 -247
  146. {zen_cli-0.1.8 → zen_cli-0.1.9}/.gitignore +0 -0
  147. {zen_cli-0.1.8 → zen_cli-0.1.9}/LICENSE +0 -0
  148. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/__main__.py +0 -0
  149. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/activity/__init__.py +0 -0
  150. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/auth/__init__.py +0 -0
  151. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/credential/__init__.py +0 -0
  152. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/deployment/__init__.py +0 -0
  153. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/entitlement/__init__.py +0 -0
  154. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/group/__init__.py +0 -0
  155. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/network/__init__.py +0 -0
  156. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/notification/__init__.py +0 -0
  157. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/org/__init__.py +0 -0
  158. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/pool/__init__.py +0 -0
  159. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/profile/__init__.py +0 -0
  160. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/provider/__init__.py +0 -0
  161. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/sag/__init__.py +0 -0
  162. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/task/__init__.py +0 -0
  163. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/cmds/vm/__init__.py +0 -0
  164. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/built_in_cmds/__init__.py +0 -0
  165. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/config.py +0 -0
  166. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/context.py +0 -0
  167. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/data_util.py +0 -0
  168. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/jsondot.py +0 -0
  169. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/profile_store.py +0 -0
  170. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/recent.py +0 -0
  171. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/ctxp/state.py +0 -0
  172. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/__init__.py +0 -0
  173. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/_util.py +0 -0
  174. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/__init__.py +0 -0
  175. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/activity.py +0 -0
  176. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/credential.py +0 -0
  177. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/deployment.py +0 -0
  178. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/entitlement.py +0 -0
  179. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/group.py +0 -0
  180. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/network.py +0 -0
  181. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/notification.py +0 -0
  182. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/org.py +0 -0
  183. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/pool.py +0 -0
  184. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/provider.py +0 -0
  185. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/sag.py +0 -0
  186. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/task.py +0 -0
  187. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/mcp/resources/vm.py +0 -0
  188. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/__init__.py +0 -0
  189. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/activity.py +0 -0
  190. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/api.py +0 -0
  191. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/broker/__init__.py +0 -0
  192. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/broker/entitlement.py +0 -0
  193. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/broker/pool_group.py +0 -0
  194. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/cockpit/__init__.py +0 -0
  195. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/cockpit/network.py +0 -0
  196. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/cockpit/pool.py +0 -0
  197. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/cockpit/provider.py +0 -0
  198. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/cockpit/sag.py +0 -0
  199. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/cockpit/vm.py +0 -0
  200. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/credential.py +0 -0
  201. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/deployment.py +0 -0
  202. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/notification.py +0 -0
  203. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/service/org.py +0 -0
  204. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/__init__.py +0 -0
  205. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/sglib/zds_client.py +0 -0
  206. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/activity.py +0 -0
  207. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/auth.py +0 -0
  208. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/deployment.py +0 -0
  209. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/network.py +0 -0
  210. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/notification.py +0 -0
  211. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/org.py +0 -0
  212. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/pool.py +0 -0
  213. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/profile.py +0 -0
  214. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/recent.py +0 -0
  215. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/task.py +0 -0
  216. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/support/vm.py +0 -0
  217. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/util/exit.py +0 -0
  218. {zen_cli-0.1.8 → zen_cli-0.1.9}/src/zen_cli/util/readonly.py +0 -0
  219. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/__init__.py +0 -0
  220. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_api.py +0 -0
  221. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_completion.py +0 -0
  222. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_context.py +0 -0
  223. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_errors.py +0 -0
  224. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/blackbox/test_logout.py +0 -0
  225. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/test_device_login.py +0 -0
  226. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/test_payload.py +0 -0
  227. {zen_cli-0.1.8 → zen_cli-0.1.9}/tests/test_recent.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: zen-cli
3
- Version: 0.1.8
4
- Summary: CLI for Zen Desktop Service. Designed for AI and Human.
3
+ Version: 0.1.9
4
+ Summary: CLI for Zen Cloud Service. Designed for AI and Human.
5
5
  Project-URL: Homepage, https://pypi.org/project/zen-cli/
6
6
  Author: zen-cli authors
7
7
  License-Expression: MIT
@@ -23,9 +23,9 @@ Requires-Dist: tabulate
23
23
  Requires-Dist: yumako
24
24
  Provides-Extra: dev
25
25
  Requires-Dist: build; extra == 'dev'
26
- Requires-Dist: mypy; extra == 'dev'
26
+ Requires-Dist: mypy==2.3.1; extra == 'dev'
27
27
  Requires-Dist: pre-commit; extra == 'dev'
28
- Requires-Dist: ruff; extra == 'dev'
28
+ Requires-Dist: ruff==0.16.8; extra == 'dev'
29
29
  Provides-Extra: release
30
30
  Requires-Dist: build; extra == 'release'
31
31
  Requires-Dist: twine; extra == 'release'
@@ -33,21 +33,10 @@ Description-Content-Type: text/markdown
33
33
 
34
34
  # zen-cli
35
35
 
36
- [![PyPI](https://img.shields.io/pypi/v/zen-cli?logo=pypi&logoColor=white)](https://pypi.org/project/zen-cli/) [![Python](https://img.shields.io/badge/python-3.12%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![PyPI downloads](https://img.shields.io/pypi/dm/zen-cli)](https://pypi.org/project/zen-cli/) [![Wheel](https://img.shields.io/pypi/wheel/zen-cli)](https://pypi.org/project/zen-cli/) [![OS](https://img.shields.io/badge/OS-macOS%20%7C%20Linux%20%7C%20Windows-informational)](https://pypi.org/project/zen-cli/) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![Checked with mypy](https://img.shields.io/badge/mypy-checked-2A6DB2)](https://mypy-lang.org/) [![Click](https://img.shields.io/badge/cli-Click%208-4584b6)](https://click.palletsprojects.com/) [![Hatch](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5)](https://github.com/pypa/hatch)
36
+ [![PyPI](https://img.shields.io/pypi/v/zen-cli?logo=pypi&logoColor=white)](https://pypi.org/project/zen-cli/) [![Python](https://img.shields.io/badge/python-3.12%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![PyPI downloads](https://img.shields.io/pypi/dm/zen-cli)](https://pypi.org/project/zen-cli/) [![Wheel](https://img.shields.io/pypi/wheel/zen-cli)](https://pypi.org/project/zen-cli/) [![OS](https://img.shields.io/badge/OS-macOS%20%7C%20Linux%20%7C%20Windows-informational)](https://pypi.org/project/zen-cli/) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![Checked with mypy](https://img.shields.io/badge/mypy-checked-2A6DB2)](https://mypy-lang.org/)
37
37
 
38
38
  面向 AI 和人的 Zen Cloud 命令行工具。
39
39
 
40
- ## 目录
41
-
42
- - [试用](#试用)
43
- - [前置条件](#前置条件)
44
- - [安装](#安装)
45
- - [Mac 与 Linux](#mac-与-linux)
46
- - [Windows](#windows)
47
- - [使用 CLI](#使用-cli)
48
- - [文档](#文档)
49
- - [许可证](#许可证)
50
-
51
40
  ## 试用
52
41
 
53
42
  ### 前置条件
@@ -1,20 +1,9 @@
1
1
  # zen-cli
2
2
 
3
- [![PyPI](https://img.shields.io/pypi/v/zen-cli?logo=pypi&logoColor=white)](https://pypi.org/project/zen-cli/) [![Python](https://img.shields.io/badge/python-3.12%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![PyPI downloads](https://img.shields.io/pypi/dm/zen-cli)](https://pypi.org/project/zen-cli/) [![Wheel](https://img.shields.io/pypi/wheel/zen-cli)](https://pypi.org/project/zen-cli/) [![OS](https://img.shields.io/badge/OS-macOS%20%7C%20Linux%20%7C%20Windows-informational)](https://pypi.org/project/zen-cli/) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![Checked with mypy](https://img.shields.io/badge/mypy-checked-2A6DB2)](https://mypy-lang.org/) [![Click](https://img.shields.io/badge/cli-Click%208-4584b6)](https://click.palletsprojects.com/) [![Hatch](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5)](https://github.com/pypa/hatch)
3
+ [![PyPI](https://img.shields.io/pypi/v/zen-cli?logo=pypi&logoColor=white)](https://pypi.org/project/zen-cli/) [![Python](https://img.shields.io/badge/python-3.12%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![PyPI downloads](https://img.shields.io/pypi/dm/zen-cli)](https://pypi.org/project/zen-cli/) [![Wheel](https://img.shields.io/pypi/wheel/zen-cli)](https://pypi.org/project/zen-cli/) [![OS](https://img.shields.io/badge/OS-macOS%20%7C%20Linux%20%7C%20Windows-informational)](https://pypi.org/project/zen-cli/) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![Checked with mypy](https://img.shields.io/badge/mypy-checked-2A6DB2)](https://mypy-lang.org/)
4
4
 
5
5
  面向 AI 和人的 Zen Cloud 命令行工具。
6
6
 
7
- ## 目录
8
-
9
- - [试用](#试用)
10
- - [前置条件](#前置条件)
11
- - [安装](#安装)
12
- - [Mac 与 Linux](#mac-与-linux)
13
- - [Windows](#windows)
14
- - [使用 CLI](#使用-cli)
15
- - [文档](#文档)
16
- - [许可证](#许可证)
17
-
18
7
  ## 试用
19
8
 
20
9
  ### 前置条件
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "zen-cli"
7
- version = "0.1.8"
8
- description = "CLI for Zen Desktop Service. Designed for AI and Human."
7
+ version = "0.1.9"
8
+ description = "CLI for Zen Cloud Service. Designed for AI and Human."
9
9
  readme = "README.md"
10
10
  license = "MIT"
11
11
  license-files = ["LICENSE"]
@@ -29,7 +29,7 @@ dependencies = [
29
29
  ]
30
30
 
31
31
  [project.optional-dependencies]
32
- dev = ["build", "pre-commit", "ruff", "mypy"]
32
+ dev = ["build", "pre-commit", "ruff==0.16.8", "mypy==2.3.1"]
33
33
  release = ["build", "twine"]
34
34
 
35
35
  [project.scripts]
@@ -69,11 +69,12 @@ module = [
69
69
  "httpx2",
70
70
  "httpx2.*",
71
71
  "coloredlogs",
72
+ "tabulate",
72
73
  ]
73
74
  ignore_missing_imports = true
74
75
 
75
76
  [[tool.mypy.overrides]]
76
- module = ["zen_cli.cmds", "zen_cli.cmds.*", "zen_cli.ctxp", "zen_cli.ctxp.*"]
77
+ module = ["zen_cli", "zen_cli.cli", "zen_cli.cmds", "zen_cli.cmds.*", "zen_cli.ctxp", "zen_cli.ctxp.*"]
77
78
  disallow_untyped_decorators = false
78
79
 
79
80
  [[tool.mypy.overrides]]
@@ -0,0 +1 @@
1
+ """zen-cli package."""
@@ -98,7 +98,7 @@ def _check_upgrade() -> None:
98
98
  "--mdc",
99
99
  type=str,
100
100
  required=False,
101
- help=("MDC name from profile zds.mdcs (e.g. beijing, singapore). Default is the first zds.mdcs entry."),
101
+ help=("MDC name from profile zcs.mdcs (e.g. beijing, singapore). Default is the first zcs.mdcs entry."),
102
102
  )
103
103
  @click.option(
104
104
  "--check-upgrade/--no-check-upgrade",
@@ -1,20 +1,20 @@
1
- from typing import Any
2
-
3
- import click
4
-
5
- import zen_cli.sglib.cli_options as cli
6
- from zen_cli.ctxp import recent
7
- from zen_cli.service import activity
8
-
9
-
10
- @click.command()
11
- @cli.org_id
12
- @click.argument("id", type=str, required=False)
13
- def get(org: str, id: str) -> Any:
14
- """Get a system activity by ID. Without an argument, use the recent activity."""
15
- id = recent.require("activity", id)
16
- org_id = None if org == "all" else cli.get_org_id(org)
17
- ret = activity.get(id, org_id=org_id)
18
- if ret:
19
- return ret
20
- return "", 1
1
+ from typing import Any
2
+
3
+ import rich_click as click
4
+
5
+ import zen_cli.sglib.cli_options as cli
6
+ from zen_cli.ctxp import recent
7
+ from zen_cli.service import activity
8
+
9
+
10
+ @click.command()
11
+ @cli.org_id
12
+ @click.argument("id", type=str, required=False)
13
+ def get(org: str, id: str) -> Any:
14
+ """Get a system activity by ID. Without an argument, use the recent activity."""
15
+ id = recent.require("activity", id)
16
+ org_id = None if org == "all" else cli.get_org_id(org)
17
+ ret = activity.get(id, org_id=org_id)
18
+ if ret:
19
+ return ret
20
+ return "", 1
@@ -1,138 +1,138 @@
1
- from typing import Any
2
-
3
- import click
4
-
5
- import zen_cli.sglib.cli_options as cli
6
- from zen_cli.ctxp import recent
7
- from zen_cli.service import activity
8
- from zen_cli.support.activity import format_activity_table
9
-
10
- _RESOURCE_TYPES = [
11
- "ORG",
12
- "ORG_PREFERENCE",
13
- "DATACENTER",
14
- "POOL",
15
- "ENTITLEMENT",
16
- "VM",
17
- "EDGE",
18
- "SAG",
19
- "TASK",
20
- "PROVIDER_INSTANCE",
21
- "NET_INFRA",
22
- "EXPRESS_DEPLOYMENT",
23
- "POOL_GROUP",
24
- "IMAGE",
25
- "SITE",
26
- "SPEC",
27
- "SESSION",
28
- "VMAGENT",
29
- "NOTIFICATION",
30
- ]
31
-
32
-
33
- @click.command(name="list")
34
- @cli.org_id
35
- @click.option("--service-name", type=str, required=False, help="Filter by service name.")
36
- @click.option("--code", type=str, required=False, help="Filter by activity code.")
37
- @click.option("--trace-id", type=str, required=False, help="Filter by trace ID.")
38
- @click.option("--span-id", type=str, required=False, help="Filter by span ID.")
39
- @click.option("--resource-id", type=str, required=False, help="Filter by resource ID.")
40
- @click.option("--resource-name", type=str, required=False, help="Filter by resource name.")
41
- @click.option("--task-id", type=str, required=False, help="Filter by task ID.")
42
- @click.option("--parent-id", type=str, required=False, help="Filter by parent activity ID.")
43
- @click.option("--initiator", type=str, required=False, help="Filter by initiator.")
44
- @click.option(
45
- "--initiator-type",
46
- type=click.Choice(["SYSTEM", "OPS", "CUSTOMER_ADMIN", "USER"], case_sensitive=False),
47
- required=False,
48
- help="Filter by initiator type.",
49
- )
50
- @click.option(
51
- "--resource-type",
52
- type=click.Choice(_RESOURCE_TYPES, case_sensitive=False),
53
- required=False,
54
- help="Filter by resource type.",
55
- )
56
- @click.option(
57
- "--severity",
58
- type=click.Choice(["CRITICAL", "WARNING", "INFO", "TRIVIAL"], case_sensitive=False),
59
- required=False,
60
- help="Filter by severity.",
61
- )
62
- @click.option(
63
- "--status",
64
- type=click.Choice(
65
- ["QUEUED", "START", "PROGRESS", "SUCCESS", "ERROR", "CANCELLED"],
66
- case_sensitive=False,
67
- ),
68
- required=False,
69
- help="Filter by status.",
70
- )
71
- @click.option(
72
- "--timestamp-from",
73
- type=str,
74
- required=False,
75
- help="Inclusive lower bound (ISO-8601).",
76
- )
77
- @click.option(
78
- "--timestamp-to",
79
- type=str,
80
- required=False,
81
- help="Inclusive upper bound (ISO-8601).",
82
- )
83
- @cli.sort
84
- @cli.limit
85
- @cli.formatter(format_activity_table)
86
- def list_activities(
87
- org: str,
88
- service_name: str,
89
- code: str,
90
- trace_id: str,
91
- span_id: str,
92
- resource_id: str,
93
- resource_name: str,
94
- task_id: str,
95
- parent_id: str,
96
- initiator: str,
97
- initiator_type: str,
98
- resource_type: str,
99
- severity: str,
100
- status: str,
101
- timestamp_from: str,
102
- timestamp_to: str,
103
- sort: str,
104
- limit: int,
105
- ) -> Any:
106
- """List system activities."""
107
- org_id = None if org == "all" else cli.get_org_id(org)
108
- if initiator_type:
109
- initiator_type = initiator_type.upper()
110
- if resource_type:
111
- resource_type = resource_type.upper()
112
- if severity:
113
- severity = severity.upper()
114
- if status:
115
- status = status.upper()
116
-
117
- ret = activity.list(
118
- org_id=org_id,
119
- service_name=service_name,
120
- code=code,
121
- trace_id=trace_id,
122
- span_id=span_id,
123
- resource_id=resource_id,
124
- resource_name=resource_name,
125
- task_id=task_id,
126
- parent_id=parent_id,
127
- initiator=initiator,
128
- initiator_type=initiator_type,
129
- resource_type=resource_type,
130
- severity=severity,
131
- status=status,
132
- timestamp_from=timestamp_from,
133
- timestamp_to=timestamp_to,
134
- sort=sort,
135
- limit=limit,
136
- )
137
- recent.helper.default_list(ret, "activity")
138
- return ret
1
+ from typing import Any
2
+
3
+ import rich_click as click
4
+
5
+ import zen_cli.sglib.cli_options as cli
6
+ from zen_cli.ctxp import recent
7
+ from zen_cli.service import activity
8
+ from zen_cli.support.activity import format_activity_table
9
+
10
+ _RESOURCE_TYPES = [
11
+ "ORG",
12
+ "ORG_PREFERENCE",
13
+ "DATACENTER",
14
+ "POOL",
15
+ "ENTITLEMENT",
16
+ "VM",
17
+ "EDGE",
18
+ "SAG",
19
+ "TASK",
20
+ "PROVIDER_INSTANCE",
21
+ "NET_INFRA",
22
+ "EXPRESS_DEPLOYMENT",
23
+ "POOL_GROUP",
24
+ "IMAGE",
25
+ "SITE",
26
+ "SPEC",
27
+ "SESSION",
28
+ "VMAGENT",
29
+ "NOTIFICATION",
30
+ ]
31
+
32
+
33
+ @click.command(name="list")
34
+ @cli.org_id
35
+ @click.option("--service-name", type=str, required=False, help="Filter by service name.")
36
+ @click.option("--code", type=str, required=False, help="Filter by activity code.")
37
+ @click.option("--trace-id", type=str, required=False, help="Filter by trace ID.")
38
+ @click.option("--span-id", type=str, required=False, help="Filter by span ID.")
39
+ @click.option("--resource-id", type=str, required=False, help="Filter by resource ID.")
40
+ @click.option("--resource-name", type=str, required=False, help="Filter by resource name.")
41
+ @click.option("--task-id", type=str, required=False, help="Filter by task ID.")
42
+ @click.option("--parent-id", type=str, required=False, help="Filter by parent activity ID.")
43
+ @click.option("--initiator", type=str, required=False, help="Filter by initiator.")
44
+ @click.option(
45
+ "--initiator-type",
46
+ type=click.Choice(["SYSTEM", "OPS", "CUSTOMER_ADMIN", "USER"], case_sensitive=False),
47
+ required=False,
48
+ help="Filter by initiator type.",
49
+ )
50
+ @click.option(
51
+ "--resource-type",
52
+ type=click.Choice(_RESOURCE_TYPES, case_sensitive=False),
53
+ required=False,
54
+ help="Filter by resource type.",
55
+ )
56
+ @click.option(
57
+ "--severity",
58
+ type=click.Choice(["CRITICAL", "WARNING", "INFO", "TRIVIAL"], case_sensitive=False),
59
+ required=False,
60
+ help="Filter by severity.",
61
+ )
62
+ @click.option(
63
+ "--status",
64
+ type=click.Choice(
65
+ ["QUEUED", "START", "PROGRESS", "SUCCESS", "ERROR", "CANCELLED"],
66
+ case_sensitive=False,
67
+ ),
68
+ required=False,
69
+ help="Filter by status.",
70
+ )
71
+ @click.option(
72
+ "--timestamp-from",
73
+ type=str,
74
+ required=False,
75
+ help="Inclusive lower bound (ISO-8601).",
76
+ )
77
+ @click.option(
78
+ "--timestamp-to",
79
+ type=str,
80
+ required=False,
81
+ help="Inclusive upper bound (ISO-8601).",
82
+ )
83
+ @cli.sort
84
+ @cli.limit
85
+ @cli.formatter(format_activity_table)
86
+ def list_activities(
87
+ org: str,
88
+ service_name: str,
89
+ code: str,
90
+ trace_id: str,
91
+ span_id: str,
92
+ resource_id: str,
93
+ resource_name: str,
94
+ task_id: str,
95
+ parent_id: str,
96
+ initiator: str,
97
+ initiator_type: str,
98
+ resource_type: str,
99
+ severity: str,
100
+ status: str,
101
+ timestamp_from: str,
102
+ timestamp_to: str,
103
+ sort: str,
104
+ limit: int,
105
+ ) -> Any:
106
+ """List system activities."""
107
+ org_id = None if org == "all" else cli.get_org_id(org)
108
+ if initiator_type:
109
+ initiator_type = initiator_type.upper()
110
+ if resource_type:
111
+ resource_type = resource_type.upper()
112
+ if severity:
113
+ severity = severity.upper()
114
+ if status:
115
+ status = status.upper()
116
+
117
+ ret = activity.list(
118
+ org_id=org_id,
119
+ service_name=service_name,
120
+ code=code,
121
+ trace_id=trace_id,
122
+ span_id=span_id,
123
+ resource_id=resource_id,
124
+ resource_name=resource_name,
125
+ task_id=task_id,
126
+ parent_id=parent_id,
127
+ initiator=initiator,
128
+ initiator_type=initiator_type,
129
+ resource_type=resource_type,
130
+ severity=severity,
131
+ status=status,
132
+ timestamp_from=timestamp_from,
133
+ timestamp_to=timestamp_to,
134
+ sort=sort,
135
+ limit=limit,
136
+ )
137
+ recent.helper.default_list(ret, "activity")
138
+ return ret