Skip to content

feat(sdk): WebhooksAPI.registerTenantWebhook — E9.3 SDK cell - #93

Merged
yakimoto merged 2 commits into
mainfrom
feat/webhooks-register
Aug 24, 2026
Merged

feat(sdk): WebhooksAPI.registerTenantWebhook — E9.3 SDK cell#93
yakimoto merged 2 commits into
mainfrom
feat/webhooks-register

Conversation

@yakimoto

@yakimoto yakimoto commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

User description

feat(sdk): WebhooksAPI.registerTenantWebhook — E9.3 SDK cell

WHAT

wave.webhooks.registerTenantWebhook({ inbox, url, secret }) POSTs the mail-edge's POST /v1/comms/webhooks (internal-secret-gated tenant-webhook registration; the E9.3 fan-out API). Types carry the contract: inbox email, https URL, 32+ char HMAC secret; the result is { ok, inbox }. The endpoint lives on the mail-edge origin, so construct the client with baseUrl pointed at it — the doc comment says so, and the default gateway client would 404 on this path (named, not silent).

WHY

The four-renderings law: E9.3 shipped its API cell (wave-mail-edge, deployed + live-probed) and its CLI cell (wave-cli PR #64, in CI). This closes the SDK cell. The console cell is deliberately skipped — webhook registration is a control-plane action; the SDK + CLI are the right surfaces (recorded in the epic).

HOW

  • src/webhooks.ts — WebhooksAPI + factory + types.
  • src/index.ts — property wiring (wave.webhooks) + exports.
  • src/tests/webhooks.test.ts — 2 tests (factory/direct construction, POST shape).

VERIFICATION

  • 2/2 new tests green, tsc clean.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Note

Low Risk
Additive thin HTTP wrapper and exports with unit tests; no changes to existing client or auth logic in the SDK.

Overview
Adds the E9.3 SDK cell for tenant webhook registration: wave.webhooks.registerTenantWebhook({ inbox, url, secret }) POSTs /v1/comms/webhooks via a new WebhooksAPI module, with typed request/result exports and createWebhooksAPI factory.

The Wave client now exposes webhooks alongside comms, wired in the constructor like other API cells. Docs on the module call out that this route is on the mail-edge origin (not the default gateway), so callers must point baseUrl at mail-edge and use the internal secret as the client API key.

Tests cover construction (class + factory) and that registration sends the expected path and JSON body.

Reviewed by Cursor Bugbot for commit b020836. Bugbot is set up for automated code reviews on this repo. Configure here.

Summary by Sourcery

Add tenant webhook registration to the SDK as a mail-edge-backed Webhooks API.

New Features:

  • Add an SDK API for registering tenant webhooks through the mail-edge endpoint.
  • Expose webhook registration through the Wave client and package exports.

Tests:

  • Add coverage for WebhooksAPI construction and tenant webhook registration requests.

Review in cubic


PR Type

Enhancement


Description

  • Adds WebhooksAPI for tenant webhook registration

  • Implements registerTenantWebhook method with type safety

  • Adds test suite for API construction and endpoint interaction

  • Exposes webhooks API surface via Wave class


Diagram Walkthrough

flowchart LR
  A["src/webhooks.ts"] --> B["WebhooksAPI class"]
  A --> C["registerTenantWebhook method"]
  A --> D["Type definitions"]
  E["src/__tests__/webhooks.test.ts"] --> F["API construction tests"]
  E --> G["Endpoint interaction tests"]
  H["src/index.ts"] --> I["WebhooksAPI export"]
  H --> J["Wave class integration"]
Loading

File Walkthrough

Relevant files
Tests
webhooks.test.ts
WebhooksAPI test implementation                                                   

src/tests/webhooks.test.ts

  • Adds test suite for WebhooksAPI construction
  • Verifies direct and factory-based API instantiation
  • Tests registerTenantWebhook endpoint interaction
  • Validates request payload structure and endpoint path
+28/-0   
Enhancement
index.ts
WebhooksAPI export integration                                                     

src/index.ts

  • Exports WebhooksAPI and related types
  • Adds webhooks property to Wave class
  • Integrates WebhooksAPI into SDK surface
  • Updates barrel file exports
+7/-0     
webhooks.ts
WebhooksAPI implementation                                                             

src/webhooks.ts

  • Implements WebhooksAPI class with registerTenantWebhook method
  • Defines request/response type interfaces
  • Adds factory function for API instantiation
  • Documents endpoint requirements and usage
+46/-0   

@codeant-ai

codeant-ai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @yakimoto, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 6 days and 1 hour by commenting @sourcery-ai review. Upgrade to get a review now.

@cursor

cursor Bot commented Aug 24, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_87ae2a98-0fc6-4e1f-aa9d-a37b5df64dc8)

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 14 minutes.

View limit details

Limit details: You’ve used the included review currently available. Your 90 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 6afdaa19-8e66-4685-a67f-25c26b4605fc

📥 Commits

Reviewing files that changed from the base of the PR and between a8a64f2 and b020836.

📒 Files selected for processing (3)
  • src/__tests__/webhooks.test.ts
  • src/index.ts
  • src/webhooks.ts

Comment @coderabbitai help to get the list of available commands.

@sourcery-ai

sourcery-ai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Reviewer's Guide

This PR completes the E9.3 SDK cell by adding a typed, client-backed tenant webhook registration API, exposing it as wave.webhooks, and covering its construction and POST contract with tests.

Sequence diagram for tenant webhook registration

sequenceDiagram
    participant App
    participant WebhooksAPI
    participant WaveClient
    participant MailEdge

    App->>WebhooksAPI: registerTenantWebhook(request)
    WebhooksAPI->>WaveClient: post("/v1/comms/webhooks", request)
    WaveClient->>MailEdge: POST /v1/comms/webhooks
    MailEdge-->>WaveClient: TenantWebhookRegisterResult
    WaveClient-->>WebhooksAPI: TenantWebhookRegisterResult
    WebhooksAPI-->>App: { ok, inbox }
Loading

File-Level Changes

Change Details Files
Adds a typed Webhooks API for registering tenant webhook endpoints against the mail-edge control-plane route.
  • Defines request and result contracts for inbox, HTTPS URL, and HMAC secret registration.
  • Implements a client-backed POST to /v1/comms/webhooks and documents mail-edge base URL and internal-secret requirements.
  • Adds direct-construction and factory coverage for request shape and response handling.
src/webhooks.ts
src/__tests__/webhooks.test.ts
Integrates the Webhooks API into the public SDK surface and Wave client.
  • Exports the API, factory, and registration types.
  • Adds wave.webhooks initialization using the configured shared client.
src/index.ts

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Comment thread src/index.ts Fixed
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add WebhooksAPI.registerTenantWebhook for mail-edge tenant webhook registration

✨ Enhancement 🧪 Tests 🕐 20-40 Minutes

Grey Divider

AI Description

• Add WebhooksAPI.registerTenantWebhook to POST /v1/comms/webhooks on the mail-edge origin.
• Export and wire WebhooksAPI onto the Wave client surface as wave.webhooks.
• Add Vitest coverage for construction and POST request shape.
Diagram

graph TD
A["SDK Consumer"] --> B["Wave (index.ts)"] --> C["WebhooksAPI (webhooks.ts)"] --> D["WaveClient.post"] --> E["Mail-edge: /v1/comms/webhooks"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Keep WebhooksAPI but do not mount on Wave root
  • ➕ Avoids implying webhooks share the same baseUrl/origin as the rest of the Wave APIs
  • ➕ Encourages explicitly constructing a dedicated mail-edge client via createWebhooksAPI
  • ➖ Slightly less discoverable API surface (no wave.webhooks)
  • ➖ Breaks the pattern used by other SDK sub-APIs
2. Support per-sub-API client/baseUrl overrides (separate mail-edge client)
  • ➕ Allows Wave to keep gateway baseUrl while webhooks targets mail-edge correctly
  • ➕ Reduces risk of accidental 404s due to origin mismatch
  • ➖ Adds config surface area and complexity to Wave construction
  • ➖ Requires careful typing/docs to avoid confusing multi-origin behavior
3. Add runtime validation for inbox/url/secret constraints
  • ➕ Enforces the documented contract (https URL, secret length, etc.) at runtime
  • ➕ Improves error messages before making network calls
  • ➖ Adds dependency/validation code and decisions around error shapes
  • ➖ May be considered out-of-scope if the SDK avoids runtime validation elsewhere

Recommendation: The PR’s thin-wrapper approach (typed request/response + simple POST) is appropriate. The main strategic consideration is the origin mismatch (mail-edge vs gateway): either keep wave.webhooks but clearly document/configure baseUrl expectations, or consider a dedicated mail-edge client hook to prevent accidental 404s. Runtime validation can be a follow-up if the SDK’s conventions support it.

Files changed (3) +81 / -0

Enhancement (2) +53 / -0
index.tsExport and mount WebhooksAPI on Wave as wave.webhooks +7/-0

Export and mount WebhooksAPI on Wave as wave.webhooks

• Exports WebhooksAPI and its request/response types from the SDK entrypoint. Adds Wave.webhooks and instantiates WebhooksAPI alongside other sub-APIs so consumers can call wave.webhooks.registerTenantWebhook().

src/index.ts

webhooks.tsIntroduce WebhooksAPI.registerTenantWebhook and typed contract +46/-0

Introduce WebhooksAPI.registerTenantWebhook and typed contract

• Adds a new WebhooksAPI module with TenantWebhookRegisterRequest/Result types. Implements registerTenantWebhook() to POST to the mail-edge endpoint /v1/comms/webhooks and provides a createWebhooksAPI factory function.

src/webhooks.ts

Tests (1) +28 / -0
webhooks.test.tsAdd WebhooksAPI tests for construction and POST contract +28/-0

Add WebhooksAPI tests for construction and POST contract

• Introduces Vitest coverage verifying WebhooksAPI can be constructed directly and via createWebhooksAPI. Adds a behavior test asserting registerTenantWebhook POSTs to /v1/comms/webhooks with the expected body and returns the ok response.

src/tests/webhooks.test.ts

@bito-code-review

Copy link
Copy Markdown

The import createWebhooksAPI in src/index.ts is actually used. It is exported on line 43 and imported on line 52, and it is intended to be part of the public API surface for the Wave class, as seen in the constructor initialization on line 70 of src/webhooks.ts (via the Wave class instantiation). Therefore, this import is necessary for the SDK's functionality.

src/index.ts

import { WebhooksAPI, createWebhooksAPI } from "./webhooks";

@gitar-bot

gitar-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown

Note

Automatic reviews are paused because your team has used its included automatic processing for this billing period (headroom scales with your seat count). You can still comment "Gitar review" to run one anytime, and automatic reviews resume on their own by September 1. Add seats for more headroom.
Learn more

Code Review ✅ Approved

Adds tenant webhook registration to the SDK with dedicated types and client wiring for the mail-edge communications endpoint. No issues found.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@github-actions

Copy link
Copy Markdown

Failed to generate code suggestions for PR

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk: medium. Left a non-blocking comment because Cursor Bugbot skipped (usage limit), so that required automated-review signal is incomplete. Human review is needed; no reviewers were assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@macroscopeapp

macroscopeapp Bot commented Aug 24, 2026

Copy link
Copy Markdown

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR adds a new internal-secret-gated webhook-registration capability and exposes it through the shared Wave client, but the mail-edge-only endpoint conflicts with the client’s single-base-URL model when gateway APIs are also used. The required Unreleased changelog entry is also missing.

Not approved because:

  • Credit balance exhausted. Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (1) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. CHANGELOG missing webhooks entry 📘 Rule violation § Compliance
Description
This PR adds a new user-facing API surface (WebhooksAPI / wave.webhooks) but does not add an
entry under CHANGELOG.md [Unreleased]. Users will not be able to discover this new SDK feature
from release notes.
Code

src/index.ts[R346-347]

+export { WebhooksAPI, createWebhooksAPI } from "./webhooks";
+export type { TenantWebhookRegisterRequest, TenantWebhookRegisterResult } from "./webhooks";
Relevance

●●● Strong

User-facing API additions are treated as release-documentation obligations; the missing Unreleased
entry is a clear compliance omission.

PR-#16

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The checklist requires that user-facing changes be documented in CHANGELOG.md under
[Unreleased]. The PR exports a new WebhooksAPI and related types, but CHANGELOG.md contains
only the [Unreleased] header with no entry describing this addition.

Rule 2497929: Document user-facing changes in CHANGELOG.md Unreleased section
src/index.ts[344-347]
src/webhooks.ts[28-46]
CHANGELOG.md[1-7]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
A user-facing SDK change was introduced (new `WebhooksAPI` exports / `wave.webhooks`) without documenting it in `CHANGELOG.md` under the `[Unreleased]` section.

## Issue Context
Compliance requires documenting user-facing changes in the `CHANGELOG.md` Unreleased section.

## Fix Focus Areas
- CHANGELOG.md[7-7]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Single baseUrl blocks webhooks 🐞 Bug ≡ Correctness
Description
Wave wires WebhooksAPI to the same WaveClient instance as other APIs, but WebhooksAPI is documented
to live on the mail-edge origin (not the gateway). Because WaveClient only supports one baseUrl, a
Wave configured for the gateway baseUrl cannot successfully call registerTenantWebhook without
breaking other gateway-backed APIs on the same instance.
Code

src/index.ts[605]

+    this.webhooks = new WebhooksAPI(this.client);
Relevance

●● Moderate

The origin mismatch is plausible and user-impacting, but history lacks a close precedent for this
multi-origin client design.

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The Wave constructor instantiates a single WaveClient and passes it into WebhooksAPI. WebhooksAPI’s
own module-level note says the endpoint lives on the mail-edge origin, while WaveClient only has one
baseUrl (defaulting to https://api.wave.online), and CommsAPI is explicitly described as
gateway-enforced—showing the origin mismatch for a single client instance.

src/index.ts[546-606]
src/webhooks.ts[1-10]
src/client.ts[156-172]
src/comms.ts[4-7]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`Wave` attaches `webhooks` using the same `WaveClient` instance used for all other APIs. However, `WebhooksAPI` explicitly documents that `/v1/comms/webhooks` is on the mail-edge origin (not the gateway), while other comms endpoints are described as gateway-enforced. Since `WaveClient` has a single `baseUrl`, a single `Wave` instance cannot reliably use both gateway-backed APIs (e.g. `comms`) and mail-edge-only webhooks.

### Issue Context
- `WaveClient` has exactly one `baseUrl`.
- `Wave` constructs exactly one `WaveClient` and passes it to all API surfaces.
- `WebhooksAPI` documents that it must be called against mail-edge, not gateway.

### Fix Focus Areas
Choose one:
1) **Separate client/config for webhooks**: extend `Wave` configuration to accept a dedicated `webhooksBaseUrl` (and likely a dedicated `webhooksApiKey`, since this endpoint is internal-secret gated) and construct `this.webhooks` with a second `WaveClient`.
2) **Do not attach webhooks to `Wave`**: remove `wave.webhooks` wiring and require consumers to use `new WebhooksAPI(createClient({ baseUrl: mailEdgeUrl, apiKey: internalSecret }))` so gateway usage isn’t accidentally broken.
3) **If gateway actually proxies it**: update the `WebhooksAPI` docs to remove the “not the gateway” claim.

- src/index.ts[546-606]
- src/webhooks.ts[1-10]
- src/client.ts[156-172]
- src/comms.ts[4-7]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

3. Missing default origin in docs 🐞 Bug ⚙ Maintainability
Description
The WebhooksAPI header comment claims there is a “default prod origin below”, but no default origin
is defined in the module. This is misleading and can cause consumers to misconfigure baseUrl and hit
404s without clear guidance.
Code

src/webhooks.ts[R8-10]

+ * NOTE: the endpoint lives on the MAIL-EDGE origin, not the gateway — construct the client with
+ * `baseUrl` pointed at it (default prod origin below).
+ */
Relevance

●●● Strong

The comment promises a default origin that does not exist; correcting this misleading documentation
is deterministic.

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The comment promises a default origin but the module only defines types, the WebhooksAPI class, and
a factory—no baseUrl constant is present.

src/webhooks.ts[1-10]
src/webhooks.ts[12-46]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The module-level comment says “default prod origin below” but the file does not define any default mail-edge origin constant/value.

### Issue Context
This comment is likely intended to help users configure `baseUrl` correctly for mail-edge.

### Fix Focus Areas
- Either add an explicit exported constant (e.g. `DEFAULT_MAIL_EDGE_BASE_URL = "..."`) and reference it in docs, or remove the “default … below” phrasing and document the expected host clearly.

- src/webhooks.ts[1-10]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 14 rules
✅ Skills: wave-custody
✅ REVIEW.md
Review mode: ⚖️ Balanced
ⓘ  2 issues published inline · 3 in summary

Grey Divider

Tip of the day
💡 Did you know, you can switch off images and animations for a plain-text comment

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread src/index.ts
Comment on lines +346 to +347
export { WebhooksAPI, createWebhooksAPI } from "./webhooks";
export type { TenantWebhookRegisterRequest, TenantWebhookRegisterResult } from "./webhooks";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

1. Changelog missing webhooks entry 📘 Rule violation § Compliance

This PR adds a new user-facing API surface (WebhooksAPI / wave.webhooks) but does not add an
entry under CHANGELOG.md [Unreleased]. Users will not be able to discover this new SDK feature
from release notes.
Agent Prompt
## Issue description
A user-facing SDK change was introduced (new `WebhooksAPI` exports / `wave.webhooks`) without documenting it in `CHANGELOG.md` under the `[Unreleased]` section.

## Issue Context
Compliance requires documenting user-facing changes in the `CHANGELOG.md` Unreleased section.

## Fix Focus Areas
- CHANGELOG.md[7-7]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread src/index.ts
// Mail (E5)
this.mail = new MailAPI(this.client);
this.comms = new CommsAPI(this.client);
this.webhooks = new WebhooksAPI(this.client);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

2. Single baseurl blocks webhooks 🐞 Bug ≡ Correctness

Wave wires WebhooksAPI to the same WaveClient instance as other APIs, but WebhooksAPI is documented
to live on the mail-edge origin (not the gateway). Because WaveClient only supports one baseUrl, a
Wave configured for the gateway baseUrl cannot successfully call registerTenantWebhook without
breaking other gateway-backed APIs on the same instance.
Agent Prompt
### Issue description
`Wave` attaches `webhooks` using the same `WaveClient` instance used for all other APIs. However, `WebhooksAPI` explicitly documents that `/v1/comms/webhooks` is on the mail-edge origin (not the gateway), while other comms endpoints are described as gateway-enforced. Since `WaveClient` has a single `baseUrl`, a single `Wave` instance cannot reliably use both gateway-backed APIs (e.g. `comms`) and mail-edge-only webhooks.

### Issue Context
- `WaveClient` has exactly one `baseUrl`.
- `Wave` constructs exactly one `WaveClient` and passes it to all API surfaces.
- `WebhooksAPI` documents that it must be called against mail-edge, not gateway.

### Fix Focus Areas
Choose one:
1) **Separate client/config for webhooks**: extend `Wave` configuration to accept a dedicated `webhooksBaseUrl` (and likely a dedicated `webhooksApiKey`, since this endpoint is internal-secret gated) and construct `this.webhooks` with a second `WaveClient`.
2) **Do not attach webhooks to `Wave`**: remove `wave.webhooks` wiring and require consumers to use `new WebhooksAPI(createClient({ baseUrl: mailEdgeUrl, apiKey: internalSecret }))` so gateway usage isn’t accidentally broken.
3) **If gateway actually proxies it**: update the `WebhooksAPI` docs to remove the “not the gateway” claim.

- src/index.ts[546-606]
- src/webhooks.ts[1-10]
- src/client.ts[156-172]
- src/comms.ts[4-7]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@codeant-ai

codeant-ai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@cursor

cursor Bot commented Aug 24, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_890b3d1a-3ad7-4615-81a2-03010b3f5c88)

@qodo-code-review

Copy link
Copy Markdown

Qodo Fixer

🍒 Ready to be cherry-picked — ✅ Merged (0) · ☑ Fixed (2)

Grey Divider

🔗 Fix PR: #94

This fix PR was closed automatically. Its branch is preserved so you can cherry pick the changes into the original PR.

Prompt for coding agent

This is an automated fix prepared on a separate branch (#94). It is NOT applied to this PR.
To use it: review Fix PR #94 (https://github.com/wave-av/sdk/pull/94), evaluate each change critically against your local context, and cherry-pick the changes that are correct into this branch. Do not accept them blindly.
Process — 2 fixed
  • ☑ Fixed: CHANGELOG missing webhooks entry
  • ☑ Fixed: Single baseUrl blocks webhooks

@yakimoto
yakimoto merged commit 6c3e9b4 into main Aug 24, 2026
20 checks passed
@yakimoto
yakimoto deleted the feat/webhooks-register branch August 24, 2026 22:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant