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.
- {aria_code-0.131.0/src/aria_code.egg-info → aria_code-0.133.0}/PKG-INFO +2 -2
- {aria_code-0.131.0 → aria_code-0.133.0}/README.md +1 -1
- {aria_code-0.131.0 → aria_code-0.133.0}/pyproject.toml +1 -1
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/_version.py +1 -1
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_relay_server.py +4 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/agent_loop.py +66 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/baseline.py +77 -5
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/delivery.py +1 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/project_graph.py +2 -2
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/repo_map.py +2 -2
- {aria_code-0.131.0 → aria_code-0.133.0/src/aria_code.egg-info}/PKG-INFO +2 -2
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_baseline.py +61 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_native_index.py +3 -2
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_reliability.py +10 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_agent_loop.py +95 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/LICENSE +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/NOTICE +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/setup.cfg +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/aria_code_review/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/aria_code_review/agent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/aria_research/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/adk_apps/aria_research/agent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/base.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/code_review.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/calibration_loop.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/critic.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/deepen.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/models.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/pipeline.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/quant_fusion.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/themes.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/deep/tiers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/engineering/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/engineering/coder.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/engineering/tester.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/cashflow_burn.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/catalyst.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/corporate_finance.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/debate.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/earnings.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/fundamental.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/macro.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/news.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/risk.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/sector.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/strategist.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/stripe_revenue.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/synthesis.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/financial/technical.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/orchestrator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/portfolio_agent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/asset_diagnosis.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/business_match.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/cashflow_verify.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/contract_rules.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/energy_anomaly.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/exit_settlement.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/fulfillment_risk.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/ops_optimize.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/realty/revenue_share.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/signal_scheme.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/sports/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/sports/football_agent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/supervisor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/team.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/contracts.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/dashboard.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/fulfillment_leadtime.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/inbound_exceptions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/inventory_health.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/local_run.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/local_snapshot.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/logistics_cost.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/logistics_sync.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/agents/warehouse/workflow.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aliyun_data_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/README.md +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/README.md +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/approvals.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/conversation.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/digest.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/intake.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/channels/tradingview.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/README.md +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/_optional.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/bootstrap.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/broker_render.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/chat_turn.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/codegen_paths.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/_business_render.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/_ui.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/analysis_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/ashare_prediction_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/auth_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/backtest_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/broker_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/business_workflow_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/canvas_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/catalog.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/core_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/data_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/diagnostic_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/diagnostic_ops_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/file_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/finance_service_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/fx_commodity_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/market.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/market_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/market_context.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/market_render.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/model_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/ops_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/orchestrator_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/pdf_export_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/portfolio_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/scaffold_templates.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/session_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/session_ux_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/team.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/team_render.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/ui_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/warehouse_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/workflow_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/commands/workspace_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/config_paths.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/config_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/constants.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/context.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/deterministic.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/direct.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/earnings_view.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/exec_events.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/finance_service_catalog.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/football_reports.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/github_app_auth.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/google_login.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/broker_handlers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/chart_handlers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/market_handlers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/realty_handlers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/sports_handlers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/handlers/strategy_advice.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/headless.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/helpers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/hooks.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/i18n.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/intent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/intent_router.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/intent_signals.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/lifecycle_hooks.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/local_tool_schemas.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/main.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/market_hours.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/market_metadata.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/market_universe.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/message_processing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/mixin_binding.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/model_catalog.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/model_probe.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/model_retirement.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/native_bridge.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/pdf_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/plan_mode.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/plotly_html.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prediction_feedback.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/preflight.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/project_aria.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompt_assembly.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/coding.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/select.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/system_prompts.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/prompts/ui.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/provider_endpoints.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/provider_keys.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/base.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/chat_routing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/collaboration.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/offline_responses.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/ollama_stream.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/response_cache.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/llm/sse_stream.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/runtime_bridge.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/providers/vertexai_stream.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/release_download.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/review_runner.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/runtime_consumer.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/sandbox.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/session_export.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/session_jsonl.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/session_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/skills_catalog.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/task_isolation.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/terminal_chrome.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/todo_tracker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tool_executor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tool_registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tool_scope.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/context.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/file_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/market_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/notebook_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/system_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tools/write_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/tradingview_bridge.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/transactions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/turn_planning.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/update_check.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/updater.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/utils/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/utils/market_detect.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/workflow_runner.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/cli/workspace_route.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/daemon/README.md +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/vscode/README.md +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/apps/vscode/package.json +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_cli.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_daemon.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_feishu_bot.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_mcp_server.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_relay_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/aria_telegram_bot.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ariarc.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/artifacts.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/backtest_engine.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/backtest_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/automation.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/base.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/capabilities.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/easytrader_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/futu_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/longbridge_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/tiger_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/cn/xtquant_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/config.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/alpaca_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/ibkr_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/trading212_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/intl/webull_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/paper_broker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/planning.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/brokers/trading.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/canva_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/change_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/aliyun_data_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/aria_relay_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/canva_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/figma_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/football_data_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/kling_video_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/market_data_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/openai_image_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/runway_video_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/clients/warehouse_erp_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/cloud_memory.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/command_safety.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/computer_use_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/dashboard_generator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/data_analysis_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/data_cleaner.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/data_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/base.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/router.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/akshare_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/alpha_vantage_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/edgar_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/finnhub_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/fred_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/tushare_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/web_scraper_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/world_bank_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/datasources/sources/yfinance_source.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/demo_player.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/doctor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/backtest_engine.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/backtest_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/finance_formulas.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/portfolio_ledger.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/domain/strategy_vault.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/behavior.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/gap.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/harness.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/review_probe.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/runner.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/evals/summary.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/external_agent_runner.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/figma_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/file_analysis_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/finance_formulas.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/football_data_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/image_gen_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/intent_classifier.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/kling_video_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/licensing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/local_finance_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/local_image_provider.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/local_llm_provider.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/macro_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/markdown_pdf.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/market_data_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/mcp_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/memory_manager.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/model_capability.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/notification_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/openai_image_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/adk_bridge/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/adk_bridge/code_review_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/adk_bridge/market_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_agents/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_agents/manifest.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/architecture.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/export.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/manifest.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/paths.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_core/secure_file.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_infra/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_infra/arthera.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_infra/doctor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_infra/product.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/bridge.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/circuit.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/config.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/installer.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/server.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_mcp/tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/providers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/streaming.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_sdk/types.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/cache.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/context.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/context_checkpoints.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/data.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/provider_health.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/references.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/research_protocol.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/research_quality.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/settings.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_services/usage.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_skills/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_skills/catalog.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_skills/loader.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_skills/registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/_paths.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/compliance.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/factors.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/risk_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/financial/strategy.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/aria_tools/registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/_namespace.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/backtest/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/backtest/core.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/backtest/engine.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/portfolio/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/portfolio/optimizer.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/calibrator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/dixon_coles.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/elo.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/form.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/h2h.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/ml_model.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/predictor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/sports/tracker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/gbm_enhanced.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/ito_calculus.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/kelly_criterion.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/monte_carlo_advanced.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/options_pricing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packages/quant_engine/stochastic/stochastic_processes.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/base.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/finance/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/logistics/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/payments/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/realty/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/packs/rules.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/plan_utils.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/plugin_loader.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/portfolio_ledger.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/preview_server.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/privacy/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/privacy/feedback.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/project_review.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/project_review_api.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/project_review_server.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/project_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/anthropic.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/autoconfig.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/base.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/custom.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/ollama.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/openai_compat.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/llm/registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/local_image_provider.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/local_llm_provider.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/providers/tool_messages.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/realty_data_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/relay_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/report_exporters.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/report_generator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/review_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/acceptance.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/approval.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/budget.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/checkpoints.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/contract.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/crash_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/events.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/gateway.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/lsp.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/native_index.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/orchestrator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/processes.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/review.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/run_state.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/run_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/self_healing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/semantic_diff.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/subagent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/symbol_edit.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/task_ledger.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/task_orchestrator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/task_worktree.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/tool_executor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/tool_policy.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/transactions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/windows_job.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/workflows.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runtime/worktrees.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/runway_video_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/client_isolation.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/permissions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/risk.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/sandbox.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/safety/service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/setup_wizard.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/spreadsheet_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/strategy_vault.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/artifact_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/broker_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/build_quant_engine.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/code_audit_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/computer_use_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/data_analysis_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/enterprise_finance_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/extended_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/file_analysis_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/image_gen_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/local_finance_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_carriers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_inventory.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_io.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_tenancy.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/logistics_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/macro_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/notification_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/project_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/realty_data_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/spreadsheet_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/tools/stripe_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/training/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/training/compare.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/training/sft_dataset.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/banner.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/completer.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/console.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/input_box.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/mentions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/picker.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/actions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/finance.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/market.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/output.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/responsive.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/render/team.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/robot.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/ui/startup_dashboard.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/utils/vscode_uri.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/video_analysis.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/video_editor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace/__init__.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace/files.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace/verify.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace_changes.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace_context.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code/workspace_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/SOURCES.txt +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/dependency_links.txt +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/entry_points.txt +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/requires.txt +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/src/aria_code.egg-info/top_level.txt +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_action_view.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_adk_market_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_agent_key_points_language.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_agent_team_fallback.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_analyze_file_tool.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_architecture_ledger_is_true.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_architecture_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_aria_cli_core.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_aria_mcp_server.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_aria_sdk.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_artifact_publishing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_artifacts_and_reports.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ashare_prediction_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_background_processes.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_backtest_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_backtest_engine.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_backtest_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_backtest_runs_what_it_names.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_binary_bundles_runtime_imports.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broken_akshare_is_optional.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_automation.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_chat_confirm_gate.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_planning.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_safety.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_broker_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_budget.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_business_workflow_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_callback_provider_cleanup.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_canva_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_canvas_cmds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_card_approvals.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_change_contract.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_channel_intake.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_channels.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_chart_handlers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_chat_bots_fail_closed.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_chat_routing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_checkpoints_since.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ci_security_workflow.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_app_split.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_bootstrap.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_config_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_lifecycle_hooks.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_runtime_consumer.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_tool_executor_module.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cli_updater.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_client_isolation_guard.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_cloud_memory.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_code_audit_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_code_review_agent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_codegen_output.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_coder_tester_self_healing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_coder_tool_safety.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_collaboration.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_command_loggers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_command_safety.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_compare_strategies.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_completions_builder.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_config_paths.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_configured_provider.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_container_entrypoint.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_container_entrypoints.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_context_checkpoints.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_context_references.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_context_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_conversation_core.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_crash_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_credential_file_permissions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_custom_providers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_daemon_gateway_config.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_dashboard_generator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_data_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_data_service_imports.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_data_without_model.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_datasource_routing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_deep_analysis.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_degrades_without_quant_engine.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_delivery_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_dispatcher_pins_match_the_release.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_doctor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_doctor_describes_the_current_install.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_doctor_npm_scope.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_doctor_sandbox.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_edit_and_command_safety.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_engine_boundary.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_english_output_group.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_enterprise_tool_honesty.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_env_switch_docs.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_behavior.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_hard_suite.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_holdout.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_summary.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_task_bank.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_eval_trajectories.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_evals_harness.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_event_import_roots.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_exec_events.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_extended_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_feishu_swarm_config.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_file_links.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_finalize_release.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_finance_renderers.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_finance_service_catalog.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_first_run_output.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_first_run_works.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_football_agent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_football_prediction_output.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_frozen_module_aliases.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_gemini_retirement.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_google_cloud_models.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_google_cloud_routing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_google_login.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_google_search_provider.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_headless_command_approval.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_headless_is_agentic.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_honest_surfaces.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_image_gen_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_image_inputs.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_import_aliasing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_import_graph_budget.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_intent_router.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_intent_signals.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_kling_video_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_lazy_rebind.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_legacy_module_imports.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_license_consistency.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_licensing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_linux_sandbox_integration.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_local_image_provider.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_local_workspace_execution.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_logistics_3pl.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_logistics_and_finance_agents.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_lsp.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_markdown_pdf.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_answers_in_english.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_data_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_history_inheritance.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_history_tool.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_hours.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_questions_on_backend.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_symbol_extraction.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_market_universe.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_mcp_circuit.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_mcp_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_mentions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_model_capability_registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_model_choice_is_the_users.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_model_probe.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_model_selection_state.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_narrow_chinese_output.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_native_binary_entrypoints.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_native_bridge.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_native_installer.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_natural_language_routing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_new_modules.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_no_hardcoded_developer_paths.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_no_tools_route.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_no_uncommitted_imports.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_numeric_listings.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ollama_stream_imports.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ollama_stream_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_openai_image_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_operations_suite.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_os_sandbox.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_output_discipline_prompt.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_output_rendering.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_packages_facade.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_packaging_constraints.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_packaging_manifest.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_packs_domains.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_pdf_report.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_pick_best_installed_model.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_plan_mode.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_platform_package_assembly.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_platform_packages.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_platform_publish.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_plotly_html_output.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_portfolio_language.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_portfolio_ledger.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_post_turn_context_decision.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_preflight.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_preview_server.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_privacy_feedback.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_aria.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_context_files.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_graph.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_review.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_project_review_api.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_prompt_assembly.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_prompt_dates.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_prompt_selection.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_autoconfig.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_error_classification.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_error_messages.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_integration.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_provider_registry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_public_service_status.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_quant_engine_namespace.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rebind_contract.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rebind_namespace_contract.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_client_credentials.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_contract.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_event_verification.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_sends_for_clients.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_relay_url.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_badges.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_chain.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_commit_identity.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_download.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_push_is_atomic.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_reaches_the_registries.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_verification_waits.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_release_workflow_permissions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_report_charts.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_report_generator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_report_prompt_language.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_research_protocol.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_research_quality.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_responsive_rendering.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_review_gate.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_review_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_risk_approval.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_risk_assessment.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_risk_earnings_ops.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_robot_artwork.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_root_module_budget.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rsi_without_pandas_ta.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_run_store_redaction.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_acceptance.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_approval.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_bridge.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_bridge_fallback.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_checkpoints.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_event_identity.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_gateway.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_repo_map.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_run_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_tool_executor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runtime_worktrees.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_runway_video_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rust_cli.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_rust_state.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_safety_permissions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_safety_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_safety_service_adoption.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_semantic_diff.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_service_diagnostics_security.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_session_search.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_settings_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_shell_commands_as_written.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_shipper_digest.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_single_import_root.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_skill_agent_binding.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_skill_catalog.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_skill_loader.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_slash_popup.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_spreadsheet_tools.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_sse_http_roundtrip.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_sse_stream_contract.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_startup_dashboard.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_startup_keeps_cloud_model.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_startup_latency.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_status_language.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_streaming_pipeline.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_stripe_agent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_subagent.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_subagent_workspace.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_supervisor_routing.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_symbol_edit.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_system_prompts.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_system_tools_output.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_task_isolation_turn.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_task_orchestrator.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_task_restore_startup.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_task_worktree.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_team_analysts.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_team_synthesis.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_terminal_mixins.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_terminal_snapshots.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tls_trust_store.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tool_policy.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tool_rounds_on_openai_apis.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tool_scope.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tool_step_output.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_trading_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_tradingview_bridge.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_training_pipeline.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_transactions.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_transactions_turn.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_turn_planning.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_completer_references.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_console_theme.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_input_box.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_language_and_model.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_ui_robot_banner.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_update_health_routes.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_verification_hint.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_verification_policy.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_verification_runner_selection.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_version_consistency.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_version_counter.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vertex_busy_retry.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vertex_empty_rounds.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vertex_models.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vertexai_tool_history.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_video_analysis.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_video_editor.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_vscode_mcp.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_warehouse_agents.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_warehouse_cli_registration.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_warehouse_erp_client.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_warehouse_workflow.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_wheel_is_installable.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workflows.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_changes.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_context.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_files.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_scope.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_service.py +0 -0
- {aria_code-0.131.0 → aria_code-0.133.0}/tests/test_workspace_verify.py +0 -0
- {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.
|
|
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.
|
|
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&query=%24.info.version&prefix=v&style=flat-square&logo=pypi&label=PyPI&color=blue&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.
|
|
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&query=%24.info.version&prefix=v&style=flat-square&logo=pypi&label=PyPI&color=blue&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.
|
|
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" }
|
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
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&query=%24.info.version&prefix=v&style=flat-square&logo=pypi&label=PyPI&color=blue&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
|
-
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|