fix(flows): honor selected Composio account - #5837
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughBackend Composio tool calls now forward the workflow node’s exact ChangesComposio connection scoping
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The change makes workflow actions use the selected Composio account while preserving ambient-account behavior when no account is selected; no actionable merge-blocking risk remains after normal checks and review. Sequence Diagram(s)sequenceDiagram
participant WorkflowNode as Workflow node
participant ComposioTool as Composio tool
participant ComposioClient
participant BackendAPI as Composio backend API
WorkflowNode->>ComposioTool: Invoke with connection_ref
ComposioTool->>ComposioClient: Execute with connection ID
ComposioClient->>BackendAPI: POST tool, arguments, connectionId
BackendAPI-->>ComposioClient: Return execution response
ComposioClient-->>WorkflowNode: Return tool result
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
How this change flows2 changed behaviours across 9 relationships. 4 surrounding behaviours are shown (60 graph nodes walked). 42 further behaviours left out to keep the diagram readable. flowchart LR
n0["ComposioClient<br/>changed"]:::changed
n1["...s_filters_pass_through_as_csv_query_param<br/>changed"]:::changed
n2["build_client_for"]:::impacted
n3["start_mock_backend"]:::impacted
n4["format"]:::impacted
n5["openhuman"]:::impacted
n1 -->|calls| n2
n1 -->|tests| n2
n1 -->|calls| n3
n1 -->|tests| n3
n1 -->|calls| n4
n1 -->|tests| n4
n2 -->|uses| n0
n2 -->|uses| n5
n3 -->|calls| n4
classDef changed fill:#0d4429,stroke:#238636,color:#e6edf3
classDef impacted fill:#161b22,stroke:#6e7681,color:#c9d1d9
classDef flagged fill:#5a1e02,stroke:#d93f0b,color:#ffffff
classDef blocking fill:#67060c,stroke:#f85149,color:#ffffff
Green: changed behaviour. Grey: surrounding behaviour. Arrows name the call, use, implementation, or test relationship. Orange: has findings. Red: has a finding that blocks the merge. |
|
@tinyhumansai/maintainers This is ready for review; all required checks are green. |
Summary
connectionIdthrough the authenticated integration request.Problem
connection_ref, but backend-mode dispatch discarded the resulting connection ID before calling the integration backend.Solution
ComposioClient::execute_tool_with_connectionwhile keepingexecute_toolas the ambient-account compatibility wrapper.connectionId; update the ambient execution test to assert that the field remains absent.Submission Checklist
diff-cover) meet the gate enforced by.github/workflows/ci-lite.yml. Focused local tests exercise selected-account and ambient-account wire behavior; CI will enforce the numeric gate.docs/TEST-COVERAGE-MATRIX.md## Related- N/A: no coverage-matrix feature row appliesCloses #NNNin the## RelatedsectionImpact
Related
AI Authored PR Metadata (required for Codex/Linear PRs)
Linear Issue
Commit & Branch
fix/5751-flow-connection-account3254d7e3acd4315d256ab2ce0e6d4cd1b233d869Validation Run
pnpm --filter openhuman-app format:check- N/A: frontend unchangedpnpm typecheck- N/A: frontend unchangedcargo test --manifest-path Cargo.toml --lib backend_dispatch_forwards_the_workflow_connection_id -- --nocapture;cargo test --manifest-path Cargo.toml --lib openhuman::integrations::composio::client::tests::execute_tool -- --nocapturecargo fmt --all -- --check;GGML_NATIVE=OFF cargo check --manifest-path Cargo.toml;git diff --checkValidation Blocked
command:N/Aerror:N/Aimpact:N/ABehavior Changes
connection_ref.Parity Contract
connection_refomitconnectionIdand keep ambient-account dispatch.Duplicate / Superseded PR Handling
Summary by CodeRabbit