composio_connect (external "act" path) hangs the turn 4+ min to an empty reply when unauthed — should fail-fast to a connect card like the read path
Evidence
- "Send a message to the #general channel" (integration not connected):
composio_list_connections@6s → composio_connect@12s → composio_connect@144s (retried) → stalls; last event iteration_start@264.9s; no chat_error; empty reply.
- Contrast (read path, same missing-integration situation):
composio_list_connections@6s → graceful return in 12.3s: "LinkedIn isn't connected yet. Want me to raise a connect card?"
Ask
When an external integration isn't connected, the act/connect path should fail-fast to a connect card / graceful message (as the read path does), not invoke composio_connect and block for 4+ minutes to an empty reply. Fix in openhuman's composio domain (src/openhuman/composio/) — make composio_connect return a connect-prompt fast when headless/unauthed instead of hanging.
composio_connect (external "act" path) hangs the turn 4+ min to an empty reply when unauthed — should fail-fast to a connect card like the read path
Evidence
composio_list_connections@6s→composio_connect@12s→composio_connect@144s(retried) → stalls; last eventiteration_start@264.9s; no chat_error; empty reply.composio_list_connections@6s→ graceful return in 12.3s: "LinkedIn isn't connected yet. Want me to raise a connect card?"Ask
When an external integration isn't connected, the act/connect path should fail-fast to a connect card / graceful message (as the read path does), not invoke
composio_connectand block for 4+ minutes to an empty reply. Fix in openhuman's composio domain (src/openhuman/composio/) — makecomposio_connectreturn a connect-prompt fast when headless/unauthed instead of hanging.