mammoth-cli 2.0.55__tar.gz → 2.0.56__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.55 → mammoth_cli-2.0.56}/PKG-INFO +1 -1
  2. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +1 -1
  4. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/view.py +75 -22
  5. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/pyproject.toml +1 -1
  6. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/.gitignore +0 -0
  7. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/LICENSE +0 -0
  8. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/README.md +0 -0
  9. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/__main__.py +0 -0
  10. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/app.py +0 -0
  11. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  12. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  13. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  14. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  15. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
  16. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  17. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  18. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  19. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  20. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  21. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  22. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  23. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  24. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  25. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  26. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  27. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  28. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  29. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  30. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  31. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  32. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  33. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  34. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  35. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  36. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  37. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  38. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  39. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  40. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  41. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  42. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  43. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  44. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  45. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  46. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  47. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  48. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  49. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  50. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  51. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  52. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  53. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  54. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  55. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  56. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  57. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  58. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  59. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  60. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  61. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  62. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  63. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  64. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  65. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  66. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  67. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  68. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  69. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  70. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  71. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  72. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  73. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  74. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  75. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  76. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  77. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  78. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  79. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  80. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  81. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  82. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/__init__.py +0 -0
  83. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/activity.py +0 -0
  84. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/addon.py +0 -0
  85. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/agent.py +0 -0
  86. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/ai.py +0 -0
  87. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/annotation.py +0 -0
  88. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/auth.py +0 -0
  89. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/automation.py +0 -0
  90. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/batch.py +0 -0
  91. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/billing.py +0 -0
  92. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/browse.py +0 -0
  93. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/capability.py +0 -0
  94. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/client_app.py +0 -0
  95. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/completion.py +0 -0
  96. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/config.py +0 -0
  97. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/connector.py +0 -0
  98. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/context.py +0 -0
  99. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/dashboard.py +0 -0
  100. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/data_app.py +0 -0
  101. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/dataset.py +0 -0
  102. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/doctor.py +0 -0
  103. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/external_key.py +0 -0
  104. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/file.py +0 -0
  105. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/folder.py +0 -0
  106. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/job.py +0 -0
  107. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/notification.py +0 -0
  108. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/parameter.py +0 -0
  109. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/project.py +0 -0
  110. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/registry.py +0 -0
  111. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/report.py +0 -0
  112. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/schedule.py +0 -0
  113. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/schema.py +0 -0
  114. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/skill.py +0 -0
  115. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/snippet.py +0 -0
  116. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/support.py +0 -0
  117. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/template.py +0 -0
  118. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/trash.py +0 -0
  119. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/upgrade.py +0 -0
  120. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/user.py +0 -0
  121. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/view_ops.py +0 -0
  122. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/webhook.py +0 -0
  123. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/workflow.py +0 -0
  124. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/commands/workspace.py +0 -0
  125. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/context/__init__.py +0 -0
  126. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/context/credentials.py +0 -0
  127. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/context/endpoint.py +0 -0
  128. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/context/profiles.py +0 -0
  129. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/context/resolver.py +0 -0
  130. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/contracts/__init__.py +0 -0
  131. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/contracts/auth.py +0 -0
  132. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/embed.py +0 -0
  133. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/errors/__init__.py +0 -0
  134. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/errors/envelope.py +0 -0
  135. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/manifest/__init__.py +0 -0
  136. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/manifest/loader.py +0 -0
  137. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/messages/__init__.py +0 -0
  138. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/output/__init__.py +0 -0
  139. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/output/envelope.py +0 -0
  140. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/output/normalize.py +0 -0
  141. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/output/policy.py +0 -0
  142. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/output/progress.py +0 -0
  143. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/output/render.py +0 -0
  144. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/py.typed +0 -0
  145. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/__init__.py +0 -0
  146. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/confirm.py +0 -0
  147. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/dryrun.py +0 -0
  148. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/embedded.py +0 -0
  149. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/executor.py +0 -0
  150. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/input_loader.py +0 -0
  151. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/invocation.py +0 -0
  152. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/options.py +0 -0
  153. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/parents.py +0 -0
  154. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/runlog.py +0 -0
  155. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/session.py +0 -0
  156. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/strict.py +0 -0
  157. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/updates.py +0 -0
  158. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/runtime/validate.py +0 -0
  159. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/__init__.py +0 -0
  160. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/argspec.py +0 -0
  161. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/coerce.py +0 -0
  162. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/command_contract.py +0 -0
  163. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/conditions.py +0 -0
  164. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/dashboard_pages.py +0 -0
  165. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/dashboard_review.py +0 -0
  166. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/data_quality.py +0 -0
  167. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/dispatch.py +0 -0
  168. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/factory.py +0 -0
  169. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/input_fields.py +0 -0
  170. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/mapping.py +0 -0
  171. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/openapi_types.py +0 -0
  172. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/positionals.py +0 -0
  173. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/protocol.py +0 -0
  174. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/sdk_service.py +0 -0
  175. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/testing.py +0 -0
  176. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/services/type_system.py +0 -0
  177. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/skills/__init__.py +0 -0
  178. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/skills/installer.py +0 -0
  179. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/skills/steering.py +0 -0
  180. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/mammoth_cli/testing.py +0 -0
  181. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/activity.yaml +0 -0
  182. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/addon.yaml +0 -0
  183. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/agent.yaml +0 -0
  184. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/ai.yaml +0 -0
  185. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/annotation.yaml +0 -0
  186. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/auth.yaml +0 -0
  187. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/automation.yaml +0 -0
  188. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/batch.yaml +0 -0
  189. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/billing.yaml +0 -0
  190. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/browse.yaml +0 -0
  191. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/capability.yaml +0 -0
  192. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/client-app.yaml +0 -0
  193. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/completion.yaml +0 -0
  194. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/config.yaml +0 -0
  195. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/connector.yaml +0 -0
  196. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/context.yaml +0 -0
  197. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/dashboard.yaml +0 -0
  198. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/data-app.yaml +0 -0
  199. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/dataset.yaml +0 -0
  200. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/doctor.yaml +0 -0
  201. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/external-key.yaml +0 -0
  202. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/file.yaml +0 -0
  203. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/folder.yaml +0 -0
  204. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/job.yaml +0 -0
  205. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/log.yaml +0 -0
  206. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/notification.yaml +0 -0
  207. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/parameter.yaml +0 -0
  208. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/project.yaml +0 -0
  209. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/report.yaml +0 -0
  210. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/schedule.yaml +0 -0
  211. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/schema.yaml +0 -0
  212. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/skill.yaml +0 -0
  213. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/snippet.yaml +0 -0
  214. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/support.yaml +0 -0
  215. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/template.yaml +0 -0
  216. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/trash.yaml +0 -0
  217. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/upgrade.yaml +0 -0
  218. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/user.yaml +0 -0
  219. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/version.yaml +0 -0
  220. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/view.yaml +0 -0
  221. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/webhook.yaml +0 -0
  222. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/workflow.yaml +0 -0
  223. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/commands/workspace.yaml +0 -0
  224. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/openapi-operations.yaml +0 -0
  225. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/schema-v1.json +0 -0
  226. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/sdk-catalog.source.yaml +0 -0
  227. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/manifests/sdk-methods.yaml +0 -0
  228. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/spec/openapi/metadata.json +0 -0
  229. {mammoth_cli-2.0.55 → mammoth_cli-2.0.56}/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.55
3
+ Version: 2.0.56
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
@@ -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.55"
9
+ __version__ = "2.0.56"
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.55
3
+ version: 2.0.56
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
 
@@ -24,6 +24,7 @@ import inspect
24
24
  from datetime import UTC, datetime
25
25
  from typing import Any
26
26
 
27
+ from mammoth.models.exports import ExportStatus
27
28
  from mammoth.view import ViewExport
28
29
 
29
30
  from mammoth_cli.context import profiles
@@ -2300,9 +2301,35 @@ def view_export_specialized(invocation: Invocation) -> HandlerResult:
2300
2301
  ),
2301
2302
  details={"dataset_id": dataset_id, "target_ds_id": int(target_ds_id)},
2302
2303
  )
2303
- rows_before = None
2304
- if target_ds_id is not None and kwargs.get("save_as_mode") == "APPEND_TO_DS":
2305
- rows_before = _dataset_row_count(service, int(target_ds_id), result_project_id)
2304
+ if target_ds_id is not None:
2305
+ # Each `view export dataset` call creates its own PERSISTENT
2306
+ # export trigger on this view, which re-runs on every pipeline
2307
+ # run; REPLACE_IN_DS/APPEND_TO_DS only ever touch that trigger's
2308
+ # OWN rows. A second export from this view into the same target
2309
+ # is therefore a second writer, not a refresh of the first --
2310
+ # the fix is to rerun the pipeline, not to export again.
2311
+ existing_export = _existing_internal_dataset_export(
2312
+ service, dataview_id, dataset_id, int(target_ds_id)
2313
+ )
2314
+ if existing_export is not None:
2315
+ raise CliError(
2316
+ code="export_already_exists",
2317
+ message=(
2318
+ f"View {dataview_id} already exports into dataset "
2319
+ f"{int(target_ds_id)} (export {existing_export.id}). This export "
2320
+ "re-runs on every pipeline run, and REPLACE_IN_DS replaces only "
2321
+ "its own rows -- a second export into the same target duplicates "
2322
+ "rows instead of refreshing them."
2323
+ ),
2324
+ exit_status=EXIT_USAGE,
2325
+ hint="Refresh the target by rerunning the pipeline, not by exporting again.",
2326
+ recovery_commands=[f"mammoth view pipeline rerun {dataview_id}"],
2327
+ details={
2328
+ "dataview_id": dataview_id,
2329
+ "target_ds_id": int(target_ds_id),
2330
+ "export_id": existing_export.id,
2331
+ },
2332
+ )
2306
2333
  data = service.call_view(dataview_id, method, dataset_id=dataset_id, **kwargs)
2307
2334
  if is_dataset_route and isinstance(data, int):
2308
2335
  # The SDK returns the bare id of the dataset written to; name it, and
@@ -2316,6 +2343,10 @@ def view_export_specialized(invocation: Invocation) -> HandlerResult:
2316
2343
  "dataset_id": data,
2317
2344
  "project_id": result_project_id,
2318
2345
  "source_view_id": dataview_id,
2346
+ # Every internal-dataset export is a pipeline trigger, not a
2347
+ # one-shot copy: it re-runs (and re-writes its own rows) every
2348
+ # time this view's pipeline runs.
2349
+ "refreshes_on_pipeline_run": True,
2319
2350
  }
2320
2351
  view_info = _dataset_view_info(service, data["dataset_id"], result_project_id)
2321
2352
  if view_info is not None:
@@ -2325,30 +2356,52 @@ def view_export_specialized(invocation: Invocation) -> HandlerResult:
2325
2356
  data["next"] = f"mammoth view list {data['dataset_id']}" + (
2326
2357
  f" --project {result_project_id}" if target_project is not None else ""
2327
2358
  )
2328
- rows_after = view_info["row_count"] if view_info is not None else None
2329
- if rows_after is not None:
2330
- data["rows_after"] = rows_after
2331
- if rows_before is not None:
2332
- data["rows_before"] = rows_before
2359
+ # rows_after is only trustworthy for a brand-new dataset: nothing
2360
+ # else could have written to it yet. Writing into an EXISTING
2361
+ # target_ds_id races the target view's own metadata refresh --
2362
+ # this same read has returned a stale row count right after a
2363
+ # confirmed write -- so it is omitted rather than reported wrong.
2364
+ if target_ds_id is None:
2365
+ rows_after = view_info["row_count"] if view_info is not None else None
2366
+ if rows_after is not None:
2367
+ data["rows_after"] = rows_after
2333
2368
  return data, _meta(invocation, auth.workspace_id, project_id)
2334
2369
 
2335
2370
 
2336
- def _dataset_row_count(service: Any, dataset_id: int, project_id: int | None) -> int | None:
2337
- """Best-effort row count for a dataset, read from its first view.
2371
+ _EXPORTS_LIST_SYMBOL = "mammoth.api.exports.ExportsAPI.list"
2372
+ _INTERNAL_DATASET_HANDLER_TYPE = "internal_dataset"
2373
+
2338
2374
 
2339
- Row counts are exposed per-view, not per-dataset; this reads the first
2340
- dataview's ``row_count`` (mirrors ``upload_preview``). ``None`` on any
2341
- failure rather than failing the export result.
2375
+ def _existing_internal_dataset_export(
2376
+ service: Any, dataview_id: int, dataset_id: int | None, target_ds_id: int
2377
+ ) -> Any | None:
2378
+ """This dataview's ``internal_dataset`` export already writing into
2379
+ ``target_ds_id``, if one exists (the most recent by id, when more than
2380
+ one somehow matches). ``None`` on no match.
2381
+
2382
+ ``TARGET_DS_ID`` is compared as ``int``: the wire value can come back as
2383
+ a string, which would otherwise never match (mirrors the same int/str
2384
+ fix already applied to the SDK's own write-confirmation poll). A
2385
+ soft-deleted export (``status == ExportStatus.DELETED``) is never a
2386
+ match: the backend soft-deletes triggers rather than removing the row,
2387
+ and the list endpoint does not filter on status, so a deleted export
2388
+ would otherwise block every later export into that target forever.
2342
2389
  """
2343
- try:
2344
- listing = service.call(_DATAVIEW_LIST_SYMBOL, dataset_id=dataset_id, project_id=project_id)
2345
- views = listing.get("dataviews") if isinstance(listing, dict) else None
2346
- if not isinstance(views, list) or not views or not isinstance(views[0], dict):
2347
- return None
2348
- row_count = views[0].get("row_count")
2349
- return int(row_count) if row_count is not None else None
2350
- except Exception: # noqa: BLE001 -- row count is advisory, never fails the export
2351
- return None
2390
+ listing = service.call(
2391
+ _EXPORTS_LIST_SYMBOL,
2392
+ dataview_id=dataview_id,
2393
+ dataset_id=dataset_id,
2394
+ handler_type=_INTERNAL_DATASET_HANDLER_TYPE,
2395
+ )
2396
+ exports = getattr(listing, "exports", None) or []
2397
+ matches = [
2398
+ export
2399
+ for export in exports
2400
+ if export.status is not ExportStatus.DELETED
2401
+ and (target := (export.target_properties or {}).get("TARGET_DS_ID")) is not None
2402
+ and int(target) == target_ds_id
2403
+ ]
2404
+ return max(matches, key=lambda export: export.id or 0) if matches else None
2352
2405
 
2353
2406
 
2354
2407
  def _dataset_view_info(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.0.55"
3
+ version = "2.0.56"
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"
File without changes
File without changes
File without changes