mammoth-cli 2.0.31__tar.gz → 2.0.32__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.31 → mammoth_cli-2.0.32}/PKG-INFO +11 -12
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/README.md +9 -10
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/__init__.py +1 -1
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +7 -5
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +10 -2
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +1 -1
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +1 -1
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +12 -9
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +5 -1
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +38 -34
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +2 -2
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +2 -2
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +1 -1
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +2 -2
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +19 -17
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +4 -5
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +4 -8
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +8 -7
- mammoth_cli-2.0.32/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +19 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +3 -3
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/auth.py +1 -5
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/capability.py +10 -11
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/completion.py +1 -4
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/doctor.py +37 -7
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/file.py +9 -6
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/job.py +18 -12
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/workflow.py +5 -2
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/context/credentials.py +139 -19
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/context/resolver.py +1 -3
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/executor.py +26 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/input_loader.py +4 -2
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/invocation.py +1 -1
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/strict.py +19 -4
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/sdk_service.py +24 -2
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/skills/installer.py +69 -2
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/pyproject.toml +2 -2
- mammoth_cli-2.0.31/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -19
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/.gitignore +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/LICENSE +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/__main__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/app.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/activity.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/addon.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/agent.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/ai.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/annotation.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/automation.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/batch.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/billing.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/browse.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/client_app.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/config.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/connector.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/context.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/dashboard.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/data_app.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/dataset.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/external_key.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/folder.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/notification.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/parameter.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/project.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/registry.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/report.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/schedule.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/schema.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/skill.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/snippet.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/support.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/template.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/trash.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/upgrade.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/user.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/view.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/view_ops.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/webhook.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/commands/workspace.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/context/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/context/endpoint.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/context/profiles.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/contracts/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/contracts/auth.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/errors/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/errors/envelope.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/manifest/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/manifest/loader.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/messages/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/output/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/output/envelope.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/output/normalize.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/output/policy.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/output/progress.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/output/render.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/py.typed +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/confirm.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/dryrun.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/options.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/parents.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/runlog.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/session.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/updates.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/runtime/validate.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/argspec.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/coerce.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/command_contract.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/conditions.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/dispatch.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/factory.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/input_fields.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/mapping.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/openapi_types.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/positionals.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/protocol.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/testing.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/services/type_system.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/skills/__init__.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/skills/steering.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/testing.py +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/activity.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/addon.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/agent.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/ai.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/annotation.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/auth.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/automation.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/batch.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/billing.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/browse.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/capability.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/client-app.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/completion.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/config.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/connector.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/context.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/dashboard.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/data-app.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/dataset.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/doctor.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/external-key.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/file.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/folder.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/job.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/log.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/notification.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/parameter.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/project.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/report.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/schedule.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/schema.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/skill.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/snippet.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/support.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/template.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/trash.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/upgrade.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/user.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/version.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/view.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/webhook.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/workflow.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/commands/workspace.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/openapi-operations.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/schema-v1.json +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/sdk-catalog.source.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/manifests/sdk-methods.yaml +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/spec/openapi/metadata.json +0 -0
- {mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/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.32
|
|
4
4
|
Summary: Command-line interface for the Mammoth Analytics platform
|
|
5
5
|
Project-URL: homepage, https://mammoth.io
|
|
6
6
|
Project-URL: repository, https://github.com/EdgeMetric/mammothsdk
|
|
@@ -17,7 +17,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
17
17
|
Requires-Python: <3.15,>=3.12
|
|
18
18
|
Requires-Dist: jsonschema>=4.20
|
|
19
19
|
Requires-Dist: keyring<26,>=25.7
|
|
20
|
-
Requires-Dist: mammoth-io<0.8,>=0.7.
|
|
20
|
+
Requires-Dist: mammoth-io<0.8,>=0.7.14
|
|
21
21
|
Requires-Dist: platformdirs<5,>=4.10
|
|
22
22
|
Requires-Dist: pydantic<3,>=2.13
|
|
23
23
|
Requires-Dist: pyyaml<7,>=6
|
|
@@ -30,7 +30,7 @@ Description-Content-Type: text/markdown
|
|
|
30
30
|
|
|
31
31
|
Use [Mammoth Analytics](https://mammoth.io) from a terminal. The `mammoth`
|
|
32
32
|
command covers data import and export, transformations, project organization,
|
|
33
|
-
automation, and administration. Its interface is
|
|
33
|
+
automation, and administration. Its interface is readable at a
|
|
34
34
|
shell and predictable in scripts and agent runs.
|
|
35
35
|
|
|
36
36
|
[](https://pypi.org/project/mammoth-cli/)
|
|
@@ -38,14 +38,14 @@ shell and predictable in scripts and agent runs.
|
|
|
38
38
|
[](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/LICENSE)
|
|
39
39
|
|
|
40
40
|
- **Human-friendly by default.** In a terminal, commands print a readable table.
|
|
41
|
-
- **Agent-native.** When
|
|
41
|
+
- **Agent-native.** When you pipe the output, you get a stable JSON envelope with a
|
|
42
42
|
documented schema, exit codes, and error codes — no flags required.
|
|
43
43
|
- **Guarded mutations.** Commands expose their confirmation policy; promptless
|
|
44
44
|
destructive operations require an explicit `--yes`.
|
|
45
45
|
- **Discoverable.** `mammoth capability list` and `mammoth schema get` describe
|
|
46
46
|
every command, so an agent can learn the surface at runtime.
|
|
47
47
|
|
|
48
|
-
The CLI
|
|
48
|
+
The CLI uses the public [`mammoth-io`](https://pypi.org/project/mammoth-io/)
|
|
49
49
|
SDK. It adds no second HTTP client and calls no private SDK members.
|
|
50
50
|
|
|
51
51
|
See the [capability matrix](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/release-capability-matrix.md)
|
|
@@ -103,8 +103,7 @@ history, or command arguments. On POSIX, put the required JSON credentials in a
|
|
|
103
103
|
private owner-only (0600) file outside the repository and pass its path to:
|
|
104
104
|
|
|
105
105
|
```bash
|
|
106
|
-
mammoth auth login --input /private/path/credentials.json --storage file
|
|
107
|
-
|
|
106
|
+
mammoth auth login --input /private/path/credentials.json --storage file
|
|
108
107
|
```
|
|
109
108
|
|
|
110
109
|
On Windows, use the approved OS keyring instead; do not use a file fallback
|
|
@@ -136,8 +135,7 @@ To pin it for a whole session, `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1`
|
|
|
136
135
|
the private, permission-checked file described above:
|
|
137
136
|
|
|
138
137
|
```bash
|
|
139
|
-
mammoth auth login --input /private/path/credentials.json --storage file
|
|
140
|
-
|
|
138
|
+
mammoth auth login --input /private/path/credentials.json --storage file
|
|
141
139
|
```
|
|
142
140
|
|
|
143
141
|
Feed multi-field requests as one document instead of many flags:
|
|
@@ -210,9 +208,10 @@ Use Mammoth Analytics only through the `mammoth` CLI in bash; run
|
|
|
210
208
|
1. If `mammoth --version` fails, install, then re-check (new shell if needed):
|
|
211
209
|
curl -fsSL https://raw.githubusercontent.com/EdgeMetric/mammothsdk/main/mammoth-cli/installers/mammoth-install.sh | bash
|
|
212
210
|
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
|
|
214
|
-
|
|
215
|
-
|
|
211
|
+
and wait until I say done: "In the Mammoth web app open Workspace settings
|
|
212
|
+
→ API Tokens → Create token, copy the key and the secret (shown once), and
|
|
213
|
+
note the workspace id (the number after /workspaces/ in the address bar),
|
|
214
|
+
then run in your own terminal: mammoth auth login" — never ask for, read, or pass a key
|
|
216
215
|
or secret yourself, and never run auth login.
|
|
217
216
|
3. Require `mammoth doctor` to pass, then run `mammoth skill show` and
|
|
218
217
|
follow the guide it prints.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Use [Mammoth Analytics](https://mammoth.io) from a terminal. The `mammoth`
|
|
4
4
|
command covers data import and export, transformations, project organization,
|
|
5
|
-
automation, and administration. Its interface is
|
|
5
|
+
automation, and administration. Its interface is readable at a
|
|
6
6
|
shell and predictable in scripts and agent runs.
|
|
7
7
|
|
|
8
8
|
[](https://pypi.org/project/mammoth-cli/)
|
|
@@ -10,14 +10,14 @@ shell and predictable in scripts and agent runs.
|
|
|
10
10
|
[](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/LICENSE)
|
|
11
11
|
|
|
12
12
|
- **Human-friendly by default.** In a terminal, commands print a readable table.
|
|
13
|
-
- **Agent-native.** When
|
|
13
|
+
- **Agent-native.** When you pipe the output, you get a stable JSON envelope with a
|
|
14
14
|
documented schema, exit codes, and error codes — no flags required.
|
|
15
15
|
- **Guarded mutations.** Commands expose their confirmation policy; promptless
|
|
16
16
|
destructive operations require an explicit `--yes`.
|
|
17
17
|
- **Discoverable.** `mammoth capability list` and `mammoth schema get` describe
|
|
18
18
|
every command, so an agent can learn the surface at runtime.
|
|
19
19
|
|
|
20
|
-
The CLI
|
|
20
|
+
The CLI uses the public [`mammoth-io`](https://pypi.org/project/mammoth-io/)
|
|
21
21
|
SDK. It adds no second HTTP client and calls no private SDK members.
|
|
22
22
|
|
|
23
23
|
See the [capability matrix](https://github.com/EdgeMetric/mammothsdk/blob/main/mammoth-cli/docs/release-capability-matrix.md)
|
|
@@ -75,8 +75,7 @@ history, or command arguments. On POSIX, put the required JSON credentials in a
|
|
|
75
75
|
private owner-only (0600) file outside the repository and pass its path to:
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
|
-
mammoth auth login --input /private/path/credentials.json --storage file
|
|
79
|
-
|
|
78
|
+
mammoth auth login --input /private/path/credentials.json --storage file
|
|
80
79
|
```
|
|
81
80
|
|
|
82
81
|
On Windows, use the approved OS keyring instead; do not use a file fallback
|
|
@@ -108,8 +107,7 @@ To pin it for a whole session, `export MAMMOTH_OUTPUT=json MAMMOTH_NO_INPUT=1`
|
|
|
108
107
|
the private, permission-checked file described above:
|
|
109
108
|
|
|
110
109
|
```bash
|
|
111
|
-
mammoth auth login --input /private/path/credentials.json --storage file
|
|
112
|
-
|
|
110
|
+
mammoth auth login --input /private/path/credentials.json --storage file
|
|
113
111
|
```
|
|
114
112
|
|
|
115
113
|
Feed multi-field requests as one document instead of many flags:
|
|
@@ -182,9 +180,10 @@ Use Mammoth Analytics only through the `mammoth` CLI in bash; run
|
|
|
182
180
|
1. If `mammoth --version` fails, install, then re-check (new shell if needed):
|
|
183
181
|
curl -fsSL https://raw.githubusercontent.com/EdgeMetric/mammothsdk/main/mammoth-cli/installers/mammoth-install.sh | bash
|
|
184
182
|
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
|
|
186
|
-
|
|
187
|
-
|
|
183
|
+
and wait until I say done: "In the Mammoth web app open Workspace settings
|
|
184
|
+
→ API Tokens → Create token, copy the key and the secret (shown once), and
|
|
185
|
+
note the workspace id (the number after /workspaces/ in the address bar),
|
|
186
|
+
then run in your own terminal: mammoth auth login" — never ask for, read, or pass a key
|
|
188
187
|
or secret yourself, and never run auth login.
|
|
189
188
|
3. Require `mammoth doctor` to pass, then run `mammoth skill show` and
|
|
190
189
|
follow the guide it prints.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mammoth-cli
|
|
3
|
-
version: 2.0.
|
|
3
|
+
version: 2.0.32
|
|
4
4
|
description: "Use Mammoth Analytics from a terminal: install or authenticate the CLI, discover its live command contract, and safely manage projects, data, views, pipelines, dashboards, exports, and handoffs."
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ description: "Use Mammoth Analytics from a terminal: install or authenticate the
|
|
|
8
8
|
|
|
9
9
|
Use this skill for Mammoth shell work, not for Python SDK integration. The
|
|
10
10
|
CLI is the contract: it validates every request locally, returns one JSON
|
|
11
|
-
envelope, and
|
|
11
|
+
envelope, and needs no flag for that when you pipe its output.
|
|
12
12
|
|
|
13
13
|
## Start
|
|
14
14
|
|
|
@@ -21,8 +21,9 @@ mammoth project ensure 'PROJECT NAME' # get-or-create; becomes the active proj
|
|
|
21
21
|
command anyway. Production is the `app` endpoint; use `release` only when the
|
|
22
22
|
task names it, and check `meta.profile`/`auth status` `endpoint` match the
|
|
23
23
|
intended environment before doing anything. If no profile has credentials,
|
|
24
|
-
tell the operator
|
|
25
|
-
|
|
24
|
+
tell the operator to run `mammoth auth login` in their own terminal (add
|
|
25
|
+
`--profile NAME` only for a profile other than `default`; [auth](references/auth.md)
|
|
26
|
+
says where the key and secret come from) and wait; never ask for a key or secret in chat,
|
|
26
27
|
never read one from a file or environment variable, never run `auth login`
|
|
27
28
|
yourself. If any envelope carries `meta.update_available`, run its `command`
|
|
28
29
|
before the next step.
|
|
@@ -62,7 +63,8 @@ before the next step.
|
|
|
62
63
|
returns, never backend aliases.
|
|
63
64
|
- `--dry-run` on any API-backed command resolves everything and reports the
|
|
64
65
|
request instead of sending it; use it before a write you are not sure of.
|
|
65
|
-
-
|
|
66
|
+
- Deletes need `--yes`; high-impact ones (`project delete`, access changes)
|
|
67
|
+
also need `--confirm ID`, and `schema get` shows which. Preserve requested
|
|
66
68
|
deliverables; cleanup is exact-ID authorized and
|
|
67
69
|
never means delete-all-owned-resources: delete only ids this run created,
|
|
68
70
|
one per call, and read back that they are gone.
|
{mammoth_cli-2.0.31 → mammoth_cli-2.0.32}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md
RENAMED
|
@@ -17,8 +17,12 @@ An agent never receives the key or secret. When `auth status` reports a
|
|
|
17
17
|
missing profile or `has_credentials=false`, stop and hand the login to the
|
|
18
18
|
human operator:
|
|
19
19
|
|
|
20
|
-
1. Tell the operator the
|
|
21
|
-
|
|
20
|
+
1. Tell the operator where the credentials come from: in the Mammoth web app,
|
|
21
|
+
**Workspace settings → API Tokens → Create token** gives a key and a secret;
|
|
22
|
+
the web app shows the secret only once (on an existing token, **Generate new
|
|
23
|
+
secret** replaces it). The workspace id is the number after `/workspaces/`
|
|
24
|
+
in the web app's address bar. Then give the exact command to run in
|
|
25
|
+
**their own** terminal. For production it is:
|
|
22
26
|
|
|
23
27
|
```bash
|
|
24
28
|
mammoth auth login
|
|
@@ -30,6 +34,10 @@ human operator:
|
|
|
30
34
|
hidden input, then the workspace id, so no secret enters chat, argv, or
|
|
31
35
|
history. Credentials are per environment: a release key never
|
|
32
36
|
authenticates on `app`.
|
|
37
|
+
On macOS the Keychain may show a dialog about `mammoth-cli`; tell the
|
|
38
|
+
operator to choose **Always Allow**. If the keychain cannot be used (for
|
|
39
|
+
example over SSH), login falls back to the owner-only file, or the operator
|
|
40
|
+
runs `mammoth auth login --storage file`.
|
|
33
41
|
2. Wait for the operator to confirm, then re-run
|
|
34
42
|
`mammoth auth status --profile PROFILE` and
|
|
35
43
|
`mammoth doctor --profile PROFILE`.
|
|
@@ -33,7 +33,7 @@ Ran once: `automation.create`, `automation.delete`, `automation.list`
|
|
|
33
33
|
|
|
34
34
|
| Command | State | Note |
|
|
35
35
|
|---|---|---|
|
|
36
|
-
| `automation.get` | observed blocker | backend_error: SUSPECTED DEFECT: automation.get on the id
|
|
36
|
+
| `automation.get` | observed blocker | backend_error: SUSPECTED DEFECT: automation.get on the id that automation.create returned (id=1) returns HTTP 500 empty body every time (3 retries, several seconds apart), not even |
|
|
37
37
|
| `automation.update` | observed blocker | cli_error: CLI rejected 'name' field; error message says accepted field is 'patch' (nested patch object), not documented in agent_example |
|
|
38
38
|
|
|
39
39
|
## `batch`
|
|
@@ -30,7 +30,7 @@ Example: `mammoth automation get 123`. Placeholders are illustrative; resolve ID
|
|
|
30
30
|
|
|
31
31
|
Result: `AutomationGetResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
32
32
|
|
|
33
|
-
Status on release: observed blocker — backend_error: SUSPECTED DEFECT: automation.get on the id
|
|
33
|
+
Status on release: observed blocker — backend_error: SUSPECTED DEFECT: automation.get on the id that automation.create returned (id=1) returns HTTP 500 empty body every time (3 retries, several seconds apart), not even. Re-check before relying on it.
|
|
34
34
|
|
|
35
35
|
### `automation.list`
|
|
36
36
|
|
|
@@ -11,15 +11,18 @@ operator logs in from their own terminal as described in [auth](auth.md).
|
|
|
11
11
|
|
|
12
12
|
## Required record
|
|
13
13
|
|
|
14
|
-
Include `format: "mammoth-agent-handoff"`, `format_version`, producer
|
|
15
|
-
`cli_version`, `sdk_version`, `contract_schema_version`, and
|
|
16
|
-
|
|
17
|
-
--version` gives the other two
|
|
18
|
-
the intent and acceptance criteria
|
|
19
|
-
workspace/project scope
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
Include `format: "mammoth-agent-handoff"`, `format_version`, and the producer
|
|
15
|
+
versions: `cli_version`, `sdk_version`, `contract_schema_version`, and
|
|
16
|
+
`skill_version`. `skill_version` is the `version:` field in this skill's
|
|
17
|
+
`SKILL.md` frontmatter; `mammoth --version` gives the other two. Also include
|
|
18
|
+
the intent and acceptance criteria and the authorized `profile` name and exact
|
|
19
|
+
workspace/project scope. Then add:
|
|
20
|
+
|
|
21
|
+
- observed resources with dataset/view parents and dependencies;
|
|
22
|
+
- the last verified state and hashes of bounded secret-free evidence;
|
|
23
|
+
- pending known jobs and `unknown_outcomes`;
|
|
24
|
+
- completed actions and remaining objectives;
|
|
25
|
+
- a cleanup owner plus dependency order.
|
|
23
26
|
|
|
24
27
|
Never include API keys, API secrets, tokens, headers, credentials files, raw
|
|
25
28
|
secret-bearing input, or unredacted response bodies. IDs and display names are
|
|
@@ -5,7 +5,11 @@ A command's `wait_policy` (visible via `mammoth schema get`) determines what
|
|
|
5
5
|
happens with the job, so you do not have to guess:
|
|
6
6
|
|
|
7
7
|
- `always_wait` and `start_or_wait` commands resolve the job for you and return
|
|
8
|
-
the final result. You do NOT wait manually.
|
|
8
|
+
the final result. You do NOT wait manually. A `view transform` success
|
|
9
|
+
envelope says `"status": "done"` and `"pipeline_state": "ready"`: the
|
|
10
|
+
pipeline has finished, so do not poll its `future_id`; verify the values
|
|
11
|
+
with `view data get`. (With SDK ≤ 0.7.13 the same envelope said
|
|
12
|
+
`"processing"`; it meant the same thing.)
|
|
9
13
|
- Only a `returns_job` command normally needs you to wait on the job id
|
|
10
14
|
explicitly:
|
|
11
15
|
```bash
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
# Typed operations and verification
|
|
2
2
|
|
|
3
3
|
The installed CLI manifest is the source of truth for local CLI routes. Use
|
|
4
|
-
`schema list/find TEXT` to discover those routes
|
|
4
|
+
`schema list/find TEXT` to discover those routes. `capability list` is a
|
|
5
5
|
separate API-binding inventory and can omit typed/local commands such as view
|
|
6
|
-
transforms. `schema get COMMAND_ID` returns the
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
transforms. `schema get COMMAND_ID` returns the full contract of one command:
|
|
7
|
+
|
|
8
|
+
- command path and typed positionals/options;
|
|
9
|
+
- request/result models and the accepted input shape;
|
|
10
|
+
- effect/confirmation policy and wait policy;
|
|
11
|
+
- known restrictions and recovery/verification metadata.
|
|
12
|
+
|
|
13
|
+
Read the schema immediately before composing a request. Support and fields can
|
|
10
14
|
vary by release, profile, or backend.
|
|
11
15
|
|
|
12
16
|
## Which id is which
|
|
@@ -24,8 +28,8 @@ vary by release, profile, or backend.
|
|
|
24
28
|
|
|
25
29
|
`schema find`/`schema get`/`schema list` read the installed manifest. They
|
|
26
30
|
need no project and no stored credentials. `dataset list`, `folder list`, and
|
|
27
|
-
`view list` call the live API and
|
|
28
|
-
|
|
31
|
+
`view list` call the live API, and `--project` scopes them to one
|
|
32
|
+
project. `dataset find NAME` and `folder find NAME` search every project
|
|
29
33
|
the credential can see (or one, with `--project`); they still need
|
|
30
34
|
credentials because they call the live API.
|
|
31
35
|
|
|
@@ -56,50 +60,50 @@ typed routes for combining views. Appending rows is a dataset-level
|
|
|
56
60
|
operation: upload into the existing dataset with `file upload --input
|
|
57
61
|
'{"append_to_ds_id": DATASET_ID}'`, not a view transform.
|
|
58
62
|
|
|
59
|
-
Use the
|
|
63
|
+
Use the command ID exactly as the search returns it. Read its schema and the current view
|
|
60
64
|
schema before composing input. Join only on keys confirmed in both exact view
|
|
61
|
-
schemas.
|
|
62
|
-
|
|
63
|
-
semantic operation: define the key/retention rule explicitly
|
|
64
|
-
|
|
65
|
+
schemas. After numeric conversion, create derived measures through the typed
|
|
66
|
+
math route. Verify them from a `view data get` readback. Deduplication is a
|
|
67
|
+
semantic operation: define the key/retention rule explicitly. A successful
|
|
68
|
+
task submission does not prove that the task removed duplicates.
|
|
65
69
|
|
|
66
70
|
For deduplication, discover and use `view.transform.discard-duplicates`; see
|
|
67
71
|
recipes/transforms.md for the full procedure.
|
|
68
72
|
|
|
69
73
|
Prefer a typed `view transform <operation>` command. Its schema is the
|
|
70
74
|
discoverable request contract. A job status or pipeline/task definition only
|
|
71
|
-
proves the task ran
|
|
72
|
-
rows
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
proves that the task ran. For a value-changing step, the proof is the
|
|
76
|
+
`view data get` rows; see SKILL.md and [report-checklist](report-checklist.md).
|
|
77
|
+
A transform needs the view's parent dataset. The CLI remembers it from any
|
|
78
|
+
earlier read of the view (`view list DATASET_ID`, `view get VIEW_ID`); pass
|
|
79
|
+
`dataset_id` in `--input` only when the command asks for it. It never falls
|
|
80
|
+
back to project-wide discovery:
|
|
76
81
|
|
|
77
82
|
```bash
|
|
78
83
|
mammoth view transform math VIEW_ID --project PROJECT_ID \
|
|
79
|
-
--input '{"
|
|
80
|
-
|
|
84
|
+
--input '{"expression":"Unit Price * Quantity","new_column":"Revenue"}'
|
|
81
85
|
mammoth view pipeline get VIEW_ID --project PROJECT_ID
|
|
82
86
|
```
|
|
83
87
|
|
|
84
88
|
The low-level `view task add|preview|update` routes expose an opaque
|
|
85
89
|
`task_spec` object in the current schema, not a discoverable task union. Prefer
|
|
86
|
-
typed transform routes. Use a low-level task route only
|
|
87
|
-
documented task specification
|
|
88
|
-
|
|
90
|
+
typed transform routes. Use a low-level task route only with an independently
|
|
91
|
+
documented task specification for the target backend. Never infer SDK/backend
|
|
92
|
+
keys from `schema get` or an illustrative example. Read the
|
|
89
93
|
task/list or pipeline/items result back after a successful write. Without that
|
|
90
94
|
independent specification, report the route as unsupported/ambiguous and stop
|
|
91
95
|
safely.
|
|
92
96
|
|
|
93
97
|
Typed transforms and `view task add` append at the end of the pipeline and
|
|
94
|
-
never reorder or delete an existing step.
|
|
95
|
-
|
|
96
|
-
then write with `"expected_task_count": N` in the input
|
|
97
|
-
the list just before the write
|
|
98
|
-
count moved ([safety](safety.md)). `--dry-run` on the same command shows the
|
|
98
|
+
never reorder or delete an existing step. Other people or agents may also
|
|
99
|
+
edit the pipeline. To guard against that, read `view task list VIEW_ID`,
|
|
100
|
+
plan, then write with `"expected_task_count": N` in the input. The CLI
|
|
101
|
+
re-reads the list just before the write. It refuses with `pipeline_changed`
|
|
102
|
+
when the count moved ([safety](safety.md)). `--dry-run` on the same command shows the
|
|
99
103
|
resolved call first.
|
|
100
104
|
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
A workflow is a container for automation. Creating one is not the same as
|
|
106
|
+
adding a view pipeline task. Discover its schema, create it, and read it back:
|
|
103
107
|
|
|
104
108
|
```bash
|
|
105
109
|
mammoth schema get workflow.create
|
|
@@ -125,8 +129,8 @@ before extracting a field.
|
|
|
125
129
|
First inspect `view.export.list/get` for existing configuration and the exact
|
|
126
130
|
export command schema. Local CSV and dataset exports have different result
|
|
127
131
|
shapes from external-effect connectors. External destinations (database,
|
|
128
|
-
cloud storage, email, and similar) require `--yes
|
|
129
|
-
|
|
132
|
+
cloud storage, email, and similar) require `--yes` and commonly return a job.
|
|
133
|
+
Verify them with `job get/wait`, then with `view export get/list` or a
|
|
130
134
|
destination-side artifact when the schema requires it.
|
|
131
135
|
|
|
132
136
|
```bash
|
|
@@ -136,9 +140,9 @@ mammoth view export csv VIEW_ID --project PROJECT_ID
|
|
|
136
140
|
mammoth view export list VIEW_ID DATASET_ID --project PROJECT_ID
|
|
137
141
|
```
|
|
138
142
|
|
|
139
|
-
Use `--input` for connector configuration. Keep
|
|
140
|
-
|
|
141
|
-
|
|
143
|
+
Use `--input` for connector configuration. Keep the schema's secret fields out
|
|
144
|
+
of argv, logs, checkpoints, and handoffs. A submitted job alone does not prove
|
|
145
|
+
that an export completed. Reconcile a timed-out or uncertain
|
|
142
146
|
export before submitting another one.
|
|
143
147
|
|
|
144
148
|
## Capability boundaries
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Read [deliverable retention and cleanup authorization](../retention.md) first.
|
|
4
4
|
Classify temporary, intermediate, retained-deliverable, and protected
|
|
5
5
|
resources before choosing a cleanup target. “Owned” is not by itself cleanup
|
|
6
|
-
authorization
|
|
7
|
-
|
|
6
|
+
authorization. Never delete all resources created by a task. Never delete a
|
|
7
|
+
requested dataset, dashboard, view, or export artifact as incidental tidy-up.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
mammoth schema find "trash"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Dashboards
|
|
2
2
|
|
|
3
|
-
`dashboard create` (legacy engine
|
|
3
|
+
Release has retired `dashboard create` (legacy engine; HTTP 409
|
|
4
4
|
`4DASH012`): `schema find "dashboard create"` lists it first, do not use it.
|
|
5
|
-
Create with `create-blank` (or `v3 generate` when an AI route
|
|
5
|
+
Create with `create-blank` (or `v3 generate` when the task allows an AI route).
|
|
6
6
|
`dashboard source list` is an observed blocker on release (see
|
|
7
7
|
capabilities); verify the view binding with `dashboard get DASHBOARD_ID`
|
|
8
8
|
(`data.dataview_id`) instead.
|
|
@@ -14,7 +14,7 @@ mammoth project list # baseline: ids that exist before you start
|
|
|
14
14
|
mammoth project ensure 'From Claude' # -> PROJECT_ID (data.project_id; reused next time)
|
|
15
15
|
mammoth file upload orders.csv --project PROJECT_ID # -> data.datasets[].id/status
|
|
16
16
|
mammoth file upload customers.csv --project PROJECT_ID
|
|
17
|
-
#
|
|
17
|
+
# need_action: follow need-action.md (file-settings update), then re-read; needs_view: run its next_command (view create)
|
|
18
18
|
mammoth dataset list --project PROJECT_ID
|
|
19
19
|
mammoth view list ORDERS_DS --project PROJECT_ID # -> ORDERS_VIEW
|
|
20
20
|
mammoth view list CUSTOMERS_DS --project PROJECT_ID # -> CUSTOMERS_VIEW
|
|
@@ -5,14 +5,14 @@ only with IDs, display names, and fields returned by the immediately preceding
|
|
|
5
5
|
read/schema command. Every command is illustrative; piped output is JSON
|
|
6
6
|
without any flag.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Verify each successful mutation from a remote read, terminal job,
|
|
9
9
|
pipeline/task definition, or exported artifact. Retain only nonsecret IDs and
|
|
10
10
|
hashes; stop on ambiguous schemas, authorization errors, or unknown effects.
|
|
11
11
|
|
|
12
12
|
- [worked example: three CSVs to a per-region summary](end-to-end.md)
|
|
13
13
|
- [auth and scope](auth-scope.md)
|
|
14
14
|
- [files, datasets, views and settings](resources.md)
|
|
15
|
-
- [datasets
|
|
15
|
+
- [datasets in `need_action` or `needs_view` after upload](need-action.md)
|
|
16
16
|
- [typed transformations and drafts](transforms.md)
|
|
17
17
|
- [typed ETL discovery](typed-etl-discovery.md)
|
|
18
18
|
- [exports and artifacts](exports.md)
|
|
@@ -25,8 +25,7 @@ operator only when neither does.
|
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
27
|
mammoth dataset file-settings update DATASET_ID --project PROJECT_ID \
|
|
28
|
-
--input '{"delimiter": ",", "has_header": true, "initial_skip_count": 0, "quotechar": "\"", "date_format": "US"}'
|
|
29
|
-
|
|
28
|
+
--input '{"delimiter": ",", "has_header": true, "initial_skip_count": 0, "quotechar": "\"", "date_format": "US"}'
|
|
30
29
|
```
|
|
31
30
|
|
|
32
31
|
The response is a job (`operation: "understand_csv"`). Poll `dataset get`
|
|
@@ -35,22 +34,25 @@ the status leaves `need_action`. It usually reaches `ready` within seconds;
|
|
|
35
34
|
on prague an ISO `YYYY-MM-DD` column was flagged ambiguous and took about
|
|
36
35
|
three minutes, so poll for up to five minutes before treating it as stuck.
|
|
37
36
|
Then `view list` returns the generated view and typed transforms can
|
|
38
|
-
proceed.
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
proceed. Every environment can ask, release included: on 2026-09-24 release
|
|
38
|
+
flagged an ISO `YYYY-MM-DD` column too and reached `ready` within seconds of
|
|
39
|
+
the update. If the status becomes `error`, read `status_info` and stop; do
|
|
40
|
+
not retry with guessed settings.
|
|
41
41
|
|
|
42
|
-
## All-text CSV:
|
|
42
|
+
## All-text CSV: ingested, but no view
|
|
43
43
|
|
|
44
44
|
A CSV whose columns are all text (ids, names, regions, no number or date)
|
|
45
45
|
comes back `status: "ready"` with `status_info.ready` = "This file has more
|
|
46
|
-
than one plausible way to be read."
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
46
|
+
than one plausible way to be read." The rows are ingested (`dataset get`
|
|
47
|
+
shows `stats.row_count`), but the platform creates no view. This is not a
|
|
48
|
+
parsing question: confirming file settings does not create a view.
|
|
49
|
+
`file upload` reports it as `status: "needs_view"` with this `next_command`:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
mammoth view create DATASET_ID --project PROJECT_ID
|
|
53
|
+
mammoth view list DATASET_ID --project PROJECT_ID # the new view, row_count set
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
The new view is ready at once and takes transforms like any other (verified
|
|
57
|
+
on release, 2026-09-24). Run `view create` only when `view list DATASET_ID`
|
|
58
|
+
is empty, so that a retry does not add a second view.
|
|
@@ -11,7 +11,7 @@ Discover exact contracts, then upload and read back explicit parents.
|
|
|
11
11
|
## Where uploads land
|
|
12
12
|
|
|
13
13
|
Unless the task names a project, work in one project of your own and put
|
|
14
|
-
every dataset of the task there
|
|
14
|
+
every dataset of the task there. The user's real projects then stay clean, and
|
|
15
15
|
one sweep removes everything. `project ensure` is idempotent get-or-create
|
|
16
16
|
by exact name: re-running it (or a second task) returns the same id
|
|
17
17
|
(`created: false`) instead of making another project. A one-off task can
|
|
@@ -68,8 +68,8 @@ retry in a loop.
|
|
|
68
68
|
`file upload` takes the local path as its positional argument; there is no
|
|
69
69
|
`--source`/`--file` option. A path that does not exist is a usage error
|
|
70
70
|
(`Local file not found`) before any request. Its result carries the status the platform holds
|
|
71
|
-
for each created dataset: `ready`, or `need_action` with a
|
|
72
|
-
which case follow [need-action](need-action.md) before looking for a view. `dataset delete` is asynchronous: re-read
|
|
71
|
+
for each created dataset: `ready`, or `need_action` / `needs_view` with a
|
|
72
|
+
`next_command`, in which case follow [need-action](need-action.md) before looking for a view. `dataset delete` is asynchronous: re-read
|
|
73
73
|
`dataset list` (the id disappears once the job completes) before reporting.
|
|
74
74
|
|
|
75
75
|
Use display names from the exact view schema. For settings, folders and other
|
|
@@ -113,8 +113,7 @@ that every freeform creation type or `dataset_spec` variant works:
|
|
|
113
113
|
```bash
|
|
114
114
|
mammoth schema get dataset.create
|
|
115
115
|
mammoth dataset create --project PROJECT_ID --input \
|
|
116
|
-
'{"ds_creation_type":"weburl","dataset_spec":{"url":"https://example.org/source.csv"}}'
|
|
117
|
-
|
|
116
|
+
'{"ds_creation_type":"weburl","dataset_spec":{"url":"https://example.org/source.csv"}}'
|
|
118
117
|
```
|
|
119
118
|
|
|
120
119
|
Use the `data` keys actually returned by that response for the subsequent
|
|
@@ -29,8 +29,7 @@ lists them. Pick the operation by what it does, not by its name:
|
|
|
29
29
|
```bash
|
|
30
30
|
mammoth view data get VIEW_ID DATASET_ID --project PROJECT_ID # before: note which rows have a blank revenue, and a few non-blank values
|
|
31
31
|
mammoth view transform set-values VIEW_ID --project PROJECT_ID \
|
|
32
|
-
--input '{"dataset_id":DATASET_ID,"existing_column":"revenue","values":[{"value":0}],"condition":{"column":"revenue","operator":"IS_EMPTY"}}'
|
|
33
|
-
|
|
32
|
+
--input '{"dataset_id":DATASET_ID,"existing_column":"revenue","values":[{"value":0}],"condition":{"column":"revenue","operator":"IS_EMPTY"}}'
|
|
34
33
|
mammoth view data get VIEW_ID DATASET_ID --project PROJECT_ID # after
|
|
35
34
|
```
|
|
36
35
|
|
|
@@ -52,12 +51,10 @@ command manifest; substitute only observed view IDs and display names:
|
|
|
52
51
|
```bash
|
|
53
52
|
mammoth schema get view.transform.convert-type
|
|
54
53
|
mammoth view transform convert-type VIEW_ID --project PROJECT_ID \
|
|
55
|
-
--input '{"dataset_id":DATASET_ID,"conversions":[{"column":"Amount","to":"NUMERIC"}]}'
|
|
56
|
-
|
|
54
|
+
--input '{"dataset_id":DATASET_ID,"conversions":[{"column":"Amount","to":"NUMERIC"}]}'
|
|
57
55
|
mammoth schema get view.transform.math
|
|
58
56
|
mammoth view transform math VIEW_ID --project PROJECT_ID \
|
|
59
|
-
--input '{"dataset_id":DATASET_ID,"expression":"GDP / Population","new_column":"GDP per capita"}'
|
|
60
|
-
|
|
57
|
+
--input '{"dataset_id":DATASET_ID,"expression":"GDP / Population","new_column":"GDP per capita"}'
|
|
61
58
|
```
|
|
62
59
|
|
|
63
60
|
The released catalog exposes typed dedupe through `schema find duplicate` as
|
|
@@ -107,8 +104,7 @@ or use the SQL task with `MAX(monthly_target) AS monthly_target`.
|
|
|
107
104
|
```bash
|
|
108
105
|
mammoth schema get view.transform.pivot
|
|
109
106
|
mammoth view transform add-sql VIEW_ID --project PROJECT_ID \
|
|
110
|
-
--input '{"dataset_id":DATASET_ID,"query":"SELECT region, SUM(amount) AS total_amount, COUNT(*) AS order_count FROM \"view:VIEW_ID\" GROUP BY region"}'
|
|
111
|
-
|
|
107
|
+
--input '{"dataset_id":DATASET_ID,"query":"SELECT region, SUM(amount) AS total_amount, COUNT(*) AS order_count FROM \"view:VIEW_ID\" GROUP BY region"}'
|
|
112
108
|
mammoth view data get VIEW_ID DATASET_ID --project PROJECT_ID
|
|
113
109
|
```
|
|
114
110
|
|