Skip to main content

DatasetsClient

adaline.datasets manages datasets as a whole โ€” create a dataset, look up metadata and columns, rename, or delete. Row-level and column-level operations live on the nested .rows and .columns sub-clients.

Access

import { Adaline } from '@adaline/client';

const adaline = new Adaline();
const datasets = adaline.datasets; // DatasetsClient
The class is also exported directly for dependency injection or testing:
import { DatasetsClient } from '@adaline/client';

Sub-clients

DatasetsClient exposes two nested namespaces:
PropertyClientCovers
adaline.datasets.rowsDatasetRowsClientList / create / update / delete dataset rows
adaline.datasets.columnsDatasetColumnsClientCreate / update / delete columns + fetchDynamic to resolve dynamic columns
Types used below come from @adaline/api:
import type {
  Dataset,
  DatasetSummary,
  CreateDatasetRequest,
  UpdateDatasetRequest,
  ListDatasetsResponse,
  SortOrder,
} from '@adaline/api';

list()

List datasets in a project (paginated).
list(options: {
  projectId: string;
  sort?: SortOrder;
  createdAfter?: number;
  createdBefore?: number;
  limit?: number;
  cursor?: string;
}): Promise<ListDatasetsResponse>

Parameters

NameTypeRequiredDescription
projectIdstringYesProject whose datasets should be returned.
sortSortOrderNo"createdAt:asc" or "createdAt:desc".
createdAfternumberNoUnix milliseconds. Keep only datasets created after this instant.
createdBeforenumberNoUnix milliseconds. Keep only datasets created before this instant.
limitnumberNoPage size (default 50, max 200).
cursorstringNoOpaque cursor from a previous responseโ€™s pagination.nextCursor.

Returns

Promise<ListDatasetsResponse> with shape { data: DatasetSummary[]; pagination: { limit, returned, hasMore, nextCursor } }.

Example

const { data, pagination } = await adaline.datasets.list({
  projectId: 'project_abc123',
  sort: 'createdAt:desc',
  limit: 50,
});

for (const dataset of data) {
  console.log(dataset.id, dataset.title);
}

if (pagination.hasMore) {
  const next = await adaline.datasets.list({
    projectId: 'project_abc123',
    cursor: pagination.nextCursor,
  });
}

create()

Create a new dataset. You can seed initial columns in the same call.
create(options: { dataset: CreateDatasetRequest }): Promise<Dataset>

Parameters

NameTypeRequiredDescription
datasetCreateDatasetRequestYesDataset definition.
CreateDatasetRequest shape (abbreviated):
interface CreateDatasetRequest {
  projectId: string;
  title: string;
  icon?: BaseEntityIcon;
  columns?: Array<{
    name: string;
    type: 'input' | 'output' | 'metadata' | /* dynamic types */;
    settings?: Record<string, unknown>;
  }>;
}

Returns

Promise<Dataset> โ€” the created dataset with every column assigned a server-generated id.

Example

const dataset = await adaline.datasets.create({
  dataset: {
    projectId: 'project_abc123',
    title: 'Support triage eval set',
    icon: { type: 'emoji', value: '๐Ÿ“š' },
    columns: [
      { name: 'question', type: 'input' },
      { name: 'expected', type: 'input' },
    ],
  },
});

console.log(`Created ${dataset.id} with ${dataset.columns.length} columns`);

get()

Fetch a single dataset (metadata + full column list, not rows).
get(options: { datasetId: string }): Promise<Dataset>

Parameters

NameTypeRequiredDescription
datasetIdstringYesDataset identifier.

Returns

Promise<Dataset> โ€” see the Get dataset API schema.

Example

const dataset = await adaline.datasets.get({ datasetId: 'dataset_abc123' });

for (const column of dataset.columns) {
  console.log(column.name, column.type);
}

update()

Update dataset-level metadata (title, icon).
update(options: {
  datasetId: string;
  dataset: UpdateDatasetRequest;
}): Promise<DatasetSummary>

Parameters

NameTypeRequiredDescription
datasetIdstringYesDataset identifier.
datasetUpdateDatasetRequestYesFields to update.

Returns

Promise<DatasetSummary> โ€” the updated dataset metadata (note: returns the summary shape, not the full Dataset with columns).

Example

await adaline.datasets.update({
  datasetId: 'dataset_abc123',
  dataset: { title: 'Renamed dataset' },
});

delete()

Permanently delete a dataset and all of its columns and rows. Irreversible.
delete(options: { datasetId: string }): Promise<void>

Example

await adaline.datasets.delete({ datasetId: 'dataset_abc123' });

See Also