@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,129 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const SelectionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3
|
+
kind: z.ZodLiteral<"direct">;
|
|
4
|
+
primary: z.ZodObject<{
|
|
5
|
+
url: z.ZodURL;
|
|
6
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
7
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
value: z.ZodString;
|
|
10
|
+
domain: z.ZodString;
|
|
11
|
+
path: z.ZodDefault<z.ZodString>;
|
|
12
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
13
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
14
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
15
|
+
strict: "strict";
|
|
16
|
+
lax: "lax";
|
|
17
|
+
none: "none";
|
|
18
|
+
unspecified: "unspecified";
|
|
19
|
+
}>>;
|
|
20
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
}, z.core.$strip>>>;
|
|
22
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
container: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
26
|
+
kind: z.ZodLiteral<"hls">;
|
|
27
|
+
primary: z.ZodObject<{
|
|
28
|
+
url: z.ZodURL;
|
|
29
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
30
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
value: z.ZodString;
|
|
33
|
+
domain: z.ZodString;
|
|
34
|
+
path: z.ZodDefault<z.ZodString>;
|
|
35
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
36
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
37
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
38
|
+
strict: "strict";
|
|
39
|
+
lax: "lax";
|
|
40
|
+
none: "none";
|
|
41
|
+
unspecified: "unspecified";
|
|
42
|
+
}>>;
|
|
43
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
44
|
+
}, z.core.$strip>>>;
|
|
45
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
container: z.ZodDefault<z.ZodEnum<{
|
|
48
|
+
mp4: "mp4";
|
|
49
|
+
mkv: "mkv";
|
|
50
|
+
ts: "ts";
|
|
51
|
+
}>>;
|
|
52
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
53
|
+
kind: z.ZodLiteral<"dash">;
|
|
54
|
+
primary: z.ZodObject<{
|
|
55
|
+
url: z.ZodURL;
|
|
56
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
57
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
58
|
+
name: z.ZodString;
|
|
59
|
+
value: z.ZodString;
|
|
60
|
+
domain: z.ZodString;
|
|
61
|
+
path: z.ZodDefault<z.ZodString>;
|
|
62
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
63
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
64
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
65
|
+
strict: "strict";
|
|
66
|
+
lax: "lax";
|
|
67
|
+
none: "none";
|
|
68
|
+
unspecified: "unspecified";
|
|
69
|
+
}>>;
|
|
70
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
71
|
+
}, z.core.$strip>>>;
|
|
72
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
container: z.ZodDefault<z.ZodEnum<{
|
|
75
|
+
mp4: "mp4";
|
|
76
|
+
mkv: "mkv";
|
|
77
|
+
}>>;
|
|
78
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
79
|
+
kind: z.ZodLiteral<"mux">;
|
|
80
|
+
video: z.ZodObject<{
|
|
81
|
+
url: z.ZodURL;
|
|
82
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
83
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
84
|
+
name: z.ZodString;
|
|
85
|
+
value: z.ZodString;
|
|
86
|
+
domain: z.ZodString;
|
|
87
|
+
path: z.ZodDefault<z.ZodString>;
|
|
88
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
89
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
90
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
91
|
+
strict: "strict";
|
|
92
|
+
lax: "lax";
|
|
93
|
+
none: "none";
|
|
94
|
+
unspecified: "unspecified";
|
|
95
|
+
}>>;
|
|
96
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
97
|
+
}, z.core.$strip>>>;
|
|
98
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
99
|
+
}, z.core.$strip>;
|
|
100
|
+
audio: z.ZodObject<{
|
|
101
|
+
url: z.ZodURL;
|
|
102
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
103
|
+
cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
104
|
+
name: z.ZodString;
|
|
105
|
+
value: z.ZodString;
|
|
106
|
+
domain: z.ZodString;
|
|
107
|
+
path: z.ZodDefault<z.ZodString>;
|
|
108
|
+
secure: z.ZodDefault<z.ZodBoolean>;
|
|
109
|
+
httpOnly: z.ZodDefault<z.ZodBoolean>;
|
|
110
|
+
sameSite: z.ZodDefault<z.ZodEnum<{
|
|
111
|
+
strict: "strict";
|
|
112
|
+
lax: "lax";
|
|
113
|
+
none: "none";
|
|
114
|
+
unspecified: "unspecified";
|
|
115
|
+
}>>;
|
|
116
|
+
expiresAt: z.ZodOptional<z.ZodNumber>;
|
|
117
|
+
}, z.core.$strip>>>;
|
|
118
|
+
refererPolicy: z.ZodDefault<z.ZodString>;
|
|
119
|
+
}, z.core.$strip>;
|
|
120
|
+
container: z.ZodDefault<z.ZodEnum<{
|
|
121
|
+
mp4: "mp4";
|
|
122
|
+
mkv: "mkv";
|
|
123
|
+
}>>;
|
|
124
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
125
|
+
kind: z.ZodLiteral<"magnet">;
|
|
126
|
+
uri: z.ZodString;
|
|
127
|
+
}, z.core.$strip>], "kind">;
|
|
128
|
+
export type Selection = z.infer<typeof SelectionSchema>;
|
|
129
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/schemas/selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA0B1B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ResourceSchema } from './resource.js';
|
|
3
|
+
export const SelectionSchema = z.discriminatedUnion('kind', [
|
|
4
|
+
z.object({
|
|
5
|
+
kind: z.literal('direct'),
|
|
6
|
+
primary: ResourceSchema,
|
|
7
|
+
container: z.string().optional(),
|
|
8
|
+
}),
|
|
9
|
+
z.object({
|
|
10
|
+
kind: z.literal('hls'),
|
|
11
|
+
primary: ResourceSchema,
|
|
12
|
+
container: z.enum(['mp4', 'mkv', 'ts']).default('mp4'),
|
|
13
|
+
}),
|
|
14
|
+
z.object({
|
|
15
|
+
kind: z.literal('dash'),
|
|
16
|
+
primary: ResourceSchema,
|
|
17
|
+
container: z.enum(['mp4', 'mkv']).default('mp4'),
|
|
18
|
+
}),
|
|
19
|
+
z.object({
|
|
20
|
+
kind: z.literal('mux'),
|
|
21
|
+
video: ResourceSchema,
|
|
22
|
+
audio: ResourceSchema,
|
|
23
|
+
container: z.enum(['mp4', 'mkv']).default('mp4'),
|
|
24
|
+
}),
|
|
25
|
+
z.object({
|
|
26
|
+
kind: z.literal('magnet'),
|
|
27
|
+
uri: z.string().startsWith('magnet:?'),
|
|
28
|
+
}),
|
|
29
|
+
]);
|
|
30
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/schemas/selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC1D,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,OAAO,EAAE,cAAc;QACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,OAAO,EAAE,cAAc;QACvB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;KACvD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,cAAc;QACvB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;KACjD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;KACjD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;KACvC,CAAC;CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Aggregate global stats — mirrors the host's domain `GlobalStats` exactly.
|
|
4
|
+
* Also the payload of the `$/stats` notification.
|
|
5
|
+
*/
|
|
6
|
+
export declare const StatsResultSchema: z.ZodObject<{
|
|
7
|
+
totalDownloadSpeed: z.ZodNumber;
|
|
8
|
+
totalUploadSpeed: z.ZodNumber;
|
|
9
|
+
activeTasks: z.ZodNumber;
|
|
10
|
+
waitingTasks: z.ZodNumber;
|
|
11
|
+
stoppedTasks: z.ZodNumber;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export declare const StatsGetParamsSchema: z.ZodObject<{}, z.core.$strict>;
|
|
14
|
+
export type StatsResult = z.infer<typeof StatsResultSchema>;
|
|
15
|
+
export type StatsGetParams = z.infer<typeof StatsGetParamsSchema>;
|
|
16
|
+
/** `$/stats` notification carries the same shape as `stats/get`'s result. */
|
|
17
|
+
export type StatsUpdateParams = StatsResult;
|
|
18
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/schemas/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAA;AAEF,eAAO,MAAM,oBAAoB,iCAAqB,CAAA;AAEtD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Aggregate global stats — mirrors the host's domain `GlobalStats` exactly.
|
|
4
|
+
* Also the payload of the `$/stats` notification.
|
|
5
|
+
*/
|
|
6
|
+
export const StatsResultSchema = z.object({
|
|
7
|
+
totalDownloadSpeed: z.number(),
|
|
8
|
+
totalUploadSpeed: z.number(),
|
|
9
|
+
activeTasks: z.number(),
|
|
10
|
+
waitingTasks: z.number(),
|
|
11
|
+
stoppedTasks: z.number(),
|
|
12
|
+
});
|
|
13
|
+
export const StatsGetParamsSchema = z.strictObject({});
|
|
14
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/schemas/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const SystemPingParamsSchema: z.ZodObject<{
|
|
3
|
+
sentAt: z.ZodNumber;
|
|
4
|
+
}, z.core.$strip>;
|
|
5
|
+
export declare const SystemPingResultSchema: z.ZodObject<{
|
|
6
|
+
sentAt: z.ZodNumber;
|
|
7
|
+
recvAt: z.ZodNumber;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export type SystemPingParams = z.infer<typeof SystemPingParamsSchema>;
|
|
10
|
+
export type SystemPingResult = z.infer<typeof SystemPingResultSchema>;
|
|
11
|
+
//# sourceMappingURL=system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/schemas/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,sBAAsB;;iBAEjC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAA;AAEF,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 @@
|
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/schemas/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAA"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Control-plane task status. Richer than the lossy 4-value
|
|
4
|
+
* `$/task/progress.phase`; snake_case-aligned with the host's domain
|
|
5
|
+
* `TaskStatus` so the host-side mapper is near-identity. `metadata_ready` maps
|
|
6
|
+
* to `queued` and `removed` is filtered out of `task/list` (not a value here).
|
|
7
|
+
*/
|
|
8
|
+
export declare const MdxpTaskStatusSchema: z.ZodEnum<{
|
|
9
|
+
error: "error";
|
|
10
|
+
queued: "queued";
|
|
11
|
+
fetching_metadata: "fetching_metadata";
|
|
12
|
+
downloading: "downloading";
|
|
13
|
+
paused: "paused";
|
|
14
|
+
seeding: "seeding";
|
|
15
|
+
finalizing: "finalizing";
|
|
16
|
+
completed: "completed";
|
|
17
|
+
}>;
|
|
18
|
+
export declare const MdxpTaskTypeSchema: z.ZodEnum<{
|
|
19
|
+
magnet: "magnet";
|
|
20
|
+
http: "http";
|
|
21
|
+
ftp: "ftp";
|
|
22
|
+
bt: "bt";
|
|
23
|
+
metalink: "metalink";
|
|
24
|
+
}>;
|
|
25
|
+
/** BitTorrent-only public subset (omits swarm/announce/piece internals). */
|
|
26
|
+
export declare const MdxpBtSchema: z.ZodObject<{
|
|
27
|
+
peers: z.ZodNumber;
|
|
28
|
+
seeds: z.ZodNumber;
|
|
29
|
+
ratio: z.ZodNumber;
|
|
30
|
+
trackers: z.ZodArray<z.ZodString>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
/**
|
|
33
|
+
* First-class public task DTO — a deliberate NARROW projection of the host's
|
|
34
|
+
* ~40-field domain `DownloadTask`. Result/notification payload, so non-strict
|
|
35
|
+
* (a newer server may add fields older clients ignore). The public id is `id`,
|
|
36
|
+
* never the volatile engine gid.
|
|
37
|
+
*/
|
|
38
|
+
export declare const MdxpTaskSchema: z.ZodObject<{
|
|
39
|
+
id: z.ZodString;
|
|
40
|
+
type: z.ZodEnum<{
|
|
41
|
+
magnet: "magnet";
|
|
42
|
+
http: "http";
|
|
43
|
+
ftp: "ftp";
|
|
44
|
+
bt: "bt";
|
|
45
|
+
metalink: "metalink";
|
|
46
|
+
}>;
|
|
47
|
+
name: z.ZodString;
|
|
48
|
+
status: z.ZodEnum<{
|
|
49
|
+
error: "error";
|
|
50
|
+
queued: "queued";
|
|
51
|
+
fetching_metadata: "fetching_metadata";
|
|
52
|
+
downloading: "downloading";
|
|
53
|
+
paused: "paused";
|
|
54
|
+
seeding: "seeding";
|
|
55
|
+
finalizing: "finalizing";
|
|
56
|
+
completed: "completed";
|
|
57
|
+
}>;
|
|
58
|
+
progress: z.ZodNumber;
|
|
59
|
+
bytesDone: z.ZodNumber;
|
|
60
|
+
bytesTotal: z.ZodNullable<z.ZodNumber>;
|
|
61
|
+
speedBps: z.ZodNumber;
|
|
62
|
+
etaSec: z.ZodNullable<z.ZodNumber>;
|
|
63
|
+
saveDir: z.ZodString;
|
|
64
|
+
error: z.ZodNullable<z.ZodString>;
|
|
65
|
+
createdAt: z.ZodNumber;
|
|
66
|
+
finishedAt: z.ZodNullable<z.ZodNumber>;
|
|
67
|
+
finalPath: z.ZodNullable<z.ZodString>;
|
|
68
|
+
infoHash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
69
|
+
bt: z.ZodOptional<z.ZodObject<{
|
|
70
|
+
peers: z.ZodNumber;
|
|
71
|
+
seeds: z.ZodNumber;
|
|
72
|
+
ratio: z.ZodNumber;
|
|
73
|
+
trackers: z.ZodArray<z.ZodString>;
|
|
74
|
+
}, z.core.$strip>>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
/** Shared result for write methods that only need to ack. */
|
|
77
|
+
export declare const OkResultSchema: z.ZodObject<{
|
|
78
|
+
ok: z.ZodLiteral<true>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
export declare const TaskListParamsSchema: z.ZodObject<{
|
|
81
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
82
|
+
error: "error";
|
|
83
|
+
queued: "queued";
|
|
84
|
+
fetching_metadata: "fetching_metadata";
|
|
85
|
+
downloading: "downloading";
|
|
86
|
+
paused: "paused";
|
|
87
|
+
seeding: "seeding";
|
|
88
|
+
finalizing: "finalizing";
|
|
89
|
+
completed: "completed";
|
|
90
|
+
}>>;
|
|
91
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
92
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
93
|
+
}, z.core.$strict>;
|
|
94
|
+
export declare const TaskListResultSchema: z.ZodObject<{
|
|
95
|
+
tasks: z.ZodArray<z.ZodObject<{
|
|
96
|
+
id: z.ZodString;
|
|
97
|
+
type: z.ZodEnum<{
|
|
98
|
+
magnet: "magnet";
|
|
99
|
+
http: "http";
|
|
100
|
+
ftp: "ftp";
|
|
101
|
+
bt: "bt";
|
|
102
|
+
metalink: "metalink";
|
|
103
|
+
}>;
|
|
104
|
+
name: z.ZodString;
|
|
105
|
+
status: z.ZodEnum<{
|
|
106
|
+
error: "error";
|
|
107
|
+
queued: "queued";
|
|
108
|
+
fetching_metadata: "fetching_metadata";
|
|
109
|
+
downloading: "downloading";
|
|
110
|
+
paused: "paused";
|
|
111
|
+
seeding: "seeding";
|
|
112
|
+
finalizing: "finalizing";
|
|
113
|
+
completed: "completed";
|
|
114
|
+
}>;
|
|
115
|
+
progress: z.ZodNumber;
|
|
116
|
+
bytesDone: z.ZodNumber;
|
|
117
|
+
bytesTotal: z.ZodNullable<z.ZodNumber>;
|
|
118
|
+
speedBps: z.ZodNumber;
|
|
119
|
+
etaSec: z.ZodNullable<z.ZodNumber>;
|
|
120
|
+
saveDir: z.ZodString;
|
|
121
|
+
error: z.ZodNullable<z.ZodString>;
|
|
122
|
+
createdAt: z.ZodNumber;
|
|
123
|
+
finishedAt: z.ZodNullable<z.ZodNumber>;
|
|
124
|
+
finalPath: z.ZodNullable<z.ZodString>;
|
|
125
|
+
infoHash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
126
|
+
bt: z.ZodOptional<z.ZodObject<{
|
|
127
|
+
peers: z.ZodNumber;
|
|
128
|
+
seeds: z.ZodNumber;
|
|
129
|
+
ratio: z.ZodNumber;
|
|
130
|
+
trackers: z.ZodArray<z.ZodString>;
|
|
131
|
+
}, z.core.$strip>>;
|
|
132
|
+
}, z.core.$strip>>;
|
|
133
|
+
total: z.ZodNumber;
|
|
134
|
+
}, z.core.$strip>;
|
|
135
|
+
export declare const TaskGetParamsSchema: z.ZodObject<{
|
|
136
|
+
taskId: z.ZodString;
|
|
137
|
+
}, z.core.$strict>;
|
|
138
|
+
export declare const TaskGetResultSchema: z.ZodObject<{
|
|
139
|
+
task: z.ZodNullable<z.ZodObject<{
|
|
140
|
+
id: z.ZodString;
|
|
141
|
+
type: z.ZodEnum<{
|
|
142
|
+
magnet: "magnet";
|
|
143
|
+
http: "http";
|
|
144
|
+
ftp: "ftp";
|
|
145
|
+
bt: "bt";
|
|
146
|
+
metalink: "metalink";
|
|
147
|
+
}>;
|
|
148
|
+
name: z.ZodString;
|
|
149
|
+
status: z.ZodEnum<{
|
|
150
|
+
error: "error";
|
|
151
|
+
queued: "queued";
|
|
152
|
+
fetching_metadata: "fetching_metadata";
|
|
153
|
+
downloading: "downloading";
|
|
154
|
+
paused: "paused";
|
|
155
|
+
seeding: "seeding";
|
|
156
|
+
finalizing: "finalizing";
|
|
157
|
+
completed: "completed";
|
|
158
|
+
}>;
|
|
159
|
+
progress: z.ZodNumber;
|
|
160
|
+
bytesDone: z.ZodNumber;
|
|
161
|
+
bytesTotal: z.ZodNullable<z.ZodNumber>;
|
|
162
|
+
speedBps: z.ZodNumber;
|
|
163
|
+
etaSec: z.ZodNullable<z.ZodNumber>;
|
|
164
|
+
saveDir: z.ZodString;
|
|
165
|
+
error: z.ZodNullable<z.ZodString>;
|
|
166
|
+
createdAt: z.ZodNumber;
|
|
167
|
+
finishedAt: z.ZodNullable<z.ZodNumber>;
|
|
168
|
+
finalPath: z.ZodNullable<z.ZodString>;
|
|
169
|
+
infoHash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
170
|
+
bt: z.ZodOptional<z.ZodObject<{
|
|
171
|
+
peers: z.ZodNumber;
|
|
172
|
+
seeds: z.ZodNumber;
|
|
173
|
+
ratio: z.ZodNumber;
|
|
174
|
+
trackers: z.ZodArray<z.ZodString>;
|
|
175
|
+
}, z.core.$strip>>;
|
|
176
|
+
}, z.core.$strip>>;
|
|
177
|
+
}, z.core.$strip>;
|
|
178
|
+
export declare const TaskPauseParamsSchema: z.ZodObject<{
|
|
179
|
+
taskId: z.ZodString;
|
|
180
|
+
}, z.core.$strict>;
|
|
181
|
+
export declare const TaskResumeParamsSchema: z.ZodObject<{
|
|
182
|
+
taskId: z.ZodString;
|
|
183
|
+
}, z.core.$strict>;
|
|
184
|
+
export declare const TaskRemoveParamsSchema: z.ZodObject<{
|
|
185
|
+
taskId: z.ZodString;
|
|
186
|
+
deleteFiles: z.ZodOptional<z.ZodBoolean>;
|
|
187
|
+
}, z.core.$strict>;
|
|
188
|
+
export type MdxpTaskStatus = z.infer<typeof MdxpTaskStatusSchema>;
|
|
189
|
+
export type MdxpTaskType = z.infer<typeof MdxpTaskTypeSchema>;
|
|
190
|
+
export type MdxpTask = z.infer<typeof MdxpTaskSchema>;
|
|
191
|
+
export type OkResult = z.infer<typeof OkResultSchema>;
|
|
192
|
+
export type TaskListParams = z.infer<typeof TaskListParamsSchema>;
|
|
193
|
+
export type TaskListResult = z.infer<typeof TaskListResultSchema>;
|
|
194
|
+
export type TaskGetParams = z.infer<typeof TaskGetParamsSchema>;
|
|
195
|
+
export type TaskGetResult = z.infer<typeof TaskGetResultSchema>;
|
|
196
|
+
export type TaskPauseParams = z.infer<typeof TaskPauseParamsSchema>;
|
|
197
|
+
export type TaskPauseResult = OkResult;
|
|
198
|
+
export type TaskResumeParams = z.infer<typeof TaskResumeParamsSchema>;
|
|
199
|
+
export type TaskResumeResult = OkResult;
|
|
200
|
+
export type TaskRemoveParams = z.infer<typeof TaskRemoveParamsSchema>;
|
|
201
|
+
export type TaskRemoveResult = OkResult;
|
|
202
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/schemas/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;EAS/B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAM7B,CAAA;AAEF,4EAA4E;AAC5E,eAAO,MAAM,YAAY;;;;;iBAKvB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoBzB,CAAA;AAEF,6DAA6D;AAC7D,eAAO,MAAM,cAAc;;iBAAoC,CAAA;AAG/D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;kBAI/B,CAAA;AACF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG/B,CAAA;AAGF,eAAO,MAAM,mBAAmB;;kBAE9B,CAAA;AACF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE9B,CAAA;AAGF,eAAO,MAAM,qBAAqB;;kBAEhC,CAAA;AACF,eAAO,MAAM,sBAAsB;;kBAEjC,CAAA;AAGF,eAAO,MAAM,sBAAsB;;;kBAGjC,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACrD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACrD,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,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACnE,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAA;AACtC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAA;AACvC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAA"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Control-plane task status. Richer than the lossy 4-value
|
|
4
|
+
* `$/task/progress.phase`; snake_case-aligned with the host's domain
|
|
5
|
+
* `TaskStatus` so the host-side mapper is near-identity. `metadata_ready` maps
|
|
6
|
+
* to `queued` and `removed` is filtered out of `task/list` (not a value here).
|
|
7
|
+
*/
|
|
8
|
+
export const MdxpTaskStatusSchema = z.enum([
|
|
9
|
+
'queued',
|
|
10
|
+
'fetching_metadata',
|
|
11
|
+
'downloading',
|
|
12
|
+
'paused',
|
|
13
|
+
'seeding',
|
|
14
|
+
'finalizing',
|
|
15
|
+
'completed',
|
|
16
|
+
'error',
|
|
17
|
+
]);
|
|
18
|
+
export const MdxpTaskTypeSchema = z.enum([
|
|
19
|
+
'http',
|
|
20
|
+
'ftp',
|
|
21
|
+
'bt',
|
|
22
|
+
'magnet',
|
|
23
|
+
'metalink',
|
|
24
|
+
]);
|
|
25
|
+
/** BitTorrent-only public subset (omits swarm/announce/piece internals). */
|
|
26
|
+
export const MdxpBtSchema = z.object({
|
|
27
|
+
peers: z.number(),
|
|
28
|
+
seeds: z.number(),
|
|
29
|
+
ratio: z.number(),
|
|
30
|
+
trackers: z.array(z.string()),
|
|
31
|
+
});
|
|
32
|
+
/**
|
|
33
|
+
* First-class public task DTO — a deliberate NARROW projection of the host's
|
|
34
|
+
* ~40-field domain `DownloadTask`. Result/notification payload, so non-strict
|
|
35
|
+
* (a newer server may add fields older clients ignore). The public id is `id`,
|
|
36
|
+
* never the volatile engine gid.
|
|
37
|
+
*/
|
|
38
|
+
export const MdxpTaskSchema = z.object({
|
|
39
|
+
id: z.string(),
|
|
40
|
+
type: MdxpTaskTypeSchema,
|
|
41
|
+
name: z.string(),
|
|
42
|
+
status: MdxpTaskStatusSchema,
|
|
43
|
+
/** Fraction in [0,1] — identity with the domain (DownloadTask.progress is
|
|
44
|
+
* already completed/total). `finalPath`, by contrast, is a conditional
|
|
45
|
+
* projection (non-null only once completed), not a blind copy. */
|
|
46
|
+
progress: z.number(),
|
|
47
|
+
bytesDone: z.number(),
|
|
48
|
+
bytesTotal: z.number().nullable(),
|
|
49
|
+
speedBps: z.number(),
|
|
50
|
+
etaSec: z.number().nullable(),
|
|
51
|
+
saveDir: z.string(),
|
|
52
|
+
error: z.string().nullable(),
|
|
53
|
+
createdAt: z.number(),
|
|
54
|
+
finishedAt: z.number().nullable(),
|
|
55
|
+
finalPath: z.string().nullable(),
|
|
56
|
+
infoHash: z.string().nullable().optional(),
|
|
57
|
+
bt: MdxpBtSchema.optional(),
|
|
58
|
+
});
|
|
59
|
+
/** Shared result for write methods that only need to ack. */
|
|
60
|
+
export const OkResultSchema = z.object({ ok: z.literal(true) });
|
|
61
|
+
// ─── task/list ────────────────────────────────────────────────
|
|
62
|
+
export const TaskListParamsSchema = z.strictObject({
|
|
63
|
+
status: MdxpTaskStatusSchema.optional(),
|
|
64
|
+
limit: z.number().int().positive().optional(),
|
|
65
|
+
offset: z.number().int().nonnegative().optional(),
|
|
66
|
+
});
|
|
67
|
+
export const TaskListResultSchema = z.object({
|
|
68
|
+
tasks: z.array(MdxpTaskSchema),
|
|
69
|
+
total: z.number(),
|
|
70
|
+
});
|
|
71
|
+
// ─── task/get ─────────────────────────────────────────────────
|
|
72
|
+
export const TaskGetParamsSchema = z.strictObject({
|
|
73
|
+
taskId: z.string().min(1),
|
|
74
|
+
});
|
|
75
|
+
export const TaskGetResultSchema = z.object({
|
|
76
|
+
task: MdxpTaskSchema.nullable(),
|
|
77
|
+
});
|
|
78
|
+
// ─── task/pause · task/resume ─────────────────────────────────
|
|
79
|
+
export const TaskPauseParamsSchema = z.strictObject({
|
|
80
|
+
taskId: z.string().min(1),
|
|
81
|
+
});
|
|
82
|
+
export const TaskResumeParamsSchema = z.strictObject({
|
|
83
|
+
taskId: z.string().min(1),
|
|
84
|
+
});
|
|
85
|
+
// ─── task/remove ──────────────────────────────────────────────
|
|
86
|
+
export const TaskRemoveParamsSchema = z.strictObject({
|
|
87
|
+
taskId: z.string().min(1),
|
|
88
|
+
deleteFiles: z.boolean().optional(),
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/schemas/task.ts"],"names":[],"mappings":"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"}
|