bt-cli 0.4.59__tar.gz → 0.4.60__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 (246) hide show
  1. {bt_cli-0.4.59 → bt_cli-0.4.60}/CLAUDE.md +1 -1
  2. {bt_cli-0.4.59 → bt_cli-0.4.60}/PKG-INFO +1 -1
  3. {bt_cli-0.4.59 → bt_cli-0.4.60}/pyproject.toml +1 -1
  4. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/__init__.py +1 -1
  5. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/secrets.py +7 -2
  6. {bt_cli-0.4.59 → bt_cli-0.4.60}/.claude/skills/bt/SKILL.md +0 -0
  7. {bt_cli-0.4.59 → bt_cli-0.4.60}/.claude/skills/entitle/SKILL.md +0 -0
  8. {bt_cli-0.4.59 → bt_cli-0.4.60}/.claude/skills/epml/SKILL.md +0 -0
  9. {bt_cli-0.4.59 → bt_cli-0.4.60}/.claude/skills/epmw/SKILL.md +0 -0
  10. {bt_cli-0.4.59 → bt_cli-0.4.60}/.claude/skills/pra/SKILL.md +0 -0
  11. {bt_cli-0.4.59 → bt_cli-0.4.60}/.claude/skills/pws/SKILL.md +0 -0
  12. {bt_cli-0.4.59 → bt_cli-0.4.60}/.env.example +0 -0
  13. {bt_cli-0.4.59 → bt_cli-0.4.60}/.github/workflows/ci.yml +0 -0
  14. {bt_cli-0.4.59 → bt_cli-0.4.60}/.github/workflows/release.yml +0 -0
  15. {bt_cli-0.4.59 → bt_cli-0.4.60}/.gitignore +0 -0
  16. {bt_cli-0.4.59 → bt_cli-0.4.60}/README.md +0 -0
  17. {bt_cli-0.4.59 → bt_cli-0.4.60}/assets/cli-help.png +0 -0
  18. {bt_cli-0.4.59 → bt_cli-0.4.60}/assets/cli-output.png +0 -0
  19. {bt_cli-0.4.59 → bt_cli-0.4.60}/bt-cli.spec +0 -0
  20. {bt_cli-0.4.59 → bt_cli-0.4.60}/bt_entry.py +0 -0
  21. {bt_cli-0.4.59 → bt_cli-0.4.60}/epml-clients-server-side-filters-plan.md +0 -0
  22. {bt_cli-0.4.59 → bt_cli-0.4.60}/epml-implementation-plan.md +0 -0
  23. {bt_cli-0.4.59 → bt_cli-0.4.60}/pf-implementation-plan.md +0 -0
  24. {bt_cli-0.4.59 → bt_cli-0.4.60}/scripts/bt_entry.py +0 -0
  25. {bt_cli-0.4.59 → bt_cli-0.4.60}/scripts/pf_onboard.py +0 -0
  26. {bt_cli-0.4.59 → bt_cli-0.4.60}/scripts/sync-package-data.sh +0 -0
  27. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/cli.py +0 -0
  28. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/commands/__init__.py +0 -0
  29. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/commands/configure.py +0 -0
  30. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/commands/learn.py +0 -0
  31. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/commands/quick.py +0 -0
  32. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/__init__.py +0 -0
  33. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/auth.py +0 -0
  34. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/client.py +0 -0
  35. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/config.py +0 -0
  36. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/config_file.py +0 -0
  37. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/csv_utils.py +0 -0
  38. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/errors.py +0 -0
  39. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/output.py +0 -0
  40. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/prompts.py +0 -0
  41. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/core/rest_debug.py +0 -0
  42. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/CLAUDE.md +0 -0
  43. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/__init__.py +0 -0
  44. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/skills/bt/SKILL.md +0 -0
  45. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/skills/entitle/SKILL.md +0 -0
  46. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/skills/epml/SKILL.md +0 -0
  47. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/skills/epmw/SKILL.md +0 -0
  48. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/skills/pf/SKILL.md +0 -0
  49. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/skills/pra/SKILL.md +0 -0
  50. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/skills/pws/SKILL.md +0 -0
  51. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/data/skills/secrets/SKILL.md +0 -0
  52. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/__init__.py +0 -0
  53. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/client/__init__.py +0 -0
  54. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/client/base.py +0 -0
  55. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/__init__.py +0 -0
  56. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/accounts.py +0 -0
  57. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/applications.py +0 -0
  58. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/auth.py +0 -0
  59. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/bundles.py +0 -0
  60. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/integrations.py +0 -0
  61. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/permissions.py +0 -0
  62. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/policies.py +0 -0
  63. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/requests.py +0 -0
  64. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/resources.py +0 -0
  65. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/roles.py +0 -0
  66. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/users.py +0 -0
  67. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/commands/workflows.py +0 -0
  68. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/__init__.py +0 -0
  69. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/bundle.py +0 -0
  70. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/common.py +0 -0
  71. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/integration.py +0 -0
  72. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/permission.py +0 -0
  73. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/policy.py +0 -0
  74. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/resource.py +0 -0
  75. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/role.py +0 -0
  76. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/user.py +0 -0
  77. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/entitle/models/workflow.py +0 -0
  78. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/__init__.py +0 -0
  79. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/client/__init__.py +0 -0
  80. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/client/base.py +0 -0
  81. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/__init__.py +0 -0
  82. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/audit.py +0 -0
  83. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/auth.py +0 -0
  84. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/client_pkg.py +0 -0
  85. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/clients.py +0 -0
  86. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/external_apis.py +0 -0
  87. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/hosts.py +0 -0
  88. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/iolog.py +0 -0
  89. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/license.py +0 -0
  90. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/quick.py +0 -0
  91. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_cmdgrps.py +0 -0
  92. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_entitlement.py +0 -0
  93. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_hostgrps.py +0 -0
  94. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_policy.py +0 -0
  95. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_roles.py +0 -0
  96. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_tests.py +0 -0
  97. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_tmdategrps.py +0 -0
  98. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_tx.py +0 -0
  99. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/rbp_usergrps.py +0 -0
  100. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/settings.py +0 -0
  101. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/siems.py +0 -0
  102. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/commands/users.py +0 -0
  103. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epml/models/__init__.py +0 -0
  104. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/__init__.py +0 -0
  105. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/client/__init__.py +0 -0
  106. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/client/base.py +0 -0
  107. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/__init__.py +0 -0
  108. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/audits.py +0 -0
  109. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/auth.py +0 -0
  110. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/computers.py +0 -0
  111. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/events.py +0 -0
  112. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/groups.py +0 -0
  113. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/policies.py +0 -0
  114. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/quick.py +0 -0
  115. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/requests.py +0 -0
  116. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/roles.py +0 -0
  117. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/tasks.py +0 -0
  118. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/commands/users.py +0 -0
  119. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/epmw/models/__init__.py +0 -0
  120. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/__init__.py +0 -0
  121. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/client/__init__.py +0 -0
  122. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/client/base.py +0 -0
  123. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/commands/__init__.py +0 -0
  124. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/commands/auth.py +0 -0
  125. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/commands/machines.py +0 -0
  126. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/commands/tokens.py +0 -0
  127. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/commands/user.py +0 -0
  128. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pf/commands/users.py +0 -0
  129. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/__init__.py +0 -0
  130. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/client/__init__.py +0 -0
  131. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/client/base.py +0 -0
  132. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/__init__.py +0 -0
  133. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/auth.py +0 -0
  134. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/group_policies.py +0 -0
  135. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/import_export.py +0 -0
  136. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/jump_clients.py +0 -0
  137. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/jump_groups.py +0 -0
  138. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/jump_items.py +0 -0
  139. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/jumpoints.py +0 -0
  140. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/policies.py +0 -0
  141. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/quick.py +0 -0
  142. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/teams.py +0 -0
  143. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/users.py +0 -0
  144. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/commands/vault.py +0 -0
  145. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/__init__.py +0 -0
  146. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/common.py +0 -0
  147. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/group_policy.py +0 -0
  148. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/jump_client.py +0 -0
  149. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/jump_group.py +0 -0
  150. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/jump_item.py +0 -0
  151. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/jumpoint.py +0 -0
  152. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/team.py +0 -0
  153. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/user.py +0 -0
  154. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pra/models/vault.py +0 -0
  155. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/__init__.py +0 -0
  156. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/client/__init__.py +0 -0
  157. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/client/base.py +0 -0
  158. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/client/beyondinsight.py +0 -0
  159. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/client/passwordsafe.py +0 -0
  160. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/__init__.py +0 -0
  161. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/accounts.py +0 -0
  162. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/assets.py +0 -0
  163. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/attributes.py +0 -0
  164. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/audit.py +0 -0
  165. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/auth.py +0 -0
  166. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/clouds.py +0 -0
  167. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/config.py +0 -0
  168. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/credentials.py +0 -0
  169. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/databases.py +0 -0
  170. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/directories.py +0 -0
  171. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/functional.py +0 -0
  172. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/import_export.py +0 -0
  173. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/platforms.py +0 -0
  174. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/quick.py +0 -0
  175. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/search.py +0 -0
  176. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/sessions.py +0 -0
  177. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/systems.py +0 -0
  178. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/users.py +0 -0
  179. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/commands/workgroups.py +0 -0
  180. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/config.py +0 -0
  181. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/models/__init__.py +0 -0
  182. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/models/account.py +0 -0
  183. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/models/asset.py +0 -0
  184. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/models/common.py +0 -0
  185. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/pws/models/system.py +0 -0
  186. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/__init__.py +0 -0
  187. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/client/__init__.py +0 -0
  188. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/client/base.py +0 -0
  189. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/commands/__init__.py +0 -0
  190. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/commands/_hints.py +0 -0
  191. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/commands/auth.py +0 -0
  192. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/commands/dynamic.py +0 -0
  193. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/commands/folders.py +0 -0
  194. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/commands/integrations.py +0 -0
  195. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/commands/leases.py +0 -0
  196. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/commands/static.py +0 -0
  197. {bt_cli-0.4.59 → bt_cli-0.4.60}/src/bt_cli/secrets/models/__init__.py +0 -0
  198. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/__init__.py +0 -0
  199. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/conftest.py +0 -0
  200. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/core/__init__.py +0 -0
  201. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/core/test_auth.py +0 -0
  202. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/core/test_config.py +0 -0
  203. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/core/test_config_file.py +0 -0
  204. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/core/test_errors.py +0 -0
  205. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/core/test_output.py +0 -0
  206. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/core/test_rest_debug.py +0 -0
  207. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/entitle/__init__.py +0 -0
  208. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/entitle/test_client.py +0 -0
  209. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/entitle/test_commands.py +0 -0
  210. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/entitle-smoke-test.sh +0 -0
  211. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/epml/__init__.py +0 -0
  212. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/epml/test_client.py +0 -0
  213. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/epml/test_commands.py +0 -0
  214. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/epmw/__init__.py +0 -0
  215. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/epmw/test_client.py +0 -0
  216. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/epmw/test_commands.py +0 -0
  217. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/epmw-quick-test-plan.md +0 -0
  218. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/fixtures/__init__.py +0 -0
  219. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/fixtures/responses.py +0 -0
  220. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/__init__.py +0 -0
  221. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/conftest.py +0 -0
  222. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/helpers.py +0 -0
  223. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/test_entitle_integration.py +0 -0
  224. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/test_epmw_integration.py +0 -0
  225. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/test_epmw_lifecycle.py +0 -0
  226. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/test_pra_integration.py +0 -0
  227. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/test_pra_lifecycle.py +0 -0
  228. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/test_pws_integration.py +0 -0
  229. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/integration/test_pws_lifecycle.py +0 -0
  230. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pf/__init__.py +0 -0
  231. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pf/test_client.py +0 -0
  232. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pf/test_commands.py +0 -0
  233. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pra/__init__.py +0 -0
  234. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pra/test_client.py +0 -0
  235. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pra/test_commands.py +0 -0
  236. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pra/test_jump_item_fixes.py +0 -0
  237. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pra-smoke-test.sh +0 -0
  238. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pra-test-plan.md +0 -0
  239. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pws/__init__.py +0 -0
  240. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pws/test_client.py +0 -0
  241. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pws/test_commands.py +0 -0
  242. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pws-quick-test-plan.md +0 -0
  243. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/pws-smoke-test.sh +0 -0
  244. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/secrets/__init__.py +0 -0
  245. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/secrets/test_client.py +0 -0
  246. {bt_cli-0.4.59 → bt_cli-0.4.60}/tests/secrets/test_commands.py +0 -0
@@ -1,6 +1,6 @@
1
1
  # BT-CLI
2
2
 
3
- BeyondTrust Platform CLI for Password Safe, Entitle, PRA, EPM Windows, EPM Linux, and the BeyondTrust Secrets API. **Version: 0.4.59**
3
+ BeyondTrust Platform CLI for Password Safe, Entitle, PRA, EPM Windows, EPM Linux, and the BeyondTrust Secrets API. **Version: 0.4.60**
4
4
 
5
5
  ## Setup
6
6
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bt-cli
3
- Version: 0.4.59
3
+ Version: 0.4.60
4
4
  Summary: BeyondTrust Platform CLI (unofficial) - Password Safe, Entitle, PRA, EPM
5
5
  Author-email: Dave Grendysz <dgrendysz@beyondtrust.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bt-cli"
7
- version = "0.4.59"
7
+ version = "0.4.60"
8
8
  description = "BeyondTrust Platform CLI (unofficial) - Password Safe, Entitle, PRA, EPM"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,3 +1,3 @@
1
1
  """BeyondTrust Unified Admin CLI."""
2
2
 
3
- __version__ = "0.4.59"
3
+ __version__ = "0.4.60"
@@ -297,12 +297,17 @@ def grant_safe_permission(
297
297
  safe_id: str = typer.Argument(..., help="Safe ID (GUID)"),
298
298
  user_id: Optional[int] = typer.Option(None, "--user", "-u", help="User ID to grant permission"),
299
299
  group_id: Optional[int] = typer.Option(None, "--group", "-g", help="Group ID to grant permission"),
300
- permissions: str = typer.Option(..., "--permissions", "-p", help="Comma-separated permission flags (e.g., Read,Write)"),
300
+ permissions: str = typer.Option(..., "--permissions", "-p", help='Comma-separated flags, e.g. "Read" or "Read, Create, Edit, Delete, Share, Manage"'),
301
301
  expires: Optional[str] = typer.Option(None, "--expires", "-e", help="Expiry datetime (ISO format)"),
302
302
  ) -> None:
303
303
  """Grant permissions to a user or group on a safe.
304
304
 
305
- Use 'pws secrets safes permissions-options' to see available permission flags.
305
+ Flags come from 'pws secrets safes permissions-options' (None, Read, Create,
306
+ Edit, Delete, Share, Manage) but are NOT freely combinable — the server
307
+ validates the whole set. Valid combos include: "Read"; "Read, Edit";
308
+ "Read, Create, Edit, Delete, Share"; and "Read, Create, Edit, Delete, Share,
309
+ Manage" (full owner). "Manage" is only valid with the full lower set, so
310
+ e.g. "Read, Edit, Manage" is rejected as an invalid combination.
306
311
  """
307
312
  try:
308
313
  if not user_id and not group_id:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes