refactor: rename request methods to remove send prefix (#161)

* refactor: rename request methods to remove send prefix

Following the MCP TS SDK convention where request methods don't have
the "send" prefix (reserved for notifications):

- App.sendMessage() → App.message()
- App.sendOpenLink() → App.openLink()
- AppBridge.sendResourceTeardown() → AppBridge.resourceTeardown()

The old method names are kept as deprecated aliases for backwards
compatibility.

Updated all examples to use the new method names.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* test: add tests for deprecated method aliases

- Update existing tests to use new method names (message, openLink)
- Add tests verifying deprecated aliases are same reference as new methods
- Add tests verifying deprecated aliases still work functionally

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: rename message→sendMessage, resourceTeardown→teardownResource

- App.message() → App.sendMessage() (with deprecated message alias)
- AppBridge.resourceTeardown() → AppBridge.teardownResource() (with deprecated aliases)

This better follows the pattern where methods that send data have 'send' or action verb prefix.

* fix: update examples to use sendMessage instead of message

* fix: update basic-host to use teardownResource

* fix: update threejs-server to use sendMessage

* refactor: remove deprecated app.message alias

The app.message alias was removed since sendMessage is the correct name.
sendResourceTeardown already exists in AppBridge.

* refactor: remove resourceTeardown alias, keep only sendResourceTeardown

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Olivier Chafik 2025-12-16 22:07:06 +00:00 • committed by GitHub
commit 2dd223b611
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -176,7 +176,7 @@ type RequestHandlerExtra = Parameters<
* 2. **Connect**: Call `connect()` with transport to establish communication
* 3. **Wait for init**: Guest UI sends initialize request, bridge responds
* 4. **Send data**: Call `sendToolInput()`, `sendToolResult()`, etc.
* 5. **Teardown**: Call `sendResourceTeardown()` before unmounting iframe
* 5. **Teardown**: Call `teardownResource()` before unmounting iframe
*
* @example Basic usage
* ```typescript
@ -1219,7 +1219,7 @@ export class AppBridge extends Protocol<
* @example
* ```typescript
* try {
* await bridge.sendResourceTeardown({});
* await bridge.teardownResource({});
* // Guest UI is ready, safe to unmount iframe
* iframe.remove();
* } catch (error) {
@ -1227,7 +1227,7 @@ export class AppBridge extends Protocol<
* }
* ```
*/
sendResourceTeardown(
teardownResource(
params: McpUiResourceTeardownRequest["params"],
options?: RequestOptions,
) {
@ -1241,6 +1241,9 @@ export class AppBridge extends Protocol<
);
}
/** @deprecated Use {@link teardownResource} instead */
sendResourceTeardown: AppBridge["teardownResource"] = this.teardownResource;
/**
* Connect to the Guest UI via transport and optionally set up message forwarding.
*