@motrix/mdxp 0.1.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/LICENSE +9 -0
- package/README.md +103 -0
- package/dist/browser.d.ts +3 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +14 -0
- package/dist/browser.js.map +1 -0
- package/dist/connection.d.ts +50 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +38 -0
- package/dist/connection.js.map +1 -0
- package/dist/errors.d.ts +33 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +34 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/methods.d.ts +28 -0
- package/dist/methods.d.ts.map +1 -0
- package/dist/methods.js +32 -0
- package/dist/methods.js.map +1 -0
- package/dist/node.d.ts +3 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +15 -0
- package/dist/node.js.map +1 -0
- package/dist/schemas/download-add.d.ts +72 -0
- package/dist/schemas/download-add.d.ts.map +1 -0
- package/dist/schemas/download-add.js +49 -0
- package/dist/schemas/download-add.js.map +1 -0
- package/dist/schemas/download.d.ts +156 -0
- package/dist/schemas/download.d.ts.map +1 -0
- package/dist/schemas/download.js +34 -0
- package/dist/schemas/download.js.map +1 -0
- package/dist/schemas/engine.d.ts +41 -0
- package/dist/schemas/engine.d.ts.map +1 -0
- package/dist/schemas/engine.js +24 -0
- package/dist/schemas/engine.js.map +1 -0
- package/dist/schemas/events.d.ts +36 -0
- package/dist/schemas/events.d.ts.map +1 -0
- package/dist/schemas/events.js +26 -0
- package/dist/schemas/events.js.map +1 -0
- package/dist/schemas/index.d.ts +12 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +12 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/initialize.d.ts +70 -0
- package/dist/schemas/initialize.d.ts.map +1 -0
- package/dist/schemas/initialize.js +72 -0
- package/dist/schemas/initialize.js.map +1 -0
- package/dist/schemas/resource.d.ts +39 -0
- package/dist/schemas/resource.d.ts.map +1 -0
- package/dist/schemas/resource.js +21 -0
- package/dist/schemas/resource.js.map +1 -0
- package/dist/schemas/selection.d.ts +129 -0
- package/dist/schemas/selection.d.ts.map +1 -0
- package/dist/schemas/selection.js +30 -0
- package/dist/schemas/selection.js.map +1 -0
- package/dist/schemas/stats.d.ts +18 -0
- package/dist/schemas/stats.d.ts.map +1 -0
- package/dist/schemas/stats.js +14 -0
- package/dist/schemas/stats.js.map +1 -0
- package/dist/schemas/system.d.ts +11 -0
- package/dist/schemas/system.d.ts.map +1 -0
- package/dist/schemas/system.js +9 -0
- package/dist/schemas/system.js.map +1 -0
- package/dist/schemas/task.d.ts +202 -0
- package/dist/schemas/task.d.ts.map +1 -0
- package/dist/schemas/task.js +90 -0
- package/dist/schemas/task.js.map +1 -0
- package/dist/schemas/url.d.ts +162 -0
- package/dist/schemas/url.d.ts.map +1 -0
- package/dist/schemas/url.js +73 -0
- package/dist/schemas/url.js.map +1 -0
- package/dist/tools.d.ts +35 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +124 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +73 -0
- package/src/browser.ts +14 -0
- package/src/connection.ts +162 -0
- package/src/errors.ts +60 -0
- package/src/index.ts +31 -0
- package/src/methods.ts +36 -0
- package/src/node.ts +15 -0
- package/src/schemas/download-add.ts +55 -0
- package/src/schemas/download.ts +42 -0
- package/src/schemas/engine.ts +32 -0
- package/src/schemas/events.ts +36 -0
- package/src/schemas/index.ts +11 -0
- package/src/schemas/initialize.ts +88 -0
- package/src/schemas/resource.ts +26 -0
- package/src/schemas/selection.ts +32 -0
- package/src/schemas/stats.ts +20 -0
- package/src/schemas/system.ts +13 -0
- package/src/schemas/task.ts +113 -0
- package/src/schemas/url.ts +86 -0
- package/src/tools.ts +175 -0
- package/src/types.ts +63 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const UrlProbeParamsSchema: z.ZodObject<{
|
|
3
|
+
url: z.ZodString;
|
|
4
|
+
hint: z.ZodOptional<z.ZodObject<{
|
|
5
|
+
siteName: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export declare const UrlProbeResultSchema: z.ZodObject<{
|
|
9
|
+
handled: z.ZodBoolean;
|
|
10
|
+
adapterId: z.ZodOptional<z.ZodString>;
|
|
11
|
+
confidence: z.ZodOptional<z.ZodEnum<{
|
|
12
|
+
high: "high";
|
|
13
|
+
medium: "medium";
|
|
14
|
+
low: "low";
|
|
15
|
+
}>>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const UrlResolveParamsSchema: z.ZodObject<{
|
|
18
|
+
url: z.ZodString;
|
|
19
|
+
preferences: z.ZodOptional<z.ZodObject<{
|
|
20
|
+
maxQuality: z.ZodOptional<z.ZodEnum<{
|
|
21
|
+
"360p": "360p";
|
|
22
|
+
"720p": "720p";
|
|
23
|
+
"1080p": "1080p";
|
|
24
|
+
"1440p": "1440p";
|
|
25
|
+
"2160p": "2160p";
|
|
26
|
+
best: "best";
|
|
27
|
+
}>>;
|
|
28
|
+
preferContainer: z.ZodOptional<z.ZodEnum<{
|
|
29
|
+
mp4: "mp4";
|
|
30
|
+
mkv: "mkv";
|
|
31
|
+
webm: "webm";
|
|
32
|
+
}>>;
|
|
33
|
+
includeAudio: z.ZodOptional<z.ZodBoolean>;
|
|
34
|
+
includeSubtitles: z.ZodOptional<z.ZodBoolean>;
|
|
35
|
+
}, z.core.$strip>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export declare const UrlResolveResultSchema: z.ZodObject<{
|
|
38
|
+
selections: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
39
|
+
kind: z.ZodLiteral<"direct">;
|
|
40
|
+
primary: z.ZodObject<{
|
|
41
|
+
url: z.ZodURL;
|
|
42
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
43
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
44
|
+
name: z.ZodString;
|
|
45
|
+
value: z.ZodString;
|
|
46
|
+
domain: z.ZodString;
|
|
47
|
+
path: z.ZodDefault<z.ZodString>;
|
|
48
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
49
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
50
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
51
|
+
strict: "strict";
|
|
52
|
+
lax: "lax";
|
|
53
|
+
none: "none";
|
|
54
|
+
unspecified: "unspecified";
|
|
55
|
+
}>>;
|
|
56
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
57
|
+
}, z.core.$strip>>>;
|
|
58
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
container: z.ZodOptional<z.ZodString>;
|
|
61
|
+
quality: z.ZodString;
|
|
62
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
63
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
64
|
+
kind: z.ZodLiteral<"hls">;
|
|
65
|
+
primary: z.ZodObject<{
|
|
66
|
+
url: z.ZodURL;
|
|
67
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
68
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
69
|
+
name: z.ZodString;
|
|
70
|
+
value: z.ZodString;
|
|
71
|
+
domain: z.ZodString;
|
|
72
|
+
path: z.ZodDefault<z.ZodString>;
|
|
73
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
74
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
76
|
+
strict: "strict";
|
|
77
|
+
lax: "lax";
|
|
78
|
+
none: "none";
|
|
79
|
+
unspecified: "unspecified";
|
|
80
|
+
}>>;
|
|
81
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
82
|
+
}, z.core.$strip>>>;
|
|
83
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
container: z.ZodString;
|
|
86
|
+
quality: z.ZodString;
|
|
87
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
88
|
+
kind: z.ZodLiteral<"mux">;
|
|
89
|
+
video: z.ZodObject<{
|
|
90
|
+
url: z.ZodURL;
|
|
91
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
92
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
93
|
+
name: z.ZodString;
|
|
94
|
+
value: z.ZodString;
|
|
95
|
+
domain: z.ZodString;
|
|
96
|
+
path: z.ZodDefault<z.ZodString>;
|
|
97
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
98
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
99
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
100
|
+
strict: "strict";
|
|
101
|
+
lax: "lax";
|
|
102
|
+
none: "none";
|
|
103
|
+
unspecified: "unspecified";
|
|
104
|
+
}>>;
|
|
105
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
106
|
+
}, z.core.$strip>>>;
|
|
107
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
108
|
+
}, z.core.$strip>;
|
|
109
|
+
audio: z.ZodObject<{
|
|
110
|
+
url: z.ZodURL;
|
|
111
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
112
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
113
|
+
name: z.ZodString;
|
|
114
|
+
value: z.ZodString;
|
|
115
|
+
domain: z.ZodString;
|
|
116
|
+
path: z.ZodDefault<z.ZodString>;
|
|
117
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
118
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
119
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
120
|
+
strict: "strict";
|
|
121
|
+
lax: "lax";
|
|
122
|
+
none: "none";
|
|
123
|
+
unspecified: "unspecified";
|
|
124
|
+
}>>;
|
|
125
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
126
|
+
}, z.core.$strip>>>;
|
|
127
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
128
|
+
}, z.core.$strip>;
|
|
129
|
+
container: z.ZodString;
|
|
130
|
+
quality: z.ZodString;
|
|
131
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
132
|
+
}, z.core.$strip>], "kind">>;
|
|
133
|
+
meta: z.ZodObject<{
|
|
134
|
+
title: z.ZodString;
|
|
135
|
+
author: z.ZodOptional<z.ZodString>;
|
|
136
|
+
durationSec: z.ZodOptional<z.ZodNumber>;
|
|
137
|
+
thumbnail: z.ZodOptional<z.ZodString>;
|
|
138
|
+
description: z.ZodOptional<z.ZodString>;
|
|
139
|
+
publishedAt: z.ZodOptional<z.ZodNumber>;
|
|
140
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
141
|
+
}, z.core.$strip>;
|
|
142
|
+
subtitles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
143
|
+
languageCode: z.ZodString;
|
|
144
|
+
languageName: z.ZodString;
|
|
145
|
+
url: z.ZodString;
|
|
146
|
+
format: z.ZodEnum<{
|
|
147
|
+
vtt: "vtt";
|
|
148
|
+
srt: "srt";
|
|
149
|
+
ttml: "ttml";
|
|
150
|
+
}>;
|
|
151
|
+
}, z.core.$strip>>>;
|
|
152
|
+
extractedBy: z.ZodObject<{
|
|
153
|
+
adapterId: z.ZodString;
|
|
154
|
+
adapterVersion: z.ZodString;
|
|
155
|
+
extractedAt: z.ZodNumber;
|
|
156
|
+
}, z.core.$strip>;
|
|
157
|
+
}, z.core.$strip>;
|
|
158
|
+
export type UrlProbeParams = z.infer<typeof UrlProbeParamsSchema>;
|
|
159
|
+
export type UrlProbeResult = z.infer<typeof UrlProbeResultSchema>;
|
|
160
|
+
export type UrlResolveParams = z.infer<typeof UrlResolveParamsSchema>;
|
|
161
|
+
export type UrlResolveResult = z.infer<typeof UrlResolveResultSchema>;
|
|
162
|
+
//# sourceMappingURL=url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/schemas/url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,eAAO,MAAM,oBAAoB;;;;;iBAG/B,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;iBAI/B,CAAA;AAqCF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAUjC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBjC,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ResourceSchema } from './resource.js';
|
|
3
|
+
// url/probe ----------------------------------------------------
|
|
4
|
+
export const UrlProbeParamsSchema = z.object({
|
|
5
|
+
url: z.string().url(),
|
|
6
|
+
hint: z.object({ siteName: z.string().optional() }).optional(),
|
|
7
|
+
});
|
|
8
|
+
export const UrlProbeResultSchema = z.object({
|
|
9
|
+
handled: z.boolean(),
|
|
10
|
+
adapterId: z.string().optional(),
|
|
11
|
+
confidence: z.enum(['high', 'medium', 'low']).optional(),
|
|
12
|
+
});
|
|
13
|
+
// url/resolve --------------------------------------------------
|
|
14
|
+
const QualityEnum = z.enum(['360p', '720p', '1080p', '1440p', '2160p', 'best']);
|
|
15
|
+
const ResolvedSelectionSchema = z.discriminatedUnion('kind', [
|
|
16
|
+
z.object({
|
|
17
|
+
kind: z.literal('direct'),
|
|
18
|
+
primary: ResourceSchema,
|
|
19
|
+
container: z.string().optional(),
|
|
20
|
+
quality: z.string(),
|
|
21
|
+
sizeBytes: z.number().nonnegative().optional(),
|
|
22
|
+
}),
|
|
23
|
+
z.object({
|
|
24
|
+
kind: z.literal('hls'),
|
|
25
|
+
primary: ResourceSchema,
|
|
26
|
+
container: z.string(),
|
|
27
|
+
quality: z.string(),
|
|
28
|
+
}),
|
|
29
|
+
z.object({
|
|
30
|
+
kind: z.literal('mux'),
|
|
31
|
+
video: ResourceSchema,
|
|
32
|
+
audio: ResourceSchema,
|
|
33
|
+
container: z.string(),
|
|
34
|
+
quality: z.string(),
|
|
35
|
+
sizeBytes: z.number().nonnegative().optional(),
|
|
36
|
+
}),
|
|
37
|
+
]);
|
|
38
|
+
const SubtitleSchema = z.object({
|
|
39
|
+
languageCode: z.string(),
|
|
40
|
+
languageName: z.string(),
|
|
41
|
+
url: z.string().url(),
|
|
42
|
+
format: z.enum(['vtt', 'srt', 'ttml']),
|
|
43
|
+
});
|
|
44
|
+
export const UrlResolveParamsSchema = z.object({
|
|
45
|
+
url: z.string().url(),
|
|
46
|
+
preferences: z
|
|
47
|
+
.object({
|
|
48
|
+
maxQuality: QualityEnum.optional(),
|
|
49
|
+
preferContainer: z.enum(['mp4', 'mkv', 'webm']).optional(),
|
|
50
|
+
includeAudio: z.boolean().optional(),
|
|
51
|
+
includeSubtitles: z.boolean().optional(),
|
|
52
|
+
})
|
|
53
|
+
.optional(),
|
|
54
|
+
});
|
|
55
|
+
export const UrlResolveResultSchema = z.object({
|
|
56
|
+
selections: z.array(ResolvedSelectionSchema),
|
|
57
|
+
meta: z.object({
|
|
58
|
+
title: z.string(),
|
|
59
|
+
author: z.string().optional(),
|
|
60
|
+
durationSec: z.number().nonnegative().optional(),
|
|
61
|
+
thumbnail: z.string().url().optional(),
|
|
62
|
+
description: z.string().optional(),
|
|
63
|
+
publishedAt: z.number().optional(),
|
|
64
|
+
tags: z.array(z.string()).optional(),
|
|
65
|
+
}),
|
|
66
|
+
subtitles: z.array(SubtitleSchema).optional(),
|
|
67
|
+
extractedBy: z.object({
|
|
68
|
+
adapterId: z.string(),
|
|
69
|
+
adapterVersion: z.string(),
|
|
70
|
+
extractedAt: z.number(),
|
|
71
|
+
}),
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/schemas/url.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type Method } from './methods.js';
|
|
3
|
+
export interface MdxpToolDef {
|
|
4
|
+
readonly method: Method;
|
|
5
|
+
readonly description: string;
|
|
6
|
+
readonly paramsSchema: z.ZodType;
|
|
7
|
+
readonly resultSchema: z.ZodType;
|
|
8
|
+
/** True for methods a CLI / AI agent calls directly (vs handshake/meta). */
|
|
9
|
+
readonly agentFacing: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Methods the SERVER initiates against the client — not agent-callable, so they
|
|
13
|
+
* are absent from {@link Tools}. Colocated here so the registry's
|
|
14
|
+
* "client→server only" invariant has a single source of truth (the drift test
|
|
15
|
+
* derives the expected Tools key set from this).
|
|
16
|
+
*/
|
|
17
|
+
export declare const SERVER_INITIATED_METHODS: readonly Method[];
|
|
18
|
+
/**
|
|
19
|
+
* Registry of every client→server request method, keyed by wire method name —
|
|
20
|
+
* the single source of truth tying method ↔ schema ↔ description together. The
|
|
21
|
+
* `agentFacing` subset is the tool catalog an AI agent sees (consumed by
|
|
22
|
+
* `motrix describe` in Spec 8). The server-initiated `url/probe` + `url/resolve`
|
|
23
|
+
* are intentionally absent (the server calls those on the client).
|
|
24
|
+
*/
|
|
25
|
+
export declare const Tools: Readonly<Record<string, MdxpToolDef>>;
|
|
26
|
+
export interface AgentTool {
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
/** JSON Schema (draft 2020-12) emitted by `z.toJSONSchema`. */
|
|
30
|
+
inputSchema: Record<string, unknown>;
|
|
31
|
+
outputSchema: Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
/** The agent-facing tool catalog: JSON-Schema-typed tools for LLM consumption. */
|
|
34
|
+
export declare function toAgentToolCatalog(): AgentTool[];
|
|
35
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,cAAc,CAAA;AAmCnD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAA;IAChC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAA;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAGrD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAwFvD,CAAA;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACtC;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,IAAI,SAAS,EAAE,CAYhD"}
|
package/dist/tools.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Methods } from './methods.js';
|
|
3
|
+
import { DownloadCancelParamsSchema, DownloadCancelResultSchema, DownloadSubmitParamsSchema, DownloadSubmitResultSchema, } from './schemas/download.js';
|
|
4
|
+
import { DownloadAddParamsSchema, DownloadAddResultSchema, } from './schemas/download-add.js';
|
|
5
|
+
import { EngineStatusParamsSchema, EngineStatusResultSchema, } from './schemas/engine.js';
|
|
6
|
+
import { InitializeParamsSchema, InitializeResultSchema, } from './schemas/initialize.js';
|
|
7
|
+
import { StatsGetParamsSchema, StatsResultSchema } from './schemas/stats.js';
|
|
8
|
+
import { SystemPingParamsSchema, SystemPingResultSchema, } from './schemas/system.js';
|
|
9
|
+
import { OkResultSchema, TaskGetParamsSchema, TaskGetResultSchema, TaskListParamsSchema, TaskListResultSchema, TaskPauseParamsSchema, TaskRemoveParamsSchema, TaskResumeParamsSchema, } from './schemas/task.js';
|
|
10
|
+
/**
|
|
11
|
+
* Methods the SERVER initiates against the client — not agent-callable, so they
|
|
12
|
+
* are absent from {@link Tools}. Colocated here so the registry's
|
|
13
|
+
* "client→server only" invariant has a single source of truth (the drift test
|
|
14
|
+
* derives the expected Tools key set from this).
|
|
15
|
+
*/
|
|
16
|
+
export const SERVER_INITIATED_METHODS = [
|
|
17
|
+
Methods.UrlProbe,
|
|
18
|
+
Methods.UrlResolve,
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* Registry of every client→server request method, keyed by wire method name —
|
|
22
|
+
* the single source of truth tying method ↔ schema ↔ description together. The
|
|
23
|
+
* `agentFacing` subset is the tool catalog an AI agent sees (consumed by
|
|
24
|
+
* `motrix describe` in Spec 8). The server-initiated `url/probe` + `url/resolve`
|
|
25
|
+
* are intentionally absent (the server calls those on the client).
|
|
26
|
+
*/
|
|
27
|
+
export const Tools = {
|
|
28
|
+
[Methods.MotrixInitialize]: {
|
|
29
|
+
method: Methods.MotrixInitialize,
|
|
30
|
+
description: 'Handshake: negotiate protocol version, identity, and capabilities.',
|
|
31
|
+
paramsSchema: InitializeParamsSchema,
|
|
32
|
+
resultSchema: InitializeResultSchema,
|
|
33
|
+
agentFacing: false,
|
|
34
|
+
},
|
|
35
|
+
[Methods.SystemPing]: {
|
|
36
|
+
method: Methods.SystemPing,
|
|
37
|
+
description: 'Liveness probe; echoes sentAt with the server recvAt.',
|
|
38
|
+
paramsSchema: SystemPingParamsSchema,
|
|
39
|
+
resultSchema: SystemPingResultSchema,
|
|
40
|
+
agentFacing: false,
|
|
41
|
+
},
|
|
42
|
+
[Methods.DownloadSubmit]: {
|
|
43
|
+
method: Methods.DownloadSubmit,
|
|
44
|
+
description: 'Submit a browser-detected download (page-shaped; used by the extension).',
|
|
45
|
+
paramsSchema: DownloadSubmitParamsSchema,
|
|
46
|
+
resultSchema: DownloadSubmitResultSchema,
|
|
47
|
+
agentFacing: false,
|
|
48
|
+
},
|
|
49
|
+
[Methods.DownloadCancel]: {
|
|
50
|
+
method: Methods.DownloadCancel,
|
|
51
|
+
description: 'Cancel a previously submitted download by task id.',
|
|
52
|
+
paramsSchema: DownloadCancelParamsSchema,
|
|
53
|
+
resultSchema: DownloadCancelResultSchema,
|
|
54
|
+
agentFacing: false,
|
|
55
|
+
},
|
|
56
|
+
[Methods.DownloadAdd]: {
|
|
57
|
+
method: Methods.DownloadAdd,
|
|
58
|
+
description: 'Add a download by URL(s), magnet, or torrent; returns the created task.',
|
|
59
|
+
paramsSchema: DownloadAddParamsSchema,
|
|
60
|
+
resultSchema: DownloadAddResultSchema,
|
|
61
|
+
agentFacing: true,
|
|
62
|
+
},
|
|
63
|
+
[Methods.TaskList]: {
|
|
64
|
+
method: Methods.TaskList,
|
|
65
|
+
description: 'List tasks, optionally filtered by status and paginated.',
|
|
66
|
+
paramsSchema: TaskListParamsSchema,
|
|
67
|
+
resultSchema: TaskListResultSchema,
|
|
68
|
+
agentFacing: true,
|
|
69
|
+
},
|
|
70
|
+
[Methods.TaskGet]: {
|
|
71
|
+
method: Methods.TaskGet,
|
|
72
|
+
description: 'Get a single task by id (null if not found).',
|
|
73
|
+
paramsSchema: TaskGetParamsSchema,
|
|
74
|
+
resultSchema: TaskGetResultSchema,
|
|
75
|
+
agentFacing: true,
|
|
76
|
+
},
|
|
77
|
+
[Methods.TaskPause]: {
|
|
78
|
+
method: Methods.TaskPause,
|
|
79
|
+
description: 'Pause a task by id.',
|
|
80
|
+
paramsSchema: TaskPauseParamsSchema,
|
|
81
|
+
resultSchema: OkResultSchema,
|
|
82
|
+
agentFacing: true,
|
|
83
|
+
},
|
|
84
|
+
[Methods.TaskResume]: {
|
|
85
|
+
method: Methods.TaskResume,
|
|
86
|
+
description: 'Resume a paused task by id.',
|
|
87
|
+
paramsSchema: TaskResumeParamsSchema,
|
|
88
|
+
resultSchema: OkResultSchema,
|
|
89
|
+
agentFacing: true,
|
|
90
|
+
},
|
|
91
|
+
[Methods.TaskRemove]: {
|
|
92
|
+
method: Methods.TaskRemove,
|
|
93
|
+
description: 'Remove a task by id, optionally deleting its files.',
|
|
94
|
+
paramsSchema: TaskRemoveParamsSchema,
|
|
95
|
+
resultSchema: OkResultSchema,
|
|
96
|
+
agentFacing: true,
|
|
97
|
+
},
|
|
98
|
+
[Methods.StatsGet]: {
|
|
99
|
+
method: Methods.StatsGet,
|
|
100
|
+
description: 'Get aggregate global stats (speeds + task counts).',
|
|
101
|
+
paramsSchema: StatsGetParamsSchema,
|
|
102
|
+
resultSchema: StatsResultSchema,
|
|
103
|
+
agentFacing: true,
|
|
104
|
+
},
|
|
105
|
+
[Methods.EngineStatus]: {
|
|
106
|
+
method: Methods.EngineStatus,
|
|
107
|
+
description: 'Get the download engine lifecycle state + feature report.',
|
|
108
|
+
paramsSchema: EngineStatusParamsSchema,
|
|
109
|
+
resultSchema: EngineStatusResultSchema,
|
|
110
|
+
agentFacing: true,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
/** The agent-facing tool catalog: JSON-Schema-typed tools for LLM consumption. */
|
|
114
|
+
export function toAgentToolCatalog() {
|
|
115
|
+
return Object.values(Tools)
|
|
116
|
+
.filter((tool) => tool.agentFacing)
|
|
117
|
+
.map((tool) => ({
|
|
118
|
+
name: tool.method,
|
|
119
|
+
description: tool.description,
|
|
120
|
+
inputSchema: z.toJSONSchema(tool.paramsSchema),
|
|
121
|
+
outputSchema: z.toJSONSchema(tool.resultSchema),
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type { DownloadCancelParams, DownloadCancelResult, DownloadSubmitParams, DownloadSubmitResult, } from './schemas/download.js';
|
|
2
|
+
export type { DownloadAddParams, DownloadAddResult, } from './schemas/download-add.js';
|
|
3
|
+
export type { EngineFeatureReport, EngineState, EngineStatusParams, EngineStatusResult, } from './schemas/engine.js';
|
|
4
|
+
export type { CancelRequestParams, PairRevokedParams, TaskCompletedParams, TaskErrorParams, TaskProgressParams, } from './schemas/events.js';
|
|
5
|
+
export type { InitializeParams, InitializeResult, } from './schemas/initialize.js';
|
|
6
|
+
export type { Cookie, Resource, } from './schemas/resource.js';
|
|
7
|
+
export type { Selection } from './schemas/selection.js';
|
|
8
|
+
export type { StatsGetParams, StatsResult, StatsUpdateParams, } from './schemas/stats.js';
|
|
9
|
+
export type { SystemPingParams, SystemPingResult, } from './schemas/system.js';
|
|
10
|
+
export type { MdxpTask, MdxpTaskStatus, MdxpTaskType, OkResult, TaskGetParams, TaskGetResult, TaskListParams, TaskListResult, TaskPauseParams, TaskPauseResult, TaskRemoveParams, TaskRemoveResult, TaskResumeParams, TaskResumeResult, } from './schemas/task.js';
|
|
11
|
+
export type { UrlProbeParams, UrlProbeResult, UrlResolveParams, UrlResolveResult, } from './schemas/url.js';
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EACV,MAAM,EACN,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,YAAY,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAA"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@motrix/mdxp",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Motrix Download eXchange Protocol — JSON-RPC 2.0 wire types and connection helpers",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Motrix",
|
|
7
|
+
"homepage": "https://github.com/motrixapp/mdxp#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/motrixapp/mdxp.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/motrixapp/mdxp/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"motrix",
|
|
17
|
+
"mdxp",
|
|
18
|
+
"json-rpc",
|
|
19
|
+
"jsonrpc",
|
|
20
|
+
"download",
|
|
21
|
+
"protocol",
|
|
22
|
+
"websocket",
|
|
23
|
+
"zod"
|
|
24
|
+
],
|
|
25
|
+
"type": "module",
|
|
26
|
+
"main": "./dist/index.js",
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"import": "./dist/index.js",
|
|
32
|
+
"default": "./dist/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./node": {
|
|
35
|
+
"types": "./dist/node.d.ts",
|
|
36
|
+
"import": "./dist/node.js",
|
|
37
|
+
"default": "./dist/node.js"
|
|
38
|
+
},
|
|
39
|
+
"./browser": {
|
|
40
|
+
"types": "./dist/browser.d.ts",
|
|
41
|
+
"import": "./dist/browser.js",
|
|
42
|
+
"default": "./dist/browser.js"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist",
|
|
47
|
+
"src",
|
|
48
|
+
"!src/__tests__",
|
|
49
|
+
"README.md"
|
|
50
|
+
],
|
|
51
|
+
"packageManager": "pnpm@11.9.0",
|
|
52
|
+
"publishConfig": {
|
|
53
|
+
"access": "public"
|
|
54
|
+
},
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "tsc -p tsconfig.json",
|
|
57
|
+
"test": "vitest run",
|
|
58
|
+
"test:watch": "vitest",
|
|
59
|
+
"lint": "biome check .",
|
|
60
|
+
"format": "biome format --write .",
|
|
61
|
+
"prepublishOnly": "npm run build"
|
|
62
|
+
},
|
|
63
|
+
"dependencies": {
|
|
64
|
+
"vscode-jsonrpc": "^9.0.0",
|
|
65
|
+
"zod": "^4.4.3"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@biomejs/biome": "^2.5.1",
|
|
69
|
+
"@types/node": "^24.0.0",
|
|
70
|
+
"typescript": "^6.0.3",
|
|
71
|
+
"vitest": "^4.1.9"
|
|
72
|
+
}
|
|
73
|
+
}
|
package/src/browser.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Browser platform entry.
|
|
2
|
+
//
|
|
3
|
+
// vscode-jsonrpc v9 split the runtime abstraction layer (RAL) out of the bare
|
|
4
|
+
// `vscode-jsonrpc` entry: creating/listening on a `MessageConnection` now
|
|
5
|
+
// requires a platform RAL to be installed first. Importing this module installs
|
|
6
|
+
// the browser RAL into the SAME `vscode-jsonrpc` instance that this package's
|
|
7
|
+
// `createMdxpConnection` resolves.
|
|
8
|
+
//
|
|
9
|
+
// A browser host (e.g. the Motrix extension background script) imports
|
|
10
|
+
// `@motrix/mdxp/browser` once at startup. The full public API is re-exported, so
|
|
11
|
+
// `import { createMdxpConnection } from '@motrix/mdxp/browser'` also works.
|
|
12
|
+
import 'vscode-jsonrpc/browser'
|
|
13
|
+
|
|
14
|
+
export * from './index.js'
|