mammoth-cli 2.0.20__tar.gz → 2.0.22__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.
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/PKG-INFO +39 -15
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/README.md +38 -14
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/__init__.py +1 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/app.py +39 -0
- mammoth_cli-2.0.22/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +110 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +8 -8
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +7 -12
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +6 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +1 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +14 -14
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +10 -10
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +12 -12
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +10 -10
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +6 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +15 -15
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +16 -16
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +46 -46
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +10 -10
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +6 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +10 -10
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +8 -8
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +44 -44
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +6 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +212 -212
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +24 -24
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +34 -34
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +8 -8
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +19 -19
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +20 -20
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +8 -8
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +10 -10
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +31 -31
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +39 -39
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +11 -11
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +6 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +10 -10
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +16 -16
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +90 -90
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +10 -10
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +6 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +16 -16
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +240 -240
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +14 -14
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +32 -32
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +40 -40
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +3 -3
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +7 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +10 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +20 -20
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +8 -8
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +28 -28
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +7 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +18 -14
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +20 -20
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +3 -3
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +5 -5
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +8 -9
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/dataset.py +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/doctor.py +5 -3
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/project.py +27 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/registry.py +16 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/schema.py +153 -44
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/view.py +54 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/view_ops.py +33 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/errors/envelope.py +8 -14
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/output/envelope.py +4 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/output/render.py +24 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/confirm.py +1 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/invocation.py +74 -12
- mammoth_cli-2.0.22/mammoth_cli/runtime/parents.py +129 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/session.py +22 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/updates.py +1 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/command_contract.py +8 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/input_fields.py +20 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/mapping.py +9 -5
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/positionals.py +10 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/sdk_service.py +33 -3
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/pyproject.toml +1 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/activity.yaml +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/addon.yaml +7 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/agent.yaml +5 -6
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/ai.yaml +5 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/annotation.yaml +5 -5
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/auth.yaml +3 -3
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/automation.yaml +7 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/batch.yaml +8 -9
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/billing.yaml +23 -24
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/browse.yaml +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/capability.yaml +3 -3
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/client-app.yaml +5 -5
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/completion.yaml +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/config.yaml +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/connector.yaml +24 -27
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/context.yaml +3 -3
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/dashboard.yaml +110 -138
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/data-app.yaml +12 -13
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/dataset.yaml +17 -19
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/doctor.yaml +1 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/external-key.yaml +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/file.yaml +9 -9
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/folder.yaml +10 -11
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/job.yaml +4 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/log.yaml +2 -2
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/notification.yaml +5 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/parameter.yaml +16 -16
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/project.yaml +19 -24
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/report.yaml +1 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/schedule.yaml +8 -8
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/schema.yaml +10 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/skill.yaml +5 -5
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/snippet.yaml +8 -9
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/support.yaml +46 -48
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/template.yaml +5 -7
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/trash.yaml +3 -4
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/upgrade.yaml +1 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/user.yaml +8 -8
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/version.yaml +1 -1
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/view.yaml +143 -133
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/webhook.yaml +7 -8
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/workflow.yaml +16 -20
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/commands/workspace.yaml +22 -25
- mammoth_cli-2.0.20/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -119
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/.gitignore +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/LICENSE +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/__main__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/activity.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/addon.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/agent.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/ai.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/annotation.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/auth.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/automation.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/batch.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/billing.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/browse.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/capability.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/client_app.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/completion.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/config.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/connector.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/context.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/dashboard.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/data_app.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/external_key.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/file.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/folder.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/job.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/notification.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/parameter.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/report.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/schedule.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/skill.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/snippet.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/support.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/template.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/trash.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/upgrade.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/user.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/webhook.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/workflow.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/commands/workspace.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/context/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/context/credentials.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/context/endpoint.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/context/profiles.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/context/resolver.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/contracts/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/contracts/auth.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/errors/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/manifest/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/manifest/loader.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/messages/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/output/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/output/normalize.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/output/policy.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/output/progress.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/py.typed +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/executor.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/input_loader.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/options.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/runlog.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/strict.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/runtime/validate.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/argspec.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/coerce.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/conditions.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/dispatch.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/factory.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/openapi_types.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/protocol.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/testing.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/services/type_system.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/skills/__init__.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/skills/installer.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/testing.py +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/openapi-operations.yaml +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/schema-v1.json +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/sdk-catalog.source.yaml +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/manifests/sdk-methods.yaml +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/openapi/metadata.json +0 -0
- {mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/spec/openapi/openapi.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mammoth-cli
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.22
|
|
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
|
|
@@ -81,21 +81,21 @@ command. An agent does this by asking the operator to run the login below in
|
|
|
81
81
|
their own terminal; the CLI never reads credentials from environment variables:
|
|
82
82
|
|
|
83
83
|
```bash
|
|
84
|
-
mammoth skill list
|
|
85
|
-
mammoth skill path
|
|
84
|
+
mammoth skill list
|
|
85
|
+
mammoth skill path
|
|
86
86
|
# Read the installed SKILL.md before operating.
|
|
87
|
-
mammoth auth status
|
|
87
|
+
mammoth auth status
|
|
88
88
|
# Compare the reported endpoint with the intended target before doctor.
|
|
89
89
|
# Use app for production; use release only when explicitly intended.
|
|
90
90
|
# Human terminal only, if profile or stored credentials are absent:
|
|
91
91
|
mammoth auth login
|
|
92
92
|
# Then verify configuration, credentials, endpoint, and connectivity:
|
|
93
|
-
mammoth doctor
|
|
93
|
+
mammoth doctor
|
|
94
94
|
# Then discover a task-specific route:
|
|
95
|
-
mammoth schema find "TASK OR RESOURCE"
|
|
96
|
-
mammoth schema get COMMAND_ID
|
|
95
|
+
mammoth schema find "TASK OR RESOURCE"
|
|
96
|
+
mammoth schema get COMMAND_ID
|
|
97
97
|
# Optional API-binding inventory (not the complete CLI surface):
|
|
98
|
-
mammoth capability list
|
|
98
|
+
mammoth capability list
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
For an agent or CI, do not request or paste secrets into chat, prompts, shell
|
|
@@ -104,7 +104,7 @@ private owner-only (0600) file outside the repository and pass its path to:
|
|
|
104
104
|
|
|
105
105
|
```bash
|
|
106
106
|
mammoth auth login --input /private/path/credentials.json --storage file \
|
|
107
|
-
|
|
107
|
+
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
On Windows, use the approved OS keyring instead; do not use a file fallback
|
|
@@ -131,12 +131,13 @@ on automatically off a terminal, so an agent needs no special flags:
|
|
|
131
131
|
mammoth project list | jq '.data'
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
To
|
|
134
|
+
To pin it for a whole session, `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1`
|
|
135
|
+
(a flag still wins). Log in without a prompt with
|
|
135
136
|
the private, permission-checked file described above:
|
|
136
137
|
|
|
137
138
|
```bash
|
|
138
139
|
mammoth auth login --input /private/path/credentials.json --storage file \
|
|
139
|
-
|
|
140
|
+
|
|
140
141
|
```
|
|
141
142
|
|
|
142
143
|
Feed multi-field requests as one document instead of many flags:
|
|
@@ -150,9 +151,9 @@ For pipeline transformations, prefer the typed commands and inspect their
|
|
|
150
151
|
schemas before composing input. For example:
|
|
151
152
|
|
|
152
153
|
```bash
|
|
153
|
-
mammoth schema get view.transform.filter
|
|
154
|
-
mammoth schema get view.transform.math
|
|
155
|
-
mammoth schema get view.transform.substring
|
|
154
|
+
mammoth schema get view.transform.filter
|
|
155
|
+
mammoth schema get view.transform.math
|
|
156
|
+
mammoth schema get view.transform.substring
|
|
156
157
|
```
|
|
157
158
|
|
|
158
159
|
The generic `view task add`, `view task preview`, and `view task update`
|
|
@@ -163,7 +164,7 @@ their target explicitly, for example:
|
|
|
163
164
|
|
|
164
165
|
```bash
|
|
165
166
|
mammoth dashboard import-workbook ./sample.twbx --project 456 \
|
|
166
|
-
--yes --confirm 456
|
|
167
|
+
--yes --confirm 456
|
|
167
168
|
```
|
|
168
169
|
|
|
169
170
|
The sample path and project ID are placeholders for a local workbook and a
|
|
@@ -198,6 +199,29 @@ putting credentials into the handoff.
|
|
|
198
199
|
|
|
199
200
|
## Give your coding agent the CLI playbook
|
|
200
201
|
|
|
202
|
+
The shortest handover is a prompt. Fill `PROJECT NAME` and `TASK` and paste
|
|
203
|
+
it into any agent with a bash tool; it installs the CLI, walks you through the
|
|
204
|
+
one-time login, and works from the shipped skill. The long form is
|
|
205
|
+
[docs/agent-prompt.md](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/agent-prompt.md).
|
|
206
|
+
|
|
207
|
+
```text
|
|
208
|
+
Use Mammoth Analytics only through the `mammoth` CLI in bash; run
|
|
209
|
+
`export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1` once. Onboard me first:
|
|
210
|
+
1. If `mammoth --version` fails, install, then re-check (new shell if needed):
|
|
211
|
+
curl -fsSL https://raw.githubusercontent.com/EdgeMetric/mammothsdk/main/mammoth-cli/installers/mammoth-install.sh | bash
|
|
212
|
+
2. Run `mammoth auth status`. If it shows no credentials, print exactly this
|
|
213
|
+
and wait until I say done: "In the Mammoth web app open account settings,
|
|
214
|
+
create an API key (key + secret) and note your workspace id, then run in
|
|
215
|
+
your own terminal: mammoth auth login" — never ask for, read, or pass a key
|
|
216
|
+
or secret yourself, and never run auth login.
|
|
217
|
+
3. Require `mammoth doctor` to pass, then `cat` the SKILL.md at
|
|
218
|
+
`mammoth skill path` (data.canonical) and follow it.
|
|
219
|
+
Work inside `mammoth project ensure 'PROJECT NAME'` unless I name a project;
|
|
220
|
+
take ids only from reads; `schema get COMMAND_ID` before a new command; read
|
|
221
|
+
results back before reporting.
|
|
222
|
+
TASK: <what to achieve, and how you will know it is done>
|
|
223
|
+
```
|
|
224
|
+
|
|
201
225
|
The bundled skill describes authentication, discovery, structured input, job
|
|
202
226
|
handling, and confirmations. Install it for the supported coding-agent tools:
|
|
203
227
|
|
|
@@ -53,21 +53,21 @@ command. An agent does this by asking the operator to run the login below in
|
|
|
53
53
|
their own terminal; the CLI never reads credentials from environment variables:
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
|
-
mammoth skill list
|
|
57
|
-
mammoth skill path
|
|
56
|
+
mammoth skill list
|
|
57
|
+
mammoth skill path
|
|
58
58
|
# Read the installed SKILL.md before operating.
|
|
59
|
-
mammoth auth status
|
|
59
|
+
mammoth auth status
|
|
60
60
|
# Compare the reported endpoint with the intended target before doctor.
|
|
61
61
|
# Use app for production; use release only when explicitly intended.
|
|
62
62
|
# Human terminal only, if profile or stored credentials are absent:
|
|
63
63
|
mammoth auth login
|
|
64
64
|
# Then verify configuration, credentials, endpoint, and connectivity:
|
|
65
|
-
mammoth doctor
|
|
65
|
+
mammoth doctor
|
|
66
66
|
# Then discover a task-specific route:
|
|
67
|
-
mammoth schema find "TASK OR RESOURCE"
|
|
68
|
-
mammoth schema get COMMAND_ID
|
|
67
|
+
mammoth schema find "TASK OR RESOURCE"
|
|
68
|
+
mammoth schema get COMMAND_ID
|
|
69
69
|
# Optional API-binding inventory (not the complete CLI surface):
|
|
70
|
-
mammoth capability list
|
|
70
|
+
mammoth capability list
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
For an agent or CI, do not request or paste secrets into chat, prompts, shell
|
|
@@ -76,7 +76,7 @@ private owner-only (0600) file outside the repository and pass its path to:
|
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
78
|
mammoth auth login --input /private/path/credentials.json --storage file \
|
|
79
|
-
|
|
79
|
+
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
On Windows, use the approved OS keyring instead; do not use a file fallback
|
|
@@ -103,12 +103,13 @@ on automatically off a terminal, so an agent needs no special flags:
|
|
|
103
103
|
mammoth project list | jq '.data'
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
To
|
|
106
|
+
To pin it for a whole session, `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1`
|
|
107
|
+
(a flag still wins). Log in without a prompt with
|
|
107
108
|
the private, permission-checked file described above:
|
|
108
109
|
|
|
109
110
|
```bash
|
|
110
111
|
mammoth auth login --input /private/path/credentials.json --storage file \
|
|
111
|
-
|
|
112
|
+
|
|
112
113
|
```
|
|
113
114
|
|
|
114
115
|
Feed multi-field requests as one document instead of many flags:
|
|
@@ -122,9 +123,9 @@ For pipeline transformations, prefer the typed commands and inspect their
|
|
|
122
123
|
schemas before composing input. For example:
|
|
123
124
|
|
|
124
125
|
```bash
|
|
125
|
-
mammoth schema get view.transform.filter
|
|
126
|
-
mammoth schema get view.transform.math
|
|
127
|
-
mammoth schema get view.transform.substring
|
|
126
|
+
mammoth schema get view.transform.filter
|
|
127
|
+
mammoth schema get view.transform.math
|
|
128
|
+
mammoth schema get view.transform.substring
|
|
128
129
|
```
|
|
129
130
|
|
|
130
131
|
The generic `view task add`, `view task preview`, and `view task update`
|
|
@@ -135,7 +136,7 @@ their target explicitly, for example:
|
|
|
135
136
|
|
|
136
137
|
```bash
|
|
137
138
|
mammoth dashboard import-workbook ./sample.twbx --project 456 \
|
|
138
|
-
--yes --confirm 456
|
|
139
|
+
--yes --confirm 456
|
|
139
140
|
```
|
|
140
141
|
|
|
141
142
|
The sample path and project ID are placeholders for a local workbook and a
|
|
@@ -170,6 +171,29 @@ putting credentials into the handoff.
|
|
|
170
171
|
|
|
171
172
|
## Give your coding agent the CLI playbook
|
|
172
173
|
|
|
174
|
+
The shortest handover is a prompt. Fill `PROJECT NAME` and `TASK` and paste
|
|
175
|
+
it into any agent with a bash tool; it installs the CLI, walks you through the
|
|
176
|
+
one-time login, and works from the shipped skill. The long form is
|
|
177
|
+
[docs/agent-prompt.md](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/agent-prompt.md).
|
|
178
|
+
|
|
179
|
+
```text
|
|
180
|
+
Use Mammoth Analytics only through the `mammoth` CLI in bash; run
|
|
181
|
+
`export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1` once. Onboard me first:
|
|
182
|
+
1. If `mammoth --version` fails, install, then re-check (new shell if needed):
|
|
183
|
+
curl -fsSL https://raw.githubusercontent.com/EdgeMetric/mammothsdk/main/mammoth-cli/installers/mammoth-install.sh | bash
|
|
184
|
+
2. Run `mammoth auth status`. If it shows no credentials, print exactly this
|
|
185
|
+
and wait until I say done: "In the Mammoth web app open account settings,
|
|
186
|
+
create an API key (key + secret) and note your workspace id, then run in
|
|
187
|
+
your own terminal: mammoth auth login" — never ask for, read, or pass a key
|
|
188
|
+
or secret yourself, and never run auth login.
|
|
189
|
+
3. Require `mammoth doctor` to pass, then `cat` the SKILL.md at
|
|
190
|
+
`mammoth skill path` (data.canonical) and follow it.
|
|
191
|
+
Work inside `mammoth project ensure 'PROJECT NAME'` unless I name a project;
|
|
192
|
+
take ids only from reads; `schema get COMMAND_ID` before a new command; read
|
|
193
|
+
results back before reporting.
|
|
194
|
+
TASK: <what to achieve, and how you will know it is done>
|
|
195
|
+
```
|
|
196
|
+
|
|
173
197
|
The bundled skill describes authentication, discovery, structured input, job
|
|
174
198
|
handling, and confirmations. Install it for the supported coding-agent tools:
|
|
175
199
|
|
|
@@ -813,9 +813,48 @@ def _command_help(command_id: str, record: dict[str, Any] | None) -> str | None:
|
|
|
813
813
|
example = (record or {}).get("agent_example")
|
|
814
814
|
if example:
|
|
815
815
|
parts.append(f"Example: {example}")
|
|
816
|
+
fields = _help_input_fields(command_id)
|
|
817
|
+
if fields:
|
|
818
|
+
parts.append(f"Input fields: {fields}")
|
|
816
819
|
return "\n\n".join(parts) or None
|
|
817
820
|
|
|
818
821
|
|
|
822
|
+
def _help_input_fields(command_id: str) -> str | None:
|
|
823
|
+
"""One line naming the ``--input`` fields, so ``--help`` can replace ``schema get``.
|
|
824
|
+
|
|
825
|
+
Required fields come first and are marked with ``*``; each carries its
|
|
826
|
+
short type, or its enum values. Bounded to keep ``--help`` readable; the
|
|
827
|
+
full contract stays behind ``schema get``.
|
|
828
|
+
"""
|
|
829
|
+
from mammoth_cli.services.command_contract import resolve_command_contract
|
|
830
|
+
|
|
831
|
+
try:
|
|
832
|
+
contract = resolve_command_contract(command_id)
|
|
833
|
+
except Exception: # noqa: BLE001 -- help must never fail on a contract quirk
|
|
834
|
+
return None
|
|
835
|
+
if contract is None or not contract.accepted_fields:
|
|
836
|
+
return None
|
|
837
|
+
rendered: list[str] = []
|
|
838
|
+
fields = sorted(contract.accepted_fields, key=lambda item: (not item.required, item.name))
|
|
839
|
+
for field in fields:
|
|
840
|
+
label = f"{field.name}*" if field.required else field.name
|
|
841
|
+
enum = field.enum_values
|
|
842
|
+
kind = "|".join(str(item) for item in enum[:6]) if enum else _short_type(field.type_name)
|
|
843
|
+
rendered.append(f"{label} ({kind})" if kind else label)
|
|
844
|
+
if len(rendered) == 12 and len(fields) > 12:
|
|
845
|
+
rendered.append(f"... {len(fields) - 12} more (schema get {command_id})")
|
|
846
|
+
break
|
|
847
|
+
return ", ".join(rendered)
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
def _short_type(type_name: str) -> str:
|
|
851
|
+
"""``mammoth.condition.Condition | ...`` -> ``condition``; dotted names lose their module."""
|
|
852
|
+
text = str(type_name or "")
|
|
853
|
+
if "condition." in text:
|
|
854
|
+
return "condition"
|
|
855
|
+
return " | ".join(part.strip().rsplit(".", 1)[-1] for part in text.split("|"))[:40]
|
|
856
|
+
|
|
857
|
+
|
|
819
858
|
def build_app() -> typer.Typer:
|
|
820
859
|
"""Construct the full Typer command tree from the command manifests."""
|
|
821
860
|
root = typer.Typer(
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mammoth-cli
|
|
3
|
+
version: 2.0.22
|
|
4
|
+
description: "Use Mammoth Analytics from a terminal: install or authenticate the CLI, discover its live command contract, and safely manage projects, data, views, pipelines, dashboards, exports, and handoffs."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Mammoth CLI
|
|
8
|
+
|
|
9
|
+
Use this skill for Mammoth shell work, not for Python SDK integration. The
|
|
10
|
+
CLI is the contract: it validates every request locally, returns one JSON
|
|
11
|
+
envelope, and never needs a flag to do so when its output is piped.
|
|
12
|
+
|
|
13
|
+
## Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
mammoth doctor # auth, endpoint, connectivity, version; must succeed
|
|
17
|
+
mammoth project ensure 'PROJECT NAME' # get-or-create; becomes the active project
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
`doctor` failing is a precondition failure, not a reason to try the business
|
|
21
|
+
command anyway. Production is the `app` endpoint; use `release` only when the
|
|
22
|
+
task names it, and check `meta.profile`/`auth status` `endpoint` match the
|
|
23
|
+
intended environment before doing anything. If no profile has credentials,
|
|
24
|
+
tell the operator the exact `mammoth auth login --profile PROFILE` command to
|
|
25
|
+
run in their own terminal and wait; never ask for a key or secret in chat,
|
|
26
|
+
never read one from a file or environment variable, never run `auth login`
|
|
27
|
+
yourself. If any envelope carries `meta.update_available`, run its `command`
|
|
28
|
+
before the next step.
|
|
29
|
+
|
|
30
|
+
## Defaults you do not repeat
|
|
31
|
+
|
|
32
|
+
- Piped stdout is compact JSON and prompts are off. Only in a session that
|
|
33
|
+
is not piped, `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1` once.
|
|
34
|
+
- `project ensure` saves the active project; `--project` only overrides it.
|
|
35
|
+
`MAMMOTH_PROFILE` / `MAMMOTH_PROJECT` also work as session defaults.
|
|
36
|
+
- The CLI remembers which dataset owns each view from any read (`view list
|
|
37
|
+
DATASET_ID`, `view get VIEW_ID`, an upload). After that, no `dataset_id`
|
|
38
|
+
on transforms, exports or deletes. If a command asks for the parent
|
|
39
|
+
`DATASET_ID`, read the view once and repeat it; an explicit value always
|
|
40
|
+
wins.
|
|
41
|
+
- Commands that start platform work wait up to 300 s for the job; on
|
|
42
|
+
`timeout` use the `job get` recovery command printed, do not resubmit.
|
|
43
|
+
|
|
44
|
+
## Calling a command
|
|
45
|
+
|
|
46
|
+
- Ids are positionals; request fields are one `--input '{...}'` document;
|
|
47
|
+
there are no per-field flags (`project create NAME`, not `--name`).
|
|
48
|
+
- `COMMAND --help` lists the input fields with types; `mammoth schema get
|
|
49
|
+
COMMAND_ID` is the full contract (add `--input '{"full": true}'` for the
|
|
50
|
+
JSON Schema); `schema list` is the family index, `schema list view` one
|
|
51
|
+
family, `schema find WORDS` a search.
|
|
52
|
+
- Uploads return a **dataset** id; transforms, joins, exports and previews
|
|
53
|
+
take the **view** id from `view list DATASET_ID`.
|
|
54
|
+
- Column inputs and expressions use the exact **display names** the view
|
|
55
|
+
returns, never backend aliases.
|
|
56
|
+
- Destructive commands need `--yes --confirm ID`. Preserve requested
|
|
57
|
+
deliverables; cleanup is exact-ID authorized and
|
|
58
|
+
never means delete-all-owned-resources: delete only ids this run created,
|
|
59
|
+
one per call, and read back that they are gone.
|
|
60
|
+
- A command whose schema lists `secret_fields` takes `--input FILE` (mode
|
|
61
|
+
0600); secrets never go in argv, notes, checkpoints or replies.
|
|
62
|
+
|
|
63
|
+
## Verify before you report
|
|
64
|
+
|
|
65
|
+
- A success envelope proves the call, not the outcome. After a row-scoped
|
|
66
|
+
change (set-values, filter, replace, join, fill) run `view data get
|
|
67
|
+
VIEW_ID` (50 rows by default, `limit` to change) and check rows the
|
|
68
|
+
condition should have touched and rows it should not have. Sample the
|
|
69
|
+
target column *before* the change so the after-read has a comparison.
|
|
70
|
+
- A uniform result (every amount 0, every region "Unknown", most join rows
|
|
71
|
+
unmatched) means the previous step went wrong; stop and re-inspect it.
|
|
72
|
+
- A timeout, exit 7 or interruption does not prove failure; reconcile an
|
|
73
|
+
`outcome_unknown` (`job get`, `view task list`) before replaying.
|
|
74
|
+
- Run the [report checklist](references/report-checklist.md) before stating
|
|
75
|
+
a number or calling a step done. When files here disagree,
|
|
76
|
+
[capabilities](references/capabilities.md) wins over a recipe, and a recipe
|
|
77
|
+
over the generated command catalog.
|
|
78
|
+
|
|
79
|
+
## Route only what the task needs
|
|
80
|
+
|
|
81
|
+
- **Cold start, task plan, or unsupported route:** [task start](references/task-start.md)
|
|
82
|
+
- **Login, profiles, and authorized scope:** [auth](references/auth.md)
|
|
83
|
+
- **Nested input, output envelopes, confirmations, jobs, or recovery:**
|
|
84
|
+
[input](references/input.md), [machine output](references/machine-output.md),
|
|
85
|
+
[safety](references/safety.md), or [jobs and drafts](references/jobs-drafts.md)
|
|
86
|
+
- **Import, resources, transforms, pipelines, dashboards, exports, or cleanup:**
|
|
87
|
+
[recipes](references/recipes/index.md) — the
|
|
88
|
+
[worked example](references/recipes/end-to-end.md) is the whole flow
|
|
89
|
+
- **Which id is which, appending rows, response shapes, and other one-off
|
|
90
|
+
rules:** [operations](references/operations.md)
|
|
91
|
+
- **Something failed or you are unsure whether to continue:**
|
|
92
|
+
[recovery](references/recovery.md) — failure modes by message and the
|
|
93
|
+
stop-condition list
|
|
94
|
+
- **A known command family or exact command:** [command catalog](references/command-index.md)
|
|
95
|
+
— a lookup for the one command you need, not upfront reading; each entry
|
|
96
|
+
carries its release status line, and a `not supported` or `observed
|
|
97
|
+
blocker` entry names the route to use instead
|
|
98
|
+
- **Whether a route is proven, known-blocked, or untried on release:**
|
|
99
|
+
[capabilities](references/capabilities.md) — read it before promising a
|
|
100
|
+
deliverable or reporting a failure as a backend fault
|
|
101
|
+
- **Pause or transfer to another agent:** [handoff](references/handoff.md)
|
|
102
|
+
|
|
103
|
+
## Handoff checklist
|
|
104
|
+
|
|
105
|
+
Before yielding work, write a nonsecret checkpoint with the intent and
|
|
106
|
+
acceptance criteria; authorized profile/workspace/project; observed resource
|
|
107
|
+
parents; verified evidence hashes; known jobs and unknown outcomes; remaining
|
|
108
|
+
objectives; and exact cleanup ownership. The receiving agent validates that
|
|
109
|
+
record and re-reads remote state before deciding what to do next. The handoff
|
|
110
|
+
is not a resume command or a grant of authority.
|
{mammoth_cli-2.0.20 → mammoth_cli-2.0.22}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md
RENAMED
|
@@ -31,8 +31,8 @@ human operator:
|
|
|
31
31
|
history. Credentials are per environment: a release key never
|
|
32
32
|
authenticates on `app`.
|
|
33
33
|
2. Wait for the operator to confirm, then re-run
|
|
34
|
-
`mammoth auth status --profile PROFILE
|
|
35
|
-
`mammoth doctor --profile PROFILE
|
|
34
|
+
`mammoth auth status --profile PROFILE` and
|
|
35
|
+
`mammoth doctor --profile PROFILE`.
|
|
36
36
|
3. Do not ask the operator to paste the key or secret into chat. Do not run
|
|
37
37
|
`auth login` yourself, with or without `--input`, unless the operator has
|
|
38
38
|
explicitly given you a protected `0600` credential file path to use.
|
|
@@ -50,7 +50,7 @@ authentication and then verify the connection. These checks are mandatory even
|
|
|
50
50
|
when a profile may already exist:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
mammoth auth status --profile PROFILE
|
|
53
|
+
mammoth auth status --profile PROFILE
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
If status reports a missing profile or `has_credentials=false`, run the secure
|
|
@@ -58,7 +58,7 @@ login flow, then check status again:
|
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
60
|
mammoth auth login # production; add --profile NAME if not 'default'
|
|
61
|
-
mammoth auth status
|
|
61
|
+
mammoth auth status
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
`auth status` is a local profile/credential-presence check; it does not prove
|
|
@@ -69,7 +69,7 @@ profile; do not silently reuse, rewrite, or promote it. After the profile is
|
|
|
69
69
|
present and its endpoint matches, verify the live connection:
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
mammoth doctor --profile PROFILE
|
|
72
|
+
mammoth doctor --profile PROFILE
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
`doctor` also lists the projects the credential can see (`projects` check)
|
|
@@ -87,9 +87,9 @@ targets release.
|
|
|
87
87
|
```bash
|
|
88
88
|
mammoth auth login # hidden prompts; production
|
|
89
89
|
mammoth auth login --server-prefix release # release environment
|
|
90
|
-
mammoth auth login --profile PROFILE --input creds.json --storage file
|
|
91
|
-
mammoth auth status --profile PROFILE
|
|
92
|
-
mammoth auth logout --profile default --
|
|
90
|
+
mammoth auth login --profile PROFILE --input creds.json --storage file
|
|
91
|
+
mammoth auth status --profile PROFILE
|
|
92
|
+
mammoth auth logout --profile default --yes
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
`PROFILE` means the actual nonsecret profile name selected by the operator or
|
|
@@ -16,13 +16,12 @@ Ran once: `agent.session.list`
|
|
|
16
16
|
|
|
17
17
|
## `ai`
|
|
18
18
|
|
|
19
|
-
Ran once: `ai.condition.generate`, `ai.expression.generate`
|
|
19
|
+
Ran once: `ai.condition.generate`, `ai.expression.generate`, `ai.suggestion.list`
|
|
20
20
|
|
|
21
21
|
| Command | State | Note |
|
|
22
22
|
|---|---|---|
|
|
23
23
|
| `ai.retention.condition` | observed blocker | permission: POST /workspaces/4/projects/24/sql_generation/retention_policy -> HTTP 403 4PERM001 PERMISSION_UNDEFINED, error_object {code:76,message:'Permissions have not been set c |
|
|
24
|
-
| `ai.sql.generate` | observed blocker | backend_error:
|
|
25
|
-
| `ai.suggestion.list` | observed blocker | backend_error: Fix held: release UnifiedPromptSpec (suggestion_type + params, optional dataset_id/dataview_id) shape accepted and dispatched to a real job (id 381), which failed fo |
|
|
24
|
+
| `ai.sql.generate` | observed blocker | backend_error: 4DTVW029 conflict: 'Cannot run AI generation for this rule: the input table from the previous rule is not available' on a fresh dataset with no prior rule |
|
|
26
25
|
|
|
27
26
|
## `annotation`
|
|
28
27
|
|
|
@@ -39,11 +38,7 @@ Ran once: `automation.create`, `automation.delete`, `automation.list`
|
|
|
39
38
|
|
|
40
39
|
## `batch`
|
|
41
40
|
|
|
42
|
-
Ran once: `batch.bulk-delete`, `batch.delete`, `batch.get`, `batch.list`, `batch.update`
|
|
43
|
-
|
|
44
|
-
| Command | State | Note |
|
|
45
|
-
|---|---|---|
|
|
46
|
-
| `batch.create` | observed blocker | backend_error: SUSPECTED DEFECT (4th occurrence of this pattern in the sweep): retried with source_id=87 as an actual dataset id, got HTTP 500 empty body / outcome_unknown |
|
|
41
|
+
Ran once: `batch.bulk-delete`, `batch.create`, `batch.delete`, `batch.get`, `batch.list`, `batch.update`
|
|
47
42
|
|
|
48
43
|
## `billing`
|
|
49
44
|
|
|
@@ -65,8 +60,8 @@ Ran once: `browse.workspace`
|
|
|
65
60
|
| Command | State | Note |
|
|
66
61
|
|---|---|---|
|
|
67
62
|
| `browse.folder` | observed blocker | cli_error: rejects folder id 0 although folder.root reports id 0 as the root |
|
|
68
|
-
| `browse.project` | observed blocker | backend_error:
|
|
69
|
-
| `browse.root` | observed blocker | backend_error:
|
|
63
|
+
| `browse.project` | observed blocker | backend_error: GET /workspaces/4/projects/47/browse HTTP 500 empty body |
|
|
64
|
+
| `browse.root` | observed blocker | backend_error: GET /browse still HTTP 500 empty body on release (same as 2026-09-18/19 sweeps) |
|
|
70
65
|
|
|
71
66
|
## `client-app`
|
|
72
67
|
|
|
@@ -111,7 +106,7 @@ Ran once: `report.list`
|
|
|
111
106
|
|---|---|---|
|
|
112
107
|
| `schedule.create` | observed blocker | backend_error: SUSPECTED CLI/BACKEND DEFECT: second create attempt (with work_items bound to dataset 85) returned HTTP 500 with empty response body, surfaced by CLI as code=outcome |
|
|
113
108
|
| `schedule.get` | observed blocker | blocked_missing_fixture: Not run: id source schedule.list failed with backend_error (5GENR011 NOT_IMPLEMENTED, HTTP 400), so no schedule_id was observed to use |
|
|
114
|
-
| `schedule.list` | observed blocker | backend_error:
|
|
109
|
+
| `schedule.list` | observed blocker | backend_error: 5GENR011 NOT_IMPLEMENTED on GET /workspaces/4/projects/47/schedules; schedules remain unimplemented on release |
|
|
115
110
|
|
|
116
111
|
## `snippet`
|
|
117
112
|
|
|
@@ -145,4 +140,4 @@ Ran once: `workflow.create`, `workflow.delete`, `workflow.get`, `workflow.graph`
|
|
|
145
140
|
|
|
146
141
|
Ran once: `workspace.app-usage`, `workspace.get`, `workspace.list`, `workspace.segment.list`, `workspace.segment.update`, `workspace.storage-breakdown`, `workspace.user.list`
|
|
147
142
|
|
|
148
|
-
Evidence collected on CLI releases 1.1.5 through 2.0.
|
|
143
|
+
Evidence collected on CLI releases 1.1.5 through 2.0.21; each row's release is recorded in `docs/release-capability-matrix.json` (`evidence_version`). A row that ran on an older release has not been re-run since unless its note says so. Details: `docs/capability-evidence/` in the repository.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# What is proven on release
|
|
2
2
|
|
|
3
3
|
Generated from `docs/release-capability-matrix.json`; do not edit by hand.
|
|
4
|
-
The CLI publishes 552 commands. 455 of them bind one of the 528 API operations in the matrix; the remainder are local commands (`schema`, `auth`, `doctor`, `log`, ...) or typed variants that share an operation (every `view transform *` command submits through `view.task.add`).
|
|
4
|
+
The CLI publishes 552 commands. 455 of them bind one of the 528 API operations in the matrix; the remainder are local commands (`schema`, `auth`, `doctor`, `log`, ...) or typed variants that share an operation (every `view transform *` command submits through `view.task.add`). 260 bound commands ran once successfully on release, 2 are not supported there, and the rest are untried. Untried is not broken: discover the contract with `mammoth schema get COMMAND_ID`, run it, and treat the structured error envelope as the answer.
|
|
5
5
|
|
|
6
6
|
Status meanings:
|
|
7
7
|
|
|
@@ -34,10 +34,10 @@ The typed `view transform *` commands all submit through `view.task.add`; its ma
|
|
|
34
34
|
| `user` | 7 | 3 | 0 | 4 |
|
|
35
35
|
| `webhook` | 7 | 5 | 0 | 2 |
|
|
36
36
|
| `addon` | 6 | 0 | 0 | 6 |
|
|
37
|
-
| `batch` | 6 |
|
|
37
|
+
| `batch` | 6 | 6 | 0 | 0 |
|
|
38
38
|
| `file` | 6 | 5 | 0 | 1 |
|
|
39
39
|
| `agent` | 5 | 1 | 0 | 4 |
|
|
40
|
-
| `ai` | 5 |
|
|
40
|
+
| `ai` | 5 | 3 | 0 | 2 |
|
|
41
41
|
| `annotation` | 5 | 1 | 0 | 4 |
|
|
42
42
|
| `client-app` | 5 | 0 | 0 | 5 |
|
|
43
43
|
| `notification` | 5 | 1 | 0 | 4 |
|
|
@@ -68,7 +68,7 @@ Ran once: `dashboard.action`, `dashboard.analytics`, `dashboard.archive`, `dashb
|
|
|
68
68
|
| `dashboard.published.pdf.export` | observed blocker | backend_error: Got backend_code 4PERM002 PERMISSION_ERROR, "User lacks permission to perform given action" on POST /dashboards/url/IuZl5tk5KcEHJWTy4tnhrA/pdf (403), envelope: {"err |
|
|
69
69
|
| `dashboard.published.video.export` | observed blocker | backend_error: backend_code 4PERM002 PERMISSION_ERROR, "User lacks permission to perform given action" on POST /dashboards/url/IuZl5tk5KcEHJWTy4tnhrA/video (403) |
|
|
70
70
|
| `dashboard.source.list` | observed blocker | blocker; still broken, not one of the 11 CLI-fixed commands |
|
|
71
|
-
| `dashboard.template.create` | observed blocker |
|
|
71
|
+
| `dashboard.template.create` | observed blocker | backend_error: POST /dashboards/v3/templates HTTP 500 empty body / outcome_unknown, as on 2026-09-18 |
|
|
72
72
|
| `dashboard.template.delete` | observed blocker | blocked_missing_fixture: dashboard.template.create never produced an owned template (HTTP 500 both attempts, reconciled as not-committed via template list) |
|
|
73
73
|
| `dashboard.templates.use` | observed blocker | skipped_out_of_scope: BRIEF instructs running templates.use "on that template" (i.e |
|
|
74
74
|
| `dashboard.video.export` | observed blocker | backend_error: After publishing dashboard 56 (dashboard.share public + dashboard.action publish-presentation), the previously-documented "publish the dashboard before exporting a v |
|
|
@@ -115,9 +115,9 @@ Ran once: `view.active-user.list`, `view.active-user.mark`, `view.ai.generate-da
|
|
|
115
115
|
| Command | State | Note |
|
|
116
116
|
|---|---|---|
|
|
117
117
|
| `view.ai.generation-info` | observed blocker | backend: GET /workspaces/4/projects/24/datasets/54/dataviews/76/data/generate -> HTTP 400 5GENR011 NOT_IMPLEMENTED 'Not implemented', request_id:null |
|
|
118
|
-
| `view.data-check.update` | observed blocker | backend_error:
|
|
118
|
+
| `view.data-check.update` | observed blocker | backend_error: PATCH with the schema's documented {op: command, path: enable/disable, value: null} shape returns HTTP 500 empty body (CLI outcome_unknown, exit 7) while the mutatio |
|
|
119
119
|
| `view.derivative.data` | observed blocker | backend_error: SUSPECTED DEFECT: using the CLI's own documented agent_example body verbatim, derivative data fetch returns HTTP 500 empty body / outcome_unknown, reproduced twice ( |
|
|
120
120
|
| `view.export.create` | observed blocker | backend: CLI accepts the request (exit 0, job 358 accepted on POST /dataviews/76/actions), but job get 358 -> status:error, response:{"error":{"message":"'destination'"}} (a raw Py |
|
|
121
121
|
| `view.export.publish-db-update` | CLI defect fixed, untried since | 2.0.16 (example value is the documented {"odbc_type": "postgres"} object (a bare string is rejected)) |
|
|
122
122
|
|
|
123
|
-
Evidence collected on CLI releases 1.1.5 through 2.0.
|
|
123
|
+
Evidence collected on CLI releases 1.1.5 through 2.0.21; each row's release is recorded in `docs/release-capability-matrix.json` (`evidence_version`). A row that ran on an older release has not been re-run since unless its note says so. Details: `docs/capability-evidence/` in the repository.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Published CLI command catalog
|
|
2
2
|
|
|
3
|
-
This generated catalog is a lookup table for every command in the published CLI manifest, currently 552; each entry carries its release status line. It is a command-contract index, not an assertion that every backend/OpenAPI operation has a CLI binding. For an exact local CLI contract, run `mammoth schema get COMMAND_ID
|
|
3
|
+
This generated catalog is a lookup table for every command in the published CLI manifest, currently 552; each entry carries its release status line. It is a command-contract index, not an assertion that every backend/OpenAPI operation has a CLI binding. For an exact local CLI contract, run `mammoth schema get COMMAND_ID`; `mammoth capability list` is an API-binding inventory and can omit typed/local CLI routes. For focused workflows, read the [recipes index](recipes/index.md). Sensitive structured input must come from a private file or pipe; never put secrets in literal argv.
|
|
4
4
|
|
|
5
5
|
Load only the applicable domain file:
|
|
6
6
|
|
|
@@ -4,9 +4,9 @@ Every command returns the standard JSON envelope. On nonzero exit, read the erro
|
|
|
4
4
|
|
|
5
5
|
### `activity.export`
|
|
6
6
|
|
|
7
|
-
Run: `mammoth activity export`. Exact input fields: `mammoth schema get activity.export
|
|
7
|
+
Run: `mammoth activity export`. Exact input fields: `mammoth schema get activity.export`.
|
|
8
8
|
|
|
9
|
-
Example: `mammoth activity export
|
|
9
|
+
Example: `mammoth activity export`. Discovery only: this command is fail-closed and must not dispatch a request.
|
|
10
10
|
|
|
11
11
|
Execution is unavailable for the current contract and returns `unsupported_contract`. Do not infer request fields or retry it; use only a separately typed alternative.
|
|
12
12
|
|
|
@@ -14,9 +14,9 @@ Known restriction: BLOCKED[B19 ACTIVITY_EXPORT_UNTYPED_ASYNC]: format/filters/do
|
|
|
14
14
|
|
|
15
15
|
### `activity.list`
|
|
16
16
|
|
|
17
|
-
Run: `mammoth activity list`. Exact input fields: `mammoth schema get activity.list
|
|
17
|
+
Run: `mammoth activity list`. Exact input fields: `mammoth schema get activity.list`.
|
|
18
18
|
|
|
19
|
-
Example: `mammoth activity list
|
|
19
|
+
Example: `mammoth activity list`. Discovery only: this command is fail-closed and must not dispatch a request.
|
|
20
20
|
|
|
21
21
|
Execution is unavailable for the current contract and returns `unsupported_contract`. Do not infer request fields or retry it; use only a separately typed alternative.
|
|
22
22
|
|