Commit 38cfae9
authored
PIR: Add state engine models for email flexibility (#8233)
Task/Issue URL: https://app.asana.com/1/137249556945/project/72649045549333/task/1213886961787938?focus=true
### Description
Adds state engine models for email flexibility.
### Steps to test this PR
Will be testable on upstream PRs once whole feature is finished.
### UI changes
No UI changes
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Model and empty handler only; no polling, transitions, or user-facing behavior until later steps.
>
> **Overview**
> Introduces **scaffolding** in the PIR actions runner state engine for polling and storing **email-derived fields** during broker steps, parallel to the existing captcha await flow.
>
> `PirActionsRunnerStateEngine` gains `emailExtractedData` on `State`, events `EmailDataReceived` and `RetryAwaitEmailData`, and side effect `AwaitEmailData` (broker, address, attempt id, extract fields, polling/timeout, attempt). `PirActionsRunner` routes `AwaitEmailData` to a new `handleAwaitEmailData` that is **not implemented yet** (TODO for a later step / `EmailDataResolver`).
>
> No runtime behavior change until follow-up work wires transitions and polling.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 9e478a8. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->1 parent 41b64c8 commit 38cfae9
2 files changed
Lines changed: 33 additions & 0 deletions
File tree
- pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/common
- actions
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
| 274 | + | |
274 | 275 | | |
275 | 276 | | |
276 | 277 | | |
| |||
358 | 359 | | |
359 | 360 | | |
360 | 361 | | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
361 | 366 | | |
362 | 367 | | |
363 | 368 | | |
| |||
Lines changed: 28 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
| |||
137 | 138 | | |
138 | 139 | | |
139 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
140 | 156 | | |
141 | 157 | | |
142 | 158 | | |
| |||
181 | 197 | | |
182 | 198 | | |
183 | 199 | | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
184 | 212 | | |
185 | 213 | | |
186 | 214 | | |
| |||
0 commit comments