Skip to content

feat: make adapter constructors default to env vars#182

Merged
haydenbleasel merged 15 commits intomainfrom
165-make-adapter-configs-accept-explicit-config-but-default-to-env-vars-not-require-them
Mar 6, 2026
Merged

feat: make adapter constructors default to env vars#182
haydenbleasel merged 15 commits intomainfrom
165-make-adapter-configs-accept-explicit-config-but-default-to-env-vars-not-require-them

Conversation

@haydenbleasel
Copy link
Member

Summary

Closes #165.

  • Moved env var resolution from factory functions (createSlackAdapter, etc.) into adapter constructors so new SlackAdapter() works the same as createSlackAdapter()
  • Made config fields optional across all 7 adapters (Slack, Teams, Discord, Telegram, Google Chat, Linear, GitHub) — required fields fall back to env vars and throw if neither config nor env var is set
  • Factory functions are now thin pass-throughs for backwards compatibility
  • Added constructor env var resolution tests for Slack, Teams, Discord, Telegram, and Google Chat (GitHub and Linear already had them)
  • Added a note to the adapters overview docs showing constructor usage as an alternative to factory functions

Test plan

  • All existing tests pass (pnpm validate)
  • New env var resolution tests for all 5 adapters that were missing them
  • Verified factory functions still work identically (they just delegate to constructors now)

@vercel
Copy link
Contributor

vercel bot commented Mar 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
chat Ready Ready Preview, Comment, Open in v0 Mar 6, 2026 0:27am
chat-sdk-nextjs-chat Ready Ready Preview, Comment, Open in v0 Mar 6, 2026 0:27am

…igs-accept-explicit-config-but-default-to-env-vars-not-require-them

# Conflicts:
#	packages/adapter-slack/src/index.test.ts
#	packages/adapter-teams/src/index.ts
@haydenbleasel haydenbleasel merged commit b35bb34 into main Mar 6, 2026
10 checks passed
@haydenbleasel haydenbleasel deleted the 165-make-adapter-configs-accept-explicit-config-but-default-to-env-vars-not-require-them branch March 6, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make adapter configs accept explicit config but default to env vars (not require them)

2 participants