@gradio/client 0.16.0 → 0.18.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 (84) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +49 -43
  3. package/dist/client.d.ts +63 -70
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/constants.d.ts +23 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/helpers/api_info.d.ts +25 -0
  8. package/dist/helpers/api_info.d.ts.map +1 -0
  9. package/dist/helpers/data.d.ts +8 -0
  10. package/dist/helpers/data.d.ts.map +1 -0
  11. package/dist/{utils.d.ts → helpers/init_helpers.d.ts} +6 -18
  12. package/dist/helpers/init_helpers.d.ts.map +1 -0
  13. package/dist/helpers/spaces.d.ts +7 -0
  14. package/dist/helpers/spaces.d.ts.map +1 -0
  15. package/dist/index.d.ts +8 -4
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1628 -1398
  18. package/dist/test/handlers.d.ts +3 -0
  19. package/dist/test/handlers.d.ts.map +1 -0
  20. package/dist/test/mock_eventsource.d.ts +2 -0
  21. package/dist/test/mock_eventsource.d.ts.map +1 -0
  22. package/dist/test/server.d.ts +2 -0
  23. package/dist/test/server.d.ts.map +1 -0
  24. package/dist/test/test_data.d.ts +76 -0
  25. package/dist/test/test_data.d.ts.map +1 -0
  26. package/dist/types.d.ts +153 -49
  27. package/dist/types.d.ts.map +1 -1
  28. package/dist/upload.d.ts +2 -2
  29. package/dist/upload.d.ts.map +1 -1
  30. package/dist/utils/duplicate.d.ts +4 -0
  31. package/dist/utils/duplicate.d.ts.map +1 -0
  32. package/dist/utils/handle_blob.d.ts +4 -0
  33. package/dist/utils/handle_blob.d.ts.map +1 -0
  34. package/dist/utils/post_data.d.ts +4 -0
  35. package/dist/utils/post_data.d.ts.map +1 -0
  36. package/dist/utils/predict.d.ts +4 -0
  37. package/dist/utils/predict.d.ts.map +1 -0
  38. package/dist/utils/stream.d.ts +8 -0
  39. package/dist/utils/stream.d.ts.map +1 -0
  40. package/dist/utils/submit.d.ts +4 -0
  41. package/dist/utils/submit.d.ts.map +1 -0
  42. package/dist/utils/upload_files.d.ts +4 -0
  43. package/dist/utils/upload_files.d.ts.map +1 -0
  44. package/dist/utils/view_api.d.ts +3 -0
  45. package/dist/utils/view_api.d.ts.map +1 -0
  46. package/dist/{wrapper-6f348d45.js → wrapper-CviSselG.js} +259 -17
  47. package/package.json +10 -3
  48. package/src/client.ts +314 -1691
  49. package/src/constants.ts +27 -0
  50. package/src/globals.d.ts +2 -21
  51. package/src/helpers/api_info.ts +300 -0
  52. package/src/helpers/data.ts +133 -0
  53. package/src/helpers/init_helpers.ts +130 -0
  54. package/src/helpers/spaces.ts +197 -0
  55. package/src/index.ts +16 -10
  56. package/src/test/api_info.test.ts +456 -0
  57. package/src/test/data.test.ts +281 -0
  58. package/src/test/handlers.ts +438 -0
  59. package/src/test/init.test.ts +139 -0
  60. package/src/test/init_helpers.test.ts +94 -0
  61. package/src/test/mock_eventsource.ts +11 -0
  62. package/src/test/post_data.test.ts +45 -0
  63. package/src/test/server.ts +6 -0
  64. package/src/test/spaces.test.ts +145 -0
  65. package/src/test/stream.test.ts +67 -0
  66. package/src/test/test_data.ts +557 -0
  67. package/src/test/upload_files.test.ts +42 -0
  68. package/src/test/view_api.test.ts +53 -0
  69. package/src/types.ts +201 -59
  70. package/src/upload.ts +19 -15
  71. package/src/utils/duplicate.ts +104 -0
  72. package/src/utils/handle_blob.ts +47 -0
  73. package/src/utils/post_data.ts +37 -0
  74. package/src/utils/predict.ts +56 -0
  75. package/src/utils/stream.ts +175 -0
  76. package/src/utils/submit.ts +697 -0
  77. package/src/utils/upload_files.ts +51 -0
  78. package/src/utils/view_api.ts +67 -0
  79. package/src/vite-env.d.ts +1 -0
  80. package/tsconfig.json +15 -2
  81. package/vite.config.js +11 -17
  82. package/dist/utils.d.ts.map +0 -1
  83. package/src/client.node-test.ts +0 -172
  84. package/src/utils.ts +0 -314
@@ -1,12 +1,15 @@
1
1
  import require$$0 from "stream";
2
- import require$$0$1 from "zlib";
3
- import require$$0$2 from "buffer";
2
+ import require$$0$2 from "zlib";
3
+ import require$$0$1 from "fs";
4
+ import require$$1$1 from "path";
5
+ import require$$2 from "os";
6
+ import require$$0$3 from "buffer";
4
7
  import require$$3 from "net";
5
8
  import require$$4 from "tls";
6
9
  import require$$5 from "crypto";
7
- import require$$0$3 from "events";
8
- import require$$1$1 from "https";
9
- import require$$2 from "http";
10
+ import require$$0$4 from "events";
11
+ import require$$1$2 from "https";
12
+ import require$$2$1 from "http";
10
13
  import require$$7 from "url";
11
14
  function getDefaultExportFromCjs(x) {
12
15
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
@@ -18,10 +21,7 @@ function getAugmentedNamespace(n) {
18
21
  if (typeof f == "function") {
19
22
  var a = function a2() {
20
23
  if (this instanceof a2) {
21
- var args = [null];
22
- args.push.apply(args, arguments);
23
- var Ctor = Function.bind.apply(f, args);
24
- return new Ctor();
24
+ return Reflect.construct(f, arguments, this.constructor);
25
25
  }
26
26
  return f.apply(this, arguments);
27
27
  };
@@ -151,6 +151,248 @@ var constants = {
151
151
  NOOP: () => {
152
152
  }
153
153
  };
154
+ var bufferutil = { exports: {} };
155
+ var nodeGypBuild$1 = { exports: {} };
156
+ function commonjsRequire(path) {
157
+ throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
158
+ }
159
+ var nodeGypBuild;
160
+ var hasRequiredNodeGypBuild$1;
161
+ function requireNodeGypBuild$1() {
162
+ if (hasRequiredNodeGypBuild$1)
163
+ return nodeGypBuild;
164
+ hasRequiredNodeGypBuild$1 = 1;
165
+ var fs = require$$0$1;
166
+ var path = require$$1$1;
167
+ var os = require$$2;
168
+ var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : commonjsRequire;
169
+ var vars = process.config && process.config.variables || {};
170
+ var prebuildsOnly = !!process.env.PREBUILDS_ONLY;
171
+ var abi = process.versions.modules;
172
+ var runtime = isElectron() ? "electron" : isNwjs() ? "node-webkit" : "node";
173
+ var arch = process.env.npm_config_arch || os.arch();
174
+ var platform = process.env.npm_config_platform || os.platform();
175
+ var libc = process.env.LIBC || (isAlpine(platform) ? "musl" : "glibc");
176
+ var armv = process.env.ARM_VERSION || (arch === "arm64" ? "8" : vars.arm_version) || "";
177
+ var uv = (process.versions.uv || "").split(".")[0];
178
+ nodeGypBuild = load;
179
+ function load(dir) {
180
+ return runtimeRequire(load.resolve(dir));
181
+ }
182
+ load.resolve = load.path = function(dir) {
183
+ dir = path.resolve(dir || ".");
184
+ try {
185
+ var name = runtimeRequire(path.join(dir, "package.json")).name.toUpperCase().replace(/-/g, "_");
186
+ if (process.env[name + "_PREBUILD"])
187
+ dir = process.env[name + "_PREBUILD"];
188
+ } catch (err) {
189
+ }
190
+ if (!prebuildsOnly) {
191
+ var release = getFirst(path.join(dir, "build/Release"), matchBuild);
192
+ if (release)
193
+ return release;
194
+ var debug = getFirst(path.join(dir, "build/Debug"), matchBuild);
195
+ if (debug)
196
+ return debug;
197
+ }
198
+ var prebuild = resolve(dir);
199
+ if (prebuild)
200
+ return prebuild;
201
+ var nearby = resolve(path.dirname(process.execPath));
202
+ if (nearby)
203
+ return nearby;
204
+ var target = [
205
+ "platform=" + platform,
206
+ "arch=" + arch,
207
+ "runtime=" + runtime,
208
+ "abi=" + abi,
209
+ "uv=" + uv,
210
+ armv ? "armv=" + armv : "",
211
+ "libc=" + libc,
212
+ "node=" + process.versions.node,
213
+ process.versions.electron ? "electron=" + process.versions.electron : "",
214
+ typeof __webpack_require__ === "function" ? "webpack=true" : ""
215
+ // eslint-disable-line
216
+ ].filter(Boolean).join(" ");
217
+ throw new Error("No native build was found for " + target + "\n loaded from: " + dir + "\n");
218
+ function resolve(dir2) {
219
+ var tuples = readdirSync(path.join(dir2, "prebuilds")).map(parseTuple);
220
+ var tuple = tuples.filter(matchTuple(platform, arch)).sort(compareTuples)[0];
221
+ if (!tuple)
222
+ return;
223
+ var prebuilds = path.join(dir2, "prebuilds", tuple.name);
224
+ var parsed = readdirSync(prebuilds).map(parseTags);
225
+ var candidates = parsed.filter(matchTags(runtime, abi));
226
+ var winner = candidates.sort(compareTags(runtime))[0];
227
+ if (winner)
228
+ return path.join(prebuilds, winner.file);
229
+ }
230
+ };
231
+ function readdirSync(dir) {
232
+ try {
233
+ return fs.readdirSync(dir);
234
+ } catch (err) {
235
+ return [];
236
+ }
237
+ }
238
+ function getFirst(dir, filter) {
239
+ var files = readdirSync(dir).filter(filter);
240
+ return files[0] && path.join(dir, files[0]);
241
+ }
242
+ function matchBuild(name) {
243
+ return /\.node$/.test(name);
244
+ }
245
+ function parseTuple(name) {
246
+ var arr = name.split("-");
247
+ if (arr.length !== 2)
248
+ return;
249
+ var platform2 = arr[0];
250
+ var architectures = arr[1].split("+");
251
+ if (!platform2)
252
+ return;
253
+ if (!architectures.length)
254
+ return;
255
+ if (!architectures.every(Boolean))
256
+ return;
257
+ return { name, platform: platform2, architectures };
258
+ }
259
+ function matchTuple(platform2, arch2) {
260
+ return function(tuple) {
261
+ if (tuple == null)
262
+ return false;
263
+ if (tuple.platform !== platform2)
264
+ return false;
265
+ return tuple.architectures.includes(arch2);
266
+ };
267
+ }
268
+ function compareTuples(a, b) {
269
+ return a.architectures.length - b.architectures.length;
270
+ }
271
+ function parseTags(file) {
272
+ var arr = file.split(".");
273
+ var extension2 = arr.pop();
274
+ var tags = { file, specificity: 0 };
275
+ if (extension2 !== "node")
276
+ return;
277
+ for (var i = 0; i < arr.length; i++) {
278
+ var tag = arr[i];
279
+ if (tag === "node" || tag === "electron" || tag === "node-webkit") {
280
+ tags.runtime = tag;
281
+ } else if (tag === "napi") {
282
+ tags.napi = true;
283
+ } else if (tag.slice(0, 3) === "abi") {
284
+ tags.abi = tag.slice(3);
285
+ } else if (tag.slice(0, 2) === "uv") {
286
+ tags.uv = tag.slice(2);
287
+ } else if (tag.slice(0, 4) === "armv") {
288
+ tags.armv = tag.slice(4);
289
+ } else if (tag === "glibc" || tag === "musl") {
290
+ tags.libc = tag;
291
+ } else {
292
+ continue;
293
+ }
294
+ tags.specificity++;
295
+ }
296
+ return tags;
297
+ }
298
+ function matchTags(runtime2, abi2) {
299
+ return function(tags) {
300
+ if (tags == null)
301
+ return false;
302
+ if (tags.runtime !== runtime2 && !runtimeAgnostic(tags))
303
+ return false;
304
+ if (tags.abi !== abi2 && !tags.napi)
305
+ return false;
306
+ if (tags.uv && tags.uv !== uv)
307
+ return false;
308
+ if (tags.armv && tags.armv !== armv)
309
+ return false;
310
+ if (tags.libc && tags.libc !== libc)
311
+ return false;
312
+ return true;
313
+ };
314
+ }
315
+ function runtimeAgnostic(tags) {
316
+ return tags.runtime === "node" && tags.napi;
317
+ }
318
+ function compareTags(runtime2) {
319
+ return function(a, b) {
320
+ if (a.runtime !== b.runtime) {
321
+ return a.runtime === runtime2 ? -1 : 1;
322
+ } else if (a.abi !== b.abi) {
323
+ return a.abi ? -1 : 1;
324
+ } else if (a.specificity !== b.specificity) {
325
+ return a.specificity > b.specificity ? -1 : 1;
326
+ } else {
327
+ return 0;
328
+ }
329
+ };
330
+ }
331
+ function isNwjs() {
332
+ return !!(process.versions && process.versions.nw);
333
+ }
334
+ function isElectron() {
335
+ if (process.versions && process.versions.electron)
336
+ return true;
337
+ if (process.env.ELECTRON_RUN_AS_NODE)
338
+ return true;
339
+ return typeof window !== "undefined" && window.process && window.process.type === "renderer";
340
+ }
341
+ function isAlpine(platform2) {
342
+ return platform2 === "linux" && fs.existsSync("/etc/alpine-release");
343
+ }
344
+ load.parseTags = parseTags;
345
+ load.matchTags = matchTags;
346
+ load.compareTags = compareTags;
347
+ load.parseTuple = parseTuple;
348
+ load.matchTuple = matchTuple;
349
+ load.compareTuples = compareTuples;
350
+ return nodeGypBuild;
351
+ }
352
+ var hasRequiredNodeGypBuild;
353
+ function requireNodeGypBuild() {
354
+ if (hasRequiredNodeGypBuild)
355
+ return nodeGypBuild$1.exports;
356
+ hasRequiredNodeGypBuild = 1;
357
+ if (typeof process.addon === "function") {
358
+ nodeGypBuild$1.exports = process.addon.bind(process);
359
+ } else {
360
+ nodeGypBuild$1.exports = requireNodeGypBuild$1();
361
+ }
362
+ return nodeGypBuild$1.exports;
363
+ }
364
+ var fallback;
365
+ var hasRequiredFallback;
366
+ function requireFallback() {
367
+ if (hasRequiredFallback)
368
+ return fallback;
369
+ hasRequiredFallback = 1;
370
+ const mask2 = (source, mask3, output, offset, length) => {
371
+ for (var i = 0; i < length; i++) {
372
+ output[offset + i] = source[i] ^ mask3[i & 3];
373
+ }
374
+ };
375
+ const unmask2 = (buffer, mask3) => {
376
+ const length = buffer.length;
377
+ for (var i = 0; i < length; i++) {
378
+ buffer[i] ^= mask3[i & 3];
379
+ }
380
+ };
381
+ fallback = { mask: mask2, unmask: unmask2 };
382
+ return fallback;
383
+ }
384
+ var hasRequiredBufferutil;
385
+ function requireBufferutil() {
386
+ if (hasRequiredBufferutil)
387
+ return bufferutil.exports;
388
+ hasRequiredBufferutil = 1;
389
+ try {
390
+ bufferutil.exports = requireNodeGypBuild()(__dirname);
391
+ } catch (e) {
392
+ bufferutil.exports = requireFallback();
393
+ }
394
+ return bufferutil.exports;
395
+ }
154
396
  var unmask$1;
155
397
  var mask;
156
398
  const { EMPTY_BUFFER: EMPTY_BUFFER$3 } = constants;
@@ -212,7 +454,7 @@ bufferUtil$1.exports = {
212
454
  };
213
455
  if (!process.env.WS_NO_BUFFER_UTIL) {
214
456
  try {
215
- const bufferUtil2 = require("bufferutil");
457
+ const bufferUtil2 = requireBufferutil();
216
458
  mask = bufferUtil$1.exports.mask = function(source, mask2, output, offset, length) {
217
459
  if (length < 48)
218
460
  _mask(source, mask2, output, offset, length);
@@ -273,7 +515,7 @@ let Limiter$1 = class Limiter {
273
515
  }
274
516
  };
275
517
  var limiter = Limiter$1;
276
- const zlib = require$$0$1;
518
+ const zlib = require$$0$2;
277
519
  const bufferUtil = bufferUtilExports;
278
520
  const Limiter2 = limiter;
279
521
  const { kStatusCode: kStatusCode$2 } = constants;
@@ -654,7 +896,7 @@ const __viteOptionalPeerDep_utf8Validate_ws$1 = /* @__PURE__ */ Object.freeze(/*
654
896
  }, Symbol.toStringTag, { value: "Module" }));
655
897
  const require$$1 = /* @__PURE__ */ getAugmentedNamespace(__viteOptionalPeerDep_utf8Validate_ws$1);
656
898
  var isValidUTF8_1;
657
- const { isUtf8 } = require$$0$2;
899
+ const { isUtf8 } = require$$0$3;
658
900
  const tokenChars$2 = [
659
901
  0,
660
902
  0,
@@ -2159,9 +2401,9 @@ function format$1(extensions) {
2159
2401
  }).join(", ");
2160
2402
  }
2161
2403
  var extension$1 = { format: format$1, parse: parse$2 };
2162
- const EventEmitter$1 = require$$0$3;
2163
- const https = require$$1$1;
2164
- const http$1 = require$$2;
2404
+ const EventEmitter$1 = require$$0$4;
2405
+ const https = require$$1$2;
2406
+ const http$1 = require$$2$1;
2165
2407
  const net = require$$3;
2166
2408
  const tls = require$$4;
2167
2409
  const { randomBytes, createHash: createHash$1 } = require$$5;
@@ -3065,8 +3307,8 @@ function parse(header) {
3065
3307
  return protocols;
3066
3308
  }
3067
3309
  var subprotocol$1 = { parse };
3068
- const EventEmitter = require$$0$3;
3069
- const http = require$$2;
3310
+ const EventEmitter = require$$0$4;
3311
+ const http = require$$2$1;
3070
3312
  const { createHash } = require$$5;
3071
3313
  const extension = extension$1;
3072
3314
  const PerMessageDeflate2 = permessageDeflate;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradio/client",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "Gradio API client",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,12 +13,16 @@
13
13
  "./package.json": "./package.json"
14
14
  },
15
15
  "dependencies": {
16
+ "@types/eventsource": "^1.1.15",
16
17
  "bufferutil": "^4.0.7",
18
+ "eventsource": "^2.0.2",
19
+ "msw": "^2.2.1",
17
20
  "semiver": "^1.1.0",
21
+ "typescript": "^5.0.0",
18
22
  "ws": "^8.13.0"
19
23
  },
20
24
  "devDependencies": {
21
- "@types/ws": "^8.5.4",
25
+ "@types/ws": "^8.5.10",
22
26
  "esbuild": "^0.20.0"
23
27
  },
24
28
  "engines": {
@@ -28,6 +32,9 @@
28
32
  "scripts": {
29
33
  "bundle": "vite build --ssr",
30
34
  "generate_types": "tsc",
31
- "build": "pnpm bundle && pnpm generate_types"
35
+ "build": "pnpm bundle && pnpm generate_types",
36
+ "test": "pnpm test:client && pnpm test:client:node",
37
+ "test:client": "vitest run -c vite.config.js",
38
+ "test:client:node": "TEST_MODE=node vitest run -c vite.config.js"
32
39
  }
33
40
  }