mammoth-cli 2.0.48__tar.gz → 2.0.49__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 (229) hide show
  1. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/PKG-INFO +2 -2
  2. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +3 -2
  4. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +9 -6
  5. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +1 -1
  6. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +4 -2
  7. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +22 -22
  8. mammoth_cli-2.0.49/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +133 -0
  9. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -138
  10. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +26 -26
  11. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +3 -3
  12. mammoth_cli-2.0.49/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +323 -0
  13. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +10 -320
  14. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +4 -3
  15. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +7 -0
  16. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -1
  17. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/billing.py +11 -77
  18. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/dashboard.py +0 -18
  19. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/file.py +7 -0
  20. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/project.py +19 -3
  21. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/registry.py +1 -1
  22. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/schema.py +137 -11
  23. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/support.py +8 -29
  24. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/user.py +13 -11
  25. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/view.py +175 -13
  26. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/view_ops.py +128 -0
  27. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/embed.py +32 -2
  28. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/strict.py +4 -0
  29. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/command_contract.py +8 -6
  30. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/input_fields.py +4 -0
  31. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/positionals.py +1 -2
  32. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/pyproject.toml +2 -2
  33. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/billing.yaml +22 -22
  34. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/dashboard.yaml +0 -42
  35. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/support.yaml +26 -26
  36. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/user.yaml +5 -5
  37. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/view.yaml +66 -2
  38. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/openapi-operations.yaml +15 -11
  39. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/sdk-catalog.source.yaml +0 -9
  40. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/sdk-methods.yaml +15 -14
  41. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/.gitignore +0 -0
  42. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/LICENSE +0 -0
  43. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/README.md +0 -0
  44. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/__main__.py +0 -0
  45. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/app.py +0 -0
  46. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  47. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  48. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  49. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  50. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  51. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  52. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  53. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  54. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  55. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  56. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  57. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  58. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  59. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  60. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  61. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  62. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  63. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  64. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  65. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  66. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  67. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  68. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  69. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  70. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  71. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  72. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  73. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  74. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  75. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  76. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  77. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  78. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  79. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  80. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  81. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  82. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  83. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  84. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  85. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  86. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  87. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  88. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  89. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  90. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  91. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  92. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  93. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  94. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  95. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  96. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  97. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  98. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  99. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  100. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  101. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  102. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  103. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  104. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/__init__.py +0 -0
  105. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/activity.py +0 -0
  106. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/addon.py +0 -0
  107. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/agent.py +0 -0
  108. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/ai.py +0 -0
  109. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/annotation.py +0 -0
  110. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/auth.py +0 -0
  111. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/automation.py +0 -0
  112. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/batch.py +0 -0
  113. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/browse.py +0 -0
  114. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/capability.py +0 -0
  115. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/client_app.py +0 -0
  116. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/completion.py +0 -0
  117. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/config.py +0 -0
  118. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/connector.py +0 -0
  119. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/context.py +0 -0
  120. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/data_app.py +0 -0
  121. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/dataset.py +0 -0
  122. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/doctor.py +0 -0
  123. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/external_key.py +0 -0
  124. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/folder.py +0 -0
  125. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/job.py +0 -0
  126. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/notification.py +0 -0
  127. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/parameter.py +0 -0
  128. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/report.py +0 -0
  129. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/schedule.py +0 -0
  130. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/skill.py +0 -0
  131. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/snippet.py +0 -0
  132. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/template.py +0 -0
  133. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/trash.py +0 -0
  134. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/upgrade.py +0 -0
  135. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/webhook.py +0 -0
  136. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/workflow.py +0 -0
  137. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/commands/workspace.py +0 -0
  138. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/context/__init__.py +0 -0
  139. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/context/credentials.py +0 -0
  140. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/context/endpoint.py +0 -0
  141. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/context/profiles.py +0 -0
  142. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/context/resolver.py +0 -0
  143. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/contracts/__init__.py +0 -0
  144. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/contracts/auth.py +0 -0
  145. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/errors/__init__.py +0 -0
  146. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/errors/envelope.py +0 -0
  147. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/manifest/__init__.py +0 -0
  148. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/manifest/loader.py +0 -0
  149. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/messages/__init__.py +0 -0
  150. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/output/__init__.py +0 -0
  151. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/output/envelope.py +0 -0
  152. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/output/normalize.py +0 -0
  153. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/output/policy.py +0 -0
  154. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/output/progress.py +0 -0
  155. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/output/render.py +0 -0
  156. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/py.typed +0 -0
  157. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/__init__.py +0 -0
  158. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/confirm.py +0 -0
  159. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/dryrun.py +0 -0
  160. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/embedded.py +0 -0
  161. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/executor.py +0 -0
  162. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/input_loader.py +0 -0
  163. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/invocation.py +0 -0
  164. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/options.py +0 -0
  165. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/parents.py +0 -0
  166. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/runlog.py +0 -0
  167. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/session.py +0 -0
  168. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/updates.py +0 -0
  169. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/runtime/validate.py +0 -0
  170. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/__init__.py +0 -0
  171. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/argspec.py +0 -0
  172. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/coerce.py +0 -0
  173. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/conditions.py +0 -0
  174. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/dashboard_pages.py +0 -0
  175. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/dashboard_review.py +0 -0
  176. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/data_quality.py +0 -0
  177. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/dispatch.py +0 -0
  178. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/factory.py +0 -0
  179. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/mapping.py +0 -0
  180. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/openapi_types.py +0 -0
  181. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/protocol.py +0 -0
  182. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/sdk_service.py +0 -0
  183. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/testing.py +0 -0
  184. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/services/type_system.py +0 -0
  185. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/skills/__init__.py +0 -0
  186. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/skills/installer.py +0 -0
  187. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/skills/steering.py +0 -0
  188. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/mammoth_cli/testing.py +0 -0
  189. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/activity.yaml +0 -0
  190. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/addon.yaml +0 -0
  191. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/agent.yaml +0 -0
  192. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/ai.yaml +0 -0
  193. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/annotation.yaml +0 -0
  194. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/auth.yaml +0 -0
  195. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/automation.yaml +0 -0
  196. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/batch.yaml +0 -0
  197. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/browse.yaml +0 -0
  198. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/capability.yaml +0 -0
  199. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/client-app.yaml +0 -0
  200. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/completion.yaml +0 -0
  201. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/config.yaml +0 -0
  202. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/connector.yaml +0 -0
  203. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/context.yaml +0 -0
  204. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/data-app.yaml +0 -0
  205. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/dataset.yaml +0 -0
  206. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/doctor.yaml +0 -0
  207. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/external-key.yaml +0 -0
  208. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/file.yaml +0 -0
  209. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/folder.yaml +0 -0
  210. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/job.yaml +0 -0
  211. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/log.yaml +0 -0
  212. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/notification.yaml +0 -0
  213. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/parameter.yaml +0 -0
  214. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/project.yaml +0 -0
  215. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/report.yaml +0 -0
  216. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/schedule.yaml +0 -0
  217. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/schema.yaml +0 -0
  218. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/skill.yaml +0 -0
  219. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/snippet.yaml +0 -0
  220. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/template.yaml +0 -0
  221. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/trash.yaml +0 -0
  222. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/upgrade.yaml +0 -0
  223. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/version.yaml +0 -0
  224. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/webhook.yaml +0 -0
  225. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/workflow.yaml +0 -0
  226. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/commands/workspace.yaml +0 -0
  227. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/manifests/schema-v1.json +0 -0
  228. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/openapi/metadata.json +0 -0
  229. {mammoth_cli-2.0.48 → mammoth_cli-2.0.49}/spec/openapi/openapi.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.0.48
3
+ Version: 2.0.49
4
4
  Summary: Command-line interface for the Mammoth Analytics platform
5
5
  Project-URL: homepage, https://mammoth.io
6
6
  Project-URL: repository, https://github.com/EdgeMetric/mammothsdk
@@ -17,7 +17,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
17
  Requires-Python: <3.15,>=3.12
18
18
  Requires-Dist: jsonschema>=4.20
19
19
  Requires-Dist: keyring<26,>=25.7
20
- Requires-Dist: mammoth-io<0.8,>=0.7.20
20
+ Requires-Dist: mammoth-io<0.8,>=0.7.21
21
21
  Requires-Dist: platformdirs<5,>=4.10
22
22
  Requires-Dist: pydantic<3,>=2.13
23
23
  Requires-Dist: pyyaml<7,>=6
@@ -6,7 +6,7 @@ not implement a second HTTP client and does not call private SDK members.
6
6
 
7
7
  from __future__ import annotations
8
8
 
9
- __version__ = "2.0.48"
9
+ __version__ = "2.0.49"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mammoth-cli
3
- version: 2.0.48
3
+ version: 2.0.49
4
4
  description: "Use Mammoth Analytics from a terminal: install or authenticate the CLI, discover its live command contract, and safely manage projects, data, views, pipelines (join, merge, pivot, filter, clean), dashboards, exports, and handoffs."
5
5
  ---
6
6
 
@@ -73,7 +73,8 @@ mammoth view transform --help # every data transformation
73
73
  | Add rows to an existing dataset, or combine two sources | `file upload FILE --input '{"append_to_ds_id": DATASET_ID}'`; then `discard-duplicates` and diff `row_count` before/after ([about Mammoth](references/about-mammoth.md#view-settings-and-what-has-no-command)) |
74
74
  | Keep or remove rows | `view transform filter` |
75
75
  | Remove duplicate rows | `view transform discard-duplicates` |
76
- | Totals, counts, averages per group | `view transform pivot` |
76
+ | Totals, counts, averages per group — just to read the number | `view data aggregate` (read-only: `--input '{"group_by": [...], "aggregations": [{"column": ..., "function": "SUM"}]}'` or `{"metric": {...}}`); never add a `pivot` task just to answer a question |
77
+ | Totals, counts, averages per group — as a lasting change to the pipeline | `view transform pivot` |
77
78
  | A calculated column | `view transform math` |
78
79
  | Blanks to a constant, or to the previous row's value | `view transform set-values` (`IS_EMPTY`), `view transform fill-missing` |
79
80
  | Clean text | `view transform text`, `replace`, `bulk-replace` |
@@ -140,12 +140,15 @@ No command:
140
140
  - **Union or append two views.** There is no union task. Upload a file into
141
141
  an existing dataset with `append_to_ds_id`, or send a view's rows into an
142
142
  existing dataset with `view export dataset` (`target_ds_id` and
143
- `save_as_mode` `APPEND_TO_DS`; that mode is untried on release). A row
144
- present in both sources lands twice: note the appended view's `row_count`
145
- (`view get`), run `view transform discard-duplicates` on it (`ignore_columns`
146
- for any column you added per source, e.g. a region tag, since it would
147
- make shared rows differ), read `row_count` again, and report the
148
- difference as duplicates removed.
143
+ `save_as_mode` `APPEND_TO_DS`). An append is a standing link: it is stored
144
+ as a pipeline step of the source view, so every later re-run of that view
145
+ appends again into the target dataset, not just the first run. To stack
146
+ rows into a brand-new dataset instead of an existing one, omit
147
+ `target_ds_id`. A row present in both sources lands twice: note the
148
+ appended view's `row_count` (`view get`), run `view transform
149
+ discard-duplicates` on it (`ignore_columns` for any column you added per
150
+ source, e.g. a region tag, since it would make shared rows differ), read
151
+ `row_count` again, and report the difference as duplicates removed.
149
152
  - **Hide or reorder columns.** Display changes in the web app; they do not
150
153
  change the data.
151
154
 
@@ -34,7 +34,7 @@ Ran once: `automation.create`, `automation.delete`, `automation.list`
34
34
  | Command | State | Note |
35
35
  |---|---|---|
36
36
  | `automation.get` | observed blocker | backend_error: SUSPECTED DEFECT: automation.get on the id that automation.create returned (id=1) returns HTTP 500 empty body every time (3 retries, several seconds apart), not even |
37
- | `automation.update` | observed blocker | cli_error: CLI rejected 'name' field; error message says accepted field is 'patch' (nested patch object), not documented in agent_example |
37
+ | `automation.update` | CLI defect fixed, untried since | mammoth-io 0.7.19 / mammoth-cli 2.0.46: AutomationsAPI.update sent path=status value='resume' to the backend verbatim |
38
38
 
39
39
  ## `batch`
40
40
 
@@ -20,7 +20,8 @@ Load only the applicable domain file:
20
20
  - [config](commands/config.md) — 4 published commands
21
21
  - [connector](commands/connector.md) — 22 published commands
22
22
  - [context](commands/context.md) — 3 published commands
23
- - [dashboard](commands/dashboard.md) — 104 published commands
23
+ - [dashboard-qa](commands/dashboard-qa.md) — 13 published commands
24
+ - [dashboard](commands/dashboard.md) — 90 published commands
24
25
  - [data-app](commands/data-app.md) — 12 published commands
25
26
  - [dataset](commands/dataset.md) — 17 published commands
26
27
  - [doctor](commands/doctor.md) — 1 published commands
@@ -43,7 +44,8 @@ Load only the applicable domain file:
43
44
  - [upgrade](commands/upgrade.md) — 1 published commands
44
45
  - [user](commands/user.md) — 8 published commands
45
46
  - [version](commands/version.md) — 1 published commands
46
- - [view](commands/view.md) — 118 published commands
47
+ - [view-transform](commands/view-transform.md) — 32 published commands
48
+ - [view](commands/view.md) — 87 published commands
47
49
  - [webhook](commands/webhook.md) — 7 published commands
48
50
  - [workflow](commands/workflow.md) — 16 published commands
49
51
  - [workspace](commands/workspace.md) — 20 published commands
@@ -6,9 +6,9 @@ Every command returns the standard JSON envelope. On nonzero exit, read the erro
6
6
 
7
7
  Run: `mammoth billing chargebee-plan`. Exact input fields: `mammoth schema get billing.chargebee-plan`.
8
8
 
9
- Example: `mammoth billing chargebee-plan`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
9
+ Example: `mammoth billing chargebee-plan`. Placeholders are illustrative; resolve IDs and input from observed reads.
10
10
 
11
- Result: `BillingChargebeePlanResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
11
+ Result: `BillingChargebeePlanResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
12
12
 
13
13
  Status on release: observed blocker — backend_error: The CLI gates this GET behind --yes --confirm WORKSPACE_ID; with confirmation: HTTP 400 4SUBS014 'Chargebee plan not found for the given workspace' (workspace 4 is n. Re-check before relying on it.
14
14
 
@@ -36,9 +36,9 @@ Status on release: untried; no live run recorded.
36
36
 
37
37
  Run: `mammoth billing invoice get`. Exact input fields: `mammoth schema get billing.invoice.get`.
38
38
 
39
- Example: `mammoth billing invoice get 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
39
+ Example: `mammoth billing invoice get 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
40
40
 
41
- Result: `BillingInvoiceGetResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
41
+ Result: `BillingInvoiceGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
42
42
 
43
43
  Status on release: observed blocker — blocked_missing_fixture: The CLI gates this GET behind --yes --confirm WORKSPACE_ID; with confirmation: billing invoice list answered HTTP 500, so no invoice id was observed. Re-check before relying on it.
44
44
 
@@ -46,9 +46,9 @@ Status on release: observed blocker — blocked_missing_fixture: The CLI gates t
46
46
 
47
47
  Run: `mammoth billing invoice list`. Exact input fields: `mammoth schema get billing.invoice.list`.
48
48
 
49
- Example: `mammoth billing invoice list`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
49
+ Example: `mammoth billing invoice list`. Placeholders are illustrative; resolve IDs and input from observed reads.
50
50
 
51
- Result: `BillingInvoiceListResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
51
+ Result: `BillingInvoiceListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
52
52
 
53
53
  Status on release: observed blocker — backend_error: The CLI gates this GET behind --yes --confirm WORKSPACE_ID; with confirmation: HTTP 500 with empty body on GET /workspaces/4/subscription_v1/invoices. Re-check before relying on it.
54
54
 
@@ -96,9 +96,9 @@ Status on release: untried; no live run recorded.
96
96
 
97
97
  Run: `mammoth billing stripe get`. Exact input fields: `mammoth schema get billing.stripe.get`.
98
98
 
99
- Example: `mammoth billing stripe get`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
99
+ Example: `mammoth billing stripe get`. Placeholders are illustrative; resolve IDs and input from observed reads.
100
100
 
101
- Result: `BillingStripeGetResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
101
+ Result: `BillingStripeGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
102
102
 
103
103
  Status on release: untried; no live run recorded.
104
104
 
@@ -106,9 +106,9 @@ Status on release: untried; no live run recorded.
106
106
 
107
107
  Run: `mammoth billing stripe history`. Exact input fields: `mammoth schema get billing.stripe.history`.
108
108
 
109
- Example: `mammoth billing stripe history`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
109
+ Example: `mammoth billing stripe history`. Placeholders are illustrative; resolve IDs and input from observed reads.
110
110
 
111
- Result: `BillingStripeHistoryResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
111
+ Result: `BillingStripeHistoryResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
112
112
 
113
113
  Status on release: ran once on CLI 2.0.15 — admin read sweep 2026-09-18: exit 0 on release with CLI 2.0.15. The CLI gates this GET behind --yes --confirm WORKSPACE_ID (confirm_target policy); with confirmation: exit 0; data.billing_history Single invocation only.
114
114
 
@@ -126,9 +126,9 @@ Status on release: untried; no live run recorded.
126
126
 
127
127
  Run: `mammoth billing stripe payment-method list`. Exact input fields: `mammoth schema get billing.stripe.payment-method.list`.
128
128
 
129
- Example: `mammoth billing stripe payment-method list`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
129
+ Example: `mammoth billing stripe payment-method list`. Placeholders are illustrative; resolve IDs and input from observed reads.
130
130
 
131
- Result: `BillingStripePaymentMethodListResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
131
+ Result: `BillingStripePaymentMethodListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
132
132
 
133
133
  Status on release: ran once on CLI 2.0.15 — admin read sweep 2026-09-18: exit 0 on release with CLI 2.0.15. The CLI gates this GET behind --yes --confirm WORKSPACE_ID (confirm_target policy); with confirmation: exit 0; data.payment_methods Single invocation only.
134
134
 
@@ -156,9 +156,9 @@ Status on release: untried; no live run recorded.
156
156
 
157
157
  Run: `mammoth billing stripe preview-invoice`. Exact input fields: `mammoth schema get billing.stripe.preview-invoice`.
158
158
 
159
- Example: `mammoth billing stripe preview-invoice`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
159
+ Example: `mammoth billing stripe preview-invoice`. Placeholders are illustrative; resolve IDs and input from observed reads.
160
160
 
161
- Result: `BillingStripePreviewInvoiceResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
161
+ Result: `BillingStripePreviewInvoiceResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
162
162
 
163
163
  Status on release: observed blocker — backend_error: The CLI gates this GET behind --yes --confirm WORKSPACE_ID; with confirmation: HTTP 400 4SUBS037 'Failed to perform subscription operation'. Re-check before relying on it.
164
164
 
@@ -176,9 +176,9 @@ Status on release: untried; no live run recorded.
176
176
 
177
177
  Run: `mammoth billing stripe status`. Exact input fields: `mammoth schema get billing.stripe.status`.
178
178
 
179
- Example: `mammoth billing stripe status`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
179
+ Example: `mammoth billing stripe status`. Placeholders are illustrative; resolve IDs and input from observed reads.
180
180
 
181
- Result: `BillingStripeStatusResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
181
+ Result: `BillingStripeStatusResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
182
182
 
183
183
  Status on release: ran once on CLI 2.0.15 — admin read sweep 2026-09-18: exit 0 on release with CLI 2.0.15. The CLI gates this GET behind --yes --confirm WORKSPACE_ID (confirm_target policy); with confirmation: exit 0; data with billing_cycle, has_active_subscription, is_trial_expired, ... (20 keys) Si…
184
184
 
@@ -196,9 +196,9 @@ Status on release: untried; no live run recorded.
196
196
 
197
197
  Run: `mammoth billing stripe upcoming-invoice`. Exact input fields: `mammoth schema get billing.stripe.upcoming-invoice`.
198
198
 
199
- Example: `mammoth billing stripe upcoming-invoice`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
199
+ Example: `mammoth billing stripe upcoming-invoice`. Placeholders are illustrative; resolve IDs and input from observed reads.
200
200
 
201
- Result: `BillingStripeUpcomingInvoiceResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
201
+ Result: `BillingStripeUpcomingInvoiceResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
202
202
 
203
203
  Status on release: observed blocker — backend_error: The CLI gates this GET behind --yes --confirm WORKSPACE_ID; with confirmation: HTTP 400 4SUBS074 'Upcoming invoice not found' (no active Stripe subscription on works. Re-check before relying on it.
204
204
 
@@ -206,9 +206,9 @@ Status on release: observed blocker — backend_error: The CLI gates this GET be
206
206
 
207
207
  Run: `mammoth billing stripe usage`. Exact input fields: `mammoth schema get billing.stripe.usage`.
208
208
 
209
- Example: `mammoth billing stripe usage`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
209
+ Example: `mammoth billing stripe usage`. Placeholders are illustrative; resolve IDs and input from observed reads.
210
210
 
211
- Result: `BillingStripeUsageResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
211
+ Result: `BillingStripeUsageResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
212
212
 
213
213
  Status on release: observed blocker — backend_error: The CLI gates this GET behind --yes --confirm WORKSPACE_ID; with confirmation: HTTP 400 5GENR010 UNKNOWN_ERROR 'Unknown error occurred. Re-check before relying on it.
214
214
 
@@ -216,9 +216,9 @@ Status on release: observed blocker — backend_error: The CLI gates this GET be
216
216
 
217
217
  Run: `mammoth billing subscription get`. Exact input fields: `mammoth schema get billing.subscription.get`.
218
218
 
219
- Example: `mammoth billing subscription get`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
219
+ Example: `mammoth billing subscription get`. Placeholders are illustrative; resolve IDs and input from observed reads.
220
220
 
221
- Result: `BillingSubscriptionGetResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
221
+ Result: `BillingSubscriptionGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
222
222
 
223
223
  Status on release: ran once on CLI 2.0.15 — admin read sweep 2026-09-18: exit 0 on release with CLI 2.0.15. The CLI gates this GET behind --yes --confirm WORKSPACE_ID (confirm_target policy); with confirmation: exit 0; data with current_plan_new, next_action_info, over_limit_info, sms_details Single in…
224
224
 
@@ -0,0 +1,133 @@
1
+ # `dashboard-qa` commands
2
+
3
+ Every command returns the standard JSON envelope. On nonzero exit, read the error envelope and its `recovery_commands`; do not guess request fields. "Status on release" is joined from `docs/release-capability-matrix.json`: *ran once* means one bounded live run succeeded on the named CLI release, *untried* means nobody has run it, *not supported* means the backend refuses it. When this file disagrees with [capabilities](../capabilities.md) or a recipe, they win. Envelope shapes: [machine output](../machine-output.md).
4
+
5
+ ### `dashboard.qa.ask`
6
+
7
+ Run: `mammoth dashboard qa ask`. Exact input fields: `mammoth schema get dashboard.qa.ask`.
8
+
9
+ Example: `mammoth dashboard qa ask 123 123 --input '{"body": {"params": {"question": "Summarize revenue by region"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
10
+
11
+ Result: `DashboardQaAskResult`; mutation `benign_mutation`, confirmation `none`, wait policy `always_wait`.
12
+
13
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: answer. AI answered with kpi block and narrative text; not quota-gated Single invocation only; no error-path or variant coverage.
14
+
15
+ ### `dashboard.qa.comment.create`
16
+
17
+ Run: `mammoth dashboard qa comment create`. Exact input fields: `mammoth schema get dashboard.qa.comment.create`.
18
+
19
+ Example: `mammoth dashboard qa comment create 123 123 --input '{"body": {"params": {"body": "sample"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
20
+
21
+ Result: `DashboardQaCommentCreateResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
22
+
23
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. created comment id=1 on session 1 Single invocation only; no error-path or variant coverage.
24
+
25
+ ### `dashboard.qa.comment.delete`
26
+
27
+ Run: `mammoth dashboard qa comment delete`. Exact input fields: `mammoth schema get dashboard.qa.comment.delete`.
28
+
29
+ Example: `mammoth dashboard qa comment delete 123 123 123`. Illustrative only: append `--yes` after observing an owned target.
30
+
31
+ Result: `DashboardQaCommentDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
32
+
33
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. deleted comment 1 from session 1 Single invocation only; no error-path or variant coverage.
34
+
35
+ ### `dashboard.qa.feedback`
36
+
37
+ Run: `mammoth dashboard qa feedback`. Exact input fields: `mammoth schema get dashboard.qa.feedback`.
38
+
39
+ Example: `mammoth dashboard qa feedback 123 123 123 --input '{"body": {"params": {"rating": "up"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
40
+
41
+ Result: `DashboardQaFeedbackResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
42
+
43
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. recorded thumbs-up feedback on message id=2 Single invocation only; no error-path or variant coverage.
44
+
45
+ ### `dashboard.qa.session.create`
46
+
47
+ Run: `mammoth dashboard qa session create`. Exact input fields: `mammoth schema get dashboard.qa.session.create`.
48
+
49
+ Example: `mammoth dashboard qa session create 123 --input '{"body": {"params": {"title": "Revenue report"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
50
+
51
+ Result: `DashboardQaSessionCreateResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
52
+
53
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. created qa session id=1 on D=52 Single invocation only; no error-path or variant coverage.
54
+
55
+ ### `dashboard.qa.session.delete`
56
+
57
+ Run: `mammoth dashboard qa session delete`. Exact input fields: `mammoth schema get dashboard.qa.session.delete`.
58
+
59
+ Example: `mammoth dashboard qa session delete 123 123`. Illustrative only: append `--yes` after observing an owned target.
60
+
61
+ Result: `DashboardQaSessionDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
62
+
63
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: ok. deleted forked session 2 and original session 1, both ok:true Single invocation only; no error-path or variant coverage.
64
+
65
+ ### `dashboard.qa.session.fork`
66
+
67
+ Run: `mammoth dashboard qa session fork`. Exact input fields: `mammoth schema get dashboard.qa.session.fork`.
68
+
69
+ Example: `mammoth dashboard qa session fork 123 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
70
+
71
+ Result: `DashboardQaSessionForkResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
72
+
73
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. forked session 1 -> new session id=2 with copied messages Single invocation only; no error-path or variant coverage.
74
+
75
+ ### `dashboard.qa.session.get`
76
+
77
+ Run: `mammoth dashboard qa session get`. Exact input fields: `mammoth schema get dashboard.qa.session.get`.
78
+
79
+ Example: `mammoth dashboard qa session get 123 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
80
+
81
+ Result: `DashboardQaSessionGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
82
+
83
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. fetched session 1 Single invocation only; no error-path or variant coverage.
84
+
85
+ ### `dashboard.qa.session.list`
86
+
87
+ Run: `mammoth dashboard qa session list`. Exact input fields: `mammoth schema get dashboard.qa.session.list`.
88
+
89
+ Example: `mammoth dashboard qa session list 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
90
+
91
+ Result: `DashboardQaSessionListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
92
+
93
+ Status on release: ran once on CLI 2.0.12 — Published PyPI CLI 1.1.11 / SDK 0.7.1 Q&A session-list read succeeded for retained dashboard 48 with empty mine/shared lists. One dashboard only; not Full. Also: Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: mine, shared. 1 own s…
94
+
95
+ ### `dashboard.qa.session.rename`
96
+
97
+ Run: `mammoth dashboard qa session rename`. Exact input fields: `mammoth schema get dashboard.qa.session.rename`.
98
+
99
+ Example: `mammoth dashboard qa session rename 123 123 --input '{"body": {"params": {"title": "Revenue report"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
100
+
101
+ Result: `DashboardQaSessionRenameResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
102
+
103
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. renamed session 1 Single invocation only; no error-path or variant coverage.
104
+
105
+ ### `dashboard.qa.session.set-visibility`
106
+
107
+ Run: `mammoth dashboard qa session set-visibility`. Exact input fields: `mammoth schema get dashboard.qa.session.set-visibility`.
108
+
109
+ Example: `mammoth dashboard qa session set-visibility 123 123 --input '{"body": {"params": {"visibility": "sample"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
110
+
111
+ Result: `DashboardQaSessionSetVisibilityResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
112
+
113
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. set visibility=shared Single invocation only; no error-path or variant coverage.
114
+
115
+ ### `dashboard.qa.settings.get`
116
+
117
+ Run: `mammoth dashboard qa settings get`. Exact input fields: `mammoth schema get dashboard.qa.settings.get`.
118
+
119
+ Example: `mammoth dashboard qa settings get 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
120
+
121
+ Result: `DashboardQaSettingsGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
122
+
123
+ Status on release: ran once on CLI 2.0.12 — Published PyPI CLI 1.1.11 / SDK 0.7.1 Q&A settings read succeeded for retained dashboard 48. One dashboard only; not Full. Also: Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: allow_viewer_qa, can_manage, public_link. returned all…
124
+
125
+ ### `dashboard.qa.settings.set`
126
+
127
+ Run: `mammoth dashboard qa settings set`. Exact input fields: `mammoth schema get dashboard.qa.settings.set`.
128
+
129
+ Example: `mammoth dashboard qa settings set 123 --input '{"body": {"params": {"allow_viewer_qa": true}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
130
+
131
+ Result: `DashboardQaSettingsSetResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
132
+
133
+ Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: allow_viewer_qa, can_manage, public_link. set allow_viewer_qa=true Single invocation only; no error-path or variant coverage.
@@ -162,14 +162,6 @@ Result: `DashboardContextUpdateResult`; mutation `benign_mutation`, confirmation
162
162
 
163
163
  Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: context. renamed context 1 Single invocation only; no error-path or variant coverage.
164
164
 
165
- ### `dashboard.create`
166
-
167
- Run: `mammoth dashboard create`. Exact input fields: `mammoth schema get dashboard.create`.
168
-
169
- Example: `mammoth dashboard create 'Summarize revenue by region' --input '{"source": [1]}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
170
-
171
- Do not run: not supported — backend returns HTTP 409 4DASH012 DASHBOARD_LEGACY_CREATION_RETIRED (legacy dashboard creation retired). Use dashboard.create-blank or dashboard.v3.generate. Dashboard sweep 2026-09-18, CLI 2.0.12.
172
-
173
165
  ### `dashboard.create-blank`
174
166
 
175
167
  Run: `mammoth dashboard create-blank`. Exact input fields: `mammoth schema get dashboard.create-blank`.
@@ -438,136 +430,6 @@ Result: `DashboardPublishedVideoExportResult`; mutation `benign_mutation`, confi
438
430
 
439
431
  Status on release: observed blocker — backend_error: backend_code 4PERM002 PERMISSION_ERROR, "User lacks permission to perform given action" on POST /dashboards/url/IuZl5tk5KcEHJWTy4tnhrA/video (403). Re-check before relying on it.
440
432
 
441
- ### `dashboard.qa.ask`
442
-
443
- Run: `mammoth dashboard qa ask`. Exact input fields: `mammoth schema get dashboard.qa.ask`.
444
-
445
- Example: `mammoth dashboard qa ask 123 123 --input '{"body": {"params": {"question": "Summarize revenue by region"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
446
-
447
- Result: `DashboardQaAskResult`; mutation `benign_mutation`, confirmation `none`, wait policy `always_wait`.
448
-
449
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: answer. AI answered with kpi block and narrative text; not quota-gated Single invocation only; no error-path or variant coverage.
450
-
451
- ### `dashboard.qa.comment.create`
452
-
453
- Run: `mammoth dashboard qa comment create`. Exact input fields: `mammoth schema get dashboard.qa.comment.create`.
454
-
455
- Example: `mammoth dashboard qa comment create 123 123 --input '{"body": {"params": {"body": "sample"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
456
-
457
- Result: `DashboardQaCommentCreateResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
458
-
459
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. created comment id=1 on session 1 Single invocation only; no error-path or variant coverage.
460
-
461
- ### `dashboard.qa.comment.delete`
462
-
463
- Run: `mammoth dashboard qa comment delete`. Exact input fields: `mammoth schema get dashboard.qa.comment.delete`.
464
-
465
- Example: `mammoth dashboard qa comment delete 123 123 123`. Illustrative only: append `--yes` after observing an owned target.
466
-
467
- Result: `DashboardQaCommentDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
468
-
469
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. deleted comment 1 from session 1 Single invocation only; no error-path or variant coverage.
470
-
471
- ### `dashboard.qa.feedback`
472
-
473
- Run: `mammoth dashboard qa feedback`. Exact input fields: `mammoth schema get dashboard.qa.feedback`.
474
-
475
- Example: `mammoth dashboard qa feedback 123 123 123 --input '{"body": {"params": {"rating": "up"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
476
-
477
- Result: `DashboardQaFeedbackResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
478
-
479
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. recorded thumbs-up feedback on message id=2 Single invocation only; no error-path or variant coverage.
480
-
481
- ### `dashboard.qa.session.create`
482
-
483
- Run: `mammoth dashboard qa session create`. Exact input fields: `mammoth schema get dashboard.qa.session.create`.
484
-
485
- Example: `mammoth dashboard qa session create 123 --input '{"body": {"params": {"title": "Revenue report"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
486
-
487
- Result: `DashboardQaSessionCreateResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
488
-
489
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. created qa session id=1 on D=52 Single invocation only; no error-path or variant coverage.
490
-
491
- ### `dashboard.qa.session.delete`
492
-
493
- Run: `mammoth dashboard qa session delete`. Exact input fields: `mammoth schema get dashboard.qa.session.delete`.
494
-
495
- Example: `mammoth dashboard qa session delete 123 123`. Illustrative only: append `--yes` after observing an owned target.
496
-
497
- Result: `DashboardQaSessionDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
498
-
499
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: ok. deleted forked session 2 and original session 1, both ok:true Single invocation only; no error-path or variant coverage.
500
-
501
- ### `dashboard.qa.session.fork`
502
-
503
- Run: `mammoth dashboard qa session fork`. Exact input fields: `mammoth schema get dashboard.qa.session.fork`.
504
-
505
- Example: `mammoth dashboard qa session fork 123 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
506
-
507
- Result: `DashboardQaSessionForkResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
508
-
509
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. forked session 1 -> new session id=2 with copied messages Single invocation only; no error-path or variant coverage.
510
-
511
- ### `dashboard.qa.session.get`
512
-
513
- Run: `mammoth dashboard qa session get`. Exact input fields: `mammoth schema get dashboard.qa.session.get`.
514
-
515
- Example: `mammoth dashboard qa session get 123 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
516
-
517
- Result: `DashboardQaSessionGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
518
-
519
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. fetched session 1 Single invocation only; no error-path or variant coverage.
520
-
521
- ### `dashboard.qa.session.list`
522
-
523
- Run: `mammoth dashboard qa session list`. Exact input fields: `mammoth schema get dashboard.qa.session.list`.
524
-
525
- Example: `mammoth dashboard qa session list 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
526
-
527
- Result: `DashboardQaSessionListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
528
-
529
- Status on release: ran once on CLI 2.0.12 — Published PyPI CLI 1.1.11 / SDK 0.7.1 Q&A session-list read succeeded for retained dashboard 48 with empty mine/shared lists. One dashboard only; not Full. Also: Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: mine, shared. 1 own s…
530
-
531
- ### `dashboard.qa.session.rename`
532
-
533
- Run: `mammoth dashboard qa session rename`. Exact input fields: `mammoth schema get dashboard.qa.session.rename`.
534
-
535
- Example: `mammoth dashboard qa session rename 123 123 --input '{"body": {"params": {"title": "Revenue report"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
536
-
537
- Result: `DashboardQaSessionRenameResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
538
-
539
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. renamed session 1 Single invocation only; no error-path or variant coverage.
540
-
541
- ### `dashboard.qa.session.set-visibility`
542
-
543
- Run: `mammoth dashboard qa session set-visibility`. Exact input fields: `mammoth schema get dashboard.qa.session.set-visibility`.
544
-
545
- Example: `mammoth dashboard qa session set-visibility 123 123 --input '{"body": {"params": {"visibility": "sample"}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
546
-
547
- Result: `DashboardQaSessionSetVisibilityResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
548
-
549
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: session. set visibility=shared Single invocation only; no error-path or variant coverage.
550
-
551
- ### `dashboard.qa.settings.get`
552
-
553
- Run: `mammoth dashboard qa settings get`. Exact input fields: `mammoth schema get dashboard.qa.settings.get`.
554
-
555
- Example: `mammoth dashboard qa settings get 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
556
-
557
- Result: `DashboardQaSettingsGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
558
-
559
- Status on release: ran once on CLI 2.0.12 — Published PyPI CLI 1.1.11 / SDK 0.7.1 Q&A settings read succeeded for retained dashboard 48. One dashboard only; not Full. Also: Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: allow_viewer_qa, can_manage, public_link. returned all…
560
-
561
- ### `dashboard.qa.settings.set`
562
-
563
- Run: `mammoth dashboard qa settings set`. Exact input fields: `mammoth schema get dashboard.qa.settings.set`.
564
-
565
- Example: `mammoth dashboard qa settings set 123 --input '{"body": {"params": {"allow_viewer_qa": true}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
566
-
567
- Result: `DashboardQaSettingsSetResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
568
-
569
- Status on release: ran once on CLI 2.0.12 — Dashboard sweep 2026-09-18: exit 0 on release with CLI 2.0.12; result keys: allow_viewer_qa, can_manage, public_link. set allow_viewer_qa=true Single invocation only; no error-path or variant coverage.
570
-
571
433
  ### `dashboard.query`
572
434
 
573
435
  Run: `mammoth dashboard query`. Exact input fields: `mammoth schema get dashboard.query`.