aria-code 0.56.0__tar.gz → 0.57.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aria_code-0.56.0 → aria_code-0.57.0}/PKG-INFO +9 -8
- {aria_code-0.56.0 → aria_code-0.57.0}/README.md +4 -4
- {aria_code-0.56.0 → aria_code-0.57.0}/pyproject.toml +15 -7
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/_version.py +1 -1
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/core_cmds.py +1 -1
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/diagnostic_ops_cmds.py +1 -1
- aria_code-0.57.0/src/aria_code/apps/cli/commands/warehouse_cmds.py +208 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/github_app_auth.py +2 -2
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/system_tools.py +2 -2
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_cli.py +13 -3
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/doctor.py +35 -3
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/logistics/__init__.py +2 -0
- aria_code-0.57.0/src/aria_code/tools/logistics_carriers.py +248 -0
- aria_code-0.57.0/src/aria_code/tools/logistics_inventory.py +242 -0
- aria_code-0.57.0/src/aria_code/tools/logistics_io.py +113 -0
- aria_code-0.57.0/src/aria_code/tools/logistics_tenancy.py +114 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/logistics_tools.py +22 -3
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/PKG-INFO +9 -8
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/SOURCES.txt +7 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/requires.txt +1 -0
- aria_code-0.57.0/tests/test_first_run_works.py +171 -0
- aria_code-0.57.0/tests/test_logistics_3pl.py +425 -0
- aria_code-0.57.0/tests/test_release_commit_identity.py +70 -0
- aria_code-0.56.0/src/aria_code/apps/cli/commands/warehouse_cmds.py +0 -79
- {aria_code-0.56.0 → aria_code-0.57.0}/LICENSE +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/NOTICE +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/setup.cfg +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/aria_code_review/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/aria_code_review/agent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/aria_research/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/adk_apps/aria_research/agent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/base.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/code_review.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/calibration_loop.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/critic.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/deepen.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/models.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/pipeline.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/quant_fusion.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/themes.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/deep/tiers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/engineering/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/engineering/coder.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/engineering/tester.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/cashflow_burn.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/catalyst.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/corporate_finance.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/debate.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/earnings.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/fundamental.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/macro.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/news.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/risk.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/sector.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/strategist.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/stripe_revenue.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/synthesis.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/financial/technical.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/orchestrator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/portfolio_agent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/asset_diagnosis.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/business_match.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/cashflow_verify.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/contract_rules.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/energy_anomaly.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/exit_settlement.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/fulfillment_risk.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/ops_optimize.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/realty/revenue_share.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/signal_scheme.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/sports/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/sports/football_agent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/supervisor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/team.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/contracts.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/dashboard.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/fulfillment_leadtime.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/inbound_exceptions.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/inventory_health.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/local_run.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/local_snapshot.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/logistics_cost.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/logistics_sync.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/agents/warehouse/workflow.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aliyun_data_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/README.md +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/README.md +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/intake.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/channels/tradingview.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/README.md +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/_optional.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/bootstrap.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/broker_render.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/codegen_paths.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/_business_render.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/_ui.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/analysis_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/ashare_prediction_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/auth_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/backtest_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/broker_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/business_workflow_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/canvas_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/catalog.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/data_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/diagnostic_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/file_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/finance_service_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/fx_commodity_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/market.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/market_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/market_context.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/market_render.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/model_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/ops_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/orchestrator_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/pdf_export_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/portfolio_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/scaffold_templates.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/session_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/session_ux_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/team.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/team_render.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/ui_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/workflow_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/workspace_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/config_paths.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/config_store.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/constants.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/context.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/deterministic.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/direct.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/finance_service_catalog.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/football_reports.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/google_login.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/broker_handlers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/chart_handlers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/market_handlers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/realty_handlers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/sports_handlers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/handlers/strategy_advice.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/helpers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/hooks.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/i18n.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/intent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/intent_router.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/intent_signals.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/lifecycle_hooks.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/local_tool_schemas.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/main.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/market_metadata.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/market_universe.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/message_processing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/model_catalog.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/pdf_report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/plan_mode.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/plotly_html.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prediction_feedback.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/preflight.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/project_aria.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompt_assembly.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/coding.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/select.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/system_prompts.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/prompts/ui.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/provider_endpoints.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/provider_keys.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/base.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/chat_routing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/collaboration.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/offline_responses.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/ollama_stream.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/response_cache.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/llm/sse_stream.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/runtime_bridge.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/providers/vertexai_stream.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/runtime_consumer.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/sandbox.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/session_export.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/session_jsonl.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/session_store.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/skills_catalog.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/todo_tracker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tool_executor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tool_registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tool_scope.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/context.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/file_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/market_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/notebook_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tools/write_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/tradingview_bridge.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/turn_planning.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/update_check.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/utils/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/utils/market_detect.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/daemon/README.md +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/vscode/README.md +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/vscode/package.json +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_daemon.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_feishu_bot.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_mcp_server.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_relay_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_relay_server.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/aria_telegram_bot.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ariarc.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/artifacts.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/backtest_engine.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/backtest_report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/automation.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/base.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/capabilities.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/easytrader_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/futu_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/longbridge_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/tiger_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/cn/xtquant_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/config.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/alpaca_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/ibkr_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/trading212_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/intl/webull_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/paper_broker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/planning.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/brokers/trading.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/canva_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/change_store.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/aliyun_data_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/aria_relay_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/canva_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/figma_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/football_data_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/kling_video_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/market_data_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/openai_image_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/runway_video_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/clients/warehouse_erp_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/cloud_memory.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/command_safety.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/computer_use_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/dashboard_generator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/data_analysis_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/data_cleaner.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/data_service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/base.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/router.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/akshare_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/alpha_vantage_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/edgar_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/finnhub_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/fred_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/tushare_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/web_scraper_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/world_bank_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/datasources/sources/yfinance_source.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/demo_player.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/backtest_engine.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/backtest_report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/finance_formulas.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/portfolio_ledger.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/domain/strategy_vault.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/evals/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/evals/harness.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/evals/runner.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/external_agent_runner.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/figma_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/file_analysis_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/finance_formulas.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/football_data_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/image_gen_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/intent_classifier.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/kling_video_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/licensing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/local_finance_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/local_image_provider.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/local_llm_provider.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/macro_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/markdown_pdf.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/market_data_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/mcp_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/memory_manager.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/model_capability.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/notification_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/openai_image_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/adk_bridge/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/adk_bridge/code_review_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/adk_bridge/market_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_agents/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_agents/manifest.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/architecture.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/export.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/manifest.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/paths.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_core/secure_file.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_infra/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_infra/arthera.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_infra/doctor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_infra/product.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/bridge.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/circuit.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/config.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/installer.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/server.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_mcp/tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/providers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/streaming.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_sdk/types.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/cache.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/context.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/context_checkpoints.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/data.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/provider_health.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/references.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/research_protocol.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/research_quality.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/settings.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_services/usage.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_skills/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_skills/catalog.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_skills/loader.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_skills/registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/_paths.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/compliance.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/factors.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/risk_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/financial/strategy.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/aria_tools/registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/_namespace.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/backtest/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/backtest/core.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/backtest/engine.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/portfolio/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/portfolio/optimizer.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/calibrator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/dixon_coles.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/elo.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/form.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/h2h.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/ml_model.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/predictor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/sports/tracker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/gbm_enhanced.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/ito_calculus.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/kelly_criterion.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/monte_carlo_advanced.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/options_pricing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packages/quant_engine/stochastic/stochastic_processes.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/base.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/finance/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/payments/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/realty/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/packs/rules.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/plan_utils.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/plugin_loader.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/portfolio_ledger.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/preview_server.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/privacy/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/privacy/feedback.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/project_review.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/project_review_api.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/project_review_server.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/project_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/anthropic.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/autoconfig.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/base.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/custom.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/ollama.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/openai_compat.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/llm/registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/local_image_provider.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/providers/local_llm_provider.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/realty_data_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/report_exporters.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/report_generator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/acceptance.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/agent_loop.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/approval.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/budget.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/checkpoints.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/crash_report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/events.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/gateway.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/lsp.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/orchestrator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/repo_map.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/run_state.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/run_store.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/self_healing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/subagent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/task_ledger.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/task_orchestrator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/tool_executor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/tool_policy.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runtime/worktrees.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/runway_video_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/safety/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/safety/permissions.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/safety/service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/setup_wizard.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/spreadsheet_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/strategy_vault.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/artifact_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/broker_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/build_quant_engine.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/code_audit_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/computer_use_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/data_analysis_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/enterprise_finance_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/extended_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/file_analysis_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/image_gen_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/local_finance_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/macro_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/notification_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/project_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/realty_data_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/spreadsheet_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/tools/stripe_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/banner.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/completer.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/console.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/image_render.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/input_box.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/picker.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/finance.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/market.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/output.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/responsive.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/render/team.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/robot.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/ui/startup_dashboard.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/utils/vscode_uri.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/video_analysis.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/video_editor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace/__init__.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace/files.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace/verify.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace_changes.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace_context.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace_service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/workspace_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/dependency_links.txt +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/entry_points.txt +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code.egg-info/top_level.txt +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_adk_market_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_agent_team_fallback.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_analyze_file_tool.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_architecture_ledger_is_true.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_architecture_report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_aria_cli_core.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_aria_mcp_server.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_aria_sdk.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_artifact_publishing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_artifacts_and_reports.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ashare_prediction_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_backtest_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_backtest_engine.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_backtest_report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_automation.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_chat_confirm_gate.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_planning.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_safety.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_broker_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_budget.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_business_workflow_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_canva_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_canvas_cmds.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_channel_intake.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_channels.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_chart_handlers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_chat_routing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ci_security_workflow.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_app_split.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_bootstrap.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_config_store.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_lifecycle_hooks.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_runtime_consumer.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cli_tool_executor_module.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_cloud_memory.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_code_audit_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_code_review_agent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_codegen_output.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_coder_tester_self_healing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_coder_tool_safety.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_collaboration.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_command_loggers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_command_safety.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_completions_builder.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_config_paths.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_configured_provider.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_container_entrypoint.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_container_entrypoints.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_context_checkpoints.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_context_references.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_context_service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_crash_report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_credential_file_permissions.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_custom_providers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_daemon_gateway_config.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_dashboard_generator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_data_service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_data_service_imports.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_datasource_routing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_deep_analysis.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_degrades_without_quant_engine.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_dispatcher_pins_match_the_release.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_doctor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_doctor_describes_the_current_install.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_doctor_npm_scope.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_engine_boundary.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_enterprise_tool_honesty.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_env_switch_docs.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_evals_harness.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_extended_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_feishu_swarm_config.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_finance_renderers.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_finance_service_catalog.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_football_agent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_football_prediction_output.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_google_cloud_routing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_google_login.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_google_search_provider.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_headless_is_agentic.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_image_gen_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_image_inputs.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_import_graph_budget.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_intent_router.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_intent_signals.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_kling_video_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_lazy_rebind.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_legacy_module_imports.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_license_consistency.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_licensing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_local_image_provider.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_logistics_and_finance_agents.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_lsp.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_markdown_pdf.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_data_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_history_inheritance.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_history_tool.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_symbol_extraction.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_market_universe.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_mcp_circuit.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_mcp_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_model_capability_registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_model_choice_is_the_users.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_model_selection_state.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_native_binary_entrypoints.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_native_installer.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_new_modules.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_no_hardcoded_developer_paths.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_no_uncommitted_imports.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ollama_stream_imports.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ollama_stream_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_openai_image_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_output_rendering.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_packages_facade.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_packaging_constraints.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_packaging_manifest.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_packs_domains.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_pdf_report.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_pick_best_installed_model.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_plan_mode.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_platform_package_assembly.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_platform_packages.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_plotly_html_output.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_portfolio_ledger.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_post_turn_context_decision.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_preflight.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_preview_server.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_privacy_feedback.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_project_aria.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_project_review.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_project_review_api.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_prompt_assembly.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_prompt_selection.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_provider_autoconfig.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_provider_error_messages.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_provider_integration.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_provider_registry.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_public_service_status.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_quant_engine_namespace.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_rebind_contract.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_rebind_namespace_contract.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_relay_event_verification.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_release_chain.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_release_push_is_atomic.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_release_reaches_the_registries.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_release_workflow_permissions.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_report_charts.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_report_generator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_research_protocol.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_research_quality.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_responsive_rendering.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_root_module_budget.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_acceptance.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_agent_loop.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_approval.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_bridge.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_bridge_fallback.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_checkpoints.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_gateway.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_repo_map.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_run_store.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_tool_executor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runtime_worktrees.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_runway_video_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_safety_permissions.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_safety_service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_safety_service_adoption.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_service_diagnostics_security.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_session_search.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_settings_service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_single_import_root.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_skill_agent_binding.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_skill_catalog.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_skill_loader.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_spreadsheet_tools.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_sse_stream_contract.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_startup_dashboard.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_streaming_pipeline.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_stripe_agent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_subagent.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_supervisor_routing.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_system_prompts.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_system_tools_output.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_task_orchestrator.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_team_synthesis.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_tls_trust_store.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_tool_policy.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_tool_scope.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_trading_service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_tradingview_bridge.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_turn_planning.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ui_completer_references.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ui_console_theme.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ui_input_box.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_ui_robot_banner.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_verification_hint.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_verification_policy.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_version_consistency.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_version_counter.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_video_analysis.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_video_editor.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_vscode_mcp.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_warehouse_agents.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_warehouse_cli_registration.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_warehouse_erp_client.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_warehouse_workflow.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_wheel_is_installable.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_changes.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_context.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_files.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_scope.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_service.py +0 -0
- {aria_code-0.56.0 → aria_code-0.57.0}/tests/test_workspace_verify.py +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aria-code
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.57.0
|
|
4
4
|
Summary: AI coding and research workspace with optional finance and connected-domain tools
|
|
5
5
|
License: Apache-2.0
|
|
6
|
-
Project-URL: Homepage, https://github.com/
|
|
7
|
-
Project-URL: Repository, https://github.com/
|
|
8
|
-
Project-URL: Issues, https://github.com/
|
|
6
|
+
Project-URL: Homepage, https://github.com/artheras/aria-code
|
|
7
|
+
Project-URL: Repository, https://github.com/artheras/aria-code
|
|
8
|
+
Project-URL: Issues, https://github.com/artheras/aria-code/issues
|
|
9
9
|
Keywords: ai,llm,coding-agent,research,finance,terminal,cli
|
|
10
10
|
Classifier: Development Status :: 4 - Beta
|
|
11
11
|
Classifier: Environment :: Console
|
|
@@ -23,6 +23,7 @@ Requires-Python: <3.14,>=3.10
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
License-File: NOTICE
|
|
26
|
+
Requires-Dist: google-genai>=1.0.0
|
|
26
27
|
Requires-Dist: aiohttp>=3.9.0
|
|
27
28
|
Requires-Dist: rich>=13.7.0
|
|
28
29
|
Requires-Dist: prompt_toolkit>=3.0.43
|
|
@@ -167,7 +168,7 @@ Work in your project, use local or cloud models, and connect domain tools when y
|
|
|
167
168
|
<p align="center">
|
|
168
169
|
<a href="https://www.npmjs.com/package/@artheras/aria-code"><img src="https://img.shields.io/npm/v/@artheras/aria-code?style=flat-square&logo=npm&label=npm" alt="npm version"></a>
|
|
169
170
|
<a href="https://pypi.org/project/aria-code/"><img src="https://img.shields.io/pypi/v/aria-code?style=flat-square&logo=pypi&label=PyPI" alt="PyPI version"></a>
|
|
170
|
-
<a href="https://github.com/
|
|
171
|
+
<a href="https://github.com/artheras/aria-code/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/artheras/aria-code/ci.yml?branch=main&style=flat-square&logo=githubactions&label=CI" alt="CI status"></a>
|
|
171
172
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-64748b?style=flat-square" alt="Apache License 2.0"></a>
|
|
172
173
|
</p>
|
|
173
174
|
|
|
@@ -185,18 +186,18 @@ The same core runtime is used by the CLI and other Aria surfaces. Model choice a
|
|
|
185
186
|
Install the standalone CLI on macOS or Linux without Python, Node.js, or npm:
|
|
186
187
|
|
|
187
188
|
```bash
|
|
188
|
-
curl -fsSL https://raw.githubusercontent.com/
|
|
189
|
+
curl -fsSL https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.sh | sh
|
|
189
190
|
~/.local/bin/aria-code --help
|
|
190
191
|
```
|
|
191
192
|
|
|
192
193
|
On Windows x64, run this in PowerShell:
|
|
193
194
|
|
|
194
195
|
```powershell
|
|
195
|
-
irm https://raw.githubusercontent.com/
|
|
196
|
+
irm https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.ps1 | iex
|
|
196
197
|
aria-code --help
|
|
197
198
|
```
|
|
198
199
|
|
|
199
|
-
The installer downloads the binary for your OS from the latest [GitHub release](https://github.com/
|
|
200
|
+
The installer downloads the binary for your OS from the latest [GitHub release](https://github.com/artheras/aria-code/releases/latest), checks its SHA-256 digest, and installs it in your user account. Open a new terminal to use `aria-code` by name on macOS or Linux. Set `ARIA_CODE_VERSION=v0.55.0` to pin a release.
|
|
200
201
|
|
|
201
202
|
Alternative package-manager installs: `npm install -g @artheras/aria-code` (requires npm) or `python3 -m pip install --upgrade aria-code` (requires Python 3.10+). For development from source, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
202
203
|
|
|
@@ -15,7 +15,7 @@ Work in your project, use local or cloud models, and connect domain tools when y
|
|
|
15
15
|
<p align="center">
|
|
16
16
|
<a href="https://www.npmjs.com/package/@artheras/aria-code"><img src="https://img.shields.io/npm/v/@artheras/aria-code?style=flat-square&logo=npm&label=npm" alt="npm version"></a>
|
|
17
17
|
<a href="https://pypi.org/project/aria-code/"><img src="https://img.shields.io/pypi/v/aria-code?style=flat-square&logo=pypi&label=PyPI" alt="PyPI version"></a>
|
|
18
|
-
<a href="https://github.com/
|
|
18
|
+
<a href="https://github.com/artheras/aria-code/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/artheras/aria-code/ci.yml?branch=main&style=flat-square&logo=githubactions&label=CI" alt="CI status"></a>
|
|
19
19
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-64748b?style=flat-square" alt="Apache License 2.0"></a>
|
|
20
20
|
</p>
|
|
21
21
|
|
|
@@ -33,18 +33,18 @@ The same core runtime is used by the CLI and other Aria surfaces. Model choice a
|
|
|
33
33
|
Install the standalone CLI on macOS or Linux without Python, Node.js, or npm:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
curl -fsSL https://raw.githubusercontent.com/
|
|
36
|
+
curl -fsSL https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.sh | sh
|
|
37
37
|
~/.local/bin/aria-code --help
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
On Windows x64, run this in PowerShell:
|
|
41
41
|
|
|
42
42
|
```powershell
|
|
43
|
-
irm https://raw.githubusercontent.com/
|
|
43
|
+
irm https://raw.githubusercontent.com/artheras/aria-code/main/scripts/install.ps1 | iex
|
|
44
44
|
aria-code --help
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
The installer downloads the binary for your OS from the latest [GitHub release](https://github.com/
|
|
47
|
+
The installer downloads the binary for your OS from the latest [GitHub release](https://github.com/artheras/aria-code/releases/latest), checks its SHA-256 digest, and installs it in your user account. Open a new terminal to use `aria-code` by name on macOS or Linux. Set `ARIA_CODE_VERSION=v0.55.0` to pin a release.
|
|
48
48
|
|
|
49
49
|
Alternative package-manager installs: `npm install -g @artheras/aria-code` (requires npm) or `python3 -m pip install --upgrade aria-code` (requires Python 3.10+). For development from source, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
50
50
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "aria-code"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.57.0"
|
|
8
8
|
description = "AI coding and research workspace with optional finance and connected-domain tools"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "Apache-2.0" }
|
|
@@ -45,6 +45,14 @@ classifiers = [
|
|
|
45
45
|
# parsers, the SQL engine and chart renderer are optional extras below — the
|
|
46
46
|
# code already lazy-imports them and degrades gracefully when absent.
|
|
47
47
|
dependencies = [
|
|
48
|
+
# The default model's client. DEFAULT_MODEL is google/gemini-2.5-pro, and
|
|
49
|
+
# this used to be the optional `google` extra — so a plain
|
|
50
|
+
# `pip install aria-code` failed on the very first prompt with "Gemini/Vertex
|
|
51
|
+
# AI 需要 google-genai,当前未安装". The comment above that extra said as
|
|
52
|
+
# much ("a default install that cannot import this has no working model at
|
|
53
|
+
# all") while it stayed optional. tests/test_first_run_works.py now fails if
|
|
54
|
+
# the default model's client is not a core dependency.
|
|
55
|
+
"google-genai>=1.0.0",
|
|
48
56
|
# CLI runtime
|
|
49
57
|
"aiohttp>=3.9.0",
|
|
50
58
|
"rich>=13.7.0",
|
|
@@ -79,9 +87,9 @@ crypto = ["ccxt>=4.4.0"] # crypto exchanges (large dep tree)
|
|
|
79
87
|
# ── Feature add-ons ────────────────────────────────────────────────────────────
|
|
80
88
|
charts = ["mplfinance>=0.12.10b0"] # candlestick charts in /report /chart
|
|
81
89
|
|
|
82
|
-
# Gemini / Vertex AI.
|
|
83
|
-
#
|
|
84
|
-
#
|
|
90
|
+
# Gemini / Vertex AI. Now a core dependency (see the top of `dependencies`);
|
|
91
|
+
# the extra is kept so `pip install 'aria-code[google]'` in existing scripts
|
|
92
|
+
# and docs keeps working.
|
|
85
93
|
google = ["google-genai>=1.0.0"]
|
|
86
94
|
data = ["duckdb>=0.10.3"] # in-process SQL: /data sql "SELECT …"
|
|
87
95
|
files = [ # /file load + /file analyze document parsing
|
|
@@ -204,9 +212,9 @@ aria-code = "aria_code.apps.cli.main:main"
|
|
|
204
212
|
aria-code-mcp = "aria_code.aria_mcp_server:main"
|
|
205
213
|
|
|
206
214
|
[project.urls]
|
|
207
|
-
Homepage = "https://github.com/
|
|
208
|
-
Repository = "https://github.com/
|
|
209
|
-
Issues = "https://github.com/
|
|
215
|
+
Homepage = "https://github.com/artheras/aria-code"
|
|
216
|
+
Repository = "https://github.com/artheras/aria-code"
|
|
217
|
+
Issues = "https://github.com/artheras/aria-code/issues"
|
|
210
218
|
|
|
211
219
|
# ── Package discovery ──────────────────────────────────────────────────────────
|
|
212
220
|
[tool.setuptools]
|
|
@@ -1050,7 +1050,7 @@ class CoreCommandsMixin:
|
|
|
1050
1050
|
return
|
|
1051
1051
|
|
|
1052
1052
|
if sub == "policy":
|
|
1053
|
-
url = "https://github.com/
|
|
1053
|
+
url = "https://github.com/artheras/aria-code/blob/main/PRIVACY.md"
|
|
1054
1054
|
local = pathlib.Path(__file__).resolve().parent / "PRIVACY.md"
|
|
1055
1055
|
lines = [
|
|
1056
1056
|
"Aria Code is local-first: by default nothing is collected or uploaded.",
|
{aria_code-0.56.0 → aria_code-0.57.0}/src/aria_code/apps/cli/commands/diagnostic_ops_cmds.py
RENAMED
|
@@ -152,7 +152,7 @@ class DiagnosticOpsCommandsMixin:
|
|
|
152
152
|
env = (f"v{_get___version__()} · {_pf.system()} · py{_pf.python_version()} · "
|
|
153
153
|
f"model={self.terminal.config.get('model','')}")
|
|
154
154
|
self.terminal._record_feedback("bug", ctx, comment=f"{desc}\n\n[env] {env}")
|
|
155
|
-
gh = "https://github.com/
|
|
155
|
+
gh = "https://github.com/artheras/aria-code/issues"
|
|
156
156
|
if self.context.has_rich:
|
|
157
157
|
self.context.console.print(" [#C08050]✓ 已记录问题(本地)[/#C08050]")
|
|
158
158
|
self.context.console.print(f" [dim]上传需 /privacy opt-in · 或直接提 issue: {gh}[/dim]")
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"""Warehouse ERP command; globals are rebound by the legacy CLI bridge."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
import json
|
|
9
|
+
import asyncio
|
|
10
|
+
import datetime
|
|
11
|
+
import time
|
|
12
|
+
import shlex
|
|
13
|
+
from typing import Dict, Any, Optional
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
import json
|
|
17
|
+
import asyncio
|
|
18
|
+
import datetime
|
|
19
|
+
import time
|
|
20
|
+
import shlex
|
|
21
|
+
import sys
|
|
22
|
+
import os
|
|
23
|
+
from typing import Dict, Any, Optional
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
import json
|
|
27
|
+
import asyncio
|
|
28
|
+
import datetime
|
|
29
|
+
import time
|
|
30
|
+
import shlex
|
|
31
|
+
import sys
|
|
32
|
+
import os
|
|
33
|
+
from typing import Dict, Any, Optional
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class WarehouseCommandsMixin:
|
|
37
|
+
"""Read-only warehouse ERP analysis commands."""
|
|
38
|
+
|
|
39
|
+
async def cmd_warehouse(self, args: str):
|
|
40
|
+
"""Run `/warehouse <warehouse_id> [--json]` against the configured ERP."""
|
|
41
|
+
parts = args.strip().split()
|
|
42
|
+
as_json = "--json" in parts
|
|
43
|
+
identifiers = [part for part in parts if not part.startswith("--")]
|
|
44
|
+
if len(identifiers) != 1:
|
|
45
|
+
message = "用法: /warehouse <仓库编号> [--json],例如 /warehouse WH-CN-01"
|
|
46
|
+
self.context.console.print(f"[yellow]{message}[/yellow]") if self.context.has_rich else print(message)
|
|
47
|
+
return
|
|
48
|
+
|
|
49
|
+
from agents.warehouse.workflow import run_warehouse_analysis
|
|
50
|
+
from clients.warehouse_erp_client import WarehouseERPConfigurationError, WarehouseERPRequestError
|
|
51
|
+
|
|
52
|
+
try:
|
|
53
|
+
result, snapshot = await run_warehouse_analysis(identifiers[0])
|
|
54
|
+
except (WarehouseERPConfigurationError, WarehouseERPRequestError) as exc:
|
|
55
|
+
message = str(exc)
|
|
56
|
+
self.context.console.print(f"[red]{message}[/red]") if self.context.has_rich else print(message)
|
|
57
|
+
return
|
|
58
|
+
|
|
59
|
+
payload = {
|
|
60
|
+
"warehouse_id": identifiers[0],
|
|
61
|
+
"signal": result.final_signal,
|
|
62
|
+
"confidence": result.confidence,
|
|
63
|
+
"agents": [item.to_dict() for item in result.results],
|
|
64
|
+
"snapshot_counts": {key: len(snapshot.get(key, [])) for key in ("connectors", "inbounds", "skus", "locations")},
|
|
65
|
+
}
|
|
66
|
+
if as_json:
|
|
67
|
+
print(json.dumps(payload, ensure_ascii=False, indent=2))
|
|
68
|
+
return
|
|
69
|
+
|
|
70
|
+
lines = [
|
|
71
|
+
f"仓库 {identifiers[0]} · {result.final_signal} · 置信度 {result.confidence:.0%}",
|
|
72
|
+
f"货代 {payload['snapshot_counts']['connectors']} · 入库单 {payload['snapshot_counts']['inbounds']} · "
|
|
73
|
+
f"SKU {payload['snapshot_counts']['skus']} · 库位 {payload['snapshot_counts']['locations']}",
|
|
74
|
+
]
|
|
75
|
+
for item in result.results:
|
|
76
|
+
summary = item.key_points[0] if item.key_points else item.analysis
|
|
77
|
+
lines.append(f"- {item.agent}: {item.signal} — {summary}")
|
|
78
|
+
output = "\n".join(lines)
|
|
79
|
+
self.context.console.print(output) if self.context.has_rich else print(output)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _parse_logistics_args(args: str, usage: str) -> dict | None:
|
|
83
|
+
"""`<file> [--owner ID | --all-owners] [--json] [--key value]` → params, or None on misuse.
|
|
84
|
+
|
|
85
|
+
shlex, so a path with spaces can be quoted. The shipper flags map straight
|
|
86
|
+
onto the tools' owner_id / all_owners: a command never decides on its own
|
|
87
|
+
to mix two shippers' data.
|
|
88
|
+
"""
|
|
89
|
+
try:
|
|
90
|
+
tokens = shlex.split(args)
|
|
91
|
+
except ValueError:
|
|
92
|
+
return None
|
|
93
|
+
params: dict = {"_json": False}
|
|
94
|
+
positional = []
|
|
95
|
+
index = 0
|
|
96
|
+
while index < len(tokens):
|
|
97
|
+
token = tokens[index]
|
|
98
|
+
if token == "--json":
|
|
99
|
+
params["_json"] = True
|
|
100
|
+
elif token == "--all-owners":
|
|
101
|
+
params["all_owners"] = True
|
|
102
|
+
elif token in ("--owner", "--service-level", "--review-days", "--min-shipments"):
|
|
103
|
+
if index + 1 >= len(tokens):
|
|
104
|
+
return None
|
|
105
|
+
value = tokens[index + 1]
|
|
106
|
+
key = {"--owner": "owner_id", "--service-level": "service_level",
|
|
107
|
+
"--review-days": "review_period_days", "--min-shipments": "min_shipments"}[token]
|
|
108
|
+
params[key] = value
|
|
109
|
+
index += 1
|
|
110
|
+
elif token.startswith("--"):
|
|
111
|
+
return None
|
|
112
|
+
else:
|
|
113
|
+
positional.append(token)
|
|
114
|
+
index += 1
|
|
115
|
+
if len(positional) != 1:
|
|
116
|
+
return None
|
|
117
|
+
params["file_path"] = positional[0]
|
|
118
|
+
return params
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def _emit(self, text: str, style: str = "") -> None:
|
|
122
|
+
if self.context.has_rich and style:
|
|
123
|
+
self.context.console.print(f"[{style}]{text}[/{style}]")
|
|
124
|
+
elif self.context.has_rich:
|
|
125
|
+
self.context.console.print(text)
|
|
126
|
+
else:
|
|
127
|
+
print(text)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class LogisticsCommandsMixin:
|
|
131
|
+
"""3PL inventory and carrier analyses, run directly on a CSV/JSON file.
|
|
132
|
+
|
|
133
|
+
These are direct commands rather than only model tools because the
|
|
134
|
+
logistics pack, by design, activates only on verifiable identifiers (a
|
|
135
|
+
waybill or container number with a valid check digit). "Work out my
|
|
136
|
+
reorder points" carries neither, so the model would not be offered the
|
|
137
|
+
tool; a 3PL operator needs a way in that does not depend on that.
|
|
138
|
+
"""
|
|
139
|
+
|
|
140
|
+
_INVENTORY_USAGE = ("用法: /inventory <skus.csv|json> [--owner 货主ID | --all-owners] "
|
|
141
|
+
"[--service-level 0.95] [--review-days 7] [--json]")
|
|
142
|
+
_CARRIERS_USAGE = ("用法: /carriers <waybills.csv|json> [--owner 货主ID | --all-owners] "
|
|
143
|
+
"[--min-shipments 20] [--json]")
|
|
144
|
+
|
|
145
|
+
async def cmd_inventory(self, args: str):
|
|
146
|
+
"""Reorder points, safety stock, ABC/XYZ and dead stock for one shipper."""
|
|
147
|
+
params = _parse_logistics_args(args, self._INVENTORY_USAGE)
|
|
148
|
+
if params is None:
|
|
149
|
+
_emit(self, self._INVENTORY_USAGE, "yellow")
|
|
150
|
+
return
|
|
151
|
+
from aria_code.tools.logistics_inventory import tool_plan_inventory_policy
|
|
152
|
+
|
|
153
|
+
as_json = params.pop("_json")
|
|
154
|
+
result = tool_plan_inventory_policy(params)
|
|
155
|
+
if as_json:
|
|
156
|
+
print(json.dumps(result, ensure_ascii=False, indent=2))
|
|
157
|
+
return
|
|
158
|
+
if not result["success"]:
|
|
159
|
+
_emit(self, result["error"], "red")
|
|
160
|
+
return
|
|
161
|
+
data = result["data"]
|
|
162
|
+
if not data["scope"]["client_facing"]:
|
|
163
|
+
_emit(self, data["scope"]["marker"], "bold red")
|
|
164
|
+
_emit(self, result["summary"], "bold")
|
|
165
|
+
for item in data["items"]:
|
|
166
|
+
if item["action"] != "reorder":
|
|
167
|
+
continue
|
|
168
|
+
_emit(self, f" 补货 {item['sku']}: 建议 {item['suggested_order_qty']} 件 · "
|
|
169
|
+
f"补货点 {item['reorder_point']} · 安全库存 {item['safety_stock']} · "
|
|
170
|
+
f"可用 {item['days_of_cover']} 天 · {item['abc'] or '-'}{item['xyz'] or ''}")
|
|
171
|
+
for item in data["items"]:
|
|
172
|
+
if item["movement"] in ("dead", "slow"):
|
|
173
|
+
label = "呆滞" if item["movement"] == "dead" else "慢动"
|
|
174
|
+
_emit(self, f" {label} {item['sku']}: 在库 {item['on_hand']:g}", "yellow")
|
|
175
|
+
_emit(self, "依据: " + ";".join(data["assumptions"]), "dim")
|
|
176
|
+
|
|
177
|
+
async def cmd_carriers(self, args: str):
|
|
178
|
+
"""Carrier scorecard by lane, cost anomalies and like-for-like savings."""
|
|
179
|
+
params = _parse_logistics_args(args, self._CARRIERS_USAGE)
|
|
180
|
+
if params is None:
|
|
181
|
+
_emit(self, self._CARRIERS_USAGE, "yellow")
|
|
182
|
+
return
|
|
183
|
+
from aria_code.tools.logistics_carriers import tool_score_carriers
|
|
184
|
+
|
|
185
|
+
as_json = params.pop("_json")
|
|
186
|
+
result = tool_score_carriers(params)
|
|
187
|
+
if as_json:
|
|
188
|
+
print(json.dumps(result, ensure_ascii=False, indent=2))
|
|
189
|
+
return
|
|
190
|
+
if not result["success"]:
|
|
191
|
+
_emit(self, result["error"], "red")
|
|
192
|
+
return
|
|
193
|
+
data = result["data"]
|
|
194
|
+
if not data["scope"]["client_facing"]:
|
|
195
|
+
_emit(self, data["scope"]["marker"], "bold red")
|
|
196
|
+
_emit(self, result["summary"], "bold")
|
|
197
|
+
for entry in data["scorecard"]:
|
|
198
|
+
rank = f"#{entry['rank_in_lane']}" if entry["rank_in_lane"] else "样本不足"
|
|
199
|
+
on_time = (f"{entry['on_time_rate']:.0%}(下界 {entry['on_time_lower_bound']:.0%})"
|
|
200
|
+
if entry["on_time_rate"] is not None else "无准时记录")
|
|
201
|
+
cost = f"{entry['median_cost_per_kg']:.2f}/kg" if entry["median_cost_per_kg"] is not None else "-"
|
|
202
|
+
_emit(self, f" {entry['lane']} {rank} {entry['carrier']}: {entry['shipments']} 单 · 准时 {on_time} · {cost}")
|
|
203
|
+
for saving in data["savings"]:
|
|
204
|
+
_emit(self, f" 可节省 {saving['estimated_saving']:,.2f}: {saving['lane']} 由 {saving['from_carrier']} "
|
|
205
|
+
f"转 {saving['to_carrier']}(每 kg 低 {saving['rate_difference_per_kg']:.2f})", "green")
|
|
206
|
+
for anomaly in data["anomalies"]:
|
|
207
|
+
_emit(self, f" 核实 {anomaly['waybill_no']} ({anomaly['carrier']}): {anomaly['detail']}", "yellow")
|
|
208
|
+
_emit(self, "依据: " + ";".join(data["assumptions"]), "dim")
|
|
@@ -4,7 +4,7 @@ Usage:
|
|
|
4
4
|
from apps.cli.github_app_auth import get_installation_token, get_aria_git_url
|
|
5
5
|
|
|
6
6
|
token = get_installation_token() # raises if not configured
|
|
7
|
-
url = get_aria_git_url("
|
|
7
|
+
url = get_aria_git_url("artheras/aria-code", token)
|
|
8
8
|
# git push with url as remote
|
|
9
9
|
"""
|
|
10
10
|
|
|
@@ -92,7 +92,7 @@ def _gh_api(path: str, token: str, *, method: str = "GET") -> dict:
|
|
|
92
92
|
return json.loads(resp.read())
|
|
93
93
|
|
|
94
94
|
|
|
95
|
-
def get_installation_token(owner: str = "
|
|
95
|
+
def get_installation_token(owner: str = "artheras") -> str:
|
|
96
96
|
"""Return a short-lived installation token (valid ~1 hour)."""
|
|
97
97
|
pem = _find_pem()
|
|
98
98
|
jwt = _make_jwt(pem, ARIA_APP_ID)
|
|
@@ -603,7 +603,7 @@ def tool_github(
|
|
|
603
603
|
message = params.get("message", "")
|
|
604
604
|
branch = params.get("branch", "")
|
|
605
605
|
add_files = params.get("files", [])
|
|
606
|
-
repo = params.get("repo", "") # e.g. "
|
|
606
|
+
repo = params.get("repo", "") # e.g. "artheras/aria-code"
|
|
607
607
|
coauthor = params.get("coauthor", "")
|
|
608
608
|
|
|
609
609
|
if not message:
|
|
@@ -615,7 +615,7 @@ def tool_github(
|
|
|
615
615
|
get_installation_token, get_aria_git_url,
|
|
616
616
|
aria_bot_env, ARIA_BOT_NAME, ARIA_BOT_EMAIL,
|
|
617
617
|
)
|
|
618
|
-
owner = (repo.split("/")[0] if repo else None) or "
|
|
618
|
+
owner = (repo.split("/")[0] if repo else None) or "artheras"
|
|
619
619
|
token = get_installation_token(owner)
|
|
620
620
|
bot_env = aria_bot_env()
|
|
621
621
|
auth_available = True
|
|
@@ -311,7 +311,7 @@ from aria_code.apps.cli.commands.finance_service_cmds import FinanceServiceComma
|
|
|
311
311
|
from aria_code.apps.cli.commands.orchestrator_cmds import OrchestratorCommandsMixin
|
|
312
312
|
from aria_code.apps.cli.commands.workflow_cmds import WorkflowCommandsMixin
|
|
313
313
|
from aria_code.apps.cli.commands.business_workflow_cmds import BusinessWorkflowCommandsMixin
|
|
314
|
-
from aria_code.apps.cli.commands.warehouse_cmds import WarehouseCommandsMixin
|
|
314
|
+
from aria_code.apps.cli.commands.warehouse_cmds import LogisticsCommandsMixin, WarehouseCommandsMixin
|
|
315
315
|
from aria_code.apps.cli.commands.session_cmds import SessionCommandsMixin
|
|
316
316
|
from aria_code.apps.cli.session_export import build_session_export_payload # 同上
|
|
317
317
|
from aria_code.apps.cli.commands.workspace_cmds import WorkspaceCommandsMixin
|
|
@@ -3363,7 +3363,7 @@ import apps.cli.broker_render as _broker_render_module
|
|
|
3363
3363
|
_rebind_module_function_globals(_broker_render_module, _broker_render_module.__all__)
|
|
3364
3364
|
|
|
3365
3365
|
class SlashCommands(
|
|
3366
|
-
CoreCommandsMixin,BrokerCommandsMixin, CanvasCommandsMixin, BacktestCommandsMixin, AnalysisCommandsMixin, ASharePredictionCommandsMixin, DataCommandsMixin, OpsCommandsMixin, DiagnosticCommandsMixin, DiagnosticOpsCommandsMixin, UiCommandsMixin, SessionUxCommandsMixin, AuthCommandsMixin, FileCommandsMixin, FxCommodityCommandsMixin, FinanceServiceCommandsMixin, OrchestratorCommandsMixin, WorkflowCommandsMixin, BusinessWorkflowCommandsMixin, WarehouseCommandsMixin, SessionCommandsMixin, WorkspaceCommandsMixin, ModelCommandsMixin, MarketCommandsMixin, PortfolioCommandsMixin, PdfExportCommandsMixin):
|
|
3366
|
+
CoreCommandsMixin,BrokerCommandsMixin, CanvasCommandsMixin, BacktestCommandsMixin, AnalysisCommandsMixin, ASharePredictionCommandsMixin, DataCommandsMixin, OpsCommandsMixin, DiagnosticCommandsMixin, DiagnosticOpsCommandsMixin, UiCommandsMixin, SessionUxCommandsMixin, AuthCommandsMixin, FileCommandsMixin, FxCommodityCommandsMixin, FinanceServiceCommandsMixin, OrchestratorCommandsMixin, WorkflowCommandsMixin, BusinessWorkflowCommandsMixin, WarehouseCommandsMixin, LogisticsCommandsMixin, SessionCommandsMixin, WorkspaceCommandsMixin, ModelCommandsMixin, MarketCommandsMixin, PortfolioCommandsMixin, PdfExportCommandsMixin):
|
|
3367
3367
|
"""Claude Code-style slash command system."""
|
|
3368
3368
|
|
|
3369
3369
|
|
|
@@ -3491,6 +3491,8 @@ class SlashCommands(
|
|
|
3491
3491
|
"/analyze": (self.cmd_analyze, "Deep market analysis: /analyze AAPL"),
|
|
3492
3492
|
"/team": (self.cmd_team, "Multi-agent research team: /team AAPL [--full]"),
|
|
3493
3493
|
"/warehouse": (self.cmd_warehouse, "Read-only warehouse ERP analysis: /warehouse WH-CN-01 [--json]"),
|
|
3494
|
+
"/inventory": (self.cmd_inventory, "3PL inventory policy: reorder points, safety stock, ABC/XYZ, dead stock: /inventory skus.csv --owner ACME"),
|
|
3495
|
+
"/carriers": (self.cmd_carriers, "3PL carrier scorecard by lane, cost anomalies and savings: /carriers waybills.csv --owner ACME"),
|
|
3494
3496
|
"/deep": (self.cmd_deep, "Deep layered research (P0–P3): /deep AAPL [--deep|--brief]"),
|
|
3495
3497
|
"/ta": (self.cmd_ta, "Technical indicators: /ta AAPL [days=120]"),
|
|
3496
3498
|
"/market": (self.cmd_market, "Market overview: /market [indices|sectors]"),
|
|
@@ -3618,6 +3620,10 @@ class SlashCommands(
|
|
|
3618
3620
|
# ── Financial analysis ──────────────────────────────────────────────
|
|
3619
3621
|
"/team": ("Usage: /team [SYMBOL] [--agents a,b] [--full]", ["/team NVDA", "/team AAPL --agents technical,risk", "/team watchlist", "/team SPY --full"]),
|
|
3620
3622
|
"/warehouse": ("Usage: /warehouse <warehouse_id> [--json]", ["/warehouse WH-CN-01", "/warehouse WH-CN-01 --json"]),
|
|
3623
|
+
"/inventory": ("Usage: /inventory <skus.csv|json> [--owner ID | --all-owners] [--service-level 0.95] [--review-days 7] [--json]",
|
|
3624
|
+
["/inventory skus.csv --owner ACME", "/inventory skus.json --owner ACME --service-level 0.98"]),
|
|
3625
|
+
"/carriers": ("Usage: /carriers <waybills.csv|json> [--owner ID | --all-owners] [--min-shipments 20] [--json]",
|
|
3626
|
+
["/carriers waybills.csv --owner ACME", "/carriers waybills.csv --all-owners"]),
|
|
3621
3627
|
"/deep": ("Usage: /deep [SYMBOL] [--brief|--deep] [--agents a,b]", ["/deep NVDA", "/deep AAPL --deep", "/deep 000333 --brief", "/deep TSLA --agents technical,risk,macro", "/deep calibrate"]),
|
|
3622
3628
|
"/architecture": ("Usage: /architecture [--gaps]", ["/architecture", "/architecture --gaps"]),
|
|
3623
3629
|
"/ta": ("Usage: /ta [SYMBOL] [days=N]", ["/ta AAPL", "/ta NVDA days=60"]),
|
|
@@ -6506,7 +6512,11 @@ class ArtheraTerminal:
|
|
|
6506
6512
|
async def main():
|
|
6507
6513
|
parser = argparse.ArgumentParser(
|
|
6508
6514
|
prog="aria-code",
|
|
6509
|
-
description
|
|
6515
|
+
# Same sentence as pyproject's description, so `--help`, PyPI and npm
|
|
6516
|
+
# describe one product. It used to say "Quantitative Investment
|
|
6517
|
+
# Terminal" here while the package metadata had been repositioned;
|
|
6518
|
+
# tests/test_first_run_works.py keeps the two in step.
|
|
6519
|
+
description="Aria Code — AI coding and research workspace with optional finance and connected-domain tools",
|
|
6510
6520
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
6511
6521
|
epilog="""
|
|
6512
6522
|
Examples:
|
|
@@ -150,7 +150,13 @@ def _format_age(seconds: float | int | None) -> str:
|
|
|
150
150
|
|
|
151
151
|
|
|
152
152
|
def _has_module(name: str) -> bool:
|
|
153
|
-
|
|
153
|
+
# find_spec on a dotted name imports the parent package first, and raises
|
|
154
|
+
# rather than returning None when that parent is absent ("google.genai"
|
|
155
|
+
# with no "google" installed). Absent is the answer either way.
|
|
156
|
+
try:
|
|
157
|
+
return importlib.util.find_spec(name) is not None
|
|
158
|
+
except (ImportError, ValueError):
|
|
159
|
+
return False
|
|
154
160
|
|
|
155
161
|
|
|
156
162
|
def _is_writable(path: Path) -> tuple[bool, str]:
|
|
@@ -662,6 +668,11 @@ def provider_health_summary(snapshot: Optional[List[Dict[str, Any]]] = None) ->
|
|
|
662
668
|
|
|
663
669
|
|
|
664
670
|
def _iter_required_modules() -> Iterable[tuple[str, str]]:
|
|
671
|
+
"""Core dependencies: a plain `pip install aria-code` must provide these.
|
|
672
|
+
|
|
673
|
+
Kept in step with [project].dependencies in pyproject.toml;
|
|
674
|
+
tests/test_first_run_works.py fails if one is listed here but not there.
|
|
675
|
+
"""
|
|
665
676
|
yield "aiohttp", "async HTTP"
|
|
666
677
|
yield "rich", "terminal UI"
|
|
667
678
|
yield "prompt_toolkit", "interactive input"
|
|
@@ -669,7 +680,20 @@ def _iter_required_modules() -> Iterable[tuple[str, str]]:
|
|
|
669
680
|
yield "pandas", "dataframes"
|
|
670
681
|
yield "numpy", "numeric processing"
|
|
671
682
|
yield "yfinance", "US/HK/global market data"
|
|
672
|
-
|
|
683
|
+
# The default model is google/gemini-2.5-pro, so without this a fresh
|
|
684
|
+
# install cannot answer a single prompt.
|
|
685
|
+
yield "google.genai", "Gemini / Vertex AI (the default model)"
|
|
686
|
+
|
|
687
|
+
|
|
688
|
+
def _iter_optional_modules() -> Iterable[tuple[str, str, str]]:
|
|
689
|
+
"""Optional extras: (module, purpose, extra that installs it).
|
|
690
|
+
|
|
691
|
+
These used to sit in the required list, so a clean install of aria-code
|
|
692
|
+
always ended doctor with "1 errors" — for akshare, which pyproject has
|
|
693
|
+
always declared as the optional `cn` extra. Missing an optional extra is a
|
|
694
|
+
choice the user made, not a fault.
|
|
695
|
+
"""
|
|
696
|
+
yield "akshare", "China A-share market data", "cn"
|
|
673
697
|
|
|
674
698
|
|
|
675
699
|
def run_doctor(
|
|
@@ -711,7 +735,15 @@ def run_doctor(
|
|
|
711
735
|
if _has_module(module):
|
|
712
736
|
checks.append(_check(f"package:{module}", "ok", purpose))
|
|
713
737
|
else:
|
|
714
|
-
checks.append(_check(f"package:{module}", "err", f"{purpose} missing",
|
|
738
|
+
checks.append(_check(f"package:{module}", "err", f"{purpose} missing",
|
|
739
|
+
"Reinstall: pip install -U aria-code"))
|
|
740
|
+
|
|
741
|
+
for module, purpose, extra in _iter_optional_modules():
|
|
742
|
+
if _has_module(module):
|
|
743
|
+
checks.append(_check(f"package:{module}", "ok", purpose))
|
|
744
|
+
else:
|
|
745
|
+
checks.append(_check(f"package:{module}", "skip", f"{purpose} not installed (optional)",
|
|
746
|
+
f"pip install 'aria-code[{extra}]'"))
|
|
715
747
|
|
|
716
748
|
for module in ("data_service", "artifacts", "report_generator", "backtest_report"):
|
|
717
749
|
checks.append(
|