Increase timeout values for Aethel integration test workflow#64
Conversation
Co-authored-by: colleenpridemore <4281084+colleenpridemore@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adjusts timeouts across the Aethel integration test workflow and agent communication defaults to reduce CI failures caused by request and job timeouts.
Changes:
- Increased GitHub Actions step timeout for the Aethel integration example (5 → 10 minutes).
- Increased default inter-agent
messageTimeoutinCommunicationProtocol(30s → 120s). - Updated the Aethel integration example’s protocol
messageTimeout(10s → 120s).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/aethel-integration-test.yml |
Extends CI execution window and writes a longer ASI:One timeout into .env. |
agents/examples/aethel-integration.js |
Updates protocol configuration to allow longer inter-agent message waits. |
agents/communication/CommunicationProtocol.js |
Raises the protocol-wide default message timeout to reduce “Request timeout” failures. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| protocol: { | ||
| rateLimitPerMinute: 50, | ||
| messageTimeout: 10000 | ||
| messageTimeout: 120000 | ||
| } |
There was a problem hiding this comment.
The workflow writes ASI_ONE_TIMEOUT into .env, but this example never passes aethelConfig.timeout into new AethelAgent(...), so API requests will still use AethelAgent’s internal default (30s). To make the increased API timeout effective, wire the value through (e.g., include timeout: aethelConfig.timeout in the agent constructor config) or remove the .env timeout if it’s intentionally unused.
| maxQueueSize: config.maxQueueSize || 100, | ||
| messageTimeout: config.messageTimeout || 30000, // 30 seconds | ||
| messageTimeout: config.messageTimeout || 120000, // 120 seconds (2 minutes) | ||
| rateLimitPerMinute: config.rateLimitPerMinute || 100, | ||
| enableEncryption: config.enableEncryption || false, | ||
| ...config |
There was a problem hiding this comment.
Increasing the default messageTimeout to 120s amplifies a resource issue in _waitForResponse: each REQUEST creates a setTimeout that is never cleared when a response arrives, so the timer stays scheduled until it fires (even though it no-ops). Consider storing the timer handle alongside the pending resolve/reject and calling clearTimeout when the response is received (and also on shutdown) to avoid unnecessary queued timers and wakeups under load.
The Aethel integration test workflow fails due to timeouts in both job execution (5 min limit) and inter-agent communication (30s default). Error logs show "Request timeout" during step 6 and job-level timeout after 5 minutes.
Changes
ASI_ONE_TIMEOUTenv var)messageTimeoutinCommunicationProtocol.jsmessageTimeoutinaethel-integration.jsAll timeout values unified at 120s (2 min) to provide consistent headroom for inter-agent communication and AI API calls.
Original prompt
This pull request was created from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.