@gradio/client 2.1.0 → 2.2.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.
@@ -3,18 +3,21 @@ import { describe, it, expect, afterEach, beforeAll, afterAll } from "vitest";
3
3
  import { Client } from "..";
4
4
  import { initialise_server } from "./server";
5
5
 
6
- const server = initialise_server();
6
+ let server: Awaited<ReturnType<typeof initialise_server>>;
7
7
 
8
- beforeAll(() => server.listen());
8
+ beforeAll(async () => {
9
+ server = await initialise_server();
10
+ await server.start({ quiet: true });
11
+ });
9
12
  afterEach(() => server.resetHandlers());
10
- afterAll(() => server.close());
13
+ afterAll(() => server.stop());
11
14
 
12
15
  describe("upload_files", () => {
13
16
  it("should upload files successfully", async () => {
14
17
  const root_url = "https://hmb-hello-world.hf.space";
15
18
 
16
19
  const client = await Client.connect("hmb/hello_world", {
17
- hf_token: "hf_token"
20
+ token: "hf_token"
18
21
  });
19
22
 
20
23
  const files = [new Blob([], { type: "image/jpeg" })];
@@ -8,11 +8,14 @@ const app_reference = "hmb/hello_world";
8
8
  const secret_app_reference = "hmb/secret_world";
9
9
  const secret_direct_app_reference = "https://hmb-secret-world.hf.space";
10
10
 
11
- const server = initialise_server();
11
+ let server: Awaited<ReturnType<typeof initialise_server>>;
12
12
 
13
- beforeAll(() => server.listen());
13
+ beforeAll(async () => {
14
+ server = await initialise_server();
15
+ await server.start({ quiet: true });
16
+ });
14
17
  afterEach(() => server.resetHandlers());
15
- afterAll(() => server.close());
18
+ afterAll(() => server.stop());
16
19
 
17
20
  describe("view_api", () => {
18
21
  test("viewing the api of a running, public app", async () => {
package/src/types.ts CHANGED
@@ -402,6 +402,9 @@ export interface Status {
402
402
  changed_state_ids?: number[];
403
403
  time_limit?: number;
404
404
  session_not_found?: boolean;
405
+ used_cache?: "full" | "partial" | null;
406
+ cache_duration?: number;
407
+ avg_time?: number;
405
408
  }
406
409
 
407
410
  export interface StatusMessage extends Status {
@@ -12,6 +12,7 @@ import type {
12
12
  } from "../types";
13
13
 
14
14
  import { skip_queue, post_message, handle_payload } from "../helpers/data";
15
+ import { get_zerogpu_origin } from "../helpers/zerogpu";
15
16
  import {
16
17
  handle_message,
17
18
  map_data_to_params,
@@ -412,15 +413,13 @@ export function submit(
412
413
  hostname = window?.location?.hostname;
413
414
  }
414
415
 
415
- let hfhubdev = "dev.spaces.huggingface.tech";
416
- const origin = hostname.includes(".dev.")
417
- ? `https://moon-${hostname.split(".")[1]}.${hfhubdev}`
418
- : `https://huggingface.co`;
416
+ const origin = get_zerogpu_origin(hostname);
419
417
 
420
418
  const is_zerogpu_iframe =
421
419
  typeof window !== "undefined" &&
422
420
  typeof document !== "undefined" &&
423
421
  window.parent != window &&
422
+ !!origin &&
424
423
  window.supports_zerogpu_headers;
425
424
  const zerogpu_auth_promise = is_zerogpu_iframe
426
425
  ? post_message<Map<string, string>>("zerogpu-headers", origin)
@@ -667,6 +666,9 @@ export function submit(
667
666
  if (values.length > 0) {
668
667
  return Promise.resolve(values.shift() as (typeof values)[0]);
669
668
  }
669
+ if (done) {
670
+ return Promise.resolve({ value: undefined, done: true });
671
+ }
670
672
  return new Promise((resolve) => resolvers.push(resolve));
671
673
  }
672
674
 
package/vite.config.ts ADDED
@@ -0,0 +1,104 @@
1
+ import { defineConfig, createLogger } from "vite";
2
+ import { svelte } from "@sveltejs/vite-plugin-svelte";
3
+ import { playwright } from "@vitest/browser-playwright";
4
+
5
+ const TEST_MODE = process.env.TEST_MODE || "browser";
6
+
7
+ const logger = createLogger();
8
+ const originalWarning = logger.warn;
9
+
10
+ logger.warn = (log, options) => {
11
+ if (log.includes("was created with unknown prop")) return false;
12
+ if (log.includes("https://svelte.dev")) return false;
13
+ if (log.includes("[vite-plugin-svelte]")) return false;
14
+ if (log && log.includes("[MSW]")) return false;
15
+ if (log && log.includes("node:")) return false;
16
+ originalWarning(log, options);
17
+ };
18
+
19
+ const originalError = logger.error;
20
+
21
+ logger.error = (log, options) => {
22
+ if (log.includes("was created with unknown prop")) return false;
23
+ if (log.includes("https://svelte.dev")) return false;
24
+ if (log.includes("[vite-plugin-svelte]")) return false;
25
+ if (log && log.includes("[MSW]")) return false;
26
+ if (log && log.includes("(node:")) return false;
27
+ originalError(log, options);
28
+ };
29
+
30
+ const original_info = logger.info;
31
+ logger.info = (log, options) => {
32
+ if (log.includes("was created with unknown prop")) return false;
33
+ if (log.includes("https://svelte.dev")) return false;
34
+ if (log.includes("[vite-plugin-svelte]")) return false;
35
+ if (log && log.includes("[MSW]")) return false;
36
+ if (log && log.includes("node:")) return false;
37
+ original_info(log, options);
38
+ };
39
+ export default defineConfig(({ mode }) => {
40
+ const production = mode === "production";
41
+ const isBrowserBuild = process.env.BROWSER_BUILD === "true";
42
+
43
+ if (mode === "preview") {
44
+ return {
45
+ entry: "index.html"
46
+ };
47
+ }
48
+
49
+ return {
50
+ customLogger: logger,
51
+ build: {
52
+ emptyOutDir: false,
53
+ lib: {
54
+ entry: "src/index.ts",
55
+ formats: ["es"],
56
+ fileName: isBrowserBuild ? `browser` : `index`
57
+ },
58
+ rollupOptions: {
59
+ input: "src/index.ts",
60
+ output: {
61
+ dir: "dist"
62
+ }
63
+ }
64
+ },
65
+ plugins: [svelte()],
66
+ define: {
67
+ BROWSER_BUILD: JSON.stringify(isBrowserBuild)
68
+ },
69
+ mode: process.env.MODE || "development",
70
+ test: {
71
+ include: ["./src/test/*.test.*"],
72
+ onConsoleLog(log) {
73
+ if (log.includes("[MSW]")) return false;
74
+ if (log.includes("node:")) return false;
75
+ if (log.includes("data: '\"404\"'")) return false;
76
+ if (log.includes("Too many arguments")) return false;
77
+ },
78
+ ...(TEST_MODE === "node"
79
+ ? { environment: "node" }
80
+ : {
81
+ browser: {
82
+ enabled: true,
83
+ provider: playwright(),
84
+ instances: [
85
+ {
86
+ browser: "chromium"
87
+ }
88
+ ]
89
+ }
90
+ })
91
+ },
92
+ ssr: {
93
+ target: "node",
94
+ format: "esm",
95
+ noExternal: [
96
+ "ws",
97
+ "semiver",
98
+ "bufferutil",
99
+ "@gradio/upload",
100
+ "fetch-event-stream"
101
+ ]
102
+ }
103
+ };
104
+ });
package/vite.config.js DELETED
@@ -1,52 +0,0 @@
1
- import { defineConfig } from "vite";
2
- import { svelte } from "@sveltejs/vite-plugin-svelte";
3
-
4
- const TEST_MODE = process.env.TEST_MODE || "happy-dom";
5
-
6
- export default defineConfig(({ mode }) => {
7
- const production = mode === "production";
8
- const isBrowserBuild = process.env.BROWSER_BUILD === "true";
9
-
10
- if (mode === "preview") {
11
- return {
12
- entry: "index.html"
13
- };
14
- }
15
-
16
- return {
17
- build: {
18
- emptyOutDir: false,
19
- lib: {
20
- entry: "src/index.ts",
21
- formats: ["es"],
22
- fileName: isBrowserBuild ? `browser` : `index`
23
- },
24
- rollupOptions: {
25
- input: "src/index.ts",
26
- output: {
27
- dir: "dist"
28
- }
29
- }
30
- },
31
- plugins: [svelte()],
32
- define: {
33
- BROWSER_BUILD: JSON.stringify(isBrowserBuild)
34
- },
35
- mode: process.env.MODE || "development",
36
- test: {
37
- include: ["./src/test/*.test.*"],
38
- environment: TEST_MODE
39
- },
40
- ssr: {
41
- target: "node",
42
- format: "esm",
43
- noExternal: [
44
- "ws",
45
- "semiver",
46
- "bufferutil",
47
- "@gradio/upload",
48
- "fetch-event-stream"
49
- ]
50
- }
51
- };
52
- });