Skip to main content

DatasetColumnsClient

adaline.datasets.columns manages the column schema of a dataset — add, rename, or delete columns, and resolve dynamic columns whose values are produced by prompts, HTTP requests, or dynamic functions.

Access

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

const adaline = new Adaline();
const columns = adaline.datasets.columns; // DatasetColumnsClient
The class is also exported directly:
import { DatasetColumnsClient } from '@adaline/client';
Types from @adaline/api:
import type {
  DatasetColumn,
  AddDatasetColumnsRequest,
  AddDatasetColumnsResponse,
  UpdateDatasetColumnRequest,
  FetchDynamicColumnsRequest,
  FetchDynamicColumnsResponse,
} from '@adaline/api';
Column type can be input, output, metadata, or a dynamic type such as prompt, api, or dynamic-function.

create()

Append one or more column definitions to a dataset. Existing rows get empty values for the new columns.
create(options: {
  datasetId: string;
  columns: AddDatasetColumnsRequest['columns'];
}): Promise<AddDatasetColumnsResponse>

Parameters

NameTypeRequiredDescription
datasetIdstringYesDataset identifier.
columnsAddDatasetColumnsRequest['columns']YesArray of column definitions. Each has name, type, and type-specific settings.

Returns

Promise<AddDatasetColumnsResponse> with { columns: DatasetColumn[] } — the newly added columns with server-assigned IDs.

Example

const { columns } = await adaline.datasets.columns.create({
  datasetId: 'dataset_abc123',
  columns: [
    { name: 'category', type: 'input' },
    { name: 'response', type: 'output' },
  ],
});

console.log(`Added ${columns.length} columns`);

update()

Change a column’s name, type, or settings.
update(options: {
  datasetId: string;
  columnId: string;
  column: UpdateDatasetColumnRequest;
}): Promise<DatasetColumn>

Returns

Promise<DatasetColumn> — the updated column.

Example

await adaline.datasets.columns.update({
  datasetId: 'dataset_abc123',
  columnId: 'column_xyz789',
  column: { name: 'renamed_column' },
});

delete()

Delete a column from a dataset. All row values for this column are dropped.
delete(options: { datasetId: string; columnId: string }): Promise<void>

fetchDynamic()

Trigger on-demand resolution for dynamic columns — columns whose values are generated from another prompt, an HTTP endpoint, or a dynamic function. Returns the resolved values without persisting them.
fetchDynamic(options: {
  datasetId: string;
  query: FetchDynamicColumnsRequest;
}): Promise<FetchDynamicColumnsResponse>

Parameters

NameTypeRequiredDescription
datasetIdstringYesDataset identifier.
queryFetchDynamicColumnsRequestYes{ columnIds: string[]; rowIds?: string[] }. Resolve the given dynamic columns against every row (or only against the specified rowIds).

Returns

Promise<FetchDynamicColumnsResponse> with { results: Array<{ rowId: string; columnId: string; value: DatasetCellResponse }> }.

Example

const { results } = await adaline.datasets.columns.fetchDynamic({
  datasetId: 'dataset_abc123',
  query: {
    columnIds: ['column_api_response'],
    rowIds: ['row_def456', 'row_ghi012'],
  },
});

for (const r of results) {
  console.log(`${r.rowId}/${r.columnId}:`, r.value);
}

See Also