Repository navigation
v0.58.1
TaskClient + delegation for hosted processing (Phase 3)
Consolidation (Part A)
- Hash functions moved from
api.pytoprocessors.py(single source of truth) - Shared constants:
DELEGATABLE_TASK_TYPES,LOCAL_ONLY_TASK_TYPES,MIME_TO_EXTENSION ProcessorResultandDELEGATABLE_TASK_TYPESexported fromkeep.__init__
TaskClient + Delegation (Part C)
- New
keep.task_client.TaskClient: HTTP client for the Task API with HTTPS enforcement, retry with backoff, and capped Retry-After PendingSummaryQueuegains delegation columns and methods (mark_delegated,list_delegated,count_delegated)Keeper.process_pending()delegates summarize/OCR to hosted service when TaskClient is available, falls back to local on failure_poll_delegated()checks and applies remote results- Daemon loop stays alive while delegated tasks are outstanding
NullPendingQueuegains delegation no-op methods for injected backends
Security
- HTTPS enforcement on TaskClient (matches RemoteKeeper)
- Retry-After header capped at 60s
688 tests passing.