mammoth-cli 2.2.14__tar.gz → 2.2.16__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.14 → mammoth_cli-2.2.16}/PKG-INFO +2 -2
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/__init__.py +1 -1
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +1 -1
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/activity.py +12 -15
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/schema.py +31 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/view.py +22 -1
- mammoth_cli-2.2.16/mammoth_cli/services/local_time.py +19 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/pyproject.toml +2 -2
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/workflow.yaml +5 -4
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/schema-v1.json +1 -1
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/sdk-catalog.source.yaml +5 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/sdk-methods.yaml +2 -2
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/.gitignore +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/LICENSE +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/README.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/__main__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/app.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-style.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-template.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/link.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/database-import.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/addon.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/agent.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/ai.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/annotation.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/auth.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/automation.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/batch.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/billing.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/browse.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/calc.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/capability.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/client_app.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/completion.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/config.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/connector.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/context.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/dashboard.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/data_app.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/dataset.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/doctor.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/external_key.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/file.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/folder.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/job.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/link.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/notification.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/parameter.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/project.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/registry.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/report.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/schedule.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/skill.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/snippet.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/support.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/template.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/trash.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/upgrade.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/user.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/view_ops.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/view_profile.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/webhook.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/workflow.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/commands/workspace.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/credentials.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/endpoint.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/profiles.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/context/resolver.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/contracts/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/contracts/auth.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/embed.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/errors/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/errors/envelope.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/manifest/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/manifest/loader.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/messages/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/envelope.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/normalize.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/policy.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/progress.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/output/render.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/py.typed +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/confirm.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/dataset_health.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/dryrun.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/dryrun_targets.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/embedded.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/executor.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/input_loader.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/intent_only.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/invocation.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/new_data.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/options.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/parents.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/runlog.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/session.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/state.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/strict.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/updates.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/validate.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/runtime/verify.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/argspec.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/board_values.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/coerce.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/command_contract.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/conditions.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/dashboard_filters.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/dashboard_pages.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/dashboard_review.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/data_profile.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/data_quality.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/dispatch.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/factory.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/input_fields.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/listing.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/mapping.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/openapi_types.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/positionals.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/protocol.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/read_queries.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/sdk_service.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/stored_stats.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/testing.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/text_dates.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/type_system.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/services/write_impact.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/skills/__init__.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/skills/installer.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/skills/steering.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/testing.py +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/activity.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/addon.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/agent.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/ai.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/annotation.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/auth.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/automation.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/batch.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/billing.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/browse.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/calc.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/capability.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/client-app.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/completion.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/config.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/connector.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/context.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/dashboard.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/data-app.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/dataset.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/doctor.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/external-key.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/file.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/folder.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/job.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/link.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/log.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/notification.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/parameter.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/project.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/report.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/schedule.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/schema.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/skill.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/snippet.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/support.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/template.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/trash.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/upgrade.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/user.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/version.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/view.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/webhook.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/commands/workspace.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/edits-target.source.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/manifests/openapi-operations.yaml +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/spec/openapi/metadata.json +0 -0
- {mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/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.16
|
|
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.15
|
|
21
21
|
Requires-Dist: platformdirs<5,>=4.10
|
|
22
22
|
Requires-Dist: pydantic<3,>=2.12.5
|
|
23
23
|
Requires-Dist: pyyaml<7,>=6
|
|
@@ -46,7 +46,7 @@ Status on release: untried; no live run recorded.
|
|
|
46
46
|
|
|
47
47
|
Run: `mammoth workflow canvas`. Exact input fields: `mammoth schema get workflow.canvas`.
|
|
48
48
|
|
|
49
|
-
Example: `mammoth workflow canvas
|
|
49
|
+
Example: `mammoth workflow canvas 12 --input '{"canvas_state": {"proposed_changes": [{"op": "add_view", "dataset_id": 415, "name": "Urgent tickets", "ref": "urgent"}, {"op": "send_to_new_dataset", "dataset_id": 415, "view_ref": "urgent", "name": "Urgent tickets by team"}]}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
50
50
|
|
|
51
51
|
Result: `WorkflowCanvasResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
|
|
52
52
|
|
|
@@ -26,6 +26,7 @@ from mammoth_cli.manifest.loader import command_by_id
|
|
|
26
26
|
from mammoth_cli.runtime.invocation import Invocation
|
|
27
27
|
from mammoth_cli.runtime.session import open_service, resolved_project
|
|
28
28
|
from mammoth_cli.services.command_contract import bind_command_inputs
|
|
29
|
+
from mammoth_cli.services.local_time import local_time
|
|
29
30
|
|
|
30
31
|
HandlerResult = tuple[Any, dict[str, Any]]
|
|
31
32
|
|
|
@@ -164,6 +165,9 @@ def _meta(invocation: Invocation, workspace_id: int, project_id: int | None) ->
|
|
|
164
165
|
_WORKSPACE_USERS_SYMBOL = "mammoth.api.workspace.WorkspaceAPI.list_users"
|
|
165
166
|
_TIME_FORMAT = "%Y-%m-%d %H:%M:%S"
|
|
166
167
|
_EPOCH = "1970-01-01 00:00:00"
|
|
168
|
+
# The route's default fields carry every entry's full details (tens of KB per page);
|
|
169
|
+
# a change list needs only these. ``path`` names the dataset and view by name and id.
|
|
170
|
+
_LIST_FIELDS = "id,category,name_key,primary_object,result,created_at,user_id,path"
|
|
167
171
|
|
|
168
172
|
|
|
169
173
|
def _close_time_window(kwargs: dict[str, Any]) -> str | None:
|
|
@@ -184,19 +188,6 @@ def _close_time_window(kwargs: dict[str, Any]) -> str | None:
|
|
|
184
188
|
return f"start_time was not given; the window starts at {_EPOCH} UTC."
|
|
185
189
|
|
|
186
190
|
|
|
187
|
-
def _local_time(stamp: Any) -> str | None:
|
|
188
|
-
"""A ``created_at`` (UTC if it has no offset) as ISO in this machine's timezone."""
|
|
189
|
-
if not isinstance(stamp, str):
|
|
190
|
-
return None
|
|
191
|
-
try:
|
|
192
|
-
moment = datetime.fromisoformat(stamp)
|
|
193
|
-
except ValueError:
|
|
194
|
-
return stamp
|
|
195
|
-
if moment.tzinfo is None:
|
|
196
|
-
moment = moment.replace(tzinfo=UTC)
|
|
197
|
-
return moment.astimezone().isoformat(timespec="seconds")
|
|
198
|
-
|
|
199
|
-
|
|
200
191
|
def _user_emails(service: Any) -> dict[Any, str]:
|
|
201
192
|
"""Workspace users by id; empty when the caller may not list them."""
|
|
202
193
|
try:
|
|
@@ -206,6 +197,11 @@ def _user_emails(service: Any) -> dict[Any, str]:
|
|
|
206
197
|
return {u["id"]: u["email"] for u in users if isinstance(u, dict) and u.get("email")}
|
|
207
198
|
|
|
208
199
|
|
|
200
|
+
def _readable_path(path: Any) -> str | None:
|
|
201
|
+
"""The entry's ``workspace:name:id/project:name:id/dataset:name:id/...`` chain."""
|
|
202
|
+
return path.strip('{}"') if isinstance(path, str) else None
|
|
203
|
+
|
|
204
|
+
|
|
209
205
|
def _change(entry: dict[str, Any], emails: dict[Any, str]) -> dict[str, Any]:
|
|
210
206
|
"""One log entry as a line of a change list: when, who, what, on which object."""
|
|
211
207
|
raw_details = entry.get("details")
|
|
@@ -214,13 +210,14 @@ def _change(entry: dict[str, Any], emails: dict[Any, str]) -> dict[str, Any]:
|
|
|
214
210
|
primary: dict[str, Any] = raw_primary if isinstance(raw_primary, dict) else {}
|
|
215
211
|
user_id = entry.get("user_id")
|
|
216
212
|
change = {
|
|
217
|
-
"when":
|
|
213
|
+
"when": local_time(entry.get("created_at")),
|
|
218
214
|
"user_id": user_id,
|
|
219
215
|
"user": emails.get(user_id),
|
|
220
216
|
"action": entry.get("name_key"),
|
|
221
217
|
"category": entry.get("category"),
|
|
222
218
|
"object": {"name": primary.get("name"), "resource_id": primary.get("resource_id")},
|
|
223
219
|
"result": entry.get("result"),
|
|
220
|
+
"path": _readable_path(entry.get("path")),
|
|
224
221
|
}
|
|
225
222
|
if details.get("task_name"):
|
|
226
223
|
change["task"] = details["task_name"]
|
|
@@ -248,7 +245,7 @@ def activity_list(invocation: Invocation) -> HandlerResult:
|
|
|
248
245
|
"""
|
|
249
246
|
document = _bound_document(invocation)
|
|
250
247
|
_refuse_bare_resource_id(document)
|
|
251
|
-
kwargs: dict[str, Any] = {}
|
|
248
|
+
kwargs: dict[str, Any] = {"fields": _LIST_FIELDS}
|
|
252
249
|
_forward_optional(document, kwargs, _LIST_OPTIONAL)
|
|
253
250
|
note = _close_time_window(kwargs)
|
|
254
251
|
with open_service(invocation) as (service, auth):
|
|
@@ -47,6 +47,27 @@ _PROTECTED_INPUT_PATH = "/private/path/request.json"
|
|
|
47
47
|
_FIXED_EXAMPLES: dict[str, tuple[tuple[str, ...], dict[str, Any]]] = {
|
|
48
48
|
"project.check": (("123", "456"), {}),
|
|
49
49
|
"view.data.profile": (("123",), {"target": "Churn"}),
|
|
50
|
+
"workflow.canvas": (
|
|
51
|
+
("12",),
|
|
52
|
+
{
|
|
53
|
+
"canvas_state": {
|
|
54
|
+
"proposed_changes": [
|
|
55
|
+
{
|
|
56
|
+
"op": "add_view",
|
|
57
|
+
"dataset_id": 415,
|
|
58
|
+
"name": "Urgent tickets",
|
|
59
|
+
"ref": "urgent",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"op": "send_to_new_dataset",
|
|
63
|
+
"dataset_id": 415,
|
|
64
|
+
"view_ref": "urgent",
|
|
65
|
+
"name": "Urgent tickets by team",
|
|
66
|
+
},
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
),
|
|
50
71
|
"view.data.compare": (
|
|
51
72
|
("111", "222"),
|
|
52
73
|
{
|
|
@@ -564,6 +585,16 @@ _COMMAND_DISCOVERY_PURPOSES = {
|
|
|
564
585
|
),
|
|
565
586
|
"project.memory.list": "remembered saved preferences what do you remember memory",
|
|
566
587
|
"project.memory.remove": "forget remove delete saved preference memory",
|
|
588
|
+
# A workflow's shape can be proposed for the user to review and Save on the
|
|
589
|
+
# canvas; neither this nor naming a workflow was findable from the way users
|
|
590
|
+
# ask (Workflow Zoo QA 10-02: "rename workflow" found column renames).
|
|
591
|
+
"workflow.canvas": (
|
|
592
|
+
"propose suggest sketch draft plan review approve save structural changes "
|
|
593
|
+
"to a workflow pipeline shape on the canvas new views datasets send to join "
|
|
594
|
+
"export for the user to review"
|
|
595
|
+
),
|
|
596
|
+
"workflow.update": "rename name describe a workflow pipeline purpose notes summary",
|
|
597
|
+
"workflow.create": "name an unnamed workflow pipeline from the root dataset new workflow",
|
|
567
598
|
}
|
|
568
599
|
|
|
569
600
|
# A compact string scope is retained for existing discovery consumers. These
|
|
@@ -57,6 +57,7 @@ from mammoth_cli.services.conditions import CONDITION_KWARG, compile_condition
|
|
|
57
57
|
from mammoth_cli.services.dashboard_review import UPLOAD_NOTE, upload_hints
|
|
58
58
|
from mammoth_cli.services.data_quality import column_warnings, duplicate_rows_fact
|
|
59
59
|
from mammoth_cli.services.listing import DATASET_LIST_FIELDS, compact_view_list
|
|
60
|
+
from mammoth_cli.services.local_time import local_time
|
|
60
61
|
from mammoth_cli.services.read_queries import ReadContext
|
|
61
62
|
|
|
62
63
|
HandlerResult = tuple[Any, dict[str, Any]]
|
|
@@ -2604,10 +2605,30 @@ def view_version_list(invocation: Invocation) -> HandlerResult:
|
|
|
2604
2605
|
_forward_optional(document, kwargs, ("fields", "sort", "limit", "offset", "name"))
|
|
2605
2606
|
with open_service(invocation) as (service, auth):
|
|
2606
2607
|
kwargs["dataset_id"] = _resolve_dataset_id(service, invocation, dataview_id, document)
|
|
2607
|
-
data = service.call(_symbol(invocation), **kwargs)
|
|
2608
|
+
data = _with_version_times(service.call(_symbol(invocation), **kwargs))
|
|
2608
2609
|
return data, _meta(invocation, auth.workspace_id, project_id)
|
|
2609
2610
|
|
|
2610
2611
|
|
|
2612
|
+
def _with_version_times(data: Any) -> Any:
|
|
2613
|
+
"""Give each version a ``when`` with an explicit offset.
|
|
2614
|
+
|
|
2615
|
+
``created_at`` is naive UTC and the server-made ``name`` ("30-Sep-2026 11:17 AM")
|
|
2616
|
+
is that same UTC wall time, so neither can be shown to a user as local time.
|
|
2617
|
+
"""
|
|
2618
|
+
versions = data.get("versions") if isinstance(data, dict) else None
|
|
2619
|
+
if not isinstance(versions, list):
|
|
2620
|
+
return data
|
|
2621
|
+
stamped = [
|
|
2622
|
+
{**v, "when": local_time(v.get("created_at"))} if isinstance(v, dict) else v
|
|
2623
|
+
for v in versions
|
|
2624
|
+
]
|
|
2625
|
+
return {
|
|
2626
|
+
**data,
|
|
2627
|
+
"versions": stamped,
|
|
2628
|
+
"time_note": "created_at and the version name are UTC; `when` carries its offset.",
|
|
2629
|
+
}
|
|
2630
|
+
|
|
2631
|
+
|
|
2611
2632
|
def view_version_update(invocation: Invocation) -> HandlerResult:
|
|
2612
2633
|
"""Update one pipeline version by id. ``body`` is required."""
|
|
2613
2634
|
project_id = require_project(invocation)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Timestamps from the backend are naive UTC; show them with an explicit offset."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from datetime import UTC, datetime
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def local_time(stamp: Any) -> str | None:
|
|
10
|
+
"""A timestamp (UTC if it has no offset) as ISO in this machine's timezone."""
|
|
11
|
+
if not isinstance(stamp, str):
|
|
12
|
+
return None
|
|
13
|
+
try:
|
|
14
|
+
moment = datetime.fromisoformat(stamp)
|
|
15
|
+
except ValueError:
|
|
16
|
+
return stamp
|
|
17
|
+
if moment.tzinfo is None:
|
|
18
|
+
moment = moment.replace(tzinfo=UTC)
|
|
19
|
+
return moment.astimezone().isoformat(timespec="seconds")
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mammoth-cli"
|
|
3
|
-
version = "2.2.
|
|
3
|
+
version = "2.2.16"
|
|
4
4
|
description = "Command-line interface for the Mammoth Analytics platform"
|
|
5
5
|
authors = [{name = "Mammoth Analytics", email = "support@mammoth.io"}]
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
license = "LicenseRef-Proprietary"
|
|
8
8
|
requires-python = ">=3.12,<3.15"
|
|
9
9
|
dependencies = [
|
|
10
|
-
"mammoth-io (>=0.8.
|
|
10
|
+
"mammoth-io (>=0.8.15,<0.9)",
|
|
11
11
|
"typer (>=0.27,<0.28)",
|
|
12
12
|
"rich (>=15,<16)",
|
|
13
13
|
"platformdirs (>=4.10,<5)",
|
|
@@ -222,6 +222,7 @@ commands:
|
|
|
222
222
|
result_model: WorkflowCanvasResult
|
|
223
223
|
mutation_class: benign_mutation
|
|
224
224
|
edits_target: true
|
|
225
|
+
proposal_input: canvas_state.proposed_changes
|
|
225
226
|
confirmation: none
|
|
226
227
|
wait_policy: not_async
|
|
227
228
|
pagination_policy: none
|
|
@@ -232,7 +233,7 @@ commands:
|
|
|
232
233
|
required_fixture_guard: null
|
|
233
234
|
secret_fields: []
|
|
234
235
|
human_example: mammoth workflow canvas WORKFLOW_ID --help
|
|
235
|
-
agent_example:
|
|
236
|
+
agent_example: "mammoth workflow canvas 12 --input '{\"canvas_state\": {\"proposed_changes\": [{\"op\": \"add_view\", \"dataset_id\": 415, \"name\": \"Urgent tickets\", \"ref\": \"urgent\"}, {\"op\": \"send_to_new_dataset\", \"dataset_id\": 415, \"view_ref\": \"urgent\", \"name\": \"Urgent tickets by team\"}]}}'"
|
|
236
237
|
unit_tests:
|
|
237
238
|
- UT-WORKFLOW-CANVAS
|
|
238
239
|
contract_tests:
|
|
@@ -241,7 +242,7 @@ commands:
|
|
|
241
242
|
- CT-WORKFLOW-CANVAS-ERROR
|
|
242
243
|
draft_test: null
|
|
243
244
|
undo_test: null
|
|
244
|
-
known_restrictions:
|
|
245
|
+
known_restrictions: "Proposes structural changes to a workflow for the user to review and Save on the Workflows canvas; nothing is built until they Save. Use it when the user asks to suggest, sketch or draft a workflow's shape, or wants to review first. It cannot add filters, calculations or other tasks: when any part of the request needs tasks or data, build the whole request with view commands instead. WORKFLOW_ID is the workflow's record id (URL id w12 is record 12); an unnamed workflow has none, so name it first with workflow create --seed_datasource_id. Input: {\"canvas_state\": {\"proposed_changes\": [...]}}, each change one of (integer ids from workflow graph): {op: add_view, dataset_id, name, ref?}; {op: rename_view, dataset_id, view_id, name}; {op: trash_view, dataset_id, view_id}; {op: rename_dataset, dataset_id, name}; {op: trash_dataset, dataset_id}; {op: send_to_new_dataset, dataset_id, view_id, name, ref?}; {op: send_to_dataset, dataset_id, view_id, target_dataset_id}; {op: join, dataset_id, view_id, with_dataset_id, with_view_id}; {op: export, dataset_id, view_id, connector}. A later change in the same call can point at something an earlier one proposes: give the earlier change a ref, then use view_ref, dataset_ref or target_dataset_ref in place of the id (a new dataset's ref also names its first view), so a whole shape is proposed in one call. Join and export arrive needing setup. Tell the user the changes wait on the canvas for their review."
|
|
245
246
|
reviewed_by: primary
|
|
246
247
|
readback:
|
|
247
248
|
command: workflow.get
|
|
@@ -326,7 +327,7 @@ commands:
|
|
|
326
327
|
- CT-WORKFLOW-CREATE-ERROR
|
|
327
328
|
draft_test: null
|
|
328
329
|
undo_test: null
|
|
329
|
-
known_restrictions:
|
|
330
|
+
known_restrictions: "With seed_datasource_id set to a workflow's root dataset id (workflow graph lists each workflow's datasets), names that existing unnamed workflow and returns its record id; without it, starts a new empty workflow."
|
|
330
331
|
reviewed_by: primary
|
|
331
332
|
readback:
|
|
332
333
|
command: workflow.get
|
|
@@ -571,7 +572,7 @@ commands:
|
|
|
571
572
|
- CT-WORKFLOW-UPDATE-ERROR
|
|
572
573
|
draft_test: null
|
|
573
574
|
undo_test: null
|
|
574
|
-
known_restrictions:
|
|
575
|
+
known_restrictions: "WORKFLOW_ID is the workflow's record id: URL id w12 is record 12. An unnamed workflow (base64 URL id) has no record; name it with workflow create --seed_datasource_id <its root dataset id> instead."
|
|
575
576
|
reviewed_by: primary
|
|
576
577
|
readback:
|
|
577
578
|
command: workflow.get
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
"contract_tests": {"type": "array", "items": {"$ref": "#/$defs/no_placeholder"}, "minItems": 1},
|
|
211
211
|
"draft_test": {"type": ["string", "null"]},
|
|
212
212
|
"undo_test": {"type": ["string", "null"]},
|
|
213
|
-
"known_restrictions": {"type": ["string", "null"]},
|
|
213
|
+
"known_restrictions": {"type": ["string", "null"]}, "proposal_input": {"type": "string", "minLength": 1},
|
|
214
214
|
"reviewed_by": {"$ref": "#/$defs/no_placeholder"}
|
|
215
215
|
},
|
|
216
216
|
"allOf": [
|
|
@@ -3875,11 +3875,14 @@ sdk_methods:
|
|
|
3875
3875
|
openapi_operation_ids: []
|
|
3876
3876
|
- sdk_symbol: mammoth.api.workflows.WorkflowsAPI.canvas
|
|
3877
3877
|
canonical_command: workflow.canvas
|
|
3878
|
+
proposal_input: canvas_state.proposed_changes
|
|
3878
3879
|
alias_of: null
|
|
3879
3880
|
mutation_class: null
|
|
3880
3881
|
wait_policy: null
|
|
3881
3882
|
pagination_policy: null
|
|
3882
3883
|
openapi_operation_ids: []
|
|
3884
|
+
agent_example: "mammoth workflow canvas 12 --input '{\"canvas_state\": {\"proposed_changes\": [{\"op\": \"add_view\", \"dataset_id\": 415, \"name\": \"Urgent tickets\", \"ref\": \"urgent\"}, {\"op\": \"send_to_new_dataset\", \"dataset_id\": 415, \"view_ref\": \"urgent\", \"name\": \"Urgent tickets by team\"}]}}'"
|
|
3885
|
+
notes: "Proposes structural changes to a workflow for the user to review and Save on the Workflows canvas; nothing is built until they Save. Use it when the user asks to suggest, sketch or draft a workflow's shape, or wants to review first. It cannot add filters, calculations or other tasks: when any part of the request needs tasks or data, build the whole request with view commands instead. WORKFLOW_ID is the workflow's record id (URL id w12 is record 12); an unnamed workflow has none, so name it first with workflow create --seed_datasource_id. Input: {\"canvas_state\": {\"proposed_changes\": [...]}}, each change one of (integer ids from workflow graph): {op: add_view, dataset_id, name, ref?}; {op: rename_view, dataset_id, view_id, name}; {op: trash_view, dataset_id, view_id}; {op: rename_dataset, dataset_id, name}; {op: trash_dataset, dataset_id}; {op: send_to_new_dataset, dataset_id, view_id, name, ref?}; {op: send_to_dataset, dataset_id, view_id, target_dataset_id}; {op: join, dataset_id, view_id, with_dataset_id, with_view_id}; {op: export, dataset_id, view_id, connector}. A later change in the same call can point at something an earlier one proposes: give the earlier change a ref, then use view_ref, dataset_ref or target_dataset_ref in place of the id (a new dataset's ref also names its first view), so a whole shape is proposed in one call. Join and export arrive needing setup. Tell the user the changes wait on the canvas for their review."
|
|
3883
3886
|
- sdk_symbol: mammoth.api.workflows.WorkflowsAPI.cleanup
|
|
3884
3887
|
canonical_command: workflow.cleanup
|
|
3885
3888
|
alias_of: null
|
|
@@ -3894,6 +3897,7 @@ sdk_methods:
|
|
|
3894
3897
|
wait_policy: null
|
|
3895
3898
|
pagination_policy: null
|
|
3896
3899
|
openapi_operation_ids: []
|
|
3900
|
+
notes: "With seed_datasource_id set to a workflow's root dataset id (workflow graph lists each workflow's datasets), names that existing unnamed workflow and returns its record id; without it, starts a new empty workflow."
|
|
3897
3901
|
- sdk_symbol: mammoth.api.workflows.WorkflowsAPI.delete
|
|
3898
3902
|
canonical_command: workflow.delete
|
|
3899
3903
|
alias_of: null
|
|
@@ -3936,6 +3940,7 @@ sdk_methods:
|
|
|
3936
3940
|
wait_policy: null
|
|
3937
3941
|
pagination_policy: null
|
|
3938
3942
|
openapi_operation_ids: []
|
|
3943
|
+
notes: "WORKFLOW_ID is the workflow's record id: URL id w12 is record 12. An unnamed workflow (base64 URL id) has no record; name it with workflow create --seed_datasource_id <its root dataset id> instead."
|
|
3939
3944
|
- sdk_symbol: mammoth.api.workflows.WorkflowsAPI.workspace_datasets
|
|
3940
3945
|
canonical_command: workflow.workspace-datasets
|
|
3941
3946
|
alias_of: null
|
|
@@ -428,8 +428,8 @@ methods:
|
|
|
428
428
|
''int | None'' = None, categories: ''list[Any] | None'' = None, activities: ''list[Any] | None''
|
|
429
429
|
= None, resource_id: ''str | None'' = None, result: ''str | None'' = None, start_time: ''str |
|
|
430
430
|
None'' = None, end_time: ''str | None'' = None, origin: ''str | None'' = None, user_ids: ''list[Any]
|
|
431
|
-
| None'' = None, parent_id: ''int | None'' = None, search_text: ''str | None'' = None
|
|
432
|
-
Any]'''
|
|
431
|
+
| None'' = None, parent_id: ''int | None'' = None, search_text: ''str | None'' = None, fields: ''str | None'' = None)
|
|
432
|
+
-> ''dict[str, Any]'''
|
|
433
433
|
openapi_operation_ids: []
|
|
434
434
|
canonical_command: activity.list
|
|
435
435
|
alias_of: null
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mammoth_cli-2.2.14 → mammoth_cli-2.2.16}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|