diff --git a/.stats.yml b/.stats.yml
index e396c3c..99e9dfc 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
-configured_endpoints: 15
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/writerai%2Fwriter-e54b835d1d64d37343017f4919c60998496a1b2b5c8e0c67af82093efc613f2f.yml
+configured_endpoints: 12
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/writerai%2Fwriter-eccf2e27a91b41489a70fdbe1253c1142da0f2f2d1e84267b037d6b6af0b26dd.yml
diff --git a/api.md b/api.md
index 6db6115..75a1a6c 100644
--- a/api.md
+++ b/api.md
@@ -55,12 +55,8 @@ Methods:
Types:
- File
-- FileDeleteResponse
Methods:
-- client.files.retrieve(fileId) -> File
- client.files.list({ ...params }) -> FilesCursorPage
-- client.files.delete(fileId) -> FileDeleteResponse
-- client.files.download(fileId) -> Response
- client.files.upload({ ...params }) -> File
diff --git a/package.json b/package.json
index 8d5a514..a55fceb 100644
--- a/package.json
+++ b/package.json
@@ -26,11 +26,13 @@
"dependencies": {
"@types/node": "^18.11.18",
"@types/node-fetch": "^2.6.4",
+ "@types/qs": "^6.9.7",
"abort-controller": "^3.0.0",
"agentkeepalive": "^4.2.1",
"form-data-encoder": "1.7.2",
"formdata-node": "^4.3.2",
"node-fetch": "^2.6.7",
+ "qs": "^6.10.3",
"web-streams-polyfill": "^3.2.1"
},
"devDependencies": {
diff --git a/src/index.ts b/src/index.ts
index b70c192..c3d2dc4 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -3,6 +3,7 @@
import * as Errors from './error';
import * as Uploads from './uploads';
import { type Agent } from './_shims/index';
+import * as qs from 'qs';
import * as Core from './core';
import * as Pagination from './pagination';
import * as API from './resources/index';
@@ -141,6 +142,10 @@ export class Writer extends Core.APIClient {
return { Authorization: `Bearer ${this.apiKey}` };
}
+ protected override stringifyQuery(query: Record): string {
+ return qs.stringify(query, { arrayFormat: 'comma' });
+ }
+
static Writer = this;
static WriterError = Errors.WriterError;
@@ -218,7 +223,6 @@ export namespace Writer {
export import Files = API.Files;
export import File = API.File;
- export import FileDeleteResponse = API.FileDeleteResponse;
export import FilesCursorPage = API.FilesCursorPage;
export import FileListParams = API.FileListParams;
export import FileUploadParams = API.FileUploadParams;
diff --git a/src/resources/files.ts b/src/resources/files.ts
index bcc24d3..24bdfe0 100644
--- a/src/resources/files.ts
+++ b/src/resources/files.ts
@@ -5,19 +5,10 @@ import { isRequestOptions } from '../core';
import * as Core from '../core';
import * as FilesAPI from './files';
import { CursorPage, type CursorPageParams } from '../pagination';
-import { type BlobLike } from '../uploads';
-import { type Response } from '../_shims/index';
export class Files extends APIResource {
/**
- * Get metadata of a file
- */
- retrieve(fileId: string, options?: Core.RequestOptions): Core.APIPromise {
- return this._client.get(`/v1/files/${fileId}`, options);
- }
-
- /**
- * Get metadata of all files
+ * List files
*/
list(query?: FileListParams, options?: Core.RequestOptions): Core.PagePromise;
list(options?: Core.RequestOptions): Core.PagePromise;
@@ -31,20 +22,6 @@ export class Files extends APIResource {
return this._client.getAPIList('/v1/files', FilesCursorPage, { query, ...options });
}
- /**
- * Delete file
- */
- delete(fileId: string, options?: Core.RequestOptions): Core.APIPromise {
- return this._client.delete(`/v1/files/${fileId}`, options);
- }
-
- /**
- * Download a file
- */
- download(fileId: string, options?: Core.RequestOptions): Core.APIPromise {
- return this._client.get(`/v1/files/${fileId}/download`, { ...options, __binaryResponse: true });
- }
-
/**
* Upload file
*/
@@ -72,26 +49,43 @@ export class Files extends APIResource {
export class FilesCursorPage extends CursorPage {}
export interface File {
+ /**
+ * A unique identifier of the graph.
+ */
id: string;
+ /**
+ * The timestamp when the graph was created.
+ */
created_at: string;
+ /**
+ * A list of graph IDs that the file is associated with.
+ */
graph_ids: Array;
+ /**
+ * The name of the graph.
+ */
name: string;
}
-export interface FileDeleteResponse {
- id: string;
-
- deleted: boolean;
-}
-
export interface FileListParams extends CursorPageParams {
- graph_id?: string;
+ /**
+ * The unique identifier of the graph to which the files belong.
+ */
+ graph_id?: Array;
+ /**
+ * Specifies the maximum number of objects returned in a page. The default value
+ * is 50. The minimum value is 1, and the maximum value is 100.
+ */
limit?: number;
+ /**
+ * Specifies the order of the results. Valid values are asc for ascending and desc
+ * for descending.
+ */
order?: 'asc' | 'desc';
}
@@ -99,27 +93,27 @@ export interface FileUploadParams {
/**
* Body param:
*/
- content: string | ArrayBufferView | ArrayBuffer | BlobLike;
+ content: Core.Uploadable;
/**
- * Header param:
+ * Header param: The disposition type of the file, typically used to indicate the
+ * form-data name.
*/
'Content-Disposition': string;
/**
- * Header param:
+ * Header param: The size of the file in bytes.
*/
'Content-Length': number;
/**
- * Header param:
+ * Header param: The MIME type of the file being uploaded.
*/
'Content-Type': string;
}
export namespace Files {
export import File = FilesAPI.File;
- export import FileDeleteResponse = FilesAPI.FileDeleteResponse;
export import FilesCursorPage = FilesAPI.FilesCursorPage;
export import FileListParams = FilesAPI.FileListParams;
export import FileUploadParams = FilesAPI.FileUploadParams;
diff --git a/src/resources/graphs.ts b/src/resources/graphs.ts
index 3a6caa8..ce5b5d5 100644
--- a/src/resources/graphs.ts
+++ b/src/resources/graphs.ts
@@ -8,14 +8,23 @@ import * as FilesAPI from './files';
import { CursorPage, type CursorPageParams } from '../pagination';
export class Graphs extends APIResource {
+ /**
+ * Create graph
+ */
create(body: GraphCreateParams, options?: Core.RequestOptions): Core.APIPromise {
return this._client.post('/v1/graphs', { body, ...options });
}
+ /**
+ * Retrieve graph
+ */
retrieve(graphId: string, options?: Core.RequestOptions): Core.APIPromise {
return this._client.get(`/v1/graphs/${graphId}`, options);
}
+ /**
+ * Update graph
+ */
update(
graphId: string,
body: GraphUpdateParams,
@@ -24,6 +33,9 @@ export class Graphs extends APIResource {
return this._client.put(`/v1/graphs/${graphId}`, { body, ...options });
}
+ /**
+ * List graphs
+ */
list(query?: GraphListParams, options?: Core.RequestOptions): Core.PagePromise;
list(options?: Core.RequestOptions): Core.PagePromise;
list(
@@ -36,10 +48,16 @@ export class Graphs extends APIResource {
return this._client.getAPIList('/v1/graphs', GraphsCursorPage, { query, ...options });
}
+ /**
+ * Delete graph
+ */
delete(graphId: string, options?: Core.RequestOptions): Core.APIPromise {
return this._client.delete(`/v1/graphs/${graphId}`, options);
}
+ /**
+ * Add file to graph
+ */
addFileToGraph(
graphId: string,
body: GraphAddFileToGraphParams,
@@ -48,6 +66,9 @@ export class Graphs extends APIResource {
return this._client.post(`/v1/graphs/${graphId}/file`, { body, ...options });
}
+ /**
+ * Remove file from graph
+ */
removeFileFromGraph(
graphId: string,
fileId: string,
@@ -60,80 +81,163 @@ export class Graphs extends APIResource {
export class GraphsCursorPage extends CursorPage {}
export interface Graph {
+ /**
+ * A unique identifier of the file.
+ */
id: string;
+ /**
+ * The timestamp when the file was created.
+ */
created_at: string;
file_status: Graph.FileStatus;
+ /**
+ * The name of the file.
+ */
name: string;
+ /**
+ * A description of the graph.
+ */
description?: string;
}
export namespace Graph {
export interface FileStatus {
+ /**
+ * The number of files that have been successfully processed.
+ */
completed: number;
+ /**
+ * The number of files that failed to process.
+ */
failed: number;
+ /**
+ * The number of files currently being processed.
+ */
in_progress: number;
+ /**
+ * The total number of files associated with the graph.
+ */
total: number;
}
}
export interface GraphCreateResponse {
+ /**
+ * A unique identifier of the graph.
+ */
id: string;
+ /**
+ * The timestamp when the graph was created.
+ */
created_at: string;
+ /**
+ * The name of the graph.
+ */
name: string;
+ /**
+ * A description of the graph.
+ */
description?: string;
}
export interface GraphUpdateResponse {
+ /**
+ * A unique identifier of the graph.
+ */
id: string;
+ /**
+ * The timestamp when the graph was created.
+ */
created_at: string;
+ /**
+ * The name of the graph.
+ */
name: string;
+ /**
+ * A description of the graph.
+ */
description?: string;
}
export interface GraphDeleteResponse {
+ /**
+ * A unique identifier of the deleted file.
+ */
id: string;
+ /**
+ * Indicates whether the file was successfully deleted.
+ */
deleted: boolean;
}
export interface GraphRemoveFileFromGraphResponse {
+ /**
+ * A unique identifier of the deleted graph.
+ */
id: string;
+ /**
+ * Indicates whether the graph was successfully deleted.
+ */
deleted: boolean;
}
export interface GraphCreateParams {
+ /**
+ * The name of the graph.
+ */
name: string;
+ /**
+ * A description of the graph.
+ */
description?: string;
}
export interface GraphUpdateParams {
+ /**
+ * The name of the graph.
+ */
name: string;
+ /**
+ * A description of the graph.
+ */
description?: string;
}
export interface GraphListParams extends CursorPageParams {
+ /**
+ * Specifies the maximum number of objects returned in a page. The default value
+ * is 50. The minimum value is 1, and the maximum value is 100.
+ */
limit?: number;
+ /**
+ * Specifies the order of the results. Valid values are asc for ascending and desc
+ * for descending.
+ */
order?: 'asc' | 'desc';
}
export interface GraphAddFileToGraphParams {
+ /**
+ * The unique identifier of the file.
+ */
file_id: string;
}
diff --git a/src/resources/index.ts b/src/resources/index.ts
index facce82..fe07bfe 100644
--- a/src/resources/index.ts
+++ b/src/resources/index.ts
@@ -16,7 +16,7 @@ export {
CompletionCreateParamsStreaming,
Completions,
} from './completions';
-export { File, FileDeleteResponse, FileListParams, FileUploadParams, FilesCursorPage, Files } from './files';
+export { File, FileListParams, FileUploadParams, FilesCursorPage, Files } from './files';
export {
Graph,
GraphCreateResponse,
diff --git a/tests/api-resources/files.test.ts b/tests/api-resources/files.test.ts
index 8801283..1c9dc36 100644
--- a/tests/api-resources/files.test.ts
+++ b/tests/api-resources/files.test.ts
@@ -9,24 +9,6 @@ const writer = new Writer({
});
describe('resource files', () => {
- test('retrieve', async () => {
- const responsePromise = writer.files.retrieve('fileId');
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- test('retrieve: request options instead of params are passed correctly', async () => {
- // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
- await expect(writer.files.retrieve('fileId', { path: '/_stainless_unknown_path' })).rejects.toThrow(
- Writer.NotFoundError,
- );
- });
-
test('list', async () => {
const responsePromise = writer.files.list();
const rawResponse = await responsePromise.asResponse();
@@ -52,7 +34,11 @@ describe('resource files', () => {
{
after: 'after',
before: 'before',
- graph_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ graph_id: [
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ ],
limit: 0,
order: 'asc',
},
@@ -61,32 +47,6 @@ describe('resource files', () => {
).rejects.toThrow(Writer.NotFoundError);
});
- test('delete', async () => {
- const responsePromise = writer.files.delete('fileId');
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- test('delete: request options instead of params are passed correctly', async () => {
- // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
- await expect(writer.files.delete('fileId', { path: '/_stainless_unknown_path' })).rejects.toThrow(
- Writer.NotFoundError,
- );
- });
-
- // requests with binary data not yet supported in test environment
- test.skip('download: request options instead of params are passed correctly', async () => {
- // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
- await expect(writer.files.download('fileId', { path: '/_stainless_unknown_path' })).rejects.toThrow(
- Writer.NotFoundError,
- );
- });
-
// requests with binary data not yet supported in test environment
test.skip('upload: only required params', async () => {
const responsePromise = writer.files.upload({
diff --git a/tests/stringifyQuery.test.ts b/tests/stringifyQuery.test.ts
index 3bfbae8..4bf687f 100644
--- a/tests/stringifyQuery.test.ts
+++ b/tests/stringifyQuery.test.ts
@@ -20,10 +20,4 @@ describe(stringifyQuery, () => {
expect(stringifyQuery(input)).toEqual(expected);
});
}
-
- for (const value of [[], {}, new Date()]) {
- it(`${JSON.stringify(value)} -> `, () => {
- expect(() => stringifyQuery({ value })).toThrow(`Cannot stringify type ${typeof value}`);
- });
- }
});
diff --git a/yarn.lock b/yarn.lock
index dda4d2e..648fb3c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -881,6 +881,11 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f"
integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==
+"@types/qs@^6.9.7":
+ version "6.9.15"
+ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce"
+ integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==
+
"@types/semver@^7.5.0":
version "7.5.3"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04"
@@ -1243,6 +1248,17 @@ bundle-name@^3.0.0:
dependencies:
run-applescript "^5.0.0"
+call-bind@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
+ integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
+ dependencies:
+ es-define-property "^1.0.0"
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+ get-intrinsic "^1.2.4"
+ set-function-length "^1.2.1"
+
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -1432,6 +1448,15 @@ default-browser@^4.0.0:
execa "^7.1.1"
titleize "^3.0.0"
+define-data-property@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
+ integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
+ dependencies:
+ es-define-property "^1.0.0"
+ es-errors "^1.3.0"
+ gopd "^1.0.1"
+
define-lazy-prop@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f"
@@ -1498,6 +1523,18 @@ error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
+es-define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
+ integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
+ dependencies:
+ get-intrinsic "^1.2.4"
+
+es-errors@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
+
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -1845,6 +1882,17 @@ get-caller-file@^2.0.5:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
+ integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
+ dependencies:
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+ has-proto "^1.0.1"
+ has-symbols "^1.0.3"
+ hasown "^2.0.0"
+
get-package-type@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
@@ -1910,6 +1958,13 @@ globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
+gopd@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
+ integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
+ dependencies:
+ get-intrinsic "^1.1.3"
+
graceful-fs@^4.2.9:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
@@ -1930,6 +1985,23 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+has-property-descriptors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
+ integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
+ dependencies:
+ es-define-property "^1.0.0"
+
+has-proto@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
+ integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
+
+has-symbols@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+
hasown@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
@@ -2747,6 +2819,11 @@ npm-run-path@^5.1.0:
dependencies:
path-key "^4.0.0"
+object-inspect@^1.13.1:
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff"
+ integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==
+
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -2955,6 +3032,13 @@ pure-rand@^6.0.0:
resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7"
integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==
+qs@^6.10.3:
+ version "6.12.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.3.tgz#e43ce03c8521b9c7fd7f1f13e514e5ca37727754"
+ integrity sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==
+ dependencies:
+ side-channel "^1.0.6"
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -3053,6 +3137,18 @@ semver@^7.5.3, semver@^7.5.4:
dependencies:
lru-cache "^6.0.0"
+set-function-length@^1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
+ integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
+ dependencies:
+ define-data-property "^1.1.4"
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+ get-intrinsic "^1.2.4"
+ gopd "^1.0.1"
+ has-property-descriptors "^1.0.2"
+
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@@ -3065,6 +3161,16 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+side-channel@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
+ integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
+ dependencies:
+ call-bind "^1.0.7"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.4"
+ object-inspect "^1.13.1"
+
signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"