aria-code 0.56.0__tar.gz → 0.57.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 (703) hide show
  1. {aria_code-0.56.0 → aria_code-0.57.0}/PKG-INFO +9 -8
  2. {aria_code-0.56.0 → aria_code-0.57.0}/README.md +4 -4
  3. {aria_code-0.56.0 → aria_code-0.57.0}/pyproject.toml +15 -7
  4. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/_version.py +1 -1
  5. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/core_cmds.py +1 -1
  6. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/diagnostic_ops_cmds.py +1 -1
  7. aria_code-0.57.0/src/aria_code/apps/cli/commands/warehouse_cmds.py +208 -0
  8. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/github_app_auth.py +2 -2
  9. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/system_tools.py +2 -2
  10. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_cli.py +13 -3
  11. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/doctor.py +35 -3
  12. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/logistics/__init__.py +2 -0
  13. aria_code-0.57.0/src/aria_code/tools/logistics_carriers.py +248 -0
  14. aria_code-0.57.0/src/aria_code/tools/logistics_inventory.py +242 -0
  15. aria_code-0.57.0/src/aria_code/tools/logistics_io.py +113 -0
  16. aria_code-0.57.0/src/aria_code/tools/logistics_tenancy.py +114 -0
  17. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/logistics_tools.py +22 -3
  18. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/PKG-INFO +9 -8
  19. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/SOURCES.txt +7 -0
  20. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/requires.txt +1 -0
  21. aria_code-0.57.0/tests/test_first_run_works.py +171 -0
  22. aria_code-0.57.0/tests/test_logistics_3pl.py +425 -0
  23. aria_code-0.57.0/tests/test_release_commit_identity.py +70 -0
  24. aria_code-0.56.0/src/aria_code/apps/cli/commands/warehouse_cmds.py +0 -79
  25. {aria_code-0.56.0 → aria_code-0.57.0}/LICENSE +0 -0
  26. {aria_code-0.56.0 → aria_code-0.57.0}/NOTICE +0 -0
  27. {aria_code-0.56.0 → aria_code-0.57.0}/setup.cfg +0 -0
  28. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/__init__.py +0 -0
  29. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/__init__.py +0 -0
  30. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/aria_code_review/__init__.py +0 -0
  31. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/aria_code_review/agent.py +0 -0
  32. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/aria_research/__init__.py +0 -0
  33. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/aria_research/agent.py +0 -0
  34. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/__init__.py +0 -0
  35. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/base.py +0 -0
  36. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/code_review.py +0 -0
  37. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/__init__.py +0 -0
  38. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/calibration_loop.py +0 -0
  39. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/critic.py +0 -0
  40. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/deepen.py +0 -0
  41. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/models.py +0 -0
  42. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/pipeline.py +0 -0
  43. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/quant_fusion.py +0 -0
  44. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/themes.py +0 -0
  45. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/tiers.py +0 -0
  46. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/engineering/__init__.py +0 -0
  47. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/engineering/coder.py +0 -0
  48. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/engineering/tester.py +0 -0
  49. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/__init__.py +0 -0
  50. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/cashflow_burn.py +0 -0
  51. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/catalyst.py +0 -0
  52. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/corporate_finance.py +0 -0
  53. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/debate.py +0 -0
  54. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/earnings.py +0 -0
  55. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/fundamental.py +0 -0
  56. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/macro.py +0 -0
  57. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/news.py +0 -0
  58. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/risk.py +0 -0
  59. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/sector.py +0 -0
  60. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/strategist.py +0 -0
  61. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/stripe_revenue.py +0 -0
  62. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/synthesis.py +0 -0
  63. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/technical.py +0 -0
  64. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/orchestrator.py +0 -0
  65. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/portfolio_agent.py +0 -0
  66. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/__init__.py +0 -0
  67. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/asset_diagnosis.py +0 -0
  68. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/business_match.py +0 -0
  69. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/cashflow_verify.py +0 -0
  70. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/contract_rules.py +0 -0
  71. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/energy_anomaly.py +0 -0
  72. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/exit_settlement.py +0 -0
  73. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/fulfillment_risk.py +0 -0
  74. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/ops_optimize.py +0 -0
  75. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/revenue_share.py +0 -0
  76. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/registry.py +0 -0
  77. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/signal_scheme.py +0 -0
  78. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/sports/__init__.py +0 -0
  79. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/sports/football_agent.py +0 -0
  80. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/supervisor.py +0 -0
  81. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/team.py +0 -0
  82. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/__init__.py +0 -0
  83. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/contracts.py +0 -0
  84. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/dashboard.py +0 -0
  85. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/fulfillment_leadtime.py +0 -0
  86. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/inbound_exceptions.py +0 -0
  87. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/inventory_health.py +0 -0
  88. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/local_run.py +0 -0
  89. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/local_snapshot.py +0 -0
  90. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/logistics_cost.py +0 -0
  91. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/logistics_sync.py +0 -0
  92. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/workflow.py +0 -0
  93. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aliyun_data_client.py +0 -0
  94. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/README.md +0 -0
  95. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/__init__.py +0 -0
  96. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/README.md +0 -0
  97. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/__init__.py +0 -0
  98. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/intake.py +0 -0
  99. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/registry.py +0 -0
  100. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/tradingview.py +0 -0
  101. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/README.md +0 -0
  102. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/__init__.py +0 -0
  103. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/_optional.py +0 -0
  104. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/bootstrap.py +0 -0
  105. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/broker_render.py +0 -0
  106. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/codegen_paths.py +0 -0
  107. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/__init__.py +0 -0
  108. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/_business_render.py +0 -0
  109. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/_ui.py +0 -0
  110. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/analysis_cmds.py +0 -0
  111. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/ashare_prediction_cmds.py +0 -0
  112. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/auth_cmds.py +0 -0
  113. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/backtest_cmds.py +0 -0
  114. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/broker_cmds.py +0 -0
  115. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/business_workflow_cmds.py +0 -0
  116. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/canvas_cmds.py +0 -0
  117. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/catalog.py +0 -0
  118. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/data_cmds.py +0 -0
  119. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/diagnostic_cmds.py +0 -0
  120. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/file_cmds.py +0 -0
  121. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/finance_service_cmds.py +0 -0
  122. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/fx_commodity_cmds.py +0 -0
  123. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/market.py +0 -0
  124. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/market_cmds.py +0 -0
  125. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/market_context.py +0 -0
  126. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/market_render.py +0 -0
  127. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/model_cmds.py +0 -0
  128. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/ops_cmds.py +0 -0
  129. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/orchestrator_cmds.py +0 -0
  130. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/pdf_export_cmds.py +0 -0
  131. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/portfolio_cmds.py +0 -0
  132. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/report.py +0 -0
  133. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/scaffold_templates.py +0 -0
  134. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/session_cmds.py +0 -0
  135. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/session_ux_cmds.py +0 -0
  136. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/team.py +0 -0
  137. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/team_render.py +0 -0
  138. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/ui_cmds.py +0 -0
  139. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/workflow_cmds.py +0 -0
  140. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/workspace_cmds.py +0 -0
  141. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/config_paths.py +0 -0
  142. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/config_store.py +0 -0
  143. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/constants.py +0 -0
  144. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/context.py +0 -0
  145. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/deterministic.py +0 -0
  146. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/direct.py +0 -0
  147. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/finance_service_catalog.py +0 -0
  148. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/football_reports.py +0 -0
  149. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/google_login.py +0 -0
  150. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/__init__.py +0 -0
  151. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/broker_handlers.py +0 -0
  152. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/chart_handlers.py +0 -0
  153. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/market_handlers.py +0 -0
  154. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/realty_handlers.py +0 -0
  155. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/sports_handlers.py +0 -0
  156. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/strategy_advice.py +0 -0
  157. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/helpers.py +0 -0
  158. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/hooks.py +0 -0
  159. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/i18n.py +0 -0
  160. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/intent.py +0 -0
  161. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/intent_router.py +0 -0
  162. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/intent_signals.py +0 -0
  163. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/lifecycle_hooks.py +0 -0
  164. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/local_tool_schemas.py +0 -0
  165. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/main.py +0 -0
  166. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/market_metadata.py +0 -0
  167. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/market_universe.py +0 -0
  168. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/message_processing.py +0 -0
  169. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/model_catalog.py +0 -0
  170. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/pdf_report.py +0 -0
  171. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/plan_mode.py +0 -0
  172. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/plotly_html.py +0 -0
  173. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prediction_feedback.py +0 -0
  174. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/preflight.py +0 -0
  175. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/project_aria.py +0 -0
  176. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompt_assembly.py +0 -0
  177. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/__init__.py +0 -0
  178. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/coding.py +0 -0
  179. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/select.py +0 -0
  180. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/system_prompts.py +0 -0
  181. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/ui.py +0 -0
  182. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/provider_endpoints.py +0 -0
  183. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/provider_keys.py +0 -0
  184. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/__init__.py +0 -0
  185. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/base.py +0 -0
  186. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/chat_routing.py +0 -0
  187. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/collaboration.py +0 -0
  188. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/__init__.py +0 -0
  189. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/offline_responses.py +0 -0
  190. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/ollama_stream.py +0 -0
  191. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/response_cache.py +0 -0
  192. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/sse_stream.py +0 -0
  193. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/runtime_bridge.py +0 -0
  194. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/vertexai_stream.py +0 -0
  195. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/runtime_consumer.py +0 -0
  196. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/sandbox.py +0 -0
  197. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/session_export.py +0 -0
  198. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/session_jsonl.py +0 -0
  199. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/session_store.py +0 -0
  200. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/skills_catalog.py +0 -0
  201. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/todo_tracker.py +0 -0
  202. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tool_executor.py +0 -0
  203. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tool_registry.py +0 -0
  204. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tool_scope.py +0 -0
  205. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/__init__.py +0 -0
  206. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/context.py +0 -0
  207. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/file_tools.py +0 -0
  208. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/market_tools.py +0 -0
  209. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/notebook_tools.py +0 -0
  210. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/write_tools.py +0 -0
  211. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tradingview_bridge.py +0 -0
  212. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/turn_planning.py +0 -0
  213. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/update_check.py +0 -0
  214. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/utils/__init__.py +0 -0
  215. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/utils/market_detect.py +0 -0
  216. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/daemon/README.md +0 -0
  217. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/vscode/README.md +0 -0
  218. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/vscode/package.json +0 -0
  219. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_daemon.py +0 -0
  220. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_feishu_bot.py +0 -0
  221. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_mcp_server.py +0 -0
  222. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_relay_client.py +0 -0
  223. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_relay_server.py +0 -0
  224. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_telegram_bot.py +0 -0
  225. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ariarc.py +0 -0
  226. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/artifacts.py +0 -0
  227. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/backtest_engine.py +0 -0
  228. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/backtest_report.py +0 -0
  229. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/__init__.py +0 -0
  230. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/automation.py +0 -0
  231. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/base.py +0 -0
  232. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/capabilities.py +0 -0
  233. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/__init__.py +0 -0
  234. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/easytrader_broker.py +0 -0
  235. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/futu_broker.py +0 -0
  236. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/longbridge_broker.py +0 -0
  237. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/tiger_broker.py +0 -0
  238. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/xtquant_broker.py +0 -0
  239. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/config.py +0 -0
  240. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/__init__.py +0 -0
  241. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/alpaca_broker.py +0 -0
  242. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/ibkr_broker.py +0 -0
  243. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/trading212_broker.py +0 -0
  244. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/webull_broker.py +0 -0
  245. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/paper_broker.py +0 -0
  246. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/planning.py +0 -0
  247. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/registry.py +0 -0
  248. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/trading.py +0 -0
  249. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/canva_client.py +0 -0
  250. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/change_store.py +0 -0
  251. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/__init__.py +0 -0
  252. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/aliyun_data_client.py +0 -0
  253. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/aria_relay_client.py +0 -0
  254. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/canva_client.py +0 -0
  255. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/figma_client.py +0 -0
  256. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/football_data_client.py +0 -0
  257. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/kling_video_client.py +0 -0
  258. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/market_data_client.py +0 -0
  259. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/openai_image_client.py +0 -0
  260. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/runway_video_client.py +0 -0
  261. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/warehouse_erp_client.py +0 -0
  262. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/cloud_memory.py +0 -0
  263. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/command_safety.py +0 -0
  264. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/computer_use_tools.py +0 -0
  265. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/dashboard_generator.py +0 -0
  266. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/data_analysis_tools.py +0 -0
  267. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/data_cleaner.py +0 -0
  268. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/data_service.py +0 -0
  269. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/__init__.py +0 -0
  270. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/base.py +0 -0
  271. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/router.py +0 -0
  272. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/__init__.py +0 -0
  273. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/akshare_source.py +0 -0
  274. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/alpha_vantage_source.py +0 -0
  275. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/edgar_source.py +0 -0
  276. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/finnhub_source.py +0 -0
  277. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/fred_source.py +0 -0
  278. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/tushare_source.py +0 -0
  279. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/web_scraper_source.py +0 -0
  280. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/world_bank_source.py +0 -0
  281. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/yfinance_source.py +0 -0
  282. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/demo_player.py +0 -0
  283. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/__init__.py +0 -0
  284. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/backtest_engine.py +0 -0
  285. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/backtest_report.py +0 -0
  286. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/finance_formulas.py +0 -0
  287. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/portfolio_ledger.py +0 -0
  288. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/strategy_vault.py +0 -0
  289. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/evals/__init__.py +0 -0
  290. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/evals/harness.py +0 -0
  291. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/evals/runner.py +0 -0
  292. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/external_agent_runner.py +0 -0
  293. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/figma_client.py +0 -0
  294. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/file_analysis_tools.py +0 -0
  295. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/finance_formulas.py +0 -0
  296. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/football_data_client.py +0 -0
  297. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/image_gen_tools.py +0 -0
  298. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/intent_classifier.py +0 -0
  299. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/kling_video_client.py +0 -0
  300. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/licensing.py +0 -0
  301. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/local_finance_tools.py +0 -0
  302. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/local_image_provider.py +0 -0
  303. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/local_llm_provider.py +0 -0
  304. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/macro_tools.py +0 -0
  305. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/markdown_pdf.py +0 -0
  306. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/market_data_client.py +0 -0
  307. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/mcp_client.py +0 -0
  308. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/memory_manager.py +0 -0
  309. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/model_capability.py +0 -0
  310. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/notification_tools.py +0 -0
  311. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/openai_image_client.py +0 -0
  312. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/__init__.py +0 -0
  313. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/adk_bridge/__init__.py +0 -0
  314. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/adk_bridge/code_review_tools.py +0 -0
  315. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/adk_bridge/market_tools.py +0 -0
  316. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_agents/__init__.py +0 -0
  317. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_agents/manifest.py +0 -0
  318. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/__init__.py +0 -0
  319. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/architecture.py +0 -0
  320. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/export.py +0 -0
  321. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/manifest.py +0 -0
  322. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/paths.py +0 -0
  323. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/secure_file.py +0 -0
  324. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_infra/__init__.py +0 -0
  325. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_infra/arthera.py +0 -0
  326. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_infra/doctor.py +0 -0
  327. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_infra/product.py +0 -0
  328. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/__init__.py +0 -0
  329. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/bridge.py +0 -0
  330. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/circuit.py +0 -0
  331. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/config.py +0 -0
  332. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/installer.py +0 -0
  333. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/server.py +0 -0
  334. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/tools.py +0 -0
  335. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/__init__.py +0 -0
  336. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/client.py +0 -0
  337. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/providers.py +0 -0
  338. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/streaming.py +0 -0
  339. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/types.py +0 -0
  340. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/__init__.py +0 -0
  341. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/cache.py +0 -0
  342. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/context.py +0 -0
  343. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/context_checkpoints.py +0 -0
  344. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/data.py +0 -0
  345. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/provider_health.py +0 -0
  346. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/references.py +0 -0
  347. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/registry.py +0 -0
  348. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/research_protocol.py +0 -0
  349. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/research_quality.py +0 -0
  350. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/settings.py +0 -0
  351. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/usage.py +0 -0
  352. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_skills/__init__.py +0 -0
  353. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_skills/catalog.py +0 -0
  354. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_skills/loader.py +0 -0
  355. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_skills/registry.py +0 -0
  356. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/__init__.py +0 -0
  357. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/__init__.py +0 -0
  358. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/_paths.py +0 -0
  359. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/compliance.py +0 -0
  360. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/factors.py +0 -0
  361. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/risk_tools.py +0 -0
  362. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/strategy.py +0 -0
  363. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/registry.py +0 -0
  364. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/__init__.py +0 -0
  365. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/_namespace.py +0 -0
  366. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/backtest/__init__.py +0 -0
  367. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/backtest/core.py +0 -0
  368. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/backtest/engine.py +0 -0
  369. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/portfolio/__init__.py +0 -0
  370. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/portfolio/optimizer.py +0 -0
  371. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/__init__.py +0 -0
  372. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/calibrator.py +0 -0
  373. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/dixon_coles.py +0 -0
  374. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/elo.py +0 -0
  375. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/form.py +0 -0
  376. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/h2h.py +0 -0
  377. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/ml_model.py +0 -0
  378. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/predictor.py +0 -0
  379. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/tracker.py +0 -0
  380. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/__init__.py +0 -0
  381. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/gbm_enhanced.py +0 -0
  382. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/ito_calculus.py +0 -0
  383. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/kelly_criterion.py +0 -0
  384. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/monte_carlo_advanced.py +0 -0
  385. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/options_pricing.py +0 -0
  386. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/stochastic_processes.py +0 -0
  387. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/__init__.py +0 -0
  388. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/base.py +0 -0
  389. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/finance/__init__.py +0 -0
  390. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/payments/__init__.py +0 -0
  391. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/realty/__init__.py +0 -0
  392. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/registry.py +0 -0
  393. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/rules.py +0 -0
  394. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/plan_utils.py +0 -0
  395. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/plugin_loader.py +0 -0
  396. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/portfolio_ledger.py +0 -0
  397. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/preview_server.py +0 -0
  398. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/privacy/__init__.py +0 -0
  399. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/privacy/feedback.py +0 -0
  400. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/project_review.py +0 -0
  401. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/project_review_api.py +0 -0
  402. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/project_review_server.py +0 -0
  403. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/project_tools.py +0 -0
  404. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/__init__.py +0 -0
  405. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/__init__.py +0 -0
  406. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/anthropic.py +0 -0
  407. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/autoconfig.py +0 -0
  408. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/base.py +0 -0
  409. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/custom.py +0 -0
  410. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/ollama.py +0 -0
  411. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/openai_compat.py +0 -0
  412. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/registry.py +0 -0
  413. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/local_image_provider.py +0 -0
  414. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/local_llm_provider.py +0 -0
  415. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/realty_data_tools.py +0 -0
  416. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/report_exporters.py +0 -0
  417. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/report_generator.py +0 -0
  418. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/__init__.py +0 -0
  419. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/acceptance.py +0 -0
  420. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/agent_loop.py +0 -0
  421. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/approval.py +0 -0
  422. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/budget.py +0 -0
  423. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/checkpoints.py +0 -0
  424. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/crash_report.py +0 -0
  425. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/events.py +0 -0
  426. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/gateway.py +0 -0
  427. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/lsp.py +0 -0
  428. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/orchestrator.py +0 -0
  429. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/repo_map.py +0 -0
  430. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/run_state.py +0 -0
  431. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/run_store.py +0 -0
  432. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/self_healing.py +0 -0
  433. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/subagent.py +0 -0
  434. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/task_ledger.py +0 -0
  435. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/task_orchestrator.py +0 -0
  436. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/tool_executor.py +0 -0
  437. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/tool_policy.py +0 -0
  438. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/worktrees.py +0 -0
  439. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runway_video_client.py +0 -0
  440. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/safety/__init__.py +0 -0
  441. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/safety/permissions.py +0 -0
  442. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/safety/service.py +0 -0
  443. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/setup_wizard.py +0 -0
  444. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/spreadsheet_tools.py +0 -0
  445. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/strategy_vault.py +0 -0
  446. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/__init__.py +0 -0
  447. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/artifact_tools.py +0 -0
  448. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/broker_tools.py +0 -0
  449. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/build_quant_engine.py +0 -0
  450. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/code_audit_tools.py +0 -0
  451. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/computer_use_tools.py +0 -0
  452. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/data_analysis_tools.py +0 -0
  453. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/enterprise_finance_tools.py +0 -0
  454. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/extended_tools.py +0 -0
  455. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/file_analysis_tools.py +0 -0
  456. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/image_gen_tools.py +0 -0
  457. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/local_finance_tools.py +0 -0
  458. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/macro_tools.py +0 -0
  459. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/notification_tools.py +0 -0
  460. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/project_tools.py +0 -0
  461. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/realty_data_tools.py +0 -0
  462. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/spreadsheet_tools.py +0 -0
  463. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/stripe_tools.py +0 -0
  464. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/__init__.py +0 -0
  465. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/banner.py +0 -0
  466. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/completer.py +0 -0
  467. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/console.py +0 -0
  468. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/image_render.py +0 -0
  469. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/input_box.py +0 -0
  470. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/picker.py +0 -0
  471. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/__init__.py +0 -0
  472. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/finance.py +0 -0
  473. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/market.py +0 -0
  474. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/output.py +0 -0
  475. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/responsive.py +0 -0
  476. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/team.py +0 -0
  477. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/robot.py +0 -0
  478. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/startup_dashboard.py +0 -0
  479. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/utils/vscode_uri.py +0 -0
  480. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/video_analysis.py +0 -0
  481. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/video_editor.py +0 -0
  482. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace/__init__.py +0 -0
  483. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace/files.py +0 -0
  484. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace/verify.py +0 -0
  485. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace_changes.py +0 -0
  486. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace_context.py +0 -0
  487. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace_service.py +0 -0
  488. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace_tools.py +0 -0
  489. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/dependency_links.txt +0 -0
  490. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/entry_points.txt +0 -0
  491. {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/top_level.txt +0 -0
  492. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_adk_market_tools.py +0 -0
  493. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_agent_team_fallback.py +0 -0
  494. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_analyze_file_tool.py +0 -0
  495. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_architecture_ledger_is_true.py +0 -0
  496. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_architecture_report.py +0 -0
  497. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_aria_cli_core.py +0 -0
  498. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_aria_mcp_server.py +0 -0
  499. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_aria_sdk.py +0 -0
  500. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_artifact_publishing.py +0 -0
  501. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_artifacts_and_reports.py +0 -0
  502. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ashare_prediction_cmds.py +0 -0
  503. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_backtest_cmds.py +0 -0
  504. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_backtest_engine.py +0 -0
  505. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_backtest_report.py +0 -0
  506. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_automation.py +0 -0
  507. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_chat_confirm_gate.py +0 -0
  508. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_planning.py +0 -0
  509. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_safety.py +0 -0
  510. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_tools.py +0 -0
  511. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_budget.py +0 -0
  512. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_business_workflow_cmds.py +0 -0
  513. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_canva_client.py +0 -0
  514. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_canvas_cmds.py +0 -0
  515. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_channel_intake.py +0 -0
  516. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_channels.py +0 -0
  517. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_chart_handlers.py +0 -0
  518. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_chat_routing.py +0 -0
  519. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ci_security_workflow.py +0 -0
  520. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_app_split.py +0 -0
  521. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_bootstrap.py +0 -0
  522. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_config_store.py +0 -0
  523. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_lifecycle_hooks.py +0 -0
  524. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_runtime_consumer.py +0 -0
  525. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_tool_executor_module.py +0 -0
  526. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cloud_memory.py +0 -0
  527. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_code_audit_tools.py +0 -0
  528. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_code_review_agent.py +0 -0
  529. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_codegen_output.py +0 -0
  530. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_coder_tester_self_healing.py +0 -0
  531. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_coder_tool_safety.py +0 -0
  532. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_collaboration.py +0 -0
  533. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_command_loggers.py +0 -0
  534. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_command_safety.py +0 -0
  535. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_completions_builder.py +0 -0
  536. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_config_paths.py +0 -0
  537. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_configured_provider.py +0 -0
  538. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_container_entrypoint.py +0 -0
  539. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_container_entrypoints.py +0 -0
  540. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_context_checkpoints.py +0 -0
  541. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_context_references.py +0 -0
  542. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_context_service.py +0 -0
  543. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_crash_report.py +0 -0
  544. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_credential_file_permissions.py +0 -0
  545. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_custom_providers.py +0 -0
  546. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_daemon_gateway_config.py +0 -0
  547. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_dashboard_generator.py +0 -0
  548. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_data_service.py +0 -0
  549. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_data_service_imports.py +0 -0
  550. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_datasource_routing.py +0 -0
  551. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_deep_analysis.py +0 -0
  552. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_degrades_without_quant_engine.py +0 -0
  553. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_dispatcher_pins_match_the_release.py +0 -0
  554. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_doctor.py +0 -0
  555. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_doctor_describes_the_current_install.py +0 -0
  556. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_doctor_npm_scope.py +0 -0
  557. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_engine_boundary.py +0 -0
  558. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_enterprise_tool_honesty.py +0 -0
  559. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_env_switch_docs.py +0 -0
  560. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_evals_harness.py +0 -0
  561. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_extended_tools.py +0 -0
  562. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_feishu_swarm_config.py +0 -0
  563. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_finance_renderers.py +0 -0
  564. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_finance_service_catalog.py +0 -0
  565. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_football_agent.py +0 -0
  566. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_football_prediction_output.py +0 -0
  567. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_google_cloud_routing.py +0 -0
  568. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_google_login.py +0 -0
  569. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_google_search_provider.py +0 -0
  570. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_headless_is_agentic.py +0 -0
  571. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_image_gen_tools.py +0 -0
  572. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_image_inputs.py +0 -0
  573. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_import_graph_budget.py +0 -0
  574. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_intent_router.py +0 -0
  575. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_intent_signals.py +0 -0
  576. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_kling_video_client.py +0 -0
  577. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_lazy_rebind.py +0 -0
  578. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_legacy_module_imports.py +0 -0
  579. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_license_consistency.py +0 -0
  580. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_licensing.py +0 -0
  581. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_local_image_provider.py +0 -0
  582. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_logistics_and_finance_agents.py +0 -0
  583. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_lsp.py +0 -0
  584. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_markdown_pdf.py +0 -0
  585. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_data_client.py +0 -0
  586. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_history_inheritance.py +0 -0
  587. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_history_tool.py +0 -0
  588. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_symbol_extraction.py +0 -0
  589. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_universe.py +0 -0
  590. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_mcp_circuit.py +0 -0
  591. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_mcp_client.py +0 -0
  592. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_model_capability_registry.py +0 -0
  593. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_model_choice_is_the_users.py +0 -0
  594. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_model_selection_state.py +0 -0
  595. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_native_binary_entrypoints.py +0 -0
  596. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_native_installer.py +0 -0
  597. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_new_modules.py +0 -0
  598. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_no_hardcoded_developer_paths.py +0 -0
  599. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_no_uncommitted_imports.py +0 -0
  600. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ollama_stream_imports.py +0 -0
  601. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ollama_stream_tools.py +0 -0
  602. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_openai_image_client.py +0 -0
  603. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_output_rendering.py +0 -0
  604. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_packages_facade.py +0 -0
  605. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_packaging_constraints.py +0 -0
  606. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_packaging_manifest.py +0 -0
  607. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_packs_domains.py +0 -0
  608. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_pdf_report.py +0 -0
  609. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_pick_best_installed_model.py +0 -0
  610. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_plan_mode.py +0 -0
  611. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_platform_package_assembly.py +0 -0
  612. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_platform_packages.py +0 -0
  613. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_plotly_html_output.py +0 -0
  614. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_portfolio_ledger.py +0 -0
  615. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_post_turn_context_decision.py +0 -0
  616. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_preflight.py +0 -0
  617. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_preview_server.py +0 -0
  618. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_privacy_feedback.py +0 -0
  619. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_project_aria.py +0 -0
  620. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_project_review.py +0 -0
  621. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_project_review_api.py +0 -0
  622. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_prompt_assembly.py +0 -0
  623. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_prompt_selection.py +0 -0
  624. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_provider_autoconfig.py +0 -0
  625. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_provider_error_messages.py +0 -0
  626. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_provider_integration.py +0 -0
  627. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_provider_registry.py +0 -0
  628. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_public_service_status.py +0 -0
  629. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_quant_engine_namespace.py +0 -0
  630. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_rebind_contract.py +0 -0
  631. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_rebind_namespace_contract.py +0 -0
  632. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_relay_event_verification.py +0 -0
  633. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_release_chain.py +0 -0
  634. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_release_push_is_atomic.py +0 -0
  635. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_release_reaches_the_registries.py +0 -0
  636. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_release_workflow_permissions.py +0 -0
  637. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_report_charts.py +0 -0
  638. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_report_generator.py +0 -0
  639. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_research_protocol.py +0 -0
  640. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_research_quality.py +0 -0
  641. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_responsive_rendering.py +0 -0
  642. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_root_module_budget.py +0 -0
  643. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_acceptance.py +0 -0
  644. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_agent_loop.py +0 -0
  645. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_approval.py +0 -0
  646. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_bridge.py +0 -0
  647. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_bridge_fallback.py +0 -0
  648. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_checkpoints.py +0 -0
  649. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_gateway.py +0 -0
  650. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_repo_map.py +0 -0
  651. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_run_store.py +0 -0
  652. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_tool_executor.py +0 -0
  653. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_worktrees.py +0 -0
  654. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runway_video_client.py +0 -0
  655. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_safety_permissions.py +0 -0
  656. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_safety_service.py +0 -0
  657. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_safety_service_adoption.py +0 -0
  658. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_service_diagnostics_security.py +0 -0
  659. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_session_search.py +0 -0
  660. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_settings_service.py +0 -0
  661. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_single_import_root.py +0 -0
  662. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_skill_agent_binding.py +0 -0
  663. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_skill_catalog.py +0 -0
  664. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_skill_loader.py +0 -0
  665. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_spreadsheet_tools.py +0 -0
  666. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_sse_stream_contract.py +0 -0
  667. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_startup_dashboard.py +0 -0
  668. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_streaming_pipeline.py +0 -0
  669. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_stripe_agent.py +0 -0
  670. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_subagent.py +0 -0
  671. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_supervisor_routing.py +0 -0
  672. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_system_prompts.py +0 -0
  673. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_system_tools_output.py +0 -0
  674. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_task_orchestrator.py +0 -0
  675. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_team_synthesis.py +0 -0
  676. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_tls_trust_store.py +0 -0
  677. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_tool_policy.py +0 -0
  678. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_tool_scope.py +0 -0
  679. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_trading_service.py +0 -0
  680. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_tradingview_bridge.py +0 -0
  681. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_turn_planning.py +0 -0
  682. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ui_completer_references.py +0 -0
  683. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ui_console_theme.py +0 -0
  684. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ui_input_box.py +0 -0
  685. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ui_robot_banner.py +0 -0
  686. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_verification_hint.py +0 -0
  687. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_verification_policy.py +0 -0
  688. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_version_consistency.py +0 -0
  689. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_version_counter.py +0 -0
  690. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_video_analysis.py +0 -0
  691. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_video_editor.py +0 -0
  692. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_vscode_mcp.py +0 -0
  693. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_warehouse_agents.py +0 -0
  694. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_warehouse_cli_registration.py +0 -0
  695. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_warehouse_erp_client.py +0 -0
  696. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_warehouse_workflow.py +0 -0
  697. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_wheel_is_installable.py +0 -0
  698. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_changes.py +0 -0
  699. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_context.py +0 -0
  700. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_files.py +0 -0
  701. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_scope.py +0 -0
  702. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_service.py +0 -0
  703. {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_verify.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aria-code
3
- Version: 0.56.0
3
+ Version: 0.57.0
4
4
  Summary: AI coding and research workspace with optional finance and connected-domain tools
5
5
  License: Apache-2.0
6
- Project-URL: Homepage, https://github.com/artherahq/aria-code
7
- Project-URL: Repository, https://github.com/artherahq/aria-code
8
- Project-URL: Issues, https://github.com/artherahq/aria-code/issues
6
+ Project-URL: Homepage, https://github.com/artheras/aria-code
7
+ Project-URL: Repository, https://github.com/artheras/aria-code
8
+ Project-URL: Issues, https://github.com/artheras/aria-code/issues
9
9
  Keywords: ai,llm,coding-agent,research,finance,terminal,cli
10
10
  Classifier: Development Status :: 4 - Beta
11
11
  Classifier: Environment :: Console
@@ -23,6 +23,7 @@ Requires-Python: <3.14,>=3.10
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
25
  License-File: NOTICE
26
+ Requires-Dist: google-genai>=1.0.0
26
27
  Requires-Dist: aiohttp>=3.9.0
27
28
  Requires-Dist: rich>=13.7.0
28
29
  Requires-Dist: prompt_toolkit>=3.0.43
@@ -167,7 +168,7 @@ Work in your project, use local or cloud models, and connect domain tools when y
167
168
  <p align="center">
168
169
  <a href="https://www.npmjs.com/package/@artheras/aria-code"><img src="https://img.shields.io/npm/v/@artheras/aria-code?style=flat-square&logo=npm&label=npm" alt="npm version"></a>
169
170
  <a href="https://pypi.org/project/aria-code/"><img src="https://img.shields.io/pypi/v/aria-code?style=flat-square&logo=pypi&label=PyPI" alt="PyPI version"></a>
170
- <a href="https://github.com/artherahq/aria-code/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/artherahq/aria-code/ci.yml?branch=main&style=flat-square&logo=githubactions&label=CI" alt="CI status"></a>
171
+ <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>
171
172
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-64748b?style=flat-square" alt="Apache License 2.0"></a>
172
173
  </p>
173
174
 
@@ -185,18 +186,18 @@ The same core runtime is used by the CLI and other Aria surfaces. Model choice a
185
186
  Install the standalone CLI on macOS or Linux without Python, Node.js, or npm:
186
187
 
187
188
  ```bash
188
- curl -fsSL https://raw.githubusercontent.com/artherahq/aria-code/main/scripts/install.sh | sh
189
+ curl -fsSL https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.sh | sh
189
190
  ~/.local/bin/aria-code --help
190
191
  ```
191
192
 
192
193
  On Windows x64, run this in PowerShell:
193
194
 
194
195
  ```powershell
195
- irm https://raw.githubusercontent.com/artherahq/aria-code/main/scripts/install.ps1 | iex
196
+ irm https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.ps1 | iex
196
197
  aria-code --help
197
198
  ```
198
199
 
199
- The installer downloads the binary for your OS from the latest [GitHub release](https://github.com/artherahq/aria-code/releases/latest), checks its SHA-256 digest, and installs it in your user account. Open a new terminal to use `aria-code` by name on macOS or Linux. Set `ARIA_CODE_VERSION=v0.55.0` to pin a release.
200
+ The installer downloads the binary for your OS from the latest [GitHub release](https://github.com/artheras/aria-code/releases/latest), checks its SHA-256 digest, and installs it in your user account. Open a new terminal to use `aria-code` by name on macOS or Linux. Set `ARIA_CODE_VERSION=v0.55.0` to pin a release.
200
201
 
201
202
  Alternative package-manager installs: `npm install -g @artheras/aria-code` (requires npm) or `python3 -m pip install --upgrade aria-code` (requires Python 3.10+). For development from source, see [CONTRIBUTING.md](CONTRIBUTING.md).
202
203
 
@@ -15,7 +15,7 @@ Work in your project, use local or cloud models, and connect domain tools when y
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?style=flat-square&logo=npm&label=npm" alt="npm version"></a>
17
17
  <a href="https://pypi.org/project/aria-code/"><img src="https://img.shields.io/pypi/v/aria-code?style=flat-square&logo=pypi&label=PyPI" alt="PyPI version"></a>
18
- <a href="https://github.com/artherahq/aria-code/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/artherahq/aria-code/ci.yml?branch=main&style=flat-square&logo=githubactions&label=CI" alt="CI status"></a>
18
+ <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>
19
19
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-64748b?style=flat-square" alt="Apache License 2.0"></a>
20
20
  </p>
21
21
 
@@ -33,18 +33,18 @@ The same core runtime is used by the CLI and other Aria surfaces. Model choice a
33
33
  Install the standalone CLI on macOS or Linux without Python, Node.js, or npm:
34
34
 
35
35
  ```bash
36
- curl -fsSL https://raw.githubusercontent.com/artherahq/aria-code/main/scripts/install.sh | sh
36
+ curl -fsSL https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.sh | sh
37
37
  ~/.local/bin/aria-code --help
38
38
  ```
39
39
 
40
40
  On Windows x64, run this in PowerShell:
41
41
 
42
42
  ```powershell
43
- irm https://raw.githubusercontent.com/artherahq/aria-code/main/scripts/install.ps1 | iex
43
+ irm https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.ps1 | iex
44
44
  aria-code --help
45
45
  ```
46
46
 
47
- The installer downloads the binary for your OS from the latest [GitHub release](https://github.com/artherahq/aria-code/releases/latest), checks its SHA-256 digest, and installs it in your user account. Open a new terminal to use `aria-code` by name on macOS or Linux. Set `ARIA_CODE_VERSION=v0.55.0` to pin a release.
47
+ The installer downloads the binary for your OS from the latest [GitHub release](https://github.com/artheras/aria-code/releases/latest), checks its SHA-256 digest, and installs it in your user account. Open a new terminal to use `aria-code` by name on macOS or Linux. Set `ARIA_CODE_VERSION=v0.55.0` to pin a release.
48
48
 
49
49
  Alternative package-manager installs: `npm install -g @artheras/aria-code` (requires npm) or `python3 -m pip install --upgrade aria-code` (requires Python 3.10+). For development from source, see [CONTRIBUTING.md](CONTRIBUTING.md).
50
50
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "aria-code"
7
- version = "0.56.0"
7
+ version = "0.57.0"
8
8
  description = "AI coding and research workspace with optional finance and connected-domain tools"
9
9
  readme = "README.md"
10
10
  license = { text = "Apache-2.0" }
@@ -45,6 +45,14 @@ classifiers = [
45
45
  # parsers, the SQL engine and chart renderer are optional extras below — the
46
46
  # code already lazy-imports them and degrades gracefully when absent.
47
47
  dependencies = [
48
+ # The default model's client. DEFAULT_MODEL is google/gemini-2.5-pro, and
49
+ # this used to be the optional `google` extra — so a plain
50
+ # `pip install aria-code` failed on the very first prompt with "Gemini/Vertex
51
+ # AI 需要 google-genai,当前未安装". The comment above that extra said as
52
+ # much ("a default install that cannot import this has no working model at
53
+ # all") while it stayed optional. tests/test_first_run_works.py now fails if
54
+ # the default model's client is not a core dependency.
55
+ "google-genai>=1.0.0",
48
56
  # CLI runtime
49
57
  "aiohttp>=3.9.0",
50
58
  "rich>=13.7.0",
@@ -79,9 +87,9 @@ crypto = ["ccxt>=4.4.0"] # crypto exchanges (large dep tree)
79
87
  # ── Feature add-ons ────────────────────────────────────────────────────────────
80
88
  charts = ["mplfinance>=0.12.10b0"] # candlestick charts in /report /chart
81
89
 
82
- # Gemini / Vertex AI. Needed by the Google sign-in path, where the gateway
83
- # serves the model and the user configures no API key of their own — so a
84
- # default install that cannot import this has no working model at all.
90
+ # Gemini / Vertex AI. Now a core dependency (see the top of `dependencies`);
91
+ # the extra is kept so `pip install 'aria-code[google]'` in existing scripts
92
+ # and docs keeps working.
85
93
  google = ["google-genai>=1.0.0"]
86
94
  data = ["duckdb>=0.10.3"] # in-process SQL: /data sql "SELECT …"
87
95
  files = [ # /file load + /file analyze document parsing
@@ -204,9 +212,9 @@ aria-code = "aria_code.apps.cli.main:main"
204
212
  aria-code-mcp = "aria_code.aria_mcp_server:main"
205
213
 
206
214
  [project.urls]
207
- Homepage = "https://github.com/artherahq/aria-code"
208
- Repository = "https://github.com/artherahq/aria-code"
209
- Issues = "https://github.com/artherahq/aria-code/issues"
215
+ Homepage = "https://github.com/artheras/aria-code"
216
+ Repository = "https://github.com/artheras/aria-code"
217
+ Issues = "https://github.com/artheras/aria-code/issues"
210
218
 
211
219
  # ── Package discovery ──────────────────────────────────────────────────────────
212
220
  [tool.setuptools]
@@ -17,4 +17,4 @@ from __future__ import annotations
17
17
 
18
18
  __all__ = ["__version__"]
19
19
 
20
- __version__ = "0.56.0"
20
+ __version__ = "0.57.0"
@@ -1050,7 +1050,7 @@ class CoreCommandsMixin:
1050
1050
  return
1051
1051
 
1052
1052
  if sub == "policy":
1053
- url = "https://github.com/artherahq/aria-code/blob/aria-code/PRIVACY.md"
1053
+ url = "https://github.com/artheras/aria-code/blob/main/PRIVACY.md"
1054
1054
  local = pathlib.Path(__file__).resolve().parent / "PRIVACY.md"
1055
1055
  lines = [
1056
1056
  "Aria Code is local-first: by default nothing is collected or uploaded.",
@@ -152,7 +152,7 @@ class DiagnosticOpsCommandsMixin:
152
152
  env = (f"v{_get___version__()} · {_pf.system()} · py{_pf.python_version()} · "
153
153
  f"model={self.terminal.config.get('model','')}")
154
154
  self.terminal._record_feedback("bug", ctx, comment=f"{desc}\n\n[env] {env}")
155
- gh = "https://github.com/artherahq/aria-code/issues"
155
+ gh = "https://github.com/artheras/aria-code/issues"
156
156
  if self.context.has_rich:
157
157
  self.context.console.print(" [#C08050]✓ 已记录问题(本地)[/#C08050]")
158
158
  self.context.console.print(f" [dim]上传需 /privacy opt-in · 或直接提 issue: {gh}[/dim]")
@@ -0,0 +1,208 @@
1
+ """Warehouse ERP command; globals are rebound by the legacy CLI bridge."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+
7
+
8
+ import json
9
+ import asyncio
10
+ import datetime
11
+ import time
12
+ import shlex
13
+ from typing import Dict, Any, Optional
14
+
15
+
16
+ import json
17
+ import asyncio
18
+ import datetime
19
+ import time
20
+ import shlex
21
+ import sys
22
+ import os
23
+ from typing import Dict, Any, Optional
24
+
25
+
26
+ import json
27
+ import asyncio
28
+ import datetime
29
+ import time
30
+ import shlex
31
+ import sys
32
+ import os
33
+ from typing import Dict, Any, Optional
34
+
35
+
36
+ class WarehouseCommandsMixin:
37
+ """Read-only warehouse ERP analysis commands."""
38
+
39
+ async def cmd_warehouse(self, args: str):
40
+ """Run `/warehouse <warehouse_id> [--json]` against the configured ERP."""
41
+ parts = args.strip().split()
42
+ as_json = "--json" in parts
43
+ identifiers = [part for part in parts if not part.startswith("--")]
44
+ if len(identifiers) != 1:
45
+ message = "用法: /warehouse <仓库编号> [--json],例如 /warehouse WH-CN-01"
46
+ self.context.console.print(f"[yellow]{message}[/yellow]") if self.context.has_rich else print(message)
47
+ return
48
+
49
+ from agents.warehouse.workflow import run_warehouse_analysis
50
+ from clients.warehouse_erp_client import WarehouseERPConfigurationError, WarehouseERPRequestError
51
+
52
+ try:
53
+ result, snapshot = await run_warehouse_analysis(identifiers[0])
54
+ except (WarehouseERPConfigurationError, WarehouseERPRequestError) as exc:
55
+ message = str(exc)
56
+ self.context.console.print(f"[red]{message}[/red]") if self.context.has_rich else print(message)
57
+ return
58
+
59
+ payload = {
60
+ "warehouse_id": identifiers[0],
61
+ "signal": result.final_signal,
62
+ "confidence": result.confidence,
63
+ "agents": [item.to_dict() for item in result.results],
64
+ "snapshot_counts": {key: len(snapshot.get(key, [])) for key in ("connectors", "inbounds", "skus", "locations")},
65
+ }
66
+ if as_json:
67
+ print(json.dumps(payload, ensure_ascii=False, indent=2))
68
+ return
69
+
70
+ lines = [
71
+ f"仓库 {identifiers[0]} · {result.final_signal} · 置信度 {result.confidence:.0%}",
72
+ f"货代 {payload['snapshot_counts']['connectors']} · 入库单 {payload['snapshot_counts']['inbounds']} · "
73
+ f"SKU {payload['snapshot_counts']['skus']} · 库位 {payload['snapshot_counts']['locations']}",
74
+ ]
75
+ for item in result.results:
76
+ summary = item.key_points[0] if item.key_points else item.analysis
77
+ lines.append(f"- {item.agent}: {item.signal} — {summary}")
78
+ output = "\n".join(lines)
79
+ self.context.console.print(output) if self.context.has_rich else print(output)
80
+
81
+
82
+ def _parse_logistics_args(args: str, usage: str) -> dict | None:
83
+ """`<file> [--owner ID | --all-owners] [--json] [--key value]` → params, or None on misuse.
84
+
85
+ shlex, so a path with spaces can be quoted. The shipper flags map straight
86
+ onto the tools' owner_id / all_owners: a command never decides on its own
87
+ to mix two shippers' data.
88
+ """
89
+ try:
90
+ tokens = shlex.split(args)
91
+ except ValueError:
92
+ return None
93
+ params: dict = {"_json": False}
94
+ positional = []
95
+ index = 0
96
+ while index < len(tokens):
97
+ token = tokens[index]
98
+ if token == "--json":
99
+ params["_json"] = True
100
+ elif token == "--all-owners":
101
+ params["all_owners"] = True
102
+ elif token in ("--owner", "--service-level", "--review-days", "--min-shipments"):
103
+ if index + 1 >= len(tokens):
104
+ return None
105
+ value = tokens[index + 1]
106
+ key = {"--owner": "owner_id", "--service-level": "service_level",
107
+ "--review-days": "review_period_days", "--min-shipments": "min_shipments"}[token]
108
+ params[key] = value
109
+ index += 1
110
+ elif token.startswith("--"):
111
+ return None
112
+ else:
113
+ positional.append(token)
114
+ index += 1
115
+ if len(positional) != 1:
116
+ return None
117
+ params["file_path"] = positional[0]
118
+ return params
119
+
120
+
121
+ def _emit(self, text: str, style: str = "") -> None:
122
+ if self.context.has_rich and style:
123
+ self.context.console.print(f"[{style}]{text}[/{style}]")
124
+ elif self.context.has_rich:
125
+ self.context.console.print(text)
126
+ else:
127
+ print(text)
128
+
129
+
130
+ class LogisticsCommandsMixin:
131
+ """3PL inventory and carrier analyses, run directly on a CSV/JSON file.
132
+
133
+ These are direct commands rather than only model tools because the
134
+ logistics pack, by design, activates only on verifiable identifiers (a
135
+ waybill or container number with a valid check digit). "Work out my
136
+ reorder points" carries neither, so the model would not be offered the
137
+ tool; a 3PL operator needs a way in that does not depend on that.
138
+ """
139
+
140
+ _INVENTORY_USAGE = ("用法: /inventory <skus.csv|json> [--owner 货主ID | --all-owners] "
141
+ "[--service-level 0.95] [--review-days 7] [--json]")
142
+ _CARRIERS_USAGE = ("用法: /carriers <waybills.csv|json> [--owner 货主ID | --all-owners] "
143
+ "[--min-shipments 20] [--json]")
144
+
145
+ async def cmd_inventory(self, args: str):
146
+ """Reorder points, safety stock, ABC/XYZ and dead stock for one shipper."""
147
+ params = _parse_logistics_args(args, self._INVENTORY_USAGE)
148
+ if params is None:
149
+ _emit(self, self._INVENTORY_USAGE, "yellow")
150
+ return
151
+ from aria_code.tools.logistics_inventory import tool_plan_inventory_policy
152
+
153
+ as_json = params.pop("_json")
154
+ result = tool_plan_inventory_policy(params)
155
+ if as_json:
156
+ print(json.dumps(result, ensure_ascii=False, indent=2))
157
+ return
158
+ if not result["success"]:
159
+ _emit(self, result["error"], "red")
160
+ return
161
+ data = result["data"]
162
+ if not data["scope"]["client_facing"]:
163
+ _emit(self, data["scope"]["marker"], "bold red")
164
+ _emit(self, result["summary"], "bold")
165
+ for item in data["items"]:
166
+ if item["action"] != "reorder":
167
+ continue
168
+ _emit(self, f" 补货 {item['sku']}: 建议 {item['suggested_order_qty']} 件 · "
169
+ f"补货点 {item['reorder_point']} · 安全库存 {item['safety_stock']} · "
170
+ f"可用 {item['days_of_cover']} 天 · {item['abc'] or '-'}{item['xyz'] or ''}")
171
+ for item in data["items"]:
172
+ if item["movement"] in ("dead", "slow"):
173
+ label = "呆滞" if item["movement"] == "dead" else "慢动"
174
+ _emit(self, f" {label} {item['sku']}: 在库 {item['on_hand']:g}", "yellow")
175
+ _emit(self, "依据: " + ";".join(data["assumptions"]), "dim")
176
+
177
+ async def cmd_carriers(self, args: str):
178
+ """Carrier scorecard by lane, cost anomalies and like-for-like savings."""
179
+ params = _parse_logistics_args(args, self._CARRIERS_USAGE)
180
+ if params is None:
181
+ _emit(self, self._CARRIERS_USAGE, "yellow")
182
+ return
183
+ from aria_code.tools.logistics_carriers import tool_score_carriers
184
+
185
+ as_json = params.pop("_json")
186
+ result = tool_score_carriers(params)
187
+ if as_json:
188
+ print(json.dumps(result, ensure_ascii=False, indent=2))
189
+ return
190
+ if not result["success"]:
191
+ _emit(self, result["error"], "red")
192
+ return
193
+ data = result["data"]
194
+ if not data["scope"]["client_facing"]:
195
+ _emit(self, data["scope"]["marker"], "bold red")
196
+ _emit(self, result["summary"], "bold")
197
+ for entry in data["scorecard"]:
198
+ rank = f"#{entry['rank_in_lane']}" if entry["rank_in_lane"] else "样本不足"
199
+ on_time = (f"{entry['on_time_rate']:.0%}(下界 {entry['on_time_lower_bound']:.0%})"
200
+ if entry["on_time_rate"] is not None else "无准时记录")
201
+ cost = f"{entry['median_cost_per_kg']:.2f}/kg" if entry["median_cost_per_kg"] is not None else "-"
202
+ _emit(self, f" {entry['lane']} {rank} {entry['carrier']}: {entry['shipments']} 单 · 准时 {on_time} · {cost}")
203
+ for saving in data["savings"]:
204
+ _emit(self, f" 可节省 {saving['estimated_saving']:,.2f}: {saving['lane']} 由 {saving['from_carrier']} "
205
+ f"转 {saving['to_carrier']}(每 kg 低 {saving['rate_difference_per_kg']:.2f})", "green")
206
+ for anomaly in data["anomalies"]:
207
+ _emit(self, f" 核实 {anomaly['waybill_no']} ({anomaly['carrier']}): {anomaly['detail']}", "yellow")
208
+ _emit(self, "依据: " + ";".join(data["assumptions"]), "dim")
@@ -4,7 +4,7 @@ Usage:
4
4
  from apps.cli.github_app_auth import get_installation_token, get_aria_git_url
5
5
 
6
6
  token = get_installation_token() # raises if not configured
7
- url = get_aria_git_url("artherahq/aria-code", token)
7
+ url = get_aria_git_url("artheras/aria-code", token)
8
8
  # git push with url as remote
9
9
  """
10
10
 
@@ -92,7 +92,7 @@ def _gh_api(path: str, token: str, *, method: str = "GET") -> dict:
92
92
  return json.loads(resp.read())
93
93
 
94
94
 
95
- def get_installation_token(owner: str = "artherahq") -> str:
95
+ def get_installation_token(owner: str = "artheras") -> str:
96
96
  """Return a short-lived installation token (valid ~1 hour)."""
97
97
  pem = _find_pem()
98
98
  jwt = _make_jwt(pem, ARIA_APP_ID)
@@ -603,7 +603,7 @@ def tool_github(
603
603
  message = params.get("message", "")
604
604
  branch = params.get("branch", "")
605
605
  add_files = params.get("files", [])
606
- repo = params.get("repo", "") # e.g. "artherahq/aria-code"
606
+ repo = params.get("repo", "") # e.g. "artheras/aria-code"
607
607
  coauthor = params.get("coauthor", "")
608
608
 
609
609
  if not message:
@@ -615,7 +615,7 @@ def tool_github(
615
615
  get_installation_token, get_aria_git_url,
616
616
  aria_bot_env, ARIA_BOT_NAME, ARIA_BOT_EMAIL,
617
617
  )
618
- owner = (repo.split("/")[0] if repo else None) or "artherahq"
618
+ owner = (repo.split("/")[0] if repo else None) or "artheras"
619
619
  token = get_installation_token(owner)
620
620
  bot_env = aria_bot_env()
621
621
  auth_available = True
@@ -311,7 +311,7 @@ from aria_code.apps.cli.commands.finance_service_cmds import FinanceServiceComma
311
311
  from aria_code.apps.cli.commands.orchestrator_cmds import OrchestratorCommandsMixin
312
312
  from aria_code.apps.cli.commands.workflow_cmds import WorkflowCommandsMixin
313
313
  from aria_code.apps.cli.commands.business_workflow_cmds import BusinessWorkflowCommandsMixin
314
- from aria_code.apps.cli.commands.warehouse_cmds import WarehouseCommandsMixin
314
+ from aria_code.apps.cli.commands.warehouse_cmds import LogisticsCommandsMixin, WarehouseCommandsMixin
315
315
  from aria_code.apps.cli.commands.session_cmds import SessionCommandsMixin
316
316
  from aria_code.apps.cli.session_export import build_session_export_payload # 同上
317
317
  from aria_code.apps.cli.commands.workspace_cmds import WorkspaceCommandsMixin
@@ -3363,7 +3363,7 @@ import apps.cli.broker_render as _broker_render_module
3363
3363
  _rebind_module_function_globals(_broker_render_module, _broker_render_module.__all__)
3364
3364
 
3365
3365
  class SlashCommands(
3366
- CoreCommandsMixin,BrokerCommandsMixin, CanvasCommandsMixin, BacktestCommandsMixin, AnalysisCommandsMixin, ASharePredictionCommandsMixin, DataCommandsMixin, OpsCommandsMixin, DiagnosticCommandsMixin, DiagnosticOpsCommandsMixin, UiCommandsMixin, SessionUxCommandsMixin, AuthCommandsMixin, FileCommandsMixin, FxCommodityCommandsMixin, FinanceServiceCommandsMixin, OrchestratorCommandsMixin, WorkflowCommandsMixin, BusinessWorkflowCommandsMixin, WarehouseCommandsMixin, SessionCommandsMixin, WorkspaceCommandsMixin, ModelCommandsMixin, MarketCommandsMixin, PortfolioCommandsMixin, PdfExportCommandsMixin):
3366
+ CoreCommandsMixin,BrokerCommandsMixin, CanvasCommandsMixin, BacktestCommandsMixin, AnalysisCommandsMixin, ASharePredictionCommandsMixin, DataCommandsMixin, OpsCommandsMixin, DiagnosticCommandsMixin, DiagnosticOpsCommandsMixin, UiCommandsMixin, SessionUxCommandsMixin, AuthCommandsMixin, FileCommandsMixin, FxCommodityCommandsMixin, FinanceServiceCommandsMixin, OrchestratorCommandsMixin, WorkflowCommandsMixin, BusinessWorkflowCommandsMixin, WarehouseCommandsMixin, LogisticsCommandsMixin, SessionCommandsMixin, WorkspaceCommandsMixin, ModelCommandsMixin, MarketCommandsMixin, PortfolioCommandsMixin, PdfExportCommandsMixin):
3367
3367
  """Claude Code-style slash command system."""
3368
3368
 
3369
3369
 
@@ -3491,6 +3491,8 @@ class SlashCommands(
3491
3491
  "/analyze": (self.cmd_analyze, "Deep market analysis: /analyze AAPL"),
3492
3492
  "/team": (self.cmd_team, "Multi-agent research team: /team AAPL [--full]"),
3493
3493
  "/warehouse": (self.cmd_warehouse, "Read-only warehouse ERP analysis: /warehouse WH-CN-01 [--json]"),
3494
+ "/inventory": (self.cmd_inventory, "3PL inventory policy: reorder points, safety stock, ABC/XYZ, dead stock: /inventory skus.csv --owner ACME"),
3495
+ "/carriers": (self.cmd_carriers, "3PL carrier scorecard by lane, cost anomalies and savings: /carriers waybills.csv --owner ACME"),
3494
3496
  "/deep": (self.cmd_deep, "Deep layered research (P0–P3): /deep AAPL [--deep|--brief]"),
3495
3497
  "/ta": (self.cmd_ta, "Technical indicators: /ta AAPL [days=120]"),
3496
3498
  "/market": (self.cmd_market, "Market overview: /market [indices|sectors]"),
@@ -3618,6 +3620,10 @@ class SlashCommands(
3618
3620
  # ── Financial analysis ──────────────────────────────────────────────
3619
3621
  "/team": ("Usage: /team [SYMBOL] [--agents a,b] [--full]", ["/team NVDA", "/team AAPL --agents technical,risk", "/team watchlist", "/team SPY --full"]),
3620
3622
  "/warehouse": ("Usage: /warehouse <warehouse_id> [--json]", ["/warehouse WH-CN-01", "/warehouse WH-CN-01 --json"]),
3623
+ "/inventory": ("Usage: /inventory <skus.csv|json> [--owner ID | --all-owners] [--service-level 0.95] [--review-days 7] [--json]",
3624
+ ["/inventory skus.csv --owner ACME", "/inventory skus.json --owner ACME --service-level 0.98"]),
3625
+ "/carriers": ("Usage: /carriers <waybills.csv|json> [--owner ID | --all-owners] [--min-shipments 20] [--json]",
3626
+ ["/carriers waybills.csv --owner ACME", "/carriers waybills.csv --all-owners"]),
3621
3627
  "/deep": ("Usage: /deep [SYMBOL] [--brief|--deep] [--agents a,b]", ["/deep NVDA", "/deep AAPL --deep", "/deep 000333 --brief", "/deep TSLA --agents technical,risk,macro", "/deep calibrate"]),
3622
3628
  "/architecture": ("Usage: /architecture [--gaps]", ["/architecture", "/architecture --gaps"]),
3623
3629
  "/ta": ("Usage: /ta [SYMBOL] [days=N]", ["/ta AAPL", "/ta NVDA days=60"]),
@@ -6506,7 +6512,11 @@ class ArtheraTerminal:
6506
6512
  async def main():
6507
6513
  parser = argparse.ArgumentParser(
6508
6514
  prog="aria-code",
6509
- description="Aria Code — Quantitative Investment Terminal",
6515
+ # Same sentence as pyproject's description, so `--help`, PyPI and npm
6516
+ # describe one product. It used to say "Quantitative Investment
6517
+ # Terminal" here while the package metadata had been repositioned;
6518
+ # tests/test_first_run_works.py keeps the two in step.
6519
+ description="Aria Code — AI coding and research workspace with optional finance and connected-domain tools",
6510
6520
  formatter_class=argparse.RawDescriptionHelpFormatter,
6511
6521
  epilog="""
6512
6522
  Examples:
@@ -150,7 +150,13 @@ def _format_age(seconds: float | int | None) -> str:
150
150
 
151
151
 
152
152
  def _has_module(name: str) -> bool:
153
- return importlib.util.find_spec(name) is not None
153
+ # find_spec on a dotted name imports the parent package first, and raises
154
+ # rather than returning None when that parent is absent ("google.genai"
155
+ # with no "google" installed). Absent is the answer either way.
156
+ try:
157
+ return importlib.util.find_spec(name) is not None
158
+ except (ImportError, ValueError):
159
+ return False
154
160
 
155
161
 
156
162
  def _is_writable(path: Path) -> tuple[bool, str]:
@@ -662,6 +668,11 @@ def provider_health_summary(snapshot: Optional[List[Dict[str, Any]]] = None) ->
662
668
 
663
669
 
664
670
  def _iter_required_modules() -> Iterable[tuple[str, str]]:
671
+ """Core dependencies: a plain `pip install aria-code` must provide these.
672
+
673
+ Kept in step with [project].dependencies in pyproject.toml;
674
+ tests/test_first_run_works.py fails if one is listed here but not there.
675
+ """
665
676
  yield "aiohttp", "async HTTP"
666
677
  yield "rich", "terminal UI"
667
678
  yield "prompt_toolkit", "interactive input"
@@ -669,7 +680,20 @@ def _iter_required_modules() -> Iterable[tuple[str, str]]:
669
680
  yield "pandas", "dataframes"
670
681
  yield "numpy", "numeric processing"
671
682
  yield "yfinance", "US/HK/global market data"
672
- yield "akshare", "China market data"
683
+ # The default model is google/gemini-2.5-pro, so without this a fresh
684
+ # install cannot answer a single prompt.
685
+ yield "google.genai", "Gemini / Vertex AI (the default model)"
686
+
687
+
688
+ def _iter_optional_modules() -> Iterable[tuple[str, str, str]]:
689
+ """Optional extras: (module, purpose, extra that installs it).
690
+
691
+ These used to sit in the required list, so a clean install of aria-code
692
+ always ended doctor with "1 errors" — for akshare, which pyproject has
693
+ always declared as the optional `cn` extra. Missing an optional extra is a
694
+ choice the user made, not a fault.
695
+ """
696
+ yield "akshare", "China A-share market data", "cn"
673
697
 
674
698
 
675
699
  def run_doctor(
@@ -711,7 +735,15 @@ def run_doctor(
711
735
  if _has_module(module):
712
736
  checks.append(_check(f"package:{module}", "ok", purpose))
713
737
  else:
714
- checks.append(_check(f"package:{module}", "err", f"{purpose} missing", f"pip install {module}"))
738
+ checks.append(_check(f"package:{module}", "err", f"{purpose} missing",
739
+ "Reinstall: pip install -U aria-code"))
740
+
741
+ for module, purpose, extra in _iter_optional_modules():
742
+ if _has_module(module):
743
+ checks.append(_check(f"package:{module}", "ok", purpose))
744
+ else:
745
+ checks.append(_check(f"package:{module}", "skip", f"{purpose} not installed (optional)",
746
+ f"pip install 'aria-code[{extra}]'"))
715
747
 
716
748
  for module in ("data_service", "artifacts", "report_generator", "backtest_report"):
717
749
  checks.append(
@@ -25,6 +25,8 @@ PACK_NAME = "logistics"
25
25
 
26
26
  LOGISTICS_TOOLS = (
27
27
  "analyze_logistics_data",
28
+ "plan_inventory_policy",
29
+ "score_carriers",
28
30
  )
29
31
 
30
32
  _VERIFIED = 0.95