package actions import ( "time" "git.pengzhan.dev/haopengzhan/rsspipe/internal/actions/ai" "git.pengzhan.dev/haopengzhan/rsspipe/internal/actions/readability" "git.pengzhan.dev/haopengzhan/rsspipe/internal/actions/status" "git.pengzhan.dev/haopengzhan/rsspipe/internal/actions/variants" aiClientPkg "git.pengzhan.dev/haopengzhan/rsspipe/internal/ai" "git.pengzhan.dev/haopengzhan/rsspipe/internal/db" "git.pengzhan.dev/haopengzhan/rsspipe/internal/worker" "go.uber.org/zap" ) // RegisterDefaultHandlers registers all core action handlers with the worker pool. func RegisterDefaultHandlers(pool *worker.Pool, database *db.DB, log *zap.Logger) { // 1. Readability Full-Text Scraper scraper := readability.NewScraper(15 * time.Second) pool.RegisterHandler("readability_scrape", scraper.Handler()) // 2. Status Handlers (mark_read, mark_starred) pool.RegisterHandler("mark_read", status.NewMarkReadHandler()) pool.RegisterHandler("mark_starred", status.NewMarkStarredHandler()) // 3. Variant Handlers (set_variant with tag merging) pool.RegisterHandler("set_variant", variants.NewSetVariantHandler(database)) // 4. AI Subsystem Handlers aiClient := aiClientPkg.NewClient(45 * time.Second) enrichHandler := ai.NewEnrichmentHandler(database, aiClient, log) pool.RegisterHandler("ai_enrich", enrichHandler) pool.RegisterHandler("ai_summary", enrichHandler) // Backward compatibility alias pool.RegisterHandler("ai_agent_action", ai.NewTriageHandler(database, aiClient, pool, log)) }