@gradio/client 0.1.2 → 0.1.3

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @gradio/client
2
2
 
3
+ ## 0.1.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#4357](https://github.com/gradio-app/gradio/pull/4357) [`0dbd8f7f`](https://github.com/gradio-app/gradio/commit/0dbd8f7fee4b4877f783fa7bc493f98bbfc3d01d) Thanks [@pngwn](https://github.com/pngwn)! - Various internal refactors and cleanups.
8
+
3
9
  ## 0.1.2
4
10
 
5
11
  ### Patch Changes
package/dist/client.d.ts CHANGED
@@ -7,7 +7,7 @@ declare type client_return = {
7
7
  predict: predict;
8
8
  config: Config;
9
9
  submit: (endpoint: string | number, data?: unknown[], event_data?: unknown) => SubmitReturn;
10
- view_api: (c?: Config) => Promise<Record<string, any>>;
10
+ view_api: (c?: Config) => Promise<ApiInfo<JsApiData>>;
11
11
  };
12
12
  declare type SubmitReturn = {
13
13
  on: event;
@@ -30,6 +30,33 @@ export declare function client(app_reference: string, options?: {
30
30
  status_callback?: SpaceStatusCallback;
31
31
  normalise_files?: boolean;
32
32
  }): Promise<client_return>;
33
+ interface ApiData {
34
+ label: string;
35
+ type: {
36
+ type: any;
37
+ description: string;
38
+ };
39
+ component: string;
40
+ example_input?: any;
41
+ }
42
+ interface JsApiData {
43
+ label: string;
44
+ type: string;
45
+ component: string;
46
+ example_input: any;
47
+ }
48
+ interface EndpointInfo<T extends ApiData | JsApiData> {
49
+ parameters: T[];
50
+ returns: T[];
51
+ }
52
+ interface ApiInfo<T extends ApiData | JsApiData> {
53
+ named_endpoints: {
54
+ [key: string]: EndpointInfo<T>;
55
+ };
56
+ unnamed_endpoints: {
57
+ [key: string]: EndpointInfo<T>;
58
+ };
59
+ }
33
60
  export declare function handle_blob(endpoint: string, data: unknown[], api_info: any, token?: `hf_${string}`): Promise<unknown[]>;
34
61
  export declare function walk_and_store_blobs(param: any, type?: any, path?: any[], root?: boolean, api_info?: any): Promise<any[]>;
35
62
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAQN,cAAc,EACd,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EACX,SAAS,EACT,aAAa,EAIb,YAAY,EACZ,cAAc,EAGd,mBAAmB,EAEnB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,aAAK,KAAK,GAAG,CAAC,CAAC,SAAS,SAAS,EAChC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,KACtB,YAAY,CAAC;AAClB,aAAK,OAAO,GAAG,CACd,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,CAAC,EAAE,OAAO,EAAE,EAChB,UAAU,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,aAAK,aAAa,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CACP,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,CAAC,EAAE,OAAO,EAAE,EAChB,UAAU,CAAC,EAAE,OAAO,KAChB,YAAY,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,aAAK,YAAY,GAAG;IACnB,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;AAKF,wBAAsB,SAAS,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,GACpB,OAAO,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAmBjC;AAED,eAAO,IAAI,QAAQ,KAAA,CAAC;AAEpB,wBAAsB,YAAY,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,GACpB,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED,wBAAsB,SAAS,CAC9B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE;IACR,QAAQ,EAAE,MAAM,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,0BAyED;AAED,wBAAsB,MAAM,CAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IACR,QAAQ,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;CACE,GAC3B,OAAO,CAAC,aAAa,CAAC,CA6dxB;AAkOD,wBAAsB,WAAW,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,QAAQ,KAAA,EACR,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,GACpB,OAAO,CAAC,OAAO,EAAE,CAAC,CA0CpB;AAUD,wBAAsB,oBAAoB,CACzC,KAAK,KAAA,EACL,IAAI,MAAY,EAChB,IAAI,QAAK,EACT,IAAI,UAAQ,EACZ,QAAQ,MAAY,kBAyEpB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -263,9 +263,9 @@ async function client(app_reference, options = { normalise_files: true }) {
263
263
  view_api
264
264
  // duplicate
265
265
  };
266
- let transform_files = normalise_files ?? true;
266
+ const transform_files = normalise_files ?? true;
267
267
  if (typeof window === "undefined" || !("WebSocket" in window)) {
268
- const ws = await import("./wrapper-b7460963.js");
268
+ const ws = await import("./wrapper-6f348d45.js");
269
269
  NodeBlob = (await import("node:buffer")).Blob;
270
270
  global.WebSocket = ws.WebSocket;
271
271
  }
@@ -545,12 +545,12 @@ async function client(app_reference, options = { normalise_files: true }) {
545
545
  });
546
546
  function fire_event(event) {
547
547
  const narrowed_listener_map = listener_map;
548
- let listeners = narrowed_listener_map[event.type] || [];
548
+ const listeners = narrowed_listener_map[event.type] || [];
549
549
  listeners == null ? void 0 : listeners.forEach((l) => l(event));
550
550
  }
551
551
  function on(eventType, listener) {
552
552
  const narrowed_listener_map = listener_map;
553
- let listeners = narrowed_listener_map[eventType] || [];
553
+ const listeners = narrowed_listener_map[eventType] || [];
554
554
  narrowed_listener_map[eventType] = listeners;
555
555
  listeners == null ? void 0 : listeners.push(listener);
556
556
  return { on, off, cancel, destroy };
@@ -615,42 +615,41 @@ async function client(app_reference, options = { normalise_files: true }) {
615
615
  if (hf_token) {
616
616
  headers.Authorization = `Bearer ${hf_token}`;
617
617
  }
618
- try {
619
- let response;
620
- if (semiver(config2.version || "2.0.0", "3.30") < 0) {
621
- response = await fetch(
622
- "https://gradio-space-api-fetcher-v2.hf.space/api",
623
- {
624
- method: "POST",
625
- body: JSON.stringify({
626
- serialize: false,
627
- config: JSON.stringify(config2)
628
- }),
629
- headers
630
- }
631
- );
632
- } else {
633
- response = await fetch(`${config2.root}/info`, {
618
+ let response;
619
+ if (semiver(config2.version || "2.0.0", "3.30") < 0) {
620
+ response = await fetch(
621
+ "https://gradio-space-api-fetcher-v2.hf.space/api",
622
+ {
623
+ method: "POST",
624
+ body: JSON.stringify({
625
+ serialize: false,
626
+ config: JSON.stringify(config2)
627
+ }),
634
628
  headers
635
- });
636
- }
637
- let api_info = await response.json();
638
- if ("api" in api_info) {
639
- api_info = api_info.api;
640
- }
641
- if (api_info.named_endpoints["/predict"] && !api_info.unnamed_endpoints["0"]) {
642
- api_info.unnamed_endpoints[0] = api_info.named_endpoints["/predict"];
643
- }
644
- const x = transform_api_info(api_info, config2, api_map);
645
- return x;
646
- } catch (e) {
647
- return [{ error: BROKEN_CONNECTION_MSG }, 500];
629
+ }
630
+ );
631
+ } else {
632
+ response = await fetch(`${config2.root}/info`, {
633
+ headers
634
+ });
635
+ }
636
+ if (!response.ok) {
637
+ throw new Error(BROKEN_CONNECTION_MSG);
638
+ }
639
+ let api_info = await response.json();
640
+ if ("api" in api_info) {
641
+ api_info = api_info.api;
648
642
  }
643
+ if (api_info.named_endpoints["/predict"] && !api_info.unnamed_endpoints["0"]) {
644
+ api_info.unnamed_endpoints[0] = api_info.named_endpoints["/predict"];
645
+ }
646
+ const x = transform_api_info(api_info, config2, api_map);
647
+ return x;
649
648
  }
650
649
  });
651
650
  }
652
651
  function transform_output(data, api_info, root_url, remote_url) {
653
- let transformed_data = data.map((d, i) => {
652
+ return data.map((d, i) => {
654
653
  var _a, _b, _c, _d;
655
654
  if (((_b = (_a = api_info.returns) == null ? void 0 : _a[i]) == null ? void 0 : _b.component) === "File") {
656
655
  return normalise_file(d, root_url, remote_url);
@@ -664,7 +663,6 @@ function transform_output(data, api_info, root_url, remote_url) {
664
663
  return d;
665
664
  }
666
665
  });
667
- return transformed_data;
668
666
  }
669
667
  function normalise_file(file, root, root_url) {
670
668
  if (file == null)
@@ -688,7 +686,7 @@ function normalise_file(file, root, root_url) {
688
686
  if (!root_url) {
689
687
  file.data = root + "/file=" + file.name;
690
688
  } else {
691
- file.data = "/proxy=" + root_url + "/file=" + file.name;
689
+ file.data = "/proxy=" + root_url + "file=" + file.name;
692
690
  }
693
691
  }
694
692
  return file;
@@ -785,34 +783,32 @@ async function handle_blob(endpoint, data, api_info, token) {
785
783
  true,
786
784
  api_info
787
785
  );
788
- return new Promise((res) => {
789
- Promise.all(
790
- blob_refs.map(async ({ path, blob, data: data2, type }) => {
791
- if (blob) {
792
- const file_url = (await upload_files(endpoint, [blob], token)).files[0];
793
- return { path, file_url, type };
794
- } else {
795
- return { path, base64: data2, type };
796
- }
797
- })
798
- ).then((r) => {
799
- r.forEach(({ path, file_url, base64, type }) => {
800
- if (base64) {
801
- update_object(data, base64, path);
802
- } else if (type === "Gallery") {
803
- update_object(data, file_url, path);
804
- } else if (file_url) {
805
- const o = {
806
- is_file: true,
807
- name: `${file_url}`,
808
- data: null
809
- // orig_name: "file.csv"
810
- };
811
- update_object(data, o, path);
812
- }
813
- });
814
- res(data);
815
- }).catch(console.log);
786
+ return Promise.all(
787
+ blob_refs.map(async ({ path, blob, data: data2, type }) => {
788
+ if (blob) {
789
+ const file_url = (await upload_files(endpoint, [blob], token)).files[0];
790
+ return { path, file_url, type };
791
+ } else {
792
+ return { path, base64: data2, type };
793
+ }
794
+ })
795
+ ).then((r) => {
796
+ r.forEach(({ path, file_url, base64, type }) => {
797
+ if (base64) {
798
+ update_object(data, base64, path);
799
+ } else if (type === "Gallery") {
800
+ update_object(data, file_url, path);
801
+ } else if (file_url) {
802
+ const o = {
803
+ is_file: true,
804
+ name: `${file_url}`,
805
+ data: null
806
+ // orig_name: "file.csv"
807
+ };
808
+ update_object(data, o, path);
809
+ }
810
+ });
811
+ return data;
816
812
  });
817
813
  }
818
814
  function update_object(object, newValue, stack) {
@@ -958,6 +954,15 @@ async function check_space_status(id, type, status_callback) {
958
954
  check_space_status(id, type, status_callback);
959
955
  }, 1e3);
960
956
  break;
957
+ case "PAUSED":
958
+ status_callback({
959
+ status: "paused",
960
+ load_status: "error",
961
+ message: "This space has been paused by the author. If you would like to try this demo, consider duplicating the space.",
962
+ detail: stage,
963
+ discussions_enabled: await discussions_enabled(space_name)
964
+ });
965
+ break;
961
966
  case "RUNNING":
962
967
  case "RUNNING_BUILDING":
963
968
  status_callback({
package/dist/types.d.ts CHANGED
@@ -58,8 +58,8 @@ export interface SpaceStatusNormal {
58
58
  message: string;
59
59
  }
60
60
  export interface SpaceStatusError {
61
- status: "space_error";
62
- detail: "NO_APP_FILE" | "CONFIG_ERROR" | "BUILD_ERROR" | "RUNTIME_ERROR";
61
+ status: "space_error" | "paused";
62
+ detail: "NO_APP_FILE" | "CONFIG_ERROR" | "BUILD_ERROR" | "RUNTIME_ERROR" | "PAUSED";
63
63
  load_status: "error";
64
64
  message: string;
65
65
  discussions_enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ import require$$0$3 from "events";
8
8
  import require$$1$1 from "https";
9
9
  import require$$2 from "http";
10
10
  import require$$7 from "url";
11
+ function getDefaultExportFromCjs(x) {
12
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
13
+ }
11
14
  function getAugmentedNamespace(n) {
12
15
  if (n.__esModule)
13
16
  return n;
@@ -135,16 +138,8 @@ function createWebSocketStream(ws, options) {
135
138
  return duplex;
136
139
  }
137
140
  var stream = createWebSocketStream;
138
- const stream$1 = stream;
139
- var bufferUtilExports = {};
140
- var bufferUtil$1 = {
141
- get exports() {
142
- return bufferUtilExports;
143
- },
144
- set exports(v) {
145
- bufferUtilExports = v;
146
- }
147
- };
141
+ const stream$1 = /* @__PURE__ */ getDefaultExportFromCjs(stream);
142
+ var bufferUtil$1 = { exports: {} };
148
143
  var constants = {
149
144
  BINARY_TYPES: ["nodebuffer", "arraybuffer", "fragments"],
150
145
  EMPTY_BUFFER: Buffer.alloc(0),
@@ -218,13 +213,13 @@ bufferUtil$1.exports = {
218
213
  if (!process.env.WS_NO_BUFFER_UTIL) {
219
214
  try {
220
215
  const bufferUtil2 = require("bufferutil");
221
- mask = bufferUtilExports.mask = function(source, mask2, output, offset, length) {
216
+ mask = bufferUtil$1.exports.mask = function(source, mask2, output, offset, length) {
222
217
  if (length < 48)
223
218
  _mask(source, mask2, output, offset, length);
224
219
  else
225
220
  bufferUtil2.mask(source, mask2, output, offset, length);
226
221
  };
227
- unmask$1 = bufferUtilExports.unmask = function(buffer, mask2) {
222
+ unmask$1 = bufferUtil$1.exports.unmask = function(buffer, mask2) {
228
223
  if (buffer.length < 32)
229
224
  _unmask(buffer, mask2);
230
225
  else
@@ -233,6 +228,7 @@ if (!process.env.WS_NO_BUFFER_UTIL) {
233
228
  } catch (e) {
234
229
  }
235
230
  }
231
+ var bufferUtilExports = bufferUtil$1.exports;
236
232
  const kDone = Symbol("kDone");
237
233
  const kRun = Symbol("kRun");
238
234
  let Limiter$1 = class Limiter {
@@ -650,15 +646,7 @@ function inflateOnError(err) {
650
646
  err[kStatusCode$2] = 1007;
651
647
  this[kCallback](err);
652
648
  }
653
- var validationExports = {};
654
- var validation = {
655
- get exports() {
656
- return validationExports;
657
- },
658
- set exports(v) {
659
- validationExports = v;
660
- }
661
- };
649
+ var validation = { exports: {} };
662
650
  const __viteOptionalPeerDep_utf8Validate_ws = {};
663
651
  const __viteOptionalPeerDep_utf8Validate_ws$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
664
652
  __proto__: null,
@@ -843,18 +831,19 @@ validation.exports = {
843
831
  tokenChars: tokenChars$2
844
832
  };
845
833
  if (isUtf8) {
846
- isValidUTF8_1 = validationExports.isValidUTF8 = function(buf) {
834
+ isValidUTF8_1 = validation.exports.isValidUTF8 = function(buf) {
847
835
  return buf.length < 24 ? _isValidUTF8(buf) : isUtf8(buf);
848
836
  };
849
837
  } else if (!process.env.WS_NO_UTF_8_VALIDATE) {
850
838
  try {
851
839
  const isValidUTF82 = require$$1;
852
- isValidUTF8_1 = validationExports.isValidUTF8 = function(buf) {
840
+ isValidUTF8_1 = validation.exports.isValidUTF8 = function(buf) {
853
841
  return buf.length < 32 ? _isValidUTF8(buf) : isValidUTF82(buf);
854
842
  };
855
843
  } catch (e) {
856
844
  }
857
845
  }
846
+ var validationExports = validation.exports;
858
847
  const { Writable } = require$$0;
859
848
  const PerMessageDeflate$3 = permessageDeflate;
860
849
  const {
@@ -1380,7 +1369,7 @@ function error(ErrorCtor, message, prefix, statusCode, errorCode) {
1380
1369
  err[kStatusCode$1] = statusCode;
1381
1370
  return err;
1382
1371
  }
1383
- const receiver$1 = receiver;
1372
+ const receiver$1 = /* @__PURE__ */ getDefaultExportFromCjs(receiver);
1384
1373
  const { randomFillSync } = require$$5;
1385
1374
  const PerMessageDeflate$2 = permessageDeflate;
1386
1375
  const { EMPTY_BUFFER: EMPTY_BUFFER$1 } = constants;
@@ -1784,7 +1773,7 @@ let Sender$1 = class Sender {
1784
1773
  }
1785
1774
  };
1786
1775
  var sender = Sender$1;
1787
- const sender$1 = sender;
1776
+ const sender$1 = /* @__PURE__ */ getDefaultExportFromCjs(sender);
1788
1777
  const { kForOnEventAttribute: kForOnEventAttribute$1, kListener: kListener$1 } = constants;
1789
1778
  const kCode = Symbol("kCode");
1790
1779
  const kData = Symbol("kData");
@@ -3034,7 +3023,7 @@ function socketOnError$1() {
3034
3023
  this.destroy();
3035
3024
  }
3036
3025
  }
3037
- const WebSocket$2 = websocket;
3026
+ const WebSocket$2 = /* @__PURE__ */ getDefaultExportFromCjs(websocket);
3038
3027
  const { tokenChars } = validationExports;
3039
3028
  function parse(header) {
3040
3029
  const protocols = /* @__PURE__ */ new Set();
@@ -3457,7 +3446,7 @@ function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
3457
3446
  abortHandshake(socket, code, message);
3458
3447
  }
3459
3448
  }
3460
- const websocketServer$1 = websocketServer;
3449
+ const websocketServer$1 = /* @__PURE__ */ getDefaultExportFromCjs(websocketServer);
3461
3450
  export {
3462
3451
  receiver$1 as Receiver,
3463
3452
  sender$1 as Sender,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/client",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Gradio UI packages",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/client.ts CHANGED
@@ -45,7 +45,7 @@ type client_return = {
45
45
  data?: unknown[],
46
46
  event_data?: unknown
47
47
  ) => SubmitReturn;
48
- view_api: (c?: Config) => Promise<Record<string, any>>;
48
+ view_api: (c?: Config) => Promise<ApiInfo<JsApiData>>;
49
49
  };
50
50
 
51
51
  type SubmitReturn = {
@@ -214,7 +214,7 @@ export async function client(
214
214
  // duplicate
215
215
  };
216
216
 
217
- let transform_files = normalise_files ?? true;
217
+ const transform_files = normalise_files ?? true;
218
218
  if (typeof window === "undefined" || !("WebSocket" in window)) {
219
219
  const ws = await import("ws");
220
220
  NodeBlob = (await import("node:buffer")).Blob;
@@ -250,7 +250,7 @@ export async function client(
250
250
  ...return_obj
251
251
  };
252
252
  }
253
- let api;
253
+ let api: ApiInfo<JsApiData>;
254
254
  async function handle_space_sucess(status: SpaceStatus) {
255
255
  if (status_callback) status_callback(status);
256
256
  if (status.status === "running")
@@ -357,7 +357,6 @@ export async function client(
357
357
  let complete: false | Record<string, any> = false;
358
358
  const listener_map: ListenerMap<EventType> = {};
359
359
 
360
- //@ts-ignore
361
360
  handle_blob(
362
361
  `${http_protocol}//${host + config.path}`,
363
362
  data,
@@ -548,7 +547,7 @@ export async function client(
548
547
 
549
548
  function fire_event<K extends EventType>(event: Event<K>) {
550
549
  const narrowed_listener_map: ListenerMap<K> = listener_map;
551
- let listeners = narrowed_listener_map[event.type] || [];
550
+ const listeners = narrowed_listener_map[event.type] || [];
552
551
  listeners?.forEach((l) => l(event));
553
552
  }
554
553
 
@@ -557,7 +556,7 @@ export async function client(
557
556
  listener: EventListener<K>
558
557
  ) {
559
558
  const narrowed_listener_map: ListenerMap<K> = listener_map;
560
- let listeners = narrowed_listener_map[eventType] || [];
559
+ const listeners = narrowed_listener_map[eventType] || [];
561
560
  narrowed_listener_map[eventType] = listeners;
562
561
  listeners?.push(listener);
563
562
 
@@ -627,9 +626,7 @@ export async function client(
627
626
  };
628
627
  }
629
628
 
630
- async function view_api(
631
- config?: Config
632
- ): Promise<ApiInfo<JsApiData> | [{ error: string }, 500]> {
629
+ async function view_api(config?: Config): Promise<ApiInfo<JsApiData>> {
633
630
  if (api) return api;
634
631
 
635
632
  const headers: {
@@ -639,46 +636,46 @@ export async function client(
639
636
  if (hf_token) {
640
637
  headers.Authorization = `Bearer ${hf_token}`;
641
638
  }
642
- try {
643
- let response: Response;
644
- // @ts-ignore
645
- if (semiver(config.version || "2.0.0", "3.30") < 0) {
646
- response = await fetch(
647
- "https://gradio-space-api-fetcher-v2.hf.space/api",
648
- {
649
- method: "POST",
650
- body: JSON.stringify({
651
- serialize: false,
652
- config: JSON.stringify(config)
653
- }),
654
- headers
655
- }
656
- );
657
- } else {
658
- response = await fetch(`${config.root}/info`, {
639
+ let response: Response;
640
+ // @ts-ignore
641
+ if (semiver(config.version || "2.0.0", "3.30") < 0) {
642
+ response = await fetch(
643
+ "https://gradio-space-api-fetcher-v2.hf.space/api",
644
+ {
645
+ method: "POST",
646
+ body: JSON.stringify({
647
+ serialize: false,
648
+ config: JSON.stringify(config)
649
+ }),
659
650
  headers
660
- });
661
- }
651
+ }
652
+ );
653
+ } else {
654
+ response = await fetch(`${config.root}/info`, {
655
+ headers
656
+ });
657
+ }
662
658
 
663
- let api_info = (await response.json()) as
664
- | ApiInfo<ApiData>
665
- | { api: ApiInfo<ApiData> };
666
- if ("api" in api_info) {
667
- api_info = api_info.api;
668
- }
659
+ if (!response.ok) {
660
+ throw new Error(BROKEN_CONNECTION_MSG);
661
+ }
669
662
 
670
- if (
671
- api_info.named_endpoints["/predict"] &&
672
- !api_info.unnamed_endpoints["0"]
673
- ) {
674
- api_info.unnamed_endpoints[0] = api_info.named_endpoints["/predict"];
675
- }
663
+ let api_info = (await response.json()) as
664
+ | ApiInfo<ApiData>
665
+ | { api: ApiInfo<ApiData> };
666
+ if ("api" in api_info) {
667
+ api_info = api_info.api;
668
+ }
676
669
 
677
- const x = transform_api_info(api_info, config, api_map);
678
- return x;
679
- } catch (e) {
680
- return [{ error: BROKEN_CONNECTION_MSG }, 500];
670
+ if (
671
+ api_info.named_endpoints["/predict"] &&
672
+ !api_info.unnamed_endpoints["0"]
673
+ ) {
674
+ api_info.unnamed_endpoints[0] = api_info.named_endpoints["/predict"];
681
675
  }
676
+
677
+ const x = transform_api_info(api_info, config, api_map);
678
+ return x;
682
679
  }
683
680
  });
684
681
  }
@@ -689,7 +686,7 @@ function transform_output(
689
686
  root_url: string,
690
687
  remote_url?: string
691
688
  ): unknown[] {
692
- let transformed_data = data.map((d, i) => {
689
+ return data.map((d, i) => {
693
690
  if (api_info.returns?.[i]?.component === "File") {
694
691
  return normalise_file(d, root_url, remote_url);
695
692
  } else if (api_info.returns?.[i]?.component === "Gallery") {
@@ -704,8 +701,6 @@ function transform_output(
704
701
  return d;
705
702
  }
706
703
  });
707
-
708
- return transformed_data;
709
704
  }
710
705
 
711
706
  function normalise_file(
@@ -750,7 +745,7 @@ function normalise_file(
750
745
  if (!root_url) {
751
746
  file.data = root + "/file=" + file.name;
752
747
  } else {
753
- file.data = "/proxy=" + root_url + "/file=" + file.name;
748
+ file.data = "/proxy=" + root_url + "file=" + file.name;
754
749
  }
755
750
  }
756
751
  return file;
@@ -921,38 +916,33 @@ export async function handle_blob(
921
916
  api_info
922
917
  );
923
918
 
924
- return new Promise((res) => {
925
- Promise.all(
926
- blob_refs.map(async ({ path, blob, data, type }) => {
927
- if (blob) {
928
- const file_url = (await upload_files(endpoint, [blob], token))
929
- .files[0];
930
- return { path, file_url, type };
931
- } else {
932
- return { path, base64: data, type };
933
- }
934
- })
935
- )
936
- .then((r) => {
937
- r.forEach(({ path, file_url, base64, type }) => {
938
- if (base64) {
939
- update_object(data, base64, path);
940
- } else if (type === "Gallery") {
941
- update_object(data, file_url, path);
942
- } else if (file_url) {
943
- const o = {
944
- is_file: true,
945
- name: `${file_url}`,
946
- data: null
947
- // orig_name: "file.csv"
948
- };
949
- update_object(data, o, path);
950
- }
951
- });
919
+ return Promise.all(
920
+ blob_refs.map(async ({ path, blob, data, type }) => {
921
+ if (blob) {
922
+ const file_url = (await upload_files(endpoint, [blob], token)).files[0];
923
+ return { path, file_url, type };
924
+ } else {
925
+ return { path, base64: data, type };
926
+ }
927
+ })
928
+ ).then((r) => {
929
+ r.forEach(({ path, file_url, base64, type }) => {
930
+ if (base64) {
931
+ update_object(data, base64, path);
932
+ } else if (type === "Gallery") {
933
+ update_object(data, file_url, path);
934
+ } else if (file_url) {
935
+ const o = {
936
+ is_file: true,
937
+ name: `${file_url}`,
938
+ data: null
939
+ // orig_name: "file.csv"
940
+ };
941
+ update_object(data, o, path);
942
+ }
943
+ });
952
944
 
953
- res(data);
954
- })
955
- .catch(console.log);
945
+ return data;
956
946
  });
957
947
  }
958
948
 
@@ -1139,9 +1129,18 @@ async function check_space_status(
1139
1129
 
1140
1130
  setTimeout(() => {
1141
1131
  check_space_status(id, type, status_callback);
1142
- }, 1000);
1132
+ }, 1000); // poll for status
1133
+ break;
1134
+ case "PAUSED":
1135
+ status_callback({
1136
+ status: "paused",
1137
+ load_status: "error",
1138
+ message:
1139
+ "This space has been paused by the author. If you would like to try this demo, consider duplicating the space.",
1140
+ detail: stage,
1141
+ discussions_enabled: await discussions_enabled(space_name)
1142
+ });
1143
1143
  break;
1144
- // poll for status
1145
1144
  case "RUNNING":
1146
1145
  case "RUNNING_BUILDING":
1147
1146
  status_callback({
package/src/types.ts CHANGED
@@ -67,8 +67,13 @@ export interface SpaceStatusNormal {
67
67
  message: string;
68
68
  }
69
69
  export interface SpaceStatusError {
70
- status: "space_error";
71
- detail: "NO_APP_FILE" | "CONFIG_ERROR" | "BUILD_ERROR" | "RUNTIME_ERROR";
70
+ status: "space_error" | "paused";
71
+ detail:
72
+ | "NO_APP_FILE"
73
+ | "CONFIG_ERROR"
74
+ | "BUILD_ERROR"
75
+ | "RUNTIME_ERROR"
76
+ | "PAUSED";
72
77
  load_status: "error";
73
78
  message: string;
74
79
  discussions_enabled: boolean;