mammoth-cli 2.1.5__tar.gz → 2.1.7__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 (249) hide show
  1. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/PKG-INFO +1 -1
  2. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/app.py +3 -0
  4. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/schema.py +26 -1
  5. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/view.py +33 -2
  6. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/view_ops.py +20 -0
  7. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/pyproject.toml +1 -1
  8. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/.gitignore +0 -0
  9. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/LICENSE +0 -0
  10. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/README.md +0 -0
  11. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/__main__.py +0 -0
  12. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -0
  13. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  14. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  15. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  16. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  17. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
  18. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  19. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  20. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  21. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  22. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  23. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  24. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  25. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  26. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  27. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  28. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
  29. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  30. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  31. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  32. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  33. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  34. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  35. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  36. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-style.md +0 -0
  37. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  38. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  39. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  40. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  41. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  42. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  43. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  44. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  45. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  46. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  47. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  48. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  49. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  50. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  51. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  52. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  53. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  54. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  55. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  56. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  57. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  58. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  59. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  60. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  61. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  62. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  63. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  64. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  65. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  66. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  67. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  68. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  69. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  70. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  71. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  72. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  73. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  74. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  75. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  76. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  77. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  78. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  79. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  80. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  81. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  82. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  83. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  84. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  85. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  86. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/__init__.py +0 -0
  87. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/activity.py +0 -0
  88. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/addon.py +0 -0
  89. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/agent.py +0 -0
  90. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/ai.py +0 -0
  91. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/annotation.py +0 -0
  92. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/auth.py +0 -0
  93. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/automation.py +0 -0
  94. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/batch.py +0 -0
  95. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/billing.py +0 -0
  96. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/browse.py +0 -0
  97. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/calc.py +0 -0
  98. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/capability.py +0 -0
  99. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/client_app.py +0 -0
  100. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/completion.py +0 -0
  101. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/config.py +0 -0
  102. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/connector.py +0 -0
  103. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/context.py +0 -0
  104. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/dashboard.py +0 -0
  105. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/data_app.py +0 -0
  106. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/dataset.py +0 -0
  107. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/doctor.py +0 -0
  108. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/external_key.py +0 -0
  109. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/file.py +0 -0
  110. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/folder.py +0 -0
  111. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/job.py +0 -0
  112. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/notification.py +0 -0
  113. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/parameter.py +0 -0
  114. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/project.py +0 -0
  115. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/registry.py +0 -0
  116. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/report.py +0 -0
  117. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/schedule.py +0 -0
  118. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/skill.py +0 -0
  119. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/snippet.py +0 -0
  120. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/support.py +0 -0
  121. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/template.py +0 -0
  122. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/trash.py +0 -0
  123. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/upgrade.py +0 -0
  124. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/user.py +0 -0
  125. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/view_profile.py +0 -0
  126. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/webhook.py +0 -0
  127. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/workflow.py +0 -0
  128. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/commands/workspace.py +0 -0
  129. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/context/__init__.py +0 -0
  130. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/context/credentials.py +0 -0
  131. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/context/endpoint.py +0 -0
  132. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/context/profiles.py +0 -0
  133. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/context/resolver.py +0 -0
  134. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/contracts/__init__.py +0 -0
  135. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/contracts/auth.py +0 -0
  136. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/embed.py +0 -0
  137. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/errors/__init__.py +0 -0
  138. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/errors/envelope.py +0 -0
  139. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/manifest/__init__.py +0 -0
  140. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/manifest/loader.py +0 -0
  141. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/messages/__init__.py +0 -0
  142. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/output/__init__.py +0 -0
  143. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/output/envelope.py +0 -0
  144. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/output/normalize.py +0 -0
  145. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/output/policy.py +0 -0
  146. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/output/progress.py +0 -0
  147. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/output/render.py +0 -0
  148. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/py.typed +0 -0
  149. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/__init__.py +0 -0
  150. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/confirm.py +0 -0
  151. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/dataset_health.py +0 -0
  152. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/dryrun.py +0 -0
  153. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/dryrun_targets.py +0 -0
  154. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/embedded.py +0 -0
  155. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/executor.py +0 -0
  156. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/input_loader.py +0 -0
  157. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/intent_only.py +0 -0
  158. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/invocation.py +0 -0
  159. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/new_data.py +0 -0
  160. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/options.py +0 -0
  161. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/parents.py +0 -0
  162. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/runlog.py +0 -0
  163. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/session.py +0 -0
  164. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/state.py +0 -0
  165. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/strict.py +0 -0
  166. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/updates.py +0 -0
  167. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/validate.py +0 -0
  168. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/runtime/verify.py +0 -0
  169. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/__init__.py +0 -0
  170. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/argspec.py +0 -0
  171. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/board_values.py +0 -0
  172. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/coerce.py +0 -0
  173. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/command_contract.py +0 -0
  174. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/conditions.py +0 -0
  175. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/dashboard_filters.py +0 -0
  176. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/dashboard_pages.py +0 -0
  177. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/dashboard_review.py +0 -0
  178. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/data_profile.py +0 -0
  179. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/data_quality.py +0 -0
  180. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/dispatch.py +0 -0
  181. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/factory.py +0 -0
  182. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/input_fields.py +0 -0
  183. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/listing.py +0 -0
  184. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/mapping.py +0 -0
  185. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/openapi_types.py +0 -0
  186. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/positionals.py +0 -0
  187. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/protocol.py +0 -0
  188. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/read_queries.py +0 -0
  189. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/sdk_service.py +0 -0
  190. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/stored_stats.py +0 -0
  191. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/testing.py +0 -0
  192. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/text_dates.py +0 -0
  193. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/type_system.py +0 -0
  194. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/services/write_impact.py +0 -0
  195. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/skills/__init__.py +0 -0
  196. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/skills/installer.py +0 -0
  197. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/skills/steering.py +0 -0
  198. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/mammoth_cli/testing.py +0 -0
  199. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/activity.yaml +0 -0
  200. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/addon.yaml +0 -0
  201. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/agent.yaml +0 -0
  202. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/ai.yaml +0 -0
  203. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/annotation.yaml +0 -0
  204. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/auth.yaml +0 -0
  205. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/automation.yaml +0 -0
  206. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/batch.yaml +0 -0
  207. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/billing.yaml +0 -0
  208. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/browse.yaml +0 -0
  209. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/calc.yaml +0 -0
  210. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/capability.yaml +0 -0
  211. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/client-app.yaml +0 -0
  212. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/completion.yaml +0 -0
  213. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/config.yaml +0 -0
  214. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/connector.yaml +0 -0
  215. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/context.yaml +0 -0
  216. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/dashboard.yaml +0 -0
  217. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/data-app.yaml +0 -0
  218. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/dataset.yaml +0 -0
  219. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/doctor.yaml +0 -0
  220. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/external-key.yaml +0 -0
  221. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/file.yaml +0 -0
  222. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/folder.yaml +0 -0
  223. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/job.yaml +0 -0
  224. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/log.yaml +0 -0
  225. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/notification.yaml +0 -0
  226. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/parameter.yaml +0 -0
  227. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/project.yaml +0 -0
  228. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/report.yaml +0 -0
  229. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/schedule.yaml +0 -0
  230. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/schema.yaml +0 -0
  231. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/skill.yaml +0 -0
  232. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/snippet.yaml +0 -0
  233. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/support.yaml +0 -0
  234. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/template.yaml +0 -0
  235. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/trash.yaml +0 -0
  236. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/upgrade.yaml +0 -0
  237. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/user.yaml +0 -0
  238. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/version.yaml +0 -0
  239. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/view.yaml +0 -0
  240. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/webhook.yaml +0 -0
  241. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/workflow.yaml +0 -0
  242. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/commands/workspace.yaml +0 -0
  243. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/edits-target.source.yaml +0 -0
  244. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/openapi-operations.yaml +0 -0
  245. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/schema-v1.json +0 -0
  246. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/sdk-catalog.source.yaml +0 -0
  247. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/manifests/sdk-methods.yaml +0 -0
  248. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/openapi/metadata.json +0 -0
  249. {mammoth_cli-2.1.5 → mammoth_cli-2.1.7}/spec/openapi/openapi.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.1.5
3
+ Version: 2.1.7
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.1.5"
9
+ __version__ = "2.1.7"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -30,6 +30,7 @@ from typer.core import TyperGroup
30
30
  from mammoth_cli import __version__
31
31
  from mammoth_cli.commands import BESPOKE
32
32
  from mammoth_cli.commands.registry import HANDLERS, Handler
33
+ from mammoth_cli.commands.schema import IN_PLACE_RECIPE, edits_view_in_place
33
34
  from mammoth_cli.context import profiles
34
35
  from mammoth_cli.errors.envelope import EXIT_USAGE, CliError, not_implemented_error
35
36
  from mammoth_cli.manifest.loader import command_by_id, load_commands
@@ -929,6 +930,8 @@ def _command_help(command_id: str, record: dict[str, Any] | None) -> str | None:
929
930
  summary = doc.strip().splitlines()[0].strip().replace("``", "'")
930
931
  if summary:
931
932
  parts.append(summary)
933
+ if record is not None and edits_view_in_place(record):
934
+ parts.append(IN_PLACE_RECIPE)
932
935
  example = (record or {}).get("agent_example")
933
936
  if example:
934
937
  parts.append(f"Example: {example}")
@@ -469,6 +469,28 @@ _SCOPE_REQUIREMENTS: dict[str, dict[str, Any]] = {
469
469
  }
470
470
 
471
471
  _MAX_FIND_RESULTS = 20
472
+ # View transform/task commands add a step to the GIVEN view. An agent asked for
473
+ # a NEW dataset must know that before calling, so the statement is carried by
474
+ # every such command's contract (schema get ``preconditions``, find, --help).
475
+ _IN_PLACE_PREFIXES = ("view.transform.", "view.task.")
476
+ IN_PLACE_RECIPE = (
477
+ "EDITS THE GIVEN VIEW IN PLACE: this adds a step to the view and changes that view "
478
+ "and its dataset's output. To make a NEW dataset and leave the source untouched: "
479
+ "`mammoth view create SOURCE_DATASET_ID` (working view), do the steps on that working "
480
+ 'view, then `mammoth view export dataset WORKING_VIEW_ID --input \'{"dataset_name": "..."}\'`.'
481
+ )
482
+ _IN_PLACE_KEYWORDS = (
483
+ "new dataset create make in place edits given view working view source untouched"
484
+ )
485
+
486
+
487
+ def edits_view_in_place(record: dict[str, Any]) -> bool:
488
+ """True for a view transform/task command that changes an existing view."""
489
+ return bool(record.get("edits_target")) and str(record.get("command_id", "")).startswith(
490
+ _IN_PLACE_PREFIXES
491
+ )
492
+
493
+
472
494
  # Outranks any word-overlap score: a command named by its full path comes first.
473
495
  _NAMED_COMMAND_BOOST = 10_000
474
496
  # Bag-of-words scoring cannot tell "create a NEW VIEW from an existing
@@ -944,7 +966,9 @@ def _compact_contract(record: dict[str, Any]) -> dict[str, Any]:
944
966
  "the intended postcondition."
945
967
  )
946
968
  restrictions = record.get("known_restrictions")
947
- if restrictions is None:
969
+ if edits_view_in_place(record):
970
+ restrictions = f"{IN_PLACE_RECIPE} {restrictions or ''}".strip()
971
+ elif restrictions is None:
948
972
  required_positionals = [
949
973
  str(item.get("metavar") or item.get("name"))
950
974
  for item in record.get("positionals", [])
@@ -1664,6 +1688,7 @@ def find_schemas(
1664
1688
  (30, f"{record.get('human_example', '')} {record.get('agent_example', '')}"),
1665
1689
  (20, positional_help),
1666
1690
  (15, _operation_hints_by_command().get(command_id, "")),
1691
+ (15, _IN_PLACE_KEYWORDS if edits_view_in_place(record) else ""),
1667
1692
  (60, _COMMAND_DISCOVERY_PURPOSES.get(command_id, "")),
1668
1693
  (3, _GROUP_DISCOVERY_PURPOSES.get(command_path.split()[0], "")),
1669
1694
  )
@@ -1038,6 +1038,10 @@ def key_overlap(left_counts: dict[Any, int], right_counts: dict[Any, int]) -> di
1038
1038
  "unmatched_keys": _unmatched(left_counts, right_keys),
1039
1039
  "right_rows_checked": right_total,
1040
1040
  "right_match_rate": round(right_matched / right_total, 3) if right_total else None,
1041
+ "right_unmatched_rows": right_total - right_matched,
1042
+ "right_unmatched_key_count": sum(
1043
+ 1 for key in right_counts if key in (None, "") or key not in left_keys
1044
+ ),
1041
1045
  "right_unmatched_keys": _unmatched(right_counts, left_keys),
1042
1046
  }
1043
1047
 
@@ -1097,13 +1101,31 @@ def join_dry_run_preview(
1097
1101
  }
1098
1102
 
1099
1103
 
1100
- def with_join_check(data: Any, before: Any, after: dict[str, Any], document: dict[str, Any]) -> Any:
1104
+ _RIGHT_CHECK_FIELDS = (
1105
+ "right_rows_checked",
1106
+ "right_match_rate",
1107
+ "right_unmatched_rows",
1108
+ "right_unmatched_key_count",
1109
+ "right_unmatched_keys",
1110
+ )
1111
+
1112
+
1113
+ def with_join_check(
1114
+ data: Any,
1115
+ before: Any,
1116
+ after: dict[str, Any],
1117
+ document: dict[str, Any],
1118
+ right: dict[str, Any] | None = None,
1119
+ ) -> Any:
1101
1120
  """Add ``join_check`` (row counts, columns added, match rate) to a join result.
1102
1121
 
1103
1122
  ``unmatched_rows`` counts rows where every added column is blank: for a
1104
1123
  LEFT join these are rows whose key found no match in the other view. It is
1105
1124
  counted over the whole view when ``after`` carries ``unmatched_total``
1106
1125
  (see :func:`join_after_snapshot`), else over the sampled first page.
1126
+ ``right`` is a :func:`join_dry_run_preview` of the same join: its right-side
1127
+ fields (keys only the other view has) are copied in, so a LEFT join does not
1128
+ hide them.
1107
1129
  """
1108
1130
  if not isinstance(data, dict) or not isinstance(before, dict):
1109
1131
  return data
@@ -1156,6 +1178,14 @@ def with_join_check(data: Any, before: Any, after: dict[str, Any], document: dic
1156
1178
  f"{before_n - after_n} rows had no match and were dropped "
1157
1179
  "(an INNER join keeps matched rows only)."
1158
1180
  )
1181
+ if right and right.get("checked"):
1182
+ check.update({k: right[k] for k in _RIGHT_CHECK_FIELDS})
1183
+ if right["right_unmatched_key_count"]:
1184
+ notes.append(
1185
+ f"{right['right_unmatched_key_count']} key(s) in the other view found no "
1186
+ "partner here (right_unmatched_keys lists the first ones); report them "
1187
+ "as well as the unmatched rows on this side."
1188
+ )
1159
1189
  if notes:
1160
1190
  check["notes"] = notes
1161
1191
  return {**data, "join_check": check}
@@ -2713,6 +2743,7 @@ def view_task_add(invocation: Invocation) -> HandlerResult:
2713
2743
  reject_pipeline_reference_errors,
2714
2744
  reject_task_runtime_error,
2715
2745
  require_expected_task_count,
2746
+ with_in_place_note,
2716
2747
  )
2717
2748
 
2718
2749
  with open_service(invocation) as (service, auth):
@@ -2723,7 +2754,7 @@ def view_task_add(invocation: Invocation) -> HandlerResult:
2723
2754
  reject_task_runtime_error(
2724
2755
  service, dataview_id, kwargs.get("dataset_id"), data, submitted_at
2725
2756
  )
2726
- return data, _meta(invocation, auth.workspace_id, None)
2757
+ return with_in_place_note(data, dataview_id), _meta(invocation, auth.workspace_id, None)
2727
2758
 
2728
2759
 
2729
2760
  def view_task_delete(invocation: Invocation) -> HandlerResult:
@@ -375,6 +375,25 @@ def _dispatch_view(
375
375
  return data, _meta(invocation, auth.workspace_id)
376
376
 
377
377
 
378
+ def with_in_place_note(data: Any, view_id: int) -> Any:
379
+ """Tell the caller this write changed view ``view_id`` itself, and how to avoid that.
380
+
381
+ An agent asked for a NEW dataset edited the source's own view; the way to
382
+ leave the source untouched is a working view, then ``view export dataset``.
383
+ """
384
+ if not isinstance(data, dict):
385
+ return data
386
+ return {
387
+ **data,
388
+ "in_place_note": (
389
+ f"This edited existing view {view_id} in place. If the user asked for a NEW "
390
+ "dataset or the source must stay untouched, do not edit it: run 'mammoth view "
391
+ "create DATASET_ID' for a working view, make the steps on that view, then "
392
+ "'mammoth view export dataset' it into the new dataset."
393
+ ),
394
+ }
395
+
396
+
378
397
  def _flag_unsettled_pipeline(service: Any, dataset_id: int, view_id: int, data: Any) -> None:
379
398
  """Wait for the pipeline after a write with no row check, and record what it finds.
380
399
 
@@ -1193,6 +1212,7 @@ def view_transform_join(invocation: Invocation) -> HandlerResult:
1193
1212
  state,
1194
1213
  join_after_snapshot(service, dataset_id, view_id, project_id, state),
1195
1214
  document,
1215
+ _join_preview(service, dataset_id, view_id, document, project_id),
1196
1216
  )
1197
1217
 
1198
1218
  try:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.1.5"
3
+ version = "2.1.7"
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