@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
@@ -1,5 +1,5 @@
1
1
  import { assert } from "es-toolkit";
2
- import { readTolokaState, writeTolokaState } from "../state";
2
+ import { readTolokaState, TOLOKA_STATE_FILENAME, writeTolokaState } from "../state";
3
3
  import type { TolokaState } from "../state";
4
4
  import type { AuthPrompt } from "./auth";
5
5
  import type { TolokaCliFlags, TolokaEnvironment } from "./config";
@@ -35,10 +35,10 @@ export type ProjectCreateApi = {
35
35
  };
36
36
 
37
37
  export const MISSING_PROJECT_ID_MESSAGE =
38
- "Missing project ID. Pass --project-id, set TOLOKA_PROJECT_ID, set projectId in toloka.json, or run toloka project add.";
38
+ "Missing project ID. Pass --project-id, set TOLOKA_PROJECT_ID, use a bound toloka.json, run toloka project create for a new project, or run toloka project add for an existing project.";
39
39
 
40
40
  export const NO_PROJECT_SELECTED_MESSAGE =
41
- "No project selected. Run toloka project add, or cd into a checkout.";
41
+ "No project selected. Run toloka project create for a new project, toloka project add for an existing project, or cd into a checkout.";
42
42
 
43
43
  const NETWORK_MISMATCH_MESSAGE =
44
44
  "project add writes the machine registry; unset --api-key / --base-url / POTATO_API_KEY / POTATO_BASE_URL, or run login against that platform first.";
@@ -168,7 +168,8 @@ export const formatProjectContextLine = (
168
168
  project: ProjectContext | undefined,
169
169
  stored?: StoredCredentials,
170
170
  ): string => {
171
- if (project === undefined) return "Project: (none). Run toloka project add.";
171
+ if (project === undefined)
172
+ return "Project: (none). Run toloka project create or toloka project add.";
172
173
  const alias = project.alias === undefined ? "" : `alias ${project.alias}, `;
173
174
  const registryNote =
174
175
  project.source !== "registry" && stored?.current !== undefined
@@ -232,14 +233,12 @@ export async function listRemoteProjects(options: {
232
233
  }): Promise<{ readonly output: string }> {
233
234
  const limit = options.limit ?? 20;
234
235
  const page = await options.client.projects.listPage({ limit });
235
- const lines = page.projects.map((project) => {
236
- const mark = options.context?.id === project.id ? "*" : " ";
237
- const alias =
238
- options.context?.id === project.id && options.context.alias !== undefined
239
- ? `\t${options.context.alias}`
240
- : "";
241
- return `${mark}\t${project.id}\t${project.name}${alias}`;
236
+ const rows = page.projects.map((project) => {
237
+ const current = options.context?.id === project.id;
238
+ const alias = current ? (options.context.alias ?? "-") : "-";
239
+ return `${current ? "*" : "-"}\t${project.id}\t${project.name}\t${alias}`;
242
240
  });
241
+ const lines = rows.length === 0 ? [] : ["CURRENT\tID\tNAME\tALIAS", ...rows];
243
242
  if (page.pagination.hasMore) {
244
243
  lines.push(
245
244
  `Showing ${page.projects.length} of ${page.pagination.total} projects. Raise --limit to see more.`,
@@ -250,6 +249,51 @@ export async function listRemoteProjects(options: {
250
249
  return { output };
251
250
  }
252
251
 
252
+ export type TrackedResourceKind = "pipeline" | "dataset";
253
+
254
+ export async function untrackProjectResource(options: {
255
+ readonly sourceRoot: string;
256
+ readonly type: TrackedResourceKind;
257
+ readonly name: string;
258
+ readonly confirm: boolean;
259
+ readonly io: ProjectIo;
260
+ }): Promise<{ readonly output: string }> {
261
+ const state = await readTolokaState(options.sourceRoot);
262
+ assert(state, `No ${TOLOKA_STATE_FILENAME} found in ${options.sourceRoot}.`);
263
+ const bindings = options.type === "pipeline" ? state.pipelines : state.datasets;
264
+ const binding = bindings[options.name];
265
+ assert(
266
+ binding,
267
+ `${options.type === "pipeline" ? "Pipeline" : "Dataset"} ${options.name} is not tracked.`,
268
+ );
269
+ const id = "pipelineId" in binding ? binding.pipelineId : binding.datasetId;
270
+ const label = `${options.type} ${options.name} (${id})`;
271
+
272
+ if (!options.confirm) {
273
+ assert(
274
+ options.io.prompt,
275
+ `Refusing to untrack ${label} without confirmation. Pass --confirm after reviewing ${TOLOKA_STATE_FILENAME}.`,
276
+ );
277
+ const answer = (
278
+ await options.io.prompt(`Untrack ${label}? The live resource will not be deleted. [y/N] `)
279
+ )
280
+ .trim()
281
+ .toLowerCase();
282
+ assert(answer === "y" || answer === "yes", "Untrack canceled.");
283
+ }
284
+
285
+ const remaining = Object.fromEntries(
286
+ Object.entries(bindings).filter(([candidate]) => candidate !== options.name),
287
+ );
288
+ await writeTolokaState(options.sourceRoot, {
289
+ ...state,
290
+ ...(options.type === "pipeline" ? { pipelines: remaining } : { datasets: remaining }),
291
+ });
292
+ const output = `Untracked ${label}. The live ${options.type} was not deleted.`;
293
+ options.io.stdout(output);
294
+ return { output };
295
+ }
296
+
253
297
  export async function addProject(options: {
254
298
  readonly environment: CliEnvironment;
255
299
  readonly flags?: TolokaCliFlags;
@@ -4,6 +4,7 @@ import { dirname, join, resolve } from "node:path";
4
4
  import type {
5
5
  PipelineGraphSnapshot,
6
6
  PipelineGraphV1,
7
+ PipelineValidationIssue,
7
8
  PipelineValidationReport,
8
9
  } from "../../openapi/gen/models";
9
10
  import { resolvePipelineDefinition, validatePipelineDefinition } from "../authoring";
@@ -83,10 +84,13 @@ export type ApplyProjectResult = {
83
84
 
84
85
  export type ValidateProjectOptions = PlanProjectOptions;
85
86
 
87
+ export type PipelineValidationStatus = "valid" | "invalid" | "checks_pending";
88
+
86
89
  export type PipelineValidationResult = {
87
90
  readonly sourceDirectory: string;
88
91
  readonly pipelineId?: string;
89
92
  readonly report?: PipelineValidationReport;
93
+ readonly status?: PipelineValidationStatus;
90
94
  readonly skipped?: string;
91
95
  };
92
96
 
@@ -844,10 +848,11 @@ export async function applyProject(
844
848
  if (valueKey(inspection.state) !== valueKey(nextState))
845
849
  await writeTolokaState(options.sourceRoot, nextState);
846
850
  const action = writes === 0 ? "unchanged" : "changed";
851
+ const plannedChanges = inspection.changes.length;
847
852
  const output =
848
853
  writes === 0
849
854
  ? "No changes."
850
- : `Applied ${writes} ${writes === 1 ? "write" : "writes"} to project ${inspection.projectId}.`;
855
+ : `Applied ${plannedChanges} planned ${plannedChanges === 1 ? "change" : "changes"} with ${writes} platform ${writes === 1 ? "write" : "writes"} to project ${inspection.projectId}.`;
851
856
  return {
852
857
  action,
853
858
  state: nextState,
@@ -860,10 +865,47 @@ export async function applyProject(
860
865
  const issueLocation = (issue: { nodeId?: string; checkId?: string }) =>
861
866
  [issue.nodeId, issue.checkId].filter((value): value is string => value !== undefined).join("/");
862
867
 
868
+ const PENDING_CHECK_CODE = "not_ran_node_check";
869
+
870
+ const normalizeValidationIssue = (issue: PipelineValidationIssue): PipelineValidationIssue =>
871
+ issue.code === "empty_node_checks"
872
+ ? { ...issue, message: "No stored check cases are configured for this node" }
873
+ : issue;
874
+
875
+ const normalizeValidationReport = (
876
+ report: PipelineValidationReport,
877
+ ): { readonly report: PipelineValidationReport; readonly status: PipelineValidationStatus } => {
878
+ const seen = new Set<string>();
879
+ const issues = report.issues.flatMap((rawIssue) => {
880
+ const issue = normalizeValidationIssue(rawIssue);
881
+ const key = [
882
+ issue.code,
883
+ issue.severity,
884
+ issue.nodeId ?? "",
885
+ issue.checkId ?? "",
886
+ issue.message,
887
+ ].join("\n");
888
+ if (seen.has(key)) return [];
889
+ seen.add(key);
890
+ return [issue];
891
+ });
892
+ const pending = issues.some((issue) => issue.code === PENDING_CHECK_CODE);
893
+ const blocking = issues.some(
894
+ (issue) => issue.severity === "error" && issue.code !== PENDING_CHECK_CODE,
895
+ );
896
+ const status: PipelineValidationStatus =
897
+ blocking || (!report.valid && !pending) ? "invalid" : pending ? "checks_pending" : "valid";
898
+ return {
899
+ status,
900
+ report: { ...report, valid: status !== "invalid", issues },
901
+ };
902
+ };
903
+
863
904
  const formatValidationIssues = (report: PipelineValidationReport) =>
864
905
  report.issues.map((issue) => {
865
906
  const location = issueLocation(issue);
866
- return ` ${issue.severity} ${issue.code}${location.length === 0 ? "" : ` ${location}`}: ${issue.message}`;
907
+ const severity = issue.code === PENDING_CHECK_CODE ? "pending" : issue.severity;
908
+ return ` ${severity} ${issue.code}${location.length === 0 ? "" : ` ${location}`}: ${issue.message}`;
867
909
  });
868
910
 
869
911
  export async function validateProject(
@@ -898,24 +940,26 @@ export async function validateProject(
898
940
  resolvePipelineDefinition(pipeline.source.definition, { datasetId: dataset.id }),
899
941
  pipeline.snapshot.graph,
900
942
  );
901
- const report = await client.pipelines.validateGraph({
902
- pipelineId: pipeline.pipeline.id,
903
- graph,
904
- });
943
+ const normalized = normalizeValidationReport(
944
+ await client.pipelines.validateGraph({
945
+ pipelineId: pipeline.pipeline.id,
946
+ graph,
947
+ }),
948
+ );
905
949
  results.push({
906
950
  sourceDirectory: pipeline.source.sourceDirectory,
907
951
  pipelineId: pipeline.pipeline.id,
908
- report,
952
+ report: normalized.report,
953
+ status: normalized.status,
909
954
  });
910
955
  }
911
- const valid = results.every((result) => result.report?.valid !== false);
956
+ const valid = results.every((result) => result.status !== "invalid");
912
957
  const lines = results.flatMap((result) => {
913
958
  if (result.skipped !== undefined)
914
959
  return [`- ${result.sourceDirectory}: skipped (${result.skipped})`];
915
960
  assert(result.report, `Pipeline ${result.sourceDirectory} is missing a validation report`);
916
- const header = result.report.valid
917
- ? `- ${result.sourceDirectory}: valid`
918
- : `- ${result.sourceDirectory}: invalid`;
961
+ assert(result.status, `Pipeline ${result.sourceDirectory} is missing a validation status`);
962
+ const header = `- ${result.sourceDirectory}: ${result.status.replace("_", "-")}`;
919
963
  return [header, ...formatValidationIssues(result.report)];
920
964
  });
921
965
  return {
@@ -1,13 +1,13 @@
1
- import type { PipelineGraphV1 } from '../../openapi/gen/models';
1
+ import type { PipelineGraphV1 } from "../../openapi/gen/models";
2
2
 
3
3
  export function collectGraphSecretNames(graph: {
4
- readonly nodes: ReadonlyArray<PipelineGraphV1['nodes'][number]>;
4
+ readonly nodes: ReadonlyArray<PipelineGraphV1["nodes"][number]>;
5
5
  }): readonly string[] {
6
6
  const names = new Set<string>();
7
7
  for (const node of graph.nodes) {
8
- if (node.type !== 'code') continue;
8
+ if (node.type !== "code") continue;
9
9
  for (const environmentVariable of node.settings.envVars ?? []) {
10
- if (environmentVariable.type === 'secret') names.add(environmentVariable.secretName);
10
+ if (environmentVariable.type === "secret") names.add(environmentVariable.secretName);
11
11
  }
12
12
  }
13
13
  return [...names].toSorted((left, right) => left.localeCompare(right));