alloy-runtime-cli 0.2.106__tar.gz → 0.2.108__tar.gz

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