Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.3.0"
".": "1.4.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -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
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
2 changes: 1 addition & 1 deletion bin/publish-npm
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ else
fi

# Publish with the appropriate tag
yarn publish --access public --tag "$TAG"
yarn publish --tag "$TAG"
7 changes: 5 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -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 <info@grid.is>",
"types": "dist/index.d.ts",
Expand All @@ -13,6 +13,9 @@
"**/*"
],
"private": false,
"publishConfig": {
"access": "public"
},
"scripts": {
"test": "./scripts/test",
"build": "./scripts/build",
Expand Down Expand Up @@ -41,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"
Expand Down
4 changes: 2 additions & 2 deletions scripts/mock
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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
2 changes: 1 addition & 1 deletion scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
7 changes: 7 additions & 0 deletions src/resources/workbooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*/
Expand Down
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '1.3.0'; // x-release-please-version
export const VERSION = '1.4.0'; // x-release-please-version
8 changes: 4 additions & 4 deletions tests/api-resources/beta.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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();
Expand All @@ -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();
Expand All @@ -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 });
});
Expand Down
24 changes: 12 additions & 12 deletions tests/api-resources/workbooks.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -20,15 +20,15 @@ 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(
client.workbooks.list({ cursor: 'cursor', limit: 0 }, { path: '/_stainless_unknown_path' }),
).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();
Expand All @@ -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();
Expand All @@ -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)'],
Expand All @@ -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' },
Expand All @@ -94,6 +93,7 @@ describe('resource workbooks', () => {
legend: '=D2:D142',
legendLines: '=E2:E142',
legendVisible: 'false',
matte: '#FFFFFF',
numberFormat: '#,##0.0',
sortBy: 0,
sortOrder: '',
Expand All @@ -107,7 +107,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'),
Expand All @@ -121,14 +121,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();
Expand All @@ -140,7 +140,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 } });
});
Expand Down
22 changes: 11 additions & 11 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -3283,9 +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"
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"
Expand Down Expand Up @@ -3353,10 +3353,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"
Expand Down