aria-code 4.4.1__tar.gz → 4.4.2__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-4.4.2/PKG-INFO +1113 -0
- aria_code-4.4.2/README.md +964 -0
- aria_code-4.4.2/pyproject.toml +306 -0
- aria_code-4.4.2/src/aria_code/adk_apps/aria_code_review/agent.py +32 -0
- aria_code-4.4.2/src/aria_code/adk_apps/aria_research/agent.py +31 -0
- aria_code-4.4.2/src/aria_code/agents/__init__.py +34 -0
- aria_code-4.4.2/src/aria_code/agents/base.py +318 -0
- aria_code-4.4.2/src/aria_code/agents/deep/deepen.py +193 -0
- aria_code-4.4.2/src/aria_code/agents/deep/quant_fusion.py +192 -0
- aria_code-4.4.2/src/aria_code/agents/engineering/__init__.py +14 -0
- aria_code-4.4.2/src/aria_code/agents/engineering/coder.py +208 -0
- aria_code-4.4.2/src/aria_code/agents/engineering/tester.py +145 -0
- aria_code-4.4.2/src/aria_code/agents/financial/__init__.py +21 -0
- aria_code-4.4.2/src/aria_code/agents/financial/cashflow_burn.py +119 -0
- aria_code-4.4.2/src/aria_code/agents/financial/corporate_finance.py +179 -0
- aria_code-4.4.2/src/aria_code/agents/financial/strategist.py +121 -0
- aria_code-4.4.2/src/aria_code/agents/financial/stripe_revenue.py +131 -0
- aria_code-4.4.2/src/aria_code/agents/orchestrator.py +44 -0
- aria_code-4.4.2/src/aria_code/agents/realty/__init__.py +62 -0
- aria_code-4.4.2/src/aria_code/agents/registry.py +158 -0
- aria_code-4.4.2/src/aria_code/agents/sports/football_agent.py +197 -0
- aria_code-4.4.2/src/aria_code/agents/warehouse/__init__.py +25 -0
- aria_code-4.4.2/src/aria_code/agents/warehouse/dashboard.py +155 -0
- aria_code-4.4.2/src/aria_code/agents/warehouse/fulfillment_leadtime.py +95 -0
- aria_code-4.4.2/src/aria_code/agents/warehouse/local_run.py +71 -0
- aria_code-4.4.2/src/aria_code/agents/warehouse/logistics_cost.py +96 -0
- aria_code-4.4.2/src/aria_code/agents/warehouse/workflow.py +31 -0
- aria_code-4.4.2/src/aria_code/aliyun_data_client.py +4 -0
- aria_code-4.4.2/src/aria_code/apps/channels/intake.py +92 -0
- aria_code-4.4.2/src/aria_code/apps/channels/tradingview.py +94 -0
- aria_code-4.4.2/src/aria_code/apps/cli/bootstrap.py +145 -0
- aria_code-4.4.2/src/aria_code/apps/cli/broker_render.py +206 -0
- aria_code-4.4.2/src/aria_code/apps/cli/codegen_paths.py +29 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/analysis_cmds.py +365 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/ashare_prediction_cmds.py +327 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/auth_cmds.py +233 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/backtest_cmds.py +2528 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/broker_cmds.py +1219 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/business_workflow_cmds.py +326 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/canvas_cmds.py +74 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/core_cmds.py +2459 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/data_cmds.py +457 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/diagnostic_cmds.py +228 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/diagnostic_ops_cmds.py +812 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/file_cmds.py +312 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/finance_service_cmds.py +60 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/fx_commodity_cmds.py +121 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/market.py +434 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/market_cmds.py +1376 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/market_context.py +425 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/market_render.py +7 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/model_cmds.py +2145 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/ops_cmds.py +720 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/orchestrator_cmds.py +179 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/pdf_export_cmds.py +125 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/portfolio_cmds.py +1269 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/report.py +437 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/session_cmds.py +236 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/session_ux_cmds.py +357 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/team.py +669 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/team_render.py +8 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/ui_cmds.py +402 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/warehouse_cmds.py +79 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/workflow_cmds.py +480 -0
- aria_code-4.4.2/src/aria_code/apps/cli/commands/workspace_cmds.py +1491 -0
- aria_code-4.4.2/src/aria_code/apps/cli/config_paths.py +73 -0
- aria_code-4.4.2/src/aria_code/apps/cli/config_store.py +80 -0
- aria_code-4.4.2/src/aria_code/apps/cli/constants.py +88 -0
- aria_code-4.4.2/src/aria_code/apps/cli/context.py +34 -0
- aria_code-4.4.2/src/aria_code/apps/cli/deterministic.py +191 -0
- aria_code-4.4.2/src/aria_code/apps/cli/direct.py +48 -0
- aria_code-4.4.2/src/aria_code/apps/cli/finance_service_catalog.py +111 -0
- aria_code-4.4.2/src/aria_code/apps/cli/football_reports.py +231 -0
- aria_code-4.4.2/src/aria_code/apps/cli/github_app_auth.py +135 -0
- aria_code-4.4.2/src/aria_code/apps/cli/google_login.py +196 -0
- aria_code-4.4.2/src/aria_code/apps/cli/handlers/chart_handlers.py +1309 -0
- aria_code-4.4.2/src/aria_code/apps/cli/handlers/market_handlers.py +2513 -0
- aria_code-4.4.2/src/aria_code/apps/cli/handlers/realty_handlers.py +114 -0
- aria_code-4.4.2/src/aria_code/apps/cli/hooks.py +180 -0
- aria_code-4.4.2/src/aria_code/apps/cli/intent_router.py +276 -0
- aria_code-4.4.2/src/aria_code/apps/cli/intent_signals.py +344 -0
- aria_code-4.4.2/src/aria_code/apps/cli/local_tool_schemas.py +536 -0
- aria_code-4.4.2/src/aria_code/apps/cli/main.py +38 -0
- aria_code-4.4.2/src/aria_code/apps/cli/market_universe.py +487 -0
- aria_code-4.4.2/src/aria_code/apps/cli/message_processing.py +310 -0
- aria_code-4.4.2/src/aria_code/apps/cli/model_catalog.py +440 -0
- aria_code-4.4.2/src/aria_code/apps/cli/pdf_report.py +977 -0
- aria_code-4.4.2/src/aria_code/apps/cli/plan_mode.py +139 -0
- aria_code-4.4.2/src/aria_code/apps/cli/preflight.py +502 -0
- aria_code-4.4.2/src/aria_code/apps/cli/prompts/coding.py +53 -0
- aria_code-4.4.2/src/aria_code/apps/cli/prompts/select.py +142 -0
- aria_code-4.4.2/src/aria_code/apps/cli/prompts/system_prompts.py +552 -0
- aria_code-4.4.2/src/aria_code/apps/cli/prompts/ui.py +436 -0
- aria_code-4.4.2/src/aria_code/apps/cli/providers/base.py +515 -0
- aria_code-4.4.2/src/aria_code/apps/cli/providers/chat_routing.py +128 -0
- aria_code-4.4.2/src/aria_code/apps/cli/providers/llm/ollama_stream.py +1482 -0
- aria_code-4.4.2/src/aria_code/apps/cli/providers/llm/sse_stream.py +257 -0
- aria_code-4.4.2/src/aria_code/apps/cli/providers/runtime_bridge.py +348 -0
- aria_code-4.4.2/src/aria_code/apps/cli/providers/vertexai_stream.py +316 -0
- aria_code-4.4.2/src/aria_code/apps/cli/response_cache.py +110 -0
- aria_code-4.4.2/src/aria_code/apps/cli/runtime_consumer.py +657 -0
- aria_code-4.4.2/src/aria_code/apps/cli/sandbox.py +32 -0
- aria_code-4.4.2/src/aria_code/apps/cli/session_export.py +120 -0
- aria_code-4.4.2/src/aria_code/apps/cli/session_jsonl.py +208 -0
- aria_code-4.4.2/src/aria_code/apps/cli/session_store.py +112 -0
- aria_code-4.4.2/src/aria_code/apps/cli/todo_tracker.py +190 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tool_executor.py +813 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tool_scope.py +106 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tools/context.py +46 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tools/file_tools.py +180 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tools/market_tools.py +620 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tools/notebook_tools.py +111 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tools/system_tools.py +721 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tools/write_tools.py +845 -0
- aria_code-4.4.2/src/aria_code/apps/cli/tradingview_bridge.py +529 -0
- aria_code-4.4.2/src/aria_code/apps/cli/update_check.py +153 -0
- aria_code-4.4.2/src/aria_code/apps/cli/utils/market_detect.py +1597 -0
- aria_code-4.4.2/src/aria_code/aria_cli.py +7146 -0
- aria_code-4.4.2/src/aria_code/aria_daemon.py +1360 -0
- aria_code-4.4.2/src/aria_code/aria_feishu_bot.py +1423 -0
- aria_code-4.4.2/src/aria_code/aria_mcp_server.py +7 -0
- aria_code-4.4.2/src/aria_code/aria_relay_client.py +4 -0
- aria_code-4.4.2/src/aria_code/aria_relay_server.py +490 -0
- aria_code-4.4.2/src/aria_code/aria_telegram_bot.py +202 -0
- aria_code-4.4.2/src/aria_code/ariarc.py +381 -0
- aria_code-4.4.2/src/aria_code/artifacts.py +578 -0
- aria_code-4.4.2/src/aria_code/backtest_engine.py +4 -0
- aria_code-4.4.2/src/aria_code/backtest_report.py +4 -0
- aria_code-4.4.2/src/aria_code/brokers/__init__.py +78 -0
- aria_code-4.4.2/src/aria_code/brokers/config.py +410 -0
- aria_code-4.4.2/src/aria_code/brokers/registry.py +213 -0
- aria_code-4.4.2/src/aria_code/canva_client.py +4 -0
- aria_code-4.4.2/src/aria_code/clients/aria_relay_client.py +182 -0
- aria_code-4.4.2/src/aria_code/clients/canva_client.py +284 -0
- aria_code-4.4.2/src/aria_code/clients/figma_client.py +100 -0
- aria_code-4.4.2/src/aria_code/clients/football_data_client.py +1671 -0
- aria_code-4.4.2/src/aria_code/clients/kling_video_client.py +182 -0
- aria_code-4.4.2/src/aria_code/clients/market_data_client.py +1976 -0
- aria_code-4.4.2/src/aria_code/clients/openai_image_client.py +242 -0
- aria_code-4.4.2/src/aria_code/clients/runway_video_client.py +157 -0
- aria_code-4.4.2/src/aria_code/cloud_memory.py +181 -0
- aria_code-4.4.2/src/aria_code/command_safety.py +19 -0
- aria_code-4.4.2/src/aria_code/computer_use_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/dashboard_generator.py +579 -0
- aria_code-4.4.2/src/aria_code/data_analysis_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/data_service.py +513 -0
- aria_code-4.4.2/src/aria_code/datasources/__init__.py +23 -0
- aria_code-4.4.2/src/aria_code/datasources/router.py +253 -0
- aria_code-4.4.2/src/aria_code/datasources/sources/alpha_vantage_source.py +203 -0
- aria_code-4.4.2/src/aria_code/datasources/sources/finnhub_source.py +198 -0
- aria_code-4.4.2/src/aria_code/datasources/sources/fred_source.py +223 -0
- aria_code-4.4.2/src/aria_code/datasources/sources/tushare_source.py +143 -0
- aria_code-4.4.2/src/aria_code/doctor.py +676 -0
- aria_code-4.4.2/src/aria_code/domain/backtest_engine.py +354 -0
- aria_code-4.4.2/src/aria_code/domain/backtest_report.py +472 -0
- aria_code-4.4.2/src/aria_code/domain/finance_formulas.py +389 -0
- aria_code-4.4.2/src/aria_code/domain/portfolio_ledger.py +307 -0
- aria_code-4.4.2/src/aria_code/domain/strategy_vault.py +421 -0
- aria_code-4.4.2/src/aria_code/evals/__init__.py +37 -0
- aria_code-4.4.2/src/aria_code/evals/harness.py +598 -0
- aria_code-4.4.2/src/aria_code/evals/runner.py +218 -0
- aria_code-4.4.2/src/aria_code/figma_client.py +4 -0
- aria_code-4.4.2/src/aria_code/file_analysis_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/finance_formulas.py +4 -0
- aria_code-4.4.2/src/aria_code/football_data_client.py +4 -0
- aria_code-4.4.2/src/aria_code/image_gen_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/intent_classifier.py +386 -0
- aria_code-4.4.2/src/aria_code/kling_video_client.py +4 -0
- aria_code-4.4.2/src/aria_code/licensing.py +151 -0
- aria_code-4.4.2/src/aria_code/local_finance_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/local_image_provider.py +4 -0
- aria_code-4.4.2/src/aria_code/local_llm_provider.py +4 -0
- aria_code-4.4.2/src/aria_code/macro_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/markdown_pdf.py +289 -0
- aria_code-4.4.2/src/aria_code/market_data_client.py +4 -0
- aria_code-4.4.2/src/aria_code/mcp_client.py +639 -0
- aria_code-4.4.2/src/aria_code/memory_manager.py +246 -0
- aria_code-4.4.2/src/aria_code/model_capability.py +486 -0
- aria_code-4.4.2/src/aria_code/notification_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/openai_image_client.py +4 -0
- aria_code-4.4.2/src/aria_code/packages/__init__.py +23 -0
- aria_code-4.4.2/src/aria_code/packages/adk_bridge/code_review_tools.py +49 -0
- aria_code-4.4.2/src/aria_code/packages/adk_bridge/market_tools.py +125 -0
- aria_code-4.4.2/src/aria_code/packages/aria_agents/manifest.py +78 -0
- aria_code-4.4.2/src/aria_code/packages/aria_core/export.py +147 -0
- aria_code-4.4.2/src/aria_code/packages/aria_core/paths.py +57 -0
- aria_code-4.4.2/src/aria_code/packages/aria_infra/doctor.py +246 -0
- aria_code-4.4.2/src/aria_code/packages/aria_infra/product.py +40 -0
- aria_code-4.4.2/src/aria_code/packages/aria_mcp/installer.py +95 -0
- aria_code-4.4.2/src/aria_code/packages/aria_mcp/server.py +1562 -0
- aria_code-4.4.2/src/aria_code/packages/aria_mcp/tools.py +81 -0
- aria_code-4.4.2/src/aria_code/packages/aria_sdk/client.py +396 -0
- aria_code-4.4.2/src/aria_code/packages/aria_sdk/providers.py +70 -0
- aria_code-4.4.2/src/aria_code/packages/aria_sdk/streaming.py +79 -0
- aria_code-4.4.2/src/aria_code/packages/aria_services/context.py +356 -0
- aria_code-4.4.2/src/aria_code/packages/aria_services/context_checkpoints.py +157 -0
- aria_code-4.4.2/src/aria_code/packages/aria_services/data.py +11 -0
- aria_code-4.4.2/src/aria_code/packages/aria_services/registry.py +249 -0
- aria_code-4.4.2/src/aria_code/packages/aria_skills/catalog.py +149 -0
- aria_code-4.4.2/src/aria_code/packages/aria_skills/loader.py +455 -0
- aria_code-4.4.2/src/aria_code/packages/aria_skills/registry.py +84 -0
- aria_code-4.4.2/src/aria_code/packages/aria_tools/financial/_paths.py +104 -0
- aria_code-4.4.2/src/aria_code/packages/aria_tools/registry.py +128 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/__init__.py +34 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/_namespace.py +62 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/sports/__init__.py +80 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/sports/calibrator.py +354 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/sports/elo.py +300 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/sports/ml_model.py +377 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/sports/predictor.py +312 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/sports/tracker.py +665 -0
- aria_code-4.4.2/src/aria_code/packages/quant_engine/stochastic/options_pricing.py +580 -0
- aria_code-4.4.2/src/aria_code/packs/__init__.py +85 -0
- aria_code-4.4.2/src/aria_code/packs/base.py +168 -0
- aria_code-4.4.2/src/aria_code/packs/finance/__init__.py +250 -0
- aria_code-4.4.2/src/aria_code/packs/logistics/__init__.py +169 -0
- aria_code-4.4.2/src/aria_code/packs/payments/__init__.py +139 -0
- aria_code-4.4.2/src/aria_code/packs/realty/__init__.py +190 -0
- aria_code-4.4.2/src/aria_code/packs/registry.py +202 -0
- aria_code-4.4.2/src/aria_code/packs/rules.py +90 -0
- aria_code-4.4.2/src/aria_code/portfolio_ledger.py +4 -0
- aria_code-4.4.2/src/aria_code/preview_server.py +449 -0
- aria_code-4.4.2/src/aria_code/project_review.py +278 -0
- aria_code-4.4.2/src/aria_code/project_review_api.py +235 -0
- aria_code-4.4.2/src/aria_code/project_review_server.py +18 -0
- aria_code-4.4.2/src/aria_code/project_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/providers/__init__.py +30 -0
- aria_code-4.4.2/src/aria_code/providers/llm/openai_compat.py +313 -0
- aria_code-4.4.2/src/aria_code/providers/llm/registry.py +442 -0
- aria_code-4.4.2/src/aria_code/providers/local_image_provider.py +202 -0
- aria_code-4.4.2/src/aria_code/providers/local_llm_provider.py +589 -0
- aria_code-4.4.2/src/aria_code/realty_data_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/report_generator.py +1764 -0
- aria_code-4.4.2/src/aria_code/runtime/__init__.py +169 -0
- aria_code-4.4.2/src/aria_code/runtime/acceptance.py +481 -0
- aria_code-4.4.2/src/aria_code/runtime/agent_loop.py +1506 -0
- aria_code-4.4.2/src/aria_code/runtime/crash_report.py +174 -0
- aria_code-4.4.2/src/aria_code/runtime/gateway.py +150 -0
- aria_code-4.4.2/src/aria_code/runtime/lsp.py +484 -0
- aria_code-4.4.2/src/aria_code/runtime/orchestrator.py +55 -0
- aria_code-4.4.2/src/aria_code/runtime/repo_map.py +700 -0
- aria_code-4.4.2/src/aria_code/runtime/run_store.py +450 -0
- aria_code-4.4.2/src/aria_code/runtime/self_healing.py +422 -0
- aria_code-4.4.2/src/aria_code/runtime/subagent.py +547 -0
- aria_code-4.4.2/src/aria_code/runtime/task_orchestrator.py +90 -0
- aria_code-4.4.2/src/aria_code/runtime/tool_policy.py +107 -0
- aria_code-4.4.2/src/aria_code/runway_video_client.py +4 -0
- aria_code-4.4.2/src/aria_code/safety/permissions.py +299 -0
- aria_code-4.4.2/src/aria_code/safety/service.py +86 -0
- aria_code-4.4.2/src/aria_code/setup_wizard.py +653 -0
- aria_code-4.4.2/src/aria_code/spreadsheet_tools.py +4 -0
- aria_code-4.4.2/src/aria_code/strategy_vault.py +4 -0
- aria_code-4.4.2/src/aria_code/tools/__init__.py +0 -0
- aria_code-4.4.2/src/aria_code/tools/artifact_tools.py +252 -0
- aria_code-4.4.2/src/aria_code/tools/broker_tools.py +92 -0
- aria_code-4.4.2/src/aria_code/tools/code_audit_tools.py +192 -0
- aria_code-4.4.2/src/aria_code/tools/data_analysis_tools.py +809 -0
- aria_code-4.4.2/src/aria_code/tools/enterprise_finance_tools.py +156 -0
- aria_code-4.4.2/src/aria_code/tools/extended_tools.py +240 -0
- aria_code-4.4.2/src/aria_code/tools/file_analysis_tools.py +885 -0
- aria_code-4.4.2/src/aria_code/tools/image_gen_tools.py +114 -0
- aria_code-4.4.2/src/aria_code/tools/local_finance_tools.py +3417 -0
- aria_code-4.4.2/src/aria_code/tools/logistics_tools.py +177 -0
- aria_code-4.4.2/src/aria_code/tools/macro_tools.py +369 -0
- aria_code-4.4.2/src/aria_code/tools/notification_tools.py +249 -0
- aria_code-4.4.2/src/aria_code/tools/realty_data_tools.py +659 -0
- aria_code-4.4.2/src/aria_code/tools/spreadsheet_tools.py +388 -0
- aria_code-4.4.2/src/aria_code/tools/stripe_tools.py +115 -0
- aria_code-4.4.2/src/aria_code/ui/__init__.py +105 -0
- aria_code-4.4.2/src/aria_code/ui/banner.py +508 -0
- aria_code-4.4.2/src/aria_code/ui/completer.py +501 -0
- aria_code-4.4.2/src/aria_code/ui/console.py +281 -0
- aria_code-4.4.2/src/aria_code/ui/picker.py +201 -0
- aria_code-4.4.2/src/aria_code/ui/render/finance.py +1706 -0
- aria_code-4.4.2/src/aria_code/ui/render/output.py +775 -0
- aria_code-4.4.2/src/aria_code/utils/vscode_uri.py +37 -0
- aria_code-4.4.2/src/aria_code/video_editor.py +271 -0
- aria_code-4.4.2/src/aria_code/workspace/files.py +193 -0
- aria_code-4.4.2/src/aria_code/workspace_changes.py +199 -0
- aria_code-4.4.2/src/aria_code/workspace_service.py +196 -0
- aria_code-4.4.2/src/aria_code/workspace_tools.py +150 -0
- aria_code-4.4.2/src/aria_code.egg-info/PKG-INFO +1113 -0
- aria_code-4.4.2/src/aria_code.egg-info/SOURCES.txt +647 -0
- aria_code-4.4.2/src/aria_code.egg-info/entry_points.txt +3 -0
- aria_code-4.4.2/src/aria_code.egg-info/requires.txt +157 -0
- aria_code-4.4.2/src/aria_code.egg-info/top_level.txt +1 -0
- aria_code-4.4.2/tests/test_adk_market_tools.py +89 -0
- aria_code-4.4.2/tests/test_agent_team_fallback.py +105 -0
- aria_code-4.4.2/tests/test_analyze_file_tool.py +93 -0
- aria_code-4.4.2/tests/test_architecture_report.py +35 -0
- aria_code-4.4.2/tests/test_aria_cli_core.py +726 -0
- aria_code-4.4.2/tests/test_aria_mcp_server.py +600 -0
- aria_code-4.4.2/tests/test_aria_sdk.py +353 -0
- aria_code-4.4.2/tests/test_artifact_publishing.py +202 -0
- aria_code-4.4.2/tests/test_artifacts_and_reports.py +431 -0
- aria_code-4.4.2/tests/test_ashare_prediction_cmds.py +89 -0
- aria_code-4.4.2/tests/test_backtest_cmds.py +184 -0
- aria_code-4.4.2/tests/test_backtest_engine.py +146 -0
- aria_code-4.4.2/tests/test_backtest_report.py +112 -0
- aria_code-4.4.2/tests/test_broker_automation.py +133 -0
- aria_code-4.4.2/tests/test_broker_chat_confirm_gate.py +173 -0
- aria_code-4.4.2/tests/test_broker_planning.py +89 -0
- aria_code-4.4.2/tests/test_broker_safety.py +96 -0
- aria_code-4.4.2/tests/test_broker_tools.py +32 -0
- aria_code-4.4.2/tests/test_budget.py +131 -0
- aria_code-4.4.2/tests/test_business_workflow_cmds.py +53 -0
- aria_code-4.4.2/tests/test_canva_client.py +101 -0
- aria_code-4.4.2/tests/test_canvas_cmds.py +148 -0
- aria_code-4.4.2/tests/test_channel_intake.py +73 -0
- aria_code-4.4.2/tests/test_channels.py +103 -0
- aria_code-4.4.2/tests/test_chart_handlers.py +176 -0
- aria_code-4.4.2/tests/test_chat_routing.py +64 -0
- aria_code-4.4.2/tests/test_cli_app_split.py +1019 -0
- aria_code-4.4.2/tests/test_cli_bootstrap.py +42 -0
- aria_code-4.4.2/tests/test_cli_config_store.py +48 -0
- aria_code-4.4.2/tests/test_cli_lifecycle_hooks.py +30 -0
- aria_code-4.4.2/tests/test_cli_runtime_consumer.py +200 -0
- aria_code-4.4.2/tests/test_cloud_memory.py +142 -0
- aria_code-4.4.2/tests/test_code_audit_tools.py +43 -0
- aria_code-4.4.2/tests/test_code_review_agent.py +55 -0
- aria_code-4.4.2/tests/test_codegen_output.py +50 -0
- aria_code-4.4.2/tests/test_coder_tester_self_healing.py +120 -0
- aria_code-4.4.2/tests/test_collaboration.py +61 -0
- aria_code-4.4.2/tests/test_command_safety.py +43 -0
- aria_code-4.4.2/tests/test_completions_builder.py +75 -0
- aria_code-4.4.2/tests/test_config_paths.py +35 -0
- aria_code-4.4.2/tests/test_configured_provider.py +107 -0
- aria_code-4.4.2/tests/test_container_entrypoints.py +101 -0
- aria_code-4.4.2/tests/test_context_checkpoints.py +130 -0
- aria_code-4.4.2/tests/test_context_references.py +177 -0
- aria_code-4.4.2/tests/test_context_service.py +135 -0
- aria_code-4.4.2/tests/test_crash_report.py +95 -0
- aria_code-4.4.2/tests/test_custom_providers.py +107 -0
- aria_code-4.4.2/tests/test_dashboard_generator.py +79 -0
- aria_code-4.4.2/tests/test_data_service.py +180 -0
- aria_code-4.4.2/tests/test_data_service_imports.py +8 -0
- aria_code-4.4.2/tests/test_datasource_routing.py +262 -0
- aria_code-4.4.2/tests/test_deep_analysis.py +350 -0
- aria_code-4.4.2/tests/test_doctor.py +336 -0
- aria_code-4.4.2/tests/test_enterprise_tool_honesty.py +122 -0
- aria_code-4.4.2/tests/test_evals_harness.py +592 -0
- aria_code-4.4.2/tests/test_extended_tools.py +78 -0
- aria_code-4.4.2/tests/test_feishu_swarm_config.py +15 -0
- aria_code-4.4.2/tests/test_finance_renderers.py +116 -0
- aria_code-4.4.2/tests/test_finance_service_catalog.py +18 -0
- aria_code-4.4.2/tests/test_football_agent.py +103 -0
- aria_code-4.4.2/tests/test_football_prediction_output.py +129 -0
- aria_code-4.4.2/tests/test_google_cloud_routing.py +193 -0
- aria_code-4.4.2/tests/test_google_login.py +200 -0
- aria_code-4.4.2/tests/test_google_search_provider.py +140 -0
- aria_code-4.4.2/tests/test_headless_is_agentic.py +97 -0
- aria_code-4.4.2/tests/test_image_gen_tools.py +102 -0
- aria_code-4.4.2/tests/test_image_inputs.py +62 -0
- aria_code-4.4.2/tests/test_intent_router.py +64 -0
- aria_code-4.4.2/tests/test_intent_signals.py +161 -0
- aria_code-4.4.2/tests/test_kling_video_client.py +95 -0
- aria_code-4.4.2/tests/test_licensing.py +89 -0
- aria_code-4.4.2/tests/test_local_image_provider.py +163 -0
- aria_code-4.4.2/tests/test_logistics_and_finance_agents.py +205 -0
- aria_code-4.4.2/tests/test_lsp.py +152 -0
- aria_code-4.4.2/tests/test_markdown_pdf.py +60 -0
- aria_code-4.4.2/tests/test_market_data_client.py +479 -0
- aria_code-4.4.2/tests/test_market_history_inheritance.py +138 -0
- aria_code-4.4.2/tests/test_market_history_tool.py +160 -0
- aria_code-4.4.2/tests/test_market_symbol_extraction.py +77 -0
- aria_code-4.4.2/tests/test_market_universe.py +80 -0
- aria_code-4.4.2/tests/test_mcp_circuit.py +170 -0
- aria_code-4.4.2/tests/test_mcp_client.py +64 -0
- aria_code-4.4.2/tests/test_model_capability_registry.py +133 -0
- aria_code-4.4.2/tests/test_model_selection_state.py +54 -0
- aria_code-4.4.2/tests/test_new_modules.py +710 -0
- aria_code-4.4.2/tests/test_ollama_stream_tools.py +165 -0
- aria_code-4.4.2/tests/test_openai_image_client.py +201 -0
- aria_code-4.4.2/tests/test_output_rendering.py +670 -0
- aria_code-4.4.2/tests/test_packages_facade.py +436 -0
- aria_code-4.4.2/tests/test_packs_domains.py +482 -0
- aria_code-4.4.2/tests/test_pdf_report.py +270 -0
- aria_code-4.4.2/tests/test_pick_best_installed_model.py +63 -0
- aria_code-4.4.2/tests/test_plan_mode.py +80 -0
- aria_code-4.4.2/tests/test_plotly_html_output.py +91 -0
- aria_code-4.4.2/tests/test_portfolio_ledger.py +89 -0
- aria_code-4.4.2/tests/test_preflight.py +178 -0
- aria_code-4.4.2/tests/test_preview_server.py +248 -0
- aria_code-4.4.2/tests/test_privacy_feedback.py +68 -0
- aria_code-4.4.2/tests/test_project_aria.py +19 -0
- aria_code-4.4.2/tests/test_project_review.py +40 -0
- aria_code-4.4.2/tests/test_project_review_api.py +175 -0
- aria_code-4.4.2/tests/test_prompt_assembly.py +70 -0
- aria_code-4.4.2/tests/test_prompt_selection.py +99 -0
- aria_code-4.4.2/tests/test_provider_autoconfig.py +100 -0
- aria_code-4.4.2/tests/test_provider_error_messages.py +249 -0
- aria_code-4.4.2/tests/test_provider_integration.py +373 -0
- aria_code-4.4.2/tests/test_provider_registry.py +256 -0
- aria_code-4.4.2/tests/test_public_service_status.py +57 -0
- aria_code-4.4.2/tests/test_quant_engine_namespace.py +82 -0
- aria_code-4.4.2/tests/test_rebind_namespace_contract.py +109 -0
- aria_code-4.4.2/tests/test_relay_event_verification.py +126 -0
- aria_code-4.4.2/tests/test_report_charts.py +185 -0
- aria_code-4.4.2/tests/test_report_generator.py +65 -0
- aria_code-4.4.2/tests/test_research_protocol.py +26 -0
- aria_code-4.4.2/tests/test_research_quality.py +96 -0
- aria_code-4.4.2/tests/test_responsive_rendering.py +90 -0
- aria_code-4.4.2/tests/test_runtime_acceptance.py +440 -0
- aria_code-4.4.2/tests/test_runtime_agent_loop.py +886 -0
- aria_code-4.4.2/tests/test_runtime_approval.py +75 -0
- aria_code-4.4.2/tests/test_runtime_bridge.py +138 -0
- aria_code-4.4.2/tests/test_runtime_bridge_fallback.py +139 -0
- aria_code-4.4.2/tests/test_runtime_checkpoints.py +175 -0
- aria_code-4.4.2/tests/test_runtime_gateway.py +59 -0
- aria_code-4.4.2/tests/test_runtime_repo_map.py +277 -0
- aria_code-4.4.2/tests/test_runtime_run_store.py +146 -0
- aria_code-4.4.2/tests/test_runtime_tool_executor.py +163 -0
- aria_code-4.4.2/tests/test_runtime_worktrees.py +151 -0
- aria_code-4.4.2/tests/test_runway_video_client.py +87 -0
- aria_code-4.4.2/tests/test_safety_permissions.py +38 -0
- aria_code-4.4.2/tests/test_safety_service.py +101 -0
- aria_code-4.4.2/tests/test_service_diagnostics_security.py +20 -0
- aria_code-4.4.2/tests/test_session_search.py +110 -0
- aria_code-4.4.2/tests/test_settings_service.py +108 -0
- aria_code-4.4.2/tests/test_skill_agent_binding.py +103 -0
- aria_code-4.4.2/tests/test_skill_catalog.py +187 -0
- aria_code-4.4.2/tests/test_skill_loader.py +278 -0
- aria_code-4.4.2/tests/test_spreadsheet_tools.py +92 -0
- aria_code-4.4.2/tests/test_sse_stream_contract.py +32 -0
- aria_code-4.4.2/tests/test_startup_dashboard.py +122 -0
- aria_code-4.4.2/tests/test_streaming_pipeline.py +249 -0
- aria_code-4.4.2/tests/test_stripe_agent.py +70 -0
- aria_code-4.4.2/tests/test_subagent.py +193 -0
- aria_code-4.4.2/tests/test_supervisor_routing.py +30 -0
- aria_code-4.4.2/tests/test_system_prompts.py +35 -0
- aria_code-4.4.2/tests/test_system_tools_output.py +76 -0
- aria_code-4.4.2/tests/test_task_orchestrator.py +28 -0
- aria_code-4.4.2/tests/test_team_synthesis.py +74 -0
- aria_code-4.4.2/tests/test_tls_trust_store.py +56 -0
- aria_code-4.4.2/tests/test_tool_policy.py +81 -0
- aria_code-4.4.2/tests/test_tool_scope.py +197 -0
- aria_code-4.4.2/tests/test_trading_service.py +141 -0
- aria_code-4.4.2/tests/test_tradingview_bridge.py +180 -0
- aria_code-4.4.2/tests/test_turn_planning.py +58 -0
- aria_code-4.4.2/tests/test_ui_completer_references.py +80 -0
- aria_code-4.4.2/tests/test_ui_console_theme.py +41 -0
- aria_code-4.4.2/tests/test_ui_input_box.py +288 -0
- aria_code-4.4.2/tests/test_ui_robot_banner.py +93 -0
- aria_code-4.4.2/tests/test_verification_hint.py +139 -0
- aria_code-4.4.2/tests/test_verification_policy.py +77 -0
- aria_code-4.4.2/tests/test_version_consistency.py +67 -0
- aria_code-4.4.2/tests/test_video_analysis.py +82 -0
- aria_code-4.4.2/tests/test_video_editor.py +148 -0
- aria_code-4.4.2/tests/test_vscode_mcp.py +43 -0
- aria_code-4.4.2/tests/test_warehouse_agents.py +45 -0
- aria_code-4.4.2/tests/test_warehouse_cli_registration.py +10 -0
- aria_code-4.4.2/tests/test_warehouse_erp_client.py +63 -0
- aria_code-4.4.2/tests/test_warehouse_workflow.py +32 -0
- aria_code-4.4.2/tests/test_workspace_changes.py +84 -0
- aria_code-4.4.2/tests/test_workspace_context.py +92 -0
- aria_code-4.4.2/tests/test_workspace_files.py +63 -0
- aria_code-4.4.2/tests/test_workspace_scope.py +108 -0
- aria_code-4.4.2/tests/test_workspace_service.py +126 -0
- aria_code-4.4.2/tests/test_workspace_verify.py +38 -0
- aria_code-4.4.1/PKG-INFO +0 -1131
- aria_code-4.4.1/README.md +0 -986
- aria_code-4.4.1/adk_apps/aria_code_review/agent.py +0 -32
- aria_code-4.4.1/adk_apps/aria_research/agent.py +0 -31
- aria_code-4.4.1/agents/__init__.py +0 -34
- aria_code-4.4.1/agents/base.py +0 -286
- aria_code-4.4.1/agents/deep/deepen.py +0 -193
- aria_code-4.4.1/agents/deep/quant_fusion.py +0 -192
- aria_code-4.4.1/agents/financial/__init__.py +0 -10
- aria_code-4.4.1/agents/realty/__init__.py +0 -62
- aria_code-4.4.1/agents/registry.py +0 -150
- aria_code-4.4.1/agents/sports/football_agent.py +0 -197
- aria_code-4.4.1/agents/warehouse/__init__.py +0 -15
- aria_code-4.4.1/agents/warehouse/dashboard.py +0 -155
- aria_code-4.4.1/agents/warehouse/local_run.py +0 -71
- aria_code-4.4.1/agents/warehouse/workflow.py +0 -31
- aria_code-4.4.1/aliyun_data_client.py +0 -4
- aria_code-4.4.1/apps/channels/intake.py +0 -92
- aria_code-4.4.1/apps/channels/tradingview.py +0 -94
- aria_code-4.4.1/apps/cli/bootstrap.py +0 -103
- aria_code-4.4.1/apps/cli/broker_render.py +0 -206
- aria_code-4.4.1/apps/cli/codegen_paths.py +0 -29
- aria_code-4.4.1/apps/cli/commands/analysis_cmds.py +0 -288
- aria_code-4.4.1/apps/cli/commands/ashare_prediction_cmds.py +0 -299
- aria_code-4.4.1/apps/cli/commands/auth_cmds.py +0 -135
- aria_code-4.4.1/apps/cli/commands/backtest_cmds.py +0 -2470
- aria_code-4.4.1/apps/cli/commands/broker_cmds.py +0 -1216
- aria_code-4.4.1/apps/cli/commands/business_workflow_cmds.py +0 -289
- aria_code-4.4.1/apps/cli/commands/canvas_cmds.py +0 -54
- aria_code-4.4.1/apps/cli/commands/core_cmds.py +0 -2430
- aria_code-4.4.1/apps/cli/commands/data_cmds.py +0 -405
- aria_code-4.4.1/apps/cli/commands/diagnostic_cmds.py +0 -179
- aria_code-4.4.1/apps/cli/commands/diagnostic_ops_cmds.py +0 -751
- aria_code-4.4.1/apps/cli/commands/file_cmds.py +0 -267
- aria_code-4.4.1/apps/cli/commands/finance_service_cmds.py +0 -32
- aria_code-4.4.1/apps/cli/commands/fx_commodity_cmds.py +0 -87
- aria_code-4.4.1/apps/cli/commands/market.py +0 -424
- aria_code-4.4.1/apps/cli/commands/market_cmds.py +0 -1276
- aria_code-4.4.1/apps/cli/commands/market_context.py +0 -425
- aria_code-4.4.1/apps/cli/commands/market_render.py +0 -7
- aria_code-4.4.1/apps/cli/commands/model_cmds.py +0 -1982
- aria_code-4.4.1/apps/cli/commands/ops_cmds.py +0 -668
- aria_code-4.4.1/apps/cli/commands/orchestrator_cmds.py +0 -36
- aria_code-4.4.1/apps/cli/commands/pdf_export_cmds.py +0 -97
- aria_code-4.4.1/apps/cli/commands/portfolio_cmds.py +0 -1163
- aria_code-4.4.1/apps/cli/commands/report.py +0 -437
- aria_code-4.4.1/apps/cli/commands/session_cmds.py +0 -207
- aria_code-4.4.1/apps/cli/commands/session_ux_cmds.py +0 -320
- aria_code-4.4.1/apps/cli/commands/team.py +0 -669
- aria_code-4.4.1/apps/cli/commands/team_render.py +0 -8
- aria_code-4.4.1/apps/cli/commands/ui_cmds.py +0 -358
- aria_code-4.4.1/apps/cli/commands/warehouse_cmds.py +0 -51
- aria_code-4.4.1/apps/cli/commands/workflow_cmds.py +0 -419
- aria_code-4.4.1/apps/cli/commands/workspace_cmds.py +0 -1422
- aria_code-4.4.1/apps/cli/config_paths.py +0 -73
- aria_code-4.4.1/apps/cli/config_store.py +0 -66
- aria_code-4.4.1/apps/cli/deterministic.py +0 -128
- aria_code-4.4.1/apps/cli/direct.py +0 -48
- aria_code-4.4.1/apps/cli/finance_service_catalog.py +0 -111
- aria_code-4.4.1/apps/cli/football_reports.py +0 -231
- aria_code-4.4.1/apps/cli/github_app_auth.py +0 -135
- aria_code-4.4.1/apps/cli/handlers/chart_handlers.py +0 -1309
- aria_code-4.4.1/apps/cli/handlers/market_handlers.py +0 -2513
- aria_code-4.4.1/apps/cli/handlers/realty_handlers.py +0 -114
- aria_code-4.4.1/apps/cli/hooks.py +0 -180
- aria_code-4.4.1/apps/cli/intent_router.py +0 -265
- aria_code-4.4.1/apps/cli/local_tool_schemas.py +0 -473
- aria_code-4.4.1/apps/cli/main.py +0 -29
- aria_code-4.4.1/apps/cli/market_universe.py +0 -378
- aria_code-4.4.1/apps/cli/message_processing.py +0 -310
- aria_code-4.4.1/apps/cli/model_catalog.py +0 -408
- aria_code-4.4.1/apps/cli/pdf_report.py +0 -977
- aria_code-4.4.1/apps/cli/plan_mode.py +0 -139
- aria_code-4.4.1/apps/cli/preflight.py +0 -502
- aria_code-4.4.1/apps/cli/prompts/coding.py +0 -658
- aria_code-4.4.1/apps/cli/prompts/system_prompts.py +0 -535
- aria_code-4.4.1/apps/cli/prompts/ui.py +0 -434
- aria_code-4.4.1/apps/cli/providers/base.py +0 -462
- aria_code-4.4.1/apps/cli/providers/chat_routing.py +0 -92
- aria_code-4.4.1/apps/cli/providers/llm/ollama_stream.py +0 -1453
- aria_code-4.4.1/apps/cli/providers/llm/sse_stream.py +0 -216
- aria_code-4.4.1/apps/cli/providers/runtime_bridge.py +0 -217
- aria_code-4.4.1/apps/cli/runtime_consumer.py +0 -645
- aria_code-4.4.1/apps/cli/session_export.py +0 -93
- aria_code-4.4.1/apps/cli/session_jsonl.py +0 -208
- aria_code-4.4.1/apps/cli/session_store.py +0 -112
- aria_code-4.4.1/apps/cli/todo_tracker.py +0 -190
- aria_code-4.4.1/apps/cli/tool_executor.py +0 -752
- aria_code-4.4.1/apps/cli/tools/context.py +0 -46
- aria_code-4.4.1/apps/cli/tools/file_tools.py +0 -112
- aria_code-4.4.1/apps/cli/tools/market_tools.py +0 -605
- aria_code-4.4.1/apps/cli/tools/notebook_tools.py +0 -111
- aria_code-4.4.1/apps/cli/tools/system_tools.py +0 -684
- aria_code-4.4.1/apps/cli/tools/write_tools.py +0 -795
- aria_code-4.4.1/apps/cli/tradingview_bridge.py +0 -529
- aria_code-4.4.1/apps/cli/update_check.py +0 -153
- aria_code-4.4.1/apps/cli/utils/market_detect.py +0 -1587
- aria_code-4.4.1/aria_cli.py +0 -7088
- aria_code-4.4.1/aria_code.egg-info/PKG-INFO +0 -1131
- aria_code-4.4.1/aria_code.egg-info/SOURCES.txt +0 -564
- aria_code-4.4.1/aria_code.egg-info/entry_points.txt +0 -3
- aria_code-4.4.1/aria_code.egg-info/requires.txt +0 -149
- aria_code-4.4.1/aria_code.egg-info/top_level.txt +0 -72
- aria_code-4.4.1/aria_daemon.py +0 -1360
- aria_code-4.4.1/aria_feishu_bot.py +0 -1423
- aria_code-4.4.1/aria_mcp_server.py +0 -7
- aria_code-4.4.1/aria_relay_client.py +0 -4
- aria_code-4.4.1/aria_relay_server.py +0 -490
- aria_code-4.4.1/aria_telegram_bot.py +0 -202
- aria_code-4.4.1/ariarc.py +0 -328
- aria_code-4.4.1/artifacts.py +0 -578
- aria_code-4.4.1/backtest_engine.py +0 -4
- aria_code-4.4.1/backtest_report.py +0 -4
- aria_code-4.4.1/brokers/__init__.py +0 -78
- aria_code-4.4.1/brokers/config.py +0 -410
- aria_code-4.4.1/brokers/registry.py +0 -213
- aria_code-4.4.1/canva_client.py +0 -4
- aria_code-4.4.1/clients/aria_relay_client.py +0 -182
- aria_code-4.4.1/clients/canva_client.py +0 -284
- aria_code-4.4.1/clients/figma_client.py +0 -100
- aria_code-4.4.1/clients/football_data_client.py +0 -1671
- aria_code-4.4.1/clients/kling_video_client.py +0 -182
- aria_code-4.4.1/clients/market_data_client.py +0 -1976
- aria_code-4.4.1/clients/openai_image_client.py +0 -242
- aria_code-4.4.1/clients/runway_video_client.py +0 -157
- aria_code-4.4.1/command_safety.py +0 -19
- aria_code-4.4.1/computer_use_tools.py +0 -4
- aria_code-4.4.1/dashboard_generator.py +0 -579
- aria_code-4.4.1/data_analysis_tools.py +0 -4
- aria_code-4.4.1/data_service.py +0 -513
- aria_code-4.4.1/datasources/__init__.py +0 -23
- aria_code-4.4.1/datasources/router.py +0 -221
- aria_code-4.4.1/datasources/sources/alpha_vantage_source.py +0 -203
- aria_code-4.4.1/datasources/sources/finnhub_source.py +0 -198
- aria_code-4.4.1/datasources/sources/fred_source.py +0 -223
- aria_code-4.4.1/datasources/sources/tushare_source.py +0 -143
- aria_code-4.4.1/doctor.py +0 -676
- aria_code-4.4.1/domain/backtest_engine.py +0 -354
- aria_code-4.4.1/domain/backtest_report.py +0 -472
- aria_code-4.4.1/domain/finance_formulas.py +0 -389
- aria_code-4.4.1/domain/portfolio_ledger.py +0 -307
- aria_code-4.4.1/domain/strategy_vault.py +0 -421
- aria_code-4.4.1/figma_client.py +0 -4
- aria_code-4.4.1/file_analysis_tools.py +0 -4
- aria_code-4.4.1/finance_formulas.py +0 -4
- aria_code-4.4.1/football_data_client.py +0 -4
- aria_code-4.4.1/image_gen_tools.py +0 -4
- aria_code-4.4.1/intent_classifier.py +0 -358
- aria_code-4.4.1/kling_video_client.py +0 -4
- aria_code-4.4.1/licensing.py +0 -151
- aria_code-4.4.1/local_finance_tools.py +0 -4
- aria_code-4.4.1/local_image_provider.py +0 -4
- aria_code-4.4.1/local_llm_provider.py +0 -4
- aria_code-4.4.1/macro_tools.py +0 -4
- aria_code-4.4.1/markdown_pdf.py +0 -289
- aria_code-4.4.1/market_data_client.py +0 -4
- aria_code-4.4.1/mcp_client.py +0 -610
- aria_code-4.4.1/memory_manager.py +0 -246
- aria_code-4.4.1/model_capability.py +0 -416
- aria_code-4.4.1/notification_tools.py +0 -4
- aria_code-4.4.1/openai_image_client.py +0 -4
- aria_code-4.4.1/packages/__init__.py +0 -23
- aria_code-4.4.1/packages/adk_bridge/code_review_tools.py +0 -49
- aria_code-4.4.1/packages/adk_bridge/market_tools.py +0 -125
- aria_code-4.4.1/packages/aria_agents/manifest.py +0 -69
- aria_code-4.4.1/packages/aria_core/export.py +0 -147
- aria_code-4.4.1/packages/aria_core/paths.py +0 -57
- aria_code-4.4.1/packages/aria_infra/doctor.py +0 -246
- aria_code-4.4.1/packages/aria_infra/product.py +0 -37
- aria_code-4.4.1/packages/aria_mcp/server.py +0 -1550
- aria_code-4.4.1/packages/aria_mcp/tools.py +0 -81
- aria_code-4.4.1/packages/aria_sdk/client.py +0 -396
- aria_code-4.4.1/packages/aria_sdk/providers.py +0 -70
- aria_code-4.4.1/packages/aria_sdk/streaming.py +0 -79
- aria_code-4.4.1/packages/aria_services/context.py +0 -356
- aria_code-4.4.1/packages/aria_services/context_checkpoints.py +0 -157
- aria_code-4.4.1/packages/aria_services/data.py +0 -11
- aria_code-4.4.1/packages/aria_services/registry.py +0 -249
- aria_code-4.4.1/packages/aria_skills/catalog.py +0 -149
- aria_code-4.4.1/packages/aria_skills/loader.py +0 -455
- aria_code-4.4.1/packages/aria_skills/registry.py +0 -84
- aria_code-4.4.1/packages/aria_tools/financial/_paths.py +0 -104
- aria_code-4.4.1/packages/aria_tools/registry.py +0 -128
- aria_code-4.4.1/packages/quant_engine/__init__.py +0 -34
- aria_code-4.4.1/packages/quant_engine/_namespace.py +0 -62
- aria_code-4.4.1/packages/quant_engine/sports/__init__.py +0 -80
- aria_code-4.4.1/packages/quant_engine/sports/calibrator.py +0 -354
- aria_code-4.4.1/packages/quant_engine/sports/elo.py +0 -300
- aria_code-4.4.1/packages/quant_engine/sports/ml_model.py +0 -377
- aria_code-4.4.1/packages/quant_engine/sports/predictor.py +0 -312
- aria_code-4.4.1/packages/quant_engine/sports/tracker.py +0 -665
- aria_code-4.4.1/packages/quant_engine/stochastic/options_pricing.py +0 -573
- aria_code-4.4.1/portfolio_ledger.py +0 -4
- aria_code-4.4.1/preview_server.py +0 -409
- aria_code-4.4.1/project_tools.py +0 -4
- aria_code-4.4.1/providers/__init__.py +0 -30
- aria_code-4.4.1/providers/llm/openai_compat.py +0 -293
- aria_code-4.4.1/providers/llm/registry.py +0 -437
- aria_code-4.4.1/providers/local_image_provider.py +0 -202
- aria_code-4.4.1/providers/local_llm_provider.py +0 -589
- aria_code-4.4.1/pyproject.toml +0 -366
- aria_code-4.4.1/realty_data_tools.py +0 -4
- aria_code-4.4.1/report_generator.py +0 -1764
- aria_code-4.4.1/runtime/__init__.py +0 -145
- aria_code-4.4.1/runtime/agent_loop.py +0 -1445
- aria_code-4.4.1/runtime/crash_report.py +0 -174
- aria_code-4.4.1/runtime/gateway.py +0 -143
- aria_code-4.4.1/runtime/lsp.py +0 -346
- aria_code-4.4.1/runtime/run_store.py +0 -450
- aria_code-4.4.1/runtime/subagent.py +0 -547
- aria_code-4.4.1/runtime/task_orchestrator.py +0 -90
- aria_code-4.4.1/runtime/tool_policy.py +0 -107
- aria_code-4.4.1/runway_video_client.py +0 -4
- aria_code-4.4.1/safety/permissions.py +0 -275
- aria_code-4.4.1/safety/service.py +0 -86
- aria_code-4.4.1/setup_wizard.py +0 -653
- aria_code-4.4.1/spreadsheet_tools.py +0 -4
- aria_code-4.4.1/strategy_vault.py +0 -4
- aria_code-4.4.1/tests/test_adk_market_tools.py +0 -89
- aria_code-4.4.1/tests/test_agent_team_fallback.py +0 -105
- aria_code-4.4.1/tests/test_analyze_file_tool.py +0 -93
- aria_code-4.4.1/tests/test_architecture_report.py +0 -35
- aria_code-4.4.1/tests/test_aria_cli_core.py +0 -726
- aria_code-4.4.1/tests/test_aria_mcp_server.py +0 -574
- aria_code-4.4.1/tests/test_aria_sdk.py +0 -353
- aria_code-4.4.1/tests/test_artifacts_and_reports.py +0 -431
- aria_code-4.4.1/tests/test_ashare_prediction_cmds.py +0 -89
- aria_code-4.4.1/tests/test_backtest_cmds.py +0 -184
- aria_code-4.4.1/tests/test_backtest_engine.py +0 -146
- aria_code-4.4.1/tests/test_backtest_report.py +0 -112
- aria_code-4.4.1/tests/test_broker_automation.py +0 -133
- aria_code-4.4.1/tests/test_broker_chat_confirm_gate.py +0 -161
- aria_code-4.4.1/tests/test_broker_planning.py +0 -89
- aria_code-4.4.1/tests/test_broker_safety.py +0 -96
- aria_code-4.4.1/tests/test_budget.py +0 -131
- aria_code-4.4.1/tests/test_business_workflow_cmds.py +0 -53
- aria_code-4.4.1/tests/test_canva_client.py +0 -101
- aria_code-4.4.1/tests/test_canvas_cmds.py +0 -133
- aria_code-4.4.1/tests/test_channel_intake.py +0 -73
- aria_code-4.4.1/tests/test_channels.py +0 -103
- aria_code-4.4.1/tests/test_chart_handlers.py +0 -176
- aria_code-4.4.1/tests/test_chat_routing.py +0 -64
- aria_code-4.4.1/tests/test_cli_app_split.py +0 -1019
- aria_code-4.4.1/tests/test_cli_bootstrap.py +0 -42
- aria_code-4.4.1/tests/test_cli_config_store.py +0 -34
- aria_code-4.4.1/tests/test_cli_lifecycle_hooks.py +0 -30
- aria_code-4.4.1/tests/test_cli_runtime_consumer.py +0 -200
- aria_code-4.4.1/tests/test_code_review_agent.py +0 -55
- aria_code-4.4.1/tests/test_codegen_output.py +0 -48
- aria_code-4.4.1/tests/test_collaboration.py +0 -61
- aria_code-4.4.1/tests/test_command_safety.py +0 -33
- aria_code-4.4.1/tests/test_completions_builder.py +0 -75
- aria_code-4.4.1/tests/test_config_paths.py +0 -35
- aria_code-4.4.1/tests/test_configured_provider.py +0 -107
- aria_code-4.4.1/tests/test_context_checkpoints.py +0 -130
- aria_code-4.4.1/tests/test_context_references.py +0 -177
- aria_code-4.4.1/tests/test_context_service.py +0 -135
- aria_code-4.4.1/tests/test_crash_report.py +0 -95
- aria_code-4.4.1/tests/test_custom_providers.py +0 -107
- aria_code-4.4.1/tests/test_dashboard_generator.py +0 -79
- aria_code-4.4.1/tests/test_data_service.py +0 -180
- aria_code-4.4.1/tests/test_data_service_imports.py +0 -8
- aria_code-4.4.1/tests/test_deep_analysis.py +0 -337
- aria_code-4.4.1/tests/test_doctor.py +0 -342
- aria_code-4.4.1/tests/test_feishu_swarm_config.py +0 -15
- aria_code-4.4.1/tests/test_finance_renderers.py +0 -116
- aria_code-4.4.1/tests/test_finance_service_catalog.py +0 -18
- aria_code-4.4.1/tests/test_football_agent.py +0 -103
- aria_code-4.4.1/tests/test_football_prediction_output.py +0 -129
- aria_code-4.4.1/tests/test_image_gen_tools.py +0 -102
- aria_code-4.4.1/tests/test_image_inputs.py +0 -62
- aria_code-4.4.1/tests/test_intent_router.py +0 -42
- aria_code-4.4.1/tests/test_kling_video_client.py +0 -96
- aria_code-4.4.1/tests/test_legacy_module_imports.py +0 -17
- aria_code-4.4.1/tests/test_licensing.py +0 -89
- aria_code-4.4.1/tests/test_local_image_provider.py +0 -163
- aria_code-4.4.1/tests/test_lsp.py +0 -152
- aria_code-4.4.1/tests/test_markdown_pdf.py +0 -60
- aria_code-4.4.1/tests/test_market_data_client.py +0 -479
- aria_code-4.4.1/tests/test_market_history_tool.py +0 -160
- aria_code-4.4.1/tests/test_market_symbol_extraction.py +0 -77
- aria_code-4.4.1/tests/test_market_universe.py +0 -80
- aria_code-4.4.1/tests/test_mcp_circuit.py +0 -170
- aria_code-4.4.1/tests/test_mcp_client.py +0 -64
- aria_code-4.4.1/tests/test_model_selection_state.py +0 -51
- aria_code-4.4.1/tests/test_new_modules.py +0 -707
- aria_code-4.4.1/tests/test_ollama_stream_tools.py +0 -165
- aria_code-4.4.1/tests/test_openai_image_client.py +0 -201
- aria_code-4.4.1/tests/test_output_rendering.py +0 -669
- aria_code-4.4.1/tests/test_packages_facade.py +0 -436
- aria_code-4.4.1/tests/test_packaging_manifest.py +0 -123
- aria_code-4.4.1/tests/test_pdf_report.py +0 -270
- aria_code-4.4.1/tests/test_pick_best_installed_model.py +0 -63
- aria_code-4.4.1/tests/test_plan_mode.py +0 -80
- aria_code-4.4.1/tests/test_plotly_html_output.py +0 -91
- aria_code-4.4.1/tests/test_portfolio_ledger.py +0 -89
- aria_code-4.4.1/tests/test_preflight.py +0 -178
- aria_code-4.4.1/tests/test_preview_server.py +0 -248
- aria_code-4.4.1/tests/test_privacy_feedback.py +0 -68
- aria_code-4.4.1/tests/test_project_aria.py +0 -19
- aria_code-4.4.1/tests/test_prompt_assembly.py +0 -70
- aria_code-4.4.1/tests/test_provider_autoconfig.py +0 -97
- aria_code-4.4.1/tests/test_provider_integration.py +0 -373
- aria_code-4.4.1/tests/test_provider_registry.py +0 -256
- aria_code-4.4.1/tests/test_public_service_status.py +0 -57
- aria_code-4.4.1/tests/test_quant_engine_namespace.py +0 -82
- aria_code-4.4.1/tests/test_rebind_namespace_contract.py +0 -109
- aria_code-4.4.1/tests/test_relay_event_verification.py +0 -126
- aria_code-4.4.1/tests/test_report_charts.py +0 -185
- aria_code-4.4.1/tests/test_report_generator.py +0 -65
- aria_code-4.4.1/tests/test_research_protocol.py +0 -26
- aria_code-4.4.1/tests/test_research_quality.py +0 -96
- aria_code-4.4.1/tests/test_responsive_rendering.py +0 -90
- aria_code-4.4.1/tests/test_root_module_budget.py +0 -105
- aria_code-4.4.1/tests/test_runtime_agent_loop.py +0 -878
- aria_code-4.4.1/tests/test_runtime_approval.py +0 -75
- aria_code-4.4.1/tests/test_runtime_bridge.py +0 -138
- aria_code-4.4.1/tests/test_runtime_bridge_fallback.py +0 -139
- aria_code-4.4.1/tests/test_runtime_checkpoints.py +0 -175
- aria_code-4.4.1/tests/test_runtime_gateway.py +0 -59
- aria_code-4.4.1/tests/test_runtime_run_store.py +0 -146
- aria_code-4.4.1/tests/test_runtime_tool_executor.py +0 -163
- aria_code-4.4.1/tests/test_runtime_worktrees.py +0 -151
- aria_code-4.4.1/tests/test_runway_video_client.py +0 -87
- aria_code-4.4.1/tests/test_safety_permissions.py +0 -38
- aria_code-4.4.1/tests/test_safety_service.py +0 -101
- aria_code-4.4.1/tests/test_service_diagnostics_security.py +0 -20
- aria_code-4.4.1/tests/test_session_search.py +0 -110
- aria_code-4.4.1/tests/test_settings_service.py +0 -108
- aria_code-4.4.1/tests/test_skill_agent_binding.py +0 -103
- aria_code-4.4.1/tests/test_skill_catalog.py +0 -187
- aria_code-4.4.1/tests/test_skill_loader.py +0 -278
- aria_code-4.4.1/tests/test_spreadsheet_tools.py +0 -92
- aria_code-4.4.1/tests/test_startup_dashboard.py +0 -122
- aria_code-4.4.1/tests/test_streaming_pipeline.py +0 -249
- aria_code-4.4.1/tests/test_subagent.py +0 -193
- aria_code-4.4.1/tests/test_supervisor_routing.py +0 -30
- aria_code-4.4.1/tests/test_system_prompts.py +0 -35
- aria_code-4.4.1/tests/test_system_tools_output.py +0 -76
- aria_code-4.4.1/tests/test_task_orchestrator.py +0 -28
- aria_code-4.4.1/tests/test_team_synthesis.py +0 -74
- aria_code-4.4.1/tests/test_tool_policy.py +0 -81
- aria_code-4.4.1/tests/test_trading_service.py +0 -141
- aria_code-4.4.1/tests/test_tradingview_bridge.py +0 -180
- aria_code-4.4.1/tests/test_turn_planning.py +0 -58
- aria_code-4.4.1/tests/test_ui_completer_references.py +0 -79
- aria_code-4.4.1/tests/test_ui_console_theme.py +0 -41
- aria_code-4.4.1/tests/test_ui_input_box.py +0 -286
- aria_code-4.4.1/tests/test_ui_robot_banner.py +0 -93
- aria_code-4.4.1/tests/test_version_consistency.py +0 -67
- aria_code-4.4.1/tests/test_video_analysis.py +0 -82
- aria_code-4.4.1/tests/test_video_editor.py +0 -148
- aria_code-4.4.1/tests/test_warehouse_agents.py +0 -45
- aria_code-4.4.1/tests/test_warehouse_cli_registration.py +0 -10
- aria_code-4.4.1/tests/test_warehouse_erp_client.py +0 -63
- aria_code-4.4.1/tests/test_warehouse_workflow.py +0 -26
- aria_code-4.4.1/tests/test_workspace_context.py +0 -92
- aria_code-4.4.1/tests/test_workspace_files.py +0 -47
- aria_code-4.4.1/tests/test_workspace_verify.py +0 -38
- aria_code-4.4.1/tools/data_analysis_tools.py +0 -809
- aria_code-4.4.1/tools/file_analysis_tools.py +0 -885
- aria_code-4.4.1/tools/image_gen_tools.py +0 -114
- aria_code-4.4.1/tools/local_finance_tools.py +0 -3338
- aria_code-4.4.1/tools/macro_tools.py +0 -369
- aria_code-4.4.1/tools/notification_tools.py +0 -249
- aria_code-4.4.1/tools/realty_data_tools.py +0 -659
- aria_code-4.4.1/tools/spreadsheet_tools.py +0 -388
- aria_code-4.4.1/ui/__init__.py +0 -105
- aria_code-4.4.1/ui/banner.py +0 -472
- aria_code-4.4.1/ui/completer.py +0 -501
- aria_code-4.4.1/ui/console.py +0 -281
- aria_code-4.4.1/ui/picker.py +0 -199
- aria_code-4.4.1/ui/render/finance.py +0 -1706
- aria_code-4.4.1/ui/render/output.py +0 -759
- aria_code-4.4.1/video_editor.py +0 -271
- aria_code-4.4.1/workspace/files.py +0 -170
- {aria_code-4.4.1 → aria_code-4.4.2}/LICENSE +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2}/setup.cfg +0 -0
- {aria_code-4.4.1/agents/sports → aria_code-4.4.2/src/aria_code}/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/adk_apps/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/adk_apps/aria_code_review/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/adk_apps/aria_research/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/code_review.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/deep/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/deep/calibration_loop.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/deep/critic.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/deep/models.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/deep/pipeline.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/deep/themes.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/deep/tiers.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/catalyst.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/debate.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/earnings.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/fundamental.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/macro.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/news.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/risk.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/sector.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/synthesis.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/financial/technical.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/portfolio_agent.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/asset_diagnosis.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/business_match.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/cashflow_verify.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/contract_rules.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/energy_anomaly.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/exit_settlement.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/fulfillment_risk.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/ops_optimize.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/realty/revenue_share.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/signal_scheme.py +0 -0
- {aria_code-4.4.1/apps/cli/prompts → aria_code-4.4.2/src/aria_code/agents/sports}/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/supervisor.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/team.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/warehouse/contracts.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/warehouse/inbound_exceptions.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/warehouse/inventory_health.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/warehouse/local_snapshot.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/agents/warehouse/logistics_sync.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/README.md +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/channels/README.md +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/channels/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/channels/registry.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/README.md +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/commands/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/commands/catalog.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/commands/scaffold_templates.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/handlers/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/handlers/broker_handlers.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/handlers/strategy_advice.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/i18n.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/intent.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/lifecycle_hooks.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/market_metadata.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/plotly_html.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/prediction_feedback.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/project_aria.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/prompt_assembly.py +0 -0
- {aria_code-4.4.1/apps/cli/utils → aria_code-4.4.2/src/aria_code/apps/cli/prompts}/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/provider_endpoints.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/providers/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/providers/collaboration.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/providers/llm/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/skills_catalog.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/tools/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/cli/turn_planning.py +0 -0
- {aria_code-4.4.1/clients → aria_code-4.4.2/src/aria_code/apps/cli/utils}/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/daemon/README.md +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/vscode/README.md +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/apps/vscode/package.json +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/automation.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/base.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/capabilities.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/cn/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/cn/easytrader_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/cn/futu_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/cn/longbridge_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/cn/tiger_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/cn/xtquant_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/intl/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/intl/alpaca_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/intl/ibkr_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/intl/trading212_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/intl/webull_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/paper_broker.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/planning.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/brokers/trading.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/change_store.py +0 -0
- {aria_code-4.4.1/domain → aria_code-4.4.2/src/aria_code/clients}/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/clients/aliyun_data_client.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/clients/warehouse_erp_client.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/data_cleaner.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/datasources/base.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/datasources/sources/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/datasources/sources/akshare_source.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/datasources/sources/edgar_source.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/datasources/sources/web_scraper_source.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/datasources/sources/world_bank_source.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/datasources/sources/yfinance_source.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/demo_player.py +0 -0
- {aria_code-4.4.1/tools → aria_code-4.4.2/src/aria_code/domain}/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/external_agent_runner.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/adk_bridge/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_agents/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_core/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_core/architecture.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_core/manifest.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_infra/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_infra/arthera.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_mcp/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_mcp/bridge.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_mcp/circuit.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_mcp/config.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_sdk/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_sdk/types.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_services/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_services/cache.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_services/provider_health.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_services/references.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_services/research_protocol.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_services/research_quality.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_services/settings.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_services/usage.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_skills/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_tools/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_tools/financial/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_tools/financial/compliance.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_tools/financial/factors.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_tools/financial/risk_tools.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/aria_tools/financial/strategy.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/backtest/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/backtest/core.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/backtest/engine.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/portfolio/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/portfolio/optimizer.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/sports/dixon_coles.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/sports/form.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/sports/h2h.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/stochastic/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/stochastic/gbm_enhanced.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/stochastic/ito_calculus.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/stochastic/kelly_criterion.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/stochastic/monte_carlo_advanced.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/packages/quant_engine/stochastic/stochastic_processes.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/plan_utils.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/plugin_loader.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/privacy/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/privacy/feedback.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/providers/llm/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/providers/llm/anthropic.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/providers/llm/autoconfig.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/providers/llm/base.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/providers/llm/custom.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/providers/llm/ollama.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/report_exporters.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/runtime/approval.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/runtime/budget.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/runtime/checkpoints.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/runtime/events.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/runtime/run_state.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/runtime/task_ledger.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/runtime/tool_executor.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/runtime/worktrees.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/safety/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/tools/build_quant_engine.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/tools/computer_use_tools.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/tools/project_tools.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/ui/image_render.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/ui/input_box.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/ui/render/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/ui/render/market.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/ui/render/responsive.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/ui/render/team.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/ui/robot.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/ui/startup_dashboard.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/video_analysis.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/workspace/__init__.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/workspace/verify.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src/aria_code}/workspace_context.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2/src}/aria_code.egg-info/dependency_links.txt +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2}/tests/test_ci_security_workflow.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2}/tests/test_cli_tool_executor_module.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2}/tests/test_no_hardcoded_developer_paths.py +0 -0
- {aria_code-4.4.1 → aria_code-4.4.2}/tests/test_no_uncommitted_imports.py +0 -0
aria_code-4.4.2/PKG-INFO
ADDED
|
@@ -0,0 +1,1113 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aria-code
|
|
3
|
+
Version: 4.4.2
|
|
4
|
+
Summary: General-purpose AI product reviewer and coding agent with optional finance capabilities
|
|
5
|
+
License: BUSL-1.1
|
|
6
|
+
Project-URL: Homepage, https://github.com/artherahq/aria-code
|
|
7
|
+
Project-URL: Repository, https://github.com/artherahq/aria-code
|
|
8
|
+
Project-URL: Issues, https://github.com/artherahq/aria-code/issues
|
|
9
|
+
Keywords: ai,llm,coding-agent,code-review,product-review,terminal,cli,finance
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Environment :: Console
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
20
|
+
Requires-Python: <3.14,>=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
Requires-Dist: truststore>=0.9; python_version >= "3.10"
|
|
24
|
+
Requires-Dist: aiohttp>=3.9.0
|
|
25
|
+
Requires-Dist: rich>=13.7.0
|
|
26
|
+
Requires-Dist: prompt_toolkit>=3.0.43
|
|
27
|
+
Requires-Dist: PyYAML>=6.0.2
|
|
28
|
+
Requires-Dist: requests>=2.32.0
|
|
29
|
+
Requires-Dist: httpx[http2]>=0.27.0
|
|
30
|
+
Requires-Dist: PyJWT>=2.8.0
|
|
31
|
+
Requires-Dist: aiofiles>=23.2.0
|
|
32
|
+
Requires-Dist: websockets>=12.0
|
|
33
|
+
Requires-Dist: apscheduler>=3.10.0
|
|
34
|
+
Requires-Dist: ddgs>=9.0
|
|
35
|
+
Requires-Dist: numpy>=1.26.0
|
|
36
|
+
Requires-Dist: pandas>=2.2.0
|
|
37
|
+
Requires-Dist: scipy>=1.13.0
|
|
38
|
+
Requires-Dist: pandas_ta>=0.4.67b0; python_version >= "3.12"
|
|
39
|
+
Requires-Dist: yfinance>=0.2.55
|
|
40
|
+
Requires-Dist: pyobjc-framework-WebKit>=10.0; sys_platform == "darwin"
|
|
41
|
+
Requires-Dist: markdown>=3.6
|
|
42
|
+
Provides-Extra: service
|
|
43
|
+
Requires-Dist: fastapi>=0.115.0; extra == "service"
|
|
44
|
+
Requires-Dist: uvicorn[standard]>=0.30.0; extra == "service"
|
|
45
|
+
Requires-Dist: python-multipart>=0.0.9; extra == "service"
|
|
46
|
+
Provides-Extra: cn
|
|
47
|
+
Requires-Dist: akshare>=1.14.68; extra == "cn"
|
|
48
|
+
Provides-Extra: crypto
|
|
49
|
+
Requires-Dist: ccxt>=4.4.0; extra == "crypto"
|
|
50
|
+
Provides-Extra: charts
|
|
51
|
+
Requires-Dist: mplfinance>=0.12.9; extra == "charts"
|
|
52
|
+
Provides-Extra: data
|
|
53
|
+
Requires-Dist: duckdb>=0.10.3; extra == "data"
|
|
54
|
+
Provides-Extra: files
|
|
55
|
+
Requires-Dist: pdfplumber>=0.11.0; extra == "files"
|
|
56
|
+
Requires-Dist: pypdf>=4.3.0; extra == "files"
|
|
57
|
+
Requires-Dist: python-docx>=1.1.2; extra == "files"
|
|
58
|
+
Requires-Dist: python-pptx>=1.0.2; extra == "files"
|
|
59
|
+
Requires-Dist: openpyxl>=3.1.5; extra == "files"
|
|
60
|
+
Requires-Dist: beautifulsoup4>=4.12.3; extra == "files"
|
|
61
|
+
Requires-Dist: Pillow>=10.4.0; extra == "files"
|
|
62
|
+
Provides-Extra: video
|
|
63
|
+
Requires-Dist: opencv-python>=4.8.0; extra == "video"
|
|
64
|
+
Provides-Extra: video-analysis
|
|
65
|
+
Requires-Dist: faster-whisper>=1.0.0; extra == "video-analysis"
|
|
66
|
+
Provides-Extra: adk
|
|
67
|
+
Requires-Dist: google-adk>=2.6.3; extra == "adk"
|
|
68
|
+
Provides-Extra: ibkr
|
|
69
|
+
Requires-Dist: ib_insync>=0.9.86; extra == "ibkr"
|
|
70
|
+
Provides-Extra: futu
|
|
71
|
+
Requires-Dist: futu-api>=9.1.5108; extra == "futu"
|
|
72
|
+
Provides-Extra: tiger
|
|
73
|
+
Requires-Dist: tigeropen>=3.2.0; extra == "tiger"
|
|
74
|
+
Provides-Extra: longbridge
|
|
75
|
+
Requires-Dist: longbridge>=1.0.22; extra == "longbridge"
|
|
76
|
+
Provides-Extra: alpaca
|
|
77
|
+
Requires-Dist: alpaca-py>=0.35.0; extra == "alpaca"
|
|
78
|
+
Provides-Extra: webull
|
|
79
|
+
Requires-Dist: webull>=0.3.14; extra == "webull"
|
|
80
|
+
Provides-Extra: brokers
|
|
81
|
+
Requires-Dist: ib_insync>=0.9.86; extra == "brokers"
|
|
82
|
+
Requires-Dist: futu-api>=9.1.5108; extra == "brokers"
|
|
83
|
+
Requires-Dist: tigeropen>=3.2.0; extra == "brokers"
|
|
84
|
+
Requires-Dist: longbridge>=1.0.22; extra == "brokers"
|
|
85
|
+
Requires-Dist: alpaca-py>=0.35.0; extra == "brokers"
|
|
86
|
+
Provides-Extra: backtest
|
|
87
|
+
Requires-Dist: vectorbt>=0.26.2; extra == "backtest"
|
|
88
|
+
Provides-Extra: image-gen
|
|
89
|
+
Requires-Dist: torch>=2.2.0; extra == "image-gen"
|
|
90
|
+
Requires-Dist: diffusers>=0.30.0; extra == "image-gen"
|
|
91
|
+
Requires-Dist: transformers>=4.40.0; extra == "image-gen"
|
|
92
|
+
Requires-Dist: accelerate>=0.30.0; extra == "image-gen"
|
|
93
|
+
Provides-Extra: web
|
|
94
|
+
Requires-Dist: ddgs>=9.0; extra == "web"
|
|
95
|
+
Provides-Extra: browser
|
|
96
|
+
Requires-Dist: playwright>=1.44.0; extra == "browser"
|
|
97
|
+
Provides-Extra: desktop
|
|
98
|
+
Requires-Dist: mss>=9.0.1; extra == "desktop"
|
|
99
|
+
Requires-Dist: pyautogui>=0.9.54; extra == "desktop"
|
|
100
|
+
Provides-Extra: sports
|
|
101
|
+
Requires-Dist: understat>=0.1.0; extra == "sports"
|
|
102
|
+
Provides-Extra: lsp
|
|
103
|
+
Requires-Dist: python-lsp-server[all]>=1.10.0; extra == "lsp"
|
|
104
|
+
Provides-Extra: dev
|
|
105
|
+
Requires-Dist: pytest>=8.2.0; extra == "dev"
|
|
106
|
+
Requires-Dist: pytest-asyncio>=0.23.7; extra == "dev"
|
|
107
|
+
Requires-Dist: ruff>=0.4.0; extra == "dev"
|
|
108
|
+
Requires-Dist: mypy>=1.10.0; extra == "dev"
|
|
109
|
+
Provides-Extra: full
|
|
110
|
+
Requires-Dist: akshare>=1.14.68; extra == "full"
|
|
111
|
+
Requires-Dist: ccxt>=4.4.0; extra == "full"
|
|
112
|
+
Requires-Dist: mplfinance>=0.12.9; extra == "full"
|
|
113
|
+
Requires-Dist: duckdb>=0.10.3; extra == "full"
|
|
114
|
+
Requires-Dist: pdfplumber>=0.11.0; extra == "full"
|
|
115
|
+
Requires-Dist: pypdf>=4.3.0; extra == "full"
|
|
116
|
+
Requires-Dist: python-docx>=1.1.2; extra == "full"
|
|
117
|
+
Requires-Dist: python-pptx>=1.0.2; extra == "full"
|
|
118
|
+
Requires-Dist: openpyxl>=3.1.5; extra == "full"
|
|
119
|
+
Requires-Dist: beautifulsoup4>=4.12.3; extra == "full"
|
|
120
|
+
Requires-Dist: Pillow>=10.4.0; extra == "full"
|
|
121
|
+
Requires-Dist: ddgs>=9.0; extra == "full"
|
|
122
|
+
Provides-Extra: all
|
|
123
|
+
Requires-Dist: akshare>=1.14.68; extra == "all"
|
|
124
|
+
Requires-Dist: ccxt>=4.4.0; extra == "all"
|
|
125
|
+
Requires-Dist: mplfinance>=0.12.9; extra == "all"
|
|
126
|
+
Requires-Dist: duckdb>=0.10.3; extra == "all"
|
|
127
|
+
Requires-Dist: pdfplumber>=0.11.0; extra == "all"
|
|
128
|
+
Requires-Dist: pypdf>=4.3.0; extra == "all"
|
|
129
|
+
Requires-Dist: python-docx>=1.1.2; extra == "all"
|
|
130
|
+
Requires-Dist: python-pptx>=1.0.2; extra == "all"
|
|
131
|
+
Requires-Dist: openpyxl>=3.1.5; extra == "all"
|
|
132
|
+
Requires-Dist: beautifulsoup4>=4.12.3; extra == "all"
|
|
133
|
+
Requires-Dist: Pillow>=10.4.0; extra == "all"
|
|
134
|
+
Requires-Dist: ddgs>=9.0; extra == "all"
|
|
135
|
+
Requires-Dist: playwright>=1.44.0; extra == "all"
|
|
136
|
+
Requires-Dist: mss>=9.0.1; extra == "all"
|
|
137
|
+
Requires-Dist: pyautogui>=0.9.54; extra == "all"
|
|
138
|
+
Requires-Dist: opencv-python>=4.8.0; extra == "all"
|
|
139
|
+
Requires-Dist: understat>=0.1.0; extra == "all"
|
|
140
|
+
Requires-Dist: ib_insync>=0.9.86; extra == "all"
|
|
141
|
+
Requires-Dist: futu-api>=9.1.5108; extra == "all"
|
|
142
|
+
Requires-Dist: tigeropen>=3.2.0; extra == "all"
|
|
143
|
+
Requires-Dist: longbridge>=1.0.22; extra == "all"
|
|
144
|
+
Requires-Dist: alpaca-py>=0.35.0; extra == "all"
|
|
145
|
+
Requires-Dist: vectorbt>=0.26.2; extra == "all"
|
|
146
|
+
Requires-Dist: pytest>=8.2.0; extra == "all"
|
|
147
|
+
Requires-Dist: pytest-asyncio>=0.23.7; extra == "all"
|
|
148
|
+
Dynamic: license-file
|
|
149
|
+
|
|
150
|
+
<p align="center">
|
|
151
|
+
<picture>
|
|
152
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/logo-dark.svg" width="100">
|
|
153
|
+
<img src="docs/assets/logo-light.svg" alt="Aria Code" width="100">
|
|
154
|
+
</picture>
|
|
155
|
+
</p>
|
|
156
|
+
|
|
157
|
+
<p align="center">
|
|
158
|
+
<a href="./README_CN.md"><img src="https://img.shields.io/badge/中文文档-README__CN.md-red?style=flat-square" alt="中文"/></a>
|
|
159
|
+
<img src="https://img.shields.io/badge/English-Current-6366f1?style=flat-square" alt="English"/>
|
|
160
|
+
</p>
|
|
161
|
+
|
|
162
|
+
<p align="center">
|
|
163
|
+
<a href="https://www.npmjs.com/package/@artheras/aria-code"><img src="https://img.shields.io/npm/v/@artheras/aria-code?style=for-the-badge&logo=npm&color=cb3837&label=npm" alt="npm"/></a>
|
|
164
|
+
<a href="https://pypi.org/project/aria-code/"><img src="https://img.shields.io/pypi/v/aria-code?style=for-the-badge&logo=pypi&logoColor=white&label=PyPI&color=3775A9" alt="PyPI"/></a>
|
|
165
|
+
<a href="https://github.com/artherahq/aria-code/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/artherahq/aria-code/ci.yml?branch=main&style=for-the-badge&logo=githubactions&logoColor=white&label=CI" alt="CI"/></a>
|
|
166
|
+
<img src="https://img.shields.io/badge/Python-3.10+-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="python"/>
|
|
167
|
+
<img src="https://img.shields.io/badge/Ollama-Local_LLM-black?style=for-the-badge&logo=llama&logoColor=white" alt="ollama"/>
|
|
168
|
+
<img src="https://img.shields.io/badge/Providers-19+_Cloud-f59e0b?style=for-the-badge" alt="providers"/>
|
|
169
|
+
<img src="https://img.shields.io/badge/License-BSL%201.1-f59e0b?style=for-the-badge" alt="license"/>
|
|
170
|
+
<img src="https://img.shields.io/github/stars/artherahq/aria-code?style=for-the-badge&color=f59e0b" alt="stars"/>
|
|
171
|
+
</p>
|
|
172
|
+
|
|
173
|
+
<h1 align="center">Aria Code</h1>
|
|
174
|
+
|
|
175
|
+
<p align="center">
|
|
176
|
+
<b>General-purpose AI product reviewer and coding agent</b><br>
|
|
177
|
+
<sub>Review products · Understand repositories · Write and verify code · Optional finance capabilities</sub>
|
|
178
|
+
</p>
|
|
179
|
+
|
|
180
|
+
<p align="center">
|
|
181
|
+
<a href="#-quick-start">Quick Start</a> ·
|
|
182
|
+
<a href="#-keyboard-shortcuts">Shortcuts</a> ·
|
|
183
|
+
<a href="#-model-support">Models</a> ·
|
|
184
|
+
<a href="#-commands-reference">Commands</a> ·
|
|
185
|
+
<a href="#-feishu-integration">Feishu</a> ·
|
|
186
|
+
<a href="#-telegram-integration">Telegram</a> ·
|
|
187
|
+
<a href="#-architecture">Architecture</a>
|
|
188
|
+
</p>
|
|
189
|
+
|
|
190
|
+
<p align="center">
|
|
191
|
+
<img src="docs/assets/demo-2026-06-22.gif" alt="Aria Code demo" width="860"/>
|
|
192
|
+
</p>
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## What is Aria Code?
|
|
197
|
+
|
|
198
|
+
Aria Code is a **terminal-first product and software-engineering agent**. It can review an uploaded product, understand an existing repository, find correctness and security risks, plan improvements, implement features, and verify code across common stacks. Financial and quantitative research remain available as optional domain capabilities rather than defining the default experience.
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
$ aria-code
|
|
202
|
+
|
|
203
|
+
▣ Aria Code v4.1 local-first agent
|
|
204
|
+
model qwen2.5-coder:7b local
|
|
205
|
+
workspace ~/my-portfolio
|
|
206
|
+
mode workspace-write · network on · local-only
|
|
207
|
+
status Ollama online · 3 models
|
|
208
|
+
|
|
209
|
+
try analyze AAPL · /project load ./myapp · /help
|
|
210
|
+
|
|
211
|
+
> analyze NVDA momentum — give me RSI, MACD, and a short thesis
|
|
212
|
+
|
|
213
|
+
NVIDIA Corp (NVDA) ── Technical Snapshot
|
|
214
|
+
─────────────────────────────────────────
|
|
215
|
+
Price $875.40 +2.3% today (Finnhub real-time)
|
|
216
|
+
RSI (14) 68.4 Approaching overbought
|
|
217
|
+
MACD +4.2 Bullish crossover 3 days ago
|
|
218
|
+
BB Width 0.18 Moderate volatility
|
|
219
|
+
|
|
220
|
+
Signal: ↑ BULLISH (momentum intact, watch RSI > 70)
|
|
221
|
+
Support: $842 / $810 Resistance: $900 / $925
|
|
222
|
+
|
|
223
|
+
Thesis: AI infrastructure spending cycle still early …
|
|
224
|
+
|
|
225
|
+
1.9s · qwen2.5-coder:7b (local)
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## ✨ What's New in v4.1
|
|
231
|
+
|
|
232
|
+
| Feature | Description |
|
|
233
|
+
|---------|-------------|
|
|
234
|
+
| **Bloomberg UI** | `/ui <desc>` generates Bloomberg Terminal-style HTML dashboards — amber-on-black, IBM Plex Mono, zero border-radius, `prefers-color-scheme` |
|
|
235
|
+
| **Tool transparency** | `✓ action (42ms)` after every tool call · per-turn cost display · phase dividers in multi-step commands |
|
|
236
|
+
| **User profile** | `~/.arthera/ARIA.md` auto-injected every session · `/memory profile add <text>` to persist your preferences |
|
|
237
|
+
| **Quant engine** | Citadel/Jane Street-style 5-module engine · limit-up prediction · dynamic market pool |
|
|
238
|
+
| **MCP tools** | 5 new quantitative MCP tools in the tool registry |
|
|
239
|
+
| **83 commands** | Consolidated from ~150 — removed all LLM-replaceable commands; natural language handles the rest |
|
|
240
|
+
| **LLM routing fix** | Model now knows it can call real-time data tools instead of saying "I don't have live data" |
|
|
241
|
+
| **Unified agent loop** | CLI, SDK and self-host backend now run the *same* tested runtime (`runtime.run_turn`) — consistent provider routing, cloud→local fallback and tool execution on every surface |
|
|
242
|
+
| **Warehouse ERP agents** | Read-only carrier-sync, inbound-exception and inventory-health analysis with a dedicated operational signal scheme; see [data contract](docs/warehouse-erp-agents.md) |
|
|
243
|
+
| **One-command install** | `pip install aria-code` (PyPI) or `npm install -g @artheras/aria-code` — verified clean on Python 3.10 / 3.11 / 3.12 |
|
|
244
|
+
|
|
245
|
+
See [CHANGELOG.md](CHANGELOG.md) for the full history.
|
|
246
|
+
|
|
247
|
+
### v4.0 highlights
|
|
248
|
+
|
|
249
|
+
| Feature | Description |
|
|
250
|
+
|---------|-------------|
|
|
251
|
+
| ⌨️ **Keyboard shortcuts** | `Shift+Tab` cycle modes · `Alt+T` thinking · `Alt+P` model picker · `Ctrl+O` transcript · `Ctrl+T` tasks |
|
|
252
|
+
| `!` **Shell mode** | Type `! git status` to run shell commands, output auto-added to AI context |
|
|
253
|
+
| `@` **Typed context references** | Attach files, folders, assets, portfolios, strategies, datasets, runs, or reports without executing an action |
|
|
254
|
+
| `/btw` **Side questions** | Ask quick questions without polluting conversation history |
|
|
255
|
+
| 🌍 **Auto language** | UI and responses auto-detect Chinese/English from OS locale on first run |
|
|
256
|
+
| 🤖 **19+ cloud providers** | Google Gemini · xAI Grok · Mistral · Cohere · Perplexity · Baidu ERNIE · ByteDance · MiniMax · StepFun · 01.AI + all originals |
|
|
257
|
+
| 🔢 **All Ollama models** | Qwen3 · DeepSeek-R1 · Llama 3.x · Phi-4 · Gemma3 · Mistral families |
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## 🧠 Intelligence Pipeline
|
|
262
|
+
|
|
263
|
+
```mermaid
|
|
264
|
+
mindmap
|
|
265
|
+
root((Aria Code))
|
|
266
|
+
Data Layer
|
|
267
|
+
Real-time Quotes
|
|
268
|
+
A-shares via Eastmoney
|
|
269
|
+
US stocks via Finnhub + yfinance
|
|
270
|
+
HK stocks via yfinance
|
|
271
|
+
Crypto via ccxt
|
|
272
|
+
Fundamentals
|
|
273
|
+
Financial statements akshare
|
|
274
|
+
SEC EDGAR US filings
|
|
275
|
+
Tushare A-share data
|
|
276
|
+
Macro Economics
|
|
277
|
+
FRED Fed Reserve data
|
|
278
|
+
GDP · Inflation · Rates
|
|
279
|
+
Analysis Layer
|
|
280
|
+
Quantitative Research
|
|
281
|
+
Technical signals RSI MACD Ichimoku
|
|
282
|
+
Factor analysis PE PB ROE Momentum
|
|
283
|
+
Backtest engine multi-strategy
|
|
284
|
+
Kelly criterion position sizing
|
|
285
|
+
Black-Scholes options pricing
|
|
286
|
+
Fundamental Analysis
|
|
287
|
+
DCF discounted cash flow
|
|
288
|
+
Piotroski F-Score
|
|
289
|
+
Altman Z-Score
|
|
290
|
+
DuPont decomposition
|
|
291
|
+
Risk Metrics
|
|
292
|
+
Max Drawdown MDD
|
|
293
|
+
Sharpe Ratio
|
|
294
|
+
Value at Risk VaR
|
|
295
|
+
Correlation matrix
|
|
296
|
+
Intelligence Layer
|
|
297
|
+
Local-first Routing
|
|
298
|
+
Ollama qwen3 deepseek-r1 llama3
|
|
299
|
+
Auto model discovery on first run
|
|
300
|
+
19+ Cloud Providers
|
|
301
|
+
Anthropic Claude Google Gemini
|
|
302
|
+
OpenAI xAI DeepSeek Groq
|
|
303
|
+
Baidu ByteDance MiniMax StepFun
|
|
304
|
+
Multi-agent Team
|
|
305
|
+
Fundamental Technical Macro Risk Synthesis
|
|
306
|
+
Channel Layer
|
|
307
|
+
Terminal CLI with full keyboard shortcuts
|
|
308
|
+
Feishu enterprise chat relay
|
|
309
|
+
Telegram personal bot
|
|
310
|
+
iOS push notifications APNs
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## ✨ Core Features
|
|
316
|
+
|
|
317
|
+
| Capability | Details |
|
|
318
|
+
|-----------|---------|
|
|
319
|
+
| 🦙 **100% offline mode** | Powered by Ollama — no API key, no data leaves your machine |
|
|
320
|
+
| 📊 **Financial intelligence** | DCF / WACC / PE / Sharpe / Kelly / Black-Scholes + 30 more built-in formulas |
|
|
321
|
+
| 📈 **Live market data** | A-shares (Eastmoney) · US stocks (Finnhub) · HK · Crypto (ccxt) |
|
|
322
|
+
| 🔍 **Quant research** | `/backtest` `/signal` `/kelly` `/factor` `/portfolio` `/screen` `/corr` `/ptbt` |
|
|
323
|
+
| 🤖 **19+ cloud providers** | All major international + Chinese LLM APIs supported |
|
|
324
|
+
| 🔌 **MCP protocol** | Connect any [Model Context Protocol](https://modelcontextprotocol.io) server |
|
|
325
|
+
| ⌨️ **Rich keyboard UX** | Vim mode · `!` shell · typed `@` context · `Shift+Tab` modes · transcript viewer |
|
|
326
|
+
| 💬 **Feishu / Telegram** | Ask Aria from any chat app, anytime |
|
|
327
|
+
| 📱 **iOS push alerts** | Real-time price alerts via APNs |
|
|
328
|
+
| 🌍 **Auto bilingual** | OS language auto-detected on first run; output follows user's input language |
|
|
329
|
+
| 🏠 **Real estate** | Property valuation, REIT screening, rental yield, 70-city China housing |
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## 🚀 Quick Start
|
|
334
|
+
|
|
335
|
+
### Option 1: npm (Claude Code style — Recommended)
|
|
336
|
+
|
|
337
|
+
If you have [Node.js](https://nodejs.org) (≥ 16) installed, get started in one command:
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
npm install -g @artheras/aria-code
|
|
341
|
+
aria-code
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
Update anytime: `npm update -g @artheras/aria-code`
|
|
345
|
+
|
|
346
|
+
### Option 2: Bootstrap (One-liner for fresh Mac / Linux)
|
|
347
|
+
|
|
348
|
+
No Node.js, Python, or Xcode required. One command automatically sets up everything:
|
|
349
|
+
|
|
350
|
+
```bash
|
|
351
|
+
curl -fsSL https://raw.githubusercontent.com/artherahq/aria-code/main/bootstrap.sh | bash
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Option 3: PyPI (Python Package)
|
|
355
|
+
|
|
356
|
+
Aria Code is published on PyPI — install into your Python 3.10 ~ 3.13 environment:
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
uv tool install "aria-code[full]" # isolated, fast (recommended)
|
|
360
|
+
# or standard pip:
|
|
361
|
+
pip install "aria-code[full]" # full version with all data sources
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Option 4: Git Clone & Source Install
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# macOS / Linux
|
|
368
|
+
git clone https://github.com/artherahq/aria-code.git
|
|
369
|
+
cd aria-code
|
|
370
|
+
bash install.sh
|
|
371
|
+
|
|
372
|
+
# Windows
|
|
373
|
+
git clone https://github.com/artherahq/aria-code.git
|
|
374
|
+
cd aria-code
|
|
375
|
+
powershell -ExecutionPolicy Bypass -File .\install.ps1
|
|
376
|
+
```
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### Option 5: PyPI (pip / uv / pipx)
|
|
380
|
+
|
|
381
|
+
Aria Code ships a proper Python package, so any standard tool works:
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
uv tool install aria-code # isolated, fast (recommended)
|
|
385
|
+
pipx install aria-code # isolated alternative
|
|
386
|
+
pip install aria-code # into the current environment
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
This installs the **slim core** (CLI + yfinance). Add features with extras:
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
uv tool install "aria-code[full]" # all data sources + files + charts + SQL
|
|
393
|
+
pip install "aria-code[cn]" # + China A-share data (akshare)
|
|
394
|
+
pip install "aria-code[files]" # + PDF/Word/Excel parsing
|
|
395
|
+
pip install "aria-code[all]" # + brokers + backtest + dev tools
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
Available extras: `cn` · `crypto` · `charts` · `data` · `files` · `web` ·
|
|
399
|
+
`browser` · `desktop` · `sports` · `lsp` · `brokers` · `backtest` · `full` · `all`.
|
|
400
|
+
|
|
401
|
+
### Option 6: Run directly (no install)
|
|
402
|
+
|
|
403
|
+
```bash
|
|
404
|
+
git clone https://github.com/artherahq/aria-code.git
|
|
405
|
+
cd aria-code
|
|
406
|
+
uv venv && uv pip install -e ".[full]" # uv (fast); or use python -m venv + pip
|
|
407
|
+
aria-code
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### 🇨🇳 China / behind a firewall (network timeouts)
|
|
411
|
+
|
|
412
|
+
If installs time out reaching GitHub or PyPI (e.g. `curl: (56) Recv failure`),
|
|
413
|
+
set `ARIA_CN=1` — every installer then uses the Tsinghua PyPI mirror and a
|
|
414
|
+
Python-build mirror. The installers also auto-retry through these mirrors if a
|
|
415
|
+
download fails, so you usually don't need the flag.
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
ARIA_CN=1 bash install.sh # git clone path
|
|
419
|
+
ARIA_CN=1 npm install -g @artheras/aria-code # npm path
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
```powershell
|
|
423
|
+
$env:ARIA_CN=1; .\install.ps1 # Windows
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
You can also point at your own mirrors via standard env vars:
|
|
427
|
+
`UV_DEFAULT_INDEX`, `UV_PYTHON_INSTALL_MIRROR`, `PIP_INDEX_URL`.
|
|
428
|
+
|
|
429
|
+
### Step 1: Install Ollama (local LLM — free, fully offline)
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
# macOS / Linux
|
|
433
|
+
curl -fsSL https://ollama.ai/install.sh | sh
|
|
434
|
+
|
|
435
|
+
# Pull a model (choose one — auto-detected on first run)
|
|
436
|
+
ollama pull qwen2.5-coder:7b # Recommended — fast, great Chinese support (~4.7GB)
|
|
437
|
+
ollama pull qwen3:8b # Latest Qwen, stronger reasoning
|
|
438
|
+
ollama pull deepseek-r1:7b # Strong reasoning for complex quant tasks
|
|
439
|
+
ollama pull llama3.2:3b # Smallest, fastest (~2GB)
|
|
440
|
+
ollama pull phi4-mini # Microsoft Phi-4 mini, excellent code
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
Aria auto-discovers the best installed model on first run — no configuration needed.
|
|
444
|
+
|
|
445
|
+
### Step 2: Cloud API keys (all optional)
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
# Interactive setup wizard
|
|
449
|
+
python3 -m aria_code.setup_wizard
|
|
450
|
+
|
|
451
|
+
# Or manually copy and edit
|
|
452
|
+
cp .env.example .env
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
The setup wizard now covers all 19 cloud providers including Google Gemini, xAI Grok, Mistral, Baidu ERNIE, ByteDance Doubao, and more.
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## ⌨️ Keyboard Shortcuts
|
|
460
|
+
|
|
461
|
+
Aria Code has a full keyboard shortcut system powered by `prompt_toolkit`:
|
|
462
|
+
|
|
463
|
+
### General
|
|
464
|
+
|
|
465
|
+
| Shortcut | Action |
|
|
466
|
+
|----------|--------|
|
|
467
|
+
| `Shift+Tab` | Cycle permission modes: `read-only` → `workspace-write` → `full-access` |
|
|
468
|
+
| `Alt+T` | Toggle thinking mode on/off |
|
|
469
|
+
| `Alt+P` | Open model switcher (fills `/model` in prompt) |
|
|
470
|
+
| `Ctrl+O` | Toggle transcript viewer — shows all tool calls with timestamps |
|
|
471
|
+
| `Ctrl+T` | Toggle task list — live pending/in-progress/done indicator |
|
|
472
|
+
| `Ctrl+L` | Redraw terminal screen (fixes garbled display) |
|
|
473
|
+
| `Ctrl+C` | Cancel current response / clear input |
|
|
474
|
+
| `Ctrl+D` | Exit Aria |
|
|
475
|
+
| `Esc` | Interrupt streaming response |
|
|
476
|
+
|
|
477
|
+
### Uploaded project review service
|
|
478
|
+
|
|
479
|
+
Aria Code can also run as an internal, read-only reviewer behind the Arthera
|
|
480
|
+
API gateway. It accepts bounded `.zip`, `.tar`, `.tar.gz`, or `.tgz` source
|
|
481
|
+
archives, skips sensitive and generated files, and never executes uploaded
|
|
482
|
+
code or installs its dependencies.
|
|
483
|
+
|
|
484
|
+
```bash
|
|
485
|
+
pip install -e '.[service]'
|
|
486
|
+
export ARIA_CODE_REVIEW_TOKEN='use-a-long-random-shared-token'
|
|
487
|
+
uvicorn aria_code.project_review_server:app --host 0.0.0.0 --port 8787
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
The public client uploads to Arthera at `POST /api/v2/aria-code/project-reviews`;
|
|
491
|
+
clients must never receive the internal review token. Authenticated coding runs
|
|
492
|
+
can also import an archive through `POST /api/v2/aria-code/workspaces`. The
|
|
493
|
+
internal service expands it into a tenant-bound, expiring workspace with
|
|
494
|
+
execution and network access disabled. Its initial tool profile is read-only:
|
|
495
|
+
list files, read text, and search code. Coding agents may stage a complete text
|
|
496
|
+
change and receive a unified diff, but that proposal cannot touch the source
|
|
497
|
+
tree until the Arthera control plane verifies a matching one-time approval.
|
|
498
|
+
Applied changes retain an integrity-checked rollback checkpoint. Mount
|
|
499
|
+
`ARIA_CODE_WORKSPACE_ROOT` on a private persistent volume and run the service
|
|
500
|
+
with `ARIA_RUNTIME_SCOPE=remote`.
|
|
501
|
+
|
|
502
|
+
### Input Modes
|
|
503
|
+
|
|
504
|
+
| Prefix | Mode | Example |
|
|
505
|
+
|--------|------|---------|
|
|
506
|
+
| `/` | Slash command with fuzzy autocomplete | `/backtest momentum SPY` |
|
|
507
|
+
| `!` | Shell mode — runs command, adds output to context | `! git diff HEAD~1` |
|
|
508
|
+
| `@` | Read-only typed context reference | `@file:src/app.py` · `@asset:AAPL` |
|
|
509
|
+
| `"""` | Multi-line input mode (end with `"""`) | For pasting code blocks |
|
|
510
|
+
|
|
511
|
+
`/` and `@` are intentionally different: `/` selects an action; `@` selects
|
|
512
|
+
context for that action or for a natural-language request. They can be combined:
|
|
513
|
+
|
|
514
|
+
```text
|
|
515
|
+
/risk @portfolio:core
|
|
516
|
+
/backtest @strategy:momentum-v2 @asset:AAPL --period 3y
|
|
517
|
+
Review @folder:apps/cli against @report:last-audit
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
Available reference types: `@file:`, `@folder:`, `@asset:`, `@portfolio:`,
|
|
521
|
+
`@strategy:`, `@dataset:`, `@run:`, and `@report:`. A plain `@path` remains a
|
|
522
|
+
file reference for compatibility; unknown references fail locally instead of
|
|
523
|
+
being guessed by the model. References contain pointers only: Aria reads them
|
|
524
|
+
on demand through audited tools such as `read_file`, `list_files`,
|
|
525
|
+
`analyze_file`, and `get_market_data`; source content is never silently
|
|
526
|
+
expanded into the prompt.
|
|
527
|
+
|
|
528
|
+
### Bottom Toolbar (always visible)
|
|
529
|
+
|
|
530
|
+
```
|
|
531
|
+
qwen2.5-coder:7b · ~/my-project ⎇ main ✓3/5 · rw · local-only · /help · 1,240/16,384
|
|
532
|
+
│ │ │ │ │ │
|
|
533
|
+
│ │ │ │ │ └── context usage
|
|
534
|
+
│ │ │ │ └── privacy status
|
|
535
|
+
│ │ │ └── permission: ro/rw/full (color-coded)
|
|
536
|
+
│ │ └── task progress
|
|
537
|
+
│ └── git branch
|
|
538
|
+
└── current model
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
---
|
|
542
|
+
|
|
543
|
+
## 🤖 Model Support
|
|
544
|
+
|
|
545
|
+
### Local Models (via Ollama — offline, free)
|
|
546
|
+
|
|
547
|
+
| Model | Command | Size | Best For |
|
|
548
|
+
|-------|---------|------|----------|
|
|
549
|
+
| **qwen2.5-coder:7b** ⭐ | `ollama pull qwen2.5-coder:7b` | 4.7GB | Code + Chinese (recommended) |
|
|
550
|
+
| qwen3:8b | `ollama pull qwen3:8b` | 5.2GB | Latest Qwen, reasoning |
|
|
551
|
+
| qwen3:30b-a3b | `ollama pull qwen3:30b-a3b` | 17GB | High capability |
|
|
552
|
+
| deepseek-r1:7b | `ollama pull deepseek-r1:7b` | 4.7GB | Strong math/reasoning |
|
|
553
|
+
| deepseek-r1:1.5b | `ollama pull deepseek-r1:1.5b` | 1.1GB | Ultra-light reasoning |
|
|
554
|
+
| llama3.2:3b | `ollama pull llama3.2:3b` | 2GB | General, fastest |
|
|
555
|
+
| llama3.1:8b | `ollama pull llama3.1:8b` | 4.7GB | General purpose |
|
|
556
|
+
| mistral:7b | `ollama pull mistral:7b` | 4.1GB | European quality |
|
|
557
|
+
| phi4-mini | `ollama pull phi4-mini` | 2.5GB | Excellent code, small |
|
|
558
|
+
| gemma3:4b | `ollama pull gemma3:4b` | 3.3GB | Google, efficient |
|
|
559
|
+
|
|
560
|
+
Switch model anytime:
|
|
561
|
+
|
|
562
|
+
```bash
|
|
563
|
+
/model # Interactive picker with install status
|
|
564
|
+
/model qwen3:8b # Direct switch
|
|
565
|
+
/model openai/gpt-4.5 # Cloud model
|
|
566
|
+
Alt+P # Keyboard shortcut
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
### Cloud Providers (19+ supported)
|
|
570
|
+
|
|
571
|
+
#### International
|
|
572
|
+
|
|
573
|
+
| Provider | Models | Env Var |
|
|
574
|
+
|----------|--------|---------|
|
|
575
|
+
| **Anthropic** | Claude Sonnet 4, Opus 4 | `ANTHROPIC_API_KEY` |
|
|
576
|
+
| **OpenAI** | GPT-4.5, o3, o4-mini | `OPENAI_API_KEY` |
|
|
577
|
+
| **DeepSeek** | deepseek-chat, deepseek-reasoner | `DEEPSEEK_API_KEY` |
|
|
578
|
+
| **Google Gemini** | gemini-2.0-flash, 2.5-pro | `GOOGLE_API_KEY` |
|
|
579
|
+
| **xAI Grok** | grok-3, grok-3-fast | `XAI_API_KEY` |
|
|
580
|
+
| **Groq** | llama-3.3-70b (fast inference) | `GROQ_API_KEY` |
|
|
581
|
+
| **Mistral** | mistral-large, codestral | `MISTRAL_API_KEY` |
|
|
582
|
+
| **Cohere** | command-r-plus | `COHERE_API_KEY` |
|
|
583
|
+
| **Perplexity** | sonar-pro (web search) | `PERPLEXITY_API_KEY` |
|
|
584
|
+
| **Together AI** | 100+ open-source models | `TOGETHER_API_KEY` |
|
|
585
|
+
|
|
586
|
+
#### Chinese Providers (国内)
|
|
587
|
+
|
|
588
|
+
| Provider | Models | Env Var |
|
|
589
|
+
|----------|--------|---------|
|
|
590
|
+
| **SiliconFlow 硅基流动** | Qwen/DeepSeek hosted | `SILICONFLOW_API_KEY` |
|
|
591
|
+
| **DashScope 阿里百炼** | qwen-max, qwen-turbo | `DASHSCOPE_API_KEY` |
|
|
592
|
+
| **Moonshot Kimi** | moonshot-v1-128k | `MOONSHOT_API_KEY` |
|
|
593
|
+
| **Zhipu GLM 智谱** | glm-4-plus | `ZHIPU_API_KEY` |
|
|
594
|
+
| **Baidu ERNIE 百度千帆** | ernie-4.5-turbo | `QIANFAN_ACCESS_KEY` |
|
|
595
|
+
| **ByteDance Doubao 豆包** | (endpoint-based) | `ARK_API_KEY` |
|
|
596
|
+
| **MiniMax** | MiniMax-Text-01 | `MINIMAX_API_KEY` |
|
|
597
|
+
| **StepFun 阶跃星辰** | step-2-16k | `STEPFUN_API_KEY` |
|
|
598
|
+
| **01.AI Yi 零一万物** | yi-large | `ONEAI_API_KEY` |
|
|
599
|
+
|
|
600
|
+
Use any provider:
|
|
601
|
+
|
|
602
|
+
```bash
|
|
603
|
+
/model anthropic/claude-sonnet-4-6
|
|
604
|
+
/model google/gemini-2.0-flash-exp
|
|
605
|
+
/model baidu/ernie-4.5-turbo-128k
|
|
606
|
+
/model moonshot/moonshot-v1-128k
|
|
607
|
+
/apikey # Interactive wizard for all 19 providers
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
---
|
|
611
|
+
|
|
612
|
+
## ⚡ Commands Reference
|
|
613
|
+
|
|
614
|
+
### Market & Quotes
|
|
615
|
+
|
|
616
|
+
```bash
|
|
617
|
+
/quote AAPL MSFT TSLA # Real-time multi-symbol quotes (Finnhub)
|
|
618
|
+
/quote 000001 600519 300750 # A-share quotes (Eastmoney)
|
|
619
|
+
/quote BTC/USDT ETH/USDT # Crypto prices
|
|
620
|
+
/news AAPL # Latest financial news
|
|
621
|
+
/regime # Market regime (bull / bear / neutral)
|
|
622
|
+
/alert add AAPL gt 200 # Price alert
|
|
623
|
+
/alert list # View all alerts
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
### Quantitative Research
|
|
627
|
+
|
|
628
|
+
```bash
|
|
629
|
+
/signal TSLA # Technical signals (RSI / MACD / Bollinger)
|
|
630
|
+
/backtest momentum SPY 2023-01-01 2024-12-31
|
|
631
|
+
/backtest ml 600519 300750 NVDA # ML signal backtest (3-strategy comparison)
|
|
632
|
+
/wf SPY momentum # Walk-forward backtest
|
|
633
|
+
/kelly AAPL 0.6 2.0 # Kelly formula — position size recommendation
|
|
634
|
+
/factor PE PB ROE # Multi-factor analysis
|
|
635
|
+
/screen PE<15 ROE>20 # Stock screener with filters
|
|
636
|
+
/portfolio AAPL MSFT GOOGL # Portfolio optimization
|
|
637
|
+
/ptbt AAPL MSFT GOOG 0.4 0.3 0.3 # Portfolio backtest with weights
|
|
638
|
+
/corr AAPL MSFT TSLA SPY # Correlation matrix
|
|
639
|
+
/ichimoku AAPL # Ichimoku cloud chart
|
|
640
|
+
/options AAPL calls 2025-01 # Options chain
|
|
641
|
+
/quality AAPL # Piotroski + Altman Z-score
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
### Analysis
|
|
645
|
+
|
|
646
|
+
```bash
|
|
647
|
+
/analyze AAPL # AI full analysis
|
|
648
|
+
/peer AAPL MSFT GOOGL META # Peer comparison
|
|
649
|
+
/macro # Macro dashboard (GDP / CPI / Fed rates)
|
|
650
|
+
/macro cn # China macro data
|
|
651
|
+
/sector tech # Sector analysis
|
|
652
|
+
/realty Shanghai Pudong # Real estate analysis
|
|
653
|
+
/feargreed # Crypto Fear & Greed Index
|
|
654
|
+
/funding BTC ETH # Perpetual funding rates
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
### Session & UI
|
|
658
|
+
|
|
659
|
+
```bash
|
|
660
|
+
/btw what was that function name? # Side question — no history pollution
|
|
661
|
+
/recap # Session summary (turns + topics)
|
|
662
|
+
/clear # Clear conversation
|
|
663
|
+
/compact # Smart context compression
|
|
664
|
+
/history # Show recent conversation
|
|
665
|
+
/sessions # List saved sessions
|
|
666
|
+
/export md report.md # Export conversation
|
|
667
|
+
/rename "NVDA Research" # Name current session
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
### System
|
|
671
|
+
|
|
672
|
+
```bash
|
|
673
|
+
/model # View / switch LLM (interactive picker)
|
|
674
|
+
/apikey # API key wizard for all 19 providers
|
|
675
|
+
/config set ui_lang=zh # Force Chinese UI
|
|
676
|
+
/config set ui_lang=en # Force English UI
|
|
677
|
+
/thinking on # Enable extended thinking mode
|
|
678
|
+
/privacy status # Privacy settings
|
|
679
|
+
/tools # List all enabled tools
|
|
680
|
+
/skills # List skills
|
|
681
|
+
/mcp list # MCP server status
|
|
682
|
+
/doctor # Diagnose installation issues
|
|
683
|
+
/providers # All provider status
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
---
|
|
687
|
+
|
|
688
|
+
## 🌍 Language Auto-Detection
|
|
689
|
+
|
|
690
|
+
On first run, Aria reads your OS locale and sets the UI language automatically:
|
|
691
|
+
|
|
692
|
+
```bash
|
|
693
|
+
# Chinese system → Chinese UI + hints
|
|
694
|
+
LANG=zh_CN.UTF-8 → 本地优先智能体 · Ollama 在线 · 试试 分析 AAPL
|
|
695
|
+
|
|
696
|
+
# English system → English UI + hints
|
|
697
|
+
LANG=en_US.UTF-8 → local-first agent · Ollama online · try analyze AAPL
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
AI **output language** always follows your input — ask in Chinese, get Chinese; ask in English, get English.
|
|
701
|
+
|
|
702
|
+
Override anytime:
|
|
703
|
+
|
|
704
|
+
```bash
|
|
705
|
+
/config set ui_lang=zh # Force Chinese
|
|
706
|
+
/config set ui_lang=en # Force English
|
|
707
|
+
/config set ui_lang=auto # Back to OS auto-detect
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
---
|
|
711
|
+
|
|
712
|
+
## 💬 Feishu Integration
|
|
713
|
+
|
|
714
|
+
Connect Aria to Feishu (Lark) and ask financial questions from any group or DM.
|
|
715
|
+
|
|
716
|
+
### How it works
|
|
717
|
+
|
|
718
|
+
```
|
|
719
|
+
Your Feishu message
|
|
720
|
+
│
|
|
721
|
+
▼
|
|
722
|
+
Feishu servers
|
|
723
|
+
│
|
|
724
|
+
┌────┴────────────────────────────────────┐
|
|
725
|
+
│ Mode A: Relay (recommended, 5 min) │ Mode B: Own App (20 min)
|
|
726
|
+
│ Aria Relay Server │ Feishu Open Platform App
|
|
727
|
+
│ wss://relay.aria.ai │ Requires public IP or tunnel
|
|
728
|
+
└────┬────────────────────────────────────┘
|
|
729
|
+
│
|
|
730
|
+
▼
|
|
731
|
+
aria_relay_client.py (your machine)
|
|
732
|
+
│
|
|
733
|
+
▼
|
|
734
|
+
aria_cli.py → LLM → response sent back
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
### Mode A: Relay (Recommended)
|
|
738
|
+
|
|
739
|
+
```bash
|
|
740
|
+
python3 -m aria_code.setup_wizard
|
|
741
|
+
# Select "Feishu relay mode"
|
|
742
|
+
# Output: ✅ Your Client ID: ARIA-xxxxxxxx-xxxx
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
Send to the **Aria Bot** in Feishu:
|
|
746
|
+
|
|
747
|
+
```
|
|
748
|
+
/bind ARIA-xxxxxxxx-xxxx
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
Configure `~/.aria/.env`:
|
|
752
|
+
|
|
753
|
+
```env
|
|
754
|
+
ARIA_RELAY_URL=wss://relay.aria.ai
|
|
755
|
+
ARIA_RELAY_CLIENT_ID=ARIA-xxxxxxxx-xxxx
|
|
756
|
+
ARIA_RELAY_MODE=relay
|
|
757
|
+
ARIA_CODE_DIR=~/aria-code
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
Start:
|
|
761
|
+
|
|
762
|
+
```bash
|
|
763
|
+
python3 aria_daemon.py start
|
|
764
|
+
```
|
|
765
|
+
|
|
766
|
+
### Mode B: Own Feishu App
|
|
767
|
+
|
|
768
|
+
1. Open [Feishu Open Platform](https://open.feishu.cn/app) → Create custom app
|
|
769
|
+
2. Set event URL: `https://yourdomain.com/api/v1/feishu/webhook`
|
|
770
|
+
3. Subscribe to `im.message.receive_v1`
|
|
771
|
+
|
|
772
|
+
```env
|
|
773
|
+
FEISHU_APP_ID=cli_xxxxxxxxxxxxxxxxx
|
|
774
|
+
FEISHU_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
775
|
+
ARIA_RELAY_MODE=own_app
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
---
|
|
779
|
+
|
|
780
|
+
## 📱 Telegram Integration
|
|
781
|
+
|
|
782
|
+
### Setup
|
|
783
|
+
|
|
784
|
+
1. Message **@BotFather** → `/newbot` → copy your **Bot Token**
|
|
785
|
+
2. Message **@userinfobot** → copy your **Chat ID**
|
|
786
|
+
|
|
787
|
+
Configure:
|
|
788
|
+
|
|
789
|
+
```env
|
|
790
|
+
TELEGRAM_BOT_TOKEN=1234567890:ABCDEFGxxxxxxxxxxxxxx
|
|
791
|
+
TELEGRAM_ALLOWED_IDS=123456789
|
|
792
|
+
ARIA_CODE_DIR=~/aria-code
|
|
793
|
+
```
|
|
794
|
+
|
|
795
|
+
Start:
|
|
796
|
+
|
|
797
|
+
```bash
|
|
798
|
+
python3 aria_daemon.py start
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
Use in Telegram:
|
|
802
|
+
|
|
803
|
+
```
|
|
804
|
+
/price AAPL → Apple real-time quote
|
|
805
|
+
/price 600519 → Moutai A-share
|
|
806
|
+
/price BTC/USDT → Bitcoin
|
|
807
|
+
Analyze NVDA momentum → Full AI analysis
|
|
808
|
+
```
|
|
809
|
+
|
|
810
|
+
---
|
|
811
|
+
|
|
812
|
+
## 📡 TradingView Alerts
|
|
813
|
+
|
|
814
|
+
Pipe TradingView alerts into Aria: the daemon receives the webhook, verifies
|
|
815
|
+
it, and runs a tool-less AI analysis through the shared runtime gateway, then
|
|
816
|
+
pushes the result to your notify channels (Telegram / Feishu).
|
|
817
|
+
|
|
818
|
+
### Setup
|
|
819
|
+
|
|
820
|
+
```env
|
|
821
|
+
ARIA_WEBHOOK_SECRET=your-strong-passphrase # REQUIRED for non-local use
|
|
822
|
+
ARIA_WEBHOOK_HOST=127.0.0.1 # bind address (default local-only)
|
|
823
|
+
ARIA_WEBHOOK_PORT=8765
|
|
824
|
+
ARIA_DAEMON_MODEL=qwen2.5:7b # model for alert analysis
|
|
825
|
+
```
|
|
826
|
+
|
|
827
|
+
```bash
|
|
828
|
+
python3 aria_daemon.py start
|
|
829
|
+
# endpoint: POST http://127.0.0.1:8765/api/v1/webhook/tradingview
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
### TradingView alert message (Webhook URL → your public endpoint)
|
|
833
|
+
|
|
834
|
+
```json
|
|
835
|
+
{
|
|
836
|
+
"symbol": "{{ticker}}",
|
|
837
|
+
"action": "{{strategy.order.action}}",
|
|
838
|
+
"price": "{{close}}",
|
|
839
|
+
"message": "MA cross on {{interval}}",
|
|
840
|
+
"passphrase": "your-strong-passphrase"
|
|
841
|
+
}
|
|
842
|
+
```
|
|
843
|
+
|
|
844
|
+
### Security model
|
|
845
|
+
|
|
846
|
+
- **Passphrase (fail-closed):** with `ARIA_WEBHOOK_SECRET` set, alerts without
|
|
847
|
+
a matching `passphrase` are rejected (constant-time compare). TradingView
|
|
848
|
+
cannot send custom headers, so the body passphrase is the documented way.
|
|
849
|
+
- **Open-mode guard:** with *no* secret and *no* `WEBHOOK_TOKEN` configured,
|
|
850
|
+
only loopback clients may submit — a non-local request gets `403` with a
|
|
851
|
+
fix-it message instead of silently accepting injected buy/sell alerts.
|
|
852
|
+
- **HMAC option:** a fronting relay that can sign requests may send
|
|
853
|
+
`sha256=<hex>` of the raw body; HMAC verification never runs in open mode.
|
|
854
|
+
- **Analysis, not trading:** the alert turn runs with an empty tool set and a
|
|
855
|
+
prompt that forbids order placement. Order *previews* (when a broker is
|
|
856
|
+
configured) still require explicit confirmation via the preview flow.
|
|
857
|
+
|
|
858
|
+
---
|
|
859
|
+
|
|
860
|
+
## 🏗️ Architecture
|
|
861
|
+
|
|
862
|
+
```
|
|
863
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
864
|
+
│ Aria Code v4.0 │
|
|
865
|
+
│ │
|
|
866
|
+
│ ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌─────────────┐ │
|
|
867
|
+
│ │ Terminal │ │Feishu Bot │ │ Telegram │ │ Webhook │ │
|
|
868
|
+
│ │ CLI │ │(relay/app) │ │ Bot │ │ External │ │
|
|
869
|
+
│ └────┬─────┘ └─────┬──────┘ └────┬─────┘ └──────┬──────┘ │
|
|
870
|
+
│ └───────────────┴──────────────┴────────────────┘ │
|
|
871
|
+
│ │ │
|
|
872
|
+
│ ┌─────────▼──────────┐ │
|
|
873
|
+
│ │ aria_daemon.py │ │
|
|
874
|
+
│ │ Message router │ │
|
|
875
|
+
│ └─────────┬──────────┘ │
|
|
876
|
+
│ │ │
|
|
877
|
+
│ ┌────────────────┼────────────────┐ │
|
|
878
|
+
│ │ │ │ │
|
|
879
|
+
│ ┌──────────▼───┐ ┌─────────▼───┐ ┌────────▼──────┐ │
|
|
880
|
+
│ │ LLM Router │ │ Tool Exec │ │ Data Layer │ │
|
|
881
|
+
│ │19+ providers │ │ bash/file │ │Finnhub/EastMny│ │
|
|
882
|
+
│ └──────────────┘ └─────────────┘ └───────────────┘ │
|
|
883
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
### File Structure
|
|
887
|
+
|
|
888
|
+
```
|
|
889
|
+
aria-code/
|
|
890
|
+
└── src/aria_code/ # Main package
|
|
891
|
+
├── aria_cli.py # CLI core (session state, slash-command dispatch)
|
|
892
|
+
├── aria_mcp_server.py # MCP server entry point
|
|
893
|
+
├── apps/cli/
|
|
894
|
+
│ ├── i18n.py # Language auto-detection + UI string translations
|
|
895
|
+
│ ├── commands/
|
|
896
|
+
│ │ └── model_cmds.py # /model /apikey /providers (19 cloud providers)
|
|
897
|
+
│ ├── prompts/
|
|
898
|
+
│ │ └── coding.py # Code generation prompts (end_date fix, akshare fallback)
|
|
899
|
+
│ └── tools/
|
|
900
|
+
│ └── market_tools.py # Market data tools (Finnhub dp field)
|
|
901
|
+
├── ui/
|
|
902
|
+
│ ├── banner.py # Bilingual banner (i18n aware)
|
|
903
|
+
│ └── completer.py # Fuzzy autocomplete: / commands · @ context · ! history
|
|
904
|
+
├── providers/llm/ # LLM adapters (19+ cloud endpoints)
|
|
905
|
+
├── agents/financial/ # Fundamental / Technical / Macro / Risk / Synthesis
|
|
906
|
+
├── brokers/ # CN (Futu/Longbridge/Tiger) + Intl (IBKR/Alpaca)
|
|
907
|
+
└── datasources/sources/ # yfinance · akshare · FRED · EDGAR · Finnhub
|
|
908
|
+
```
|
|
909
|
+
|
|
910
|
+
---
|
|
911
|
+
|
|
912
|
+
## 📡 Market Data Sources
|
|
913
|
+
|
|
914
|
+
| Source | Coverage | API Key |
|
|
915
|
+
|--------|----------|---------|
|
|
916
|
+
| **Finnhub** ⭐ | US real-time quotes (primary) + earnings | Optional free tier |
|
|
917
|
+
| **Eastmoney** | A-share real-time, northbound flow, limit-up/down | None (free) |
|
|
918
|
+
| **akshare** | A-share history, financials, sector data | None (free) |
|
|
919
|
+
| **yfinance** | US/HK/global stocks, ETFs, FX, history | None (free) |
|
|
920
|
+
| **ccxt** | 100+ crypto exchanges | None (free tier) |
|
|
921
|
+
| **FRED** | Fed macro — GDP, CPI, rates | Optional (free signup) |
|
|
922
|
+
| **SEC EDGAR** | US 10-K / 10-Q filings | None (free) |
|
|
923
|
+
| Alpha Vantage | US history + fundamentals | Optional (free tier) |
|
|
924
|
+
| Polygon | US market data (professional) | Optional (free tier) |
|
|
925
|
+
| Tushare | A-share complete data | Optional (free token) |
|
|
926
|
+
|
|
927
|
+
---
|
|
928
|
+
|
|
929
|
+
## 🔌 MCP Integration
|
|
930
|
+
|
|
931
|
+
Connect any [Model Context Protocol](https://modelcontextprotocol.io) server:
|
|
932
|
+
|
|
933
|
+
```json
|
|
934
|
+
{
|
|
935
|
+
"servers": [
|
|
936
|
+
{
|
|
937
|
+
"name": "filesystem",
|
|
938
|
+
"command": "npx",
|
|
939
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/your/project"]
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"name": "brave-search",
|
|
943
|
+
"command": "npx",
|
|
944
|
+
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
|
|
945
|
+
"env": { "BRAVE_API_KEY": "your-key" }
|
|
946
|
+
}
|
|
947
|
+
]
|
|
948
|
+
}
|
|
949
|
+
```
|
|
950
|
+
|
|
951
|
+
```bash
|
|
952
|
+
/mcp list # List connected MCP servers
|
|
953
|
+
/mcp status # Server health
|
|
954
|
+
/mcp tools # All available MCP tools
|
|
955
|
+
```
|
|
956
|
+
|
|
957
|
+
### Expose aria-code to other MCP clients
|
|
958
|
+
|
|
959
|
+
aria-code can also run *as* an MCP server, so Claude Code, Codex, or any
|
|
960
|
+
other MCP client can call into it directly:
|
|
961
|
+
|
|
962
|
+
- `aria.market.quote` / `aria.agent.team` / `aria.artifacts.list` — live quote + technicals, multi-agent research, generated artifacts (all read-only)
|
|
963
|
+
- `aria.skill.list` / `aria.skill.get` — discover and fetch the installed portable [SKILL.md](https://github.com/artherahq/aria-skills) workflows: reusable expert playbooks for UI design systems, anti-generic-AI-look design critique, trading-app patterns, equity research, backtest validation, and more. `aria.skill.list` takes an optional `query` to rank by relevance to your task; `aria.skill.get` returns the full workflow text for **you** to follow — skills are instruction documents, not executable tools, so nothing runs server-side. Each result carries an `integrity` field (`verified` for signed catalog skills, `unlocked` for local drop-ins) so you can see a skill's provenance before following it
|
|
964
|
+
- `aria.report.generate` — fetch data and generate a full HTML research report artifact for a symbol
|
|
965
|
+
- `aria.backtest.run` — run a historical strategy simulation (`buy_hold` or `sma_cross`) against real price history
|
|
966
|
+
- `aria.broker.positions` / `aria.broker.list_previews` — read account/positions and recent order previews for a configured broker (US/CN/HK/UK — see `/broker`)
|
|
967
|
+
- `aria.broker.preview_order` — build a risk-checked order preview. **Never places a live trade by itself** — execution requires either a human running `/trade confirm <preview_id>` in the aria-code terminal, or `aria.broker.confirm_order` below (off by default per broker)
|
|
968
|
+
- `aria.broker.confirm_order` — **execute a previously built order preview, for real.** Off by default for every broker. Refuses unconditionally unless (1) a human already ran `/trade allow-chat-confirm <broker_id>` at the aria-code terminal keyboard — retyping the exact broker id, not y/yes — to opt that specific broker into chat-confirmed execution (this opt-in can never be triggered from MCP/chat, only from the terminal), **and** (2) the call itself passes `confirmed: true`. Executions via this path are tagged `source: "chat_mcp"` in the trade audit log (`~/.aria-code/trade_audit.jsonl`) to distinguish them from terminal-confirmed trades. Run `/trade disallow-chat-confirm <broker_id>` at any time to turn it back off
|
|
969
|
+
- `aria.report.chart` — candlestick + MA20/50 chart PNG for a symbol
|
|
970
|
+
- `aria.report.indicator_chart` — candlestick + volume + RSI(14) + MACD(12,26,9) multi-panel chart PNG for a symbol
|
|
971
|
+
- `aria.report.comparison_chart` — normalized (base=100) % return comparison chart PNG across 2+ symbols
|
|
972
|
+
- `aria.report.allocation_chart` — pie chart PNG of a broker account's position weights by market value
|
|
973
|
+
- `aria.report.pdf` / `aria.report.docx` / `aria.report.pptx` — render a Markdown report to PDF, an editable Word document, or a slide deck (one slide per heading) — all chart/report tools save to your artifacts folder
|
|
974
|
+
- `aria.report.canva_design` / `aria.report.canva_upload_asset` — fill a Canva brand template with data (and optionally an uploaded image asset) and export a design draft (needs `/canva connect <client_id> <client_secret>` once — register an app at [canva.com/developers](https://www.canva.com/developers/) and have a brand template ready first; Canva has no API for creating a design from scratch, only autofilling an existing template)
|
|
975
|
+
- `aria.figma.read_file` / `aria.figma.comments` — read a Figma file's page/frame structure (depth-limited summary) and its comments (needs `/apikey set figma <personal_access_token>` once). Read-only — Figma has no public API for writing/creating designs from a script, only its in-app Plugin API can do that
|
|
976
|
+
- `aria.report.estimate_image_cost` — get an illustrative per-image cost estimate (USD) for OpenAI's `gpt-image-1` at a given size/quality, before generating. Free.
|
|
977
|
+
- `aria.report.generate_image` / `aria.report.edit_image` — generate a new image or transform an existing local photo via OpenAI's `gpt-image-1` (needs `/apikey set openai sk-...`). `edit_image` accepts an optional `mask_path` for inpainting — a mask PNG where transparent areas mark what to edit, opaque areas are preserved untouched. **Real per-call cost, billed the instant it succeeds** — both hard-refuse without `confirmed: true`, and calling `aria.report.estimate_image_cost` first is strongly recommended
|
|
978
|
+
- `aria.report.generate_image_local` / `aria.report.edit_image_local` — the same, entirely locally via a self-hosted SDXL-Turbo (no API key, no per-call cost; needs the optional `image_gen` extra and ~4GB of weights on first use)
|
|
979
|
+
- `aria.video.probe` / `aria.video.trim` / `aria.video.concat` / `aria.video.overlay_text` / `aria.video.overlay_audio` / `aria.video.convert` / `aria.video.change_speed` — deterministic local video editing via `ffmpeg` (no AI, no API key)
|
|
980
|
+
- `aria.video.transcribe` / `aria.video.detect_scenes` — local AI-assisted analysis: speech transcription (`faster-whisper`, needs the optional `video_analysis` extra) and scene-cut detection (`opencv`, needs the optional `video` extra) — both produce editing *decisions*, not new pixels
|
|
981
|
+
- `aria.video.generate_estimate` / `aria.video.generate_submit` / `aria.video.generate_status` — cloud AI text-to-video via Kling or Runway (`provider: "kling" | "runway"`). **Real per-request cost, billed the instant submission succeeds** — `generate_submit` hard-refuses without `confirmed: true`, and calling `generate_estimate` first is strongly recommended. Needs `/apikey set kling <access_key>:<secret_key>` or `/apikey set runway <key>`. No local/free option exists for this layer the way SDXL-Turbo covers images — see `video_editor.py`/`video_analysis.py` for the free local-only editing/analysis layers
|
|
982
|
+
|
|
983
|
+
```bash
|
|
984
|
+
python3 aria_mcp_server.py # dev, from the repo root
|
|
985
|
+
# or, once installed: aria-code-mcp
|
|
986
|
+
```
|
|
987
|
+
|
|
988
|
+
Register with Claude Code:
|
|
989
|
+
|
|
990
|
+
```bash
|
|
991
|
+
claude mcp add aria-code -- python3 /path/to/aria-code/aria_mcp_server.py
|
|
992
|
+
```
|
|
993
|
+
|
|
994
|
+
Register with Codex (`~/.codex/config.toml`):
|
|
995
|
+
|
|
996
|
+
```toml
|
|
997
|
+
[mcp_servers.aria_code]
|
|
998
|
+
command = "python3"
|
|
999
|
+
args = ["/path/to/aria-code/aria_mcp_server.py"]
|
|
1000
|
+
```
|
|
1001
|
+
|
|
1002
|
+
#### Want deeper A-share quant tools too? Register a second server, don't wait for us to add them here
|
|
1003
|
+
|
|
1004
|
+
This server intentionally does **not** re-expose Arthera's `quant_engine` quant
|
|
1005
|
+
tools (factor calculation, Bayesian-HMM regime detection, northbound-flow,
|
|
1006
|
+
Kelly position sizing, options pricing, pairs-trading stats, and a much
|
|
1007
|
+
deeper `run_backtest` than the one above — T+1 settlement, limit-up/down
|
|
1008
|
+
filtering, `sma_cross`/`rsi_mean_revert`/`momentum` strategies, CN_A or US
|
|
1009
|
+
market). That's a separate project (Arthera) with its own MCP server —
|
|
1010
|
+
`packages/quant_engine/mcp_server.py` — speaking the identical MCP
|
|
1011
|
+
2024-11-05 stdio JSON-RPC protocol, so any client here can register it
|
|
1012
|
+
as a second, independent server rather than this one proxying it:
|
|
1013
|
+
|
|
1014
|
+
```bash
|
|
1015
|
+
claude mcp add arthera-quant -- python3 /path/to/Arthera/packages/quant_engine/mcp_server.py
|
|
1016
|
+
```
|
|
1017
|
+
|
|
1018
|
+
We keep these two separate on purpose, not as a gap to close later: a few of
|
|
1019
|
+
`quant_engine`'s tools (`get_ai_signal`, `get_predictions`,
|
|
1020
|
+
`get_market_insights`) call Arthera's own internal Alibaba Cloud service and
|
|
1021
|
+
simply won't work without that access, so folding them into this server
|
|
1022
|
+
would mean shipping tools that error out for anyone without Arthera's
|
|
1023
|
+
private infrastructure. If you don't have access to that repo, everything
|
|
1024
|
+
above this section still works standalone.
|
|
1025
|
+
|
|
1026
|
+
---
|
|
1027
|
+
|
|
1028
|
+
## ⚙️ Configuration
|
|
1029
|
+
|
|
1030
|
+
Settings are stored in `~/.arthera/config.json`. Add `.ariarc` to any project for project-level overrides:
|
|
1031
|
+
|
|
1032
|
+
```json
|
|
1033
|
+
{
|
|
1034
|
+
"model": "qwen2.5-coder:7b",
|
|
1035
|
+
"ui_lang": "auto",
|
|
1036
|
+
"market": "us",
|
|
1037
|
+
"permission_mode": "workspace-write",
|
|
1038
|
+
"default_symbols": ["AAPL", "NVDA", "MSFT", "GOOGL"],
|
|
1039
|
+
"thinking": false
|
|
1040
|
+
}
|
|
1041
|
+
```
|
|
1042
|
+
|
|
1043
|
+
### LLM Provider Priority
|
|
1044
|
+
|
|
1045
|
+
Aria automatically selects the first available provider:
|
|
1046
|
+
|
|
1047
|
+
```
|
|
1048
|
+
Local Ollama → Anthropic → OpenAI → DeepSeek → Google → xAI → Groq → …
|
|
1049
|
+
(offline first) (reasoning) (general) (cost-eff.) (multi.) (web) (fast)
|
|
1050
|
+
```
|
|
1051
|
+
|
|
1052
|
+
Force local mode: `ARIA_MODEL=ollama/qwen2.5-coder:7b`
|
|
1053
|
+
|
|
1054
|
+
---
|
|
1055
|
+
|
|
1056
|
+
## 🛠️ Requirements
|
|
1057
|
+
|
|
1058
|
+
- Python **3.10+**
|
|
1059
|
+
- [Ollama](https://ollama.ai) (highly recommended for offline mode)
|
|
1060
|
+
- RAM: 4GB+ (8GB+ for 7B models)
|
|
1061
|
+
- macOS · Linux · Windows (WSL2)
|
|
1062
|
+
|
|
1063
|
+
```bash
|
|
1064
|
+
pip install -r requirements.txt
|
|
1065
|
+
```
|
|
1066
|
+
|
|
1067
|
+
Core dependencies: `rich` · `prompt_toolkit` · `yfinance` · `akshare` · `ccxt` · `pandas` · `numpy`
|
|
1068
|
+
|
|
1069
|
+
---
|
|
1070
|
+
|
|
1071
|
+
## 🤝 Contributing
|
|
1072
|
+
|
|
1073
|
+
Contributions welcome! See [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
1074
|
+
|
|
1075
|
+
```bash
|
|
1076
|
+
git clone https://github.com/artherahq/aria-code.git
|
|
1077
|
+
cd aria-code
|
|
1078
|
+
python3 -m venv .venv && source .venv/bin/activate
|
|
1079
|
+
pip install -r requirements.txt
|
|
1080
|
+
pytest tests/ -v
|
|
1081
|
+
```
|
|
1082
|
+
|
|
1083
|
+
---
|
|
1084
|
+
|
|
1085
|
+
## Relation to Arthera
|
|
1086
|
+
|
|
1087
|
+
Aria Code is the open-source CLI component of [Arthera](https://arthera.finance) — an AI-powered quantitative investment platform. The full Arthera platform includes a web dashboard, desktop terminal, iOS app, and institutional quant engine.
|
|
1088
|
+
|
|
1089
|
+
Aria Code is designed to work as a **standalone tool** — it does not require the Arthera backend. All financial calculations run locally. Cloud features are optional.
|
|
1090
|
+
|
|
1091
|
+
---
|
|
1092
|
+
|
|
1093
|
+
## License
|
|
1094
|
+
|
|
1095
|
+
[Business Source License 1.1](./LICENSE) © 2025–2026 Arthera.
|
|
1096
|
+
|
|
1097
|
+
Free to use, run, modify, and self-host for personal, internal, educational,
|
|
1098
|
+
and research purposes — including trading your own account. Offering Aria Code
|
|
1099
|
+
as a hosted/managed service, or selling a competing product built on it,
|
|
1100
|
+
requires a commercial license (contact dev@arthera.finance). Each version
|
|
1101
|
+
converts to Apache 2.0 four years after release.
|
|
1102
|
+
|
|
1103
|
+
> Versions up to and including **4.1.2** were released under MIT and remain
|
|
1104
|
+
> available under those terms.
|
|
1105
|
+
|
|
1106
|
+
---
|
|
1107
|
+
|
|
1108
|
+
<p align="center">
|
|
1109
|
+
<a href="https://arthera.finance">Website</a> ·
|
|
1110
|
+
<a href="https://github.com/artherahq/aria-code">Project Repository</a> ·
|
|
1111
|
+
<a href="https://github.com/artherahq/aria-code/issues">Issues</a> ·
|
|
1112
|
+
<a href="https://github.com/artherahq/aria-code/discussions">Discussions</a>
|
|
1113
|
+
</p>
|