mammoth-cli 2.1.7__tar.gz → 2.2.1__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.1.7 → mammoth_cli-2.2.1}/PKG-INFO +2 -2
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/__init__.py +1 -1
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/app.py +13 -1
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/command-index.md +2 -2
- mammoth_cli-2.2.1/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +133 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/agent.py +59 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/dataset.py +12 -1
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/registry.py +8 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/embed.py +8 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/invocation.py +1 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/input_fields.py +14 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/positionals.py +24 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/sdk_service.py +10 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/pyproject.toml +2 -2
- mammoth_cli-2.2.1/spec/manifests/commands/agent.yaml +534 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/edits-target.source.yaml +5 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/sdk-catalog.source.yaml +56 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/sdk-methods.yaml +96 -0
- mammoth_cli-2.1.7/mammoth_cli/bundled_skill/mammoth-cli/references/commands/agent.md +0 -53
- mammoth_cli-2.1.7/spec/manifests/commands/agent.yaml +0 -206
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/.gitignore +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/LICENSE +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/README.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/__main__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/SKILL.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/about-mammoth.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/auth.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities-misc.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/capabilities.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/activity.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/addon.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/ai.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/annotation.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/auth.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/automation.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/batch.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/billing.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/browse.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/calc.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/capability.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/client-app.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/completion.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/config.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/connector.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/context.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-qa.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard-style.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dashboard.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/data-app.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/dataset.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/doctor.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/external-key.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/file.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/folder.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/job.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/log.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/notification.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/parameter.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/project.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/report.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schedule.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/schema.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/skill.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/snippet.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/support.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/template.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/trash.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/upgrade.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/user.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/version.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view-transform.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/view.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/webhook.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workflow.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/commands/workspace.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/handoff.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/input.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/jobs-drafts.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/machine-output.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/operations.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/auth-scope.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/cleanup.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/dashboards.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/end-to-end.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/exports.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/index.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/need-action.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/resources.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/scheduling.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/transforms.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recipes/typed-etl-discovery.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/recovery.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/report-checklist.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/retention.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/safety.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/bundled_skill/mammoth-cli/references/task-start.md +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/activity.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/addon.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/ai.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/annotation.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/auth.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/automation.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/batch.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/billing.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/browse.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/calc.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/capability.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/client_app.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/completion.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/config.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/connector.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/context.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/dashboard.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/data_app.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/doctor.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/external_key.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/file.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/folder.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/job.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/notification.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/parameter.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/project.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/report.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/schedule.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/schema.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/skill.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/snippet.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/support.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/template.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/trash.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/upgrade.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/user.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/view.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/view_ops.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/view_profile.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/webhook.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/workflow.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/commands/workspace.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/credentials.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/endpoint.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/profiles.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/context/resolver.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/contracts/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/contracts/auth.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/errors/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/errors/envelope.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/manifest/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/manifest/loader.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/messages/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/envelope.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/normalize.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/policy.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/progress.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/output/render.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/py.typed +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/confirm.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/dataset_health.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/dryrun.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/dryrun_targets.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/embedded.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/executor.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/input_loader.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/intent_only.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/new_data.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/options.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/parents.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/runlog.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/session.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/state.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/strict.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/updates.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/validate.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/runtime/verify.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/argspec.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/board_values.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/coerce.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/command_contract.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/conditions.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/dashboard_filters.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/dashboard_pages.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/dashboard_review.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/data_profile.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/data_quality.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/dispatch.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/factory.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/listing.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/mapping.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/openapi_types.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/protocol.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/read_queries.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/stored_stats.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/testing.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/text_dates.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/type_system.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/services/write_impact.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/skills/__init__.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/skills/installer.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/skills/steering.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/mammoth_cli/testing.py +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/activity.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/addon.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/ai.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/annotation.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/auth.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/automation.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/batch.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/billing.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/browse.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/calc.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/capability.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/client-app.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/completion.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/config.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/connector.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/context.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/dashboard.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/data-app.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/dataset.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/doctor.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/external-key.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/file.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/folder.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/job.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/log.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/notification.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/parameter.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/project.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/report.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/schedule.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/schema.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/skill.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/snippet.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/support.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/template.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/trash.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/upgrade.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/user.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/version.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/view.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/webhook.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/workflow.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/commands/workspace.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/openapi-operations.yaml +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/manifests/schema-v1.json +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/openapi/metadata.json +0 -0
- {mammoth_cli-2.1.7 → mammoth_cli-2.2.1}/spec/openapi/openapi.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mammoth-cli
|
|
3
|
-
Version: 2.1
|
|
3
|
+
Version: 2.2.1
|
|
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.3
|
|
21
21
|
Requires-Dist: platformdirs<5,>=4.10
|
|
22
22
|
Requires-Dist: pydantic<3,>=2.12.5
|
|
23
23
|
Requires-Dist: pyyaml<7,>=6
|
|
@@ -61,7 +61,7 @@ OUTPUT_MODES = VALID_OUTPUTS
|
|
|
61
61
|
_GROUP_DESCRIPTIONS = {
|
|
62
62
|
"activity": "Inspect workspace activity and audit history.",
|
|
63
63
|
"addon": "Manage workspace add-ons.",
|
|
64
|
-
"agent": "Work with Mammoth agent sessions and
|
|
64
|
+
"agent": "Work with Mammoth agent sessions, the changes a chat made, and its runs.",
|
|
65
65
|
"ai": "Generate AI-assisted expressions and conditions.",
|
|
66
66
|
"annotation": "Manage annotations on Mammoth resources.",
|
|
67
67
|
"auth": "Sign in, sign out, and inspect credentials.",
|
|
@@ -557,6 +557,18 @@ def _shared_option_params() -> list[inspect.Parameter]:
|
|
|
557
557
|
),
|
|
558
558
|
],
|
|
559
559
|
),
|
|
560
|
+
opt(
|
|
561
|
+
"session",
|
|
562
|
+
None,
|
|
563
|
+
Annotated[
|
|
564
|
+
str | None,
|
|
565
|
+
typer.Option(
|
|
566
|
+
"--session",
|
|
567
|
+
help="Agent chat session id for 'agent action' and 'agent run' commands.",
|
|
568
|
+
rich_help_panel="Context and timeouts",
|
|
569
|
+
),
|
|
570
|
+
],
|
|
571
|
+
),
|
|
560
572
|
opt(
|
|
561
573
|
"timeout",
|
|
562
574
|
None,
|
|
@@ -1,12 +1,12 @@
|
|
|
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 588; 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
|
|
|
7
7
|
- [activity](commands/activity.md) — 2 published commands
|
|
8
8
|
- [addon](commands/addon.md) — 7 published commands
|
|
9
|
-
- [agent](commands/agent.md) —
|
|
9
|
+
- [agent](commands/agent.md) — 13 published commands
|
|
10
10
|
- [ai](commands/ai.md) — 5 published commands
|
|
11
11
|
- [annotation](commands/annotation.md) — 5 published commands
|
|
12
12
|
- [auth](commands/auth.md) — 3 published commands
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# `agent` commands
|
|
2
|
+
|
|
3
|
+
Every command returns the standard JSON envelope. On nonzero exit, read the error envelope and its `recovery_commands`; do not guess request fields. "Status on release" is joined from `docs/release-capability-matrix.json`: *ran once* means one bounded live run succeeded on the named CLI release, *untried* means nobody has run it, *not supported* means the backend refuses it. When this file disagrees with [capabilities](../capabilities.md) or a recipe, they win. Envelope shapes: [machine output](../machine-output.md).
|
|
4
|
+
|
|
5
|
+
### `agent.action.delete`
|
|
6
|
+
|
|
7
|
+
Run: `mammoth agent action delete`. Exact input fields: `mammoth schema get agent.action.delete`.
|
|
8
|
+
|
|
9
|
+
Example: `mammoth agent action delete resource-123`. Illustrative only: append `--yes` after observing an owned target.
|
|
10
|
+
|
|
11
|
+
Result: `AgentActionDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
|
|
12
|
+
|
|
13
|
+
Status on release: untried; no live run recorded.
|
|
14
|
+
|
|
15
|
+
### `agent.action.list`
|
|
16
|
+
|
|
17
|
+
Run: `mammoth agent action list`. Exact input fields: `mammoth schema get agent.action.list`.
|
|
18
|
+
|
|
19
|
+
Example: `mammoth agent action list`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
20
|
+
|
|
21
|
+
Result: `AgentActionListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
22
|
+
|
|
23
|
+
Status on release: untried; no live run recorded.
|
|
24
|
+
|
|
25
|
+
### `agent.chat`
|
|
26
|
+
|
|
27
|
+
Run: `mammoth agent chat`. Exact input fields: `mammoth schema get agent.chat`.
|
|
28
|
+
|
|
29
|
+
Example: `mammoth agent chat --input '{"message": "Summarize revenue by region", "scope": {"sample_key": "Status"}}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
30
|
+
|
|
31
|
+
Result: `AgentChatResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
|
|
32
|
+
|
|
33
|
+
Status on release: untried; no live run recorded.
|
|
34
|
+
|
|
35
|
+
### `agent.run.extend`
|
|
36
|
+
|
|
37
|
+
Run: `mammoth agent run extend`. Exact input fields: `mammoth schema get agent.run.extend`.
|
|
38
|
+
|
|
39
|
+
Example: `mammoth agent run extend resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
40
|
+
|
|
41
|
+
Result: `AgentRunExtendResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
|
|
42
|
+
|
|
43
|
+
Status on release: untried; no live run recorded.
|
|
44
|
+
|
|
45
|
+
### `agent.run.list`
|
|
46
|
+
|
|
47
|
+
Run: `mammoth agent run list`. Exact input fields: `mammoth schema get agent.run.list`.
|
|
48
|
+
|
|
49
|
+
Example: `mammoth agent run list`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
50
|
+
|
|
51
|
+
Result: `AgentRunListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
52
|
+
|
|
53
|
+
Status on release: untried; no live run recorded.
|
|
54
|
+
|
|
55
|
+
### `agent.run.pause`
|
|
56
|
+
|
|
57
|
+
Run: `mammoth agent run pause`. Exact input fields: `mammoth schema get agent.run.pause`.
|
|
58
|
+
|
|
59
|
+
Example: `mammoth agent run pause resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
60
|
+
|
|
61
|
+
Result: `AgentRunPauseResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
|
|
62
|
+
|
|
63
|
+
Status on release: untried; no live run recorded.
|
|
64
|
+
|
|
65
|
+
### `agent.run.resume`
|
|
66
|
+
|
|
67
|
+
Run: `mammoth agent run resume`. Exact input fields: `mammoth schema get agent.run.resume`.
|
|
68
|
+
|
|
69
|
+
Example: `mammoth agent run resume resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
70
|
+
|
|
71
|
+
Result: `AgentRunResumeResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
|
|
72
|
+
|
|
73
|
+
Status on release: untried; no live run recorded.
|
|
74
|
+
|
|
75
|
+
### `agent.run.status`
|
|
76
|
+
|
|
77
|
+
Run: `mammoth agent run status`. Exact input fields: `mammoth schema get agent.run.status`.
|
|
78
|
+
|
|
79
|
+
Example: `mammoth agent run status`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
80
|
+
|
|
81
|
+
Result: `AgentRunStatusResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
82
|
+
|
|
83
|
+
Status on release: untried; no live run recorded.
|
|
84
|
+
|
|
85
|
+
### `agent.run.stop`
|
|
86
|
+
|
|
87
|
+
Run: `mammoth agent run stop`. Exact input fields: `mammoth schema get agent.run.stop`.
|
|
88
|
+
|
|
89
|
+
Example: `mammoth agent run stop resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
90
|
+
|
|
91
|
+
Result: `AgentRunStopResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
|
|
92
|
+
|
|
93
|
+
Status on release: untried; no live run recorded.
|
|
94
|
+
|
|
95
|
+
### `agent.session.delete`
|
|
96
|
+
|
|
97
|
+
Run: `mammoth agent session delete`. Exact input fields: `mammoth schema get agent.session.delete`.
|
|
98
|
+
|
|
99
|
+
Example: `mammoth agent session delete resource-123`. Illustrative only: append `--yes` after observing an owned target.
|
|
100
|
+
|
|
101
|
+
Result: `AgentSessionDeleteResult`; mutation `destructive`, confirmation `prompt_or_yes`, wait policy `not_async`.
|
|
102
|
+
|
|
103
|
+
Status on release: untried; no live run recorded.
|
|
104
|
+
|
|
105
|
+
### `agent.session.list`
|
|
106
|
+
|
|
107
|
+
Run: `mammoth agent session list`. Exact input fields: `mammoth schema get agent.session.list`.
|
|
108
|
+
|
|
109
|
+
Example: `mammoth agent session list`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
110
|
+
|
|
111
|
+
Result: `AgentSessionListResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
112
|
+
|
|
113
|
+
Status on release: ran once on CLI 2.0.11 — Read-only sweep 2026-09-18: exit 0 on release with CLI 2.0.11; result keys: sessions. Single read only; no fixture variants, error envelopes, or write paths assessed.
|
|
114
|
+
|
|
115
|
+
### `agent.session.messages`
|
|
116
|
+
|
|
117
|
+
Run: `mammoth agent session messages`. Exact input fields: `mammoth schema get agent.session.messages`.
|
|
118
|
+
|
|
119
|
+
Example: `mammoth agent session messages resource-123`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
120
|
+
|
|
121
|
+
Result: `AgentSessionMessagesResult`; mutation `read`, confirmation `none`, wait policy `not_async`.
|
|
122
|
+
|
|
123
|
+
Status on release: untried; no live run recorded.
|
|
124
|
+
|
|
125
|
+
### `agent.session.set-visibility`
|
|
126
|
+
|
|
127
|
+
Run: `mammoth agent session set-visibility`. Exact input fields: `mammoth schema get agent.session.set-visibility`.
|
|
128
|
+
|
|
129
|
+
Example: `mammoth agent session set-visibility resource-123 --input '{"visibility": "sample"}'`. Placeholders are illustrative; resolve IDs and input from observed reads.
|
|
130
|
+
|
|
131
|
+
Result: `AgentSessionSetVisibilityResult`; mutation `benign_mutation`, confirmation `none`, wait policy `not_async`.
|
|
132
|
+
|
|
133
|
+
Status on release: untried; no live run recorded.
|
|
@@ -204,3 +204,62 @@ def agent_session_set_visibility(invocation: Invocation) -> HandlerResult:
|
|
|
204
204
|
with open_service(invocation) as (service, auth):
|
|
205
205
|
data = service.call(_symbol(invocation), session_id=session_id, visibility=visibility)
|
|
206
206
|
return data, _meta(invocation, auth.workspace_id, resolved_project(invocation))
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
def _require_session(invocation: Invocation) -> str:
|
|
210
|
+
"""Return the agent chat session id, raising when none was given.
|
|
211
|
+
|
|
212
|
+
An embedded call gets the embedding chat's session as ``--session`` from
|
|
213
|
+
:func:`mammoth_cli.embed.invoke`; outside that, the caller passes it.
|
|
214
|
+
|
|
215
|
+
Raises:
|
|
216
|
+
CliError: ``missing_argument`` when no session id is set.
|
|
217
|
+
"""
|
|
218
|
+
if not invocation.session:
|
|
219
|
+
raise CliError(
|
|
220
|
+
code=CODE_MISSING_ARGUMENT,
|
|
221
|
+
message="This command requires a session id.",
|
|
222
|
+
exit_status=EXIT_USAGE,
|
|
223
|
+
hint="Pass --session SESSION_ID (see 'mammoth agent session list').",
|
|
224
|
+
)
|
|
225
|
+
return invocation.session
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
def _session_call(invocation: Invocation, **ids: str) -> HandlerResult:
|
|
229
|
+
"""Call this command's SDK method on the session plus any extra ids."""
|
|
230
|
+
session_id = _require_session(invocation)
|
|
231
|
+
with open_service(invocation) as (service, auth):
|
|
232
|
+
data = service.call(_symbol(invocation), session_id=session_id, **ids)
|
|
233
|
+
return data, _meta(invocation, auth.workspace_id, resolved_project(invocation))
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
def agent_action_list(invocation: Invocation) -> HandlerResult:
|
|
237
|
+
"""List the changes one agent chat session made."""
|
|
238
|
+
return _session_call(invocation)
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
def agent_action_delete(invocation: Invocation) -> HandlerResult:
|
|
242
|
+
"""Delete one object the chat created, by action id. Prompt or ``--yes`` required."""
|
|
243
|
+
action_id = _require_string_positional(invocation, "action id")
|
|
244
|
+
enforce_confirmation(
|
|
245
|
+
invocation, policy=POLICY_PROMPT_OR_YES, action=f"delete what agent action {action_id} made"
|
|
246
|
+
)
|
|
247
|
+
return _session_call(invocation, action_id=action_id)
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
def agent_run_status(invocation: Invocation) -> HandlerResult:
|
|
251
|
+
"""Show the current run of one agent chat session."""
|
|
252
|
+
return _session_call(invocation)
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
def agent_run_list(invocation: Invocation) -> HandlerResult:
|
|
256
|
+
"""List the runs of one agent chat session."""
|
|
257
|
+
return _session_call(invocation)
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
def _run_control(invocation: Invocation) -> HandlerResult:
|
|
261
|
+
"""Pause, resume, stop or extend one run; the SDK method is the manifest's."""
|
|
262
|
+
return _session_call(invocation, run_id=_require_string_positional(invocation, "run id"))
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
agent_run_pause = agent_run_resume = agent_run_stop = agent_run_extend = _run_control
|
|
@@ -681,12 +681,23 @@ def dataset_delete(invocation: Invocation) -> HandlerResult:
|
|
|
681
681
|
if hint is not None:
|
|
682
682
|
action = f"{action}. {hint}"
|
|
683
683
|
enforce_confirmation(invocation, policy=POLICY_PROMPT_OR_YES, action=action)
|
|
684
|
-
|
|
684
|
+
ack = service.call(_symbol(invocation), dataset_id=dataset_id, project_id=project_id)
|
|
685
|
+
# The server acknowledges a delete with a job handle. Settle it here so
|
|
686
|
+
# the handle's id is kept as ``job.id`` (the shape ``view delete`` has).
|
|
687
|
+
data = _with_job(ack, service.wait_if_job(ack))
|
|
685
688
|
if hint is not None and isinstance(data, dict):
|
|
686
689
|
data = {**data, "hint": hint}
|
|
687
690
|
return data, _meta(invocation, auth.workspace_id, project_id)
|
|
688
691
|
|
|
689
692
|
|
|
693
|
+
def _with_job(handle: Any, settled: Any) -> Any:
|
|
694
|
+
"""Return the settled result with the acknowledged job's id as ``job.id``."""
|
|
695
|
+
job_id = handle.get("job_id") if isinstance(handle, dict) else None
|
|
696
|
+
if job_id is None or not isinstance(settled, dict):
|
|
697
|
+
return settled
|
|
698
|
+
return {**settled, "job": {"id": job_id}}
|
|
699
|
+
|
|
700
|
+
|
|
690
701
|
def dataset_bulk_delete(invocation: Invocation) -> HandlerResult:
|
|
691
702
|
"""Permanently delete the listed datasets. ``dataset_ids`` from ``--input``; ``--yes`` required.
|
|
692
703
|
|
|
@@ -535,7 +535,15 @@ HANDLERS: dict[str, Handler] = {
|
|
|
535
535
|
"schedule.update": schedule_cmd.schedule_update,
|
|
536
536
|
"schedule.delete": schedule_cmd.schedule_delete,
|
|
537
537
|
# agent family
|
|
538
|
+
"agent.action.delete": agent_cmd.agent_action_delete,
|
|
539
|
+
"agent.action.list": agent_cmd.agent_action_list,
|
|
538
540
|
"agent.chat": agent_cmd.agent_chat,
|
|
541
|
+
"agent.run.extend": agent_cmd.agent_run_extend,
|
|
542
|
+
"agent.run.list": agent_cmd.agent_run_list,
|
|
543
|
+
"agent.run.pause": agent_cmd.agent_run_pause,
|
|
544
|
+
"agent.run.resume": agent_cmd.agent_run_resume,
|
|
545
|
+
"agent.run.status": agent_cmd.agent_run_status,
|
|
546
|
+
"agent.run.stop": agent_cmd.agent_run_stop,
|
|
539
547
|
"agent.session.delete": agent_cmd.agent_session_delete,
|
|
540
548
|
"agent.session.list": agent_cmd.agent_session_list,
|
|
541
549
|
"agent.session.messages": agent_cmd.agent_session_messages,
|
|
@@ -39,6 +39,7 @@ def invoke(
|
|
|
39
39
|
*,
|
|
40
40
|
login: ExplicitLogin,
|
|
41
41
|
project_id: int | None = None,
|
|
42
|
+
session_id: str | None = None,
|
|
42
43
|
timeout: float | None = None,
|
|
43
44
|
pipeline_timeout: float | None = None,
|
|
44
45
|
job_timeout: float | None = None,
|
|
@@ -52,6 +53,9 @@ def invoke(
|
|
|
52
53
|
login: The credentials, endpoint and extra headers for this call.
|
|
53
54
|
project_id: The active project, sent as ``--project`` unless ``args``
|
|
54
55
|
already names one.
|
|
56
|
+
session_id: The embedding chat's session, sent as ``--session`` unless
|
|
57
|
+
``args`` already names one; ``agent action`` and ``agent run``
|
|
58
|
+
commands act on it, so the model never has to know its id.
|
|
55
59
|
timeout: Per-request timeout in seconds, sent as ``--timeout`` unless
|
|
56
60
|
``args`` already sets one.
|
|
57
61
|
pipeline_timeout: Pipeline wait timeout in seconds, sent as
|
|
@@ -68,6 +72,7 @@ def invoke(
|
|
|
68
72
|
argv = _argv(
|
|
69
73
|
args,
|
|
70
74
|
project_id=project_id,
|
|
75
|
+
session_id=session_id,
|
|
71
76
|
timeout=timeout,
|
|
72
77
|
pipeline_timeout=pipeline_timeout,
|
|
73
78
|
job_timeout=job_timeout,
|
|
@@ -92,11 +97,14 @@ def _argv(
|
|
|
92
97
|
pipeline_timeout: float | None,
|
|
93
98
|
job_timeout: float | None,
|
|
94
99
|
return_running: bool,
|
|
100
|
+
session_id: str | None = None,
|
|
95
101
|
) -> list[str]:
|
|
96
102
|
"""``args`` plus the options an embedded call always runs with."""
|
|
97
103
|
argv = list(args)
|
|
98
104
|
if project_id is not None and not _has_option(argv, "--project"):
|
|
99
105
|
argv += ["--project", str(project_id)]
|
|
106
|
+
if session_id is not None and not _has_option(argv, "--session"):
|
|
107
|
+
argv += ["--session", session_id]
|
|
100
108
|
if timeout is not None and not _has_option(argv, "--timeout"):
|
|
101
109
|
argv += ["--timeout", str(timeout)]
|
|
102
110
|
if pipeline_timeout is not None and not _has_option(argv, "--pipeline-timeout"):
|
|
@@ -7,6 +7,20 @@ from typing import Any
|
|
|
7
7
|
from mammoth_cli.services.positionals import resolve_positionals
|
|
8
8
|
|
|
9
9
|
_HANDLER_OWNED_FIELDS: dict[str, frozenset[str]] = {
|
|
10
|
+
# The chat session comes from the global ``--session`` option.
|
|
11
|
+
**{
|
|
12
|
+
f"agent.{command}": frozenset({"session_id"})
|
|
13
|
+
for command in (
|
|
14
|
+
"action.list",
|
|
15
|
+
"action.delete",
|
|
16
|
+
"run.status",
|
|
17
|
+
"run.list",
|
|
18
|
+
"run.pause",
|
|
19
|
+
"run.resume",
|
|
20
|
+
"run.stop",
|
|
21
|
+
"run.extend",
|
|
22
|
+
)
|
|
23
|
+
},
|
|
10
24
|
# Skill handlers deliberately derive filesystem roots from the running
|
|
11
25
|
# process and generate their own backup timestamp. User input must not
|
|
12
26
|
# claim to control values that the handlers replace or omit.
|
|
@@ -127,6 +127,30 @@ def _optional_project_id() -> tuple[PositionalSpec, ...]:
|
|
|
127
127
|
# Commands whose positionals the signature cannot express correctly. Each entry
|
|
128
128
|
# replaces the derivation wholesale; the drift test proves the union is right.
|
|
129
129
|
POSITIONAL_OVERRIDES: dict[str, tuple[PositionalSpec, ...]] = {
|
|
130
|
+
# The chat session is the global ``--session`` option, never a positional or
|
|
131
|
+
# an --input field; only the action or run being addressed is positional.
|
|
132
|
+
"agent.action.list": (),
|
|
133
|
+
"agent.run.status": (),
|
|
134
|
+
"agent.run.list": (),
|
|
135
|
+
"agent.action.delete": (
|
|
136
|
+
PositionalSpec(
|
|
137
|
+
name="action_id",
|
|
138
|
+
type=str,
|
|
139
|
+
required=True,
|
|
140
|
+
help="ID of the recorded action (from agent action list).",
|
|
141
|
+
),
|
|
142
|
+
),
|
|
143
|
+
**{
|
|
144
|
+
f"agent.run.{verb}": (
|
|
145
|
+
PositionalSpec(
|
|
146
|
+
name="run_id",
|
|
147
|
+
type=str,
|
|
148
|
+
required=True,
|
|
149
|
+
help="ID of the run (from agent run status or agent run list).",
|
|
150
|
+
),
|
|
151
|
+
)
|
|
152
|
+
for verb in ("pause", "resume", "stop", "extend")
|
|
153
|
+
},
|
|
130
154
|
"dashboard.assess-twb": (
|
|
131
155
|
PositionalSpec(
|
|
132
156
|
name="file",
|
|
@@ -16,6 +16,7 @@ from __future__ import annotations
|
|
|
16
16
|
|
|
17
17
|
import asyncio
|
|
18
18
|
import inspect
|
|
19
|
+
import os
|
|
19
20
|
import re
|
|
20
21
|
import threading
|
|
21
22
|
from collections.abc import Callable
|
|
@@ -73,6 +74,10 @@ def _unrecognized_expression_token(message: str, expression: Any) -> str:
|
|
|
73
74
|
return token or expression
|
|
74
75
|
|
|
75
76
|
|
|
77
|
+
AGENT_RUN_ENV = "MAMMOTH_AGENT_RUN"
|
|
78
|
+
AGENT_RUN_HEADER = "X-Mammoth-Agent-Run"
|
|
79
|
+
|
|
80
|
+
|
|
76
81
|
class SdkMammothService:
|
|
77
82
|
"""Production :class:`~mammoth_cli.services.protocol.MammothService`."""
|
|
78
83
|
|
|
@@ -141,6 +146,11 @@ class SdkMammothService:
|
|
|
141
146
|
# After construction: the client sets its credential headers in
|
|
142
147
|
# ``__init__``, and a forwarded session must replace them.
|
|
143
148
|
self._client.session.headers.update(auth.headers)
|
|
149
|
+
run_id = os.environ.get(AGENT_RUN_ENV, "").strip()
|
|
150
|
+
if run_id:
|
|
151
|
+
# A leg of a durable agent run names its run, so the server can
|
|
152
|
+
# refuse the run's own resume and extend.
|
|
153
|
+
self._client.session.headers[AGENT_RUN_HEADER] = run_id
|
|
144
154
|
if project_id is not None:
|
|
145
155
|
self._client.set_project_id(project_id)
|
|
146
156
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mammoth-cli"
|
|
3
|
-
version = "2.1
|
|
3
|
+
version = "2.2.1"
|
|
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.3,<0.9)",
|
|
11
11
|
"typer (>=0.27,<0.28)",
|
|
12
12
|
"rich (>=15,<16)",
|
|
13
13
|
"platformdirs (>=4.10,<5)",
|