mammoth-cli 2.2.64__tar.gz → 2.2.65__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 (276) hide show
  1. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/PKG-INFO +1 -1
  2. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/__init__.py +1 -1
  3. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/dataset.py +63 -72
  4. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/view.py +16 -5
  5. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/pyproject.toml +1 -1
  6. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/.gitignore +0 -0
  7. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/LICENSE +0 -0
  8. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/README.md +0 -0
  9. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/__main__.py +0 -0
  10. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/app.py +0 -0
  11. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -0
  12. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
  13. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
  14. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
  15. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
  16. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
  17. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
  18. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
  19. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
  20. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
  21. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
  22. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
  23. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
  24. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
  25. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
  26. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
  27. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
  28. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
  29. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
  30. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
  31. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
  32. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
  33. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
  34. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
  35. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-style.md +0 -0
  36. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-template.md +0 -0
  37. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
  38. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
  39. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
  40. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
  41. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
  42. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
  43. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
  44. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
  45. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/link.md +0 -0
  46. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
  47. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
  48. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
  49. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
  50. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
  51. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/resolve.md +0 -0
  52. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
  53. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
  54. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
  55. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
  56. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
  57. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
  58. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/token.md +0 -0
  59. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
  60. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
  61. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
  62. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
  63. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
  64. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
  65. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
  66. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
  67. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
  68. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
  69. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
  70. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
  71. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
  72. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
  73. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
  74. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/build-an-agent.md +0 -0
  75. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
  76. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
  77. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/database-import.md +0 -0
  78. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
  79. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
  80. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/file-import.md +0 -0
  81. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
  82. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
  83. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
  84. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
  85. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
  86. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
  87. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
  88. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
  89. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
  90. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
  91. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
  92. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/__init__.py +0 -0
  93. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/_lazy.py +0 -0
  94. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/activity.py +0 -0
  95. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/addon.py +0 -0
  96. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/agent.py +0 -0
  97. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/ai.py +0 -0
  98. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/annotation.py +0 -0
  99. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/auth.py +0 -0
  100. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/automation.py +0 -0
  101. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/batch.py +0 -0
  102. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/billing.py +0 -0
  103. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/browse.py +0 -0
  104. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/calc.py +0 -0
  105. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/capability.py +0 -0
  106. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/client_app.py +0 -0
  107. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/completion.py +0 -0
  108. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/config.py +0 -0
  109. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/connector.py +0 -0
  110. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/context.py +0 -0
  111. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/dashboard.py +0 -0
  112. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/data_app.py +0 -0
  113. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/doctor.py +0 -0
  114. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/external_key.py +0 -0
  115. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/file.py +0 -0
  116. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/folder.py +0 -0
  117. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/help_summaries.json +0 -0
  118. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/job.py +0 -0
  119. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/link.py +0 -0
  120. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/notification.py +0 -0
  121. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/parameter.py +0 -0
  122. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/project.py +0 -0
  123. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/registry.py +0 -0
  124. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/report.py +0 -0
  125. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/resolve.py +0 -0
  126. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/schedule.py +0 -0
  127. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/schema.py +0 -0
  128. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/skill.py +0 -0
  129. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/snippet.py +0 -0
  130. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/support.py +0 -0
  131. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/template.py +0 -0
  132. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/trash.py +0 -0
  133. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/upgrade.py +0 -0
  134. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/user.py +0 -0
  135. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/view_ops.py +0 -0
  136. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/view_profile.py +0 -0
  137. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/webhook.py +0 -0
  138. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/workflow.py +0 -0
  139. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/commands/workspace.py +0 -0
  140. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/context/__init__.py +0 -0
  141. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/context/credentials.py +0 -0
  142. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/context/endpoint.py +0 -0
  143. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/context/keyring_backend.py +0 -0
  144. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/context/oauth.py +0 -0
  145. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/context/profiles.py +0 -0
  146. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/context/resolver.py +0 -0
  147. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/contracts/__init__.py +0 -0
  148. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/contracts/auth.py +0 -0
  149. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/embed.py +0 -0
  150. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/errors/__init__.py +0 -0
  151. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/errors/envelope.py +0 -0
  152. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/manifest/__init__.py +0 -0
  153. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/manifest/loader.py +0 -0
  154. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/messages/__init__.py +0 -0
  155. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/output/__init__.py +0 -0
  156. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/output/envelope.py +0 -0
  157. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/output/normalize.py +0 -0
  158. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/output/policy.py +0 -0
  159. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/output/progress.py +0 -0
  160. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/output/render.py +0 -0
  161. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/py.typed +0 -0
  162. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/__init__.py +0 -0
  163. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/confirm.py +0 -0
  164. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/dataset_health.py +0 -0
  165. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/dryrun.py +0 -0
  166. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/dryrun_targets.py +0 -0
  167. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/embedded.py +0 -0
  168. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/executor.py +0 -0
  169. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/input_loader.py +0 -0
  170. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/intent_only.py +0 -0
  171. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/invocation.py +0 -0
  172. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/locked_files.py +0 -0
  173. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/new_data.py +0 -0
  174. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/opens.py +0 -0
  175. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/options.py +0 -0
  176. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/parents.py +0 -0
  177. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/runlog.py +0 -0
  178. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/session.py +0 -0
  179. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/state.py +0 -0
  180. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/strict.py +0 -0
  181. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/updates.py +0 -0
  182. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/validate.py +0 -0
  183. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/runtime/verify.py +0 -0
  184. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/__init__.py +0 -0
  185. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/append_blank_columns.py +0 -0
  186. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/argspec.py +0 -0
  187. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/board_values.py +0 -0
  188. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/coerce.py +0 -0
  189. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/command_contract.py +0 -0
  190. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/conditional_format.py +0 -0
  191. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/conditions.py +0 -0
  192. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/dashboard_filters.py +0 -0
  193. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/dashboard_pages.py +0 -0
  194. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/dashboard_review.py +0 -0
  195. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/data_profile.py +0 -0
  196. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/data_quality.py +0 -0
  197. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/dispatch.py +0 -0
  198. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/explore_cards.py +0 -0
  199. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/factory.py +0 -0
  200. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/folder_ids.py +0 -0
  201. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/input_fields.py +0 -0
  202. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/job_outcome.py +0 -0
  203. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/listing.py +0 -0
  204. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/local_time.py +0 -0
  205. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/mapping.py +0 -0
  206. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/openapi_types.py +0 -0
  207. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/positionals.py +0 -0
  208. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/protocol.py +0 -0
  209. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/read_queries.py +0 -0
  210. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/sdk_service.py +0 -0
  211. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/sql_check.py +0 -0
  212. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/stored_stats.py +0 -0
  213. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/testing.py +0 -0
  214. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/text_dates.py +0 -0
  215. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/type_system.py +0 -0
  216. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/view_analysis.py +0 -0
  217. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/view_variants.py +0 -0
  218. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/services/write_impact.py +0 -0
  219. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/skills/__init__.py +0 -0
  220. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/skills/installer.py +0 -0
  221. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/skills/steering.py +0 -0
  222. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/mammoth_cli/testing.py +0 -0
  223. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/activity.yaml +0 -0
  224. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/addon.yaml +0 -0
  225. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/agent.yaml +0 -0
  226. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/ai.yaml +0 -0
  227. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/annotation.yaml +0 -0
  228. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/auth.yaml +0 -0
  229. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/automation.yaml +0 -0
  230. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/batch.yaml +0 -0
  231. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/billing.yaml +0 -0
  232. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/browse.yaml +0 -0
  233. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/calc.yaml +0 -0
  234. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/capability.yaml +0 -0
  235. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/client-app.yaml +0 -0
  236. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/completion.yaml +0 -0
  237. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/config.yaml +0 -0
  238. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/connector.yaml +0 -0
  239. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/context.yaml +0 -0
  240. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/dashboard.yaml +0 -0
  241. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/data-app.yaml +0 -0
  242. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/dataset.yaml +0 -0
  243. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/doctor.yaml +0 -0
  244. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/external-key.yaml +0 -0
  245. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/file.yaml +0 -0
  246. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/folder.yaml +0 -0
  247. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/job.yaml +0 -0
  248. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/link.yaml +0 -0
  249. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/log.yaml +0 -0
  250. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/notification.yaml +0 -0
  251. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/parameter.yaml +0 -0
  252. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/project.yaml +0 -0
  253. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/report.yaml +0 -0
  254. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/resolve.yaml +0 -0
  255. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/schedule.yaml +0 -0
  256. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/schema.yaml +0 -0
  257. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/skill.yaml +0 -0
  258. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/snippet.yaml +0 -0
  259. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/support.yaml +0 -0
  260. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/template.yaml +0 -0
  261. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/token.yaml +0 -0
  262. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/trash.yaml +0 -0
  263. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/upgrade.yaml +0 -0
  264. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/user.yaml +0 -0
  265. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/version.yaml +0 -0
  266. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/view.yaml +0 -0
  267. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/webhook.yaml +0 -0
  268. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/workflow.yaml +0 -0
  269. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/commands/workspace.yaml +0 -0
  270. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/edits-target.source.yaml +0 -0
  271. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/openapi-operations.yaml +0 -0
  272. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/schema-v1.json +0 -0
  273. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/sdk-catalog.source.yaml +0 -0
  274. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/manifests/sdk-methods.yaml +0 -0
  275. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/openapi/metadata.json +0 -0
  276. {mammoth_cli-2.2.64 → mammoth_cli-2.2.65}/spec/openapi/openapi.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mammoth-cli
3
- Version: 2.2.64
3
+ Version: 2.2.65
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
@@ -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.64"
9
+ __version__ = "2.2.65"
10
10
 
11
11
  # The versioned machine output envelope contract.
12
12
  SCHEMA_VERSION = 1
@@ -171,52 +171,62 @@ def _tokens_in_order(needle: str, name: str) -> bool:
171
171
  return True
172
172
 
173
173
 
174
- def _find_in_projects(
175
- service: Any,
176
- needle: str,
177
- projects: list[dict[str, Any]],
178
- skipped: list[dict[str, Any]] | None = None,
179
- ) -> list[dict[str, Any]]:
180
- """Datasets whose name has every token of ``needle`` in order, in each of ``projects``.
174
+ def _search_term(needle: str) -> str:
175
+ """The longest word of ``needle``: the server searches a substring, the words are
176
+ matched in order here."""
177
+ return max(needle.split(), key=len, default="")
178
+
179
+
180
+ def _hit_record(hit: dict[str, Any]) -> dict[str, Any]:
181
+ """A resource-search hit in the shape of a dataset record, for ``name_hit``/``source_of``."""
182
+ info = hit.get("additional_info")
183
+ original = info.get("ORIGINAL_FILE_PROPS") if isinstance(info, dict) else None
184
+ file_name = original.get("FILE_NAME") if isinstance(original, dict) else None
185
+ return {
186
+ "id": hit.get("object_id"),
187
+ "name": hit.get("name"),
188
+ "status": hit.get("status"),
189
+ "created_at": hit.get("created_at"),
190
+ "updated_at": hit.get("last_updated_at"),
191
+ "stats": {"row_count": hit.get("row_count"), "column_count": hit.get("column_count")},
192
+ "additional_info": info,
193
+ "sources": [
194
+ {
195
+ "type": hit.get("source_type"),
196
+ "details": {"file_name": file_name, "connector_key": hit.get("integration_key")},
197
+ }
198
+ ],
199
+ }
200
+
181
201
 
182
- A project that cannot be read does not end the search: with ``skipped`` it is
183
- recorded there (id, name, why) and the rest are still searched.
202
+ def _find_by_name(
203
+ service: Any, needle: str, projects: list[dict[str, Any]]
204
+ ) -> tuple[list[dict[str, Any]], bool]:
205
+ """Datasets in ``projects`` whose name has every token of ``needle`` in order, and whether cut.
206
+
207
+ One workspace search returns each hit with its size, times and source, so no
208
+ project's dataset list is read: that route costs the server a few queries per
209
+ dataset, and a project of a few hundred datasets took 20+ s to list.
184
210
  """
185
- matches: list[dict[str, Any]] = []
186
- for project in projects:
187
- project_id = project.get("id")
188
- if project_id is None:
211
+ names = {p.get("id"): p.get("name") for p in projects}
212
+ hits, cut = search_hits(service, "datasource", _search_term(needle), fields="standard")
213
+ matches = []
214
+ for hit in hits:
215
+ name = hit.get("name")
216
+ if hit.get("project_id") not in names or not isinstance(name, str):
189
217
  continue
190
- try:
191
- response = service.call(
192
- "mammoth.api.datasets.DatasetsAPI.list_all",
193
- project_id=project_id,
194
- fields=DATASET_ROW_FIELDS,
195
- )
196
- except CliError as error:
197
- if skipped is None:
198
- raise
199
- skipped.append(
200
- {
201
- "project_id": project_id,
202
- "project_name": project.get("name"),
203
- "error": error.message,
204
- }
205
- )
218
+ if not _tokens_in_order(needle, name):
206
219
  continue
207
- datasets = response.get("datasets", []) if isinstance(response, dict) else []
208
- for dataset in datasets:
209
- name = dataset.get("name") if isinstance(dataset, dict) else None
210
- if isinstance(name, str) and _tokens_in_order(needle, name):
211
- matches.append(
212
- {
213
- "project_id": project_id,
214
- "project_name": project.get("name"),
215
- **name_hit(dataset),
216
- "source": source_of(dataset),
217
- }
218
- )
219
- return matches
220
+ record = _hit_record(hit)
221
+ matches.append(
222
+ {
223
+ "project_id": hit["project_id"],
224
+ "project_name": names[hit["project_id"]],
225
+ **name_hit(record),
226
+ "source": source_of(record),
227
+ }
228
+ )
229
+ return matches, cut
220
230
 
221
231
 
222
232
  #: Pages of resource search read for one name (100 hits each); past it the result says so.
@@ -271,15 +281,6 @@ def search_cut_note(kind: str) -> str:
271
281
  )
272
282
 
273
283
 
274
- def _projects_holding(
275
- service: Any, needle: str, visible: list[dict[str, Any]]
276
- ) -> tuple[list[dict[str, Any]], bool]:
277
- """The visible projects that hold a dataset whose name contains ``needle``."""
278
- rows, cut = search_hits(service, "datasource", needle)
279
- holding = {r.get("project_id") for r in rows}
280
- return [p for p in visible if p.get("id") in holding], cut
281
-
282
-
283
284
  def _other_projects(visible: list[dict[str, Any]], project_id: int) -> list[dict[str, Any]]:
284
285
  """Every visible project except ``project_id``."""
285
286
  return [p for p in visible if p.get("id") != project_id]
@@ -404,22 +405,20 @@ def _find_scoped(
404
405
  needle: str,
405
406
  visible: list[dict[str, Any]],
406
407
  project_id: int,
407
- skipped: list[dict[str, Any]],
408
408
  ) -> tuple[list[dict[str, Any]], list[dict[str, Any]], bool]:
409
409
  """``(matches, projects searched, cut)``: the project's own matches, then every other one's."""
410
- home = named_project(service, project_id, visible)
411
- own = _find_in_projects(service, needle, [home], skipped)
412
- holding, cut = _projects_holding(service, needle, visible)
413
- outside = _find_in_projects(service, needle, _other_projects(holding, project_id), skipped)
414
- searched = [home] + _other_projects(visible, project_id)
415
- return _tag_scope(own + outside, project_id), searched, cut
410
+ searched = [named_project(service, project_id, visible), *_other_projects(visible, project_id)]
411
+ found, cut = _find_by_name(service, needle, searched)
412
+ matches = sorted(_tag_scope(found, project_id), key=lambda m: not m["in_project"])
413
+ return matches, searched, cut
416
414
 
417
415
 
418
416
  def dataset_find(invocation: Invocation) -> HandlerResult:
419
417
  """Search dataset names for a substring across every visible project.
420
418
 
421
419
  Read-only local composite: lists the projects the credential can see, then
422
- lists datasets in each and keeps a case-insensitive substring match. With
420
+ reads one workspace search for the name and keeps the datasets whose name has
421
+ every word of the substring, in order, ignoring case. With
423
422
  ``--project`` the project's own matches come first and the matches in every
424
423
  other visible project are returned too, each row marked ``in_project`` and
425
424
  carrying its ``project_id`` and ``project_name``: the in-product agent runs
@@ -431,23 +430,19 @@ def dataset_find(invocation: Invocation) -> HandlerResult:
431
430
  """
432
431
  name_substring = _require_string_positional(invocation, "name substring")
433
432
  needle = name_substring.lower()
434
- skipped: list[dict[str, Any]] = []
435
433
  dropped = 0
436
434
  with open_service(invocation) as (service, auth):
437
435
  visible = _visible_projects(service)
438
436
  cut = False
439
437
  if invocation.project is not None:
440
- matches, projects, cut = _find_scoped(
441
- service, needle, visible, invocation.project, skipped
442
- )
438
+ matches, projects, cut = _find_scoped(service, needle, visible, invocation.project)
443
439
  if not all_projects_requested(invocation):
444
440
  matches, dropped = narrow_to_project(
445
441
  matches, lambda m: str(m.get("name", "")).lower() == needle
446
442
  )
447
443
  else:
448
444
  projects = visible
449
- holding, cut = _projects_holding(service, needle, visible)
450
- matches = _find_in_projects(service, needle, holding, skipped)
445
+ matches, cut = _find_by_name(service, needle, visible)
451
446
  meta = {
452
447
  "profile": invocation.profile,
453
448
  "workspace_id": auth.workspace_id,
@@ -455,10 +450,8 @@ def dataset_find(invocation: Invocation) -> HandlerResult:
455
450
  }
456
451
  result: dict[str, Any] = {
457
452
  "matches": matches,
458
- "projects_searched": len(projects) - len(skipped),
453
+ "projects_searched": len(projects),
459
454
  }
460
- if skipped:
461
- result["projects_skipped"] = skipped
462
455
  notes = [ambiguity_note(len(matches), name_substring)]
463
456
  if dropped:
464
457
  result["elsewhere"] = dropped
@@ -563,10 +556,8 @@ def _dataset_name_search(
563
556
  records = data.get("datasets", []) if isinstance(data, dict) else []
564
557
  page = search_page(records, name, int(document.get("offset", 0)), document.get("limit"))
565
558
  if page["matched"] == 0:
566
- holding, cut = _projects_holding(service, name.lower(), _visible_projects(service))
567
- elsewhere = _find_in_projects(
568
- service, name.lower(), _other_projects(holding, project_id)
569
- )
559
+ found, cut = _find_by_name(service, name.lower(), _visible_projects(service))
560
+ elsewhere = [m for m in found if m["project_id"] != project_id]
570
561
  if elsewhere:
571
562
  page["in_other_projects"] = elsewhere
572
563
  page["note"] = (
@@ -357,7 +357,9 @@ def _read_meta(
357
357
  """Envelope metadata for a data read, naming the dataset and view it read.
358
358
 
359
359
  A number in an answer needs its source; without the names an agent that
360
- silently used the wrong one of two look-alike datasets never says so.
360
+ silently used the wrong one of two look-alike datasets never says so. Both
361
+ carry their row count: a view's steps can filter rows, so a total read from
362
+ it is not the dataset's total, and the two counts are how an agent sees that.
361
363
  """
362
364
  meta = _meta(invocation, workspace_id, project_id)
363
365
  view = service.call(
@@ -365,17 +367,26 @@ def _read_meta(
365
367
  dataset_id=dataset_id,
366
368
  dataview_id=view_id,
367
369
  project_id=project_id,
368
- fields="__min",
370
+ fields="id,name,row_count",
369
371
  )
370
372
  # The read just proved this dataset holds the view; keep the pair so the
371
373
  # next command on it (a transform) needs no ``dataset_id`` of its own.
372
374
  parents.remember(_profile_name(invocation), workspace_id, {view_id: dataset_id})
373
375
  dataset = service.call(
374
- _DATASET_GET_SYMBOL, dataset_id=dataset_id, project_id=project_id, fields="id,name"
376
+ _DATASET_GET_SYMBOL,
377
+ dataset_id=dataset_id,
378
+ project_id=project_id,
379
+ fields="id,name,stats",
375
380
  )
376
381
  dataset = dataset.get("dataset", dataset) if isinstance(dataset, dict) else {}
377
- meta["dataset"] = {"id": dataset_id, "name": dataset.get("name")}
378
- meta["view"] = {"id": view_id, "name": view.get("name") if isinstance(view, dict) else None}
382
+ view = view if isinstance(view, dict) else {}
383
+ stats = dataset.get("stats")
384
+ meta["dataset"] = {
385
+ "id": dataset_id,
386
+ "name": dataset.get("name"),
387
+ "row_count": stats.get("row_count") if isinstance(stats, dict) else None,
388
+ }
389
+ meta["view"] = {"id": view_id, "name": view.get("name"), "row_count": view.get("row_count")}
379
390
  return meta
380
391
 
381
392
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mammoth-cli"
3
- version = "2.2.64"
3
+ version = "2.2.65"
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"
File without changes
File without changes
File without changes