Runtime-facing APIs include:
createEmailsClient(...)
configureEmailsClient(...)
getCurrentEmailsClient(...)
resetEmailsClient(...)
buildGetInboxFn(...)
Example:
import { configureEmailsClient, createEmailsClient } from "@qawolf/emails";
const client = await createEmailsClient({
emailerUrl: "https://emailer.example.com",
pollForEmailsDefaultTimeoutMs: 30_000,
teamId: "team_123",
waitForMessagesDefaultDelayMs: 1_000,
});
configureEmailsClient(client);
Role Of createEmailsClient(...)
This creates a service-backed client that can be used directly by runners, tooling, or any environment that has access to the QA Wolf email service.
Example:
import { createEmailsClient } from "@qawolf/emails";
const client = await createEmailsClient({
emailerUrl: "https://emailer.example.com",
logger: (severity, message) => {
console.log(severity, message);
},
pollForEmailsDefaultTimeoutMs: 30_000,
teamId: "team_123",
waitForMessagesDefaultDelayMs: 1_000,
});
const inbox = await client.getInbox({ new: true });
Compatibility Note
buildGetInboxFn(...) remains useful for compatibility with runtimes that still inject getInbox directly, but new runtime code should prefer createEmailsClient(...).
Example:
import { buildGetInboxFn } from "@qawolf/emails";
const getInbox = await buildGetInboxFn({
emailerUrl: "https://emailer.example.com",
pollForEmailsDefaultTimeoutMs: 30_000,
teamId: "team_123",
waitForMessagesDefaultDelayMs: 1_000,
});
const inbox = await getInbox({ new: true });
Last modified on April 24, 2026