@toloka-platform/sdk 0.12.0 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/cli/toloka.js +144 -141
  2. package/dist/cli/toloka.js.jsc +0 -0
  3. package/dist/cli/toloka.js.jsc.sha256 +1 -1
  4. package/dist/cli/toloka.js.sha256 +1 -1
  5. package/docs/cli.md +11 -8
  6. package/docs/datasets.md +17 -5
  7. package/openapi/gen/api.ts +25 -0
  8. package/openapi/gen/models/createDatasetFieldsFromUploadedRowsBody.ts +4 -0
  9. package/openapi/gen/models/datasetExportReportTokensEstimatorVersion.ts +1 -1
  10. package/openapi/gen/models/datasetField.ts +2 -0
  11. package/openapi/gen/models/datasetFieldCopyOperation.ts +7 -0
  12. package/openapi/gen/models/datasetFieldOperation.ts +4 -0
  13. package/openapi/gen/models/datasetFieldSplitFillOperation.ts +5 -0
  14. package/openapi/gen/models/index.ts +4 -0
  15. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingReportAnyOfTokensEstimatorVersion.ts +1 -1
  16. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfReportAnyOfTokensEstimatorVersion.ts +1 -1
  17. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingReportAnyOfTokensEstimatorVersion.ts +1 -1
  18. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfReportAnyOfTokensEstimatorVersion.ts +1 -1
  19. package/openapi/gen/models/trainingRunInputsAnyOfTrainingReportTokensEstimatorVersion.ts +1 -1
  20. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfReportTokensEstimatorVersion.ts +1 -1
  21. package/openapi/gen/models/trainingRunQuoteInputsTrainingReportAnyOfTokensEstimatorVersion.ts +1 -1
  22. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfReportAnyOfTokensEstimatorVersion.ts +1 -1
  23. package/package.json +2 -2
  24. package/skills/catalog.json +8 -8
  25. package/skills/toloka-build/references/workflow-and-cli.md +14 -5
  26. package/skills/toloka-fine-tuning/SKILL.md +5 -4
  27. package/skills/toloka-gisting/SKILL.md +6 -5
  28. package/src/cli/commands/dataset.ts +45 -3
  29. package/src/cli/context.ts +16 -10
  30. package/src/cli/data.ts +45 -17
  31. package/src/cli/fields.ts +80 -0
  32. package/src/cli/filters.ts +15 -6
  33. package/src/cli/slices.ts +16 -2
  34. package/src/cli/splits.ts +58 -3
  35. package/src/cli/trainings.ts +31 -7
  36. package/src/cli/uploaded-fields.ts +20 -0
  37. package/src/client.ts +38 -1
  38. package/src/index.ts +1 -0
package/src/client.ts CHANGED
@@ -8,6 +8,7 @@ import type {
8
8
  CopyPipelineBody,
9
9
  CreateDatasetBody,
10
10
  CreateDatasetExportBody,
11
+ CreateDatasetFieldsFromUploadedRowsBody,
11
12
  CreateDatasetSliceBody,
12
13
  CreateTrainingRunBody,
13
14
  CreateProjectModelBody,
@@ -242,13 +243,20 @@ export type DatasetSplitWaitTarget = {
242
243
  readonly column: string;
243
244
  };
244
245
 
246
+ export type DatasetFieldsWaitTarget = {
247
+ readonly type: "datasetFields";
248
+ readonly datasetId: ResourceIdInput<DatasetId>;
249
+ readonly names?: readonly string[];
250
+ };
251
+
245
252
  export type WaitForTarget =
246
253
  | DatasetUploadWaitTarget
247
254
  | DatasetExportWaitTarget
248
255
  | PipelineCheckWaitTarget
249
256
  | PipelineRunWaitTarget
250
257
  | DatasetSliceWaitTarget
251
- | DatasetSplitWaitTarget;
258
+ | DatasetSplitWaitTarget
259
+ | DatasetFieldsWaitTarget;
252
260
 
253
261
  const createClientImplementation = (config: ClientConfig) => {
254
262
  const requestOptions = createRequestOptions(config.baseUrl, config, config.fetch);
@@ -271,6 +279,7 @@ const createClientImplementation = (config: ClientConfig) => {
271
279
  ): Promise<TerminalJob<RunJob>>;
272
280
  function waitFor(target: DatasetSliceWaitTarget, options?: WaitForOptions): Promise<DatasetSlice>;
273
281
  function waitFor(target: DatasetSplitWaitTarget, options?: WaitForOptions): Promise<DatasetField>;
282
+ function waitFor(target: DatasetFieldsWaitTarget, options?: WaitForOptions): Promise<DatasetField[]>;
274
283
  async function waitFor(
275
284
  target: WaitForTarget,
276
285
  options?: WaitForOptions,
@@ -281,6 +290,7 @@ const createClientImplementation = (config: ClientConfig) => {
281
290
  | GeneratedRunJob
282
291
  | GeneratedDatasetSlice
283
292
  | GeneratedDatasetField
293
+ | GeneratedDatasetField[]
284
294
  > {
285
295
  switch (target.type) {
286
296
  case "datasetUpload":
@@ -328,6 +338,28 @@ const createClientImplementation = (config: ClientConfig) => {
328
338
  (field) => field.split?.status !== "filling",
329
339
  options,
330
340
  );
341
+ case "datasetFields":
342
+ return pollUntilTerminal(
343
+ async (signal) => {
344
+ const fields: GeneratedDatasetField[] = [];
345
+ const pages = listAllPages(async (pageOptions) => {
346
+ const page = await wire.listDatasetFields(target.datasetId, pageOptions, {
347
+ ...requestOptions,
348
+ signal,
349
+ });
350
+ return { items: page.fields, pagination: page.pagination };
351
+ });
352
+ for await (const field of pages) fields.push(field);
353
+ return fields;
354
+ },
355
+ (fields) =>
356
+ !fields.some(
357
+ (field) =>
358
+ field.operations.some(({ blocking }) => blocking) &&
359
+ (target.names === undefined || target.names.includes(field.name)),
360
+ ),
361
+ options,
362
+ );
331
363
  }
332
364
  }
333
365
 
@@ -602,6 +634,11 @@ const createClientImplementation = (config: ClientConfig) => {
602
634
  wire.listDatasetFields(datasetId, params, requestOptions),
603
635
  getInferredFields: ({ datasetId }: { datasetId: DatasetId }) =>
604
636
  wire.getDatasetInferredFields(datasetId, requestOptions),
637
+ createFieldsFromUploadedRows: async ({
638
+ datasetId,
639
+ ...body
640
+ }: { datasetId: DatasetId } & CreateDatasetFieldsFromUploadedRowsBody) =>
641
+ (await wire.createDatasetFieldsFromUploadedRows(datasetId, body, requestOptions)).fields,
605
642
  listAllFields: ({ datasetId, ...params }: { datasetId: DatasetId } & ListDatasetFieldsParams) =>
606
643
  listAllPages(async (pageOptions) => {
607
644
  const page = await wire.listDatasetFields(
package/src/index.ts CHANGED
@@ -5,6 +5,7 @@ export type {
5
5
  CheckRunId,
6
6
  ClientConfig,
7
7
  Dataset,
8
+ DatasetFieldsWaitTarget,
8
9
  DatasetExportWaitTarget,
9
10
  DatasetField,
10
11
  DatasetFieldId,