mammoth-cli 2.0.52__tar.gz → 2.0.54__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/PKG-INFO +2 -2
  2. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +5 -5
  4. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +10 -2
  5. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/folder.py +35 -8
  6. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/project.py +14 -0
  7. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/schema.py +32 -0
  8. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/view.py +54 -5
  9. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/pyproject.toml +2 -2
  10. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/folder.yaml +5 -2
  11. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/sdk-catalog.source.yaml +8 -2
  12. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/sdk-methods.yaml +1 -1
  13. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/.gitignore +0 -0
  14. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/LICENSE +0 -0
  15. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/README.md +0 -0
  16. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/__main__.py +0 -0
  17. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/app.py +0 -0
  18. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  19. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  20. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  21. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  22. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
  23. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  24. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  25. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  26. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  27. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  28. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  29. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  30. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  31. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  32. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  33. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  34. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  35. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  36. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  37. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  38. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  39. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  40. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  41. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  42. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  43. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  44. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  45. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  46. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  47. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  48. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  49. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  50. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  51. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  52. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  53. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  54. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  55. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  56. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  57. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  58. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  59. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  60. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  61. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  62. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  63. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  64. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  65. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  66. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  67. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  68. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  69. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  70. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  71. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  72. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  73. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  74. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  75. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  76. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  77. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  78. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  79. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  80. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  81. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  82. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  83. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  84. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  85. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  86. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  87. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  88. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/__init__.py +0 -0
  89. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/activity.py +0 -0
  90. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/addon.py +0 -0
  91. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/agent.py +0 -0
  92. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/ai.py +0 -0
  93. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/annotation.py +0 -0
  94. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/auth.py +0 -0
  95. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/automation.py +0 -0
  96. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/batch.py +0 -0
  97. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/billing.py +0 -0
  98. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/browse.py +0 -0
  99. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/capability.py +0 -0
  100. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/client_app.py +0 -0
  101. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/completion.py +0 -0
  102. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/config.py +0 -0
  103. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/connector.py +0 -0
  104. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/context.py +0 -0
  105. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/dashboard.py +0 -0
  106. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/data_app.py +0 -0
  107. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/dataset.py +0 -0
  108. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/doctor.py +0 -0
  109. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/external_key.py +0 -0
  110. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/file.py +0 -0
  111. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/job.py +0 -0
  112. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/notification.py +0 -0
  113. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/parameter.py +0 -0
  114. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/registry.py +0 -0
  115. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/report.py +0 -0
  116. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/schedule.py +0 -0
  117. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/skill.py +0 -0
  118. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/snippet.py +0 -0
  119. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/support.py +0 -0
  120. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/template.py +0 -0
  121. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/trash.py +0 -0
  122. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/upgrade.py +0 -0
  123. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/user.py +0 -0
  124. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/view_ops.py +0 -0
  125. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/webhook.py +0 -0
  126. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/workflow.py +0 -0
  127. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/commands/workspace.py +0 -0
  128. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/context/__init__.py +0 -0
  129. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/context/credentials.py +0 -0
  130. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/context/endpoint.py +0 -0
  131. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/context/profiles.py +0 -0
  132. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/context/resolver.py +0 -0
  133. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/contracts/__init__.py +0 -0
  134. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/contracts/auth.py +0 -0
  135. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/embed.py +0 -0
  136. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/errors/__init__.py +0 -0
  137. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/errors/envelope.py +0 -0
  138. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/manifest/__init__.py +0 -0
  139. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/manifest/loader.py +0 -0
  140. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/messages/__init__.py +0 -0
  141. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/output/__init__.py +0 -0
  142. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/output/envelope.py +0 -0
  143. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/output/normalize.py +0 -0
  144. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/output/policy.py +0 -0
  145. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/output/progress.py +0 -0
  146. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/output/render.py +0 -0
  147. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/py.typed +0 -0
  148. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/__init__.py +0 -0
  149. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/confirm.py +0 -0
  150. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/dryrun.py +0 -0
  151. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/embedded.py +0 -0
  152. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/executor.py +0 -0
  153. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/input_loader.py +0 -0
  154. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/invocation.py +0 -0
  155. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/options.py +0 -0
  156. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/parents.py +0 -0
  157. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/runlog.py +0 -0
  158. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/session.py +0 -0
  159. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/strict.py +0 -0
  160. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/updates.py +0 -0
  161. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/runtime/validate.py +0 -0
  162. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/__init__.py +0 -0
  163. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/argspec.py +0 -0
  164. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/coerce.py +0 -0
  165. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/command_contract.py +0 -0
  166. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/conditions.py +0 -0
  167. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/dashboard_pages.py +0 -0
  168. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/dashboard_review.py +0 -0
  169. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/data_quality.py +0 -0
  170. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/dispatch.py +0 -0
  171. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/factory.py +0 -0
  172. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/input_fields.py +0 -0
  173. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/mapping.py +0 -0
  174. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/openapi_types.py +0 -0
  175. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/positionals.py +0 -0
  176. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/protocol.py +0 -0
  177. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/sdk_service.py +0 -0
  178. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/testing.py +0 -0
  179. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/services/type_system.py +0 -0
  180. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/skills/__init__.py +0 -0
  181. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/skills/installer.py +0 -0
  182. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/skills/steering.py +0 -0
  183. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/mammoth_cli/testing.py +0 -0
  184. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/activity.yaml +0 -0
  185. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/addon.yaml +0 -0
  186. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/agent.yaml +0 -0
  187. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/ai.yaml +0 -0
  188. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/annotation.yaml +0 -0
  189. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/auth.yaml +0 -0
  190. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/automation.yaml +0 -0
  191. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/batch.yaml +0 -0
  192. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/billing.yaml +0 -0
  193. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/browse.yaml +0 -0
  194. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/capability.yaml +0 -0
  195. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/client-app.yaml +0 -0
  196. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/completion.yaml +0 -0
  197. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/config.yaml +0 -0
  198. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/connector.yaml +0 -0
  199. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/context.yaml +0 -0
  200. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/dashboard.yaml +0 -0
  201. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/data-app.yaml +0 -0
  202. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/dataset.yaml +0 -0
  203. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/doctor.yaml +0 -0
  204. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/external-key.yaml +0 -0
  205. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/file.yaml +0 -0
  206. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/job.yaml +0 -0
  207. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/log.yaml +0 -0
  208. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/notification.yaml +0 -0
  209. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/parameter.yaml +0 -0
  210. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/project.yaml +0 -0
  211. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/report.yaml +0 -0
  212. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/schedule.yaml +0 -0
  213. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/schema.yaml +0 -0
  214. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/skill.yaml +0 -0
  215. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/snippet.yaml +0 -0
  216. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/support.yaml +0 -0
  217. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/template.yaml +0 -0
  218. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/trash.yaml +0 -0
  219. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/upgrade.yaml +0 -0
  220. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/user.yaml +0 -0
  221. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/version.yaml +0 -0
  222. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/view.yaml +0 -0
  223. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/webhook.yaml +0 -0
  224. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/workflow.yaml +0 -0
  225. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/commands/workspace.yaml +0 -0
  226. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/openapi-operations.yaml +0 -0
  227. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/manifests/schema-v1.json +0 -0
  228. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/openapi/metadata.json +0 -0
  229. {mammoth_cli-2.0.52 → mammoth_cli-2.0.54}/spec/openapi/openapi.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.0.52
3
+ Version: 2.0.54
4
4
  Summary: Command-line interface for the Mammoth Analytics platform
5
5
  Project-URL: homepage, https://mammoth.io
6
6
  Project-URL: repository, https://github.com/EdgeMetric/mammothsdk
@@ -17,7 +17,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
17
  Requires-Python: <3.15,>=3.12
18
18
  Requires-Dist: jsonschema>=4.20
19
19
  Requires-Dist: keyring<26,>=25.7
20
- Requires-Dist: mammoth-io<0.8,>=0.7.23
20
+ Requires-Dist: mammoth-io<0.8,>=0.7.25
21
21
  Requires-Dist: platformdirs<5,>=4.10
22
22
  Requires-Dist: pydantic<3,>=2.13
23
23
  Requires-Dist: pyyaml<7,>=6
@@ -6,7 +6,7 @@ not implement a second HTTP client and does not call private SDK members.
6
6
 
7
7
  from __future__ import annotations
8
8
 
9
- __version__ = "2.0.52"
9
+ __version__ = "2.0.54"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mammoth-cli
3
- version: 2.0.52
3
+ version: 2.0.54
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
 
@@ -140,10 +140,10 @@ your report. If no column links the files, ask before you combine them.
140
140
  - `mammoth skill show --input '{"file": "references/recipes/transforms.md"}'`
141
141
  prints any file of this skill; `mammoth skill agents-md install` writes a
142
142
  steering block into a repository's AGENTS.md so later sessions start here.
143
- - `COMMAND --help` lists the input fields with types; `mammoth schema get
144
- COMMAND_ID` is the full contract (add `--input '{"full": true}'` for the
145
- JSON Schema); `schema list` is the family index, `schema list view` one
146
- family, `schema find WORDS` a search.
143
+ - `COMMAND --help` lists input fields; `schema find WORDS` inlines
144
+ `accepted_fields`/`agent_example` for top matches, else `mammoth schema
145
+ get COMMAND_ID` (`--input '{"full": true}'` for the schema); `schema
146
+ list`/`schema list view` list families.
147
147
  - Uploads return a **dataset** id; transforms, joins, exports and previews
148
148
  take the **view** id from `view list DATASET_ID`.
149
149
  - `view list` and `view get` return the brief record (id, ds_id, name,
@@ -9,7 +9,9 @@ happens with the job, so you do not have to guess:
9
9
  envelope says `"status": "done"` and `"pipeline_state": "ready"`: the
10
10
  pipeline has finished, so do not poll its `future_id`; verify the values
11
11
  with `view data get`. (With SDK ≤ 0.7.13 the same envelope said
12
- `"processing"`; it meant the same thing.)
12
+ `"processing"`; it meant the same thing.) If the view's auto-run is off,
13
+ the same call instead returns `"status": "staged"` with a `message`
14
+ naming `view draft submit VIEW_ID` — run that to actually execute it.
13
15
  - Only a `returns_job` command normally needs you to wait on the job id
14
16
  explicitly:
15
17
  ```bash
@@ -27,7 +29,13 @@ is `outcome_unknown`. Re-read the exact target and scope before replaying it;
27
29
  the operation may already have committed.
28
30
 
29
31
  ## Draft mode
30
- Batch several pipeline edits, then submit them together:
32
+ With auto-run on (the normal mode), every pipeline change reruns the whole
33
+ pipeline. On a big view, say 1M rows, adding 3 rules runs it 3 times. When you
34
+ know up front that you will make several changes, enter draft mode, add them
35
+ all, then submit: the pipeline runs once. A staged change has no data until the
36
+ submit, so read back after it, not before. A view already in draft mode (auto-run
37
+ off) answers each change with `"status": "staged"`; add the rest, then submit
38
+ once.
31
39
  ```bash
32
40
  mammoth view draft enter 1039 --project 180
33
41
  mammoth view transform add-column 1039 --project 180 \
@@ -156,8 +156,9 @@ def folder_find(invocation: Invocation) -> HandlerResult:
156
156
  return {
157
157
  "matches": matches,
158
158
  "projects_searched": len(projects),
159
- "projects_truncated": invocation.project is None
160
- and len(projects) >= _MAX_PROJECTS_SEARCHED,
159
+ "projects_truncated": (
160
+ invocation.project is None and len(projects) >= _MAX_PROJECTS_SEARCHED
161
+ ),
161
162
  }, meta
162
163
 
163
164
 
@@ -240,13 +241,39 @@ def folder_update(invocation: Invocation) -> HandlerResult:
240
241
 
241
242
 
242
243
  def folder_move(invocation: Invocation) -> HandlerResult:
243
- """Move resources into a target folder in the active project."""
244
+ """Move resources into a target folder in the active project.
245
+
246
+ One of ``resource_ids``, ``dataset_ids``, or ``view_ids`` is required.
247
+ ``dataset_ids``/``view_ids`` take the plain ids ``dataset get``/``view
248
+ get`` return and are resolved to resource ids by the SDK; ``resource_ids``
249
+ is for when the caller already has a resource id from elsewhere.
250
+ """
244
251
  project_id = require_project(invocation)
245
- document = invocation.load_input()
246
- resource_ids = _require_field(document, "resource_ids")
247
- kwargs: dict[str, Any] = {"resource_ids": resource_ids, "project_id": project_id}
248
- assert document is not None
249
- _forward_optional(document, kwargs, ("target_folder_resource_id", "source_folder_resource_id"))
252
+ document = invocation.load_input() or {}
253
+ kwargs: dict[str, Any] = {"project_id": project_id}
254
+ _forward_optional(
255
+ document,
256
+ kwargs,
257
+ (
258
+ "resource_ids",
259
+ "dataset_ids",
260
+ "view_ids",
261
+ "target_folder_resource_id",
262
+ "source_folder_resource_id",
263
+ ),
264
+ )
265
+ if not any(field in kwargs for field in ("resource_ids", "dataset_ids", "view_ids")):
266
+ raise CliError(
267
+ code=CODE_MISSING_FIELD,
268
+ message=(
269
+ "This command requires one of 'resource_ids', 'dataset_ids', " "or 'view_ids'."
270
+ ),
271
+ exit_status=EXIT_USAGE,
272
+ hint=(
273
+ "Pass it via --input, e.g. "
274
+ '--input \'{"dataset_ids": [1407], "target_folder_resource_id": 3445}\'.'
275
+ ),
276
+ )
250
277
  with open_service(invocation) as (service, auth):
251
278
  data = service.call(_symbol(invocation), **kwargs)
252
279
  return data, _meta(invocation, auth.workspace_id, project_id)
@@ -572,6 +572,20 @@ def project_check(invocation: Invocation) -> HandlerResult:
572
572
  }
573
573
  if "before_dashboard" in preview:
574
574
  entry["before_dashboard"] = preview["before_dashboard"]
575
+ other_views = preview.get("other_views")
576
+ if other_views:
577
+ # Only the first (most recent) view is previewed and checked.
578
+ # Say so explicitly instead of letting silence read as "this
579
+ # is the only view" -- which view to change is the user's
580
+ # call unless they already named one.
581
+ entry["other_views"] = other_views
582
+ other_desc = ", ".join(f"{v['id']} ({v.get('name')})" for v in other_views)
583
+ to_report.append(
584
+ f"dataset {dataset.get('name')} (id {dataset_id}) has "
585
+ f"{len(other_views) + 1} views; only view {preview['view_id']} was "
586
+ f"checked (others: {other_desc}). Which view to change is the "
587
+ "user's pick unless they named one."
588
+ )
575
589
  views.append(entry)
576
590
  where = f"view {preview['view_id']} ({dataset.get('name')})"
577
591
  to_report += [_report_line(where, w) for w in entry["column_warnings"]]
@@ -227,6 +227,14 @@ _SCOPE_REQUIREMENTS: dict[str, dict[str, Any]] = {
227
227
 
228
228
  _MAX_FIND_RESULTS = 20
229
229
  _MAX_FIND_LIMIT = 100
230
+ # How many of a find's top matches carry inline accepted_fields/agent_example.
231
+ # 35% of all eval tool calls were command discovery (schema find -> schema
232
+ # get) because find's compact entry gave a command_id but not what to pass
233
+ # it; inlining the top few lets an agent act without a second round trip in
234
+ # the common case where one of them is right. Bounded to a few commands so a
235
+ # broad query never balloons the result (the tool result goes into the
236
+ # model's context).
237
+ _INLINE_DETAIL_COUNT = 3
230
238
 
231
239
  # Search is intentionally a small, deterministic intent matcher rather than a
232
240
  # fuzzy/remote search service. The aliases describe language users commonly
@@ -369,6 +377,19 @@ def _accepted_fields(record: dict[str, Any]) -> list[dict[str, Any]] | None:
369
377
  ]
370
378
 
371
379
 
380
+ def _compact_accepted_fields(record: dict[str, Any]) -> list[dict[str, Any]] | None:
381
+ """``_accepted_fields`` without the per-field JSON Schema.
382
+
383
+ A find result inlines this for its top matches: enough to compose a call
384
+ (name, type, required, enum) without the nested-schema detail ``schema
385
+ get`` returns.
386
+ """
387
+ fields = _accepted_fields(record)
388
+ if fields is None:
389
+ return None
390
+ return [{key: field[key] for key in ("name", "type", "required", "enum")} for field in fields]
391
+
392
+
372
393
  def _externally_supplied_fields(command_id: str) -> frozenset[str]:
373
394
  """Fields supplied by positionals or authenticated CLI context."""
374
395
  if command_id in LOCAL_COMMANDS:
@@ -1301,6 +1322,17 @@ def find_schemas(
1301
1322
  )
1302
1323
  total_matches = len(ranked_matches)
1303
1324
  page = [match for _, match in ranked_matches[offset : offset + bounded_limit]]
1325
+ for rank, match in enumerate(page, start=offset):
1326
+ if rank >= _INLINE_DETAIL_COUNT:
1327
+ break
1328
+ match_record = command_by_id(match["command_id"])
1329
+ if match_record is None:
1330
+ continue
1331
+ fields = _compact_accepted_fields(match_record)
1332
+ if fields is not None:
1333
+ match["accepted_fields"] = fields
1334
+ if match_record.get("agent_example"):
1335
+ match["agent_example"] = match_record["agent_example"]
1304
1336
  has_more = offset + len(page) < total_matches
1305
1337
  continuation = (
1306
1338
  {
@@ -2307,16 +2307,25 @@ def view_export_specialized(invocation: Invocation) -> HandlerResult:
2307
2307
  if is_dataset_route and isinstance(data, int):
2308
2308
  # The SDK returns the bare id of the dataset written to; name it, and
2309
2309
  # say which project it landed in, so the agent's next read is obvious.
2310
+ # The written dataset's view id/name is resolved here too: an append
2311
+ # (save_as_mode=APPEND_TO_DS) never changes it, so telling the agent
2312
+ # to go re-list every time -- as a text-only 'next' hint used to --
2313
+ # cost one avoidable round trip per append to the same dataset. Best
2314
+ # effort: a failed lookup falls back to the old hint instead.
2310
2315
  data = {
2311
2316
  "dataset_id": data,
2312
2317
  "project_id": result_project_id,
2313
2318
  "source_view_id": dataview_id,
2314
- "next": (
2315
- f"mammoth view list {data}"
2316
- + (f" --project {result_project_id}" if target_project is not None else "")
2317
- ),
2318
2319
  }
2319
- rows_after = _dataset_row_count(service, data["dataset_id"], result_project_id)
2320
+ view_info = _dataset_view_info(service, data["dataset_id"], result_project_id)
2321
+ if view_info is not None:
2322
+ data["view_id"] = view_info["id"]
2323
+ data["view_name"] = view_info["name"]
2324
+ else:
2325
+ data["next"] = f"mammoth view list {data['dataset_id']}" + (
2326
+ f" --project {result_project_id}" if target_project is not None else ""
2327
+ )
2328
+ rows_after = view_info["row_count"] if view_info is not None else None
2320
2329
  if rows_after is not None:
2321
2330
  data["rows_after"] = rows_after
2322
2331
  if rows_before is not None:
@@ -2342,6 +2351,35 @@ def _dataset_row_count(service: Any, dataset_id: int, project_id: int | None) ->
2342
2351
  return None
2343
2352
 
2344
2353
 
2354
+ def _dataset_view_info(
2355
+ service: Any, dataset_id: int, project_id: int | None
2356
+ ) -> dict[str, Any] | None:
2357
+ """Id, name, and row count of a dataset's current (most recent) view, best effort.
2358
+
2359
+ Used right after ``view.export.dataset`` writes to ``dataset_id``: the
2360
+ id/name let the response carry the view an agent needs next instead of a
2361
+ 'go list it' hint (an append never changes it), and the row count feeds
2362
+ ``rows_after`` -- one listing call instead of two. Any failure returns
2363
+ None; the caller falls back to the 'next' hint and skips ``rows_after``.
2364
+ """
2365
+ try:
2366
+ listing = service.call(_DATAVIEW_LIST_SYMBOL, dataset_id=dataset_id, project_id=project_id)
2367
+ views = listing.get("dataviews") if isinstance(listing, dict) else None
2368
+ if not isinstance(views, list) or not views or not isinstance(views[0], dict):
2369
+ return None
2370
+ view_id = views[0].get("id")
2371
+ if not isinstance(view_id, int):
2372
+ return None
2373
+ except Exception: # noqa: BLE001 -- best effort; the caller's fallbacks still work
2374
+ return None
2375
+ row_count = views[0].get("row_count")
2376
+ return {
2377
+ "id": view_id,
2378
+ "name": views[0].get("name"),
2379
+ "row_count": int(row_count) if row_count is not None else None,
2380
+ }
2381
+
2382
+
2345
2383
  _DATAVIEW_LIST_SYMBOL = "mammoth.api.dataviews.DataviewsAPI.list"
2346
2384
  #: Rows an upload shows of each new view (enough to see keys and formats).
2347
2385
  _UPLOAD_SAMPLE_ROWS = 3
@@ -2365,6 +2403,15 @@ def upload_preview(service: Any, dataset_id: int, project_id: int | None) -> dic
2365
2403
  views = listing.get("dataviews") if isinstance(listing, dict) else None
2366
2404
  if not isinstance(views, list) or not views or not isinstance(views[0], dict):
2367
2405
  return None
2406
+ # A dataset with more than one live view has one previewed here; the
2407
+ # rest are named (id + name) so a caller (``project.check``) can say
2408
+ # a view besides the one checked exists, rather than silently acting
2409
+ # on the single view this function happens to preview.
2410
+ other_views = [
2411
+ {"id": other.get("id"), "name": other.get("name")}
2412
+ for other in views[1:]
2413
+ if isinstance(other, dict) and isinstance(other.get("id"), int)
2414
+ ]
2368
2415
  record = apply_column_renames(views[0])
2369
2416
  view_id = record.get("id")
2370
2417
  if not isinstance(view_id, int):
@@ -2412,6 +2459,8 @@ def upload_preview(service: Any, dataset_id: int, project_id: int | None) -> dic
2412
2459
  hints = []
2413
2460
  if hints:
2414
2461
  preview["before_dashboard"] = {"warnings": hints, "note": UPLOAD_NOTE}
2462
+ if other_views:
2463
+ preview["other_views"] = other_views
2415
2464
  return preview
2416
2465
 
2417
2466
 
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.0.52"
3
+ version = "2.0.54"
4
4
  description = "Command-line interface for the Mammoth Analytics platform"
5
5
  authors = [{name = "Mammoth Analytics", email = "support@mammoth.io"}]
6
6
  readme = "README.md"
7
7
  license = "LicenseRef-Proprietary"
8
8
  requires-python = ">=3.12,<3.15"
9
9
  dependencies = [
10
- "mammoth-io (>=0.7.23,<0.8)",
10
+ "mammoth-io (>=0.7.25,<0.8)",
11
11
  "typer (>=0.27,<0.28)",
12
12
  "rich (>=15,<16)",
13
13
  "platformdirs (>=4.10,<5)",
@@ -260,8 +260,11 @@ commands:
260
260
  - CT-FOLDER-MOVE-ERROR
261
261
  draft_test: null
262
262
  undo_test: null
263
- known_restrictions: 'B05 FOLDER_MOVE_NO_WAIT: SDK returns ObjectJobSchema but exposes no public wait
264
- method; do not advertise --wait/--no-wait.'
263
+ known_restrictions: Prefer dataset_ids/view_ids (the plain ids dataset get/view get return) over resource_ids
264
+ -- the SDK resolves them to resource ids for you. resource_ids itself takes each item's resource id,
265
+ not a dataset/view's own id. target_folder_resource_id is the destination folder's id field, exactly
266
+ as folder list/folder get/folder create return it (NOT the folder's resource_id field, despite this
267
+ parameter's name).
265
268
  reviewed_by: primary
266
269
  - command_id: folder.root
267
270
  command_path: folder root
@@ -2507,8 +2507,14 @@ sdk_methods:
2507
2507
  wait_policy: returns_job
2508
2508
  pagination_policy: none
2509
2509
  openapi_operation_ids: []
2510
- notes: 'B05 FOLDER_MOVE_NO_WAIT: SDK returns ObjectJobSchema but exposes no public wait method; do not
2511
- advertise --wait/--no-wait.'
2510
+ # Internal-only: B05 FOLDER_MOVE_NO_WAIT — SDK returns ObjectJobSchema but exposes no public wait
2511
+ # method; do not advertise --wait/--no-wait. Kept here (not in `notes`, which build_manifests.py
2512
+ # surfaces verbatim as the agent-facing known_restrictions) per the T2-J-013 fix.
2513
+ notes: 'Prefer dataset_ids/view_ids (the plain ids dataset get/view get return) over resource_ids
2514
+ -- the SDK resolves them to resource ids for you. resource_ids itself takes each item''s resource
2515
+ id, not a dataset/view''s own id. target_folder_resource_id is the destination folder''s id field,
2516
+ exactly as folder list/folder get/folder create return it (NOT the folder''s resource_id field,
2517
+ despite this parameter''s name).'
2512
2518
  - sdk_symbol: mammoth.api.folders.FoldersAPI.trash
2513
2519
  canonical_command: folder.trash
2514
2520
  alias_of: null
@@ -4130,7 +4130,7 @@ methods:
4130
4130
  reviewed_by: primary
4131
4131
  - sdk_symbol: mammoth.api.folders.FoldersAPI.move
4132
4132
  implementation_origin: mammoth.api.folders.FoldersAPI.move
4133
- signature: 'move(self, resource_ids: ''_list[str]'', target_folder_resource_id: ''str | None'' = None, source_folder_resource_id: ''str | None'' = None, workspace_id: ''int | None'' = None, project_id: ''int | None'' = None) -> ''ObjectJobSchema'''
4133
+ signature: 'move(self, resource_ids: ''_list[str] | None'' = None, target_folder_resource_id: ''str | None'' = None, source_folder_resource_id: ''str | None'' = None, workspace_id: ''int | None'' = None, project_id: ''int | None'' = None, *, dataset_ids: ''_list[int] | None'' = None, view_ids: ''_list[int] | None'' = None) -> ''ObjectJobSchema'''
4134
4134
  openapi_operation_ids: []
4135
4135
  canonical_command: folder.move
4136
4136
  alias_of: null
File without changes
File without changes
File without changes