aria-code 0.92.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.92.0/src/aria_code.egg-info → aria_code-0.94.0}/PKG-INFO +7 -1
  2. {aria_code-0.92.0 → aria_code-0.94.0}/README.md +6 -0
  3. {aria_code-0.92.0 → aria_code-0.94.0}/pyproject.toml +1 -1
  4. {aria_code-0.92.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.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/local_tool_schemas.py +5 -1
  7. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/ollama_stream.py +1 -1
  8. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/system_tools.py +29 -0
  9. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/aria_cli.py +75 -27
  10. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/registry.py +2 -1
  11. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/agent_loop.py +1 -1
  12. aria_code-0.94.0/src/aria_code/runtime/processes.py +255 -0
  13. {aria_code-0.92.0 → aria_code-0.94.0/src/aria_code.egg-info}/PKG-INFO +7 -1
  14. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code.egg-info/SOURCES.txt +4 -0
  15. aria_code-0.94.0/tests/test_background_processes.py +117 -0
  16. aria_code-0.94.0/tests/test_exec_events.py +92 -0
  17. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_headless_is_agentic.py +6 -2
  18. {aria_code-0.92.0 → aria_code-0.94.0}/LICENSE +0 -0
  19. {aria_code-0.92.0 → aria_code-0.94.0}/NOTICE +0 -0
  20. {aria_code-0.92.0 → aria_code-0.94.0}/setup.cfg +0 -0
  21. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/__init__.py +0 -0
  22. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/adk_apps/__init__.py +0 -0
  23. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/adk_apps/aria_code_review/__init__.py +0 -0
  24. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/adk_apps/aria_code_review/agent.py +0 -0
  25. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/adk_apps/aria_research/__init__.py +0 -0
  26. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/adk_apps/aria_research/agent.py +0 -0
  27. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/__init__.py +0 -0
  28. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/base.py +0 -0
  29. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/code_review.py +0 -0
  30. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/__init__.py +0 -0
  31. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/calibration_loop.py +0 -0
  32. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/critic.py +0 -0
  33. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/deepen.py +0 -0
  34. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/models.py +0 -0
  35. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/pipeline.py +0 -0
  36. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/quant_fusion.py +0 -0
  37. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/themes.py +0 -0
  38. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/deep/tiers.py +0 -0
  39. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/engineering/__init__.py +0 -0
  40. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/engineering/coder.py +0 -0
  41. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/engineering/tester.py +0 -0
  42. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/__init__.py +0 -0
  43. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/cashflow_burn.py +0 -0
  44. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/catalyst.py +0 -0
  45. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/corporate_finance.py +0 -0
  46. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/debate.py +0 -0
  47. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/earnings.py +0 -0
  48. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/fundamental.py +0 -0
  49. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/macro.py +0 -0
  50. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/news.py +0 -0
  51. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/risk.py +0 -0
  52. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/sector.py +0 -0
  53. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/strategist.py +0 -0
  54. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/stripe_revenue.py +0 -0
  55. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/synthesis.py +0 -0
  56. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/financial/technical.py +0 -0
  57. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/orchestrator.py +0 -0
  58. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/portfolio_agent.py +0 -0
  59. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/__init__.py +0 -0
  60. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/asset_diagnosis.py +0 -0
  61. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/business_match.py +0 -0
  62. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/cashflow_verify.py +0 -0
  63. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/contract_rules.py +0 -0
  64. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/energy_anomaly.py +0 -0
  65. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/exit_settlement.py +0 -0
  66. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/fulfillment_risk.py +0 -0
  67. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/ops_optimize.py +0 -0
  68. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/realty/revenue_share.py +0 -0
  69. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/registry.py +0 -0
  70. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/signal_scheme.py +0 -0
  71. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/sports/__init__.py +0 -0
  72. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/sports/football_agent.py +0 -0
  73. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/supervisor.py +0 -0
  74. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/team.py +0 -0
  75. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/__init__.py +0 -0
  76. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/contracts.py +0 -0
  77. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/dashboard.py +0 -0
  78. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/fulfillment_leadtime.py +0 -0
  79. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/inbound_exceptions.py +0 -0
  80. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/inventory_health.py +0 -0
  81. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/local_run.py +0 -0
  82. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/local_snapshot.py +0 -0
  83. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/logistics_cost.py +0 -0
  84. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/logistics_sync.py +0 -0
  85. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/agents/warehouse/workflow.py +0 -0
  86. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/aliyun_data_client.py +0 -0
  87. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/README.md +0 -0
  88. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/__init__.py +0 -0
  89. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/channels/README.md +0 -0
  90. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/channels/__init__.py +0 -0
  91. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/channels/approvals.py +0 -0
  92. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/channels/conversation.py +0 -0
  93. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/channels/digest.py +0 -0
  94. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/channels/intake.py +0 -0
  95. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/channels/registry.py +0 -0
  96. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/channels/tradingview.py +0 -0
  97. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/README.md +0 -0
  98. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/__init__.py +0 -0
  99. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/_optional.py +0 -0
  100. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/bootstrap.py +0 -0
  101. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/broker_render.py +0 -0
  102. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/codegen_paths.py +0 -0
  103. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/__init__.py +0 -0
  104. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/_business_render.py +0 -0
  105. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/_ui.py +0 -0
  106. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/analysis_cmds.py +0 -0
  107. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/ashare_prediction_cmds.py +0 -0
  108. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/auth_cmds.py +0 -0
  109. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/backtest_cmds.py +0 -0
  110. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/broker_cmds.py +0 -0
  111. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/business_workflow_cmds.py +0 -0
  112. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/canvas_cmds.py +0 -0
  113. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/catalog.py +0 -0
  114. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/core_cmds.py +0 -0
  115. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/data_cmds.py +0 -0
  116. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/diagnostic_cmds.py +0 -0
  117. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/diagnostic_ops_cmds.py +0 -0
  118. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/file_cmds.py +0 -0
  119. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/finance_service_cmds.py +0 -0
  120. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/fx_commodity_cmds.py +0 -0
  121. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/market.py +0 -0
  122. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/market_cmds.py +0 -0
  123. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/market_context.py +0 -0
  124. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/market_render.py +0 -0
  125. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/model_cmds.py +0 -0
  126. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/ops_cmds.py +0 -0
  127. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/orchestrator_cmds.py +0 -0
  128. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/pdf_export_cmds.py +0 -0
  129. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/portfolio_cmds.py +0 -0
  130. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/report.py +0 -0
  131. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/scaffold_templates.py +0 -0
  132. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/session_cmds.py +0 -0
  133. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/session_ux_cmds.py +0 -0
  134. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/team.py +0 -0
  135. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/team_render.py +0 -0
  136. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/ui_cmds.py +0 -0
  137. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/warehouse_cmds.py +0 -0
  138. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/workflow_cmds.py +0 -0
  139. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/commands/workspace_cmds.py +0 -0
  140. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/config_paths.py +0 -0
  141. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/config_store.py +0 -0
  142. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/constants.py +0 -0
  143. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/context.py +0 -0
  144. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/deterministic.py +0 -0
  145. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/direct.py +0 -0
  146. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/finance_service_catalog.py +0 -0
  147. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/football_reports.py +0 -0
  148. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/github_app_auth.py +0 -0
  149. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/google_login.py +0 -0
  150. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/__init__.py +0 -0
  151. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/broker_handlers.py +0 -0
  152. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/chart_handlers.py +0 -0
  153. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/market_handlers.py +0 -0
  154. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/realty_handlers.py +0 -0
  155. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/sports_handlers.py +0 -0
  156. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/handlers/strategy_advice.py +0 -0
  157. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/helpers.py +0 -0
  158. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/hooks.py +0 -0
  159. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/i18n.py +0 -0
  160. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/intent.py +0 -0
  161. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/intent_router.py +0 -0
  162. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/intent_signals.py +0 -0
  163. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/lifecycle_hooks.py +0 -0
  164. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/main.py +0 -0
  165. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/market_hours.py +0 -0
  166. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/market_metadata.py +0 -0
  167. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/market_universe.py +0 -0
  168. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/message_processing.py +0 -0
  169. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/model_catalog.py +0 -0
  170. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/pdf_report.py +0 -0
  171. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/plan_mode.py +0 -0
  172. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/plotly_html.py +0 -0
  173. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prediction_feedback.py +0 -0
  174. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/preflight.py +0 -0
  175. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/project_aria.py +0 -0
  176. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompt_assembly.py +0 -0
  177. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/__init__.py +0 -0
  178. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/coding.py +0 -0
  179. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/select.py +0 -0
  180. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/system_prompts.py +0 -0
  181. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/prompts/ui.py +0 -0
  182. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/provider_endpoints.py +0 -0
  183. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/provider_keys.py +0 -0
  184. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/__init__.py +0 -0
  185. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/base.py +0 -0
  186. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/chat_routing.py +0 -0
  187. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/collaboration.py +0 -0
  188. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/__init__.py +0 -0
  189. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/offline_responses.py +0 -0
  190. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/response_cache.py +0 -0
  191. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/llm/sse_stream.py +0 -0
  192. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/runtime_bridge.py +0 -0
  193. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/providers/vertexai_stream.py +0 -0
  194. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/review_runner.py +0 -0
  195. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/runtime_consumer.py +0 -0
  196. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/sandbox.py +0 -0
  197. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/session_export.py +0 -0
  198. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/session_jsonl.py +0 -0
  199. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/session_store.py +0 -0
  200. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/skills_catalog.py +0 -0
  201. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/todo_tracker.py +0 -0
  202. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tool_executor.py +0 -0
  203. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tool_registry.py +0 -0
  204. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tool_scope.py +0 -0
  205. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/__init__.py +0 -0
  206. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/context.py +0 -0
  207. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/file_tools.py +0 -0
  208. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/market_tools.py +0 -0
  209. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/notebook_tools.py +0 -0
  210. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tools/write_tools.py +0 -0
  211. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/tradingview_bridge.py +0 -0
  212. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/turn_planning.py +0 -0
  213. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/update_check.py +0 -0
  214. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/updater.py +0 -0
  215. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/utils/__init__.py +0 -0
  216. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/cli/utils/market_detect.py +0 -0
  217. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/daemon/README.md +0 -0
  218. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/vscode/README.md +0 -0
  219. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/apps/vscode/package.json +0 -0
  220. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/aria_daemon.py +0 -0
  221. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/aria_feishu_bot.py +0 -0
  222. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/aria_mcp_server.py +0 -0
  223. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/aria_relay_client.py +0 -0
  224. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/aria_relay_server.py +0 -0
  225. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/aria_telegram_bot.py +0 -0
  226. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ariarc.py +0 -0
  227. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/artifacts.py +0 -0
  228. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/backtest_engine.py +0 -0
  229. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/backtest_report.py +0 -0
  230. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/__init__.py +0 -0
  231. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/automation.py +0 -0
  232. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/base.py +0 -0
  233. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/capabilities.py +0 -0
  234. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/__init__.py +0 -0
  235. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/easytrader_broker.py +0 -0
  236. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/futu_broker.py +0 -0
  237. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/longbridge_broker.py +0 -0
  238. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/tiger_broker.py +0 -0
  239. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/cn/xtquant_broker.py +0 -0
  240. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/config.py +0 -0
  241. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/__init__.py +0 -0
  242. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/alpaca_broker.py +0 -0
  243. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/ibkr_broker.py +0 -0
  244. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/trading212_broker.py +0 -0
  245. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/intl/webull_broker.py +0 -0
  246. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/paper_broker.py +0 -0
  247. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/planning.py +0 -0
  248. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/registry.py +0 -0
  249. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/brokers/trading.py +0 -0
  250. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/canva_client.py +0 -0
  251. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/change_store.py +0 -0
  252. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/__init__.py +0 -0
  253. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/aliyun_data_client.py +0 -0
  254. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/aria_relay_client.py +0 -0
  255. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/canva_client.py +0 -0
  256. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/figma_client.py +0 -0
  257. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/football_data_client.py +0 -0
  258. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/kling_video_client.py +0 -0
  259. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/market_data_client.py +0 -0
  260. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/openai_image_client.py +0 -0
  261. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/runway_video_client.py +0 -0
  262. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/clients/warehouse_erp_client.py +0 -0
  263. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/cloud_memory.py +0 -0
  264. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/command_safety.py +0 -0
  265. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/computer_use_tools.py +0 -0
  266. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/dashboard_generator.py +0 -0
  267. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/data_analysis_tools.py +0 -0
  268. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/data_cleaner.py +0 -0
  269. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/data_service.py +0 -0
  270. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/__init__.py +0 -0
  271. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/base.py +0 -0
  272. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/router.py +0 -0
  273. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/__init__.py +0 -0
  274. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/akshare_source.py +0 -0
  275. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/alpha_vantage_source.py +0 -0
  276. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/edgar_source.py +0 -0
  277. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/finnhub_source.py +0 -0
  278. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/fred_source.py +0 -0
  279. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/tushare_source.py +0 -0
  280. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/web_scraper_source.py +0 -0
  281. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/world_bank_source.py +0 -0
  282. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/datasources/sources/yfinance_source.py +0 -0
  283. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/demo_player.py +0 -0
  284. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/doctor.py +0 -0
  285. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/domain/__init__.py +0 -0
  286. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/domain/backtest_engine.py +0 -0
  287. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/domain/backtest_report.py +0 -0
  288. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/domain/finance_formulas.py +0 -0
  289. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/domain/portfolio_ledger.py +0 -0
  290. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/domain/strategy_vault.py +0 -0
  291. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/evals/__init__.py +0 -0
  292. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/evals/harness.py +0 -0
  293. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/evals/runner.py +0 -0
  294. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/external_agent_runner.py +0 -0
  295. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/figma_client.py +0 -0
  296. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/file_analysis_tools.py +0 -0
  297. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/finance_formulas.py +0 -0
  298. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/football_data_client.py +0 -0
  299. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/image_gen_tools.py +0 -0
  300. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/intent_classifier.py +0 -0
  301. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/kling_video_client.py +0 -0
  302. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/licensing.py +0 -0
  303. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/local_finance_tools.py +0 -0
  304. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/local_image_provider.py +0 -0
  305. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/local_llm_provider.py +0 -0
  306. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/macro_tools.py +0 -0
  307. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/markdown_pdf.py +0 -0
  308. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/market_data_client.py +0 -0
  309. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/mcp_client.py +0 -0
  310. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/memory_manager.py +0 -0
  311. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/model_capability.py +0 -0
  312. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/notification_tools.py +0 -0
  313. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/openai_image_client.py +0 -0
  314. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/__init__.py +0 -0
  315. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/adk_bridge/__init__.py +0 -0
  316. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/adk_bridge/code_review_tools.py +0 -0
  317. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/adk_bridge/market_tools.py +0 -0
  318. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_agents/__init__.py +0 -0
  319. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_agents/manifest.py +0 -0
  320. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/__init__.py +0 -0
  321. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/architecture.py +0 -0
  322. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/export.py +0 -0
  323. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/manifest.py +0 -0
  324. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/paths.py +0 -0
  325. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_core/secure_file.py +0 -0
  326. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_infra/__init__.py +0 -0
  327. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_infra/arthera.py +0 -0
  328. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_infra/doctor.py +0 -0
  329. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_infra/product.py +0 -0
  330. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/__init__.py +0 -0
  331. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/bridge.py +0 -0
  332. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/circuit.py +0 -0
  333. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/config.py +0 -0
  334. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/installer.py +0 -0
  335. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/server.py +0 -0
  336. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_mcp/tools.py +0 -0
  337. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/__init__.py +0 -0
  338. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/client.py +0 -0
  339. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/providers.py +0 -0
  340. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/streaming.py +0 -0
  341. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_sdk/types.py +0 -0
  342. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/__init__.py +0 -0
  343. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/cache.py +0 -0
  344. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/context.py +0 -0
  345. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/context_checkpoints.py +0 -0
  346. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/data.py +0 -0
  347. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/provider_health.py +0 -0
  348. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/references.py +0 -0
  349. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/registry.py +0 -0
  350. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/research_protocol.py +0 -0
  351. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/research_quality.py +0 -0
  352. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/settings.py +0 -0
  353. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_services/usage.py +0 -0
  354. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_skills/__init__.py +0 -0
  355. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_skills/catalog.py +0 -0
  356. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_skills/loader.py +0 -0
  357. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_skills/registry.py +0 -0
  358. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/__init__.py +0 -0
  359. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/__init__.py +0 -0
  360. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/_paths.py +0 -0
  361. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/compliance.py +0 -0
  362. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/factors.py +0 -0
  363. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/risk_tools.py +0 -0
  364. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/aria_tools/financial/strategy.py +0 -0
  365. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/__init__.py +0 -0
  366. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/_namespace.py +0 -0
  367. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/backtest/__init__.py +0 -0
  368. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/backtest/core.py +0 -0
  369. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/backtest/engine.py +0 -0
  370. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/portfolio/__init__.py +0 -0
  371. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/portfolio/optimizer.py +0 -0
  372. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/__init__.py +0 -0
  373. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/calibrator.py +0 -0
  374. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/dixon_coles.py +0 -0
  375. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/elo.py +0 -0
  376. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/form.py +0 -0
  377. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/h2h.py +0 -0
  378. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/ml_model.py +0 -0
  379. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/predictor.py +0 -0
  380. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/sports/tracker.py +0 -0
  381. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/__init__.py +0 -0
  382. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/gbm_enhanced.py +0 -0
  383. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/ito_calculus.py +0 -0
  384. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/kelly_criterion.py +0 -0
  385. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/monte_carlo_advanced.py +0 -0
  386. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/options_pricing.py +0 -0
  387. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packages/quant_engine/stochastic/stochastic_processes.py +0 -0
  388. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packs/__init__.py +0 -0
  389. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packs/base.py +0 -0
  390. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packs/finance/__init__.py +0 -0
  391. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packs/logistics/__init__.py +0 -0
  392. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packs/payments/__init__.py +0 -0
  393. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packs/realty/__init__.py +0 -0
  394. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packs/registry.py +0 -0
  395. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/packs/rules.py +0 -0
  396. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/plan_utils.py +0 -0
  397. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/plugin_loader.py +0 -0
  398. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/portfolio_ledger.py +0 -0
  399. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/preview_server.py +0 -0
  400. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/privacy/__init__.py +0 -0
  401. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/privacy/feedback.py +0 -0
  402. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/project_review.py +0 -0
  403. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/project_review_api.py +0 -0
  404. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/project_review_server.py +0 -0
  405. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/project_tools.py +0 -0
  406. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/__init__.py +0 -0
  407. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/llm/__init__.py +0 -0
  408. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/llm/anthropic.py +0 -0
  409. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/llm/autoconfig.py +0 -0
  410. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/llm/base.py +0 -0
  411. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/llm/custom.py +0 -0
  412. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/llm/ollama.py +0 -0
  413. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/llm/openai_compat.py +0 -0
  414. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/llm/registry.py +0 -0
  415. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/local_image_provider.py +0 -0
  416. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/local_llm_provider.py +0 -0
  417. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/providers/tool_messages.py +0 -0
  418. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/realty_data_tools.py +0 -0
  419. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/relay_store.py +0 -0
  420. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/report_exporters.py +0 -0
  421. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/report_generator.py +0 -0
  422. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/review_service.py +0 -0
  423. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/__init__.py +0 -0
  424. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/acceptance.py +0 -0
  425. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/approval.py +0 -0
  426. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/budget.py +0 -0
  427. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/checkpoints.py +0 -0
  428. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/crash_report.py +0 -0
  429. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/events.py +0 -0
  430. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/gateway.py +0 -0
  431. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/lsp.py +0 -0
  432. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/orchestrator.py +0 -0
  433. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/repo_map.py +0 -0
  434. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/run_state.py +0 -0
  435. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/run_store.py +0 -0
  436. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/self_healing.py +0 -0
  437. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/subagent.py +0 -0
  438. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/task_ledger.py +0 -0
  439. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/task_orchestrator.py +0 -0
  440. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/tool_executor.py +0 -0
  441. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/tool_policy.py +0 -0
  442. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runtime/worktrees.py +0 -0
  443. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/runway_video_client.py +0 -0
  444. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/safety/__init__.py +0 -0
  445. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/safety/permissions.py +0 -0
  446. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/safety/sandbox.py +0 -0
  447. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/safety/service.py +0 -0
  448. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/setup_wizard.py +0 -0
  449. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/spreadsheet_tools.py +0 -0
  450. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/strategy_vault.py +0 -0
  451. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/__init__.py +0 -0
  452. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/artifact_tools.py +0 -0
  453. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/broker_tools.py +0 -0
  454. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/build_quant_engine.py +0 -0
  455. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/code_audit_tools.py +0 -0
  456. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/computer_use_tools.py +0 -0
  457. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/data_analysis_tools.py +0 -0
  458. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/enterprise_finance_tools.py +0 -0
  459. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/extended_tools.py +0 -0
  460. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/file_analysis_tools.py +0 -0
  461. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/image_gen_tools.py +0 -0
  462. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/local_finance_tools.py +0 -0
  463. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_carriers.py +0 -0
  464. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_inventory.py +0 -0
  465. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_io.py +0 -0
  466. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_tenancy.py +0 -0
  467. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/logistics_tools.py +0 -0
  468. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/macro_tools.py +0 -0
  469. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/notification_tools.py +0 -0
  470. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/project_tools.py +0 -0
  471. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/realty_data_tools.py +0 -0
  472. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/spreadsheet_tools.py +0 -0
  473. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/tools/stripe_tools.py +0 -0
  474. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/__init__.py +0 -0
  475. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/banner.py +0 -0
  476. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/completer.py +0 -0
  477. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/console.py +0 -0
  478. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/image_render.py +0 -0
  479. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/input_box.py +0 -0
  480. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/mentions.py +0 -0
  481. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/picker.py +0 -0
  482. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/render/__init__.py +0 -0
  483. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/render/finance.py +0 -0
  484. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/render/market.py +0 -0
  485. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/render/output.py +0 -0
  486. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/render/responsive.py +0 -0
  487. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/render/team.py +0 -0
  488. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/robot.py +0 -0
  489. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/ui/startup_dashboard.py +0 -0
  490. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/utils/vscode_uri.py +0 -0
  491. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/video_analysis.py +0 -0
  492. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/video_editor.py +0 -0
  493. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/workspace/__init__.py +0 -0
  494. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/workspace/files.py +0 -0
  495. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/workspace/verify.py +0 -0
  496. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/workspace_changes.py +0 -0
  497. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/workspace_context.py +0 -0
  498. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/workspace_service.py +0 -0
  499. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code/workspace_tools.py +0 -0
  500. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code.egg-info/dependency_links.txt +0 -0
  501. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code.egg-info/entry_points.txt +0 -0
  502. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code.egg-info/requires.txt +0 -0
  503. {aria_code-0.92.0 → aria_code-0.94.0}/src/aria_code.egg-info/top_level.txt +0 -0
  504. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_adk_market_tools.py +0 -0
  505. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_agent_key_points_language.py +0 -0
  506. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_agent_team_fallback.py +0 -0
  507. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_analyze_file_tool.py +0 -0
  508. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_architecture_ledger_is_true.py +0 -0
  509. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_architecture_report.py +0 -0
  510. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_aria_cli_core.py +0 -0
  511. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_aria_mcp_server.py +0 -0
  512. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_aria_sdk.py +0 -0
  513. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_artifact_publishing.py +0 -0
  514. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_artifacts_and_reports.py +0 -0
  515. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ashare_prediction_cmds.py +0 -0
  516. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_backtest_cmds.py +0 -0
  517. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_backtest_engine.py +0 -0
  518. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_backtest_report.py +0 -0
  519. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_binary_bundles_runtime_imports.py +0 -0
  520. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_broken_akshare_is_optional.py +0 -0
  521. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_broker_automation.py +0 -0
  522. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_broker_chat_confirm_gate.py +0 -0
  523. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_broker_planning.py +0 -0
  524. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_broker_safety.py +0 -0
  525. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_broker_tools.py +0 -0
  526. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_budget.py +0 -0
  527. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_business_workflow_cmds.py +0 -0
  528. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_canva_client.py +0 -0
  529. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_canvas_cmds.py +0 -0
  530. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_card_approvals.py +0 -0
  531. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_channel_intake.py +0 -0
  532. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_channels.py +0 -0
  533. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_chart_handlers.py +0 -0
  534. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_chat_bots_fail_closed.py +0 -0
  535. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_chat_routing.py +0 -0
  536. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ci_security_workflow.py +0 -0
  537. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_cli_app_split.py +0 -0
  538. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_cli_bootstrap.py +0 -0
  539. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_cli_config_store.py +0 -0
  540. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_cli_lifecycle_hooks.py +0 -0
  541. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_cli_runtime_consumer.py +0 -0
  542. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_cli_tool_executor_module.py +0 -0
  543. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_cli_updater.py +0 -0
  544. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_cloud_memory.py +0 -0
  545. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_code_audit_tools.py +0 -0
  546. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_code_review_agent.py +0 -0
  547. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_codegen_output.py +0 -0
  548. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_coder_tester_self_healing.py +0 -0
  549. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_coder_tool_safety.py +0 -0
  550. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_collaboration.py +0 -0
  551. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_command_loggers.py +0 -0
  552. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_command_safety.py +0 -0
  553. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_completions_builder.py +0 -0
  554. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_config_paths.py +0 -0
  555. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_configured_provider.py +0 -0
  556. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_container_entrypoint.py +0 -0
  557. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_container_entrypoints.py +0 -0
  558. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_context_checkpoints.py +0 -0
  559. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_context_references.py +0 -0
  560. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_context_service.py +0 -0
  561. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_conversation_core.py +0 -0
  562. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_crash_report.py +0 -0
  563. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_credential_file_permissions.py +0 -0
  564. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_custom_providers.py +0 -0
  565. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_daemon_gateway_config.py +0 -0
  566. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_dashboard_generator.py +0 -0
  567. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_data_service.py +0 -0
  568. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_data_service_imports.py +0 -0
  569. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_data_without_model.py +0 -0
  570. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_datasource_routing.py +0 -0
  571. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_deep_analysis.py +0 -0
  572. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_degrades_without_quant_engine.py +0 -0
  573. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_dispatcher_pins_match_the_release.py +0 -0
  574. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_doctor.py +0 -0
  575. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_doctor_describes_the_current_install.py +0 -0
  576. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_doctor_npm_scope.py +0 -0
  577. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_edit_and_command_safety.py +0 -0
  578. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_engine_boundary.py +0 -0
  579. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_enterprise_tool_honesty.py +0 -0
  580. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_env_switch_docs.py +0 -0
  581. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_evals_harness.py +0 -0
  582. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_event_import_roots.py +0 -0
  583. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_extended_tools.py +0 -0
  584. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_feishu_swarm_config.py +0 -0
  585. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_file_links.py +0 -0
  586. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_finalize_release.py +0 -0
  587. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_finance_renderers.py +0 -0
  588. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_finance_service_catalog.py +0 -0
  589. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_first_run_output.py +0 -0
  590. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_first_run_works.py +0 -0
  591. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_football_agent.py +0 -0
  592. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_football_prediction_output.py +0 -0
  593. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_google_cloud_models.py +0 -0
  594. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_google_cloud_routing.py +0 -0
  595. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_google_login.py +0 -0
  596. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_google_search_provider.py +0 -0
  597. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_honest_surfaces.py +0 -0
  598. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_image_gen_tools.py +0 -0
  599. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_image_inputs.py +0 -0
  600. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_import_graph_budget.py +0 -0
  601. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_intent_router.py +0 -0
  602. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_intent_signals.py +0 -0
  603. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_kling_video_client.py +0 -0
  604. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_lazy_rebind.py +0 -0
  605. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_legacy_module_imports.py +0 -0
  606. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_license_consistency.py +0 -0
  607. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_licensing.py +0 -0
  608. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_local_image_provider.py +0 -0
  609. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_logistics_3pl.py +0 -0
  610. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_logistics_and_finance_agents.py +0 -0
  611. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_lsp.py +0 -0
  612. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_markdown_pdf.py +0 -0
  613. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_market_answers_in_english.py +0 -0
  614. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_market_data_client.py +0 -0
  615. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_market_history_inheritance.py +0 -0
  616. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_market_history_tool.py +0 -0
  617. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_market_hours.py +0 -0
  618. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_market_questions_on_backend.py +0 -0
  619. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_market_symbol_extraction.py +0 -0
  620. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_market_universe.py +0 -0
  621. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_mcp_circuit.py +0 -0
  622. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_mcp_client.py +0 -0
  623. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_mentions.py +0 -0
  624. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_model_capability_registry.py +0 -0
  625. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_model_choice_is_the_users.py +0 -0
  626. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_model_selection_state.py +0 -0
  627. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_narrow_chinese_output.py +0 -0
  628. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_native_binary_entrypoints.py +0 -0
  629. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_native_installer.py +0 -0
  630. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_natural_language_routing.py +0 -0
  631. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_new_modules.py +0 -0
  632. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_no_hardcoded_developer_paths.py +0 -0
  633. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_no_uncommitted_imports.py +0 -0
  634. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_numeric_listings.py +0 -0
  635. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ollama_stream_imports.py +0 -0
  636. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ollama_stream_tools.py +0 -0
  637. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_openai_image_client.py +0 -0
  638. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_operations_suite.py +0 -0
  639. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_os_sandbox.py +0 -0
  640. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_output_rendering.py +0 -0
  641. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_packages_facade.py +0 -0
  642. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_packaging_constraints.py +0 -0
  643. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_packaging_manifest.py +0 -0
  644. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_packs_domains.py +0 -0
  645. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_pdf_report.py +0 -0
  646. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_pick_best_installed_model.py +0 -0
  647. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_plan_mode.py +0 -0
  648. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_platform_package_assembly.py +0 -0
  649. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_platform_packages.py +0 -0
  650. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_platform_publish.py +0 -0
  651. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_plotly_html_output.py +0 -0
  652. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_portfolio_language.py +0 -0
  653. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_portfolio_ledger.py +0 -0
  654. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_post_turn_context_decision.py +0 -0
  655. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_preflight.py +0 -0
  656. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_preview_server.py +0 -0
  657. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_privacy_feedback.py +0 -0
  658. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_project_aria.py +0 -0
  659. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_project_context_files.py +0 -0
  660. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_project_review.py +0 -0
  661. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_project_review_api.py +0 -0
  662. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_prompt_assembly.py +0 -0
  663. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_prompt_selection.py +0 -0
  664. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_provider_autoconfig.py +0 -0
  665. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_provider_error_messages.py +0 -0
  666. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_provider_integration.py +0 -0
  667. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_provider_registry.py +0 -0
  668. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_public_service_status.py +0 -0
  669. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_quant_engine_namespace.py +0 -0
  670. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_rebind_contract.py +0 -0
  671. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_rebind_namespace_contract.py +0 -0
  672. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_relay_client_credentials.py +0 -0
  673. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_relay_event_verification.py +0 -0
  674. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_relay_sends_for_clients.py +0 -0
  675. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_relay_store.py +0 -0
  676. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_relay_url.py +0 -0
  677. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_release_chain.py +0 -0
  678. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_release_commit_identity.py +0 -0
  679. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_release_push_is_atomic.py +0 -0
  680. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_release_reaches_the_registries.py +0 -0
  681. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_release_verification_waits.py +0 -0
  682. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_release_workflow_permissions.py +0 -0
  683. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_report_charts.py +0 -0
  684. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_report_generator.py +0 -0
  685. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_research_protocol.py +0 -0
  686. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_research_quality.py +0 -0
  687. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_responsive_rendering.py +0 -0
  688. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_review_service.py +0 -0
  689. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_root_module_budget.py +0 -0
  690. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_rsi_without_pandas_ta.py +0 -0
  691. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_acceptance.py +0 -0
  692. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_agent_loop.py +0 -0
  693. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_approval.py +0 -0
  694. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_bridge.py +0 -0
  695. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_bridge_fallback.py +0 -0
  696. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_checkpoints.py +0 -0
  697. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_event_identity.py +0 -0
  698. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_gateway.py +0 -0
  699. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_repo_map.py +0 -0
  700. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_run_store.py +0 -0
  701. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_tool_executor.py +0 -0
  702. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runtime_worktrees.py +0 -0
  703. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_runway_video_client.py +0 -0
  704. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_safety_permissions.py +0 -0
  705. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_safety_service.py +0 -0
  706. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_safety_service_adoption.py +0 -0
  707. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_service_diagnostics_security.py +0 -0
  708. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_session_search.py +0 -0
  709. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_settings_service.py +0 -0
  710. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_shell_commands_as_written.py +0 -0
  711. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_shipper_digest.py +0 -0
  712. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_single_import_root.py +0 -0
  713. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_skill_agent_binding.py +0 -0
  714. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_skill_catalog.py +0 -0
  715. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_skill_loader.py +0 -0
  716. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_slash_popup.py +0 -0
  717. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_spreadsheet_tools.py +0 -0
  718. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_sse_stream_contract.py +0 -0
  719. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_startup_dashboard.py +0 -0
  720. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_startup_latency.py +0 -0
  721. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_status_language.py +0 -0
  722. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_streaming_pipeline.py +0 -0
  723. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_stripe_agent.py +0 -0
  724. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_subagent.py +0 -0
  725. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_supervisor_routing.py +0 -0
  726. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_system_prompts.py +0 -0
  727. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_system_tools_output.py +0 -0
  728. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_task_orchestrator.py +0 -0
  729. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_team_analysts.py +0 -0
  730. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_team_synthesis.py +0 -0
  731. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_tls_trust_store.py +0 -0
  732. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_tool_policy.py +0 -0
  733. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_tool_rounds_on_openai_apis.py +0 -0
  734. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_tool_scope.py +0 -0
  735. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_tool_step_output.py +0 -0
  736. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_trading_service.py +0 -0
  737. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_tradingview_bridge.py +0 -0
  738. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_turn_planning.py +0 -0
  739. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ui_completer_references.py +0 -0
  740. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ui_console_theme.py +0 -0
  741. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ui_input_box.py +0 -0
  742. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ui_language_and_model.py +0 -0
  743. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_ui_robot_banner.py +0 -0
  744. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_update_health_routes.py +0 -0
  745. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_verification_hint.py +0 -0
  746. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_verification_policy.py +0 -0
  747. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_version_consistency.py +0 -0
  748. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_version_counter.py +0 -0
  749. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_video_analysis.py +0 -0
  750. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_video_editor.py +0 -0
  751. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_vscode_mcp.py +0 -0
  752. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_warehouse_agents.py +0 -0
  753. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_warehouse_cli_registration.py +0 -0
  754. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_warehouse_erp_client.py +0 -0
  755. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_warehouse_workflow.py +0 -0
  756. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_wheel_is_installable.py +0 -0
  757. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_workspace_changes.py +0 -0
  758. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_workspace_context.py +0 -0
  759. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_workspace_files.py +0 -0
  760. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_workspace_scope.py +0 -0
  761. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_workspace_service.py +0 -0
  762. {aria_code-0.92.0 → aria_code-0.94.0}/tests/test_workspace_verify.py +0 -0
  763. {aria_code-0.92.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.92.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.92.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.92.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"]
@@ -204,13 +204,16 @@ def build_local_tool_schemas(
204
204
  "type": "function",
205
205
  "function": {
206
206
  "name": "run_command",
207
- "description": "Run a shell command. Use for: git, pip, python, pytest, ls, etc.",
207
+ "description": "Run a shell command. Use for: git, pip, python, pytest, ls, etc. For a server, watcher or anything that keeps running, set background=true.",
208
208
  "parameters": {
209
209
  "type": "object",
210
210
  "properties": {
211
211
  "command": {"type": "string", "description": "Shell command to run"},
212
212
  "cwd": {"type": "string", "description": "Working directory (optional)"},
213
213
  "timeout": {"type": "integer", "description": "Timeout in seconds (max 300, default 120). Use 180+ for data-heavy scripts."},
214
+ "background": {"type": "boolean", "description": "Start a long-running command (dev server, watcher, interactive program) and return at once with a process_id; use the process tool to read its output, send input or stop it"},
215
+ "wait_seconds": {"type": "number", "description": "With background: how long to wait for first output (default 3, max 30)"},
216
+ "until": {"type": "string", "description": "With background: return as soon as this regex appears in the output, e.g. 'Listening on'"},
214
217
  "sandbox": {"type": "boolean", "description": "Set to true to securely execute the command inside an isolated Docker container instead of the host machine. Mandatory for running third-party or untested code."}
215
218
  },
216
219
  "required": ["command"],
@@ -534,4 +537,5 @@ def build_local_tool_schemas(
534
537
  }
535
538
  }
536
539
  },
540
+ __import__("aria_code.runtime.processes", fromlist=["PROCESS_SCHEMA"]).PROCESS_SCHEMA,
537
541
  ]
@@ -413,7 +413,7 @@ async def stream_ollama(ollama_url: str, message: str, history: list,
413
413
  _CU_TOOL_NAMES = {"browser_navigate", "browser_screenshot",
414
414
  "computer_screenshot", "computer_action"}
415
415
  _CODE_TOOL_NAMES = {"read_file", "write_file", "edit_file", "list_files",
416
- "search_code", "run_command", "github",
416
+ "search_code", "run_command", "process", "github",
417
417
  "glob", "notebook_read", "notebook_edit"}
418
418
  _FINANCE_TOOL_NAMES = {
419
419
  "get_market_data", "get_market_history", "calculate_factors",
@@ -198,6 +198,9 @@ def tool_run_command(
198
198
  argv = None
199
199
 
200
200
  sandbox = params.get("sandbox", False)
201
+ if params.get("background"):
202
+ return _start_background(params, command, argv, use_shell, cwd, mode, network,
203
+ docker=bool(sandbox), console=console, has_rich=has_rich)
201
204
  if sandbox:
202
205
  try:
203
206
  from aria_code.apps.cli.sandbox import run_in_docker_sandbox
@@ -272,6 +275,32 @@ def tool_run_command(
272
275
  return {"success": False, "error": str(e)}
273
276
 
274
277
 
278
+ def _start_background(params, command, argv, use_shell, cwd, mode, network, *, docker,
279
+ console, has_rich) -> dict:
280
+ """Start a long-running command (server, watcher) and return its first output."""
281
+ if docker:
282
+ return {"success": False, "error": "background=true is not available with the Docker sandbox."}
283
+ from aria_code.runtime import processes
284
+ from aria_code.safety import sandbox as _os_sandbox
285
+
286
+ target = argv if (argv and not use_shell) else command
287
+ confined = _os_sandbox.wrap(target, use_shell=use_shell, mode=mode, network=network, cwd=cwd,
288
+ setting=params.get("os_sandbox"))
289
+ result = processes.start(confined or target, shell=use_shell and not confined, cwd=cwd,
290
+ label=command, wait=min(float(params.get("wait_seconds", 3) or 0), 30.0),
291
+ until=params.get("until"))
292
+ if result.get("success"):
293
+ data = result["data"]
294
+ state = "running" if data["running"] else f"exited {data['exit_code']}"
295
+ _cprint(f" [dim]⎿ background {data['process_id']} · {state}[/dim]",
296
+ console=console, has_rich=has_rich)
297
+ if confined and not data["running"]:
298
+ hint = _os_sandbox.denial_hint(data.get("output", ""), mode=mode, network=network)
299
+ if hint:
300
+ data["hint"] = hint
301
+ return result
302
+
303
+
275
304
  _PIP_NAMES = {
276
305
  "sklearn": "scikit-learn", "cv2": "opencv-python", "bs4": "beautifulsoup4",
277
306
  "PIL": "Pillow", "yaml": "PyYAML",
@@ -1034,6 +1034,8 @@ from aria_code.apps.cli.tool_executor import *
1034
1034
  # Populated in place — the container is owned by apps/cli/tool_registry.py.
1035
1035
  # Rebinding it here instead would leave every reader over there with an
1036
1036
  # empty registry and no error.
1037
+ from aria_code.runtime.processes import tool_process as _tool_process
1038
+
1037
1039
  LOCAL_TOOLS.update({
1038
1040
  # ── Core file tools ──────────────────────────────────────────────────────
1039
1041
  "read_file": (_tool_read_file, "Read a file's contents"),
@@ -1047,6 +1049,7 @@ LOCAL_TOOLS.update({
1047
1049
  "search_code": (_tool_search_code, "Search for patterns in code (grep)"),
1048
1050
  "search": (_tool_search_code, "Search for patterns in code (alias for search_code)"),
1049
1051
  "run_command": (_tool_run_command, "Execute a shell command"),
1052
+ "process": (_tool_process, "Read, write to or stop a background command"),
1050
1053
  # These four had schemas in local_tool_schemas.py and no handler here,
1051
1054
  # which is the mirror of the earlier defect: a schema with nothing
1052
1055
  # behind it offers the model a tool that cannot run.
@@ -2694,6 +2697,7 @@ _TOOL_ACTION_LABELS: dict = {
2694
2697
  "list_files": "listing files",
2695
2698
  "search_code": "searching codebase",
2696
2699
  "run_command": "executing command",
2700
+ "process": "checking background process",
2697
2701
  # Macro / realty
2698
2702
  "get_macro_data": "loading macro indicators",
2699
2703
  "get_house_price_index": "loading house price data",
@@ -6464,8 +6468,23 @@ class ArtheraTerminal:
6464
6468
  save_config(self.config)
6465
6469
 
6466
6470
  async def run_prompt(self, prompt: str, json_output: bool = False,
6467
- fmt: str = "table", output_file: str = None, quiet: bool = False):
6468
- """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."""
6469
6488
  model = self.config.get("model", "qwen2.5:7b")
6470
6489
  thinking_mode = self.config.get("thinking_mode", "auto")
6471
6490
  auth_token = self.config.get("auth_token")
@@ -6479,7 +6498,7 @@ class ArtheraTerminal:
6479
6498
  if self.commands.is_command(_stripped_prompt):
6480
6499
  self._maybe_show_intent_preflight(_stripped_prompt, quiet=quiet)
6481
6500
  await self.commands.execute(_stripped_prompt)
6482
- return
6501
+ return {"success": True, "command": _stripped_prompt.split()[0], "response": ""}
6483
6502
 
6484
6503
  _reference_context = ""
6485
6504
  _reference_service = getattr(self, "_reference_service", None)
@@ -6487,7 +6506,7 @@ class ArtheraTerminal:
6487
6506
  _prepared_references = _reference_service.prepare(prompt)
6488
6507
  if _prepared_references.errors:
6489
6508
  self._print_reference_errors(_prepared_references)
6490
- return
6509
+ return {"success": False, "response": "", "error": "unresolved @ reference"}
6491
6510
  if _prepared_references.references:
6492
6511
  self._print_reference_summary(_prepared_references)
6493
6512
  prompt = _prepared_references.expanded_text
@@ -6519,7 +6538,7 @@ class ArtheraTerminal:
6519
6538
  await self.commands.cmd_broker("guide")
6520
6539
  await self.commands.cmd_broker("services")
6521
6540
  await self.commands.cmd_packages("services")
6522
- return
6541
+ return {"success": True, "command": "/broker guide", "response": ""}
6523
6542
 
6524
6543
  # ── Broker setup intent: intercept before LLM / deterministic routing ──
6525
6544
  if _is_broker_setup_intent(prompt):
@@ -6530,11 +6549,11 @@ class ArtheraTerminal:
6530
6549
  _label_p = f" 正在启动{_display_p}配置向导…" if _display_p else " 正在启动券商配置向导…"
6531
6550
  console.print(f"\n[bold]Aria[/bold] [dim]{_label_p}[/dim]\n")
6532
6551
  await self.commands._cmd_broker_add(_btype_p)
6533
- return
6552
+ return {"success": True, "command": "/broker add", "response": ""}
6534
6553
 
6535
6554
  # ── Football prediction intercept → built-in Poisson handler ──────────
6536
6555
  if await self._try_football_nl_intercept(prompt):
6537
- return
6556
+ return {"success": True, "command": "football", "response": ""}
6538
6557
 
6539
6558
  deterministic = _run_deterministic_chain(
6540
6559
  prompt, model_has_tools=_model_has_tools_p)
@@ -6583,6 +6602,8 @@ class ArtheraTerminal:
6583
6602
  frozenset() if _auto_approve_session
6584
6603
  else frozenset(_CONFIRM_TOOLS) - _session_always_allow
6585
6604
  ),
6605
+ on_tool_call=events.tool_started,
6606
+ on_tool_result=events.tool_completed,
6586
6607
  return_result=True,
6587
6608
  )
6588
6609
  _tools_used = list(getattr(_turn.final, "tools", []) or [])
@@ -6613,6 +6634,13 @@ class ArtheraTerminal:
6613
6634
  except Exception:
6614
6635
  pass
6615
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"}
6616
6644
  # The agent loop executes tools now, so there is nothing left over to
6617
6645
  # run here — only stream_provider_result ever populated
6618
6646
  # tool_calls_pending, and the deterministic chain never does. Keeping
@@ -6624,10 +6652,16 @@ class ArtheraTerminal:
6624
6652
  # and exit 0.
6625
6653
  _acceptance = (result or {}).get("acceptance") or {}
6626
6654
  if _acceptance.get("verified") is False and not quiet:
6627
- print(f"⚠ 验收未通过: {_acceptance.get('headline', '')}", file=sys.stderr)
6628
-
6629
- if json_output or fmt == "json":
6630
- 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)
6631
6665
  elif fmt == "csv":
6632
6666
  content = f"role,content\nassistant,\"{result.get('response', '').replace(chr(34), chr(34)+chr(34))}\""
6633
6667
  elif fmt == "md":
@@ -6636,24 +6670,28 @@ class ArtheraTerminal:
6636
6670
  content = result.get("response", "") if result.get("success") else f"Error: {result.get('error', 'Unknown')}"
6637
6671
 
6638
6672
  # Output routing
6639
- 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:
6640
6676
  with open(output_file, "w") as f:
6641
6677
  f.write(content)
6642
6678
  if not quiet:
6643
6679
  console.print(f"[green]Saved to {output_file}[/green]" if HAS_RICH
6644
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)))
6645
6689
  else:
6646
- if not result.get("success") and fmt == "table":
6647
- print(f"Error: {result.get('error', 'Unknown')}", file=sys.stderr)
6648
- sys.exit(1)
6649
- # In default (table) format: render with Rich Markdown when output is
6650
- # a terminal. This gives properly formatted headings, bold, and tables
6651
- # in interactive use. When piped/redirected, fall back to plain text
6652
- # for scripting compatibility.
6653
- if HAS_RICH and fmt == "table" and sys.stdout.isatty() and result.get("success"):
6654
- console.print(make_markdown(_strip_latex(content)))
6655
- else:
6656
- 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)
6657
6695
 
6658
6696
  async def run_watch(self, command_fn, interval: int, cmd_args: str):
6659
6697
  """Run a command repeatedly with interval (like Unix watch)."""
@@ -6711,8 +6749,9 @@ Examples:
6711
6749
  parser.add_argument("--model", help="AI model: sonata|prelude|sonata-thinking|prelude-thinking or full Ollama ID")
6712
6750
  parser.add_argument("--thinking", action="store_true", help="Enable thinking mode")
6713
6751
  parser.add_argument("--json", action="store_true", help="JSON output (with -p)")
6714
- parser.add_argument("--format", choices=["table", "json", "csv", "md"], default="table",
6715
- 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)")
6716
6755
  parser.add_argument("--output", "-o", help="Save output to file")
6717
6756
  parser.add_argument("--quiet", "-q", action="store_true", help="Quiet mode (data only, no UI)")
6718
6757
  parser.add_argument("--watch", "-w", type=int, metavar="SECS", help="Refresh interval in seconds")
@@ -6737,6 +6776,15 @@ Examples:
6737
6776
 
6738
6777
  args = parser.parse_args()
6739
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
+
6740
6788
  config = load_config()
6741
6789
 
6742
6790
  # ── Start background update check (non-blocking, daemon thread) ──────────
@@ -6837,11 +6885,11 @@ Examples:
6837
6885
  if args.prompt:
6838
6886
  if watch_interval:
6839
6887
  await terminal.run_watch(
6840
- 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),
6841
6889
  watch_interval, ""
6842
6890
  )
6843
6891
  else:
6844
- 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)
6845
6893
  return
6846
6894
 
6847
6895
  # Mode 2: Direct command
@@ -20,6 +20,7 @@ _PERMISSION_BY_TOOL = {
20
20
  "edit_file": [PermissionLevel.WORKSPACE_WRITE],
21
21
  "notebook_edit": [PermissionLevel.WORKSPACE_WRITE],
22
22
  "run_command": [PermissionLevel.WORKSPACE_WRITE],
23
+ "process": [PermissionLevel.WORKSPACE_WRITE],
23
24
  "web_fetch": [PermissionLevel.NETWORK],
24
25
  "github": [PermissionLevel.NETWORK],
25
26
  "get_market_data": [PermissionLevel.NETWORK],
@@ -96,7 +97,7 @@ def _capabilities_for_tool(name: str) -> List[str]:
96
97
  return ["workspace.read"]
97
98
  if name in ("write_file", "edit_file", "notebook_edit"):
98
99
  return ["workspace.write"]
99
- if name == "run_command":
100
+ if name in ("run_command", "process"):
100
101
  return ["shell"]
101
102
  if name in ("web_fetch", "github"):
102
103
  return ["network"]
@@ -19,7 +19,7 @@ from .tool_executor import ToolExecutor
19
19
  from .budget import BudgetTracker
20
20
 
21
21
 
22
- DEFAULT_SERIAL_TOOLS = {"write_file", "edit_file", "multi_edit", "run_command"}
22
+ DEFAULT_SERIAL_TOOLS = {"write_file", "edit_file", "multi_edit", "run_command", "process"}
23
23
 
24
24
  # Phrases the model uses to signal task completion
25
25
  _DONE_PHRASES = frozenset([