mammoth-cli 2.0.19__tar.gz → 2.0.20__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 (217) hide show
  1. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/PKG-INFO +3 -2
  2. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/README.md +1 -0
  3. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/__init__.py +1 -1
  4. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +1 -1
  5. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/project.py +3 -21
  6. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/protocol.py +8 -0
  7. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/sdk_service.py +28 -6
  8. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/testing.py +5 -0
  9. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/pyproject.toml +2 -2
  10. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/sdk-catalog.source.yaml +2 -1
  11. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/sdk-methods.yaml +15 -2
  12. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/.gitignore +0 -0
  13. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/LICENSE +0 -0
  14. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/__main__.py +0 -0
  15. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/app.py +0 -0
  16. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  17. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  18. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  19. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
  20. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  21. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  22. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  23. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  24. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  25. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  26. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  27. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  28. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  29. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  30. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  31. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  32. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  33. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  34. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  35. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  36. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  37. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  38. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  39. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  40. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  41. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  42. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  43. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  44. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  45. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  46. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  47. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  48. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  49. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  50. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  51. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  52. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  53. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  54. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  55. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  56. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  57. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  58. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  59. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  60. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  61. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  62. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  63. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  64. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  65. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  66. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  67. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  68. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  69. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  70. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  71. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  72. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  73. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  74. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  75. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  76. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  77. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  78. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  79. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  80. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  81. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  82. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  83. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/__init__.py +0 -0
  84. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/activity.py +0 -0
  85. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/addon.py +0 -0
  86. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/agent.py +0 -0
  87. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/ai.py +0 -0
  88. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/annotation.py +0 -0
  89. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/auth.py +0 -0
  90. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/automation.py +0 -0
  91. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/batch.py +0 -0
  92. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/billing.py +0 -0
  93. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/browse.py +0 -0
  94. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/capability.py +0 -0
  95. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/client_app.py +0 -0
  96. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/completion.py +0 -0
  97. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/config.py +0 -0
  98. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/connector.py +0 -0
  99. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/context.py +0 -0
  100. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/dashboard.py +0 -0
  101. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/data_app.py +0 -0
  102. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/dataset.py +0 -0
  103. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/doctor.py +0 -0
  104. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/external_key.py +0 -0
  105. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/file.py +0 -0
  106. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/folder.py +0 -0
  107. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/job.py +0 -0
  108. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/notification.py +0 -0
  109. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/parameter.py +0 -0
  110. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/registry.py +0 -0
  111. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/report.py +0 -0
  112. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/schedule.py +0 -0
  113. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/schema.py +0 -0
  114. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/skill.py +0 -0
  115. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/snippet.py +0 -0
  116. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/support.py +0 -0
  117. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/template.py +0 -0
  118. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/trash.py +0 -0
  119. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/upgrade.py +0 -0
  120. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/user.py +0 -0
  121. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/view.py +0 -0
  122. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/view_ops.py +0 -0
  123. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/webhook.py +0 -0
  124. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/workflow.py +0 -0
  125. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/commands/workspace.py +0 -0
  126. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/context/__init__.py +0 -0
  127. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/context/credentials.py +0 -0
  128. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/context/endpoint.py +0 -0
  129. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/context/profiles.py +0 -0
  130. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/context/resolver.py +0 -0
  131. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/contracts/__init__.py +0 -0
  132. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/contracts/auth.py +0 -0
  133. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/errors/__init__.py +0 -0
  134. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/errors/envelope.py +0 -0
  135. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/manifest/__init__.py +0 -0
  136. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/manifest/loader.py +0 -0
  137. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/messages/__init__.py +0 -0
  138. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/output/__init__.py +0 -0
  139. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/output/envelope.py +0 -0
  140. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/output/normalize.py +0 -0
  141. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/output/policy.py +0 -0
  142. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/output/progress.py +0 -0
  143. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/output/render.py +0 -0
  144. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/py.typed +0 -0
  145. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/__init__.py +0 -0
  146. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/confirm.py +0 -0
  147. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/executor.py +0 -0
  148. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/input_loader.py +0 -0
  149. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/invocation.py +0 -0
  150. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/options.py +0 -0
  151. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/runlog.py +0 -0
  152. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/session.py +0 -0
  153. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/strict.py +0 -0
  154. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/updates.py +0 -0
  155. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/runtime/validate.py +0 -0
  156. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/__init__.py +0 -0
  157. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/argspec.py +0 -0
  158. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/coerce.py +0 -0
  159. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/command_contract.py +0 -0
  160. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/conditions.py +0 -0
  161. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/dispatch.py +0 -0
  162. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/factory.py +0 -0
  163. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/input_fields.py +0 -0
  164. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/mapping.py +0 -0
  165. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/openapi_types.py +0 -0
  166. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/positionals.py +0 -0
  167. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/services/type_system.py +0 -0
  168. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/skills/__init__.py +0 -0
  169. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/skills/installer.py +0 -0
  170. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/mammoth_cli/testing.py +0 -0
  171. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/activity.yaml +0 -0
  172. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/addon.yaml +0 -0
  173. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/agent.yaml +0 -0
  174. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/ai.yaml +0 -0
  175. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/annotation.yaml +0 -0
  176. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/auth.yaml +0 -0
  177. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/automation.yaml +0 -0
  178. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/batch.yaml +0 -0
  179. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/billing.yaml +0 -0
  180. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/browse.yaml +0 -0
  181. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/capability.yaml +0 -0
  182. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/client-app.yaml +0 -0
  183. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/completion.yaml +0 -0
  184. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/config.yaml +0 -0
  185. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/connector.yaml +0 -0
  186. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/context.yaml +0 -0
  187. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/dashboard.yaml +0 -0
  188. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/data-app.yaml +0 -0
  189. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/dataset.yaml +0 -0
  190. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/doctor.yaml +0 -0
  191. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/external-key.yaml +0 -0
  192. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/file.yaml +0 -0
  193. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/folder.yaml +0 -0
  194. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/job.yaml +0 -0
  195. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/log.yaml +0 -0
  196. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/notification.yaml +0 -0
  197. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/parameter.yaml +0 -0
  198. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/project.yaml +0 -0
  199. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/report.yaml +0 -0
  200. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/schedule.yaml +0 -0
  201. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/schema.yaml +0 -0
  202. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/skill.yaml +0 -0
  203. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/snippet.yaml +0 -0
  204. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/support.yaml +0 -0
  205. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/template.yaml +0 -0
  206. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/trash.yaml +0 -0
  207. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/upgrade.yaml +0 -0
  208. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/user.yaml +0 -0
  209. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/version.yaml +0 -0
  210. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/view.yaml +0 -0
  211. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/webhook.yaml +0 -0
  212. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/workflow.yaml +0 -0
  213. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/commands/workspace.yaml +0 -0
  214. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/openapi-operations.yaml +0 -0
  215. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/manifests/schema-v1.json +0 -0
  216. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/spec/openapi/metadata.json +0 -0
  217. {mammoth_cli-2.0.19 → mammoth_cli-2.0.20}/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.19
3
+ Version: 2.0.20
4
4
  Summary: Command-line interface for the Mammoth Analytics platform
5
5
  Project-URL: homepage, https://mammoth.io
6
6
  Project-URL: repository, https://github.com/EdgeMetric/mammothsdk
@@ -17,7 +17,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
17
  Requires-Python: <3.15,>=3.12
18
18
  Requires-Dist: jsonschema>=4.20
19
19
  Requires-Dist: keyring<26,>=25.7
20
- Requires-Dist: mammoth-io<0.8,>=0.7.10
20
+ Requires-Dist: mammoth-io<0.8,>=0.7.11
21
21
  Requires-Dist: platformdirs<5,>=4.10
22
22
  Requires-Dist: pydantic<3,>=2.13
23
23
  Requires-Dist: pyyaml<7,>=6
@@ -250,6 +250,7 @@ The full generated list is in [docs/reference/commands.md](https://github.com/Ed
250
250
  | [Output and errors](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/reference/output-and-errors.md) | Envelopes, exit codes, error codes. |
251
251
  | [Global flags](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/reference/global-flags.md) | The flags every command shares. |
252
252
  | [Troubleshooting](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/troubleshooting.md) | Exit codes, error envelopes, the run log, recovery. |
253
+ | [Agent prompt](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/agent-prompt.md) | Paste-ready prompt: an agent uses Mammoth through the CLI in bash. |
253
254
  | [Upgrade](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/upgrade.md) / [Uninstall](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/uninstall.md) | Keep the CLI current, or remove it. |
254
255
  | [Command reference](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/reference/commands.md) | Every command, grouped by family. |
255
256
 
@@ -222,6 +222,7 @@ The full generated list is in [docs/reference/commands.md](https://github.com/Ed
222
222
  | [Output and errors](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/reference/output-and-errors.md) | Envelopes, exit codes, error codes. |
223
223
  | [Global flags](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/reference/global-flags.md) | The flags every command shares. |
224
224
  | [Troubleshooting](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/troubleshooting.md) | Exit codes, error envelopes, the run log, recovery. |
225
+ | [Agent prompt](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/agent-prompt.md) | Paste-ready prompt: an agent uses Mammoth through the CLI in bash. |
225
226
  | [Upgrade](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/upgrade.md) / [Uninstall](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/uninstall.md) | Keep the CLI current, or remove it. |
226
227
  | [Command reference](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/reference/commands.md) | Every command, grouped by family. |
227
228
 
@@ -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.19"
9
+ __version__ = "2.0.20"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mammoth-cli
3
- version: 2.0.19
3
+ version: 2.0.20
4
4
  description: "Use Mammoth Analytics from a terminal: install or authenticate the CLI, discover its live command contract, and safely manage projects, data, views, pipelines, dashboards, exports, and handoffs."
5
5
  ---
6
6
 
@@ -14,7 +14,6 @@ from __future__ import annotations
14
14
  from typing import Any
15
15
 
16
16
  from mammoth_cli.errors.envelope import (
17
- CODE_CONFLICT,
18
17
  CODE_INVALID_ARGUMENT,
19
18
  CODE_MISSING_ARGUMENT,
20
19
  CODE_MISSING_FIELD,
@@ -217,9 +216,6 @@ def project_create(invocation: Invocation) -> HandlerResult:
217
216
  return data, _meta(invocation, auth.workspace_id, resolved_project(invocation))
218
217
 
219
218
 
220
- #: The projects route caps ``limit`` at 100 (backend 4GENR007 above it) and
221
- #: the SDK exposes no offset, so this is the largest listing one call can see.
222
- _ENSURE_PROJECT_LIST_LIMIT = 100
223
219
  _ENSURE_CREATE_SYMBOL = "mammoth.api.projects.ProjectsAPI.create"
224
220
 
225
221
 
@@ -243,8 +239,9 @@ def project_ensure(invocation: Invocation) -> HandlerResult:
243
239
  hint="Pass the name as a positional argument or a 'name' input field.",
244
240
  )
245
241
  with open_service(invocation) as (service, auth):
246
- listing = service.list_projects(limit=_ENSURE_PROJECT_LIST_LIMIT)
247
- projects = list(listing.get("projects", [])) if isinstance(listing, dict) else []
242
+ # Walks every 100-row page of the projects route, so an exact-name
243
+ # match anywhere in the workspace is found before anything is created.
244
+ projects = [p for p in service.list_all_projects() if isinstance(p, dict)]
248
245
  same_name = sorted(
249
246
  (p for p in projects if isinstance(p, dict) and p.get("name") == name),
250
247
  key=lambda p: int(p.get("id") or 0),
@@ -258,21 +255,6 @@ def project_ensure(invocation: Invocation) -> HandlerResult:
258
255
  "duplicates": [p.get("id") for p in same_name[1:]],
259
256
  }
260
257
  return data, _meta(invocation, auth.workspace_id, chosen.get("id"))
261
- truncated = bool(listing.get("next")) if isinstance(listing, dict) else False
262
- if truncated or len(projects) >= _ENSURE_PROJECT_LIST_LIMIT:
263
- # A name beyond the first page may exist; creating blindly would
264
- # break the idempotency this command promises.
265
- raise CliError(
266
- code=CODE_CONFLICT,
267
- message=(
268
- f"Workspace has more than {_ENSURE_PROJECT_LIST_LIMIT} projects; "
269
- f"cannot prove {name!r} is absent."
270
- ),
271
- exit_status=EXIT_USAGE,
272
- hint="Find the project with 'project list' and pass --project, "
273
- "or create it explicitly with 'project create'.",
274
- details={"listed": len(projects)},
275
- )
276
258
  created = service.call(_ENSURE_CREATE_SYMBOL, name=name)
277
259
  record = created.get("project", created) if isinstance(created, dict) else {}
278
260
  project_id = record.get("id") if isinstance(record, dict) else None
@@ -76,6 +76,14 @@ class MammothService(Protocol):
76
76
  """
77
77
  ...
78
78
 
79
+ def list_all_projects(self) -> list[dict[str, Any]]:
80
+ """Every project in the workspace, across the route's pages.
81
+
82
+ Returns:
83
+ The project records (``id``, ``name``).
84
+ """
85
+ ...
86
+
79
87
  def get_project(self, project_id: int) -> dict[str, Any]:
80
88
  """Get one project by id.
81
89
 
@@ -31,6 +31,9 @@ from mammoth_cli.services.conditions import CONDITION_KWARG, compile_condition
31
31
  from mammoth_cli.services.dispatch import resolve_sdk_method
32
32
  from mammoth_cli.services.mapping import map_sdk_exception
33
33
 
34
+ #: Largest ``limit`` the projects route accepts (``4GENR007`` above it).
35
+ _PROJECT_PAGE_SIZE = 100
36
+
34
37
 
35
38
  class SdkMammothService:
36
39
  """Production :class:`~mammoth_cli.services.protocol.MammothService`."""
@@ -615,25 +618,44 @@ class SdkMammothService:
615
618
  def list_projects(self, limit: int = 100, offset: int = 0) -> dict[str, Any]:
616
619
  """List projects in the current workspace.
617
620
 
618
- The public SDK does not expose server-side pagination offsets, so an
619
- offset is applied client-side to the returned page.
621
+ The projects route caps ``limit`` at 100 and pages with a server-side
622
+ ``offset``; a larger ``limit`` is served by walking the pages.
620
623
 
621
624
  Args:
622
625
  limit: Maximum number of results.
623
626
  offset: Number of leading results to skip.
624
627
 
625
628
  Returns:
626
- The raw project-list response, sliced by ``offset``/``limit``.
629
+ The raw project-list response, with ``projects`` holding at most
630
+ ``limit`` records from ``offset`` on.
631
+
632
+ Raises:
633
+ CliError: Mapped from any SDK exception.
634
+ """
635
+ try:
636
+ if limit <= _PROJECT_PAGE_SIZE:
637
+ response = self._client.projects.list(limit=limit, offset=offset)
638
+ return {**response, "projects": list(response.get("projects", []))}
639
+ everything = self._client.projects.list_all()
640
+ except Exception as exc:
641
+ raise map_sdk_exception(exc) from exc
642
+ return {
643
+ "projects": everything[offset : offset + limit],
644
+ "limit": limit,
645
+ "offset": offset,
646
+ "next": "",
647
+ }
648
+
649
+ def list_all_projects(self) -> list[dict[str, Any]]:
650
+ """Every project in the workspace, across the route's 100-row pages.
627
651
 
628
652
  Raises:
629
653
  CliError: Mapped from any SDK exception.
630
654
  """
631
655
  try:
632
- response = self._client.projects.list(limit=limit + offset)
656
+ return list(self._client.projects.list_all())
633
657
  except Exception as exc:
634
658
  raise map_sdk_exception(exc) from exc
635
- projects = response.get("projects", [])
636
- return {**response, "projects": projects[offset : offset + limit]}
637
659
 
638
660
  def get_project(self, project_id: int) -> dict[str, Any]:
639
661
  """Get one project by id.
@@ -118,6 +118,11 @@ class FakeMammothService:
118
118
  self.calls.append("list_projects")
119
119
  return {"projects": self.projects[offset : offset + limit]}
120
120
 
121
+ def list_all_projects(self) -> list[dict[str, Any]]:
122
+ """Return the whole in-memory project list."""
123
+ self.calls.append("list_all_projects")
124
+ return list(self.projects)
125
+
121
126
  def get_project(self, project_id: int) -> dict[str, Any]:
122
127
  """Return one in-memory project, or raise ``resource_not_found``."""
123
128
  self.calls.append("get_project")
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.0.19"
3
+ version = "2.0.20"
4
4
  description = "Command-line interface for the Mammoth Analytics platform"
5
5
  authors = [{name = "Mammoth Analytics", email = "support@mammoth.io"}]
6
6
  readme = "README.md"
7
7
  license = "LicenseRef-Proprietary"
8
8
  requires-python = ">=3.12,<3.15"
9
9
  dependencies = [
10
- "mammoth-io (>=0.7.10,<0.8)",
10
+ "mammoth-io (>=0.7.11,<0.8)",
11
11
  "typer (>=0.27,<0.28)",
12
12
  "rich (>=15,<16)",
13
13
  "platformdirs (>=4.10,<5)",
@@ -2925,7 +2925,8 @@ sdk_methods:
2925
2925
  wait_policy: not_async
2926
2926
  pagination_policy: single_page
2927
2927
  openapi_operation_ids: []
2928
- notes: 'B01 FIRST_PAGE_ONLY: no offset/cursor continuation proven yet.'
2928
+ notes: 'Single page; the route caps limit at 100 (4GENR007). SDK 0.7.11 adds offset and list_all
2929
+ for the following pages.'
2929
2930
  - sdk_symbol: mammoth.api.projects.ProjectsAPI.pending_changes
2930
2931
  canonical_command: project.pending-changes
2931
2932
  alias_of: null
@@ -1,5 +1,5 @@
1
1
  manifest_schema_version: 1
2
- method_count: 572
2
+ method_count: 573
3
3
  generator_version: '1'
4
4
  methods:
5
5
  - sdk_symbol: mammoth._mixins._advanced_ops.AdvancedOpsMixin.add_sql
@@ -4805,7 +4805,7 @@ methods:
4805
4805
  reviewed_by: primary
4806
4806
  - sdk_symbol: mammoth.api.projects.ProjectsAPI.list
4807
4807
  implementation_origin: mammoth.api.projects.ProjectsAPI.list
4808
- signature: 'list(self, workspace_id: ''int | None'' = None, limit: ''int'' = 100) -> ''dict[str, Any]'''
4808
+ signature: 'list(self, workspace_id: ''int | None'' = None, limit: ''int'' = 100, offset: ''int'' = 0) -> ''dict[str, Any]'''
4809
4809
  openapi_operation_ids: []
4810
4810
  canonical_command: project.list
4811
4811
  alias_of: null
@@ -4815,6 +4815,19 @@ methods:
4815
4815
  pagination_policy: single_page
4816
4816
  secret_fields: []
4817
4817
  reviewed_by: primary
4818
+ - sdk_symbol: mammoth.api.projects.ProjectsAPI.list_all
4819
+ implementation_origin: mammoth.api.projects.ProjectsAPI.list_all
4820
+ signature: 'list_all(self, workspace_id: ''int | None'' = None) -> ''_list[dict[str, Any]]'''
4821
+ openapi_operation_ids: []
4822
+ canonical_command: null
4823
+ alias_of: null
4824
+ no_command_reason: SDK-only helper that walks the 100-row pages of the projects route; project
4825
+ ensure uses it through the service layer, project list stays single-page.
4826
+ mutation_class: null
4827
+ wait_policy: null
4828
+ pagination_policy: null
4829
+ secret_fields: []
4830
+ reviewed_by: primary
4818
4831
  - sdk_symbol: mammoth.api.projects.ProjectsAPI.pending_changes
4819
4832
  implementation_origin: mammoth.api.projects.ProjectsAPI.pending_changes
4820
4833
  signature: 'pending_changes(self, project_id: ''int'', workspace_id: ''int | None'' = None) -> ''dict[str, Any]'''
File without changes
File without changes