alloy-runtime-cli 0.2.106__tar.gz → 0.2.108__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.
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/PKG-INFO +20 -5
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/README.md +17 -2
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/alloy_runtime_cli.egg-info/PKG-INFO +20 -5
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/alloy_runtime_cli.egg-info/SOURCES.txt +1 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/alloy_runtime_cli.egg-info/requires.txt +2 -2
- alloy_runtime_cli-0.2.108/cli/commands/pipelines/executions/get_command.py +137 -0
- alloy_runtime_cli-0.2.108/cli/commands/pipelines/executions/presenter.py +326 -0
- alloy_runtime_cli-0.2.108/cli/commands/pipelines/executions/reset_step_command.py +79 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/main.py +4 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/pyproject.toml +3 -3
- alloy_runtime_cli-0.2.106/cli/commands/pipelines/executions/get_command.py +0 -77
- alloy_runtime_cli-0.2.106/cli/commands/pipelines/executions/presenter.py +0 -142
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/MANIFEST.in +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/alloy_runtime_cli.egg-info/dependency_links.txt +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/alloy_runtime_cli.egg-info/entry_points.txt +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/alloy_runtime_cli.egg-info/top_level.txt +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/bootstrap_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/credentials/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/credentials/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/credentials/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/credentials/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/credentials/grant/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/credentials/grant/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/credentials/grant/fields.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/admin/credentials/grant/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/create/fields.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/schema_reference_formatting.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/tool_formatting.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/update/fields.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/agents/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/api_keys/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/api_keys/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/api_keys/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/api_keys/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/audio/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/audio/transcribe/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/audio/transcribe/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/audio/transcribe/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/auth/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/auth/login/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/auth/login/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/auth/signup/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/auth/signup/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/by_agent/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/by_agent/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/by_agent/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/by_model/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/by_model/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/by_model/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/daily/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/daily/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/daily/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/summary/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/summary/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/costs/summary/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/billing/projects/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/edit/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/edit/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/edit/editor.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/edit/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/list/export_formatters.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/list/export_handler.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/content/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/create/fields.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/supported/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/supported/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/update/fields.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/credentials/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/executions/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/executions/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/executions/get/transcript_renderer.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/flag_utils.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/cancel/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/cancel/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/cancel/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/status/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/text/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/text/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/text/concurrent_renderer.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/text/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/generate/text/stream_renderer.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/cluster/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/cluster/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/cluster/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/cluster_status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/cluster_status/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/cluster_status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/status/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/collections/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/bulk_metadata/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/bulk_metadata/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/bulk_metadata/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/bulk_reingest_failed/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/bulk_reingest_failed/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/bulk_reingest_failed_status/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/bulk_reingest_failed_status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/count/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/count/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/count/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/ingest/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/ingest/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/ingest/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/reingest/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/reingest/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/reingest/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/documents/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/recover/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/recover/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/recover/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/search/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/search/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/search/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/refresh/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/refresh/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/refresh/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/knowledge/synthesis/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/models/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/models/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/models/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/models/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/organizations/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/organizations/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/organizations/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/ping/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/approvals/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/approvals/decide_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/approvals/get_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/approvals/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/costs/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/costs/daily_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/costs/daily_presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/costs/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/env_vars/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/env_vars/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/env_vars/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/execute/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/execute/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/execute/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/cancel_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/cancel_presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/costs/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/costs/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/costs_by_model/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/costs_by_model/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/costs_by_model/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/costs_by_step/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/list_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/rerun_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/executions/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/create_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/create_presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/delete_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/env_vars_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/env_vars_presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/get_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/list_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/once_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/once_presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/update_command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/schedules/update_presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/pipelines/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/render/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/render/html_to_image/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/render/html_to_image/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/schemas/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/last/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/last/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/last/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/messages/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/messages/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sessions/messages/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/shared_flags.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sync/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sync/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/sync/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tags/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/get_by_version/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/get_by_version/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/render/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/render/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/render/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/validate/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/validate/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/validate/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/version/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/version/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/templates/version/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/update/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tool_configs/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tools/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tools/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tools/get/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tools/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tools/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tools/list/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/tools/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/users/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/users/create/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/users/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/commands/whoami/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/auth_storage.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/client_factory.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/command.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/config.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/console.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/editor.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/error_display.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/field_extractor.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/file_content.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/filter_parser.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/formatters/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/formatters/base.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/formatters/compact_formatter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/formatters/json_formatter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/formatters/table_formatter.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/formatting/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/formatting/fields.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/agent_picker.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/agent_tool_editor.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/agent_tools_manager.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/base_picker.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/components.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/json_schema_builder.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/model_picker.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/parsers.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/resolution_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/schema_picker.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/tag_management_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/tag_picker.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/template_picker.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/tool_config_picker.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/forms/tool_picker.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/help_json.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/help_markdown.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/help_toon.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/injection/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/injection/parser.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/injection/resolver.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/kv_parser.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/local_storage.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/macro_parser.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/output.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/provider_setup.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/renderers/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/renderers/entity_renderer.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/renderers/list_renderer.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/scope_utils.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/spinner.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/tui/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/tui/clipboard.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/tui/formatters.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/tui/preview.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/tui/selectable.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/validation/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/infrastructure/validation/tag_validation.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/app.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/app_store.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/commands/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/commands/base.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/commands/create_session.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/commands/load_session.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/commands/regenerate.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/commands/reload_session.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/commands/send_message.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/commands/undo.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/editor.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/messages.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/pane.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/renderers/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/renderers/base.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/renderers/markdown.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/renderers/plain.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/screen.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/services/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/services/injection.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/services/name_generator.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/slash_commands.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/store.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/types.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/widgets/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/widgets/chat_header.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/widgets/chat_input.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/widgets/injection_popup.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/widgets/message_display.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/widgets/session_sidebar.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/chat/widgets/welcome_screen.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/agents.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/base.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/content.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/dashboard.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/models.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/nav_screen.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/schemas.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/templates.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/screens/tool_configs.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/styles/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/styles/app.tcss +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/styles/browser.tcss +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/styles/chat.tcss +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/styles/dashboard.tcss +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/styles/forms.tcss +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/styles/modals.tcss +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/__init__.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/agent_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/agent_form_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/agent_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/base_form_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/confirm_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/help_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/new_session_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/schema_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/schema_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/status_footer.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/template_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/template_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/tool_config_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/cli/tui/widgets/tool_config_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alloy-runtime-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.108
|
|
4
4
|
Summary: Alloy Runtime CLI - Command-line interface for Alloy Runtime server
|
|
5
5
|
Keywords: alloy,cli,python,terminal,workflow
|
|
6
6
|
Classifier: Development Status :: 3 - Alpha
|
|
@@ -16,8 +16,8 @@ Requires-Dist: textual==8.2.3
|
|
|
16
16
|
Requires-Dist: genson==1.3.0
|
|
17
17
|
Requires-Dist: pyperclip==1.11.0
|
|
18
18
|
Requires-Dist: prompt-toolkit==3.0.52
|
|
19
|
-
Requires-Dist: alloy-runtime-sdk==0.2.
|
|
20
|
-
Requires-Dist: alloy-runtime-types==0.2.
|
|
19
|
+
Requires-Dist: alloy-runtime-sdk==0.2.108
|
|
20
|
+
Requires-Dist: alloy-runtime-types==0.2.108
|
|
21
21
|
Requires-Dist: trogon==0.6.0
|
|
22
22
|
|
|
23
23
|
# alloy-runtime-cli
|
|
@@ -137,10 +137,25 @@ Rerun a failed, timed-out, cancelled, or approval-waiting hosted execution with:
|
|
|
137
137
|
alloy pipelines executions rerun <pipeline_id> <execution_id>
|
|
138
138
|
alloy pipelines executions rerun <pipeline_id> <execution_id> --timeout 1800
|
|
139
139
|
alloy pipelines executions get <pipeline_id> <execution_id>
|
|
140
|
+
alloy pipelines executions get <pipeline_id> <execution_id> --watch
|
|
141
|
+
alloy pipelines executions get <pipeline_id> <execution_id> --watch --timeout 600
|
|
140
142
|
```
|
|
141
143
|
|
|
142
|
-
`
|
|
143
|
-
|
|
144
|
+
`pipelines executions get --watch` polls the aggregate pipeline live-state endpoint and renders a compact current-state view for active child generations. JSON output emits the raw live-state DTO. Regular `pipelines executions get` remains the durable detail surface for result data, stdout/stderr, failure context, and generation-step diagnostics.
|
|
145
|
+
|
|
146
|
+
`rerun` submits a new hosted attempt asynchronously and returns the queued execution state immediately. Poll `get` when you want the terminal result.
|
|
147
|
+
|
|
148
|
+
To regenerate exactly one terminal `ctx.generate_text(step_id="...")` child on the
|
|
149
|
+
next rerun while preserving other completed step cache hits, reset that step first:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
alloy pipelines executions reset-step <pipeline_id> <execution_id> --step-id draft
|
|
153
|
+
alloy pipelines executions rerun <pipeline_id> <execution_id>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`reset-step` is parent-scoped and server-owned. It preserves the child generation
|
|
157
|
+
row, retires only the exact deterministic key for the requested step, and is
|
|
158
|
+
idempotent if the step was already reset.
|
|
144
159
|
|
|
145
160
|
## Configuration
|
|
146
161
|
|
|
@@ -115,10 +115,25 @@ Rerun a failed, timed-out, cancelled, or approval-waiting hosted execution with:
|
|
|
115
115
|
alloy pipelines executions rerun <pipeline_id> <execution_id>
|
|
116
116
|
alloy pipelines executions rerun <pipeline_id> <execution_id> --timeout 1800
|
|
117
117
|
alloy pipelines executions get <pipeline_id> <execution_id>
|
|
118
|
+
alloy pipelines executions get <pipeline_id> <execution_id> --watch
|
|
119
|
+
alloy pipelines executions get <pipeline_id> <execution_id> --watch --timeout 600
|
|
118
120
|
```
|
|
119
121
|
|
|
120
|
-
`
|
|
121
|
-
|
|
122
|
+
`pipelines executions get --watch` polls the aggregate pipeline live-state endpoint and renders a compact current-state view for active child generations. JSON output emits the raw live-state DTO. Regular `pipelines executions get` remains the durable detail surface for result data, stdout/stderr, failure context, and generation-step diagnostics.
|
|
123
|
+
|
|
124
|
+
`rerun` submits a new hosted attempt asynchronously and returns the queued execution state immediately. Poll `get` when you want the terminal result.
|
|
125
|
+
|
|
126
|
+
To regenerate exactly one terminal `ctx.generate_text(step_id="...")` child on the
|
|
127
|
+
next rerun while preserving other completed step cache hits, reset that step first:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
alloy pipelines executions reset-step <pipeline_id> <execution_id> --step-id draft
|
|
131
|
+
alloy pipelines executions rerun <pipeline_id> <execution_id>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
`reset-step` is parent-scoped and server-owned. It preserves the child generation
|
|
135
|
+
row, retires only the exact deterministic key for the requested step, and is
|
|
136
|
+
idempotent if the step was already reset.
|
|
122
137
|
|
|
123
138
|
## Configuration
|
|
124
139
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alloy-runtime-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.108
|
|
4
4
|
Summary: Alloy Runtime CLI - Command-line interface for Alloy Runtime server
|
|
5
5
|
Keywords: alloy,cli,python,terminal,workflow
|
|
6
6
|
Classifier: Development Status :: 3 - Alpha
|
|
@@ -16,8 +16,8 @@ Requires-Dist: textual==8.2.3
|
|
|
16
16
|
Requires-Dist: genson==1.3.0
|
|
17
17
|
Requires-Dist: pyperclip==1.11.0
|
|
18
18
|
Requires-Dist: prompt-toolkit==3.0.52
|
|
19
|
-
Requires-Dist: alloy-runtime-sdk==0.2.
|
|
20
|
-
Requires-Dist: alloy-runtime-types==0.2.
|
|
19
|
+
Requires-Dist: alloy-runtime-sdk==0.2.108
|
|
20
|
+
Requires-Dist: alloy-runtime-types==0.2.108
|
|
21
21
|
Requires-Dist: trogon==0.6.0
|
|
22
22
|
|
|
23
23
|
# alloy-runtime-cli
|
|
@@ -137,10 +137,25 @@ Rerun a failed, timed-out, cancelled, or approval-waiting hosted execution with:
|
|
|
137
137
|
alloy pipelines executions rerun <pipeline_id> <execution_id>
|
|
138
138
|
alloy pipelines executions rerun <pipeline_id> <execution_id> --timeout 1800
|
|
139
139
|
alloy pipelines executions get <pipeline_id> <execution_id>
|
|
140
|
+
alloy pipelines executions get <pipeline_id> <execution_id> --watch
|
|
141
|
+
alloy pipelines executions get <pipeline_id> <execution_id> --watch --timeout 600
|
|
140
142
|
```
|
|
141
143
|
|
|
142
|
-
`
|
|
143
|
-
|
|
144
|
+
`pipelines executions get --watch` polls the aggregate pipeline live-state endpoint and renders a compact current-state view for active child generations. JSON output emits the raw live-state DTO. Regular `pipelines executions get` remains the durable detail surface for result data, stdout/stderr, failure context, and generation-step diagnostics.
|
|
145
|
+
|
|
146
|
+
`rerun` submits a new hosted attempt asynchronously and returns the queued execution state immediately. Poll `get` when you want the terminal result.
|
|
147
|
+
|
|
148
|
+
To regenerate exactly one terminal `ctx.generate_text(step_id="...")` child on the
|
|
149
|
+
next rerun while preserving other completed step cache hits, reset that step first:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
alloy pipelines executions reset-step <pipeline_id> <execution_id> --step-id draft
|
|
153
|
+
alloy pipelines executions rerun <pipeline_id> <execution_id>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`reset-step` is parent-scoped and server-owned. It preserves the child generation
|
|
157
|
+
row, retires only the exact deterministic key for the requested step, and is
|
|
158
|
+
idempotent if the step was already reset.
|
|
144
159
|
|
|
145
160
|
## Configuration
|
|
146
161
|
|
{alloy_runtime_cli-0.2.106 → alloy_runtime_cli-0.2.108}/alloy_runtime_cli.egg-info/SOURCES.txt
RENAMED
|
@@ -237,6 +237,7 @@ cli/commands/pipelines/executions/get_command.py
|
|
|
237
237
|
cli/commands/pipelines/executions/list_command.py
|
|
238
238
|
cli/commands/pipelines/executions/presenter.py
|
|
239
239
|
cli/commands/pipelines/executions/rerun_command.py
|
|
240
|
+
cli/commands/pipelines/executions/reset_step_command.py
|
|
240
241
|
cli/commands/pipelines/executions/costs/__init__.py
|
|
241
242
|
cli/commands/pipelines/executions/costs/command.py
|
|
242
243
|
cli/commands/pipelines/executions/costs/presenter.py
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"""Pipeline execution get command implementation."""
|
|
2
|
+
|
|
3
|
+
import asyncio
|
|
4
|
+
import json
|
|
5
|
+
import time
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
from uuid import UUID
|
|
8
|
+
|
|
9
|
+
import typer
|
|
10
|
+
|
|
11
|
+
from cli.commands.flag_utils import validate_uuid
|
|
12
|
+
from cli.commands.pipelines.executions.presenter import (
|
|
13
|
+
present_execution_detail,
|
|
14
|
+
watch_pipeline_execution_live,
|
|
15
|
+
)
|
|
16
|
+
from cli.infrastructure.command import async_command, authenticated_client
|
|
17
|
+
from cli.infrastructure.output import OutputFormat, OutputService
|
|
18
|
+
|
|
19
|
+
_POLL_INTERVAL_SECONDS = 3.0
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def pipelines_executions_get_command(
|
|
23
|
+
pipeline_id: str = typer.Argument(
|
|
24
|
+
...,
|
|
25
|
+
help="Pipeline UUID",
|
|
26
|
+
),
|
|
27
|
+
execution_id: str = typer.Argument(
|
|
28
|
+
...,
|
|
29
|
+
help="Execution UUID",
|
|
30
|
+
),
|
|
31
|
+
print_logs: bool = typer.Option(
|
|
32
|
+
False,
|
|
33
|
+
"--print-logs",
|
|
34
|
+
help="Print execution logs",
|
|
35
|
+
),
|
|
36
|
+
result_json_file: str | None = typer.Option(
|
|
37
|
+
None,
|
|
38
|
+
"--result-json-file",
|
|
39
|
+
help="Write execution result to JSON file",
|
|
40
|
+
),
|
|
41
|
+
watch: bool = typer.Option(
|
|
42
|
+
False,
|
|
43
|
+
"--watch",
|
|
44
|
+
help="Poll compact live state until the pipeline execution reaches a terminal state",
|
|
45
|
+
),
|
|
46
|
+
timeout: float | None = typer.Option(
|
|
47
|
+
None,
|
|
48
|
+
"--timeout",
|
|
49
|
+
help="Maximum seconds to wait when using --watch (default: wait indefinitely)",
|
|
50
|
+
),
|
|
51
|
+
) -> None:
|
|
52
|
+
"""Get details of a pipeline execution.
|
|
53
|
+
|
|
54
|
+
Examples:
|
|
55
|
+
alloy pipelines executions get 123e4567... 456e7890...
|
|
56
|
+
"""
|
|
57
|
+
if watch and result_json_file is not None:
|
|
58
|
+
raise typer.BadParameter("--result-json-file can only be used without --watch")
|
|
59
|
+
p_uuid = validate_uuid(pipeline_id, "pipeline")
|
|
60
|
+
e_uuid = validate_uuid(execution_id, "execution")
|
|
61
|
+
_execute_get(
|
|
62
|
+
pipeline_id=p_uuid,
|
|
63
|
+
execution_id=e_uuid,
|
|
64
|
+
print_logs=print_logs,
|
|
65
|
+
result_json_file=result_json_file,
|
|
66
|
+
watch=watch,
|
|
67
|
+
timeout=timeout,
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@async_command
|
|
72
|
+
async def _execute_get(
|
|
73
|
+
pipeline_id: UUID,
|
|
74
|
+
execution_id: UUID,
|
|
75
|
+
print_logs: bool,
|
|
76
|
+
result_json_file: str | None,
|
|
77
|
+
watch: bool,
|
|
78
|
+
timeout: float | None,
|
|
79
|
+
) -> None:
|
|
80
|
+
"""Execute get execution operation."""
|
|
81
|
+
async with authenticated_client() as (_config, client):
|
|
82
|
+
if watch:
|
|
83
|
+
output = OutputService.get()
|
|
84
|
+
if output.format == OutputFormat.JSON:
|
|
85
|
+
start_time = time.monotonic() if timeout is not None else None
|
|
86
|
+
last_response = await client.get_pipeline_execution_live_state(
|
|
87
|
+
pipeline_id, execution_id
|
|
88
|
+
)
|
|
89
|
+
while not last_response.is_terminal and not _watch_timed_out(
|
|
90
|
+
start_time=start_time,
|
|
91
|
+
timeout=timeout,
|
|
92
|
+
):
|
|
93
|
+
await asyncio.sleep(_POLL_INTERVAL_SECONDS)
|
|
94
|
+
last_response = await client.get_pipeline_execution_live_state(
|
|
95
|
+
pipeline_id, execution_id
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
if not last_response.is_terminal:
|
|
99
|
+
output.progress(f"Watch timed out after {timeout:.0f}s.")
|
|
100
|
+
output.raw(last_response)
|
|
101
|
+
return
|
|
102
|
+
|
|
103
|
+
await watch_pipeline_execution_live(
|
|
104
|
+
client=client,
|
|
105
|
+
pipeline_id=pipeline_id,
|
|
106
|
+
execution_id=execution_id,
|
|
107
|
+
timeout=timeout,
|
|
108
|
+
)
|
|
109
|
+
return
|
|
110
|
+
|
|
111
|
+
response = await client.get_pipeline_execution(pipeline_id, execution_id)
|
|
112
|
+
|
|
113
|
+
if result_json_file is not None:
|
|
114
|
+
_write_result_json_file(response.execution.result_data, result_json_file)
|
|
115
|
+
|
|
116
|
+
present_execution_detail(response, print_logs=print_logs)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def _write_result_json_file(
|
|
120
|
+
result_data: dict[str, object] | None, output_file: str
|
|
121
|
+
) -> None:
|
|
122
|
+
file_path = Path(output_file).expanduser().resolve()
|
|
123
|
+
file_path.parent.mkdir(parents=True, exist_ok=True)
|
|
124
|
+
file_path.write_text(json.dumps(result_data, indent=2), encoding="utf-8")
|
|
125
|
+
OutputService.get().result(
|
|
126
|
+
action="write",
|
|
127
|
+
resource="pipeline_execution_result",
|
|
128
|
+
extra_fields={"Path": str(file_path)},
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
def _watch_timed_out(start_time: float | None, timeout: float | None) -> bool:
|
|
133
|
+
if timeout is None:
|
|
134
|
+
return False
|
|
135
|
+
if start_time is None:
|
|
136
|
+
raise RuntimeError("watch timeout requires a start time")
|
|
137
|
+
return time.monotonic() - start_time >= timeout
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
"""Presenters for pipeline executions command output."""
|
|
2
|
+
|
|
3
|
+
import asyncio
|
|
4
|
+
import json
|
|
5
|
+
import time
|
|
6
|
+
from typing import Any, cast
|
|
7
|
+
from uuid import UUID
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel
|
|
10
|
+
from rich.live import Live
|
|
11
|
+
from rich.markup import escape
|
|
12
|
+
from rich.text import Text
|
|
13
|
+
|
|
14
|
+
from alloy_runtime_types.dtos.executions import ExecutionLiveStateData
|
|
15
|
+
from alloy_runtime_types.dtos.pipeline import (
|
|
16
|
+
GetPipelineExecutionLiveStateResponse,
|
|
17
|
+
GetPipelineExecutionResponse,
|
|
18
|
+
ListPipelineExecutionsResponse,
|
|
19
|
+
PipelineExecutionDetail,
|
|
20
|
+
PipelineExecutionLiveGenerationStep,
|
|
21
|
+
PipelineGenerationStepAttempt,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
from cli.infrastructure.formatting.fields import format_datetime
|
|
25
|
+
from cli.infrastructure.output import OutputFormat, OutputService
|
|
26
|
+
from cli.infrastructure.renderers.entity_renderer import FieldConfig
|
|
27
|
+
from cli.infrastructure.renderers.list_renderer import ColumnConfig
|
|
28
|
+
|
|
29
|
+
_LIVE_POLL_INTERVAL_SECONDS = 3.0
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def _format_status(status: str) -> str:
|
|
33
|
+
"""Format status with color hints."""
|
|
34
|
+
return status
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _format_duration(duration_ms: int | None) -> Any:
|
|
38
|
+
"""Format duration in human-readable format."""
|
|
39
|
+
if duration_ms is None:
|
|
40
|
+
return cast(str, None)
|
|
41
|
+
if duration_ms < 1000:
|
|
42
|
+
return f"{duration_ms}ms"
|
|
43
|
+
return f"{duration_ms / 1000:.1f}s"
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def _format_optional_datetime(value: Any) -> Any:
|
|
47
|
+
if value is None:
|
|
48
|
+
return cast(str, None)
|
|
49
|
+
return format_datetime(value)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def _format_optional_uuid(value: Any) -> Any:
|
|
53
|
+
if value is None:
|
|
54
|
+
return cast(str, None)
|
|
55
|
+
return str(value)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def _format_json_block(value: dict[str, object] | None) -> Any:
|
|
59
|
+
if value is None:
|
|
60
|
+
return cast(str, None)
|
|
61
|
+
if isinstance(value, BaseModel):
|
|
62
|
+
value = value.model_dump(mode="json")
|
|
63
|
+
return json.dumps(value, indent=2, sort_keys=True, default=str)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def _format_live_phase(phase: str | None) -> str:
|
|
67
|
+
return phase or "—"
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def _format_preview(text: str | None, *, limit: int = 160) -> str:
|
|
71
|
+
if not text:
|
|
72
|
+
return ""
|
|
73
|
+
return text if len(text) <= limit else text[-limit:]
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def _format_active_tools(step: PipelineExecutionLiveGenerationStep) -> str:
|
|
77
|
+
if not step.state.active_tools:
|
|
78
|
+
return ""
|
|
79
|
+
return ", ".join(tool.tool_name for tool in step.state.active_tools)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _format_live_preview(state: ExecutionLiveStateData) -> str:
|
|
83
|
+
preview = _format_preview(state.text_preview) or _format_preview(
|
|
84
|
+
state.reasoning_preview
|
|
85
|
+
)
|
|
86
|
+
return preview.replace("\n", " ")
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def _format_generation_step_id(step: PipelineExecutionLiveGenerationStep) -> str:
|
|
90
|
+
if step.step_id:
|
|
91
|
+
return step.step_id
|
|
92
|
+
return str(step.generation_execution_id)[:8]
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def _format_generation_attempt_id(step: PipelineGenerationStepAttempt) -> str:
|
|
96
|
+
if step.step_id:
|
|
97
|
+
return step.step_id
|
|
98
|
+
return str(step.generation_execution_id)[:8]
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def _format_generation_steps(
|
|
102
|
+
steps: list[PipelineGenerationStepAttempt],
|
|
103
|
+
) -> Any:
|
|
104
|
+
if not steps:
|
|
105
|
+
return cast(str, None)
|
|
106
|
+
lines: list[str] = []
|
|
107
|
+
for step in steps:
|
|
108
|
+
parts = [
|
|
109
|
+
_format_generation_attempt_id(step),
|
|
110
|
+
str(step.generation_execution_id),
|
|
111
|
+
step.status,
|
|
112
|
+
]
|
|
113
|
+
if step.model:
|
|
114
|
+
parts.append(step.model)
|
|
115
|
+
if step.retryable is not None:
|
|
116
|
+
parts.append(f"retryable={step.retryable}")
|
|
117
|
+
if step.provider_reached is not None:
|
|
118
|
+
parts.append(f"provider_reached={step.provider_reached}")
|
|
119
|
+
if step.error_type:
|
|
120
|
+
parts.append(f"error_type={step.error_type}")
|
|
121
|
+
lines.append(" | ".join(parts))
|
|
122
|
+
return "\n".join(lines)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def present_executions_list(response: ListPipelineExecutionsResponse) -> None:
|
|
126
|
+
"""Present list of executions with Rich table formatting."""
|
|
127
|
+
output = OutputService.get()
|
|
128
|
+
|
|
129
|
+
columns = [
|
|
130
|
+
ColumnConfig(
|
|
131
|
+
source_field="id",
|
|
132
|
+
header_label="ID",
|
|
133
|
+
compact_line=1,
|
|
134
|
+
compact_style="cyan",
|
|
135
|
+
),
|
|
136
|
+
ColumnConfig(
|
|
137
|
+
source_field="status",
|
|
138
|
+
header_label="Status",
|
|
139
|
+
formatter=_format_status,
|
|
140
|
+
compact_line=1,
|
|
141
|
+
compact_style="yellow",
|
|
142
|
+
),
|
|
143
|
+
ColumnConfig(
|
|
144
|
+
source_field="total_duration_ms",
|
|
145
|
+
header_label="Duration",
|
|
146
|
+
formatter=_format_duration,
|
|
147
|
+
compact_line=1,
|
|
148
|
+
compact_style="green",
|
|
149
|
+
),
|
|
150
|
+
ColumnConfig(
|
|
151
|
+
source_field="queued_at",
|
|
152
|
+
header_label="Queued",
|
|
153
|
+
formatter=_format_optional_datetime,
|
|
154
|
+
compact_line=2,
|
|
155
|
+
compact_style="blue",
|
|
156
|
+
),
|
|
157
|
+
ColumnConfig(
|
|
158
|
+
source_field="external_id",
|
|
159
|
+
header_label="External ID",
|
|
160
|
+
formatter=lambda x: x if x else cast(str, None),
|
|
161
|
+
compact_line=2,
|
|
162
|
+
compact_style="dim",
|
|
163
|
+
),
|
|
164
|
+
]
|
|
165
|
+
|
|
166
|
+
output.table(
|
|
167
|
+
items=cast(list[BaseModel], response.executions),
|
|
168
|
+
title=f"Executions ({response.total})",
|
|
169
|
+
columns=columns,
|
|
170
|
+
raw_payload=response,
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def _format_tags_from_execution(execution: PipelineExecutionDetail) -> str:
|
|
175
|
+
"""Format tags for display."""
|
|
176
|
+
if not execution.tags:
|
|
177
|
+
return "[]"
|
|
178
|
+
return ", ".join(t.tag_path for t in execution.tags)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
def present_execution_detail(
|
|
182
|
+
response: GetPipelineExecutionResponse, *, print_logs: bool = False
|
|
183
|
+
) -> None:
|
|
184
|
+
"""Present execution details with Rich formatting."""
|
|
185
|
+
output = OutputService.get()
|
|
186
|
+
execution = response.execution
|
|
187
|
+
|
|
188
|
+
fields = [
|
|
189
|
+
FieldConfig("id", "Execution ID", str),
|
|
190
|
+
FieldConfig("pipeline_definition_id", "Pipeline ID", _format_optional_uuid),
|
|
191
|
+
FieldConfig("execution_origin", "Origin"),
|
|
192
|
+
FieldConfig("status", "Status"),
|
|
193
|
+
FieldConfig("external_id", "External ID"),
|
|
194
|
+
FieldConfig("active_attempt_id", "Active Attempt", _format_optional_uuid),
|
|
195
|
+
FieldConfig("attempt_number", "Attempt"),
|
|
196
|
+
FieldConfig("epoch", "Epoch"),
|
|
197
|
+
FieldConfig("queued_at", "Queued At", format_datetime),
|
|
198
|
+
FieldConfig("started_at", "Started At", _format_optional_datetime),
|
|
199
|
+
FieldConfig("last_heartbeat_at", "Last Heartbeat", _format_optional_datetime),
|
|
200
|
+
FieldConfig("completed_at", "Completed At", _format_optional_datetime),
|
|
201
|
+
FieldConfig("total_duration_ms", "Duration", lambda v: _format_duration(v)),
|
|
202
|
+
FieldConfig("error_message", "Error"),
|
|
203
|
+
FieldConfig("tags", "Tags", lambda _: _format_tags_from_execution(execution)),
|
|
204
|
+
]
|
|
205
|
+
|
|
206
|
+
if execution.failure_context is not None:
|
|
207
|
+
fields.append(
|
|
208
|
+
FieldConfig("failure_context", "Failure Context", _format_json_block)
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
if execution.generation_steps:
|
|
212
|
+
fields.append(
|
|
213
|
+
FieldConfig(
|
|
214
|
+
"generation_steps", "Generation Steps", _format_generation_steps
|
|
215
|
+
)
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
if execution.result_data is not None:
|
|
219
|
+
fields.append(FieldConfig("result_data", "Result Data", _format_json_block))
|
|
220
|
+
|
|
221
|
+
if print_logs and execution.execution_stdout is not None:
|
|
222
|
+
fields.append(FieldConfig("execution_stdout", "Stdout"))
|
|
223
|
+
|
|
224
|
+
if print_logs and execution.execution_stderr is not None:
|
|
225
|
+
fields.append(FieldConfig("execution_stderr", "Stderr"))
|
|
226
|
+
|
|
227
|
+
output.entity(
|
|
228
|
+
execution,
|
|
229
|
+
f"Execution: {execution.status}",
|
|
230
|
+
fields,
|
|
231
|
+
raw_payload=response,
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
def present_pipeline_execution_live_state(
|
|
236
|
+
response: GetPipelineExecutionLiveStateResponse,
|
|
237
|
+
) -> None:
|
|
238
|
+
output = OutputService.get()
|
|
239
|
+
if output.format == OutputFormat.JSON:
|
|
240
|
+
output.raw(response)
|
|
241
|
+
return
|
|
242
|
+
output.text(escape(_render_live_state_text(response)))
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
async def watch_pipeline_execution_live(
|
|
246
|
+
*,
|
|
247
|
+
client: Any,
|
|
248
|
+
pipeline_id: UUID,
|
|
249
|
+
execution_id: UUID,
|
|
250
|
+
timeout: float | None,
|
|
251
|
+
) -> None:
|
|
252
|
+
output = OutputService.get()
|
|
253
|
+
start_time = time.monotonic() if timeout is not None else None
|
|
254
|
+
response = await client.get_pipeline_execution_live_state(pipeline_id, execution_id)
|
|
255
|
+
|
|
256
|
+
with Live(
|
|
257
|
+
_to_live_state_renderable(response),
|
|
258
|
+
console=output.console,
|
|
259
|
+
auto_refresh=False,
|
|
260
|
+
refresh_per_second=4,
|
|
261
|
+
vertical_overflow="ellipsis",
|
|
262
|
+
transient=False,
|
|
263
|
+
redirect_stdout=False,
|
|
264
|
+
redirect_stderr=False,
|
|
265
|
+
) as live:
|
|
266
|
+
live.refresh()
|
|
267
|
+
while not response.is_terminal:
|
|
268
|
+
if _watch_timed_out(start_time=start_time, timeout=timeout):
|
|
269
|
+
output.progress(f"Watch timed out after {timeout:.0f}s.")
|
|
270
|
+
return
|
|
271
|
+
await asyncio.sleep(_LIVE_POLL_INTERVAL_SECONDS)
|
|
272
|
+
response = await client.get_pipeline_execution_live_state(
|
|
273
|
+
pipeline_id, execution_id
|
|
274
|
+
)
|
|
275
|
+
live.update(_to_live_state_renderable(response), refresh=True)
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
def _to_live_state_renderable(response: GetPipelineExecutionLiveStateResponse) -> Text:
|
|
279
|
+
return Text(_render_live_state_text(response))
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
def _render_live_state_text(response: GetPipelineExecutionLiveStateResponse) -> str:
|
|
283
|
+
lines = [
|
|
284
|
+
(
|
|
285
|
+
f"Pipeline execution {response.pipeline_execution_id} · {response.status} "
|
|
286
|
+
f"· terminal={response.is_terminal}"
|
|
287
|
+
),
|
|
288
|
+
(
|
|
289
|
+
f"attempt={response.attempt_number or '—'} epoch={response.epoch or '—'} "
|
|
290
|
+
f"running={response.running_generation_count} "
|
|
291
|
+
f"tools={response.active_tool_count} live={response.live_state_status}"
|
|
292
|
+
),
|
|
293
|
+
(f"{'Step':<24} {'State':<24} Details"),
|
|
294
|
+
(f"{'-' * 24} {'-' * 24} {'-' * 48}"),
|
|
295
|
+
]
|
|
296
|
+
|
|
297
|
+
if not response.generation_steps:
|
|
298
|
+
lines.append(
|
|
299
|
+
f"{'—':<24} {f'{response.status} / —':<24} "
|
|
300
|
+
f"model=— live={response.live_state_status}; "
|
|
301
|
+
f"activity={_format_optional_datetime(response.latest_live_state_updated_at) or '—'}; "
|
|
302
|
+
f"tools={response.active_tool_count}; no child generation live rows yet"
|
|
303
|
+
)
|
|
304
|
+
return "\n".join(lines)
|
|
305
|
+
|
|
306
|
+
for step in response.generation_steps:
|
|
307
|
+
details = (
|
|
308
|
+
f"model={step.model or '—'} live={step.live_state_status}; "
|
|
309
|
+
f"activity={_format_optional_datetime(step.last_activity_at or step.updated_at) or '—'}; "
|
|
310
|
+
f"tools={_format_active_tools(step) or '—'}; "
|
|
311
|
+
f"preview={_format_live_preview(step.state) or '—'}"
|
|
312
|
+
)
|
|
313
|
+
lines.append(
|
|
314
|
+
f"{_format_generation_step_id(step):<24} "
|
|
315
|
+
f"{f'{step.status} / {_format_live_phase(step.phase)}':<24} "
|
|
316
|
+
f"{details}"
|
|
317
|
+
)
|
|
318
|
+
return "\n".join(lines)
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
def _watch_timed_out(start_time: float | None, timeout: float | None) -> bool:
|
|
322
|
+
if timeout is None:
|
|
323
|
+
return False
|
|
324
|
+
if start_time is None:
|
|
325
|
+
raise RuntimeError("watch timeout requires a start time")
|
|
326
|
+
return time.monotonic() - start_time >= timeout
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"""Pipeline execution reset-step command implementation."""
|
|
2
|
+
|
|
3
|
+
from uuid import UUID
|
|
4
|
+
|
|
5
|
+
import typer
|
|
6
|
+
|
|
7
|
+
from alloy_runtime_types.dtos.pipeline import ResetPipelineExecutionStepResponse
|
|
8
|
+
from cli.commands.flag_utils import validate_uuid
|
|
9
|
+
from cli.infrastructure.command import async_command, authenticated_client
|
|
10
|
+
from cli.infrastructure.output import OutputFormat, OutputService
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def pipelines_executions_reset_step_command(
|
|
14
|
+
pipeline_id: str = typer.Argument(..., help="Pipeline UUID"),
|
|
15
|
+
execution_id: str = typer.Argument(
|
|
16
|
+
...,
|
|
17
|
+
help="Parent pipeline execution UUID whose deterministic step key should be reset",
|
|
18
|
+
),
|
|
19
|
+
step_id: str = typer.Option(
|
|
20
|
+
...,
|
|
21
|
+
"--step-id",
|
|
22
|
+
help="Pipeline ctx.generate_text step_id to regenerate on the next rerun.",
|
|
23
|
+
),
|
|
24
|
+
) -> None:
|
|
25
|
+
"""Reset one pipeline generation step before rerunning the parent execution.
|
|
26
|
+
|
|
27
|
+
This is a server-owned override for failed, timed-out, cancelled, or
|
|
28
|
+
approval-paused parent executions. It preserves the generation row and retires
|
|
29
|
+
only the deterministic idempotency key for the requested step.
|
|
30
|
+
|
|
31
|
+
Example:
|
|
32
|
+
alloy pipelines executions reset-step 123e4567... 456e7890... --step-id draft
|
|
33
|
+
"""
|
|
34
|
+
p_uuid = validate_uuid(pipeline_id, "pipeline")
|
|
35
|
+
e_uuid = validate_uuid(execution_id, "execution")
|
|
36
|
+
_execute_reset_step(pipeline_id=p_uuid, execution_id=e_uuid, step_id=step_id)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@async_command
|
|
40
|
+
async def _execute_reset_step(
|
|
41
|
+
pipeline_id: UUID,
|
|
42
|
+
execution_id: UUID,
|
|
43
|
+
step_id: str,
|
|
44
|
+
) -> None:
|
|
45
|
+
"""Execute reset-step pipeline operation."""
|
|
46
|
+
async with authenticated_client() as (_config, client):
|
|
47
|
+
response = await client.reset_pipeline_execution_step(
|
|
48
|
+
pipeline_id,
|
|
49
|
+
execution_id,
|
|
50
|
+
step_id=step_id,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
present_pipeline_execution_reset_step(response)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def present_pipeline_execution_reset_step(
|
|
57
|
+
response: ResetPipelineExecutionStepResponse,
|
|
58
|
+
) -> None:
|
|
59
|
+
"""Present reset-step result."""
|
|
60
|
+
output = OutputService.get()
|
|
61
|
+
if output.format == OutputFormat.JSON:
|
|
62
|
+
output.raw(response)
|
|
63
|
+
return
|
|
64
|
+
|
|
65
|
+
output.result(
|
|
66
|
+
action="reset-step",
|
|
67
|
+
resource="pipeline_execution_step",
|
|
68
|
+
status=response.status,
|
|
69
|
+
identifier=str(response.generation_execution_id),
|
|
70
|
+
name=response.step_id,
|
|
71
|
+
extra_fields={
|
|
72
|
+
"Pipeline ID": str(response.pipeline_id),
|
|
73
|
+
"Pipeline Execution ID": str(response.pipeline_execution_id),
|
|
74
|
+
"Step ID": response.step_id,
|
|
75
|
+
"Previous External ID": response.previous_external_id,
|
|
76
|
+
"Already Reset": response.already_reset,
|
|
77
|
+
"Next Action": response.next_action,
|
|
78
|
+
},
|
|
79
|
+
)
|