@gradio/client 0.19.2 → 0.19.4

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,21 @@
1
1
  # @gradio/client
2
2
 
3
+ ## 0.19.4
4
+
5
+ ### Fixes
6
+
7
+ - [#8322](https://github.com/gradio-app/gradio/pull/8322) [`47012a0`](https://github.com/gradio-app/gradio/commit/47012a0c4e3e8a80fcae620aaf08b16ceb343cde) - ensure the client correctly handles all binary data. Thanks @Saghen!
8
+
9
+ ## 0.19.3
10
+
11
+ ### Features
12
+
13
+ - [#8229](https://github.com/gradio-app/gradio/pull/8229) [`7c81897`](https://github.com/gradio-app/gradio/commit/7c81897076ddcd0bb05e0e4ffec35bb9a986d330) - chore(deps): update dependency esbuild to ^0.21.0. Thanks @renovate!
14
+
15
+ ### Fixes
16
+
17
+ - [#8296](https://github.com/gradio-app/gradio/pull/8296) [`929d216`](https://github.com/gradio-app/gradio/commit/929d216d49aa05614bc83f0761cf7b1cd803d8fe) - always create a jwt when connecting to a space if a hf_token is present. Thanks @pngwn!
18
+
3
19
  ## 0.19.2
4
20
 
5
21
  ### Fixes
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/helpers/data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,OAAO,EACP,OAAO,EACP,MAAM,EACN,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,UAAU,CAAC;AAElB,wBAAgB,aAAa,CAC5B,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5B,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACxB,IAAI,CAgBN;AAED,wBAAsB,oBAAoB,CACzC,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE,MAAM,GAAG,SAAqB,EACpC,IAAI,GAAE,MAAM,EAAO,EACnB,IAAI,UAAQ,EACZ,aAAa,GAAE,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,SAAqB,GACtE,OAAO,CAAC,OAAO,EAAE,CAAC,CAuEpB;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAK9D;AAID,wBAAgB,YAAY,CAAC,GAAG,GAAG,GAAG,EACrC,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC,CASd"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/helpers/data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,OAAO,EACP,OAAO,EACP,MAAM,EACN,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,UAAU,CAAC;AAElB,wBAAgB,aAAa,CAC5B,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5B,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACxB,IAAI,CAgBN;AAED,wBAAsB,oBAAoB,CACzC,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE,MAAM,GAAG,SAAqB,EACpC,IAAI,GAAE,MAAM,EAAO,EACnB,IAAI,UAAQ,EACZ,aAAa,GAAE,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,SAAqB,GACtE,OAAO,CAAC,OAAO,EAAE,CAAC,CAyDpB;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAK9D;AAID,wBAAgB,YAAY,CAAC,GAAG,GAAG,GAAG,EACrC,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC,CASd"}
package/dist/index.js CHANGED
@@ -558,13 +558,13 @@ async function walk_and_store_blobs(data, type = void 0, path = [], root = false
558
558
  if (Array.isArray(data)) {
559
559
  let blob_refs = [];
560
560
  await Promise.all(
561
- data.map(async (item) => {
561
+ data.map(async (_, index) => {
562
562
  var _a;
563
563
  let new_path = path.slice();
564
- new_path.push(item);
564
+ new_path.push(String(index));
565
565
  const array_refs = await walk_and_store_blobs(
566
- data[item],
567
- root ? ((_a = endpoint_info == null ? void 0 : endpoint_info.parameters[item]) == null ? void 0 : _a.component) || void 0 : type,
566
+ data[index],
567
+ root ? ((_a = endpoint_info == null ? void 0 : endpoint_info.parameters[index]) == null ? void 0 : _a.component) || void 0 : type,
568
568
  new_path,
569
569
  false,
570
570
  endpoint_info
@@ -597,15 +597,6 @@ async function walk_and_store_blobs(data, type = void 0, path = [], root = false
597
597
  )
598
598
  );
599
599
  }
600
- if (!blob_refs.length && !(data instanceof Blob || data instanceof ArrayBuffer || data instanceof Uint8Array)) {
601
- return [
602
- {
603
- path,
604
- blob: new NodeBlob([JSON.stringify(data)]),
605
- type: typeof data
606
- }
607
- ];
608
- }
609
600
  return blob_refs;
610
601
  }
611
602
  return [];
@@ -1492,7 +1483,9 @@ function submit(endpoint, data, event_data, trigger_id) {
1492
1483
  }
1493
1484
  let hfhubdev = "dev.spaces.huggingface.tech";
1494
1485
  const origin = hostname.includes(".dev.") ? `https://moon-${hostname.split(".")[1]}.${hfhubdev}` : `https://huggingface.co`;
1495
- const zerogpu_auth_promise = dependency.zerogpu && window.parent != window && config.space_id ? post_message("zerogpu-headers", origin) : Promise.resolve(null);
1486
+ const is_iframe = typeof window !== "undefined" && window.parent != window;
1487
+ const is_zerogpu_space = dependency.zerogpu && config.space_id;
1488
+ const zerogpu_auth_promise = is_iframe && is_zerogpu_space ? post_message("zerogpu-headers", origin) : Promise.resolve(null);
1496
1489
  const post_data_promise = zerogpu_auth_promise.then((headers) => {
1497
1490
  return post_data2(
1498
1491
  `${config.root}/queue/join?${url_params}`,
@@ -1743,23 +1736,18 @@ class Client {
1743
1736
  }
1744
1737
  try {
1745
1738
  await this._resolve_config().then(async ({ config }) => {
1746
- if (config) {
1747
- this.config = config;
1748
- if (this.config && this.config.connect_heartbeat) {
1749
- if (this.config.space_id && this.options.hf_token) {
1750
- this.jwt = await get_jwt(
1751
- this.config.space_id,
1752
- this.options.hf_token
1753
- );
1754
- }
1755
- const heartbeat_url = new URL(
1756
- `${this.config.root}/heartbeat/${this.session_hash}`
1757
- );
1758
- if (this.jwt) {
1759
- heartbeat_url.searchParams.set("__sign", this.jwt);
1760
- }
1761
- this.heartbeat_event = await this.stream(heartbeat_url);
1739
+ this.config = config;
1740
+ if (config.space_id && this.options.hf_token) {
1741
+ this.jwt = await get_jwt(config.space_id, this.options.hf_token);
1742
+ }
1743
+ if (this.config && this.config.connect_heartbeat) {
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);
1762
1749
  }
1750
+ this.heartbeat_event = await this.stream(heartbeat_url);
1763
1751
  }
1764
1752
  });
1765
1753
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/utils/submit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKX,YAAY,EAQZ,MAAM,UAAU,CAAC;AAYlB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,wBAAgB,MAAM,CACrB,IAAI,EAAE,MAAM,EACZ,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,GACxB,YAAY,CAmoBd"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/utils/submit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKX,YAAY,EAQZ,MAAM,UAAU,CAAC;AAYlB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,wBAAgB,MAAM,CACrB,IAAI,EAAE,MAAM,EACZ,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,GACxB,YAAY,CAuoBd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/client",
3
- "version": "0.19.2",
3
+ "version": "0.19.4",
4
4
  "description": "Gradio API client",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/ws": "^8.5.10",
26
- "esbuild": "^0.20.0"
26
+ "esbuild": "^0.21.0"
27
27
  },
28
28
  "engines": {
29
29
  "node": ">=18.0.0"
package/src/client.ts CHANGED
@@ -136,28 +136,24 @@ export class Client {
136
136
 
137
137
  try {
138
138
  await this._resolve_config().then(async ({ config }) => {
139
- if (config) {
140
- this.config = config;
141
- if (this.config && this.config.connect_heartbeat) {
142
- if (this.config.space_id && this.options.hf_token) {
143
- this.jwt = await get_jwt(
144
- this.config.space_id,
145
- this.options.hf_token
146
- );
147
- }
148
-
149
- // connect to the heartbeat endpoint via GET request
150
- const heartbeat_url = new URL(
151
- `${this.config.root}/heartbeat/${this.session_hash}`
152
- );
153
-
154
- // if the jwt is available, add it to the query params
155
- if (this.jwt) {
156
- heartbeat_url.searchParams.set("__sign", this.jwt);
157
- }
158
-
159
- this.heartbeat_event = await this.stream(heartbeat_url); // Just connect to the endpoint without parsing the response. Ref: https://github.com/gradio-app/gradio/pull/7974#discussion_r1557717540
139
+ this.config = config;
140
+
141
+ if (config.space_id && this.options.hf_token) {
142
+ this.jwt = await get_jwt(config.space_id, this.options.hf_token);
143
+ }
144
+
145
+ if (this.config && this.config.connect_heartbeat) {
146
+ // connect to the heartbeat endpoint via GET request
147
+ const heartbeat_url = new URL(
148
+ `${this.config.root}/heartbeat/${this.session_hash}`
149
+ );
150
+
151
+ // if the jwt is available, add it to the query params
152
+ if (this.jwt) {
153
+ heartbeat_url.searchParams.set("__sign", this.jwt);
160
154
  }
155
+
156
+ this.heartbeat_event = await this.stream(heartbeat_url); // Just connect to the endpoint without parsing the response. Ref: https://github.com/gradio-app/gradio/pull/7974#discussion_r1557717540
161
157
  }
162
158
  });
163
159
  } catch (e) {
@@ -41,13 +41,15 @@ export async function walk_and_store_blobs(
41
41
  let blob_refs: BlobRef[] = [];
42
42
 
43
43
  await Promise.all(
44
- data.map(async (item) => {
44
+ data.map(async (_, index) => {
45
45
  let new_path = path.slice();
46
- new_path.push(item);
46
+ new_path.push(String(index));
47
47
 
48
48
  const array_refs = await walk_and_store_blobs(
49
- data[item],
50
- root ? endpoint_info?.parameters[item]?.component || undefined : type,
49
+ data[index],
50
+ root
51
+ ? endpoint_info?.parameters[index]?.component || undefined
52
+ : type,
51
53
  new_path,
52
54
  false,
53
55
  endpoint_info
@@ -87,22 +89,6 @@ export async function walk_and_store_blobs(
87
89
  );
88
90
  }
89
91
 
90
- if (
91
- !blob_refs.length &&
92
- !(
93
- data instanceof Blob ||
94
- data instanceof ArrayBuffer ||
95
- data instanceof Uint8Array
96
- )
97
- ) {
98
- return [
99
- {
100
- path: path,
101
- blob: new NodeBlob([JSON.stringify(data)]),
102
- type: typeof data
103
- }
104
- ];
105
- }
106
92
  return blob_refs;
107
93
  }
108
94
 
@@ -43,6 +43,15 @@ describe("walk_and_store_blobs", () => {
43
43
  expect(parts[0].blob).toBe(false);
44
44
  });
45
45
 
46
+ it("should handle arrays", async () => {
47
+ const image = new Blob([]);
48
+ const parts = await walk_and_store_blobs([image]);
49
+
50
+ expect(parts).toHaveLength(1);
51
+ expect(parts[0].blob).toBeInstanceOf(NodeBlob);
52
+ expect(parts[0].path).toEqual(["0"]);
53
+ });
54
+
46
55
  it("should handle deep structures", async () => {
47
56
  const image = new Blob([]);
48
57
  const parts = await walk_and_store_blobs({ a: { b: { data: { image } } } });
@@ -142,18 +151,6 @@ describe("walk_and_store_blobs", () => {
142
151
  expect(parts[0].path).toEqual(["a", "b", "data", "image"]);
143
152
  expect(parts[0].blob).toBeInstanceOf(NodeBlob);
144
153
  });
145
-
146
- it("should convert an object with primitive values to BlobRefs", async () => {
147
- const param = {
148
- test: "test"
149
- };
150
- const parts = await walk_and_store_blobs(param);
151
-
152
- expect(parts).toHaveLength(1);
153
- expect(parts[0].path).toEqual([]);
154
- expect(parts[0].blob).toBeInstanceOf(NodeBlob);
155
- expect(parts[0].type).toEqual("object");
156
- });
157
154
  });
158
155
  describe("update_object", () => {
159
156
  it("should update the value of a nested property", () => {
@@ -496,8 +496,12 @@ export function submit(
496
496
  const origin = hostname.includes(".dev.")
497
497
  ? `https://moon-${hostname.split(".")[1]}.${hfhubdev}`
498
498
  : `https://huggingface.co`;
499
+
500
+ const is_iframe =
501
+ typeof window !== "undefined" && window.parent != window;
502
+ const is_zerogpu_space = dependency.zerogpu && config.space_id;
499
503
  const zerogpu_auth_promise =
500
- dependency.zerogpu && window.parent != window && config.space_id
504
+ is_iframe && is_zerogpu_space
501
505
  ? post_message<Headers>("zerogpu-headers", origin)
502
506
  : Promise.resolve(null);
503
507
  const post_data_promise = zerogpu_auth_promise.then((headers) => {