mammoth-cli 2.0.54__tar.gz → 2.0.55__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.54 → mammoth_cli-2.0.55}/.gitignore +1 -0
  2. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/PKG-INFO +2 -2
  3. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/__init__.py +1 -1
  4. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +1 -1
  5. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +2 -2
  6. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +80 -0
  7. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +33 -0
  8. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/registry.py +8 -0
  9. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/schema.py +8 -2
  10. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/pyproject.toml +2 -2
  11. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/dashboard.yaml +327 -0
  12. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/sdk-catalog.source.yaml +72 -0
  13. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/sdk-methods.yaml +109 -0
  14. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/LICENSE +0 -0
  15. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/README.md +0 -0
  16. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/__main__.py +0 -0
  17. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/app.py +0 -0
  18. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  19. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  20. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  21. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  22. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  23. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  24. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  25. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  26. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  27. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  28. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  29. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  30. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  31. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  32. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  33. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  34. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  35. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  36. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  37. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  38. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  39. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  40. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  41. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  42. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  43. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  44. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  45. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  46. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  47. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  48. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  49. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  50. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  51. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  52. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  53. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  54. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  55. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  56. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  57. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  58. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  59. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  60. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  61. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  62. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  63. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  64. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  65. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  66. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  67. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  68. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  69. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  70. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  71. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  72. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  73. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  74. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  75. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  76. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  77. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  78. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  79. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  80. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  81. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  82. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  83. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  84. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  85. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  86. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/__init__.py +0 -0
  87. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/activity.py +0 -0
  88. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/addon.py +0 -0
  89. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/agent.py +0 -0
  90. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/ai.py +0 -0
  91. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/annotation.py +0 -0
  92. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/auth.py +0 -0
  93. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/automation.py +0 -0
  94. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/batch.py +0 -0
  95. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/billing.py +0 -0
  96. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/browse.py +0 -0
  97. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/capability.py +0 -0
  98. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/client_app.py +0 -0
  99. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/completion.py +0 -0
  100. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/config.py +0 -0
  101. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/connector.py +0 -0
  102. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/context.py +0 -0
  103. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/dashboard.py +0 -0
  104. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/data_app.py +0 -0
  105. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/dataset.py +0 -0
  106. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/doctor.py +0 -0
  107. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/external_key.py +0 -0
  108. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/file.py +0 -0
  109. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/folder.py +0 -0
  110. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/job.py +0 -0
  111. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/notification.py +0 -0
  112. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/parameter.py +0 -0
  113. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/project.py +0 -0
  114. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/report.py +0 -0
  115. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/schedule.py +0 -0
  116. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/skill.py +0 -0
  117. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/snippet.py +0 -0
  118. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/support.py +0 -0
  119. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/template.py +0 -0
  120. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/trash.py +0 -0
  121. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/upgrade.py +0 -0
  122. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/user.py +0 -0
  123. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/view.py +0 -0
  124. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/view_ops.py +0 -0
  125. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/webhook.py +0 -0
  126. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/workflow.py +0 -0
  127. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/commands/workspace.py +0 -0
  128. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/context/__init__.py +0 -0
  129. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/context/credentials.py +0 -0
  130. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/context/endpoint.py +0 -0
  131. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/context/profiles.py +0 -0
  132. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/context/resolver.py +0 -0
  133. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/contracts/__init__.py +0 -0
  134. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/contracts/auth.py +0 -0
  135. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/embed.py +0 -0
  136. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/errors/__init__.py +0 -0
  137. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/errors/envelope.py +0 -0
  138. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/manifest/__init__.py +0 -0
  139. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/manifest/loader.py +0 -0
  140. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/messages/__init__.py +0 -0
  141. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/output/__init__.py +0 -0
  142. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/output/envelope.py +0 -0
  143. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/output/normalize.py +0 -0
  144. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/output/policy.py +0 -0
  145. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/output/progress.py +0 -0
  146. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/output/render.py +0 -0
  147. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/py.typed +0 -0
  148. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/__init__.py +0 -0
  149. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/confirm.py +0 -0
  150. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/dryrun.py +0 -0
  151. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/embedded.py +0 -0
  152. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/executor.py +0 -0
  153. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/input_loader.py +0 -0
  154. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/invocation.py +0 -0
  155. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/options.py +0 -0
  156. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/parents.py +0 -0
  157. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/runlog.py +0 -0
  158. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/session.py +0 -0
  159. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/strict.py +0 -0
  160. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/updates.py +0 -0
  161. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/runtime/validate.py +0 -0
  162. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/__init__.py +0 -0
  163. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/argspec.py +0 -0
  164. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/coerce.py +0 -0
  165. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/command_contract.py +0 -0
  166. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/conditions.py +0 -0
  167. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/dashboard_pages.py +0 -0
  168. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/dashboard_review.py +0 -0
  169. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/data_quality.py +0 -0
  170. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/dispatch.py +0 -0
  171. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/factory.py +0 -0
  172. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/input_fields.py +0 -0
  173. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/mapping.py +0 -0
  174. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/openapi_types.py +0 -0
  175. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/positionals.py +0 -0
  176. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/protocol.py +0 -0
  177. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/sdk_service.py +0 -0
  178. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/testing.py +0 -0
  179. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/services/type_system.py +0 -0
  180. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/skills/__init__.py +0 -0
  181. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/skills/installer.py +0 -0
  182. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/skills/steering.py +0 -0
  183. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/mammoth_cli/testing.py +0 -0
  184. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/activity.yaml +0 -0
  185. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/addon.yaml +0 -0
  186. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/agent.yaml +0 -0
  187. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/ai.yaml +0 -0
  188. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/annotation.yaml +0 -0
  189. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/auth.yaml +0 -0
  190. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/automation.yaml +0 -0
  191. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/batch.yaml +0 -0
  192. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/billing.yaml +0 -0
  193. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/browse.yaml +0 -0
  194. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/capability.yaml +0 -0
  195. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/client-app.yaml +0 -0
  196. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/completion.yaml +0 -0
  197. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/config.yaml +0 -0
  198. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/connector.yaml +0 -0
  199. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/context.yaml +0 -0
  200. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/data-app.yaml +0 -0
  201. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/dataset.yaml +0 -0
  202. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/doctor.yaml +0 -0
  203. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/external-key.yaml +0 -0
  204. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/file.yaml +0 -0
  205. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/folder.yaml +0 -0
  206. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/job.yaml +0 -0
  207. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/log.yaml +0 -0
  208. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/notification.yaml +0 -0
  209. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/parameter.yaml +0 -0
  210. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/project.yaml +0 -0
  211. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/report.yaml +0 -0
  212. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/schedule.yaml +0 -0
  213. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/schema.yaml +0 -0
  214. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/skill.yaml +0 -0
  215. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/snippet.yaml +0 -0
  216. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/support.yaml +0 -0
  217. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/template.yaml +0 -0
  218. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/trash.yaml +0 -0
  219. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/upgrade.yaml +0 -0
  220. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/user.yaml +0 -0
  221. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/version.yaml +0 -0
  222. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/view.yaml +0 -0
  223. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/webhook.yaml +0 -0
  224. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/workflow.yaml +0 -0
  225. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/commands/workspace.yaml +0 -0
  226. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/openapi-operations.yaml +0 -0
  227. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/manifests/schema-v1.json +0 -0
  228. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/openapi/metadata.json +0 -0
  229. {mammoth_cli-2.0.54 → mammoth_cli-2.0.55}/spec/openapi/openapi.json +0 -0
@@ -11,3 +11,4 @@ build/
11
11
  .ruff_cache/
12
12
  __pycache__/
13
13
  .coverage
14
+ release-assets/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.0.54
3
+ Version: 2.0.55
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.25
20
+ Requires-Dist: mammoth-io<0.8,>=0.7.26
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.54"
9
+ __version__ = "2.0.55"
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.54
3
+ version: 2.0.55
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
 
@@ -1,6 +1,6 @@
1
1
  # Published CLI command catalog
2
2
 
3
- This generated catalog is a lookup table for every command in the published CLI manifest, currently 557; each entry carries its release status line. It is a command-contract index, not an assertion that every backend/OpenAPI operation has a CLI binding. For an exact local CLI contract, run `mammoth schema get COMMAND_ID`; `mammoth capability list` is an API-binding inventory and can omit typed/local CLI routes. For focused workflows, read the [recipes index](recipes/index.md). Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
3
+ This generated catalog is a lookup table for every command in the published CLI manifest, currently 565; each entry carries its release status line. It is a command-contract index, not an assertion that every backend/OpenAPI operation has a CLI binding. For an exact local CLI contract, run `mammoth schema get COMMAND_ID`; `mammoth capability list` is an API-binding inventory and can omit typed/local CLI routes. For focused workflows, read the [recipes index](recipes/index.md). Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
4
4
 
5
5
  Load only the applicable domain file:
6
6
 
@@ -21,7 +21,7 @@ Load only the applicable domain file:
21
21
  - [connector](commands/connector.md) — 22 published commands
22
22
  - [context](commands/context.md) — 3 published commands
23
23
  - [dashboard-qa](commands/dashboard-qa.md) — 13 published commands
24
- - [dashboard](commands/dashboard.md) — 90 published commands
24
+ - [dashboard](commands/dashboard.md) — 98 published commands
25
25
  - [data-app](commands/data-app.md) — 12 published commands
26
26
  - [dataset](commands/dataset.md) — 17 published commands
27
27
  - [doctor](commands/doctor.md) — 1 published commands
@@ -222,6 +222,86 @@ Result: `DashboardDuplicateResult`; mutation `benign_mutation`, confirmation `no
222
222
 
223
223
  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: id. duplicated D=52 -> D2=54 Single invocation only; no error-path or variant coverage.
224
224
 
225
+ ### `dashboard.embed.config.get`
226
+
227
+ Run: `mammoth dashboard embed config get`. Exact input fields: `mammoth schema get dashboard.embed.config.get`.
228
+
229
+ Example: `mammoth dashboard embed config get 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
230
+
231
+ Result: `DashboardEmbedConfigGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
232
+
233
+ Status on release: untried; no live run recorded.
234
+
235
+ ### `dashboard.embed.config.set`
236
+
237
+ Run: `mammoth dashboard embed config set`. Exact input fields: `mammoth schema get dashboard.embed.config.set`.
238
+
239
+ Example: `mammoth dashboard embed config set 123 --yes --confirm 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
240
+
241
+ Result: `DashboardEmbedConfigSetResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
242
+
243
+ Status on release: untried; no live run recorded.
244
+
245
+ ### `dashboard.embed.key.rotate`
246
+
247
+ Run: `mammoth dashboard embed key rotate`. Exact input fields: `mammoth schema get dashboard.embed.key.rotate`.
248
+
249
+ Example: `mammoth dashboard embed key rotate 123 --yes --confirm 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
250
+
251
+ Result: `DashboardEmbedKeyRotateResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
252
+
253
+ Status on release: untried; no live run recorded.
254
+
255
+ ### `dashboard.embed.lifetime.set`
256
+
257
+ Run: `mammoth dashboard embed lifetime set`. Exact input fields: `mammoth schema get dashboard.embed.lifetime.set`.
258
+
259
+ Example: `mammoth dashboard embed lifetime set 123 --input '{"token_ttl": 1}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
260
+
261
+ Result: `DashboardEmbedLifetimeSetResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
262
+
263
+ Status on release: untried; no live run recorded.
264
+
265
+ ### `dashboard.embed.origin.revoke`
266
+
267
+ Run: `mammoth dashboard embed origin revoke`. Exact input fields: `mammoth schema get dashboard.embed.origin.revoke`.
268
+
269
+ Example: `mammoth dashboard embed origin revoke 123 --input '{"origin": "sample"}' --yes --confirm 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
270
+
271
+ Result: `DashboardEmbedOriginRevokeResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
272
+
273
+ Status on release: untried; no live run recorded.
274
+
275
+ ### `dashboard.embed.preview-token.create`
276
+
277
+ Run: `mammoth dashboard embed preview-token create`. Exact input fields: `mammoth schema get dashboard.embed.preview-token.create`.
278
+
279
+ Example: `mammoth dashboard embed preview-token create 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
280
+
281
+ Result: `DashboardEmbedPreviewTokenCreateResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
282
+
283
+ Status on release: untried; no live run recorded.
284
+
285
+ ### `dashboard.embed.secret.rotate`
286
+
287
+ Run: `mammoth dashboard embed secret rotate`. Exact input fields: `mammoth schema get dashboard.embed.secret.rotate`.
288
+
289
+ Example: `mammoth dashboard embed secret rotate 123 --yes --confirm 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
290
+
291
+ Result: `DashboardEmbedSecretRotateResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
292
+
293
+ Status on release: untried; no live run recorded.
294
+
295
+ ### `dashboard.embed.usage.get`
296
+
297
+ Run: `mammoth dashboard embed usage get`. Exact input fields: `mammoth schema get dashboard.embed.usage.get`.
298
+
299
+ Example: `mammoth dashboard embed usage get 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
300
+
301
+ Result: `DashboardEmbedUsageGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
302
+
303
+ Status on release: untried; no live run recorded.
304
+
225
305
  ### `dashboard.exemplar.extract`
226
306
 
227
307
  Run: `mammoth dashboard exemplar extract`. Exact input fields: `mammoth schema get dashboard.exemplar.extract`.
@@ -155,3 +155,36 @@ before that they return 404 `DASHBOARD_NOT_FOUND`. Legacy widget routes
155
155
  `video export` needs a motion-story dashboard. Revert the share
156
156
  (`type_of_auth: "mammoth"`) before trashing a temporary dashboard.
157
157
 
158
+ ## Embedding a board on a third-party page
159
+
160
+ `dashboard embed config get DASHBOARD_ID` reads the board's embed settings
161
+ (mode, origin allowlist, the `embed_url`/`sdk_url` a snippet needs); the first
162
+ read on a non-public board without a key auto-mints one, so there is always a
163
+ key to copy. `dashboard embed config set DASHBOARD_ID --yes --confirm
164
+ DASHBOARD_ID --input '{"allow_any_origin": false, "allowed_origins":
165
+ ["https://intranet.example.com"]}'` restricts which sites may frame it —
166
+ `allow_any_origin` defaults to true (any site). `mode: "signed"` requires a
167
+ host-signed token instead of the board's key, and only applies while the
168
+ board has no public link. `config set` is a `confirm_target` command, like
169
+ `dashboard archive`: it can expose the board outside Mammoth (enabling
170
+ embedding or widening the allowlist) or break every live embed on that board
171
+ (disabling it or narrowing the allowlist).
172
+
173
+ `dashboard embed key rotate DASHBOARD_ID --yes --confirm DASHBOARD_ID`
174
+ replaces the board's embed key (the old key keeps working for 24h unless
175
+ `keep_previous: false` is passed) — also `confirm_target`. `dashboard embed
176
+ origin revoke DASHBOARD_ID --yes --confirm DASHBOARD_ID --input
177
+ '{"origin": "https://old.example.com"}'` removes one origin from the
178
+ allowlist without touching the rest — also `confirm_target`: it immediately
179
+ breaks the embed on that origin's site. `dashboard embed usage get
180
+ DASHBOARD_ID` reports per-origin render counts and health from the embed
181
+ registry. `dashboard embed preview-token create DASHBOARD_ID` mints a
182
+ short-lived signed token for testing a row-level-security-scoped embed
183
+ before publishing.
184
+
185
+ Two settings are workspace-scoped, not board-scoped: `dashboard embed secret
186
+ rotate WORKSPACE_ID --yes --confirm WORKSPACE_ID` (also `confirm_target`;
187
+ returns the plaintext signing secret once, never on a read) and `dashboard
188
+ embed lifetime set WORKSPACE_ID --input '{"token_ttl": 900}'` (60-3600
189
+ seconds, how long a minted embed viewer session lives).
190
+
@@ -376,6 +376,14 @@ HANDLERS: dict[str, Handler] = {
376
376
  "dashboard.assess-twb": dashboard_cmd.dashboard_assess_twb,
377
377
  "dashboard.assess-pbix": dashboard_cmd.dashboard_assess_pbix,
378
378
  "dashboard.import-workbook": dashboard_cmd.dashboard_import_workbook,
379
+ "dashboard.embed.config.get": dashboard_cmd.generated_dashboard,
380
+ "dashboard.embed.config.set": dashboard_cmd.generated_dashboard,
381
+ "dashboard.embed.key.rotate": dashboard_cmd.generated_dashboard,
382
+ "dashboard.embed.usage.get": dashboard_cmd.generated_dashboard,
383
+ "dashboard.embed.origin.revoke": dashboard_cmd.generated_dashboard,
384
+ "dashboard.embed.preview-token.create": dashboard_cmd.generated_dashboard,
385
+ "dashboard.embed.secret.rotate": dashboard_cmd.generated_dashboard,
386
+ "dashboard.embed.lifetime.set": dashboard_cmd.generated_dashboard,
379
387
  # workflow family
380
388
  "workflow.block.add": workflow_cmd.workflow_block_add,
381
389
  "workflow.block.auth": workflow_cmd.workflow_block_auth,
@@ -893,8 +893,14 @@ def runnable_example(
893
893
  # their manifests advertise; otherwise discovery emits a command that
894
894
  # deterministically fails before dispatch.
895
895
  tokens.append("--yes")
896
- if record["command_id"] == "project.resource-dependencies.update":
897
- # This command has a confirm_target policy. Keep its generated
896
+ if record["command_id"] in {
897
+ "project.resource-dependencies.update",
898
+ "dashboard.embed.key.rotate",
899
+ "dashboard.embed.secret.rotate",
900
+ "dashboard.embed.config.set",
901
+ "dashboard.embed.origin.revoke",
902
+ }:
903
+ # These commands have a confirm_target policy. Keep their generated
898
904
  # example executable in non-interactive mode instead of advertising a
899
905
  # request that the safety guard will reject.
900
906
  tokens.extend(["--yes", "--confirm", str(_sample_positional_value(positionals[0]))])
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.0.54"
3
+ version = "2.0.55"
4
4
  description = "Command-line interface for the Mammoth Analytics platform"
5
5
  authors = [{name = "Mammoth Analytics", email = "support@mammoth.io"}]
6
6
  readme = "README.md"
7
7
  license = "LicenseRef-Proprietary"
8
8
  requires-python = ">=3.12,<3.15"
9
9
  dependencies = [
10
- "mammoth-io (>=0.7.25,<0.8)",
10
+ "mammoth-io (>=0.7.26,<0.8)",
11
11
  "typer (>=0.27,<0.28)",
12
12
  "rich (>=15,<16)",
13
13
  "platformdirs (>=4.10,<5)",
@@ -864,6 +864,333 @@ commands:
864
864
  undo_test: null
865
865
  known_restrictions: null
866
866
  reviewed_by: primary
867
+ - command_id: dashboard.embed.config.get
868
+ command_path: dashboard embed config get
869
+ disposition: command
870
+ alias_of: null
871
+ operation_ids:
872
+ - GetEmbedConfig
873
+ positionals:
874
+ - name: dashboard_id
875
+ type: int
876
+ required: true
877
+ metavar: DASHBOARD_ID
878
+ falls_back_to_field: null
879
+ help: ID of the dashboard.
880
+ options: []
881
+ sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_config_get
882
+ sdk_conversion: Call mammoth.api.dashboards.DashboardsAPI.embed_config_get with validated request fields.
883
+ request_model: DashboardEmbedConfigGetRequest
884
+ result_model: DashboardEmbedConfigGetResult
885
+ mutation_class: read
886
+ confirmation: none
887
+ wait_policy: not_async
888
+ pagination_policy: none
889
+ acceptance_evidence: live_read_only
890
+ live_test: LT-DASHBOARD-EMBED-CONFIG-GET
891
+ live_exemption_reason: null
892
+ contract_fixture: null
893
+ required_fixture_guard: null
894
+ secret_fields: []
895
+ human_example: mammoth dashboard embed config get DASHBOARD_ID --help
896
+ agent_example: 'mammoth dashboard embed config get 123'
897
+ unit_tests:
898
+ - UT-DASHBOARD-EMBED-CONFIG-GET
899
+ contract_tests:
900
+ - CT-DASHBOARD-EMBED-CONFIG-GET-HUMAN
901
+ - CT-DASHBOARD-EMBED-CONFIG-GET-JSON
902
+ - CT-DASHBOARD-EMBED-CONFIG-GET-ERROR
903
+ draft_test: null
904
+ undo_test: null
905
+ known_restrictions: null
906
+ reviewed_by: primary
907
+
908
+ - command_id: dashboard.embed.config.set
909
+ command_path: dashboard embed config set
910
+ disposition: command
911
+ alias_of: null
912
+ operation_ids:
913
+ - PutEmbedConfig
914
+ positionals:
915
+ - name: dashboard_id
916
+ type: int
917
+ required: true
918
+ metavar: DASHBOARD_ID
919
+ falls_back_to_field: null
920
+ help: ID of the dashboard.
921
+ options: []
922
+ sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_config_set
923
+ sdk_conversion: Call mammoth.api.dashboards.DashboardsAPI.embed_config_set with validated request fields.
924
+ request_model: DashboardEmbedConfigSetRequest
925
+ result_model: DashboardEmbedConfigSetResult
926
+ mutation_class: high_impact
927
+ confirmation: confirm_target
928
+ wait_policy: not_async
929
+ pagination_policy: none
930
+ acceptance_evidence: contract_only_no_disposable_fixture
931
+ live_test: null
932
+ live_exemption_reason: Dashboard mutation has contract coverage but no automated disposable-dashboard fixture in tests/live.
933
+ contract_fixture: null
934
+ required_fixture_guard: null
935
+ secret_fields: []
936
+ human_example: mammoth dashboard embed config set DASHBOARD_ID --help
937
+ agent_example: mammoth dashboard embed config set 123 --yes --confirm 123
938
+ unit_tests:
939
+ - UT-DASHBOARD-EMBED-CONFIG-SET
940
+ contract_tests:
941
+ - CT-DASHBOARD-EMBED-CONFIG-SET-HUMAN
942
+ - CT-DASHBOARD-EMBED-CONFIG-SET-JSON
943
+ - CT-DASHBOARD-EMBED-CONFIG-SET-ERROR
944
+ draft_test: null
945
+ undo_test: null
946
+ known_restrictions: null
947
+ reviewed_by: primary
948
+
949
+ - command_id: dashboard.embed.key.rotate
950
+ command_path: dashboard embed key rotate
951
+ disposition: command
952
+ alias_of: null
953
+ operation_ids:
954
+ - RotateEmbedKey
955
+ positionals:
956
+ - name: dashboard_id
957
+ type: int
958
+ required: true
959
+ metavar: DASHBOARD_ID
960
+ falls_back_to_field: null
961
+ help: ID of the dashboard.
962
+ options: []
963
+ sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_key_rotate
964
+ sdk_conversion: Call mammoth.api.dashboards.DashboardsAPI.embed_key_rotate with validated request fields.
965
+ request_model: DashboardEmbedKeyRotateRequest
966
+ result_model: DashboardEmbedKeyRotateResult
967
+ mutation_class: high_impact
968
+ confirmation: confirm_target
969
+ wait_policy: not_async
970
+ pagination_policy: none
971
+ acceptance_evidence: contract_only_high_impact
972
+ live_test: null
973
+ live_exemption_reason: High-impact or external-effect operation without a disposable fixture.
974
+ contract_fixture: null
975
+ required_fixture_guard: null
976
+ secret_fields: []
977
+ human_example: mammoth dashboard embed key rotate DASHBOARD_ID --help
978
+ agent_example: 'mammoth dashboard embed key rotate 123 --yes --confirm 123'
979
+ unit_tests:
980
+ - UT-DASHBOARD-EMBED-KEY-ROTATE
981
+ contract_tests:
982
+ - CT-DASHBOARD-EMBED-KEY-ROTATE-HUMAN
983
+ - CT-DASHBOARD-EMBED-KEY-ROTATE-JSON
984
+ - CT-DASHBOARD-EMBED-KEY-ROTATE-ERROR
985
+ draft_test: null
986
+ undo_test: null
987
+ known_restrictions: null
988
+ reviewed_by: primary
989
+
990
+ - command_id: dashboard.embed.usage.get
991
+ command_path: dashboard embed usage get
992
+ disposition: command
993
+ alias_of: null
994
+ operation_ids:
995
+ - GetEmbedUsage
996
+ positionals:
997
+ - name: dashboard_id
998
+ type: int
999
+ required: true
1000
+ metavar: DASHBOARD_ID
1001
+ falls_back_to_field: null
1002
+ help: ID of the dashboard.
1003
+ options: []
1004
+ sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_usage_get
1005
+ sdk_conversion: Call mammoth.api.dashboards.DashboardsAPI.embed_usage_get with validated request fields.
1006
+ request_model: DashboardEmbedUsageGetRequest
1007
+ result_model: DashboardEmbedUsageGetResult
1008
+ mutation_class: read
1009
+ confirmation: none
1010
+ wait_policy: not_async
1011
+ pagination_policy: none
1012
+ acceptance_evidence: live_read_only
1013
+ live_test: LT-DASHBOARD-EMBED-USAGE-GET
1014
+ live_exemption_reason: null
1015
+ contract_fixture: null
1016
+ required_fixture_guard: null
1017
+ secret_fields: []
1018
+ human_example: mammoth dashboard embed usage get DASHBOARD_ID --help
1019
+ agent_example: 'mammoth dashboard embed usage get 123'
1020
+ unit_tests:
1021
+ - UT-DASHBOARD-EMBED-USAGE-GET
1022
+ contract_tests:
1023
+ - CT-DASHBOARD-EMBED-USAGE-GET-HUMAN
1024
+ - CT-DASHBOARD-EMBED-USAGE-GET-JSON
1025
+ - CT-DASHBOARD-EMBED-USAGE-GET-ERROR
1026
+ draft_test: null
1027
+ undo_test: null
1028
+ known_restrictions: null
1029
+ reviewed_by: primary
1030
+
1031
+ - command_id: dashboard.embed.origin.revoke
1032
+ command_path: dashboard embed origin revoke
1033
+ disposition: command
1034
+ alias_of: null
1035
+ operation_ids:
1036
+ - RevokeOrigin
1037
+ positionals:
1038
+ - name: dashboard_id
1039
+ type: int
1040
+ required: true
1041
+ metavar: DASHBOARD_ID
1042
+ falls_back_to_field: null
1043
+ help: ID of the dashboard.
1044
+ options: []
1045
+ sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_origin_revoke
1046
+ sdk_conversion: Call mammoth.api.dashboards.DashboardsAPI.embed_origin_revoke with validated request fields.
1047
+ request_model: DashboardEmbedOriginRevokeRequest
1048
+ result_model: DashboardEmbedOriginRevokeResult
1049
+ mutation_class: high_impact
1050
+ confirmation: confirm_target
1051
+ wait_policy: not_async
1052
+ pagination_policy: none
1053
+ acceptance_evidence: contract_only_no_disposable_fixture
1054
+ live_test: null
1055
+ live_exemption_reason: Dashboard mutation has contract coverage but no automated disposable-dashboard fixture in tests/live.
1056
+ contract_fixture: null
1057
+ required_fixture_guard: null
1058
+ secret_fields: []
1059
+ human_example: mammoth dashboard embed origin revoke DASHBOARD_ID --help
1060
+ agent_example: 'mammoth dashboard embed origin revoke 123 --input ''{"origin": "sample"}'' --yes --confirm 123'
1061
+ unit_tests:
1062
+ - UT-DASHBOARD-EMBED-ORIGIN-REVOKE
1063
+ contract_tests:
1064
+ - CT-DASHBOARD-EMBED-ORIGIN-REVOKE-HUMAN
1065
+ - CT-DASHBOARD-EMBED-ORIGIN-REVOKE-JSON
1066
+ - CT-DASHBOARD-EMBED-ORIGIN-REVOKE-ERROR
1067
+ draft_test: null
1068
+ undo_test: null
1069
+ known_restrictions: null
1070
+ reviewed_by: primary
1071
+
1072
+ - command_id: dashboard.embed.preview-token.create
1073
+ command_path: dashboard embed preview-token create
1074
+ disposition: command
1075
+ alias_of: null
1076
+ operation_ids:
1077
+ - PreviewToken
1078
+ positionals:
1079
+ - name: dashboard_id
1080
+ type: int
1081
+ required: true
1082
+ metavar: DASHBOARD_ID
1083
+ falls_back_to_field: null
1084
+ help: ID of the dashboard.
1085
+ options: []
1086
+ sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_preview_token_create
1087
+ sdk_conversion: Call mammoth.api.dashboards.DashboardsAPI.embed_preview_token_create with validated request fields.
1088
+ request_model: DashboardEmbedPreviewTokenCreateRequest
1089
+ result_model: DashboardEmbedPreviewTokenCreateResult
1090
+ mutation_class: benign_mutation
1091
+ confirmation: none
1092
+ wait_policy: not_async
1093
+ pagination_policy: none
1094
+ acceptance_evidence: contract_only_no_disposable_fixture
1095
+ live_test: null
1096
+ live_exemption_reason: Dashboard mutation has contract coverage but no automated disposable-dashboard fixture in tests/live.
1097
+ contract_fixture: null
1098
+ required_fixture_guard: null
1099
+ secret_fields: []
1100
+ human_example: mammoth dashboard embed preview-token create DASHBOARD_ID --help
1101
+ agent_example: mammoth dashboard embed preview-token create 123
1102
+ unit_tests:
1103
+ - UT-DASHBOARD-EMBED-PREVIEW-TOKEN-CREATE
1104
+ contract_tests:
1105
+ - CT-DASHBOARD-EMBED-PREVIEW-TOKEN-CREATE-HUMAN
1106
+ - CT-DASHBOARD-EMBED-PREVIEW-TOKEN-CREATE-JSON
1107
+ - CT-DASHBOARD-EMBED-PREVIEW-TOKEN-CREATE-ERROR
1108
+ draft_test: null
1109
+ undo_test: null
1110
+ known_restrictions: null
1111
+ reviewed_by: primary
1112
+
1113
+ - command_id: dashboard.embed.secret.rotate
1114
+ command_path: dashboard embed secret rotate
1115
+ disposition: command
1116
+ alias_of: null
1117
+ operation_ids:
1118
+ - RotateEmbedSecret
1119
+ positionals:
1120
+ - name: workspace_id
1121
+ type: int
1122
+ required: true
1123
+ metavar: WORKSPACE_ID
1124
+ falls_back_to_field: null
1125
+ help: ID of the workspace.
1126
+ options: []
1127
+ sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_secret_rotate
1128
+ sdk_conversion: Call mammoth.api.dashboards.DashboardsAPI.embed_secret_rotate with validated request fields.
1129
+ request_model: DashboardEmbedSecretRotateRequest
1130
+ result_model: DashboardEmbedSecretRotateResult
1131
+ mutation_class: high_impact
1132
+ confirmation: confirm_target
1133
+ wait_policy: not_async
1134
+ pagination_policy: none
1135
+ acceptance_evidence: contract_only_high_impact
1136
+ live_test: null
1137
+ live_exemption_reason: High-impact or external-effect operation without a disposable fixture.
1138
+ contract_fixture: null
1139
+ required_fixture_guard: null
1140
+ secret_fields: []
1141
+ human_example: mammoth dashboard embed secret rotate WORKSPACE_ID --help
1142
+ agent_example: 'mammoth dashboard embed secret rotate 123 --yes --confirm 123'
1143
+ unit_tests:
1144
+ - UT-DASHBOARD-EMBED-SECRET-ROTATE
1145
+ contract_tests:
1146
+ - CT-DASHBOARD-EMBED-SECRET-ROTATE-HUMAN
1147
+ - CT-DASHBOARD-EMBED-SECRET-ROTATE-JSON
1148
+ - CT-DASHBOARD-EMBED-SECRET-ROTATE-ERROR
1149
+ draft_test: null
1150
+ undo_test: null
1151
+ known_restrictions: null
1152
+ reviewed_by: primary
1153
+
1154
+ - command_id: dashboard.embed.lifetime.set
1155
+ command_path: dashboard embed lifetime set
1156
+ disposition: command
1157
+ alias_of: null
1158
+ operation_ids:
1159
+ - SetEmbedLifetime
1160
+ positionals:
1161
+ - name: workspace_id
1162
+ type: int
1163
+ required: true
1164
+ metavar: WORKSPACE_ID
1165
+ falls_back_to_field: null
1166
+ help: ID of the workspace.
1167
+ options: []
1168
+ sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_lifetime_set
1169
+ sdk_conversion: Call mammoth.api.dashboards.DashboardsAPI.embed_lifetime_set with validated request fields.
1170
+ request_model: DashboardEmbedLifetimeSetRequest
1171
+ result_model: DashboardEmbedLifetimeSetResult
1172
+ mutation_class: benign_mutation
1173
+ confirmation: none
1174
+ wait_policy: not_async
1175
+ pagination_policy: none
1176
+ acceptance_evidence: contract_only_no_disposable_fixture
1177
+ live_test: null
1178
+ live_exemption_reason: Dashboard mutation has contract coverage but no automated disposable-dashboard fixture in tests/live.
1179
+ contract_fixture: null
1180
+ required_fixture_guard: null
1181
+ secret_fields: []
1182
+ human_example: mammoth dashboard embed lifetime set WORKSPACE_ID --help
1183
+ agent_example: 'mammoth dashboard embed lifetime set 123 --input ''{"token_ttl": 1}'''
1184
+ unit_tests:
1185
+ - UT-DASHBOARD-EMBED-LIFETIME-SET
1186
+ contract_tests:
1187
+ - CT-DASHBOARD-EMBED-LIFETIME-SET-HUMAN
1188
+ - CT-DASHBOARD-EMBED-LIFETIME-SET-JSON
1189
+ - CT-DASHBOARD-EMBED-LIFETIME-SET-ERROR
1190
+ draft_test: null
1191
+ undo_test: null
1192
+ known_restrictions: null
1193
+ reviewed_by: primary
867
1194
  - command_id: dashboard.exemplar.extract
868
1195
  command_path: dashboard exemplar extract
869
1196
  disposition: command
@@ -1087,6 +1087,78 @@ sdk_methods:
1087
1087
  pagination_policy: none
1088
1088
  openapi_operation_ids:
1089
1089
  - ArchiveDashboard
1090
+ - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_config_get
1091
+ canonical_command: dashboard.embed.config.get
1092
+ alias_of: null
1093
+ mutation_class: read
1094
+ wait_policy: not_async
1095
+ pagination_policy: none
1096
+ openapi_operation_ids:
1097
+ - GetEmbedConfig
1098
+ - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_config_set
1099
+ canonical_command: dashboard.embed.config.set
1100
+ alias_of: null
1101
+ mutation_class: high_impact
1102
+ confirmation: confirm_target
1103
+ wait_policy: not_async
1104
+ pagination_policy: none
1105
+ openapi_operation_ids:
1106
+ - PutEmbedConfig
1107
+ notes: Can expose the board outside Mammoth (enabling embedding) or break live embeds (disabling it or narrowing the origin allowlist).
1108
+ - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_key_rotate
1109
+ canonical_command: dashboard.embed.key.rotate
1110
+ alias_of: null
1111
+ mutation_class: high_impact
1112
+ confirmation: confirm_target
1113
+ wait_policy: not_async
1114
+ pagination_policy: none
1115
+ openapi_operation_ids:
1116
+ - RotateEmbedKey
1117
+ notes: Invalidates the board's previous embed key (24h overlap unless keep_previous is false).
1118
+ - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_usage_get
1119
+ canonical_command: dashboard.embed.usage.get
1120
+ alias_of: null
1121
+ mutation_class: read
1122
+ wait_policy: not_async
1123
+ pagination_policy: none
1124
+ openapi_operation_ids:
1125
+ - GetEmbedUsage
1126
+ - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_origin_revoke
1127
+ canonical_command: dashboard.embed.origin.revoke
1128
+ alias_of: null
1129
+ mutation_class: high_impact
1130
+ confirmation: confirm_target
1131
+ wait_policy: not_async
1132
+ pagination_policy: none
1133
+ openapi_operation_ids:
1134
+ - RevokeOrigin
1135
+ notes: Immediately breaks the embedded dashboard on that origin's site.
1136
+ - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_preview_token_create
1137
+ canonical_command: dashboard.embed.preview-token.create
1138
+ alias_of: null
1139
+ mutation_class: benign_mutation
1140
+ wait_policy: not_async
1141
+ pagination_policy: none
1142
+ openapi_operation_ids:
1143
+ - PreviewToken
1144
+ - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_secret_rotate
1145
+ canonical_command: dashboard.embed.secret.rotate
1146
+ alias_of: null
1147
+ mutation_class: high_impact
1148
+ confirmation: confirm_target
1149
+ wait_policy: not_async
1150
+ pagination_policy: none
1151
+ openapi_operation_ids:
1152
+ - RotateEmbedSecret
1153
+ notes: Invalidates the workspace's previous embed signing secret (24h overlap). Owners/admins only.
1154
+ - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.embed_lifetime_set
1155
+ canonical_command: dashboard.embed.lifetime.set
1156
+ alias_of: null
1157
+ mutation_class: benign_mutation
1158
+ wait_policy: not_async
1159
+ pagination_policy: none
1160
+ openapi_operation_ids:
1161
+ - SetEmbedLifetime
1090
1162
  - sdk_symbol: mammoth.api.dashboards.DashboardsAPI.action
1091
1163
  canonical_command: dashboard.action
1092
1164
  alias_of: null