mammoth-cli 2.0.73__tar.gz → 2.0.74__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 (230) hide show
  1. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/PKG-INFO +1 -1
  2. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +1 -1
  4. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/view_ops.py +10 -2
  5. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/verify.py +40 -33
  6. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/pyproject.toml +1 -1
  7. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/.gitignore +0 -0
  8. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/LICENSE +0 -0
  9. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/README.md +0 -0
  10. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/__main__.py +0 -0
  11. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/app.py +0 -0
  12. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  13. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  14. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  15. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  16. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
  17. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  18. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  19. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  20. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  21. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  22. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  23. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  24. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  25. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  26. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  27. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  28. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  29. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  30. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  31. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  32. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  33. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  34. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  35. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  36. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  37. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  38. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  39. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  40. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  41. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  42. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  43. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  44. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  45. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  46. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  47. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  48. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  49. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  50. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  51. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  52. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  53. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  54. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  55. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  56. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  57. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  58. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  59. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  60. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  61. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  62. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  63. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  64. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  65. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  66. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  67. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  68. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  69. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  70. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  71. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  72. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  73. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  74. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  75. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  76. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  77. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  78. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  79. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  80. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  81. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  82. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  83. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/__init__.py +0 -0
  84. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/activity.py +0 -0
  85. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/addon.py +0 -0
  86. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/agent.py +0 -0
  87. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/ai.py +0 -0
  88. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/annotation.py +0 -0
  89. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/auth.py +0 -0
  90. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/automation.py +0 -0
  91. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/batch.py +0 -0
  92. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/billing.py +0 -0
  93. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/browse.py +0 -0
  94. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/capability.py +0 -0
  95. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/client_app.py +0 -0
  96. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/completion.py +0 -0
  97. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/config.py +0 -0
  98. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/connector.py +0 -0
  99. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/context.py +0 -0
  100. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/dashboard.py +0 -0
  101. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/data_app.py +0 -0
  102. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/dataset.py +0 -0
  103. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/doctor.py +0 -0
  104. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/external_key.py +0 -0
  105. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/file.py +0 -0
  106. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/folder.py +0 -0
  107. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/job.py +0 -0
  108. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/notification.py +0 -0
  109. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/parameter.py +0 -0
  110. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/project.py +0 -0
  111. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/registry.py +0 -0
  112. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/report.py +0 -0
  113. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/schedule.py +0 -0
  114. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/schema.py +0 -0
  115. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/skill.py +0 -0
  116. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/snippet.py +0 -0
  117. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/support.py +0 -0
  118. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/template.py +0 -0
  119. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/trash.py +0 -0
  120. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/upgrade.py +0 -0
  121. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/user.py +0 -0
  122. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/view.py +0 -0
  123. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/webhook.py +0 -0
  124. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/workflow.py +0 -0
  125. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/commands/workspace.py +0 -0
  126. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/context/__init__.py +0 -0
  127. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/context/credentials.py +0 -0
  128. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/context/endpoint.py +0 -0
  129. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/context/profiles.py +0 -0
  130. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/context/resolver.py +0 -0
  131. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/contracts/__init__.py +0 -0
  132. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/contracts/auth.py +0 -0
  133. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/embed.py +0 -0
  134. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/errors/__init__.py +0 -0
  135. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/errors/envelope.py +0 -0
  136. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/manifest/__init__.py +0 -0
  137. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/manifest/loader.py +0 -0
  138. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/messages/__init__.py +0 -0
  139. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/output/__init__.py +0 -0
  140. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/output/envelope.py +0 -0
  141. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/output/normalize.py +0 -0
  142. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/output/policy.py +0 -0
  143. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/output/progress.py +0 -0
  144. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/output/render.py +0 -0
  145. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/py.typed +0 -0
  146. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/__init__.py +0 -0
  147. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/confirm.py +0 -0
  148. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/dryrun.py +0 -0
  149. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/embedded.py +0 -0
  150. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/executor.py +0 -0
  151. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/input_loader.py +0 -0
  152. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/invocation.py +0 -0
  153. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/options.py +0 -0
  154. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/parents.py +0 -0
  155. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/runlog.py +0 -0
  156. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/session.py +0 -0
  157. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/strict.py +0 -0
  158. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/updates.py +0 -0
  159. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/runtime/validate.py +0 -0
  160. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/__init__.py +0 -0
  161. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/argspec.py +0 -0
  162. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/coerce.py +0 -0
  163. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/command_contract.py +0 -0
  164. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/conditions.py +0 -0
  165. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/dashboard_pages.py +0 -0
  166. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/dashboard_review.py +0 -0
  167. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/data_quality.py +0 -0
  168. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/dispatch.py +0 -0
  169. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/factory.py +0 -0
  170. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/input_fields.py +0 -0
  171. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/mapping.py +0 -0
  172. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/openapi_types.py +0 -0
  173. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/positionals.py +0 -0
  174. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/protocol.py +0 -0
  175. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/sdk_service.py +0 -0
  176. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/testing.py +0 -0
  177. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/services/type_system.py +0 -0
  178. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/skills/__init__.py +0 -0
  179. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/skills/installer.py +0 -0
  180. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/skills/steering.py +0 -0
  181. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/mammoth_cli/testing.py +0 -0
  182. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/activity.yaml +0 -0
  183. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/addon.yaml +0 -0
  184. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/agent.yaml +0 -0
  185. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/ai.yaml +0 -0
  186. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/annotation.yaml +0 -0
  187. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/auth.yaml +0 -0
  188. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/automation.yaml +0 -0
  189. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/batch.yaml +0 -0
  190. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/billing.yaml +0 -0
  191. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/browse.yaml +0 -0
  192. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/capability.yaml +0 -0
  193. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/client-app.yaml +0 -0
  194. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/completion.yaml +0 -0
  195. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/config.yaml +0 -0
  196. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/connector.yaml +0 -0
  197. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/context.yaml +0 -0
  198. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/dashboard.yaml +0 -0
  199. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/data-app.yaml +0 -0
  200. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/dataset.yaml +0 -0
  201. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/doctor.yaml +0 -0
  202. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/external-key.yaml +0 -0
  203. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/file.yaml +0 -0
  204. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/folder.yaml +0 -0
  205. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/job.yaml +0 -0
  206. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/log.yaml +0 -0
  207. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/notification.yaml +0 -0
  208. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/parameter.yaml +0 -0
  209. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/project.yaml +0 -0
  210. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/report.yaml +0 -0
  211. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/schedule.yaml +0 -0
  212. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/schema.yaml +0 -0
  213. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/skill.yaml +0 -0
  214. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/snippet.yaml +0 -0
  215. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/support.yaml +0 -0
  216. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/template.yaml +0 -0
  217. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/trash.yaml +0 -0
  218. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/upgrade.yaml +0 -0
  219. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/user.yaml +0 -0
  220. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/version.yaml +0 -0
  221. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/view.yaml +0 -0
  222. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/webhook.yaml +0 -0
  223. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/workflow.yaml +0 -0
  224. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/commands/workspace.yaml +0 -0
  225. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/openapi-operations.yaml +0 -0
  226. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/schema-v1.json +0 -0
  227. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/sdk-catalog.source.yaml +0 -0
  228. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/manifests/sdk-methods.yaml +0 -0
  229. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/spec/openapi/metadata.json +0 -0
  230. {mammoth_cli-2.0.73 → mammoth_cli-2.0.74}/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.73
3
+ Version: 2.0.74
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.73"
9
+ __version__ = "2.0.74"
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.73
3
+ version: 2.0.74
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
 
@@ -280,6 +280,8 @@ def _dispatch_view(
280
280
  the view's row count is read before and after the call and added to the
281
281
  result as ``row_check``, so a caller always sees whether the write changed
282
282
  the row count -- the join path builds its own richer ``join_check`` instead.
283
+ A result staged as a draft never ran the pipeline, so no ``row_check`` is
284
+ added and there is nothing to wait for.
283
285
  """
284
286
  auto_row_check = before is None and after is None
285
287
  # ``dataset_id`` is invocation-local resource context. It is not a View
@@ -330,10 +332,16 @@ def _dispatch_view(
330
332
  )
331
333
  if after is not None and dataset_id is not None:
332
334
  data = after(service, int(dataset_id), state, data)
333
- elif auto_row_check and dataset_id is not None and isinstance(data, dict):
335
+ elif (
336
+ auto_row_check
337
+ and dataset_id is not None
338
+ and isinstance(data, dict)
339
+ and data.get("status") != "staged"
340
+ ):
334
341
  # A read taken right away can catch the pipeline still
335
342
  # recomputing and read back no row_count at all; wait for it to
336
- # settle (bounded) before trusting this one.
343
+ # settle (bounded) before trusting this one. A staged draft never
344
+ # ran the pipeline, so there is nothing to wait for or read.
337
345
  rows_after = wait_for_view_row_count(
338
346
  service, int(dataset_id), view_id, invocation.project
339
347
  )
@@ -27,6 +27,10 @@ _UNREADABLE_ROW_COUNT_WARNING = (
27
27
  "the row count after the change could not be read; read the view before building on it"
28
28
  )
29
29
 
30
+ #: ``reason`` for a write left in a draft: the pipeline never ran, so there is
31
+ #: no row count to check yet.
32
+ _STAGED_REASON = "staged in draft; not applied until the draft is submitted"
33
+
30
34
 
31
35
  def with_verify(data: Any) -> Any:
32
36
  """Return ``data`` with a ``verify`` read-back block added.
@@ -39,14 +43,15 @@ def with_verify(data: Any) -> Any:
39
43
  check = _check_dict(data)
40
44
  row_count_attempted = _row_count_attempted(check)
41
45
  rows_before, rows_after = _row_counts(check) if row_count_attempted else (None, None)
42
- verified = _verified(
46
+ state = _state(data)
47
+ verified, reason = _verify_and_reason(
43
48
  data,
49
+ state=state,
44
50
  check=check,
45
51
  row_count_attempted=row_count_attempted,
46
52
  rows_before=rows_before,
47
53
  rows_after=rows_after,
48
54
  )
49
- state = _state(data)
50
55
  verify: dict[str, Any] = {"verified": verified, "state": state}
51
56
  if row_count_attempted:
52
57
  verify["rows_before"] = rows_before
@@ -55,14 +60,9 @@ def with_verify(data: Any) -> Any:
55
60
  if row_count_attempted and rows_after is None:
56
61
  warnings.append(_UNREADABLE_ROW_COUNT_WARNING)
57
62
  verify["warnings"] = warnings
63
+ verify["reason"] = reason
58
64
  verify["needs_user"] = _needs_user(
59
- data,
60
- verified=verified,
61
- state=state,
62
- check=check,
63
- row_count_attempted=row_count_attempted,
64
- rows_before=rows_before,
65
- rows_after=rows_after,
65
+ data, verified=verified, rows_before=rows_before, rows_after=rows_after
66
66
  )
67
67
  return {**data, "verify": verify}
68
68
 
@@ -98,30 +98,42 @@ def _row_counts(check: dict[str, Any] | None) -> tuple[int | None, int | None]:
98
98
  return check.get("rows_before"), check.get("rows_after")
99
99
 
100
100
 
101
- def _verified(
101
+ def _verify_and_reason(
102
102
  data: dict[str, Any],
103
103
  *,
104
+ state: str,
104
105
  check: dict[str, Any] | None,
105
106
  row_count_attempted: bool,
106
107
  rows_before: int | None,
107
108
  rows_after: int | None,
108
- ) -> bool:
109
+ ) -> tuple[bool, str | None]:
110
+ """Whether the write is verified, plus a human-readable ``reason`` for it.
111
+
112
+ ``reason`` is set whenever ``verified`` is ``False`` (a failure or a
113
+ no-op) and for a staged draft; it is ``None`` for an ordinary success.
114
+ A failure never sets ``needs_user`` -- see :func:`_needs_user`, which
115
+ covers only the two outcomes serious enough to interrupt the caller.
116
+ """
117
+ if data.get("changed") is False:
118
+ message = data.get("message")
119
+ text = message if isinstance(message, str) else ""
120
+ return False, f"nothing changed: {text[:200]}"
109
121
  if data.get("has_error"):
110
- return False
122
+ return False, "the operation reported an error"
111
123
  for status in (data.get("status"), _job_status(data)):
112
124
  if isinstance(status, str) and status.lower() in _FAILURE_STATUSES:
113
- return False
125
+ return False, "the operation failed"
114
126
  pipeline_state = data.get("pipeline_state")
115
127
  if isinstance(pipeline_state, str) and pipeline_state.lower() in _FAILURE_PIPELINE_STATES:
116
- return False
128
+ return False, "the pipeline reported an error"
117
129
  if data.get("bake_ok") is False:
118
- return False
130
+ return False, "the dashboard did not bake"
119
131
  if row_count_attempted:
120
132
  # An attempted row count that never came back readable is never
121
133
  # reported as a known, verified count -- even when nothing else
122
134
  # flagged a failure.
123
135
  if rows_after is None:
124
- return False
136
+ return False, _UNREADABLE_ROW_COUNT_WARNING
125
137
  if (
126
138
  check is not None
127
139
  and check.get("expected_row_increase")
@@ -129,8 +141,10 @@ def _verified(
129
141
  and isinstance(rows_after, int)
130
142
  and rows_after <= rows_before
131
143
  ):
132
- return False
133
- return True
144
+ return False, "the append did not add rows"
145
+ if state == "staged":
146
+ return True, _STAGED_REASON
147
+ return True, None
134
148
 
135
149
 
136
150
  def _state(data: dict[str, Any]) -> str:
@@ -157,25 +171,18 @@ def _needs_user(
157
171
  data: dict[str, Any],
158
172
  *,
159
173
  verified: bool,
160
- state: str,
161
- check: dict[str, Any] | None,
162
- row_count_attempted: bool,
163
174
  rows_before: int | None,
164
175
  rows_after: int | None,
165
176
  ) -> str | None:
177
+ """The only two outcomes worth interrupting the caller for.
178
+
179
+ ``needs_user`` means "a serious outcome the user must hear about before
180
+ anything is built on it" -- never "something went wrong that you can
181
+ retry". A failed write is reported through ``verified``/``reason``
182
+ instead (see :func:`_verify_and_reason`); it never sets this.
183
+ """
166
184
  if not verified:
167
- if row_count_attempted and rows_after is None:
168
- return "The row count after the change could not be read."
169
- if (
170
- row_count_attempted
171
- and check is not None
172
- and check.get("expected_row_increase")
173
- and isinstance(rows_before, int)
174
- and isinstance(rows_after, int)
175
- and rows_after <= rows_before
176
- ):
177
- return f"The append added no rows (was {rows_before}, still {rows_after})."
178
- return f"The change failed: {state}."
185
+ return None
179
186
  if rows_after == 0 and isinstance(rows_before, int) and rows_before > 0:
180
187
  return f"The change left the view with no rows (was {rows_before})."
181
188
  join_check = data.get("join_check")
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.0.73"
3
+ version = "2.0.74"
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