Conversation
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
1 similar comment
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (4)
WalkthroughAdded origin-header verification for A2A streaming endpoints. The implementation reads Changes
Sequence DiagramsequenceDiagram
participant Client
participant Handler as A2A Handler
participant OriginCheck as Origin Checker
participant Response as Response Handler
Client->>Handler: POST /a2a (message/stream)<br/>with Origin header
Handler->>OriginCheck: _check_origin(request)
alt Origin in A2A_ALLOWED_ORIGINS
OriginCheck->>Handler: Allow
Handler->>Response: Create StreamingResponse
Response->>Client: HTTP 200 + Stream
else Origin not in allowlist
OriginCheck->>Handler: HTTPException(403)
Handler->>Response: Return JSONResponse(403)
Response->>Client: HTTP 403 + Error detail
else No Origin header
OriginCheck->>Handler: Allow (skip check)
Handler->>Response: Create StreamingResponse
Response->>Client: HTTP 200 + Stream
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts
Comment |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
23 similar comments
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
25 similar comments
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
|
This PR has merge conflicts with the base branch and cannot be auto-merged.\n\nClosing and re-queuing the feature to backlog so it will be re-cut from the current base branch on the next auto-mode cycle. |
Addresses bug #3 from v0.2.0 smoke test: MemoryMiddleware was silently skipped when knowledge: false (the default config), so session memory never worked out of the box. - graph/agent.py: drop `and knowledge_store` from activation guard — memory middleware now activates whenever memory: true, regardless of knowledge store - graph/middleware/memory.py: knowledge_store is now optional (default None); guard knowledge-extraction block when store is None; add standalone prior_sessions injection via before_model when running without KnowledgeMiddleware (no double-injection: only fires when self._store is None) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Addresses bug #3 from v0.2.0 smoke test: MemoryMiddleware was silently skipped when knowledge: false (the default config), so session memory never worked out of the box. - graph/agent.py: drop `and knowledge_store` from activation guard — memory middleware now activates whenever memory: true, regardless of knowledge store - graph/middleware/memory.py: knowledge_store is now optional (default None); guard knowledge-extraction block when store is None; add standalone prior_sessions injection via before_model when running without KnowledgeMiddleware (no double-injection: only fires when self._store is None) Co-authored-by: Ava <ava@protolabs.ai> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Verify origins on websocket and SSE connections to the A2A streaming endpoint.
Problem
Anyone who can reach the A2A endpoint can open an SSE connection and drain another session's events if they know or guess the task ID. OpenClaw had the same class of bug — no origin verification. A2A spec leaves this to implementations.
Approach
A2A_ALLOWED_ORIGINSenv (comma-separated) at startup; default empty (allow all, with WARNING log)Recovered automatically by Automaker post-agent hook
Summary by CodeRabbit
New Features
Documentation
Tests