solutions_backend.sensors.platform
Overlap-safe Property Meld/AppFolio polling over typed PlatformOperations reads.
Classes
PlatformPollingAdapter
Poll one exact workspace and normalize every order/activity/correspondence row.
for_window
for_window(window_start: datetime | None, window_end: datetime | None) -> PlatformPollingAdapterReturn an identity-equivalent finite adapter for one rebuild window.
initial_cursor
initial_cursor() -> dict[str, object]normalize
normalize(order: PlatformOrderRow, activity: PlatformActivityRow | None = None, correspondence: PlatformCorrespondenceRow | None = None) -> ClassificationIntakeNormalize one already-read provider row set into the canonical router intake.
read
read(cursor) -> SourceBatch