build(deps): bump @slack/socket-mode from 2.0.7 to 3.0.0 in /services/socket-mode #96

Merged
dependabot[bot] merged 1 commit from dependabot/npm_and_yarn/services/socket-mode/slack/socket-mode-3.0.0 into main 2026-07-23 15:50:26 +00:00
dependabot[bot] commented 2026-07-21 07:35:22 +00:00 (Migrated from github.com)

Bumps @slack/socket-mode from 2.0.7 to 3.0.0.

Release notes

Sourced from @​slack/socket-mode's releases.

@​slack/socket-mode@​3.0.0

Major Changes

  • fc98c8c: Drop Node.js 18 support. The minimum supported Node.js version is now 20.

  • fc98c8c: Redesigned error handling to use proper Error subclasses instead of plain objects with a code property.

    Migration: Replace if (error.code === ErrorCode.WebsocketError) with if (error instanceof SMWebsocketError).

    New error classes (all extend a common SlackSocketModeError abstract base class, which extends Error):

    • SMPlatformError — Slack platform returned an error event
    • SMWebsocketError — WebSocket connection failure (original error in cause)
    • SMNoReplyReceivedError — Timed out waiting for a reply to an acknowledgement
    • SMSendWhileDisconnectedError — Attempted to send while not connected
    • SMSendWhileNotReadyError — Attempted to send before the connection was ready

    Catch any socket-mode error with if (error instanceof SlackSocketModeError).

    Removed factory functions (use new with the corresponding class instead):

    • websocketErrorWithOriginal() → new SMWebsocketError(original)
    • platformErrorFromEvent() → new SMPlatformError(event)
    • noReplyReceivedError() → new SMNoReplyReceivedError()
    • sendWhileDisconnectedError() → new SMSendWhileDisconnectedError()
    • sendWhileNotReadyError() → new SMSendWhileNotReadyError()

    The CodedError interface is deprecated — use instanceof checks with specific error classes instead. The error.code property still exists for backward-compatible checks, but error.name values changed from generic 'Error' to descriptive class names (e.g., 'SMWebsocketError').

  • fc98c8c: Replaced the ws WebSocket library with a spec-compliant WebSocket implementation backed by undici. undici@^7 is now a peer dependency that must be installed alongside @slack/socket-mode:

    npm install @slack/socket-mode undici@^7
    

    Removed options:

    • clientOptions.agent (the httpAgent passed to the underlying web-api client). Use the new top-level dispatcher option instead. The dispatcher handles both the WebSocket connection and HTTP API calls (unless clientOptions.fetch is also provided, in which case dispatcher only applies to WebSocket).

    New dispatcher option:

    import { SocketModeClient } from "@slack/socket-mode";
    import { ProxyAgent } from "undici";
    

    const client = new SocketModeClient({
    appToken: process.env.SLACK_APP_TOKEN,
    dispatcher: new ProxyAgent("http://proxy:3128"),
    });

... (truncated)

Commits

Bumps [@slack/socket-mode](https://github.com/slackapi/node-slack-sdk) from 2.0.7 to 3.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/slackapi/node-slack-sdk/releases">@​slack/socket-mode's releases</a>.</em></p> <blockquote> <h2><code>@​slack/socket-mode</code><a href="https://github.com/3"><code>@​3</code></a>.0.0</h2> <h3>Major Changes</h3> <ul> <li> <p>fc98c8c: Drop Node.js 18 support. The minimum supported Node.js version is now 20.</p> </li> <li> <p>fc98c8c: Redesigned error handling to use proper <code>Error</code> subclasses instead of plain objects with a <code>code</code> property.</p> <p><strong>Migration:</strong> Replace <code>if (error.code === ErrorCode.WebsocketError)</code> with <code>if (error instanceof SMWebsocketError)</code>.</p> <p><strong>New error classes</strong> (all extend a common <code>SlackSocketModeError</code> abstract base class, which extends <code>Error</code>):</p> <ul> <li><code>SMPlatformError</code> — Slack platform returned an error event</li> <li><code>SMWebsocketError</code> — WebSocket connection failure (original error in <code>cause</code>)</li> <li><code>SMNoReplyReceivedError</code> — Timed out waiting for a reply to an acknowledgement</li> <li><code>SMSendWhileDisconnectedError</code> — Attempted to send while not connected</li> <li><code>SMSendWhileNotReadyError</code> — Attempted to send before the connection was ready</li> </ul> <p>Catch any socket-mode error with <code>if (error instanceof SlackSocketModeError)</code>.</p> <p><strong>Removed factory functions</strong> (use <code>new</code> with the corresponding class instead):</p> <ul> <li><code>websocketErrorWithOriginal()</code> → <code>new SMWebsocketError(original)</code></li> <li><code>platformErrorFromEvent()</code> → <code>new SMPlatformError(event)</code></li> <li><code>noReplyReceivedError()</code> → <code>new SMNoReplyReceivedError()</code></li> <li><code>sendWhileDisconnectedError()</code> → <code>new SMSendWhileDisconnectedError()</code></li> <li><code>sendWhileNotReadyError()</code> → <code>new SMSendWhileNotReadyError()</code></li> </ul> <p>The <code>CodedError</code> interface is deprecated — use <code>instanceof</code> checks with specific error classes instead. The <code>error.code</code> property still exists for backward-compatible checks, but <code>error.name</code> values changed from generic <code>'Error'</code> to descriptive class names (e.g., <code>'SMWebsocketError'</code>).</p> </li> <li> <p>fc98c8c: Replaced the <code>ws</code> WebSocket library with a spec-compliant WebSocket implementation backed by <code>undici</code>. <strong><code>undici@^7</code> is now a peer dependency</strong> that must be installed alongside <code>@slack/socket-mode</code>:</p> <pre lang="bash"><code>npm install @slack/socket-mode undici@^7 </code></pre> <p><strong>Removed options:</strong></p> <ul> <li><strong><code>clientOptions.agent</code></strong> (the <code>httpAgent</code> passed to the underlying web-api client). Use the new top-level <code>dispatcher</code> option instead. The dispatcher handles both the WebSocket connection and HTTP API calls (unless <code>clientOptions.fetch</code> is also provided, in which case <code>dispatcher</code> only applies to WebSocket).</li> </ul> <p><strong>New <code>dispatcher</code> option:</strong></p> <pre lang="js"><code>import { SocketModeClient } from &quot;@slack/socket-mode&quot;; import { ProxyAgent } from &quot;undici&quot;; <p>const client = new SocketModeClient({<br /> appToken: process.env.SLACK_APP_TOKEN,<br /> dispatcher: new ProxyAgent(&quot;http://proxy:3128&quot;),<br /> });<br /> </code></pre></p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/70e15b8442745d215f9ae259a2c970b306aff51a"><code>70e15b8</code></a> chore: release (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2653">#2653</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/fc98c8c05eaca521d949ffcf4c3fcf4573b008fc"><code>fc98c8c</code></a> feat: Node Slack SDK major version release candidate (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2603">#2603</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/c37b47ef0df14b291f79600e8c51c47ff72dfae2"><code>c37b47e</code></a> docs: updates webhook page to match readme (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2658">#2658</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/bb49d995ca44cacb1cd8973803e767210aaa6dc1"><code>bb49d99</code></a> fix(web-api): redact response body in debug logs (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2652">#2652</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/2b6a0cea8ef56dd36de137d48bc159668075fa18"><code>2b6a0ce</code></a> chore: release (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2650">#2650</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/a2f6e77a5f40e35e9479ee80ffb9d8cba1e32f93"><code>a2f6e77</code></a> feat(webhook): add opt-in retries to IncomingWebhook and WebhookTrigger (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2641">#2641</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/a5bd5c89a193e32fc3fc740691834d3f7e4378a7"><code>a5bd5c8</code></a> feat(webhook): add WebhookTrigger class for Workflow Builder triggers (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2615">#2615</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/b0e335b68e92c22a5195fe8ce6d05d3862690531"><code>b0e335b</code></a> chore: release (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2649">#2649</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/a795b86864cb3b37b49cc938cc73d33d0bd130a4"><code>a795b86</code></a> feat: expand app manifest types for agent apps (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2648">#2648</a>)</li> <li><a href="https://github.com/slackapi/node-slack-sdk/commit/12b94a2c21268403c3f216e88232a841cfb47571"><code>12b94a2</code></a> chore: release (<a href="https://redirect.github.com/slackapi/node-slack-sdk/issues/2642">#2642</a>)</li> <li>Additional commits viewable in <a href="https://github.com/slackapi/node-slack-sdk/compare/@slack/socket-mode@2.0.7...@slack/socket-mode@3.0.0">compare view</a></li> </ul> </details> <br />
seahaven-openswe[bot] (Migrated from github.com) reviewed 2026-07-21 07:39:57 +00:00
seahaven-openswe[bot] (Migrated from github.com) left a comment

✅ Open SWE Review: No issues found

Open SWE reviewed this PR and found no potential bugs to report.

Open in Web

## ✅ Open SWE Review: No issues found Open SWE reviewed this PR and found no potential bugs to report. [Open in Web](https://openswe.seahaven.com/agents/reviews/Sea-Haven-Industries/seahaven-slack-bot/96) <!-- open-swe-reviewer pr=96 -->
amoussa1229 commented 2026-07-23 15:34:04 +00:00 (Migrated from github.com)

@dependabot rebase

@dependabot rebase
amoussa1229 (Migrated from github.com) approved these changes 2026-07-23 15:48:39 +00:00
This repo is archived. You cannot comment on pull requests.
No description provided.