@mcp-b/transports 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -94
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +47 -49
- package/dist/.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
|
|
15
15
|
## Why Use @mcp-b/transports?
|
|
16
16
|
|
|
17
|
-
| Feature
|
|
18
|
-
|
|
17
|
+
| Feature | Benefit |
|
|
18
|
+
| ---------------------------- | ---------------------------------------------------------------------------- |
|
|
19
19
|
| **Multiple Transport Types** | Choose the right transport for your architecture - Tab, Iframe, or Extension |
|
|
20
|
-
| **Secure by Default**
|
|
21
|
-
| **AI-Agent Ready**
|
|
22
|
-
| **TypeScript First**
|
|
23
|
-
| **Zero Dependencies**
|
|
24
|
-
| **Works Everywhere**
|
|
20
|
+
| **Secure by Default** | Origin validation, CORS configuration, and Chrome's secure messaging APIs |
|
|
21
|
+
| **AI-Agent Ready** | Built specifically for MCP, the standard protocol for AI tool integration |
|
|
22
|
+
| **TypeScript First** | Full type safety with comprehensive type definitions |
|
|
23
|
+
| **Zero Dependencies** | Only requires `zod` for schema validation |
|
|
24
|
+
| **Works Everywhere** | Chrome, Firefox, Edge, and any Chromium-based browser |
|
|
25
25
|
|
|
26
26
|
## Use Cases
|
|
27
27
|
|
|
@@ -58,35 +58,34 @@ Use `ExtensionExternalClientTransport` and `ExtensionExternalServerTransport` fo
|
|
|
58
58
|
Create an MCP server in your web page and expose it via `TabServerTransport`:
|
|
59
59
|
|
|
60
60
|
```typescript
|
|
61
|
-
import { TabServerTransport } from
|
|
62
|
-
import { McpServer } from
|
|
63
|
-
import { z } from
|
|
61
|
+
import { TabServerTransport } from '@mcp-b/transports';
|
|
62
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
63
|
+
import { z } from 'zod';
|
|
64
64
|
|
|
65
65
|
// Create MCP server with tools
|
|
66
66
|
const server = new McpServer(
|
|
67
67
|
{
|
|
68
|
-
name:
|
|
69
|
-
version:
|
|
68
|
+
name: 'TODO-APP',
|
|
69
|
+
version: '1.0.0',
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
|
-
instructions:
|
|
73
|
-
"You are a helpful assistant that can create, update, and delete todos.",
|
|
72
|
+
instructions: 'You are a helpful assistant that can create, update, and delete todos.',
|
|
74
73
|
}
|
|
75
74
|
);
|
|
76
75
|
|
|
77
76
|
// Register a tool
|
|
78
77
|
server.tool(
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
'createTodo',
|
|
79
|
+
'Creates a new todo item for the current user',
|
|
81
80
|
{
|
|
82
|
-
todoText: z.string().describe(
|
|
81
|
+
todoText: z.string().describe('The content of the todo item.'),
|
|
83
82
|
},
|
|
84
83
|
async (args) => {
|
|
85
84
|
// Implementation here
|
|
86
85
|
return {
|
|
87
86
|
content: [
|
|
88
87
|
{
|
|
89
|
-
type:
|
|
88
|
+
type: 'text',
|
|
90
89
|
text: `Todo created: "${args.todoText}"`,
|
|
91
90
|
},
|
|
92
91
|
],
|
|
@@ -96,7 +95,7 @@ server.tool(
|
|
|
96
95
|
|
|
97
96
|
// Connect to transport with CORS configuration
|
|
98
97
|
const transport = new TabServerTransport({
|
|
99
|
-
allowedOrigins: [
|
|
98
|
+
allowedOrigins: ['*'], // Configure based on your security needs
|
|
100
99
|
});
|
|
101
100
|
await server.connect(transport);
|
|
102
101
|
```
|
|
@@ -106,8 +105,8 @@ await server.connect(transport);
|
|
|
106
105
|
Connect to the server from within the same page or from an extension content script:
|
|
107
106
|
|
|
108
107
|
```typescript
|
|
109
|
-
import { TabClientTransport } from
|
|
110
|
-
import { Client } from
|
|
108
|
+
import { TabClientTransport } from '@mcp-b/transports';
|
|
109
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
111
110
|
|
|
112
111
|
// Create transport with target origin
|
|
113
112
|
const transport = new TabClientTransport({
|
|
@@ -122,16 +121,16 @@ if (availableServers.length > 0) {
|
|
|
122
121
|
|
|
123
122
|
// Create and connect client
|
|
124
123
|
const client = new Client({
|
|
125
|
-
name:
|
|
126
|
-
version:
|
|
124
|
+
name: 'ExtensionProxyClient',
|
|
125
|
+
version: '1.0.0',
|
|
127
126
|
});
|
|
128
127
|
|
|
129
128
|
await client.connect(transport);
|
|
130
129
|
|
|
131
130
|
// Use the client
|
|
132
131
|
const result = await client.callTool({
|
|
133
|
-
name:
|
|
134
|
-
arguments: { todoText:
|
|
132
|
+
name: 'createTodo',
|
|
133
|
+
arguments: { todoText: 'Buy groceries' },
|
|
135
134
|
});
|
|
136
135
|
```
|
|
137
136
|
|
|
@@ -156,15 +155,15 @@ Use `IframeParentTransport` and `IframeChildTransport` for cross-origin communic
|
|
|
156
155
|
Create an MCP server inside an iframe that can be accessed by the parent page:
|
|
157
156
|
|
|
158
157
|
```typescript
|
|
159
|
-
import { IframeChildTransport } from
|
|
160
|
-
import { Server } from
|
|
161
|
-
import { z } from
|
|
158
|
+
import { IframeChildTransport } from '@mcp-b/transports';
|
|
159
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
160
|
+
import { z } from 'zod';
|
|
162
161
|
|
|
163
162
|
// Create MCP server
|
|
164
163
|
const server = new Server(
|
|
165
164
|
{
|
|
166
|
-
name:
|
|
167
|
-
version:
|
|
165
|
+
name: 'IframeApp',
|
|
166
|
+
version: '1.0.0',
|
|
168
167
|
},
|
|
169
168
|
{
|
|
170
169
|
capabilities: {
|
|
@@ -175,16 +174,16 @@ const server = new Server(
|
|
|
175
174
|
|
|
176
175
|
// Register tools
|
|
177
176
|
server.tool(
|
|
178
|
-
|
|
179
|
-
|
|
177
|
+
'getIframeData',
|
|
178
|
+
'Get data from the iframe application',
|
|
180
179
|
{
|
|
181
|
-
key: z.string().describe(
|
|
180
|
+
key: z.string().describe('Data key to retrieve'),
|
|
182
181
|
},
|
|
183
182
|
async (args) => {
|
|
184
183
|
return {
|
|
185
184
|
content: [
|
|
186
185
|
{
|
|
187
|
-
type:
|
|
186
|
+
type: 'text',
|
|
188
187
|
text: `Retrieved: ${args.key}`,
|
|
189
188
|
},
|
|
190
189
|
],
|
|
@@ -194,7 +193,7 @@ server.tool(
|
|
|
194
193
|
|
|
195
194
|
// Connect to iframe transport
|
|
196
195
|
const transport = new IframeChildTransport({
|
|
197
|
-
allowedOrigins: [
|
|
196
|
+
allowedOrigins: ['https://parent-app.com'], // Parent page origin
|
|
198
197
|
// or use ['*'] to allow any origin (less secure)
|
|
199
198
|
});
|
|
200
199
|
|
|
@@ -206,8 +205,8 @@ await server.connect(transport);
|
|
|
206
205
|
Connect from the parent page to the iframe's MCP server:
|
|
207
206
|
|
|
208
207
|
```typescript
|
|
209
|
-
import { IframeParentTransport } from
|
|
210
|
-
import { Client } from
|
|
208
|
+
import { IframeParentTransport } from '@mcp-b/transports';
|
|
209
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
211
210
|
|
|
212
211
|
// Get reference to iframe element
|
|
213
212
|
const iframe = document.querySelector('iframe');
|
|
@@ -222,8 +221,8 @@ iframe.addEventListener('load', async () => {
|
|
|
222
221
|
|
|
223
222
|
// Create MCP client
|
|
224
223
|
const client = new Client({
|
|
225
|
-
name:
|
|
226
|
-
version:
|
|
224
|
+
name: 'ParentPage',
|
|
225
|
+
version: '1.0.0',
|
|
227
226
|
});
|
|
228
227
|
|
|
229
228
|
// Connect and use
|
|
@@ -231,12 +230,12 @@ iframe.addEventListener('load', async () => {
|
|
|
231
230
|
|
|
232
231
|
// List available tools from iframe
|
|
233
232
|
const tools = await client.listTools();
|
|
234
|
-
console.log(
|
|
233
|
+
console.log('Tools from iframe:', tools.tools);
|
|
235
234
|
|
|
236
235
|
// Call a tool from the iframe
|
|
237
236
|
const result = await client.callTool({
|
|
238
|
-
name:
|
|
239
|
-
arguments: { key:
|
|
237
|
+
name: 'getIframeData',
|
|
238
|
+
arguments: { key: 'user-preferences' },
|
|
240
239
|
});
|
|
241
240
|
});
|
|
242
241
|
```
|
|
@@ -259,6 +258,7 @@ iframe.addEventListener('load', async () => {
|
|
|
259
258
|
### Cross-Origin Support
|
|
260
259
|
|
|
261
260
|
Iframe transports are designed for cross-origin communication:
|
|
261
|
+
|
|
262
262
|
- Parent and iframe can be on different domains
|
|
263
263
|
- Origin validation is performed on both sides
|
|
264
264
|
- Uses secure `postMessage` API
|
|
@@ -271,16 +271,16 @@ Iframe transports are designed for cross-origin communication:
|
|
|
271
271
|
The extension background script acts as a hub, aggregating tools from multiple tabs:
|
|
272
272
|
|
|
273
273
|
```typescript
|
|
274
|
-
import { ExtensionServerTransport } from
|
|
275
|
-
import { McpServer } from
|
|
274
|
+
import { ExtensionServerTransport } from '@mcp-b/transports';
|
|
275
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
276
276
|
|
|
277
277
|
class McpHub {
|
|
278
278
|
private server: McpServer;
|
|
279
279
|
|
|
280
280
|
constructor() {
|
|
281
281
|
this.server = new McpServer({
|
|
282
|
-
name:
|
|
283
|
-
version:
|
|
282
|
+
name: 'Extension-Hub',
|
|
283
|
+
version: '1.0.0',
|
|
284
284
|
});
|
|
285
285
|
|
|
286
286
|
this.setupConnections();
|
|
@@ -288,9 +288,9 @@ class McpHub {
|
|
|
288
288
|
|
|
289
289
|
private setupConnections() {
|
|
290
290
|
chrome.runtime.onConnect.addListener((port) => {
|
|
291
|
-
if (port.name ===
|
|
291
|
+
if (port.name === 'mcp') {
|
|
292
292
|
this.handleUiConnection(port);
|
|
293
|
-
} else if (port.name ===
|
|
293
|
+
} else if (port.name === 'mcp-content-script-proxy') {
|
|
294
294
|
this.handleContentScriptConnection(port);
|
|
295
295
|
}
|
|
296
296
|
});
|
|
@@ -308,8 +308,8 @@ class McpHub {
|
|
|
308
308
|
Content scripts act as a bridge between the page's MCP server and the extension:
|
|
309
309
|
|
|
310
310
|
```typescript
|
|
311
|
-
import { TabClientTransport } from
|
|
312
|
-
import { Client } from
|
|
311
|
+
import { TabClientTransport } from '@mcp-b/transports';
|
|
312
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
313
313
|
|
|
314
314
|
// Connect to the page's MCP server
|
|
315
315
|
const transport = new TabClientTransport({
|
|
@@ -317,13 +317,13 @@ const transport = new TabClientTransport({
|
|
|
317
317
|
});
|
|
318
318
|
|
|
319
319
|
const client = new Client({
|
|
320
|
-
name:
|
|
321
|
-
version:
|
|
320
|
+
name: 'ExtensionProxyClient',
|
|
321
|
+
version: '1.0.0',
|
|
322
322
|
});
|
|
323
323
|
|
|
324
324
|
// Connect to extension background
|
|
325
325
|
const backgroundPort = chrome.runtime.connect({
|
|
326
|
-
name:
|
|
326
|
+
name: 'mcp-content-script-proxy',
|
|
327
327
|
});
|
|
328
328
|
|
|
329
329
|
// Discover and connect to page server
|
|
@@ -332,20 +332,20 @@ const pageTools = await client.listTools();
|
|
|
332
332
|
|
|
333
333
|
// Register tools with background hub
|
|
334
334
|
backgroundPort.postMessage({
|
|
335
|
-
type:
|
|
335
|
+
type: 'register-tools',
|
|
336
336
|
tools: pageTools.tools,
|
|
337
337
|
});
|
|
338
338
|
|
|
339
339
|
// Handle tool execution requests from background
|
|
340
340
|
backgroundPort.onMessage.addListener(async (message) => {
|
|
341
|
-
if (message.type ===
|
|
341
|
+
if (message.type === 'execute-tool') {
|
|
342
342
|
const result = await client.callTool({
|
|
343
343
|
name: message.toolName,
|
|
344
344
|
arguments: message.args || {},
|
|
345
345
|
});
|
|
346
346
|
|
|
347
347
|
backgroundPort.postMessage({
|
|
348
|
-
type:
|
|
348
|
+
type: 'tool-result',
|
|
349
349
|
requestId: message.requestId,
|
|
350
350
|
data: { success: true, payload: result },
|
|
351
351
|
});
|
|
@@ -358,18 +358,18 @@ backgroundPort.onMessage.addListener(async (message) => {
|
|
|
358
358
|
Connect from the extension's sidebar or popup to use tools from all connected pages:
|
|
359
359
|
|
|
360
360
|
```typescript
|
|
361
|
-
import { ExtensionClientTransport } from
|
|
362
|
-
import { Client } from
|
|
361
|
+
import { ExtensionClientTransport } from '@mcp-b/transports';
|
|
362
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
363
363
|
|
|
364
364
|
// Create transport - connects to the extension's background script
|
|
365
365
|
const transport = new ExtensionClientTransport({
|
|
366
|
-
portName:
|
|
366
|
+
portName: 'mcp',
|
|
367
367
|
});
|
|
368
368
|
|
|
369
369
|
// Create MCP client
|
|
370
370
|
const client = new Client({
|
|
371
|
-
name:
|
|
372
|
-
version:
|
|
371
|
+
name: 'Extension Sidepanel',
|
|
372
|
+
version: '1.0.0',
|
|
373
373
|
});
|
|
374
374
|
|
|
375
375
|
// Connect and use
|
|
@@ -380,8 +380,8 @@ const tools = await client.listTools();
|
|
|
380
380
|
|
|
381
381
|
// Call a tool from a specific website
|
|
382
382
|
const result = await client.callTool({
|
|
383
|
-
name:
|
|
384
|
-
arguments: { todoText:
|
|
383
|
+
name: 'website_tool_example_com_createTodo',
|
|
384
|
+
arguments: { todoText: 'Review PR' },
|
|
385
385
|
});
|
|
386
386
|
```
|
|
387
387
|
|
|
@@ -392,28 +392,28 @@ const result = await client.callTool({
|
|
|
392
392
|
Create an MCP server in Extension 1 that can be accessed by other extensions:
|
|
393
393
|
|
|
394
394
|
```typescript
|
|
395
|
-
import { ExtensionExternalServerTransport } from
|
|
396
|
-
import { McpServer } from
|
|
397
|
-
import { z } from
|
|
395
|
+
import { ExtensionExternalServerTransport } from '@mcp-b/transports';
|
|
396
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
397
|
+
import { z } from 'zod';
|
|
398
398
|
|
|
399
399
|
// Create MCP server with tools
|
|
400
400
|
const server = new McpServer(
|
|
401
401
|
{
|
|
402
|
-
name:
|
|
403
|
-
version:
|
|
402
|
+
name: 'MyExtensionAPI',
|
|
403
|
+
version: '1.0.0',
|
|
404
404
|
},
|
|
405
405
|
{
|
|
406
|
-
instructions:
|
|
406
|
+
instructions: 'Extension API for cross-extension communication',
|
|
407
407
|
}
|
|
408
408
|
);
|
|
409
409
|
|
|
410
410
|
// Register tools
|
|
411
|
-
server.tool(
|
|
411
|
+
server.tool('getBookmarks', 'Retrieves user bookmarks', {}, async () => {
|
|
412
412
|
const bookmarks = await chrome.bookmarks.getTree();
|
|
413
413
|
return {
|
|
414
414
|
content: [
|
|
415
415
|
{
|
|
416
|
-
type:
|
|
416
|
+
type: 'text',
|
|
417
417
|
text: JSON.stringify(bookmarks, null, 2),
|
|
418
418
|
},
|
|
419
419
|
],
|
|
@@ -422,9 +422,9 @@ server.tool("getBookmarks", "Retrieves user bookmarks", {}, async () => {
|
|
|
422
422
|
|
|
423
423
|
// Set up external connection listener in background script
|
|
424
424
|
chrome.runtime.onConnectExternal.addListener(async (port) => {
|
|
425
|
-
if (port.name ===
|
|
425
|
+
if (port.name === 'mcp') {
|
|
426
426
|
// Optional: Add connection validation here
|
|
427
|
-
if (port.sender?.id !==
|
|
427
|
+
if (port.sender?.id !== 'allowed-extension-id') {
|
|
428
428
|
port.disconnect();
|
|
429
429
|
return;
|
|
430
430
|
}
|
|
@@ -440,19 +440,19 @@ chrome.runtime.onConnectExternal.addListener(async (port) => {
|
|
|
440
440
|
Connect from Extension 2 to use Extension 1's MCP server:
|
|
441
441
|
|
|
442
442
|
```typescript
|
|
443
|
-
import { ExtensionExternalClientTransport } from
|
|
444
|
-
import { Client } from
|
|
443
|
+
import { ExtensionExternalClientTransport } from '@mcp-b/transports';
|
|
444
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
445
445
|
|
|
446
446
|
// Create transport targeting Extension 1
|
|
447
447
|
const transport = new ExtensionClientTransport({
|
|
448
|
-
extensionId:
|
|
449
|
-
portName:
|
|
448
|
+
extensionId: 'server-extension-id',
|
|
449
|
+
portName: 'mcp',
|
|
450
450
|
});
|
|
451
451
|
|
|
452
452
|
// Create MCP client
|
|
453
453
|
const client = new Client({
|
|
454
|
-
name:
|
|
455
|
-
version:
|
|
454
|
+
name: 'ClientExtension',
|
|
455
|
+
version: '1.0.0',
|
|
456
456
|
});
|
|
457
457
|
|
|
458
458
|
// Connect and use
|
|
@@ -460,11 +460,11 @@ await client.connect(transport);
|
|
|
460
460
|
|
|
461
461
|
// List available tools from Extension 1
|
|
462
462
|
const tools = await client.listTools();
|
|
463
|
-
console.log(
|
|
463
|
+
console.log('Available tools:', tools.tools);
|
|
464
464
|
|
|
465
465
|
// Call a tool from Extension 1
|
|
466
466
|
const result = await client.callTool({
|
|
467
|
-
name:
|
|
467
|
+
name: 'getBookmarks',
|
|
468
468
|
arguments: {},
|
|
469
469
|
});
|
|
470
470
|
```
|
|
@@ -524,12 +524,12 @@ MCP is an open protocol that standardizes how AI applications connect to externa
|
|
|
524
524
|
|
|
525
525
|
### Which transport should I use?
|
|
526
526
|
|
|
527
|
-
| Scenario
|
|
528
|
-
|
|
529
|
-
| Same-page communication
|
|
530
|
-
| Parent page to iframe
|
|
531
|
-
| Browser extension to webpage | `ExtensionClientTransport` / `ExtensionServerTransport`
|
|
532
|
-
| Extension to extension
|
|
527
|
+
| Scenario | Recommended Transport |
|
|
528
|
+
| ---------------------------- | ----------------------------------------------------------------------- |
|
|
529
|
+
| Same-page communication | `TabServerTransport` / `TabClientTransport` |
|
|
530
|
+
| Parent page to iframe | `IframeParentTransport` / `IframeChildTransport` |
|
|
531
|
+
| Browser extension to webpage | `ExtensionClientTransport` / `ExtensionServerTransport` |
|
|
532
|
+
| Extension to extension | `ExtensionExternalClientTransport` / `ExtensionExternalServerTransport` |
|
|
533
533
|
|
|
534
534
|
### Is this compatible with Claude Desktop, Cursor, or VS Code Copilot?
|
|
535
535
|
|
|
@@ -545,13 +545,13 @@ Yes! `TabServerTransport` and `TabClientTransport` work entirely within a web pa
|
|
|
545
545
|
|
|
546
546
|
## Comparison with Alternatives
|
|
547
547
|
|
|
548
|
-
| Feature
|
|
549
|
-
|
|
550
|
-
| MCP Protocol Support | Yes
|
|
551
|
-
| Type Safety
|
|
552
|
-
| Origin Validation
|
|
553
|
-
| Extension Support
|
|
554
|
-
| Server Discovery
|
|
548
|
+
| Feature | @mcp-b/transports | Raw postMessage | WebSocket |
|
|
549
|
+
| -------------------- | ----------------- | --------------- | --------- |
|
|
550
|
+
| MCP Protocol Support | Yes | No | Manual |
|
|
551
|
+
| Type Safety | Full TypeScript | Manual | Manual |
|
|
552
|
+
| Origin Validation | Built-in | Manual | N/A |
|
|
553
|
+
| Extension Support | Native | Limited | Complex |
|
|
554
|
+
| Server Discovery | Automatic | Manual | Manual |
|
|
555
555
|
|
|
556
556
|
## Related Packages
|
|
557
557
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { JSONRPCMessage, Transport, TransportSendOptions } from "@mcp-b/webmcp-ts-sdk";
|
|
2
2
|
|
|
3
3
|
//#region src/browser-types.d.ts
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* Unique identifier for an event in the event store
|
|
7
6
|
*/
|
|
@@ -146,7 +145,7 @@ declare enum NativeMessageType {
|
|
|
146
145
|
ERROR_FROM_NATIVE_HOST = "error_from_native_host",
|
|
147
146
|
CONNECT_NATIVE = "connectNative",
|
|
148
147
|
PING_NATIVE = "ping_native",
|
|
149
|
-
DISCONNECT_NATIVE = "disconnect_native"
|
|
148
|
+
DISCONNECT_NATIVE = "disconnect_native"
|
|
150
149
|
}
|
|
151
150
|
/**
|
|
152
151
|
* Chrome Extension Constants
|
|
@@ -735,15 +734,14 @@ declare class TabServerTransport implements Transport {
|
|
|
735
734
|
private _allowedOrigins;
|
|
736
735
|
private _channelId;
|
|
737
736
|
private _messageHandler?;
|
|
738
|
-
private _clientOrigin?;
|
|
739
737
|
private _beforeUnloadHandler?;
|
|
740
738
|
private _cleanupInterval?;
|
|
741
739
|
private _pendingRequests;
|
|
740
|
+
private readonly SELF_TARGET_ORIGIN;
|
|
742
741
|
private readonly REQUEST_TIMEOUT_MS;
|
|
743
742
|
onclose?: () => void;
|
|
744
743
|
onerror?: (error: Error) => void;
|
|
745
744
|
onmessage?: (message: JSONRPCMessage) => void;
|
|
746
|
-
private _resolveTargetOrigin;
|
|
747
745
|
constructor(options: TabServerTransportOptions);
|
|
748
746
|
start(): Promise<void>;
|
|
749
747
|
send(message: JSONRPCMessage): Promise<void>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/browser-types.ts","../src/ExtensionClientTransport.ts","../src/ExtensionServerTransport.ts","../src/IframeChildTransport.ts","../src/IframeParentTransport.ts","../src/TabClientTransport.ts","../src/TabServerTransport.ts","../src/UserScriptClientTransport.ts","../src/UserScriptServerTransport.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/browser-types.ts","../src/ExtensionClientTransport.ts","../src/ExtensionServerTransport.ts","../src/IframeChildTransport.ts","../src/IframeParentTransport.ts","../src/TabClientTransport.ts","../src/TabServerTransport.ts","../src/UserScriptClientTransport.ts","../src/UserScriptServerTransport.ts"],"mappings":"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"}
|