mirror of
https://github.com/vercel/chat.git
synced 2026-09-14 18:32:29 +08:00
7ec797119e
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>
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 itsapiUrlconfig. Inbound deliveries: the Slack flow re-signsevent_callbackpayloads withx-slack-signaturevia a small in-test forwarder before handing them tochat.webhooks.slack(...), while the GitHub flow is a near-passthrough because the emulator'sWebhookDispatcheralready signs withX-Hub-Signature-256exactly as the adapter expects. Helpers live insrc/emulator/slack/utils.tsandsrc/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