#3785·nanoclaw

channels branch: slack.ts references ChatSdkBridgeConfig.extractRawText which doesn't exist on main

Author: marcuslannisterCreated Sep 12, 2026Updated Sep 12, 2026

What's broken

The `channels` branch (currently at `6d5c1d0893bcd7d6f9eabeaac629d445ab23d154`) added a raw-text-extraction feature to the Slack adapter, but the corresponding core-file change never landed on `main`.

  • `src/channels/slack.ts` (on `channels`) imports `extractSlackRawText` from a new `./slack-raw-text.js` and passes an `extractRawText` option into `createChatSdkBridge(...)`.
  • `src/channels/chat-sdk-bridge.ts` (on `main`) has no `extractRawText` field on `ChatSdkBridgeConfig`.

Since `chat-sdk-bridge.ts` is a core file (owned by `main`, not copied by the `/add-slack` skill), applying `/add-slack` against current `main` fails to build:

src/channels/slack.ts(23,37): error TS2307: Cannot find module './slack-raw-text.js' or its corresponding type declarations.
src/channels/slack.ts(179,5): error TS2353: Object literal may only specify known properties, and 'extractRawText' does not exist in type 'ChatSdkBridgeConfig'.

How I found it

Registry-skills CI on a fork (which mirrors `channels`/`providers` into its own `origin` for the workflow's `git fetch origin channels providers` step) failed on `test (add-slack)` after pulling the current branch tips. Reproduced by diffing `chat-sdk-bridge.ts` between `main` and `channels` — no commit anywhere in the repo (checked `git log --all`) adds an `extractRawText` field.

Why it hasn't shown up in this repo's own CI

The `Registry skills` workflow only triggers on push/PR to `main` (see `.github/workflows/registry-skills.yml`). Since the `channels`-branch commit landed without a subsequent push/PR to `main`, the mismatch was never exercised here.

Suggested fix

Add the `extractRawText` field to `ChatSdkBridgeConfig` in `src/channels/chat-sdk-bridge.ts` on `main` (wiring it into the bridge's inbound-message handling), matching what `channels`'s `slack.ts` / `slack-raw-text.ts` already expect. Alternatively, revert the `extractRawText` usage from `channels` until the core support lands.