alloy-runtime-cli 0.2.70__tar.gz → 0.2.71__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.
Files changed (493) hide show
  1. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/PKG-INFO +5 -4
  2. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/README.md +2 -1
  3. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/alloy_runtime_cli.egg-info/PKG-INFO +5 -4
  4. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/alloy_runtime_cli.egg-info/requires.txt +2 -2
  5. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/executions/get/command.py +10 -1
  6. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/executions/get/presenter.py +7 -10
  7. alloy_runtime_cli-0.2.71/cli/commands/executions/get/transcript_renderer.py +370 -0
  8. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/count/presenter.py +4 -3
  9. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/list/presenter.py +5 -1
  10. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/output.py +8 -3
  11. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/pyproject.toml +3 -3
  12. alloy_runtime_cli-0.2.70/cli/commands/executions/get/transcript_renderer.py +0 -132
  13. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/MANIFEST.in +0 -0
  14. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/alloy_runtime_cli.egg-info/SOURCES.txt +0 -0
  15. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/alloy_runtime_cli.egg-info/dependency_links.txt +0 -0
  16. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/alloy_runtime_cli.egg-info/entry_points.txt +0 -0
  17. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/alloy_runtime_cli.egg-info/top_level.txt +0 -0
  18. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/__init__.py +0 -0
  19. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/__init__.py +0 -0
  20. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/__init__.py +0 -0
  21. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/bootstrap_command.py +0 -0
  22. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/credentials/__init__.py +0 -0
  23. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/credentials/create/__init__.py +0 -0
  24. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/credentials/create/command.py +0 -0
  25. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/credentials/create/presenter.py +0 -0
  26. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/credentials/grant/__init__.py +0 -0
  27. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/credentials/grant/command.py +0 -0
  28. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/credentials/grant/fields.py +0 -0
  29. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/admin/credentials/grant/presenter.py +0 -0
  30. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/__init__.py +0 -0
  31. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/create/__init__.py +0 -0
  32. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/create/command.py +0 -0
  33. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/create/fields.py +0 -0
  34. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/create/presenter.py +0 -0
  35. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/delete/__init__.py +0 -0
  36. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/delete/command.py +0 -0
  37. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/delete/presenter.py +0 -0
  38. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/get/command.py +0 -0
  39. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/get/presenter.py +0 -0
  40. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/list/__init__.py +0 -0
  41. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/list/command.py +0 -0
  42. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/list/presenter.py +0 -0
  43. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/tool_formatting.py +0 -0
  44. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/update/__init__.py +0 -0
  45. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/update/command.py +0 -0
  46. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/update/fields.py +0 -0
  47. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/agents/update/presenter.py +0 -0
  48. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/api_keys/__init__.py +0 -0
  49. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/api_keys/create/__init__.py +0 -0
  50. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/api_keys/create/command.py +0 -0
  51. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/api_keys/create/presenter.py +0 -0
  52. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/audio/__init__.py +0 -0
  53. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/audio/transcribe/__init__.py +0 -0
  54. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/audio/transcribe/command.py +0 -0
  55. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/audio/transcribe/presenter.py +0 -0
  56. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/auth/__init__.py +0 -0
  57. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/auth/login/__init__.py +0 -0
  58. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/auth/login/command.py +0 -0
  59. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/auth/signup/__init__.py +0 -0
  60. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/auth/signup/command.py +0 -0
  61. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/__init__.py +0 -0
  62. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/__init__.py +0 -0
  63. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/by_agent/__init__.py +0 -0
  64. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/by_agent/command.py +0 -0
  65. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/by_agent/presenter.py +0 -0
  66. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/by_model/__init__.py +0 -0
  67. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/by_model/command.py +0 -0
  68. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/by_model/presenter.py +0 -0
  69. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/daily/__init__.py +0 -0
  70. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/daily/command.py +0 -0
  71. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/daily/presenter.py +0 -0
  72. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/summary/__init__.py +0 -0
  73. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/summary/command.py +0 -0
  74. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/costs/summary/presenter.py +0 -0
  75. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/__init__.py +0 -0
  76. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/create/__init__.py +0 -0
  77. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/create/command.py +0 -0
  78. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/create/presenter.py +0 -0
  79. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/get/__init__.py +0 -0
  80. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/get/command.py +0 -0
  81. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/get/presenter.py +0 -0
  82. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/list/__init__.py +0 -0
  83. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/list/command.py +0 -0
  84. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/billing/projects/list/presenter.py +0 -0
  85. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/__init__.py +0 -0
  86. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/delete/__init__.py +0 -0
  87. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/delete/command.py +0 -0
  88. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/delete/presenter.py +0 -0
  89. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/edit/__init__.py +0 -0
  90. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/edit/command.py +0 -0
  91. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/edit/editor.py +0 -0
  92. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/edit/presenter.py +0 -0
  93. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/get/__init__.py +0 -0
  94. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/get/command.py +0 -0
  95. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/get/presenter.py +0 -0
  96. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/list/__init__.py +0 -0
  97. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/list/command.py +0 -0
  98. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/list/export_formatters.py +0 -0
  99. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/list/export_handler.py +0 -0
  100. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/content/list/presenter.py +0 -0
  101. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/__init__.py +0 -0
  102. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/create/__init__.py +0 -0
  103. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/create/command.py +0 -0
  104. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/create/fields.py +0 -0
  105. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/create/presenter.py +0 -0
  106. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/list/__init__.py +0 -0
  107. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/list/command.py +0 -0
  108. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/list/presenter.py +0 -0
  109. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/supported/command.py +0 -0
  110. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/supported/presenter.py +0 -0
  111. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/update/__init__.py +0 -0
  112. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/update/command.py +0 -0
  113. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/update/fields.py +0 -0
  114. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/credentials/update/presenter.py +0 -0
  115. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/flag_utils.py +0 -0
  116. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/__init__.py +0 -0
  117. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/cancel/__init__.py +0 -0
  118. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/cancel/command.py +0 -0
  119. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/cancel/presenter.py +0 -0
  120. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/status/__init__.py +0 -0
  121. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/status/command.py +0 -0
  122. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/status/presenter.py +0 -0
  123. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/text/__init__.py +0 -0
  124. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/text/command.py +0 -0
  125. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/text/concurrent_renderer.py +0 -0
  126. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/text/presenter.py +0 -0
  127. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/generate/text/stream_renderer.py +0 -0
  128. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/__init__.py +0 -0
  129. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/__init__.py +0 -0
  130. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/cluster/__init__.py +0 -0
  131. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/cluster/command.py +0 -0
  132. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/cluster/presenter.py +0 -0
  133. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/cluster_status/__init__.py +0 -0
  134. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/cluster_status/command.py +0 -0
  135. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/cluster_status/presenter.py +0 -0
  136. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/create/__init__.py +0 -0
  137. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/create/command.py +0 -0
  138. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/create/presenter.py +0 -0
  139. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/delete/__init__.py +0 -0
  140. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/delete/command.py +0 -0
  141. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/delete/presenter.py +0 -0
  142. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/get/__init__.py +0 -0
  143. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/get/command.py +0 -0
  144. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/get/presenter.py +0 -0
  145. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/list/__init__.py +0 -0
  146. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/list/command.py +0 -0
  147. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/list/presenter.py +0 -0
  148. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/status/__init__.py +0 -0
  149. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/status/command.py +0 -0
  150. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/status/presenter.py +0 -0
  151. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/update/__init__.py +0 -0
  152. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/update/command.py +0 -0
  153. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/collections/update/presenter.py +0 -0
  154. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/__init__.py +0 -0
  155. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/bulk_metadata/__init__.py +0 -0
  156. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/bulk_metadata/command.py +0 -0
  157. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/bulk_metadata/presenter.py +0 -0
  158. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/bulk_reingest_failed/command.py +0 -0
  159. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/bulk_reingest_failed/presenter.py +0 -0
  160. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/bulk_reingest_failed_status/command.py +0 -0
  161. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/bulk_reingest_failed_status/presenter.py +0 -0
  162. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/count/__init__.py +0 -0
  163. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/count/command.py +0 -0
  164. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/delete/__init__.py +0 -0
  165. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/delete/command.py +0 -0
  166. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/delete/presenter.py +0 -0
  167. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/get/__init__.py +0 -0
  168. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/get/command.py +0 -0
  169. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/get/presenter.py +0 -0
  170. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/ingest/__init__.py +0 -0
  171. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/ingest/command.py +0 -0
  172. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/ingest/presenter.py +0 -0
  173. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/list/__init__.py +0 -0
  174. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/list/command.py +0 -0
  175. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/reingest/__init__.py +0 -0
  176. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/reingest/command.py +0 -0
  177. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/reingest/presenter.py +0 -0
  178. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/update/__init__.py +0 -0
  179. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/update/command.py +0 -0
  180. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/documents/update/presenter.py +0 -0
  181. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/recover/__init__.py +0 -0
  182. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/recover/command.py +0 -0
  183. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/recover/presenter.py +0 -0
  184. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/search/__init__.py +0 -0
  185. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/search/command.py +0 -0
  186. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/search/presenter.py +0 -0
  187. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/__init__.py +0 -0
  188. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/create/__init__.py +0 -0
  189. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/create/command.py +0 -0
  190. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/create/presenter.py +0 -0
  191. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/delete/__init__.py +0 -0
  192. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/delete/command.py +0 -0
  193. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/delete/presenter.py +0 -0
  194. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/get/__init__.py +0 -0
  195. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/get/command.py +0 -0
  196. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/get/presenter.py +0 -0
  197. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/list/__init__.py +0 -0
  198. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/list/command.py +0 -0
  199. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/list/presenter.py +0 -0
  200. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/refresh/__init__.py +0 -0
  201. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/refresh/command.py +0 -0
  202. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/refresh/presenter.py +0 -0
  203. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/update/__init__.py +0 -0
  204. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/update/command.py +0 -0
  205. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/knowledge/synthesis/update/presenter.py +0 -0
  206. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/models/__init__.py +0 -0
  207. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/models/list/__init__.py +0 -0
  208. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/models/list/command.py +0 -0
  209. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/models/list/presenter.py +0 -0
  210. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/organizations/__init__.py +0 -0
  211. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/organizations/create/command.py +0 -0
  212. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/organizations/create/presenter.py +0 -0
  213. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/ping/command.py +0 -0
  214. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/__init__.py +0 -0
  215. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/approvals/__init__.py +0 -0
  216. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/approvals/decide_command.py +0 -0
  217. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/approvals/get_command.py +0 -0
  218. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/approvals/presenter.py +0 -0
  219. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/costs/__init__.py +0 -0
  220. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/costs/command.py +0 -0
  221. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/costs/daily_command.py +0 -0
  222. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/costs/daily_presenter.py +0 -0
  223. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/costs/presenter.py +0 -0
  224. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/create/__init__.py +0 -0
  225. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/create/command.py +0 -0
  226. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/create/presenter.py +0 -0
  227. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/env_vars/__init__.py +0 -0
  228. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/env_vars/command.py +0 -0
  229. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/env_vars/presenter.py +0 -0
  230. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/execute/__init__.py +0 -0
  231. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/execute/command.py +0 -0
  232. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/execute/presenter.py +0 -0
  233. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/__init__.py +0 -0
  234. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/costs/__init__.py +0 -0
  235. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/costs/command.py +0 -0
  236. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/costs/presenter.py +0 -0
  237. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/costs_by_model/__init__.py +0 -0
  238. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/costs_by_model/command.py +0 -0
  239. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/costs_by_model/presenter.py +0 -0
  240. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/costs_by_step/__init__.py +0 -0
  241. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/get_command.py +0 -0
  242. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/list_command.py +0 -0
  243. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/presenter.py +0 -0
  244. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/rerun_command.py +0 -0
  245. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/update/__init__.py +0 -0
  246. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/update/command.py +0 -0
  247. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/executions/update/presenter.py +0 -0
  248. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/get/__init__.py +0 -0
  249. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/get/command.py +0 -0
  250. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/get/presenter.py +0 -0
  251. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/list/__init__.py +0 -0
  252. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/list/command.py +0 -0
  253. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/list/presenter.py +0 -0
  254. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/__init__.py +0 -0
  255. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/create_command.py +0 -0
  256. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/create_presenter.py +0 -0
  257. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/delete_command.py +0 -0
  258. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/env_vars_command.py +0 -0
  259. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/env_vars_presenter.py +0 -0
  260. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/get_command.py +0 -0
  261. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/list_command.py +0 -0
  262. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/once_command.py +0 -0
  263. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/once_presenter.py +0 -0
  264. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/presenter.py +0 -0
  265. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/update_command.py +0 -0
  266. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/schedules/update_presenter.py +0 -0
  267. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/update/__init__.py +0 -0
  268. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/pipelines/update/command.py +0 -0
  269. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/render/__init__.py +0 -0
  270. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/render/html_to_image/__init__.py +0 -0
  271. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/render/html_to_image/command.py +0 -0
  272. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/__init__.py +0 -0
  273. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/create/__init__.py +0 -0
  274. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/create/command.py +0 -0
  275. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/create/presenter.py +0 -0
  276. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/delete/command.py +0 -0
  277. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/delete/presenter.py +0 -0
  278. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/get/__init__.py +0 -0
  279. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/get/command.py +0 -0
  280. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/get/presenter.py +0 -0
  281. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/list/__init__.py +0 -0
  282. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/list/command.py +0 -0
  283. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/list/presenter.py +0 -0
  284. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/update/__init__.py +0 -0
  285. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/update/command.py +0 -0
  286. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/schemas/update/presenter.py +0 -0
  287. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/__init__.py +0 -0
  288. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/delete/__init__.py +0 -0
  289. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/delete/command.py +0 -0
  290. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/delete/presenter.py +0 -0
  291. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/get/__init__.py +0 -0
  292. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/get/command.py +0 -0
  293. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/get/presenter.py +0 -0
  294. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/list/__init__.py +0 -0
  295. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/list/command.py +0 -0
  296. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/list/presenter.py +0 -0
  297. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/messages/__init__.py +0 -0
  298. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/messages/command.py +0 -0
  299. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sessions/messages/presenter.py +0 -0
  300. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/shared_flags.py +0 -0
  301. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sync/__init__.py +0 -0
  302. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sync/command.py +0 -0
  303. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/sync/presenter.py +0 -0
  304. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/__init__.py +0 -0
  305. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/create/__init__.py +0 -0
  306. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/create/command.py +0 -0
  307. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/delete/__init__.py +0 -0
  308. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/delete/command.py +0 -0
  309. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/delete/presenter.py +0 -0
  310. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/get/command.py +0 -0
  311. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/get/presenter.py +0 -0
  312. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/list/__init__.py +0 -0
  313. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/list/command.py +0 -0
  314. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/list/presenter.py +0 -0
  315. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/update/command.py +0 -0
  316. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tags/update/presenter.py +0 -0
  317. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/__init__.py +0 -0
  318. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/create/__init__.py +0 -0
  319. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/create/command.py +0 -0
  320. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/create/presenter.py +0 -0
  321. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/delete/__init__.py +0 -0
  322. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/delete/command.py +0 -0
  323. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/delete/presenter.py +0 -0
  324. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/get/__init__.py +0 -0
  325. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/get/command.py +0 -0
  326. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/get/presenter.py +0 -0
  327. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/get_by_version/command.py +0 -0
  328. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/get_by_version/presenter.py +0 -0
  329. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/list/__init__.py +0 -0
  330. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/list/command.py +0 -0
  331. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/list/presenter.py +0 -0
  332. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/render/__init__.py +0 -0
  333. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/render/command.py +0 -0
  334. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/render/presenter.py +0 -0
  335. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/update/__init__.py +0 -0
  336. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/update/command.py +0 -0
  337. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/update/presenter.py +0 -0
  338. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/validate/__init__.py +0 -0
  339. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/validate/command.py +0 -0
  340. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/validate/presenter.py +0 -0
  341. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/version/__init__.py +0 -0
  342. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/version/command.py +0 -0
  343. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/templates/version/presenter.py +0 -0
  344. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/__init__.py +0 -0
  345. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/create/__init__.py +0 -0
  346. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/create/command.py +0 -0
  347. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/create/presenter.py +0 -0
  348. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/delete/__init__.py +0 -0
  349. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/delete/command.py +0 -0
  350. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/delete/presenter.py +0 -0
  351. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/get/__init__.py +0 -0
  352. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/get/command.py +0 -0
  353. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/get/presenter.py +0 -0
  354. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/list/__init__.py +0 -0
  355. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/list/command.py +0 -0
  356. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/list/presenter.py +0 -0
  357. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/update/__init__.py +0 -0
  358. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/update/command.py +0 -0
  359. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tool_configs/update/presenter.py +0 -0
  360. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tools/__init__.py +0 -0
  361. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tools/get/__init__.py +0 -0
  362. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tools/get/command.py +0 -0
  363. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tools/get/presenter.py +0 -0
  364. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tools/list/__init__.py +0 -0
  365. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tools/list/command.py +0 -0
  366. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/tools/list/presenter.py +0 -0
  367. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/users/__init__.py +0 -0
  368. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/users/create/command.py +0 -0
  369. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/users/create/presenter.py +0 -0
  370. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/commands/whoami/__init__.py +0 -0
  371. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/__init__.py +0 -0
  372. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/auth_storage.py +0 -0
  373. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/client_factory.py +0 -0
  374. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/command.py +0 -0
  375. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/config.py +0 -0
  376. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/console.py +0 -0
  377. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/editor.py +0 -0
  378. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/error_display.py +0 -0
  379. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/field_extractor.py +0 -0
  380. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/file_content.py +0 -0
  381. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/filter_parser.py +0 -0
  382. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/formatters/__init__.py +0 -0
  383. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/formatters/base.py +0 -0
  384. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/formatters/compact_formatter.py +0 -0
  385. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/formatters/json_formatter.py +0 -0
  386. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/formatters/table_formatter.py +0 -0
  387. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/formatting/__init__.py +0 -0
  388. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/formatting/fields.py +0 -0
  389. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/__init__.py +0 -0
  390. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/agent_picker.py +0 -0
  391. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/agent_tool_editor.py +0 -0
  392. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/agent_tools_manager.py +0 -0
  393. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/base_picker.py +0 -0
  394. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/components.py +0 -0
  395. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/json_schema_builder.py +0 -0
  396. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/model_picker.py +0 -0
  397. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/parsers.py +0 -0
  398. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/resolution_modal.py +0 -0
  399. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/schema_picker.py +0 -0
  400. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/tag_management_modal.py +0 -0
  401. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/tag_picker.py +0 -0
  402. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/template_picker.py +0 -0
  403. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/tool_config_picker.py +0 -0
  404. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/forms/tool_picker.py +0 -0
  405. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/help_json.py +0 -0
  406. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/help_markdown.py +0 -0
  407. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/help_toon.py +0 -0
  408. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/injection/__init__.py +0 -0
  409. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/injection/parser.py +0 -0
  410. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/injection/resolver.py +0 -0
  411. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/kv_parser.py +0 -0
  412. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/local_storage.py +0 -0
  413. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/macro_parser.py +0 -0
  414. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/provider_setup.py +0 -0
  415. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/renderers/__init__.py +0 -0
  416. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/renderers/entity_renderer.py +0 -0
  417. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/renderers/list_renderer.py +0 -0
  418. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/scope_utils.py +0 -0
  419. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/spinner.py +0 -0
  420. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/tui/__init__.py +0 -0
  421. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/tui/clipboard.py +0 -0
  422. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/tui/formatters.py +0 -0
  423. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/tui/preview.py +0 -0
  424. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/tui/selectable.py +0 -0
  425. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/validation/__init__.py +0 -0
  426. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/infrastructure/validation/tag_validation.py +0 -0
  427. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/main.py +0 -0
  428. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/__init__.py +0 -0
  429. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/app.py +0 -0
  430. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/app_store.py +0 -0
  431. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/__init__.py +0 -0
  432. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/commands/__init__.py +0 -0
  433. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/commands/base.py +0 -0
  434. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/commands/create_session.py +0 -0
  435. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/commands/load_session.py +0 -0
  436. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/commands/regenerate.py +0 -0
  437. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/commands/reload_session.py +0 -0
  438. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/commands/send_message.py +0 -0
  439. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/commands/undo.py +0 -0
  440. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/editor.py +0 -0
  441. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/messages.py +0 -0
  442. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/pane.py +0 -0
  443. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/renderers/__init__.py +0 -0
  444. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/renderers/base.py +0 -0
  445. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/renderers/markdown.py +0 -0
  446. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/renderers/plain.py +0 -0
  447. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/screen.py +0 -0
  448. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/services/__init__.py +0 -0
  449. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/services/injection.py +0 -0
  450. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/services/name_generator.py +0 -0
  451. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/slash_commands.py +0 -0
  452. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/store.py +0 -0
  453. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/types.py +0 -0
  454. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/widgets/__init__.py +0 -0
  455. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/widgets/chat_header.py +0 -0
  456. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/widgets/chat_input.py +0 -0
  457. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/widgets/injection_popup.py +0 -0
  458. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/widgets/message_display.py +0 -0
  459. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/widgets/session_sidebar.py +0 -0
  460. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/chat/widgets/welcome_screen.py +0 -0
  461. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/__init__.py +0 -0
  462. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/agents.py +0 -0
  463. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/base.py +0 -0
  464. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/content.py +0 -0
  465. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/dashboard.py +0 -0
  466. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/models.py +0 -0
  467. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/nav_screen.py +0 -0
  468. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/schemas.py +0 -0
  469. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/templates.py +0 -0
  470. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/screens/tool_configs.py +0 -0
  471. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/styles/__init__.py +0 -0
  472. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/styles/app.tcss +0 -0
  473. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/styles/browser.tcss +0 -0
  474. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/styles/chat.tcss +0 -0
  475. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/styles/dashboard.tcss +0 -0
  476. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/styles/forms.tcss +0 -0
  477. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/styles/modals.tcss +0 -0
  478. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/__init__.py +0 -0
  479. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/agent_create_modal.py +0 -0
  480. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/agent_form_modal.py +0 -0
  481. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/agent_update_modal.py +0 -0
  482. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/base_form_modal.py +0 -0
  483. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/confirm_modal.py +0 -0
  484. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/help_modal.py +0 -0
  485. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/new_session_modal.py +0 -0
  486. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/schema_create_modal.py +0 -0
  487. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/schema_update_modal.py +0 -0
  488. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/status_footer.py +0 -0
  489. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/template_create_modal.py +0 -0
  490. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/template_update_modal.py +0 -0
  491. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/tool_config_create_modal.py +0 -0
  492. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/cli/tui/widgets/tool_config_update_modal.py +0 -0
  493. {alloy_runtime_cli-0.2.70 → alloy_runtime_cli-0.2.71}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alloy-runtime-cli
3
- Version: 0.2.70
3
+ Version: 0.2.71
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.70
20
- Requires-Dist: alloy-runtime-types==0.2.70
19
+ Requires-Dist: alloy-runtime-sdk==0.2.71
20
+ Requires-Dist: alloy-runtime-types==0.2.71
21
21
  Requires-Dist: trogon==0.6.0
22
22
 
23
23
  # alloy-runtime-cli
@@ -74,9 +74,10 @@ For live model-execution inspection, use:
74
74
  ```bash
75
75
  alloy executions get <execution_id>
76
76
  alloy executions get <execution_id> --watch
77
+ alloy executions get <execution_id> --full-output
77
78
  ```
78
79
 
79
- `alloy executions get` uses a dedicated transcript view for human output: one metadata header followed by full chronological reasoning, tool-call, tool-output, and assistant blocks. `--watch` appends only newly observed activity blocks while the execution is still running and waits indefinitely unless you pass `--timeout <seconds>`.
80
+ `alloy executions get` uses a dedicated transcript view for human output: one metadata header followed by chronological reasoning, tool-call, tool-output, and assistant blocks. Tool inputs are always complete; tool outputs are compact by default, and `--full-output` expands them. `--watch` appends only newly observed activity blocks while the execution is still running and waits indefinitely unless you pass `--timeout <seconds>`.
80
81
 
81
82
  `alloy ping` is the authenticated connectivity check. It confirms who you are, which host you reached, and which server build answered the request.
82
83
 
@@ -52,9 +52,10 @@ For live model-execution inspection, use:
52
52
  ```bash
53
53
  alloy executions get <execution_id>
54
54
  alloy executions get <execution_id> --watch
55
+ alloy executions get <execution_id> --full-output
55
56
  ```
56
57
 
57
- `alloy executions get` uses a dedicated transcript view for human output: one metadata header followed by full chronological reasoning, tool-call, tool-output, and assistant blocks. `--watch` appends only newly observed activity blocks while the execution is still running and waits indefinitely unless you pass `--timeout <seconds>`.
58
+ `alloy executions get` uses a dedicated transcript view for human output: one metadata header followed by chronological reasoning, tool-call, tool-output, and assistant blocks. Tool inputs are always complete; tool outputs are compact by default, and `--full-output` expands them. `--watch` appends only newly observed activity blocks while the execution is still running and waits indefinitely unless you pass `--timeout <seconds>`.
58
59
 
59
60
  `alloy ping` is the authenticated connectivity check. It confirms who you are, which host you reached, and which server build answered the request.
60
61
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alloy-runtime-cli
3
- Version: 0.2.70
3
+ Version: 0.2.71
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.70
20
- Requires-Dist: alloy-runtime-types==0.2.70
19
+ Requires-Dist: alloy-runtime-sdk==0.2.71
20
+ Requires-Dist: alloy-runtime-types==0.2.71
21
21
  Requires-Dist: trogon==0.6.0
22
22
 
23
23
  # alloy-runtime-cli
@@ -74,9 +74,10 @@ For live model-execution inspection, use:
74
74
  ```bash
75
75
  alloy executions get <execution_id>
76
76
  alloy executions get <execution_id> --watch
77
+ alloy executions get <execution_id> --full-output
77
78
  ```
78
79
 
79
- `alloy executions get` uses a dedicated transcript view for human output: one metadata header followed by full chronological reasoning, tool-call, tool-output, and assistant blocks. `--watch` appends only newly observed activity blocks while the execution is still running and waits indefinitely unless you pass `--timeout <seconds>`.
80
+ `alloy executions get` uses a dedicated transcript view for human output: one metadata header followed by chronological reasoning, tool-call, tool-output, and assistant blocks. Tool inputs are always complete; tool outputs are compact by default, and `--full-output` expands them. `--watch` appends only newly observed activity blocks while the execution is still running and waits indefinitely unless you pass `--timeout <seconds>`.
80
81
 
81
82
  `alloy ping` is the authenticated connectivity check. It confirms who you are, which host you reached, and which server build answered the request.
82
83
 
@@ -4,6 +4,6 @@ textual==8.2.3
4
4
  genson==1.3.0
5
5
  pyperclip==1.11.0
6
6
  prompt-toolkit==3.0.52
7
- alloy-runtime-sdk==0.2.70
8
- alloy-runtime-types==0.2.70
7
+ alloy-runtime-sdk==0.2.71
8
+ alloy-runtime-types==0.2.71
9
9
  trogon==0.6.0
@@ -23,11 +23,17 @@ def executions_get_command(
23
23
  "--timeout",
24
24
  help="Maximum seconds to wait when using --watch (default: wait indefinitely)",
25
25
  ),
26
+ full_output: bool = typer.Option(
27
+ False,
28
+ "--full-output",
29
+ help="Show full tool outputs instead of compact truncation",
30
+ ),
26
31
  ) -> None:
27
32
  _execute_get(
28
33
  execution_id=validate_uuid(execution_id, "execution"),
29
34
  watch=watch,
30
35
  timeout=timeout,
36
+ full_output=full_output,
31
37
  )
32
38
 
33
39
 
@@ -36,11 +42,12 @@ async def _execute_get(
36
42
  execution_id: UUID,
37
43
  watch: bool,
38
44
  timeout: float | None,
45
+ full_output: bool,
39
46
  ) -> None:
40
47
  async with authenticated_client() as (_config, client):
41
48
  if not watch:
42
49
  response = await client.get_execution(execution_id)
43
- present_execution(response)
50
+ present_execution(response, full_output=full_output)
44
51
  return
45
52
 
46
53
  output = OutputService.get()
@@ -68,7 +75,9 @@ async def _execute_get(
68
75
  rendered_count = present_execution(
69
76
  response,
70
77
  include_metadata=not metadata_rendered,
78
+ include_appendices=response.is_terminal,
71
79
  start_index=rendered_count,
80
+ full_output=full_output,
72
81
  )
73
82
  metadata_rendered = True
74
83
  if response.is_terminal:
@@ -11,7 +11,9 @@ def present_execution(
11
11
  response: GetExecutionResponse,
12
12
  *,
13
13
  include_metadata: bool = True,
14
+ include_appendices: bool | None = None,
14
15
  start_index: int = 0,
16
+ full_output: bool = False,
15
17
  ) -> int:
16
18
  output = OutputService.get()
17
19
  if output.format == OutputFormat.JSON:
@@ -25,24 +27,19 @@ def present_execution(
25
27
  activity_blocks = render_activity_blocks(
26
28
  response.activity,
27
29
  start_index=start_index,
30
+ full_output=full_output,
28
31
  )
29
32
  if activity_blocks:
30
- if include_metadata:
31
- blocks.append(
32
- "────────────────────────────────────────────────────────────"
33
- )
34
33
  blocks.append(activity_blocks)
35
34
  elif include_metadata and response.activity_state == "unavailable":
36
- blocks.append("────────────────────────────────────────────────────────────")
37
35
  blocks.append("No live activity is available yet.")
38
36
 
39
- if include_metadata:
37
+ should_render_appendices = (
38
+ include_metadata if include_appendices is None else include_appendices
39
+ )
40
+ if should_render_appendices:
40
41
  appendices = render_appendices(response)
41
42
  if appendices:
42
- if blocks:
43
- blocks.append(
44
- "────────────────────────────────────────────────────────────"
45
- )
46
43
  blocks.append(appendices)
47
44
 
48
45
  rendered = "\n\n".join(blocks).rstrip()
@@ -0,0 +1,370 @@
1
+ import json
2
+ import textwrap
3
+ from dataclasses import dataclass
4
+ from datetime import datetime
5
+ from typing import Any, cast
6
+
7
+ from alloy_runtime_types.dtos.executions import (
8
+ AssistantTextActivity,
9
+ ExecutionActivityItem,
10
+ GetExecutionResponse,
11
+ ReasoningActivity,
12
+ ToolCallActivity,
13
+ ToolOutputActivity,
14
+ )
15
+ from rich.markup import escape
16
+
17
+
18
+ @dataclass(frozen=True)
19
+ class KindDescriptor:
20
+ label: str
21
+ style: str
22
+
23
+
24
+ KIND_DESCRIPTORS: dict[str, KindDescriptor] = {
25
+ "reasoning": KindDescriptor("REASONING", "dim cyan"),
26
+ "assistant_text": KindDescriptor("ASSISTANT", "bold"),
27
+ "tool_call": KindDescriptor("TOOL CALL", "magenta"),
28
+ "tool_output": KindDescriptor("TOOL OUTPUT", "green"),
29
+ "tool_error": KindDescriptor("TOOL ERROR", "bold red"),
30
+ }
31
+
32
+ RULE = "─" * 80
33
+
34
+
35
+ def render_execution_header(response: GetExecutionResponse, *, width: int = 80) -> str:
36
+ execution_id = f"{str(response.execution_id)[:8]}…"
37
+ duration = _format_duration(response.total_duration_ms)
38
+ rounds = (
39
+ _plural(response.round_count, "round")
40
+ if response.round_count is not None
41
+ else "0 rounds"
42
+ )
43
+ activity = _plural(len(response.activity), "activity item")
44
+ lines = [
45
+ "Execution "
46
+ f"{escape(execution_id)} · "
47
+ f"{_styled(escape(response.status), _status_style(response.status))} · "
48
+ f"{escape(duration)} · {escape(rounds)} · {escape(activity)}"
49
+ ]
50
+
51
+ provider = _provider_line(response)
52
+ if provider:
53
+ lines.append(provider)
54
+
55
+ times = _times_line(response)
56
+ if times:
57
+ lines.append(times)
58
+
59
+ if response.error_message:
60
+ lines.append(f"Error {_styled(escape(response.error_message), 'red')}")
61
+
62
+ lines.append(_styled(escape(RULE[:width]), "dim"))
63
+ return "\n".join(lines)
64
+
65
+
66
+ def render_activity_blocks(
67
+ activities: list[ExecutionActivityItem],
68
+ *,
69
+ start_index: int = 0,
70
+ full_output: bool,
71
+ width: int = 80,
72
+ ) -> str:
73
+ blocks: list[str] = []
74
+ for activity in activities[start_index:]:
75
+ blocks.append(_render_activity(activity, full_output=full_output, width=width))
76
+ return "\n\n".join(block for block in blocks if block)
77
+
78
+
79
+ def render_appendices(response: GetExecutionResponse) -> str:
80
+ appendices: list[str] = []
81
+ if response.output_text:
82
+ appendices.append(f"Final Output\n{escape(response.output_text)}")
83
+ return "\n\n".join(appendices)
84
+
85
+
86
+ def _render_activity(
87
+ activity: ExecutionActivityItem, *, full_output: bool, width: int
88
+ ) -> str:
89
+ body = ""
90
+ inline_meta: str | None = None
91
+ tool_name: str | None = None
92
+
93
+ if isinstance(activity, ReasoningActivity):
94
+ body = _wrap_text(activity.text, width=width, indent=" ", style="dim")
95
+ elif isinstance(activity, AssistantTextActivity):
96
+ body = _wrap_text(activity.text, width=width, indent=" ")
97
+ elif isinstance(activity, ToolCallActivity):
98
+ tool_name = activity.tool_name
99
+ body = _format_tool_input(activity.input, width=width)
100
+ elif isinstance(activity, ToolOutputActivity):
101
+ tool_name = activity.tool_name
102
+ body, inline_meta = _dispatch_tool_output(
103
+ activity.tool_name, activity.output, full=full_output, width=width
104
+ )
105
+ else:
106
+ tool_name = activity.tool_name
107
+ body = _wrap_text(activity.error, width=width, indent=" ", style="red")
108
+
109
+ header = _activity_header(activity, tool_name=tool_name, inline_meta=inline_meta)
110
+ if not body:
111
+ return header
112
+ return f"{header}\n{body}"
113
+
114
+
115
+ def _activity_header(
116
+ activity: ExecutionActivityItem, *, tool_name: str | None, inline_meta: str | None
117
+ ) -> str:
118
+ descriptor = KIND_DESCRIPTORS[activity.kind]
119
+ pieces = [
120
+ _styled(escape(_format_time(activity.timestamp)), "dim"),
121
+ _styled(descriptor.label, descriptor.style),
122
+ ]
123
+ if tool_name:
124
+ pieces.append(_styled(escape(tool_name), "bold"))
125
+ if inline_meta:
126
+ pieces.append(_styled(escape(inline_meta), "dim"))
127
+ return " ".join(pieces)
128
+
129
+
130
+ def _format_tool_input(payload: dict[str, Any], *, width: int) -> str:
131
+ if not payload:
132
+ return ""
133
+ key_width = min(max(len(str(key)) for key in payload), 24)
134
+ lines: list[str] = []
135
+ available = max(20, width - 2 - key_width - 2)
136
+ for key, value in payload.items():
137
+ key_text = str(key)
138
+ rendered = _format_input_value(value)
139
+ prefix = " " + _styled(escape(key_text.ljust(key_width)), "cyan") + " "
140
+ if "\n" not in rendered and len(rendered) <= available:
141
+ lines.append(prefix + escape(rendered))
142
+ continue
143
+ lines.append(prefix.rstrip())
144
+ for line in rendered.splitlines():
145
+ lines.append(" " + " " * (key_width + 2) + escape(line))
146
+ return "\n".join(lines)
147
+
148
+
149
+ def _format_input_value(value: Any) -> str:
150
+ if isinstance(value, str):
151
+ return value
152
+ compact = json.dumps(value, ensure_ascii=False, separators=(",", ":"))
153
+ if len(compact) <= 80:
154
+ return compact
155
+ return json.dumps(value, ensure_ascii=False, indent=2)
156
+
157
+
158
+ def _dispatch_tool_output(
159
+ tool_name: str, payload: dict[str, Any] | list[Any] | str, *, full: bool, width: int
160
+ ) -> tuple[str, str | None]:
161
+ if tool_name == "rag_search" and isinstance(payload, dict):
162
+ return _format_rag_search(payload, full=full, width=width)
163
+ return _format_generic(payload, full=full, width=width)
164
+
165
+
166
+ def _format_rag_search(
167
+ payload: dict[str, Any], *, full: bool, width: int
168
+ ) -> tuple[str, str | None]:
169
+ titles = _list_of_strings(payload.get("top_titles"))
170
+ hits = _int_value(payload.get("hits"), default=len(titles))
171
+ timing = _int_value(payload.get("timing_ms"), default=None)
172
+ inline_meta = f"{hits} hits" + (f" · {timing}ms" if timing is not None else "")
173
+ scores = _list(payload.get("scores"))
174
+ source_refs = _list(payload.get("source_refs"))
175
+ chunks = _list(payload.get("chunks"))
176
+
177
+ lines: list[str] = []
178
+ for index, title in enumerate(titles):
179
+ if not full:
180
+ lines.append(f" • {escape(title)}")
181
+ continue
182
+ meta_parts: list[str] = []
183
+ if index < len(scores):
184
+ meta_parts.append(f"score {_score(scores[index])}")
185
+ if index < len(source_refs):
186
+ meta_parts.append(str(source_refs[index]))
187
+ meta = (
188
+ f" {_styled(escape(' · '.join(meta_parts)), 'dim')}" if meta_parts else ""
189
+ )
190
+ lines.append(f" • {escape(title)}{meta}")
191
+ snippet = _chunk_text(chunks[index]) if index < len(chunks) else None
192
+ if snippet:
193
+ lines.extend(
194
+ escape(line)
195
+ for line in _wrap_plain(
196
+ snippet, width=width, indent=" ", max_lines=2
197
+ )
198
+ )
199
+
200
+ if not full:
201
+ lines.append("")
202
+ lines.append(
203
+ " "
204
+ + _styled(
205
+ "Use --full-output to see scores, source refs, and content snippets.",
206
+ "dim",
207
+ )
208
+ )
209
+ return "\n".join(lines), inline_meta
210
+
211
+
212
+ def _format_generic(
213
+ payload: dict[str, Any] | list[Any] | str, *, full: bool, width: int
214
+ ) -> tuple[str, str | None]:
215
+ raw = (
216
+ payload
217
+ if isinstance(payload, str)
218
+ else json.dumps(payload, indent=2, ensure_ascii=False)
219
+ )
220
+ wrapped: list[str] = []
221
+ for line in raw.splitlines() or [""]:
222
+ wrapped.extend(_wrap_plain(line, width=width, indent=" "))
223
+ total = len(wrapped)
224
+ visible = wrapped if full or total <= 12 else wrapped[:12]
225
+ escaped_lines = [escape(line) for line in visible]
226
+ if not full and total > 12:
227
+ escaped_lines.append(
228
+ " "
229
+ + _styled(
230
+ f"+ {total - 12} more lines — use --full-output to expand",
231
+ "dim",
232
+ )
233
+ )
234
+ return "\n".join(escaped_lines), _plural(total, "line")
235
+
236
+
237
+ def _wrap_text(text: str, *, width: int, indent: str, style: str | None = None) -> str:
238
+ lines = [escape(line) for line in _wrap_plain(text, width=width, indent=indent)]
239
+ if style:
240
+ return "\n".join(_styled(line, style) for line in lines)
241
+ return "\n".join(lines)
242
+
243
+
244
+ def _wrap_plain(
245
+ text: str, *, width: int, indent: str, max_lines: int | None = None
246
+ ) -> list[str]:
247
+ lines: list[str] = []
248
+ body_width = max(20, width - len(indent))
249
+ for source_line in text.splitlines() or [""]:
250
+ wrapped = textwrap.wrap(
251
+ source_line,
252
+ width=body_width,
253
+ replace_whitespace=False,
254
+ drop_whitespace=False,
255
+ ) or [""]
256
+ for line in wrapped:
257
+ lines.append(indent + line)
258
+ if max_lines is not None and len(lines) >= max_lines:
259
+ return lines
260
+ return lines
261
+
262
+
263
+ def _provider_line(response: GetExecutionResponse) -> str | None:
264
+ if (
265
+ not response.provider_key
266
+ and not response.provider_model_name
267
+ and not response.origin_label
268
+ ):
269
+ return None
270
+ provider = (
271
+ f"{response.provider_key} / {response.provider_model_name}"
272
+ if response.provider_key or response.provider_model_name
273
+ else ""
274
+ )
275
+ return f"Provider {escape(provider)} · origin: {escape(response.origin_label)}"
276
+
277
+
278
+ def _times_line(response: GetExecutionResponse) -> str | None:
279
+ parts: list[str] = []
280
+ include_completed_date = (
281
+ isinstance(response.completed_at, datetime)
282
+ and response.queued_at.date() != response.completed_at.date()
283
+ )
284
+ if response.queued_at:
285
+ parts.append(f"queued {_format_time(response.queued_at)}")
286
+ if response.started_at:
287
+ parts.append(f"started {_format_time(response.started_at)}")
288
+ if response.completed_at:
289
+ parts.append(
290
+ "completed "
291
+ + (
292
+ response.completed_at.strftime("%Y-%m-%d %H:%M:%S")
293
+ if include_completed_date
294
+ else _format_time(response.completed_at)
295
+ )
296
+ )
297
+ if not parts:
298
+ return None
299
+ return "Times " + escape(" · ".join(parts))
300
+
301
+
302
+ def _format_duration(total_duration_ms: int | None) -> str:
303
+ if total_duration_ms is None:
304
+ return "(running)"
305
+ seconds = total_duration_ms / 1000
306
+ return f"{seconds:.1f}s" if seconds < 60 else f"{seconds / 60:.1f}m"
307
+
308
+
309
+ def _format_time(value: Any) -> str:
310
+ if not isinstance(value, datetime):
311
+ return "--:--:--"
312
+ return value.strftime("%H:%M:%S")
313
+
314
+
315
+ def _status_style(status: str) -> str:
316
+ if status in {"failed", "cancelled", "timeout"}:
317
+ return "bold red"
318
+ if status in {"completed", "succeeded"}:
319
+ return "green"
320
+ return "yellow"
321
+
322
+
323
+ def _plural(count: int, noun: str) -> str:
324
+ return f"{count} {noun}" if count == 1 else f"{count} {noun}s"
325
+
326
+
327
+ def _list(value: Any) -> list[Any]:
328
+ return cast(list[Any], value) if isinstance(value, list) else []
329
+
330
+
331
+ def _list_of_strings(value: Any) -> list[str]:
332
+ items = cast(list[object], value) if isinstance(value, list) else []
333
+ return [str(item) for item in items]
334
+
335
+
336
+ def _int_value(value: Any, *, default: int | None) -> int | None:
337
+ if isinstance(value, bool):
338
+ return default
339
+ if isinstance(value, int):
340
+ return value
341
+ return default
342
+
343
+
344
+ def _score(value: Any) -> str:
345
+ if isinstance(value, (int, float)) and not isinstance(value, bool):
346
+ return f"{float(value):.2f}"
347
+ return str(value)
348
+
349
+
350
+ def _chunk_text(value: Any) -> str | None:
351
+ if isinstance(value, str):
352
+ return value
353
+ if isinstance(value, dict):
354
+ mapping = cast(dict[str, object], value)
355
+ text = mapping.get("text")
356
+ if isinstance(text, str):
357
+ return text
358
+ return None
359
+
360
+
361
+ def _styled(content: str, style: str) -> str:
362
+ return _open_tag(style) + content + _close_tag(style)
363
+
364
+
365
+ def _open_tag(style: str) -> str:
366
+ return "[" + style + "]"
367
+
368
+
369
+ def _close_tag(style: str) -> str:
370
+ return "[/" + style + "]"
@@ -6,6 +6,7 @@ from alloy_runtime_types.dtos.knowledge import (
6
6
  CountDocumentsResponse,
7
7
  DOCUMENT_STATUS_ORDER,
8
8
  )
9
+ from rich.markup import escape
9
10
 
10
11
  from cli.infrastructure.output import OutputService
11
12
 
@@ -15,11 +16,11 @@ def present_documents_count(
15
16
  ) -> None:
16
17
  output = OutputService.get()
17
18
  if output_json:
18
- output.text(json.dumps(response.model_dump(mode="json"), indent=2))
19
+ output.text(escape(json.dumps(response.model_dump(mode="json"), indent=2)))
19
20
  return
20
21
 
21
- output.text(f"Total documents: {response.count}")
22
+ output.text(f"Total documents: {escape(str(response.count))}")
22
23
  breakdown = response.breakdown_by_status.model_dump()
23
24
  output.text("By status:")
24
25
  for status in DOCUMENT_STATUS_ORDER:
25
- output.text(f" {status}: {breakdown[status]}")
26
+ output.text(f" {escape(status)}: {escape(str(breakdown[status]))}")
@@ -4,6 +4,7 @@ from alloy_runtime_types.dtos.knowledge import (
4
4
  DOCUMENT_STATUS_ORDER,
5
5
  ListDocumentsResponse,
6
6
  )
7
+ from rich.markup import escape
7
8
 
8
9
  from cli.infrastructure.output import OutputService
9
10
  from cli.infrastructure.renderers.list_renderer import ColumnConfig
@@ -88,5 +89,8 @@ def present_documents_list(response: ListDocumentsResponse) -> None:
88
89
  breakdown = response.breakdown_by_status.model_dump()
89
90
  output.text(
90
91
  "By status: "
91
- + ", ".join(f"{status}={breakdown[status]}" for status in DOCUMENT_STATUS_ORDER)
92
+ + ", ".join(
93
+ f"{escape(status)}={escape(str(breakdown[status]))}"
94
+ for status in DOCUMENT_STATUS_ORDER
95
+ )
92
96
  )
@@ -6,6 +6,7 @@ from enum import Enum
6
6
  from typing import Any, cast
7
7
 
8
8
  from pydantic import BaseModel
9
+ from rich.console import Console
9
10
 
10
11
  from cli.infrastructure.console import get_console
11
12
  from cli.infrastructure.formatters.base import Formatter
@@ -37,14 +38,18 @@ class OutputService:
37
38
  _instance: "OutputService | None" = None
38
39
  _format: OutputFormat = OutputFormat.COMPACT
39
40
 
40
- def __init__(self, format: OutputFormat = OutputFormat.COMPACT):
41
+ def __init__(
42
+ self,
43
+ format: OutputFormat = OutputFormat.COMPACT,
44
+ console: Console | None = None,
45
+ ):
41
46
  """Initialize output service with specified format.
42
47
 
43
48
  Args:
44
49
  format: Output mode for record blocks or raw JSON payloads
45
50
  """
46
51
  self.format = format
47
- self._console = get_console()
52
+ self._console = console if console is not None else get_console()
48
53
  self._formatter = self._create_formatter(format)
49
54
  self._entity_renderer = EntityRenderer(self._formatter)
50
55
  self._list_renderer = ListRenderer(self._formatter)
@@ -114,7 +119,7 @@ class OutputService:
114
119
  self._write_raw_stdout(json.dumps(jsonable, indent=2, default=str))
115
120
 
116
121
  def text(self, content: str) -> None:
117
- self._write_raw_stdout(content)
122
+ self._console.print(content, markup=True, highlight=False, soft_wrap=False)
118
123
 
119
124
  def progress(self, message: str) -> None:
120
125
  print(message, file=sys.stderr)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "alloy-runtime-cli"
7
- version = "0.2.70"
7
+ version = "0.2.71"
8
8
  description = "Alloy Runtime CLI - Command-line interface for Alloy Runtime server"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -23,8 +23,8 @@ dependencies = [
23
23
  "genson==1.3.0",
24
24
  "pyperclip==1.11.0",
25
25
  "prompt-toolkit==3.0.52",
26
- "alloy-runtime-sdk==0.2.70",
27
- "alloy-runtime-types==0.2.70",
26
+ "alloy-runtime-sdk==0.2.71",
27
+ "alloy-runtime-types==0.2.71",
28
28
  "trogon==0.6.0",
29
29
  ]
30
30