@gradio/client 2.4.0 → 2.5.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/dist/types.d.ts CHANGED
@@ -152,6 +152,12 @@ export interface Config {
152
152
  pwa?: boolean;
153
153
  i18n_translations?: Record<string, Record<string, string>> | null;
154
154
  mcp_server?: boolean;
155
+ /**
156
+ * Whether the app permits its runs being saved in the browser. Set from
157
+ * `run_history` on `launch()`; absent on apps served by older versions of
158
+ * Gradio, which is treated as permitted.
159
+ */
160
+ run_history?: boolean;
155
161
  }
156
162
  export interface ComponentMeta {
157
163
  type: string;
@@ -274,6 +280,14 @@ export interface ClientOptions {
274
280
  * endpoints that declare they need it.
275
281
  */
276
282
  oauth_token?: string;
283
+ /**
284
+ * Whether to save each call's inputs and outputs in this browser's local
285
+ * storage, so they can be reviewed on the app's run history page. Defaults
286
+ * to true, and only ever applies in a browser: in Node there is no storage
287
+ * to write to and nothing is recorded. The app can turn it off for everyone
288
+ * with `run_history=False` on `launch()`, which takes precedence over this.
289
+ */
290
+ record_history?: boolean;
277
291
  }
278
292
  export interface FileData {
279
293
  name: string;
@@ -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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"}
@@ -0,0 +1,90 @@
1
+ import type { GradioEvent } from "../types";
2
+ export type AppId = string | number | null | undefined;
3
+ /**
4
+ * Which history to read or write. `Config` satisfies this shape, so callers
5
+ * that hold one can pass it straight through.
6
+ */
7
+ export interface RunHistoryScope {
8
+ app_id?: AppId;
9
+ /** The authenticated user, when the app uses `auth`. */
10
+ username?: string | null;
11
+ }
12
+ export type RunStatus = "running" | "completed" | "failed";
13
+ export interface StoredRunComponent {
14
+ type: string;
15
+ component_class_id: string;
16
+ props: Record<string, unknown>;
17
+ }
18
+ export interface StoredRun {
19
+ id: string;
20
+ endpoint: string | number;
21
+ api_name: string;
22
+ fn_index: number;
23
+ page: string;
24
+ inputs: unknown;
25
+ outputs: unknown | null;
26
+ input_components?: (StoredRunComponent | null)[];
27
+ output_components?: (StoredRunComponent | null)[];
28
+ status: RunStatus;
29
+ error?: string;
30
+ started_at: string;
31
+ /** When the server started running the function, if it reported queueing. */
32
+ process_started_at?: string;
33
+ completed_at?: string;
34
+ /** How long the function itself took, server-reported where available. */
35
+ duration_ms?: number;
36
+ /** How long the run waited in the queue before the function started. */
37
+ queued_ms?: number;
38
+ /** Whether the run produced its output in chunks, i.e. came from a generator. */
39
+ streamed?: boolean;
40
+ }
41
+ interface StartRunOptions extends RunHistoryScope {
42
+ endpoint: string | number;
43
+ api_name: string;
44
+ fn_index: number;
45
+ inputs: unknown;
46
+ input_components?: (StoredRunComponent | null)[];
47
+ output_components?: (StoredRunComponent | null)[];
48
+ }
49
+ /**
50
+ * The URL of the run history page for an app. `root` never carries a trailing
51
+ * slash, so it cannot simply be concatenated with the path.
52
+ */
53
+ export declare function run_history_url(root: string, api_prefix?: string): string;
54
+ /**
55
+ * The parts of an app config a replayed run writes back into. Kept structural
56
+ * so every entry point — the SPA and the SSR app each carry their own `Config`
57
+ * declaration — can hand its config straight over.
58
+ */
59
+ export interface ReplayTarget {
60
+ components: {
61
+ id: number;
62
+ type: string;
63
+ props: Record<string, any>;
64
+ }[];
65
+ dependencies: {
66
+ id: number;
67
+ api_name?: string | null;
68
+ inputs: number[];
69
+ outputs: number[];
70
+ }[];
71
+ }
72
+ export declare function read_run_history(scope: RunHistoryScope | null | undefined): StoredRun[];
73
+ export declare function clear_run_history(scope: RunHistoryScope | null | undefined): void;
74
+ export declare function delete_run_history(scope: RunHistoryScope | null | undefined, id: string): void;
75
+ export declare function stage_run_history_replay(scope: RunHistoryScope | null | undefined, run: StoredRun): void;
76
+ export declare function consume_run_history_replay(scope: RunHistoryScope | null | undefined): StoredRun | null;
77
+ /**
78
+ * Applies the run staged by the history page, if this page load is the one it
79
+ * was staged for. Every entry point that renders an app has to call this, or
80
+ * "Load run" silently does nothing on that entry point.
81
+ *
82
+ * @returns whether a staged run was found and applied.
83
+ */
84
+ export declare function apply_run_history_replay(config: ReplayTarget & RunHistoryScope): boolean;
85
+ export declare function start_run_history(options: StartRunOptions): string | null;
86
+ export declare function update_run_inputs(scope: RunHistoryScope | null | undefined, id: string | null, inputs: unknown): void;
87
+ export declare function update_run_history(scope: RunHistoryScope | null | undefined, id: string | null, event: GradioEvent): void;
88
+ export declare function on_run_history_change(listener: () => void): () => void;
89
+ export {};
90
+ //# sourceMappingURL=run_history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run_history.d.ts","sourceRoot":"","sources":["../../src/utils/run_history.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/utils/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,WAAW,EAMX,cAAc,EACd,MAAM,UAAU,CAAC;AAoBlB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,wBAAgB,MAAM,CACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,GAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAC9C,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,UAAU,CAAC,EAAE,OAAO,EACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,cAAc,CAAC,WAAW,CAAC,CAurB7B"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/utils/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,WAAW,EAMX,cAAc,EACd,MAAM,UAAU,CAAC;AAoBlB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAOnC,wBAAgB,MAAM,CACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,IAAI,GAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAC9C,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,UAAU,CAAC,EAAE,OAAO,EACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,cAAc,CAAC,WAAW,CAAC,CA8uB7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/client",
3
- "version": "2.4.0",
3
+ "version": "2.5.1",
4
4
  "description": "Gradio API client",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
package/src/client.ts CHANGED
@@ -34,6 +34,7 @@ import {
34
34
  import { check_and_wake_space, check_space_status } from "./helpers/spaces";
35
35
  import { initialize_zerogpu_handshake } from "./helpers/zerogpu";
36
36
  import { open_stream, readable_stream, close_stream } from "./utils/stream";
37
+ import { clear_run_history } from "./utils/run_history";
37
38
  import {
38
39
  API_INFO_ERROR_MSG,
39
40
  APP_ID_URL,
@@ -414,6 +415,15 @@ export class Client {
414
415
  this.config = _config;
415
416
  this.api_prefix = _config.api_prefix || "";
416
417
 
418
+ // Opting out also purges, so an app that turns the feature off does not
419
+ // leave behind what it stored while it was on.
420
+ if (_config.run_history === false) {
421
+ clear_run_history({
422
+ app_id: _config.app_id,
423
+ username: _config.username
424
+ });
425
+ }
426
+
417
427
  if (this.config.auth_required) {
418
428
  return this.prepare_return_obj();
419
429
  }
package/src/index.ts CHANGED
@@ -5,6 +5,20 @@ export { submit } from "./utils/submit";
5
5
  export { upload_files } from "./utils/upload_files";
6
6
  export { FileData, upload, prepare_files } from "./upload";
7
7
  export { handle_file } from "./helpers/data";
8
+ export {
9
+ apply_run_history_replay,
10
+ clear_run_history,
11
+ consume_run_history_replay,
12
+ delete_run_history,
13
+ on_run_history_change,
14
+ read_run_history,
15
+ run_history_url,
16
+ stage_run_history_replay,
17
+ type ReplayTarget,
18
+ type RunHistoryScope,
19
+ type StoredRunComponent,
20
+ type StoredRun
21
+ } from "./utils/run_history";
8
22
 
9
23
  export type {
10
24
  SpaceStatus,
@@ -0,0 +1,412 @@
1
+ import { afterEach, describe, expect, test, vi } from "vitest";
2
+
3
+ import {
4
+ apply_run_history_replay,
5
+ clear_run_history,
6
+ consume_run_history_replay,
7
+ delete_run_history,
8
+ on_run_history_change,
9
+ read_run_history,
10
+ run_history_url,
11
+ stage_run_history_replay,
12
+ start_run_history,
13
+ update_run_history,
14
+ update_run_inputs
15
+ } from "../utils/run_history";
16
+
17
+ const app_id = "app-under-test";
18
+ const other_app = "some-other-app";
19
+ const scope = { app_id };
20
+ const other_scope = { app_id: other_app };
21
+ const replacement_apps = Array.from(
22
+ { length: 8 },
23
+ (_, index) => `replacement-app-${index}`
24
+ );
25
+ const in_browser = typeof window !== "undefined";
26
+
27
+ afterEach(() => {
28
+ clear_run_history(scope);
29
+ clear_run_history(other_scope);
30
+ for (const replacement_app of replacement_apps) {
31
+ clear_run_history({ app_id: replacement_app });
32
+ }
33
+ vi.useRealTimers();
34
+ });
35
+
36
+ describe.skipIf(!in_browser)("run history", () => {
37
+ test("stores runs per app id with the page and inputs", () => {
38
+ const id = start_run_history({
39
+ app_id,
40
+ endpoint: "/predict",
41
+ api_name: "/predict",
42
+ fn_index: 0,
43
+ inputs: ["hello"],
44
+ input_components: [
45
+ {
46
+ type: "textbox",
47
+ component_class_id: "textbox-id",
48
+ props: { label: "Prompt" }
49
+ }
50
+ ]
51
+ });
52
+
53
+ const runs = read_run_history(scope);
54
+ expect(runs).toHaveLength(1);
55
+ expect(runs[0]).toMatchObject({
56
+ id,
57
+ endpoint: "/predict",
58
+ api_name: "/predict",
59
+ inputs: ["hello"],
60
+ status: "running",
61
+ input_components: [
62
+ {
63
+ type: "textbox",
64
+ component_class_id: "textbox-id",
65
+ props: { label: "Prompt" }
66
+ }
67
+ ],
68
+ page: `${window.location.pathname}${window.location.search}`
69
+ });
70
+ expect(read_run_history(other_scope)).toEqual([]);
71
+ });
72
+
73
+ test("replaces inputs with their upload-processed values", () => {
74
+ const id = start_run_history({
75
+ app_id,
76
+ endpoint: "/predict",
77
+ api_name: "/predict",
78
+ fn_index: 0,
79
+ inputs: [new File(["hello"], "hello.txt")]
80
+ });
81
+
82
+ update_run_inputs(scope, id, [
83
+ { path: "/tmp/hello.txt", url: "/gradio_api/file=/tmp/hello.txt" }
84
+ ]);
85
+
86
+ expect(read_run_history(scope)[0].inputs).toEqual([
87
+ { path: "/tmp/hello.txt", url: "/gradio_api/file=/tmp/hello.txt" }
88
+ ]);
89
+ });
90
+
91
+ test("updates outputs and completion state", () => {
92
+ const id = start_run_history({
93
+ app_id,
94
+ endpoint: "/predict",
95
+ api_name: "/predict",
96
+ fn_index: 0,
97
+ inputs: ["hello"]
98
+ });
99
+
100
+ update_run_history(scope, id, {
101
+ type: "data",
102
+ endpoint: "/predict",
103
+ fn_index: 0,
104
+ data: ["hello hello"]
105
+ });
106
+ update_run_history(scope, id, {
107
+ type: "status",
108
+ endpoint: "/predict",
109
+ fn_index: 0,
110
+ queue: false,
111
+ stage: "complete",
112
+ time: new Date("2025-05-16T21:45:00Z")
113
+ });
114
+
115
+ expect(read_run_history(scope)[0]).toMatchObject({
116
+ outputs: ["hello hello"],
117
+ status: "completed",
118
+ completed_at: "2025-05-16T21:45:00.000Z"
119
+ });
120
+ });
121
+
122
+ test("records the runtime reported by the server", () => {
123
+ const id = start_run_history({
124
+ app_id,
125
+ endpoint: "/predict",
126
+ api_name: "/predict",
127
+ fn_index: 0,
128
+ inputs: ["hello"]
129
+ });
130
+
131
+ update_run_history(scope, id, {
132
+ type: "status",
133
+ endpoint: "/predict",
134
+ fn_index: 0,
135
+ queue: true,
136
+ stage: "complete",
137
+ cache_duration: 1.25,
138
+ time: new Date("2025-05-16T21:45:00Z")
139
+ });
140
+
141
+ expect(read_run_history(scope)[0]).toMatchObject({
142
+ duration_ms: 1250,
143
+ completed_at: "2025-05-16T21:45:00.000Z"
144
+ });
145
+ });
146
+
147
+ test("records failed runs and their error message", () => {
148
+ const id = start_run_history({
149
+ app_id,
150
+ endpoint: 3,
151
+ api_name: "Function 3",
152
+ fn_index: 3,
153
+ inputs: [{ circular: null }]
154
+ });
155
+
156
+ update_run_history(scope, id, {
157
+ type: "status",
158
+ endpoint: "/predict",
159
+ fn_index: 3,
160
+ queue: true,
161
+ stage: "error",
162
+ message: "generation failed"
163
+ });
164
+
165
+ expect(read_run_history(scope)[0]).toMatchObject({
166
+ status: "failed",
167
+ error: "generation failed"
168
+ });
169
+ expect(read_run_history(scope)[0].duration_ms).toBeGreaterThanOrEqual(0);
170
+ });
171
+
172
+ test("keeps only the newest 100 runs", () => {
173
+ for (let index = 0; index < 105; index++) {
174
+ start_run_history({
175
+ app_id,
176
+ endpoint: "/predict",
177
+ api_name: "/predict",
178
+ fn_index: 0,
179
+ inputs: [index]
180
+ });
181
+ }
182
+
183
+ const runs = read_run_history(scope);
184
+ expect(runs).toHaveLength(100);
185
+ expect(runs[0].inputs).toEqual([104]);
186
+ expect(runs.at(-1)?.inputs).toEqual([5]);
187
+ });
188
+
189
+ test("deletes an individual run", () => {
190
+ const first = start_run_history({
191
+ app_id,
192
+ endpoint: "/predict",
193
+ api_name: "/predict",
194
+ fn_index: 0,
195
+ inputs: ["first"]
196
+ });
197
+ start_run_history({
198
+ app_id,
199
+ endpoint: "/predict",
200
+ api_name: "/predict",
201
+ fn_index: 0,
202
+ inputs: ["second"]
203
+ });
204
+
205
+ delete_run_history(scope, first!);
206
+
207
+ expect(read_run_history(scope)).toHaveLength(1);
208
+ expect(read_run_history(scope)[0].inputs).toEqual(["second"]);
209
+ });
210
+
211
+ test("notifies this tab when runs are added, deleted or cleared", () => {
212
+ let notified = 0;
213
+ const unsubscribe = on_run_history_change(() => notified++);
214
+
215
+ const id = start_run_history({
216
+ app_id,
217
+ endpoint: "/predict",
218
+ api_name: "/predict",
219
+ fn_index: 0,
220
+ inputs: ["hello"]
221
+ });
222
+ expect(notified).toBe(1);
223
+
224
+ // Progress updates are not structural, so they must not notify.
225
+ update_run_history(scope, id, {
226
+ type: "status",
227
+ endpoint: "/predict",
228
+ fn_index: 0,
229
+ queue: true,
230
+ stage: "complete"
231
+ });
232
+ expect(notified).toBe(1);
233
+
234
+ delete_run_history(scope, id!);
235
+ expect(notified).toBe(2);
236
+
237
+ clear_run_history(scope);
238
+ expect(notified).toBe(3);
239
+
240
+ unsubscribe();
241
+ start_run_history({
242
+ app_id,
243
+ endpoint: "/predict",
244
+ api_name: "/predict",
245
+ fn_index: 0,
246
+ inputs: ["bye"]
247
+ });
248
+ expect(notified).toBe(3);
249
+ });
250
+
251
+ test("keeps a separate history per app id", () => {
252
+ start_run_history({
253
+ app_id,
254
+ endpoint: "/predict",
255
+ api_name: "/predict",
256
+ fn_index: 0,
257
+ inputs: ["mine"]
258
+ });
259
+ start_run_history({
260
+ app_id: other_app,
261
+ endpoint: "/predict",
262
+ api_name: "/predict",
263
+ fn_index: 0,
264
+ inputs: ["theirs"]
265
+ });
266
+
267
+ expect(read_run_history(scope)[0].inputs).toEqual(["mine"]);
268
+ expect(read_run_history(other_scope)[0].inputs).toEqual(["theirs"]);
269
+ });
270
+
271
+ test("keeps a separate history per user of the same app", () => {
272
+ const ada = { app_id, username: "ada" };
273
+ const grace = { app_id, username: "grace" };
274
+
275
+ start_run_history({
276
+ ...ada,
277
+ endpoint: "/predict",
278
+ api_name: "/predict",
279
+ fn_index: 0,
280
+ inputs: ["ada's secret"]
281
+ });
282
+
283
+ expect(read_run_history(grace)).toEqual([]);
284
+ expect(read_run_history(scope)).toEqual([]);
285
+ expect(read_run_history(ada)[0].inputs).toEqual(["ada's secret"]);
286
+
287
+ clear_run_history(ada);
288
+ });
289
+
290
+ test("removes staged replays when pruning an old app", () => {
291
+ vi.useFakeTimers();
292
+ vi.setSystemTime(new Date("2025-01-01T00:00:00Z"));
293
+ start_run_history({
294
+ app_id: other_app,
295
+ endpoint: "/predict",
296
+ api_name: "/predict",
297
+ fn_index: 0,
298
+ inputs: ["old"]
299
+ });
300
+ stage_run_history_replay(other_scope, read_run_history(other_scope)[0]);
301
+
302
+ for (const [index, replacement_app] of replacement_apps.entries()) {
303
+ vi.setSystemTime(new Date(Date.UTC(2025, 0, index + 2)));
304
+ start_run_history({
305
+ app_id: replacement_app,
306
+ endpoint: "/predict",
307
+ api_name: "/predict",
308
+ fn_index: 0,
309
+ inputs: [index]
310
+ });
311
+ }
312
+
313
+ expect(read_run_history(other_scope)).toEqual([]);
314
+ expect(consume_run_history_replay(other_scope)).toBeNull();
315
+ });
316
+ });
317
+
318
+ describe.skipIf(!in_browser)("replaying a run", () => {
319
+ function make_config() {
320
+ return {
321
+ app_id,
322
+ components: [
323
+ { id: 1, type: "textbox", props: { value: "default in" } },
324
+ { id: 2, type: "state", props: { value: "server side" } },
325
+ { id: 3, type: "image", props: { value: null } },
326
+ { id: 4, type: "textbox", props: { value: "default out" } }
327
+ ],
328
+ dependencies: [
329
+ { id: 7, api_name: "transform", inputs: [1, 2], outputs: [3, 4] }
330
+ ]
331
+ };
332
+ }
333
+
334
+ const stored = {
335
+ id: "run-1",
336
+ endpoint: "/transform",
337
+ api_name: "/transform",
338
+ fn_index: 7,
339
+ page: "/",
340
+ inputs: ["prompt", null],
341
+ outputs: [{ url: "http://localhost/image.webp" }, "described"],
342
+ status: "completed" as const,
343
+ started_at: new Date().toISOString()
344
+ };
345
+
346
+ test("writes the saved inputs and outputs back into the config", () => {
347
+ stage_run_history_replay(scope, stored);
348
+ const config = make_config();
349
+
350
+ expect(apply_run_history_replay(config)).toBe(true);
351
+ expect(config.components.map((component) => component.props.value)).toEqual(
352
+ ["prompt", "server side", stored.outputs[0], "described"]
353
+ );
354
+ expect(apply_run_history_replay(make_config())).toBe(false);
355
+ });
356
+
357
+ test("matches the endpoint by api name when the fn index has moved", () => {
358
+ stage_run_history_replay(scope, { ...stored, fn_index: 99 });
359
+ const config = make_config();
360
+
361
+ expect(apply_run_history_replay(config)).toBe(true);
362
+ expect(config.components[3].props.value).toBe("described");
363
+ });
364
+
365
+ test("leaves the config alone when the endpoint is gone", () => {
366
+ stage_run_history_replay(scope, {
367
+ ...stored,
368
+ fn_index: 99,
369
+ api_name: "/removed"
370
+ });
371
+ const config = make_config();
372
+
373
+ expect(apply_run_history_replay(config)).toBe(false);
374
+ expect(config.components.map((component) => component.props.value)).toEqual(
375
+ ["default in", "server side", null, "default out"]
376
+ );
377
+ });
378
+
379
+ test("is a no-op when nothing was staged", () => {
380
+ expect(apply_run_history_replay(make_config())).toBe(false);
381
+ });
382
+ });
383
+
384
+ describe("run history url", () => {
385
+ test("joins the app root and the api prefix", () => {
386
+ expect(run_history_url("http://localhost:7860")).toBe(
387
+ "http://localhost:7860/gradio_api/runs"
388
+ );
389
+ expect(run_history_url("http://localhost:7860/my-app/")).toBe(
390
+ "http://localhost:7860/my-app/gradio_api/runs"
391
+ );
392
+ expect(run_history_url("http://localhost:7860", "/api")).toBe(
393
+ "http://localhost:7860/api/runs"
394
+ );
395
+ });
396
+ });
397
+
398
+ describe.skipIf(in_browser)("run history outside the browser", () => {
399
+ test("is a no-op without storage", () => {
400
+ expect(
401
+ start_run_history({
402
+ app_id,
403
+ endpoint: "/predict",
404
+ api_name: "/predict",
405
+ fn_index: 0,
406
+ inputs: ["hello"]
407
+ })
408
+ ).toBeNull();
409
+ expect(read_run_history(scope)).toEqual([]);
410
+ expect(consume_run_history_replay(scope)).toBeNull();
411
+ });
412
+ });
package/src/types.ts CHANGED
@@ -211,6 +211,12 @@ export interface Config {
211
211
  pwa?: boolean;
212
212
  i18n_translations?: Record<string, Record<string, string>> | null;
213
213
  mcp_server?: boolean;
214
+ /**
215
+ * Whether the app permits its runs being saved in the browser. Set from
216
+ * `run_history` on `launch()`; absent on apps served by older versions of
217
+ * Gradio, which is treated as permitted.
218
+ */
219
+ run_history?: boolean;
214
220
  }
215
221
 
216
222
  // todo: DRY up types
@@ -347,6 +353,14 @@ export interface ClientOptions {
347
353
  * endpoints that declare they need it.
348
354
  */
349
355
  oauth_token?: string;
356
+ /**
357
+ * Whether to save each call's inputs and outputs in this browser's local
358
+ * storage, so they can be reviewed on the app's run history page. Defaults
359
+ * to true, and only ever applies in a browser: in Node there is no storage
360
+ * to write to and nothing is recorded. The app can turn it off for everyone
361
+ * with `run_history=False` on `launch()`, which takes precedence over this.
362
+ */
363
+ record_history?: boolean;
350
364
  }
351
365
 
352
366
  export interface FileData {