mammoth-cli 2.2.7__tar.gz → 2.2.8__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.2.7 → mammoth_cli-2.2.8}/PKG-INFO +2 -2
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/__init__.py +1 -1
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +1 -1
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +2 -2
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +210 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/registry.py +21 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/schema.py +21 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/support.py +248 -1
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/positionals.py +56 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/pyproject.toml +2 -2
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/support.yaml +909 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/edits-target.source.yaml +11 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/sdk-catalog.source.yaml +147 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/sdk-methods.yaml +252 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/.gitignore +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/LICENSE +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/README.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/__main__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/app.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-template.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/link.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/database-import.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/activity.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/addon.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/agent.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/ai.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/annotation.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/auth.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/automation.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/batch.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/billing.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/browse.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/calc.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/capability.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/client_app.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/completion.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/config.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/connector.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/context.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/dashboard.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/data_app.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/dataset.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/doctor.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/external_key.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/file.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/folder.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/job.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/link.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/notification.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/parameter.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/project.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/report.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/schedule.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/skill.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/snippet.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/template.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/trash.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/upgrade.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/user.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/view.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/view_ops.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/view_profile.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/webhook.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/workflow.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/commands/workspace.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/context/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/context/credentials.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/context/endpoint.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/context/profiles.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/context/resolver.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/contracts/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/contracts/auth.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/embed.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/errors/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/errors/envelope.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/manifest/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/manifest/loader.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/messages/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/output/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/output/envelope.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/output/normalize.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/output/policy.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/output/progress.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/output/render.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/py.typed +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/confirm.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/dataset_health.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/dryrun.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/dryrun_targets.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/embedded.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/executor.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/input_loader.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/intent_only.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/invocation.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/new_data.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/options.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/parents.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/runlog.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/session.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/state.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/strict.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/updates.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/validate.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/runtime/verify.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/argspec.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/board_values.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/coerce.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/command_contract.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/conditions.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/dashboard_filters.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/dashboard_pages.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/dashboard_review.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/data_profile.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/data_quality.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/dispatch.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/factory.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/input_fields.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/listing.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/mapping.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/openapi_types.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/protocol.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/read_queries.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/sdk_service.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/stored_stats.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/testing.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/text_dates.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/type_system.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/services/write_impact.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/skills/__init__.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/skills/installer.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/skills/steering.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/mammoth_cli/testing.py +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/activity.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/addon.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/agent.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/ai.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/annotation.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/auth.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/automation.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/batch.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/billing.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/browse.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/calc.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/capability.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/client-app.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/completion.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/config.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/connector.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/context.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/dashboard.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/data-app.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/dataset.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/doctor.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/external-key.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/file.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/folder.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/job.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/link.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/log.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/notification.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/parameter.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/project.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/report.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/schedule.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/schema.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/skill.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/snippet.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/template.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/trash.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/upgrade.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/user.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/version.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/view.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/webhook.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/workflow.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/commands/workspace.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/openapi-operations.yaml +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/manifests/schema-v1.json +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/openapi/metadata.json +0 -0
- {mammoth_cli-2.2.7 → mammoth_cli-2.2.8}/spec/openapi/openapi.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mammoth-cli
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.8
|
|
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.9,>=0.8.
|
|
20
|
+
Requires-Dist: mammoth-io<0.9,>=0.8.9
|
|
21
21
|
Requires-Dist: platformdirs<5,>=4.10
|
|
22
22
|
Requires-Dist: pydantic<3,>=2.12.5
|
|
23
23
|
Requires-Dist: pyyaml<7,>=6
|
|
@@ -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
|
|
4
|
+
The CLI publishes 633 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 (`view transform *` commands submit through `view.task.add`, except `rename-columns` and `sort`, which set view display properties through `view.update`). 262 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. Use an untried command normally: confirm a write with the user first, check its result with a read afterwards, and never refuse a command only because it is untried.
|
|
5
5
|
|
|
6
6
|
Status meanings:
|
|
7
7
|
|
|
@@ -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
|
|
3
|
+
This generated catalog is a lookup table for every command in the published CLI manifest, currently 633; 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
|
|
|
@@ -41,7 +41,7 @@ Load only the applicable domain file:
|
|
|
41
41
|
- [schema](commands/schema.md) — 3 published commands
|
|
42
42
|
- [skill](commands/skill.md) — 7 published commands
|
|
43
43
|
- [snippet](commands/snippet.md) — 8 published commands
|
|
44
|
-
- [support](commands/support.md) —
|
|
44
|
+
- [support](commands/support.md) — 66 published commands
|
|
45
45
|
- [template](commands/template.md) — 5 published commands
|
|
46
46
|
- [trash](commands/trash.md) — 3 published commands
|
|
47
47
|
- [upgrade](commands/upgrade.md) — 1 published commands
|
|
@@ -262,6 +262,56 @@ Result: `SupportPlanSelfServeListResult`; mutation `read`, confirmation `none`,
|
|
|
262
262
|
|
|
263
263
|
Status on release: ran once on CLI 2.0.15 — admin read sweep 2026-09-18: exit 0 on release with CLI 2.0.15. The CLI gates this GET behind --yes --confirm WORKSPACE_ID (confirm_target policy); with confirmation: exit 0; data.plans Single invocation only.
|
|
264
264
|
|
|
265
|
+
### `support.plan.storage-option.archive`
|
|
266
|
+
|
|
267
|
+
Run: `mammoth support plan storage-option archive`. Exact input fields: `mammoth schema get support.plan.storage-option.archive`.
|
|
268
|
+
|
|
269
|
+
Example: `mammoth support plan storage-option archive 123 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
270
|
+
|
|
271
|
+
Result: `SupportPlanStorageOptionArchiveResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
272
|
+
|
|
273
|
+
Status on release: untried; no live run recorded.
|
|
274
|
+
|
|
275
|
+
### `support.plan.storage-option.create`
|
|
276
|
+
|
|
277
|
+
Run: `mammoth support plan storage-option create`. Exact input fields: `mammoth schema get support.plan.storage-option.create`.
|
|
278
|
+
|
|
279
|
+
Example: `mammoth support plan storage-option create 123 --input '{"storage_gb": 1, "monthly_price": 1.0, "annual_price": 1.0}'`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
280
|
+
|
|
281
|
+
Result: `SupportPlanStorageOptionCreateResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
282
|
+
|
|
283
|
+
Status on release: untried; no live run recorded.
|
|
284
|
+
|
|
285
|
+
### `support.plan.storage-option.list`
|
|
286
|
+
|
|
287
|
+
Run: `mammoth support plan storage-option list`. Exact input fields: `mammoth schema get support.plan.storage-option.list`.
|
|
288
|
+
|
|
289
|
+
Example: `mammoth support plan storage-option list 123`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
290
|
+
|
|
291
|
+
Result: `SupportPlanStorageOptionListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
292
|
+
|
|
293
|
+
Status on release: untried; no live run recorded.
|
|
294
|
+
|
|
295
|
+
### `support.plan.storage-option.update`
|
|
296
|
+
|
|
297
|
+
Run: `mammoth support plan storage-option update`. Exact input fields: `mammoth schema get support.plan.storage-option.update`.
|
|
298
|
+
|
|
299
|
+
Example: `mammoth support plan storage-option update 123 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
300
|
+
|
|
301
|
+
Result: `SupportPlanStorageOptionUpdateResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
302
|
+
|
|
303
|
+
Status on release: untried; no live run recorded.
|
|
304
|
+
|
|
305
|
+
### `support.plan.unarchive`
|
|
306
|
+
|
|
307
|
+
Run: `mammoth support plan unarchive`. Exact input fields: `mammoth schema get support.plan.unarchive`.
|
|
308
|
+
|
|
309
|
+
Example: `mammoth support plan unarchive 123`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
310
|
+
|
|
311
|
+
Result: `SupportPlanUnarchiveResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
312
|
+
|
|
313
|
+
Status on release: untried; no live run recorded.
|
|
314
|
+
|
|
265
315
|
### `support.plan.update`
|
|
266
316
|
|
|
267
317
|
Run: `mammoth support plan update`. Exact input fields: `mammoth schema get support.plan.update`.
|
|
@@ -312,6 +362,166 @@ Result: `SupportSubscriptionUpdateResult`; mutation `high_impact`, confirmation
|
|
|
312
362
|
|
|
313
363
|
Status on release: untried; no live run recorded.
|
|
314
364
|
|
|
365
|
+
### `support.template.audit`
|
|
366
|
+
|
|
367
|
+
Run: `mammoth support template audit`. Exact input fields: `mammoth schema get support.template.audit`.
|
|
368
|
+
|
|
369
|
+
Example: `mammoth support template audit`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
370
|
+
|
|
371
|
+
Result: `SupportTemplateAuditResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
372
|
+
|
|
373
|
+
Status on release: untried; no live run recorded.
|
|
374
|
+
|
|
375
|
+
### `support.template.canvas`
|
|
376
|
+
|
|
377
|
+
Run: `mammoth support template canvas`. Exact input fields: `mammoth schema get support.template.canvas`.
|
|
378
|
+
|
|
379
|
+
Example: `mammoth support template canvas sample`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
380
|
+
|
|
381
|
+
Result: `SupportTemplateCanvasResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
382
|
+
|
|
383
|
+
Status on release: untried; no live run recorded.
|
|
384
|
+
|
|
385
|
+
### `support.template.data-preview`
|
|
386
|
+
|
|
387
|
+
Run: `mammoth support template data-preview`. Exact input fields: `mammoth schema get support.template.data-preview`.
|
|
388
|
+
|
|
389
|
+
Example: `mammoth support template data-preview sample`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
390
|
+
|
|
391
|
+
Result: `SupportTemplateDataPreviewResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
392
|
+
|
|
393
|
+
Status on release: untried; no live run recorded.
|
|
394
|
+
|
|
395
|
+
### `support.template.discard`
|
|
396
|
+
|
|
397
|
+
Run: `mammoth support template discard`. Exact input fields: `mammoth schema get support.template.discard`.
|
|
398
|
+
|
|
399
|
+
Example: `mammoth support template discard sample`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
400
|
+
|
|
401
|
+
Result: `SupportTemplateDiscardResult`; mutation `destructive`, confirmation `confirm_target`, wait policy `not_async`.
|
|
402
|
+
|
|
403
|
+
Status on release: untried; no live run recorded.
|
|
404
|
+
|
|
405
|
+
### `support.template.edit`
|
|
406
|
+
|
|
407
|
+
Run: `mammoth support template edit`. Exact input fields: `mammoth schema get support.template.edit`.
|
|
408
|
+
|
|
409
|
+
Example: `mammoth support template edit sample --input '{"changes": {"sample_key": "Status"}}'`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
410
|
+
|
|
411
|
+
Result: `SupportTemplateEditResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
412
|
+
|
|
413
|
+
Status on release: untried; no live run recorded.
|
|
414
|
+
|
|
415
|
+
### `support.template.export`
|
|
416
|
+
|
|
417
|
+
Run: `mammoth support template export`. Exact input fields: `mammoth schema get support.template.export`.
|
|
418
|
+
|
|
419
|
+
Example: `mammoth support template export sample`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
420
|
+
|
|
421
|
+
Result: `SupportTemplateExportResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
422
|
+
|
|
423
|
+
Status on release: untried; no live run recorded.
|
|
424
|
+
|
|
425
|
+
### `support.template.export-dashboard`
|
|
426
|
+
|
|
427
|
+
Run: `mammoth support template export-dashboard`. Exact input fields: `mammoth schema get support.template.export-dashboard`.
|
|
428
|
+
|
|
429
|
+
Example: `mammoth support template export-dashboard 123 --input '{"slug": "sample"}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
430
|
+
|
|
431
|
+
Result: `SupportTemplateExportDashboardResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
432
|
+
|
|
433
|
+
Status on release: untried; no live run recorded.
|
|
434
|
+
|
|
435
|
+
### `support.template.import`
|
|
436
|
+
|
|
437
|
+
Run: `mammoth support template import`. Exact input fields: `mammoth schema get support.template.import`.
|
|
438
|
+
|
|
439
|
+
Example: `mammoth support template import template.zip`. Illustrative only: append `--yes` after observing an owned target.
|
|
440
|
+
|
|
441
|
+
Result: `SupportTemplateImportResult`; mutation `high_impact`, confirmation `yes_always`, wait policy `not_async`.
|
|
442
|
+
|
|
443
|
+
Status on release: untried; no live run recorded.
|
|
444
|
+
|
|
445
|
+
### `support.template.inspect`
|
|
446
|
+
|
|
447
|
+
Run: `mammoth support template inspect`. Exact input fields: `mammoth schema get support.template.inspect`.
|
|
448
|
+
|
|
449
|
+
Example: `mammoth support template inspect template.zip`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
450
|
+
|
|
451
|
+
Result: `SupportTemplateInspectResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
452
|
+
|
|
453
|
+
Status on release: untried; no live run recorded.
|
|
454
|
+
|
|
455
|
+
### `support.template.list`
|
|
456
|
+
|
|
457
|
+
Run: `mammoth support template list`. Exact input fields: `mammoth schema get support.template.list`.
|
|
458
|
+
|
|
459
|
+
Example: `mammoth support template list`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
460
|
+
|
|
461
|
+
Result: `SupportTemplateListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
462
|
+
|
|
463
|
+
Status on release: untried; no live run recorded.
|
|
464
|
+
|
|
465
|
+
### `support.template.publish`
|
|
466
|
+
|
|
467
|
+
Run: `mammoth support template publish`. Exact input fields: `mammoth schema get support.template.publish`.
|
|
468
|
+
|
|
469
|
+
Example: `mammoth support template publish sample`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
470
|
+
|
|
471
|
+
Result: `SupportTemplatePublishResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
472
|
+
|
|
473
|
+
Status on release: untried; no live run recorded.
|
|
474
|
+
|
|
475
|
+
### `support.template.retire`
|
|
476
|
+
|
|
477
|
+
Run: `mammoth support template retire`. Exact input fields: `mammoth schema get support.template.retire`.
|
|
478
|
+
|
|
479
|
+
Example: `mammoth support template retire sample`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
480
|
+
|
|
481
|
+
Result: `SupportTemplateRetireResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
482
|
+
|
|
483
|
+
Status on release: untried; no live run recorded.
|
|
484
|
+
|
|
485
|
+
### `support.template.snapshots`
|
|
486
|
+
|
|
487
|
+
Run: `mammoth support template snapshots`. Exact input fields: `mammoth schema get support.template.snapshots`.
|
|
488
|
+
|
|
489
|
+
Example: `mammoth support template snapshots`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
490
|
+
|
|
491
|
+
Result: `SupportTemplateSnapshotsResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
492
|
+
|
|
493
|
+
Status on release: untried; no live run recorded.
|
|
494
|
+
|
|
495
|
+
### `support.template.thumbnail.clear`
|
|
496
|
+
|
|
497
|
+
Run: `mammoth support template thumbnail clear`. Exact input fields: `mammoth schema get support.template.thumbnail.clear`.
|
|
498
|
+
|
|
499
|
+
Example: `mammoth support template thumbnail clear sample`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
500
|
+
|
|
501
|
+
Result: `SupportTemplateThumbnailClearResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
502
|
+
|
|
503
|
+
Status on release: untried; no live run recorded.
|
|
504
|
+
|
|
505
|
+
### `support.template.thumbnail.set`
|
|
506
|
+
|
|
507
|
+
Run: `mammoth support template thumbnail set`. Exact input fields: `mammoth schema get support.template.thumbnail.set`.
|
|
508
|
+
|
|
509
|
+
Example: `mammoth support template thumbnail set sample card.png`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
510
|
+
|
|
511
|
+
Result: `SupportTemplateThumbnailSetResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
512
|
+
|
|
513
|
+
Status on release: untried; no live run recorded.
|
|
514
|
+
|
|
515
|
+
### `support.template.unpublish`
|
|
516
|
+
|
|
517
|
+
Run: `mammoth support template unpublish`. Exact input fields: `mammoth schema get support.template.unpublish`.
|
|
518
|
+
|
|
519
|
+
Example: `mammoth support template unpublish sample`. Illustrative only: append `--yes --confirm <EXACT_TARGET>` after observing the target.
|
|
520
|
+
|
|
521
|
+
Result: `SupportTemplateUnpublishResult`; mutation `high_impact`, confirmation `confirm_target`, wait policy `not_async`.
|
|
522
|
+
|
|
523
|
+
Status on release: untried; no live run recorded.
|
|
524
|
+
|
|
315
525
|
### `support.user.list-all`
|
|
316
526
|
|
|
317
527
|
Run: `mammoth support user list-all`. Exact input fields: `mammoth schema get support.user.list-all`.
|
|
@@ -648,6 +648,27 @@ HANDLERS: dict[str, Handler] = {
|
|
|
648
648
|
"support.feature-profile.update": support_cmd.support_feature_profile_update,
|
|
649
649
|
"support.ownership.transfer": support_cmd.support_ownership_transfer,
|
|
650
650
|
"support.plan.archive": support_cmd.support_plan_archive,
|
|
651
|
+
"support.plan.unarchive": support_cmd.support_plan_unarchive,
|
|
652
|
+
"support.plan.storage-option.list": support_cmd.support_plan_storage_option_list,
|
|
653
|
+
"support.plan.storage-option.create": support_cmd.support_plan_storage_option_create,
|
|
654
|
+
"support.plan.storage-option.update": support_cmd.support_plan_storage_option_update,
|
|
655
|
+
"support.plan.storage-option.archive": support_cmd.support_plan_storage_option_archive,
|
|
656
|
+
"support.template.list": support_cmd.support_template_list,
|
|
657
|
+
"support.template.edit": support_cmd.support_template_edit,
|
|
658
|
+
"support.template.data-preview": support_cmd.support_template_data_preview,
|
|
659
|
+
"support.template.canvas": support_cmd.support_template_canvas,
|
|
660
|
+
"support.template.publish": support_cmd.support_template_publish,
|
|
661
|
+
"support.template.unpublish": support_cmd.support_template_unpublish,
|
|
662
|
+
"support.template.retire": support_cmd.support_template_retire,
|
|
663
|
+
"support.template.inspect": support_cmd.support_template_inspect,
|
|
664
|
+
"support.template.import": support_cmd.support_template_import,
|
|
665
|
+
"support.template.thumbnail.set": support_cmd.support_template_thumbnail_set,
|
|
666
|
+
"support.template.thumbnail.clear": support_cmd.support_template_thumbnail_clear,
|
|
667
|
+
"support.template.discard": support_cmd.support_template_discard,
|
|
668
|
+
"support.template.snapshots": support_cmd.support_template_snapshots,
|
|
669
|
+
"support.template.audit": support_cmd.support_template_audit,
|
|
670
|
+
"support.template.export": support_cmd.support_template_export,
|
|
671
|
+
"support.template.export-dashboard": support_cmd.support_template_export_dashboard,
|
|
651
672
|
"support.plan.chargebee-list": support_cmd.support_plan_chargebee_list,
|
|
652
673
|
"support.plan.create": support_cmd.support_plan_create,
|
|
653
674
|
"support.plan.delete": support_cmd.support_plan_delete,
|
|
@@ -427,6 +427,27 @@ _COMMAND_DISCOVERY_PURPOSES = {
|
|
|
427
427
|
"dashboard.template.thumbnail.clear": "remove delete template picture card image thumbnail",
|
|
428
428
|
"dashboard.gallery.list": "public template gallery curated templates catalog examples browse",
|
|
429
429
|
"dashboard.gallery.get": "one public gallery template card by slug",
|
|
430
|
+
"support.plan.unarchive": "platform admin restore an archived subscription plan",
|
|
431
|
+
"support.plan.storage-option.list": "platform admin plan storage sizes prices options",
|
|
432
|
+
"support.plan.storage-option.create": "platform admin add a storage size price to a plan",
|
|
433
|
+
"support.plan.storage-option.update": "platform admin reprice resize a plan storage option",
|
|
434
|
+
"support.plan.storage-option.archive": "platform admin retire a plan storage option",
|
|
435
|
+
"support.template.list": "platform admin curated template catalog worklist drafts faults",
|
|
436
|
+
"support.template.edit": "platform admin retag rename reorder curated template filing",
|
|
437
|
+
"support.template.data-preview": "platform admin curated template sample rows",
|
|
438
|
+
"support.template.canvas": "platform admin curated template draft canvas review",
|
|
439
|
+
"support.template.publish": "platform admin take curated template live in gallery",
|
|
440
|
+
"support.template.unpublish": "platform admin take curated template down back to draft",
|
|
441
|
+
"support.template.retire": "platform admin retire curated template stop offering",
|
|
442
|
+
"support.template.inspect": "platform admin read template bundle zip before import",
|
|
443
|
+
"support.template.import": "platform admin import template bundle zip curated draft",
|
|
444
|
+
"support.template.thumbnail.set": "platform admin upload curated template picture",
|
|
445
|
+
"support.template.thumbnail.clear": "platform admin remove curated template picture",
|
|
446
|
+
"support.template.discard": "platform admin undo template import discard curated draft",
|
|
447
|
+
"support.template.snapshots": "platform admin stored datasets behind curated templates",
|
|
448
|
+
"support.template.audit": "platform admin audit curated template catalog gates faults",
|
|
449
|
+
"support.template.export": "platform admin download curated template bundle zip",
|
|
450
|
+
"support.template.export-dashboard": "platform admin download a board as template bundle zip",
|
|
430
451
|
"connector.ai.chat": (
|
|
431
452
|
"connect our own internal custom api build a connector for an unsupported source"
|
|
432
453
|
),
|
|
@@ -23,7 +23,11 @@ from mammoth_cli.errors.envelope import (
|
|
|
23
23
|
CliError,
|
|
24
24
|
)
|
|
25
25
|
from mammoth_cli.manifest.loader import command_by_id
|
|
26
|
-
from mammoth_cli.runtime.confirm import
|
|
26
|
+
from mammoth_cli.runtime.confirm import (
|
|
27
|
+
POLICY_CONFIRM_TARGET,
|
|
28
|
+
POLICY_YES_ALWAYS,
|
|
29
|
+
enforce_confirmation,
|
|
30
|
+
)
|
|
27
31
|
from mammoth_cli.runtime.invocation import Invocation
|
|
28
32
|
from mammoth_cli.runtime.session import open_service
|
|
29
33
|
from mammoth_cli.services.command_contract import bind_command_inputs
|
|
@@ -491,6 +495,87 @@ def support_plan_archive(invocation: Invocation) -> HandlerResult:
|
|
|
491
495
|
return data, _meta(invocation, auth.workspace_id)
|
|
492
496
|
|
|
493
497
|
|
|
498
|
+
def _require_named_int(invocation: Invocation, name: str, human: str) -> int:
|
|
499
|
+
"""Return a required integer positional by its declared name, or raise usage."""
|
|
500
|
+
raw = invocation.positional(name)
|
|
501
|
+
if raw is None:
|
|
502
|
+
raise CliError(
|
|
503
|
+
code=CODE_MISSING_ARGUMENT, message=f"A {human} is required.", exit_status=EXIT_USAGE
|
|
504
|
+
)
|
|
505
|
+
try:
|
|
506
|
+
return int(raw)
|
|
507
|
+
except ValueError as exc:
|
|
508
|
+
raise CliError(
|
|
509
|
+
code=CODE_INVALID_ARGUMENT,
|
|
510
|
+
message=f"The {human} argument '{raw}' is not an integer.",
|
|
511
|
+
exit_status=EXIT_USAGE,
|
|
512
|
+
) from exc
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
def support_plan_unarchive(invocation: Invocation) -> HandlerResult:
|
|
516
|
+
"""Platform admin only: unarchive one subscription plan by id."""
|
|
517
|
+
plan_id = _require_int_positional(invocation, "plan id")
|
|
518
|
+
_confirm(invocation, action=f"unarchive plan {plan_id}", target=str(plan_id))
|
|
519
|
+
with open_service(invocation) as (service, auth):
|
|
520
|
+
data = service.call(_symbol(invocation), plan_id=plan_id)
|
|
521
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
def support_plan_storage_option_list(invocation: Invocation) -> HandlerResult:
|
|
525
|
+
"""Platform admin only: list a plan's storage options, archived ones included."""
|
|
526
|
+
plan_id = _require_int_positional(invocation, "plan id")
|
|
527
|
+
with open_service(invocation) as (service, auth):
|
|
528
|
+
data = service.call(_symbol(invocation), plan_id=plan_id)
|
|
529
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
def support_plan_storage_option_create(invocation: Invocation) -> HandlerResult:
|
|
533
|
+
"""Platform admin only: add a storage option (total GB and prices) to a plan."""
|
|
534
|
+
plan_id = _require_int_positional(invocation, "plan id")
|
|
535
|
+
document = _bound_document(invocation)
|
|
536
|
+
kwargs: dict[str, Any] = {
|
|
537
|
+
"plan_id": plan_id,
|
|
538
|
+
"storage_gb": _require_field(document, "storage_gb"),
|
|
539
|
+
"monthly_price": _require_field(document, "monthly_price"),
|
|
540
|
+
"annual_price": _require_field(document, "annual_price"),
|
|
541
|
+
}
|
|
542
|
+
_confirm(invocation, action=f"add a storage option to plan {plan_id}", target=str(plan_id))
|
|
543
|
+
with open_service(invocation) as (service, auth):
|
|
544
|
+
data = service.call(_symbol(invocation), **kwargs)
|
|
545
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
def support_plan_storage_option_update(invocation: Invocation) -> HandlerResult:
|
|
549
|
+
"""Platform admin only: re-price or resize one storage option of a plan."""
|
|
550
|
+
plan_id = _require_int_positional(invocation, "plan id")
|
|
551
|
+
option_id = _require_named_int(invocation, "option_id", "storage option id")
|
|
552
|
+
document = _bound_document(invocation)
|
|
553
|
+
kwargs: dict[str, Any] = {"plan_id": plan_id, "option_id": option_id}
|
|
554
|
+
_forward_optional(document, kwargs, ("storage_gb", "monthly_price", "annual_price"))
|
|
555
|
+
_confirm(
|
|
556
|
+
invocation,
|
|
557
|
+
action=f"update storage option {option_id} of plan {plan_id}",
|
|
558
|
+
target=str(option_id),
|
|
559
|
+
)
|
|
560
|
+
with open_service(invocation) as (service, auth):
|
|
561
|
+
data = service.call(_symbol(invocation), **kwargs)
|
|
562
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
def support_plan_storage_option_archive(invocation: Invocation) -> HandlerResult:
|
|
566
|
+
"""Platform admin only: archive one storage option of a plan (never deleted)."""
|
|
567
|
+
plan_id = _require_int_positional(invocation, "plan id")
|
|
568
|
+
option_id = _require_named_int(invocation, "option_id", "storage option id")
|
|
569
|
+
_confirm(
|
|
570
|
+
invocation,
|
|
571
|
+
action=f"archive storage option {option_id} of plan {plan_id}",
|
|
572
|
+
target=str(option_id),
|
|
573
|
+
)
|
|
574
|
+
with open_service(invocation) as (service, auth):
|
|
575
|
+
data = service.call(_symbol(invocation), plan_id=plan_id, option_id=option_id)
|
|
576
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
577
|
+
|
|
578
|
+
|
|
494
579
|
# -- Subscriptions ------------------------------------------------------------------
|
|
495
580
|
|
|
496
581
|
|
|
@@ -784,3 +869,165 @@ def support_workspace_user_transfer(invocation: Invocation) -> HandlerResult:
|
|
|
784
869
|
with open_service(invocation) as (service, auth):
|
|
785
870
|
data = service.call(_symbol(invocation), **kwargs)
|
|
786
871
|
return data, _meta(invocation, auth.workspace_id)
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
# -- Curated template catalog (dashboards v3 admin) ---------------------------------
|
|
875
|
+
#
|
|
876
|
+
# Every route refuses a caller without a Mammoth staff (platform-admin) role, and
|
|
877
|
+
# acts on CURATED templates only. The help line of each command says so first.
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
def _require_text_positional(invocation: Invocation, name: str, human: str) -> str:
|
|
881
|
+
"""Return a required string positional by its declared name, or raise usage."""
|
|
882
|
+
value = invocation.positional(name)
|
|
883
|
+
if not value:
|
|
884
|
+
raise CliError(
|
|
885
|
+
code=CODE_MISSING_ARGUMENT,
|
|
886
|
+
message=f"A {human} is required.",
|
|
887
|
+
exit_status=EXIT_USAGE,
|
|
888
|
+
hint=f"Pass the {human} as a positional argument.",
|
|
889
|
+
)
|
|
890
|
+
return str(value)
|
|
891
|
+
|
|
892
|
+
|
|
893
|
+
def _template_read(invocation: Invocation) -> HandlerResult:
|
|
894
|
+
"""Call a slug-addressed read of the curated catalog."""
|
|
895
|
+
slug = _require_text_positional(invocation, "slug", "template slug")
|
|
896
|
+
with open_service(invocation) as (service, auth):
|
|
897
|
+
data = service.call(_symbol(invocation), slug=slug)
|
|
898
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
def _template_write(invocation: Invocation, verb: str) -> HandlerResult:
|
|
902
|
+
"""Call a slug-addressed write of the curated catalog after ``--confirm SLUG``."""
|
|
903
|
+
slug = _require_text_positional(invocation, "slug", "template slug")
|
|
904
|
+
_confirm(invocation, action=f"{verb} curated template '{slug}'", target=slug)
|
|
905
|
+
with open_service(invocation) as (service, auth):
|
|
906
|
+
data = service.call(_symbol(invocation), slug=slug)
|
|
907
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
908
|
+
|
|
909
|
+
|
|
910
|
+
def support_template_list(invocation: Invocation) -> HandlerResult:
|
|
911
|
+
"""Platform admin only: list every curated template, drafts and faults first."""
|
|
912
|
+
with open_service(invocation) as (service, auth):
|
|
913
|
+
data = service.call(_symbol(invocation))
|
|
914
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
def support_template_edit(invocation: Invocation) -> HandlerResult:
|
|
918
|
+
"""Platform admin only: edit a curated template's filing ('changes' from '--input')."""
|
|
919
|
+
slug = _require_text_positional(invocation, "slug", "template slug")
|
|
920
|
+
document = _bound_document(invocation)
|
|
921
|
+
changes = _require_field(document, "changes")
|
|
922
|
+
_confirm(invocation, action=f"edit curated template '{slug}'", target=slug)
|
|
923
|
+
with open_service(invocation) as (service, auth):
|
|
924
|
+
data = service.call(_symbol(invocation), slug=slug, changes=changes)
|
|
925
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
def support_template_data_preview(invocation: Invocation) -> HandlerResult:
|
|
929
|
+
"""Platform admin only: read up to 50 rows of the data a curated template opens on."""
|
|
930
|
+
return _template_read(invocation)
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
def support_template_canvas(invocation: Invocation) -> HandlerResult:
|
|
934
|
+
"""Platform admin only: read a curated template's canvas, drafts included."""
|
|
935
|
+
return _template_read(invocation)
|
|
936
|
+
|
|
937
|
+
|
|
938
|
+
def support_template_publish(invocation: Invocation) -> HandlerResult:
|
|
939
|
+
"""Platform admin only: take a curated draft live in every customer's gallery."""
|
|
940
|
+
return _template_write(invocation, "publish")
|
|
941
|
+
|
|
942
|
+
|
|
943
|
+
def support_template_unpublish(invocation: Invocation) -> HandlerResult:
|
|
944
|
+
"""Platform admin only: take a live or retired curated template back to draft."""
|
|
945
|
+
return _template_write(invocation, "unpublish")
|
|
946
|
+
|
|
947
|
+
|
|
948
|
+
def support_template_retire(invocation: Invocation) -> HandlerResult:
|
|
949
|
+
"""Platform admin only: retire a curated template (kept, no longer offered)."""
|
|
950
|
+
return _template_write(invocation, "retire")
|
|
951
|
+
|
|
952
|
+
|
|
953
|
+
def support_template_thumbnail_clear(invocation: Invocation) -> HandlerResult:
|
|
954
|
+
"""Platform admin only: remove a curated template's picture."""
|
|
955
|
+
return _template_write(invocation, "remove the picture of")
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
def support_template_discard(invocation: Invocation) -> HandlerResult:
|
|
959
|
+
"""Platform admin only: permanently remove a curated draft, its board and its data."""
|
|
960
|
+
return _template_write(invocation, "discard")
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
def support_template_thumbnail_set(invocation: Invocation) -> HandlerResult:
|
|
964
|
+
"""Platform admin only: upload or replace a curated template's picture from FILE."""
|
|
965
|
+
slug = _require_text_positional(invocation, "slug", "template slug")
|
|
966
|
+
file_path = _require_text_positional(invocation, "file", "image file path")
|
|
967
|
+
_confirm(invocation, action=f"replace the picture of curated template '{slug}'", target=slug)
|
|
968
|
+
with open_service(invocation) as (service, auth):
|
|
969
|
+
data = service.call(_symbol(invocation), slug=slug, file=file_path)
|
|
970
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
971
|
+
|
|
972
|
+
|
|
973
|
+
def support_template_inspect(invocation: Invocation) -> HandlerResult:
|
|
974
|
+
"""Platform admin only: read a template file (.zip) without importing it."""
|
|
975
|
+
file_path = _require_text_positional(invocation, "file", "template file path")
|
|
976
|
+
with open_service(invocation) as (service, auth):
|
|
977
|
+
data = service.call(_symbol(invocation), file=file_path)
|
|
978
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
def support_template_import(invocation: Invocation) -> HandlerResult:
|
|
982
|
+
"""Platform admin only: import a template file (.zip) as a curated draft. '--yes' required."""
|
|
983
|
+
file_path = _require_text_positional(invocation, "file", "template file path")
|
|
984
|
+
document = _bound_document(invocation)
|
|
985
|
+
kwargs: dict[str, Any] = {"file": file_path}
|
|
986
|
+
_forward_optional(document, kwargs, ("dataset",))
|
|
987
|
+
enforce_confirmation(
|
|
988
|
+
invocation,
|
|
989
|
+
policy=POLICY_YES_ALWAYS,
|
|
990
|
+
action=f"import template file {file_path} into the curated catalog",
|
|
991
|
+
)
|
|
992
|
+
with open_service(invocation) as (service, auth):
|
|
993
|
+
data = service.call(_symbol(invocation), **kwargs)
|
|
994
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
def support_template_snapshots(invocation: Invocation) -> HandlerResult:
|
|
998
|
+
"""Platform admin only: list every stored dataset the template catalog holds."""
|
|
999
|
+
with open_service(invocation) as (service, auth):
|
|
1000
|
+
data = service.call(_symbol(invocation))
|
|
1001
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
def support_template_audit(invocation: Invocation) -> HandlerResult:
|
|
1005
|
+
"""Platform admin only: re-run every curated-catalog gate (read-only)."""
|
|
1006
|
+
with open_service(invocation) as (service, auth):
|
|
1007
|
+
data = service.call(_symbol(invocation))
|
|
1008
|
+
return data, _meta(invocation, auth.workspace_id)
|
|
1009
|
+
|
|
1010
|
+
|
|
1011
|
+
def support_template_export(invocation: Invocation) -> HandlerResult:
|
|
1012
|
+
"""Platform admin only: download a curated template as a .zip template file."""
|
|
1013
|
+
slug = _require_text_positional(invocation, "slug", "template slug")
|
|
1014
|
+
document = _bound_document(invocation)
|
|
1015
|
+
kwargs: dict[str, Any] = {"slug": slug}
|
|
1016
|
+
_forward_optional(document, kwargs, ("output_path", "with_data"))
|
|
1017
|
+
with open_service(invocation) as (service, auth):
|
|
1018
|
+
path = service.call(_symbol(invocation), **kwargs)
|
|
1019
|
+
return {"output_path": str(path)}, _meta(invocation, auth.workspace_id)
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
def support_template_export_dashboard(invocation: Invocation) -> HandlerResult:
|
|
1023
|
+
"""Platform admin only: download a dashboard you can edit as a .zip template file."""
|
|
1024
|
+
dashboard_id = _require_int_positional(invocation, "dashboard id")
|
|
1025
|
+
document = _bound_document(invocation)
|
|
1026
|
+
kwargs: dict[str, Any] = {
|
|
1027
|
+
"dashboard_id": dashboard_id,
|
|
1028
|
+
"slug": _require_field(document, "slug"),
|
|
1029
|
+
}
|
|
1030
|
+
_forward_optional(document, kwargs, ("output_path", "with_data"))
|
|
1031
|
+
with open_service(invocation) as (service, auth):
|
|
1032
|
+
path = service.call(_symbol(invocation), **kwargs)
|
|
1033
|
+
return {"output_path": str(path)}, _meta(invocation, auth.workspace_id)
|