mammoth-cli 2.2.14__tar.gz → 2.2.16__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 (255) hide show
  1. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/PKG-INFO +2 -2
  2. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +1 -1
  4. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/activity.py +12 -15
  5. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/schema.py +31 -0
  6. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/view.py +22 -1
  7. mammoth_cli-2.2.16/mammoth_cli/services/local_time.py +19 -0
  8. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/pyproject.toml +2 -2
  9. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/workflow.yaml +5 -4
  10. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/schema-v1.json +1 -1
  11. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/sdk-catalog.source.yaml +5 -0
  12. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/sdk-methods.yaml +2 -2
  13. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/.gitignore +0 -0
  14. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/LICENSE +0 -0
  15. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/README.md +0 -0
  16. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/__main__.py +0 -0
  17. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/app.py +0 -0
  18. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -0
  19. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  20. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  21. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  22. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  23. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
  24. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  25. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  26. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  27. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  28. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  29. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  30. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  31. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  32. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  33. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  34. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
  35. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  36. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  37. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  38. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  39. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  40. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  41. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  42. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-style.md +0 -0
  43. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-template.md +0 -0
  44. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  45. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  46. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  47. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  48. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  49. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  50. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  51. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  52. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/link.md +0 -0
  53. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  54. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  55. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  56. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  57. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  58. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  59. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  60. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  61. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  62. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  63. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  64. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  65. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  66. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  67. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  68. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  69. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  70. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  71. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  72. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  73. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  74. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  75. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  76. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  77. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  78. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  79. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  80. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/database-import.md +0 -0
  81. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  82. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  83. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  84. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  85. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  86. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  87. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  88. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  89. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  90. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  91. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  92. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  93. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  94. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/__init__.py +0 -0
  95. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/addon.py +0 -0
  96. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/agent.py +0 -0
  97. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/ai.py +0 -0
  98. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/annotation.py +0 -0
  99. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/auth.py +0 -0
  100. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/automation.py +0 -0
  101. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/batch.py +0 -0
  102. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/billing.py +0 -0
  103. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/browse.py +0 -0
  104. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/calc.py +0 -0
  105. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/capability.py +0 -0
  106. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/client_app.py +0 -0
  107. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/completion.py +0 -0
  108. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/config.py +0 -0
  109. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/connector.py +0 -0
  110. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/context.py +0 -0
  111. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/dashboard.py +0 -0
  112. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/data_app.py +0 -0
  113. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/dataset.py +0 -0
  114. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/doctor.py +0 -0
  115. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/external_key.py +0 -0
  116. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/file.py +0 -0
  117. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/folder.py +0 -0
  118. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/job.py +0 -0
  119. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/link.py +0 -0
  120. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/notification.py +0 -0
  121. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/parameter.py +0 -0
  122. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/project.py +0 -0
  123. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/registry.py +0 -0
  124. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/report.py +0 -0
  125. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/schedule.py +0 -0
  126. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/skill.py +0 -0
  127. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/snippet.py +0 -0
  128. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/support.py +0 -0
  129. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/template.py +0 -0
  130. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/trash.py +0 -0
  131. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/upgrade.py +0 -0
  132. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/user.py +0 -0
  133. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/view_ops.py +0 -0
  134. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/view_profile.py +0 -0
  135. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/webhook.py +0 -0
  136. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/workflow.py +0 -0
  137. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/workspace.py +0 -0
  138. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/__init__.py +0 -0
  139. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/credentials.py +0 -0
  140. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/endpoint.py +0 -0
  141. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/profiles.py +0 -0
  142. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/resolver.py +0 -0
  143. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/contracts/__init__.py +0 -0
  144. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/contracts/auth.py +0 -0
  145. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/embed.py +0 -0
  146. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/errors/__init__.py +0 -0
  147. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/errors/envelope.py +0 -0
  148. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/manifest/__init__.py +0 -0
  149. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/manifest/loader.py +0 -0
  150. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/messages/__init__.py +0 -0
  151. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/__init__.py +0 -0
  152. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/envelope.py +0 -0
  153. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/normalize.py +0 -0
  154. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/policy.py +0 -0
  155. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/progress.py +0 -0
  156. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/render.py +0 -0
  157. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/py.typed +0 -0
  158. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/__init__.py +0 -0
  159. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/confirm.py +0 -0
  160. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/dataset_health.py +0 -0
  161. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/dryrun.py +0 -0
  162. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/dryrun_targets.py +0 -0
  163. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/embedded.py +0 -0
  164. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/executor.py +0 -0
  165. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/input_loader.py +0 -0
  166. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/intent_only.py +0 -0
  167. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/invocation.py +0 -0
  168. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/new_data.py +0 -0
  169. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/options.py +0 -0
  170. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/parents.py +0 -0
  171. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/runlog.py +0 -0
  172. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/session.py +0 -0
  173. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/state.py +0 -0
  174. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/strict.py +0 -0
  175. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/updates.py +0 -0
  176. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/validate.py +0 -0
  177. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/verify.py +0 -0
  178. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/__init__.py +0 -0
  179. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/argspec.py +0 -0
  180. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/board_values.py +0 -0
  181. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/coerce.py +0 -0
  182. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/command_contract.py +0 -0
  183. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/conditions.py +0 -0
  184. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/dashboard_filters.py +0 -0
  185. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/dashboard_pages.py +0 -0
  186. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/dashboard_review.py +0 -0
  187. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/data_profile.py +0 -0
  188. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/data_quality.py +0 -0
  189. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/dispatch.py +0 -0
  190. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/factory.py +0 -0
  191. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/input_fields.py +0 -0
  192. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/listing.py +0 -0
  193. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/mapping.py +0 -0
  194. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/openapi_types.py +0 -0
  195. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/positionals.py +0 -0
  196. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/protocol.py +0 -0
  197. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/read_queries.py +0 -0
  198. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/sdk_service.py +0 -0
  199. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/stored_stats.py +0 -0
  200. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/testing.py +0 -0
  201. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/text_dates.py +0 -0
  202. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/type_system.py +0 -0
  203. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/write_impact.py +0 -0
  204. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/skills/__init__.py +0 -0
  205. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/skills/installer.py +0 -0
  206. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/skills/steering.py +0 -0
  207. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/testing.py +0 -0
  208. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/activity.yaml +0 -0
  209. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/addon.yaml +0 -0
  210. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/agent.yaml +0 -0
  211. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/ai.yaml +0 -0
  212. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/annotation.yaml +0 -0
  213. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/auth.yaml +0 -0
  214. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/automation.yaml +0 -0
  215. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/batch.yaml +0 -0
  216. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/billing.yaml +0 -0
  217. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/browse.yaml +0 -0
  218. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/calc.yaml +0 -0
  219. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/capability.yaml +0 -0
  220. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/client-app.yaml +0 -0
  221. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/completion.yaml +0 -0
  222. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/config.yaml +0 -0
  223. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/connector.yaml +0 -0
  224. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/context.yaml +0 -0
  225. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/dashboard.yaml +0 -0
  226. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/data-app.yaml +0 -0
  227. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/dataset.yaml +0 -0
  228. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/doctor.yaml +0 -0
  229. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/external-key.yaml +0 -0
  230. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/file.yaml +0 -0
  231. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/folder.yaml +0 -0
  232. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/job.yaml +0 -0
  233. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/link.yaml +0 -0
  234. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/log.yaml +0 -0
  235. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/notification.yaml +0 -0
  236. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/parameter.yaml +0 -0
  237. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/project.yaml +0 -0
  238. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/report.yaml +0 -0
  239. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/schedule.yaml +0 -0
  240. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/schema.yaml +0 -0
  241. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/skill.yaml +0 -0
  242. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/snippet.yaml +0 -0
  243. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/support.yaml +0 -0
  244. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/template.yaml +0 -0
  245. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/trash.yaml +0 -0
  246. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/upgrade.yaml +0 -0
  247. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/user.yaml +0 -0
  248. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/version.yaml +0 -0
  249. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/view.yaml +0 -0
  250. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/webhook.yaml +0 -0
  251. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/workspace.yaml +0 -0
  252. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/edits-target.source.yaml +0 -0
  253. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/openapi-operations.yaml +0 -0
  254. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/openapi/metadata.json +0 -0
  255. {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/openapi/openapi.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.2.14
3
+ Version: 2.2.16
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.9,>=0.8.14
20
+ Requires-Dist: mammoth-io<0.9,>=0.8.15
21
21
  Requires-Dist: platformdirs<5,>=4.10
22
22
  Requires-Dist: pydantic<3,>=2.12.5
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.2.14"
9
+ __version__ = "2.2.16"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -46,7 +46,7 @@ Status on release: untried; no live run recorded.
46
46
 
47
47
  Run: `mammoth workflow canvas`. Exact input fields: `mammoth schema get workflow.canvas`.
48
48
 
49
- Example: `mammoth workflow canvas 123 --input '{"canvas_state": {"sample_key": "Status"}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
49
+ Example: `mammoth workflow canvas 12 --input '{"canvas_state": {"proposed_changes": [{"op": "add_view", "dataset_id": 415, "name": "Urgent tickets", "ref": "urgent"}, {"op": "send_to_new_dataset", "dataset_id": 415, "view_ref": "urgent", "name": "Urgent tickets by team"}]}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
50
50
 
51
51
  Result: `WorkflowCanvasResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
52
52
 
@@ -26,6 +26,7 @@ from mammoth_cli.manifest.loader import command_by_id
26
26
  from mammoth_cli.runtime.invocation import Invocation
27
27
  from mammoth_cli.runtime.session import open_service, resolved_project
28
28
  from mammoth_cli.services.command_contract import bind_command_inputs
29
+ from mammoth_cli.services.local_time import local_time
29
30
 
30
31
  HandlerResult = tuple[Any, dict[str, Any]]
31
32
 
@@ -164,6 +165,9 @@ def _meta(invocation: Invocation, workspace_id: int, project_id: int | None) ->
164
165
  _WORKSPACE_USERS_SYMBOL = "mammoth.api.workspace.WorkspaceAPI.list_users"
165
166
  _TIME_FORMAT = "%Y-%m-%d %H:%M:%S"
166
167
  _EPOCH = "1970-01-01 00:00:00"
168
+ # The route's default fields carry every entry's full details (tens of KB per page);
169
+ # a change list needs only these. ``path`` names the dataset and view by name and id.
170
+ _LIST_FIELDS = "id,category,name_key,primary_object,result,created_at,user_id,path"
167
171
 
168
172
 
169
173
  def _close_time_window(kwargs: dict[str, Any]) -> str | None:
@@ -184,19 +188,6 @@ def _close_time_window(kwargs: dict[str, Any]) -> str | None:
184
188
  return f"start_time was not given; the window starts at {_EPOCH} UTC."
185
189
 
186
190
 
187
- def _local_time(stamp: Any) -> str | None:
188
- """A ``created_at`` (UTC if it has no offset) as ISO in this machine's timezone."""
189
- if not isinstance(stamp, str):
190
- return None
191
- try:
192
- moment = datetime.fromisoformat(stamp)
193
- except ValueError:
194
- return stamp
195
- if moment.tzinfo is None:
196
- moment = moment.replace(tzinfo=UTC)
197
- return moment.astimezone().isoformat(timespec="seconds")
198
-
199
-
200
191
  def _user_emails(service: Any) -> dict[Any, str]:
201
192
  """Workspace users by id; empty when the caller may not list them."""
202
193
  try:
@@ -206,6 +197,11 @@ def _user_emails(service: Any) -> dict[Any, str]:
206
197
  return {u["id"]: u["email"] for u in users if isinstance(u, dict) and u.get("email")}
207
198
 
208
199
 
200
+ def _readable_path(path: Any) -> str | None:
201
+ """The entry's ``workspace:name:id/project:name:id/dataset:name:id/...`` chain."""
202
+ return path.strip('{}"') if isinstance(path, str) else None
203
+
204
+
209
205
  def _change(entry: dict[str, Any], emails: dict[Any, str]) -> dict[str, Any]:
210
206
  """One log entry as a line of a change list: when, who, what, on which object."""
211
207
  raw_details = entry.get("details")
@@ -214,13 +210,14 @@ def _change(entry: dict[str, Any], emails: dict[Any, str]) -> dict[str, Any]:
214
210
  primary: dict[str, Any] = raw_primary if isinstance(raw_primary, dict) else {}
215
211
  user_id = entry.get("user_id")
216
212
  change = {
217
- "when": _local_time(entry.get("created_at")),
213
+ "when": local_time(entry.get("created_at")),
218
214
  "user_id": user_id,
219
215
  "user": emails.get(user_id),
220
216
  "action": entry.get("name_key"),
221
217
  "category": entry.get("category"),
222
218
  "object": {"name": primary.get("name"), "resource_id": primary.get("resource_id")},
223
219
  "result": entry.get("result"),
220
+ "path": _readable_path(entry.get("path")),
224
221
  }
225
222
  if details.get("task_name"):
226
223
  change["task"] = details["task_name"]
@@ -248,7 +245,7 @@ def activity_list(invocation: Invocation) -> HandlerResult:
248
245
  """
249
246
  document = _bound_document(invocation)
250
247
  _refuse_bare_resource_id(document)
251
- kwargs: dict[str, Any] = {}
248
+ kwargs: dict[str, Any] = {"fields": _LIST_FIELDS}
252
249
  _forward_optional(document, kwargs, _LIST_OPTIONAL)
253
250
  note = _close_time_window(kwargs)
254
251
  with open_service(invocation) as (service, auth):
@@ -47,6 +47,27 @@ _PROTECTED_INPUT_PATH = "/private/path/request.json"
47
47
  _FIXED_EXAMPLES: dict[str, tuple[tuple[str, ...], dict[str, Any]]] = {
48
48
  "project.check": (("123", "456"), {}),
49
49
  "view.data.profile": (("123",), {"target": "Churn"}),
50
+ "workflow.canvas": (
51
+ ("12",),
52
+ {
53
+ "canvas_state": {
54
+ "proposed_changes": [
55
+ {
56
+ "op": "add_view",
57
+ "dataset_id": 415,
58
+ "name": "Urgent tickets",
59
+ "ref": "urgent",
60
+ },
61
+ {
62
+ "op": "send_to_new_dataset",
63
+ "dataset_id": 415,
64
+ "view_ref": "urgent",
65
+ "name": "Urgent tickets by team",
66
+ },
67
+ ]
68
+ }
69
+ },
70
+ ),
50
71
  "view.data.compare": (
51
72
  ("111", "222"),
52
73
  {
@@ -564,6 +585,16 @@ _COMMAND_DISCOVERY_PURPOSES = {
564
585
  ),
565
586
  "project.memory.list": "remembered saved preferences what do you remember memory",
566
587
  "project.memory.remove": "forget remove delete saved preference memory",
588
+ # A workflow's shape can be proposed for the user to review and Save on the
589
+ # canvas; neither this nor naming a workflow was findable from the way users
590
+ # ask (Workflow Zoo QA 10-02: "rename workflow" found column renames).
591
+ "workflow.canvas": (
592
+ "propose suggest sketch draft plan review approve save structural changes "
593
+ "to a workflow pipeline shape on the canvas new views datasets send to join "
594
+ "export for the user to review"
595
+ ),
596
+ "workflow.update": "rename name describe a workflow pipeline purpose notes summary",
597
+ "workflow.create": "name an unnamed workflow pipeline from the root dataset new workflow",
567
598
  }
568
599
 
569
600
  # A compact string scope is retained for existing discovery consumers. These
@@ -57,6 +57,7 @@ from mammoth_cli.services.conditions import CONDITION_KWARG, compile_condition
57
57
  from mammoth_cli.services.dashboard_review import UPLOAD_NOTE, upload_hints
58
58
  from mammoth_cli.services.data_quality import column_warnings, duplicate_rows_fact
59
59
  from mammoth_cli.services.listing import DATASET_LIST_FIELDS, compact_view_list
60
+ from mammoth_cli.services.local_time import local_time
60
61
  from mammoth_cli.services.read_queries import ReadContext
61
62
 
62
63
  HandlerResult = tuple[Any, dict[str, Any]]
@@ -2604,10 +2605,30 @@ def view_version_list(invocation: Invocation) -> HandlerResult:
2604
2605
  _forward_optional(document, kwargs, ("fields", "sort", "limit", "offset", "name"))
2605
2606
  with open_service(invocation) as (service, auth):
2606
2607
  kwargs["dataset_id"] = _resolve_dataset_id(service, invocation, dataview_id, document)
2607
- data = service.call(_symbol(invocation), **kwargs)
2608
+ data = _with_version_times(service.call(_symbol(invocation), **kwargs))
2608
2609
  return data, _meta(invocation, auth.workspace_id, project_id)
2609
2610
 
2610
2611
 
2612
+ def _with_version_times(data: Any) -> Any:
2613
+ """Give each version a ``when`` with an explicit offset.
2614
+
2615
+ ``created_at`` is naive UTC and the server-made ``name`` ("30-Sep-2026 11:17 AM")
2616
+ is that same UTC wall time, so neither can be shown to a user as local time.
2617
+ """
2618
+ versions = data.get("versions") if isinstance(data, dict) else None
2619
+ if not isinstance(versions, list):
2620
+ return data
2621
+ stamped = [
2622
+ {**v, "when": local_time(v.get("created_at"))} if isinstance(v, dict) else v
2623
+ for v in versions
2624
+ ]
2625
+ return {
2626
+ **data,
2627
+ "versions": stamped,
2628
+ "time_note": "created_at and the version name are UTC; `when` carries its offset.",
2629
+ }
2630
+
2631
+
2611
2632
  def view_version_update(invocation: Invocation) -> HandlerResult:
2612
2633
  """Update one pipeline version by id. ``body`` is required."""
2613
2634
  project_id = require_project(invocation)
@@ -0,0 +1,19 @@
1
+ """Timestamps from the backend are naive UTC; show them with an explicit offset."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from datetime import UTC, datetime
6
+ from typing import Any
7
+
8
+
9
+ def local_time(stamp: Any) -> str | None:
10
+ """A timestamp (UTC if it has no offset) as ISO in this machine's timezone."""
11
+ if not isinstance(stamp, str):
12
+ return None
13
+ try:
14
+ moment = datetime.fromisoformat(stamp)
15
+ except ValueError:
16
+ return stamp
17
+ if moment.tzinfo is None:
18
+ moment = moment.replace(tzinfo=UTC)
19
+ return moment.astimezone().isoformat(timespec="seconds")
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.2.14"
3
+ version = "2.2.16"
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.8.14,<0.9)",
10
+ "mammoth-io (>=0.8.15,<0.9)",
11
11
  "typer (>=0.27,<0.28)",
12
12
  "rich (>=15,<16)",
13
13
  "platformdirs (>=4.10,<5)",
@@ -222,6 +222,7 @@ commands:
222
222
  result_model: WorkflowCanvasResult
223
223
  mutation_class: benign_mutation
224
224
  edits_target: true
225
+ proposal_input: canvas_state.proposed_changes
225
226
  confirmation: none
226
227
  wait_policy: not_async
227
228
  pagination_policy: none
@@ -232,7 +233,7 @@ commands:
232
233
  required_fixture_guard: null
233
234
  secret_fields: []
234
235
  human_example: mammoth workflow canvas WORKFLOW_ID --help
235
- agent_example: 'mammoth workflow canvas 123 --input ''{"canvas_state": {"sample_key": "Status"}}'''
236
+ agent_example: "mammoth workflow canvas 12 --input '{\"canvas_state\": {\"proposed_changes\": [{\"op\": \"add_view\", \"dataset_id\": 415, \"name\": \"Urgent tickets\", \"ref\": \"urgent\"}, {\"op\": \"send_to_new_dataset\", \"dataset_id\": 415, \"view_ref\": \"urgent\", \"name\": \"Urgent tickets by team\"}]}}'"
236
237
  unit_tests:
237
238
  - UT-WORKFLOW-CANVAS
238
239
  contract_tests:
@@ -241,7 +242,7 @@ commands:
241
242
  - CT-WORKFLOW-CANVAS-ERROR
242
243
  draft_test: null
243
244
  undo_test: null
244
- known_restrictions: null
245
+ known_restrictions: "Proposes structural changes to a workflow for the user to review and Save on the Workflows canvas; nothing is built until they Save. Use it when the user asks to suggest, sketch or draft a workflow's shape, or wants to review first. It cannot add filters, calculations or other tasks: when any part of the request needs tasks or data, build the whole request with view commands instead. WORKFLOW_ID is the workflow's record id (URL id w12 is record 12); an unnamed workflow has none, so name it first with workflow create --seed_datasource_id. Input: {\"canvas_state\": {\"proposed_changes\": [...]}}, each change one of (integer ids from workflow graph): {op: add_view, dataset_id, name, ref?}; {op: rename_view, dataset_id, view_id, name}; {op: trash_view, dataset_id, view_id}; {op: rename_dataset, dataset_id, name}; {op: trash_dataset, dataset_id}; {op: send_to_new_dataset, dataset_id, view_id, name, ref?}; {op: send_to_dataset, dataset_id, view_id, target_dataset_id}; {op: join, dataset_id, view_id, with_dataset_id, with_view_id}; {op: export, dataset_id, view_id, connector}. A later change in the same call can point at something an earlier one proposes: give the earlier change a ref, then use view_ref, dataset_ref or target_dataset_ref in place of the id (a new dataset's ref also names its first view), so a whole shape is proposed in one call. Join and export arrive needing setup. Tell the user the changes wait on the canvas for their review."
245
246
  reviewed_by: primary
246
247
  readback:
247
248
  command: workflow.get
@@ -326,7 +327,7 @@ commands:
326
327
  - CT-WORKFLOW-CREATE-ERROR
327
328
  draft_test: null
328
329
  undo_test: null
329
- known_restrictions: null
330
+ known_restrictions: "With seed_datasource_id set to a workflow's root dataset id (workflow graph lists each workflow's datasets), names that existing unnamed workflow and returns its record id; without it, starts a new empty workflow."
330
331
  reviewed_by: primary
331
332
  readback:
332
333
  command: workflow.get
@@ -571,7 +572,7 @@ commands:
571
572
  - CT-WORKFLOW-UPDATE-ERROR
572
573
  draft_test: null
573
574
  undo_test: null
574
- known_restrictions: null
575
+ known_restrictions: "WORKFLOW_ID is the workflow's record id: URL id w12 is record 12. An unnamed workflow (base64 URL id) has no record; name it with workflow create --seed_datasource_id <its root dataset id> instead."
575
576
  reviewed_by: primary
576
577
  readback:
577
578
  command: workflow.get
@@ -210,7 +210,7 @@
210
210
  "contract_tests": {"type": "array", "items": {"$ref": "#/$defs/no_placeholder"}, "minItems": 1},
211
211
  "draft_test": {"type": ["string", "null"]},
212
212
  "undo_test": {"type": ["string", "null"]},
213
- "known_restrictions": {"type": ["string", "null"]},
213
+ "known_restrictions": {"type": ["string", "null"]}, "proposal_input": {"type": "string", "minLength": 1},
214
214
  "reviewed_by": {"$ref": "#/$defs/no_placeholder"}
215
215
  },
216
216
  "allOf": [
@@ -3875,11 +3875,14 @@ sdk_methods:
3875
3875
  openapi_operation_ids: []
3876
3876
  - sdk_symbol: mammoth.api.workflows.WorkflowsAPI.canvas
3877
3877
  canonical_command: workflow.canvas
3878
+ proposal_input: canvas_state.proposed_changes
3878
3879
  alias_of: null
3879
3880
  mutation_class: null
3880
3881
  wait_policy: null
3881
3882
  pagination_policy: null
3882
3883
  openapi_operation_ids: []
3884
+ agent_example: "mammoth workflow canvas 12 --input '{\"canvas_state\": {\"proposed_changes\": [{\"op\": \"add_view\", \"dataset_id\": 415, \"name\": \"Urgent tickets\", \"ref\": \"urgent\"}, {\"op\": \"send_to_new_dataset\", \"dataset_id\": 415, \"view_ref\": \"urgent\", \"name\": \"Urgent tickets by team\"}]}}'"
3885
+ notes: "Proposes structural changes to a workflow for the user to review and Save on the Workflows canvas; nothing is built until they Save. Use it when the user asks to suggest, sketch or draft a workflow's shape, or wants to review first. It cannot add filters, calculations or other tasks: when any part of the request needs tasks or data, build the whole request with view commands instead. WORKFLOW_ID is the workflow's record id (URL id w12 is record 12); an unnamed workflow has none, so name it first with workflow create --seed_datasource_id. Input: {\"canvas_state\": {\"proposed_changes\": [...]}}, each change one of (integer ids from workflow graph): {op: add_view, dataset_id, name, ref?}; {op: rename_view, dataset_id, view_id, name}; {op: trash_view, dataset_id, view_id}; {op: rename_dataset, dataset_id, name}; {op: trash_dataset, dataset_id}; {op: send_to_new_dataset, dataset_id, view_id, name, ref?}; {op: send_to_dataset, dataset_id, view_id, target_dataset_id}; {op: join, dataset_id, view_id, with_dataset_id, with_view_id}; {op: export, dataset_id, view_id, connector}. A later change in the same call can point at something an earlier one proposes: give the earlier change a ref, then use view_ref, dataset_ref or target_dataset_ref in place of the id (a new dataset's ref also names its first view), so a whole shape is proposed in one call. Join and export arrive needing setup. Tell the user the changes wait on the canvas for their review."
3883
3886
  - sdk_symbol: mammoth.api.workflows.WorkflowsAPI.cleanup
3884
3887
  canonical_command: workflow.cleanup
3885
3888
  alias_of: null
@@ -3894,6 +3897,7 @@ sdk_methods:
3894
3897
  wait_policy: null
3895
3898
  pagination_policy: null
3896
3899
  openapi_operation_ids: []
3900
+ notes: "With seed_datasource_id set to a workflow's root dataset id (workflow graph lists each workflow's datasets), names that existing unnamed workflow and returns its record id; without it, starts a new empty workflow."
3897
3901
  - sdk_symbol: mammoth.api.workflows.WorkflowsAPI.delete
3898
3902
  canonical_command: workflow.delete
3899
3903
  alias_of: null
@@ -3936,6 +3940,7 @@ sdk_methods:
3936
3940
  wait_policy: null
3937
3941
  pagination_policy: null
3938
3942
  openapi_operation_ids: []
3943
+ notes: "WORKFLOW_ID is the workflow's record id: URL id w12 is record 12. An unnamed workflow (base64 URL id) has no record; name it with workflow create --seed_datasource_id <its root dataset id> instead."
3939
3944
  - sdk_symbol: mammoth.api.workflows.WorkflowsAPI.workspace_datasets
3940
3945
  canonical_command: workflow.workspace-datasets
3941
3946
  alias_of: null
@@ -428,8 +428,8 @@ methods:
428
428
  ''int | None'' = None, categories: ''list[Any] | None'' = None, activities: ''list[Any] | None''
429
429
  = None, resource_id: ''str | None'' = None, result: ''str | None'' = None, start_time: ''str |
430
430
  None'' = None, end_time: ''str | None'' = None, origin: ''str | None'' = None, user_ids: ''list[Any]
431
- | None'' = None, parent_id: ''int | None'' = None, search_text: ''str | None'' = None) -> ''dict[str,
432
- Any]'''
431
+ | None'' = None, parent_id: ''int | None'' = None, search_text: ''str | None'' = None, fields: ''str | None'' = None)
432
+ -> ''dict[str, Any]'''
433
433
  openapi_operation_ids: []
434
434
  canonical_command: activity.list
435
435
  alias_of: null
File without changes
File without changes
File without changes