aria-code 0.93.0__tar.gz → 0.94.0__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 (763) hide show
  1. {aria_code-0.93.0/src/aria_code.egg-info → aria_code-0.94.0}/PKG-INFO +7 -1
  2. {aria_code-0.93.0 → aria_code-0.94.0}/README.md +6 -0
  3. {aria_code-0.93.0 → aria_code-0.94.0}/pyproject.toml +1 -1
  4. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/_version.py +1 -1
  5. aria_code-0.94.0/src/aria_code/apps/cli/exec_events.py +83 -0
  6. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/aria_cli.py +71 -27
  7. {aria_code-0.93.0 → aria_code-0.94.0/src/aria_code.egg-info}/PKG-INFO +7 -1
  8. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code.egg-info/SOURCES.txt +2 -0
  9. aria_code-0.94.0/tests/test_exec_events.py +92 -0
  10. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_headless_is_agentic.py +6 -2
  11. {aria_code-0.93.0 → aria_code-0.94.0}/LICENSE +0 -0
  12. {aria_code-0.93.0 → aria_code-0.94.0}/NOTICE +0 -0
  13. {aria_code-0.93.0 → aria_code-0.94.0}/setup.cfg +0 -0
  14. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/__init__.py +0 -0
  15. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/adk_apps/__init__.py +0 -0
  16. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/adk_apps/aria_code_review/__init__.py +0 -0
  17. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/adk_apps/aria_code_review/agent.py +0 -0
  18. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/adk_apps/aria_research/__init__.py +0 -0
  19. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/adk_apps/aria_research/agent.py +0 -0
  20. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/__init__.py +0 -0
  21. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/base.py +0 -0
  22. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/code_review.py +0 -0
  23. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/__init__.py +0 -0
  24. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/calibration_loop.py +0 -0
  25. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/critic.py +0 -0
  26. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/deepen.py +0 -0
  27. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/models.py +0 -0
  28. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/pipeline.py +0 -0
  29. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/quant_fusion.py +0 -0
  30. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/themes.py +0 -0
  31. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/deep/tiers.py +0 -0
  32. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/engineering/__init__.py +0 -0
  33. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/engineering/coder.py +0 -0
  34. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/engineering/tester.py +0 -0
  35. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/__init__.py +0 -0
  36. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/cashflow_burn.py +0 -0
  37. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/catalyst.py +0 -0
  38. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/corporate_finance.py +0 -0
  39. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/debate.py +0 -0
  40. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/earnings.py +0 -0
  41. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/fundamental.py +0 -0
  42. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/macro.py +0 -0
  43. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/news.py +0 -0
  44. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/risk.py +0 -0
  45. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/sector.py +0 -0
  46. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/strategist.py +0 -0
  47. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/stripe_revenue.py +0 -0
  48. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/synthesis.py +0 -0
  49. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/financial/technical.py +0 -0
  50. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/orchestrator.py +0 -0
  51. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/portfolio_agent.py +0 -0
  52. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/__init__.py +0 -0
  53. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/asset_diagnosis.py +0 -0
  54. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/business_match.py +0 -0
  55. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/cashflow_verify.py +0 -0
  56. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/contract_rules.py +0 -0
  57. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/energy_anomaly.py +0 -0
  58. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/exit_settlement.py +0 -0
  59. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/fulfillment_risk.py +0 -0
  60. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/ops_optimize.py +0 -0
  61. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/realty/revenue_share.py +0 -0
  62. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/registry.py +0 -0
  63. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/signal_scheme.py +0 -0
  64. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/sports/__init__.py +0 -0
  65. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/sports/football_agent.py +0 -0
  66. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/supervisor.py +0 -0
  67. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/team.py +0 -0
  68. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/__init__.py +0 -0
  69. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/contracts.py +0 -0
  70. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/dashboard.py +0 -0
  71. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/fulfillment_leadtime.py +0 -0
  72. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/inbound_exceptions.py +0 -0
  73. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/inventory_health.py +0 -0
  74. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/local_run.py +0 -0
  75. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/local_snapshot.py +0 -0
  76. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/logistics_cost.py +0 -0
  77. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/logistics_sync.py +0 -0
  78. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/workflow.py +0 -0
  79. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/aliyun_data_client.py +0 -0
  80. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/README.md +0 -0
  81. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/__init__.py +0 -0
  82. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/channels/README.md +0 -0
  83. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/channels/__init__.py +0 -0
  84. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/channels/approvals.py +0 -0
  85. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/channels/conversation.py +0 -0
  86. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/channels/digest.py +0 -0
  87. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/channels/intake.py +0 -0
  88. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/channels/registry.py +0 -0
  89. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/channels/tradingview.py +0 -0
  90. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/README.md +0 -0
  91. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/__init__.py +0 -0
  92. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/_optional.py +0 -0
  93. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/bootstrap.py +0 -0
  94. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/broker_render.py +0 -0
  95. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/codegen_paths.py +0 -0
  96. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/__init__.py +0 -0
  97. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/_business_render.py +0 -0
  98. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/_ui.py +0 -0
  99. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/analysis_cmds.py +0 -0
  100. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/ashare_prediction_cmds.py +0 -0
  101. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/auth_cmds.py +0 -0
  102. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/backtest_cmds.py +0 -0
  103. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/broker_cmds.py +0 -0
  104. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/business_workflow_cmds.py +0 -0
  105. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/canvas_cmds.py +0 -0
  106. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/catalog.py +0 -0
  107. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/core_cmds.py +0 -0
  108. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/data_cmds.py +0 -0
  109. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/diagnostic_cmds.py +0 -0
  110. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/diagnostic_ops_cmds.py +0 -0
  111. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/file_cmds.py +0 -0
  112. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/finance_service_cmds.py +0 -0
  113. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/fx_commodity_cmds.py +0 -0
  114. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/market.py +0 -0
  115. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/market_cmds.py +0 -0
  116. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/market_context.py +0 -0
  117. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/market_render.py +0 -0
  118. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/model_cmds.py +0 -0
  119. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/ops_cmds.py +0 -0
  120. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/orchestrator_cmds.py +0 -0
  121. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/pdf_export_cmds.py +0 -0
  122. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/portfolio_cmds.py +0 -0
  123. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/report.py +0 -0
  124. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/scaffold_templates.py +0 -0
  125. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/session_cmds.py +0 -0
  126. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/session_ux_cmds.py +0 -0
  127. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/team.py +0 -0
  128. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/team_render.py +0 -0
  129. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/ui_cmds.py +0 -0
  130. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/warehouse_cmds.py +0 -0
  131. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/workflow_cmds.py +0 -0
  132. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/workspace_cmds.py +0 -0
  133. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/config_paths.py +0 -0
  134. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/config_store.py +0 -0
  135. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/constants.py +0 -0
  136. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/context.py +0 -0
  137. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/deterministic.py +0 -0
  138. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/direct.py +0 -0
  139. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/finance_service_catalog.py +0 -0
  140. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/football_reports.py +0 -0
  141. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/github_app_auth.py +0 -0
  142. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/google_login.py +0 -0
  143. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/__init__.py +0 -0
  144. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/broker_handlers.py +0 -0
  145. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/chart_handlers.py +0 -0
  146. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/market_handlers.py +0 -0
  147. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/realty_handlers.py +0 -0
  148. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/sports_handlers.py +0 -0
  149. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/strategy_advice.py +0 -0
  150. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/helpers.py +0 -0
  151. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/hooks.py +0 -0
  152. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/i18n.py +0 -0
  153. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/intent.py +0 -0
  154. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/intent_router.py +0 -0
  155. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/intent_signals.py +0 -0
  156. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/lifecycle_hooks.py +0 -0
  157. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/local_tool_schemas.py +0 -0
  158. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/main.py +0 -0
  159. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/market_hours.py +0 -0
  160. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/market_metadata.py +0 -0
  161. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/market_universe.py +0 -0
  162. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/message_processing.py +0 -0
  163. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/model_catalog.py +0 -0
  164. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/pdf_report.py +0 -0
  165. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/plan_mode.py +0 -0
  166. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/plotly_html.py +0 -0
  167. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prediction_feedback.py +0 -0
  168. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/preflight.py +0 -0
  169. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/project_aria.py +0 -0
  170. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompt_assembly.py +0 -0
  171. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/__init__.py +0 -0
  172. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/coding.py +0 -0
  173. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/select.py +0 -0
  174. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/system_prompts.py +0 -0
  175. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/ui.py +0 -0
  176. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/provider_endpoints.py +0 -0
  177. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/provider_keys.py +0 -0
  178. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/__init__.py +0 -0
  179. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/base.py +0 -0
  180. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/chat_routing.py +0 -0
  181. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/collaboration.py +0 -0
  182. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/__init__.py +0 -0
  183. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/offline_responses.py +0 -0
  184. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/ollama_stream.py +0 -0
  185. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/response_cache.py +0 -0
  186. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/sse_stream.py +0 -0
  187. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/runtime_bridge.py +0 -0
  188. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/vertexai_stream.py +0 -0
  189. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/review_runner.py +0 -0
  190. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/runtime_consumer.py +0 -0
  191. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/sandbox.py +0 -0
  192. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/session_export.py +0 -0
  193. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/session_jsonl.py +0 -0
  194. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/session_store.py +0 -0
  195. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/skills_catalog.py +0 -0
  196. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/todo_tracker.py +0 -0
  197. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tool_executor.py +0 -0
  198. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tool_registry.py +0 -0
  199. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tool_scope.py +0 -0
  200. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/__init__.py +0 -0
  201. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/context.py +0 -0
  202. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/file_tools.py +0 -0
  203. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/market_tools.py +0 -0
  204. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/notebook_tools.py +0 -0
  205. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/system_tools.py +0 -0
  206. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/write_tools.py +0 -0
  207. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tradingview_bridge.py +0 -0
  208. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/turn_planning.py +0 -0
  209. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/update_check.py +0 -0
  210. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/updater.py +0 -0
  211. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/utils/__init__.py +0 -0
  212. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/cli/utils/market_detect.py +0 -0
  213. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/daemon/README.md +0 -0
  214. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/vscode/README.md +0 -0
  215. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/apps/vscode/package.json +0 -0
  216. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/aria_daemon.py +0 -0
  217. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/aria_feishu_bot.py +0 -0
  218. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/aria_mcp_server.py +0 -0
  219. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/aria_relay_client.py +0 -0
  220. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/aria_relay_server.py +0 -0
  221. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/aria_telegram_bot.py +0 -0
  222. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ariarc.py +0 -0
  223. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/artifacts.py +0 -0
  224. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/backtest_engine.py +0 -0
  225. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/backtest_report.py +0 -0
  226. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/__init__.py +0 -0
  227. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/automation.py +0 -0
  228. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/base.py +0 -0
  229. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/capabilities.py +0 -0
  230. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/__init__.py +0 -0
  231. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/easytrader_broker.py +0 -0
  232. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/futu_broker.py +0 -0
  233. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/longbridge_broker.py +0 -0
  234. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/tiger_broker.py +0 -0
  235. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/xtquant_broker.py +0 -0
  236. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/config.py +0 -0
  237. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/__init__.py +0 -0
  238. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/alpaca_broker.py +0 -0
  239. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/ibkr_broker.py +0 -0
  240. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/trading212_broker.py +0 -0
  241. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/webull_broker.py +0 -0
  242. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/paper_broker.py +0 -0
  243. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/planning.py +0 -0
  244. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/registry.py +0 -0
  245. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/brokers/trading.py +0 -0
  246. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/canva_client.py +0 -0
  247. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/change_store.py +0 -0
  248. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/__init__.py +0 -0
  249. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/aliyun_data_client.py +0 -0
  250. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/aria_relay_client.py +0 -0
  251. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/canva_client.py +0 -0
  252. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/figma_client.py +0 -0
  253. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/football_data_client.py +0 -0
  254. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/kling_video_client.py +0 -0
  255. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/market_data_client.py +0 -0
  256. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/openai_image_client.py +0 -0
  257. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/runway_video_client.py +0 -0
  258. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/clients/warehouse_erp_client.py +0 -0
  259. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/cloud_memory.py +0 -0
  260. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/command_safety.py +0 -0
  261. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/computer_use_tools.py +0 -0
  262. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/dashboard_generator.py +0 -0
  263. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/data_analysis_tools.py +0 -0
  264. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/data_cleaner.py +0 -0
  265. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/data_service.py +0 -0
  266. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/__init__.py +0 -0
  267. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/base.py +0 -0
  268. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/router.py +0 -0
  269. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/__init__.py +0 -0
  270. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/akshare_source.py +0 -0
  271. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/alpha_vantage_source.py +0 -0
  272. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/edgar_source.py +0 -0
  273. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/finnhub_source.py +0 -0
  274. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/fred_source.py +0 -0
  275. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/tushare_source.py +0 -0
  276. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/web_scraper_source.py +0 -0
  277. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/world_bank_source.py +0 -0
  278. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/yfinance_source.py +0 -0
  279. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/demo_player.py +0 -0
  280. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/doctor.py +0 -0
  281. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/domain/__init__.py +0 -0
  282. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/domain/backtest_engine.py +0 -0
  283. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/domain/backtest_report.py +0 -0
  284. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/domain/finance_formulas.py +0 -0
  285. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/domain/portfolio_ledger.py +0 -0
  286. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/domain/strategy_vault.py +0 -0
  287. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/evals/__init__.py +0 -0
  288. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/evals/harness.py +0 -0
  289. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/evals/runner.py +0 -0
  290. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/external_agent_runner.py +0 -0
  291. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/figma_client.py +0 -0
  292. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/file_analysis_tools.py +0 -0
  293. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/finance_formulas.py +0 -0
  294. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/football_data_client.py +0 -0
  295. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/image_gen_tools.py +0 -0
  296. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/intent_classifier.py +0 -0
  297. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/kling_video_client.py +0 -0
  298. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/licensing.py +0 -0
  299. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/local_finance_tools.py +0 -0
  300. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/local_image_provider.py +0 -0
  301. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/local_llm_provider.py +0 -0
  302. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/macro_tools.py +0 -0
  303. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/markdown_pdf.py +0 -0
  304. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/market_data_client.py +0 -0
  305. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/mcp_client.py +0 -0
  306. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/memory_manager.py +0 -0
  307. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/model_capability.py +0 -0
  308. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/notification_tools.py +0 -0
  309. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/openai_image_client.py +0 -0
  310. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/__init__.py +0 -0
  311. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/adk_bridge/__init__.py +0 -0
  312. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/adk_bridge/code_review_tools.py +0 -0
  313. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/adk_bridge/market_tools.py +0 -0
  314. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_agents/__init__.py +0 -0
  315. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_agents/manifest.py +0 -0
  316. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/__init__.py +0 -0
  317. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/architecture.py +0 -0
  318. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/export.py +0 -0
  319. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/manifest.py +0 -0
  320. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/paths.py +0 -0
  321. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/secure_file.py +0 -0
  322. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_infra/__init__.py +0 -0
  323. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_infra/arthera.py +0 -0
  324. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_infra/doctor.py +0 -0
  325. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_infra/product.py +0 -0
  326. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/__init__.py +0 -0
  327. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/bridge.py +0 -0
  328. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/circuit.py +0 -0
  329. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/config.py +0 -0
  330. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/installer.py +0 -0
  331. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/server.py +0 -0
  332. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/tools.py +0 -0
  333. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/__init__.py +0 -0
  334. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/client.py +0 -0
  335. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/providers.py +0 -0
  336. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/streaming.py +0 -0
  337. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/types.py +0 -0
  338. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/__init__.py +0 -0
  339. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/cache.py +0 -0
  340. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/context.py +0 -0
  341. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/context_checkpoints.py +0 -0
  342. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/data.py +0 -0
  343. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/provider_health.py +0 -0
  344. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/references.py +0 -0
  345. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/registry.py +0 -0
  346. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/research_protocol.py +0 -0
  347. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/research_quality.py +0 -0
  348. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/settings.py +0 -0
  349. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/usage.py +0 -0
  350. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_skills/__init__.py +0 -0
  351. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_skills/catalog.py +0 -0
  352. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_skills/loader.py +0 -0
  353. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_skills/registry.py +0 -0
  354. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/__init__.py +0 -0
  355. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/__init__.py +0 -0
  356. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/_paths.py +0 -0
  357. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/compliance.py +0 -0
  358. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/factors.py +0 -0
  359. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/risk_tools.py +0 -0
  360. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/strategy.py +0 -0
  361. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/registry.py +0 -0
  362. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/__init__.py +0 -0
  363. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/_namespace.py +0 -0
  364. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/backtest/__init__.py +0 -0
  365. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/backtest/core.py +0 -0
  366. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/backtest/engine.py +0 -0
  367. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/portfolio/__init__.py +0 -0
  368. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/portfolio/optimizer.py +0 -0
  369. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/__init__.py +0 -0
  370. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/calibrator.py +0 -0
  371. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/dixon_coles.py +0 -0
  372. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/elo.py +0 -0
  373. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/form.py +0 -0
  374. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/h2h.py +0 -0
  375. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/ml_model.py +0 -0
  376. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/predictor.py +0 -0
  377. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/tracker.py +0 -0
  378. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/__init__.py +0 -0
  379. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/gbm_enhanced.py +0 -0
  380. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/ito_calculus.py +0 -0
  381. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/kelly_criterion.py +0 -0
  382. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/monte_carlo_advanced.py +0 -0
  383. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/options_pricing.py +0 -0
  384. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/stochastic_processes.py +0 -0
  385. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packs/__init__.py +0 -0
  386. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packs/base.py +0 -0
  387. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packs/finance/__init__.py +0 -0
  388. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packs/logistics/__init__.py +0 -0
  389. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packs/payments/__init__.py +0 -0
  390. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packs/realty/__init__.py +0 -0
  391. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packs/registry.py +0 -0
  392. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/packs/rules.py +0 -0
  393. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/plan_utils.py +0 -0
  394. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/plugin_loader.py +0 -0
  395. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/portfolio_ledger.py +0 -0
  396. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/preview_server.py +0 -0
  397. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/privacy/__init__.py +0 -0
  398. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/privacy/feedback.py +0 -0
  399. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/project_review.py +0 -0
  400. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/project_review_api.py +0 -0
  401. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/project_review_server.py +0 -0
  402. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/project_tools.py +0 -0
  403. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/__init__.py +0 -0
  404. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/llm/__init__.py +0 -0
  405. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/llm/anthropic.py +0 -0
  406. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/llm/autoconfig.py +0 -0
  407. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/llm/base.py +0 -0
  408. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/llm/custom.py +0 -0
  409. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/llm/ollama.py +0 -0
  410. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/llm/openai_compat.py +0 -0
  411. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/llm/registry.py +0 -0
  412. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/local_image_provider.py +0 -0
  413. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/local_llm_provider.py +0 -0
  414. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/providers/tool_messages.py +0 -0
  415. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/realty_data_tools.py +0 -0
  416. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/relay_store.py +0 -0
  417. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/report_exporters.py +0 -0
  418. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/report_generator.py +0 -0
  419. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/review_service.py +0 -0
  420. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/__init__.py +0 -0
  421. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/acceptance.py +0 -0
  422. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/agent_loop.py +0 -0
  423. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/approval.py +0 -0
  424. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/budget.py +0 -0
  425. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/checkpoints.py +0 -0
  426. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/crash_report.py +0 -0
  427. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/events.py +0 -0
  428. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/gateway.py +0 -0
  429. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/lsp.py +0 -0
  430. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/orchestrator.py +0 -0
  431. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/processes.py +0 -0
  432. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/repo_map.py +0 -0
  433. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/run_state.py +0 -0
  434. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/run_store.py +0 -0
  435. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/self_healing.py +0 -0
  436. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/subagent.py +0 -0
  437. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/task_ledger.py +0 -0
  438. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/task_orchestrator.py +0 -0
  439. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/tool_executor.py +0 -0
  440. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/tool_policy.py +0 -0
  441. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runtime/worktrees.py +0 -0
  442. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/runway_video_client.py +0 -0
  443. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/safety/__init__.py +0 -0
  444. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/safety/permissions.py +0 -0
  445. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/safety/sandbox.py +0 -0
  446. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/safety/service.py +0 -0
  447. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/setup_wizard.py +0 -0
  448. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/spreadsheet_tools.py +0 -0
  449. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/strategy_vault.py +0 -0
  450. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/__init__.py +0 -0
  451. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/artifact_tools.py +0 -0
  452. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/broker_tools.py +0 -0
  453. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/build_quant_engine.py +0 -0
  454. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/code_audit_tools.py +0 -0
  455. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/computer_use_tools.py +0 -0
  456. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/data_analysis_tools.py +0 -0
  457. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/enterprise_finance_tools.py +0 -0
  458. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/extended_tools.py +0 -0
  459. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/file_analysis_tools.py +0 -0
  460. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/image_gen_tools.py +0 -0
  461. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/local_finance_tools.py +0 -0
  462. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_carriers.py +0 -0
  463. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_inventory.py +0 -0
  464. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_io.py +0 -0
  465. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_tenancy.py +0 -0
  466. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_tools.py +0 -0
  467. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/macro_tools.py +0 -0
  468. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/notification_tools.py +0 -0
  469. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/project_tools.py +0 -0
  470. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/realty_data_tools.py +0 -0
  471. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/spreadsheet_tools.py +0 -0
  472. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/tools/stripe_tools.py +0 -0
  473. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/__init__.py +0 -0
  474. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/banner.py +0 -0
  475. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/completer.py +0 -0
  476. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/console.py +0 -0
  477. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/image_render.py +0 -0
  478. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/input_box.py +0 -0
  479. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/mentions.py +0 -0
  480. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/picker.py +0 -0
  481. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/render/__init__.py +0 -0
  482. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/render/finance.py +0 -0
  483. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/render/market.py +0 -0
  484. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/render/output.py +0 -0
  485. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/render/responsive.py +0 -0
  486. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/render/team.py +0 -0
  487. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/robot.py +0 -0
  488. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/ui/startup_dashboard.py +0 -0
  489. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/utils/vscode_uri.py +0 -0
  490. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/video_analysis.py +0 -0
  491. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/video_editor.py +0 -0
  492. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/workspace/__init__.py +0 -0
  493. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/workspace/files.py +0 -0
  494. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/workspace/verify.py +0 -0
  495. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/workspace_changes.py +0 -0
  496. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/workspace_context.py +0 -0
  497. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/workspace_service.py +0 -0
  498. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code/workspace_tools.py +0 -0
  499. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code.egg-info/dependency_links.txt +0 -0
  500. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code.egg-info/entry_points.txt +0 -0
  501. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code.egg-info/requires.txt +0 -0
  502. {aria_code-0.93.0 → aria_code-0.94.0}/src/aria_code.egg-info/top_level.txt +0 -0
  503. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_adk_market_tools.py +0 -0
  504. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_agent_key_points_language.py +0 -0
  505. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_agent_team_fallback.py +0 -0
  506. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_analyze_file_tool.py +0 -0
  507. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_architecture_ledger_is_true.py +0 -0
  508. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_architecture_report.py +0 -0
  509. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_aria_cli_core.py +0 -0
  510. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_aria_mcp_server.py +0 -0
  511. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_aria_sdk.py +0 -0
  512. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_artifact_publishing.py +0 -0
  513. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_artifacts_and_reports.py +0 -0
  514. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ashare_prediction_cmds.py +0 -0
  515. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_background_processes.py +0 -0
  516. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_backtest_cmds.py +0 -0
  517. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_backtest_engine.py +0 -0
  518. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_backtest_report.py +0 -0
  519. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_binary_bundles_runtime_imports.py +0 -0
  520. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_broken_akshare_is_optional.py +0 -0
  521. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_broker_automation.py +0 -0
  522. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_broker_chat_confirm_gate.py +0 -0
  523. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_broker_planning.py +0 -0
  524. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_broker_safety.py +0 -0
  525. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_broker_tools.py +0 -0
  526. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_budget.py +0 -0
  527. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_business_workflow_cmds.py +0 -0
  528. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_canva_client.py +0 -0
  529. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_canvas_cmds.py +0 -0
  530. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_card_approvals.py +0 -0
  531. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_channel_intake.py +0 -0
  532. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_channels.py +0 -0
  533. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_chart_handlers.py +0 -0
  534. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_chat_bots_fail_closed.py +0 -0
  535. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_chat_routing.py +0 -0
  536. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ci_security_workflow.py +0 -0
  537. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_cli_app_split.py +0 -0
  538. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_cli_bootstrap.py +0 -0
  539. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_cli_config_store.py +0 -0
  540. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_cli_lifecycle_hooks.py +0 -0
  541. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_cli_runtime_consumer.py +0 -0
  542. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_cli_tool_executor_module.py +0 -0
  543. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_cli_updater.py +0 -0
  544. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_cloud_memory.py +0 -0
  545. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_code_audit_tools.py +0 -0
  546. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_code_review_agent.py +0 -0
  547. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_codegen_output.py +0 -0
  548. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_coder_tester_self_healing.py +0 -0
  549. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_coder_tool_safety.py +0 -0
  550. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_collaboration.py +0 -0
  551. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_command_loggers.py +0 -0
  552. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_command_safety.py +0 -0
  553. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_completions_builder.py +0 -0
  554. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_config_paths.py +0 -0
  555. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_configured_provider.py +0 -0
  556. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_container_entrypoint.py +0 -0
  557. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_container_entrypoints.py +0 -0
  558. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_context_checkpoints.py +0 -0
  559. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_context_references.py +0 -0
  560. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_context_service.py +0 -0
  561. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_conversation_core.py +0 -0
  562. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_crash_report.py +0 -0
  563. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_credential_file_permissions.py +0 -0
  564. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_custom_providers.py +0 -0
  565. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_daemon_gateway_config.py +0 -0
  566. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_dashboard_generator.py +0 -0
  567. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_data_service.py +0 -0
  568. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_data_service_imports.py +0 -0
  569. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_data_without_model.py +0 -0
  570. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_datasource_routing.py +0 -0
  571. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_deep_analysis.py +0 -0
  572. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_degrades_without_quant_engine.py +0 -0
  573. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_dispatcher_pins_match_the_release.py +0 -0
  574. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_doctor.py +0 -0
  575. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_doctor_describes_the_current_install.py +0 -0
  576. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_doctor_npm_scope.py +0 -0
  577. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_edit_and_command_safety.py +0 -0
  578. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_engine_boundary.py +0 -0
  579. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_enterprise_tool_honesty.py +0 -0
  580. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_env_switch_docs.py +0 -0
  581. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_evals_harness.py +0 -0
  582. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_event_import_roots.py +0 -0
  583. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_extended_tools.py +0 -0
  584. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_feishu_swarm_config.py +0 -0
  585. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_file_links.py +0 -0
  586. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_finalize_release.py +0 -0
  587. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_finance_renderers.py +0 -0
  588. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_finance_service_catalog.py +0 -0
  589. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_first_run_output.py +0 -0
  590. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_first_run_works.py +0 -0
  591. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_football_agent.py +0 -0
  592. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_football_prediction_output.py +0 -0
  593. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_google_cloud_models.py +0 -0
  594. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_google_cloud_routing.py +0 -0
  595. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_google_login.py +0 -0
  596. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_google_search_provider.py +0 -0
  597. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_honest_surfaces.py +0 -0
  598. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_image_gen_tools.py +0 -0
  599. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_image_inputs.py +0 -0
  600. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_import_graph_budget.py +0 -0
  601. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_intent_router.py +0 -0
  602. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_intent_signals.py +0 -0
  603. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_kling_video_client.py +0 -0
  604. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_lazy_rebind.py +0 -0
  605. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_legacy_module_imports.py +0 -0
  606. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_license_consistency.py +0 -0
  607. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_licensing.py +0 -0
  608. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_local_image_provider.py +0 -0
  609. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_logistics_3pl.py +0 -0
  610. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_logistics_and_finance_agents.py +0 -0
  611. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_lsp.py +0 -0
  612. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_markdown_pdf.py +0 -0
  613. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_market_answers_in_english.py +0 -0
  614. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_market_data_client.py +0 -0
  615. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_market_history_inheritance.py +0 -0
  616. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_market_history_tool.py +0 -0
  617. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_market_hours.py +0 -0
  618. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_market_questions_on_backend.py +0 -0
  619. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_market_symbol_extraction.py +0 -0
  620. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_market_universe.py +0 -0
  621. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_mcp_circuit.py +0 -0
  622. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_mcp_client.py +0 -0
  623. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_mentions.py +0 -0
  624. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_model_capability_registry.py +0 -0
  625. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_model_choice_is_the_users.py +0 -0
  626. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_model_selection_state.py +0 -0
  627. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_narrow_chinese_output.py +0 -0
  628. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_native_binary_entrypoints.py +0 -0
  629. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_native_installer.py +0 -0
  630. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_natural_language_routing.py +0 -0
  631. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_new_modules.py +0 -0
  632. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_no_hardcoded_developer_paths.py +0 -0
  633. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_no_uncommitted_imports.py +0 -0
  634. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_numeric_listings.py +0 -0
  635. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ollama_stream_imports.py +0 -0
  636. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ollama_stream_tools.py +0 -0
  637. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_openai_image_client.py +0 -0
  638. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_operations_suite.py +0 -0
  639. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_os_sandbox.py +0 -0
  640. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_output_rendering.py +0 -0
  641. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_packages_facade.py +0 -0
  642. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_packaging_constraints.py +0 -0
  643. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_packaging_manifest.py +0 -0
  644. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_packs_domains.py +0 -0
  645. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_pdf_report.py +0 -0
  646. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_pick_best_installed_model.py +0 -0
  647. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_plan_mode.py +0 -0
  648. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_platform_package_assembly.py +0 -0
  649. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_platform_packages.py +0 -0
  650. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_platform_publish.py +0 -0
  651. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_plotly_html_output.py +0 -0
  652. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_portfolio_language.py +0 -0
  653. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_portfolio_ledger.py +0 -0
  654. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_post_turn_context_decision.py +0 -0
  655. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_preflight.py +0 -0
  656. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_preview_server.py +0 -0
  657. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_privacy_feedback.py +0 -0
  658. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_project_aria.py +0 -0
  659. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_project_context_files.py +0 -0
  660. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_project_review.py +0 -0
  661. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_project_review_api.py +0 -0
  662. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_prompt_assembly.py +0 -0
  663. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_prompt_selection.py +0 -0
  664. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_provider_autoconfig.py +0 -0
  665. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_provider_error_messages.py +0 -0
  666. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_provider_integration.py +0 -0
  667. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_provider_registry.py +0 -0
  668. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_public_service_status.py +0 -0
  669. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_quant_engine_namespace.py +0 -0
  670. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_rebind_contract.py +0 -0
  671. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_rebind_namespace_contract.py +0 -0
  672. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_relay_client_credentials.py +0 -0
  673. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_relay_event_verification.py +0 -0
  674. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_relay_sends_for_clients.py +0 -0
  675. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_relay_store.py +0 -0
  676. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_relay_url.py +0 -0
  677. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_release_chain.py +0 -0
  678. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_release_commit_identity.py +0 -0
  679. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_release_push_is_atomic.py +0 -0
  680. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_release_reaches_the_registries.py +0 -0
  681. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_release_verification_waits.py +0 -0
  682. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_release_workflow_permissions.py +0 -0
  683. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_report_charts.py +0 -0
  684. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_report_generator.py +0 -0
  685. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_research_protocol.py +0 -0
  686. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_research_quality.py +0 -0
  687. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_responsive_rendering.py +0 -0
  688. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_review_service.py +0 -0
  689. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_root_module_budget.py +0 -0
  690. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_rsi_without_pandas_ta.py +0 -0
  691. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_acceptance.py +0 -0
  692. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_agent_loop.py +0 -0
  693. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_approval.py +0 -0
  694. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_bridge.py +0 -0
  695. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_bridge_fallback.py +0 -0
  696. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_checkpoints.py +0 -0
  697. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_event_identity.py +0 -0
  698. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_gateway.py +0 -0
  699. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_repo_map.py +0 -0
  700. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_run_store.py +0 -0
  701. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_tool_executor.py +0 -0
  702. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runtime_worktrees.py +0 -0
  703. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_runway_video_client.py +0 -0
  704. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_safety_permissions.py +0 -0
  705. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_safety_service.py +0 -0
  706. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_safety_service_adoption.py +0 -0
  707. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_service_diagnostics_security.py +0 -0
  708. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_session_search.py +0 -0
  709. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_settings_service.py +0 -0
  710. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_shell_commands_as_written.py +0 -0
  711. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_shipper_digest.py +0 -0
  712. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_single_import_root.py +0 -0
  713. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_skill_agent_binding.py +0 -0
  714. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_skill_catalog.py +0 -0
  715. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_skill_loader.py +0 -0
  716. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_slash_popup.py +0 -0
  717. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_spreadsheet_tools.py +0 -0
  718. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_sse_stream_contract.py +0 -0
  719. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_startup_dashboard.py +0 -0
  720. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_startup_latency.py +0 -0
  721. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_status_language.py +0 -0
  722. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_streaming_pipeline.py +0 -0
  723. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_stripe_agent.py +0 -0
  724. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_subagent.py +0 -0
  725. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_supervisor_routing.py +0 -0
  726. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_system_prompts.py +0 -0
  727. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_system_tools_output.py +0 -0
  728. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_task_orchestrator.py +0 -0
  729. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_team_analysts.py +0 -0
  730. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_team_synthesis.py +0 -0
  731. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_tls_trust_store.py +0 -0
  732. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_tool_policy.py +0 -0
  733. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_tool_rounds_on_openai_apis.py +0 -0
  734. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_tool_scope.py +0 -0
  735. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_tool_step_output.py +0 -0
  736. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_trading_service.py +0 -0
  737. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_tradingview_bridge.py +0 -0
  738. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_turn_planning.py +0 -0
  739. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ui_completer_references.py +0 -0
  740. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ui_console_theme.py +0 -0
  741. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ui_input_box.py +0 -0
  742. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ui_language_and_model.py +0 -0
  743. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_ui_robot_banner.py +0 -0
  744. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_update_health_routes.py +0 -0
  745. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_verification_hint.py +0 -0
  746. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_verification_policy.py +0 -0
  747. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_version_consistency.py +0 -0
  748. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_version_counter.py +0 -0
  749. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_video_analysis.py +0 -0
  750. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_video_editor.py +0 -0
  751. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_vscode_mcp.py +0 -0
  752. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_warehouse_agents.py +0 -0
  753. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_warehouse_cli_registration.py +0 -0
  754. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_warehouse_erp_client.py +0 -0
  755. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_warehouse_workflow.py +0 -0
  756. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_wheel_is_installable.py +0 -0
  757. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_workspace_changes.py +0 -0
  758. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_workspace_context.py +0 -0
  759. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_workspace_files.py +0 -0
  760. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_workspace_scope.py +0 -0
  761. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_workspace_service.py +0 -0
  762. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_workspace_verify.py +0 -0
  763. {aria_code-0.93.0 → aria_code-0.94.0}/tests/test_wrapped_indent.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aria-code
3
- Version: 0.93.0
3
+ Version: 0.94.0
4
4
  Summary: Open-source AI agent for coding, financial analysis and logistics operations: numbers you can check, client data kept apart, actions a person approves
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/artheras/aria-code
@@ -251,6 +251,12 @@ aria-code -p "Inspect this project, fix the failing tests, run them, and summari
251
251
 
252
252
  Aria may request approval before editing files or running commands, according to the configured permission mode. Review changes and test results before committing them.
253
253
 
254
+ In a script or CI job, `--json` prints one JSON result and `--format jsonl` prints one JSON event per line as the turn runs (`turn.started`, `tool.started`, `tool.completed`, `turn.completed`). Only JSON goes to stdout, and a failed turn exits 1. With no one there to approve, pass `--allow-tools edit_file,run_command` for the tools the job may use.
255
+
256
+ ```bash
257
+ aria-code -p "Fix the failing tests and run them" --format jsonl --allow-tools edit_file,run_command > events.jsonl
258
+ ```
259
+
254
260
  ## Models and accounts
255
261
 
256
262
  | Route | What it needs |
@@ -95,6 +95,12 @@ aria-code -p "Inspect this project, fix the failing tests, run them, and summari
95
95
 
96
96
  Aria may request approval before editing files or running commands, according to the configured permission mode. Review changes and test results before committing them.
97
97
 
98
+ In a script or CI job, `--json` prints one JSON result and `--format jsonl` prints one JSON event per line as the turn runs (`turn.started`, `tool.started`, `tool.completed`, `turn.completed`). Only JSON goes to stdout, and a failed turn exits 1. With no one there to approve, pass `--allow-tools edit_file,run_command` for the tools the job may use.
99
+
100
+ ```bash
101
+ aria-code -p "Fix the failing tests and run them" --format jsonl --allow-tools edit_file,run_command > events.jsonl
102
+ ```
103
+
98
104
  ## Models and accounts
99
105
 
100
106
  | Route | What it needs |
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "aria-code"
7
- version = "0.93.0"
7
+ version = "0.94.0"
8
8
  description = "Open-source AI agent for coding, financial analysis and logistics operations: numbers you can check, client data kept apart, actions a person approves"
9
9
  readme = "README.md"
10
10
  license = { text = "Apache-2.0" }
@@ -17,4 +17,4 @@ from __future__ import annotations
17
17
 
18
18
  __all__ = ["__version__"]
19
19
 
20
- __version__ = "0.93.0"
20
+ __version__ = "0.94.0"
@@ -0,0 +1,83 @@
1
+ """JSON events for `aria-code -p … --format jsonl`, one per line, as the turn runs.
2
+
3
+ `-p --json` printed one document at the end, so a CI job saw nothing until the
4
+ turn was over and could not tell which tool ran, how long it took or where
5
+ it failed. With jsonl each step is a line on stdout as it happens:
6
+
7
+ {"type": "turn.started", "prompt": "...", "model": "...", "ts": ...}
8
+ {"type": "tool.started", "tool": "run_command", "params": {...}, "ts": ...}
9
+ {"type": "tool.completed", "tool": "run_command", "success": true, "elapsed_s": 1.2,
10
+ "error": "", "ts": ...}
11
+ {"type": "turn.completed", "success": true, "response": "...", "tools_used": [...], ...}
12
+
13
+ Tool parameters are shortened and secrets masked: a written file's contents
14
+ or a command's token have no place in a CI log.
15
+ """
16
+
17
+ from __future__ import annotations
18
+
19
+ import json
20
+ import time
21
+ from typing import Any, TextIO
22
+
23
+ from aria_code.apps.cli.runtime_consumer import MEASURED_ELAPSED_KEY, _redact_activity_text
24
+
25
+ PARAM_CHARS = 300
26
+
27
+
28
+ def json_safe(value: Any) -> Any:
29
+ """``value`` with anything json cannot write turned into text."""
30
+ return json.loads(json.dumps(value, ensure_ascii=False, default=str))
31
+
32
+
33
+ def _param_view(params: dict) -> dict:
34
+ view = {}
35
+ for key, value in (params or {}).items():
36
+ if str(key).startswith("_"):
37
+ continue # execution context the host added
38
+ if isinstance(value, str):
39
+ # A file's contents is not a parameter worth a log line; its size is.
40
+ view[key] = (f"<{len(value)} chars>" if len(value) > 2000
41
+ else _redact_activity_text(value, limit=PARAM_CHARS))
42
+ elif isinstance(value, (int, float, bool)) or value is None:
43
+ view[key] = value
44
+ else:
45
+ view[key] = _redact_activity_text(json.dumps(value, ensure_ascii=False, default=str),
46
+ limit=PARAM_CHARS)
47
+ return view
48
+
49
+
50
+ class ExecEvents:
51
+ """Writes events to ``out``; does nothing when ``out`` is None."""
52
+
53
+ def __init__(self, out: TextIO | None):
54
+ self.out = out
55
+
56
+ def emit(self, event_type: str, **fields: Any) -> None:
57
+ if self.out is None:
58
+ return
59
+ record = {"type": event_type, **json_safe(fields), "ts": round(time.time(), 3)}
60
+ try:
61
+ self.out.write(json.dumps(record, ensure_ascii=False) + "\n")
62
+ self.out.flush()
63
+ except (OSError, ValueError):
64
+ self.out = None # the reader went away; stop writing
65
+
66
+ def tool_started(self, tool: str, params: dict) -> None:
67
+ self.emit("tool.started", tool=tool, params=_param_view(params))
68
+
69
+ def tool_completed(self, tool: str, result: dict) -> None:
70
+ result = result if isinstance(result, dict) else {"success": bool(result)}
71
+ fields: dict[str, Any] = {"tool": tool, "success": bool(result.get("success", True))}
72
+ if isinstance(result.get(MEASURED_ELAPSED_KEY), (int, float)):
73
+ fields["elapsed_s"] = round(float(result[MEASURED_ELAPSED_KEY]), 3)
74
+ if result.get("error"):
75
+ fields["error"] = _redact_activity_text(result["error"], limit=PARAM_CHARS)
76
+ data = result.get("data") if isinstance(result.get("data"), dict) else {}
77
+ for key in ("exit_code", "path", "process_id", "change_id"):
78
+ if key in data:
79
+ fields[key] = data[key]
80
+ self.emit("tool.completed", **fields)
81
+
82
+
83
+ __all__ = ["ExecEvents", "json_safe"]
@@ -6468,8 +6468,23 @@ class ArtheraTerminal:
6468
6468
  save_config(self.config)
6469
6469
 
6470
6470
  async def run_prompt(self, prompt: str, json_output: bool = False,
6471
- fmt: str = "table", output_file: str = None, quiet: bool = False):
6472
- """Run a single prompt (non-interactive / pipe mode)."""
6471
+ fmt: str = "table", output_file: str = None, quiet: bool = False,
6472
+ machine_out=None):
6473
+ """Run a single prompt (non-interactive / pipe mode).
6474
+
6475
+ ``machine_out`` is the real stdout when the output is JSON (sys.stdout
6476
+ then points at stderr). With fmt "jsonl" each step is written there as
6477
+ one JSON event per line as it happens.
6478
+ """
6479
+ from aria_code.apps.cli.exec_events import ExecEvents, json_safe
6480
+ events = ExecEvents(machine_out if fmt == "jsonl" else None)
6481
+ events.emit("turn.started", prompt=prompt, model=self.config.get("model", ""))
6482
+ result = await self._run_prompt_turn(prompt, quiet=quiet, events=events)
6483
+ self._finish_prompt(result, json_output=json_output, fmt=fmt, output_file=output_file,
6484
+ quiet=quiet, machine_out=machine_out, events=events)
6485
+
6486
+ async def _run_prompt_turn(self, prompt: str, *, quiet: bool, events) -> dict:
6487
+ """The work of run_prompt: a slash command, a deterministic answer, or an agent turn."""
6473
6488
  model = self.config.get("model", "qwen2.5:7b")
6474
6489
  thinking_mode = self.config.get("thinking_mode", "auto")
6475
6490
  auth_token = self.config.get("auth_token")
@@ -6483,7 +6498,7 @@ class ArtheraTerminal:
6483
6498
  if self.commands.is_command(_stripped_prompt):
6484
6499
  self._maybe_show_intent_preflight(_stripped_prompt, quiet=quiet)
6485
6500
  await self.commands.execute(_stripped_prompt)
6486
- return
6501
+ return {"success": True, "command": _stripped_prompt.split()[0], "response": ""}
6487
6502
 
6488
6503
  _reference_context = ""
6489
6504
  _reference_service = getattr(self, "_reference_service", None)
@@ -6491,7 +6506,7 @@ class ArtheraTerminal:
6491
6506
  _prepared_references = _reference_service.prepare(prompt)
6492
6507
  if _prepared_references.errors:
6493
6508
  self._print_reference_errors(_prepared_references)
6494
- return
6509
+ return {"success": False, "response": "", "error": "unresolved @ reference"}
6495
6510
  if _prepared_references.references:
6496
6511
  self._print_reference_summary(_prepared_references)
6497
6512
  prompt = _prepared_references.expanded_text
@@ -6523,7 +6538,7 @@ class ArtheraTerminal:
6523
6538
  await self.commands.cmd_broker("guide")
6524
6539
  await self.commands.cmd_broker("services")
6525
6540
  await self.commands.cmd_packages("services")
6526
- return
6541
+ return {"success": True, "command": "/broker guide", "response": ""}
6527
6542
 
6528
6543
  # ── Broker setup intent: intercept before LLM / deterministic routing ──
6529
6544
  if _is_broker_setup_intent(prompt):
@@ -6534,11 +6549,11 @@ class ArtheraTerminal:
6534
6549
  _label_p = f" 正在启动{_display_p}配置向导…" if _display_p else " 正在启动券商配置向导…"
6535
6550
  console.print(f"\n[bold]Aria[/bold] [dim]{_label_p}[/dim]\n")
6536
6551
  await self.commands._cmd_broker_add(_btype_p)
6537
- return
6552
+ return {"success": True, "command": "/broker add", "response": ""}
6538
6553
 
6539
6554
  # ── Football prediction intercept → built-in Poisson handler ──────────
6540
6555
  if await self._try_football_nl_intercept(prompt):
6541
- return
6556
+ return {"success": True, "command": "football", "response": ""}
6542
6557
 
6543
6558
  deterministic = _run_deterministic_chain(
6544
6559
  prompt, model_has_tools=_model_has_tools_p)
@@ -6587,6 +6602,8 @@ class ArtheraTerminal:
6587
6602
  frozenset() if _auto_approve_session
6588
6603
  else frozenset(_CONFIRM_TOOLS) - _session_always_allow
6589
6604
  ),
6605
+ on_tool_call=events.tool_started,
6606
+ on_tool_result=events.tool_completed,
6590
6607
  return_result=True,
6591
6608
  )
6592
6609
  _tools_used = list(getattr(_turn.final, "tools", []) or [])
@@ -6617,6 +6634,13 @@ class ArtheraTerminal:
6617
6634
  except Exception:
6618
6635
  pass
6619
6636
 
6637
+ return result
6638
+
6639
+ def _finish_prompt(self, result: dict, *, json_output: bool, fmt: str, output_file,
6640
+ quiet: bool, machine_out, events) -> None:
6641
+ """Print or save run_prompt's result, and exit 1 if it failed."""
6642
+ from aria_code.apps.cli.exec_events import json_safe
6643
+ result = result or {"success": False, "response": "", "error": "no result"}
6620
6644
  # The agent loop executes tools now, so there is nothing left over to
6621
6645
  # run here — only stream_provider_result ever populated
6622
6646
  # tool_calls_pending, and the deterministic chain never does. Keeping
@@ -6628,10 +6652,16 @@ class ArtheraTerminal:
6628
6652
  # and exit 0.
6629
6653
  _acceptance = (result or {}).get("acceptance") or {}
6630
6654
  if _acceptance.get("verified") is False and not quiet:
6631
- print(f"⚠ 验收未通过: {_acceptance.get('headline', '')}", file=sys.stderr)
6632
-
6633
- if json_output or fmt == "json":
6634
- content = json.dumps(result, ensure_ascii=False, indent=2)
6655
+ _zh = str(self.config.get("ui_lang", "en")).lower().startswith("zh")
6656
+ print(f"⚠ {'验收未通过' if _zh else 'Checks failed'}: {_acceptance.get('headline', '')}",
6657
+ file=sys.stderr)
6658
+
6659
+ events.emit("turn.completed", **json_safe(result))
6660
+ out = machine_out or sys.stdout
6661
+ if fmt == "jsonl":
6662
+ content = None # the events were the output
6663
+ elif json_output or fmt == "json":
6664
+ content = json.dumps(json_safe(result), ensure_ascii=False, indent=2)
6635
6665
  elif fmt == "csv":
6636
6666
  content = f"role,content\nassistant,\"{result.get('response', '').replace(chr(34), chr(34)+chr(34))}\""
6637
6667
  elif fmt == "md":
@@ -6640,24 +6670,28 @@ class ArtheraTerminal:
6640
6670
  content = result.get("response", "") if result.get("success") else f"Error: {result.get('error', 'Unknown')}"
6641
6671
 
6642
6672
  # Output routing
6643
- if output_file:
6673
+ if content is None or (fmt == "table" and not json_output and result.get("command") and not content):
6674
+ pass # jsonl, or a command that printed its own output
6675
+ elif output_file:
6644
6676
  with open(output_file, "w") as f:
6645
6677
  f.write(content)
6646
6678
  if not quiet:
6647
6679
  console.print(f"[green]Saved to {output_file}[/green]" if HAS_RICH
6648
6680
  else f"Saved: {output_file}")
6681
+ elif not result.get("success") and fmt == "table" and not json_output:
6682
+ print(f"Error: {result.get('error', 'Unknown')}", file=sys.stderr)
6683
+ # In default (table) format: render with Rich Markdown when output is
6684
+ # a terminal. This gives properly formatted headings, bold, and tables
6685
+ # in interactive use. When piped/redirected, fall back to plain text
6686
+ # for scripting compatibility.
6687
+ elif HAS_RICH and fmt == "table" and not json_output and sys.stdout.isatty() and result.get("success"):
6688
+ console.print(make_markdown(_strip_latex(content)))
6649
6689
  else:
6650
- if not result.get("success") and fmt == "table":
6651
- print(f"Error: {result.get('error', 'Unknown')}", file=sys.stderr)
6652
- sys.exit(1)
6653
- # In default (table) format: render with Rich Markdown when output is
6654
- # a terminal. This gives properly formatted headings, bold, and tables
6655
- # in interactive use. When piped/redirected, fall back to plain text
6656
- # for scripting compatibility.
6657
- if HAS_RICH and fmt == "table" and sys.stdout.isatty() and result.get("success"):
6658
- console.print(make_markdown(_strip_latex(content)))
6659
- else:
6660
- print(content)
6690
+ print(content, file=out, flush=True)
6691
+ # A failed turn exits 1 in every format. Only table did; with --json a
6692
+ # script got exit 0 and had to read the body to learn it had failed.
6693
+ if not result.get("success"):
6694
+ sys.exit(1)
6661
6695
 
6662
6696
  async def run_watch(self, command_fn, interval: int, cmd_args: str):
6663
6697
  """Run a command repeatedly with interval (like Unix watch)."""
@@ -6715,8 +6749,9 @@ Examples:
6715
6749
  parser.add_argument("--model", help="AI model: sonata|prelude|sonata-thinking|prelude-thinking or full Ollama ID")
6716
6750
  parser.add_argument("--thinking", action="store_true", help="Enable thinking mode")
6717
6751
  parser.add_argument("--json", action="store_true", help="JSON output (with -p)")
6718
- parser.add_argument("--format", choices=["table", "json", "csv", "md"], default="table",
6719
- help="Output format (default: table)")
6752
+ parser.add_argument("--format", choices=["table", "json", "jsonl", "csv", "md"], default="table",
6753
+ help="Output format (default: table). With -p, jsonl streams one JSON event "
6754
+ "per line (turn.started, tool.started, tool.completed, turn.completed)")
6720
6755
  parser.add_argument("--output", "-o", help="Save output to file")
6721
6756
  parser.add_argument("--quiet", "-q", action="store_true", help="Quiet mode (data only, no UI)")
6722
6757
  parser.add_argument("--watch", "-w", type=int, metavar="SECS", help="Refresh interval in seconds")
@@ -6741,6 +6776,15 @@ Examples:
6741
6776
 
6742
6777
  args = parser.parse_args()
6743
6778
 
6779
+ # Machine-readable -p output: stdout carries only JSON. Everything else —
6780
+ # banners, tool steps, warnings, anything a tool prints — goes to stderr.
6781
+ # It all went to stdout, ahead of the JSON, so `aria-code -p … --json | jq`
6782
+ # could not parse what it was given.
6783
+ _machine_out = None
6784
+ if args.prompt and (args.json or args.format in ("json", "jsonl")):
6785
+ _machine_out = sys.stdout
6786
+ sys.stdout = sys.stderr
6787
+
6744
6788
  config = load_config()
6745
6789
 
6746
6790
  # ── Start background update check (non-blocking, daemon thread) ──────────
@@ -6841,11 +6885,11 @@ Examples:
6841
6885
  if args.prompt:
6842
6886
  if watch_interval:
6843
6887
  await terminal.run_watch(
6844
- lambda _: terminal.run_prompt(args.prompt, json_output=args.json, fmt=fmt, output_file=output_file, quiet=quiet),
6888
+ lambda _: terminal.run_prompt(args.prompt, json_output=args.json, fmt=fmt, output_file=output_file, quiet=quiet, machine_out=_machine_out),
6845
6889
  watch_interval, ""
6846
6890
  )
6847
6891
  else:
6848
- await terminal.run_prompt(args.prompt, json_output=args.json, fmt=fmt, output_file=output_file, quiet=quiet)
6892
+ await terminal.run_prompt(args.prompt, json_output=args.json, fmt=fmt, output_file=output_file, quiet=quiet, machine_out=_machine_out)
6849
6893
  return
6850
6894
 
6851
6895
  # Mode 2: Direct command
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aria-code
3
- Version: 0.93.0
3
+ Version: 0.94.0
4
4
  Summary: Open-source AI agent for coding, financial analysis and logistics operations: numbers you can check, client data kept apart, actions a person approves
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/artheras/aria-code
@@ -251,6 +251,12 @@ aria-code -p "Inspect this project, fix the failing tests, run them, and summari
251
251
 
252
252
  Aria may request approval before editing files or running commands, according to the configured permission mode. Review changes and test results before committing them.
253
253
 
254
+ In a script or CI job, `--json` prints one JSON result and `--format jsonl` prints one JSON event per line as the turn runs (`turn.started`, `tool.started`, `tool.completed`, `turn.completed`). Only JSON goes to stdout, and a failed turn exits 1. With no one there to approve, pass `--allow-tools edit_file,run_command` for the tools the job may use.
255
+
256
+ ```bash
257
+ aria-code -p "Fix the failing tests and run them" --format jsonl --allow-tools edit_file,run_command > events.jsonl
258
+ ```
259
+
254
260
  ## Models and accounts
255
261
 
256
262
  | Route | What it needs |
@@ -162,6 +162,7 @@ src/aria_code/apps/cli/constants.py
162
162
  src/aria_code/apps/cli/context.py
163
163
  src/aria_code/apps/cli/deterministic.py
164
164
  src/aria_code/apps/cli/direct.py
165
+ src/aria_code/apps/cli/exec_events.py
165
166
  src/aria_code/apps/cli/finance_service_catalog.py
166
167
  src/aria_code/apps/cli/football_reports.py
167
168
  src/aria_code/apps/cli/github_app_auth.py
@@ -575,6 +576,7 @@ tests/test_enterprise_tool_honesty.py
575
576
  tests/test_env_switch_docs.py
576
577
  tests/test_evals_harness.py
577
578
  tests/test_event_import_roots.py
579
+ tests/test_exec_events.py
578
580
  tests/test_extended_tools.py
579
581
  tests/test_feishu_swarm_config.py
580
582
  tests/test_file_links.py
@@ -0,0 +1,92 @@
1
+ """`aria-code -p` for scripts and CI: JSON only on stdout, events as they happen, exit 1 on failure.
2
+
3
+ With --json, tool steps and warnings went to stdout ahead of the JSON, so
4
+ `aria-code -p … --json | jq` could not parse it; a failed turn exited 0 unless
5
+ the format was table; and nothing was visible until the turn ended.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import io
11
+ import json
12
+ import subprocess
13
+ import sys
14
+ from pathlib import Path
15
+ from types import SimpleNamespace
16
+
17
+ import pytest
18
+
19
+ from aria_code.apps.cli.exec_events import ExecEvents, json_safe
20
+
21
+
22
+ def test_events_are_one_json_object_per_line():
23
+ out = io.StringIO()
24
+ events = ExecEvents(out)
25
+ events.emit("turn.started", prompt="hi", model="m")
26
+ events.tool_started("run_command", {"command": "curl -H 'Authorization: Bearer abc123def456' x",
27
+ "_run_id": "r1"})
28
+ events.tool_completed("run_command", {"success": False, "error": "boom",
29
+ "data": {"exit_code": 2}, "_elapsed_s": 1.23456})
30
+ lines = [json.loads(line) for line in out.getvalue().splitlines()]
31
+ assert [e["type"] for e in lines] == ["turn.started", "tool.started", "tool.completed"]
32
+ assert "abc123def456" not in lines[1]["params"]["command"]
33
+ assert "_run_id" not in lines[1]["params"]
34
+ assert lines[2] | {"ts": 0} == {"type": "tool.completed", "tool": "run_command", "success": False,
35
+ "elapsed_s": 1.235, "error": "boom", "exit_code": 2, "ts": 0}
36
+
37
+
38
+ def test_a_file_body_is_reported_by_size():
39
+ out = io.StringIO()
40
+ ExecEvents(out).tool_started("write_file", {"path": "a.py", "content": "x" * 5000})
41
+ assert json.loads(out.getvalue())["params"] == {"path": "a.py", "content": "<5000 chars>"}
42
+
43
+
44
+ def test_no_stream_writes_nothing_and_odd_values_still_serialise():
45
+ ExecEvents(None).emit("turn.started", prompt="x")
46
+ assert json_safe({"p": Path("/a"), "s": {1}}) == {"p": "/a", "s": "{1}"}
47
+
48
+
49
+ class _Terminal:
50
+ """Just enough of ArtheraTerminal for _finish_prompt."""
51
+
52
+ config = {"ui_lang": "en"}
53
+
54
+ def __init__(self):
55
+ from aria_code.aria_cli import ArtheraTerminal
56
+ self._finish = ArtheraTerminal._finish_prompt.__get__(self)
57
+
58
+
59
+ @pytest.mark.parametrize("fmt, json_output", [("table", True), ("json", False), ("jsonl", False)])
60
+ def test_a_failed_turn_exits_1_in_every_machine_format(fmt, json_output, capsys):
61
+ out = io.StringIO()
62
+ events = ExecEvents(out if fmt == "jsonl" else None)
63
+ with pytest.raises(SystemExit) as exited:
64
+ _Terminal()._finish({"success": False, "response": "", "error": "no model"},
65
+ json_output=json_output, fmt=fmt, output_file=None, quiet=True,
66
+ machine_out=out, events=events)
67
+ assert exited.value.code == 1
68
+ body = out.getvalue()
69
+ parsed = [json.loads(l) for l in body.splitlines()] if fmt == "jsonl" else [json.loads(body)]
70
+ assert parsed[-1]["success"] is False and parsed[-1]["error"] == "no model"
71
+
72
+
73
+ def test_a_successful_json_turn_writes_only_json(capsys):
74
+ out = io.StringIO()
75
+ _Terminal()._finish({"success": True, "response": "done", "tools_used": ["edit_file"]},
76
+ json_output=True, fmt="table", output_file=None, quiet=True,
77
+ machine_out=out, events=ExecEvents(None))
78
+ assert json.loads(out.getvalue())["response"] == "done"
79
+ assert capsys.readouterr().out == ""
80
+
81
+
82
+ def test_the_cli_keeps_stdout_for_json(tmp_path):
83
+ """A slash command end to end: its own output goes to stderr, the events to stdout."""
84
+ aria = Path(sys.executable).parent / "aria-code"
85
+ if not aria.exists():
86
+ pytest.skip("aria-code entry point not installed in this environment")
87
+ done = subprocess.run([str(aria), "-p", "/help", "--format", "jsonl"], cwd=tmp_path,
88
+ capture_output=True, text=True, timeout=120, stdin=subprocess.DEVNULL)
89
+ events = [json.loads(line) for line in done.stdout.splitlines() if line.strip()]
90
+ assert [e["type"] for e in events] == ["turn.started", "turn.completed"]
91
+ assert events[-1]["success"] is True and done.returncode == 0
92
+ assert done.stderr.strip() # /help printed, just not on stdout
@@ -16,7 +16,9 @@ class HeadlessPathTests(unittest.TestCase):
16
16
  def _source(self) -> str:
17
17
  import aria_code.aria_cli as cli
18
18
 
19
- return inspect.getsource(cli.ArtheraTerminal.run_prompt)
19
+ # run_prompt hands the turn to _run_prompt_turn and the output to _finish_prompt.
20
+ return "".join(inspect.getsource(getattr(cli.ArtheraTerminal, name))
21
+ for name in ("run_prompt", "_run_prompt_turn", "_finish_prompt"))
20
22
 
21
23
  def test_run_prompt_goes_through_the_shared_runtime(self):
22
24
  self.assertIn("run_chat_via_runtime", self._source())
@@ -80,7 +82,9 @@ class EmptyClosingMessageTests(unittest.TestCase):
80
82
  def _source(self) -> str:
81
83
  import aria_code.aria_cli as cli
82
84
 
83
- return inspect.getsource(cli.ArtheraTerminal.run_prompt)
85
+ # run_prompt hands the turn to _run_prompt_turn and the output to _finish_prompt.
86
+ return "".join(inspect.getsource(getattr(cli.ArtheraTerminal, name))
87
+ for name in ("run_prompt", "_run_prompt_turn", "_finish_prompt"))
84
88
 
85
89
  def test_empty_response_after_tool_use_is_not_an_error(self):
86
90
  # Observed for real: the agent edited the file correctly, produced no
File without changes
File without changes
File without changes