mammoth-cli 2.1.7__tar.gz → 2.2.1__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 (251) hide show
  1. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/PKG-INFO +2 -2
  2. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/app.py +13 -1
  4. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +2 -2
  5. mammoth_cli-2.2.1/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +133 -0
  6. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/agent.py +59 -0
  7. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/dataset.py +12 -1
  8. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/registry.py +8 -0
  9. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/embed.py +8 -0
  10. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/invocation.py +1 -0
  11. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/input_fields.py +14 -0
  12. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/positionals.py +24 -0
  13. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/sdk_service.py +10 -0
  14. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/pyproject.toml +2 -2
  15. mammoth_cli-2.2.1/spec/manifests/commands/agent.yaml +534 -0
  16. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/edits-target.source.yaml +5 -0
  17. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/sdk-catalog.source.yaml +56 -0
  18. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/sdk-methods.yaml +96 -0
  19. mammoth_cli-2.1.7/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -53
  20. mammoth_cli-2.1.7/spec/manifests/commands/agent.yaml +0 -206
  21. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/.gitignore +0 -0
  22. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/LICENSE +0 -0
  23. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/README.md +0 -0
  24. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/__main__.py +0 -0
  25. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -0
  26. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  27. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  28. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  29. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  30. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  31. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  32. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  33. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  34. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  35. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  36. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  37. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  38. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  39. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
  40. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  41. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  42. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  43. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  44. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  45. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  46. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  47. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-style.md +0 -0
  48. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  49. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  50. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  51. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  52. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  53. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  54. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  55. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  56. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  57. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  58. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  59. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  60. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  61. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  62. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  63. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  64. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  65. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  66. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  67. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  68. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  69. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  70. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  71. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  72. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  73. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  74. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  75. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  76. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  77. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  78. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  79. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  80. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  81. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  82. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  83. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  84. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  85. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  86. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  87. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  88. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  89. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  90. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  91. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  92. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  93. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  94. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  95. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  96. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  97. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/__init__.py +0 -0
  98. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/activity.py +0 -0
  99. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/addon.py +0 -0
  100. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/ai.py +0 -0
  101. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/annotation.py +0 -0
  102. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/auth.py +0 -0
  103. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/automation.py +0 -0
  104. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/batch.py +0 -0
  105. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/billing.py +0 -0
  106. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/browse.py +0 -0
  107. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/calc.py +0 -0
  108. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/capability.py +0 -0
  109. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/client_app.py +0 -0
  110. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/completion.py +0 -0
  111. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/config.py +0 -0
  112. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/connector.py +0 -0
  113. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/context.py +0 -0
  114. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/dashboard.py +0 -0
  115. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/data_app.py +0 -0
  116. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/doctor.py +0 -0
  117. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/external_key.py +0 -0
  118. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/file.py +0 -0
  119. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/folder.py +0 -0
  120. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/job.py +0 -0
  121. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/notification.py +0 -0
  122. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/parameter.py +0 -0
  123. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/project.py +0 -0
  124. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/report.py +0 -0
  125. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/schedule.py +0 -0
  126. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/schema.py +0 -0
  127. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/skill.py +0 -0
  128. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/snippet.py +0 -0
  129. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/support.py +0 -0
  130. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/template.py +0 -0
  131. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/trash.py +0 -0
  132. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/upgrade.py +0 -0
  133. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/user.py +0 -0
  134. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/view.py +0 -0
  135. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/view_ops.py +0 -0
  136. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/view_profile.py +0 -0
  137. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/webhook.py +0 -0
  138. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/workflow.py +0 -0
  139. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/workspace.py +0 -0
  140. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/__init__.py +0 -0
  141. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/credentials.py +0 -0
  142. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/endpoint.py +0 -0
  143. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/profiles.py +0 -0
  144. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/resolver.py +0 -0
  145. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/contracts/__init__.py +0 -0
  146. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/contracts/auth.py +0 -0
  147. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/errors/__init__.py +0 -0
  148. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/errors/envelope.py +0 -0
  149. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/manifest/__init__.py +0 -0
  150. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/manifest/loader.py +0 -0
  151. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/messages/__init__.py +0 -0
  152. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/__init__.py +0 -0
  153. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/envelope.py +0 -0
  154. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/normalize.py +0 -0
  155. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/policy.py +0 -0
  156. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/progress.py +0 -0
  157. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/render.py +0 -0
  158. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/py.typed +0 -0
  159. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/__init__.py +0 -0
  160. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/confirm.py +0 -0
  161. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/dataset_health.py +0 -0
  162. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/dryrun.py +0 -0
  163. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/dryrun_targets.py +0 -0
  164. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/embedded.py +0 -0
  165. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/executor.py +0 -0
  166. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/input_loader.py +0 -0
  167. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/intent_only.py +0 -0
  168. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/new_data.py +0 -0
  169. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/options.py +0 -0
  170. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/parents.py +0 -0
  171. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/runlog.py +0 -0
  172. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/session.py +0 -0
  173. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/state.py +0 -0
  174. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/strict.py +0 -0
  175. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/updates.py +0 -0
  176. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/validate.py +0 -0
  177. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/verify.py +0 -0
  178. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/__init__.py +0 -0
  179. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/argspec.py +0 -0
  180. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/board_values.py +0 -0
  181. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/coerce.py +0 -0
  182. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/command_contract.py +0 -0
  183. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/conditions.py +0 -0
  184. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/dashboard_filters.py +0 -0
  185. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/dashboard_pages.py +0 -0
  186. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/dashboard_review.py +0 -0
  187. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/data_profile.py +0 -0
  188. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/data_quality.py +0 -0
  189. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/dispatch.py +0 -0
  190. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/factory.py +0 -0
  191. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/listing.py +0 -0
  192. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/mapping.py +0 -0
  193. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/openapi_types.py +0 -0
  194. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/protocol.py +0 -0
  195. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/read_queries.py +0 -0
  196. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/stored_stats.py +0 -0
  197. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/testing.py +0 -0
  198. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/text_dates.py +0 -0
  199. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/type_system.py +0 -0
  200. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/write_impact.py +0 -0
  201. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/skills/__init__.py +0 -0
  202. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/skills/installer.py +0 -0
  203. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/skills/steering.py +0 -0
  204. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/testing.py +0 -0
  205. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/activity.yaml +0 -0
  206. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/addon.yaml +0 -0
  207. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/ai.yaml +0 -0
  208. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/annotation.yaml +0 -0
  209. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/auth.yaml +0 -0
  210. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/automation.yaml +0 -0
  211. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/batch.yaml +0 -0
  212. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/billing.yaml +0 -0
  213. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/browse.yaml +0 -0
  214. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/calc.yaml +0 -0
  215. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/capability.yaml +0 -0
  216. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/client-app.yaml +0 -0
  217. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/completion.yaml +0 -0
  218. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/config.yaml +0 -0
  219. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/connector.yaml +0 -0
  220. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/context.yaml +0 -0
  221. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/dashboard.yaml +0 -0
  222. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/data-app.yaml +0 -0
  223. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/dataset.yaml +0 -0
  224. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/doctor.yaml +0 -0
  225. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/external-key.yaml +0 -0
  226. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/file.yaml +0 -0
  227. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/folder.yaml +0 -0
  228. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/job.yaml +0 -0
  229. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/log.yaml +0 -0
  230. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/notification.yaml +0 -0
  231. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/parameter.yaml +0 -0
  232. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/project.yaml +0 -0
  233. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/report.yaml +0 -0
  234. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/schedule.yaml +0 -0
  235. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/schema.yaml +0 -0
  236. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/skill.yaml +0 -0
  237. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/snippet.yaml +0 -0
  238. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/support.yaml +0 -0
  239. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/template.yaml +0 -0
  240. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/trash.yaml +0 -0
  241. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/upgrade.yaml +0 -0
  242. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/user.yaml +0 -0
  243. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/version.yaml +0 -0
  244. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/view.yaml +0 -0
  245. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/webhook.yaml +0 -0
  246. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/workflow.yaml +0 -0
  247. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/workspace.yaml +0 -0
  248. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/openapi-operations.yaml +0 -0
  249. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/schema-v1.json +0 -0
  250. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/openapi/metadata.json +0 -0
  251. {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/openapi/openapi.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.1.7
3
+ Version: 2.2.1
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.2
20
+ Requires-Dist: mammoth-io<0.9,>=0.8.3
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.1.7"
9
+ __version__ = "2.2.1"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -61,7 +61,7 @@ OUTPUT_MODES = VALID_OUTPUTS
61
61
  _GROUP_DESCRIPTIONS = {
62
62
  "activity": "Inspect workspace activity and audit history.",
63
63
  "addon": "Manage workspace add-ons.",
64
- "agent": "Work with Mammoth agent sessions and messages.",
64
+ "agent": "Work with Mammoth agent sessions, the changes a chat made, and its runs.",
65
65
  "ai": "Generate AI-assisted expressions and conditions.",
66
66
  "annotation": "Manage annotations on Mammoth resources.",
67
67
  "auth": "Sign in, sign out, and inspect credentials.",
@@ -557,6 +557,18 @@ def _shared_option_params() -> list[inspect.Parameter]:
557
557
  ),
558
558
  ],
559
559
  ),
560
+ opt(
561
+ "session",
562
+ None,
563
+ Annotated[
564
+ str | None,
565
+ typer.Option(
566
+ "--session",
567
+ help="Agent chat session id for 'agent action' and 'agent run' commands.",
568
+ rich_help_panel="Context and timeouts",
569
+ ),
570
+ ],
571
+ ),
560
572
  opt(
561
573
  "timeout",
562
574
  None,
@@ -1,12 +1,12 @@
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 580; each entry carries its release status line. It is a command-contract index, not an assertion that every backend/OpenAPI operation has a CLI binding. For an exact local CLI contract, run `mammoth schema get COMMAND_ID`; `mammoth capability list` is an API-binding inventory and can omit typed/local CLI routes. For focused workflows, read the [recipes index](recipes/index.md). Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
3
+ This generated catalog is a lookup table for every command in the published CLI manifest, currently 588; 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
 
7
7
  - [activity](commands/activity.md) — 2 published commands
8
8
  - [addon](commands/addon.md) — 7 published commands
9
- - [agent](commands/agent.md) — 5 published commands
9
+ - [agent](commands/agent.md) — 13 published commands
10
10
  - [ai](commands/ai.md) — 5 published commands
11
11
  - [annotation](commands/annotation.md) — 5 published commands
12
12
  - [auth](commands/auth.md) — 3 published commands
@@ -0,0 +1,133 @@
1
+ # `agent` commands
2
+
3
+ Every command returns the standard JSON envelope. On nonzero exit, read the error envelope and its `recovery_commands`; do not guess request fields. "Status on release" is joined from `docs/release-capability-matrix.json`: *ran once* means one bounded live run succeeded on the named CLI release, *untried* means nobody has run it, *not supported* means the backend refuses it. When this file disagrees with [capabilities](../capabilities.md) or a recipe, they win. Envelope shapes: [machine output](../machine-output.md).
4
+
5
+ ### `agent.action.delete`
6
+
7
+ Run: `mammoth agent action delete`. Exact input fields: `mammoth schema get agent.action.delete`.
8
+
9
+ Example: `mammoth agent action delete resource-123`. Illustrative only: append `--yes` after observing an owned target.
10
+
11
+ Result: `AgentActionDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
12
+
13
+ Status on release: untried; no live run recorded.
14
+
15
+ ### `agent.action.list`
16
+
17
+ Run: `mammoth agent action list`. Exact input fields: `mammoth schema get agent.action.list`.
18
+
19
+ Example: `mammoth agent action list`. Placeholders are illustrative; resolve IDs and input from observed reads.
20
+
21
+ Result: `AgentActionListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
22
+
23
+ Status on release: untried; no live run recorded.
24
+
25
+ ### `agent.chat`
26
+
27
+ Run: `mammoth agent chat`. Exact input fields: `mammoth schema get agent.chat`.
28
+
29
+ Example: `mammoth agent chat --input '{"message": "Summarize revenue by region", "scope": {"sample_key": "Status"}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
30
+
31
+ Result: `AgentChatResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
32
+
33
+ Status on release: untried; no live run recorded.
34
+
35
+ ### `agent.run.extend`
36
+
37
+ Run: `mammoth agent run extend`. Exact input fields: `mammoth schema get agent.run.extend`.
38
+
39
+ Example: `mammoth agent run extend resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
40
+
41
+ Result: `AgentRunExtendResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
42
+
43
+ Status on release: untried; no live run recorded.
44
+
45
+ ### `agent.run.list`
46
+
47
+ Run: `mammoth agent run list`. Exact input fields: `mammoth schema get agent.run.list`.
48
+
49
+ Example: `mammoth agent run list`. Placeholders are illustrative; resolve IDs and input from observed reads.
50
+
51
+ Result: `AgentRunListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
52
+
53
+ Status on release: untried; no live run recorded.
54
+
55
+ ### `agent.run.pause`
56
+
57
+ Run: `mammoth agent run pause`. Exact input fields: `mammoth schema get agent.run.pause`.
58
+
59
+ Example: `mammoth agent run pause resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
60
+
61
+ Result: `AgentRunPauseResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
62
+
63
+ Status on release: untried; no live run recorded.
64
+
65
+ ### `agent.run.resume`
66
+
67
+ Run: `mammoth agent run resume`. Exact input fields: `mammoth schema get agent.run.resume`.
68
+
69
+ Example: `mammoth agent run resume resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
70
+
71
+ Result: `AgentRunResumeResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
72
+
73
+ Status on release: untried; no live run recorded.
74
+
75
+ ### `agent.run.status`
76
+
77
+ Run: `mammoth agent run status`. Exact input fields: `mammoth schema get agent.run.status`.
78
+
79
+ Example: `mammoth agent run status`. Placeholders are illustrative; resolve IDs and input from observed reads.
80
+
81
+ Result: `AgentRunStatusResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
82
+
83
+ Status on release: untried; no live run recorded.
84
+
85
+ ### `agent.run.stop`
86
+
87
+ Run: `mammoth agent run stop`. Exact input fields: `mammoth schema get agent.run.stop`.
88
+
89
+ Example: `mammoth agent run stop resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
90
+
91
+ Result: `AgentRunStopResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
92
+
93
+ Status on release: untried; no live run recorded.
94
+
95
+ ### `agent.session.delete`
96
+
97
+ Run: `mammoth agent session delete`. Exact input fields: `mammoth schema get agent.session.delete`.
98
+
99
+ Example: `mammoth agent session delete resource-123`. Illustrative only: append `--yes` after observing an owned target.
100
+
101
+ Result: `AgentSessionDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
102
+
103
+ Status on release: untried; no live run recorded.
104
+
105
+ ### `agent.session.list`
106
+
107
+ Run: `mammoth agent session list`. Exact input fields: `mammoth schema get agent.session.list`.
108
+
109
+ Example: `mammoth agent session list`. Placeholders are illustrative; resolve IDs and input from observed reads.
110
+
111
+ Result: `AgentSessionListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
112
+
113
+ Status on release: ran once on CLI 2.0.11 — Read-only sweep 2026-09-18: exit 0 on release with CLI 2.0.11; result keys: sessions. Single read only; no fixture variants, error envelopes, or write paths assessed.
114
+
115
+ ### `agent.session.messages`
116
+
117
+ Run: `mammoth agent session messages`. Exact input fields: `mammoth schema get agent.session.messages`.
118
+
119
+ Example: `mammoth agent session messages resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
120
+
121
+ Result: `AgentSessionMessagesResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
122
+
123
+ Status on release: untried; no live run recorded.
124
+
125
+ ### `agent.session.set-visibility`
126
+
127
+ Run: `mammoth agent session set-visibility`. Exact input fields: `mammoth schema get agent.session.set-visibility`.
128
+
129
+ Example: `mammoth agent session set-visibility resource-123 --input '{"visibility": "sample"}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
130
+
131
+ Result: `AgentSessionSetVisibilityResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
132
+
133
+ Status on release: untried; no live run recorded.
@@ -204,3 +204,62 @@ def agent_session_set_visibility(invocation: Invocation) -> HandlerResult:
204
204
  with open_service(invocation) as (service, auth):
205
205
  data = service.call(_symbol(invocation), session_id=session_id, visibility=visibility)
206
206
  return data, _meta(invocation, auth.workspace_id, resolved_project(invocation))
207
+
208
+
209
+ def _require_session(invocation: Invocation) -> str:
210
+ """Return the agent chat session id, raising when none was given.
211
+
212
+ An embedded call gets the embedding chat's session as ``--session`` from
213
+ :func:`mammoth_cli.embed.invoke`; outside that, the caller passes it.
214
+
215
+ Raises:
216
+ CliError: ``missing_argument`` when no session id is set.
217
+ """
218
+ if not invocation.session:
219
+ raise CliError(
220
+ code=CODE_MISSING_ARGUMENT,
221
+ message="This command requires a session id.",
222
+ exit_status=EXIT_USAGE,
223
+ hint="Pass --session SESSION_ID (see 'mammoth agent session list').",
224
+ )
225
+ return invocation.session
226
+
227
+
228
+ def _session_call(invocation: Invocation, **ids: str) -> HandlerResult:
229
+ """Call this command's SDK method on the session plus any extra ids."""
230
+ session_id = _require_session(invocation)
231
+ with open_service(invocation) as (service, auth):
232
+ data = service.call(_symbol(invocation), session_id=session_id, **ids)
233
+ return data, _meta(invocation, auth.workspace_id, resolved_project(invocation))
234
+
235
+
236
+ def agent_action_list(invocation: Invocation) -> HandlerResult:
237
+ """List the changes one agent chat session made."""
238
+ return _session_call(invocation)
239
+
240
+
241
+ def agent_action_delete(invocation: Invocation) -> HandlerResult:
242
+ """Delete one object the chat created, by action id. Prompt or ``--yes`` required."""
243
+ action_id = _require_string_positional(invocation, "action id")
244
+ enforce_confirmation(
245
+ invocation, policy=POLICY_PROMPT_OR_YES, action=f"delete what agent action {action_id} made"
246
+ )
247
+ return _session_call(invocation, action_id=action_id)
248
+
249
+
250
+ def agent_run_status(invocation: Invocation) -> HandlerResult:
251
+ """Show the current run of one agent chat session."""
252
+ return _session_call(invocation)
253
+
254
+
255
+ def agent_run_list(invocation: Invocation) -> HandlerResult:
256
+ """List the runs of one agent chat session."""
257
+ return _session_call(invocation)
258
+
259
+
260
+ def _run_control(invocation: Invocation) -> HandlerResult:
261
+ """Pause, resume, stop or extend one run; the SDK method is the manifest's."""
262
+ return _session_call(invocation, run_id=_require_string_positional(invocation, "run id"))
263
+
264
+
265
+ agent_run_pause = agent_run_resume = agent_run_stop = agent_run_extend = _run_control
@@ -681,12 +681,23 @@ def dataset_delete(invocation: Invocation) -> HandlerResult:
681
681
  if hint is not None:
682
682
  action = f"{action}. {hint}"
683
683
  enforce_confirmation(invocation, policy=POLICY_PROMPT_OR_YES, action=action)
684
- data = service.call(_symbol(invocation), dataset_id=dataset_id, project_id=project_id)
684
+ ack = service.call(_symbol(invocation), dataset_id=dataset_id, project_id=project_id)
685
+ # The server acknowledges a delete with a job handle. Settle it here so
686
+ # the handle's id is kept as ``job.id`` (the shape ``view delete`` has).
687
+ data = _with_job(ack, service.wait_if_job(ack))
685
688
  if hint is not None and isinstance(data, dict):
686
689
  data = {**data, "hint": hint}
687
690
  return data, _meta(invocation, auth.workspace_id, project_id)
688
691
 
689
692
 
693
+ def _with_job(handle: Any, settled: Any) -> Any:
694
+ """Return the settled result with the acknowledged job's id as ``job.id``."""
695
+ job_id = handle.get("job_id") if isinstance(handle, dict) else None
696
+ if job_id is None or not isinstance(settled, dict):
697
+ return settled
698
+ return {**settled, "job": {"id": job_id}}
699
+
700
+
690
701
  def dataset_bulk_delete(invocation: Invocation) -> HandlerResult:
691
702
  """Permanently delete the listed datasets. ``dataset_ids`` from ``--input``; ``--yes`` required.
692
703
 
@@ -535,7 +535,15 @@ HANDLERS: dict[str, Handler] = {
535
535
  "schedule.update": schedule_cmd.schedule_update,
536
536
  "schedule.delete": schedule_cmd.schedule_delete,
537
537
  # agent family
538
+ "agent.action.delete": agent_cmd.agent_action_delete,
539
+ "agent.action.list": agent_cmd.agent_action_list,
538
540
  "agent.chat": agent_cmd.agent_chat,
541
+ "agent.run.extend": agent_cmd.agent_run_extend,
542
+ "agent.run.list": agent_cmd.agent_run_list,
543
+ "agent.run.pause": agent_cmd.agent_run_pause,
544
+ "agent.run.resume": agent_cmd.agent_run_resume,
545
+ "agent.run.status": agent_cmd.agent_run_status,
546
+ "agent.run.stop": agent_cmd.agent_run_stop,
539
547
  "agent.session.delete": agent_cmd.agent_session_delete,
540
548
  "agent.session.list": agent_cmd.agent_session_list,
541
549
  "agent.session.messages": agent_cmd.agent_session_messages,
@@ -39,6 +39,7 @@ def invoke(
39
39
  *,
40
40
  login: ExplicitLogin,
41
41
  project_id: int | None = None,
42
+ session_id: str | None = None,
42
43
  timeout: float | None = None,
43
44
  pipeline_timeout: float | None = None,
44
45
  job_timeout: float | None = None,
@@ -52,6 +53,9 @@ def invoke(
52
53
  login: The credentials, endpoint and extra headers for this call.
53
54
  project_id: The active project, sent as ``--project`` unless ``args``
54
55
  already names one.
56
+ session_id: The embedding chat's session, sent as ``--session`` unless
57
+ ``args`` already names one; ``agent action`` and ``agent run``
58
+ commands act on it, so the model never has to know its id.
55
59
  timeout: Per-request timeout in seconds, sent as ``--timeout`` unless
56
60
  ``args`` already sets one.
57
61
  pipeline_timeout: Pipeline wait timeout in seconds, sent as
@@ -68,6 +72,7 @@ def invoke(
68
72
  argv = _argv(
69
73
  args,
70
74
  project_id=project_id,
75
+ session_id=session_id,
71
76
  timeout=timeout,
72
77
  pipeline_timeout=pipeline_timeout,
73
78
  job_timeout=job_timeout,
@@ -92,11 +97,14 @@ def _argv(
92
97
  pipeline_timeout: float | None,
93
98
  job_timeout: float | None,
94
99
  return_running: bool,
100
+ session_id: str | None = None,
95
101
  ) -> list[str]:
96
102
  """``args`` plus the options an embedded call always runs with."""
97
103
  argv = list(args)
98
104
  if project_id is not None and not _has_option(argv, "--project"):
99
105
  argv += ["--project", str(project_id)]
106
+ if session_id is not None and not _has_option(argv, "--session"):
107
+ argv += ["--session", session_id]
100
108
  if timeout is not None and not _has_option(argv, "--timeout"):
101
109
  argv += ["--timeout", str(timeout)]
102
110
  if pipeline_timeout is not None and not _has_option(argv, "--pipeline-timeout"):
@@ -50,6 +50,7 @@ class Invocation:
50
50
  output: str = "table"
51
51
  profile: str | None = None
52
52
  project: int | None = None
53
+ session: str | None = None
53
54
  timeout: float | None = None
54
55
  job_timeout: float | None = None
55
56
  pipeline_timeout: float | None = None
@@ -7,6 +7,20 @@ from typing import Any
7
7
  from mammoth_cli.services.positionals import resolve_positionals
8
8
 
9
9
  _HANDLER_OWNED_FIELDS: dict[str, frozenset[str]] = {
10
+ # The chat session comes from the global ``--session`` option.
11
+ **{
12
+ f"agent.{command}": frozenset({"session_id"})
13
+ for command in (
14
+ "action.list",
15
+ "action.delete",
16
+ "run.status",
17
+ "run.list",
18
+ "run.pause",
19
+ "run.resume",
20
+ "run.stop",
21
+ "run.extend",
22
+ )
23
+ },
10
24
  # Skill handlers deliberately derive filesystem roots from the running
11
25
  # process and generate their own backup timestamp. User input must not
12
26
  # claim to control values that the handlers replace or omit.
@@ -127,6 +127,30 @@ def _optional_project_id() -> tuple[PositionalSpec, ...]:
127
127
  # Commands whose positionals the signature cannot express correctly. Each entry
128
128
  # replaces the derivation wholesale; the drift test proves the union is right.
129
129
  POSITIONAL_OVERRIDES: dict[str, tuple[PositionalSpec, ...]] = {
130
+ # The chat session is the global ``--session`` option, never a positional or
131
+ # an --input field; only the action or run being addressed is positional.
132
+ "agent.action.list": (),
133
+ "agent.run.status": (),
134
+ "agent.run.list": (),
135
+ "agent.action.delete": (
136
+ PositionalSpec(
137
+ name="action_id",
138
+ type=str,
139
+ required=True,
140
+ help="ID of the recorded action (from agent action list).",
141
+ ),
142
+ ),
143
+ **{
144
+ f"agent.run.{verb}": (
145
+ PositionalSpec(
146
+ name="run_id",
147
+ type=str,
148
+ required=True,
149
+ help="ID of the run (from agent run status or agent run list).",
150
+ ),
151
+ )
152
+ for verb in ("pause", "resume", "stop", "extend")
153
+ },
130
154
  "dashboard.assess-twb": (
131
155
  PositionalSpec(
132
156
  name="file",
@@ -16,6 +16,7 @@ from __future__ import annotations
16
16
 
17
17
  import asyncio
18
18
  import inspect
19
+ import os
19
20
  import re
20
21
  import threading
21
22
  from collections.abc import Callable
@@ -73,6 +74,10 @@ def _unrecognized_expression_token(message: str, expression: Any) -> str:
73
74
  return token or expression
74
75
 
75
76
 
77
+ AGENT_RUN_ENV = "MAMMOTH_AGENT_RUN"
78
+ AGENT_RUN_HEADER = "X-Mammoth-Agent-Run"
79
+
80
+
76
81
  class SdkMammothService:
77
82
  """Production :class:`~mammoth_cli.services.protocol.MammothService`."""
78
83
 
@@ -141,6 +146,11 @@ class SdkMammothService:
141
146
  # After construction: the client sets its credential headers in
142
147
  # ``__init__``, and a forwarded session must replace them.
143
148
  self._client.session.headers.update(auth.headers)
149
+ run_id = os.environ.get(AGENT_RUN_ENV, "").strip()
150
+ if run_id:
151
+ # A leg of a durable agent run names its run, so the server can
152
+ # refuse the run's own resume and extend.
153
+ self._client.session.headers[AGENT_RUN_HEADER] = run_id
144
154
  if project_id is not None:
145
155
  self._client.set_project_id(project_id)
146
156
 
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.1.7"
3
+ version = "2.2.1"
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.2,<0.9)",
10
+ "mammoth-io (>=0.8.3,<0.9)",
11
11
  "typer (>=0.27,<0.28)",
12
12
  "rich (>=15,<16)",
13
13
  "platformdirs (>=4.10,<5)",