From 69988ea0ba96ef1cc53e03164ccbbf56f253a623 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 04:15:07 +0000 Subject: [PATCH 1/9] chore(internal): move publish config --- bin/publish-npm | 2 +- package.json | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/publish-npm b/bin/publish-npm index fa2243d..45e8aa8 100644 --- a/bin/publish-npm +++ b/bin/publish-npm @@ -58,4 +58,4 @@ else fi # Publish with the appropriate tag -yarn publish --access public --tag "$TAG" +yarn publish --tag "$TAG" diff --git a/package.json b/package.json index a93a51b..c50ae3a 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ "**/*" ], "private": false, + "publishConfig": { + "access": "public" + }, "scripts": { "test": "./scripts/test", "build": "./scripts/build", From d253dcd0903f512ae2407c25f94fe8ba6c82c849 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 9 Aug 2025 04:52:27 +0000 Subject: [PATCH 2/9] chore: update @stainless-api/prism-cli to v5.15.0 --- scripts/mock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/mock b/scripts/mock index d2814ae..0b28f6e 100755 --- a/scripts/mock +++ b/scripts/mock @@ -21,7 +21,7 @@ echo "==> Starting mock server with URL ${URL}" # Run prism mock on the given spec if [ "$1" == "--daemon" ]; then - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" &> .prism.log & + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log & # Wait for server to come online echo -n "Waiting for server" @@ -37,5 +37,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" fi From c1aa375f9b0b4365bd353d647f25adc24c5611c6 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 9 Aug 2025 04:59:10 +0000 Subject: [PATCH 3/9] chore(internal): update comment in script --- scripts/test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/test b/scripts/test index 2049e31..7bce051 100755 --- a/scripts/test +++ b/scripts/test @@ -43,7 +43,7 @@ elif ! prism_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the prism command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stoplight/prism-cli@~5.3.2 -- prism mock path/to/your.openapi.yml${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}" echo exit 1 From f3722beeca5d6986898f7119d4dc049d03016dbb Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 02:19:40 +0000 Subject: [PATCH 4/9] chore(internal): codegen related update --- tests/api-resources/beta.test.ts | 8 ++++---- tests/api-resources/workbooks.test.ts | 23 +++++++++++------------ 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/tests/api-resources/beta.test.ts b/tests/api-resources/beta.test.ts index 78cd3cf..74514b3 100644 --- a/tests/api-resources/beta.test.ts +++ b/tests/api-resources/beta.test.ts @@ -8,7 +8,7 @@ const client = new Grid({ }); describe('resource beta', () => { - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('getWorkbookLabels', async () => { const responsePromise = client.beta.getWorkbookLabels('id'); const rawResponse = await responsePromise.asResponse(); @@ -20,7 +20,7 @@ describe('resource beta', () => { expect(dataAndResponse.response).toBe(rawResponse); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('getWorkbookParameters', async () => { const responsePromise = client.beta.getWorkbookParameters('id'); const rawResponse = await responsePromise.asResponse(); @@ -32,7 +32,7 @@ describe('resource beta', () => { expect(dataAndResponse.response).toBe(rawResponse); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('searchLabels: only required params', async () => { const responsePromise = client.beta.searchLabels({ query: 'profit' }); const rawResponse = await responsePromise.asResponse(); @@ -44,7 +44,7 @@ describe('resource beta', () => { expect(dataAndResponse.response).toBe(rawResponse); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('searchLabels: required and optional params', async () => { const response = await client.beta.searchLabels({ query: 'profit', max_labels: 20, max_results: 10 }); }); diff --git a/tests/api-resources/workbooks.test.ts b/tests/api-resources/workbooks.test.ts index 1dd6ea3..f895af0 100644 --- a/tests/api-resources/workbooks.test.ts +++ b/tests/api-resources/workbooks.test.ts @@ -8,7 +8,7 @@ const client = new Grid({ }); describe('resource workbooks', () => { - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('list', async () => { const responsePromise = client.workbooks.list(); const rawResponse = await responsePromise.asResponse(); @@ -20,7 +20,7 @@ describe('resource workbooks', () => { expect(dataAndResponse.response).toBe(rawResponse); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('list: request options and 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( @@ -28,7 +28,7 @@ describe('resource workbooks', () => { ).rejects.toThrow(Grid.NotFoundError); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('calc: only required params', async () => { const responsePromise = client.workbooks.calc('id', { read: ['A1'] }); const rawResponse = await responsePromise.asResponse(); @@ -40,12 +40,12 @@ describe('resource workbooks', () => { expect(dataAndResponse.response).toBe(rawResponse); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('calc: required and optional params', async () => { const response = await client.workbooks.calc('id', { read: ['A1'], apply: { foo: 1234 } }); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('query: only required params', async () => { const responsePromise = client.workbooks.query('id', { read: ['A1', 'Sheet2!B3', '=SUM(A1:A4)'] }); const rawResponse = await responsePromise.asResponse(); @@ -57,7 +57,7 @@ describe('resource workbooks', () => { expect(dataAndResponse.response).toBe(rawResponse); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('query: required and optional params', async () => { const response = await client.workbooks.query('id', { read: ['A1', 'Sheet2!B3', '=SUM(A1:A4)'], @@ -67,8 +67,7 @@ describe('resource workbooks', () => { }); }); - // skipped: tests are disabled for the time being - test.skip('renderChart: required and optional params', async () => { + test('renderChart: required and optional params', async () => { const response = await client.workbooks.renderChart('id', { chart: { axisDim: { numberFormat: '#,##0.0', reverse: 'false', title: '=C4' }, @@ -107,7 +106,7 @@ describe('resource workbooks', () => { }); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('upload: only required params', async () => { const responsePromise = client.workbooks.upload({ file: await toFile(Buffer.from('# my file contents'), 'README.md'), @@ -121,14 +120,14 @@ describe('resource workbooks', () => { expect(dataAndResponse.response).toBe(rawResponse); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('upload: required and optional params', async () => { const response = await client.workbooks.upload({ file: await toFile(Buffer.from('# my file contents'), 'README.md'), }); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('values: only required params', async () => { const responsePromise = client.workbooks.values('id', { read: ['A1'] }); const rawResponse = await responsePromise.asResponse(); @@ -140,7 +139,7 @@ describe('resource workbooks', () => { expect(dataAndResponse.response).toBe(rawResponse); }); - // skipped: tests are disabled for the time being + // Prism tests are disabled test.skip('values: required and optional params', async () => { const response = await client.workbooks.values('id', { read: ['A1'], apply: { foo: 1234 } }); }); From 5a1518525a6c1efdce66913a8721b9706cceb564 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 16 Aug 2025 03:58:00 +0000 Subject: [PATCH 5/9] chore(deps): update dependency @types/node to v20.17.58 --- yarn.lock | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 58c08d5..fd164dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -938,11 +938,11 @@ undici-types "~5.26.4" "@types/node@^20.17.6": - version "20.17.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.6.tgz#6e4073230c180d3579e8c60141f99efdf5df0081" - integrity sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ== + version "20.19.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.11.tgz#728cab53092bd5f143beed7fbba7ba99de3c16c4" + integrity sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow== dependencies: - undici-types "~6.19.2" + undici-types "~6.21.0" "@types/stack-utils@^2.0.0": version "2.0.3" @@ -3285,6 +3285,7 @@ ts-node@^10.5.0: "tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.8/tsc-multi.tgz": version "1.1.8" + uid f544b359b8f05e607771ffacc280e58201476b04 resolved "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.8/tsc-multi.tgz#f544b359b8f05e607771ffacc280e58201476b04" dependencies: debug "^4.3.7" @@ -3353,10 +3354,10 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici-types@~6.19.2: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== unicode-emoji-modifier-base@^1.0.0: version "1.0.0" From a24f913962a546a43014a693f75d32b403a0fa37 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 16 Aug 2025 04:05:05 +0000 Subject: [PATCH 6/9] chore(internal): formatting change --- src/client.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/client.ts b/src/client.ts index ff70282..59fa4c1 100644 --- a/src/client.ts +++ b/src/client.ts @@ -761,8 +761,10 @@ export class Grid { workbooks: API.Workbooks = new API.Workbooks(this); beta: API.Beta = new API.Beta(this); } + Grid.Workbooks = Workbooks; Grid.Beta = Beta; + export declare namespace Grid { export type RequestOptions = Opts.RequestOptions; From c7c570132f3e677b43fc625605b2b7ea6994170e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 06:52:20 +0000 Subject: [PATCH 7/9] feat(mcp): add code execution tool --- package.json | 2 +- yarn.lock | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c50ae3a..e106af9 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "publint": "^0.2.12", "ts-jest": "^29.1.0", "ts-node": "^10.5.0", - "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.8/tsc-multi.tgz", + "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz", "tsconfig-paths": "^4.0.0", "typescript": "5.8.3", "typescript-eslint": "8.31.1" diff --git a/yarn.lock b/yarn.lock index fd164dc..8311caf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3283,10 +3283,9 @@ ts-node@^10.5.0: v8-compile-cache-lib "^3.0.0" yn "3.1.1" -"tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.8/tsc-multi.tgz": - version "1.1.8" - uid f544b359b8f05e607771ffacc280e58201476b04 - resolved "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.8/tsc-multi.tgz#f544b359b8f05e607771ffacc280e58201476b04" +"tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz": + version "1.1.9" + resolved "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz#777f6f5d9e26bf0e94e5170990dd3a841d6707cd" dependencies: debug "^4.3.7" fast-glob "^3.3.2" From 46e4a2a5d40bf6fd88974f40f9d751224e00fb39 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 09:51:52 +0000 Subject: [PATCH 8/9] feat(api): api update --- .stats.yml | 4 ++-- src/resources/workbooks.ts | 7 +++++++ tests/api-resources/workbooks.test.ts | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 3d5ff15..3de7e24 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 10 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/grid%2Fspreadsheet-api-937ec398ff9d8219722378c542c3ffaf79b917fd833781ea5c6840b42620e6c8.yml -openapi_spec_hash: 3ac84a2bff939ae296c2f4295d4e28e9 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/grid%2Fspreadsheet-api-1ab2fc3d8f3148930e93143508a6b0616f518304292780e73b6e617f2d9a8544.yml +openapi_spec_hash: ae93f3385420957c590f188e8657dd31 config_hash: d3f4645d9a93970cbead53b83c49a2c4 diff --git a/src/resources/workbooks.ts b/src/resources/workbooks.ts index 8bc14fd..dedb269 100644 --- a/src/resources/workbooks.ts +++ b/src/resources/workbooks.ts @@ -788,6 +788,13 @@ export namespace WorkbookRenderChartParams { */ legendVisible?: 'false' | 'true' | null; + /** + * Hex color code for the chart's background matte, e.g. '#FFFFFF' for white, if + * not specified, the chart will have a transparent background. Note, this is + * currently only supported for PNG images. + */ + matte?: string | null; + /** * Number format pattern used for formatting labels on the chart. */ diff --git a/tests/api-resources/workbooks.test.ts b/tests/api-resources/workbooks.test.ts index f895af0..08c42a9 100644 --- a/tests/api-resources/workbooks.test.ts +++ b/tests/api-resources/workbooks.test.ts @@ -93,6 +93,7 @@ describe('resource workbooks', () => { legend: '=D2:D142', legendLines: '=E2:E142', legendVisible: 'false', + matte: '#FFFFFF', numberFormat: '#,##0.0', sortBy: 0, sortOrder: '', From c4dabaab1fc1a4004bbca2ab1acb74aa13d1ab25 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 09:52:11 +0000 Subject: [PATCH 9/9] release: 1.4.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 19 +++++++++++++++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 96f1cd9..4c313f9 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.3.0" + ".": "1.4.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d7337f..868250f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## 1.4.0 (2025-08-20) + +Full Changelog: [v1.3.0...v1.4.0](https://github.com/GRID-is/api-sdk-ts/compare/v1.3.0...v1.4.0) + +### Features + +* **api:** api update ([46e4a2a](https://github.com/GRID-is/api-sdk-ts/commit/46e4a2a5d40bf6fd88974f40f9d751224e00fb39)) +* **mcp:** add code execution tool ([c7c5701](https://github.com/GRID-is/api-sdk-ts/commit/c7c570132f3e677b43fc625605b2b7ea6994170e)) + + +### Chores + +* **deps:** update dependency @types/node to v20.17.58 ([5a15185](https://github.com/GRID-is/api-sdk-ts/commit/5a1518525a6c1efdce66913a8721b9706cceb564)) +* **internal:** codegen related update ([f3722be](https://github.com/GRID-is/api-sdk-ts/commit/f3722beeca5d6986898f7119d4dc049d03016dbb)) +* **internal:** formatting change ([a24f913](https://github.com/GRID-is/api-sdk-ts/commit/a24f913962a546a43014a693f75d32b403a0fa37)) +* **internal:** move publish config ([69988ea](https://github.com/GRID-is/api-sdk-ts/commit/69988ea0ba96ef1cc53e03164ccbbf56f253a623)) +* **internal:** update comment in script ([c1aa375](https://github.com/GRID-is/api-sdk-ts/commit/c1aa375f9b0b4365bd353d647f25adc24c5611c6)) +* update @stainless-api/prism-cli to v5.15.0 ([d253dcd](https://github.com/GRID-is/api-sdk-ts/commit/d253dcd0903f512ae2407c25f94fe8ba6c82c849)) + ## 1.3.0 (2025-07-30) Full Changelog: [v1.2.2...v1.3.0](https://github.com/GRID-is/api-sdk-ts/compare/v1.2.2...v1.3.0) diff --git a/package.json b/package.json index e106af9..67471f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@grid-is/api", - "version": "1.3.0", + "version": "1.4.0", "description": "The official TypeScript library for the Grid API", "author": "Grid ", "types": "dist/index.d.ts", diff --git a/src/version.ts b/src/version.ts index 39fa5bc..391e342 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '1.3.0'; // x-release-please-version +export const VERSION = '1.4.0'; // x-release-please-version