Commit graph

2709 commits

Author SHA1 Message Date
API Test Bot
4be8c1b996 feat(chat): add command patterns for Epic 2, 3, 4 widgets
- Add new command patterns to COMMAND_PATTERNS:
  * SHOW_WHALE_ACTIVITY - Matches 'show whale activity/transactions'
  * TRADING_SUGGESTION - Matches 'suggest/recommend entry/exit for TOKEN'
  * SHOW_PORTFOLIO - Matches 'show my portfolio'
  * CAPTURE_CHART - Matches 'capture/screenshot chart'
  * GENERATE_THREAD - Matches 'generate/create thread'

- Update handleSendMessage to handle new commands:
  * Whale activity: Shows MOCK_WHALE_TRANSACTIONS with smart money insights
  * Trading suggestion: Shows MOCK_TRADING_SUGGESTION with risk/reward analysis
  * Portfolio: Shows MOCK_PORTFOLIO with P&L and best performer
  * Chart capture: Shows chart capture tool with auto-filled metadata
  * Thread generator: Shows thread generator with token info pre-filled

- Import mock data for new widgets:
  * MOCK_WHALE_TRANSACTIONS
  * MOCK_TRADING_SUGGESTION
  * MOCK_PORTFOLIO

- Update help message to include all Epic commands organized by category

Enables users to trigger Epic 2, 3, 4 widgets via natural language commands
2026-02-04 02:59:34 +07:00
API Test Bot
0d2cac99d5 feat(chat): integrate Epic 2, 3, 4 widgets into chat interface
- Create 5 widget wrappers for inline chat display:
  * WhaleActivityWidget - Wraps WhaleActivityFeed for whale transaction display
  * TradingSuggestionWidget - Wraps TradingSuggestionPanel for entry/exit suggestions
  * PortfolioWidget - Wraps PortfolioPanel for portfolio tracking
  * ChartCaptureWidget - Wraps ChartCapturePanel for chart screenshots
  * ThreadGeneratorWidget - Wraps ThreadGeneratorPanel for Twitter threads

- Update widgets/index.ts to export new widgets with Epic grouping

- Update ChatMessages.tsx:
  * Add 5 new widget types to MessageWidget union
  * Import new widget components and their types
  * Add renderWidget cases for all new widgets with proper callbacks
  * Update component documentation to list all supported widgets

- Widget integration pattern:
  * Widgets wrap panels in containers with consistent styling
  * All widgets support callback props for user interactions
  * Widgets can be embedded inline in assistant messages
  * Widget actions are handled via onWidgetAction callback

Enables AI to display Epic 2, 3, 4 panels inline in chat conversations
2026-02-04 02:55:50 +07:00
API Test Bot
9f75abf0a5 feat(epic-4): implement Content Creation & Productivity components
- Add ChartCapturePanel.tsx for chart screenshot with annotations
  * One-click chart capture from DexScreener
  * Auto-add metadata overlay (token info, price, volume, liquidity, timestamp)
  * Template styles (dark, light, neon)
  * Export options (Twitter 1200x675, Telegram square, Instagram 1080x1080, clipboard)
  * Watermark option

- Add AnnotationTools.tsx for drawing tools
  * Line tool for trend lines, support/resistance
  * Arrow tool for directional indicators
  * Text tool for labels
  * Shape tools (circle, rectangle)
  * Fibonacci retracement tool
  * Color picker with 6 preset colors
  * Undo/Redo functionality

- Add ThreadGeneratorPanel.tsx for AI-powered Twitter thread generation
  * Auto-fill token info from current page
  * Customizable thread length (5-10 tweets)
  * Tone selection (bullish/neutral/bearish)
  * AI-generated thread structure (Hook → Analysis → Implications → Conclusion)
  * Edit individual tweets inline
  * Add/delete tweets dynamically
  * Reorder tweets support
  * Export options (copy all, tweet directly via Twitter API)
  * Mock thread generation with realistic crypto content

- Add ProductivitySettings.tsx for productivity settings management
  * Notification settings with priority levels (high/medium/low)
  * Quiet hours configuration (start/end time)
  * Group notifications and smart batching (5+ alerts)
  * Keyboard shortcuts display and customization
  * Quick actions settings (context menu, auto-detect addresses)
  * Pe  * Pe  * Pe  * Pe  * Pttings support

Implements Stories 4.1, 4.2, 4.3 from Epic 4: Content Creation & Productivity
2026-02-04 02:39:48 +07:00
API Test Bot
ea2080619b feat(epic-3): implement Trading Intelligence components with mock data
- Add TokenAnalysisPanel.tsx for comprehensive token analysis
  * AI-generated summary with buy/hold/sell/avoid recommendation
  * Contract analysis (verified, renounced, proxy, source code)
  * Holder distribution with top 10% concentration
  * Liquidity analysis with LP lock status and duration
  * Volume trends and trading activity metrics
  * Price history (ATH/ATL, 7d/30d changes, volatility)
  * Social sentiment analysis (Twitter, Telegram, Reddit)

- Add TradingSuggestionPanel.tsx for entry/exit suggestions
  * Entry zone recommendations with reasoning
  * Multiple take-profit targets (3 levels) with confidence scores
  * Stop-loss suggestions with invalidation reasoning
  * Risk/reward ratio calculation and assessment
  * Technical analysis levels (support/resistance)
  * AI reasoning and invalidation conditions

- Add PortfolioPanel.tsx for portfolio tracking
  * Total portfolio value with 24h change
  * Holdings list with current value and P&L tracking
  * Performance analytics (best/worst performers, win rate)
  * Quick actions per token (analyze, alert, view)
  * Manual position entry support

- Add comprehensive mock data for all Epic 3 components
  * MOCK_TOKEN_ANALYSIS with realistic metrics
  * MOCK_TRADING_SUGGESTION with entry/exit levels
  * MOCK_PORTFOLIO with 5 holdings and analytics

Implements Stories 3.1, 3.2, 3.3 from Epic 3: Trading Intelligence
2026-02-04 02:36:35 +07:00
API Test Bot
db22cd4a64 feat(epic-2): implement WhaleActivityFeed component with mock data
- Add WhaleActivityFeed.tsx for displaying whale transactions (>0K)
- Features: real-time feed, filter by watchlist/smart money, track wallet
- Add mock whale transaction data with 7 sample transactions
- Support for buy/sell indicators, smart money badges, explorer links
- Implements Story 2.2: Whale Activity Tracker from Epic 2
2026-02-04 02:31:36 +07:00
API Test Bot
e4d020799b feat(crypto): add SurfSense 2.0 Crypto Co-Pilot UI components
Frontend - Web Dashboard:
- Add crypto dashboard page with Watchlist, Alerts, Market, Profile tabs
- Add 11 tool-ui components for inline chat display
- Add crypto components (ChainIcon, SafetyBadge, PriceDisplay, etc.)
- Add modals (AddTokenModal, CreateAlertModal)
- Add mock data for development

Frontend - Browser Extension:
- Add shared components (ChainIcon, RiskBadge, PriceDisplay, SuggestionCard)
- Add crypto components (SafetyScoreDisplay, WatchlistPanel, AlertConfigModal)
- Add chat enhancements (WelcomeScreen, ThinkingStepsDisplay)
- Add widget components for inline display
- Enhance TokenInfoCard, ChatHeader, ChatInput, ChatInterface

Documentation:
- Add conversational UX specification
- Add UX analysis report
- Update extension UX design

This implements the Conversational UX paradigm where crypto features
are AI-callable tools that render inline in the chat interface.
2026-02-04 02:19:57 +07:00
API Test Bot
ad795eb830 docs: add Hybrid Crypto Data Architecture section
- Document RAG + Real-time hybrid approach
- Explain when AI uses each tool type
- List real-time tools (get_live_token_price, get_live_token_data)
- Document frontend tool-ui components
2026-02-04 00:13:51 +07:00
API Test Bot
d20cb8a538 feat(crypto): implement hybrid approach with real-time DexScreener tools
- Add crypto_realtime.py with get_live_token_price and get_live_token_data tools
- Register real-time tools in registry.py (no dependencies required)
- Export tool factories in __init__.py
- Create LiveTokenPriceToolUI component for real-time price display
- Create LiveTokenDataToolUI component for comprehensive market data
- Register tool-ui components in new-chat page

Hybrid Architecture:
- RAG (search_knowledge_base): Historical context, trends from indexed data
- Real-time tools: Current prices, live market data via direct API calls
- AI agent decides which to use based on query intent
2026-02-04 00:12:32 +07:00
API Test Bot
f2e38c52a1 feat: Add initial strategic planning, UX design, and verification artifacts, define a new AI-powered crypto assistant epic, update existing epics, and disable SSL for local database connection. 2026-02-02 17:43:33 +07:00
API Test Bot
f21e1a5b58 docs: create epics and user stories for SurfSense 2.0
Created 4 comprehensive epics with 15 user stories total:

Epic 1: Extension Core Infrastructure (Phase 1) -  COMPLETED
- 6 stories covering side panel, chat, context detection, DexScreener integration

Epic 2: Smart Monitoring & Alerts (Phase 2) - 📋 PLANNED
- 3 stories covering price alerts, whale tracking, rug pull detection

Epic 3: Trading Intelligence (Phase 3) - 📋 PLANNED
- 3 stories covering token analysis, entry/exit suggestions, portfolio tracking

Epic 4: Content Creation & Productivity (Phase 4) - 📋 PLANNED
- 3 stories covering chart capture, AI thread generation, productivity features

Each story includes:
- User story format (As a... I want... So that...)
- Detailed acceptance criteria
- Technical implementation notes
- UI mockups and code examples
- API endpoints needed
- Files to create/modify
- Testing strategy

Total timeline: 8 weeks (2 weeks per phase)
2026-02-01 21:43:15 +07:00
API Test Bot
a052b01a68 docs: update PRD with comprehensive extension features and UX integration strategy
- Added UX strategy: Extension for Quick Actions, Frontend for Management
- Organized features into 4 phases (Phase 1 completed)
- Added 14 new extension features (FR-EXT-07 to FR-EXT-17):
  * Smart Monitoring: Price alerts, whale tracking, rug pull detection
  * Trading Intelligence: Token analysis, entry/exit suggestions, portfolio tracker
  * Content Creation: Chart screenshots, AI thread generator
  * Productivity: Quick actions, notifications, keyboard shortcuts
- Added Feature Responsibility Matrix showing Extension vs Frontend roles
- Added Settings Sync strategy (FR-EXT-06) with deep links to frontend
- Documented state sync architecture: Extension ↔ Backend API ↔ Frontend
2026-02-01 21:32:06 +07:00
API Test Bot
fd9eddf7fa test: Add Vitest configuration and initial tests for the DexScreener connect form. 2026-02-01 15:05:19 +07:00
API Test Bot
828d7d695a feat: Add DexScreener RAG retrieval test and token validation, configure Serena project settings, and update admin guide with default admin account details. 2026-02-01 14:24:01 +07:00
API Test Bot
4f8faad5da feat(frontend): Add DexScreener connector UI components
- Added DexScreener connect form and config components
- Added connector icon, benefits, and documentation
- Updated connector enums and types
- Added dexscreener.mdx documentation

This completes the DexScreener integration UI for the frontend.
2026-02-01 14:20:48 +07:00
API Test Bot
b5d0413459 fix(rag): Add DEXSCREENER_CONNECTOR to searchable mapping
- Added DEXSCREENER_CONNECTOR to _CONNECTOR_TYPE_TO_SEARCHABLE in chat_deepagent.py
- This fixes LLM's inability to search DexScreener data despite it being indexed
- Root cause: connector was enabled in DB but missing from mapping, causing it to be filtered out
- Verified: LLM now successfully retrieves WETH price (~$2,442) with DexScreener citations

Related files:
- chat_deepagent.py: Added connector mapping
- knowledge_base.py: Added debug logging for DexScreener search
- connector_service.py: Fixed metadata field names (base_symbol, quote_symbol, dex)
- 85_add_dexscreener_connector.py: Migration for connector type
2026-02-01 14:20:34 +07:00
API Test Bot
d654556eb8 fix(backend): Add DexScreener to periodic indexing schedule checker
- Import DexScreenerIndexer in schedule_checker_task.py
- Enable periodic sync support for DexScreener connector
- Ensures automated token data updates work correctly
2026-01-31 17:27:38 +07:00
API Test Bot
44dc7904f3 docs: Add BMAD stories and implementation plan for DexScreener
- Add Story 1.1: DexScreener Connector Backend (complete)
- Add Story 1.2: DexScreener Connector Frontend UI (ready for dev)
- Add implementation plan with architecture decisions
- Include assets and documentation structure
- Stories follow BMAD methodology for AI-driven development
2026-01-31 17:27:21 +07:00
API Test Bot
8dd41adae4 test(backend): Add pytest testing infrastructure
- Add pytest, pytest-asyncio, pytest-mock to dev dependencies
- Configure pytest in pyproject.toml with async support
- Create tests directory structure with conftest.py
- Set up unit test framework for connector testing
- Enable automated testing for backend components
2026-01-31 17:27:18 +07:00
API Test Bot
9e27081862 refactor(backend): Extract Airtable token refresh to shared utility
- Create app/utils/airtable_token_utils.py for token refresh logic
- Update all connectors to use centralized token refresh function
- Affected connectors: airtable, clickup, confluence, discord, jira, notion, slack, teams
- Improves code reusability and maintainability
- No functional changes, pure refactoring
2026-01-31 17:27:14 +07:00
API Test Bot
9f66d5ca25 feat(backend): Implement DexScreener connector (Story 1.1)
Core Implementation:
- Add DexScreenerConnector class with public API integration
- Implement token pair data fetching and indexing
- Add API routes: add, delete, test endpoints
- Register connector in task indexers and Celery tasks
- Add DEXSCREENER_CONNECTOR enum to database models

Features:
- Support up to 50 tokens per connector
- Track prices, volume, liquidity across multiple DEXs
- EVM and Solana address validation
- Periodic sync support
- No API key required (public DexScreener API)

API Endpoints:
- POST /api/v1/connectors/dexscreener/add
- DELETE /api/v1/connectors/dexscreener
- GET /api/v1/connectors/dexscreener/test

All endpoints require JWT authentication 
Integration tests passing 
Ready for production deployment 
2026-01-31 17:25:48 +07:00
API Test Bot
8fec08edcd feat(backend): Add DexScreener connector database migration
- Add Alembic migration 85 to add DEXSCREENER_CONNECTOR enum value
- Migration uses IF NOT EXISTS for safe production deployment
- Add integration test script for DexScreener API endpoints
- Verify all endpoints require JWT authentication
- Confirm migration successfully applied (DB version 85)

Story 1.1 Backend: Complete 
- All API endpoints functional (add, delete, test)
- Database schema synchronized
- Integration tests passing
- Ready for Story 1.2 (Frontend UI)
2026-01-31 17:25:31 +07:00
API Test Bot
524d9ab390 feat: Add comprehensive BMAD agent, workflow, and documentation framework. 2026-01-31 14:48:53 +07:00
API Test Bot
328f7dfecf Create docker-compose.dev.yml 2026-01-31 06:45:15 +07:00
Rohan Verma
dd0ea1b0ed
Merge pull request #754 from MODSetter/dev
hotpatch(cloud): add llm load balancing
2026-01-29 15:43:22 -08:00
DESKTOP-RTLN3BA\$punk
6fb656fd8f hotpatch(cloud): add llm load balancing 2026-01-29 15:28:31 -08:00
Rohan Verma
5d5f9d3bfb
Merge pull request #752 from MODSetter/dev
chore: various QOL Updates
2026-01-28 22:25:18 -08:00
DESKTOP-RTLN3BA\$punk
d39bf3510f chore: linting 2026-01-28 22:20:23 -08:00
DESKTOP-RTLN3BA\$punk
8e6826dd66 Merge branch 'dev' of https://github.com/MODSetter/SurfSense into dev 2026-01-28 22:15:53 -08:00
DESKTOP-RTLN3BA\$punk
70fcb2d055 chore: linting 2026-01-28 22:15:43 -08:00
Rohan Verma
5cbaca7701
Merge pull request #750 from AnishSarkar22/fix/notion-connector
fix: notion connector issues
2026-01-28 22:08:29 -08:00
DESKTOP-RTLN3BA\$punk
16b839138d feat(backend): add new incentive task type for Reddit follow
Introduce a new incentive task type, REDDIT_FOLLOW, to encourage users to join the SurfSense community on Reddit. This includes a title, description, pages reward, and action URL for the task.
2026-01-28 21:58:49 -08:00
Anish Sarkar
076270ab86 fix(backend): enhance indexing success logging to include informational warnings about API limitations 2026-01-29 10:54:15 +05:30
Anish Sarkar
1658724fb2 Merge remote-tracking branch 'upstream/dev' into fix/notion-connector 2026-01-29 10:45:31 +05:30
Rohan Verma
0b65c3a98c
Merge pull request #751 from CREDO23/fix-various-issues
[FIX] Connector indexing, chat cloning, and Gmail date handling fixes
2026-01-28 16:40:49 -08:00
Rohan Verma
f774aa4af0
Merge pull request #749 from AnishSarkar22/fix/drive-connector
fix: composio drive connector
2026-01-28 16:39:40 -08:00
CREDO23
949ec949f6 style(backend): run ruff format on 10 files 2026-01-28 22:20:02 +02:00
CREDO23
20b8a17254 fix(backend): handle non-string elements in webcrawler URL list
Add isinstance check to prevent AttributeError when INITIAL_URLS list
contains non-string elements (None, int, dict) from malformed config data.
2026-01-28 22:16:58 +02:00
Anish Sarkar
59d5bf9aa5 fix(backend): Add error handling for invalid pagination cursor in NotionHistoryConnector to ensure graceful continuation of data fetching 2026-01-28 23:18:10 +05:30
CREDO23
ecb5572e69 fix(backend): remove inaccessible podcast references when cloning chats
When a podcast can't be cloned (not READY), remove the podcast_id from
the cloned message to prevent 403 errors when users try to access it.
2026-01-28 19:25:15 +02:00
Anish Sarkar
c6d25ed7d8 feat(backend): Add legacy token handling in NotionHistoryConnector and log warnings for legacy usage in indexing 2026-01-28 22:53:34 +05:30
CREDO23
22943972c2 fix(frontend): prevent infinite retry loop when chat clone fails
Add cloneError state to track clone failures and prevent the useEffect
from continuously retrying when completeClone() fails.
2026-01-28 19:15:25 +02:00
CREDO23
b20fbaca4b fix: skip webcrawler indexing gracefully when no URLs configured 2026-01-28 17:54:46 +02:00
Anish Sarkar
b3f553802c fix(backend): Update Notion page indexing log message to clarify sharing requirements and adjust return value for no pages found 2026-01-28 18:58:57 +05:30
CREDO23
4f7ed8439f fix(backend): Use calculate_date_range for Gmail indexer
Gmail indexer was using a hardcoded 30-day default instead of respecting
last_indexed_at like other connectors. Now uses calculate_date_range()
for consistent behavior (last_indexed_at → now, or 365 days for first run).
2026-01-28 15:20:07 +02:00
Anish Sarkar
33316fa6db feat(backend): Add retry logic for Notion API calls with user notifications on rate limits and errors 2026-01-28 18:36:42 +05:30
CREDO23
a9d393327d fix(backend): Add duplicate content_hash check to connector indexers
Prevent UniqueViolationError on ix_documents_content_hash constraint by
adding check_duplicate_document_by_hash() before inserting new documents
in 15 connector indexers that were missing this check.

Affected: clickup, luma, linear, jira, google_gmail, confluence,
bookstack, github, webcrawler, teams, slack, notion, discord,
airtable, obsidian indexers.
2026-01-28 14:51:54 +02:00
Anish Sarkar
41ebe162b0 feat(backend): Implement handling of unsupported Notion block types and track skipped content, add documentation for it 2026-01-28 17:43:45 +05:30
Anish Sarkar
b10be762b6 Merge remote-tracking branch 'upstream/dev' into fix/drive-connector 2026-01-28 14:18:11 +05:30
DESKTOP-RTLN3BA\$punk
5eca07f24f chore: updated lock file 2026-01-27 23:14:04 -08:00
Rohan Verma
8b0b4a2c4d
Merge pull request #747 from AnishSarkar22/feat/inbox
feat: Move inbox to a new area
2026-01-27 21:23:56 -08:00