mammoth-cli 2.0.20__tar.gz → 2.0.21__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 (219) hide show
  1. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/PKG-INFO +34 -15
  2. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/README.md +33 -14
  3. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/__init__.py +1 -1
  4. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/app.py +39 -0
  5. mammoth_cli-2.0.21/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +110 -0
  6. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +8 -8
  7. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +1 -1
  8. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +1 -1
  9. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +4 -4
  10. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +14 -14
  11. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +10 -10
  12. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +10 -10
  13. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +10 -10
  14. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +6 -6
  15. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +14 -14
  16. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +14 -14
  17. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +46 -46
  18. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +8 -8
  19. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +6 -6
  20. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +10 -10
  21. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +4 -4
  22. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +8 -8
  23. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +44 -44
  24. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +6 -6
  25. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +208 -208
  26. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +24 -24
  27. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +34 -34
  28. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +2 -2
  29. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +8 -8
  30. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +18 -18
  31. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +20 -20
  32. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +8 -8
  33. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +4 -4
  34. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +10 -10
  35. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +28 -28
  36. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +38 -38
  37. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +2 -2
  38. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +10 -10
  39. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +6 -6
  40. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +10 -10
  41. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +16 -16
  42. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +90 -90
  43. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +10 -10
  44. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +6 -6
  45. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +2 -2
  46. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +16 -16
  47. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +2 -2
  48. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +232 -232
  49. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +14 -14
  50. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +32 -32
  51. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +40 -40
  52. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +3 -3
  53. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +2 -2
  54. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +7 -7
  55. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +10 -7
  56. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +20 -20
  57. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +2 -2
  58. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +4 -4
  59. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +8 -8
  60. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +28 -28
  61. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +7 -7
  62. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +2 -2
  63. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +4 -4
  64. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +18 -14
  65. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +20 -20
  66. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +3 -3
  67. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +5 -5
  68. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +4 -4
  69. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +8 -9
  70. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/dataset.py +2 -2
  71. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/doctor.py +5 -3
  72. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/project.py +27 -0
  73. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/registry.py +16 -7
  74. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/schema.py +153 -44
  75. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/view.py +54 -6
  76. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/view_ops.py +33 -6
  77. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/errors/envelope.py +8 -14
  78. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/output/envelope.py +4 -1
  79. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/output/render.py +24 -1
  80. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/confirm.py +1 -4
  81. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/invocation.py +74 -12
  82. mammoth_cli-2.0.21/mammoth_cli/runtime/parents.py +129 -0
  83. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/session.py +22 -1
  84. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/updates.py +1 -1
  85. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/command_contract.py +8 -0
  86. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/mapping.py +9 -5
  87. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/positionals.py +10 -0
  88. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/sdk_service.py +33 -3
  89. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/pyproject.toml +1 -1
  90. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/activity.yaml +2 -2
  91. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/addon.yaml +7 -7
  92. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/agent.yaml +5 -6
  93. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/ai.yaml +5 -7
  94. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/annotation.yaml +5 -5
  95. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/auth.yaml +3 -3
  96. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/automation.yaml +7 -7
  97. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/batch.yaml +7 -8
  98. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/billing.yaml +23 -24
  99. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/browse.yaml +4 -4
  100. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/capability.yaml +3 -3
  101. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/client-app.yaml +5 -5
  102. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/completion.yaml +2 -2
  103. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/config.yaml +4 -4
  104. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/connector.yaml +24 -27
  105. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/context.yaml +3 -3
  106. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/dashboard.yaml +110 -138
  107. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/data-app.yaml +12 -13
  108. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/dataset.yaml +17 -19
  109. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/doctor.yaml +1 -1
  110. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/external-key.yaml +4 -4
  111. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/file.yaml +9 -9
  112. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/folder.yaml +10 -11
  113. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/job.yaml +4 -4
  114. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/log.yaml +2 -2
  115. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/notification.yaml +5 -7
  116. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/parameter.yaml +14 -14
  117. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/project.yaml +19 -24
  118. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/report.yaml +1 -1
  119. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/schedule.yaml +8 -8
  120. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/schema.yaml +10 -4
  121. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/skill.yaml +5 -5
  122. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/snippet.yaml +8 -9
  123. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/support.yaml +46 -48
  124. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/template.yaml +5 -7
  125. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/trash.yaml +3 -4
  126. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/upgrade.yaml +1 -1
  127. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/user.yaml +8 -8
  128. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/version.yaml +1 -1
  129. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/view.yaml +140 -130
  130. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/webhook.yaml +7 -8
  131. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/workflow.yaml +16 -20
  132. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/commands/workspace.yaml +22 -25
  133. mammoth_cli-2.0.20/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -119
  134. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/.gitignore +0 -0
  135. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/LICENSE +0 -0
  136. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/__main__.py +0 -0
  137. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  138. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  139. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  140. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/__init__.py +0 -0
  141. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/activity.py +0 -0
  142. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/addon.py +0 -0
  143. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/agent.py +0 -0
  144. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/ai.py +0 -0
  145. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/annotation.py +0 -0
  146. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/auth.py +0 -0
  147. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/automation.py +0 -0
  148. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/batch.py +0 -0
  149. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/billing.py +0 -0
  150. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/browse.py +0 -0
  151. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/capability.py +0 -0
  152. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/client_app.py +0 -0
  153. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/completion.py +0 -0
  154. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/config.py +0 -0
  155. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/connector.py +0 -0
  156. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/context.py +0 -0
  157. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/dashboard.py +0 -0
  158. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/data_app.py +0 -0
  159. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/external_key.py +0 -0
  160. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/file.py +0 -0
  161. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/folder.py +0 -0
  162. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/job.py +0 -0
  163. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/notification.py +0 -0
  164. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/parameter.py +0 -0
  165. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/report.py +0 -0
  166. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/schedule.py +0 -0
  167. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/skill.py +0 -0
  168. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/snippet.py +0 -0
  169. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/support.py +0 -0
  170. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/template.py +0 -0
  171. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/trash.py +0 -0
  172. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/upgrade.py +0 -0
  173. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/user.py +0 -0
  174. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/webhook.py +0 -0
  175. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/workflow.py +0 -0
  176. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/commands/workspace.py +0 -0
  177. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/context/__init__.py +0 -0
  178. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/context/credentials.py +0 -0
  179. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/context/endpoint.py +0 -0
  180. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/context/profiles.py +0 -0
  181. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/context/resolver.py +0 -0
  182. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/contracts/__init__.py +0 -0
  183. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/contracts/auth.py +0 -0
  184. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/errors/__init__.py +0 -0
  185. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/manifest/__init__.py +0 -0
  186. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/manifest/loader.py +0 -0
  187. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/messages/__init__.py +0 -0
  188. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/output/__init__.py +0 -0
  189. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/output/normalize.py +0 -0
  190. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/output/policy.py +0 -0
  191. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/output/progress.py +0 -0
  192. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/py.typed +0 -0
  193. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/__init__.py +0 -0
  194. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/executor.py +0 -0
  195. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/input_loader.py +0 -0
  196. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/options.py +0 -0
  197. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/runlog.py +0 -0
  198. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/strict.py +0 -0
  199. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/runtime/validate.py +0 -0
  200. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/__init__.py +0 -0
  201. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/argspec.py +0 -0
  202. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/coerce.py +0 -0
  203. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/conditions.py +0 -0
  204. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/dispatch.py +0 -0
  205. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/factory.py +0 -0
  206. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/input_fields.py +0 -0
  207. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/openapi_types.py +0 -0
  208. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/protocol.py +0 -0
  209. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/testing.py +0 -0
  210. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/services/type_system.py +0 -0
  211. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/skills/__init__.py +0 -0
  212. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/skills/installer.py +0 -0
  213. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/mammoth_cli/testing.py +0 -0
  214. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/openapi-operations.yaml +0 -0
  215. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/schema-v1.json +0 -0
  216. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/sdk-catalog.source.yaml +0 -0
  217. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/manifests/sdk-methods.yaml +0 -0
  218. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/spec/openapi/metadata.json +0 -0
  219. {mammoth_cli-2.0.20 → mammoth_cli-2.0.21}/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.20
3
+ Version: 2.0.21
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
@@ -81,21 +81,21 @@ command. An agent does this by asking the operator to run the login below in
81
81
  their own terminal; the CLI never reads credentials from environment variables:
82
82
 
83
83
  ```bash
84
- mammoth skill list --output json --no-input
85
- mammoth skill path --output json --no-input
84
+ mammoth skill list
85
+ mammoth skill path
86
86
  # Read the installed SKILL.md before operating.
87
- mammoth auth status --output json --no-input
87
+ mammoth auth status
88
88
  # Compare the reported endpoint with the intended target before doctor.
89
89
  # Use app for production; use release only when explicitly intended.
90
90
  # Human terminal only, if profile or stored credentials are absent:
91
91
  mammoth auth login
92
92
  # Then verify configuration, credentials, endpoint, and connectivity:
93
- mammoth doctor --output json --no-input
93
+ mammoth doctor
94
94
  # Then discover a task-specific route:
95
- mammoth schema find "TASK OR RESOURCE" --output json --no-input
96
- mammoth schema get COMMAND_ID --output json --no-input
95
+ mammoth schema find "TASK OR RESOURCE"
96
+ mammoth schema get COMMAND_ID
97
97
  # Optional API-binding inventory (not the complete CLI surface):
98
- mammoth capability list --output json --no-input
98
+ mammoth capability list
99
99
  ```
100
100
 
101
101
  For an agent or CI, do not request or paste secrets into chat, prompts, shell
@@ -104,7 +104,7 @@ private owner-only (0600) file outside the repository and pass its path to:
104
104
 
105
105
  ```bash
106
106
  mammoth auth login --input /private/path/credentials.json --storage file \
107
- --output json --no-input
107
+
108
108
  ```
109
109
 
110
110
  On Windows, use the approved OS keyring instead; do not use a file fallback
@@ -131,12 +131,13 @@ on automatically off a terminal, so an agent needs no special flags:
131
131
  mammoth project list | jq '.data'
132
132
  ```
133
133
 
134
- To be explicit, pass `--output json --no-input`. Log in without a prompt with
134
+ To pin it for a whole session, `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1`
135
+ (a flag still wins). Log in without a prompt with
135
136
  the private, permission-checked file described above:
136
137
 
137
138
  ```bash
138
139
  mammoth auth login --input /private/path/credentials.json --storage file \
139
- --output json --no-input
140
+
140
141
  ```
141
142
 
142
143
  Feed multi-field requests as one document instead of many flags:
@@ -150,9 +151,9 @@ For pipeline transformations, prefer the typed commands and inspect their
150
151
  schemas before composing input. For example:
151
152
 
152
153
  ```bash
153
- mammoth schema get view.transform.filter --output json --no-input
154
- mammoth schema get view.transform.math --output json --no-input
155
- mammoth schema get view.transform.substring --output json --no-input
154
+ mammoth schema get view.transform.filter
155
+ mammoth schema get view.transform.math
156
+ mammoth schema get view.transform.substring
156
157
  ```
157
158
 
158
159
  The generic `view task add`, `view task preview`, and `view task update`
@@ -163,7 +164,7 @@ their target explicitly, for example:
163
164
 
164
165
  ```bash
165
166
  mammoth dashboard import-workbook ./sample.twbx --project 456 \
166
- --yes --confirm 456 --output json --no-input
167
+ --yes --confirm 456
167
168
  ```
168
169
 
169
170
  The sample path and project ID are placeholders for a local workbook and a
@@ -198,6 +199,24 @@ putting credentials into the handoff.
198
199
 
199
200
  ## Give your coding agent the CLI playbook
200
201
 
202
+ The shortest handover is a prompt. Fill `PROFILE`, `PROJECT NAME` and `TASK`
203
+ and paste it into any agent with a bash tool; the long form is
204
+ [docs/agent-prompt.md](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/agent-prompt.md).
205
+
206
+ ```text
207
+ Use Mammoth Analytics only through the `mammoth` CLI in bash; run
208
+ `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1` once. Install if missing:
209
+ curl -fsSL https://raw.githubusercontent.com/EdgeMetric/mammothsdk/main/mammoth-cli/installers/mammoth-install.sh | bash
210
+ Then `cat` the SKILL.md at `mammoth skill path` (data.canonical) and follow it.
211
+ Run `mammoth auth status --profile PROFILE`; if it has no credentials, stop and
212
+ tell me the exact `mammoth auth login` command to run in my own terminal, then
213
+ wait — never ask for, read, or pass a key or secret yourself. Require `mammoth
214
+ doctor` to pass. Work inside `mammoth project ensure 'PROJECT NAME'` unless I
215
+ name a project; take ids only from reads; `schema get COMMAND_ID` before a new
216
+ command; read results back before reporting.
217
+ TASK: <what to achieve, and how you will know it is done>
218
+ ```
219
+
201
220
  The bundled skill describes authentication, discovery, structured input, job
202
221
  handling, and confirmations. Install it for the supported coding-agent tools:
203
222
 
@@ -53,21 +53,21 @@ command. An agent does this by asking the operator to run the login below in
53
53
  their own terminal; the CLI never reads credentials from environment variables:
54
54
 
55
55
  ```bash
56
- mammoth skill list --output json --no-input
57
- mammoth skill path --output json --no-input
56
+ mammoth skill list
57
+ mammoth skill path
58
58
  # Read the installed SKILL.md before operating.
59
- mammoth auth status --output json --no-input
59
+ mammoth auth status
60
60
  # Compare the reported endpoint with the intended target before doctor.
61
61
  # Use app for production; use release only when explicitly intended.
62
62
  # Human terminal only, if profile or stored credentials are absent:
63
63
  mammoth auth login
64
64
  # Then verify configuration, credentials, endpoint, and connectivity:
65
- mammoth doctor --output json --no-input
65
+ mammoth doctor
66
66
  # Then discover a task-specific route:
67
- mammoth schema find "TASK OR RESOURCE" --output json --no-input
68
- mammoth schema get COMMAND_ID --output json --no-input
67
+ mammoth schema find "TASK OR RESOURCE"
68
+ mammoth schema get COMMAND_ID
69
69
  # Optional API-binding inventory (not the complete CLI surface):
70
- mammoth capability list --output json --no-input
70
+ mammoth capability list
71
71
  ```
72
72
 
73
73
  For an agent or CI, do not request or paste secrets into chat, prompts, shell
@@ -76,7 +76,7 @@ private owner-only (0600) file outside the repository and pass its path to:
76
76
 
77
77
  ```bash
78
78
  mammoth auth login --input /private/path/credentials.json --storage file \
79
- --output json --no-input
79
+
80
80
  ```
81
81
 
82
82
  On Windows, use the approved OS keyring instead; do not use a file fallback
@@ -103,12 +103,13 @@ on automatically off a terminal, so an agent needs no special flags:
103
103
  mammoth project list | jq '.data'
104
104
  ```
105
105
 
106
- To be explicit, pass `--output json --no-input`. Log in without a prompt with
106
+ To pin it for a whole session, `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1`
107
+ (a flag still wins). Log in without a prompt with
107
108
  the private, permission-checked file described above:
108
109
 
109
110
  ```bash
110
111
  mammoth auth login --input /private/path/credentials.json --storage file \
111
- --output json --no-input
112
+
112
113
  ```
113
114
 
114
115
  Feed multi-field requests as one document instead of many flags:
@@ -122,9 +123,9 @@ For pipeline transformations, prefer the typed commands and inspect their
122
123
  schemas before composing input. For example:
123
124
 
124
125
  ```bash
125
- mammoth schema get view.transform.filter --output json --no-input
126
- mammoth schema get view.transform.math --output json --no-input
127
- mammoth schema get view.transform.substring --output json --no-input
126
+ mammoth schema get view.transform.filter
127
+ mammoth schema get view.transform.math
128
+ mammoth schema get view.transform.substring
128
129
  ```
129
130
 
130
131
  The generic `view task add`, `view task preview`, and `view task update`
@@ -135,7 +136,7 @@ their target explicitly, for example:
135
136
 
136
137
  ```bash
137
138
  mammoth dashboard import-workbook ./sample.twbx --project 456 \
138
- --yes --confirm 456 --output json --no-input
139
+ --yes --confirm 456
139
140
  ```
140
141
 
141
142
  The sample path and project ID are placeholders for a local workbook and a
@@ -170,6 +171,24 @@ putting credentials into the handoff.
170
171
 
171
172
  ## Give your coding agent the CLI playbook
172
173
 
174
+ The shortest handover is a prompt. Fill `PROFILE`, `PROJECT NAME` and `TASK`
175
+ and paste it into any agent with a bash tool; the long form is
176
+ [docs/agent-prompt.md](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/agent-prompt.md).
177
+
178
+ ```text
179
+ Use Mammoth Analytics only through the `mammoth` CLI in bash; run
180
+ `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1` once. Install if missing:
181
+ curl -fsSL https://raw.githubusercontent.com/EdgeMetric/mammothsdk/main/mammoth-cli/installers/mammoth-install.sh | bash
182
+ Then `cat` the SKILL.md at `mammoth skill path` (data.canonical) and follow it.
183
+ Run `mammoth auth status --profile PROFILE`; if it has no credentials, stop and
184
+ tell me the exact `mammoth auth login` command to run in my own terminal, then
185
+ wait — never ask for, read, or pass a key or secret yourself. Require `mammoth
186
+ doctor` to pass. Work inside `mammoth project ensure 'PROJECT NAME'` unless I
187
+ name a project; take ids only from reads; `schema get COMMAND_ID` before a new
188
+ command; read results back before reporting.
189
+ TASK: <what to achieve, and how you will know it is done>
190
+ ```
191
+
173
192
  The bundled skill describes authentication, discovery, structured input, job
174
193
  handling, and confirmations. Install it for the supported coding-agent tools:
175
194
 
@@ -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.20"
9
+ __version__ = "2.0.21"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -813,9 +813,48 @@ def _command_help(command_id: str, record: dict[str, Any] | None) -> str | None:
813
813
  example = (record or {}).get("agent_example")
814
814
  if example:
815
815
  parts.append(f"Example: {example}")
816
+ fields = _help_input_fields(command_id)
817
+ if fields:
818
+ parts.append(f"Input fields: {fields}")
816
819
  return "\n\n".join(parts) or None
817
820
 
818
821
 
822
+ def _help_input_fields(command_id: str) -> str | None:
823
+ """One line naming the ``--input`` fields, so ``--help`` can replace ``schema get``.
824
+
825
+ Required fields come first and are marked with ``*``; each carries its
826
+ short type, or its enum values. Bounded to keep ``--help`` readable; the
827
+ full contract stays behind ``schema get``.
828
+ """
829
+ from mammoth_cli.services.command_contract import resolve_command_contract
830
+
831
+ try:
832
+ contract = resolve_command_contract(command_id)
833
+ except Exception: # noqa: BLE001 -- help must never fail on a contract quirk
834
+ return None
835
+ if contract is None or not contract.accepted_fields:
836
+ return None
837
+ rendered: list[str] = []
838
+ fields = sorted(contract.accepted_fields, key=lambda item: (not item.required, item.name))
839
+ for field in fields:
840
+ label = f"{field.name}*" if field.required else field.name
841
+ enum = field.enum_values
842
+ kind = "|".join(str(item) for item in enum[:6]) if enum else _short_type(field.type_name)
843
+ rendered.append(f"{label} ({kind})" if kind else label)
844
+ if len(rendered) == 12 and len(fields) > 12:
845
+ rendered.append(f"... {len(fields) - 12} more (schema get {command_id})")
846
+ break
847
+ return ", ".join(rendered)
848
+
849
+
850
+ def _short_type(type_name: str) -> str:
851
+ """``mammoth.condition.Condition | ...`` -> ``condition``; dotted names lose their module."""
852
+ text = str(type_name or "")
853
+ if "condition." in text:
854
+ return "condition"
855
+ return " | ".join(part.strip().rsplit(".", 1)[-1] for part in text.split("|"))[:40]
856
+
857
+
819
858
  def build_app() -> typer.Typer:
820
859
  """Construct the full Typer command tree from the command manifests."""
821
860
  root = typer.Typer(
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: mammoth-cli
3
+ version: 2.0.21
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, dashboards, exports, and handoffs."
5
+ ---
6
+
7
+ # Mammoth CLI
8
+
9
+ Use this skill for Mammoth shell work, not for Python SDK integration. The
10
+ CLI is the contract: it validates every request locally, returns one JSON
11
+ envelope, and never needs a flag to do so when its output is piped.
12
+
13
+ ## Start
14
+
15
+ ```bash
16
+ mammoth doctor # auth, endpoint, connectivity, version; must succeed
17
+ mammoth project ensure 'PROJECT NAME' # get-or-create; becomes the active project
18
+ ```
19
+
20
+ `doctor` failing is a precondition failure, not a reason to try the business
21
+ command anyway. Production is the `app` endpoint; use `release` only when the
22
+ task names it, and check `meta.profile`/`auth status` `endpoint` match the
23
+ intended environment before doing anything. If no profile has credentials,
24
+ tell the operator the exact `mammoth auth login --profile PROFILE` command to
25
+ run in their own terminal and wait; never ask for a key or secret in chat,
26
+ never read one from a file or environment variable, never run `auth login`
27
+ yourself. If any envelope carries `meta.update_available`, run its `command`
28
+ before the next step.
29
+
30
+ ## Defaults you do not repeat
31
+
32
+ - Piped stdout is compact JSON and prompts are off. Only in a session that
33
+ is not piped, `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1` once.
34
+ - `project ensure` saves the active project; `--project` only overrides it.
35
+ `MAMMOTH_PROFILE` / `MAMMOTH_PROJECT` also work as session defaults.
36
+ - The CLI remembers which dataset owns each view from any read (`view list
37
+ DATASET_ID`, `view get VIEW_ID`, an upload). After that, no `dataset_id`
38
+ on transforms, exports or deletes. If a command asks for the parent
39
+ `DATASET_ID`, read the view once and repeat it; an explicit value always
40
+ wins.
41
+ - Commands that start platform work wait up to 300 s for the job; on
42
+ `timeout` use the `job get` recovery command printed, do not resubmit.
43
+
44
+ ## Calling a command
45
+
46
+ - Ids are positionals; request fields are one `--input '{...}'` document;
47
+ there are no per-field flags (`project create NAME`, not `--name`).
48
+ - `COMMAND --help` lists the input fields with types; `mammoth schema get
49
+ COMMAND_ID` is the full contract (add `--input '{"full": true}'` for the
50
+ JSON Schema); `schema list` is the family index, `schema list view` one
51
+ family, `schema find WORDS` a search.
52
+ - Uploads return a **dataset** id; transforms, joins, exports and previews
53
+ take the **view** id from `view list DATASET_ID`.
54
+ - Column inputs and expressions use the exact **display names** the view
55
+ returns, never backend aliases.
56
+ - Destructive commands need `--yes --confirm ID`. Preserve requested
57
+ deliverables; cleanup is exact-ID authorized and
58
+ never means delete-all-owned-resources: delete only ids this run created,
59
+ one per call, and read back that they are gone.
60
+ - A command whose schema lists `secret_fields` takes `--input FILE` (mode
61
+ 0600); secrets never go in argv, notes, checkpoints or replies.
62
+
63
+ ## Verify before you report
64
+
65
+ - A success envelope proves the call, not the outcome. After a row-scoped
66
+ change (set-values, filter, replace, join, fill) run `view data get
67
+ VIEW_ID` (50 rows by default, `limit` to change) and check rows the
68
+ condition should have touched and rows it should not have. Sample the
69
+ target column *before* the change so the after-read has a comparison.
70
+ - A uniform result (every amount 0, every region "Unknown", most join rows
71
+ unmatched) means the previous step went wrong; stop and re-inspect it.
72
+ - A timeout, exit 7 or interruption does not prove failure; reconcile an
73
+ `outcome_unknown` (`job get`, `view task list`) before replaying.
74
+ - Run the [report checklist](references/report-checklist.md) before stating
75
+ a number or calling a step done. When files here disagree,
76
+ [capabilities](references/capabilities.md) wins over a recipe, and a recipe
77
+ over the generated command catalog.
78
+
79
+ ## Route only what the task needs
80
+
81
+ - **Cold start, task plan, or unsupported route:** [task start](references/task-start.md)
82
+ - **Login, profiles, and authorized scope:** [auth](references/auth.md)
83
+ - **Nested input, output envelopes, confirmations, jobs, or recovery:**
84
+ [input](references/input.md), [machine output](references/machine-output.md),
85
+ [safety](references/safety.md), or [jobs and drafts](references/jobs-drafts.md)
86
+ - **Import, resources, transforms, pipelines, dashboards, exports, or cleanup:**
87
+ [recipes](references/recipes/index.md) — the
88
+ [worked example](references/recipes/end-to-end.md) is the whole flow
89
+ - **Which id is which, appending rows, response shapes, and other one-off
90
+ rules:** [operations](references/operations.md)
91
+ - **Something failed or you are unsure whether to continue:**
92
+ [recovery](references/recovery.md) — failure modes by message and the
93
+ stop-condition list
94
+ - **A known command family or exact command:** [command catalog](references/command-index.md)
95
+ — a lookup for the one command you need, not upfront reading; each entry
96
+ carries its release status line, and a `not supported` or `observed
97
+ blocker` entry names the route to use instead
98
+ - **Whether a route is proven, known-blocked, or untried on release:**
99
+ [capabilities](references/capabilities.md) — read it before promising a
100
+ deliverable or reporting a failure as a backend fault
101
+ - **Pause or transfer to another agent:** [handoff](references/handoff.md)
102
+
103
+ ## Handoff checklist
104
+
105
+ Before yielding work, write a nonsecret checkpoint with the intent and
106
+ acceptance criteria; authorized profile/workspace/project; observed resource
107
+ parents; verified evidence hashes; known jobs and unknown outcomes; remaining
108
+ objectives; and exact cleanup ownership. The receiving agent validates that
109
+ record and re-reads remote state before deciding what to do next. The handoff
110
+ is not a resume command or a grant of authority.
@@ -31,8 +31,8 @@ human operator:
31
31
  history. Credentials are per environment: a release key never
32
32
  authenticates on `app`.
33
33
  2. Wait for the operator to confirm, then re-run
34
- `mammoth auth status --profile PROFILE --output json --no-input` and
35
- `mammoth doctor --profile PROFILE --output json --no-input`.
34
+ `mammoth auth status --profile PROFILE` and
35
+ `mammoth doctor --profile PROFILE`.
36
36
  3. Do not ask the operator to paste the key or secret into chat. Do not run
37
37
  `auth login` yourself, with or without `--input`, unless the operator has
38
38
  explicitly given you a protected `0600` credential file path to use.
@@ -50,7 +50,7 @@ authentication and then verify the connection. These checks are mandatory even
50
50
  when a profile may already exist:
51
51
 
52
52
  ```bash
53
- mammoth auth status --profile PROFILE --output json --no-input
53
+ mammoth auth status --profile PROFILE
54
54
  ```
55
55
 
56
56
  If status reports a missing profile or `has_credentials=false`, run the secure
@@ -58,7 +58,7 @@ login flow, then check status again:
58
58
 
59
59
  ```bash
60
60
  mammoth auth login # production; add --profile NAME if not 'default'
61
- mammoth auth status --output json --no-input
61
+ mammoth auth status
62
62
  ```
63
63
 
64
64
  `auth status` is a local profile/credential-presence check; it does not prove
@@ -69,7 +69,7 @@ profile; do not silently reuse, rewrite, or promote it. After the profile is
69
69
  present and its endpoint matches, verify the live connection:
70
70
 
71
71
  ```bash
72
- mammoth doctor --profile PROFILE --output json --no-input
72
+ mammoth doctor --profile PROFILE
73
73
  ```
74
74
 
75
75
  `doctor` also lists the projects the credential can see (`projects` check)
@@ -87,9 +87,9 @@ targets release.
87
87
  ```bash
88
88
  mammoth auth login # hidden prompts; production
89
89
  mammoth auth login --server-prefix release # release environment
90
- mammoth auth login --profile PROFILE --input creds.json --storage file --output json --no-input
91
- mammoth auth status --profile PROFILE --output json --no-input
92
- mammoth auth logout --profile default --output json --no-input --yes
90
+ mammoth auth login --profile PROFILE --input creds.json --storage file
91
+ mammoth auth status --profile PROFILE
92
+ mammoth auth logout --profile default --yes
93
93
  ```
94
94
 
95
95
  `PROFILE` means the actual nonsecret profile name selected by the operator or
@@ -1,7 +1,7 @@
1
1
  # What is proven on release
2
2
 
3
3
  Generated from `docs/release-capability-matrix.json`; do not edit by hand.
4
- The CLI publishes 552 commands. 455 of them bind one of the 528 API operations in the matrix; the remainder are local commands (`schema`, `auth`, `doctor`, `log`, ...) or typed variants that share an operation (every `view transform *` command submits through `view.task.add`). 258 bound commands ran once successfully on release, 2 are not supported there, and the rest are untried. Untried is not broken: discover the contract with `mammoth schema get COMMAND_ID --output json --no-input`, run it, and treat the structured error envelope as the answer.
4
+ The CLI publishes 552 commands. 455 of them bind one of the 528 API operations in the matrix; the remainder are local commands (`schema`, `auth`, `doctor`, `log`, ...) or typed variants that share an operation (every `view transform *` command submits through `view.task.add`). 258 bound commands ran once successfully on release, 2 are not supported there, and the rest are untried. Untried is not broken: discover the contract with `mammoth schema get COMMAND_ID`, run it, and treat the structured error envelope as the answer.
5
5
 
6
6
  Status meanings:
7
7
 
@@ -1,6 +1,6 @@
1
1
  # Published CLI command catalog
2
2
 
3
- This generated catalog is a lookup table for every command in the published CLI manifest, currently 552; each entry carries its release status line. It is a command-contract index, not an assertion that every backend/OpenAPI operation has a CLI binding. For an exact local CLI contract, run `mammoth schema get COMMAND_ID --output json --no-input`; `mammoth capability list` is an API-binding inventory and can omit typed/local CLI routes. For focused workflows, read the [recipes index](recipes/index.md). Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
3
+ This generated catalog is a lookup table for every command in the published CLI manifest, currently 552; each entry carries its release status line. It is a command-contract index, not an assertion that every backend/OpenAPI operation has a CLI binding. For an exact local CLI contract, run `mammoth schema get COMMAND_ID`; `mammoth capability list` is an API-binding inventory and can omit typed/local CLI routes. For focused workflows, read the [recipes index](recipes/index.md). Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
4
4
 
5
5
  Load only the applicable domain file:
6
6
 
@@ -4,9 +4,9 @@ Every command returns the standard JSON envelope. On nonzero exit, read the erro
4
4
 
5
5
  ### `activity.export`
6
6
 
7
- Run: `mammoth activity export`. Exact input fields: `mammoth schema get activity.export --output json --no-input`.
7
+ Run: `mammoth activity export`. Exact input fields: `mammoth schema get activity.export`.
8
8
 
9
- Example: `mammoth activity export --output json --no-input`. Discovery only: this command is fail-closed and must not dispatch a request.
9
+ Example: `mammoth activity export`. Discovery only: this command is fail-closed and must not dispatch a request.
10
10
 
11
11
  Execution is unavailable for the current contract and returns `unsupported_contract`. Do not infer request fields or retry it; use only a separately typed alternative.
12
12
 
@@ -14,9 +14,9 @@ Known restriction: BLOCKED[B19 ACTIVITY_EXPORT_UNTYPED_ASYNC]: format/filters/do
14
14
 
15
15
  ### `activity.list`
16
16
 
17
- Run: `mammoth activity list`. Exact input fields: `mammoth schema get activity.list --output json --no-input`.
17
+ Run: `mammoth activity list`. Exact input fields: `mammoth schema get activity.list`.
18
18
 
19
- Example: `mammoth activity list --output json --no-input`. Discovery only: this command is fail-closed and must not dispatch a request.
19
+ Example: `mammoth activity list`. Discovery only: this command is fail-closed and must not dispatch a request.
20
20
 
21
21
  Execution is unavailable for the current contract and returns `unsupported_contract`. Do not infer request fields or retry it; use only a separately typed alternative.
22
22
 
@@ -4,9 +4,9 @@ Every command returns the standard JSON envelope. On nonzero exit, read the erro
4
4
 
5
5
  ### `addon.connector.add`
6
6
 
7
- Run: `mammoth addon connector add`. Exact input fields: `mammoth schema get addon.connector.add --output json --no-input`.
7
+ Run: `mammoth addon connector add`. Exact input fields: `mammoth schema get addon.connector.add`.
8
8
 
9
- Example: `mammoth addon connector add --input '{"connector_id": 42}' --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
9
+ Example: `mammoth addon connector add --input '{"connector_id": 42}'`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
10
10
 
11
11
  Result: `AddonConnectorAddResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
12
12
 
@@ -14,9 +14,9 @@ Status on release: untried; no live run recorded.
14
14
 
15
15
  ### `addon.connector.remove`
16
16
 
17
- Run: `mammoth addon connector remove`. Exact input fields: `mammoth schema get addon.connector.remove --output json --no-input`.
17
+ Run: `mammoth addon connector remove`. Exact input fields: `mammoth schema get addon.connector.remove`.
18
18
 
19
- Example: `mammoth addon connector remove --input '{"connector_id": 42}' --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
19
+ Example: `mammoth addon connector remove --input '{"connector_id": 42}'`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
20
20
 
21
21
  Result: `AddonConnectorRemoveResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
22
22
 
@@ -24,9 +24,9 @@ Status on release: untried; no live run recorded.
24
24
 
25
25
  ### `addon.list`
26
26
 
27
- Run: `mammoth addon list`. Exact input fields: `mammoth schema get addon.list --output json --no-input`.
27
+ Run: `mammoth addon list`. Exact input fields: `mammoth schema get addon.list`.
28
28
 
29
- Example: `mammoth addon list --output json --no-input`. Placeholders are illustrative; resolve IDs and input from observed reads.
29
+ Example: `mammoth addon list`. Placeholders are illustrative; resolve IDs and input from observed reads.
30
30
 
31
31
  Result: `AddonListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
32
32
 
@@ -34,9 +34,9 @@ Status on release: untried; no live run recorded.
34
34
 
35
35
  ### `addon.storage.add`
36
36
 
37
- Run: `mammoth addon storage add`. Exact input fields: `mammoth schema get addon.storage.add --output json --no-input`.
37
+ Run: `mammoth addon storage add`. Exact input fields: `mammoth schema get addon.storage.add`.
38
38
 
39
- Example: `mammoth addon storage add --input '{"additional_storage_gb": 1}' --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
39
+ Example: `mammoth addon storage add --input '{"additional_storage_gb": 1}'`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
40
40
 
41
41
  Result: `AddonStorageAddResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
42
42
 
@@ -44,9 +44,9 @@ Status on release: untried; no live run recorded.
44
44
 
45
45
  ### `addon.storage.remove`
46
46
 
47
- Run: `mammoth addon storage remove`. Exact input fields: `mammoth schema get addon.storage.remove --output json --no-input`.
47
+ Run: `mammoth addon storage remove`. Exact input fields: `mammoth schema get addon.storage.remove`.
48
48
 
49
- Example: `mammoth addon storage remove --input '{"removal_storage_gb": 1}' --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
49
+ Example: `mammoth addon storage remove --input '{"removal_storage_gb": 1}'`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
50
50
 
51
51
  Result: `AddonStorageRemoveResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
52
52
 
@@ -54,9 +54,9 @@ Status on release: untried; no live run recorded.
54
54
 
55
55
  ### `addon.user.add`
56
56
 
57
- Run: `mammoth addon user add`. Exact input fields: `mammoth schema get addon.user.add --output json --no-input`.
57
+ Run: `mammoth addon user add`. Exact input fields: `mammoth schema get addon.user.add`.
58
58
 
59
- Example: `mammoth addon user add --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
59
+ Example: `mammoth addon user add`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
60
60
 
61
61
  Result: `AddonUserAddResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
62
62
 
@@ -64,9 +64,9 @@ Status on release: untried; no live run recorded.
64
64
 
65
65
  ### `addon.user.remove`
66
66
 
67
- Run: `mammoth addon user remove`. Exact input fields: `mammoth schema get addon.user.remove --output json --no-input`.
67
+ Run: `mammoth addon user remove`. Exact input fields: `mammoth schema get addon.user.remove`.
68
68
 
69
- Example: `mammoth addon user remove --input '{"user_count": 1}' --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
69
+ Example: `mammoth addon user remove --input '{"user_count": 1}'`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
70
70
 
71
71
  Result: `AddonUserRemoveResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
72
72
 
@@ -4,9 +4,9 @@ Every command returns the standard JSON envelope. On nonzero exit, read the erro
4
4
 
5
5
  ### `agent.chat`
6
6
 
7
- Run: `mammoth agent chat`. Exact input fields: `mammoth schema get agent.chat --output json --no-input`.
7
+ Run: `mammoth agent chat`. Exact input fields: `mammoth schema get agent.chat`.
8
8
 
9
- Example: `mammoth agent chat --input '{"message": "Summarize revenue by region", "scope": {"sample_key": "Status"}}' --output json --no-input`. Placeholders are illustrative; resolve IDs and input from observed reads.
9
+ Example: `mammoth agent chat --input '{"message": "Summarize revenue by region", "scope": {"sample_key": "Status"}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
10
10
 
11
11
  Result: `AgentChatResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
12
12
 
@@ -14,9 +14,9 @@ Status on release: untried; no live run recorded.
14
14
 
15
15
  ### `agent.session.delete`
16
16
 
17
- Run: `mammoth agent session delete`. Exact input fields: `mammoth schema get agent.session.delete --output json --no-input`.
17
+ Run: `mammoth agent session delete`. Exact input fields: `mammoth schema get agent.session.delete`.
18
18
 
19
- Example: `mammoth agent session delete resource-123 --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
19
+ Example: `mammoth agent session delete resource-123`. Illustrative only: append `--yes` after observing an owned target.
20
20
 
21
21
  Result: `AgentSessionDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
22
22
 
@@ -24,9 +24,9 @@ Status on release: untried; no live run recorded.
24
24
 
25
25
  ### `agent.session.list`
26
26
 
27
- Run: `mammoth agent session list`. Exact input fields: `mammoth schema get agent.session.list --output json --no-input`.
27
+ Run: `mammoth agent session list`. Exact input fields: `mammoth schema get agent.session.list`.
28
28
 
29
- Example: `mammoth agent session list --output json --no-input`. Placeholders are illustrative; resolve IDs and input from observed reads.
29
+ Example: `mammoth agent session list`. Placeholders are illustrative; resolve IDs and input from observed reads.
30
30
 
31
31
  Result: `AgentSessionListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
32
32
 
@@ -34,9 +34,9 @@ Status on release: ran once on CLI 2.0.11 — Read-only sweep 2026-09-18: exit 0
34
34
 
35
35
  ### `agent.session.messages`
36
36
 
37
- Run: `mammoth agent session messages`. Exact input fields: `mammoth schema get agent.session.messages --output json --no-input`.
37
+ Run: `mammoth agent session messages`. Exact input fields: `mammoth schema get agent.session.messages`.
38
38
 
39
- Example: `mammoth agent session messages resource-123 --output json --no-input`. Placeholders are illustrative; resolve IDs and input from observed reads.
39
+ Example: `mammoth agent session messages resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
40
40
 
41
41
  Result: `AgentSessionMessagesResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
42
42
 
@@ -44,9 +44,9 @@ Status on release: untried; no live run recorded.
44
44
 
45
45
  ### `agent.session.set-visibility`
46
46
 
47
- Run: `mammoth agent session set-visibility`. Exact input fields: `mammoth schema get agent.session.set-visibility --output json --no-input`.
47
+ Run: `mammoth agent session set-visibility`. Exact input fields: `mammoth schema get agent.session.set-visibility`.
48
48
 
49
- Example: `mammoth agent session set-visibility resource-123 --input '{"visibility": "sample"}' --output json --no-input`. Placeholders are illustrative; resolve IDs and input from observed reads.
49
+ Example: `mammoth agent session set-visibility resource-123 --input '{"visibility": "sample"}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
50
50
 
51
51
  Result: `AgentSessionSetVisibilityResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
52
52