Skip to content

v0.58.1

Choose a tag to compare

@hughpyle hughpyle released this 21 Feb 21:40
· 824 commits to main since this release

TaskClient + delegation for hosted processing (Phase 3)

Consolidation (Part A)

  • Hash functions moved from api.py to processors.py (single source of truth)
  • Shared constants: DELEGATABLE_TASK_TYPES, LOCAL_ONLY_TASK_TYPES, MIME_TO_EXTENSION
  • ProcessorResult and DELEGATABLE_TASK_TYPES exported from keep.__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
  • PendingSummaryQueue gains 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
  • NullPendingQueue gains delegation no-op methods for injected backends

Security

  • HTTPS enforcement on TaskClient (matches RemoteKeeper)
  • Retry-After header capped at 60s

688 tests passing.