@gradio/client 0.19.4 → 0.20.1
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/CHANGELOG.md +20 -0
- package/README.md +8 -1
- package/dist/client.d.ts +4 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/helpers/api_info.d.ts +1 -0
- package/dist/helpers/api_info.d.ts.map +1 -1
- package/dist/helpers/data.d.ts.map +1 -1
- package/dist/helpers/init_helpers.d.ts +4 -1
- package/dist/helpers/init_helpers.d.ts.map +1 -1
- package/dist/index.js +235 -61
- package/dist/test/handlers.d.ts.map +1 -1
- package/dist/test/test_data.d.ts.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/duplicate.d.ts.map +1 -1
- package/dist/utils/post_data.d.ts.map +1 -1
- package/dist/utils/predict.d.ts.map +1 -1
- package/dist/utils/submit.d.ts.map +1 -1
- package/dist/utils/upload_files.d.ts.map +1 -1
- package/dist/utils/view_api.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +70 -28
- package/src/constants.ts +5 -0
- package/src/helpers/api_info.ts +44 -17
- package/src/helpers/data.ts +3 -2
- package/src/helpers/init_helpers.ts +103 -9
- package/src/test/api_info.test.ts +69 -4
- package/src/test/data.test.ts +4 -4
- package/src/test/handlers.ts +249 -2
- package/src/test/init.test.ts +2 -2
- package/src/test/init_helpers.test.ts +53 -1
- package/src/test/test_data.ts +3 -0
- package/src/types.ts +6 -0
- package/src/utils/duplicate.ts +27 -2
- package/src/utils/post_data.ts +2 -1
- package/src/utils/predict.ts +4 -2
- package/src/utils/submit.ts +37 -8
- package/src/utils/upload_files.ts +2 -1
- package/src/utils/view_api.ts +7 -4
package/dist/index.js
CHANGED
@@ -10,7 +10,9 @@ function semiver(a, b, bool) {
|
|
10
10
|
b = b.split(".");
|
11
11
|
return fn(a[0], b[0]) || fn(a[1], b[1]) || (b[2] = b.slice(2).join("."), bool = /[.-]/.test(a[2] = a.slice(2).join(".")), bool == /[.-]/.test(b[2]) ? fn(a[2], b[2]) : bool ? -1 : 1);
|
12
12
|
}
|
13
|
+
const HOST_URL = "host";
|
13
14
|
const UPLOAD_URL = "upload";
|
15
|
+
const LOGIN_URL = "login";
|
14
16
|
const CONFIG_URL = "config";
|
15
17
|
const API_INFO_URL = "info";
|
16
18
|
const RUNTIME_URL = "runtime";
|
@@ -22,17 +24,22 @@ const CONFIG_ERROR_MSG = "Could not resolve app config. ";
|
|
22
24
|
const SPACE_STATUS_ERROR_MSG = "Could not get space status. ";
|
23
25
|
const API_INFO_ERROR_MSG = "Could not get API info. ";
|
24
26
|
const SPACE_METADATA_ERROR_MSG = "Space metadata could not be loaded. ";
|
27
|
+
const INVALID_URL_MSG = "Invalid URL. A full URL path is required.";
|
28
|
+
const UNAUTHORIZED_MSG = "Not authorized to access this space. ";
|
29
|
+
const INVALID_CREDENTIALS_MSG = "Invalid credentials. Could not login. ";
|
30
|
+
const MISSING_CREDENTIALS_MSG = "Login credentials are required to access this space.";
|
25
31
|
function resolve_root(base_url, root_path, prioritize_base) {
|
26
32
|
if (root_path.startsWith("http://") || root_path.startsWith("https://")) {
|
27
33
|
return prioritize_base ? base_url : root_path;
|
28
34
|
}
|
29
35
|
return base_url + root_path;
|
30
36
|
}
|
31
|
-
async function get_jwt(space, token) {
|
37
|
+
async function get_jwt(space, token, cookies) {
|
32
38
|
try {
|
33
39
|
const r = await fetch(`https://huggingface.co/api/spaces/${space}/jwt`, {
|
34
40
|
headers: {
|
35
|
-
Authorization: `Bearer ${token}
|
41
|
+
Authorization: `Bearer ${token}`,
|
42
|
+
...cookies ? { Cookie: cookies } : {}
|
36
43
|
}
|
37
44
|
});
|
38
45
|
const jwt = (await r.json()).token;
|
@@ -43,13 +50,14 @@ async function get_jwt(space, token) {
|
|
43
50
|
}
|
44
51
|
function map_names_to_ids(fns) {
|
45
52
|
let apis = {};
|
46
|
-
fns.forEach(({ api_name }
|
53
|
+
fns.forEach(({ api_name, id }) => {
|
47
54
|
if (api_name)
|
48
|
-
apis[api_name] =
|
55
|
+
apis[api_name] = id;
|
49
56
|
});
|
50
57
|
return apis;
|
51
58
|
}
|
52
59
|
async function resolve_config(endpoint) {
|
60
|
+
var _a;
|
53
61
|
const headers = this.options.hf_token ? { Authorization: `Bearer ${this.options.hf_token}` } : {};
|
54
62
|
headers["Content-Type"] = "application/json";
|
55
63
|
if (typeof window !== "undefined" && window.gradio_config && location.origin !== "http://localhost:9876" && !window.gradio_config.dev_mode) {
|
@@ -59,22 +67,79 @@ async function resolve_config(endpoint) {
|
|
59
67
|
config.root = config_root;
|
60
68
|
return { ...config, path };
|
61
69
|
} else if (endpoint) {
|
62
|
-
const
|
63
|
-
|
70
|
+
const config_url = join_urls(endpoint, CONFIG_URL);
|
71
|
+
const response = await this.fetch(config_url, {
|
72
|
+
headers,
|
73
|
+
credentials: "include"
|
64
74
|
});
|
75
|
+
if ((response == null ? void 0 : response.status) === 401 && !this.options.auth) {
|
76
|
+
throw new Error(MISSING_CREDENTIALS_MSG);
|
77
|
+
} else if ((response == null ? void 0 : response.status) === 401 && this.options.auth) {
|
78
|
+
throw new Error(INVALID_CREDENTIALS_MSG);
|
79
|
+
}
|
65
80
|
if ((response == null ? void 0 : response.status) === 200) {
|
66
81
|
let config = await response.json();
|
67
82
|
config.path = config.path ?? "";
|
68
83
|
config.root = endpoint;
|
84
|
+
(_a = config.dependencies) == null ? void 0 : _a.forEach((dep, i) => {
|
85
|
+
if (dep.id === void 0) {
|
86
|
+
dep.id = i;
|
87
|
+
}
|
88
|
+
});
|
69
89
|
return config;
|
90
|
+
} else if ((response == null ? void 0 : response.status) === 401) {
|
91
|
+
throw new Error(UNAUTHORIZED_MSG);
|
70
92
|
}
|
71
93
|
throw new Error(CONFIG_ERROR_MSG);
|
72
94
|
}
|
73
95
|
throw new Error(CONFIG_ERROR_MSG);
|
74
96
|
}
|
97
|
+
async function resolve_cookies() {
|
98
|
+
const { http_protocol, host } = await process_endpoint(
|
99
|
+
this.app_reference,
|
100
|
+
this.options.hf_token
|
101
|
+
);
|
102
|
+
try {
|
103
|
+
if (this.options.auth) {
|
104
|
+
const cookie_header = await get_cookie_header(
|
105
|
+
http_protocol,
|
106
|
+
host,
|
107
|
+
this.options.auth,
|
108
|
+
this.fetch,
|
109
|
+
this.options.hf_token
|
110
|
+
);
|
111
|
+
if (cookie_header)
|
112
|
+
this.set_cookies(cookie_header);
|
113
|
+
}
|
114
|
+
} catch (e) {
|
115
|
+
throw Error(e.message);
|
116
|
+
}
|
117
|
+
}
|
118
|
+
async function get_cookie_header(http_protocol, host, auth, _fetch, hf_token) {
|
119
|
+
const formData = new FormData();
|
120
|
+
formData.append("username", auth == null ? void 0 : auth[0]);
|
121
|
+
formData.append("password", auth == null ? void 0 : auth[1]);
|
122
|
+
let headers = {};
|
123
|
+
if (hf_token) {
|
124
|
+
headers.Authorization = `Bearer ${hf_token}`;
|
125
|
+
}
|
126
|
+
const res = await _fetch(`${http_protocol}//${host}/${LOGIN_URL}`, {
|
127
|
+
headers,
|
128
|
+
method: "POST",
|
129
|
+
body: formData,
|
130
|
+
credentials: "include"
|
131
|
+
});
|
132
|
+
if (res.status === 200) {
|
133
|
+
return res.headers.get("set-cookie");
|
134
|
+
} else if (res.status === 401) {
|
135
|
+
throw new Error(INVALID_CREDENTIALS_MSG);
|
136
|
+
} else {
|
137
|
+
throw new Error(SPACE_METADATA_ERROR_MSG);
|
138
|
+
}
|
139
|
+
}
|
75
140
|
function determine_protocol(endpoint) {
|
76
141
|
if (endpoint.startsWith("http")) {
|
77
|
-
const { protocol, host } = new URL(endpoint);
|
142
|
+
const { protocol, host, pathname } = new URL(endpoint);
|
78
143
|
if (host.endsWith("hf.space")) {
|
79
144
|
return {
|
80
145
|
ws_protocol: "wss",
|
@@ -85,7 +150,7 @@ function determine_protocol(endpoint) {
|
|
85
150
|
return {
|
86
151
|
ws_protocol: protocol === "https:" ? "wss" : "ws",
|
87
152
|
http_protocol: protocol,
|
88
|
-
host
|
153
|
+
host: host + (pathname !== "/" ? pathname : "")
|
89
154
|
};
|
90
155
|
} else if (endpoint.startsWith("file:")) {
|
91
156
|
return {
|
@@ -101,18 +166,29 @@ function determine_protocol(endpoint) {
|
|
101
166
|
host: endpoint
|
102
167
|
};
|
103
168
|
}
|
104
|
-
const
|
169
|
+
const parse_and_set_cookies = (cookie_header) => {
|
170
|
+
let cookies = [];
|
171
|
+
const parts = cookie_header.split(/,(?=\s*[^\s=;]+=[^\s=;]+)/);
|
172
|
+
parts.forEach((cookie) => {
|
173
|
+
const [cookie_name, cookie_value] = cookie.split(";")[0].split("=");
|
174
|
+
if (cookie_name && cookie_value) {
|
175
|
+
cookies.push(`${cookie_name.trim()}=${cookie_value.trim()}`);
|
176
|
+
}
|
177
|
+
});
|
178
|
+
return cookies;
|
179
|
+
};
|
180
|
+
const RE_SPACE_NAME = /^[a-zA-Z0-9_\-\.]+\/[a-zA-Z0-9_\-\.]+$/;
|
105
181
|
const RE_SPACE_DOMAIN = /.*hf\.space\/{0,1}$/;
|
106
182
|
async function process_endpoint(app_reference, hf_token) {
|
107
183
|
const headers = {};
|
108
184
|
if (hf_token) {
|
109
185
|
headers.Authorization = `Bearer ${hf_token}`;
|
110
186
|
}
|
111
|
-
const _app_reference = app_reference.trim();
|
187
|
+
const _app_reference = app_reference.trim().replace(/\/$/, "");
|
112
188
|
if (RE_SPACE_NAME.test(_app_reference)) {
|
113
189
|
try {
|
114
190
|
const res = await fetch(
|
115
|
-
`https://huggingface.co/api/spaces/${_app_reference}
|
191
|
+
`https://huggingface.co/api/spaces/${_app_reference}/${HOST_URL}`,
|
116
192
|
{ headers }
|
117
193
|
);
|
118
194
|
const _host = (await res.json()).host;
|
@@ -121,9 +197,7 @@ async function process_endpoint(app_reference, hf_token) {
|
|
121
197
|
...determine_protocol(_host)
|
122
198
|
};
|
123
199
|
} catch (e) {
|
124
|
-
throw new Error(
|
125
|
-
"Space metadata could not be loaded. " + e.message
|
126
|
-
);
|
200
|
+
throw new Error(SPACE_METADATA_ERROR_MSG);
|
127
201
|
}
|
128
202
|
}
|
129
203
|
if (RE_SPACE_DOMAIN.test(_app_reference)) {
|
@@ -140,6 +214,17 @@ async function process_endpoint(app_reference, hf_token) {
|
|
140
214
|
...determine_protocol(_app_reference)
|
141
215
|
};
|
142
216
|
}
|
217
|
+
const join_urls = (...urls) => {
|
218
|
+
try {
|
219
|
+
return urls.reduce((base_url, part) => {
|
220
|
+
base_url = base_url.replace(/\/+$/, "");
|
221
|
+
part = part.replace(/^\/+/, "");
|
222
|
+
return new URL(part, base_url + "/").toString();
|
223
|
+
});
|
224
|
+
} catch (e) {
|
225
|
+
throw new Error(INVALID_URL_MSG);
|
226
|
+
}
|
227
|
+
};
|
143
228
|
function transform_api_info(api_info, config, api_map) {
|
144
229
|
const transformed_info = {
|
145
230
|
named_endpoints: {},
|
@@ -150,13 +235,13 @@ function transform_api_info(api_info, config, api_map) {
|
|
150
235
|
transformed_info[category] = {};
|
151
236
|
Object.entries(api_info[category]).forEach(
|
152
237
|
([endpoint, { parameters, returns }]) => {
|
153
|
-
var _a, _b;
|
154
|
-
const dependencyIndex = config.dependencies.
|
238
|
+
var _a, _b, _c, _d;
|
239
|
+
const dependencyIndex = ((_a = config.dependencies.find(
|
155
240
|
(dep) => dep.api_name === endpoint || dep.api_name === endpoint.replace("/", "")
|
156
|
-
) || api_map[endpoint.replace("/", "")] || -1;
|
157
|
-
const dependencyTypes = dependencyIndex !== -1 ? config.dependencies
|
158
|
-
if (dependencyIndex !== -1 && ((
|
159
|
-
const components = config.dependencies
|
241
|
+
)) == null ? void 0 : _a.id) || api_map[endpoint.replace("/", "")] || -1;
|
242
|
+
const dependencyTypes = dependencyIndex !== -1 ? (_b = config.dependencies.find((dep) => dep.id == dependencyIndex)) == null ? void 0 : _b.types : { continuous: false, generator: false };
|
243
|
+
if (dependencyIndex !== -1 && ((_d = (_c = config.dependencies.find((dep) => dep.id == dependencyIndex)) == null ? void 0 : _c.inputs) == null ? void 0 : _d.length) !== parameters.length) {
|
244
|
+
const components = config.dependencies.find((dep) => dep.id == dependencyIndex).inputs.map(
|
160
245
|
(input) => {
|
161
246
|
var _a2;
|
162
247
|
return (_a2 = config.components.find((c) => c.id === input)) == null ? void 0 : _a2.type;
|
@@ -177,6 +262,7 @@ function transform_api_info(api_info, config, api_map) {
|
|
177
262
|
}
|
178
263
|
});
|
179
264
|
} catch (e) {
|
265
|
+
console.error(e);
|
180
266
|
}
|
181
267
|
}
|
182
268
|
const transform_type = (data, component, serializer, signature_type) => ({
|
@@ -324,7 +410,8 @@ function handle_message(data, last_status) {
|
|
324
410
|
message: !data.success ? data.output.error : void 0,
|
325
411
|
stage: data.success ? "complete" : "error",
|
326
412
|
code: data.code,
|
327
|
-
progress_data: data.progress_data
|
413
|
+
progress_data: data.progress_data,
|
414
|
+
changed_state_ids: data.success ? data.output.changed_state_ids : void 0
|
328
415
|
},
|
329
416
|
data: data.success ? data.output : null
|
330
417
|
};
|
@@ -404,11 +491,14 @@ async function view_api() {
|
|
404
491
|
serialize: false,
|
405
492
|
config: JSON.stringify(config)
|
406
493
|
}),
|
407
|
-
headers
|
494
|
+
headers,
|
495
|
+
credentials: "include"
|
408
496
|
});
|
409
497
|
} else {
|
410
|
-
|
411
|
-
|
498
|
+
const url = join_urls(config.root, API_INFO_URL);
|
499
|
+
response = await this.fetch(url, {
|
500
|
+
headers,
|
501
|
+
credentials: "include"
|
412
502
|
});
|
413
503
|
}
|
414
504
|
if (!response.ok) {
|
@@ -446,7 +536,8 @@ async function upload_files(root_url, files, upload_id) {
|
|
446
536
|
response = await this.fetch(upload_url, {
|
447
537
|
method: "POST",
|
448
538
|
body: formData,
|
449
|
-
headers
|
539
|
+
headers,
|
540
|
+
credentials: "include"
|
450
541
|
});
|
451
542
|
} catch (e) {
|
452
543
|
throw new Error(BROKEN_CONNECTION_MSG + e.message);
|
@@ -603,8 +694,9 @@ async function walk_and_store_blobs(data, type = void 0, path = [], root = false
|
|
603
694
|
}
|
604
695
|
function skip_queue(id, config) {
|
605
696
|
var _a, _b;
|
606
|
-
|
607
|
-
|
697
|
+
let fn_queue = (_b = (_a = config == null ? void 0 : config.dependencies) == null ? void 0 : _a.find((dep) => dep.id == id)) == null ? void 0 : _b.queue;
|
698
|
+
if (fn_queue != null) {
|
699
|
+
return !fn_queue;
|
608
700
|
}
|
609
701
|
return !config.enable_queue;
|
610
702
|
}
|
@@ -660,7 +752,8 @@ async function post_data(url, body, additional_headers) {
|
|
660
752
|
var response = await this.fetch(url, {
|
661
753
|
method: "POST",
|
662
754
|
body: JSON.stringify(body),
|
663
|
-
headers: { ...headers, ...additional_headers }
|
755
|
+
headers: { ...headers, ...additional_headers },
|
756
|
+
credentials: "include"
|
664
757
|
});
|
665
758
|
} catch (e) {
|
666
759
|
return [{ error: BROKEN_CONNECTION_MSG }, 500];
|
@@ -684,10 +777,12 @@ async function predict(endpoint, data) {
|
|
684
777
|
throw new Error("Could not resolve app config");
|
685
778
|
}
|
686
779
|
if (typeof endpoint === "number") {
|
687
|
-
dependency = this.config.dependencies
|
780
|
+
dependency = this.config.dependencies.find((dep) => dep.id == endpoint);
|
688
781
|
} else {
|
689
782
|
const trimmed_endpoint = endpoint.replace(/^\//, "");
|
690
|
-
dependency = this.config.dependencies
|
783
|
+
dependency = this.config.dependencies.find(
|
784
|
+
(dep) => dep.id == this.api_map[trimmed_endpoint]
|
785
|
+
);
|
691
786
|
}
|
692
787
|
if (dependency == null ? void 0 : dependency.types.continuous) {
|
693
788
|
throw new Error(
|
@@ -875,15 +970,31 @@ const hardware_types = [
|
|
875
970
|
"h100x8"
|
876
971
|
];
|
877
972
|
async function duplicate(app_reference, options) {
|
878
|
-
const { hf_token, private: _private, hardware, timeout } = options;
|
973
|
+
const { hf_token, private: _private, hardware, timeout, auth } = options;
|
879
974
|
if (hardware && !hardware_types.includes(hardware)) {
|
880
975
|
throw new Error(
|
881
976
|
`Invalid hardware type provided. Valid types are: ${hardware_types.map((v) => `"${v}"`).join(",")}.`
|
882
977
|
);
|
883
978
|
}
|
979
|
+
const { http_protocol, host } = await process_endpoint(
|
980
|
+
app_reference,
|
981
|
+
hf_token
|
982
|
+
);
|
983
|
+
let cookies = null;
|
984
|
+
if (auth) {
|
985
|
+
const cookie_header = await get_cookie_header(
|
986
|
+
http_protocol,
|
987
|
+
host,
|
988
|
+
auth,
|
989
|
+
fetch
|
990
|
+
);
|
991
|
+
if (cookie_header)
|
992
|
+
cookies = parse_and_set_cookies(cookie_header);
|
993
|
+
}
|
884
994
|
const headers = {
|
885
995
|
Authorization: `Bearer ${hf_token}`,
|
886
|
-
"Content-Type": "application/json"
|
996
|
+
"Content-Type": "application/json",
|
997
|
+
...cookies ? { Cookie: cookies.join("; ") } : {}
|
887
998
|
};
|
888
999
|
const user = (await (await fetch(`https://huggingface.co/api/whoami-v2`, {
|
889
1000
|
headers
|
@@ -1184,6 +1295,34 @@ function submit(endpoint, data, event_data, trigger_id) {
|
|
1184
1295
|
);
|
1185
1296
|
}
|
1186
1297
|
}
|
1298
|
+
const resolve_heartbeat = async (config2) => {
|
1299
|
+
await this._resolve_hearbeat(config2);
|
1300
|
+
};
|
1301
|
+
async function handle_render_config(render_config) {
|
1302
|
+
if (!config)
|
1303
|
+
return;
|
1304
|
+
let render_id = render_config.render_id;
|
1305
|
+
config.components = [
|
1306
|
+
...config.components.filter((c) => c.props.rendered_in !== render_id),
|
1307
|
+
...render_config.components
|
1308
|
+
];
|
1309
|
+
config.dependencies = [
|
1310
|
+
...config.dependencies.filter((d) => d.rendered_in !== render_id),
|
1311
|
+
...render_config.dependencies
|
1312
|
+
];
|
1313
|
+
const any_state = config.components.some((c) => c.type === "state");
|
1314
|
+
const any_unload = config.dependencies.some(
|
1315
|
+
(d) => d.targets.some((t) => t[1] === "unload")
|
1316
|
+
);
|
1317
|
+
config.connect_heartbeat = any_state || any_unload;
|
1318
|
+
await resolve_heartbeat(config);
|
1319
|
+
fire_event({
|
1320
|
+
type: "render",
|
1321
|
+
data: render_config,
|
1322
|
+
endpoint: _endpoint,
|
1323
|
+
fn_index
|
1324
|
+
});
|
1325
|
+
}
|
1187
1326
|
this.handle_blob(config.root, resolved_data, endpoint_info).then(
|
1188
1327
|
async (_payload) => {
|
1189
1328
|
var _a;
|
@@ -1220,6 +1359,9 @@ function submit(endpoint, data, event_data, trigger_id) {
|
|
1220
1359
|
event_data,
|
1221
1360
|
trigger_id
|
1222
1361
|
});
|
1362
|
+
if (output.render_config) {
|
1363
|
+
handle_render_config(output.render_config);
|
1364
|
+
}
|
1223
1365
|
fire_event({
|
1224
1366
|
type: "status",
|
1225
1367
|
endpoint: _endpoint,
|
@@ -1581,12 +1723,7 @@ function submit(endpoint, data, event_data, trigger_id) {
|
|
1581
1723
|
fn_index
|
1582
1724
|
});
|
1583
1725
|
if (data2.render_config) {
|
1584
|
-
|
1585
|
-
type: "render",
|
1586
|
-
data: data2.render_config,
|
1587
|
-
endpoint: _endpoint,
|
1588
|
-
fn_index
|
1589
|
-
});
|
1726
|
+
await handle_render_config(data2.render_config);
|
1590
1727
|
}
|
1591
1728
|
if (complete) {
|
1592
1729
|
fire_event({
|
@@ -1654,12 +1791,14 @@ function get_endpoint_info(api_info, endpoint, api_map, config) {
|
|
1654
1791
|
if (typeof endpoint === "number") {
|
1655
1792
|
fn_index = endpoint;
|
1656
1793
|
endpoint_info = api_info.unnamed_endpoints[fn_index];
|
1657
|
-
dependency = config.dependencies
|
1794
|
+
dependency = config.dependencies.find((dep) => dep.id == endpoint);
|
1658
1795
|
} else {
|
1659
1796
|
const trimmed_endpoint = endpoint.replace(/^\//, "");
|
1660
1797
|
fn_index = api_map[trimmed_endpoint];
|
1661
1798
|
endpoint_info = api_info.named_endpoints[endpoint.trim()];
|
1662
|
-
dependency = config.dependencies
|
1799
|
+
dependency = config.dependencies.find(
|
1800
|
+
(dep) => dep.id == api_map[trimmed_endpoint]
|
1801
|
+
);
|
1663
1802
|
}
|
1664
1803
|
if (typeof fn_index !== "number") {
|
1665
1804
|
throw new Error(
|
@@ -1683,6 +1822,7 @@ class Client {
|
|
1683
1822
|
__publicField(this, "session_hash", Math.random().toString(36).substring(2));
|
1684
1823
|
__publicField(this, "jwt", false);
|
1685
1824
|
__publicField(this, "last_status", {});
|
1825
|
+
__publicField(this, "cookies", null);
|
1686
1826
|
// streaming
|
1687
1827
|
__publicField(this, "stream_status", { open: false });
|
1688
1828
|
__publicField(this, "pending_stream_messages", {});
|
@@ -1699,6 +1839,7 @@ class Client {
|
|
1699
1839
|
__publicField(this, "predict");
|
1700
1840
|
__publicField(this, "open_stream");
|
1701
1841
|
__publicField(this, "resolve_config");
|
1842
|
+
__publicField(this, "resolve_cookies");
|
1702
1843
|
this.app_reference = app_reference;
|
1703
1844
|
this.options = options;
|
1704
1845
|
this.view_api = view_api.bind(this);
|
@@ -1709,10 +1850,15 @@ class Client {
|
|
1709
1850
|
this.predict = predict.bind(this);
|
1710
1851
|
this.open_stream = open_stream.bind(this);
|
1711
1852
|
this.resolve_config = resolve_config.bind(this);
|
1853
|
+
this.resolve_cookies = resolve_cookies.bind(this);
|
1712
1854
|
this.upload = upload.bind(this);
|
1713
1855
|
}
|
1714
1856
|
fetch(input, init) {
|
1715
|
-
|
1857
|
+
const headers = new Headers((init == null ? void 0 : init.headers) || {});
|
1858
|
+
if (this && this.cookies) {
|
1859
|
+
headers.append("Cookie", this.cookies);
|
1860
|
+
}
|
1861
|
+
return fetch(input, { ...init, headers });
|
1716
1862
|
}
|
1717
1863
|
async stream(url) {
|
1718
1864
|
if (typeof window === "undefined" || typeof EventSource === "undefined") {
|
@@ -1735,27 +1881,48 @@ class Client {
|
|
1735
1881
|
global.WebSocket = ws.WebSocket;
|
1736
1882
|
}
|
1737
1883
|
try {
|
1738
|
-
|
1739
|
-
this.
|
1740
|
-
|
1741
|
-
|
1742
|
-
}
|
1743
|
-
|
1744
|
-
const heartbeat_url = new URL(
|
1745
|
-
`${this.config.root}/heartbeat/${this.session_hash}`
|
1746
|
-
);
|
1747
|
-
if (this.jwt) {
|
1748
|
-
heartbeat_url.searchParams.set("__sign", this.jwt);
|
1749
|
-
}
|
1750
|
-
this.heartbeat_event = await this.stream(heartbeat_url);
|
1751
|
-
}
|
1752
|
-
});
|
1884
|
+
if (this.options.auth) {
|
1885
|
+
await this.resolve_cookies();
|
1886
|
+
}
|
1887
|
+
await this._resolve_config().then(
|
1888
|
+
({ config }) => this._resolve_hearbeat(config)
|
1889
|
+
);
|
1753
1890
|
} catch (e) {
|
1754
|
-
throw Error(
|
1891
|
+
throw Error(e);
|
1755
1892
|
}
|
1756
1893
|
this.api_info = await this.view_api();
|
1757
1894
|
this.api_map = map_names_to_ids(((_a = this.config) == null ? void 0 : _a.dependencies) || []);
|
1758
1895
|
}
|
1896
|
+
async _resolve_hearbeat(_config) {
|
1897
|
+
var _a;
|
1898
|
+
if (_config) {
|
1899
|
+
this.config = _config;
|
1900
|
+
if (this.config && this.config.connect_heartbeat) {
|
1901
|
+
if (this.config.space_id && this.options.hf_token) {
|
1902
|
+
this.jwt = await get_jwt(
|
1903
|
+
this.config.space_id,
|
1904
|
+
this.options.hf_token,
|
1905
|
+
this.cookies
|
1906
|
+
);
|
1907
|
+
}
|
1908
|
+
}
|
1909
|
+
}
|
1910
|
+
if (_config.space_id && this.options.hf_token) {
|
1911
|
+
this.jwt = await get_jwt(_config.space_id, this.options.hf_token);
|
1912
|
+
}
|
1913
|
+
if (this.config && this.config.connect_heartbeat) {
|
1914
|
+
const heartbeat_url = new URL(
|
1915
|
+
`${this.config.root}/heartbeat/${this.session_hash}`
|
1916
|
+
);
|
1917
|
+
if (this.jwt) {
|
1918
|
+
heartbeat_url.searchParams.set("__sign", this.jwt);
|
1919
|
+
}
|
1920
|
+
if (!this.heartbeat_event)
|
1921
|
+
this.heartbeat_event = await this.stream(heartbeat_url);
|
1922
|
+
} else {
|
1923
|
+
(_a = this.heartbeat_event) == null ? void 0 : _a.close();
|
1924
|
+
}
|
1925
|
+
}
|
1759
1926
|
static async connect(app_reference, options = {}) {
|
1760
1927
|
const client2 = new this(app_reference, options);
|
1761
1928
|
await client2.init();
|
@@ -1782,8 +1949,7 @@ class Client {
|
|
1782
1949
|
}
|
1783
1950
|
return this.config_success(config);
|
1784
1951
|
} catch (e) {
|
1785
|
-
|
1786
|
-
if (space_id) {
|
1952
|
+
if (space_id && status_callback) {
|
1787
1953
|
check_space_status(
|
1788
1954
|
space_id,
|
1789
1955
|
RE_SPACE_NAME.test(space_id) ? "space_name" : "subdomain",
|
@@ -1797,6 +1963,7 @@ class Client {
|
|
1797
1963
|
load_status: "error",
|
1798
1964
|
detail: "NOT_FOUND"
|
1799
1965
|
});
|
1966
|
+
throw Error(e);
|
1800
1967
|
}
|
1801
1968
|
}
|
1802
1969
|
}
|
@@ -1818,6 +1985,9 @@ class Client {
|
|
1818
1985
|
return this.prepare_return_obj();
|
1819
1986
|
}
|
1820
1987
|
async handle_space_success(status) {
|
1988
|
+
if (!this) {
|
1989
|
+
throw new Error(CONFIG_ERROR_MSG);
|
1990
|
+
}
|
1821
1991
|
const { status_callback } = this.options;
|
1822
1992
|
if (status_callback)
|
1823
1993
|
status_callback(status);
|
@@ -1830,7 +2000,6 @@ class Client {
|
|
1830
2000
|
const _config = await this.config_success(this.config);
|
1831
2001
|
return _config;
|
1832
2002
|
} catch (e) {
|
1833
|
-
console.error(e);
|
1834
2003
|
if (status_callback) {
|
1835
2004
|
status_callback({
|
1836
2005
|
status: "error",
|
@@ -1839,6 +2008,7 @@ class Client {
|
|
1839
2008
|
detail: "NOT_FOUND"
|
1840
2009
|
});
|
1841
2010
|
}
|
2011
|
+
throw e;
|
1842
2012
|
}
|
1843
2013
|
}
|
1844
2014
|
}
|
@@ -1889,7 +2059,8 @@ class Client {
|
|
1889
2059
|
const response = await this.fetch(`${root_url}/component_server/`, {
|
1890
2060
|
method: "POST",
|
1891
2061
|
body,
|
1892
|
-
headers
|
2062
|
+
headers,
|
2063
|
+
credentials: "include"
|
1893
2064
|
});
|
1894
2065
|
if (!response.ok) {
|
1895
2066
|
throw new Error(
|
@@ -1902,6 +2073,9 @@ class Client {
|
|
1902
2073
|
console.warn(e);
|
1903
2074
|
}
|
1904
2075
|
}
|
2076
|
+
set_cookies(raw_cookies) {
|
2077
|
+
this.cookies = parse_and_set_cookies(raw_cookies).join("; ");
|
2078
|
+
}
|
1905
2079
|
prepare_return_obj() {
|
1906
2080
|
return {
|
1907
2081
|
config: this.config,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/test/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,KAAK,CAAC;
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/test/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,KAAK,CAAC;AA4CzD,eAAO,MAAM,QAAQ,EAAE,cAAc,EAgoBpC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"test_data.d.ts","sourceRoot":"","sources":["../../src/test/test_data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;CAuB5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,OAAO,CA6CjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAiC9C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,
|
1
|
+
{"version":3,"file":"test_data.d.ts","sourceRoot":"","sources":["../../src/test/test_data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;CAuB5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,OAAO,CA6CjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAiC9C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MA+V7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAmB3B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;CAoBvC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,OAAO,CA0C/C,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC"}
|
package/dist/types.d.ts
CHANGED
@@ -108,6 +108,7 @@ export interface Config {
|
|
108
108
|
max_file_size?: number;
|
109
109
|
}
|
110
110
|
export interface Dependency {
|
111
|
+
id: number;
|
111
112
|
targets: [number, string][];
|
112
113
|
inputs: number[];
|
113
114
|
outputs: number[];
|
@@ -133,6 +134,7 @@ export interface Dependency {
|
|
133
134
|
final_event: Payload | null;
|
134
135
|
show_api: boolean;
|
135
136
|
zerogpu?: boolean;
|
137
|
+
rendered_in: number | null;
|
136
138
|
}
|
137
139
|
export interface DependencyTypes {
|
138
140
|
continuous: boolean;
|
@@ -161,6 +163,7 @@ export interface DuplicateOptions extends ClientOptions {
|
|
161
163
|
export interface ClientOptions {
|
162
164
|
hf_token?: `hf_${string}`;
|
163
165
|
status_callback?: SpaceStatusCallback | null;
|
166
|
+
auth?: [string, string] | null;
|
164
167
|
}
|
165
168
|
export interface FileData {
|
166
169
|
name: string;
|
@@ -199,6 +202,8 @@ export interface RenderMessage {
|
|
199
202
|
data: {
|
200
203
|
components: any[];
|
201
204
|
layout: any;
|
205
|
+
dependencies: Dependency[];
|
206
|
+
render_id: number;
|
202
207
|
};
|
203
208
|
}
|
204
209
|
export interface Status {
|
@@ -219,6 +224,7 @@ export interface Status {
|
|
219
224
|
desc: string | null;
|
220
225
|
}[];
|
221
226
|
time?: Date;
|
227
|
+
changed_state_ids?: number[];
|
222
228
|
}
|
223
229
|
export {};
|
224
230
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,OAAO;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,IAAI,EAAE;QACL,IAAI,EAAE,GAAG,CAAC;QACV,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS;IAC1D,UAAU,EAAE,CAAC,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS;IACrD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;AAIrE,MAAM,MAAM,cAAc,GAAG,CAC5B,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,KACtB,YAAY,CAAC;AAElB,MAAM,MAAM,eAAe,GAAG,CAC7B,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,UAAU,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,YAAY,CAAC,CAAC;AAI3B,KAAK,KAAK,GAAG,CAAC,CAAC,SAAS,SAAS,EAChC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,KACtB,YAAY,CAAC;AAElB,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,gBAAgB,EAAE,CACjB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EAAE,KACX,GAAG,CAAC;IACT,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,KAAK,CAAC;IACV,GAAG,EAAE,KAAK,CAAC;IACX,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAIF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAClE,MAAM,EACH,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,UAAU,GACV,WAAW,CAAC;IACf,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;IACjC,MAAM,EACH,aAAa,GACb,cAAc,GACd,aAAa,GACb,eAAe,GACf,QAAQ,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;AAI3D,MAAM,WAAW,MAAM;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IAClD,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../src/utils/duplicate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../src/utils/duplicate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAQnC,wBAAsB,SAAS,CAC9B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAuGjB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"post_data.d.ts","sourceRoot":"","sources":["../../src/utils/post_data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B,wBAAsB,SAAS,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,kBAAkB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"post_data.d.ts","sourceRoot":"","sources":["../../src/utils/post_data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B,wBAAsB,SAAS,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,kBAAkB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CA4BjC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"predict.d.ts","sourceRoot":"","sources":["../../src/utils/predict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzD,wBAAsB,OAAO,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,OAAO,CAAC,YAAY,CAAC,
|
1
|
+
{"version":3,"file":"predict.d.ts","sourceRoot":"","sources":["../../src/utils/predict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzD,wBAAsB,OAAO,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,OAAO,CAAC,YAAY,CAAC,CAkDvB"}
|