Open
Conversation
Contributor
|
@sudodaksh is attempting to deploy a commit to the Vercel Labs Team on Vercel. A member of the Team first needs to authorize it. |
Resolve conflict in chat.ts by combining the PR's edit dedup suffix with main's atomic setIfNotExists approach. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The nextjs-chat integration is sufficient for demonstrating Signal adapter usage. No other adapter has a dedicated example directory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move Signal checks after existing adapters (GChat, Teams, Slack, Discord) to avoid any theoretical collisions with established adapter patterns. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The atomic deduplication change (cc65dc3) switched from set() to setIfNotExists(), but this test still asserted on the old API. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Break 2,217-line index.ts into focused modules: - identity.ts: identifier canonicalization, alias registration, cycle detection - cache.ts: message cache operations, pagination, timestamp parsing Also simplifies normalizePositiveInteger() and makes SignalPollingOptions internal (not exported). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- identity.test.ts: 17 tests covering canonicalization, cycle detection, alias registration, phone number preference - cache.test.ts: 22 tests covering store/retrieve, pagination, timestamp lookup, deletion Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 30 new tests covering: attachment handling (image/video/audio/file), attachment downloads, remote delete, bot mention via text pattern, DM vs group identification, openDM, channel info, thread info, group posting, empty message rejection, message truncation, text mode handling, single message fetch, env var validation, network errors, identity alias transitions, polling lifecycle, and renderFormatted. Total: 18 -> 87 tests across 3 files, coverage 66% -> 83%. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
@chat-adapter/signal— a new adapter for Signal bots powered by signal-cli-rest-api.Supports send/edit/delete, reactions, typing indicators, file attachments, DM and group threads, and three receive modes (webhook, WebSocket via json-rpc, REST polling). Identity canonicalization handles phone/UUID/source aliases. Message truncation at 4096 chars.
Chat SDK core changes
chat.openDM()now infers Signal adapter fromsignal:-prefixed IDs and E.164 phone numbersAlso included
examples/nextjs-chatexamples/signal-local/@chat-adapter/signal(minor) andchat(minor)Test plan
pnpm validatepasses (full monorepo lint + typecheck + tests + build)@chat-adapter/signal: 18 unit tests covering webhook parsing, edit dispatch, polling, sync messages, identity alias stability, group normalization, init failure modes, CRUD operations, and HTTP error mappingschat: 60 tests pass including new Signal DM inference and edit deduplication testsexamples/signal-local/scripts