mammoth-cli 2.0.4__tar.gz → 2.0.6__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 (210) hide show
  1. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/PKG-INFO +47 -16
  2. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/README.md +46 -15
  3. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/__init__.py +1 -1
  4. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +20 -2
  5. mammoth_cli-2.0.6/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +107 -0
  6. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +1 -1
  7. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +3 -1
  8. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +3 -1
  9. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +33 -11
  10. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +3 -1
  11. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +4 -9
  12. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +5 -4
  13. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +26 -9
  14. mammoth_cli-2.0.6/mammoth_cli/commands/doctor.py +210 -0
  15. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/pyproject.toml +1 -1
  16. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/file.yaml +3 -3
  17. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/user.yaml +4 -3
  18. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/view.yaml +11 -28
  19. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/workspace.yaml +3 -3
  20. mammoth_cli-2.0.4/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -28
  21. mammoth_cli-2.0.4/mammoth_cli/commands/doctor.py +0 -115
  22. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/.gitignore +0 -0
  23. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/LICENSE +0 -0
  24. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/__main__.py +0 -0
  25. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/app.py +0 -0
  26. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  27. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  28. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  29. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  30. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  31. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  32. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  33. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  34. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  35. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  36. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  37. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  38. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  39. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  40. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  41. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  42. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  43. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  44. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  45. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  46. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  47. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  48. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  49. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  50. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  51. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  52. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  53. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  54. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  55. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  56. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  57. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  58. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  59. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  60. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  61. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  62. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  63. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  64. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  65. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  66. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  67. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  68. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  69. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  70. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  71. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  72. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  73. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  74. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  75. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  76. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  77. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  78. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/__init__.py +0 -0
  79. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/activity.py +0 -0
  80. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/addon.py +0 -0
  81. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/agent.py +0 -0
  82. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/ai.py +0 -0
  83. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/annotation.py +0 -0
  84. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/auth.py +0 -0
  85. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/automation.py +0 -0
  86. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/batch.py +0 -0
  87. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/billing.py +0 -0
  88. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/browse.py +0 -0
  89. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/capability.py +0 -0
  90. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/client_app.py +0 -0
  91. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/completion.py +0 -0
  92. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/config.py +0 -0
  93. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/connector.py +0 -0
  94. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/context.py +0 -0
  95. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/dashboard.py +0 -0
  96. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/data_app.py +0 -0
  97. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/dataset.py +0 -0
  98. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/external_key.py +0 -0
  99. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/file.py +0 -0
  100. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/folder.py +0 -0
  101. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/job.py +0 -0
  102. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/notification.py +0 -0
  103. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/parameter.py +0 -0
  104. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/project.py +0 -0
  105. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/registry.py +0 -0
  106. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/report.py +0 -0
  107. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/schedule.py +0 -0
  108. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/schema.py +0 -0
  109. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/skill.py +0 -0
  110. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/snippet.py +0 -0
  111. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/support.py +0 -0
  112. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/template.py +0 -0
  113. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/trash.py +0 -0
  114. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/upgrade.py +0 -0
  115. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/user.py +0 -0
  116. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/view.py +0 -0
  117. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/view_ops.py +0 -0
  118. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/webhook.py +0 -0
  119. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/workflow.py +0 -0
  120. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/commands/workspace.py +0 -0
  121. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/context/__init__.py +0 -0
  122. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/context/credentials.py +0 -0
  123. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/context/endpoint.py +0 -0
  124. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/context/profiles.py +0 -0
  125. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/context/resolver.py +0 -0
  126. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/contracts/__init__.py +0 -0
  127. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/contracts/auth.py +0 -0
  128. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/errors/__init__.py +0 -0
  129. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/errors/envelope.py +0 -0
  130. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/manifest/__init__.py +0 -0
  131. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/manifest/loader.py +0 -0
  132. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/messages/__init__.py +0 -0
  133. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/output/__init__.py +0 -0
  134. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/output/envelope.py +0 -0
  135. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/output/normalize.py +0 -0
  136. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/output/policy.py +0 -0
  137. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/output/progress.py +0 -0
  138. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/output/render.py +0 -0
  139. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/py.typed +0 -0
  140. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/__init__.py +0 -0
  141. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/confirm.py +0 -0
  142. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/executor.py +0 -0
  143. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/input_loader.py +0 -0
  144. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/invocation.py +0 -0
  145. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/options.py +0 -0
  146. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/session.py +0 -0
  147. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/strict.py +0 -0
  148. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/runtime/validate.py +0 -0
  149. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/__init__.py +0 -0
  150. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/argspec.py +0 -0
  151. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/coerce.py +0 -0
  152. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/command_contract.py +0 -0
  153. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/conditions.py +0 -0
  154. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/dispatch.py +0 -0
  155. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/factory.py +0 -0
  156. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/input_fields.py +0 -0
  157. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/mapping.py +0 -0
  158. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/openapi_types.py +0 -0
  159. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/positionals.py +0 -0
  160. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/protocol.py +0 -0
  161. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/sdk_service.py +0 -0
  162. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/testing.py +0 -0
  163. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/services/type_system.py +0 -0
  164. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/skills/__init__.py +0 -0
  165. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/skills/installer.py +0 -0
  166. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/mammoth_cli/testing.py +0 -0
  167. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/activity.yaml +0 -0
  168. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/addon.yaml +0 -0
  169. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/agent.yaml +0 -0
  170. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/ai.yaml +0 -0
  171. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/annotation.yaml +0 -0
  172. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/auth.yaml +0 -0
  173. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/automation.yaml +0 -0
  174. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/batch.yaml +0 -0
  175. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/billing.yaml +0 -0
  176. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/browse.yaml +0 -0
  177. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/capability.yaml +0 -0
  178. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/client-app.yaml +0 -0
  179. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/completion.yaml +0 -0
  180. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/config.yaml +0 -0
  181. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/connector.yaml +0 -0
  182. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/context.yaml +0 -0
  183. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/dashboard.yaml +0 -0
  184. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/data-app.yaml +0 -0
  185. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/dataset.yaml +0 -0
  186. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/doctor.yaml +0 -0
  187. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/external-key.yaml +0 -0
  188. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/folder.yaml +0 -0
  189. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/job.yaml +0 -0
  190. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/notification.yaml +0 -0
  191. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/parameter.yaml +0 -0
  192. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/project.yaml +0 -0
  193. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/report.yaml +0 -0
  194. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/schedule.yaml +0 -0
  195. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/schema.yaml +0 -0
  196. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/skill.yaml +0 -0
  197. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/snippet.yaml +0 -0
  198. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/support.yaml +0 -0
  199. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/template.yaml +0 -0
  200. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/trash.yaml +0 -0
  201. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/upgrade.yaml +0 -0
  202. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/version.yaml +0 -0
  203. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/webhook.yaml +0 -0
  204. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/commands/workflow.yaml +0 -0
  205. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/openapi-operations.yaml +0 -0
  206. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/schema-v1.json +0 -0
  207. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/sdk-catalog.source.yaml +0 -0
  208. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/manifests/sdk-methods.yaml +0 -0
  209. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/spec/openapi/metadata.json +0 -0
  210. {mammoth_cli-2.0.4 → mammoth_cli-2.0.6}/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.4
3
+ Version: 2.0.6
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
@@ -64,7 +64,6 @@ then confirm it works:
64
64
 
65
65
  ```bash
66
66
  mammoth --version
67
- mammoth doctor # checks config, credentials, endpoint, connectivity
68
67
  ```
69
68
 
70
69
  The installer bootstraps its own `uv` tool environment when needed and installs
@@ -73,25 +72,56 @@ X.Y.Z`; the installer has no normal prompts. See
73
72
  [Installation](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/installation.md) for that option and the SDK-only pip
74
73
  installation path.
75
74
 
76
- ## Quick start
75
+ ## First run: authenticate, check, then discover
76
+
77
+ Authentication is the first operational step. Check the selected profile;
78
+ this is a local presence check, not a live access test. If the profile or
79
+ stored credentials are absent, log in before running `doctor` or any data
80
+ command. An agent does this by asking the operator to run the login below in
81
+ their own terminal; the CLI never reads credentials from environment variables:
77
82
 
78
83
  ```bash
79
- mammoth auth login # prompts for API key, API secret, workspace id
80
- mammoth doctor # confirm credentials resolve and the API answers
81
- mammoth project list # a table in a terminal, JSON when piped
82
- mammoth dataset list --project 180
84
+ mammoth skill list --output json --no-input
85
+ mammoth skill path --output json --no-input
86
+ # Read the installed SKILL.md before operating.
87
+ mammoth auth status --output json --no-input
88
+ # Compare the reported endpoint with the intended target before doctor.
89
+ # Use app for production; use release only when explicitly intended.
90
+ # Human terminal only, if profile or stored credentials are absent:
91
+ mammoth auth login
92
+ # Then verify configuration, credentials, endpoint, and connectivity:
93
+ mammoth doctor --output json --no-input
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
97
+ # Optional API-binding inventory (not the complete CLI surface):
98
+ mammoth capability list --output json --no-input
83
99
  ```
84
100
 
85
- Full walkthrough: [docs/quickstart.md](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/quickstart.md).
86
-
87
- The login command has no workspace shortcut flag. For CI or an agent, use a
88
- protected request document instead:
101
+ For an agent or CI, do not request or paste secrets into chat, prompts, shell
102
+ history, or command arguments. On POSIX, put the required JSON credentials in a
103
+ private owner-only (0600) file outside the repository and pass its path to:
89
104
 
90
105
  ```bash
91
- chmod 600 creds.json
92
- mammoth auth login --input creds.json --output json --no-input
106
+ mammoth auth login --input /private/path/credentials.json --storage file \
107
+ --output json --no-input
93
108
  ```
94
109
 
110
+ On Windows, use the approved OS keyring instead; do not use a file fallback
111
+ unless its ACL hardening is approved, and stop if it is not available.
112
+
113
+ The default server prefix is `app`; pass `--server-prefix release` only when
114
+ the release endpoint is explicitly intended. Compare the endpoint reported by
115
+ `auth status` with the intended target before running `doctor`; if it does not
116
+ match, stop and switch to a separate correctly configured profile. See
117
+ [Authentication](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/authentication.md)
118
+ for the required JSON fields and profile behavior. After `doctor` succeeds,
119
+ resolve the exact workspace, project, dataset, and view from read results
120
+ before operating; verify every mutation. Use `schema find`/`schema get` for
121
+ typed and local CLI routes; `capability list` is only an API-binding inventory
122
+ and may omit them. Full walkthrough:
123
+ [docs/quickstart.md](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/quickstart.md).
124
+
95
125
  ## Built for agents and CI
96
126
 
97
127
  Piping or redirecting output yields the machine envelope, and `--no-input` turns
@@ -101,11 +131,12 @@ on automatically off a terminal, so an agent needs no special flags:
101
131
  mammoth project list | jq '.data'
102
132
  ```
103
133
 
104
- To be explicit, pass `--output json --no-input`. Log in without a prompt with a
105
- permission-checked file:
134
+ To be explicit, pass `--output json --no-input`. Log in without a prompt with
135
+ the private, permission-checked file described above:
106
136
 
107
137
  ```bash
108
- mammoth auth login --input creds.json --output json --no-input
138
+ mammoth auth login --input /private/path/credentials.json --storage file \
139
+ --output json --no-input
109
140
  ```
110
141
 
111
142
  Feed multi-field requests as one document instead of many flags:
@@ -36,7 +36,6 @@ then confirm it works:
36
36
 
37
37
  ```bash
38
38
  mammoth --version
39
- mammoth doctor # checks config, credentials, endpoint, connectivity
40
39
  ```
41
40
 
42
41
  The installer bootstraps its own `uv` tool environment when needed and installs
@@ -45,25 +44,56 @@ X.Y.Z`; the installer has no normal prompts. See
45
44
  [Installation](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/installation.md) for that option and the SDK-only pip
46
45
  installation path.
47
46
 
48
- ## Quick start
47
+ ## First run: authenticate, check, then discover
48
+
49
+ Authentication is the first operational step. Check the selected profile;
50
+ this is a local presence check, not a live access test. If the profile or
51
+ stored credentials are absent, log in before running `doctor` or any data
52
+ command. An agent does this by asking the operator to run the login below in
53
+ their own terminal; the CLI never reads credentials from environment variables:
49
54
 
50
55
  ```bash
51
- mammoth auth login # prompts for API key, API secret, workspace id
52
- mammoth doctor # confirm credentials resolve and the API answers
53
- mammoth project list # a table in a terminal, JSON when piped
54
- mammoth dataset list --project 180
56
+ mammoth skill list --output json --no-input
57
+ mammoth skill path --output json --no-input
58
+ # Read the installed SKILL.md before operating.
59
+ mammoth auth status --output json --no-input
60
+ # Compare the reported endpoint with the intended target before doctor.
61
+ # Use app for production; use release only when explicitly intended.
62
+ # Human terminal only, if profile or stored credentials are absent:
63
+ mammoth auth login
64
+ # Then verify configuration, credentials, endpoint, and connectivity:
65
+ mammoth doctor --output json --no-input
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
69
+ # Optional API-binding inventory (not the complete CLI surface):
70
+ mammoth capability list --output json --no-input
55
71
  ```
56
72
 
57
- Full walkthrough: [docs/quickstart.md](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/quickstart.md).
58
-
59
- The login command has no workspace shortcut flag. For CI or an agent, use a
60
- protected request document instead:
73
+ For an agent or CI, do not request or paste secrets into chat, prompts, shell
74
+ history, or command arguments. On POSIX, put the required JSON credentials in a
75
+ private owner-only (0600) file outside the repository and pass its path to:
61
76
 
62
77
  ```bash
63
- chmod 600 creds.json
64
- mammoth auth login --input creds.json --output json --no-input
78
+ mammoth auth login --input /private/path/credentials.json --storage file \
79
+ --output json --no-input
65
80
  ```
66
81
 
82
+ On Windows, use the approved OS keyring instead; do not use a file fallback
83
+ unless its ACL hardening is approved, and stop if it is not available.
84
+
85
+ The default server prefix is `app`; pass `--server-prefix release` only when
86
+ the release endpoint is explicitly intended. Compare the endpoint reported by
87
+ `auth status` with the intended target before running `doctor`; if it does not
88
+ match, stop and switch to a separate correctly configured profile. See
89
+ [Authentication](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/authentication.md)
90
+ for the required JSON fields and profile behavior. After `doctor` succeeds,
91
+ resolve the exact workspace, project, dataset, and view from read results
92
+ before operating; verify every mutation. Use `schema find`/`schema get` for
93
+ typed and local CLI routes; `capability list` is only an API-binding inventory
94
+ and may omit them. Full walkthrough:
95
+ [docs/quickstart.md](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/quickstart.md).
96
+
67
97
  ## Built for agents and CI
68
98
 
69
99
  Piping or redirecting output yields the machine envelope, and `--no-input` turns
@@ -73,11 +103,12 @@ on automatically off a terminal, so an agent needs no special flags:
73
103
  mammoth project list | jq '.data'
74
104
  ```
75
105
 
76
- To be explicit, pass `--output json --no-input`. Log in without a prompt with a
77
- permission-checked file:
106
+ To be explicit, pass `--output json --no-input`. Log in without a prompt with
107
+ the private, permission-checked file described above:
78
108
 
79
109
  ```bash
80
- mammoth auth login --input creds.json --output json --no-input
110
+ mammoth auth login --input /private/path/credentials.json --storage file \
111
+ --output json --no-input
81
112
  ```
82
113
 
83
114
  Feed multi-field requests as one document instead of many flags:
@@ -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.4"
9
+ __version__ = "2.0.6"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -5,8 +5,26 @@ description: "Use Mammoth Analytics from a terminal: install or authenticate the
5
5
 
6
6
  # Mammoth CLI
7
7
 
8
- Use this skill for Mammoth shell work, not for Python SDK integration. Start
9
- with the installed command contract rather than guessed routes or payloads:
8
+ Use this skill for Mammoth shell work, not for Python SDK integration. Complete
9
+ the authentication preflight below before using the installed command contract;
10
+ never guess routes or payloads:
11
+
12
+ Before any remote read or write, establish authentication. For ordinary
13
+ operator runs, determine the intended environment from the task: production
14
+ defaults to the `app` endpoint; use `release` only when explicitly named.
15
+ Check the selected profile with `mammoth auth status --output json --no-input`
16
+ and compare its reported `endpoint` to that target before running doctor. If
17
+ the profile is missing, credentials are absent, or the endpoint does not match,
18
+ stop and follow [authentication](references/auth.md); never silently reuse or
19
+ rewrite a profile from another environment. Then run `mammoth doctor
20
+ --profile PROFILE --output json --no-input` and require success before
21
+ discovering resources or operating on them. A failed status, login, or doctor
22
+ check is a precondition failure—not a reason to try the business command
23
+ anyway. If no matching profile has credentials, the operator must run
24
+ `mammoth auth login` themselves in their own terminal: tell them the exact
25
+ command, wait, then re-check `auth status`. Never ask for the key or secret
26
+ in chat, never read them from environment variables or files you were not
27
+ given, and never run `auth login` on the operator's behalf.
10
28
 
11
29
  ```bash
12
30
  mammoth schema find "TASK OR RESOURCE" --output json --no-input
@@ -0,0 +1,107 @@
1
+ # Authentication and profiles
2
+
3
+ Required: API key, API secret, workspace id. Optional: a one-label server
4
+ prefix (default `app`, resolving to `https://app.mammoth.io/api/v2`).
5
+
6
+ ## Precedence
7
+ 1. Explicit login handed to the current command (secure prompt or `--input`).
8
+ 2. The selected or `--profile` profile's saved credentials.
9
+
10
+ There is no third source. The CLI and SDK do not read credentials from
11
+ environment variables, and an agent must not search the environment, shell
12
+ history, or unrelated files for them.
13
+
14
+ ## How an agent obtains credentials
15
+
16
+ An agent never receives the key or secret. When `auth status` reports a
17
+ missing profile or `has_credentials=false`, stop and hand the login to the
18
+ human operator:
19
+
20
+ 1. Tell the operator the exact command to run in **their own** terminal, with
21
+ the profile name and the intended server prefix:
22
+
23
+ ```bash
24
+ mammoth auth login --profile PROFILE --server-prefix app
25
+ ```
26
+
27
+ The command prompts for the key and secret with hidden input, then the
28
+ workspace id, so no secret enters chat, argv, or history.
29
+ 2. Wait for the operator to confirm, then re-run
30
+ `mammoth auth status --profile PROFILE --output json --no-input` and
31
+ `mammoth doctor --profile PROFILE --output json --no-input`.
32
+ 3. Do not ask the operator to paste the key or secret into chat. Do not run
33
+ `auth login` yourself, with or without `--input`, unless the operator has
34
+ explicitly given you a protected `0600` credential file path to use.
35
+
36
+ The only supported configuration is the API key, API secret, workspace id, and
37
+ an optional one-label server prefix (default `app`). There is no base-url
38
+ override.
39
+
40
+ ## Cold-start sequence
41
+
42
+ For an ordinary operator, identify the intended environment before any remote
43
+ command. Production means the `app` endpoint by default; use `release` only
44
+ when the task explicitly requests the release environment. Inspect
45
+ authentication and then verify the connection. These checks are mandatory even
46
+ when a profile may already exist:
47
+
48
+ ```bash
49
+ mammoth auth status --profile PROFILE --output json --no-input
50
+ ```
51
+
52
+ If status reports a missing profile or `has_credentials=false`, run the secure
53
+ login flow, then check status again:
54
+
55
+ ```bash
56
+ mammoth auth login --profile PROFILE --server-prefix app
57
+ mammoth auth status --profile PROFILE --output json --no-input
58
+ ```
59
+
60
+ `auth status` is a local profile/credential-presence check; it does not prove
61
+ that credentials are valid remotely. Compare its reported `endpoint` with the
62
+ intended environment before proceeding. A profile for another endpoint is a
63
+ scope mismatch: stop and select or authenticate the explicitly intended
64
+ profile; do not silently reuse, rewrite, or promote it. After the profile is
65
+ present and its endpoint matches, verify the live connection:
66
+
67
+ ```bash
68
+ mammoth doctor --profile PROFILE --output json --no-input
69
+ ```
70
+
71
+ Do not continue to schema discovery or business operations after an
72
+ authentication or doctor failure. The `app` server prefix is the production
73
+ default; release or other environment credentials do not imply authorization
74
+ for `app`, and a release profile is not appropriate unless the task explicitly
75
+ targets release.
76
+
77
+ ## Commands
78
+ ```bash
79
+ mammoth auth login --profile PROFILE --server-prefix app # hidden prompts
80
+ mammoth auth login --profile PROFILE --input creds.json --storage file --output json --no-input
81
+ mammoth auth status --profile PROFILE --output json --no-input
82
+ mammoth auth logout --profile default --output json --no-input --yes
83
+ ```
84
+
85
+ `PROFILE` means the actual nonsecret profile name selected by the operator or
86
+ reported by `auth status` (for example, `default` or `work`). Substitute that
87
+ name; never type the literal placeholder or invent a profile to evade an
88
+ authorization failure. When using the selected profile, `--profile PROFILE`
89
+ may be omitted.
90
+
91
+ For an ordinary human-operated terminal, prefer the first command: it asks
92
+ for the key and secret without putting either in shell history, argv, chat, or
93
+ logs. For headless POSIX work, create the JSON file outside the repository, set
94
+ its permissions to `0600`, and pass only its path. With a protected POSIX file,
95
+ specify `--storage file` explicitly; `--storage auto` can require an available
96
+ OS keyring and is not a reliable headless fallback. On Windows, do not use the
97
+ file backend as a secret store; use the OS keyring or stop and obtain a
98
+ supported secure store. Remove any input file after the
99
+ profile is stored.
100
+
101
+ `creds.json` is a `0600` JSON file: `{"api_key": "...", "api_secret": "...",
102
+ "workspace_id": 4, "server_prefix": "app"}` (`server_prefix` optional). You can
103
+ also pipe it with `--input - --input-format json`.
104
+
105
+ Secrets live in the OS keyring (or an explicitly selected `0600` file
106
+ fallback). They are never printed, logged, or included in any envelope. Never
107
+ pass a secret as a plain argument; use the hidden prompt or `--input`.
@@ -1,6 +1,6 @@
1
1
  # Published CLI command catalog
2
2
 
3
- This generated catalog covers every command in the published CLI manifest, currently 547. 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).
3
+ This generated catalog covers every command in the published CLI manifest, currently 547. 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.
4
4
 
5
5
  Load only the applicable domain file:
6
6
 
@@ -44,7 +44,9 @@ Expected success: `FileListResult` in the standard JSON envelope; mutation `read
44
44
 
45
45
  Run: `mammoth file set-password`. Exact input fields: `mammoth schema get file.set-password --output json --no-input`.
46
46
 
47
- Example: `mammoth file set-password 123 --input '{"password": "replace-with-secret"}' --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
47
+ Example: `mammoth file set-password 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
48
+
49
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
48
50
 
49
51
  Expected success: `FileSetPasswordResult` in the standard JSON envelope; mutation `high_impact`, confirmation `confirm_target`, wait policy `always_wait`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
50
52
 
@@ -20,7 +20,9 @@ Expected success: `UserAvatarUploadResult` in the standard JSON envelope; mutati
20
20
 
21
21
  Run: `mammoth user change-password`. Exact input fields: `mammoth schema get user.change-password --output json --no-input`.
22
22
 
23
- Example: `mammoth user change-password --input '{"current_password": "replace-with-secret", "new_password": "replace-with-secret"}' --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
23
+ Example: `mammoth user change-password --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
24
+
25
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
24
26
 
25
27
  Expected success: `UserChangePasswordResult` in the standard JSON envelope; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
26
28
 
@@ -288,7 +288,9 @@ Expected success: `ViewDraftSubmitResult` in the standard JSON envelope; mutatio
288
288
 
289
289
  Run: `mammoth view export azure-blob`. Exact input fields: `mammoth schema get view.export.azure-blob --output json --no-input`.
290
290
 
291
- Example: `mammoth view export azure-blob 123 123 --input '{"storage_account_name": "storage-account", "tenant_id": "tenant-id", "client_id": "client-id", "client_secret": "replace-with-secret", "container_name": "exports"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
291
+ Example: `mammoth view export azure-blob 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
292
+
293
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
292
294
 
293
295
  Expected success: `ViewExportAzureBlobResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
294
296
 
@@ -336,7 +338,9 @@ Expected success: `ViewExportDeleteResult` in the standard JSON envelope; mutati
336
338
 
337
339
  Run: `mammoth view export elasticsearch`. Exact input fields: `mammoth schema get view.export.elasticsearch --output json --no-input`.
338
340
 
339
- Example: `mammoth view export elasticsearch 123 123 --input '{"host": "elastic.example", "username": "agent", "password": "replace-with-secret", "index": "exports"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
341
+ Example: `mammoth view export elasticsearch 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
342
+
343
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
340
344
 
341
345
  Expected success: `ViewExportElasticsearchResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
342
346
 
@@ -352,7 +356,9 @@ Expected success: `ViewExportEmailResult` in the standard JSON envelope; mutatio
352
356
 
353
357
  Run: `mammoth view export ftp`. Exact input fields: `mammoth schema get view.export.ftp --output json --no-input`.
354
358
 
355
- Example: `mammoth view export ftp 123 123 --input '{"domain": "ftp.example", "directory": "/exports", "file": "report.csv", "username": "agent", "password": "replace-with-secret"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
359
+ Example: `mammoth view export ftp 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
360
+
361
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
356
362
 
357
363
  Expected success: `ViewExportFtpResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
358
364
 
@@ -384,7 +390,9 @@ Expected success: `ViewExportManagedS3Result` in the standard JSON envelope; mut
384
390
 
385
391
  Run: `mammoth view export mssql`. Exact input fields: `mammoth schema get view.export.mssql --output json --no-input`.
386
392
 
387
- Example: `mammoth view export mssql 123 123 --input '{"host": "db.example", "port": 1433, "database": "analytics", "table": "exports", "username": "agent", "password": "replace-with-secret"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
393
+ Example: `mammoth view export mssql 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
394
+
395
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
388
396
 
389
397
  Expected success: `ViewExportMssqlResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
390
398
 
@@ -392,7 +400,9 @@ Expected success: `ViewExportMssqlResult` in the standard JSON envelope; mutatio
392
400
 
393
401
  Run: `mammoth view export mysql`. Exact input fields: `mammoth schema get view.export.mysql --output json --no-input`.
394
402
 
395
- Example: `mammoth view export mysql 123 123 --input '{"host": "db.example", "port": 3306, "database": "analytics", "table": "exports", "username": "agent", "password": "replace-with-secret"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
403
+ Example: `mammoth view export mysql 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
404
+
405
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
396
406
 
397
407
  Expected success: `ViewExportMysqlResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
398
408
 
@@ -400,7 +410,9 @@ Expected success: `ViewExportMysqlResult` in the standard JSON envelope; mutatio
400
410
 
401
411
  Run: `mammoth view export onedrive`. Exact input fields: `mammoth schema get view.export.onedrive --output json --no-input`.
402
412
 
403
- Example: `mammoth view export onedrive 123 123 --input '{"tenant_id": "tenant-id", "client_id": "client-id", "client_secret": "replace-with-secret", "user_id": "user-id"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
413
+ Example: `mammoth view export onedrive 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
414
+
415
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
404
416
 
405
417
  Expected success: `ViewExportOnedriveResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
406
418
 
@@ -408,7 +420,9 @@ Expected success: `ViewExportOnedriveResult` in the standard JSON envelope; muta
408
420
 
409
421
  Run: `mammoth view export postgres`. Exact input fields: `mammoth schema get view.export.postgres --output json --no-input`.
410
422
 
411
- Example: `mammoth view export postgres 123 123 --input '{"host": "db.example", "port": 5432, "database": "analytics", "table": "exports", "username": "agent", "password": "replace-with-secret"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
423
+ Example: `mammoth view export postgres 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
424
+
425
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
412
426
 
413
427
  Expected success: `ViewExportPostgresResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
414
428
 
@@ -416,7 +430,9 @@ Expected success: `ViewExportPostgresResult` in the standard JSON envelope; muta
416
430
 
417
431
  Run: `mammoth view export powerbi`. Exact input fields: `mammoth schema get view.export.powerbi --output json --no-input`.
418
432
 
419
- Example: `mammoth view export powerbi 123 123 --input '{"username": "agent", "password": "replace-with-secret", "client_id": "client-id", "dataset": "dataset", "table": "exports"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
433
+ Example: `mammoth view export powerbi 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
434
+
435
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
420
436
 
421
437
  Expected success: `ViewExportPowerbiResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
422
438
 
@@ -440,7 +456,9 @@ Expected success: `ViewExportPublishDbUpdateResult` in the standard JSON envelop
440
456
 
441
457
  Run: `mammoth view export redshift`. Exact input fields: `mammoth schema get view.export.redshift --output json --no-input`.
442
458
 
443
- Example: `mammoth view export redshift 123 123 --input '{"host": "db.example", "port": 5439, "database": "analytics", "table": "exports", "username": "agent", "password": "replace-with-secret"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
459
+ Example: `mammoth view export redshift 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
460
+
461
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
444
462
 
445
463
  Expected success: `ViewExportRedshiftResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
446
464
 
@@ -464,7 +482,9 @@ Expected success: `ViewExportSftpResult` in the standard JSON envelope; mutation
464
482
 
465
483
  Run: `mammoth view export sharepoint`. Exact input fields: `mammoth schema get view.export.sharepoint --output json --no-input`.
466
484
 
467
- Example: `mammoth view export sharepoint 123 123 --input '{"tenant_id": "tenant-id", "client_id": "client-id", "client_secret": "replace-with-secret", "site_url": "https://sharepoint.example/site"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
485
+ Example: `mammoth view export sharepoint 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
486
+
487
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
468
488
 
469
489
  Expected success: `ViewExportSharepointResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
470
490
 
@@ -472,7 +492,9 @@ Expected success: `ViewExportSharepointResult` in the standard JSON envelope; mu
472
492
 
473
493
  Run: `mammoth view export tableau`. Exact input fields: `mammoth schema get view.export.tableau --output json --no-input`.
474
494
 
475
- Example: `mammoth view export tableau 123 123 --input '{"server_url": "https://tableau.example", "token_name": "token", "token_secret": "replace-with-secret"}' --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
495
+ Example: `mammoth view export tableau 123 123 --input /private/path/request.json --output json --no-input`. Illustrative only: append `--yes` after observing an owned target.
496
+
497
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
476
498
 
477
499
  Expected success: `ViewExportTableauResult` in the standard JSON envelope; mutation `external_effect`, confirmation `yes_always`, wait policy `returns_job`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
478
500
 
@@ -4,7 +4,9 @@
4
4
 
5
5
  Run: `mammoth workspace accept-invite`. Exact input fields: `mammoth schema get workspace.accept-invite --output json --no-input`.
6
6
 
7
- Example: `mammoth workspace accept-invite --input '{"token": "replace-with-secret"}' --output json --no-input`. Runnable only after resolving schema-required IDs and input from observed reads.
7
+ Example: `mammoth workspace accept-invite --input /private/path/request.json --output json --no-input`. Runnable only after resolving schema-required IDs and input from observed reads.
8
+
9
+ Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
8
10
 
9
11
  Expected success: `WorkspaceAcceptInviteResult` in the standard JSON envelope; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`. On nonzero exit, inspect the JSON error envelope and its `recovery_commands`; do not guess request fields. See [representative envelopes](../machine-output.md) for concrete success/error shapes.
10
12
 
@@ -4,11 +4,10 @@ Use a nonsecret JSON checkpoint when another agent or session must continue.
4
4
  This is a record, not a resume subcommand. The receiving agent chooses
5
5
  its own plan only after fresh reads.
6
6
 
7
- For evaluated/isolated agents, authentication remains controller-owned: use
8
- the provided broker/sidecar and never mount or read a saved profile. If that
9
- broker is absent, stop before authenticated actions. Ordinary operator
10
- handoffs may reference the authorized profile name, but must not copy its path
11
- or contents into the checkpoint.
7
+ A handoff may reference the authorized profile name, but must not copy its
8
+ path or contents into the checkpoint. The receiving agent re-checks
9
+ `auth status` and `doctor`; if credentials are missing on its host, the
10
+ operator logs in from their own terminal as described in [auth](auth.md).
12
11
 
13
12
  ## Required record
14
13
 
@@ -49,9 +48,5 @@ mammoth view get VIEW_ID --project PROJECT_ID --output json --no-input
49
48
  mammoth job get JOB_ID --output json --no-input
50
49
  ```
51
50
 
52
- The commands above are ordinary operator examples; an evaluated/isolated agent
53
- must use the controller broker/sidecar instead of `--profile` and must stop if
54
- that broker is absent.
55
-
56
51
  The required fields and receiving procedure above are self-contained for a
57
52
  cold-start agent; no repository checkout or unshipped document is required.
@@ -3,7 +3,8 @@
3
3
  Use `mammoth auth status`, `mammoth doctor`, `mammoth project list`, and
4
4
  `mammoth schema get project.list` with `--output json --no-input`. Require
5
5
  successful `data` and observed workspace/project metadata. Never put secrets in
6
- argv; evaluated agents use the controller broker and never mount profiles.
6
+ argv. If credentials are missing, the operator logs in from their own terminal;
7
+ see [auth](../auth.md).
7
8
 
8
9
  ```bash
9
10
  mammoth context project use PROJECT_ID --profile PROFILE --output json --no-input
@@ -13,8 +14,8 @@ The successful envelope should identify the selected profile/workspace/project
13
14
  in `data` or `meta`; retain only nonsecret IDs. A deliberately invalid or
14
15
  expired profile should return the structured auth error (exit 4), which is a
15
16
  stop-and-recover condition, not permission to retry mutations. Never inline
16
- tokens or secrets in argv, logs, or evidence. Interactive login may receive
17
- protected credential JSON through stdin or a 0600 input file; evaluated agents
18
- must use the controller broker and never expose a profile to their shell.
17
+ tokens or secrets in argv, logs, or evidence. Headless login may receive
18
+ protected credential JSON through stdin or a 0600 input file only when the
19
+ operator explicitly supplies that file.
19
20
 
20
21
  Exit 4 is auth/authorization; preserve the structured error and stop safely.
@@ -5,12 +5,6 @@ task and has no repository or prior chat context. The user supplies the intent,
5
5
  authorized scope, and (when needed) a protected profile. Never put credentials
6
6
  or secrets in an argument, prompt, transcript, or checkpoint.
7
7
 
8
- For an evaluated or isolated agent, follow the controller-provided credential
9
- broker/sidecar instead of using a saved profile. Never mount or read the saved
10
- profile in that shell. If the broker/sidecar is not provided, stop before any
11
- authenticated action. The profile workflow below remains for ordinary,
12
- non-evaluated operator use.
13
-
14
8
  1. Check whether `mammoth` is available. If it is absent, install the CLI and
15
9
  bundled skill with the supported host installer:
16
10
 
@@ -27,9 +21,32 @@ non-evaluated operator use.
27
21
  install is required for the agent host, run `mammoth skill install
28
22
  --output json --no-input` and verify ownership with `mammoth skill list
29
23
  --output json --no-input`.
30
- 3. Use the protected profile/configuration supplied by the user or environment.
31
- Run `mammoth doctor --profile PROFILE --output json --no-input`; do not print,
32
- echo, or copy its secret-bearing inputs.
24
+ 3. Establish authentication before any remote read or write. Determine the
25
+ intended environment from the task first: production defaults to the `app` endpoint;
26
+ use `release` only when the task explicitly names release. Then inspect the
27
+ selected profile without attempting business work:
28
+
29
+ ```bash
30
+ mammoth auth status --output json --no-input
31
+ ```
32
+
33
+ Compare the status response's `endpoint` with the intended environment. If
34
+ the profile or credentials are missing, or the endpoint is for another
35
+ environment, stop and follow [authentication](auth.md): tell the operator
36
+ the exact `mammoth auth login --profile PROFILE --server-prefix app`
37
+ command to run in their own terminal, wait for them, then re-check status.
38
+ The CLI does not read credentials from environment variables; do not look
39
+ for them there. Never silently reuse or rewrite a mismatched profile,
40
+ invent a profile, ask for credentials in chat, or put secrets in argv.
41
+ After the operator has logged in (or when an existing, matching profile is
42
+ present), run the connectivity and configuration check and require success:
43
+
44
+ ```bash
45
+ mammoth doctor --profile PROFILE --output json --no-input
46
+ ```
47
+
48
+ Do not print, echo, or copy secret-bearing inputs. A failed status, login,
49
+ or doctor check stops the task before discovery and business commands.
33
50
  4. Discover instead of guessing. Run `mammoth schema list/find/get --output
34
51
  json --no-input` for local CLI routes; `mammoth capability list --output
35
52
  json --no-input` is an API-binding inventory and can omit typed/local