@runlane/transport-sqs
v0.3.0
Published
Amazon SQS transport adapter for Runlane wakeup delivery.
Maintainers
Readme
@runlane/transport-sqs
SQS wakeup-only transport adapter for Runlane. The public contract documentation lives in docs/contracts/sqs-transport.mdx.
Tests
The default package test suite is mock-only and does not require AWS or a local SQS-compatible service:
pnpm --filter @runlane/transport-sqs testRun the real SQS-compatible gate with Ministack:
docker run --rm --name runlane-ministack-test -p 4566:4566 ministackorg/ministack
pnpm --filter @runlane/transport-sqs test:sqs:ministack
docker stop runlane-ministack-testtest:sqs:ministack runs scripts/test-sqs-ministack-local.ts. The script validates a local Ministack endpoint, waits for /_ministack/ready, then runs the package test suite with the Ministack integration file enabled.
The integration suite creates and deletes ephemeral standard and FIFO queues, publishes through sqsTransport(), receives through the AWS SDK SQS client, verifies queue-name resolution and batch chunking, and exercises createSqsDeliveryConsumer() deleting only messages whose delivery resolves.
The package exposes onDeliveryFailure on both createSqsLambdaHandler() and createSqsDeliveryConsumer() so parse, execution, and long-running consumer delete failures are observable while preserving SQS acknowledgement semantics.
Use these environment variables when Ministack is not on the default local endpoint:
| Variable | Default |
| -------------------------------- | ----------------------- |
| RUNLANE_SQS_MINISTACK_ENDPOINT | http://localhost:4566 |
| RUNLANE_SQS_MINISTACK_REGION | us-east-1 |
When RUNLANE_SQS_MINISTACK_ENDPOINT is omitted, the script requires the default localhost endpoint. CI may provide an explicit endpoint for a containerized Ministack service.
