@toloka-platform/sdk 0.1.0-preview.9 → 0.2.0-preview.1

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 (286) hide show
  1. package/README.md +6 -5
  2. package/dist/cli/toloka.js +143 -139
  3. package/dist/cli/toloka.js.jsc +0 -0
  4. package/dist/cli/toloka.js.jsc.sha256 +1 -1
  5. package/dist/cli/toloka.js.sha256 +1 -1
  6. package/docs/authoring.md +9 -4
  7. package/docs/cli-v2.md +3 -3
  8. package/docs/cli.md +16 -3
  9. package/docs/getting-started.md +4 -4
  10. package/docs/limitations.md +3 -3
  11. package/docs/testing.md +1 -1
  12. package/examples/face-image-collection/README.md +1 -1
  13. package/openapi/gen/api.ts +1482 -777
  14. package/openapi/gen/models/createDatasetExportBody.ts +5 -3
  15. package/openapi/gen/models/createDatasetExportBodyFormat.ts +2 -0
  16. package/openapi/gen/models/createProjectTrainingBody.ts +6 -0
  17. package/openapi/gen/models/createTrainingRunBody.ts +6 -0
  18. package/openapi/gen/models/datasetExportReportTokens.ts +4 -1
  19. package/openapi/gen/models/datasetExportReportTokensEstimatorVersion.ts +2 -0
  20. package/openapi/gen/models/datasetExportReportTokensTotal.ts +2 -0
  21. package/openapi/gen/models/estimateTrainingCostBody.ts +5 -0
  22. package/openapi/gen/models/exportJob.ts +2 -0
  23. package/openapi/gen/models/exportJobError.ts +3 -0
  24. package/openapi/gen/models/exportJobErrorAnyOf.ts +7 -0
  25. package/openapi/gen/models/exportJobErrorAnyOfCode.ts +2 -0
  26. package/openapi/gen/models/exportJobStatus.ts +1 -1
  27. package/openapi/gen/models/getTrainingRunLogsParams.ts +5 -0
  28. package/openapi/gen/models/gistingTrainingConfiguration.ts +13 -0
  29. package/openapi/gen/models/gistingTrainingConfigurationInput.ts +13 -0
  30. package/openapi/gen/models/gistingTrainingConfigurationInputRegime.ts +2 -0
  31. package/openapi/gen/models/gistingTrainingConfigurationRegime.ts +2 -0
  32. package/openapi/gen/models/index.ts +230 -16
  33. package/openapi/gen/models/listProjectTrainings200.ts +7 -0
  34. package/openapi/gen/models/listProjectTrainingsParams.ts +5 -0
  35. package/openapi/gen/models/listTrainingRuns200.ts +7 -0
  36. package/openapi/gen/models/listTrainingRunsParams.ts +5 -0
  37. package/openapi/gen/models/modelVersion.ts +6 -1
  38. package/openapi/gen/models/modelVersionContent.ts +4 -0
  39. package/openapi/gen/models/modelVersionContentDownload.ts +11 -0
  40. package/openapi/gen/models/modelVersionContentDownloadContent.ts +4 -0
  41. package/openapi/gen/models/modelVersionContentDownloadContentOneOf.ts +10 -0
  42. package/openapi/gen/models/modelVersionContentDownloadContentOneOfManifestItem.ts +8 -0
  43. package/openapi/gen/models/modelVersionContentDownloadContentOneOfManifestItemMediaType.ts +2 -0
  44. package/openapi/gen/models/modelVersionContentDownloadContentOneOfNine.ts +8 -0
  45. package/openapi/gen/models/modelVersionContentDownloadContentOneOfNineManifestItem.ts +8 -0
  46. package/openapi/gen/models/modelVersionContentDownloadContentOneOfNineManifestItemMediaType.ts +2 -0
  47. package/openapi/gen/models/modelVersionContentDownloadContentOneOfNineRuntimeBase.ts +2 -0
  48. package/openapi/gen/models/modelVersionContentDownloadContentOneOfParent.ts +4 -0
  49. package/openapi/gen/models/modelVersionContentDownloadContentOneOfParentOneOf.ts +6 -0
  50. package/openapi/gen/models/modelVersionContentDownloadContentOneOfParentOneOfBaseModelId.ts +2 -0
  51. package/openapi/gen/models/modelVersionContentDownloadContentOneOfParentOneOfThree.ts +5 -0
  52. package/openapi/gen/models/modelVersionContentDownloadContentOneOfRuntimeBase.ts +2 -0
  53. package/openapi/gen/models/modelVersionContentDownloadFilesItem.ts +9 -0
  54. package/openapi/gen/models/modelVersionContentDownloadFilesItemMediaType.ts +2 -0
  55. package/openapi/gen/models/modelVersionContentOneOf.ts +10 -0
  56. package/openapi/gen/models/modelVersionContentOneOfManifestItem.ts +8 -0
  57. package/openapi/gen/models/modelVersionContentOneOfManifestItemMediaType.ts +2 -0
  58. package/openapi/gen/models/modelVersionContentOneOfNine.ts +8 -0
  59. package/openapi/gen/models/modelVersionContentOneOfNineManifestItem.ts +8 -0
  60. package/openapi/gen/models/modelVersionContentOneOfNineManifestItemMediaType.ts +2 -0
  61. package/openapi/gen/models/modelVersionContentOneOfNineRuntimeBase.ts +2 -0
  62. package/openapi/gen/models/modelVersionContentOneOfParent.ts +4 -0
  63. package/openapi/gen/models/modelVersionContentOneOfParentOneOf.ts +6 -0
  64. package/openapi/gen/models/modelVersionContentOneOfParentOneOfBaseModelId.ts +2 -0
  65. package/openapi/gen/models/modelVersionContentOneOfParentOneOfThree.ts +5 -0
  66. package/openapi/gen/models/modelVersionContentOneOfRuntimeBase.ts +2 -0
  67. package/openapi/gen/models/modelVersionProducer.ts +5 -0
  68. package/openapi/gen/models/prepareTrainingCostEstimateInputsBody.ts +2 -0
  69. package/openapi/gen/models/replaceTrainingConfigurationBody.ts +5 -0
  70. package/openapi/gen/models/sftTrainingConfiguration.ts +13 -0
  71. package/openapi/gen/models/sftTrainingConfigurationInput.ts +13 -0
  72. package/openapi/gen/models/sftTrainingConfigurationInputRegime.ts +2 -0
  73. package/openapi/gen/models/sftTrainingConfigurationRegime.ts +2 -0
  74. package/openapi/gen/models/training.ts +16 -0
  75. package/openapi/gen/models/trainingArchivedAt.ts +2 -0
  76. package/openapi/gen/models/trainingConfiguration.ts +4 -0
  77. package/openapi/gen/models/trainingConfigurationInput.ts +4 -0
  78. package/openapi/gen/models/trainingCostEstimate.ts +4 -0
  79. package/openapi/gen/models/trainingCostEstimateInputSet.ts +12 -0
  80. package/openapi/gen/models/trainingCostEstimateInputSetExports.ts +6 -0
  81. package/openapi/gen/models/trainingCostEstimateInputSetExportsValidation.ts +2 -0
  82. package/openapi/gen/models/trainingCostEstimateInputSetId.ts +2 -0
  83. package/openapi/gen/models/trainingCostEstimateOneOf.ts +16 -0
  84. package/openapi/gen/models/trainingCostEstimateOneOfInputs.ts +7 -0
  85. package/openapi/gen/models/trainingCostEstimateOneOfInputsTraining.ts +9 -0
  86. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingFailure.ts +3 -0
  87. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingFailureAnyOf.ts +7 -0
  88. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingFailureAnyOfCode.ts +2 -0
  89. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingReport.ts +3 -0
  90. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingReportAnyOf.ts +9 -0
  91. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingReportAnyOfErrorsItem.ts +5 -0
  92. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingReportAnyOfTokens.ts +10 -0
  93. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingReportAnyOfTokensEstimatorVersion.ts +2 -0
  94. package/openapi/gen/models/trainingCostEstimateOneOfInputsTrainingReportAnyOfTokensTotal.ts +2 -0
  95. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidation.ts +3 -0
  96. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOf.ts +9 -0
  97. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfFailure.ts +3 -0
  98. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfFailureAnyOf.ts +7 -0
  99. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfFailureAnyOfCode.ts +2 -0
  100. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfReport.ts +3 -0
  101. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfReportAnyOf.ts +9 -0
  102. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfReportAnyOfErrorsItem.ts +5 -0
  103. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfReportAnyOfTokens.ts +10 -0
  104. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfReportAnyOfTokensEstimatorVersion.ts +2 -0
  105. package/openapi/gen/models/trainingCostEstimateOneOfInputsValidationAnyOfReportAnyOfTokensTotal.ts +2 -0
  106. package/openapi/gen/models/trainingCostEstimateOneOfIssuesItem.ts +8 -0
  107. package/openapi/gen/models/trainingCostEstimateOneOfIssuesItemCode.ts +2 -0
  108. package/openapi/gen/models/trainingCostEstimateOneOfIssuesItemPurpose.ts +2 -0
  109. package/openapi/gen/models/trainingCostEstimateOneOfTwoseven.ts +23 -0
  110. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenBudget.ts +9 -0
  111. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputs.ts +7 -0
  112. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTraining.ts +9 -0
  113. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingFailure.ts +3 -0
  114. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingFailureAnyOf.ts +7 -0
  115. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingFailureAnyOfCode.ts +2 -0
  116. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingReport.ts +3 -0
  117. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingReportAnyOf.ts +9 -0
  118. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingReportAnyOfErrorsItem.ts +5 -0
  119. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingReportAnyOfTokens.ts +10 -0
  120. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingReportAnyOfTokensEstimatorVersion.ts +2 -0
  121. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsTrainingReportAnyOfTokensTotal.ts +2 -0
  122. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidation.ts +3 -0
  123. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOf.ts +9 -0
  124. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfFailure.ts +3 -0
  125. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfFailureAnyOf.ts +7 -0
  126. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfFailureAnyOfCode.ts +2 -0
  127. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfReport.ts +3 -0
  128. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfReportAnyOf.ts +9 -0
  129. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfReportAnyOfErrorsItem.ts +5 -0
  130. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfReportAnyOfTokens.ts +10 -0
  131. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfReportAnyOfTokensEstimatorVersion.ts +2 -0
  132. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenInputsValidationAnyOfReportAnyOfTokensTotal.ts +2 -0
  133. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenIssuesItem.ts +8 -0
  134. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenIssuesItemCode.ts +2 -0
  135. package/openapi/gen/models/trainingCostEstimateOneOfTwosevenIssuesItemPurpose.ts +2 -0
  136. package/openapi/gen/models/trainingDatasetItemFilter.ts +8 -0
  137. package/openapi/gen/models/trainingDatasetItemFilterFieldSourcesItem.ts +6 -0
  138. package/openapi/gen/models/trainingDatasetItemFilterFieldSourcesItemSourcesItem.ts +4 -0
  139. package/openapi/gen/models/trainingDatasetItemFilterFieldSourcesItemSourcesItemOneOf.ts +5 -0
  140. package/openapi/gen/models/trainingDatasetItemFilterFieldSourcesItemSourcesItemOneOfTwo.ts +5 -0
  141. package/openapi/gen/models/trainingDatasetItemFilterFieldValuesItem.ts +12 -0
  142. package/openapi/gen/models/trainingDatasetItemFilterFieldValuesItemOperator.ts +2 -0
  143. package/openapi/gen/models/trainingDatasetItemFilterFieldValuesItemSourcesItem.ts +4 -0
  144. package/openapi/gen/models/trainingDatasetItemFilterFieldValuesItemSourcesItemOneOf.ts +5 -0
  145. package/openapi/gen/models/trainingDatasetItemFilterFieldValuesItemSourcesItemOneOfTwo.ts +5 -0
  146. package/openapi/gen/models/trainingDatasetItemFilterFieldValuesItemValue.ts +2 -0
  147. package/openapi/gen/models/trainingDatasetItemFilterInput.ts +8 -0
  148. package/openapi/gen/models/trainingDatasetItemFilterInputFieldSourcesItem.ts +6 -0
  149. package/openapi/gen/models/trainingDatasetItemFilterInputFieldSourcesItemSourcesItem.ts +4 -0
  150. package/openapi/gen/models/trainingDatasetItemFilterInputFieldSourcesItemSourcesItemOneOf.ts +5 -0
  151. package/openapi/gen/models/trainingDatasetItemFilterInputFieldSourcesItemSourcesItemOneOfTwo.ts +5 -0
  152. package/openapi/gen/models/trainingDatasetItemFilterInputFieldValuesItem.ts +12 -0
  153. package/openapi/gen/models/trainingDatasetItemFilterInputFieldValuesItemOperator.ts +2 -0
  154. package/openapi/gen/models/trainingDatasetItemFilterInputFieldValuesItemSourcesItem.ts +4 -0
  155. package/openapi/gen/models/trainingDatasetItemFilterInputFieldValuesItemSourcesItemOneOf.ts +5 -0
  156. package/openapi/gen/models/trainingDatasetItemFilterInputFieldValuesItemSourcesItemOneOfTwo.ts +5 -0
  157. package/openapi/gen/models/trainingDatasetItemFilterInputFieldValuesItemValue.ts +2 -0
  158. package/openapi/gen/models/trainingDatasetSelection.ts +6 -0
  159. package/openapi/gen/models/trainingDatasetSelectionInput.ts +6 -0
  160. package/openapi/gen/models/trainingId.ts +2 -0
  161. package/openapi/gen/models/trainingModelId.ts +3 -0
  162. package/openapi/gen/models/trainingModelSource.ts +4 -0
  163. package/openapi/gen/models/trainingModelSourceOneOf.ts +6 -0
  164. package/openapi/gen/models/trainingModelSourceOneOfBaseModelId.ts +2 -0
  165. package/openapi/gen/models/trainingModelSourceOneOfThree.ts +5 -0
  166. package/openapi/gen/models/trainingRun.ts +39 -0
  167. package/openapi/gen/models/trainingRunBillingStatus.ts +2 -0
  168. package/openapi/gen/models/trainingRunBlockedReason.ts +2 -0
  169. package/openapi/gen/models/trainingRunChargedAmount.ts +2 -0
  170. package/openapi/gen/models/trainingRunError.ts +3 -0
  171. package/openapi/gen/models/trainingRunErrorAnyOf.ts +7 -0
  172. package/openapi/gen/models/trainingRunErrorAnyOfCode.ts +2 -0
  173. package/openapi/gen/models/trainingRunId.ts +2 -0
  174. package/openapi/gen/models/trainingRunInputs.ts +3 -0
  175. package/openapi/gen/models/trainingRunInputsAnyOf.ts +7 -0
  176. package/openapi/gen/models/trainingRunInputsAnyOfTraining.ts +15 -0
  177. package/openapi/gen/models/trainingRunInputsAnyOfTrainingContract.ts +2 -0
  178. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilter.ts +9 -0
  179. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldSourcesItem.ts +6 -0
  180. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldSourcesItemSourcesItem.ts +4 -0
  181. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldSourcesItemSourcesItemOneOf.ts +5 -0
  182. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldSourcesItemSourcesItemOneOfTwo.ts +5 -0
  183. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldValuesItem.ts +12 -0
  184. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldValuesItemOperator.ts +2 -0
  185. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldValuesItemSourcesItem.ts +4 -0
  186. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldValuesItemSourcesItemOneOf.ts +5 -0
  187. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldValuesItemSourcesItemOneOfTwo.ts +5 -0
  188. package/openapi/gen/models/trainingRunInputsAnyOfTrainingItemFilterFieldValuesItemValue.ts +2 -0
  189. package/openapi/gen/models/trainingRunInputsAnyOfTrainingReport.ts +9 -0
  190. package/openapi/gen/models/trainingRunInputsAnyOfTrainingReportErrorsItem.ts +5 -0
  191. package/openapi/gen/models/trainingRunInputsAnyOfTrainingReportTokens.ts +10 -0
  192. package/openapi/gen/models/trainingRunInputsAnyOfTrainingReportTokensEstimatorVersion.ts +2 -0
  193. package/openapi/gen/models/trainingRunInputsAnyOfTrainingReportTokensTotal.ts +2 -0
  194. package/openapi/gen/models/trainingRunInputsAnyOfValidation.ts +3 -0
  195. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOf.ts +15 -0
  196. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfContract.ts +2 -0
  197. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilter.ts +9 -0
  198. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldSourcesItem.ts +6 -0
  199. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldSourcesItemSourcesItem.ts +4 -0
  200. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldSourcesItemSourcesItemOneOf.ts +5 -0
  201. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldSourcesItemSourcesItemOneOfTwo.ts +5 -0
  202. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldValuesItem.ts +12 -0
  203. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldValuesItemOperator.ts +2 -0
  204. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldValuesItemSourcesItem.ts +4 -0
  205. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldValuesItemSourcesItemOneOf.ts +5 -0
  206. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldValuesItemSourcesItemOneOfTwo.ts +5 -0
  207. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfItemFilterFieldValuesItemValue.ts +2 -0
  208. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfReport.ts +9 -0
  209. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfReportErrorsItem.ts +5 -0
  210. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfReportTokens.ts +10 -0
  211. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfReportTokensEstimatorVersion.ts +2 -0
  212. package/openapi/gen/models/trainingRunInputsAnyOfValidationAnyOfReportTokensTotal.ts +2 -0
  213. package/openapi/gen/models/trainingRunLogs.ts +9 -0
  214. package/openapi/gen/models/trainingRunLogsEntriesItem.ts +7 -0
  215. package/openapi/gen/models/trainingRunLogsEntriesItemLevel.ts +2 -0
  216. package/openapi/gen/models/trainingRunLogsNextCursor.ts +2 -0
  217. package/openapi/gen/models/trainingRunMessage.ts +2 -0
  218. package/openapi/gen/models/trainingRunOutputModelVersionRevision.ts +2 -0
  219. package/openapi/gen/models/trainingRunProgress.ts +3 -0
  220. package/openapi/gen/models/trainingRunProgressAnyOf.ts +10 -0
  221. package/openapi/gen/models/trainingRunProgressAnyOfMessage.ts +2 -0
  222. package/openapi/gen/models/trainingRunProgressAnyOfStep.ts +2 -0
  223. package/openapi/gen/models/trainingRunProgressAnyOfTotal.ts +2 -0
  224. package/openapi/gen/models/trainingRunQuote.ts +17 -0
  225. package/openapi/gen/models/trainingRunQuoteBudget.ts +9 -0
  226. package/openapi/gen/models/trainingRunQuoteInputs.ts +7 -0
  227. package/openapi/gen/models/trainingRunQuoteInputsTraining.ts +9 -0
  228. package/openapi/gen/models/trainingRunQuoteInputsTrainingFailure.ts +3 -0
  229. package/openapi/gen/models/trainingRunQuoteInputsTrainingFailureAnyOf.ts +7 -0
  230. package/openapi/gen/models/trainingRunQuoteInputsTrainingFailureAnyOfCode.ts +2 -0
  231. package/openapi/gen/models/trainingRunQuoteInputsTrainingReport.ts +3 -0
  232. package/openapi/gen/models/trainingRunQuoteInputsTrainingReportAnyOf.ts +9 -0
  233. package/openapi/gen/models/trainingRunQuoteInputsTrainingReportAnyOfErrorsItem.ts +5 -0
  234. package/openapi/gen/models/trainingRunQuoteInputsTrainingReportAnyOfTokens.ts +10 -0
  235. package/openapi/gen/models/trainingRunQuoteInputsTrainingReportAnyOfTokensEstimatorVersion.ts +2 -0
  236. package/openapi/gen/models/trainingRunQuoteInputsTrainingReportAnyOfTokensTotal.ts +2 -0
  237. package/openapi/gen/models/trainingRunQuoteInputsValidation.ts +3 -0
  238. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOf.ts +9 -0
  239. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfFailure.ts +3 -0
  240. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfFailureAnyOf.ts +7 -0
  241. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfFailureAnyOfCode.ts +2 -0
  242. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfReport.ts +3 -0
  243. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfReportAnyOf.ts +9 -0
  244. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfReportAnyOfErrorsItem.ts +5 -0
  245. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfReportAnyOfTokens.ts +10 -0
  246. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfReportAnyOfTokensEstimatorVersion.ts +2 -0
  247. package/openapi/gen/models/trainingRunQuoteInputsValidationAnyOfReportAnyOfTokensTotal.ts +2 -0
  248. package/openapi/gen/models/trainingRunStatus.ts +2 -0
  249. package/openapi/gen/models/updateTrainingMetadataBody.ts +5 -0
  250. package/package.json +3 -3
  251. package/skills/catalog.json +19 -7
  252. package/skills/toloka-build/SKILL.md +4 -4
  253. package/skills/toloka-build/references/node-semantics.md +2 -2
  254. package/skills/toloka-build/references/workflow-and-cli.md +21 -3
  255. package/skills/toloka-report-issue/references/report-template.md +1 -1
  256. package/src/authoring/index.ts +10 -0
  257. package/src/cli/auth.ts +1 -1
  258. package/src/cli/auto-update.ts +1 -5
  259. package/src/cli/bin.ts +1 -1
  260. package/src/cli/check.ts +91 -30
  261. package/src/cli/cost.ts +8 -2
  262. package/src/cli/models.ts +107 -2
  263. package/src/cli/program.ts +271 -2
  264. package/src/cli/project-context.ts +55 -11
  265. package/src/cli/project.ts +55 -11
  266. package/src/cli/secrets.ts +4 -4
  267. package/src/cli/trainings.ts +627 -0
  268. package/src/cli/version.ts +68 -0
  269. package/src/client.ts +164 -30
  270. package/src/index.ts +4 -0
  271. package/openapi/gen/models/createDatasetExportBodyOneOf.ts +0 -6
  272. package/openapi/gen/models/createDatasetExportBodyOneOfFormat.ts +0 -2
  273. package/openapi/gen/models/createDatasetExportBodyOneOfThree.ts +0 -10
  274. package/openapi/gen/models/createDatasetExportBodyOneOfThreeContract.ts +0 -2
  275. package/openapi/gen/models/createDatasetExportBodyOneOfThreeFormat.ts +0 -2
  276. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilter.ts +0 -9
  277. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldSourcesItem.ts +0 -6
  278. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldSourcesItemSourcesItem.ts +0 -4
  279. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldSourcesItemSourcesItemOneOf.ts +0 -5
  280. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldSourcesItemSourcesItemOneOfTwo.ts +0 -5
  281. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldValuesItem.ts +0 -12
  282. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldValuesItemOperator.ts +0 -2
  283. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldValuesItemSourcesItem.ts +0 -4
  284. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldValuesItemSourcesItemOneOf.ts +0 -5
  285. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldValuesItemSourcesItemOneOfTwo.ts +0 -5
  286. package/openapi/gen/models/createDatasetExportBodyOneOfThreeItemFilterFieldValuesItemValue.ts +0 -2
@@ -0,0 +1,5 @@
1
+
2
+ export type TrainingRunInputsAnyOfValidationAnyOfReportErrorsItem = {
3
+ itemIndex: number;
4
+ reason: string;
5
+ };
@@ -0,0 +1,10 @@
1
+ import type { TrainingRunInputsAnyOfValidationAnyOfReportTokensTotal } from './trainingRunInputsAnyOfValidationAnyOfReportTokensTotal';
2
+ import type { TrainingRunInputsAnyOfValidationAnyOfReportTokensEstimatorVersion } from './trainingRunInputsAnyOfValidationAnyOfReportTokensEstimatorVersion';
3
+
4
+ export type TrainingRunInputsAnyOfValidationAnyOfReportTokens = {
5
+ p50: number;
6
+ p95: number;
7
+ max: number;
8
+ total?: TrainingRunInputsAnyOfValidationAnyOfReportTokensTotal;
9
+ estimatorVersion?: TrainingRunInputsAnyOfValidationAnyOfReportTokensEstimatorVersion;
10
+ };
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunInputsAnyOfValidationAnyOfReportTokensEstimatorVersion = 'utf16-code-units-div-4-v1' | null;
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunInputsAnyOfValidationAnyOfReportTokensTotal = number | null;
@@ -0,0 +1,9 @@
1
+ import type { TrainingRunLogsEntriesItem } from './trainingRunLogsEntriesItem';
2
+ import type { TrainingRunLogsNextCursor } from './trainingRunLogsNextCursor';
3
+
4
+ export interface TrainingRunLogs {
5
+ entries: TrainingRunLogsEntriesItem[];
6
+ nextCursor: TrainingRunLogsNextCursor;
7
+ complete: boolean;
8
+ truncated: boolean;
9
+ }
@@ -0,0 +1,7 @@
1
+ import type { TrainingRunLogsEntriesItemLevel } from './trainingRunLogsEntriesItemLevel';
2
+
3
+ export type TrainingRunLogsEntriesItem = {
4
+ timestamp: string;
5
+ level: TrainingRunLogsEntriesItemLevel;
6
+ message: string;
7
+ };
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunLogsEntriesItemLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error';
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunLogsNextCursor = string | null;
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunMessage = string | null;
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunOutputModelVersionRevision = number | null;
@@ -0,0 +1,3 @@
1
+ import type { TrainingRunProgressAnyOf } from './trainingRunProgressAnyOf';
2
+
3
+ export type TrainingRunProgress = TrainingRunProgressAnyOf | null;
@@ -0,0 +1,10 @@
1
+ import type { TrainingRunProgressAnyOfStep } from './trainingRunProgressAnyOfStep';
2
+ import type { TrainingRunProgressAnyOfTotal } from './trainingRunProgressAnyOfTotal';
3
+ import type { TrainingRunProgressAnyOfMessage } from './trainingRunProgressAnyOfMessage';
4
+
5
+ export type TrainingRunProgressAnyOf = {
6
+ phase: string;
7
+ step: TrainingRunProgressAnyOfStep;
8
+ total: TrainingRunProgressAnyOfTotal;
9
+ message: TrainingRunProgressAnyOfMessage;
10
+ };
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunProgressAnyOfMessage = string | null;
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunProgressAnyOfStep = number | null;
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunProgressAnyOfTotal = number | null;
@@ -0,0 +1,17 @@
1
+ import type { TrainingCostEstimateInputSetId } from './trainingCostEstimateInputSetId';
2
+ import type { TrainingRunQuoteInputs } from './trainingRunQuoteInputs';
3
+ import type { TrainingRunQuoteBudget } from './trainingRunQuoteBudget';
4
+
5
+ export type TrainingRunQuote = {
6
+ inputSetId: TrainingCostEstimateInputSetId;
7
+ cutoff: string;
8
+ inputs: TrainingRunQuoteInputs;
9
+ capabilityVersion: string;
10
+ pricingVersion: string;
11
+ calculatedAt: string;
12
+ budget: TrainingRunQuoteBudget;
13
+ basePricePerGpuHour: string;
14
+ marginMultiplier: string;
15
+ maximumCharge: string;
16
+ currency: 'USD';
17
+ };
@@ -0,0 +1,9 @@
1
+
2
+ export type TrainingRunQuoteBudget = {
3
+ methodWorkUnits: number;
4
+ estimatedGpuSeconds: number;
5
+ estimatedWallSeconds: number;
6
+ maximumWallSeconds: number;
7
+ maximumGpuSeconds: number;
8
+ gpuCount: number;
9
+ };
@@ -0,0 +1,7 @@
1
+ import type { TrainingRunQuoteInputsTraining } from './trainingRunQuoteInputsTraining';
2
+ import type { TrainingRunQuoteInputsValidation } from './trainingRunQuoteInputsValidation';
3
+
4
+ export type TrainingRunQuoteInputs = {
5
+ training: TrainingRunQuoteInputsTraining;
6
+ validation: TrainingRunQuoteInputsValidation;
7
+ };
@@ -0,0 +1,9 @@
1
+ import type { TrainingRunQuoteInputsTrainingReport } from './trainingRunQuoteInputsTrainingReport';
2
+ import type { TrainingRunQuoteInputsTrainingFailure } from './trainingRunQuoteInputsTrainingFailure';
3
+
4
+ export type TrainingRunQuoteInputsTraining = {
5
+ datasetId: string;
6
+ datasetExportId: string;
7
+ report: TrainingRunQuoteInputsTrainingReport;
8
+ failure: TrainingRunQuoteInputsTrainingFailure;
9
+ };
@@ -0,0 +1,3 @@
1
+ import type { TrainingRunQuoteInputsTrainingFailureAnyOf } from './trainingRunQuoteInputsTrainingFailureAnyOf';
2
+
3
+ export type TrainingRunQuoteInputsTrainingFailure = TrainingRunQuoteInputsTrainingFailureAnyOf | null;
@@ -0,0 +1,7 @@
1
+ import type { TrainingRunQuoteInputsTrainingFailureAnyOfCode } from './trainingRunQuoteInputsTrainingFailureAnyOfCode';
2
+
3
+ export type TrainingRunQuoteInputsTrainingFailureAnyOf = {
4
+ timestamp: string;
5
+ code: TrainingRunQuoteInputsTrainingFailureAnyOfCode;
6
+ message: string;
7
+ };
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunQuoteInputsTrainingFailureAnyOfCode = 'empty_selection' | 'size_limit_exceeded' | 'assembly_failed';
@@ -0,0 +1,3 @@
1
+ import type { TrainingRunQuoteInputsTrainingReportAnyOf } from './trainingRunQuoteInputsTrainingReportAnyOf';
2
+
3
+ export type TrainingRunQuoteInputsTrainingReport = TrainingRunQuoteInputsTrainingReportAnyOf | null;
@@ -0,0 +1,9 @@
1
+ import type { TrainingRunQuoteInputsTrainingReportAnyOfErrorsItem } from './trainingRunQuoteInputsTrainingReportAnyOfErrorsItem';
2
+ import type { TrainingRunQuoteInputsTrainingReportAnyOfTokens } from './trainingRunQuoteInputsTrainingReportAnyOfTokens';
3
+
4
+ export type TrainingRunQuoteInputsTrainingReportAnyOf = {
5
+ validCount: number;
6
+ invalidCount: number;
7
+ errors: TrainingRunQuoteInputsTrainingReportAnyOfErrorsItem[];
8
+ tokens: TrainingRunQuoteInputsTrainingReportAnyOfTokens;
9
+ };
@@ -0,0 +1,5 @@
1
+
2
+ export type TrainingRunQuoteInputsTrainingReportAnyOfErrorsItem = {
3
+ itemIndex: number;
4
+ reason: string;
5
+ };
@@ -0,0 +1,10 @@
1
+ import type { TrainingRunQuoteInputsTrainingReportAnyOfTokensTotal } from './trainingRunQuoteInputsTrainingReportAnyOfTokensTotal';
2
+ import type { TrainingRunQuoteInputsTrainingReportAnyOfTokensEstimatorVersion } from './trainingRunQuoteInputsTrainingReportAnyOfTokensEstimatorVersion';
3
+
4
+ export type TrainingRunQuoteInputsTrainingReportAnyOfTokens = {
5
+ p50: number;
6
+ p95: number;
7
+ max: number;
8
+ total?: TrainingRunQuoteInputsTrainingReportAnyOfTokensTotal;
9
+ estimatorVersion?: TrainingRunQuoteInputsTrainingReportAnyOfTokensEstimatorVersion;
10
+ };
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunQuoteInputsTrainingReportAnyOfTokensEstimatorVersion = 'utf16-code-units-div-4-v1' | null;
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunQuoteInputsTrainingReportAnyOfTokensTotal = number | null;
@@ -0,0 +1,3 @@
1
+ import type { TrainingRunQuoteInputsValidationAnyOf } from './trainingRunQuoteInputsValidationAnyOf';
2
+
3
+ export type TrainingRunQuoteInputsValidation = TrainingRunQuoteInputsValidationAnyOf | null;
@@ -0,0 +1,9 @@
1
+ import type { TrainingRunQuoteInputsValidationAnyOfReport } from './trainingRunQuoteInputsValidationAnyOfReport';
2
+ import type { TrainingRunQuoteInputsValidationAnyOfFailure } from './trainingRunQuoteInputsValidationAnyOfFailure';
3
+
4
+ export type TrainingRunQuoteInputsValidationAnyOf = {
5
+ datasetId: string;
6
+ datasetExportId: string;
7
+ report: TrainingRunQuoteInputsValidationAnyOfReport;
8
+ failure: TrainingRunQuoteInputsValidationAnyOfFailure;
9
+ };
@@ -0,0 +1,3 @@
1
+ import type { TrainingRunQuoteInputsValidationAnyOfFailureAnyOf } from './trainingRunQuoteInputsValidationAnyOfFailureAnyOf';
2
+
3
+ export type TrainingRunQuoteInputsValidationAnyOfFailure = TrainingRunQuoteInputsValidationAnyOfFailureAnyOf | null;
@@ -0,0 +1,7 @@
1
+ import type { TrainingRunQuoteInputsValidationAnyOfFailureAnyOfCode } from './trainingRunQuoteInputsValidationAnyOfFailureAnyOfCode';
2
+
3
+ export type TrainingRunQuoteInputsValidationAnyOfFailureAnyOf = {
4
+ timestamp: string;
5
+ code: TrainingRunQuoteInputsValidationAnyOfFailureAnyOfCode;
6
+ message: string;
7
+ };
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunQuoteInputsValidationAnyOfFailureAnyOfCode = 'empty_selection' | 'size_limit_exceeded' | 'assembly_failed';
@@ -0,0 +1,3 @@
1
+ import type { TrainingRunQuoteInputsValidationAnyOfReportAnyOf } from './trainingRunQuoteInputsValidationAnyOfReportAnyOf';
2
+
3
+ export type TrainingRunQuoteInputsValidationAnyOfReport = TrainingRunQuoteInputsValidationAnyOfReportAnyOf | null;
@@ -0,0 +1,9 @@
1
+ import type { TrainingRunQuoteInputsValidationAnyOfReportAnyOfErrorsItem } from './trainingRunQuoteInputsValidationAnyOfReportAnyOfErrorsItem';
2
+ import type { TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokens } from './trainingRunQuoteInputsValidationAnyOfReportAnyOfTokens';
3
+
4
+ export type TrainingRunQuoteInputsValidationAnyOfReportAnyOf = {
5
+ validCount: number;
6
+ invalidCount: number;
7
+ errors: TrainingRunQuoteInputsValidationAnyOfReportAnyOfErrorsItem[];
8
+ tokens: TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokens;
9
+ };
@@ -0,0 +1,5 @@
1
+
2
+ export type TrainingRunQuoteInputsValidationAnyOfReportAnyOfErrorsItem = {
3
+ itemIndex: number;
4
+ reason: string;
5
+ };
@@ -0,0 +1,10 @@
1
+ import type { TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokensTotal } from './trainingRunQuoteInputsValidationAnyOfReportAnyOfTokensTotal';
2
+ import type { TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokensEstimatorVersion } from './trainingRunQuoteInputsValidationAnyOfReportAnyOfTokensEstimatorVersion';
3
+
4
+ export type TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokens = {
5
+ p50: number;
6
+ p95: number;
7
+ max: number;
8
+ total?: TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokensTotal;
9
+ estimatorVersion?: TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokensEstimatorVersion;
10
+ };
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokensEstimatorVersion = 'utf16-code-units-div-4-v1' | null;
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunQuoteInputsValidationAnyOfReportAnyOfTokensTotal = number | null;
@@ -0,0 +1,2 @@
1
+
2
+ export type TrainingRunStatus = 'queued' | 'running' | 'stopping' | 'blocked' | 'completed' | 'failed' | 'canceled';
@@ -0,0 +1,5 @@
1
+
2
+ export type UpdateTrainingMetadataBody = {
3
+ name?: string;
4
+ archived?: boolean;
5
+ };
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@toloka-platform/sdk",
3
- "version": "0.1.0-preview.9",
3
+ "version": "0.2.0-preview.1",
4
4
  "private": false,
5
- "description": "Preview. Build, inspect, and operate Toloka pipeline projects as TypeScript source. The public API may change.",
5
+ "description": "Beta. Build, inspect, and operate Toloka pipeline projects as TypeScript source. The public API may change.",
6
6
  "license": "Apache-2.0",
7
7
  "bin": {
8
8
  "toloka": "bin/toloka.js"
@@ -28,7 +28,7 @@
28
28
  "publishConfig": {
29
29
  "access": "public",
30
30
  "registry": "https://registry.npmjs.org/",
31
- "tag": "preview"
31
+ "tag": "latest"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "bun ./scripts/build-cli.ts ./dist/cli",
@@ -13,18 +13,30 @@
13
13
  "testing",
14
14
  "checks"
15
15
  ],
16
- "version": "0.1.0-preview.9",
17
- "digest": "87dca7b1cc0cf3d61f54ab27703ea4b60622355ec07e289ce1242bb3c2233482",
18
- "files": ["SKILL.md", "references/node-semantics.md", "references/workflow-and-cli.md"]
16
+ "version": "0.2.0-preview.1",
17
+ "digest": "5e5bdd01d1f87d2de65af6ac4d7c3f48f1e79e62355a5e3774a9e205c21fbf2c",
18
+ "files": [
19
+ "SKILL.md",
20
+ "references/node-semantics.md",
21
+ "references/workflow-and-cli.md"
22
+ ]
19
23
  },
20
24
  {
21
25
  "id": "toloka-report-issue",
22
26
  "name": "Report a Toloka problem",
23
27
  "description": "Report a problem with the Toloka platform, CLI, or SDK as a redacted Markdown issue report sent through the toloka CLI only after explicit approval. Use when the user hits unexpected behavior, an error, or a bug and wants Toloka engineers to investigate.",
24
- "tags": ["support", "issue", "bug", "report"],
25
- "version": "0.1.0-preview.9",
26
- "digest": "6fb8ccf80b346de0745bb7d9192e4e3998cb8f06c8b30f7eb6dcc5b326f4646d",
27
- "files": ["SKILL.md", "references/report-template.md"]
28
+ "tags": [
29
+ "support",
30
+ "issue",
31
+ "bug",
32
+ "report"
33
+ ],
34
+ "version": "0.2.0-preview.1",
35
+ "digest": "c4743435270c6fee22b230eab8ac1ef642262a94e960ada91f9bba5894eb03b5",
36
+ "files": [
37
+ "SKILL.md",
38
+ "references/report-template.md"
39
+ ]
28
40
  }
29
41
  ]
30
42
  }
@@ -5,13 +5,13 @@ description: Onboard users and build, test, inspect, or change Toloka platform p
5
5
 
6
6
  # Build Toloka pipelines as code
7
7
 
8
- This SDK is Preview software. The authoring API, the CLI, and generated source can change. Do not invent helpers or flags that are not in the installed package.
8
+ This SDK is Beta software. The authoring API, the CLI, and generated source can change before general availability. Do not invent helpers or flags that are not in the installed package.
9
9
 
10
10
  Use this skill when the user wants to get started or to create, inspect, test, or change a Toloka pipeline project as code. Work in the project source tree; do not translate the request into direct platform API calls.
11
11
 
12
12
  ## Guide a first-time user
13
13
 
14
- When the user asks to get started or points to `https://platform.toloka.ai/onboarding.md`, read that guide before acting. The guide owns the session order and its user checkpoints. This skill owns authoring semantics, local test requirements, recovery, and evidence reporting.
14
+ When the user asks to get started or points to `https://platform.toloka.ai/agents/data-labeling.md`, read that guide before acting. The guide owns the session order and its user checkpoints. This skill owns authoring semantics, local test requirements, recovery, and evidence reporting.
15
15
 
16
16
  Do not replace the guide's quick demo with another example, and do not run the demo when the user chooses their own task. Never cross its API-key, project-creation, plan, or run-cost checkpoint without the user's required action or approval.
17
17
 
@@ -75,7 +75,7 @@ These are server rules that `definePipeline` does not check. Each one costs an a
75
75
 
76
76
  `toloka check` is the required local gate. It runs the project TypeScript compiler, typechecks every authored Task UI against declarations bundled with this SDK version, runs Vitest, and requires passing typed `test.code`, `test.ui`, and `test.pipeline` evidence for every checkable node and pipeline. Use `toloka check <pipeline> --node <name-or-id>` while iterating, then run the unfiltered command before plan or run. Status `missing` means required test evidence does not exist; `failed` means a check ran and failed; `partial` means hardware-backed behavior remains unverified; `infrastructure_error` means the checker could not run. All four block apply.
77
77
 
78
- `toloka validate` posts each bound graph to the platform. Treat source/spec errors as blocking and warnings as informational. `not_ran_node_check` concerns a separate Remote Node Check and does not invalidate a passing Local Check Gate. A pipeline not yet on the platform is skipped until `toloka apply` creates it. When a reviewed plan adds a dataset field already bound by an existing live pipeline, pre-apply validation can report that exact field as missing; apply only the reviewed additive plan, then require post-apply validation to clear source/spec errors. Never rewrite valid source for a missing Remote Node Check.
78
+ `toloka validate` posts each bound graph to the platform. Treat source/spec errors as blocking and warnings as informational. A `not_ran_node_check` concerns a separate Remote Node Check and does not replace a passing Local Check Gate, but its remote-validation severity still matters: lint checks report it as a blocking error while other checks can report it as a warning. A pipeline not yet on the platform is skipped until `toloka apply` creates it. When a reviewed plan adds a dataset field already bound by an existing live pipeline, pre-apply validation can report that exact field as missing; apply only the reviewed additive plan, then require post-apply validation to clear source/spec errors. Never rewrite valid source for a missing Remote Node Check.
79
79
 
80
80
  Before choosing Task UI components, call `ui.componentDocumentation()` from a local `@toloka-platform/sdk/testing` scenario. A component's usable contract is the returned `propsType` plus its returned `valueType` and `example`; shared `Field` props such as `path`, `label`, `hint`, and `validation` can be confirmed from any current `Field.*` example, but do not invent any other prop. For structured or array-valued Fields, derive the dataset field schema from `valueType`, then feed the documented example value through `setValue`, `getValue`, and `submit` in the UI scenario so upstream contract drift fails locally. Never translate undocumented property names or replace missing values with defaults. Every identifier in `ui.code` must be a returned component or documented `actions` API, and JSX must have one root element. Register each required UI scenario with `test.ui(pipeline, node, name, callback)` and submit through its bound `render` helper. Run `toloka check <pipeline> --node <name-or-id>` after every Task UI edit; require passing UI types, empty browser validation errors, valid postprocessed entity output, and visual inspection where relevant. Never weaken authored validation merely to make a test pass.
81
81
 
@@ -104,7 +104,7 @@ A globally installed CLI auto-updates by default; turn that off with `toloka con
104
104
 
105
105
  ## Run a deployed pipeline
106
106
 
107
- Before starting a run, require a passing `toloka check` and no blocking source/spec error from `toloka validate`. Do not block on `not_ran_node_check`, which concerns separate Remote Node Checks. Run `toloka pipeline cost <name>` when pricing evidence is needed; if it skips a billed node, report the authored rate and a labeled labor floor instead of presenting `$0.00` as the price.
107
+ Before starting a run, require a passing `toloka check` and no blocking error from `toloka validate`. A warning-severity `not_ran_node_check` concerns a separate Remote Node Check and does not block the Local Check Gate; an error-severity instance remains a blocking remote-validation result. Run `toloka pipeline cost <name>` when pricing evidence is needed; if it skips a billed node, report the authored rate and a labeled labor floor instead of presenting `$0.00` as the price.
108
108
 
109
109
  Start a run with `toloka pipeline run <name> --wait --timeout <ms>`, then read its exit code: `0` succeeded, `1` reached a failed terminal state, `2` still running when the window closed. Without `--wait`, exit `0` only means the run was accepted. Nothing reports back later, so never describe a started run as a finished one. Name the live pipeline; there is no implicit only-pipeline.
110
110
 
@@ -43,13 +43,13 @@ connect(annotate.output, collection.completed);
43
43
 
44
44
  ### Pick and configure it
45
45
 
46
- Create exactly one `root` node. Use `started` for dataset fields the pipeline reads and `completed` for fields it writes back to the same dataset. A completed field is not a separate output destination: the platform creates or uses that dataset column per item.
46
+ Create exactly one `root` node with `root(settings)`. It has no name argument because it represents the pipeline boundary, not a named unit of work. Use `started` for dataset fields the pipeline reads and `completed` for fields it writes back to the same dataset. A completed field is not a separate output destination: the platform creates or uses that dataset column per item.
47
47
 
48
48
  The public authoring shape is `RootAuthoringSettings`:
49
49
 
50
50
  - `started`: fields exposed through the `started` output port.
51
51
  - `completed`: fields accepted through the `completed` input port and written to the dataset.
52
- - Each entry can be a `Field` or `{ field, optional }`; a bare `Field` is required.
52
+ - Each entry can be a required `Field`, `optional(field)`, or an explicit `{ field, optional }` binding. Prefer `optional(field)` for new optional bindings and preserve the explicit object form in imported source.
53
53
  - `itemLimit` exists in both `RootNodeSettings` and `RootAuthoringSettings`. Do not invent a limit; author one only when the user explicitly requests a bounded test or batch. Apply preserves a live `itemLimit` unless source declares its own.
54
54
 
55
55
  The dataset name belongs in `definePipeline({ dataset: 'name', ... })`, not in the root settings. `toloka apply` resolves or creates the named dataset and supplies its ID.
@@ -26,7 +26,7 @@ Treat the three layers differently:
26
26
 
27
27
  ## Initialize the source root
28
28
 
29
- For a first-time guided session, read `https://platform.toloka.ai/onboarding.md` first. Keep its stage order and checkpoints; use this reference for the commands and source-first invariants inside those stages.
29
+ For a first-time guided session, read `https://platform.toloka.ai/agents/data-labeling.md` first. Keep its stage order and checkpoints; use this reference for the commands and source-first invariants inside those stages.
30
30
 
31
31
  Install the SDK before invoking project commands:
32
32
 
@@ -83,7 +83,7 @@ All commands accept `--source-root <directory>`. Prefer running from the source
83
83
  The real command surface is:
84
84
 
85
85
  ```text
86
- toloka version
86
+ toloka version [--json]
87
87
  toloka -v
88
88
  toloka --version
89
89
  toloka login
@@ -99,6 +99,7 @@ toloka project current
99
99
  toloka project url
100
100
  toloka project remove <alias>
101
101
  toloka project create [alias] [--name <name>] [--team-id <id>]
102
+ toloka project untrack <pipeline|dataset> <name> [--confirm]
102
103
  toloka init
103
104
  toloka import [projectId]
104
105
  toloka check [pipeline] [--node <name-or-id>] [--json] [--watch]
@@ -125,6 +126,17 @@ toloka model get <name-or-id> [--json]
125
126
  toloka model versions <name-or-id> [--json]
126
127
  toloka model create <name> --base <base-model-id> [--description <text>] [--json]
127
128
  toloka model archive <name-or-id> [--json]
129
+ toloka training list [--json]
130
+ toloka training get <name-or-id> [--json]
131
+ toloka training create <name> (--base-model <id> | --model-version <id>) --dataset <id> [--json]
132
+ toloka training update <name-or-id> [configuration flags] [--json]
133
+ toloka training cost <name-or-id> [--idempotency-key <key>] [--json]
134
+ toloka training run <name-or-id> --estimate-file <path> --version-name <name> [--idempotency-key <key>] [--json]
135
+ toloka training runs <name-or-id> [--json]
136
+ toloka training status <training-run-id> [--json]
137
+ toloka training resume <training-run-id> [--json]
138
+ toloka training cancel <training-run-id> [--json]
139
+ toloka training logs <training-run-id> [--follow]
128
140
  toloka skill list [--json]
129
141
  toloka skill search <query> [--json]
130
142
  toloka skill install <skill-id> [--force]
@@ -141,6 +153,12 @@ Select the platform project with `toloka project add` or `toloka project create`
141
153
 
142
154
  The global Base Model Catalog is read-only and uses `toloka base-model`. `base-model list` prints aligned ID, name, provider, and upstream-model columns by default. `toloka model` manages project-owned lineages; creation requires one catalog `baseModelId` and creates metadata without a Model Version. Every Base Model and Model command accepts `--json` for machine-readable output. Model Version upload, validation, and download commands are deferred until the separate upload-processing contract is implemented.
143
155
 
156
+ ## Train a model
157
+
158
+ `toloka training create` requires one source (`--base-model` or `--model-version`) and a training Dataset. The output Model is created on the first Training Run from the Training name, or bound from an existing Model Version source.
159
+
160
+ Use `training cost` to validate inputs and produce a ready estimate JSON file before `training run`. The run command requires that file and an explicit maximum cost. Use `training status`, `training logs`, `training resume`, and `training cancel` with the returned Training Run ID.
161
+
144
162
  ## Adopt an existing live project
145
163
 
146
164
  1. Install `@toloka-platform/sdk` in the intended source root.
@@ -180,7 +198,7 @@ toloka validate
180
198
 
181
199
  With `--watch --json`, each completed rerun writes one JSON line. Do not start another watcher while one is active.
182
200
 
183
- `toloka validate` posts each authored graph to the platform. Distinguish source/spec errors, which require source changes; `not_ran_node_check`, which describes a separate Remote Node Check; and warnings. It does not write the graph. A pipeline that is not on the platform yet is skipped until `toloka apply` creates it. When plan adds a dataset field used by an already-live pipeline, pre-apply validation can report that exact field as `misconfigured_node_form_component` because the column is not live yet. Treat it as expected only when the reviewed plan adds the same field, then require post-apply validation to clear the source/spec error.
201
+ `toloka validate` posts each authored graph to the platform. Distinguish source/spec errors, which require source changes; Remote Node Check state; and warnings. A lint `not_ran_node_check` is a blocking remote-validation error, while other check types can report the same code as a warning; neither replaces the Local Check Gate. Validation does not write the graph. A pipeline that is not on the platform yet is skipped until `toloka apply` creates it. When plan adds a dataset field used by an already-live pipeline, pre-apply validation can report that exact field as `misconfigured_node_form_component` because the column is not live yet. Treat it as expected only when the reviewed plan adds the same field, then require post-apply validation to clear the source/spec error.
184
202
 
185
203
  The authored API still supplies extra local safety:
186
204
 
@@ -26,7 +26,7 @@ The CLI exits 1 with `Potato API request failed with status 500`. The same comma
26
26
 
27
27
  ## Environment
28
28
 
29
- - toloka CLI 0.1.0-preview.9 (`toloka --version`), Bun 1.4.0, macOS 15
29
+ - toloka CLI 0.2.0-preview.1 (`toloka --version`), Bun 1.4.0, macOS 15
30
30
  - Platform: https://platform.toloka.ai
31
31
 
32
32
  ## Redactions
@@ -56,6 +56,8 @@ type FieldReference = {
56
56
  readonly optional: boolean;
57
57
  };
58
58
 
59
+ export type OptionalFieldBinding = { readonly field: Field; readonly optional: true };
60
+
59
61
  type RootFieldReference = Field | { readonly field: Field; readonly optional?: boolean };
60
62
 
61
63
  type FieldRelation<Relation> = Relation extends { id: string }
@@ -445,10 +447,18 @@ export function field<const Name extends string>(
445
447
  };
446
448
  }
447
449
 
450
+ export function optional(referencedField: Field): OptionalFieldBinding {
451
+ return { field: referencedField, optional: true };
452
+ }
453
+
448
454
  function createRoot(
449
455
  settings: RootAuthoringSettings,
450
456
  options: AuthoringIdOptions = {},
451
457
  ): AuthoredRootNode {
458
+ assert(
459
+ typeof settings === "object" && settings !== null && !Array.isArray(settings),
460
+ "root() defines the single pipeline boundary; call root({ started, completed }) without a name",
461
+ );
452
462
  const id = options.id ?? "root";
453
463
  const { started, completed, ...settingsWithoutFieldProxies } = settings;
454
464
  return {
package/src/cli/auth.ts CHANGED
@@ -81,7 +81,7 @@ export async function login(options: LoginOptions = {}): Promise<LoginResult> {
81
81
  PRODUCTION_BASE_URL,
82
82
  );
83
83
 
84
- let apiKey = options.apiKey;
84
+ let apiKey = options.apiKey ?? environment.POTATO_API_KEY;
85
85
  if (apiKey === undefined) {
86
86
  assert(
87
87
  options.prompt,
@@ -123,11 +123,7 @@ export const asNpmPackageView = (payload: unknown): NpmPackageView | undefined =
123
123
  };
124
124
 
125
125
  export const latestPublishedVersion = (view: NpmPackageView): string | undefined => {
126
- const tags = view["dist-tags"];
127
- if (tags === undefined) return undefined;
128
- const preview = tags.preview;
129
- if (typeof preview === "string" && preview.length > 0) return preview;
130
- const latest = tags.latest;
126
+ const latest = view["dist-tags"]?.latest;
131
127
  return typeof latest === "string" && latest.length > 0 ? latest : undefined;
132
128
  };
133
129
 
package/src/cli/bin.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env bun
2
- import { runTolokaCli } from './program';
2
+ import { runTolokaCli } from "./program";
3
3
 
4
4
  process.exitCode = await runTolokaCli(process.argv.slice(2));