@motrix/mdxp 0.1.1 → 0.2.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 +24 -13
- package/README.zh-CN.md +23 -13
- package/dist/browser.d.ts +1 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +5 -0
- package/dist/browser.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +1 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +4 -0
- package/dist/node.js.map +1 -1
- package/package.json +1 -1
- package/src/browser.ts +8 -0
- package/src/index.ts +11 -0
- package/src/node.ts +13 -0
package/README.md
CHANGED
|
@@ -33,7 +33,8 @@ top of it.
|
|
|
33
33
|
- **Transport-agnostic.** Works over anything that implements
|
|
34
34
|
`MessageReader`/`MessageWriter`.
|
|
35
35
|
- **Platform RAL entry points.** `./node` and `./browser` install the matching
|
|
36
|
-
`vscode-jsonrpc` runtime abstraction layer
|
|
36
|
+
`vscode-jsonrpc` runtime abstraction layer and re-export its transport classes,
|
|
37
|
+
so you import everything — connection helper and reader/writer — from one place.
|
|
37
38
|
- **Agent-ready.** A built-in tool registry emits a JSON-Schema tool catalog you
|
|
38
39
|
can feed straight into an LLM function-calling API.
|
|
39
40
|
- **Forward-compatible.** Unknown methods and fields are ignored, not rejected.
|
|
@@ -46,10 +47,11 @@ npm install @motrix/mdxp
|
|
|
46
47
|
```
|
|
47
48
|
|
|
48
49
|
Runtime dependency: [`vscode-jsonrpc`](https://www.npmjs.com/package/vscode-jsonrpc)
|
|
49
|
-
`^9`,
|
|
50
|
-
|
|
51
|
-
`
|
|
52
|
-
|
|
50
|
+
`^9`, installed alongside this package. Its transport classes (reader/writer)
|
|
51
|
+
and the primitives that surface in this package's API — `MessageReader`,
|
|
52
|
+
`MessageConnection`, `CancellationToken`, `CancellationTokenSource`, … — are
|
|
53
|
+
re-exported from `@motrix/mdxp` (see [Entry points](#entry-points)), so you
|
|
54
|
+
rarely need to import `vscode-jsonrpc` directly. ESM-only; requires
|
|
53
55
|
Node.js ≥ 18 or a modern bundler.
|
|
54
56
|
|
|
55
57
|
### Entry points
|
|
@@ -63,16 +65,21 @@ Node.js ≥ 18 or a modern bundler.
|
|
|
63
65
|
`vscode-jsonrpc` v9 requires a runtime abstraction layer (RAL) to be installed
|
|
64
66
|
before a connection can be created. Importing `@motrix/mdxp/node` or
|
|
65
67
|
`@motrix/mdxp/browser` installs the right one into the **same** `vscode-jsonrpc`
|
|
66
|
-
instance this package uses, and re-exports the entire public API
|
|
67
|
-
|
|
68
|
+
instance this package uses, and re-exports the entire public API **plus that
|
|
69
|
+
platform's transport classes** (`StreamMessageReader`/`Writer` for Node,
|
|
70
|
+
`BrowserMessageReader`/`Writer` for the browser) — so a host imports everything,
|
|
71
|
+
including its reader/writer, from a single place.
|
|
68
72
|
|
|
69
73
|
## Quick start
|
|
70
74
|
|
|
71
75
|
### Node host (over stdio)
|
|
72
76
|
|
|
73
77
|
```ts
|
|
74
|
-
import {
|
|
75
|
-
|
|
78
|
+
import {
|
|
79
|
+
createMdxpConnection,
|
|
80
|
+
StreamMessageReader,
|
|
81
|
+
StreamMessageWriter,
|
|
82
|
+
} from '@motrix/mdxp/node'
|
|
76
83
|
|
|
77
84
|
const conn = createMdxpConnection(
|
|
78
85
|
new StreamMessageReader(process.stdin),
|
|
@@ -91,9 +98,12 @@ conn.listen()
|
|
|
91
98
|
### Browser host
|
|
92
99
|
|
|
93
100
|
```ts
|
|
94
|
-
// Installs the browser RAL
|
|
95
|
-
import {
|
|
96
|
-
|
|
101
|
+
// Installs the browser RAL and re-exports the full API + transport classes.
|
|
102
|
+
import {
|
|
103
|
+
createMdxpConnection,
|
|
104
|
+
BrowserMessageReader,
|
|
105
|
+
BrowserMessageWriter,
|
|
106
|
+
} from '@motrix/mdxp/browser'
|
|
97
107
|
|
|
98
108
|
// e.g. a MessagePort / Worker; adapt your WebSocket to reader/writer as needed.
|
|
99
109
|
const conn = createMdxpConnection(
|
|
@@ -245,7 +255,7 @@ conn.onNotification('$/task/error', (p) => {
|
|
|
245
255
|
handler observes `token.isCancellationRequested`.
|
|
246
256
|
|
|
247
257
|
```ts
|
|
248
|
-
import { CancellationTokenSource } from '
|
|
258
|
+
import { CancellationTokenSource } from '@motrix/mdxp'
|
|
249
259
|
|
|
250
260
|
const cts = new CancellationTokenSource()
|
|
251
261
|
const pending = conn.sendRequest('url/resolve', { url }, cts.token)
|
|
@@ -321,6 +331,7 @@ const tools = toAgentToolCatalog()
|
|
|
321
331
|
| `toAgentToolCatalog()` | function | The `agentFacing` subset as JSON-Schema tools. |
|
|
322
332
|
| `SERVER_INITIATED_METHODS` | const | Methods the server calls on the client (`url/probe`, `url/resolve`). |
|
|
323
333
|
| `*Schema` | Zod schema | Every wire shape, for runtime validation. |
|
|
334
|
+
| `MessageReader` · `MessageWriter` · `MessageConnection` · `CancellationToken` · `CancellationTokenSource` · `Disposable` | re-export | `vscode-jsonrpc` primitives used across the API. Platform transport classes (`StreamMessageReader`/`Writer`, `BrowserMessageReader`/`Writer`) are re-exported from `./node` and `./browser`. |
|
|
324
335
|
|
|
325
336
|
### Methods
|
|
326
337
|
|
package/README.zh-CN.md
CHANGED
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
调用处无需任何 cast。
|
|
29
29
|
- **transport-agnostic**:只要实现了 `MessageReader`/`MessageWriter`,任何双工流都能用。
|
|
30
30
|
- **平台 RAL 入口**:`./node` 与 `./browser` 会替你装好对应的 `vscode-jsonrpc`
|
|
31
|
-
runtime abstraction layer
|
|
31
|
+
runtime abstraction layer,并 re-export 它的 transport class —— 连接封装与
|
|
32
|
+
reader/writer 都从同一处 import。
|
|
32
33
|
- **面向 agent**:内置的 tool registry 可产出一份 JSON-Schema tool catalog,
|
|
33
34
|
能直接对接 LLM 的 function-calling API。
|
|
34
35
|
- **forward-compatible**:遇到未知的 method 或字段选择忽略,而非 reject。
|
|
@@ -41,10 +42,11 @@ npm install @motrix/mdxp
|
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
运行时依赖:[`vscode-jsonrpc`](https://www.npmjs.com/package/vscode-jsonrpc)
|
|
44
|
-
`^9
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
`^9`,随本包一并装上。它的 transport class(reader/writer),以及在本包 API 中出现的
|
|
46
|
+
那些 primitive —— `MessageReader`、`MessageConnection`、`CancellationToken`、
|
|
47
|
+
`CancellationTokenSource` 等 —— 都已从 `@motrix/mdxp` re-export(见
|
|
48
|
+
[入口点](#入口点)),因此你几乎无需直接 import `vscode-jsonrpc`。仅 ESM;需要
|
|
49
|
+
Node.js ≥ 18 或现代 bundler。
|
|
48
50
|
|
|
49
51
|
### 入口点
|
|
50
52
|
|
|
@@ -56,16 +58,20 @@ npm install @motrix/mdxp
|
|
|
56
58
|
|
|
57
59
|
`vscode-jsonrpc` v9 要求先装好一层 runtime abstraction layer(RAL),才能创建连接。
|
|
58
60
|
import `@motrix/mdxp/node` 或 `@motrix/mdxp/browser` 会把对应的 RAL 装进本包所用的
|
|
59
|
-
**同一个** `vscode-jsonrpc` 实例,并 re-export 完整的公开 API
|
|
60
|
-
|
|
61
|
+
**同一个** `vscode-jsonrpc` 实例,并 re-export 完整的公开 API,**外加该平台的
|
|
62
|
+
transport class**(Node 的 `StreamMessageReader`/`Writer`、浏览器的
|
|
63
|
+
`BrowserMessageReader`/`Writer`)—— 于是 host 连同 reader/writer 都只需从一个入口 import。
|
|
61
64
|
|
|
62
65
|
## 快速开始
|
|
63
66
|
|
|
64
67
|
### Node host(走 stdio)
|
|
65
68
|
|
|
66
69
|
```ts
|
|
67
|
-
import {
|
|
68
|
-
|
|
70
|
+
import {
|
|
71
|
+
createMdxpConnection,
|
|
72
|
+
StreamMessageReader,
|
|
73
|
+
StreamMessageWriter,
|
|
74
|
+
} from '@motrix/mdxp/node'
|
|
69
75
|
|
|
70
76
|
const conn = createMdxpConnection(
|
|
71
77
|
new StreamMessageReader(process.stdin),
|
|
@@ -84,9 +90,12 @@ conn.listen()
|
|
|
84
90
|
### 浏览器 host
|
|
85
91
|
|
|
86
92
|
```ts
|
|
87
|
-
// 装好 browser RAL,并 re-export 全量 API。
|
|
88
|
-
import {
|
|
89
|
-
|
|
93
|
+
// 装好 browser RAL,并 re-export 全量 API + transport class。
|
|
94
|
+
import {
|
|
95
|
+
createMdxpConnection,
|
|
96
|
+
BrowserMessageReader,
|
|
97
|
+
BrowserMessageWriter,
|
|
98
|
+
} from '@motrix/mdxp/browser'
|
|
90
99
|
|
|
91
100
|
// 例如一个 MessagePort / Worker;若用 WebSocket,需自行适配成 reader/writer。
|
|
92
101
|
const conn = createMdxpConnection(
|
|
@@ -232,7 +241,7 @@ conn.onNotification('$/task/error', (p) => {
|
|
|
232
241
|
`token.isCancellationRequested` 即可响应。
|
|
233
242
|
|
|
234
243
|
```ts
|
|
235
|
-
import { CancellationTokenSource } from '
|
|
244
|
+
import { CancellationTokenSource } from '@motrix/mdxp'
|
|
236
245
|
|
|
237
246
|
const cts = new CancellationTokenSource()
|
|
238
247
|
const pending = conn.sendRequest('url/resolve', { url }, cts.token)
|
|
@@ -306,6 +315,7 @@ const tools = toAgentToolCatalog()
|
|
|
306
315
|
| `toAgentToolCatalog()` | function | 取 `agentFacing` 子集,转成 JSON-Schema tools。 |
|
|
307
316
|
| `SERVER_INITIATED_METHODS` | const | 由 server 向 client 发起的 method(`url/probe`、`url/resolve`)。 |
|
|
308
317
|
| `*Schema` | Zod schema | 全部 wire 形态,供运行时校验。 |
|
|
318
|
+
| `MessageReader` · `MessageWriter` · `MessageConnection` · `CancellationToken` · `CancellationTokenSource` · `Disposable` | re-export | 本包 API 中用到的 `vscode-jsonrpc` primitive。平台 transport class(`StreamMessageReader`/`Writer`、`BrowserMessageReader`/`Writer`)从 `./node` 与 `./browser` re-export。 |
|
|
309
319
|
|
|
310
320
|
### Methods
|
|
311
321
|
|
package/dist/browser.d.ts
CHANGED
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAWA,OAAO,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAWA,OAAO,wBAAwB,CAAA;AAM/B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
|
package/dist/browser.js
CHANGED
|
@@ -10,5 +10,10 @@
|
|
|
10
10
|
// `@motrix/mdxp/browser` once at startup. The full public API is re-exported, so
|
|
11
11
|
// `import { createMdxpConnection } from '@motrix/mdxp/browser'` also works.
|
|
12
12
|
import 'vscode-jsonrpc/browser';
|
|
13
|
+
// Browser transport classes, re-exported so a browser host imports its
|
|
14
|
+
// reader/writer from the same place as `createMdxpConnection` — no separate
|
|
15
|
+
// `vscode-jsonrpc` import, and guaranteed to be the instance this package
|
|
16
|
+
// installed the RAL into.
|
|
17
|
+
export { BrowserMessageReader, BrowserMessageWriter, } from 'vscode-jsonrpc/browser';
|
|
13
18
|
export * from './index.js';
|
|
14
19
|
//# sourceMappingURL=browser.js.map
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,8EAA8E;AAC9E,mCAAmC;AACnC,EAAE;AACF,uEAAuE;AACvE,iFAAiF;AACjF,4EAA4E;AAC5E,OAAO,wBAAwB,CAAA;AAE/B,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,8EAA8E;AAC9E,mCAAmC;AACnC,EAAE;AACF,uEAAuE;AACvE,iFAAiF;AACjF,4EAA4E;AAC5E,OAAO,wBAAwB,CAAA;AAE/B,uEAAuE;AACvE,4EAA4E;AAC5E,0EAA0E;AAC1E,0BAA0B;AAC1B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export type { Disposable, MessageConnection, MessageReader, MessageWriter, } from 'vscode-jsonrpc';
|
|
2
|
+
export { CancellationToken, CancellationTokenSource } from 'vscode-jsonrpc';
|
|
1
3
|
export type { MdxpConnection, MdxpNotificationMap, MdxpRequestMap, } from './connection.js';
|
|
2
4
|
export { createMdxpConnection } from './connection.js';
|
|
3
5
|
export type { ErrorCode, MdxpError, MdxpErrorData } from './errors.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAC3E,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGrD,cAAc,oBAAoB,CAAA;AAClC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxD,OAAO,EACL,wBAAwB,EACxB,KAAK,EACL,kBAAkB,GACnB,MAAM,YAAY,CAAA;AAEnB,mBAAmB,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// MDXP — Motrix Download eXchange Protocol
|
|
2
2
|
// Public API surface for both Motrix desktop and the browser extension.
|
|
3
|
+
export { CancellationToken, CancellationTokenSource } from 'vscode-jsonrpc';
|
|
3
4
|
export { createMdxpConnection } from './connection.js';
|
|
4
5
|
export { ErrorCodes, isMotrixError, isProtocolError, makeMdxpError, } from './errors.js';
|
|
5
6
|
export { Methods, Notifications } from './methods.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,wEAAwE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,wEAAwE;AAYxE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAM3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAErD,qDAAqD;AACrD,cAAc,oBAAoB,CAAA;AAGlC,wCAAwC;AACxC,OAAO,EACL,wBAAwB,EACxB,KAAK,EACL,kBAAkB,GACnB,MAAM,YAAY,CAAA"}
|
package/dist/node.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import 'vscode-jsonrpc/node';
|
|
2
|
+
export { IPCMessageReader, IPCMessageWriter, PortMessageReader, PortMessageWriter, SocketMessageReader, SocketMessageWriter, StreamMessageReader, StreamMessageWriter, } from 'vscode-jsonrpc/node';
|
|
2
3
|
export * from './index.js';
|
|
3
4
|
//# sourceMappingURL=node.d.ts.map
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAYA,OAAO,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAYA,OAAO,qBAAqB,CAAA;AAK5B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
package/dist/node.js
CHANGED
|
@@ -11,5 +11,9 @@
|
|
|
11
11
|
// once at bootstrap. The full public API is re-exported for convenience, so
|
|
12
12
|
// `import { createMdxpConnection } from '@motrix/mdxp/node'` also works.
|
|
13
13
|
import 'vscode-jsonrpc/node';
|
|
14
|
+
// Node transport classes, re-exported so a Node host imports its reader/writer
|
|
15
|
+
// from the same place as `createMdxpConnection` — no separate `vscode-jsonrpc`
|
|
16
|
+
// import, and guaranteed to be the instance this package installed the RAL into.
|
|
17
|
+
export { IPCMessageReader, IPCMessageWriter, PortMessageReader, PortMessageWriter, SocketMessageReader, SocketMessageWriter, StreamMessageReader, StreamMessageWriter, } from 'vscode-jsonrpc/node';
|
|
14
18
|
export * from './index.js';
|
|
15
19
|
//# sourceMappingURL=node.js.map
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,2EAA2E;AAC3E,gFAAgF;AAChF,4BAA4B;AAC5B,EAAE;AACF,mFAAmF;AACnF,4EAA4E;AAC5E,yEAAyE;AACzE,OAAO,qBAAqB,CAAA;AAE5B,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,2EAA2E;AAC3E,gFAAgF;AAChF,4BAA4B;AAC5B,EAAE;AACF,mFAAmF;AACnF,4EAA4E;AAC5E,yEAAyE;AACzE,OAAO,qBAAqB,CAAA;AAE5B,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
package/package.json
CHANGED
package/src/browser.ts
CHANGED
|
@@ -11,4 +11,12 @@
|
|
|
11
11
|
// `import { createMdxpConnection } from '@motrix/mdxp/browser'` also works.
|
|
12
12
|
import 'vscode-jsonrpc/browser'
|
|
13
13
|
|
|
14
|
+
// Browser transport classes, re-exported so a browser host imports its
|
|
15
|
+
// reader/writer from the same place as `createMdxpConnection` — no separate
|
|
16
|
+
// `vscode-jsonrpc` import, and guaranteed to be the instance this package
|
|
17
|
+
// installed the RAL into.
|
|
18
|
+
export {
|
|
19
|
+
BrowserMessageReader,
|
|
20
|
+
BrowserMessageWriter,
|
|
21
|
+
} from 'vscode-jsonrpc/browser'
|
|
14
22
|
export * from './index.js'
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
// MDXP — Motrix Download eXchange Protocol
|
|
2
2
|
// Public API surface for both Motrix desktop and the browser extension.
|
|
3
3
|
|
|
4
|
+
// vscode-jsonrpc primitives that appear in this package's public API surface,
|
|
5
|
+
// re-exported so consumers import them from `@motrix/mdxp` instead of reaching
|
|
6
|
+
// for a second package. Platform transport classes (StreamMessageReader,
|
|
7
|
+
// BrowserMessageReader, …) are re-exported from `./node` and `./browser`.
|
|
8
|
+
export type {
|
|
9
|
+
Disposable,
|
|
10
|
+
MessageConnection,
|
|
11
|
+
MessageReader,
|
|
12
|
+
MessageWriter,
|
|
13
|
+
} from 'vscode-jsonrpc'
|
|
14
|
+
export { CancellationToken, CancellationTokenSource } from 'vscode-jsonrpc'
|
|
4
15
|
export type {
|
|
5
16
|
MdxpConnection,
|
|
6
17
|
MdxpNotificationMap,
|
package/src/node.ts
CHANGED
|
@@ -12,4 +12,17 @@
|
|
|
12
12
|
// `import { createMdxpConnection } from '@motrix/mdxp/node'` also works.
|
|
13
13
|
import 'vscode-jsonrpc/node'
|
|
14
14
|
|
|
15
|
+
// Node transport classes, re-exported so a Node host imports its reader/writer
|
|
16
|
+
// from the same place as `createMdxpConnection` — no separate `vscode-jsonrpc`
|
|
17
|
+
// import, and guaranteed to be the instance this package installed the RAL into.
|
|
18
|
+
export {
|
|
19
|
+
IPCMessageReader,
|
|
20
|
+
IPCMessageWriter,
|
|
21
|
+
PortMessageReader,
|
|
22
|
+
PortMessageWriter,
|
|
23
|
+
SocketMessageReader,
|
|
24
|
+
SocketMessageWriter,
|
|
25
|
+
StreamMessageReader,
|
|
26
|
+
StreamMessageWriter,
|
|
27
|
+
} from 'vscode-jsonrpc/node'
|
|
15
28
|
export * from './index.js'
|