mammoth-cli 2.3.0__tar.gz → 2.4.0__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 (389) hide show
  1. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/PKG-INFO +3 -2
  2. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/app/__init__.py +27 -6
  4. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/app/help_text.py +19 -3
  5. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/app/usage.py +6 -0
  6. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +1 -1
  7. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +2 -2
  8. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +5 -5
  9. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +1 -1
  10. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +71 -1
  11. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +50 -0
  12. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +10 -0
  13. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +80 -0
  14. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +24 -2
  15. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +14 -0
  16. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/file-import.md +33 -0
  17. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +21 -0
  18. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +11 -2
  19. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +1 -0
  20. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/agent.py +3 -1
  21. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/ai.py +3 -2
  22. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/auth.py +2 -25
  23. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/automation.py +54 -4
  24. mammoth_cli-2.4.0/mammoth_cli/commands/automation_datasets.py +246 -0
  25. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/batch.py +47 -1
  26. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/connector.py +104 -4
  27. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/dashboard/__init__.py +118 -2
  28. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/dashboard/generated.py +28 -0
  29. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/dataset/__init__.py +106 -19
  30. mammoth_cli-2.4.0/mammoth_cli/commands/dataset/download.py +47 -0
  31. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/doctor.py +2 -0
  32. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/file.py +383 -74
  33. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/help_summaries.json +28 -7
  34. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/how.py +220 -44
  35. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/recipe.py +53 -5
  36. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/registry.py +35 -0
  37. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/run.py +15 -7
  38. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/schema/examples.py +19 -0
  39. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/schema/find.py +30 -11
  40. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/template.py +6 -1
  41. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/aggregate.py +40 -31
  42. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/data_read.py +24 -2
  43. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/export.py +37 -2
  44. mammoth_cli-2.4.0/mammoth_cli/commands/view/export_update.py +225 -0
  45. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_ops/batch.py +10 -3
  46. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_ops/crud.py +4 -1
  47. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_ops/transforms.py +55 -5
  48. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/discovery/__init__.py +7 -5
  49. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/discovery/limitations.json +27 -27
  50. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/discovery/next_commands.json +6 -0
  51. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/discovery/purposes.py +105 -5
  52. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/discovery/recipes.json +1458 -41
  53. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/errors/envelope.py +7 -0
  54. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/output/emit.py +23 -14
  55. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/compact.py +91 -11
  56. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/dryrun.py +103 -3
  57. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/dryrun_targets.py +2 -0
  58. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/journal.py +103 -0
  59. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/leaf.py +5 -4
  60. mammoth_cli-2.4.0/mammoth_cli/runtime/resource_ids.py +211 -0
  61. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/strict.py +27 -4
  62. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/trace.py +1 -1
  63. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/verify.py +62 -5
  64. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/command_contract.py +39 -0
  65. mammoth_cli-2.4.0/mammoth_cli/services/delete_check.py +292 -0
  66. mammoth_cli-2.4.0/mammoth_cli/services/draft_report.py +165 -0
  67. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/field_enums.py +6 -0
  68. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/input_fields.py +11 -2
  69. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/mapping.py +181 -37
  70. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/positional_overrides.py +23 -0
  71. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/read_queries.py +16 -2
  72. mammoth_cli-2.4.0/mammoth_cli/services/schedule_dates.py +41 -0
  73. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/sdk_service.py +15 -6
  74. mammoth_cli-2.4.0/mammoth_cli/services/secret_files.py +71 -0
  75. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/testing.py +24 -1
  76. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/text_dates.py +4 -2
  77. mammoth_cli-2.4.0/mammoth_cli/services/update_method.py +73 -0
  78. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/pyproject.toml +3 -2
  79. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/automation.yaml +2 -1
  80. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/connector.yaml +14 -1
  81. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/dataset.yaml +70 -3
  82. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/file.yaml +9 -1
  83. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/support.yaml +28 -0
  84. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/view.yaml +39 -5
  85. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/workflow.yaml +67 -0
  86. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands.generated.yaml +918 -32
  87. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/compiled/commands.json +38 -17
  88. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/compiled/openapi-operations.json +5 -5
  89. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/compiled/sdk-methods.json +36 -6
  90. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/edits-target.source.yaml +2 -0
  91. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/openapi-operations.yaml +20 -20
  92. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/schema-v1.json +6 -1
  93. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/sdk-catalog.source.yaml +187 -3
  94. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/sdk-methods.yaml +422 -14
  95. mammoth_cli-2.3.0/mammoth_cli/services/delete_check.py +0 -128
  96. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/.gitignore +0 -0
  97. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/LICENSE +0 -0
  98. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/README.md +0 -0
  99. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/__main__.py +0 -0
  100. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/app/options.py +0 -0
  101. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/app/tree.py +0 -0
  102. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  103. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  104. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  105. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  106. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  107. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  108. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  109. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  110. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  111. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  112. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  113. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  114. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
  115. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capabilities.md +0 -0
  116. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  117. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  118. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/collection.md +0 -0
  119. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  120. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  121. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  122. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  123. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-embed.md +0 -0
  124. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-published.md +0 -0
  125. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  126. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-style.md +0 -0
  127. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-template.md +0 -0
  128. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  129. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  130. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  131. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  132. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  133. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/history.md +0 -0
  134. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/how.md +0 -0
  135. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  136. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/link.md +0 -0
  137. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  138. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  139. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  140. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  141. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/recipe.md +0 -0
  142. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  143. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/resolve.md +0 -0
  144. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/run.md +0 -0
  145. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  146. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  147. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  148. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  149. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  150. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/token.md +0 -0
  151. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  152. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  153. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  154. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  155. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  156. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  157. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  158. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  159. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  160. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  161. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  162. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  163. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  164. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/database-import.md +0 -0
  165. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  166. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  167. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  168. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  169. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/rest-api-import.md +0 -0
  170. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  171. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  172. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  173. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  174. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  175. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  176. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/__init__.py +0 -0
  177. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/_lazy.py +0 -0
  178. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/activity.py +0 -0
  179. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/addon.py +0 -0
  180. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/annotation.py +0 -0
  181. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/billing.py +0 -0
  182. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/browse.py +0 -0
  183. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/calc.py +0 -0
  184. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/capabilities.py +0 -0
  185. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/capability.py +0 -0
  186. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/client_app.py +0 -0
  187. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/completion.py +0 -0
  188. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/config.py +0 -0
  189. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/context.py +0 -0
  190. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/dashboard/_common.py +0 -0
  191. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/dashboard/workbook.py +0 -0
  192. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/dataset/_common.py +0 -0
  193. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/dataset/create.py +0 -0
  194. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/dataset/find.py +0 -0
  195. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/external_key.py +0 -0
  196. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/folder.py +0 -0
  197. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/history.py +0 -0
  198. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/job.py +0 -0
  199. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/link.py +0 -0
  200. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/notification.py +0 -0
  201. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/parameter.py +0 -0
  202. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/project.py +0 -0
  203. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/report.py +0 -0
  204. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/resolve.py +0 -0
  205. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/schedule.py +0 -0
  206. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/schema/__init__.py +0 -0
  207. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/skill.py +0 -0
  208. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/snippet.py +0 -0
  209. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/support.py +0 -0
  210. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/support_template.py +0 -0
  211. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/trash.py +0 -0
  212. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/upgrade.py +0 -0
  213. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/user.py +0 -0
  214. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/__init__.py +0 -0
  215. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/_common.py +0 -0
  216. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/checks.py +0 -0
  217. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/column_checks.py +0 -0
  218. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/columns.py +0 -0
  219. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/derivatives.py +0 -0
  220. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/explore.py +0 -0
  221. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/export_dataset.py +0 -0
  222. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/export_specialized.py +0 -0
  223. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/formatting.py +0 -0
  224. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/join_check.py +0 -0
  225. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/lifecycle.py +0 -0
  226. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/listing.py +0 -0
  227. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/pipeline.py +0 -0
  228. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/settle.py +0 -0
  229. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view/upload.py +0 -0
  230. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_drivers.py +0 -0
  231. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_explore.py +0 -0
  232. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_forecast.py +0 -0
  233. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_ops/__init__.py +0 -0
  234. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_ops/draft.py +0 -0
  235. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/view_profile.py +0 -0
  236. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/webhook.py +0 -0
  237. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/workflow.py +0 -0
  238. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/commands/workspace.py +0 -0
  239. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/context/__init__.py +0 -0
  240. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/context/credentials.py +0 -0
  241. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/context/endpoint.py +0 -0
  242. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/context/keyring_backend.py +0 -0
  243. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/context/oauth.py +0 -0
  244. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/context/oauth_loopback.py +0 -0
  245. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/context/profiles.py +0 -0
  246. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/context/resolver.py +0 -0
  247. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/contracts/__init__.py +0 -0
  248. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/contracts/auth.py +0 -0
  249. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/embed.py +0 -0
  250. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/errors/__init__.py +0 -0
  251. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/manifest/__init__.py +0 -0
  252. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/manifest/loader.py +0 -0
  253. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/messages/__init__.py +0 -0
  254. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/output/__init__.py +0 -0
  255. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/output/envelope.py +0 -0
  256. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/output/normalize.py +0 -0
  257. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/output/policy.py +0 -0
  258. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/output/progress.py +0 -0
  259. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/output/render.py +0 -0
  260. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/py.typed +0 -0
  261. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/__init__.py +0 -0
  262. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/bindings.py +0 -0
  263. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/confirm.py +0 -0
  264. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/dataset_health.py +0 -0
  265. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/dispatch.py +0 -0
  266. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/embed_pool.py +0 -0
  267. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/embed_scope.py +0 -0
  268. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/embedded.py +0 -0
  269. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/etag_store.py +0 -0
  270. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/executor.py +0 -0
  271. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/idempotency_servers.py +0 -0
  272. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/input_loader.py +0 -0
  273. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/intent_only.py +0 -0
  274. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/invocation.py +0 -0
  275. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/labels.py +0 -0
  276. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/linecapture.py +0 -0
  277. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/local_paths.py +0 -0
  278. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/locked_files.py +0 -0
  279. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/new_data.py +0 -0
  280. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/next_commands.py +0 -0
  281. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/opens.py +0 -0
  282. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/options.py +0 -0
  283. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/parents.py +0 -0
  284. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/reveal.py +0 -0
  285. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/runlog.py +0 -0
  286. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/session.py +0 -0
  287. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/shared.py +0 -0
  288. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/state.py +0 -0
  289. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/switches.py +0 -0
  290. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/token_scope.py +0 -0
  291. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/updates.py +0 -0
  292. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/validate.py +0 -0
  293. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/runtime/view_dataset_cache.py +0 -0
  294. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/__init__.py +0 -0
  295. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/append_blank_columns.py +0 -0
  296. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/argspec.py +0 -0
  297. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/board_values.py +0 -0
  298. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/coerce.py +0 -0
  299. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/column_type_guard.py +0 -0
  300. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/conditional_format.py +0 -0
  301. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/conditions.py +0 -0
  302. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/dashboard_figures.py +0 -0
  303. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/dashboard_filters.py +0 -0
  304. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/dashboard_pages.py +0 -0
  305. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/dashboard_review.py +0 -0
  306. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/data_profile.py +0 -0
  307. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/data_quality.py +0 -0
  308. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/dispatch.py +0 -0
  309. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/explore_card_edit.py +0 -0
  310. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/explore_cards.py +0 -0
  311. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/explore_to_figure.py +0 -0
  312. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/explore_to_image.py +0 -0
  313. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/factory.py +0 -0
  314. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/folder_ids.py +0 -0
  315. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/held_change.py +0 -0
  316. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/job_outcome.py +0 -0
  317. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/listing.py +0 -0
  318. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/local_files.py +0 -0
  319. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/local_time.py +0 -0
  320. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/openapi_types.py +0 -0
  321. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/paging.py +0 -0
  322. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/period_analysis.py +0 -0
  323. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/poll.py +0 -0
  324. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/positional_spec.py +0 -0
  325. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/positionals.py +0 -0
  326. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/protocol.py +0 -0
  327. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/read_memo.py +0 -0
  328. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/schema_diff.py +0 -0
  329. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/sql_check.py +0 -0
  330. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/stored_stats.py +0 -0
  331. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/suggest.py +0 -0
  332. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/type_system.py +0 -0
  333. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/view_analysis.py +0 -0
  334. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/view_variants.py +0 -0
  335. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/services/write_impact.py +0 -0
  336. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/skills/__init__.py +0 -0
  337. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/skills/installer.py +0 -0
  338. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/skills/steering.py +0 -0
  339. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/mammoth_cli/testing.py +0 -0
  340. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/activity.yaml +0 -0
  341. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/addon.yaml +0 -0
  342. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/agent.yaml +0 -0
  343. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/ai.yaml +0 -0
  344. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/annotation.yaml +0 -0
  345. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/auth.yaml +0 -0
  346. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/batch.yaml +0 -0
  347. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/billing.yaml +0 -0
  348. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/browse.yaml +0 -0
  349. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/calc.yaml +0 -0
  350. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/capabilities.yaml +0 -0
  351. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/capability.yaml +0 -0
  352. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/client-app.yaml +0 -0
  353. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/collection.yaml +0 -0
  354. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/completion.yaml +0 -0
  355. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/config.yaml +0 -0
  356. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/context.yaml +0 -0
  357. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/dashboard.yaml +0 -0
  358. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/doctor.yaml +0 -0
  359. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/external-key.yaml +0 -0
  360. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/folder.yaml +0 -0
  361. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/history.yaml +0 -0
  362. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/how.yaml +0 -0
  363. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/job.yaml +0 -0
  364. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/link.yaml +0 -0
  365. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/log.yaml +0 -0
  366. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/notification.yaml +0 -0
  367. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/parameter.yaml +0 -0
  368. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/project.yaml +0 -0
  369. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/recipe.yaml +0 -0
  370. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/report.yaml +0 -0
  371. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/resolve.yaml +0 -0
  372. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/run.yaml +0 -0
  373. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/schedule.yaml +0 -0
  374. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/schema.yaml +0 -0
  375. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/skill.yaml +0 -0
  376. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/snippet.yaml +0 -0
  377. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/template.yaml +0 -0
  378. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/token.yaml +0 -0
  379. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/trash.yaml +0 -0
  380. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/upgrade.yaml +0 -0
  381. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/user.yaml +0 -0
  382. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/version.yaml +0 -0
  383. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/webhook.yaml +0 -0
  384. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/commands/workspace.yaml +0 -0
  385. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/compiled/output-schemas.json +0 -0
  386. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/output-schemas.yaml +0 -0
  387. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/manifests/server-status.json +0 -0
  388. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/openapi/metadata.json +0 -0
  389. {mammoth_cli-2.3.0 → mammoth_cli-2.4.0}/spec/openapi/openapi.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.3.0
3
+ Version: 2.4.0
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,9 +17,10 @@ Classifier: Programming Language :: Python :: 3.14
17
17
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
18
  Requires-Python: <3.15,>=3.12
19
19
  Requires-Dist: certifi>=2026.10.19
20
+ Requires-Dist: click<9,>=8.1
20
21
  Requires-Dist: jsonschema>=4.20
21
22
  Requires-Dist: keyring<26,>=25.7
22
- Requires-Dist: mammoth-io<0.9,>=0.8.52
23
+ Requires-Dist: mammoth-io<0.9,>=0.8.53
23
24
  Requires-Dist: platformdirs<5,>=4.10
24
25
  Requires-Dist: pydantic<3,>=2.12.5
25
26
  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.3.0"
9
+ __version__ = "2.4.0"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -55,7 +55,7 @@ from mammoth_cli.app.usage import (
55
55
  missing_argument_hint,
56
56
  )
57
57
  from mammoth_cli.commands import BESPOKE
58
- from mammoth_cli.errors.envelope import EXIT_USAGE, CliError
58
+ from mammoth_cli.errors.envelope import EXIT_INTERRUPT, EXIT_USAGE, CliError, cancelled_error
59
59
  from mammoth_cli.manifest.loader import command_by_id
60
60
  from mammoth_cli.output.policy import (
61
61
  MACHINE_OUTPUTS,
@@ -178,12 +178,16 @@ class _EnvelopeGroup(TyperGroup):
178
178
  try:
179
179
  result = super().main(*args, **kwargs)
180
180
  except _USAGE_ERRORS as error:
181
- argv = kwargs.get("args")
182
- if argv is None:
183
- argv = args[0] if args else None
181
+ argv = _argv_of(args, kwargs)
184
182
  self.render_usage_error(error, argv)
185
183
  raise SystemExit(getattr(error, "exit_code", EXIT_USAGE)) from None
186
184
  except _ABORT_ERRORS:
185
+ mode = _output_mode_from_argv(_argv_of(args, kwargs))
186
+ if mode in MACHINE_OUTPUTS or mode == "yaml":
187
+ from mammoth_cli.output.emit import emit_error
188
+
189
+ emit_error(cancelled_error(), machine=True, output=mode)
190
+ raise SystemExit(EXIT_INTERRUPT) from None
187
191
  typer.echo("Aborted!", err=True)
188
192
  raise SystemExit(1) from None
189
193
  # Under standalone_mode=False a normal return is either None (success) or
@@ -223,7 +227,8 @@ class _EnvelopeGroup(TyperGroup):
223
227
  if is_missing_parameter and (option := _unknown_flag_in(error, tokens)):
224
228
  # A misspelt flag is the first thing to fix, ahead of a missing argument.
225
229
  report = _unknown_option_report(error, option)
226
- if _output_mode_from_argv(argv) in MACHINE_OUTPUTS:
230
+ mode = _output_mode_from_argv(argv)
231
+ if mode in MACHINE_OUTPUTS or mode == "yaml":
227
232
  if report is None:
228
233
  missing = is_missing_parameter
229
234
  if missing:
@@ -260,7 +265,7 @@ class _EnvelopeGroup(TyperGroup):
260
265
  )
261
266
  from mammoth_cli.output.emit import emit_error
262
267
 
263
- emit_error(report, machine=True)
268
+ emit_error(report, machine=True, output=mode)
264
269
  elif report is None:
265
270
  error.show()
266
271
  if is_missing_parameter:
@@ -280,6 +285,22 @@ class _EnvelopeGroup(TyperGroup):
280
285
  typer.echo(f" try: {command}", err=True)
281
286
 
282
287
 
288
+ def _argv_of(args: tuple[Any, ...], kwargs: dict[str, Any]) -> Sequence[str] | None:
289
+ """The argv a ``main`` call was given: the ``args`` keyword, else the first positional.
290
+
291
+ Args:
292
+ args: The positional arguments of the ``main`` call.
293
+ kwargs: The keyword arguments of the ``main`` call.
294
+
295
+ Returns:
296
+ The argv tokens, or None when the call used ``sys.argv``.
297
+ """
298
+ argv = kwargs.get("args")
299
+ if argv is None:
300
+ argv = args[0] if args else None
301
+ return argv
302
+
303
+
283
304
  def _build_leaf(command_id: str, *, is_group_callback: bool = False) -> Callable[..., None]:
284
305
  """Return a Typer callback bound to one manifest command id.
285
306
 
@@ -69,7 +69,7 @@ _GROUP_DESCRIPTIONS = {
69
69
  "skill": "Install and manage the Mammoth agent skill.",
70
70
  "snippet": "Manage reusable snippets.",
71
71
  "support": "Manage support and administration resources.",
72
- "template": "Manage templates.",
72
+ "template": "Manage legacy workspace templates (the project catalog is 'workflow template').",
73
73
  "trash": "Inspect, restore, and remove trashed resources.",
74
74
  "user": "Manage users and account settings.",
75
75
  "view": "Transform, query, and publish data views.",
@@ -119,8 +119,11 @@ _SUBGROUP_DESCRIPTIONS = {
119
119
  "collection members": "Remove members from a collection.",
120
120
  "automation route": "Preview and set which automation a watched folder's file goes to.",
121
121
  "automation run-file": "Act on a file an automation run held back.",
122
- "connector ai": "Chat with the connector assistant to set up a connection.",
123
- "connector ai session": "List connector assistant sessions and their messages.",
122
+ "connector ai": (
123
+ "The older connector chat for one connection; it cannot save an AI connector. "
124
+ "To build one, use 'connector draft create'."
125
+ ),
126
+ "connector ai session": "List older connector chat sessions and their messages.",
124
127
  "connector connection": "Create, read, update and delete connector connections.",
125
128
  "connector draft": "Build a connector step by step: sources, gaps, sample, then save.",
126
129
  "connector draft source": "List a draft's sources, preview them and find join keys.",
@@ -182,7 +185,11 @@ _SUBGROUP_DESCRIPTIONS = {
182
185
  "dashboard video": "Export a dashboard as a video.",
183
186
  "dataset broken-rows": "List and resolve rows that failed to load.",
184
187
  "dataset definition": "List, save and remove what terms mean for a dataset.",
188
+ "dataset from-url": "Preview a link, follow or copy a dataset made from a link, and show them.",
185
189
  "dataset file-settings": "Read, update and undo a dataset's file settings.",
190
+ "dataset update-method": (
191
+ "Read or set whether a new file replaces a dataset's rows or adds to them."
192
+ ),
186
193
  "dataset interpretation": "Preview and confirm how a file is interpreted.",
187
194
  "dataset tool-claim": "Read an emailed Open tables link and add its tables to a project.",
188
195
  "parameter group": "Create, list, update, reorder and delete parameter groups.",
@@ -196,6 +203,9 @@ _SUBGROUP_DESCRIPTIONS = {
196
203
  "support connector": "Create, list, update and delete connectors.",
197
204
  "support connector-profile": "Manage connector profiles and their connectors.",
198
205
  "support deal": "Create, read and update deals, and move them to partners.",
206
+ "support project-move": (
207
+ "Follow a project move between workspaces, and purge its source copies."
208
+ ),
199
209
  "support entitlement": "Read the entitlement registry.",
200
210
  "support feature": "Create, list, update and delete features.",
201
211
  "support feature-profile": "Manage feature profiles and their features.",
@@ -211,6 +221,9 @@ _SUBGROUP_DESCRIPTIONS = {
211
221
  "support user": "List, register and update users.",
212
222
  "support workspace": "Manage workspaces: create, suspend, restore and delete.",
213
223
  "support workspace invite": "Cancel or resend a workspace invite.",
224
+ "support workspace project": (
225
+ "List a workspace's projects, check and start moving one to another workspace."
226
+ ),
214
227
  "support workspace user": "Add, list, remove and transfer workspace users.",
215
228
  "user avatar": "Upload or delete the avatar.",
216
229
  "user preference": "Read and update user preferences.",
@@ -233,6 +246,9 @@ _SUBGROUP_DESCRIPTIONS = {
233
246
  "view variants": "Create view variants.",
234
247
  "view version": "List, read, apply and delete view versions.",
235
248
  "workflow block": "Add and configure workflow blocks.",
249
+ "workflow template": (
250
+ "Browse the workflow template catalog, match it to your tables, preview and build it."
251
+ ),
236
252
  "workspace export-hosts": "Read and set the hosts exports may send data to.",
237
253
  "workspace invite": "List, resend, revoke and delete workspace invites.",
238
254
  "workspace oauth-client": "Register, list, delete and revoke OAuth client grants.",
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import os
5
6
  import re
6
7
  import sys
7
8
  from collections.abc import Sequence
@@ -81,6 +82,11 @@ def _output_mode_from_argv(argv: Sequence[str] | None) -> str:
81
82
  mode = token[2:]
82
83
  index += 1
83
84
  mode = canonical_output(mode)
85
+ if mode == OUTPUT_AUTO:
86
+ # ``MAMMOTH_OUTPUT`` is the session default an agent exports once; honour it here too.
87
+ requested = canonical_output(os.environ.get("MAMMOTH_OUTPUT", "").strip().lower())
88
+ if requested in SELECTABLE_OUTPUTS:
89
+ mode = requested
84
90
  if mode not in SELECTABLE_OUTPUTS:
85
91
  # A value the command would reject (``--output xml``) must not turn the
86
92
  # error into prose: judge it by where stdout goes, like the default.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mammoth-cli
3
- version: 2.3.0
3
+ version: 2.4.0
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,7 +1,7 @@
1
1
  # What is proven on release
2
2
 
3
3
  Generated from `docs/release-capability-matrix.json`; do not edit by hand.
4
- The CLI publishes 851 commands. 700 of them bind one of the 769 API operations in the matrix; the remainder are local commands (`schema`, `auth`, `doctor`, `log`, ...) or typed variants that share an operation (`view transform *` commands submit through `view.task.add`, except `rename-columns` and `sort`, which set view display properties through `view.update`). 261 bound commands ran once successfully on release, 1 are not supported there, and the rest are untried. Untried is not broken: discover the contract with `mammoth schema get COMMAND_ID`, run it, and treat the structured error envelope as the answer. Use an untried command normally: confirm a write with the user first, check its result with a read afterwards, and never refuse a command only because it is untried.
4
+ The CLI publishes 872 commands. 705 of them bind one of the 769 API operations in the matrix; the remainder are local commands (`schema`, `auth`, `doctor`, `log`, ...) or typed variants that share an operation (`view transform *` commands submit through `view.task.add`, except `rename-columns` and `sort`, which set view display properties through `view.update`). 261 bound commands ran once successfully on release, 1 are not supported there, and the rest are untried. Untried is not broken: discover the contract with `mammoth schema get COMMAND_ID`, run it, and treat the structured error envelope as the answer. Use an untried command normally: confirm a write with the user first, check its result with a read afterwards, and never refuse a command only because it is untried.
5
5
 
6
6
  Status meanings:
7
7
 
@@ -18,7 +18,7 @@ The typed `view transform *` commands all submit through `view.task.add` (`renam
18
18
  | Family | Commands | Ran once | Not supported | Untried |
19
19
  |---|---|---|---|---|
20
20
  | `dashboard` | 166 | 81 | 1 | 84 |
21
- | `support` | 112 | 9 | 0 | 103 |
21
+ | `support` | 117 | 9 | 0 | 108 |
22
22
  | `view` | 71 | 58 | 0 | 13 |
23
23
  | `agent` | 41 | 1 | 0 | 40 |
24
24
  | `connector` | 39 | 3 | 0 | 36 |
@@ -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 851; 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 872; 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
 
@@ -29,7 +29,7 @@ Load only the applicable domain file:
29
29
  - [dashboard-style](commands/dashboard-style.md) — 10 published commands
30
30
  - [dashboard-embed](commands/dashboard-embed.md) — 9 published commands
31
31
  - [dashboard](commands/dashboard.md) — 112 published commands
32
- - [dataset](commands/dataset.md) — 30 published commands
32
+ - [dataset](commands/dataset.md) — 37 published commands
33
33
  - [doctor](commands/doctor.md) — 1 published commands
34
34
  - [external-key](commands/external-key.md) — 4 published commands
35
35
  - [file](commands/file.md) — 11 published commands
@@ -50,15 +50,15 @@ Load only the applicable domain file:
50
50
  - [schema](commands/schema.md) — 3 published commands
51
51
  - [skill](commands/skill.md) — 7 published commands
52
52
  - [snippet](commands/snippet.md) — 8 published commands
53
- - [support](commands/support.md) — 112 published commands
53
+ - [support](commands/support.md) — 117 published commands
54
54
  - [template](commands/template.md) — 5 published commands
55
55
  - [token](commands/token.md) — 3 published commands
56
56
  - [trash](commands/trash.md) — 3 published commands
57
57
  - [upgrade](commands/upgrade.md) — 1 published commands
58
58
  - [user](commands/user.md) — 7 published commands
59
59
  - [version](commands/version.md) — 1 published commands
60
- - [view-transform](commands/view-transform.md) — 35 published commands
60
+ - [view-transform](commands/view-transform.md) — 36 published commands
61
61
  - [view](commands/view.md) — 110 published commands
62
62
  - [webhook](commands/webhook.md) — 7 published commands
63
- - [workflow](commands/workflow.md) — 23 published commands
63
+ - [workflow](commands/workflow.md) — 31 published commands
64
64
  - [workspace](commands/workspace.md) — 33 published commands
@@ -36,7 +36,7 @@ Status on release: observed blocker — permission: POST /workspaces/4/projects/
36
36
 
37
37
  Run: `mammoth ai sql generate`. Exact input fields: `mammoth schema get ai.sql.generate`.
38
38
 
39
- Example: `mammoth ai sql generate 'Summarize revenue by region' --input '{"dataset_id": 456}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
39
+ Example: `mammoth ai sql generate 'Summarize revenue by region' --input '{"dataset_id": 456, "dataview_id": 123}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
40
40
 
41
41
  Result: `AiSqlGenerateResult`; mutation `read`, confirmation `none`, wait policy `always_wait`.
42
42
 
@@ -132,6 +132,26 @@ Result: `DatasetDeleteResult`; mutation `destructive`, confirmation `prompt_or_y
132
132
 
133
133
  Status on release: ran once on CLI 2.0.18 — fixture-lifecycle sweep 2026-09-19: exit 0 on release with CLI 2.0.18. Deleted dataset 85 (main fixture.csv/view 106) after get-back confirmed id/name. Single invocation only.
134
134
 
135
+ ### `dataset.download`
136
+
137
+ Run: `mammoth dataset download`. Exact input fields: `mammoth schema get dataset.download`.
138
+
139
+ Example: `mammoth dataset download --input '{"resource_ids": [12, 13], "name": "sales", "file_type": "csv"}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
140
+
141
+ Result: `DatasetDownloadResult`; mutation `benign_mutation`, confirmation `none`, wait policy `always_wait`.
142
+
143
+ Status on release: untried; no live run recorded.
144
+
145
+ ### `dataset.download-plan`
146
+
147
+ Run: `mammoth dataset download-plan`. Exact input fields: `mammoth schema get dataset.download-plan`.
148
+
149
+ Example: `mammoth dataset download-plan --input '{"resource_ids": [12, 13]}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
150
+
151
+ Result: `DatasetDownloadPlanResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
152
+
153
+ Status on release: untried; no live run recorded.
154
+
135
155
  ### `dataset.file-settings.get`
136
156
 
137
157
  Run: `mammoth dataset file-settings get`. Exact input fields: `mammoth schema get dataset.file-settings.get`.
@@ -156,7 +176,7 @@ Status on release: ran once on CLI 2.0.15 — re-verification 2026-09-18: exit 0
156
176
 
157
177
  Run: `mammoth dataset file-settings update`. Exact input fields: `mammoth schema get dataset.file-settings.update`.
158
178
 
159
- Example: `mammoth dataset file-settings update 123 --input '{"delimiter": ",", "has_header": true, "initial_skip_count": 0, "quotechar": "\""}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
179
+ Example: `mammoth dataset file-settings update 123 --input '{"initial_skip_count": 2}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
160
180
 
161
181
  Result: `DatasetFileSettingsUpdateResult`; mutation `benign_mutation`, confirmation `none`, wait policy `always_wait`.
162
182
 
@@ -172,6 +192,36 @@ Result: `DatasetFindResult`; mutation `read`, confirmation `none`, wait policy `
172
192
 
173
193
  Status on release: untried; no live run recorded.
174
194
 
195
+ ### `dataset.from-url.follow`
196
+
197
+ Run: `mammoth dataset from-url follow`. Exact input fields: `mammoth schema get dataset.from-url.follow`.
198
+
199
+ Example: `mammoth dataset from-url follow 123 --input '{"follow": false}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
200
+
201
+ Result: `DatasetFromUrlFollowResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
202
+
203
+ Status on release: untried; no live run recorded.
204
+
205
+ ### `dataset.from-url.links`
206
+
207
+ Run: `mammoth dataset from-url links`. Exact input fields: `mammoth schema get dataset.from-url.links`.
208
+
209
+ Example: `mammoth dataset from-url links`. Placeholders are illustrative; resolve IDs and input from observed reads.
210
+
211
+ Result: `DatasetFromUrlLinksResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
212
+
213
+ Status on release: untried; no live run recorded.
214
+
215
+ ### `dataset.from-url.preview`
216
+
217
+ Run: `mammoth dataset from-url preview`. Exact input fields: `mammoth schema get dataset.from-url.preview`.
218
+
219
+ Example: `mammoth dataset from-url preview https://example.com/data.csv`. Placeholders are illustrative; resolve IDs and input from observed reads.
220
+
221
+ Result: `DatasetFromUrlPreviewResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
222
+
223
+ Status on release: untried; no live run recorded.
224
+
175
225
  ### `dataset.get`
176
226
 
177
227
  Run: `mammoth dataset get`. Exact input fields: `mammoth schema get dataset.get`.
@@ -301,3 +351,23 @@ Example: `mammoth dataset update --input '{"patch_data": [{"name": "Status"}]}'
301
351
  Execution is unavailable for the current contract and returns `unsupported_contract`. Do not infer request fields or retry it; use only a separately typed alternative.
302
352
 
303
353
  Known restriction: BLOCKED[B07 DATASET_PATCH_UNTYPED]: raw patch operations include rename/refresh/column changes/reattach/deletion; do not dispatch them. Use dataset.rename or dataset.file-settings.update for their typed variants. The pinned SDK has no public binding for the singular UpdateDataset route, so its other OpenAPI patch variants remain unavailable until a typed SDK contract exists.
354
+
355
+ ### `dataset.update-method.get`
356
+
357
+ Run: `mammoth dataset update-method get`. Exact input fields: `mammoth schema get dataset.update-method.get`.
358
+
359
+ Example: `mammoth dataset update-method get 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
360
+
361
+ Result: `DatasetUpdateMethodGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
362
+
363
+ Status on release: untried; no live run recorded.
364
+
365
+ ### `dataset.update-method.set`
366
+
367
+ Run: `mammoth dataset update-method set`. Exact input fields: `mammoth schema get dataset.update-method.set`.
368
+
369
+ Example: `mammoth dataset update-method set 123 --input '{"mode": "replace"}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
370
+
371
+ Result: `DatasetUpdateMethodSetResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
372
+
373
+ Status on release: untried; no live run recorded.
@@ -672,6 +672,26 @@ Result: `SupportPlanUpdateStorageTiersResult`; mutation `high_impact`, confirmat
672
672
 
673
673
  Status on release: untried; no live run recorded.
674
674
 
675
+ ### `support.project-move.get`
676
+
677
+ Run: `mammoth support project-move get`. Exact input fields: `mammoth schema get support.project-move.get`.
678
+
679
+ Example: `mammoth support project-move get 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
680
+
681
+ Result: `SupportProjectMoveGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
682
+
683
+ Status on release: untried; no live run recorded.
684
+
685
+ ### `support.project-move.purge`
686
+
687
+ Run: `mammoth support project-move purge`. Exact input fields: `mammoth schema get support.project-move.purge`.
688
+
689
+ Example: `mammoth support project-move purge 123 --yes --confirm 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
690
+
691
+ Result: `SupportProjectMovePurgeResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
692
+
693
+ Status on release: untried; no live run recorded.
694
+
675
695
  ### `support.search`
676
696
 
677
697
  Run: `mammoth support search`. Exact input fields: `mammoth schema get support.search`.
@@ -1042,6 +1062,36 @@ Result: `SupportWorkspaceListResult`; mutation `read`, confirmation `none`, wait
1042
1062
 
1043
1063
  Status on release: ran once on CLI 2.0.15 — admin read sweep 2026-09-18: exit 0 on release with CLI 2.0.15. The CLI gates this GET behind --yes --confirm WORKSPACE_ID (confirm_target policy); with confirmation: exit 0; route returns a bare array so the SDK wraps it as {status_code:200, response:[...]}…
1044
1064
 
1065
+ ### `support.workspace.project.list`
1066
+
1067
+ Run: `mammoth support workspace project list`. Exact input fields: `mammoth schema get support.workspace.project.list`.
1068
+
1069
+ Example: `mammoth support workspace project list 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
1070
+
1071
+ Result: `SupportWorkspaceProjectListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
1072
+
1073
+ Status on release: untried; no live run recorded.
1074
+
1075
+ ### `support.workspace.project.move-check`
1076
+
1077
+ Run: `mammoth support workspace project move-check`. Exact input fields: `mammoth schema get support.workspace.project.move-check`.
1078
+
1079
+ Example: `mammoth support workspace project move-check 123 456 --input '{"target_workspace_id": 1}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
1080
+
1081
+ Result: `SupportWorkspaceProjectMoveCheckResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
1082
+
1083
+ Status on release: untried; no live run recorded.
1084
+
1085
+ ### `support.workspace.project.move-start`
1086
+
1087
+ Run: `mammoth support workspace project move-start`. Exact input fields: `mammoth schema get support.workspace.project.move-start`.
1088
+
1089
+ Example: `mammoth support workspace project move-start 123 456 --input '{"target_workspace_id": 1}' --yes --confirm 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
1090
+
1091
+ Result: `SupportWorkspaceProjectMoveStartResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
1092
+
1093
+ Status on release: untried; no live run recorded.
1094
+
1045
1095
  ### `support.workspace.restore-access`
1046
1096
 
1047
1097
  Run: `mammoth support workspace restore-access`. Exact input fields: `mammoth schema get support.workspace.restore-access`.
@@ -252,6 +252,16 @@ Result: `ViewTransformRenameColumnsResult`; mutation `benign_mutation`, confirma
252
252
 
253
253
  Status on release: ran once on CLI 2.0.40 through `view.task.add` and was read back with `view data get`; other inputs for this transform are untried.
254
254
 
255
+ ### `view.transform.repeat-rows`
256
+
257
+ Run: `mammoth view transform repeat-rows`. Exact input fields: `mammoth schema get view.transform.repeat-rows`.
258
+
259
+ Example: `mammoth view transform repeat-rows 123 --input '{"dataset_id": 456}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
260
+
261
+ Result: `ViewTransformRepeatRowsResult`; mutation `reversible_pipeline`, confirmation `none`, wait policy `always_wait`.
262
+
263
+ Status on release: untried; it submits through `view.task.add`, but this transform was not among those run.
264
+
255
265
  ### `view.transform.replace`
256
266
 
257
267
  Run: `mammoth view transform replace`. Exact input fields: `mammoth schema get view.transform.replace`.
@@ -192,6 +192,86 @@ Result: `WorkflowSaveUndoResult`; mutation `destructive`, confirmation `prompt_o
192
192
 
193
193
  Status on release: untried; no live run recorded.
194
194
 
195
+ ### `workflow.template.build`
196
+
197
+ Run: `mammoth workflow template build`. Exact input fields: `mammoth schema get workflow.template.build`.
198
+
199
+ Example: `mammoth workflow template build bank-reconciliation --input '{"inputs": {"main": 101}, "matches": {"main": {"amount": {"column": "Amount"}}}, "destination_name": "Bank reconciliation"}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
200
+
201
+ Result: `WorkflowTemplateBuildResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
202
+
203
+ Status on release: untried; no live run recorded.
204
+
205
+ ### `workflow.template.fit`
206
+
207
+ Run: `mammoth workflow template fit`. Exact input fields: `mammoth schema get workflow.template.fit`.
208
+
209
+ Example: `mammoth workflow template fit bank-reconciliation --input '{"inputs": {"main": 101}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
210
+
211
+ Result: `WorkflowTemplateFitResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
212
+
213
+ Status on release: untried; no live run recorded.
214
+
215
+ ### `workflow.template.get`
216
+
217
+ Run: `mammoth workflow template get`. Exact input fields: `mammoth schema get workflow.template.get`.
218
+
219
+ Example: `mammoth workflow template get bank-reconciliation`. Placeholders are illustrative; resolve IDs and input from observed reads.
220
+
221
+ Result: `WorkflowTemplateGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
222
+
223
+ Status on release: untried; no live run recorded.
224
+
225
+ ### `workflow.template.list`
226
+
227
+ Run: `mammoth workflow template list`. Exact input fields: `mammoth schema get workflow.template.list`.
228
+
229
+ Example: `mammoth workflow template list`. Placeholders are illustrative; resolve IDs and input from observed reads.
230
+
231
+ Result: `WorkflowTemplateListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
232
+
233
+ Status on release: untried; no live run recorded.
234
+
235
+ ### `workflow.template.preview`
236
+
237
+ Run: `mammoth workflow template preview`. Exact input fields: `mammoth schema get workflow.template.preview`.
238
+
239
+ Example: `mammoth workflow template preview bank-reconciliation --input '{"inputs": {"main": 101}, "matches": {"main": {"amount": {"column": "Amount"}}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
240
+
241
+ Result: `WorkflowTemplatePreviewResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
242
+
243
+ Status on release: untried; no live run recorded.
244
+
245
+ ### `workflow.template.rank`
246
+
247
+ Run: `mammoth workflow template rank`. Exact input fields: `mammoth schema get workflow.template.rank`.
248
+
249
+ Example: `mammoth workflow template rank bank-reconciliation --input '{"input_key": "main", "dataset_ids": [101, 102]}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
250
+
251
+ Result: `WorkflowTemplateRankResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
252
+
253
+ Status on release: untried; no live run recorded.
254
+
255
+ ### `workflow.template.sample-result`
256
+
257
+ Run: `mammoth workflow template sample-result`. Exact input fields: `mammoth schema get workflow.template.sample-result`.
258
+
259
+ Example: `mammoth workflow template sample-result bank-reconciliation`. Placeholders are illustrative; resolve IDs and input from observed reads.
260
+
261
+ Result: `WorkflowTemplateSampleResultResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
262
+
263
+ Status on release: untried; no live run recorded.
264
+
265
+ ### `workflow.template.samples`
266
+
267
+ Run: `mammoth workflow template samples`. Exact input fields: `mammoth schema get workflow.template.samples`.
268
+
269
+ Example: `mammoth workflow template samples bank-reconciliation`. Placeholders are illustrative; resolve IDs and input from observed reads.
270
+
271
+ Result: `WorkflowTemplateSamplesResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
272
+
273
+ Status on release: untried; no live run recorded.
274
+
195
275
  ### `workflow.update`
196
276
 
197
277
  Run: `mammoth workflow update`. Exact input fields: `mammoth schema get workflow.update`.
@@ -20,11 +20,19 @@ command that succeeded (`file upload`, `view create`, a `view transform`,
20
20
  filled in with this result's ids, usually the read-back. Run them as they are
21
21
  when they fit the task; a write that did not verify has none.
22
22
 
23
- ## Error envelope (stderr)
23
+ ## Error envelope (stdout, non-zero exit)
24
24
  ```json
25
25
  {"schema_version": 1, "error": {"code": "resource_not_found", "message": "...", "hint": "...", "details": {}, "request_id": null, "retryable": false, "authorization_required": false, "recovery_commands": ["..."], "exit": 1, "log_ref": {"file": ".../logs/2026-09-19.jsonl", "run_id": "b6bc6bf6d166"}}}
26
26
  ```
27
27
 
28
+ With `-o json`, `-o ndjson` or `-o yaml` (also via `MAMMOTH_OUTPUT`, or `auto` on a pipe) the error
29
+ envelope is the one document on stdout, exactly where a success envelope would be, and the exit
30
+ status stays non-zero: read stdout, parse it, branch on `error` and the exit code. This covers
31
+ usage errors, refusals, unexpected exceptions and Ctrl-C. stderr carries only what a person reads
32
+ (the `Next:` line, hints, progress, `--debug` tracebacks); never depend on it. Only if stdout is
33
+ unwritable (a closed pipe) does the envelope fall back to stderr. Table, plain and csv output keep
34
+ the short `error [code]: message` text on stderr.
35
+
28
36
  A mistyped command, option or column carries `details.did_you_mean`: the nearest
29
37
  commands (unknown command), the nearest option (`--profle`, or `"--project 3633"`
30
38
  passed as one argument: pass the value separately) or the nearest column (`Day`
@@ -42,6 +50,20 @@ refresh (`login_expired`, exit 4) needs a new `mammoth auth login`. `auth status
42
50
  token); a name is left out when its lookup fails, and the ids are always present. A sign-in limited
43
51
  to several projects adds `project_ids` to `auth login` and `token_projects` to `auth status --check`.
44
52
 
53
+ ## Resource ids in results
54
+
55
+ One id key per resource, at the top level of `data`: `<resource>_id`. Every create-type command
56
+ (`create`, `create-*`, `duplicate`, `copy`) names the resource it made that way: `dataset create`
57
+ gives `dataset_id`, `project create` `project_id`, `connector connection create` `connection_id`
58
+ (the value `identity_key` / `connection_key` holds, which is the CONNECTION_KEY other commands
59
+ take), `dashboard create-blank` `dashboard_id`. A write that made a dataset, view or dashboard
60
+ (`file upload`, `view export dataset`, `dashboard v3 generate`, ...) also gives that
61
+ `<kind>_id`, and `job wait` / `job get` lift the `dataset_id`, `view_id` or `dashboard_id` their
62
+ `response` or `result` holds, so a script never reads `response.dataset_id`. The older keys
63
+ (`id`, `identity_key`, nested `response`) stay for compatibility; save `data.<resource>_id`, never
64
+ the whole reply. A result that carries no id (a job still running) has no such key: wait on its
65
+ `job_id`, then read the id from `job wait`.
66
+
45
67
  ## Representative result keys
46
68
 
47
69
  These are compact shapes, not substitutes for `schema get`. IDs and field
@@ -105,7 +127,7 @@ echoed `id`. The last line is the summary, which has no `line`: `data` holds `li
105
127
  - A bad line (invalid JSON, a duplicate or unknown key, a flag in `args`, a reserved flag) is an
106
128
  `invalid_run_line` error for that line, exit 2. `run`, `auth login` and `auth logout` cannot be
107
129
  lines, however `cmd` and `args` spell them (`run_command_refused`).
108
- - stdout carries only the envelopes; progress and diagnostics stay on stderr.
130
+ - stdout carries only the envelopes (errors included); progress and diagnostics stay on stderr.
109
131
  - Steps: a line with `"name": "up"` keeps its envelope, and a later line reads it in `args`,
110
132
  `input` or `flags` as `"{{steps.up.data.dataset.id}}"` (a whole-string reference keeps its type;
111
133
  paths take `[0]` indexes). `"when"` skips a line when false (`{"eq": [A, B]}`, `{"in": [A, LIST]}`,
@@ -189,6 +189,20 @@ the user to use Download PDF in the app; never retry with `{"data": {}}`.
189
189
  not publish: `was_published` stays false until you also run
190
190
  `dashboard action DASHBOARD_ID --input '{"action":"publish-presentation"}'`.
191
191
  `share` returns `data: null`; read the url slug back with `dashboard get`.
192
+
193
+ To put the link behind a password, write it (8 to 128 characters) to a file and
194
+ pass the path, never the password itself:
195
+ `mammoth dashboard share ID --input '{"type_of_auth": "password", "password_file": "./pw.txt"}' --yes`.
196
+ The file must not be readable by group or others (`chmod 600`). The trailing
197
+ newline is stripped and the password is never printed or logged.
198
+ This needs a Mammoth with PRD-656. On an older one the password is ignored: the
199
+ CLI reads the share back, and unless `options.has_password` is true it exits
200
+ non-zero with `unsupported_by_server` and puts the earlier share back (the
201
+ error says whether it did; if not, run
202
+ `mammoth dashboard share ID --input '{"type_of_auth": "mammoth"}' --yes`).
203
+ Sharing as `password` again without `password_file` keeps the old password;
204
+ `dashboard get` shows `options.has_password: true`, never the password. To undo,
205
+ share as `mammoth` or `public` again. Viewers enter the password on the link.
192
206
  `dashboard action` with `publish-data` on a board that was never published
193
207
  publishes the presentation instead and says so. `share` and `action` print the
194
208
  deliverable check in their confirmation text.
@@ -41,3 +41,36 @@ mammoth view list DATASET_ID # the new dataset must
41
41
  Report the dataset name and id. If the call returns an error envelope (a bad
42
42
  host, login or path shows up here), report it as is and stop; do not retry the
43
43
  create blindly.
44
+
45
+ ## Replace instead of add
46
+
47
+ An upload into an existing dataset adds its rows by default. To replace them
48
+ instead, set the dataset's update method once; every later upload then replaces:
49
+
50
+ ```bash
51
+ mammoth dataset update-method get DATASET_ID # the current mode: add or replace
52
+ mammoth dataset update-method set DATASET_ID --input '{"mode": "replace"}'
53
+ mammoth file upload ./new.csv --input '{"append_to_ds_id": DATASET_ID}'
54
+ ```
55
+
56
+ Set it back with `{"mode": "add"}` before the next upload if the rows should be
57
+ added again. The setting stays on the dataset, not on one file.
58
+
59
+ If the file's columns do not match the dataset's, `file upload` exits 1 with
60
+ `schema_mismatch` (`rows_added` 0, `kept_dataset_ids`, a next step): nothing was
61
+ added and the file's own dataset stays in the project. Fix the columns or the
62
+ dataset's `schema_mapping` (`dataset update-method set`); `override_target_schema`
63
+ is allowed only under `replace`, with `append_to_ds_id` and the wait.
64
+
65
+ ## Undo an append
66
+
67
+ To take back the rows one upload added, list the dataset's batches and delete
68
+ the one to remove. Deleting a batch removes its rows (a write: confirm first):
69
+
70
+ ```bash
71
+ mammoth batch list DATASET_ID # each batch: its id and row count
72
+ mammoth batch delete DATASET_ID BATCH_ID --yes
73
+ ```
74
+
75
+ `mammoth history undo` also reverts an append. Use `batch list` and
76
+ `batch delete` when the batch is not the last change.