From ec04a35aaf436deec09b0ddade7f24007dc62ffe Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 06:24:26 +0000 Subject: [PATCH 1/3] feat(api): update config to account for breaking changes --- .stats.yml | 6 +- api.md | 22 ++++ src/client.ts | 24 ++++ src/resources/index.ts | 12 ++ src/resources/nodes.ts | 162 +++++++++++++++++++++++++ src/resources/vms/images.ts | 140 ++++++++++++++++++++- src/resources/vms/index.ts | 2 +- src/resources/vms/vms.ts | 9 +- tests/api-resources/vms/images.test.ts | 45 +++++++ 9 files changed, 415 insertions(+), 7 deletions(-) create mode 100644 tests/api-resources/vms/images.test.ts diff --git a/.stats.yml b/.stats.yml index aba4ed0..acf0f25 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 13 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/the-san-francisco-compute-company/sfc-nodes-92c25ef5a0eefcd88287edd4de0589c948908f558a03a0aa15ffa961a1415845.yml +configured_endpoints: 15 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/the-san-francisco-compute-company/sfc-nodes-2c9b78374ba932f9d32014dc900b5ddf337fbb5653f60e19bad443be3b80bc7d.yml openapi_spec_hash: e5d9664ddfbca394030b9a9e24246dc7 -config_hash: a187153315a646ecf95709ee4a223df5 +config_hash: 88b3601402d13c8448777f36b5cafb9b diff --git a/api.md b/api.md index a66b81e..d3d7609 100644 --- a/api.md +++ b/api.md @@ -25,20 +25,42 @@ Methods: ## Images +Types: + +- ImageListResponse +- ImageGetResponse + +Methods: + +- client.vms.images.list({ ...params }) -> ImageListResponse +- client.vms.images.get(id) -> ImageGetResponse + # Nodes Types: - AcceleratorType +- BadRequestError +- ConflictError - CreateNodesRequest - ErrorContent - ErrorDetail - ErrorType - ExtendNodeRequest +- ForbiddenError +- InternalServerError - ListResponseNode - Node - NodeType +- NotFoundError +- NotImplementedError +- PaymentRequiredError +- RequestTimedOutError +- ServiceUnavailableError - Status +- UnauthorizedError +- UnprocessableEntityError +- UpgradeRequiredError Methods: diff --git a/src/client.ts b/src/client.ts index bf4babd..3c5c329 100644 --- a/src/client.ts +++ b/src/client.ts @@ -19,11 +19,15 @@ import * as API from './resources/index'; import { APIPromise } from './core/api-promise'; import { AcceleratorType, + BadRequestError, + ConflictError, CreateNodesRequest, ErrorContent, ErrorDetail, ErrorType, ExtendNodeRequest, + ForbiddenError, + InternalServerError, ListResponseNode, Node, NodeCreateParams, @@ -32,7 +36,15 @@ import { NodeRedeployParams, NodeType, Nodes, + NotFoundError, + NotImplementedError, + PaymentRequiredError, + RequestTimedOutError, + ServiceUnavailableError, Status, + UnauthorizedError, + UnprocessableEntityError, + UpgradeRequiredError, } from './resources/nodes'; import { ZoneGetResponse, ZoneListResponse, Zones } from './resources/zones'; import { VMLogsParams, VMLogsResponse, VMSSHParams, VMSSHResponse, VMs } from './resources/vms/vms'; @@ -785,15 +797,27 @@ export declare namespace SFCNodes { export { Nodes as Nodes, type AcceleratorType as AcceleratorType, + type BadRequestError as BadRequestError, + type ConflictError as ConflictError, type CreateNodesRequest as CreateNodesRequest, type ErrorContent as ErrorContent, type ErrorDetail as ErrorDetail, type ErrorType as ErrorType, type ExtendNodeRequest as ExtendNodeRequest, + type ForbiddenError as ForbiddenError, + type InternalServerError as InternalServerError, type ListResponseNode as ListResponseNode, type Node as Node, type NodeType as NodeType, + type NotFoundError as NotFoundError, + type NotImplementedError as NotImplementedError, + type PaymentRequiredError as PaymentRequiredError, + type RequestTimedOutError as RequestTimedOutError, + type ServiceUnavailableError as ServiceUnavailableError, type Status as Status, + type UnauthorizedError as UnauthorizedError, + type UnprocessableEntityError as UnprocessableEntityError, + type UpgradeRequiredError as UpgradeRequiredError, type NodeCreateParams as NodeCreateParams, type NodeListParams as NodeListParams, type NodeExtendParams as NodeExtendParams, diff --git a/src/resources/index.ts b/src/resources/index.ts index 30616f8..17aee45 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -3,15 +3,27 @@ export { Nodes, type AcceleratorType, + type BadRequestError, + type ConflictError, type CreateNodesRequest, type ErrorContent, type ErrorDetail, type ErrorType, type ExtendNodeRequest, + type ForbiddenError, + type InternalServerError, type ListResponseNode, type Node, type NodeType, + type NotFoundError, + type NotImplementedError, + type PaymentRequiredError, + type RequestTimedOutError, + type ServiceUnavailableError, type Status, + type UnauthorizedError, + type UnprocessableEntityError, + type UpgradeRequiredError, type NodeCreateParams, type NodeListParams, type NodeExtendParams, diff --git a/src/resources/nodes.ts b/src/resources/nodes.ts index 993bb52..9a89233 100644 --- a/src/resources/nodes.ts +++ b/src/resources/nodes.ts @@ -112,6 +112,34 @@ export class Nodes extends APIResource { export type AcceleratorType = 'H100' | 'H200'; +export interface BadRequestError { + error: BadRequestError.Error; +} + +export namespace BadRequestError { + export interface Error { + message: string; + + type: 'invalid_request_error'; + + details?: Array; + } +} + +export interface ConflictError { + error: ConflictError.Error; +} + +export namespace ConflictError { + export interface Error { + message: string; + + type: 'conflict'; + + details?: Array; + } +} + export interface CreateNodesRequest { desired_count: number; @@ -229,6 +257,30 @@ export interface ExtendNodeRequest { max_price_per_node_hour: number; } +export interface ForbiddenError { + error: ForbiddenError.Error; +} + +export namespace ForbiddenError { + export interface Error { + message: string; + + type: 'forbidden'; + } +} + +export interface InternalServerError { + error: InternalServerError.Error; +} + +export namespace InternalServerError { + export interface Error { + message: string; + + type: 'api_error'; + } +} + export interface ListResponseNode { data: Array; @@ -453,6 +505,66 @@ export namespace Node { export type NodeType = 'autoreserved' | 'reserved'; +export interface NotFoundError { + error: NotFoundError.Error; +} + +export namespace NotFoundError { + export interface Error { + message: string; + + type: 'not_found'; + } +} + +export interface NotImplementedError { + error: NotImplementedError.Error; +} + +export namespace NotImplementedError { + export interface Error { + message: string; + + type: 'not_implemented'; + } +} + +export interface PaymentRequiredError { + error: PaymentRequiredError.Error; +} + +export namespace PaymentRequiredError { + export interface Error { + message: string; + + type: 'payment_required'; + } +} + +export interface RequestTimedOutError { + error: RequestTimedOutError.Error; +} + +export namespace RequestTimedOutError { + export interface Error { + message: string; + + type: 'request_timed_out'; + } +} + +export interface ServiceUnavailableError { + error: ServiceUnavailableError.Error; +} + +export namespace ServiceUnavailableError { + export interface Error { + message: string; + + type: 'service_unavailable'; + } +} + /** * Node Status */ @@ -466,6 +578,44 @@ export type Status = | 'failed' | 'unknown'; +export interface UnauthorizedError { + error: UnauthorizedError.Error; +} + +export namespace UnauthorizedError { + export interface Error { + message: string; + + type: 'authentication_error'; + } +} + +export interface UnprocessableEntityError { + error: UnprocessableEntityError.Error; +} + +export namespace UnprocessableEntityError { + export interface Error { + message: string; + + type: 'unprocessable_entity'; + + details?: Array; + } +} + +export interface UpgradeRequiredError { + error: UpgradeRequiredError.Error; +} + +export namespace UpgradeRequiredError { + export interface Error { + message: string; + + type: 'upgrade_required'; + } +} + export interface NodeCreateParams { desired_count: number; @@ -587,15 +737,27 @@ export interface NodeRedeployParams { export declare namespace Nodes { export { type AcceleratorType as AcceleratorType, + type BadRequestError as BadRequestError, + type ConflictError as ConflictError, type CreateNodesRequest as CreateNodesRequest, type ErrorContent as ErrorContent, type ErrorDetail as ErrorDetail, type ErrorType as ErrorType, type ExtendNodeRequest as ExtendNodeRequest, + type ForbiddenError as ForbiddenError, + type InternalServerError as InternalServerError, type ListResponseNode as ListResponseNode, type Node as Node, type NodeType as NodeType, + type NotFoundError as NotFoundError, + type NotImplementedError as NotImplementedError, + type PaymentRequiredError as PaymentRequiredError, + type RequestTimedOutError as RequestTimedOutError, + type ServiceUnavailableError as ServiceUnavailableError, type Status as Status, + type UnauthorizedError as UnauthorizedError, + type UnprocessableEntityError as UnprocessableEntityError, + type UpgradeRequiredError as UpgradeRequiredError, type NodeCreateParams as NodeCreateParams, type NodeListParams as NodeListParams, type NodeExtendParams as NodeExtendParams, diff --git a/src/resources/vms/images.ts b/src/resources/vms/images.ts index f8d7a5b..4c0bf9c 100644 --- a/src/resources/vms/images.ts +++ b/src/resources/vms/images.ts @@ -1,5 +1,143 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; +import { APIPromise } from '../../core/api-promise'; +import { RequestOptions } from '../../internal/request-options'; +import { path } from '../../internal/utils/path'; -export class Images extends APIResource {} +/** + * Custom machine images for instances. + */ +export class Images extends APIResource { + /** + * > ⚠️ This endpoint is in [preview](/preview/about-preview). + * + * List images in the specified workspace. Pass `sfc:workspace:sfcompute:public` as + * the workspace to list sfc-provided public images instead. + */ + list(query: ImageListParams, options?: RequestOptions): APIPromise { + return this._client.get('/preview/v2/images', { + query, + defaultBaseURL: 'https://api.sfcompute.com', + ...options, + }); + } + + /** + * > ⚠️ This endpoint is in [preview](/preview/about-preview). + * + * Retrieve an image by ID. Returns both user-owned and public images. + */ + get(id: string, options?: RequestOptions): APIPromise { + return this._client.get(path`/preview/v2/images/${id}`, { + defaultBaseURL: 'https://api.sfcompute.com', + ...options, + }); + } +} + +export interface ImageListResponse { + data: Array; + + has_more: boolean; + + object: 'list'; + + cursor?: string | null; +} + +export namespace ImageListResponse { + export interface Data { + id: string; + + /** + * Unix timestamp. + */ + created_at: number; + + name: string; + + object: 'image'; + + owner: string; + + /** + * A resource path for a image resource. Format: + * sfc:image:::. + */ + resource_path: string; + + upload_status: 'started' | 'uploading' | 'completed' | 'failed' | 'revoked'; + + workspace: string; + + provider?: string | null; + + sha256?: string | null; + } +} + +export interface ImageGetResponse { + id: string; + + /** + * Unix timestamp. + */ + created_at: number; + + name: string; + + object: 'image'; + + owner: string; + + /** + * A resource path for a image resource. Format: + * sfc:image:::. + */ + resource_path: string; + + upload_status: 'started' | 'uploading' | 'completed' | 'failed' | 'revoked'; + + workspace: string; + + provider?: string | null; + + sha256?: string | null; +} + +export interface ImageListParams { + /** + * Filter by workspace. Pass `sfc:workspace:sfcompute:public` to list sfc-provided + * public images. + */ + workspace: string; + + /** + * Filter by image ID (repeatable). + */ + id?: Array; + + /** + * Cursor for backward pagination. + */ + ending_before?: string; + + /** + * Maximum number of results to return (1-200, default 50). + */ + limit?: number; + + /** + * Cursor for forward pagination (from a previous response's `cursor` field). + */ + starting_after?: string; +} + +export declare namespace Images { + export { + type ImageListResponse as ImageListResponse, + type ImageGetResponse as ImageGetResponse, + type ImageListParams as ImageListParams, + }; +} diff --git a/src/resources/vms/index.ts b/src/resources/vms/index.ts index 745d541..5678612 100644 --- a/src/resources/vms/index.ts +++ b/src/resources/vms/index.ts @@ -1,6 +1,6 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -export { Images } from './images'; +export { Images, type ImageListResponse, type ImageGetResponse, type ImageListParams } from './images'; export { Script, type UserData, diff --git a/src/resources/vms/vms.ts b/src/resources/vms/vms.ts index 5e8abbc..5e8e580 100644 --- a/src/resources/vms/vms.ts +++ b/src/resources/vms/vms.ts @@ -2,7 +2,7 @@ import { APIResource } from '../../core/resource'; import * as ImagesAPI from './images'; -import { Images } from './images'; +import { ImageGetResponse, ImageListParams, ImageListResponse, Images } from './images'; import * as ScriptAPI from './script'; import { Script, ScriptCreateParams, ScriptCreateResponse, ScriptRetrieveResponse, UserData } from './script'; import { APIPromise } from '../../core/api-promise'; @@ -112,5 +112,10 @@ export declare namespace VMs { type ScriptCreateParams as ScriptCreateParams, }; - export { Images as Images }; + export { + Images as Images, + type ImageListResponse as ImageListResponse, + type ImageGetResponse as ImageGetResponse, + type ImageListParams as ImageListParams, + }; } diff --git a/tests/api-resources/vms/images.test.ts b/tests/api-resources/vms/images.test.ts new file mode 100644 index 0000000..941e28a --- /dev/null +++ b/tests/api-resources/vms/images.test.ts @@ -0,0 +1,45 @@ +// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +import SFCNodes from '@sfcompute/nodes-sdk-alpha'; + +const client = new SFCNodes({ + bearerToken: 'My Bearer Token', + baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010', +}); + +describe('resource images', () => { + // Mock server tests are disabled + test.skip('list: only required params', async () => { + const responsePromise = client.vms.images.list({ workspace: 'wksp_k3R-nX9vLm7Qp2Yw5Jd8F' }); + 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); + }); + + // Mock server tests are disabled + test.skip('list: required and optional params', async () => { + const response = await client.vms.images.list({ + workspace: 'wksp_k3R-nX9vLm7Qp2Yw5Jd8F', + id: ['image_k3R-nX9vLm7Qp2Yw5Jd8F'], + ending_before: 'imagec_gqXR7s0Kj5mHvE2wNpLc4Q', + limit: 1, + starting_after: 'imagec_gqXR7s0Kj5mHvE2wNpLc4Q', + }); + }); + + // Mock server tests are disabled + test.skip('get', async () => { + const responsePromise = client.vms.images.get('image_k3R-nX9vLm7Qp2Yw5Jd8F'); + 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); + }); +}); From 48ffa1b53b1942798ac686fc4c87be0e06013daa Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 06:26:30 +0000 Subject: [PATCH 2/3] fix(sdk): remove unused Error types causing circular imports --- .stats.yml | 4 +- api.md | 12 --- src/client.ts | 24 ------ src/resources/index.ts | 12 --- src/resources/nodes.ts | 162 ----------------------------------------- 5 files changed, 2 insertions(+), 212 deletions(-) diff --git a/.stats.yml b/.stats.yml index acf0f25..af54321 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 15 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/the-san-francisco-compute-company/sfc-nodes-2c9b78374ba932f9d32014dc900b5ddf337fbb5653f60e19bad443be3b80bc7d.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/the-san-francisco-compute-company/sfc-nodes-bef77b99228a46dabf4fa0d83d626af67a1f16adf612b90810b99591cb435dcd.yml openapi_spec_hash: e5d9664ddfbca394030b9a9e24246dc7 -config_hash: 88b3601402d13c8448777f36b5cafb9b +config_hash: 4ea510d6a5c84c7055b51a248a2aacbf diff --git a/api.md b/api.md index d3d7609..5fb1a7e 100644 --- a/api.md +++ b/api.md @@ -40,27 +40,15 @@ Methods: Types: - AcceleratorType -- BadRequestError -- ConflictError - CreateNodesRequest - ErrorContent - ErrorDetail - ErrorType - ExtendNodeRequest -- ForbiddenError -- InternalServerError - ListResponseNode - Node - NodeType -- NotFoundError -- NotImplementedError -- PaymentRequiredError -- RequestTimedOutError -- ServiceUnavailableError - Status -- UnauthorizedError -- UnprocessableEntityError -- UpgradeRequiredError Methods: diff --git a/src/client.ts b/src/client.ts index 3c5c329..bf4babd 100644 --- a/src/client.ts +++ b/src/client.ts @@ -19,15 +19,11 @@ import * as API from './resources/index'; import { APIPromise } from './core/api-promise'; import { AcceleratorType, - BadRequestError, - ConflictError, CreateNodesRequest, ErrorContent, ErrorDetail, ErrorType, ExtendNodeRequest, - ForbiddenError, - InternalServerError, ListResponseNode, Node, NodeCreateParams, @@ -36,15 +32,7 @@ import { NodeRedeployParams, NodeType, Nodes, - NotFoundError, - NotImplementedError, - PaymentRequiredError, - RequestTimedOutError, - ServiceUnavailableError, Status, - UnauthorizedError, - UnprocessableEntityError, - UpgradeRequiredError, } from './resources/nodes'; import { ZoneGetResponse, ZoneListResponse, Zones } from './resources/zones'; import { VMLogsParams, VMLogsResponse, VMSSHParams, VMSSHResponse, VMs } from './resources/vms/vms'; @@ -797,27 +785,15 @@ export declare namespace SFCNodes { export { Nodes as Nodes, type AcceleratorType as AcceleratorType, - type BadRequestError as BadRequestError, - type ConflictError as ConflictError, type CreateNodesRequest as CreateNodesRequest, type ErrorContent as ErrorContent, type ErrorDetail as ErrorDetail, type ErrorType as ErrorType, type ExtendNodeRequest as ExtendNodeRequest, - type ForbiddenError as ForbiddenError, - type InternalServerError as InternalServerError, type ListResponseNode as ListResponseNode, type Node as Node, type NodeType as NodeType, - type NotFoundError as NotFoundError, - type NotImplementedError as NotImplementedError, - type PaymentRequiredError as PaymentRequiredError, - type RequestTimedOutError as RequestTimedOutError, - type ServiceUnavailableError as ServiceUnavailableError, type Status as Status, - type UnauthorizedError as UnauthorizedError, - type UnprocessableEntityError as UnprocessableEntityError, - type UpgradeRequiredError as UpgradeRequiredError, type NodeCreateParams as NodeCreateParams, type NodeListParams as NodeListParams, type NodeExtendParams as NodeExtendParams, diff --git a/src/resources/index.ts b/src/resources/index.ts index 17aee45..30616f8 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -3,27 +3,15 @@ export { Nodes, type AcceleratorType, - type BadRequestError, - type ConflictError, type CreateNodesRequest, type ErrorContent, type ErrorDetail, type ErrorType, type ExtendNodeRequest, - type ForbiddenError, - type InternalServerError, type ListResponseNode, type Node, type NodeType, - type NotFoundError, - type NotImplementedError, - type PaymentRequiredError, - type RequestTimedOutError, - type ServiceUnavailableError, type Status, - type UnauthorizedError, - type UnprocessableEntityError, - type UpgradeRequiredError, type NodeCreateParams, type NodeListParams, type NodeExtendParams, diff --git a/src/resources/nodes.ts b/src/resources/nodes.ts index 9a89233..993bb52 100644 --- a/src/resources/nodes.ts +++ b/src/resources/nodes.ts @@ -112,34 +112,6 @@ export class Nodes extends APIResource { export type AcceleratorType = 'H100' | 'H200'; -export interface BadRequestError { - error: BadRequestError.Error; -} - -export namespace BadRequestError { - export interface Error { - message: string; - - type: 'invalid_request_error'; - - details?: Array; - } -} - -export interface ConflictError { - error: ConflictError.Error; -} - -export namespace ConflictError { - export interface Error { - message: string; - - type: 'conflict'; - - details?: Array; - } -} - export interface CreateNodesRequest { desired_count: number; @@ -257,30 +229,6 @@ export interface ExtendNodeRequest { max_price_per_node_hour: number; } -export interface ForbiddenError { - error: ForbiddenError.Error; -} - -export namespace ForbiddenError { - export interface Error { - message: string; - - type: 'forbidden'; - } -} - -export interface InternalServerError { - error: InternalServerError.Error; -} - -export namespace InternalServerError { - export interface Error { - message: string; - - type: 'api_error'; - } -} - export interface ListResponseNode { data: Array; @@ -505,66 +453,6 @@ export namespace Node { export type NodeType = 'autoreserved' | 'reserved'; -export interface NotFoundError { - error: NotFoundError.Error; -} - -export namespace NotFoundError { - export interface Error { - message: string; - - type: 'not_found'; - } -} - -export interface NotImplementedError { - error: NotImplementedError.Error; -} - -export namespace NotImplementedError { - export interface Error { - message: string; - - type: 'not_implemented'; - } -} - -export interface PaymentRequiredError { - error: PaymentRequiredError.Error; -} - -export namespace PaymentRequiredError { - export interface Error { - message: string; - - type: 'payment_required'; - } -} - -export interface RequestTimedOutError { - error: RequestTimedOutError.Error; -} - -export namespace RequestTimedOutError { - export interface Error { - message: string; - - type: 'request_timed_out'; - } -} - -export interface ServiceUnavailableError { - error: ServiceUnavailableError.Error; -} - -export namespace ServiceUnavailableError { - export interface Error { - message: string; - - type: 'service_unavailable'; - } -} - /** * Node Status */ @@ -578,44 +466,6 @@ export type Status = | 'failed' | 'unknown'; -export interface UnauthorizedError { - error: UnauthorizedError.Error; -} - -export namespace UnauthorizedError { - export interface Error { - message: string; - - type: 'authentication_error'; - } -} - -export interface UnprocessableEntityError { - error: UnprocessableEntityError.Error; -} - -export namespace UnprocessableEntityError { - export interface Error { - message: string; - - type: 'unprocessable_entity'; - - details?: Array; - } -} - -export interface UpgradeRequiredError { - error: UpgradeRequiredError.Error; -} - -export namespace UpgradeRequiredError { - export interface Error { - message: string; - - type: 'upgrade_required'; - } -} - export interface NodeCreateParams { desired_count: number; @@ -737,27 +587,15 @@ export interface NodeRedeployParams { export declare namespace Nodes { export { type AcceleratorType as AcceleratorType, - type BadRequestError as BadRequestError, - type ConflictError as ConflictError, type CreateNodesRequest as CreateNodesRequest, type ErrorContent as ErrorContent, type ErrorDetail as ErrorDetail, type ErrorType as ErrorType, type ExtendNodeRequest as ExtendNodeRequest, - type ForbiddenError as ForbiddenError, - type InternalServerError as InternalServerError, type ListResponseNode as ListResponseNode, type Node as Node, type NodeType as NodeType, - type NotFoundError as NotFoundError, - type NotImplementedError as NotImplementedError, - type PaymentRequiredError as PaymentRequiredError, - type RequestTimedOutError as RequestTimedOutError, - type ServiceUnavailableError as ServiceUnavailableError, type Status as Status, - type UnauthorizedError as UnauthorizedError, - type UnprocessableEntityError as UnprocessableEntityError, - type UpgradeRequiredError as UpgradeRequiredError, type NodeCreateParams as NodeCreateParams, type NodeListParams as NodeListParams, type NodeExtendParams as NodeExtendParams, From c8283d083347d22f84dd57981e0ce9a202d9534a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 06:26:55 +0000 Subject: [PATCH 3/3] release: 0.1.0-alpha.29 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 13 +++++++++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 5a12c39..e1a01c0 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.28" + ".": "0.1.0-alpha.29" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 0301686..6b3b496 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.1.0-alpha.29 (2026-05-18) + +Full Changelog: [v0.1.0-alpha.28...v0.1.0-alpha.29](https://github.com/sfcompute/nodes-typescript/compare/v0.1.0-alpha.28...v0.1.0-alpha.29) + +### Features + +* **api:** update config to account for breaking changes ([ec04a35](https://github.com/sfcompute/nodes-typescript/commit/ec04a35aaf436deec09b0ddade7f24007dc62ffe)) + + +### Bug Fixes + +* **sdk:** remove unused Error types causing circular imports ([48ffa1b](https://github.com/sfcompute/nodes-typescript/commit/48ffa1b53b1942798ac686fc4c87be0e06013daa)) + ## 0.1.0-alpha.28 (2026-05-17) Full Changelog: [v0.1.0-alpha.27...v0.1.0-alpha.28](https://github.com/sfcompute/nodes-typescript/compare/v0.1.0-alpha.27...v0.1.0-alpha.28) diff --git a/package.json b/package.json index 1cbca5f..1a7743a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sfcompute/nodes-sdk-alpha", - "version": "0.1.0-alpha.28", + "version": "0.1.0-alpha.29", "description": "The official TypeScript library for the SFC Nodes API", "author": "SFC Nodes ", "types": "dist/index.d.ts", diff --git a/src/version.ts b/src/version.ts index 522a9fb..2017d79 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.1.0-alpha.28'; // x-release-please-version +export const VERSION = '0.1.0-alpha.29'; // x-release-please-version