Files
molebox 7ec797119e refactor(docs): migrate chat-sdk.dev to @vercel/geistdocs
Replace the locally-copied geistdocs runtime in apps/docs with the
published @vercel/geistdocs package, keeping site-specific content,
custom sections, and established public contracts local.

Package-backed now: docs page + layouts (createDocsPage,
GeistdocsDocsLayout/HomeLayout), navbar/footer/provider, search
(createSearchRoute), Ask AI (createChatRoute, AI SDK v6), per-page
markdown (createDocsMarkdownRoute), sitemap.md
(createSitemapMarkdownRoute, now with an Adapters section), a new
/agents.md surface (createAgentsRoute), proxy (createProxy with
explicit markdownRoutes for /docs and /adapters), MDX defaults,
design tokens/styles, and icon/logo assets.

Kept local by design: the curated /llms.txt index and /llms-full.txt
corpus (referenced by the published SKILL.md artifacts and tests), the
adapters section (README fetching, OG images, JSON-LD, feature
matrices, adapters.mdx markdown route), RSS, and the OG image route.

Also: removes 13 now-unused dependencies (ai@5, @ai-sdk/react@2,
dexie, jotai, cmdk, vaul, mermaid, etc.), slims the local CSS to
overrides on top of @vercel/geistdocs/styles.css, and updates the
docs-llms integration test to assert on the new proxy shape.

Signed-off-by: molebox <rich@vercel.com>
2026-07-08 14:20:54 +02:00
..
2025-12-31 16:10:32 -08:00
2026-02-27 09:58:28 -08:00

Integration Tests

Integration tests for the Chat SDK that verify real-world webhook payloads are handled correctly.

Test Categories

  • Unit tests (slack.test.ts, teams.test.ts, gchat.test.ts) - Test adapter functionality with mock payloads
  • Replay tests (replay*.test.ts) - Replay actual production webhook recordings
  • Emulator tests (src/emulator/<adapter>/*.test.ts) - Drive the SDK against an in-process Emulate.dev server, one per supported adapter (@emulators/slack, @emulators/github). Assertions read the emulator's stateful store (messages, comments, reactions, installations) instead of mock call records. Each adapter is wired in via its apiUrl config. Inbound deliveries: the Slack flow re-signs event_callback payloads with x-slack-signature via a small in-test forwarder before handing them to chat.webhooks.slack(...), while the GitHub flow is a near-passthrough because the emulator's WebhookDispatcher already signs with X-Hub-Signature-256 exactly as the adapter expects. Helpers live in src/emulator/slack/utils.ts and src/emulator/github/utils.ts.

Replay Tests

Replay tests use recorded webhook payloads from production to verify the SDK handles real interactions correctly.

See fixtures/replay/README.md for:

  • How to record new fixtures
  • Fixture format documentation
  • SHA-based recording workflow
  • Platform-specific webhook formats

Running Tests

# Run all integration tests
pnpm --filter @chat-adapter/integration-tests test

# Run with watch mode
pnpm --filter @chat-adapter/integration-tests test:watch