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
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/togetherai-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
Expand All @@ -41,7 +41,7 @@ jobs:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/togetherai-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Node
uses: actions/setup-node@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
if: github.repository == 'togethercomputer/together-typescript' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Check release environment
run: |
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.36.0"
".": "0.36.1"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 56
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/togetherai%2Ftogetherai-51627d25c5c4ea3cf03c92a335acf66cf8cad652079915109fe9711a57f7e003.yml
openapi_spec_hash: 97f97a89965aa05900566ca2824a4de1
config_hash: 6acd26f13abe2b4550fb4bbb06d31523
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/togetherai%2Ftogetherai-cea384db9edf6057ebc5c198a155955b97771430e7afe3be910842c734bb9812.yml
openapi_spec_hash: 9c2c575baec9b59add4b2e91c14089ad
config_hash: a955366d5f659d70d9e6b26116e119bf
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Changelog

## 0.36.1 (2026-01-21)

Full Changelog: [v0.36.0...v0.36.1](https://github.com/togethercomputer/together-typescript/compare/v0.36.0...v0.36.1)

### Chores

* Add code samples and descriptions to instant cluster apis ([59d91d1](https://github.com/togethercomputer/together-typescript/commit/59d91d14b3e9fc7e7f0d47965a8663c70542652a))
* **internal:** update `actions/checkout` version ([e025354](https://github.com/togethercomputer/together-typescript/commit/e025354b9fc3767cdde8c4f5c110c5084017fea3))
* **internal:** upgrade babel, qs, js-yaml ([0942043](https://github.com/togethercomputer/together-typescript/commit/0942043bf28e52143998e1f7473d2d3b7759618c))
* Mark disable_prompt_cache as deprecated for endpoint creation ([9bbee16](https://github.com/togethercomputer/together-typescript/commit/9bbee1649679f4a00cf614a4e25417bb39154bf7))
* Update cluster apis to reflect their new response shape ([b6049ec](https://github.com/togethercomputer/together-typescript/commit/b6049ec78e0e15a8e51354470a35a5c790f78934))

## 0.36.0 (2026-01-09)

Full Changelog: [v0.35.1...v0.36.0](https://github.com/togethercomputer/together-typescript/compare/v0.35.1...v0.36.0)
Expand Down
9 changes: 3 additions & 6 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,15 @@
Types:

- <code><a href="./src/resources/beta/clusters/clusters.ts">Cluster</a></code>
- <code><a href="./src/resources/beta/clusters/clusters.ts">ClusterCreateResponse</a></code>
- <code><a href="./src/resources/beta/clusters/clusters.ts">ClusterUpdateResponse</a></code>
- <code><a href="./src/resources/beta/clusters/clusters.ts">ClusterListResponse</a></code>
- <code><a href="./src/resources/beta/clusters/clusters.ts">ClusterDeleteResponse</a></code>
- <code><a href="./src/resources/beta/clusters/clusters.ts">ClusterListRegionsResponse</a></code>

Methods:

- <code title="post /clusters">client.beta.clusters.<a href="./src/resources/beta/clusters/clusters.ts">create</a>({ ...params }) -> ClusterCreateResponse</code>
- <code title="post /clusters">client.beta.clusters.<a href="./src/resources/beta/clusters/clusters.ts">create</a>({ ...params }) -> Cluster</code>
- <code title="get /clusters/{cluster_id}">client.beta.clusters.<a href="./src/resources/beta/clusters/clusters.ts">retrieve</a>(clusterID) -> Cluster</code>
- <code title="put /clusters/{cluster_id}">client.beta.clusters.<a href="./src/resources/beta/clusters/clusters.ts">update</a>(clusterID, { ...params }) -> ClusterUpdateResponse</code>
- <code title="put /clusters/{cluster_id}">client.beta.clusters.<a href="./src/resources/beta/clusters/clusters.ts">update</a>(clusterID, { ...params }) -> Cluster</code>
- <code title="get /clusters">client.beta.clusters.<a href="./src/resources/beta/clusters/clusters.ts">list</a>() -> ClusterListResponse</code>
- <code title="delete /clusters/{cluster_id}">client.beta.clusters.<a href="./src/resources/beta/clusters/clusters.ts">delete</a>(clusterID) -> ClusterDeleteResponse</code>
- <code title="get /clusters/regions">client.beta.clusters.<a href="./src/resources/beta/clusters/clusters.ts">listRegions</a>() -> ClusterListRegionsResponse</code>
Expand All @@ -25,13 +23,12 @@ Methods:
Types:

- <code><a href="./src/resources/beta/clusters/storage.ts">ClusterStorage</a></code>
- <code><a href="./src/resources/beta/clusters/storage.ts">StorageCreateResponse</a></code>
- <code><a href="./src/resources/beta/clusters/storage.ts">StorageListResponse</a></code>
- <code><a href="./src/resources/beta/clusters/storage.ts">StorageDeleteResponse</a></code>

Methods:

- <code title="post /clusters/storages">client.beta.clusters.storage.<a href="./src/resources/beta/clusters/storage.ts">create</a>({ ...params }) -> StorageCreateResponse</code>
- <code title="post /clusters/storages">client.beta.clusters.storage.<a href="./src/resources/beta/clusters/storage.ts">create</a>({ ...params }) -> ClusterStorage</code>
- <code title="get /clusters/storages/{volume_id}">client.beta.clusters.storage.<a href="./src/resources/beta/clusters/storage.ts">retrieve</a>(volumeID) -> ClusterStorage</code>
- <code title="put /clusters/storages">client.beta.clusters.storage.<a href="./src/resources/beta/clusters/storage.ts">update</a>({ ...params }) -> ClusterStorage</code>
- <code title="get /clusters/storages">client.beta.clusters.storage.<a href="./src/resources/beta/clusters/storage.ts">list</a>() -> StorageListResponse</code>
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "together-ai",
"version": "0.36.0",
"version": "0.36.1",
"description": "The official TypeScript library for the Together API",
"author": "Together <dev-feedback@TogetherAI.com>",
"types": "dist/index.d.ts",
Expand Down
4 changes: 0 additions & 4 deletions src/resources/beta/beta.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ import * as ClustersAPI from './clusters/clusters';
import {
Cluster,
ClusterCreateParams,
ClusterCreateResponse,
ClusterDeleteResponse,
ClusterListRegionsResponse,
ClusterListResponse,
ClusterUpdateParams,
ClusterUpdateResponse,
Clusters,
} from './clusters/clusters';

Expand All @@ -24,8 +22,6 @@ export declare namespace Beta {
export {
Clusters as Clusters,
type Cluster as Cluster,
type ClusterCreateResponse as ClusterCreateResponse,
type ClusterUpdateResponse as ClusterUpdateResponse,
type ClusterListResponse as ClusterListResponse,
type ClusterDeleteResponse as ClusterDeleteResponse,
type ClusterListRegionsResponse as ClusterListRegionsResponse,
Expand Down
42 changes: 15 additions & 27 deletions src/resources/beta/clusters/clusters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {
ClusterStorage,
Storage,
StorageCreateParams,
StorageCreateResponse,
StorageDeleteResponse,
StorageListResponse,
StorageUpdateParams,
Expand All @@ -19,27 +18,27 @@ export class Clusters extends APIResource {
storage: StorageAPI.Storage = new StorageAPI.Storage(this._client);

/**
* Create GPU Cluster
* Create an Instant Cluster on Together's high-performance GPU clusters. With
* features like on-demand scaling, long-lived resizable high-bandwidth shared
* DC-local storage, Kubernetes and Slurm cluster flavors, a REST API, and
* Terraform support, you can run workloads flexibly without complex infrastructure
* management.
*/
create(body: ClusterCreateParams, options?: RequestOptions): APIPromise<ClusterCreateResponse> {
create(body: ClusterCreateParams, options?: RequestOptions): APIPromise<Cluster> {
return this._client.post('/clusters', { body, ...options });
}

/**
* Get GPU cluster by cluster ID
* Retrieve information about a specific GPU cluster.
*/
retrieve(clusterID: string, options?: RequestOptions): APIPromise<Cluster> {
return this._client.get(path`/clusters/${clusterID}`, options);
}

/**
* Update a GPU Cluster.
* Update the configuration of an existing GPU cluster.
*/
update(
clusterID: string,
body: ClusterUpdateParams,
options?: RequestOptions,
): APIPromise<ClusterUpdateResponse> {
update(clusterID: string, body: ClusterUpdateParams, options?: RequestOptions): APIPromise<Cluster> {
return this._client.put(path`/clusters/${clusterID}`, { body, ...options });
}

Expand All @@ -51,7 +50,7 @@ export class Clusters extends APIResource {
}

/**
* Delete GPU cluster by cluster ID
* Delete a GPU cluster by cluster ID.
*/
delete(clusterID: string, options?: RequestOptions): APIPromise<ClusterDeleteResponse> {
return this._client.delete(path`/clusters/${clusterID}`, options);
Expand Down Expand Up @@ -153,14 +152,6 @@ export namespace Cluster {
}
}

export interface ClusterCreateResponse {
cluster_id: string;
}

export interface ClusterUpdateResponse {
cluster_id: string;
}

export interface ClusterListResponse {
clusters: Array<Cluster>;
}
Expand Down Expand Up @@ -198,11 +189,6 @@ export interface ClusterCreateParams {
*/
driver_version: 'CUDA_12_5_555' | 'CUDA_12_6_560' | 'CUDA_12_6_565' | 'CUDA_12_8_570';

/**
* Duration in days to keep the cluster running.
*/
duration_days: number;

/**
* Type of GPU to use in the cluster
*/
Expand All @@ -222,6 +208,11 @@ export interface ClusterCreateParams {

cluster_type?: 'KUBERNETES' | 'SLURM';

/**
* Duration in days to keep the cluster running.
*/
duration_days?: number;

shared_volume?: ClusterCreateParams.SharedVolume;

volume_id?: string;
Expand Down Expand Up @@ -254,8 +245,6 @@ Clusters.Storage = Storage;
export declare namespace Clusters {
export {
type Cluster as Cluster,
type ClusterCreateResponse as ClusterCreateResponse,
type ClusterUpdateResponse as ClusterUpdateResponse,
type ClusterListResponse as ClusterListResponse,
type ClusterDeleteResponse as ClusterDeleteResponse,
type ClusterListRegionsResponse as ClusterListRegionsResponse,
Expand All @@ -266,7 +255,6 @@ export declare namespace Clusters {
export {
Storage as Storage,
type ClusterStorage as ClusterStorage,
type StorageCreateResponse as StorageCreateResponse,
type StorageListResponse as StorageListResponse,
type StorageDeleteResponse as StorageDeleteResponse,
type StorageCreateParams as StorageCreateParams,
Expand Down
3 changes: 0 additions & 3 deletions src/resources/beta/clusters/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
export {
Clusters,
type Cluster,
type ClusterCreateResponse,
type ClusterUpdateResponse,
type ClusterListResponse,
type ClusterDeleteResponse,
type ClusterListRegionsResponse,
Expand All @@ -14,7 +12,6 @@ export {
export {
Storage,
type ClusterStorage,
type StorageCreateResponse,
type StorageListResponse,
type StorageDeleteResponse,
type StorageCreateParams,
Expand Down
22 changes: 12 additions & 10 deletions src/resources/beta/clusters/storage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,25 @@ import { path } from '../../../internal/utils/path';

export class Storage extends APIResource {
/**
* Create a shared volume.
* Instant Clusters supports long-lived, resizable in-DC shared storage with user
* data persistence. You can dynamically create and attach volumes to your cluster
* at cluster creation time, and resize as your data grows. All shared storage is
* backed by multi-NIC bare metal paths, ensuring high-throughput and low-latency
* performance for shared storage.
*/
create(body: StorageCreateParams, options?: RequestOptions): APIPromise<StorageCreateResponse> {
create(body: StorageCreateParams, options?: RequestOptions): APIPromise<ClusterStorage> {
return this._client.post('/clusters/storages', { body, ...options });
}

/**
* Get shared volume by volume Id.
* Retrieve information about a specific shared volume.
*/
retrieve(volumeID: string, options?: RequestOptions): APIPromise<ClusterStorage> {
return this._client.get(path`/clusters/storages/${volumeID}`, options);
}

/**
* Update a shared volume.
* Update the configuration of an existing shared volume.
*/
update(body: StorageUpdateParams, options?: RequestOptions): APIPromise<ClusterStorage> {
return this._client.put('/clusters/storages', { body, ...options });
Expand All @@ -35,7 +39,8 @@ export class Storage extends APIResource {
}

/**
* Delete shared volume by volume id.
* Delete a shared volume. Note that if this volume is attached to a cluster,
* deleting will fail.
*/
delete(volumeID: string, options?: RequestOptions): APIPromise<StorageDeleteResponse> {
return this._client.delete(path`/clusters/storages/${volumeID}`, options);
Expand All @@ -45,15 +50,13 @@ export class Storage extends APIResource {
export interface ClusterStorage {
size_tib: number;

status: 'available' | 'bound' | 'provisioning';

volume_id: string;

volume_name: string;
}

export interface StorageCreateResponse {
volume_id: string;
}

export interface StorageListResponse {
volumes: Array<ClusterStorage>;
}
Expand Down Expand Up @@ -85,7 +88,6 @@ export interface StorageUpdateParams {
export declare namespace Storage {
export {
type ClusterStorage as ClusterStorage,
type StorageCreateResponse as StorageCreateResponse,
type StorageListResponse as StorageListResponse,
type StorageDeleteResponse as StorageDeleteResponse,
type StorageCreateParams as StorageCreateParams,
Expand Down
2 changes: 0 additions & 2 deletions src/resources/beta/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ export { Beta } from './beta';
export {
Clusters,
type Cluster,
type ClusterCreateResponse,
type ClusterUpdateResponse,
type ClusterListResponse,
type ClusterDeleteResponse,
type ClusterListRegionsResponse,
Expand Down
2 changes: 1 addition & 1 deletion src/resources/endpoints.ts
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ export interface EndpointCreateParams {
availability_zone?: string;

/**
* Whether to disable the prompt cache for this endpoint
* @deprecated This parameter is deprecated and no longer has any effect.
*/
disable_prompt_cache?: boolean;

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 = '0.36.0'; // x-release-please-version
export const VERSION = '0.36.1'; // x-release-please-version
3 changes: 1 addition & 2 deletions tests/api-resources/beta/clusters/clusters.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ describe('resource clusters', () => {
billing_type: 'RESERVED',
cluster_name: 'cluster_name',
driver_version: 'CUDA_12_5_555',
duration_days: 0,
gpu_type: 'H100_SXM',
num_gpus: 0,
region: 'us-central-8',
Expand All @@ -32,11 +31,11 @@ describe('resource clusters', () => {
billing_type: 'RESERVED',
cluster_name: 'cluster_name',
driver_version: 'CUDA_12_5_555',
duration_days: 0,
gpu_type: 'H100_SXM',
num_gpus: 0,
region: 'us-central-8',
cluster_type: 'KUBERNETES',
duration_days: 0,
shared_volume: {
region: 'region',
size_tib: 0,
Expand Down
Loading