aria-code 0.131.0__tar.gz → 0.133.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 (860) hide show
  1. {aria_code-0.131.0/src/aria_code.egg-info → aria_code-0.133.0}/PKG-INFO +2 -2
  2. {aria_code-0.131.0 → aria_code-0.133.0}/README.md +1 -1
  3. {aria_code-0.131.0 → aria_code-0.133.0}/pyproject.toml +1 -1
  4. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/_version.py +1 -1
  5. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_relay_server.py +4 -0
  6. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/agent_loop.py +66 -0
  7. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/baseline.py +77 -5
  8. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/delivery.py +1 -0
  9. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/project_graph.py +2 -2
  10. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/repo_map.py +2 -2
  11. {aria_code-0.131.0 → aria_code-0.133.0/src/aria_code.egg-info}/PKG-INFO +2 -2
  12. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_baseline.py +61 -0
  13. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_native_index.py +3 -2
  14. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_reliability.py +10 -0
  15. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_agent_loop.py +95 -0
  16. {aria_code-0.131.0 → aria_code-0.133.0}/LICENSE +0 -0
  17. {aria_code-0.131.0 → aria_code-0.133.0}/NOTICE +0 -0
  18. {aria_code-0.131.0 → aria_code-0.133.0}/setup.cfg +0 -0
  19. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/__init__.py +0 -0
  20. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/__init__.py +0 -0
  21. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/aria_code_review/__init__.py +0 -0
  22. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/aria_code_review/agent.py +0 -0
  23. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/aria_research/__init__.py +0 -0
  24. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/aria_research/agent.py +0 -0
  25. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/__init__.py +0 -0
  26. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/base.py +0 -0
  27. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/code_review.py +0 -0
  28. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/__init__.py +0 -0
  29. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/calibration_loop.py +0 -0
  30. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/critic.py +0 -0
  31. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/deepen.py +0 -0
  32. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/models.py +0 -0
  33. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/pipeline.py +0 -0
  34. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/quant_fusion.py +0 -0
  35. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/themes.py +0 -0
  36. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/tiers.py +0 -0
  37. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/engineering/__init__.py +0 -0
  38. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/engineering/coder.py +0 -0
  39. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/engineering/tester.py +0 -0
  40. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/__init__.py +0 -0
  41. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/cashflow_burn.py +0 -0
  42. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/catalyst.py +0 -0
  43. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/corporate_finance.py +0 -0
  44. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/debate.py +0 -0
  45. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/earnings.py +0 -0
  46. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/fundamental.py +0 -0
  47. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/macro.py +0 -0
  48. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/news.py +0 -0
  49. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/risk.py +0 -0
  50. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/sector.py +0 -0
  51. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/strategist.py +0 -0
  52. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/stripe_revenue.py +0 -0
  53. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/synthesis.py +0 -0
  54. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/technical.py +0 -0
  55. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/orchestrator.py +0 -0
  56. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/portfolio_agent.py +0 -0
  57. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/__init__.py +0 -0
  58. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/asset_diagnosis.py +0 -0
  59. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/business_match.py +0 -0
  60. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/cashflow_verify.py +0 -0
  61. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/contract_rules.py +0 -0
  62. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/energy_anomaly.py +0 -0
  63. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/exit_settlement.py +0 -0
  64. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/fulfillment_risk.py +0 -0
  65. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/ops_optimize.py +0 -0
  66. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/revenue_share.py +0 -0
  67. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/registry.py +0 -0
  68. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/signal_scheme.py +0 -0
  69. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/sports/__init__.py +0 -0
  70. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/sports/football_agent.py +0 -0
  71. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/supervisor.py +0 -0
  72. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/team.py +0 -0
  73. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/__init__.py +0 -0
  74. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/contracts.py +0 -0
  75. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/dashboard.py +0 -0
  76. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/fulfillment_leadtime.py +0 -0
  77. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/inbound_exceptions.py +0 -0
  78. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/inventory_health.py +0 -0
  79. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/local_run.py +0 -0
  80. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/local_snapshot.py +0 -0
  81. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/logistics_cost.py +0 -0
  82. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/logistics_sync.py +0 -0
  83. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/workflow.py +0 -0
  84. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aliyun_data_client.py +0 -0
  85. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/README.md +0 -0
  86. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/__init__.py +0 -0
  87. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/README.md +0 -0
  88. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/__init__.py +0 -0
  89. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/approvals.py +0 -0
  90. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/conversation.py +0 -0
  91. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/digest.py +0 -0
  92. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/intake.py +0 -0
  93. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/registry.py +0 -0
  94. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/tradingview.py +0 -0
  95. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/README.md +0 -0
  96. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/__init__.py +0 -0
  97. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/_optional.py +0 -0
  98. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/bootstrap.py +0 -0
  99. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/broker_render.py +0 -0
  100. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/chat_turn.py +0 -0
  101. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/codegen_paths.py +0 -0
  102. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/__init__.py +0 -0
  103. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/_business_render.py +0 -0
  104. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/_ui.py +0 -0
  105. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/analysis_cmds.py +0 -0
  106. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/ashare_prediction_cmds.py +0 -0
  107. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/auth_cmds.py +0 -0
  108. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/backtest_cmds.py +0 -0
  109. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/broker_cmds.py +0 -0
  110. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/business_workflow_cmds.py +0 -0
  111. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/canvas_cmds.py +0 -0
  112. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/catalog.py +0 -0
  113. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/core_cmds.py +0 -0
  114. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/data_cmds.py +0 -0
  115. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/diagnostic_cmds.py +0 -0
  116. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/diagnostic_ops_cmds.py +0 -0
  117. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/file_cmds.py +0 -0
  118. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/finance_service_cmds.py +0 -0
  119. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/fx_commodity_cmds.py +0 -0
  120. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/market.py +0 -0
  121. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/market_cmds.py +0 -0
  122. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/market_context.py +0 -0
  123. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/market_render.py +0 -0
  124. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/model_cmds.py +0 -0
  125. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/ops_cmds.py +0 -0
  126. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/orchestrator_cmds.py +0 -0
  127. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/pdf_export_cmds.py +0 -0
  128. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/portfolio_cmds.py +0 -0
  129. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/report.py +0 -0
  130. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/scaffold_templates.py +0 -0
  131. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/session_cmds.py +0 -0
  132. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/session_ux_cmds.py +0 -0
  133. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/team.py +0 -0
  134. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/team_render.py +0 -0
  135. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/ui_cmds.py +0 -0
  136. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/warehouse_cmds.py +0 -0
  137. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/workflow_cmds.py +0 -0
  138. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/workspace_cmds.py +0 -0
  139. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/config_paths.py +0 -0
  140. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/config_store.py +0 -0
  141. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/constants.py +0 -0
  142. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/context.py +0 -0
  143. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/deterministic.py +0 -0
  144. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/direct.py +0 -0
  145. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/earnings_view.py +0 -0
  146. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/exec_events.py +0 -0
  147. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/finance_service_catalog.py +0 -0
  148. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/football_reports.py +0 -0
  149. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/github_app_auth.py +0 -0
  150. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/google_login.py +0 -0
  151. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/__init__.py +0 -0
  152. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/broker_handlers.py +0 -0
  153. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/chart_handlers.py +0 -0
  154. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/market_handlers.py +0 -0
  155. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/realty_handlers.py +0 -0
  156. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/sports_handlers.py +0 -0
  157. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/strategy_advice.py +0 -0
  158. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/headless.py +0 -0
  159. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/helpers.py +0 -0
  160. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/hooks.py +0 -0
  161. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/i18n.py +0 -0
  162. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/intent.py +0 -0
  163. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/intent_router.py +0 -0
  164. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/intent_signals.py +0 -0
  165. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/lifecycle_hooks.py +0 -0
  166. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/local_tool_schemas.py +0 -0
  167. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/main.py +0 -0
  168. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/market_hours.py +0 -0
  169. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/market_metadata.py +0 -0
  170. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/market_universe.py +0 -0
  171. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/message_processing.py +0 -0
  172. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/mixin_binding.py +0 -0
  173. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/model_catalog.py +0 -0
  174. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/model_probe.py +0 -0
  175. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/model_retirement.py +0 -0
  176. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/native_bridge.py +0 -0
  177. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/pdf_report.py +0 -0
  178. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/plan_mode.py +0 -0
  179. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/plotly_html.py +0 -0
  180. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prediction_feedback.py +0 -0
  181. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/preflight.py +0 -0
  182. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/project_aria.py +0 -0
  183. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompt_assembly.py +0 -0
  184. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/__init__.py +0 -0
  185. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/coding.py +0 -0
  186. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/select.py +0 -0
  187. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/system_prompts.py +0 -0
  188. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/ui.py +0 -0
  189. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/provider_endpoints.py +0 -0
  190. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/provider_keys.py +0 -0
  191. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/__init__.py +0 -0
  192. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/base.py +0 -0
  193. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/chat_routing.py +0 -0
  194. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/collaboration.py +0 -0
  195. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/__init__.py +0 -0
  196. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/offline_responses.py +0 -0
  197. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/ollama_stream.py +0 -0
  198. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/response_cache.py +0 -0
  199. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/sse_stream.py +0 -0
  200. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/runtime_bridge.py +0 -0
  201. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/vertexai_stream.py +0 -0
  202. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/release_download.py +0 -0
  203. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/review_runner.py +0 -0
  204. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/runtime_consumer.py +0 -0
  205. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/sandbox.py +0 -0
  206. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/session_export.py +0 -0
  207. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/session_jsonl.py +0 -0
  208. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/session_store.py +0 -0
  209. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/skills_catalog.py +0 -0
  210. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/task_isolation.py +0 -0
  211. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/terminal_chrome.py +0 -0
  212. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/todo_tracker.py +0 -0
  213. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tool_executor.py +0 -0
  214. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tool_registry.py +0 -0
  215. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tool_scope.py +0 -0
  216. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/__init__.py +0 -0
  217. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/context.py +0 -0
  218. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/file_tools.py +0 -0
  219. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/market_tools.py +0 -0
  220. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/notebook_tools.py +0 -0
  221. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/system_tools.py +0 -0
  222. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/write_tools.py +0 -0
  223. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tradingview_bridge.py +0 -0
  224. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/transactions.py +0 -0
  225. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/turn_planning.py +0 -0
  226. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/update_check.py +0 -0
  227. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/updater.py +0 -0
  228. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/utils/__init__.py +0 -0
  229. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/utils/market_detect.py +0 -0
  230. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/workflow_runner.py +0 -0
  231. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/workspace_route.py +0 -0
  232. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/daemon/README.md +0 -0
  233. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/vscode/README.md +0 -0
  234. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/vscode/package.json +0 -0
  235. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_cli.py +0 -0
  236. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_daemon.py +0 -0
  237. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_feishu_bot.py +0 -0
  238. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_mcp_server.py +0 -0
  239. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_relay_client.py +0 -0
  240. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_telegram_bot.py +0 -0
  241. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ariarc.py +0 -0
  242. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/artifacts.py +0 -0
  243. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/backtest_engine.py +0 -0
  244. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/backtest_report.py +0 -0
  245. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/__init__.py +0 -0
  246. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/automation.py +0 -0
  247. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/base.py +0 -0
  248. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/capabilities.py +0 -0
  249. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/__init__.py +0 -0
  250. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/easytrader_broker.py +0 -0
  251. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/futu_broker.py +0 -0
  252. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/longbridge_broker.py +0 -0
  253. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/tiger_broker.py +0 -0
  254. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/xtquant_broker.py +0 -0
  255. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/config.py +0 -0
  256. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/__init__.py +0 -0
  257. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/alpaca_broker.py +0 -0
  258. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/ibkr_broker.py +0 -0
  259. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/trading212_broker.py +0 -0
  260. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/webull_broker.py +0 -0
  261. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/paper_broker.py +0 -0
  262. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/planning.py +0 -0
  263. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/registry.py +0 -0
  264. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/trading.py +0 -0
  265. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/canva_client.py +0 -0
  266. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/change_store.py +0 -0
  267. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/__init__.py +0 -0
  268. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/aliyun_data_client.py +0 -0
  269. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/aria_relay_client.py +0 -0
  270. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/canva_client.py +0 -0
  271. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/figma_client.py +0 -0
  272. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/football_data_client.py +0 -0
  273. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/kling_video_client.py +0 -0
  274. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/market_data_client.py +0 -0
  275. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/openai_image_client.py +0 -0
  276. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/runway_video_client.py +0 -0
  277. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/warehouse_erp_client.py +0 -0
  278. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/cloud_memory.py +0 -0
  279. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/command_safety.py +0 -0
  280. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/computer_use_tools.py +0 -0
  281. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/dashboard_generator.py +0 -0
  282. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/data_analysis_tools.py +0 -0
  283. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/data_cleaner.py +0 -0
  284. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/data_service.py +0 -0
  285. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/__init__.py +0 -0
  286. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/base.py +0 -0
  287. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/router.py +0 -0
  288. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/__init__.py +0 -0
  289. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/akshare_source.py +0 -0
  290. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/alpha_vantage_source.py +0 -0
  291. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/edgar_source.py +0 -0
  292. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/finnhub_source.py +0 -0
  293. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/fred_source.py +0 -0
  294. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/tushare_source.py +0 -0
  295. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/web_scraper_source.py +0 -0
  296. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/world_bank_source.py +0 -0
  297. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/yfinance_source.py +0 -0
  298. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/demo_player.py +0 -0
  299. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/doctor.py +0 -0
  300. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/__init__.py +0 -0
  301. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/backtest_engine.py +0 -0
  302. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/backtest_report.py +0 -0
  303. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/finance_formulas.py +0 -0
  304. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/portfolio_ledger.py +0 -0
  305. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/strategy_vault.py +0 -0
  306. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/__init__.py +0 -0
  307. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/behavior.py +0 -0
  308. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/gap.py +0 -0
  309. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/harness.py +0 -0
  310. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/review_probe.py +0 -0
  311. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/runner.py +0 -0
  312. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/summary.py +0 -0
  313. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/external_agent_runner.py +0 -0
  314. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/figma_client.py +0 -0
  315. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/file_analysis_tools.py +0 -0
  316. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/finance_formulas.py +0 -0
  317. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/football_data_client.py +0 -0
  318. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/image_gen_tools.py +0 -0
  319. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/intent_classifier.py +0 -0
  320. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/kling_video_client.py +0 -0
  321. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/licensing.py +0 -0
  322. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/local_finance_tools.py +0 -0
  323. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/local_image_provider.py +0 -0
  324. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/local_llm_provider.py +0 -0
  325. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/macro_tools.py +0 -0
  326. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/markdown_pdf.py +0 -0
  327. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/market_data_client.py +0 -0
  328. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/mcp_client.py +0 -0
  329. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/memory_manager.py +0 -0
  330. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/model_capability.py +0 -0
  331. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/notification_tools.py +0 -0
  332. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/openai_image_client.py +0 -0
  333. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/__init__.py +0 -0
  334. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/adk_bridge/__init__.py +0 -0
  335. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/adk_bridge/code_review_tools.py +0 -0
  336. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/adk_bridge/market_tools.py +0 -0
  337. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_agents/__init__.py +0 -0
  338. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_agents/manifest.py +0 -0
  339. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/__init__.py +0 -0
  340. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/architecture.py +0 -0
  341. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/export.py +0 -0
  342. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/manifest.py +0 -0
  343. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/paths.py +0 -0
  344. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/secure_file.py +0 -0
  345. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_infra/__init__.py +0 -0
  346. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_infra/arthera.py +0 -0
  347. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_infra/doctor.py +0 -0
  348. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_infra/product.py +0 -0
  349. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/__init__.py +0 -0
  350. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/bridge.py +0 -0
  351. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/circuit.py +0 -0
  352. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/config.py +0 -0
  353. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/installer.py +0 -0
  354. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/server.py +0 -0
  355. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/tools.py +0 -0
  356. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/__init__.py +0 -0
  357. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/client.py +0 -0
  358. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/providers.py +0 -0
  359. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/streaming.py +0 -0
  360. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/types.py +0 -0
  361. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/__init__.py +0 -0
  362. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/cache.py +0 -0
  363. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/context.py +0 -0
  364. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/context_checkpoints.py +0 -0
  365. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/data.py +0 -0
  366. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/provider_health.py +0 -0
  367. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/references.py +0 -0
  368. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/registry.py +0 -0
  369. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/research_protocol.py +0 -0
  370. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/research_quality.py +0 -0
  371. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/settings.py +0 -0
  372. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/usage.py +0 -0
  373. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_skills/__init__.py +0 -0
  374. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_skills/catalog.py +0 -0
  375. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_skills/loader.py +0 -0
  376. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_skills/registry.py +0 -0
  377. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/__init__.py +0 -0
  378. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/__init__.py +0 -0
  379. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/_paths.py +0 -0
  380. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/compliance.py +0 -0
  381. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/factors.py +0 -0
  382. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/risk_tools.py +0 -0
  383. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/strategy.py +0 -0
  384. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/registry.py +0 -0
  385. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/__init__.py +0 -0
  386. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/_namespace.py +0 -0
  387. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/backtest/__init__.py +0 -0
  388. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/backtest/core.py +0 -0
  389. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/backtest/engine.py +0 -0
  390. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/portfolio/__init__.py +0 -0
  391. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/portfolio/optimizer.py +0 -0
  392. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/__init__.py +0 -0
  393. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/calibrator.py +0 -0
  394. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/dixon_coles.py +0 -0
  395. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/elo.py +0 -0
  396. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/form.py +0 -0
  397. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/h2h.py +0 -0
  398. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/ml_model.py +0 -0
  399. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/predictor.py +0 -0
  400. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/tracker.py +0 -0
  401. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/__init__.py +0 -0
  402. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/gbm_enhanced.py +0 -0
  403. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/ito_calculus.py +0 -0
  404. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/kelly_criterion.py +0 -0
  405. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/monte_carlo_advanced.py +0 -0
  406. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/options_pricing.py +0 -0
  407. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/stochastic_processes.py +0 -0
  408. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/__init__.py +0 -0
  409. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/base.py +0 -0
  410. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/finance/__init__.py +0 -0
  411. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/logistics/__init__.py +0 -0
  412. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/payments/__init__.py +0 -0
  413. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/realty/__init__.py +0 -0
  414. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/registry.py +0 -0
  415. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/rules.py +0 -0
  416. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/plan_utils.py +0 -0
  417. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/plugin_loader.py +0 -0
  418. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/portfolio_ledger.py +0 -0
  419. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/preview_server.py +0 -0
  420. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/privacy/__init__.py +0 -0
  421. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/privacy/feedback.py +0 -0
  422. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/project_review.py +0 -0
  423. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/project_review_api.py +0 -0
  424. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/project_review_server.py +0 -0
  425. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/project_tools.py +0 -0
  426. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/__init__.py +0 -0
  427. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/__init__.py +0 -0
  428. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/anthropic.py +0 -0
  429. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/autoconfig.py +0 -0
  430. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/base.py +0 -0
  431. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/custom.py +0 -0
  432. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/ollama.py +0 -0
  433. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/openai_compat.py +0 -0
  434. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/registry.py +0 -0
  435. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/local_image_provider.py +0 -0
  436. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/local_llm_provider.py +0 -0
  437. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/tool_messages.py +0 -0
  438. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/realty_data_tools.py +0 -0
  439. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/relay_store.py +0 -0
  440. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/report_exporters.py +0 -0
  441. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/report_generator.py +0 -0
  442. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/review_service.py +0 -0
  443. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/__init__.py +0 -0
  444. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/acceptance.py +0 -0
  445. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/approval.py +0 -0
  446. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/budget.py +0 -0
  447. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/checkpoints.py +0 -0
  448. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/contract.py +0 -0
  449. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/crash_report.py +0 -0
  450. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/events.py +0 -0
  451. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/gateway.py +0 -0
  452. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/lsp.py +0 -0
  453. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/native_index.py +0 -0
  454. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/orchestrator.py +0 -0
  455. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/processes.py +0 -0
  456. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/review.py +0 -0
  457. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/run_state.py +0 -0
  458. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/run_store.py +0 -0
  459. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/self_healing.py +0 -0
  460. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/semantic_diff.py +0 -0
  461. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/subagent.py +0 -0
  462. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/symbol_edit.py +0 -0
  463. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/task_ledger.py +0 -0
  464. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/task_orchestrator.py +0 -0
  465. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/task_worktree.py +0 -0
  466. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/tool_executor.py +0 -0
  467. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/tool_policy.py +0 -0
  468. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/transactions.py +0 -0
  469. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/windows_job.py +0 -0
  470. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/workflows.py +0 -0
  471. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/worktrees.py +0 -0
  472. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runway_video_client.py +0 -0
  473. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/__init__.py +0 -0
  474. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/client_isolation.py +0 -0
  475. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/permissions.py +0 -0
  476. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/risk.py +0 -0
  477. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/sandbox.py +0 -0
  478. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/service.py +0 -0
  479. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/setup_wizard.py +0 -0
  480. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/spreadsheet_tools.py +0 -0
  481. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/strategy_vault.py +0 -0
  482. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/__init__.py +0 -0
  483. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/artifact_tools.py +0 -0
  484. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/broker_tools.py +0 -0
  485. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/build_quant_engine.py +0 -0
  486. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/code_audit_tools.py +0 -0
  487. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/computer_use_tools.py +0 -0
  488. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/data_analysis_tools.py +0 -0
  489. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/enterprise_finance_tools.py +0 -0
  490. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/extended_tools.py +0 -0
  491. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/file_analysis_tools.py +0 -0
  492. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/image_gen_tools.py +0 -0
  493. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/local_finance_tools.py +0 -0
  494. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_carriers.py +0 -0
  495. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_inventory.py +0 -0
  496. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_io.py +0 -0
  497. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_tenancy.py +0 -0
  498. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_tools.py +0 -0
  499. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/macro_tools.py +0 -0
  500. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/notification_tools.py +0 -0
  501. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/project_tools.py +0 -0
  502. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/realty_data_tools.py +0 -0
  503. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/spreadsheet_tools.py +0 -0
  504. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/stripe_tools.py +0 -0
  505. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/training/__init__.py +0 -0
  506. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/training/compare.py +0 -0
  507. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/training/sft_dataset.py +0 -0
  508. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/__init__.py +0 -0
  509. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/banner.py +0 -0
  510. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/completer.py +0 -0
  511. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/console.py +0 -0
  512. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/input_box.py +0 -0
  513. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/mentions.py +0 -0
  514. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/picker.py +0 -0
  515. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/__init__.py +0 -0
  516. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/actions.py +0 -0
  517. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/finance.py +0 -0
  518. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/market.py +0 -0
  519. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/output.py +0 -0
  520. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/responsive.py +0 -0
  521. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/team.py +0 -0
  522. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/robot.py +0 -0
  523. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/startup_dashboard.py +0 -0
  524. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/utils/vscode_uri.py +0 -0
  525. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/video_analysis.py +0 -0
  526. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/video_editor.py +0 -0
  527. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace/__init__.py +0 -0
  528. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace/files.py +0 -0
  529. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace/verify.py +0 -0
  530. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace_changes.py +0 -0
  531. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace_context.py +0 -0
  532. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace_service.py +0 -0
  533. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace_tools.py +0 -0
  534. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/SOURCES.txt +0 -0
  535. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/dependency_links.txt +0 -0
  536. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/entry_points.txt +0 -0
  537. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/requires.txt +0 -0
  538. {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/top_level.txt +0 -0
  539. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_action_view.py +0 -0
  540. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_adk_market_tools.py +0 -0
  541. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_agent_key_points_language.py +0 -0
  542. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_agent_team_fallback.py +0 -0
  543. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_analyze_file_tool.py +0 -0
  544. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_architecture_ledger_is_true.py +0 -0
  545. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_architecture_report.py +0 -0
  546. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_aria_cli_core.py +0 -0
  547. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_aria_mcp_server.py +0 -0
  548. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_aria_sdk.py +0 -0
  549. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_artifact_publishing.py +0 -0
  550. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_artifacts_and_reports.py +0 -0
  551. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ashare_prediction_cmds.py +0 -0
  552. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_background_processes.py +0 -0
  553. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_backtest_cmds.py +0 -0
  554. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_backtest_engine.py +0 -0
  555. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_backtest_report.py +0 -0
  556. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_backtest_runs_what_it_names.py +0 -0
  557. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_binary_bundles_runtime_imports.py +0 -0
  558. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broken_akshare_is_optional.py +0 -0
  559. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_automation.py +0 -0
  560. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_chat_confirm_gate.py +0 -0
  561. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_planning.py +0 -0
  562. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_safety.py +0 -0
  563. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_tools.py +0 -0
  564. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_budget.py +0 -0
  565. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_business_workflow_cmds.py +0 -0
  566. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_callback_provider_cleanup.py +0 -0
  567. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_canva_client.py +0 -0
  568. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_canvas_cmds.py +0 -0
  569. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_card_approvals.py +0 -0
  570. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_change_contract.py +0 -0
  571. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_channel_intake.py +0 -0
  572. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_channels.py +0 -0
  573. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_chart_handlers.py +0 -0
  574. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_chat_bots_fail_closed.py +0 -0
  575. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_chat_routing.py +0 -0
  576. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_checkpoints_since.py +0 -0
  577. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ci_security_workflow.py +0 -0
  578. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_app_split.py +0 -0
  579. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_bootstrap.py +0 -0
  580. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_config_store.py +0 -0
  581. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_lifecycle_hooks.py +0 -0
  582. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_runtime_consumer.py +0 -0
  583. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_tool_executor_module.py +0 -0
  584. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_updater.py +0 -0
  585. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_client_isolation_guard.py +0 -0
  586. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cloud_memory.py +0 -0
  587. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_code_audit_tools.py +0 -0
  588. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_code_review_agent.py +0 -0
  589. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_codegen_output.py +0 -0
  590. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_coder_tester_self_healing.py +0 -0
  591. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_coder_tool_safety.py +0 -0
  592. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_collaboration.py +0 -0
  593. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_command_loggers.py +0 -0
  594. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_command_safety.py +0 -0
  595. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_compare_strategies.py +0 -0
  596. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_completions_builder.py +0 -0
  597. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_config_paths.py +0 -0
  598. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_configured_provider.py +0 -0
  599. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_container_entrypoint.py +0 -0
  600. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_container_entrypoints.py +0 -0
  601. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_context_checkpoints.py +0 -0
  602. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_context_references.py +0 -0
  603. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_context_service.py +0 -0
  604. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_conversation_core.py +0 -0
  605. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_crash_report.py +0 -0
  606. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_credential_file_permissions.py +0 -0
  607. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_custom_providers.py +0 -0
  608. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_daemon_gateway_config.py +0 -0
  609. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_dashboard_generator.py +0 -0
  610. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_data_service.py +0 -0
  611. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_data_service_imports.py +0 -0
  612. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_data_without_model.py +0 -0
  613. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_datasource_routing.py +0 -0
  614. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_deep_analysis.py +0 -0
  615. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_degrades_without_quant_engine.py +0 -0
  616. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_delivery_report.py +0 -0
  617. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_dispatcher_pins_match_the_release.py +0 -0
  618. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_doctor.py +0 -0
  619. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_doctor_describes_the_current_install.py +0 -0
  620. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_doctor_npm_scope.py +0 -0
  621. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_doctor_sandbox.py +0 -0
  622. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_edit_and_command_safety.py +0 -0
  623. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_engine_boundary.py +0 -0
  624. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_english_output_group.py +0 -0
  625. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_enterprise_tool_honesty.py +0 -0
  626. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_env_switch_docs.py +0 -0
  627. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_behavior.py +0 -0
  628. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_hard_suite.py +0 -0
  629. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_holdout.py +0 -0
  630. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_summary.py +0 -0
  631. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_task_bank.py +0 -0
  632. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_trajectories.py +0 -0
  633. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_evals_harness.py +0 -0
  634. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_event_import_roots.py +0 -0
  635. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_exec_events.py +0 -0
  636. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_extended_tools.py +0 -0
  637. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_feishu_swarm_config.py +0 -0
  638. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_file_links.py +0 -0
  639. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_finalize_release.py +0 -0
  640. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_finance_renderers.py +0 -0
  641. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_finance_service_catalog.py +0 -0
  642. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_first_run_output.py +0 -0
  643. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_first_run_works.py +0 -0
  644. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_football_agent.py +0 -0
  645. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_football_prediction_output.py +0 -0
  646. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_frozen_module_aliases.py +0 -0
  647. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_gemini_retirement.py +0 -0
  648. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_google_cloud_models.py +0 -0
  649. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_google_cloud_routing.py +0 -0
  650. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_google_login.py +0 -0
  651. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_google_search_provider.py +0 -0
  652. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_headless_command_approval.py +0 -0
  653. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_headless_is_agentic.py +0 -0
  654. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_honest_surfaces.py +0 -0
  655. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_image_gen_tools.py +0 -0
  656. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_image_inputs.py +0 -0
  657. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_import_aliasing.py +0 -0
  658. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_import_graph_budget.py +0 -0
  659. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_intent_router.py +0 -0
  660. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_intent_signals.py +0 -0
  661. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_kling_video_client.py +0 -0
  662. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_lazy_rebind.py +0 -0
  663. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_legacy_module_imports.py +0 -0
  664. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_license_consistency.py +0 -0
  665. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_licensing.py +0 -0
  666. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_linux_sandbox_integration.py +0 -0
  667. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_local_image_provider.py +0 -0
  668. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_local_workspace_execution.py +0 -0
  669. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_logistics_3pl.py +0 -0
  670. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_logistics_and_finance_agents.py +0 -0
  671. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_lsp.py +0 -0
  672. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_markdown_pdf.py +0 -0
  673. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_answers_in_english.py +0 -0
  674. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_data_client.py +0 -0
  675. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_history_inheritance.py +0 -0
  676. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_history_tool.py +0 -0
  677. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_hours.py +0 -0
  678. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_questions_on_backend.py +0 -0
  679. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_symbol_extraction.py +0 -0
  680. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_universe.py +0 -0
  681. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_mcp_circuit.py +0 -0
  682. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_mcp_client.py +0 -0
  683. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_mentions.py +0 -0
  684. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_model_capability_registry.py +0 -0
  685. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_model_choice_is_the_users.py +0 -0
  686. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_model_probe.py +0 -0
  687. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_model_selection_state.py +0 -0
  688. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_narrow_chinese_output.py +0 -0
  689. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_native_binary_entrypoints.py +0 -0
  690. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_native_bridge.py +0 -0
  691. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_native_installer.py +0 -0
  692. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_natural_language_routing.py +0 -0
  693. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_new_modules.py +0 -0
  694. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_no_hardcoded_developer_paths.py +0 -0
  695. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_no_tools_route.py +0 -0
  696. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_no_uncommitted_imports.py +0 -0
  697. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_numeric_listings.py +0 -0
  698. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ollama_stream_imports.py +0 -0
  699. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ollama_stream_tools.py +0 -0
  700. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_openai_image_client.py +0 -0
  701. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_operations_suite.py +0 -0
  702. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_os_sandbox.py +0 -0
  703. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_output_discipline_prompt.py +0 -0
  704. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_output_rendering.py +0 -0
  705. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_packages_facade.py +0 -0
  706. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_packaging_constraints.py +0 -0
  707. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_packaging_manifest.py +0 -0
  708. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_packs_domains.py +0 -0
  709. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_pdf_report.py +0 -0
  710. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_pick_best_installed_model.py +0 -0
  711. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_plan_mode.py +0 -0
  712. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_platform_package_assembly.py +0 -0
  713. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_platform_packages.py +0 -0
  714. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_platform_publish.py +0 -0
  715. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_plotly_html_output.py +0 -0
  716. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_portfolio_language.py +0 -0
  717. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_portfolio_ledger.py +0 -0
  718. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_post_turn_context_decision.py +0 -0
  719. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_preflight.py +0 -0
  720. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_preview_server.py +0 -0
  721. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_privacy_feedback.py +0 -0
  722. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_aria.py +0 -0
  723. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_context_files.py +0 -0
  724. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_graph.py +0 -0
  725. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_review.py +0 -0
  726. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_review_api.py +0 -0
  727. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_prompt_assembly.py +0 -0
  728. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_prompt_dates.py +0 -0
  729. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_prompt_selection.py +0 -0
  730. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_autoconfig.py +0 -0
  731. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_error_classification.py +0 -0
  732. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_error_messages.py +0 -0
  733. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_integration.py +0 -0
  734. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_registry.py +0 -0
  735. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_public_service_status.py +0 -0
  736. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_quant_engine_namespace.py +0 -0
  737. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rebind_contract.py +0 -0
  738. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rebind_namespace_contract.py +0 -0
  739. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_client_credentials.py +0 -0
  740. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_contract.py +0 -0
  741. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_event_verification.py +0 -0
  742. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_sends_for_clients.py +0 -0
  743. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_store.py +0 -0
  744. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_url.py +0 -0
  745. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_badges.py +0 -0
  746. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_chain.py +0 -0
  747. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_commit_identity.py +0 -0
  748. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_download.py +0 -0
  749. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_push_is_atomic.py +0 -0
  750. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_reaches_the_registries.py +0 -0
  751. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_verification_waits.py +0 -0
  752. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_workflow_permissions.py +0 -0
  753. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_report_charts.py +0 -0
  754. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_report_generator.py +0 -0
  755. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_report_prompt_language.py +0 -0
  756. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_research_protocol.py +0 -0
  757. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_research_quality.py +0 -0
  758. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_responsive_rendering.py +0 -0
  759. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_review_gate.py +0 -0
  760. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_review_service.py +0 -0
  761. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_risk_approval.py +0 -0
  762. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_risk_assessment.py +0 -0
  763. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_risk_earnings_ops.py +0 -0
  764. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_robot_artwork.py +0 -0
  765. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_root_module_budget.py +0 -0
  766. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rsi_without_pandas_ta.py +0 -0
  767. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_run_store_redaction.py +0 -0
  768. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_acceptance.py +0 -0
  769. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_approval.py +0 -0
  770. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_bridge.py +0 -0
  771. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_bridge_fallback.py +0 -0
  772. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_checkpoints.py +0 -0
  773. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_event_identity.py +0 -0
  774. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_gateway.py +0 -0
  775. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_repo_map.py +0 -0
  776. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_run_store.py +0 -0
  777. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_tool_executor.py +0 -0
  778. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_worktrees.py +0 -0
  779. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runway_video_client.py +0 -0
  780. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rust_cli.py +0 -0
  781. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rust_state.py +0 -0
  782. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_safety_permissions.py +0 -0
  783. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_safety_service.py +0 -0
  784. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_safety_service_adoption.py +0 -0
  785. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_semantic_diff.py +0 -0
  786. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_service_diagnostics_security.py +0 -0
  787. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_session_search.py +0 -0
  788. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_settings_service.py +0 -0
  789. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_shell_commands_as_written.py +0 -0
  790. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_shipper_digest.py +0 -0
  791. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_single_import_root.py +0 -0
  792. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_skill_agent_binding.py +0 -0
  793. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_skill_catalog.py +0 -0
  794. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_skill_loader.py +0 -0
  795. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_slash_popup.py +0 -0
  796. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_spreadsheet_tools.py +0 -0
  797. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_sse_http_roundtrip.py +0 -0
  798. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_sse_stream_contract.py +0 -0
  799. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_startup_dashboard.py +0 -0
  800. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_startup_keeps_cloud_model.py +0 -0
  801. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_startup_latency.py +0 -0
  802. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_status_language.py +0 -0
  803. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_streaming_pipeline.py +0 -0
  804. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_stripe_agent.py +0 -0
  805. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_subagent.py +0 -0
  806. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_subagent_workspace.py +0 -0
  807. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_supervisor_routing.py +0 -0
  808. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_symbol_edit.py +0 -0
  809. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_system_prompts.py +0 -0
  810. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_system_tools_output.py +0 -0
  811. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_task_isolation_turn.py +0 -0
  812. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_task_orchestrator.py +0 -0
  813. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_task_restore_startup.py +0 -0
  814. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_task_worktree.py +0 -0
  815. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_team_analysts.py +0 -0
  816. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_team_synthesis.py +0 -0
  817. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_terminal_mixins.py +0 -0
  818. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_terminal_snapshots.py +0 -0
  819. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tls_trust_store.py +0 -0
  820. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tool_policy.py +0 -0
  821. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tool_rounds_on_openai_apis.py +0 -0
  822. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tool_scope.py +0 -0
  823. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tool_step_output.py +0 -0
  824. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_trading_service.py +0 -0
  825. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tradingview_bridge.py +0 -0
  826. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_training_pipeline.py +0 -0
  827. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_transactions.py +0 -0
  828. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_transactions_turn.py +0 -0
  829. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_turn_planning.py +0 -0
  830. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_completer_references.py +0 -0
  831. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_console_theme.py +0 -0
  832. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_input_box.py +0 -0
  833. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_language_and_model.py +0 -0
  834. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_robot_banner.py +0 -0
  835. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_update_health_routes.py +0 -0
  836. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_verification_hint.py +0 -0
  837. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_verification_policy.py +0 -0
  838. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_verification_runner_selection.py +0 -0
  839. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_version_consistency.py +0 -0
  840. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_version_counter.py +0 -0
  841. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vertex_busy_retry.py +0 -0
  842. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vertex_empty_rounds.py +0 -0
  843. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vertex_models.py +0 -0
  844. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vertexai_tool_history.py +0 -0
  845. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_video_analysis.py +0 -0
  846. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_video_editor.py +0 -0
  847. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vscode_mcp.py +0 -0
  848. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_warehouse_agents.py +0 -0
  849. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_warehouse_cli_registration.py +0 -0
  850. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_warehouse_erp_client.py +0 -0
  851. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_warehouse_workflow.py +0 -0
  852. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_wheel_is_installable.py +0 -0
  853. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workflows.py +0 -0
  854. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_changes.py +0 -0
  855. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_context.py +0 -0
  856. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_files.py +0 -0
  857. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_scope.py +0 -0
  858. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_service.py +0 -0
  859. {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_verify.py +0 -0
  860. {aria_code-0.131.0 → aria_code-0.133.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.131.0
3
+ Version: 0.133.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
@@ -172,7 +172,7 @@ Numbers you can check, client data kept apart, actions a person approves.</p>
172
172
  <p align="center">
173
173
  <a href="https://www.npmjs.com/package/@artheras/aria-code"><img src="https://img.shields.io/npm/v/@artheras/aria-code/latest?style=flat-square&logo=npm&label=npm" alt="npm version"></a>
174
174
  <!-- Release automation pins PyPI: the default endpoint still selects legacy 4.x. -->
175
- <a href="https://pypi.org/project/aria-code/0.131.0/"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpypi.org%2Fpypi%2Faria-code%2F0.131.0%2Fjson&amp;query=%24.info.version&amp;prefix=v&amp;style=flat-square&amp;logo=pypi&amp;label=PyPI&amp;color=blue&amp;cacheSeconds=300" alt="PyPI version"></a>
175
+ <a href="https://pypi.org/project/aria-code/0.133.0/"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpypi.org%2Fpypi%2Faria-code%2F0.133.0%2Fjson&amp;query=%24.info.version&amp;prefix=v&amp;style=flat-square&amp;logo=pypi&amp;label=PyPI&amp;color=blue&amp;cacheSeconds=300" alt="PyPI version"></a>
176
176
  <a href="https://github.com/artheras/aria-code/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/artheras/aria-code/ci.yml?branch=main&style=flat-square&logo=githubactions&label=CI" alt="CI status"></a>
177
177
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-64748b?style=flat-square" alt="Apache License 2.0"></a>
178
178
  </p>
@@ -15,7 +15,7 @@ Numbers you can check, client data kept apart, actions a person approves.</p>
15
15
  <p align="center">
16
16
  <a href="https://www.npmjs.com/package/@artheras/aria-code"><img src="https://img.shields.io/npm/v/@artheras/aria-code/latest?style=flat-square&logo=npm&label=npm" alt="npm version"></a>
17
17
  <!-- Release automation pins PyPI: the default endpoint still selects legacy 4.x. -->
18
- <a href="https://pypi.org/project/aria-code/0.131.0/"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpypi.org%2Fpypi%2Faria-code%2F0.131.0%2Fjson&amp;query=%24.info.version&amp;prefix=v&amp;style=flat-square&amp;logo=pypi&amp;label=PyPI&amp;color=blue&amp;cacheSeconds=300" alt="PyPI version"></a>
18
+ <a href="https://pypi.org/project/aria-code/0.133.0/"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpypi.org%2Fpypi%2Faria-code%2F0.133.0%2Fjson&amp;query=%24.info.version&amp;prefix=v&amp;style=flat-square&amp;logo=pypi&amp;label=PyPI&amp;color=blue&amp;cacheSeconds=300" alt="PyPI version"></a>
19
19
  <a href="https://github.com/artheras/aria-code/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/artheras/aria-code/ci.yml?branch=main&style=flat-square&logo=githubactions&label=CI" alt="CI status"></a>
20
20
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-64748b?style=flat-square" alt="Apache License 2.0"></a>
21
21
  </p>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "aria-code"
7
- version = "0.131.0"
7
+ version = "0.133.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.131.0"
20
+ __version__ = "0.133.0"
@@ -225,6 +225,10 @@ def _may_send(client_id: str, request: dict) -> str:
225
225
  else:
226
226
  return "op must be reply or send"
227
227
  now = time.time()
228
+ # Forget clients with no send in the last minute, so the table holds only
229
+ # recent senders rather than every client that ever sent.
230
+ for idle in [cid for cid, times in _send_times.items() if not times or times[-1] <= now - 60]:
231
+ _send_times.pop(idle, None)
228
232
  recent = [t for t in _send_times.get(client_id, []) if t > now - 60]
229
233
  if len(recent) >= _SEND_LIMIT:
230
234
  return "rate limit"
@@ -1136,6 +1136,43 @@ TEXT_TOOL_CALL_DIRECTIVE = (
1136
1136
  _CODE_SPAN = re.compile(r"```.*?(?:```|\Z)|`[^`\n]*`", re.DOTALL)
1137
1137
 
1138
1138
 
1139
+ _MAX_PROMPT_ECHO_RETRIES = 1
1140
+
1141
+ # A reply after a tool round that is an instruction to the assistant rather
1142
+ # than an answer to the user: the model continued our follow-up message (the
1143
+ # reply even starts with the space that would separate the two) instead of
1144
+ # acting on it. Seen on Gemini: " Do not stop until all necessary actions have
1145
+ # been performed." ended a turn as its final answer with nothing changed.
1146
+ _PROMPT_ECHO_MAX_CHARS = 240
1147
+ _PROMPT_ECHO = re.compile(
1148
+ r"^(?:do not stop|don't stop|if you are (?:finished|done)|if the task is"
1149
+ r"|continue (?:using|with|the task)|use (?:the )?tools|you (?:must|should) (?:continue|now)"
1150
+ r"|make sure (?:to|you)|remember to)\b"
1151
+ r"|\b(?:necessary actions|your final (?:response|answer)|describe your findings"
1152
+ r"|continue using tools|\d+-\d+ sentences)\b",
1153
+ re.IGNORECASE,
1154
+ )
1155
+
1156
+ PROMPT_ECHO_DIRECTIVE = (
1157
+ "Your last reply was an instruction, not an answer: it reads like a "
1158
+ "continuation of the prompt, and the task is not finished. Carry on with "
1159
+ "the user's request — call the tools you need. When the work is actually "
1160
+ "done, reply with what you changed and how you checked it."
1161
+ )
1162
+
1163
+
1164
+ def looks_like_prompt_echo(text: str) -> bool:
1165
+ """True when a short final reply is an instruction aimed at the assistant.
1166
+
1167
+ Only short, single-paragraph replies qualify: a real answer that happens
1168
+ to say "make sure to run the tests" is longer, or follows a summary.
1169
+ """
1170
+ stripped = (text or "").strip()
1171
+ if not stripped or len(stripped) > _PROMPT_ECHO_MAX_CHARS or "\n\n" in stripped:
1172
+ return False
1173
+ return bool(_PROMPT_ECHO.search(_CODE_SPAN.sub("", stripped)))
1174
+
1175
+
1139
1176
  def looks_like_text_tool_calls(text: str) -> bool:
1140
1177
  """True when a reply with no real tool calls contains written-out ones.
1141
1178
 
@@ -1452,6 +1489,7 @@ async def run_agent(
1452
1489
  grounded_results = 1 if opts.evidence_already_grounded else 0
1453
1490
  stop_reason = "max_rounds"
1454
1491
  text_tool_call_retries = 0
1492
+ prompt_echo_retries = 0
1455
1493
 
1456
1494
  for round_num in range(opts.max_rounds):
1457
1495
  # ── 预算闸门 ─────────────────────────────────────────────────────────
@@ -1562,6 +1600,34 @@ async def run_agent(
1562
1600
  current_message = TEXT_TOOL_CALL_DIRECTIVE
1563
1601
  turn_state.reset_response()
1564
1602
  continue
1603
+ if (not pending and round_num > 0
1604
+ and looks_like_prompt_echo(result.get("response") or response_text)):
1605
+ # After a tool round the model "answered" by continuing our own
1606
+ # follow-up instead of acting on it. Accepting that ended tasks
1607
+ # as completed with nothing changed. One more round, then incomplete.
1608
+ prompt_echo_retries += 1
1609
+ if prompt_echo_retries > _MAX_PROMPT_ECHO_RETRIES:
1610
+ stop_reason = "prompt_echo"
1611
+ yield AgentEventStatus(
1612
+ state=stop_reason,
1613
+ message="Model replied with an instruction instead of an answer; task remains incomplete",
1614
+ )
1615
+ turn_state.append_response(
1616
+ "\n\nThe model replied with an instruction instead of an answer "
1617
+ "and did not continue the task."
1618
+ )
1619
+ break
1620
+ yield AgentEventStatus(
1621
+ state="prompt_echo",
1622
+ message="Model replied with an instruction instead of an answer; asking it to continue",
1623
+ )
1624
+ history = list(history) + [
1625
+ {"role": "user", "content": current_message},
1626
+ {"role": "assistant", "content": turn_state.total_response},
1627
+ ]
1628
+ current_message = PROMPT_ECHO_DIRECTIVE
1629
+ turn_state.reset_response()
1630
+ continue
1565
1631
  if not pending:
1566
1632
  # ── 验收闸门 ─────────────────────────────────────────────────────
1567
1633
  # 模型不再要工具 = 它认为做完了。这是唯一一个「宣称完成」的出口,
@@ -7,14 +7,18 @@ the failed command once more on the code as it was before the change and
7
7
  compares:
8
8
 
9
9
  * pytest: by test id (``FAILED tests/x.py::test_y``). Failures that also
10
- fail on the baseline are pre-existing; the rest are the change's.
10
+ fail on the baseline are pre-existing; the rest are the change's. The
11
+ baseline run continues past collection errors (see ``_keep_collecting``).
11
12
  * anything else: by exit status. A command that fails on the baseline too
12
13
  is pre-existing as a whole.
13
14
 
14
15
  "Before the change" is the task's starting snapshot when the turn runs in a
15
16
  task worktree. Otherwise it is the working tree now with this turn's edits
16
17
  undone from their checkpoints — edits a shell command made are not
17
- recorded, so they are in the baseline too.
18
+ recorded, so they are in the baseline too. Outside a git repository the
19
+ working tree is copied instead of checked out, when it is small enough
20
+ (``_COPY_MAX_FILES``/``_COPY_MAX_BYTES``); without a baseline every failure
21
+ counts as the change's, and the model is sent to "fix" unrelated code.
18
22
 
19
23
  It runs only after a failure, in a scratch worktree removed straight after,
20
24
  and each command at most once per turn.
@@ -24,7 +28,9 @@ from __future__ import annotations
24
28
 
25
29
  import inspect
26
30
  import logging
31
+ import os
27
32
  import re
33
+ import shutil
28
34
  import uuid
29
35
  from dataclasses import dataclass
30
36
  from pathlib import Path
@@ -36,6 +42,15 @@ logger = logging.getLogger(__name__)
36
42
 
37
43
  _PYTEST_FAILURE = re.compile(r"^(?:FAILED|ERROR)\s+(\S+?)(?:\s+-\s|$)", re.MULTILINE)
38
44
 
45
+ # A workspace outside git is copied for its baseline only up to this size; a
46
+ # turn started in a home directory must not copy the home directory.
47
+ _COPY_MAX_FILES = 5_000
48
+ _COPY_MAX_BYTES = 100 * 1024 * 1024
49
+ _COPY_SKIPPED = frozenset({
50
+ ".git", ".hg", ".svn", "node_modules", ".venv", "venv", "__pycache__",
51
+ ".mypy_cache", ".pytest_cache", ".ruff_cache", ".tox", ".nox",
52
+ })
53
+
39
54
  # ``(command, cwd) -> run result dict``, as the acceptance gate's runner returns.
40
55
  BaselineRunner = Callable[[str, str], Union[dict, Awaitable[dict]]]
41
56
 
@@ -69,6 +84,23 @@ def compare(after_output: str, after_failed: bool, before: Optional[tuple[int, s
69
84
  return Comparison(preexisting=True, note="failing before this change")
70
85
 
71
86
 
87
+ _PYTEST_COMMAND = re.compile(r"(?:^|[\s/])(?:py\.test|pytest)(?:\s|$)")
88
+
89
+
90
+ def _keep_collecting(command: str) -> str:
91
+ """Let a pytest baseline run past collection errors.
92
+
93
+ Before the change a test file often cannot even be imported — it tests the
94
+ function the task is about to add — and pytest then stops at collection,
95
+ running nothing else. A test that was already red elsewhere is missing from
96
+ that baseline, so after the change it would look new and be "repaired".
97
+ """
98
+ if (not _PYTEST_COMMAND.search(command) or "--continue-on-collection-errors" in command
99
+ or re.search(r"[|;&<>`$]", command)):
100
+ return command
101
+ return f"{command} --continue-on-collection-errors"
102
+
103
+
72
104
  class Baseline:
73
105
  def __init__(
74
106
  self,
@@ -92,7 +124,7 @@ class Baseline:
92
124
  """``(exit_code, output)`` of ``command`` before the change; None if unknown."""
93
125
  if command not in self._results:
94
126
  try:
95
- self._results[command] = await self._run(command)
127
+ self._results[command] = await self._run(_keep_collecting(command))
96
128
  except Exception as exc:
97
129
  logger.debug("baseline run failed: %s", exc)
98
130
  self._results[command] = None
@@ -100,10 +132,19 @@ class Baseline:
100
132
 
101
133
  async def _run(self, command: str) -> Optional[tuple[int, str]]:
102
134
  repo = repository_root(self.workspace)
135
+ destination = (self.scratch_root / f"baseline-{uuid.uuid4().hex[:8]}").resolve()
103
136
  if repo is None:
104
- return None
137
+ if self.base_commit or not self._copy(destination):
138
+ return None
139
+ try:
140
+ self._undo_turn(self.workspace, destination)
141
+ raw = self.run(command, str(destination))
142
+ if inspect.isawaitable(raw):
143
+ raw = await raw
144
+ finally:
145
+ shutil.rmtree(destination, ignore_errors=True)
146
+ return self._result(raw)
105
147
  commit = self.base_commit or snapshot(repo)[0]
106
- destination = (self.scratch_root / f"baseline-{uuid.uuid4().hex[:8]}").resolve()
107
148
  linked = checkout(repo, commit, destination)
108
149
  try:
109
150
  if not self.base_commit:
@@ -116,11 +157,42 @@ class Baseline:
116
157
  raw = await raw
117
158
  finally:
118
159
  remove_checkout(repo, destination, linked)
160
+ return self._result(raw)
161
+
162
+ @staticmethod
163
+ def _result(raw: Any) -> tuple[int, str]:
119
164
  from .acceptance import _read_run_result
120
165
 
121
166
  code, output, error = _read_run_result(raw)
122
167
  return (code if not error else 1, output)
123
168
 
169
+ def _copy(self, destination: Path) -> bool:
170
+ """Copy the workspace to ``destination``; False (and nothing left) when too big."""
171
+ files: list[tuple[Path, Path]] = []
172
+ total = 0
173
+ for directory, dirnames, filenames in os.walk(self.workspace):
174
+ dirnames[:] = [name for name in dirnames if name not in _COPY_SKIPPED]
175
+ for name in filenames:
176
+ source = Path(directory) / name
177
+ if source.is_symlink():
178
+ pass # copied as a link: it may point outside the workspace
179
+ elif source.is_file():
180
+ total += source.stat().st_size
181
+ else:
182
+ continue
183
+ files.append((source, destination / source.relative_to(self.workspace)))
184
+ if len(files) > _COPY_MAX_FILES or total > _COPY_MAX_BYTES:
185
+ return False
186
+ try:
187
+ for source, target in files:
188
+ target.parent.mkdir(parents=True, exist_ok=True)
189
+ shutil.copy2(source, target, follow_symlinks=False)
190
+ except OSError:
191
+ shutil.rmtree(destination, ignore_errors=True)
192
+ raise
193
+ destination.mkdir(parents=True, exist_ok=True)
194
+ return True
195
+
124
196
  def _undo_turn(self, repo: Path, destination: Path) -> None:
125
197
  """Put back what this turn's checkpointed edits replaced."""
126
198
  if self.undo_since is None:
@@ -357,6 +357,7 @@ class DeliveryLedger:
357
357
  "loop_guard": "Stopped repeating a failing call — look at the error above",
358
358
  "checks_failed": "Fix the failing checks",
359
359
  "text_tool_calls": "The model wrote tool calls as text — retry the turn",
360
+ "prompt_echo": "The model stopped without an answer — retry the turn",
360
361
  }.get(stop_reason, f"Stopped: {stop_reason}")
361
362
  elif verified is False and checks and all(c["passed"] or c.get("preexisting") for c in checks):
362
363
  # Red only where it was red before this change (runtime/baseline.py).
@@ -356,7 +356,7 @@ def _pick(candidates: Sequence[str], importer: str) -> Optional[str]:
356
356
 
357
357
  def _python_imports(root: Path, path: str, modules: dict) -> list[str]:
358
358
  try:
359
- tree = ast.parse((root / path).read_text(encoding="utf-8", errors="replace"))
359
+ tree = ast.parse((root / path).read_text(encoding="utf-8-sig", errors="replace"))
360
360
  except (SyntaxError, ValueError, OSError, RecursionError):
361
361
  return []
362
362
  package = list(Path(path).parent.parts)
@@ -386,7 +386,7 @@ def _python_imports(root: Path, path: str, modules: dict) -> list[str]:
386
386
 
387
387
  def _js_imports(root: Path, path: str, files) -> list[str]:
388
388
  try:
389
- source = (root / path).read_text(encoding="utf-8", errors="replace")
389
+ source = (root / path).read_text(encoding="utf-8-sig", errors="replace")
390
390
  except OSError:
391
391
  return []
392
392
  found = []
@@ -399,7 +399,7 @@ class RepoMap:
399
399
  symbols = [Symbol(name=n, kind=k, line=line, parent=p) for n, k, line, p in parsed[rel]]
400
400
  else:
401
401
  try:
402
- source = path.read_text(encoding="utf-8", errors="replace")
402
+ source = path.read_text(encoding="utf-8-sig", errors="replace")
403
403
  except (OSError, UnicodeError):
404
404
  continue
405
405
  symbols = extract_symbols(source, language)
@@ -428,7 +428,7 @@ class RepoMap:
428
428
  for entry in self.files.values():
429
429
  path = self.root / entry.path
430
430
  try:
431
- source = path.read_text(encoding="utf-8", errors="replace")
431
+ source = path.read_text(encoding="utf-8-sig", errors="replace")
432
432
  except (OSError, UnicodeError):
433
433
  continue
434
434
  own = {symbol.name for symbol in entry.symbols}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aria-code
3
- Version: 0.131.0
3
+ Version: 0.133.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
@@ -172,7 +172,7 @@ Numbers you can check, client data kept apart, actions a person approves.</p>
172
172
  <p align="center">
173
173
  <a href="https://www.npmjs.com/package/@artheras/aria-code"><img src="https://img.shields.io/npm/v/@artheras/aria-code/latest?style=flat-square&logo=npm&label=npm" alt="npm version"></a>
174
174
  <!-- Release automation pins PyPI: the default endpoint still selects legacy 4.x. -->
175
- <a href="https://pypi.org/project/aria-code/0.131.0/"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpypi.org%2Fpypi%2Faria-code%2F0.131.0%2Fjson&amp;query=%24.info.version&amp;prefix=v&amp;style=flat-square&amp;logo=pypi&amp;label=PyPI&amp;color=blue&amp;cacheSeconds=300" alt="PyPI version"></a>
175
+ <a href="https://pypi.org/project/aria-code/0.133.0/"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fpypi.org%2Fpypi%2Faria-code%2F0.133.0%2Fjson&amp;query=%24.info.version&amp;prefix=v&amp;style=flat-square&amp;logo=pypi&amp;label=PyPI&amp;color=blue&amp;cacheSeconds=300" alt="PyPI version"></a>
176
176
  <a href="https://github.com/artheras/aria-code/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/artheras/aria-code/ci.yml?branch=main&style=flat-square&logo=githubactions&label=CI" alt="CI status"></a>
177
177
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-64748b?style=flat-square" alt="Apache License 2.0"></a>
178
178
  </p>
@@ -122,3 +122,64 @@ def test_a_task_worktree_is_compared_with_its_starting_snapshot(repo, tmp_path):
122
122
 
123
123
  assert report.failures[0].new_failures == ("test_calc.py::test_add",)
124
124
  assert verdict_from_acceptance(gate.summary(), "") == FAILED
125
+
126
+
127
+ @pytest.fixture
128
+ def plain(tmp_path):
129
+ """The eval's fixture: no git, one test red before the task and unrelated to it."""
130
+ work = tmp_path / "plain"
131
+ work.mkdir()
132
+ (work / "legacy.py").write_text("def legacy_rate():\n return 0.15\n")
133
+ (work / "text.py").write_text("def shout(text):\n return text.upper()\n")
134
+ (work / "test_legacy.py").write_text(
135
+ "from legacy import legacy_rate\n\ndef test_legacy_rate():\n assert legacy_rate() == 0.2\n")
136
+ (work / "test_text.py").write_text(
137
+ "from text import slugify\n\ndef test_slugify():\n assert slugify('A b') == 'a-b'\n")
138
+ return work
139
+
140
+
141
+ def test_outside_git_the_workspace_is_copied_for_the_baseline(plain, tmp_path):
142
+ baseline = Baseline(plain, run=run_in, undo_since=CheckpointStore().max_sequence(),
143
+ session_id="s", scratch_root=tmp_path / "scratch")
144
+ edit(plain / "text.py", "def shout(text):\n return text.upper()\n\n"
145
+ "def slugify(text):\n return '-'.join(text.lower().split())\n")
146
+ gate = gate_for(plain, baseline)
147
+ gate.record_tool("write_file", {"success": True, "path": str(plain / "text.py")})
148
+
149
+ report = asyncio.run(gate.run())
150
+
151
+ assert not report.passed and not report.regressed # only test_legacy, red before too
152
+ assert report.failures[0].old_failures == ("test_legacy.py::test_legacy_rate",)
153
+ assert list((tmp_path / "scratch").iterdir()) == [] # the copy is removed
154
+
155
+
156
+ def test_outside_git_a_new_failure_still_counts(plain, tmp_path):
157
+ baseline = Baseline(plain, run=run_in, undo_since=CheckpointStore().max_sequence(),
158
+ session_id="s", scratch_root=tmp_path / "scratch")
159
+ edit(plain / "text.py", "def slugify(text):\n return text\n")
160
+ gate = gate_for(plain, baseline)
161
+ gate.record_tool("write_file", {"success": True, "path": str(plain / "text.py")})
162
+
163
+ report = asyncio.run(gate.run())
164
+
165
+ assert report.regressed
166
+ assert "test_text.py::test_slugify" in report.failures[0].new_failures
167
+
168
+
169
+ def test_a_large_workspace_outside_git_gets_no_baseline(plain, tmp_path, monkeypatch):
170
+ from aria_code.runtime import baseline as module
171
+
172
+ monkeypatch.setattr(module, "_COPY_MAX_FILES", 2)
173
+ baseline = Baseline(plain, run=run_in, scratch_root=tmp_path / "scratch")
174
+ assert asyncio.run(baseline.result(PYTEST)) is None
175
+ assert not (tmp_path / "scratch").exists() or list((tmp_path / "scratch").iterdir()) == []
176
+
177
+
178
+ def test_a_pytest_baseline_runs_past_collection_errors():
179
+ from aria_code.runtime.baseline import _keep_collecting
180
+
181
+ assert _keep_collecting("python -m pytest -q").endswith("--continue-on-collection-errors")
182
+ assert _keep_collecting("/venv/bin/pytest tests/x.py").endswith("--continue-on-collection-errors")
183
+ for unchanged in ("npm test", "pytest -q | tail -5", "make test",
184
+ "pytest --continue-on-collection-errors"):
185
+ assert _keep_collecting(unchanged) == unchanged
@@ -110,7 +110,8 @@ def test_edge_cases_resolve_the_same_way(tmp_path, monkeypatch):
110
110
  "app/services/billing.py", "app/util.py", "app/compat.py", "app/cases.py"})
111
111
  assert python["lib/user.py"] == ["lib/util.py"]
112
112
  assert python["other/user.py"] == []
113
- assert python["bom.py"] == [] and python["broken.py"] == []
113
+ # A byte-order mark is dropped when reading (utf-8-sig), as Python itself does for files.
114
+ assert python["bom.py"] == ["app/models.py"] and python["broken.py"] == []
114
115
  assert python["web/index.ts"] == ["shared/c.js", "web/a.tsx", "web/lazy.mjs", "web/lib/index.js"]
115
116
 
116
117
 
@@ -217,7 +218,7 @@ def test_definitions_are_extracted_the_same_way(tmp_path, monkeypatch):
217
218
  assert native == python
218
219
  assert list(native) == list(python) # walk order is kept
219
220
  assert python["crlf.py"] == [("Windows", "class", 1, ""), ("line", "def", 2, "Windows"), ("LATER", "const", 5, "")]
220
- assert python["bom.py"] == [] and python["broken.py"] == []
221
+ assert python["bom.py"] == [("bom", "def", 1, "")] and python["broken.py"] == []
221
222
  assert ("run", "async def", 16, "") in python["mod.py"] # the def line, not the decorator
222
223
  assert ("check", "def", 23, "Gate") in python["mod.py"]
223
224
 
@@ -209,3 +209,13 @@ class TestTenantToken:
209
209
  def relay_module():
210
210
  import aria_relay_server
211
211
  return aria_relay_server
212
+
213
+
214
+ class TestSendRecords:
215
+ def test_clients_idle_for_a_minute_are_forgotten(self, relay):
216
+ relay._remember_forward("aria-a", "om_1", "")
217
+ relay._send_times["aria-gone"] = [time.time() - 120]
218
+ relay._send_times["aria-recent"] = [time.time() - 5]
219
+ assert relay._may_send("aria-a", {"op": "reply", "target": "om_1", "msg_type": "text",
220
+ "content": "{}"}) == ""
221
+ assert set(relay._send_times) == {"aria-a", "aria-recent"}
@@ -927,6 +927,101 @@ class MultiEditTests(unittest.TestCase):
927
927
  self.assertTrue(r.get("warning"))
928
928
 
929
929
 
930
+ class PromptEchoTests(unittest.TestCase):
931
+ """A reply that continues our follow-up instead of answering must not end the task."""
932
+
933
+ def _run(self, provider_fn, tools):
934
+ async def collect():
935
+ return [
936
+ event
937
+ async for event in run_agent(
938
+ "fix the failing test",
939
+ [],
940
+ provider_fn=provider_fn,
941
+ tool_executor=ToolExecutor(tools),
942
+ options=AgentOptions(max_rounds=6),
943
+ )
944
+ ]
945
+
946
+ return asyncio.run(collect())
947
+
948
+ @staticmethod
949
+ def _tools(ran):
950
+ def read_file(params):
951
+ ran.append(params["path"])
952
+ return {"success": True, "content": "x"}
953
+
954
+ return {"read_file": (read_file, "Read")}
955
+
956
+ @staticmethod
957
+ def _call(path):
958
+ return {"success": True, "response": "", "provider": "fake",
959
+ "tool_calls_pending": [{"tool": "read_file", "params": {"path": path}}]}
960
+
961
+ def test_detects_instructions_but_not_answers(self):
962
+ from aria_code.runtime.agent_loop import looks_like_prompt_echo
963
+
964
+ # Both replies ended real eval tasks as "completed" with nothing changed.
965
+ self.assertTrue(looks_like_prompt_echo(" Do not stop until all necessary actions have been performed."))
966
+ self.assertTrue(looks_like_prompt_echo(" If you are finished, describe your findings in 1-4 sentences."))
967
+ self.assertFalse(looks_like_prompt_echo("Fixed the off-by-one in slug.py; all 5 tests pass."))
968
+ self.assertFalse(looks_like_prompt_echo("Done. Make sure the cache directory is writable before deploying."))
969
+ self.assertFalse(looks_like_prompt_echo(
970
+ "Changed `risk.py` to annualise the ratio.\n\nMake sure to rerun the backtest; "
971
+ "if you are finished reviewing, it can be merged."))
972
+ self.assertFalse(looks_like_prompt_echo(""))
973
+
974
+ def test_an_echo_gets_one_more_round(self):
975
+ messages, ran = [], []
976
+
977
+ async def provider_fn(message, history, **kwargs):
978
+ messages.append(message)
979
+ if len(messages) == 1:
980
+ return self._call("a.py")
981
+ if len(messages) == 2:
982
+ return {"success": True, "provider": "fake",
983
+ "response": " Do not stop until all necessary actions have been performed."}
984
+ if len(messages) == 3:
985
+ return self._call("b.py")
986
+ return {"success": True, "response": "Fixed it; tests pass.", "provider": "fake"}
987
+
988
+ events = self._run(provider_fn, self._tools(ran))
989
+
990
+ self.assertTrue(any(isinstance(e, AgentEventStatus) and e.state == "prompt_echo" for e in events))
991
+ self.assertIn("not an answer", messages[2])
992
+ self.assertEqual([os.path.basename(p) for p in ran], ["a.py", "b.py"])
993
+ result = events[-1].result
994
+ self.assertTrue(result.success)
995
+ self.assertEqual(result.final_text, "Fixed it; tests pass.")
996
+
997
+ def test_a_persistent_echo_ends_the_turn_incomplete(self):
998
+ calls = []
999
+
1000
+ async def provider_fn(message, history, **kwargs):
1001
+ calls.append(message)
1002
+ if len(calls) == 1:
1003
+ return self._call("a.py")
1004
+ return {"success": True, "provider": "fake",
1005
+ "response": " If you are finished, describe your findings in 1-4 sentences."}
1006
+
1007
+ events = self._run(provider_fn, self._tools([]))
1008
+
1009
+ result = events[-1].result
1010
+ self.assertFalse(result.success)
1011
+ self.assertEqual(result.stop_reason, "prompt_echo")
1012
+ self.assertEqual(len(calls), 3)
1013
+
1014
+ def test_a_short_first_reply_is_left_alone(self):
1015
+ # No tool round yet: there is no follow-up of ours to have continued.
1016
+ async def provider_fn(message, history, **kwargs):
1017
+ return {"success": True, "provider": "fake",
1018
+ "response": "Make sure to run it with Python 3.11."}
1019
+
1020
+ events = self._run(provider_fn, {})
1021
+
1022
+ self.assertTrue(events[-1].result.success)
1023
+
1024
+
930
1025
  class TextToolCallTests(unittest.TestCase):
931
1026
  """A reply that writes tool calls as text ran nothing and must not end the task."""
932
1027
 
File without changes
File without changes
File without changes