* Initial plan * feat: add observability logging - run event persistence and enriched tool events - Integrate RunLogger into LangGraphEngine for JSONL event persistence - Add _start_run_logger/_finish_run_logger lifecycle in all run methods - Enrich tool events with service, status, and error fields - Add _TOOL_SERVICE_MAP for tool-to-service name resolution - Frontend: color error events in red, show service badges - Frontend: display graceful_skip status with orange indicators - Frontend: add error tab and service info to EventDetail/EventDetailModal - Add 11 unit tests for new observability features Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> Agent-Logs-Url: https://github.com/aguzererler/TradingAgents/sessions/477a0676-af7b-48ff-8a3d-567e943323cf * refactor: address code review - extract graceful keywords constant, fix imports - Move get_daily_dir import to top-level (remove inline aliases) - Extract _GRACEFUL_SKIP_KEYWORDS as module-level constant - Update test patches to match top-level import location Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> Agent-Logs-Url: https://github.com/aguzererler/TradingAgents/sessions/477a0676-af7b-48ff-8a3d-567e943323cf * feat: add run_id to report paths, MongoDB report store, store factory, and reflexion memory - report_paths.py: All path helpers accept optional run_id for run-scoped dirs - report_store.py: ReportStore supports run_id + latest.json pointer mechanism - mongo_report_store.py: MongoDB-backed store with same interface (no overwrites) - store_factory.py: Factory returns MongoDB or filesystem store based on config - memory/reflexion.py: Reflexion memory for learning from past decisions - langgraph_engine.py: Uses store factory + run_id for all run methods - Fix save_holding_reviews bug (was save_holding_reviews, now save_holding_review) - default_config.py: Add mongo_uri and mongo_db config keys - pyproject.toml: Add pymongo>=4.12.1 dependency - .env.example: Document TRADINGAGENTS_MONGO_URI and TRADINGAGENTS_MONGO_DB Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> Agent-Logs-Url: https://github.com/aguzererler/TradingAgents/sessions/16e673ea-40a1-40a0-8e77-f8cd08c1a716 * fix: clean up reflexion record_outcome (remove broken update_one with sort) Also update runs.py reset endpoint to use store factory, fix tests, add ADR 015, update CURRENT_STATE.md Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> Agent-Logs-Url: https://github.com/aguzererler/TradingAgents/sessions/16e673ea-40a1-40a0-8e77-f8cd08c1a716 * fix: address all PR#106 review findings (ADR 016) - Fix save_holding_review: iterate per-ticker instead of passing portfolio_id as ticker (Finding 13) - Fix RunLogger context: replace threading.local with contextvars for asyncio task isolation (Finding 3) - Fix list_pm_decisions: add _id:0 projection to exclude ObjectId (Finding 6) - Fix ReflexionMemory: native datetime for MongoDB, ISO string for local JSON fallback (Finding 7) - Fix latest pointer: write/read_latest_pointer accept base_dir parameter, ReportStore passes _base_dir (Finding 12) - Wire RunLogger callback into all astream_events calls (Finding 1) - Call ensure_indexes in MongoReportStore.__init__ (Finding 11) - Create ADR 016 documenting all 13 findings and resolutions - Add 14 targeted tests covering all 7 fixes - All 886 tests pass (872 existing + 14 new) Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> Agent-Logs-Url: https://github.com/aguzererler/TradingAgents/sessions/e52cdd2f-efae-4d2a-a56f-903d909b3342 * chore: remove unused imports in tests, remove redundant ensure_indexes call in factory Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> Agent-Logs-Url: https://github.com/aguzererler/TradingAgents/sessions/e52cdd2f-efae-4d2a-a56f-903d909b3342 * docs: update ADR 016 — mark Finding 2 resolved, update context docs for contextvars Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> Agent-Logs-Url: https://github.com/aguzererler/TradingAgents/sessions/ce9e2400-a60d-4a6b-896b-1b34ec786bed --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| src | ||
| README.md | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
README.md
AgentOS Frontend
This is a React-based observability dashboard for TradingAgents.
Tech Stack
- Framework: React (Vite)
- UI Library: Chakra UI
- State Management: React Context / Hooks
- Communication: Axios (REST) & WebSockets
Getting Started
-
Initialize the project:
npm create vite@latest . -- --template react-ts npm install @chakra-ui/react @emotion/react @emotion/styled flutter-framer-motion axios lucide-react -
Run the development server:
npm run dev
Core Components Structure
src/components/CommandCenter/: The main terminal and agent map.src/components/Portfolio/: Portfolio holdings and metrics.src/hooks/useAgentStream.ts: Custom hook for WebSocket streaming.src/context/AuthContext.tsx: Mock auth and multi-tenant support.