alloy-runtime-cli 0.2.44__tar.gz → 0.2.46__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.44 → alloy_runtime_cli-0.2.46}/PKG-INFO +14 -3
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/README.md +11 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/alloy_runtime_cli.egg-info/PKG-INFO +14 -3
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/alloy_runtime_cli.egg-info/SOURCES.txt +4 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/alloy_runtime_cli.egg-info/requires.txt +2 -2
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/get/presenter.py +2 -1
- alloy_runtime_cli-0.2.46/cli/commands/agents/tool_formatting.py +25 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/update/fields.py +3 -3
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/status/presenter.py +18 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/text/command.py +9 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/text/presenter.py +66 -2
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/shared_flags.py +6 -0
- alloy_runtime_cli-0.2.46/cli/commands/templates/validate/command.py +82 -0
- alloy_runtime_cli-0.2.46/cli/commands/templates/validate/presenter.py +126 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/agent_tool_editor.py +24 -5
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/main.py +2 -0
- alloy_runtime_cli-0.2.46/cli/tui/widgets/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/pyproject.toml +3 -3
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/MANIFEST.in +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/alloy_runtime_cli.egg-info/dependency_links.txt +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/alloy_runtime_cli.egg-info/entry_points.txt +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/alloy_runtime_cli.egg-info/top_level.txt +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/bootstrap_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/credentials/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/credentials/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/credentials/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/credentials/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/credentials/grant/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/credentials/grant/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/credentials/grant/fields.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/admin/credentials/grant/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/create/fields.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/agents/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/api_keys/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/api_keys/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/api_keys/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/api_keys/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/audio/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/audio/transcribe/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/audio/transcribe/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/audio/transcribe/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/auth/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/auth/login/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/auth/login/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/auth/signup/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/auth/signup/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/by_agent/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/by_agent/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/by_agent/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/by_model/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/by_model/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/by_model/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/daily/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/daily/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/daily/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/summary/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/summary/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/costs/summary/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/billing/projects/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/edit/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/edit/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/edit/editor.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/edit/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/list/export_formatters.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/list/export_handler.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/content/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/create/fields.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/supported/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/supported/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/update/fields.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/credentials/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/flag_utils.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/cancel/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/cancel/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/cancel/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/status/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/text/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/text/concurrent_renderer.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/text/stream_renderer.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/cluster/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/cluster/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/cluster/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/cluster_status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/cluster_status/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/cluster_status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/status/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/collections/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/bulk_metadata/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/bulk_metadata/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/bulk_metadata/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/bulk_reingest_failed/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/bulk_reingest_failed/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/ingest/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/ingest/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/ingest/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/reingest/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/reingest/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/reingest/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/documents/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/recover/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/recover/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/recover/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/search/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/search/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/search/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/refresh/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/refresh/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/refresh/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/knowledge/synthesis/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/models/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/models/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/models/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/models/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/organizations/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/organizations/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/organizations/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/ping/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/approvals/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/approvals/decide_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/approvals/get_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/approvals/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/costs/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/costs/daily_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/costs/daily_presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/costs/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/env_vars/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/env_vars/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/env_vars/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/execute/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/execute/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/execute/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/costs/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/costs/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/costs_by_model/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/costs_by_model/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/costs_by_model/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/costs_by_step/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/get_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/list_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/rerun_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/executions/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/create_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/create_presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/delete_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/env_vars_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/env_vars_presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/get_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/list_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/once_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/once_presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/update_command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/schedules/update_presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/pipelines/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/render/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/render/html_to_image/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/render/html_to_image/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/schemas/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/messages/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/messages/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sessions/messages/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sync/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sync/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/sync/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tags/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/get_by_version/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/get_by_version/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/render/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/render/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/render/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/commands/tool_configs → alloy_runtime_cli-0.2.46/cli/commands/templates/validate}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/version/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/version/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/templates/version/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/commands/tool_configs/create → alloy_runtime_cli-0.2.46/cli/commands/tool_configs}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/commands/tool_configs/delete → alloy_runtime_cli-0.2.46/cli/commands/tool_configs/create}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/commands/tool_configs/get → alloy_runtime_cli-0.2.46/cli/commands/tool_configs/delete}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/commands/tool_configs/list → alloy_runtime_cli-0.2.46/cli/commands/tool_configs/get}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/commands/tool_configs/update → alloy_runtime_cli-0.2.46/cli/commands/tool_configs/list}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/commands/users → alloy_runtime_cli-0.2.46/cli/commands/tool_configs/update}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/update/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tool_configs/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tools/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tools/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tools/get/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tools/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tools/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tools/list/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/tools/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/commands/whoami → alloy_runtime_cli-0.2.46/cli/commands/users}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/users/create/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/users/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/infrastructure → alloy_runtime_cli-0.2.46/cli/commands/whoami}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/infrastructure/formatters → alloy_runtime_cli-0.2.46/cli/infrastructure}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/auth_storage.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/client_factory.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/command.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/config.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/console.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/editor.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/error_display.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/field_extractor.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/file_content.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/filter_parser.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/infrastructure/formatting → alloy_runtime_cli-0.2.46/cli/infrastructure/formatters}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/formatters/base.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/formatters/compact_formatter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/formatters/json_formatter.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/formatters/table_formatter.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/infrastructure/forms → alloy_runtime_cli-0.2.46/cli/infrastructure/formatting}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/formatting/fields.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/infrastructure/injection → alloy_runtime_cli-0.2.46/cli/infrastructure/forms}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/agent_picker.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/agent_tools_manager.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/base_picker.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/components.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/json_schema_builder.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/model_picker.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/parsers.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/resolution_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/schema_picker.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/tag_management_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/tag_picker.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/template_picker.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/tool_config_picker.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/forms/tool_picker.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/help_json.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/help_markdown.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/help_toon.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/infrastructure/renderers → alloy_runtime_cli-0.2.46/cli/infrastructure/injection}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/injection/parser.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/injection/resolver.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/kv_parser.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/local_storage.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/macro_parser.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/output.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/provider_setup.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/infrastructure/tui → alloy_runtime_cli-0.2.46/cli/infrastructure/renderers}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/renderers/entity_renderer.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/renderers/list_renderer.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/scope_utils.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/spinner.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/infrastructure/validation → alloy_runtime_cli-0.2.46/cli/infrastructure/tui}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/tui/clipboard.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/tui/formatters.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/tui/preview.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/tui/selectable.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui → alloy_runtime_cli-0.2.46/cli/infrastructure/validation}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/infrastructure/validation/tag_validation.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui/chat → alloy_runtime_cli-0.2.46/cli/tui}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/app.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/app_store.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui/chat/commands → alloy_runtime_cli-0.2.46/cli/tui/chat}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui/chat/renderers → alloy_runtime_cli-0.2.46/cli/tui/chat/commands}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/commands/base.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/commands/create_session.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/commands/load_session.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/commands/regenerate.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/commands/reload_session.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/commands/send_message.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/commands/undo.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/editor.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/messages.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/pane.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui/chat/services → alloy_runtime_cli-0.2.46/cli/tui/chat/renderers}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/renderers/base.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/renderers/markdown.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/renderers/plain.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/screen.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui/chat/widgets → alloy_runtime_cli-0.2.46/cli/tui/chat/services}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/services/injection.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/services/name_generator.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/slash_commands.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/store.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/types.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui/screens → alloy_runtime_cli-0.2.46/cli/tui/chat/widgets}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/widgets/chat_header.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/widgets/chat_input.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/widgets/injection_popup.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/widgets/message_display.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/widgets/session_sidebar.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/chat/widgets/welcome_screen.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui/styles → alloy_runtime_cli-0.2.46/cli/tui/screens}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/agents.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/base.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/content.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/dashboard.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/models.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/nav_screen.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/schemas.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/templates.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/screens/tool_configs.py +0 -0
- {alloy_runtime_cli-0.2.44/cli/tui/widgets → alloy_runtime_cli-0.2.46/cli/tui/styles}/__init__.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/styles/app.tcss +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/styles/browser.tcss +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/styles/chat.tcss +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/styles/dashboard.tcss +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/styles/forms.tcss +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/styles/modals.tcss +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/agent_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/agent_form_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/agent_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/base_form_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/confirm_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/help_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/new_session_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/schema_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/schema_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/status_footer.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/template_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/template_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/tool_config_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/tui/widgets/tool_config_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/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.46
|
|
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.1.1
|
|
|
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.46
|
|
20
|
+
Requires-Dist: alloy-runtime-types==0.2.46
|
|
21
21
|
Requires-Dist: trogon==0.6.0
|
|
22
22
|
|
|
23
23
|
# alloy-runtime-cli
|
|
@@ -69,6 +69,17 @@ Use `alloy --format json` for automation-friendly machine-readable output.
|
|
|
69
69
|
|
|
70
70
|
The CLI pins `toon-format` from the upstream GitHub source because the PyPI stub release is not usable yet.
|
|
71
71
|
|
|
72
|
+
## Template validation
|
|
73
|
+
|
|
74
|
+
Use `alloy templates validate` when you want to check local Jinja content against the server's template resolution and helper validation rules before saving anything.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
alloy templates validate --file ./templates/email.jinja2 --var user.name=Alice
|
|
78
|
+
alloy templates validate --content "Hello {{ name }}" --var name=World
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Use `templates validate` for local drafts and CI-style checks. Use `templates create` or `templates update` when you want to persist the template after it passes validation.
|
|
82
|
+
|
|
72
83
|
## Configuration
|
|
73
84
|
|
|
74
85
|
The CLI reads configuration in this order:
|
|
@@ -47,6 +47,17 @@ Use `alloy --format json` for automation-friendly machine-readable output.
|
|
|
47
47
|
|
|
48
48
|
The CLI pins `toon-format` from the upstream GitHub source because the PyPI stub release is not usable yet.
|
|
49
49
|
|
|
50
|
+
## Template validation
|
|
51
|
+
|
|
52
|
+
Use `alloy templates validate` when you want to check local Jinja content against the server's template resolution and helper validation rules before saving anything.
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
alloy templates validate --file ./templates/email.jinja2 --var user.name=Alice
|
|
56
|
+
alloy templates validate --content "Hello {{ name }}" --var name=World
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Use `templates validate` for local drafts and CI-style checks. Use `templates create` or `templates update` when you want to persist the template after it passes validation.
|
|
60
|
+
|
|
50
61
|
## Configuration
|
|
51
62
|
|
|
52
63
|
The CLI reads configuration in this order:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alloy-runtime-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.46
|
|
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.1.1
|
|
|
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.46
|
|
20
|
+
Requires-Dist: alloy-runtime-types==0.2.46
|
|
21
21
|
Requires-Dist: trogon==0.6.0
|
|
22
22
|
|
|
23
23
|
# alloy-runtime-cli
|
|
@@ -69,6 +69,17 @@ Use `alloy --format json` for automation-friendly machine-readable output.
|
|
|
69
69
|
|
|
70
70
|
The CLI pins `toon-format` from the upstream GitHub source because the PyPI stub release is not usable yet.
|
|
71
71
|
|
|
72
|
+
## Template validation
|
|
73
|
+
|
|
74
|
+
Use `alloy templates validate` when you want to check local Jinja content against the server's template resolution and helper validation rules before saving anything.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
alloy templates validate --file ./templates/email.jinja2 --var user.name=Alice
|
|
78
|
+
alloy templates validate --content "Hello {{ name }}" --var name=World
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Use `templates validate` for local drafts and CI-style checks. Use `templates create` or `templates update` when you want to persist the template after it passes validation.
|
|
82
|
+
|
|
72
83
|
## Configuration
|
|
73
84
|
|
|
74
85
|
The CLI reads configuration in this order:
|
{alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/alloy_runtime_cli.egg-info/SOURCES.txt
RENAMED
|
@@ -23,6 +23,7 @@ cli/commands/admin/credentials/grant/command.py
|
|
|
23
23
|
cli/commands/admin/credentials/grant/fields.py
|
|
24
24
|
cli/commands/admin/credentials/grant/presenter.py
|
|
25
25
|
cli/commands/agents/__init__.py
|
|
26
|
+
cli/commands/agents/tool_formatting.py
|
|
26
27
|
cli/commands/agents/create/__init__.py
|
|
27
28
|
cli/commands/agents/create/command.py
|
|
28
29
|
cli/commands/agents/create/fields.py
|
|
@@ -324,6 +325,9 @@ cli/commands/templates/render/presenter.py
|
|
|
324
325
|
cli/commands/templates/update/__init__.py
|
|
325
326
|
cli/commands/templates/update/command.py
|
|
326
327
|
cli/commands/templates/update/presenter.py
|
|
328
|
+
cli/commands/templates/validate/__init__.py
|
|
329
|
+
cli/commands/templates/validate/command.py
|
|
330
|
+
cli/commands/templates/validate/presenter.py
|
|
327
331
|
cli/commands/templates/version/__init__.py
|
|
328
332
|
cli/commands/templates/version/command.py
|
|
329
333
|
cli/commands/templates/version/presenter.py
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from alloy_runtime_types.dtos.agents import GetAgentResponse
|
|
4
4
|
|
|
5
|
+
from cli.commands.agents.tool_formatting import format_tool_details
|
|
5
6
|
from cli.infrastructure.output import OutputService
|
|
6
7
|
from cli.infrastructure.renderers.entity_renderer import FieldConfig
|
|
7
8
|
|
|
@@ -23,7 +24,7 @@ def present_agent_details(response: GetAgentResponse) -> None:
|
|
|
23
24
|
FieldConfig("name", "Name"),
|
|
24
25
|
FieldConfig("description", "Description"),
|
|
25
26
|
FieldConfig("models", "Models", _format_configured_count),
|
|
26
|
-
FieldConfig("tools", "Tools",
|
|
27
|
+
FieldConfig("tools", "Tools", lambda _: format_tool_details(response.tools)),
|
|
27
28
|
FieldConfig("id", "Tags", lambda _: _format_tags(response)),
|
|
28
29
|
]
|
|
29
30
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
3
|
+
from alloy_runtime_types.dtos.agents import AgentToolResponse
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def _format_json(value: object) -> str:
|
|
7
|
+
return json.dumps(value, sort_keys=True, separators=(",", ":"))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def format_tool_details(tools: list[AgentToolResponse]) -> str:
|
|
11
|
+
if not tools:
|
|
12
|
+
return "(none)"
|
|
13
|
+
parts: list[str] = []
|
|
14
|
+
for tool in tools:
|
|
15
|
+
lines = [
|
|
16
|
+
f"{tool.tool_alias} ({tool.tool_id}, {tool.config_source}, {tool.update_mode})",
|
|
17
|
+
f"submitted={_format_json(tool.submitted_config)}",
|
|
18
|
+
f"effective={_format_json(tool.effective_config)}",
|
|
19
|
+
]
|
|
20
|
+
if tool.defaults_applied:
|
|
21
|
+
lines.append(f"defaults={', '.join(tool.defaults_applied)}")
|
|
22
|
+
if tool.tool_config_name:
|
|
23
|
+
lines.append(f"tool_config_name={tool.tool_config_name}")
|
|
24
|
+
parts.append(" ".join(lines))
|
|
25
|
+
return "\n\n".join(parts)
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from alloy_runtime_types.dtos.agents import UpdateAgentResponse
|
|
4
4
|
|
|
5
|
+
from cli.commands.agents.tool_formatting import format_tool_details
|
|
6
|
+
|
|
5
7
|
|
|
6
8
|
def format_models(response: UpdateAgentResponse) -> str:
|
|
7
9
|
"""Format models list for display."""
|
|
@@ -12,9 +14,7 @@ def format_models(response: UpdateAgentResponse) -> str:
|
|
|
12
14
|
|
|
13
15
|
def format_tools(response: UpdateAgentResponse) -> str:
|
|
14
16
|
"""Format tools list for display."""
|
|
15
|
-
|
|
16
|
-
return "(none)"
|
|
17
|
-
return ", ".join(t.tool_id for t in response.tools)
|
|
17
|
+
return format_tool_details(response.tools)
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
def format_tags(response: UpdateAgentResponse) -> str:
|
{alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/status/presenter.py
RENAMED
|
@@ -46,7 +46,16 @@ def present_generation_status(response: AsyncGenerationStatusResponse) -> None:
|
|
|
46
46
|
format_duration_ms(value) if value is not None else cast(str, None)
|
|
47
47
|
),
|
|
48
48
|
),
|
|
49
|
+
FieldConfig(
|
|
50
|
+
"assistant_message_id", "Assistant Message ID", format_optional
|
|
51
|
+
),
|
|
52
|
+
FieldConfig(
|
|
53
|
+
"primary_content_part_id",
|
|
54
|
+
"Primary Content Part ID",
|
|
55
|
+
format_optional,
|
|
56
|
+
),
|
|
49
57
|
FieldConfig("output_text", "Output"),
|
|
58
|
+
FieldConfig("output_incomplete", "Output Incomplete"),
|
|
50
59
|
FieldConfig(
|
|
51
60
|
"usage",
|
|
52
61
|
"Input Tokens",
|
|
@@ -61,6 +70,15 @@ def present_generation_status(response: AsyncGenerationStatusResponse) -> None:
|
|
|
61
70
|
format_tokens(usage.output_tokens) if usage else cast(str, None)
|
|
62
71
|
),
|
|
63
72
|
),
|
|
73
|
+
FieldConfig(
|
|
74
|
+
"usage",
|
|
75
|
+
"Reasoning Tokens",
|
|
76
|
+
lambda usage: (
|
|
77
|
+
format_tokens(usage.reasoning_tokens)
|
|
78
|
+
if usage and usage.reasoning_tokens is not None
|
|
79
|
+
else cast(str, None)
|
|
80
|
+
),
|
|
81
|
+
),
|
|
64
82
|
FieldConfig(
|
|
65
83
|
"cost",
|
|
66
84
|
"Cost",
|
|
@@ -25,6 +25,7 @@ from cli.commands.shared_flags import (
|
|
|
25
25
|
SCHEMA_DEF,
|
|
26
26
|
SCHEMA_FORMAT,
|
|
27
27
|
SCHEMA_REF,
|
|
28
|
+
SHOW_FULL_TRACE,
|
|
28
29
|
SHOW_THINKING,
|
|
29
30
|
STREAM,
|
|
30
31
|
TAGS,
|
|
@@ -198,6 +199,7 @@ def generate_text_command(
|
|
|
198
199
|
# Display Options
|
|
199
200
|
stream: bool = STREAM,
|
|
200
201
|
show_thinking: bool = SHOW_THINKING,
|
|
202
|
+
show_full_trace: bool = SHOW_FULL_TRACE,
|
|
201
203
|
# Concurrent Execution
|
|
202
204
|
count: int = typer.Option(
|
|
203
205
|
1,
|
|
@@ -508,6 +510,7 @@ def generate_text_command(
|
|
|
508
510
|
tags=tags,
|
|
509
511
|
stream=stream,
|
|
510
512
|
show_thinking=show_thinking,
|
|
513
|
+
show_full_trace=show_full_trace,
|
|
511
514
|
count=count,
|
|
512
515
|
output_mode=output,
|
|
513
516
|
output_file=output_file,
|
|
@@ -848,6 +851,7 @@ async def _execute_generate_text(
|
|
|
848
851
|
tools: list[Any] | None = None,
|
|
849
852
|
parent_execution_id: UUID | None = None,
|
|
850
853
|
execution_purpose: str | None = None,
|
|
854
|
+
show_full_trace: bool = False,
|
|
851
855
|
) -> None:
|
|
852
856
|
"""Execute the generate text command.
|
|
853
857
|
|
|
@@ -957,6 +961,7 @@ async def _execute_generate_text(
|
|
|
957
961
|
tag_list=tag_list,
|
|
958
962
|
stream=stream,
|
|
959
963
|
show_thinking=show_thinking,
|
|
964
|
+
show_full_trace=show_full_trace,
|
|
960
965
|
console=console,
|
|
961
966
|
_output=output,
|
|
962
967
|
output_mode=output_mode,
|
|
@@ -990,6 +995,7 @@ async def _execute_generate_text(
|
|
|
990
995
|
tags=tag_list,
|
|
991
996
|
stream=stream,
|
|
992
997
|
output_schema=output_schema,
|
|
998
|
+
show_full_trace=show_full_trace,
|
|
993
999
|
external_id=external_id,
|
|
994
1000
|
billing_project_id=billing_project_id,
|
|
995
1001
|
max_history_messages=max_history_messages,
|
|
@@ -1023,6 +1029,7 @@ async def _execute_generate_text(
|
|
|
1023
1029
|
chat_session_id=session_id,
|
|
1024
1030
|
tags=tag_list,
|
|
1025
1031
|
stream=stream,
|
|
1032
|
+
show_full_trace=show_full_trace,
|
|
1026
1033
|
output_schema=output_schema,
|
|
1027
1034
|
billing_project_id=billing_project_id,
|
|
1028
1035
|
parent_execution_id=parent_execution_id,
|
|
@@ -1246,6 +1253,7 @@ async def _execute_multi_agent(
|
|
|
1246
1253
|
_output: OutputService,
|
|
1247
1254
|
output_mode: str = "console",
|
|
1248
1255
|
output_file: str | None = None,
|
|
1256
|
+
show_full_trace: bool = False,
|
|
1249
1257
|
) -> None:
|
|
1250
1258
|
async with authenticated_client() as (_config, client):
|
|
1251
1259
|
requests = [
|
|
@@ -1259,6 +1267,7 @@ async def _execute_multi_agent(
|
|
|
1259
1267
|
system_instruction_variables=system_variables,
|
|
1260
1268
|
tags=tag_list,
|
|
1261
1269
|
stream=stream,
|
|
1270
|
+
show_full_trace=show_full_trace,
|
|
1262
1271
|
)
|
|
1263
1272
|
for agent_id in agents
|
|
1264
1273
|
]
|
{alloy_runtime_cli-0.2.44 → alloy_runtime_cli-0.2.46}/cli/commands/generate/text/presenter.py
RENAMED
|
@@ -4,7 +4,11 @@ from pydantic import BaseModel
|
|
|
4
4
|
|
|
5
5
|
from cli.infrastructure.output import OutputFormat, OutputService
|
|
6
6
|
from cli.infrastructure.renderers.entity_renderer import FieldConfig
|
|
7
|
-
from
|
|
7
|
+
from cli.infrastructure.renderers.list_renderer import ColumnConfig
|
|
8
|
+
from alloy_runtime_types.dtos.generation import (
|
|
9
|
+
GenerateTextResponse,
|
|
10
|
+
GenerationFullTrace,
|
|
11
|
+
)
|
|
8
12
|
|
|
9
13
|
|
|
10
14
|
class GeneratedTextOutput(BaseModel):
|
|
@@ -27,6 +31,20 @@ def _format_total_tokens(response: GenerateTextResponse) -> str:
|
|
|
27
31
|
return str(response.usage.input_tokens + response.usage.output_tokens)
|
|
28
32
|
|
|
29
33
|
|
|
34
|
+
def _format_reasoning_tokens(usage: Any) -> Any:
|
|
35
|
+
reasoning_tokens = getattr(usage, "reasoning_tokens", None)
|
|
36
|
+
if reasoning_tokens is None:
|
|
37
|
+
return cast(str, None)
|
|
38
|
+
return str(reasoning_tokens)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _format_content_parts(parts: list[Any]) -> str:
|
|
42
|
+
if not parts:
|
|
43
|
+
return "-"
|
|
44
|
+
first_part: Any = parts[0]
|
|
45
|
+
return getattr(first_part, "content_text", None) or "-"
|
|
46
|
+
|
|
47
|
+
|
|
30
48
|
class GenerateTextPresenter:
|
|
31
49
|
def __init__(self, output: OutputService):
|
|
32
50
|
self.output = output
|
|
@@ -50,10 +68,14 @@ class GenerateTextPresenter:
|
|
|
50
68
|
[
|
|
51
69
|
FieldConfig("execution_id", "Execution ID", str),
|
|
52
70
|
FieldConfig("chat_session_id", "Session ID", str),
|
|
53
|
-
FieldConfig("
|
|
71
|
+
FieldConfig("assistant_message_id", "Assistant Message ID", str),
|
|
72
|
+
FieldConfig(
|
|
73
|
+
"primary_content_part_id", "Primary Content Part ID", str
|
|
74
|
+
),
|
|
54
75
|
FieldConfig("provider_key", "Provider"),
|
|
55
76
|
FieldConfig("provider_model_name", "Model"),
|
|
56
77
|
FieldConfig("finish_reason", "Finish Reason"),
|
|
78
|
+
FieldConfig("output_incomplete", "Output Incomplete"),
|
|
57
79
|
FieldConfig(
|
|
58
80
|
"usage", "Input Tokens", lambda usage: str(usage.input_tokens)
|
|
59
81
|
),
|
|
@@ -65,6 +87,7 @@ class GenerateTextPresenter:
|
|
|
65
87
|
"Total Tokens",
|
|
66
88
|
lambda _: _format_total_tokens(response),
|
|
67
89
|
),
|
|
90
|
+
FieldConfig("usage", "Reasoning Tokens", _format_reasoning_tokens),
|
|
68
91
|
FieldConfig(
|
|
69
92
|
"cost", "Input Cost", lambda cost: f"${cost.input_cost_usd:.6f}"
|
|
70
93
|
),
|
|
@@ -92,6 +115,8 @@ class GenerateTextPresenter:
|
|
|
92
115
|
)
|
|
93
116
|
|
|
94
117
|
self.present_text_output(response.output_text, title=output_title)
|
|
118
|
+
if response.full_trace is not None:
|
|
119
|
+
self.present_full_trace(response.full_trace)
|
|
95
120
|
|
|
96
121
|
def present_multiple_results(
|
|
97
122
|
self, responses: list[GenerateTextResponse], show_metadata: bool = True
|
|
@@ -120,3 +145,42 @@ class GenerateTextPresenter:
|
|
|
120
145
|
[FieldConfig("output_text", "Output")],
|
|
121
146
|
raw_payload=output,
|
|
122
147
|
)
|
|
148
|
+
|
|
149
|
+
def present_full_trace(self, trace: GenerationFullTrace) -> None:
|
|
150
|
+
self.output.table(
|
|
151
|
+
items=cast(list[BaseModel], trace.messages),
|
|
152
|
+
title=f"Full Trace ({trace.finish_reason})",
|
|
153
|
+
columns=[
|
|
154
|
+
ColumnConfig(
|
|
155
|
+
source_field="sequence_number",
|
|
156
|
+
header_label="#",
|
|
157
|
+
align="right",
|
|
158
|
+
compact_line=1,
|
|
159
|
+
compact_style="cyan",
|
|
160
|
+
),
|
|
161
|
+
ColumnConfig(
|
|
162
|
+
source_field="role",
|
|
163
|
+
header_label="Role",
|
|
164
|
+
compact_line=1,
|
|
165
|
+
compact_style="yellow",
|
|
166
|
+
),
|
|
167
|
+
ColumnConfig(
|
|
168
|
+
source_field="created_at",
|
|
169
|
+
header_label="Time",
|
|
170
|
+
formatter=lambda value: (
|
|
171
|
+
value.strftime("%H:%M:%S") if value else "-"
|
|
172
|
+
),
|
|
173
|
+
compact_line=1,
|
|
174
|
+
compact_style="blue",
|
|
175
|
+
),
|
|
176
|
+
ColumnConfig(
|
|
177
|
+
source_field="content_parts",
|
|
178
|
+
header_label="Content",
|
|
179
|
+
formatter=_format_content_parts,
|
|
180
|
+
compact_line=2,
|
|
181
|
+
compact_style="dim",
|
|
182
|
+
),
|
|
183
|
+
],
|
|
184
|
+
raw_payload=trace,
|
|
185
|
+
total_count=len(trace.messages),
|
|
186
|
+
)
|
|
@@ -469,6 +469,12 @@ SHOW_THINKING = typer.Option(
|
|
|
469
469
|
help="Show thinking blocks",
|
|
470
470
|
)
|
|
471
471
|
|
|
472
|
+
SHOW_FULL_TRACE = typer.Option(
|
|
473
|
+
False,
|
|
474
|
+
"--show-full-trace/--no-show-full-trace",
|
|
475
|
+
help="Include the full ordered trace for the generated turn",
|
|
476
|
+
)
|
|
477
|
+
|
|
472
478
|
|
|
473
479
|
# =============================================================================
|
|
474
480
|
# CREDENTIAL FLAGS
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
from typing import Annotated, Any, Optional
|
|
3
|
+
|
|
4
|
+
import typer
|
|
5
|
+
|
|
6
|
+
from cli.commands.flag_utils import require_exclusive, require_one_of
|
|
7
|
+
from cli.commands.templates.validate.presenter import present_validate_result
|
|
8
|
+
from cli.infrastructure.command import async_command, authenticated_client
|
|
9
|
+
from cli.infrastructure.file_content import FileContentError, resolve_content
|
|
10
|
+
from cli.infrastructure.kv_parser import parse_kv_pairs
|
|
11
|
+
from alloy_runtime_types.dtos.templates import ValidateTemplateRequest
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def templates_validate_command(
|
|
15
|
+
content_file: Optional[Path] = typer.Option(
|
|
16
|
+
None,
|
|
17
|
+
"-f",
|
|
18
|
+
"--file",
|
|
19
|
+
help="Read template content from file",
|
|
20
|
+
exists=True,
|
|
21
|
+
readable=True,
|
|
22
|
+
),
|
|
23
|
+
content: Optional[str] = typer.Option(
|
|
24
|
+
None,
|
|
25
|
+
"-c",
|
|
26
|
+
"--content",
|
|
27
|
+
help="Inline template content (or @file)",
|
|
28
|
+
),
|
|
29
|
+
variables: Annotated[
|
|
30
|
+
Optional[list[str]],
|
|
31
|
+
typer.Option(
|
|
32
|
+
"-v",
|
|
33
|
+
"--var",
|
|
34
|
+
help="Variable (key=value, key:=json, or key={...}/[...] for nested JSON). Repeatable.",
|
|
35
|
+
),
|
|
36
|
+
] = None,
|
|
37
|
+
) -> None:
|
|
38
|
+
"""Validate template content without saving it."""
|
|
39
|
+
require_exclusive(("--file", content_file), ("--content", content))
|
|
40
|
+
require_one_of(("--file", content_file), ("--content", content))
|
|
41
|
+
|
|
42
|
+
variables_dict = parse_kv_pairs(variables, parse_object_array_strings=True)
|
|
43
|
+
|
|
44
|
+
_execute_validate_from_flags(
|
|
45
|
+
content_file=content_file,
|
|
46
|
+
content=content,
|
|
47
|
+
variables_dict=variables_dict,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def _execute_validate_from_flags(
|
|
52
|
+
*,
|
|
53
|
+
content_file: Path | None,
|
|
54
|
+
content: str | None,
|
|
55
|
+
variables_dict: dict[str, Any] | None,
|
|
56
|
+
) -> None:
|
|
57
|
+
try:
|
|
58
|
+
resolved_content = resolve_content(content)
|
|
59
|
+
except FileContentError as e:
|
|
60
|
+
raise typer.BadParameter(str(e))
|
|
61
|
+
|
|
62
|
+
if content_file is not None:
|
|
63
|
+
template_content = content_file.read_text()
|
|
64
|
+
else:
|
|
65
|
+
template_content = resolved_content or ""
|
|
66
|
+
|
|
67
|
+
if not template_content.strip():
|
|
68
|
+
raise typer.BadParameter("Template content cannot be empty")
|
|
69
|
+
|
|
70
|
+
request = ValidateTemplateRequest(
|
|
71
|
+
content=template_content,
|
|
72
|
+
variables=variables_dict or {},
|
|
73
|
+
)
|
|
74
|
+
_execute_validate(request)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
@async_command
|
|
78
|
+
async def _execute_validate(request: ValidateTemplateRequest) -> None:
|
|
79
|
+
async with authenticated_client() as (_config, client):
|
|
80
|
+
response = await client.validate_template(request)
|
|
81
|
+
|
|
82
|
+
present_validate_result(response)
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
from typing import cast
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
|
|
5
|
+
from cli.infrastructure.output import OutputFormat, OutputService
|
|
6
|
+
from cli.infrastructure.renderers.entity_renderer import FieldConfig
|
|
7
|
+
from cli.infrastructure.renderers.list_renderer import ColumnConfig
|
|
8
|
+
from alloy_runtime_types.dtos.templates import (
|
|
9
|
+
TemplateValidationDependencyTraceEntry,
|
|
10
|
+
ValidateTemplateResponse,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class _TemplateValidationSummary(BaseModel):
|
|
15
|
+
validation_status: str
|
|
16
|
+
renderable: bool
|
|
17
|
+
createable: bool
|
|
18
|
+
required_variables: str
|
|
19
|
+
unresolved_dependencies: str
|
|
20
|
+
circular_dependencies: str
|
|
21
|
+
issue_count: int
|
|
22
|
+
resolved_dependency_count: int
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def present_validate_result(response: ValidateTemplateResponse) -> None:
|
|
26
|
+
output = OutputService.get()
|
|
27
|
+
|
|
28
|
+
if getattr(output, "format", OutputFormat.COMPACT) == OutputFormat.JSON:
|
|
29
|
+
output.raw(response)
|
|
30
|
+
return
|
|
31
|
+
|
|
32
|
+
summary = _TemplateValidationSummary(
|
|
33
|
+
validation_status=("renderable" if response.is_renderable else "issues found"),
|
|
34
|
+
renderable=response.is_renderable,
|
|
35
|
+
createable=response.is_createable,
|
|
36
|
+
required_variables=_format_string_list(response.required_variables),
|
|
37
|
+
unresolved_dependencies=_format_string_list(response.unresolved_dependencies),
|
|
38
|
+
circular_dependencies=_format_cycles(response.circular_dependencies),
|
|
39
|
+
issue_count=len(response.issues),
|
|
40
|
+
resolved_dependency_count=len(response.resolved_dependencies),
|
|
41
|
+
)
|
|
42
|
+
output.entity(
|
|
43
|
+
summary,
|
|
44
|
+
"Template Validation",
|
|
45
|
+
[
|
|
46
|
+
FieldConfig("validation_status", "Template Validation"),
|
|
47
|
+
FieldConfig("renderable", "Renderable"),
|
|
48
|
+
FieldConfig("createable", "Createable"),
|
|
49
|
+
FieldConfig("required_variables", "Required Variables"),
|
|
50
|
+
FieldConfig("unresolved_dependencies", "Unresolved Dependencies"),
|
|
51
|
+
FieldConfig("circular_dependencies", "Circular Dependencies"),
|
|
52
|
+
FieldConfig("issue_count", "Validation Issues"),
|
|
53
|
+
FieldConfig("resolved_dependency_count", "Resolved Dependencies"),
|
|
54
|
+
],
|
|
55
|
+
raw_payload=response,
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
if response.resolved_dependencies:
|
|
59
|
+
output.table(
|
|
60
|
+
items=cast(list[BaseModel], response.resolved_dependencies),
|
|
61
|
+
title="Resolved Dependencies",
|
|
62
|
+
columns=[
|
|
63
|
+
ColumnConfig("template_name", "Template"),
|
|
64
|
+
ColumnConfig("depth", "Depth"),
|
|
65
|
+
ColumnConfig("was_pinned", "Pinned"),
|
|
66
|
+
ColumnConfig("template_version_id", "Version ID", str),
|
|
67
|
+
],
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
if response.issues:
|
|
71
|
+
output.table(
|
|
72
|
+
items=cast(list[BaseModel], response.issues),
|
|
73
|
+
title="Validation Issues",
|
|
74
|
+
columns=[
|
|
75
|
+
ColumnConfig("code", "Code"),
|
|
76
|
+
ColumnConfig("identifier", "Identifier", _format_optional_value),
|
|
77
|
+
ColumnConfig("message", "Message"),
|
|
78
|
+
ColumnConfig(
|
|
79
|
+
"dependency_trace",
|
|
80
|
+
"Dependency Trace",
|
|
81
|
+
_format_issue_trace,
|
|
82
|
+
),
|
|
83
|
+
],
|
|
84
|
+
)
|
|
85
|
+
elif response.dependency_trace:
|
|
86
|
+
output.table(
|
|
87
|
+
items=cast(list[BaseModel], response.dependency_trace),
|
|
88
|
+
title="Dependency Trace",
|
|
89
|
+
columns=[
|
|
90
|
+
ColumnConfig("template_name", "Template", _format_optional_value),
|
|
91
|
+
ColumnConfig("depth", "Depth"),
|
|
92
|
+
ColumnConfig("source_kind", "Source"),
|
|
93
|
+
ColumnConfig(
|
|
94
|
+
"template_version_id", "Version ID", _format_optional_value
|
|
95
|
+
),
|
|
96
|
+
],
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def _format_string_list(values: list[str]) -> str:
|
|
101
|
+
if not values:
|
|
102
|
+
return "(none)"
|
|
103
|
+
return ", ".join(values)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def _format_cycles(cycles: list[list[str]]) -> str:
|
|
107
|
+
if not cycles:
|
|
108
|
+
return "(none)"
|
|
109
|
+
return " | ".join(" -> ".join(cycle) for cycle in cycles)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def _format_optional_value(value: object) -> str:
|
|
113
|
+
if value is None or value == "":
|
|
114
|
+
return "(none)"
|
|
115
|
+
return str(value)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def _format_issue_trace(trace: list[TemplateValidationDependencyTraceEntry]) -> str:
|
|
119
|
+
if not trace:
|
|
120
|
+
return "(none)"
|
|
121
|
+
return " -> ".join(_format_trace_entry(item) for item in trace)
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
def _format_trace_entry(item: TemplateValidationDependencyTraceEntry) -> str:
|
|
125
|
+
name = item.template_name or "(unknown)"
|
|
126
|
+
return f"{name} [{item.source_kind}]"
|