@toloka-platform/sdk 0.1.0-preview.4 → 0.1.0-preview.6
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.
- package/README.md +1 -1
- package/dist/cli/toloka.js +132 -126
- package/dist/cli/toloka.js.jsc +0 -0
- package/dist/cli/toloka.js.jsc.sha256 +1 -1
- package/dist/cli/toloka.js.sha256 +1 -1
- package/docs/cli-v2.md +4 -0
- package/docs/cli.md +82 -6
- package/docs/datasets.md +8 -9
- package/docs/getting-started.md +2 -2
- package/docs/limitations.md +5 -8
- package/docs/troubleshooting.md +0 -11
- package/openapi/gen/api.ts +782 -876
- package/openapi/gen/models/baseModel.ts +9 -0
- package/openapi/gen/models/baseModelId.ts +2 -0
- package/openapi/gen/models/baseModelIdProperty.ts +2 -0
- package/openapi/gen/models/createDatasetBody.ts +2 -0
- package/openapi/gen/models/createDatasetBodyProfile.ts +2 -0
- package/openapi/gen/models/createDatasetUploadBodyFormat.ts +1 -1
- package/openapi/gen/models/createProjectModelBody.ts +8 -0
- package/openapi/gen/models/createProjectModelBodyDescription.ts +2 -0
- package/openapi/gen/models/dataset.ts +2 -0
- package/openapi/gen/models/datasetProfile.ts +3 -0
- package/openapi/gen/models/datasetProfileStamp.ts +6 -0
- package/openapi/gen/models/datasetProfileStampName.ts +2 -0
- package/openapi/gen/models/generationNodeSettingsAudienceAndPricingOneOfOneone.ts +1 -0
- package/openapi/gen/models/index.ts +21 -0
- package/openapi/gen/models/listBaseModels200.ts +5 -0
- package/openapi/gen/models/listModelVersions200.ts +7 -0
- package/openapi/gen/models/listModelVersionsParams.ts +5 -0
- package/openapi/gen/models/listProjectModels200.ts +7 -0
- package/openapi/gen/models/listProjectModelsParams.ts +5 -0
- package/openapi/gen/models/model.ts +16 -0
- package/openapi/gen/models/modelArchivedAt.ts +2 -0
- package/openapi/gen/models/modelDescription.ts +2 -0
- package/openapi/gen/models/modelId.ts +2 -0
- package/openapi/gen/models/modelVersion.ts +9 -0
- package/openapi/gen/models/modelVersionId.ts +2 -0
- package/openapi/gen/models/pipelineGraphSnapshotGraphNodesItemOneOfThreeoneSettingsAudienceAndPricingOneOfOneone.ts +1 -0
- package/openapi/gen/models/runCost.ts +7 -0
- package/openapi/gen/models/validatePipelineGraphBodyGraphNodesItemOneOfThreeoneSettingsAudienceAndPricingOneOfOneone.ts +1 -0
- package/package.json +2 -1
- package/skills/catalog.json +22 -0
- package/skills/{SKILL.md → toloka-build/SKILL.md} +2 -2
- package/skills/{references → toloka-build/references}/workflow-and-cli.md +26 -5
- package/skills/toloka-report-issue/SKILL.md +25 -0
- package/skills/toloka-report-issue/references/report-template.md +34 -0
- package/src/cli/analytics.ts +53 -1
- package/src/cli/data.ts +148 -25
- package/src/cli/file-system.ts +34 -0
- package/src/cli/format-error.ts +19 -0
- package/src/cli/init.ts +149 -194
- package/src/cli/models.ts +188 -0
- package/src/cli/program.ts +202 -22
- package/src/cli/report.ts +144 -0
- package/src/cli/skill.ts +363 -0
- package/src/client.ts +109 -35
- package/src/errors.ts +25 -10
- package/src/pipeline-graph-v1.contract.json +5 -1
- package/src/transport.ts +16 -13
- /package/skills/{references → toloka-build/references}/node-semantics.md +0 -0
package/dist/cli/toloka.js.jsc
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2e4e22afc766a0a267262fe07718505b43f1cdf364e402a990279e224ad92923 toloka.js.jsc
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
842c3cdfb47d5a899375c288cefa8ba550c22301dbd47d99d224a8b34acd01a2 toloka.js
|
package/docs/cli-v2.md
CHANGED
|
@@ -80,6 +80,7 @@ toloka project list # remote projects this key can see
|
|
|
80
80
|
toloka project add cat-labeling pp.019f… # register + select
|
|
81
81
|
toloka project switch cat-labeling
|
|
82
82
|
toloka project current # alias of the project line in whoami
|
|
83
|
+
toloka project url # print the selected project's UI URL
|
|
83
84
|
toloka project remove cat-labeling # local unbind only
|
|
84
85
|
```
|
|
85
86
|
|
|
@@ -95,6 +96,8 @@ toloka project create cat-labeling --team-id <teamId>
|
|
|
95
96
|
|
|
96
97
|
`project create` writes the machine alias, sets `current`, and if cwd has no `toloka.json`, writes one.
|
|
97
98
|
|
|
99
|
+
UI links follow the resource-first shape `toloka <resource> url`. `project url` is available now; future pipeline, dataset, and other entity links belong under their existing resource groups. Every `url` command prints exactly one URL with no label to stdout. Opening a browser, if added, must be an explicit `--web` option rather than the default.
|
|
100
|
+
|
|
98
101
|
### init
|
|
99
102
|
|
|
100
103
|
`init` sets up **this directory** for an agent. A selected platform project is optional.
|
|
@@ -118,6 +121,7 @@ Resource commands never search the disk for a pipeline first. They load the proj
|
|
|
118
121
|
|
|
119
122
|
| Command | Scope | Pipeline required? |
|
|
120
123
|
| ----------------------------- | ----------------------------- | ------------------ |
|
|
124
|
+
| `project url` | project UI URL | no |
|
|
121
125
|
| `plan` / `apply` / `validate` | whole project | no |
|
|
122
126
|
| `secret set` | project | no |
|
|
123
127
|
| `dataset list` | project | no |
|
package/docs/cli.md
CHANGED
|
@@ -33,7 +33,7 @@ Credentials and the platform base URL resolve from the same precedence order, hi
|
|
|
33
33
|
|
|
34
34
|
`toloka login` verifies the key against the platform before saving anything. It writes `$XDG_CONFIG_HOME/toloka/credentials.json`, which defaults to `~/.config/toloka/credentials.json`, with file mode `0600` and a parent directory with mode `0700`. The file may also store local project aliases. The legacy `~/.toloka/credentials.json` is still read when the new path has no file. `toloka logout` deletes the stored file but does not revoke the key.
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
Ordinary usage events (`sdk_cli_command_completed` / `sdk_cli_command_failed`) go to Toloka's PostHog project so we can see which commands run and which error classes they hit. Their payloads contain only an allowlisted command classifier, duration, exit code, outcome or error code, SDK and Bun versions, actor, and channel. Raw arguments, flag values, environment variables, API keys, secret names, base URLs and hosts, local paths, project ids, error messages, stack traces, and source context are not sent. GeoIP enrichment is disabled. Distinct id starts as a random UUID stored next to the credentials file. After a successful authenticated command, the CLI calls `GET /me` and aliases that UUID onto the platform user id without setting person properties. Set `TOLOKA_TELEMETRY=0` or `DO_NOT_TRACK=1` to disable capture. CI environments are disabled unless `TOLOKA_TELEMETRY=1`. The explicitly approved full-text `report` event is documented in [report](#report).
|
|
37
37
|
|
|
38
38
|
The root program accepts these flags before any command:
|
|
39
39
|
|
|
@@ -44,7 +44,21 @@ The root program accepts these flags before any command:
|
|
|
44
44
|
| `--base-url <url>` | Platform base URL for this command only |
|
|
45
45
|
| `--project-id <id>` | Target project; overrides env, checkout, and the registry |
|
|
46
46
|
|
|
47
|
-
Commands resolve the project root by walking up from the working directory until they find a `toloka.json` file. The CLI reports that directory on stderr when it differs from the working directory. Passing `--source-root` disables discovery. With no marker found, the working directory is used. `init`
|
|
47
|
+
Commands resolve the project root by walking up from the working directory until they find a `toloka.json` file. The CLI reports that directory on stderr when it differs from the working directory. Passing `--source-root` disables discovery. With no marker found, the working directory is used. `init` and `report` do not walk up: they use the working directory or `--source-root` only. The authentication commands `login`, `logout`, and `auth-status` do not need a project root.
|
|
48
|
+
|
|
49
|
+
## Resources and Base Actions
|
|
50
|
+
|
|
51
|
+
The CLI is resource-first: `toloka <resource> <action>`. A Base Action has one meaning wherever a resource implements it. A resource exposes only the Base Actions that have real behavior; there are no placeholder actions.
|
|
52
|
+
|
|
53
|
+
| Base Action | Meaning |
|
|
54
|
+
| ----------- | ----------------------------------------------------------------------------------------- |
|
|
55
|
+
| `list` | Read a bounded, paginated collection of one Resource type. |
|
|
56
|
+
| `get` | Read exactly one Resource selected by a stable identifier. |
|
|
57
|
+
| `create` | Create exactly one Resource and return its stable identifier and representation. |
|
|
58
|
+
| `delete` | Remove exactly one Resource selected by a stable identifier and return no representation. |
|
|
59
|
+
| `url` | Read exactly one browser-ready URL with no surrounding prose. |
|
|
60
|
+
|
|
61
|
+
Resources may also expose specialized actions beyond the Base Actions, such as `pipeline cost`, `skill search`, and `skill install`.
|
|
48
62
|
|
|
49
63
|
## project
|
|
50
64
|
|
|
@@ -55,12 +69,15 @@ toloka project list
|
|
|
55
69
|
toloka project add [alias] [projectId]
|
|
56
70
|
toloka project switch <alias>
|
|
57
71
|
toloka project current
|
|
72
|
+
toloka project url
|
|
58
73
|
toloka project remove <alias>
|
|
59
74
|
toloka project create [alias] [--name <name>] [--team-id <id>]
|
|
60
75
|
```
|
|
61
76
|
|
|
62
77
|
`add`, `switch`, `remove`, and `create` write the machine registry in the credentials file. They refuse `--api-key` / `--base-url` / `POTATO_*` when those would select a different key or platform than the stored file. `create` reuses the only visible team when every listed project shares one; otherwise pass `--team-id`.
|
|
63
78
|
|
|
79
|
+
`url` fetches the selected project to resolve its team and prints only its platform UI URL to stdout, making the output safe to capture in scripts and agent workflows.
|
|
80
|
+
|
|
64
81
|
## login
|
|
65
82
|
|
|
66
83
|
Stores an API key for this machine after verifying it.
|
|
@@ -93,15 +110,17 @@ On success it prints the platform URL with its source, the API key masked unless
|
|
|
93
110
|
|
|
94
111
|
## init
|
|
95
112
|
|
|
96
|
-
Initializes the current project directory and installs
|
|
113
|
+
Initializes the current project directory and installs the Agent Bootstrap entry points.
|
|
97
114
|
|
|
98
115
|
```sh
|
|
99
116
|
toloka init
|
|
100
117
|
```
|
|
101
118
|
|
|
102
|
-
`init` does not require a selected platform project. It always writes `.claude/skills/toloka-
|
|
119
|
+
`init` does not require a selected platform project. It always maintains one `<toloka>` … `</toloka>` Agent Bootstrap block in `AGENTS.md` and writes minimal pointers to it: `.claude/skills/toloka-bootstrap/SKILL.md` when `.claude/` exists (or when no agent configuration exists at all) and `.cursor/rules/toloka-bootstrap.mdc` with `alwaysApply: true` when `.cursor/rules/` exists. The bootstrap tells an agent to run `toloka --help`, search the bundled Skill Catalog with `toloka skill search`, install a matching skill with `toloka skill install`, and read `.agents/skills/<skill-id>/SKILL.md`; it does not embed the build workflow. Bytes outside the block are preserved, and re-running `init` refreshes the block and both pointers in place without adding duplicates. When a project is already selected through `--project-id`, `TOLOKA_PROJECT_ID` / `POTATO_PROJECT_ID`, `toloka.json`, or the machine registry, it also writes `toloka.json` when missing. It does not walk up to a parent checkout.
|
|
103
120
|
|
|
104
|
-
|
|
121
|
+
`init` removes only Toloka-generated legacy entry points that still carry the `<!-- toloka:sdk-version … -->` marker: the full `toloka-build` and `toloka-pipeline-as-code` Claude skills and Cursor rules, plus the `<!-- toloka:begin -->` … `<!-- toloka:end -->` block in `AGENTS.md`, which is replaced by the `<toloka>` block in place. Files without that marker, other skills and rules, and installed skills under `.agents/skills/` are left untouched. An `AGENTS.md` whose current or legacy block is unterminated, reversed, or duplicated is refused with the file's full path before anything, including `toloka.json`, is written.
|
|
122
|
+
|
|
123
|
+
On success it prints `Initialized agent entry points for @toloka-platform/sdk <version> in <root>:` followed by the file list and one `removed <path>` line per legacy entry point, or `Agent entry points are up to date` when nothing changed. It warns on stderr when the SDK is not listed in the project dependencies. Every other project command warns on stderr when a generated legacy entry point is still present or the recorded bootstrap version differs from the installed SDK; that warning never blocks the command. `support` commands skip the check because they never read the checkout.
|
|
105
124
|
|
|
106
125
|
## import
|
|
107
126
|
|
|
@@ -183,6 +202,31 @@ toloka pipeline results <runId> [--limit <n>] [--failed]
|
|
|
183
202
|
|
|
184
203
|
`pipeline status` reports the latest run of that pipeline. `pipeline runs` lists recent runs (default 10). `pipeline cost` forecasts what a run would bill. `pipeline cancel` and `pipeline results` take a run id.
|
|
185
204
|
|
|
205
|
+
## base-model
|
|
206
|
+
|
|
207
|
+
Inspect the global, read-only Base Model Catalog.
|
|
208
|
+
|
|
209
|
+
```sh
|
|
210
|
+
toloka base-model list [--json]
|
|
211
|
+
toloka base-model get <id> [--json]
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Human-readable output is the default. `base-model list` prints aligned ID, name, provider, and upstream-model columns; `base-model get` prints labeled fields including the pinned revision. Pass `--json` for machine-readable output.
|
|
215
|
+
|
|
216
|
+
## model
|
|
217
|
+
|
|
218
|
+
Manage Model metadata in the selected project.
|
|
219
|
+
|
|
220
|
+
```sh
|
|
221
|
+
toloka model list [--json]
|
|
222
|
+
toloka model get <name-or-id> [--json]
|
|
223
|
+
toloka model versions <name-or-id> [--json]
|
|
224
|
+
toloka model create <name> --base <base-model-id> [--description <text>] [--json]
|
|
225
|
+
toloka model archive <name-or-id> [--json]
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
`model create` creates project-owned Model metadata linked to one catalog Base Model; it does not create a Model Version. Human-readable output is the default for every command in this group. Pass `--json` for machine-readable objects or arrays. Weight upload, validation, download, and Model Version creation are deferred.
|
|
229
|
+
|
|
186
230
|
## dataset
|
|
187
231
|
|
|
188
232
|
Catalog and row commands for datasets in the selected project. Name or id is accepted; duplicate names must be addressed by id.
|
|
@@ -200,7 +244,39 @@ toloka dataset upload <name> <file>
|
|
|
200
244
|
|
|
201
245
|
`dataset load` starts a platform export, waits for it (default 60s; pass `--timeout`), downloads the JSON array, and writes JSONL to `--out`. `--limit` slices after download; it still waits for the full export. On timeout the message names the export id. Failed downloads and invalid payloads leave `--out` untouched.
|
|
202
246
|
|
|
203
|
-
`dataset upload`
|
|
247
|
+
`dataset upload` accepts `.json` arrays, `.jsonl` files with one object per line, and `.csv` files with a header row. The CLI infers the format from the extension and uploads the original bytes without conversion. If the blob transfer or finalization fails, the CLI cancels the started upload before returning the error, so another upload can start immediately and may reuse the same filename. Field schemas are immutable after the first successful upload: you can add columns, never alter or remove one. See [datasets](./datasets.md).
|
|
248
|
+
|
|
249
|
+
## report
|
|
250
|
+
|
|
251
|
+
Preview and submit one Markdown issue report through the CLI's existing PostHog telemetry client. The command is project-independent: it does not read `toloka.json`, walk up to find a project root, require credentials, or call the Toloka API.
|
|
252
|
+
|
|
253
|
+
```sh
|
|
254
|
+
toloka report <markdownPath> [--authored-by human|agent] [--confirm]
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
The report path must name a non-empty regular UTF-8 file no larger than 256 KiB. The CLI refuses symbolic-link files and paths that traverse a symbolic-link directory under the selected source root. It prints the complete report, declared authorship, and platform origin before submission. Control and bidirectional formatting characters are escaped in the preview but preserved in the submitted report text.
|
|
258
|
+
|
|
259
|
+
In a terminal the command asks `Send this report to Toloka? [y/N]`; outside a terminal it refuses unless `--confirm` is passed. `--authored-by` defaults to `human`. Add `--confirm` only after reviewing the exact preview.
|
|
260
|
+
|
|
261
|
+
One `sdk_cli_issue_report_submitted` event carries `report_id`, the complete `report_text`, its UTF-8 `report_length_bytes`, `authored_by`, and `platform`, plus the standard pseudonymous CLI telemetry context. The command never reads or sends an API key. It flushes PostHog before printing `Submitted issue report: <id>`; a delivery failure exits non-zero and prints no success ID. When CLI telemetry is disabled, issue reporting is unavailable rather than bypassing that preference.
|
|
262
|
+
|
|
263
|
+
## skill
|
|
264
|
+
|
|
265
|
+
Discover bundled agent skills and install them into the project. The Skill Catalog ships inside the SDK package, so these actions are local and deterministic: they need no credentials, make no network requests, and change with the package version only.
|
|
266
|
+
|
|
267
|
+
```sh
|
|
268
|
+
toloka skill list [--json]
|
|
269
|
+
toloka skill search <query> [--json]
|
|
270
|
+
toloka skill install <skillId> [--force]
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
`list` prints every skill in the catalog with its installation status: `not-installed` when `.agents/skills/<skillId>` is absent, `current` when the installed files match the catalog digest, and `stale` when they differ. Each skill line (`id`, status, name) is followed by one indented description line. `--json` prints the Skill Descriptors (`id`, `name`, `description`, `tags`, `version`, `digest`, `files`) plus `status` and never includes file contents.
|
|
274
|
+
|
|
275
|
+
`search` matches `<query>` case-insensitively against each skill's id, name, description, and tags and prints the matches in the same format. When nothing matches it says so (or prints `[]` with `--json`), exits 0, and installs nothing.
|
|
276
|
+
|
|
277
|
+
`install` copies the complete skill — its `SKILL.md` entry point and every reference — from the package into `.agents/skills/<skillId>/` under the project root and prints the destination. Every path is confined to that directory and the command refuses to write through symbolic links. An existing `.agents/skills/<skillId>` is refused unless `--force` is passed. With `--force` the new copy is written to a temporary sibling directory and verified against the catalog digest, the existing directory is renamed to a backup, the verified copy is moved into place, and the backup is removed; a failed swap restores the backup, so the directory never holds a mixed version. A malformed catalog, an unsafe path, or a digest mismatch fails before any existing file changes.
|
|
278
|
+
|
|
279
|
+
After an SDK upgrade `list` reports installed skills whose catalog digest changed as `stale` until they are refreshed with `install --force`. Local edits to an installed skill also make it `stale`; `list` and `search` never modify local files.
|
|
204
280
|
|
|
205
281
|
## Exit codes
|
|
206
282
|
|
package/docs/datasets.md
CHANGED
|
@@ -109,17 +109,16 @@ toloka dataset upload face-images data/face_images.jsonl
|
|
|
109
109
|
|
|
110
110
|
The command takes two positional arguments and has no flags:
|
|
111
111
|
|
|
112
|
-
| Argument | Description
|
|
113
|
-
| -------- |
|
|
114
|
-
| `<name>` | Dataset name or id
|
|
115
|
-
| `<file>` |
|
|
112
|
+
| Argument | Description |
|
|
113
|
+
| -------- | ------------------------------------------ |
|
|
114
|
+
| `<name>` | Dataset name or id |
|
|
115
|
+
| `<file>` | `.json`, `.jsonl`, or `.csv` file to append |
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
The CLI infers the format from the filename extension and uploads the original bytes without conversion:
|
|
118
118
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
```
|
|
119
|
+
- `.json` contains an array of row objects.
|
|
120
|
+
- `.jsonl` contains one row object per non-empty line and is validated locally before upload.
|
|
121
|
+
- `.csv` uses its header row for field names; every value is ingested as a string.
|
|
123
122
|
|
|
124
123
|
Upload is additive: it appends items and never rewrites existing ones. If the dataset does not exist yet and a pipeline in source declares it, `dataset upload` creates the dataset with the declared columns automatically. If no pipeline declares the dataset, upload stops and asks you to bind a pipeline to it in source so its columns are known, or to upload to an existing dataset. Duplicate live names must be addressed by id.
|
|
125
124
|
|
package/docs/getting-started.md
CHANGED
|
@@ -44,7 +44,7 @@ CI does not need `login`. Set `POTATO_API_KEY` and the stored file is ignored. S
|
|
|
44
44
|
|
|
45
45
|
## Start with an agent
|
|
46
46
|
|
|
47
|
-
Initialize the current directory and install the
|
|
47
|
+
Initialize the current directory and install the Agent Bootstrap. No platform project needs to be selected yet.
|
|
48
48
|
|
|
49
49
|
```sh
|
|
50
50
|
toloka init
|
|
@@ -54,7 +54,7 @@ Open your coding agent in this directory and describe the project you want, for
|
|
|
54
54
|
|
|
55
55
|
> Create a Toloka project that collects captions for images. Show me the plan before applying it.
|
|
56
56
|
|
|
57
|
-
The skill guides the agent through creating and selecting the platform project, authoring the TypeScript source, validating it, showing the plan, and applying the approved changes. `toloka.json` is created when the project is selected.
|
|
57
|
+
The bootstrap directs the agent to `toloka --help` and to search and install the matching bundled skill; the `toloka-build` skill then guides the agent through creating and selecting the platform project, authoring the TypeScript source, validating it, showing the plan, and applying the approved changes. `toloka.json` is created when the project is selected.
|
|
58
58
|
|
|
59
59
|
## Manual project setup
|
|
60
60
|
|
package/docs/limitations.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
What this Preview SDK does not do yet, stated plainly so you can decide what to depend on.
|
|
4
4
|
|
|
5
|
-
`@toloka-platform/sdk` is `0.1.0-preview.
|
|
5
|
+
`@toloka-platform/sdk` is `0.1.0-preview.6`. This is a Preview: the authoring API, the CLI surface, and the generated source layout can change without a major version bump. Pin an exact version. Do not depend on this in production yet.
|
|
6
6
|
|
|
7
7
|
## The SDK does not certify deployability
|
|
8
8
|
|
|
@@ -39,13 +39,10 @@ A `code` node carries its Python as an inline string in `code.code`. There is no
|
|
|
39
39
|
|
|
40
40
|
These are reproduced platform-side issues that affect the SDK path. They are not SDK bugs and cannot be fixed from this package.
|
|
41
41
|
|
|
42
|
-
| defect
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
| Finalizing a file upload can return a bodyless `500` | `toloka dataset upload` cannot complete on an affected environment | declare columns in source and load rows through a client call |
|
|
47
|
-
| Rows added through the items endpoint skip column inference | `toloka dataset fields` reports no columns for a dataset that holds rows | declare columns in source rather than inferring them |
|
|
48
|
-
| Starting a run intermittently returns a bodyless `500` | `toloka pipeline run` fails with nothing to act on | check `toloka pipeline runs <name>` for a created run, then retry |
|
|
42
|
+
| defect | effect on you | workaround |
|
|
43
|
+
| ----------------------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------- |
|
|
44
|
+
| Rows added through the items endpoint skip column inference | `toloka dataset fields` reports no columns for a dataset that holds rows | declare columns in source rather than inferring them |
|
|
45
|
+
| Starting a run intermittently returns a bodyless `500` | `toloka pipeline run` fails with nothing to act on | check `toloka pipeline runs <name>` for a created run, then retry |
|
|
49
46
|
|
|
50
47
|
## Not attempted yet
|
|
51
48
|
|
package/docs/troubleshooting.md
CHANGED
|
@@ -51,17 +51,6 @@ A resource exists on the platform but not in your source tree. `apply` reports i
|
|
|
51
51
|
|
|
52
52
|
Another writer changed the graph after your source was read. Do not retry blindly: `plan` again to re-read live state, review the new diff, carry any intentional remote change into source, then `apply`.
|
|
53
53
|
|
|
54
|
-
## Second upload of the same filename fails
|
|
55
|
-
|
|
56
|
-
Uploading a file whose basename already exists in that dataset fails with a bodyless `500`. `toloka dataset upload` sends the file's basename, so running the same documented command twice reproduces it:
|
|
57
|
-
|
|
58
|
-
```sh
|
|
59
|
-
toloka dataset upload cat-images ./data/rows.jsonl # first time: fine
|
|
60
|
-
toloka dataset upload cat-images ./data/rows.jsonl # second time: 500
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Until the platform returns a proper conflict, use a distinct filename per upload — for example `rows-2026-08-13.jsonl`. This is a platform defect, tracked; the SDK cannot detect it in advance.
|
|
64
|
-
|
|
65
54
|
## Another upload is already in progress
|
|
66
55
|
|
|
67
56
|
```
|