TradingAgents/tradingagents
Andrew Kaszubski 795f970aa4 feat(alerts): add Slack channel with webhooks and Block Kit - Issue #40 (44 tests)
Implements Slack integration for alert delivery:
- SlackMessageStyle enum (simple, blocks, attachment)
- SlackConfig for webhook URL, channel, username, icon
- SlackMessageResult for delivery tracking
- SlackMessageFormatter with Block Kit support
- SlackChannel implementing AlertChannel protocol
- create_slack_channel factory function

Features:
- Three formatting styles (simple text, blocks, attachments)
- Priority-based colors and emojis
- Category emojis for visual identification
- @mention support for critical alerts
- Timestamp and source inclusion options
- Data field display in messages
- Webhook URL validation (hooks.slack.com)
- Retry logic with exponential backoff
- Rate limit handling (429 status with Retry-After)
- Server error retry (500+) vs client error fail-fast (400)
- Latency tracking for performance monitoring
- Sync and async delivery methods
- Test webhook functionality

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 22:41:45 +11:00
..
agents feat(memory): add memory integration for agent prompts - Fixes #21 2025-12-26 20:40:21 +11:00
alerts feat(alerts): add Slack channel with webhooks and Block Kit - Issue #40 (44 tests) 2025-12-26 22:41:45 +11:00
api feat(db): add Trade model with CGT tracking and Australian FY support (#6) - TradeSide/TradeStatus/TradeOrderType enums, 50% discount for >12mo holdings, multi-currency FX, 87 tests 2025-12-26 14:46:06 +11:00
dataflows feat(dataflows): add data caching layer with rate limit awareness - Fixes #12 2025-12-26 16:51:48 +11:00
execution feat(execution): add Risk Controls for pre-trade validation - Issue #28 (45 tests) 2025-12-26 21:29:14 +11:00
graph feat(graph): integrate new analysts into workflow - Fixes #17 2025-12-26 20:11:28 +11:00
memory feat(memory): add memory integration for agent prompts - Fixes #21 2025-12-26 20:40:21 +11:00
portfolio feat(portfolio): add Australian CGT Calculator with 50% discount - Issue #32 (66 tests) 2025-12-26 21:53:27 +11:00
simulation feat(simulation): add Economic Conditions for regime tagging and evaluation - Issue #35 (53 tests) 2025-12-26 22:13:34 +11:00
spektiv feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
strategy feat(strategy): add Strategy Executor for end-to-end orchestration - Issue #37 (37 tests) 2025-12-26 22:29:20 +11:00
utils feat(tests): add UAT and evaluation tests for agent outputs - Fixes #53 2025-12-26 11:38:37 +11:00
default_config.py feat(llm): add DeepSeek provider and HuggingFace embedding fallback (Issue #41) 2025-12-26 11:07:48 +11:00