gradio

Форк
0
/
message-types.ts 
116 строк · 2.3 Кб
1
import type { ASGIScope } from "./asgi-types";
2

3
export interface EmscriptenFile {
4
	data: string | ArrayBufferView;
5
	opts?: Record<string, string>;
6
}
7
export interface EmscriptenFileUrl {
8
	url: string;
9
	opts?: Record<string, string>;
10
}
11

12
export interface InMessageBase {
13
	type: string;
14
	data: unknown;
15
}
16

17
export interface InMessageInitEnv extends InMessageBase {
18
	type: "init-env";
19
	data: {
20
		gradioWheelUrl: string;
21
		gradioClientWheelUrl: string;
22
	};
23
}
24
export interface InMessageInitApp extends InMessageBase {
25
	type: "init-app";
26
	data: {
27
		files: Record<string, EmscriptenFile | EmscriptenFileUrl>;
28
		requirements: string[];
29
	};
30
}
31
export interface InMessageRunPythonCode extends InMessageBase {
32
	type: "run-python-code";
33
	data: {
34
		code: string;
35
	};
36
}
37
export interface InMessageRunPythonFile extends InMessageBase {
38
	type: "run-python-file";
39
	data: {
40
		path: string;
41
	};
42
}
43
export interface InMessageAsgiRequest extends InMessageBase {
44
	type: "asgi-request";
45
	data: {
46
		scope: ASGIScope;
47
	};
48
}
49
export interface InMessageFileWrite extends InMessageBase {
50
	type: "file:write";
51
	data: {
52
		path: string;
53
		data: string | ArrayBufferView;
54
		opts?: Record<string, any>;
55
	};
56
}
57
export interface InMessageFileRename extends InMessageBase {
58
	type: "file:rename";
59
	data: {
60
		oldPath: string;
61
		newPath: string;
62
	};
63
}
64
export interface InMessageFileUnlink extends InMessageBase {
65
	type: "file:unlink";
66
	data: {
67
		path: string;
68
	};
69
}
70
export interface InMessageInstall extends InMessageBase {
71
	type: "install";
72
	data: {
73
		requirements: string[];
74
	};
75
}
76

77
export interface InMessageEcho extends InMessageBase {
78
	// For debug
79
	type: "echo";
80
	data: unknown;
81
}
82

83
export type InMessage =
84
	| InMessageInitEnv
85
	| InMessageInitApp
86
	| InMessageRunPythonCode
87
	| InMessageRunPythonFile
88
	| InMessageAsgiRequest
89
	| InMessageFileWrite
90
	| InMessageFileRename
91
	| InMessageFileUnlink
92
	| InMessageInstall
93
	| InMessageEcho;
94

95
export interface ReplyMessageSuccess<T = unknown> {
96
	type: "reply:success";
97
	data: T;
98
}
99
export interface ReplyMessageError {
100
	type: "reply:error";
101
	error: Error;
102
}
103

104
export type ReplyMessage = ReplyMessageSuccess | ReplyMessageError;
105

106
export interface OutMessageBase {
107
	type: string;
108
	data: unknown;
109
}
110
export interface OutMessageProgressUpdate extends OutMessageBase {
111
	type: "progress-update";
112
	data: {
113
		log: string;
114
	};
115
}
116
export type OutMessage = OutMessageProgressUpdate;
117

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.