alloy-runtime-cli 0.2.63__tar.gz → 0.2.64__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.63 → alloy_runtime_cli-0.2.64}/PKG-INFO +7 -4
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/README.md +4 -1
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/alloy_runtime_cli.egg-info/PKG-INFO +7 -4
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/alloy_runtime_cli.egg-info/requires.txt +2 -2
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/list/command.py +9 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/commands/regenerate.py +9 -28
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/commands/reload_session.py +0 -1
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/commands/send_message.py +14 -43
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/messages.py +0 -38
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/pane.py +1 -1
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/renderers/markdown.py +11 -61
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/renderers/plain.py +5 -12
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/screen.py +51 -36
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/store.py +18 -55
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/types.py +5 -23
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/widgets/chat_input.py +2 -2
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/widgets/message_display.py +8 -54
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/help_modal.py +1 -1
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/pyproject.toml +3 -3
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/MANIFEST.in +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/alloy_runtime_cli.egg-info/SOURCES.txt +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/alloy_runtime_cli.egg-info/dependency_links.txt +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/alloy_runtime_cli.egg-info/entry_points.txt +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/alloy_runtime_cli.egg-info/top_level.txt +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/bootstrap_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/credentials/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/credentials/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/credentials/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/credentials/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/credentials/grant/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/credentials/grant/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/credentials/grant/fields.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/admin/credentials/grant/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/create/fields.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/tool_formatting.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/update/fields.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/agents/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/api_keys/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/api_keys/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/api_keys/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/api_keys/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/audio/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/audio/transcribe/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/audio/transcribe/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/audio/transcribe/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/auth/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/auth/login/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/auth/login/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/auth/signup/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/auth/signup/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/by_agent/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/by_agent/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/by_agent/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/by_model/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/by_model/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/by_model/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/daily/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/daily/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/daily/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/summary/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/summary/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/costs/summary/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/billing/projects/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/edit/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/edit/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/edit/editor.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/edit/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/list/export_formatters.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/list/export_handler.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/content/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/create/fields.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/supported/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/supported/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/update/fields.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/credentials/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/executions/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/executions/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/executions/get/transcript_renderer.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/flag_utils.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/cancel/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/cancel/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/cancel/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/status/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/text/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/text/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/text/concurrent_renderer.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/text/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/generate/text/stream_renderer.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/cluster/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/cluster/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/cluster/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/cluster_status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/cluster_status/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/cluster_status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/status/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/status/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/status/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/collections/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/bulk_metadata/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/bulk_metadata/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/bulk_metadata/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/bulk_reingest_failed/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/bulk_reingest_failed/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/ingest/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/ingest/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/ingest/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/reingest/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/reingest/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/reingest/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/documents/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/recover/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/recover/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/recover/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/search/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/search/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/search/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/refresh/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/refresh/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/refresh/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/knowledge/synthesis/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/models/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/models/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/models/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/models/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/organizations/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/organizations/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/organizations/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/ping/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/approvals/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/approvals/decide_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/approvals/get_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/approvals/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/costs/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/costs/daily_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/costs/daily_presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/costs/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/env_vars/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/env_vars/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/env_vars/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/execute/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/execute/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/execute/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/costs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/costs/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/costs/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/costs_by_model/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/costs_by_model/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/costs_by_model/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/costs_by_step/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/get_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/list_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/rerun_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/executions/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/create_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/create_presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/delete_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/env_vars_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/env_vars_presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/get_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/list_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/once_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/once_presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/update_command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/schedules/update_presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/pipelines/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/render/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/render/html_to_image/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/render/html_to_image/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/schemas/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/messages/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/messages/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sessions/messages/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/shared_flags.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sync/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sync/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/sync/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tags/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/get_by_version/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/get_by_version/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/render/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/render/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/render/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/validate/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/validate/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/validate/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/version/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/version/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/templates/version/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/create/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/delete/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/delete/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/delete/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/update/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/update/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tool_configs/update/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tools/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tools/get/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tools/get/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tools/get/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tools/list/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tools/list/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/tools/list/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/users/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/users/create/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/users/create/presenter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/commands/whoami/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/auth_storage.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/client_factory.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/command.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/config.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/console.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/editor.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/error_display.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/field_extractor.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/file_content.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/filter_parser.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/formatters/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/formatters/base.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/formatters/compact_formatter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/formatters/json_formatter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/formatters/table_formatter.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/formatting/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/formatting/fields.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/agent_picker.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/agent_tool_editor.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/agent_tools_manager.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/base_picker.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/components.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/json_schema_builder.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/model_picker.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/parsers.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/resolution_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/schema_picker.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/tag_management_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/tag_picker.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/template_picker.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/tool_config_picker.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/forms/tool_picker.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/help_json.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/help_markdown.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/help_toon.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/injection/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/injection/parser.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/injection/resolver.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/kv_parser.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/local_storage.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/macro_parser.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/output.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/provider_setup.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/renderers/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/renderers/entity_renderer.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/renderers/list_renderer.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/scope_utils.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/spinner.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/tui/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/tui/clipboard.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/tui/formatters.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/tui/preview.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/tui/selectable.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/validation/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/infrastructure/validation/tag_validation.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/main.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/app.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/app_store.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/commands/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/commands/base.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/commands/create_session.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/commands/load_session.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/commands/undo.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/editor.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/renderers/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/renderers/base.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/services/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/services/injection.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/services/name_generator.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/slash_commands.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/widgets/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/widgets/chat_header.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/widgets/injection_popup.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/widgets/session_sidebar.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/chat/widgets/welcome_screen.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/agents.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/base.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/content.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/dashboard.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/models.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/nav_screen.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/schemas.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/templates.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/screens/tool_configs.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/styles/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/styles/app.tcss +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/styles/browser.tcss +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/styles/chat.tcss +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/styles/dashboard.tcss +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/styles/forms.tcss +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/styles/modals.tcss +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/__init__.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/agent_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/agent_form_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/agent_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/base_form_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/confirm_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/new_session_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/schema_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/schema_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/status_footer.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/template_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/template_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/tool_config_create_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/cli/tui/widgets/tool_config_update_modal.py +0 -0
- {alloy_runtime_cli-0.2.63 → alloy_runtime_cli-0.2.64}/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.64
|
|
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.64
|
|
20
|
+
Requires-Dist: alloy-runtime-types==0.2.64
|
|
21
21
|
Requires-Dist: trogon==0.6.0
|
|
22
22
|
|
|
23
23
|
# alloy-runtime-cli
|
|
@@ -65,6 +65,10 @@ Use `alloy --format compact` for the existing psql-style human-readable record v
|
|
|
65
65
|
Use `alloy --format table` for Rich table output in the non-TUI CLI.
|
|
66
66
|
Use `alloy --format json` for automation-friendly machine-readable output.
|
|
67
67
|
|
|
68
|
+
Running `alloy` without a subcommand launches the Textual TUI. TUI chat uses the
|
|
69
|
+
standard non-streaming generation path, so it works with agents that have tools
|
|
70
|
+
configured. Responses appear once the full turn completes rather than token-by-token.
|
|
71
|
+
|
|
68
72
|
For live model-execution inspection, use:
|
|
69
73
|
|
|
70
74
|
```bash
|
|
@@ -101,4 +105,3 @@ Use `alloy login` to save an API key locally, or set the environment variables w
|
|
|
101
105
|
running on a VPS.
|
|
102
106
|
|
|
103
107
|
CLI release trigger: no functional changes.
|
|
104
|
-
|
|
@@ -43,6 +43,10 @@ Use `alloy --format compact` for the existing psql-style human-readable record v
|
|
|
43
43
|
Use `alloy --format table` for Rich table output in the non-TUI CLI.
|
|
44
44
|
Use `alloy --format json` for automation-friendly machine-readable output.
|
|
45
45
|
|
|
46
|
+
Running `alloy` without a subcommand launches the Textual TUI. TUI chat uses the
|
|
47
|
+
standard non-streaming generation path, so it works with agents that have tools
|
|
48
|
+
configured. Responses appear once the full turn completes rather than token-by-token.
|
|
49
|
+
|
|
46
50
|
For live model-execution inspection, use:
|
|
47
51
|
|
|
48
52
|
```bash
|
|
@@ -79,4 +83,3 @@ Use `alloy login` to save an API key locally, or set the environment variables w
|
|
|
79
83
|
running on a VPS.
|
|
80
84
|
|
|
81
85
|
CLI release trigger: no functional changes.
|
|
82
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alloy-runtime-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.64
|
|
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.64
|
|
20
|
+
Requires-Dist: alloy-runtime-types==0.2.64
|
|
21
21
|
Requires-Dist: trogon==0.6.0
|
|
22
22
|
|
|
23
23
|
# alloy-runtime-cli
|
|
@@ -65,6 +65,10 @@ Use `alloy --format compact` for the existing psql-style human-readable record v
|
|
|
65
65
|
Use `alloy --format table` for Rich table output in the non-TUI CLI.
|
|
66
66
|
Use `alloy --format json` for automation-friendly machine-readable output.
|
|
67
67
|
|
|
68
|
+
Running `alloy` without a subcommand launches the Textual TUI. TUI chat uses the
|
|
69
|
+
standard non-streaming generation path, so it works with agents that have tools
|
|
70
|
+
configured. Responses appear once the full turn completes rather than token-by-token.
|
|
71
|
+
|
|
68
72
|
For live model-execution inspection, use:
|
|
69
73
|
|
|
70
74
|
```bash
|
|
@@ -101,4 +105,3 @@ Use `alloy login` to save an API key locally, or set the environment variables w
|
|
|
101
105
|
running on a VPS.
|
|
102
106
|
|
|
103
107
|
CLI release trigger: no functional changes.
|
|
104
|
-
|
|
@@ -19,6 +19,11 @@ def knowledge_documents_list_command(
|
|
|
19
19
|
"--status",
|
|
20
20
|
help="Filter by status: queued|processing|completed|failed|duplicate|filtered",
|
|
21
21
|
),
|
|
22
|
+
external_id: str | None = typer.Option(
|
|
23
|
+
None,
|
|
24
|
+
"--external-id",
|
|
25
|
+
help="Filter by exact external_id match",
|
|
26
|
+
),
|
|
22
27
|
limit: int = typer.Option(
|
|
23
28
|
50,
|
|
24
29
|
"-l",
|
|
@@ -40,6 +45,7 @@ def knowledge_documents_list_command(
|
|
|
40
45
|
alloy knowledge documents list
|
|
41
46
|
alloy knowledge documents list -C my-collection
|
|
42
47
|
alloy knowledge documents list -s completed -l 20
|
|
48
|
+
alloy knowledge documents list --external-id crm-123
|
|
43
49
|
alloy knowledge documents list -s duplicate
|
|
44
50
|
alloy knowledge documents list -s filtered
|
|
45
51
|
alloy knowledge documents list --status failed
|
|
@@ -47,6 +53,7 @@ def knowledge_documents_list_command(
|
|
|
47
53
|
_execute_list(
|
|
48
54
|
collection_id=collection,
|
|
49
55
|
processing_status=status,
|
|
56
|
+
external_id=external_id,
|
|
50
57
|
limit=limit,
|
|
51
58
|
offset=offset,
|
|
52
59
|
)
|
|
@@ -56,6 +63,7 @@ def knowledge_documents_list_command(
|
|
|
56
63
|
async def _execute_list(
|
|
57
64
|
collection_id: str | None,
|
|
58
65
|
processing_status: str | None,
|
|
66
|
+
external_id: str | None,
|
|
59
67
|
limit: int,
|
|
60
68
|
offset: int,
|
|
61
69
|
) -> None:
|
|
@@ -66,6 +74,7 @@ async def _execute_list(
|
|
|
66
74
|
offset=offset,
|
|
67
75
|
collection_id=collection_id,
|
|
68
76
|
processing_status=processing_status,
|
|
77
|
+
external_id=external_id,
|
|
69
78
|
)
|
|
70
79
|
|
|
71
80
|
present_documents_list(response)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Command for regenerating the last AI response."""
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from typing import Callable
|
|
5
4
|
from uuid import UUID
|
|
6
5
|
|
|
7
6
|
from alloy_runtime_sdk.api_client.client import ApiClient
|
|
@@ -28,17 +27,16 @@ class RegenerateCommand:
|
|
|
28
27
|
- Model mode: Uses provider_key/provider_model_name/system_instruction directly
|
|
29
28
|
|
|
30
29
|
This command:
|
|
31
|
-
1. Transitions store to
|
|
30
|
+
1. Transitions store to SENDING phase
|
|
32
31
|
2. Sends a regenerate request to the API
|
|
33
|
-
3.
|
|
34
|
-
4.
|
|
32
|
+
3. Waits for the final non-streaming response
|
|
33
|
+
4. Leaves the store in SENDING on success so the caller can reload persisted
|
|
34
|
+
messages before clearing the waiting state
|
|
35
35
|
|
|
36
36
|
Attributes:
|
|
37
37
|
client: Server client for API calls.
|
|
38
38
|
store: Chat store for state management.
|
|
39
39
|
session_id: ID of the current chat session.
|
|
40
|
-
on_chunk: Callback invoked with each streamed text chunk.
|
|
41
|
-
on_thinking_chunk: Callback invoked with each reasoning/thinking chunk.
|
|
42
40
|
agent_id: ID of the agent to use for regeneration (agent mode).
|
|
43
41
|
provider_key: Provider key (model mode).
|
|
44
42
|
provider_model_name: Model name (model mode).
|
|
@@ -48,8 +46,6 @@ class RegenerateCommand:
|
|
|
48
46
|
client: ApiClient
|
|
49
47
|
store: ChatStore
|
|
50
48
|
session_id: UUID
|
|
51
|
-
on_chunk: Callable[[str], None]
|
|
52
|
-
on_thinking_chunk: Callable[[str], None] | None = None
|
|
53
49
|
# Agent mode
|
|
54
50
|
agent_id: UUID | None = None
|
|
55
51
|
# Model mode
|
|
@@ -64,9 +60,8 @@ class RegenerateCommand:
|
|
|
64
60
|
CommandResult indicating success or failure.
|
|
65
61
|
"""
|
|
66
62
|
logger.info("regenerate_starting", session_id=str(self.session_id))
|
|
67
|
-
self.store.
|
|
63
|
+
self.store.start_generation()
|
|
68
64
|
|
|
69
|
-
was_cancelled = False
|
|
70
65
|
try:
|
|
71
66
|
# Build model source based on mode
|
|
72
67
|
if self.agent_id is not None:
|
|
@@ -77,6 +72,7 @@ class RegenerateCommand:
|
|
|
77
72
|
provider_model_name=self.provider_model_name,
|
|
78
73
|
)
|
|
79
74
|
else:
|
|
75
|
+
self.store.finish_generation()
|
|
80
76
|
return CommandResult[None](
|
|
81
77
|
success=False,
|
|
82
78
|
error="No agent or model configured for this session",
|
|
@@ -86,7 +82,7 @@ class RegenerateCommand:
|
|
|
86
82
|
model_source=model_source,
|
|
87
83
|
chat_session_id=self.session_id,
|
|
88
84
|
regenerate=True,
|
|
89
|
-
stream=
|
|
85
|
+
stream=False,
|
|
90
86
|
tags=[],
|
|
91
87
|
# Only include system instruction for model mode
|
|
92
88
|
system_instruction=self.system_instruction
|
|
@@ -94,27 +90,12 @@ class RegenerateCommand:
|
|
|
94
90
|
else None,
|
|
95
91
|
)
|
|
96
92
|
|
|
97
|
-
|
|
98
|
-
# Check for cancellation request
|
|
99
|
-
if self.store.state.cancel_requested:
|
|
100
|
-
logger.info("regenerate_cancelled_by_user")
|
|
101
|
-
was_cancelled = True
|
|
102
|
-
return CommandResult[None](success=True, data=None)
|
|
103
|
-
|
|
104
|
-
# Handle thinking/reasoning chunks
|
|
105
|
-
if chunk.chunk_type == "thinking" and chunk.reasoning_content:
|
|
106
|
-
if self.on_thinking_chunk:
|
|
107
|
-
self.on_thinking_chunk(chunk.reasoning_content)
|
|
108
|
-
# Handle regular text content chunks
|
|
109
|
-
elif chunk.content:
|
|
110
|
-
self.on_chunk(chunk.content)
|
|
93
|
+
await self.client.generate_text(request)
|
|
111
94
|
|
|
112
95
|
logger.info("regenerate_completed")
|
|
113
96
|
return CommandResult[None](success=True, data=None)
|
|
114
97
|
|
|
115
98
|
except Exception as e:
|
|
116
99
|
logger.warning("regenerate_failed", error=str(e))
|
|
100
|
+
self.store.finish_generation()
|
|
117
101
|
return CommandResult[None](success=False, error=str(e))
|
|
118
|
-
|
|
119
|
-
finally:
|
|
120
|
-
self.store.finish_streaming(cancelled=was_cancelled)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Command for sending a message and
|
|
1
|
+
"""Command for sending a message and waiting for the final response."""
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
from typing import Callable
|
|
@@ -24,7 +24,7 @@ logger = get_logger(__name__)
|
|
|
24
24
|
|
|
25
25
|
@dataclass
|
|
26
26
|
class SendMessageCommand:
|
|
27
|
-
"""Command to send a user message and
|
|
27
|
+
"""Command to send a user message and await the final AI response.
|
|
28
28
|
|
|
29
29
|
Supports two modes:
|
|
30
30
|
- Agent mode: Uses agent_id to determine model and system instruction
|
|
@@ -38,18 +38,17 @@ class SendMessageCommand:
|
|
|
38
38
|
|
|
39
39
|
This command:
|
|
40
40
|
1. Resolves any injection patterns in the message
|
|
41
|
-
2. Transitions store to
|
|
41
|
+
2. Transitions store to SENDING phase
|
|
42
42
|
3. Builds and sends the generation request
|
|
43
|
-
4.
|
|
44
|
-
5.
|
|
43
|
+
4. Waits for the final response from the non-streaming API
|
|
44
|
+
5. Leaves the store in SENDING on success so the caller can reload persisted
|
|
45
|
+
messages before clearing the optimistic pending state
|
|
45
46
|
|
|
46
47
|
Attributes:
|
|
47
48
|
client: Server client for API calls.
|
|
48
49
|
store: Chat store for state management.
|
|
49
50
|
session_id: ID of the current chat session.
|
|
50
51
|
user_message: The user's message to send.
|
|
51
|
-
on_chunk: Callback invoked with each streamed text chunk.
|
|
52
|
-
on_thinking_chunk: Callback invoked with each reasoning/thinking chunk.
|
|
53
52
|
agent_id: ID of the agent to use for generation (agent mode).
|
|
54
53
|
provider_key: Provider key (model mode).
|
|
55
54
|
provider_model_name: Model name (model mode).
|
|
@@ -62,8 +61,6 @@ class SendMessageCommand:
|
|
|
62
61
|
store: ChatStore
|
|
63
62
|
session_id: UUID
|
|
64
63
|
user_message: str
|
|
65
|
-
on_chunk: Callable[[str], None]
|
|
66
|
-
on_thinking_chunk: Callable[[str], None] | None = None
|
|
67
64
|
# Agent mode
|
|
68
65
|
agent_id: UUID | None = None
|
|
69
66
|
# Model mode
|
|
@@ -75,7 +72,7 @@ class SendMessageCommand:
|
|
|
75
72
|
on_injection_resolved: Callable[[ResolvedMessage], None] | None = None
|
|
76
73
|
|
|
77
74
|
async def execute(self) -> CommandResult[None]:
|
|
78
|
-
"""Execute the send message
|
|
75
|
+
"""Execute the send message operation.
|
|
79
76
|
|
|
80
77
|
Returns:
|
|
81
78
|
CommandResult indicating success or failure.
|
|
@@ -123,11 +120,9 @@ class SendMessageCommand:
|
|
|
123
120
|
error=f"Failed to resolve injections: {e}",
|
|
124
121
|
)
|
|
125
122
|
|
|
126
|
-
# Start
|
|
123
|
+
# Start generation with the user message shown optimistically
|
|
127
124
|
# Note: We show the original message, not the resolved one
|
|
128
|
-
self.store.
|
|
129
|
-
|
|
130
|
-
was_cancelled = False
|
|
125
|
+
self.store.start_generation(user_message=self.user_message)
|
|
131
126
|
try:
|
|
132
127
|
# Build model source based on mode
|
|
133
128
|
if self.agent_id is not None:
|
|
@@ -138,6 +133,7 @@ class SendMessageCommand:
|
|
|
138
133
|
provider_model_name=self.provider_model_name,
|
|
139
134
|
)
|
|
140
135
|
else:
|
|
136
|
+
self.store.finish_generation()
|
|
141
137
|
return CommandResult[None](
|
|
142
138
|
success=False,
|
|
143
139
|
error="No agent or model configured for this session",
|
|
@@ -146,7 +142,7 @@ class SendMessageCommand:
|
|
|
146
142
|
request = GenerateTextRequest(
|
|
147
143
|
model_source=model_source,
|
|
148
144
|
user_message=message_to_send, # Use resolved message
|
|
149
|
-
stream=
|
|
145
|
+
stream=False,
|
|
150
146
|
tags=[],
|
|
151
147
|
chat_session_id=self.session_id,
|
|
152
148
|
# Only include system instruction for model mode
|
|
@@ -155,36 +151,11 @@ class SendMessageCommand:
|
|
|
155
151
|
else None,
|
|
156
152
|
)
|
|
157
153
|
|
|
158
|
-
|
|
159
|
-
# Check for cancellation request
|
|
160
|
-
if self.store.state.cancel_requested:
|
|
161
|
-
logger.info("stream_cancelled_by_user")
|
|
162
|
-
was_cancelled = True
|
|
163
|
-
return CommandResult[None](success=True, data=None)
|
|
164
|
-
|
|
165
|
-
# Debug: log chunk info for first few chunks
|
|
166
|
-
logger.debug(
|
|
167
|
-
"stream_chunk",
|
|
168
|
-
extra={
|
|
169
|
-
"chunk_type": chunk.chunk_type,
|
|
170
|
-
"has_content": bool(chunk.content),
|
|
171
|
-
"has_reasoning": bool(chunk.reasoning_content),
|
|
172
|
-
"sequence": chunk.sequence,
|
|
173
|
-
},
|
|
174
|
-
)
|
|
175
|
-
|
|
176
|
-
# Handle thinking/reasoning chunks
|
|
177
|
-
if chunk.chunk_type == "thinking" and chunk.reasoning_content:
|
|
178
|
-
if self.on_thinking_chunk:
|
|
179
|
-
self.on_thinking_chunk(chunk.reasoning_content)
|
|
180
|
-
# Handle regular text content chunks
|
|
181
|
-
elif chunk.content:
|
|
182
|
-
self.on_chunk(chunk.content)
|
|
154
|
+
await self.client.generate_text(request)
|
|
183
155
|
|
|
184
156
|
return CommandResult[None](success=True, data=None)
|
|
185
157
|
|
|
186
158
|
except Exception as e:
|
|
159
|
+
logger.warning("send_message_failed", error=str(e))
|
|
160
|
+
self.store.finish_generation()
|
|
187
161
|
return CommandResult[None](success=False, error=str(e))
|
|
188
|
-
|
|
189
|
-
finally:
|
|
190
|
-
self.store.finish_streaming(cancelled=was_cancelled)
|
|
@@ -89,44 +89,6 @@ class UndoRequested(Message):
|
|
|
89
89
|
pass
|
|
90
90
|
|
|
91
91
|
|
|
92
|
-
# =============================================================================
|
|
93
|
-
# Streaming Events
|
|
94
|
-
# =============================================================================
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
class StreamingStarted(Message):
|
|
98
|
-
"""Response streaming has begun."""
|
|
99
|
-
|
|
100
|
-
def __init__(self, execution_id: UUID) -> None:
|
|
101
|
-
self.execution_id = execution_id
|
|
102
|
-
super().__init__()
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
class StreamingChunk(Message):
|
|
106
|
-
"""A chunk of streamed content received."""
|
|
107
|
-
|
|
108
|
-
def __init__(self, content: str, is_reasoning: bool = False) -> None:
|
|
109
|
-
self.content = content
|
|
110
|
-
self.is_reasoning = is_reasoning
|
|
111
|
-
super().__init__()
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
class StreamingCompleted(Message):
|
|
115
|
-
"""Response streaming finished successfully."""
|
|
116
|
-
|
|
117
|
-
def __init__(self, full_content: str) -> None:
|
|
118
|
-
self.full_content = full_content
|
|
119
|
-
super().__init__()
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
class StreamingError(Message):
|
|
123
|
-
"""Error occurred during streaming."""
|
|
124
|
-
|
|
125
|
-
def __init__(self, error: str) -> None:
|
|
126
|
-
self.error = error
|
|
127
|
-
super().__init__()
|
|
128
|
-
|
|
129
|
-
|
|
130
92
|
# =============================================================================
|
|
131
93
|
# UI Events
|
|
132
94
|
# =============================================================================
|
|
@@ -25,7 +25,7 @@ class ChatPane(Widget):
|
|
|
25
25
|
|
|
26
26
|
This widget contains the main chat interface components:
|
|
27
27
|
- ChatHeader: Shows current session/model info
|
|
28
|
-
- MessageDisplay: Shows message history and
|
|
28
|
+
- MessageDisplay: Shows message history and pending request state
|
|
29
29
|
- ChatInput: Text input for composing messages
|
|
30
30
|
|
|
31
31
|
Each pane has its own ChatStore, allowing independent sessions
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
"""Markdown renderer for chat messages.
|
|
2
|
-
|
|
3
|
-
Renders messages with Rich markdown formatting for display in Textual widgets.
|
|
4
|
-
Uses Rich's Markdown class to properly render markdown syntax (headers, code blocks,
|
|
5
|
-
lists, etc.) in assistant responses.
|
|
6
|
-
"""
|
|
1
|
+
"""Markdown renderer for chat messages."""
|
|
7
2
|
|
|
8
3
|
from datetime import datetime
|
|
9
4
|
|
|
@@ -18,9 +13,6 @@ from cli.tui.chat.renderers.base import (
|
|
|
18
13
|
)
|
|
19
14
|
from cli.tui.chat.types import extract_thinking_content, format_time
|
|
20
15
|
|
|
21
|
-
# Spinner frames for streaming indicator
|
|
22
|
-
SPINNER_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]
|
|
23
|
-
|
|
24
16
|
# Color for thinking/reasoning blocks
|
|
25
17
|
THINKING_COLOR = "#bb9af7" # tokyo-night purple accent
|
|
26
18
|
|
|
@@ -33,36 +25,29 @@ class MarkdownRenderer:
|
|
|
33
25
|
- Assistant messages rendered as proper markdown (code blocks, headers, etc.)
|
|
34
26
|
- Agent/model name in header
|
|
35
27
|
- Timestamps on each message
|
|
36
|
-
- Spinner during streaming
|
|
37
28
|
- Optimistic user message display
|
|
29
|
+
- Waiting indicator while a response is in flight
|
|
38
30
|
- Thinking/reasoning blocks with distinctive styling
|
|
39
31
|
|
|
40
32
|
This is the default renderer for the chat interface. It uses Rich's Markdown
|
|
41
33
|
class to properly render markdown syntax in assistant responses.
|
|
42
34
|
"""
|
|
43
35
|
|
|
44
|
-
def __init__(self) -> None:
|
|
45
|
-
self._spinner_frame = 0
|
|
46
|
-
|
|
47
36
|
def render(
|
|
48
37
|
self,
|
|
49
38
|
messages: tuple[MessageResponse, ...],
|
|
50
|
-
streaming_content: str = "",
|
|
51
|
-
streaming_thinking_content: str = "",
|
|
52
39
|
pending_user_message: str | None = None,
|
|
53
40
|
assistant_name: str = "Assistant",
|
|
54
|
-
|
|
41
|
+
is_generating: bool = False,
|
|
55
42
|
thinking_collapsed: bool = False,
|
|
56
43
|
) -> Group:
|
|
57
44
|
"""Render messages to a Rich Group with proper markdown formatting.
|
|
58
45
|
|
|
59
46
|
Args:
|
|
60
47
|
messages: Tuple of message responses to render.
|
|
61
|
-
streaming_content: Partial content being streamed (appended to end).
|
|
62
|
-
streaming_thinking_content: Partial thinking/reasoning content being streamed.
|
|
63
48
|
pending_user_message: User message shown optimistically before server confirms.
|
|
64
49
|
assistant_name: Name to display for assistant (agent name or model).
|
|
65
|
-
|
|
50
|
+
is_generating: Whether currently waiting for the final response.
|
|
66
51
|
thinking_collapsed: Whether thinking blocks should be collapsed.
|
|
67
52
|
|
|
68
53
|
Returns:
|
|
@@ -89,11 +74,10 @@ class MarkdownRenderer:
|
|
|
89
74
|
# For assistant messages, check for thinking content
|
|
90
75
|
thinking_content = extract_thinking_content(msg)
|
|
91
76
|
if thinking_content:
|
|
92
|
-
# Render thinking block
|
|
77
|
+
# Render any persisted thinking block using the collapse setting.
|
|
93
78
|
renderables.append(
|
|
94
79
|
self._render_thinking_block_renderable(
|
|
95
80
|
thinking_content,
|
|
96
|
-
is_streaming=False,
|
|
97
81
|
collapsed=thinking_collapsed,
|
|
98
82
|
)
|
|
99
83
|
)
|
|
@@ -116,66 +100,38 @@ class MarkdownRenderer:
|
|
|
116
100
|
renderables.append(Text(pending_user_message))
|
|
117
101
|
renderables.append(Text(""))
|
|
118
102
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
renderables.append(
|
|
122
|
-
|
|
123
|
-
streaming_thinking_content, is_streaming, thinking_collapsed
|
|
124
|
-
)
|
|
125
|
-
)
|
|
126
|
-
renderables.append(Text(""))
|
|
127
|
-
|
|
128
|
-
# Show streaming response with spinner
|
|
129
|
-
if is_streaming or streaming_content:
|
|
130
|
-
spinner = self._get_spinner() if is_streaming else ""
|
|
131
|
-
if streaming_content:
|
|
132
|
-
header = Text()
|
|
133
|
-
header.append(f"{assistant_name}:", style=f"bold {assistant_color}")
|
|
134
|
-
header.append(f" {spinner}", style="yellow")
|
|
135
|
-
renderables.append(header)
|
|
136
|
-
# Render streaming content as markdown too
|
|
137
|
-
renderables.append(Markdown(streaming_content))
|
|
138
|
-
elif not streaming_thinking_content:
|
|
139
|
-
# Only show "Thinking..." if we don't have actual thinking content
|
|
140
|
-
header = Text()
|
|
141
|
-
header.append(f"{assistant_name}:", style=f"bold {assistant_color}")
|
|
142
|
-
header.append(f" {spinner}", style="yellow")
|
|
143
|
-
renderables.append(header)
|
|
144
|
-
renderables.append(Text("Waiting for response...", style="dim"))
|
|
103
|
+
if is_generating:
|
|
104
|
+
header = Text(f"{assistant_name}:", style=f"bold {assistant_color}")
|
|
105
|
+
renderables.append(header)
|
|
106
|
+
renderables.append(Text("Waiting for response...", style="dim"))
|
|
145
107
|
|
|
146
108
|
return Group(*renderables)
|
|
147
109
|
|
|
148
110
|
def _render_thinking_block_renderable(
|
|
149
111
|
self,
|
|
150
112
|
content: str,
|
|
151
|
-
is_streaming: bool = False,
|
|
152
113
|
collapsed: bool = False,
|
|
153
114
|
) -> Text:
|
|
154
115
|
"""Render a thinking/reasoning block with distinctive styling.
|
|
155
116
|
|
|
156
117
|
Args:
|
|
157
118
|
content: The thinking content to render.
|
|
158
|
-
is_streaming: Whether the thinking is still streaming.
|
|
159
119
|
collapsed: Whether to show collapsed view.
|
|
160
120
|
|
|
161
121
|
Returns:
|
|
162
122
|
Rich Text object for the thinking block.
|
|
163
123
|
"""
|
|
164
|
-
spinner = self._get_spinner() if is_streaming else ""
|
|
165
|
-
|
|
166
124
|
if collapsed:
|
|
167
125
|
# Show collapsed indicator with line count
|
|
168
126
|
line_count = content.count("\n") + 1
|
|
169
127
|
result = Text()
|
|
170
|
-
result.append(
|
|
171
|
-
f"◆ Thinking ({line_count} lines)... {spinner}", style=THINKING_COLOR
|
|
172
|
-
)
|
|
128
|
+
result.append(f"◆ Thinking ({line_count} lines)...", style=THINKING_COLOR)
|
|
173
129
|
result.append(" (expand with /thinking)", style="dim")
|
|
174
130
|
return result
|
|
175
131
|
|
|
176
132
|
# Full thinking block with border styling
|
|
177
133
|
lines: list[str] = []
|
|
178
|
-
lines.append(
|
|
134
|
+
lines.append("◆ Thinking")
|
|
179
135
|
|
|
180
136
|
# Indent and dim the thinking content
|
|
181
137
|
for line in content.split("\n"):
|
|
@@ -187,9 +143,3 @@ class MarkdownRenderer:
|
|
|
187
143
|
result.append(line + "\n", style="dim italic")
|
|
188
144
|
|
|
189
145
|
return result
|
|
190
|
-
|
|
191
|
-
def _get_spinner(self) -> str:
|
|
192
|
-
"""Get the current spinner frame and advance to next."""
|
|
193
|
-
frame = SPINNER_FRAMES[self._spinner_frame % len(SPINNER_FRAMES)]
|
|
194
|
-
self._spinner_frame += 1
|
|
195
|
-
return frame
|
|
@@ -25,22 +25,18 @@ class PlainTextRenderer:
|
|
|
25
25
|
def render(
|
|
26
26
|
self,
|
|
27
27
|
messages: tuple[MessageResponse, ...],
|
|
28
|
-
streaming_content: str = "",
|
|
29
|
-
streaming_thinking_content: str = "",
|
|
30
28
|
pending_user_message: str | None = None,
|
|
31
29
|
assistant_name: str = "Assistant",
|
|
32
|
-
|
|
30
|
+
is_generating: bool = False,
|
|
33
31
|
thinking_collapsed: bool = False,
|
|
34
32
|
) -> str:
|
|
35
33
|
"""Render messages to a plain text string.
|
|
36
34
|
|
|
37
35
|
Args:
|
|
38
36
|
messages: Tuple of message responses to render.
|
|
39
|
-
streaming_content: Partial content being streamed (appended to end).
|
|
40
|
-
streaming_thinking_content: Partial thinking/reasoning content (ignored in plain).
|
|
41
37
|
pending_user_message: User message shown optimistically before server confirms.
|
|
42
38
|
assistant_name: Name to display for assistant (agent name or model).
|
|
43
|
-
|
|
39
|
+
is_generating: Whether currently waiting for the final response.
|
|
44
40
|
thinking_collapsed: Whether thinking blocks are collapsed (ignored in plain).
|
|
45
41
|
|
|
46
42
|
Returns:
|
|
@@ -68,12 +64,9 @@ class PlainTextRenderer:
|
|
|
68
64
|
lines.append(pending_user_message)
|
|
69
65
|
lines.append("")
|
|
70
66
|
|
|
71
|
-
# Show
|
|
72
|
-
if
|
|
67
|
+
# Show in-flight response placeholder
|
|
68
|
+
if is_generating:
|
|
73
69
|
lines.append(f"{assistant_name}:")
|
|
74
|
-
|
|
75
|
-
lines.append(streaming_content)
|
|
76
|
-
else:
|
|
77
|
-
lines.append("...")
|
|
70
|
+
lines.append("Waiting for response...")
|
|
78
71
|
|
|
79
72
|
return "\n".join(lines)
|