You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: apps/vscode-e2e/AGENTS.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -158,6 +158,10 @@ Background API calls from the extension (usage collection, initialization) hit a
158
158
| `OPENROUTER_API_KEY=<key> pnpm --filter @roo-code/vscode-e2e test:record` | Record mode — proxies to real API, writes `openai-*.json` |
159
159
| `OPENROUTER_API_KEY=<key> pnpm --filter @roo-code/vscode-e2e test:ci` | Real-API mode — runs against live OpenRouter (for drift detection) |
160
160
161
+
## Waiting for actionable messages
162
+
163
+
Tool and completion asks can be emitted first as partial streaming previews. Tests that approve an ask, navigate away, or assert a durable action must wait for `message.partial !== true`; observing a matching tool name is not sufficient. Use `isCompletedAsk` from `src/suite/utils.ts` for completion-oriented message collectors. Only consume partial asks when the test explicitly covers streaming behavior.
164
+
161
165
## Tests that use a fetch interceptor instead of aimock
162
166
163
167
Some suites can't redirect their provider through aimock. These suites patch `globalThis.fetch` directly — the OpenAI SDK resolves `fetch` at API client construction time (which happens lazily at task start), so installing the interceptor before `api.startNewTask()` is sufficient. Installing it before `api.setConfiguration()` (as done below) is the conservative, recommended order.
0 commit comments