mammoth-cli 2.2.95__tar.gz → 2.2.96__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 (343) hide show
  1. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/PKG-INFO +3 -2
  2. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/app.py +47 -23
  4. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +1 -1
  5. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-template.md +2 -2
  6. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +6 -3
  7. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +1 -0
  8. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/capability.py +8 -1
  9. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/registry.py +2 -1
  10. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/run.py +4 -3
  11. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/schema.py +20 -4
  12. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/context/resolver.py +6 -10
  13. mammoth_cli-2.2.96/mammoth_cli/embed.py +379 -0
  14. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/errors/envelope.py +21 -0
  15. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/manifest/loader.py +35 -0
  16. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/output/envelope.py +4 -0
  17. mammoth_cli-2.2.96/mammoth_cli/runtime/embed_pool.py +230 -0
  18. mammoth_cli-2.2.96/mammoth_cli/runtime/embedded.py +171 -0
  19. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/executor.py +73 -16
  20. mammoth_cli-2.2.96/mammoth_cli/runtime/local_paths.py +41 -0
  21. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/shared.py +23 -0
  22. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/token_scope.py +14 -1
  23. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/positionals.py +33 -1
  24. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/sdk_service.py +69 -13
  25. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/testing.py +1 -1
  26. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/pyproject.toml +3 -2
  27. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/connector.yaml +1 -0
  28. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/dashboard.yaml +8 -2
  29. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/file.yaml +2 -0
  30. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/support.yaml +2 -0
  31. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/user.yaml +1 -0
  32. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/compiled/commands.json +15 -15
  33. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/compiled/openapi-operations.json +28 -0
  34. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/compiled/sdk-methods.json +2 -1
  35. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/openapi-operations.yaml +615 -1
  36. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/schema-v1.json +2 -0
  37. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/sdk-methods.yaml +14 -2
  38. mammoth_cli-2.2.96/spec/manifests/server-status.json +14 -0
  39. mammoth_cli-2.2.96/spec/openapi/metadata.json +10 -0
  40. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/openapi/openapi.json +1 -1
  41. mammoth_cli-2.2.95/mammoth_cli/embed.py +0 -198
  42. mammoth_cli-2.2.95/mammoth_cli/runtime/embedded.py +0 -70
  43. mammoth_cli-2.2.95/spec/openapi/metadata.json +0 -10
  44. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/.gitignore +0 -0
  45. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/LICENSE +0 -0
  46. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/README.md +0 -0
  47. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/__main__.py +0 -0
  48. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  49. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  50. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  51. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  52. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
  53. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  54. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  55. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  56. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  57. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  58. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  59. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  60. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  61. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  62. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  63. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
  64. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capabilities.md +0 -0
  65. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  66. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  67. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/collection.md +0 -0
  68. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  69. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  70. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  71. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  72. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-embed.md +0 -0
  73. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-published.md +0 -0
  74. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  75. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-style.md +0 -0
  76. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  77. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  78. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  79. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  80. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  81. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  82. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/how.md +0 -0
  83. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  84. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/link.md +0 -0
  85. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  86. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  87. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  88. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  89. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  90. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/resolve.md +0 -0
  91. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/run.md +0 -0
  92. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  93. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  94. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  95. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  96. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  97. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  98. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/token.md +0 -0
  99. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  100. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  101. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  102. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  103. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  104. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  105. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  106. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  107. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  108. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  109. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  110. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  111. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  112. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  113. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  114. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  115. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/database-import.md +0 -0
  116. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  117. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  118. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/file-import.md +0 -0
  119. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  120. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  121. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  122. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/rest-api-import.md +0 -0
  123. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  124. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  125. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  126. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  127. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  128. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  129. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  130. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/__init__.py +0 -0
  131. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/_lazy.py +0 -0
  132. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/activity.py +0 -0
  133. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/addon.py +0 -0
  134. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/agent.py +0 -0
  135. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/ai.py +0 -0
  136. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/annotation.py +0 -0
  137. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/auth.py +0 -0
  138. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/automation.py +0 -0
  139. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/batch.py +0 -0
  140. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/billing.py +0 -0
  141. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/browse.py +0 -0
  142. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/calc.py +0 -0
  143. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/capabilities.py +0 -0
  144. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/client_app.py +0 -0
  145. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/completion.py +0 -0
  146. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/config.py +0 -0
  147. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/connector.py +0 -0
  148. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/context.py +0 -0
  149. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/dashboard.py +0 -0
  150. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/dataset.py +0 -0
  151. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/doctor.py +0 -0
  152. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/external_key.py +0 -0
  153. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/file.py +0 -0
  154. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/folder.py +0 -0
  155. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/help_summaries.json +0 -0
  156. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/how.py +0 -0
  157. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/job.py +0 -0
  158. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/link.py +0 -0
  159. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/notification.py +0 -0
  160. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/parameter.py +0 -0
  161. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/project.py +0 -0
  162. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/report.py +0 -0
  163. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/resolve.py +0 -0
  164. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/schedule.py +0 -0
  165. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/skill.py +0 -0
  166. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/snippet.py +0 -0
  167. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/support.py +0 -0
  168. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/template.py +0 -0
  169. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/trash.py +0 -0
  170. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/upgrade.py +0 -0
  171. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/user.py +0 -0
  172. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/__init__.py +0 -0
  173. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/_common.py +0 -0
  174. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/aggregate.py +0 -0
  175. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/checks.py +0 -0
  176. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/column_checks.py +0 -0
  177. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/columns.py +0 -0
  178. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/data_read.py +0 -0
  179. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/derivatives.py +0 -0
  180. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/explore.py +0 -0
  181. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/export.py +0 -0
  182. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/export_dataset.py +0 -0
  183. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/export_specialized.py +0 -0
  184. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/formatting.py +0 -0
  185. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/join_check.py +0 -0
  186. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/lifecycle.py +0 -0
  187. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/listing.py +0 -0
  188. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/pipeline.py +0 -0
  189. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/settle.py +0 -0
  190. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view/upload.py +0 -0
  191. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view_drivers.py +0 -0
  192. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view_explore.py +0 -0
  193. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view_forecast.py +0 -0
  194. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view_ops.py +0 -0
  195. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/view_profile.py +0 -0
  196. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/webhook.py +0 -0
  197. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/workflow.py +0 -0
  198. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/commands/workspace.py +0 -0
  199. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/context/__init__.py +0 -0
  200. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/context/credentials.py +0 -0
  201. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/context/endpoint.py +0 -0
  202. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/context/keyring_backend.py +0 -0
  203. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/context/oauth.py +0 -0
  204. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/context/oauth_loopback.py +0 -0
  205. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/context/profiles.py +0 -0
  206. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/contracts/__init__.py +0 -0
  207. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/contracts/auth.py +0 -0
  208. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/discovery/__init__.py +0 -0
  209. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/discovery/limitations.json +0 -0
  210. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/discovery/next_commands.json +0 -0
  211. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/discovery/recipes.json +0 -0
  212. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/errors/__init__.py +0 -0
  213. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/manifest/__init__.py +0 -0
  214. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/messages/__init__.py +0 -0
  215. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/output/__init__.py +0 -0
  216. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/output/normalize.py +0 -0
  217. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/output/policy.py +0 -0
  218. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/output/progress.py +0 -0
  219. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/output/render.py +0 -0
  220. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/py.typed +0 -0
  221. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/__init__.py +0 -0
  222. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/compact.py +0 -0
  223. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/confirm.py +0 -0
  224. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/dataset_health.py +0 -0
  225. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/dryrun.py +0 -0
  226. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/dryrun_targets.py +0 -0
  227. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/input_loader.py +0 -0
  228. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/intent_only.py +0 -0
  229. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/invocation.py +0 -0
  230. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/labels.py +0 -0
  231. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/linecapture.py +0 -0
  232. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/locked_files.py +0 -0
  233. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/new_data.py +0 -0
  234. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/next_commands.py +0 -0
  235. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/opens.py +0 -0
  236. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/options.py +0 -0
  237. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/parents.py +0 -0
  238. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/runlog.py +0 -0
  239. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/session.py +0 -0
  240. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/state.py +0 -0
  241. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/strict.py +0 -0
  242. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/updates.py +0 -0
  243. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/validate.py +0 -0
  244. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/verify.py +0 -0
  245. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/runtime/view_dataset_cache.py +0 -0
  246. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/__init__.py +0 -0
  247. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/append_blank_columns.py +0 -0
  248. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/argspec.py +0 -0
  249. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/board_values.py +0 -0
  250. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/coerce.py +0 -0
  251. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/column_type_guard.py +0 -0
  252. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/command_contract.py +0 -0
  253. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/conditional_format.py +0 -0
  254. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/conditions.py +0 -0
  255. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/dashboard_figures.py +0 -0
  256. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/dashboard_filters.py +0 -0
  257. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/dashboard_pages.py +0 -0
  258. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/dashboard_review.py +0 -0
  259. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/data_profile.py +0 -0
  260. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/data_quality.py +0 -0
  261. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/delete_check.py +0 -0
  262. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/dispatch.py +0 -0
  263. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/explore_card_edit.py +0 -0
  264. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/explore_cards.py +0 -0
  265. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/explore_to_figure.py +0 -0
  266. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/explore_to_image.py +0 -0
  267. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/factory.py +0 -0
  268. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/field_enums.py +0 -0
  269. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/folder_ids.py +0 -0
  270. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/held_change.py +0 -0
  271. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/input_fields.py +0 -0
  272. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/job_outcome.py +0 -0
  273. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/listing.py +0 -0
  274. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/local_files.py +0 -0
  275. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/local_time.py +0 -0
  276. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/mapping.py +0 -0
  277. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/openapi_types.py +0 -0
  278. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/paging.py +0 -0
  279. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/period_analysis.py +0 -0
  280. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/poll.py +0 -0
  281. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/protocol.py +0 -0
  282. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/read_memo.py +0 -0
  283. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/read_queries.py +0 -0
  284. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/schema_diff.py +0 -0
  285. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/sql_check.py +0 -0
  286. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/stored_stats.py +0 -0
  287. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/suggest.py +0 -0
  288. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/testing.py +0 -0
  289. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/text_dates.py +0 -0
  290. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/type_system.py +0 -0
  291. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/view_analysis.py +0 -0
  292. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/view_variants.py +0 -0
  293. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/services/write_impact.py +0 -0
  294. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/skills/__init__.py +0 -0
  295. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/skills/installer.py +0 -0
  296. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/mammoth_cli/skills/steering.py +0 -0
  297. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/activity.yaml +0 -0
  298. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/addon.yaml +0 -0
  299. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/agent.yaml +0 -0
  300. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/ai.yaml +0 -0
  301. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/annotation.yaml +0 -0
  302. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/auth.yaml +0 -0
  303. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/automation.yaml +0 -0
  304. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/batch.yaml +0 -0
  305. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/billing.yaml +0 -0
  306. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/browse.yaml +0 -0
  307. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/calc.yaml +0 -0
  308. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/capabilities.yaml +0 -0
  309. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/capability.yaml +0 -0
  310. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/client-app.yaml +0 -0
  311. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/collection.yaml +0 -0
  312. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/completion.yaml +0 -0
  313. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/config.yaml +0 -0
  314. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/context.yaml +0 -0
  315. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/dataset.yaml +0 -0
  316. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/doctor.yaml +0 -0
  317. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/external-key.yaml +0 -0
  318. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/folder.yaml +0 -0
  319. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/how.yaml +0 -0
  320. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/job.yaml +0 -0
  321. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/link.yaml +0 -0
  322. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/log.yaml +0 -0
  323. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/notification.yaml +0 -0
  324. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/parameter.yaml +0 -0
  325. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/project.yaml +0 -0
  326. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/report.yaml +0 -0
  327. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/resolve.yaml +0 -0
  328. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/run.yaml +0 -0
  329. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/schedule.yaml +0 -0
  330. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/schema.yaml +0 -0
  331. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/skill.yaml +0 -0
  332. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/snippet.yaml +0 -0
  333. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/template.yaml +0 -0
  334. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/token.yaml +0 -0
  335. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/trash.yaml +0 -0
  336. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/upgrade.yaml +0 -0
  337. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/version.yaml +0 -0
  338. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/view.yaml +0 -0
  339. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/webhook.yaml +0 -0
  340. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/workflow.yaml +0 -0
  341. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/commands/workspace.yaml +0 -0
  342. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/edits-target.source.yaml +0 -0
  343. {mammoth_cli-2.2.95 → mammoth_cli-2.2.96}/spec/manifests/sdk-catalog.source.yaml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.2.95
3
+ Version: 2.2.96
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
@@ -16,9 +16,10 @@ Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Programming Language :: Python :: 3.14
17
17
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
18
  Requires-Python: <3.15,>=3.12
19
+ Requires-Dist: certifi>=2026.10.19
19
20
  Requires-Dist: jsonschema>=4.20
20
21
  Requires-Dist: keyring<26,>=25.7
21
- Requires-Dist: mammoth-io<0.9,>=0.8.48
22
+ Requires-Dist: mammoth-io<0.9,>=0.8.49
22
23
  Requires-Dist: platformdirs<5,>=4.10
23
24
  Requires-Dist: pydantic<3,>=2.12.5
24
25
  Requires-Dist: pyyaml<7,>=6
@@ -6,7 +6,7 @@ not implement a second HTTP client and does not call private SDK members.
6
6
 
7
7
  from __future__ import annotations
8
8
 
9
- __version__ = "2.2.95"
9
+ __version__ = "2.2.96"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -19,6 +19,7 @@ import inspect
19
19
  import json
20
20
  import re
21
21
  import sys
22
+ import threading
22
23
  from collections.abc import Callable, Sequence
23
24
  from dataclasses import replace
24
25
  from difflib import get_close_matches
@@ -1624,6 +1625,10 @@ def _lazy_help_command(command_id: str) -> type[TyperCommand]:
1624
1625
  return LazyHelpCommand
1625
1626
 
1626
1627
 
1628
+ #: Guards the lazy builds below. Re-entrant: building a command can build another.
1629
+ _BUILD_LOCK = threading.RLock()
1630
+
1631
+
1627
1632
  def _unbuilt_leaf() -> None:
1628
1633
  """Registration placeholder: a lazy leaf takes its real callback from the built command."""
1629
1634
 
@@ -1640,24 +1645,33 @@ def _lazy_leaf_command(command_id: str) -> type[TyperCommand]:
1640
1645
  _built: _ClickCommand | None = None
1641
1646
 
1642
1647
  def _real(self) -> _ClickCommand:
1643
- if self._built is None:
1644
- from typer.models import CommandInfo
1645
-
1646
- info = CommandInfo(
1647
- name=self.name,
1648
- callback=_build_leaf(command_id),
1649
- # The help text is read from this class's lazy ``help`` property; building
1650
- # it here would import the contract and schema layers on every run.
1651
- help="",
1652
- rich_help_panel=self.rich_help_panel,
1653
- context_settings=_leaf_context_settings(command_id),
1654
- )
1655
- self._built = typer.main.get_command_from_info(
1656
- info,
1657
- pretty_exceptions_short=_LAZY_SETTINGS["pretty_exceptions_short"],
1658
- rich_markup_mode=self.rich_markup_mode,
1659
- )
1660
- return self._built
1648
+ built = self._built
1649
+ if built is not None:
1650
+ return built
1651
+ # Double-checked: a host's worker threads may reach a first use together.
1652
+ with _BUILD_LOCK:
1653
+ built = self._built
1654
+ if built is None:
1655
+ built = self._built = self._build()
1656
+ return built
1657
+
1658
+ def _build(self) -> _ClickCommand:
1659
+ from typer.models import CommandInfo
1660
+
1661
+ info = CommandInfo(
1662
+ name=self.name,
1663
+ callback=_build_leaf(command_id),
1664
+ # The help text is read from this class's lazy ``help`` property; building
1665
+ # it here would import the contract and schema layers on every run.
1666
+ help="",
1667
+ rich_help_panel=self.rich_help_panel,
1668
+ context_settings=_leaf_context_settings(command_id),
1669
+ )
1670
+ return typer.main.get_command_from_info(
1671
+ info,
1672
+ pretty_exceptions_short=_LAZY_SETTINGS["pretty_exceptions_short"],
1673
+ rich_markup_mode=self.rich_markup_mode,
1674
+ )
1661
1675
 
1662
1676
  @property
1663
1677
  def params(self) -> list[_ClickParameter]:
@@ -1919,7 +1933,9 @@ def registered_command_paths() -> set[str]:
1919
1933
  return paths
1920
1934
 
1921
1935
 
1922
- @cache
1936
+ _ROOT_COMMAND: Any = None
1937
+
1938
+
1923
1939
  def _root_click_command() -> Any:
1924
1940
  """Build (once) and cache the fully resolved Click command tree.
1925
1941
 
@@ -1928,11 +1944,19 @@ def _root_click_command() -> Any:
1928
1944
  that is expensive enough that recomputing it per lookup made a full sweep
1929
1945
  over every command (see the contract test) take minutes. Cached because
1930
1946
  the tree is fixed for the process lifetime (:data:`app` is built once at
1931
- import time).
1947
+ import time). Built under a lock, so a host's threads making their first call
1948
+ together share one tree instead of each building their own.
1932
1949
  """
1933
- root: Any = typer.main.get_command(app)
1934
- root.commands # noqa: B018 -- materialise every lazy top-level group
1935
- return root
1950
+ global _ROOT_COMMAND
1951
+ root = _ROOT_COMMAND
1952
+ if root is not None:
1953
+ return root
1954
+ with _BUILD_LOCK:
1955
+ if _ROOT_COMMAND is None:
1956
+ built: Any = typer.main.get_command(app)
1957
+ built.commands # noqa: B018 -- materialise every lazy top-level group
1958
+ _ROOT_COMMAND = built
1959
+ return _ROOT_COMMAND
1936
1960
 
1937
1961
 
1938
1962
  def command_option_names(command_path: str) -> set[str]:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mammoth-cli
3
- version: 2.2.95
3
+ version: 2.2.96
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 (join, merge, pivot, filter, clean), dashboards, exports, and handoffs."
5
5
  ---
6
6
 
@@ -66,7 +66,7 @@ Status on release: ran once on CLI 2.0.21 — ergonomics sweep 2026-09-19: exit
66
66
 
67
67
  Run: `mammoth dashboard template preview`. Exact input fields: `mammoth schema get dashboard.template.preview`.
68
68
 
69
- Example: `mammoth dashboard template preview --input '{"body": {"params": {"source_dashboard_id": 1, "target_dataview_id": 1}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
69
+ Example: `mammoth dashboard template preview --input '{"body": {"params": {"source_dashboard_id": 1}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
70
70
 
71
71
  Result: `DashboardTemplatePreviewResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
72
72
 
@@ -86,7 +86,7 @@ Status on release: untried; no live run recorded.
86
86
 
87
87
  Run: `mammoth dashboard template resolve-mapping`. Exact input fields: `mammoth schema get dashboard.template.resolve-mapping`.
88
88
 
89
- Example: `mammoth dashboard template resolve-mapping --input '{"body": {"params": {"source_dashboard_id": 1, "target_dataview_id": 1}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
89
+ Example: `mammoth dashboard template resolve-mapping --input '{"body": {"params": {"source_dashboard_id": 1}}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
90
90
 
91
91
  Result: `DashboardTemplateResolveMappingResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
92
92
 
@@ -2,12 +2,15 @@
2
2
 
3
3
  ## Success envelope (stdout)
4
4
  ```json
5
- {"schema_version":1,"data":<result>,"meta":{"command":"project list","profile":"default","workspace_id":4,"project_id":180}}
5
+ {"schema_version":1,"data":<result>,"meta":{"command":"project list","profile":"default","workspace_id":4,"project_id":180,"exit":0}}
6
6
  ```
7
7
 
8
8
  Compact single-line JSON when stdout is not a terminal (pretty when it is;
9
9
  `MAMMOTH_JSON_PRETTY=1` forces pretty). `meta` carries only the keys that have a
10
- value: `pagination` appears on paged reads, `update_available`
10
+ value: `exit` is the exit status (0, or 1 or 3 for a write whose read-back failed
11
+ or was partial); `stderr` (embedded calls only) holds up to 500 characters a library
12
+ wrote to stderr during the call, and `elapsed_ms` (embedded calls only) its wall time;
13
+ `pagination` appears on paged reads, `update_available`
11
14
  (`{"current", "latest", "command"}`) when a newer CLI is on PyPI (checked once
12
15
  a day, after a command, never blocking). Run its `command` before starting a
13
16
  task, not in the middle of one. `next_commands` appears after a main-flow
@@ -18,7 +21,7 @@ when they fit the task; a write that did not verify has none.
18
21
 
19
22
  ## Error envelope (stderr)
20
23
  ```json
21
- {"schema_version": 1, "error": {"code": "resource_not_found", "message": "...", "hint": "...", "details": {}, "request_id": null, "retryable": false, "authorization_required": false, "recovery_commands": ["..."], "log_ref": {"file": ".../logs/2026-09-19.jsonl", "run_id": "b6bc6bf6d166"}}}
24
+ {"schema_version": 1, "error": {"code": "resource_not_found", "message": "...", "hint": "...", "details": {}, "request_id": null, "retryable": false, "authorization_required": false, "recovery_commands": ["..."], "exit": 1, "log_ref": {"file": ".../logs/2026-09-19.jsonl", "run_id": "b6bc6bf6d166"}}}
22
25
  ```
23
26
 
24
27
  A mistyped command, option or column carries `details.did_you_mean`: the nearest
@@ -14,6 +14,7 @@ these commands are not blanket permission to replay a mutation.
14
14
  | 2 | project_required | `mammoth context project use ID` or `--project` (in the app: `--project` only) |
15
15
  | 2 | confirmation_required | re-run with `--yes` (and `--confirm TARGET`) |
16
16
  | 2 | not_available_embedded | the command is not offered in the Mammoth app; use another route |
17
+ | 2 | pending_server_release | the command's route is not on the production server yet (`server_status: pending` in `schema get`); use another route |
17
18
  | 6 | conflict | inspect current remote state and resolve it |
18
19
  | 7 | `timeout` with a known job | inspect or wait that job; do not replay the mutation |
19
20
  | 7 | `outcome_unknown` | reconcile exact target/scope before any replay |
@@ -13,6 +13,7 @@ from typing import Any
13
13
  from mammoth_cli.commands.schema import command_scope
14
14
  from mammoth_cli.errors.envelope import is_feature_unavailable
15
15
  from mammoth_cli.manifest.loader import command_by_id, load_operations
16
+ from mammoth_cli.runtime import embedded
16
17
  from mammoth_cli.services.command_contract import resolve_command_contract
17
18
 
18
19
  _MAX_FIND_RESULTS = 20
@@ -51,6 +52,7 @@ def capability_entries() -> list[dict[str, Any]]:
51
52
  "canonical_command": command_id,
52
53
  "command_path": command["command_path"] if command else None,
53
54
  "unavailable": is_feature_unavailable(command_id),
55
+ "server_status": command.get("server_status", "served") if command else None,
54
56
  "sdk_symbol": op.get("sdk_symbol"),
55
57
  "mutation_class": (
56
58
  resolved.effects
@@ -72,6 +74,11 @@ def capability_entries() -> list[dict[str, Any]]:
72
74
  return sorted(entries, key=lambda entry: entry["operation_id"])
73
75
 
74
76
 
77
+ def hidden_pending(entry: dict[str, Any]) -> bool:
78
+ """Whether an embedded call that opted out of pending commands must not see ``entry``."""
79
+ return embedded.hides_pending() and entry.get("server_status") == "pending"
80
+
81
+
75
82
  def get_capability(operation_id: str) -> dict[str, Any] | None:
76
83
  for entry in capability_entries():
77
84
  if entry["operation_id"] == operation_id:
@@ -156,7 +163,7 @@ def find_capabilities(
156
163
  "sdk_symbol",
157
164
  )
158
165
  )
159
- if entry.get("unavailable"):
166
+ if entry.get("unavailable") or hidden_pending(entry):
160
167
  continue
161
168
  candidates = _tokens(text)
162
169
  command_id = entry.get("canonical_command")
@@ -52,7 +52,8 @@ def _version(_: Invocation) -> HandlerResult:
52
52
  def _capability_list(_: Invocation) -> HandlerResult:
53
53
  from mammoth_cli.commands import capability as capability_cmd
54
54
 
55
- return capability_cmd.capability_entries(), {}
55
+ entries = capability_cmd.capability_entries()
56
+ return [entry for entry in entries if not capability_cmd.hidden_pending(entry)], {}
56
57
 
57
58
 
58
59
  def _capability_get(invocation: Invocation) -> HandlerResult:
@@ -54,7 +54,7 @@ from mammoth_cli.runtime import linecapture
54
54
  from mammoth_cli.runtime.executor import EXIT_STATUS_META, STREAMED_META
55
55
  from mammoth_cli.runtime.input_loader import MAX_INPUT_BYTES
56
56
  from mammoth_cli.runtime.invocation import Invocation
57
- from mammoth_cli.runtime.shared import remembering_auth
57
+ from mammoth_cli.runtime.shared import forget_reads, remembering_auth
58
58
  from mammoth_cli.runtime.strict import NEGATIVE_NUMBER
59
59
 
60
60
  HandlerResult = tuple[Any, dict[str, Any]]
@@ -373,7 +373,7 @@ def execute_line(argv: Sequence[str], command: str = "") -> tuple[int, dict[str,
373
373
  if exit_status == 0:
374
374
  # Help or version text: the command succeeded and printed no envelope.
375
375
  text = {"text": stray[:500]} if stray else None
376
- return 0, Result(data=text, meta=Meta(command=command)).to_envelope()
376
+ return 0, Result(data=text, meta=Meta(command=command, exit=0)).to_envelope()
377
377
  silent = CliError(
378
378
  code="no_output",
379
379
  message="This command printed text only (help or version) and no envelope.",
@@ -490,6 +490,7 @@ def run(invocation: Invocation) -> HandlerResult:
490
490
  spec = parse_line(number, text, defaults, _command_flags)
491
491
  cmd, line_id = spec.cmd, spec.line_id
492
492
  exit_status, envelope = execute_line(spec.argv, spec.cmd)
493
+ forget_reads()
493
494
  except CliError as error:
494
495
  cmd = cmd or _best_effort_cmd(text)
495
496
  exit_status, envelope = error.exit_status, error.to_envelope()
@@ -528,7 +529,7 @@ def run(invocation: Invocation) -> HandlerResult:
528
529
  "dry_run": invocation.dry_run,
529
530
  "exit": run_exit,
530
531
  }
531
- meta = Meta(command="run", profile=invocation.profile)
532
+ meta = Meta(command="run", profile=invocation.profile, exit=run_exit)
532
533
  _write(Result(data=summary, meta=meta).to_envelope())
533
534
  return None, {STREAMED_META: True, EXIT_STATUS_META: run_exit}
534
535
 
@@ -24,6 +24,8 @@ from typing import Any, cast
24
24
  from mammoth_cli.errors.envelope import is_feature_unavailable
25
25
  from mammoth_cli.manifest.loader import command_by_id, load_commands, load_operations
26
26
  from mammoth_cli.output.normalize import trusted_json_schema
27
+ from mammoth_cli.runtime import embedded
28
+ from mammoth_cli.runtime.local_paths import local_path_fields
27
29
  from mammoth_cli.services.argspec import FieldSpec
28
30
  from mammoth_cli.services.command_contract import LOCAL_COMMANDS, resolve_command_contract
29
31
  from mammoth_cli.services.field_enums import field_enum, with_enum
@@ -33,7 +35,7 @@ from mammoth_cli.services.input_fields import (
33
35
  handler_owned_fields,
34
36
  )
35
37
  from mammoth_cli.services.openapi_types import openapi_body_schema_for, sample_from_schema
36
- from mammoth_cli.services.positionals import PositionalSpec, resolve_positionals
38
+ from mammoth_cli.services.positionals import LOCAL_PATH, PositionalSpec, resolve_positionals
37
39
  from mammoth_cli.services.type_system import is_opaque_mapping, json_schema, sample_value
38
40
 
39
41
  # Agent examples carry no ``--output json --no-input``: a piped run already
@@ -1225,6 +1227,7 @@ def _accepted_fields(record: dict[str, Any]) -> list[dict[str, Any]] | None:
1225
1227
  body_schema = openapi_body_schema_for(
1226
1228
  tuple(str(item) for item in record.get("operation_ids", []))
1227
1229
  )
1230
+ path_fields = local_path_fields(record["command_id"], record.get("positionals", []))
1228
1231
  return [
1229
1232
  {
1230
1233
  "name": field.name,
@@ -1239,6 +1242,8 @@ def _accepted_fields(record: dict[str, Any]) -> list[dict[str, Any]] | None:
1239
1242
  and body_schema is not None
1240
1243
  else json_schema(field.annotation, field.name)
1241
1244
  ),
1245
+ # Only where it applies: a host that cannot read the path refuses the command.
1246
+ **({"kind": LOCAL_PATH} if field.name in path_fields else {}),
1242
1247
  }
1243
1248
  for field in contract.accepted_fields
1244
1249
  if field.name not in excluded
@@ -1263,7 +1268,9 @@ def _compact_accepted_fields(record: dict[str, Any]) -> list[dict[str, Any]] | N
1263
1268
  return None
1264
1269
  compact: list[dict[str, Any]] = []
1265
1270
  for field in fields:
1266
- item = {key: field[key] for key in ("name", "type", "required", "enum")}
1271
+ item: dict[str, Any] = {
1272
+ key: field[key] for key in ("name", "type", "required", "enum", "kind") if key in field
1273
+ }
1267
1274
  schema = field.get("schema")
1268
1275
  if (
1269
1276
  schema is not None
@@ -2197,6 +2204,7 @@ def _schema_common(record: dict[str, Any]) -> dict[str, Any]:
2197
2204
  else "partially_typed" if opaque_fields else "typed"
2198
2205
  )
2199
2206
  return {
2207
+ "server_status": record.get("server_status", "served"),
2200
2208
  "positionals": _positionals(record["command_id"]),
2201
2209
  "accepted_fields": accepted,
2202
2210
  "input_schema": input_schema,
@@ -2217,10 +2225,15 @@ def _schema_common(record: dict[str, Any]) -> dict[str, Any]:
2217
2225
  }
2218
2226
 
2219
2227
 
2228
+ def _hidden_pending(record: dict[str, Any]) -> bool:
2229
+ """Whether an embedded call that opted out of pending commands must not see ``record``."""
2230
+ return embedded.hides_pending() and record.get("server_status") == "pending"
2231
+
2232
+
2220
2233
  def schema_entries() -> list[dict[str, Any]]:
2221
2234
  entries: list[dict[str, Any]] = []
2222
2235
  for record in load_commands():
2223
- if record.get("disposition") == "alias":
2236
+ if record.get("disposition") == "alias" or _hidden_pending(record):
2224
2237
  continue
2225
2238
  entries.append(
2226
2239
  {
@@ -2247,6 +2260,7 @@ def schema_entries() -> list[dict[str, Any]]:
2247
2260
  _BRIEF_SCHEMA_KEYS = (
2248
2261
  "command_id",
2249
2262
  "command_path",
2263
+ "server_status",
2250
2264
  "positionals",
2251
2265
  "accepted_fields",
2252
2266
  "agent_example",
@@ -2278,6 +2292,7 @@ def schema_index(family: str | None = None) -> dict[str, Any]:
2278
2292
  "command_path": entry["command_path"],
2279
2293
  "mutation_class": entry["mutation_class"],
2280
2294
  "confirmation": entry["confirmation"],
2295
+ "server_status": entry["server_status"],
2281
2296
  }
2282
2297
  for entry in entries
2283
2298
  if entry["command_path"].split()[0] == wanted
@@ -2428,7 +2443,7 @@ def find_schemas(
2428
2443
  for record in load_commands():
2429
2444
  if record.get("disposition") == "alias":
2430
2445
  continue
2431
- if is_feature_unavailable(str(record["command_id"])):
2446
+ if is_feature_unavailable(str(record["command_id"])) or _hidden_pending(record):
2432
2447
  continue
2433
2448
  command_id = str(record["command_id"])
2434
2449
  command_path = str(record["command_path"])
@@ -2490,6 +2505,7 @@ def find_schemas(
2490
2505
  "command_path": command_path,
2491
2506
  "mutation_class": record["mutation_class"],
2492
2507
  "confirmation": record["confirmation"],
2508
+ "server_status": record.get("server_status", "served"),
2493
2509
  "full_schema_command": f"mammoth schema get {command_id}",
2494
2510
  }
2495
2511
  # A match on hidden curated purpose text (T1-I-07) is otherwise
@@ -43,8 +43,10 @@ class ExplicitLogin:
43
43
  Attributes:
44
44
  api_key: The deprecated Mammoth API key (with ``api_secret``).
45
45
  api_secret: The deprecated Mammoth API secret.
46
- workspace_id: The workspace id, only with the deprecated key + secret;
47
- an ``api_token`` names its own workspace and rejects this field.
46
+ workspace_id: The workspace id. Required with the deprecated key +
47
+ secret. With an ``api_token`` it is a hint that saves asking the
48
+ server which workspace the token names; a wrong hint is caught on
49
+ the first 401 or 403 (``workspace_mismatch``).
48
50
  server_prefix: A one-label server prefix, or None.
49
51
  api_token: The ``mm_...`` Bearer token, instead of a key + secret.
50
52
  headers: Extra request headers sent on every API call, after the
@@ -148,15 +150,9 @@ def resolve_token_workspace(base_url: str, api_token: str, timeout: float | None
148
150
 
149
151
 
150
152
  def _explicit_workspace(login: ExplicitLogin, base_url: str, timeout: float | None) -> int:
151
- """The workspace of an explicit login: the token's own, or the key pair's given id."""
152
- if login.api_token is None:
153
+ """The workspace of an explicit login: the key pair's given id, or the token's hint or own."""
154
+ if login.api_token is None or login.workspace_id is not None:
153
155
  return _require_positive_workspace(login.workspace_id or 0, source="login")
154
- if login.workspace_id is not None:
155
- raise CliError(
156
- code=CODE_INVALID_WORKSPACE_ID,
157
- message="A token login takes no workspace id; the token names its own.",
158
- exit_status=EXIT_USAGE,
159
- )
160
156
  return resolve_token_workspace(base_url, login.api_token, timeout)
161
157
 
162
158