From b40ef2727c64708a00b5aab50a46dc79af28ab81 Mon Sep 17 00:00:00 2001 From: Ben Sabic Date: Thu, 2 Apr 2026 08:49:56 +1100 Subject: [PATCH] Add Liveblocks vendor official adapter --- apps/docs/adapters.json | 11 +++++++++++ .../app/[lang]/(home)/adapters/[slug]/page.tsx | 15 +++++++++++++++ skills/chat/SKILL.md | 1 + 3 files changed, 27 insertions(+) diff --git a/apps/docs/adapters.json b/apps/docs/adapters.json index 0791e67b..eabaad5e 100644 --- a/apps/docs/adapters.json +++ b/apps/docs/adapters.json @@ -193,6 +193,17 @@ "author": "rama-adi", "readme": "https://github.com/rama-adi/chat-adapter-baileys" }, + { + "name": "Liveblocks", + "slug": "liveblocks", + "type": "platform", + "community": true, + "description": "Liveblocks Comments adapter for building conversational bots on top of Liveblocks rooms, threads, and comments.", + "packageName": "@liveblocks/chat-sdk-adapter", + "author": "Liveblocks", + "readme": "https://github.com/liveblocks/liveblocks/tree/main/packages/liveblocks-chat-sdk-adapter", + "vendorOfficial": true + }, { "name": "Instagram", "slug": "instagram", diff --git a/apps/docs/app/[lang]/(home)/adapters/[slug]/page.tsx b/apps/docs/app/[lang]/(home)/adapters/[slug]/page.tsx index 0d9054c6..874d26da 100644 --- a/apps/docs/app/[lang]/(home)/adapters/[slug]/page.tsx +++ b/apps/docs/app/[lang]/(home)/adapters/[slug]/page.tsx @@ -7,6 +7,8 @@ import adapters from "@/adapters.json"; import { ReadmeContent } from "../components/readme-content"; const LOCAL_PACKAGE_PATTERN = /github\.com\/vercel\/chat\/tree\/[^/]+\/(.+)/; +const GITHUB_SUBPATH_PATTERN = + /github\.com\/([^/]+)\/([^/]+)\/tree\/([^/]+)\/(.+)/; const GITHUB_REPO_PATTERN = /github\.com\/([^/]+)\/([^/]+)/; const getAdapter = (slug: string) => adapters.find((a) => a.slug === slug); @@ -23,6 +25,19 @@ const getReadme = async (repoUrl: string): Promise => { } } + const subpathMatch = repoUrl.match(GITHUB_SUBPATH_PATTERN); + if (subpathMatch) { + const [, owner, repo, ref, path] = subpathMatch; + const url = `https://api.github.com/repos/${owner}/${repo}/readme/${path}?ref=${ref}`; + const response = await fetch(url, { + headers: { Accept: "application/vnd.github.raw+json" }, + next: { revalidate: 3600 }, + }); + if (response.ok) { + return response.text(); + } + } + const repoMatch = repoUrl.match(GITHUB_REPO_PATTERN); if (repoMatch) { const [, owner, repo] = repoMatch; diff --git a/skills/chat/SKILL.md b/skills/chat/SKILL.md index dde8e44b..c95c8ab9 100644 --- a/skills/chat/SKILL.md +++ b/skills/chat/SKILL.md @@ -183,6 +183,7 @@ await thread.post( - `@resend/chat-sdk-adapter` - `@zernio/chat-sdk-adapter` - `chat-adapter-baileys` +- `@liveblocks/chat-sdk-adapter` ### Coming-soon platform entries