diff --git a/docs/v2-checklist.md b/docs/v2-checklist.md index bdadabe..3317d44 100644 --- a/docs/v2-checklist.md +++ b/docs/v2-checklist.md @@ -43,7 +43,7 @@ Status: [x] done, [~] partial, [ ] not started - [x] Chat SDK SQLite state adapter (KV, subscriptions, locks, lists) - [x] Discord via Chat SDK - [~] Slack via Chat SDK (adapter + skill written, not tested) -- [~] Telegram via Chat SDK (adapter + skill written, not tested) +- [x] Telegram via Chat SDK (E2E verified: inbound, routing, typing, delivery) - [~] Microsoft Teams via Chat SDK (adapter + skill written, not tested) - [~] Google Chat via Chat SDK (adapter + skill written, not tested) - [~] Linear via Chat SDK (adapter + skill written, not tested) diff --git a/setup/register.ts b/setup/register.ts index a15e469..dacd8d2 100644 --- a/setup/register.ts +++ b/setup/register.ts @@ -118,6 +118,13 @@ export async function run(args: string[]): Promise { process.exit(4); } + // Chat SDK adapters prefix platform IDs with the channel type (e.g. "telegram:123", + // "discord:guild:channel"). Auto-prefix if the user provided a raw ID so the router + // matches the adapter's format. + if (parsed.platformId && !parsed.platformId.startsWith(`${parsed.channel}:`)) { + parsed.platformId = `${parsed.channel}:${parsed.platformId}`; + } + log.info('Registering channel', parsed); // Init v2 central DB