@gradio/client 0.20.0 → 1.1.0

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +201 -0
  2. package/README.md +21 -36
  3. package/dist/client.d.ts +6 -7
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/constants.d.ts +3 -0
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/helpers/data.d.ts +15 -1
  8. package/dist/helpers/data.d.ts.map +1 -1
  9. package/dist/helpers/init_helpers.d.ts.map +1 -1
  10. package/dist/helpers/spaces.d.ts.map +1 -1
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +496 -114
  14. package/dist/test/handlers.d.ts +1 -0
  15. package/dist/test/handlers.d.ts.map +1 -1
  16. package/dist/test/test_data.d.ts.map +1 -1
  17. package/dist/types.d.ts +93 -24
  18. package/dist/types.d.ts.map +1 -1
  19. package/dist/utils/handle_blob.d.ts +2 -1
  20. package/dist/utils/handle_blob.d.ts.map +1 -1
  21. package/dist/utils/predict.d.ts +2 -2
  22. package/dist/utils/predict.d.ts.map +1 -1
  23. package/dist/utils/stream.d.ts +2 -1
  24. package/dist/utils/stream.d.ts.map +1 -1
  25. package/dist/utils/submit.d.ts +2 -2
  26. package/dist/utils/submit.d.ts.map +1 -1
  27. package/index.html +39 -0
  28. package/package.json +5 -2
  29. package/src/client.ts +40 -35
  30. package/src/constants.ts +4 -0
  31. package/src/helpers/api_info.ts +1 -1
  32. package/src/helpers/data.ts +124 -10
  33. package/src/helpers/init_helpers.ts +5 -0
  34. package/src/helpers/spaces.ts +2 -1
  35. package/src/index.ts +6 -1
  36. package/src/test/api_info.test.ts +0 -1
  37. package/src/test/data.test.ts +201 -26
  38. package/src/test/handlers.ts +9 -1
  39. package/src/test/stream.test.ts +12 -10
  40. package/src/test/test_data.ts +8 -5
  41. package/src/test/upload_files.test.ts +1 -1
  42. package/src/types.ts +110 -26
  43. package/src/utils/handle_blob.ts +91 -1
  44. package/src/utils/predict.ts +15 -16
  45. package/src/utils/stream.ts +66 -13
  46. package/src/utils/submit.ts +156 -63
  47. package/src/utils/upload_files.ts +1 -1
  48. package/vite.config.js +37 -24
@@ -1,3 +1,4 @@
1
1
  import { RequestHandler } from "msw";
2
+ export declare const direct_space_url = "https://hmb-hello-world.hf.space";
2
3
  export declare const handlers: RequestHandler[];
3
4
  //# sourceMappingURL=handlers.d.ts.map
@@ -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;AA4CzD,eAAO,MAAM,QAAQ,EAAE,cAAc,EAgoBpC,CAAC"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/test/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,cAAc,EAAE,MAAM,KAAK,CAAC;AAuBzD,eAAO,MAAM,gBAAgB,qCAAqC,CAAC;AAqBnE,eAAO,MAAM,QAAQ,EAAE,cAAc,EAwoBpC,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,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"}
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,MAkW7B,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
@@ -1,5 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { hardware_types } from "./helpers/spaces";
3
+ import type { SvelteComponent } from "svelte";
4
+ import type { ComponentType } from "svelte";
3
5
  export interface ApiData {
4
6
  label: string;
5
7
  parameter_name: string;
@@ -47,9 +49,23 @@ export interface BlobRef {
47
49
  blob: Blob | File | false;
48
50
  }
49
51
  export type DataType = string | Buffer | Record<string, any> | any[];
50
- export type SubmitFunction = (endpoint: string | number, data: unknown[] | Record<string, unknown>, event_data?: unknown, trigger_id?: number | null) => SubmitReturn;
51
- export type PredictFunction = (endpoint: string | number, data: unknown[] | Record<string, unknown>, event_data?: unknown) => Promise<SubmitReturn>;
52
- type event = <K extends EventType>(eventType: K, listener: EventListener<K>) => SubmitReturn;
52
+ export declare class Command {
53
+ type: string;
54
+ command: string;
55
+ meta: {
56
+ path: string;
57
+ name: string;
58
+ orig_path: string;
59
+ };
60
+ fileData?: FileData;
61
+ constructor(command: string, meta: {
62
+ path: string;
63
+ name: string;
64
+ orig_path: string;
65
+ });
66
+ }
67
+ export type SubmitFunction = (endpoint: string | number, data: unknown[] | Record<string, unknown>, event_data?: unknown, trigger_id?: number | null) => SubmitIterable<GradioEvent>;
68
+ export type PredictFunction = (endpoint: string | number, data: unknown[] | Record<string, unknown>, event_data?: unknown) => Promise<PredictReturn>;
53
69
  export type client_return = {
54
70
  config: Config | undefined;
55
71
  predict: PredictFunction;
@@ -57,11 +73,16 @@ export type client_return = {
57
73
  component_server: (component_id: number, fn_name: string, data: unknown[]) => any;
58
74
  view_api: (_fetch: typeof fetch) => Promise<ApiInfo<JsApiData>>;
59
75
  };
60
- export type SubmitReturn = {
61
- on: event;
62
- off: event;
76
+ export interface SubmitIterable<T> extends AsyncIterable<T> {
77
+ [Symbol.asyncIterator](): AsyncIterator<T>;
63
78
  cancel: () => Promise<void>;
64
- destroy: () => void;
79
+ }
80
+ export type PredictReturn = {
81
+ type: EventType;
82
+ time: Date;
83
+ data: unknown;
84
+ endpoint: string;
85
+ fn_index: number;
65
86
  };
66
87
  export type SpaceStatus = SpaceStatusNormal | SpaceStatusError;
67
88
  export interface SpaceStatusNormal {
@@ -83,7 +104,7 @@ export interface Config {
83
104
  analytics_enabled: boolean;
84
105
  connect_heartbeat: boolean;
85
106
  auth_message: string;
86
- components: any[];
107
+ components: ComponentMeta[];
87
108
  css: string | null;
88
109
  js: string | null;
89
110
  head: string | null;
@@ -107,6 +128,40 @@ export interface Config {
107
128
  protocol: "sse_v3" | "sse_v2.1" | "sse_v2" | "sse_v1" | "sse" | "ws";
108
129
  max_file_size?: number;
109
130
  }
131
+ export interface ComponentMeta {
132
+ type: string;
133
+ id: number;
134
+ has_modes: boolean;
135
+ props: SharedProps;
136
+ instance: SvelteComponent;
137
+ component: ComponentType<SvelteComponent>;
138
+ documentation?: Documentation;
139
+ children?: ComponentMeta[];
140
+ parent?: ComponentMeta;
141
+ value?: any;
142
+ component_class_id: string;
143
+ key: string | number | null;
144
+ rendered_in?: number;
145
+ }
146
+ interface SharedProps {
147
+ elem_id?: string;
148
+ elem_classes?: string[];
149
+ components?: string[];
150
+ server_fns?: string[];
151
+ interactive: boolean;
152
+ [key: string]: unknown;
153
+ root_url?: string;
154
+ }
155
+ export interface Documentation {
156
+ type?: TypeDescription;
157
+ description?: TypeDescription;
158
+ example_data?: string;
159
+ }
160
+ interface TypeDescription {
161
+ input_payload?: string;
162
+ response_object?: string;
163
+ payload?: string;
164
+ }
110
165
  export interface Dependency {
111
166
  id: number;
112
167
  targets: [number, string][];
@@ -139,6 +194,7 @@ export interface Dependency {
139
194
  export interface DependencyTypes {
140
195
  continuous: boolean;
141
196
  generator: boolean;
197
+ cancel: boolean;
142
198
  }
143
199
  export interface Payload {
144
200
  fn_index: number;
@@ -164,6 +220,8 @@ export interface ClientOptions {
164
220
  hf_token?: `hf_${string}`;
165
221
  status_callback?: SpaceStatusCallback | null;
166
222
  auth?: [string, string] | null;
223
+ with_null_state?: boolean;
224
+ events?: EventType[];
167
225
  }
168
226
  export interface FileData {
169
227
  name: string;
@@ -177,28 +235,19 @@ export interface FileData {
177
235
  }
178
236
  export type EventType = "data" | "status" | "log" | "render";
179
237
  export interface EventMap {
180
- data: Payload;
181
- status: Status;
238
+ data: PayloadMessage;
239
+ status: StatusMessage;
182
240
  log: LogMessage;
183
241
  render: RenderMessage;
184
242
  }
185
- export type Event<K extends EventType> = {
186
- [P in K]: EventMap[P] & {
187
- type: P;
188
- endpoint: string;
189
- fn_index: number;
190
- };
191
- }[K];
192
- export type EventListener<K extends EventType> = (event: Event<K>) => void;
193
- export type ListenerMap<K extends EventType> = {
194
- [P in K]?: EventListener<K>[];
195
- };
196
- export interface LogMessage {
243
+ export type GradioEvent = {
244
+ [P in EventType]: EventMap[P];
245
+ }[EventType];
246
+ export interface Log {
197
247
  log: string;
198
248
  level: "warning" | "info";
199
249
  }
200
- export interface RenderMessage {
201
- fn_index: number;
250
+ export interface Render {
202
251
  data: {
203
252
  components: any[];
204
253
  layout: any;
@@ -226,5 +275,25 @@ export interface Status {
226
275
  time?: Date;
227
276
  changed_state_ids?: number[];
228
277
  }
278
+ export interface StatusMessage extends Status {
279
+ type: "status";
280
+ endpoint: string;
281
+ fn_index: number;
282
+ }
283
+ export interface PayloadMessage extends Payload {
284
+ type: "data";
285
+ endpoint: string;
286
+ fn_index: number;
287
+ }
288
+ export interface LogMessage extends Log {
289
+ type: "log";
290
+ endpoint: string;
291
+ fn_index: number;
292
+ }
293
+ export interface RenderMessage extends Render {
294
+ type: "render";
295
+ endpoint: string;
296
+ fn_index: number;
297
+ }
229
298
  export {};
230
299
  //# sourceMappingURL=types.d.ts.map
@@ -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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"}
@@ -1,4 +1,5 @@
1
- import type { ApiData, EndpointInfo, JsApiData } from "../types";
1
+ import { type ApiData, type EndpointInfo, type JsApiData } from "../types";
2
2
  import type { Client } from "..";
3
3
  export declare function handle_blob(this: Client, endpoint: string, data: unknown[], api_info: EndpointInfo<JsApiData | ApiData>): Promise<unknown[]>;
4
+ export declare function process_local_file_commands(client: Client, data: unknown[]): Promise<void>;
4
5
  //# sourceMappingURL=handle_blob.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle_blob.d.ts","sourceRoot":"","sources":["../../src/utils/handle_blob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAEjC,wBAAsB,WAAW,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,QAAQ,EAAE,YAAY,CAAC,SAAS,GAAG,OAAO,CAAC,GACzC,OAAO,CAAC,OAAO,EAAE,CAAC,CAoCpB"}
1
+ {"version":3,"file":"handle_blob.d.ts","sourceRoot":"","sources":["../../src/utils/handle_blob.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAOjC,wBAAsB,WAAW,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,QAAQ,EAAE,YAAY,CAAC,SAAS,GAAG,OAAO,CAAC,GACzC,OAAO,CAAC,OAAO,EAAE,CAAC,CAsCpB;AAED,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EAAE,GACb,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -1,4 +1,4 @@
1
1
  import { Client } from "../client";
2
- import type { SubmitReturn } from "../types";
3
- export declare function predict(this: Client, endpoint: string | number, data: unknown[] | Record<string, unknown>): Promise<SubmitReturn>;
2
+ import type { PredictReturn } from "../types";
3
+ export declare function predict(this: Client, endpoint: string | number, data: unknown[] | Record<string, unknown>): Promise<PredictReturn>;
4
4
  //# sourceMappingURL=predict.d.ts.map
@@ -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,CAkDvB"}
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,aAAa,EAAE,MAAM,UAAU,CAAC;AAE1D,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,aAAa,CAAC,CAiDxB"}
@@ -2,7 +2,8 @@ import type { Client } from "../client";
2
2
  export declare function open_stream(this: Client): Promise<void>;
3
3
  export declare function close_stream(stream_status: {
4
4
  open: boolean;
5
- }, stream: EventSource | null): void;
5
+ }, abort_controller: AbortController | null): void;
6
6
  export declare function apply_diff_stream(pending_diff_streams: Record<string, any[][]>, event_id: string, data: any): void;
7
7
  export declare function apply_diff(obj: any, diff: [string, (number | string)[], any][]): any;
8
+ export declare function readable_stream(input: RequestInfo | URL, init?: RequestInit): EventSource;
8
9
  //# sourceMappingURL=stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkF7D;AAED,wBAAgB,YAAY,CAC3B,aAAa,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAChC,MAAM,EAAE,WAAW,GAAG,IAAI,GACxB,IAAI,CAKN;AAED,wBAAgB,iBAAiB,CAChC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAC7C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,GACP,IAAI,CAcN;AAED,wBAAgB,UAAU,CACzB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GACxC,GAAG,CAML"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmF7D;AAED,wBAAgB,YAAY,CAC3B,aAAa,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAChC,gBAAgB,EAAE,eAAe,GAAG,IAAI,GACtC,IAAI,CAKN;AAED,wBAAgB,iBAAiB,CAChC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAC7C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,GACP,IAAI,CAcN;AAED,wBAAgB,UAAU,CACzB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GACxC,GAAG,CAML;AAkDD,wBAAgB,eAAe,CAC9B,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,GAAE,WAAgB,GACpB,WAAW,CA8Cb"}
@@ -1,4 +1,4 @@
1
- import type { SubmitReturn } from "../types";
1
+ import type { GradioEvent, SubmitIterable } from "../types";
2
2
  import { Client } from "../client";
3
- export declare function submit(this: Client, endpoint: string | number, data: unknown[] | Record<string, unknown>, event_data?: unknown, trigger_id?: number | null): SubmitReturn;
3
+ export declare function submit(this: Client, endpoint: string | number, data: unknown[] | Record<string, unknown>, event_data?: unknown, trigger_id?: number | null, all_events?: boolean): SubmitIterable<GradioEvent>;
4
4
  //# sourceMappingURL=submit.d.ts.map
@@ -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,CAkqBd"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/utils/submit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGX,WAAW,EAMX,cAAc,EACd,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,EAC1B,UAAU,CAAC,EAAE,OAAO,GAClB,cAAc,CAAC,WAAW,CAAC,CAwvB7B"}
package/index.html ADDED
@@ -0,0 +1,39 @@
1
+ <!doctype html>
2
+
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Client</title>
8
+ <script type="module">
9
+ import { Client } from "./dist/index.js";
10
+ console.log(Client);
11
+
12
+ const client = await Client.connect("pngwn/chatinterface_streaming_echo");
13
+ async function run(message, n) {
14
+ // console.log(client);
15
+ const req = client.submit("/chat", {
16
+ message
17
+ });
18
+ console.log("start");
19
+ for await (const c of req) {
20
+ if (c.type === "data") {
21
+ console.log(`${n}: ${c.data[0]}`);
22
+ }
23
+ }
24
+
25
+ console.log("end");
26
+
27
+ return "hi";
28
+ }
29
+
30
+ run("My name is frank", 1);
31
+ run("Hello there", 2);
32
+
33
+ console.log("boo");
34
+ </script>
35
+ </head>
36
+ <body>
37
+ <div id="app"></div>
38
+ </body>
39
+ </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/client",
3
- "version": "0.20.0",
3
+ "version": "1.1.0",
4
4
  "description": "Gradio API client",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,8 +16,10 @@
16
16
  "@types/eventsource": "^1.1.15",
17
17
  "bufferutil": "^4.0.7",
18
18
  "eventsource": "^2.0.2",
19
+ "fetch-event-stream": "^0.1.5",
19
20
  "msw": "^2.2.1",
20
21
  "semiver": "^1.1.0",
22
+ "textlinestream": "^1.1.1",
21
23
  "typescript": "^5.0.0",
22
24
  "ws": "^8.13.0"
23
25
  },
@@ -35,6 +37,7 @@
35
37
  "build": "pnpm bundle && pnpm generate_types",
36
38
  "test": "pnpm test:client && pnpm test:client:node",
37
39
  "test:client": "vitest run -c vite.config.js",
38
- "test:client:node": "TEST_MODE=node vitest run -c vite.config.js"
40
+ "test:client:node": "TEST_MODE=node vitest run -c vite.config.js",
41
+ "preview:browser": "vite dev --mode=preview"
39
42
  }
40
43
  }
package/src/client.ts CHANGED
@@ -6,11 +6,13 @@ import type {
6
6
  DuplicateOptions,
7
7
  EndpointInfo,
8
8
  JsApiData,
9
+ PredictReturn,
9
10
  SpaceStatus,
10
11
  Status,
11
- SubmitReturn,
12
12
  UploadResponse,
13
- client_return
13
+ client_return,
14
+ SubmitIterable,
15
+ GradioEvent
14
16
  } from "./types";
15
17
  import { view_api } from "./utils/view_api";
16
18
  import { upload_files } from "./utils/upload_files";
@@ -29,15 +31,9 @@ import {
29
31
  parse_and_set_cookies
30
32
  } from "./helpers/init_helpers";
31
33
  import { check_space_status } from "./helpers/spaces";
32
- import { open_stream } from "./utils/stream";
34
+ import { open_stream, readable_stream } from "./utils/stream";
33
35
  import { API_INFO_ERROR_MSG, CONFIG_ERROR_MSG } from "./constants";
34
36
 
35
- export class NodeBlob extends Blob {
36
- constructor(blobParts?: BlobPart[], options?: BlobPropertyBag) {
37
- super(blobParts, options);
38
- }
39
- }
40
-
41
37
  export class Client {
42
38
  app_reference: string;
43
39
  options: ClientOptions;
@@ -58,6 +54,8 @@ export class Client {
58
54
  event_callbacks: Record<string, (data?: unknown) => Promise<void>> = {};
59
55
  unclosed_events: Set<string> = new Set();
60
56
  heartbeat_event: EventSource | null = null;
57
+ abort_controller: AbortController | null = null;
58
+ stream_instance: EventSource | null = null;
61
59
 
62
60
  fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response> {
63
61
  const headers = new Headers(init?.headers || {});
@@ -68,18 +66,14 @@ export class Client {
68
66
  return fetch(input, { ...init, headers });
69
67
  }
70
68
 
71
- async stream(url: URL): Promise<EventSource> {
72
- if (typeof window === "undefined" || typeof EventSource === "undefined") {
73
- try {
74
- const EventSourceModule = await import("eventsource");
75
- return new EventSourceModule.default(url.toString()) as EventSource;
76
- } catch (error) {
77
- console.error("Failed to load EventSource module:", error);
78
- throw error;
79
- }
80
- } else {
81
- return new EventSource(url.toString());
82
- }
69
+ stream(url: URL): EventSource {
70
+ this.abort_controller = new AbortController();
71
+
72
+ this.stream_instance = readable_stream(url.toString(), {
73
+ signal: this.abort_controller.signal
74
+ });
75
+
76
+ return this.stream_instance;
83
77
  }
84
78
 
85
79
  view_api: () => Promise<ApiInfo<JsApiData>>;
@@ -108,18 +102,26 @@ export class Client {
108
102
  endpoint: string | number,
109
103
  data: unknown[] | Record<string, unknown>,
110
104
  event_data?: unknown,
111
- trigger_id?: number | null
112
- ) => SubmitReturn;
105
+ trigger_id?: number | null,
106
+ all_events?: boolean
107
+ ) => SubmitIterable<GradioEvent>;
113
108
  predict: (
114
109
  endpoint: string | number,
115
110
  data: unknown[] | Record<string, unknown>,
116
111
  event_data?: unknown
117
- ) => Promise<SubmitReturn>;
112
+ ) => Promise<PredictReturn>;
118
113
  open_stream: () => Promise<void>;
119
114
  private resolve_config: (endpoint: string) => Promise<Config | undefined>;
120
115
  private resolve_cookies: () => Promise<void>;
121
- constructor(app_reference: string, options: ClientOptions = {}) {
116
+ constructor(
117
+ app_reference: string,
118
+ options: ClientOptions = { events: ["data"] }
119
+ ) {
122
120
  this.app_reference = app_reference;
121
+ if (!options.events) {
122
+ options.events = ["data"];
123
+ }
124
+
123
125
  this.options = options;
124
126
 
125
127
  this.view_api = view_api.bind(this);
@@ -140,8 +142,6 @@ export class Client {
140
142
  !global.WebSocket
141
143
  ) {
142
144
  const ws = await import("ws");
143
- // @ts-ignore
144
- NodeBlob = (await import("node:buffer")).Blob;
145
145
  global.WebSocket = ws.WebSocket as unknown as typeof WebSocket;
146
146
  }
147
147
 
@@ -191,16 +191,17 @@ export class Client {
191
191
  }
192
192
 
193
193
  // Just connect to the endpoint without parsing the response. Ref: https://github.com/gradio-app/gradio/pull/7974#discussion_r1557717540
194
- if (!this.heartbeat_event)
195
- this.heartbeat_event = await this.stream(heartbeat_url);
196
- } else {
197
- this.heartbeat_event?.close();
194
+ if (!this.heartbeat_event) {
195
+ this.heartbeat_event = this.stream(heartbeat_url);
196
+ }
198
197
  }
199
198
  }
200
199
 
201
200
  static async connect(
202
201
  app_reference: string,
203
- options: ClientOptions = {}
202
+ options: ClientOptions = {
203
+ events: ["data"]
204
+ }
204
205
  ): Promise<Client> {
205
206
  const client = new this(app_reference, options); // this refers to the class itself, not the instance
206
207
  await client.init();
@@ -213,7 +214,9 @@ export class Client {
213
214
 
214
215
  static async duplicate(
215
216
  app_reference: string,
216
- options: DuplicateOptions = {}
217
+ options: DuplicateOptions = {
218
+ events: ["data"]
219
+ }
217
220
  ): Promise<Client> {
218
221
  return duplicate(app_reference, options);
219
222
  }
@@ -260,7 +263,7 @@ export class Client {
260
263
  ): Promise<Config | client_return> {
261
264
  this.config = _config;
262
265
 
263
- if (typeof window !== "undefined") {
266
+ if (typeof window !== "undefined" && typeof document !== "undefined") {
264
267
  if (window.location.protocol === "https:") {
265
268
  this.config.root = this.config.root.replace("http://", "https://");
266
269
  }
@@ -412,7 +415,9 @@ export class Client {
412
415
  */
413
416
  export async function client(
414
417
  app_reference: string,
415
- options: ClientOptions = {}
418
+ options: ClientOptions = {
419
+ events: ["data"]
420
+ }
416
421
  ): Promise<Client> {
417
422
  return await Client.connect(app_reference, options);
418
423
  }
package/src/constants.ts CHANGED
@@ -30,3 +30,7 @@ export const UNAUTHORIZED_MSG = "Not authorized to access this space. ";
30
30
  export const INVALID_CREDENTIALS_MSG = "Invalid credentials. Could not login. ";
31
31
  export const MISSING_CREDENTIALS_MSG =
32
32
  "Login credentials are required to access this space.";
33
+ export const NODEJS_FS_ERROR_MSG =
34
+ "File system access is only available in Node.js environments";
35
+ export const ROOT_URL_ERROR_MSG = "Root URL not found in client config";
36
+ export const FILE_PROCESSING_ERROR_MSG = "Error uploading file";
@@ -106,7 +106,7 @@ export function transform_api_info(
106
106
  dependencyIndex !== -1
107
107
  ? config.dependencies.find((dep) => dep.id == dependencyIndex)
108
108
  ?.types
109
- : { continuous: false, generator: false };
109
+ : { continuous: false, generator: false, cancel: false };
110
110
 
111
111
  if (
112
112
  dependencyIndex !== -1 &&