@evolvingmachines/evolve 0.0.65 → 0.0.66

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 (152) hide show
  1. package/dist/{chunk-DK2MGUPB.js → chunk-RFLMRPGK.js} +5 -5
  2. package/dist/cli/index.cjs +39 -39
  3. package/dist/cli/index.d.cts +3 -3
  4. package/dist/cli/index.d.ts +3 -3
  5. package/dist/cli/index.js +30 -30
  6. package/dist/index.cjs +1 -1
  7. package/dist/index.d.cts +4 -4
  8. package/dist/index.d.ts +4 -4
  9. package/dist/index.js +1 -1
  10. package/dist/{types-B_qmzlMk.d.cts → types-84M4J_Vm.d.cts} +11 -44
  11. package/dist/{types-B_qmzlMk.d.ts → types-84M4J_Vm.d.ts} +11 -44
  12. package/package.json +4 -4
  13. package/skills/create-adapter/SKILL.md +71 -26
  14. package/skills/create-task/SKILL.md +124 -66
  15. package/skills/evolve/SKILL.md +37 -20
  16. package/skills/evolve-evals/SKILL.md +142 -69
  17. package/skills/evolve-evals/references/cli-reference/agent.md +76 -0
  18. package/skills/evolve-evals/references/cli-reference/analysis.md +78 -0
  19. package/skills/evolve-evals/references/cli-reference/analyze.md +95 -0
  20. package/skills/evolve-evals/references/cli-reference/auth.md +96 -0
  21. package/skills/evolve-evals/references/cli-reference/check.md +156 -0
  22. package/skills/evolve-evals/references/cli-reference/dataset.md +154 -0
  23. package/skills/evolve-evals/references/cli-reference/filesystem.md +168 -0
  24. package/skills/evolve-evals/references/cli-reference/index.md +149 -0
  25. package/skills/evolve-evals/references/cli-reference/job.md +198 -0
  26. package/skills/evolve-evals/references/cli-reference/run.md +187 -0
  27. package/skills/evolve-evals/references/cli-reference/secrets.md +77 -0
  28. package/skills/evolve-evals/references/cli-reference/session.md +56 -0
  29. package/skills/evolve-evals/references/cli-reference/skill.md +52 -0
  30. package/skills/evolve-evals/references/cli-reference/skills.md +85 -0
  31. package/skills/evolve-evals/references/cli-reference/trial.md +115 -0
  32. package/skills/evolve-evals/references/cli-reference/upload.md +72 -0
  33. package/skills/evolve-evals/references/core-concepts/agents.md +96 -0
  34. package/skills/evolve-evals/references/core-concepts/analyze.md +143 -0
  35. package/skills/evolve-evals/references/core-concepts/check.md +116 -0
  36. package/skills/evolve-evals/references/core-concepts/compatibility.md +39 -0
  37. package/skills/evolve-evals/references/core-concepts/compose.md +103 -0
  38. package/skills/evolve-evals/references/core-concepts/datasets.md +234 -0
  39. package/skills/evolve-evals/references/core-concepts/index.md +52 -0
  40. package/skills/evolve-evals/references/core-concepts/jobs.md +223 -0
  41. package/skills/evolve-evals/references/core-concepts/models.md +73 -0
  42. package/skills/evolve-evals/references/core-concepts/multi-step.md +93 -0
  43. package/skills/evolve-evals/references/core-concepts/rewardkit.md +341 -0
  44. package/skills/evolve-evals/references/core-concepts/sandboxes.md +73 -0
  45. package/skills/evolve-evals/references/core-concepts/secrets.md +86 -0
  46. package/skills/evolve-evals/references/core-concepts/sharing.md +81 -0
  47. package/skills/evolve-evals/references/core-concepts/skills.md +100 -0
  48. package/skills/evolve-evals/references/core-concepts/task-config.md +169 -0
  49. package/skills/evolve-evals/references/core-concepts/task-environment.md +127 -0
  50. package/skills/evolve-evals/references/core-concepts/task-reference.md +191 -0
  51. package/skills/evolve-evals/references/core-concepts/task-verifiers.md +209 -0
  52. package/skills/evolve-evals/references/core-concepts/tasks.md +90 -0
  53. package/skills/evolve-evals/references/core-concepts/teams.md +128 -0
  54. package/skills/evolve-evals/references/core-concepts/trial-outputs.md +225 -0
  55. package/skills/evolve-evals/references/core-concepts/trials.md +129 -0
  56. package/skills/evolve-evals/references/core-concepts/upload-sdk-session.md +240 -0
  57. package/skills/evolve-evals/references/core-concepts/upload.md +166 -0
  58. package/skills/evolve-evals/references/dashboard/checks.md +54 -0
  59. package/skills/evolve-evals/references/dashboard/datasets.md +65 -0
  60. package/skills/evolve-evals/references/dashboard/jobs.md +106 -0
  61. package/skills/evolve-evals/references/dashboard/traces.md +54 -0
  62. package/skills/evolve-evals/references/dashboard/trial-viewer.md +77 -0
  63. package/skills/evolve-evals/references/getting-started/first-task.md +228 -0
  64. package/skills/evolve-evals/references/getting-started/installation.md +79 -0
  65. package/skills/evolve-evals/references/getting-started/quick-start.md +100 -0
  66. package/skills/evolve-evals/references/index.md +58 -0
  67. package/skills/evolve-evals/references/sdk/http.md +110 -0
  68. package/skills/evolve-evals/references/sdk/python.md +108 -0
  69. package/skills/evolve-evals/references/sdk/typescript.md +104 -0
  70. package/skills/evolve-evals/references/sdk-reference/agents.md +75 -0
  71. package/skills/evolve-evals/references/sdk-reference/analyses.md +124 -0
  72. package/skills/evolve-evals/references/sdk-reference/auth.md +171 -0
  73. package/skills/evolve-evals/references/sdk-reference/checks.md +145 -0
  74. package/skills/evolve-evals/references/sdk-reference/datasets.md +170 -0
  75. package/skills/evolve-evals/references/sdk-reference/error-codes.md +231 -0
  76. package/skills/evolve-evals/references/sdk-reference/errors.md +98 -0
  77. package/skills/evolve-evals/references/sdk-reference/filesystem.md +166 -0
  78. package/skills/evolve-evals/references/sdk-reference/index.md +161 -0
  79. package/skills/evolve-evals/references/sdk-reference/jobs.md +250 -0
  80. package/skills/evolve-evals/references/sdk-reference/meta.md +54 -0
  81. package/skills/evolve-evals/references/sdk-reference/methods/agents.md +154 -0
  82. package/skills/evolve-evals/references/sdk-reference/methods/analyses.md +211 -0
  83. package/skills/evolve-evals/references/sdk-reference/methods/auth.md +257 -0
  84. package/skills/evolve-evals/references/sdk-reference/methods/checks.md +460 -0
  85. package/skills/evolve-evals/references/sdk-reference/methods/datasets.md +687 -0
  86. package/skills/evolve-evals/references/sdk-reference/methods/filesystem.md +527 -0
  87. package/skills/evolve-evals/references/sdk-reference/methods/jobs.md +1021 -0
  88. package/skills/evolve-evals/references/sdk-reference/methods/meta.md +209 -0
  89. package/skills/evolve-evals/references/sdk-reference/methods/secrets.md +157 -0
  90. package/skills/evolve-evals/references/sdk-reference/methods/skills.md +125 -0
  91. package/skills/evolve-evals/references/sdk-reference/methods/trials.md +371 -0
  92. package/skills/evolve-evals/references/sdk-reference/secrets.md +104 -0
  93. package/skills/evolve-evals/references/sdk-reference/skills.md +66 -0
  94. package/skills/evolve-evals/references/sdk-reference/trials.md +164 -0
  95. package/skills/evolve-evals/references/sdk-reference/types.md +1249 -0
  96. package/skills/publish/SKILL.md +103 -79
  97. package/skills/rewardkit/SKILL.md +78 -23
  98. package/spec/openapi.yaml +19 -74
  99. package/skills/evolve-evals/references/cli-reference/agent.mdx +0 -79
  100. package/skills/evolve-evals/references/cli-reference/analysis.mdx +0 -160
  101. package/skills/evolve-evals/references/cli-reference/analyze.mdx +0 -84
  102. package/skills/evolve-evals/references/cli-reference/auth.mdx +0 -133
  103. package/skills/evolve-evals/references/cli-reference/check.mdx +0 -263
  104. package/skills/evolve-evals/references/cli-reference/dataset.mdx +0 -151
  105. package/skills/evolve-evals/references/cli-reference/index.mdx +0 -108
  106. package/skills/evolve-evals/references/cli-reference/job.mdx +0 -278
  107. package/skills/evolve-evals/references/cli-reference/run.mdx +0 -204
  108. package/skills/evolve-evals/references/cli-reference/secrets.mdx +0 -95
  109. package/skills/evolve-evals/references/cli-reference/skill.mdx +0 -61
  110. package/skills/evolve-evals/references/cli-reference/skills.mdx +0 -81
  111. package/skills/evolve-evals/references/cli-reference/trial.mdx +0 -181
  112. package/skills/evolve-evals/references/cli-reference/upload.mdx +0 -36
  113. package/skills/evolve-evals/references/core-concepts/agents.mdx +0 -106
  114. package/skills/evolve-evals/references/core-concepts/analyze.mdx +0 -86
  115. package/skills/evolve-evals/references/core-concepts/check.mdx +0 -64
  116. package/skills/evolve-evals/references/core-concepts/datasets.mdx +0 -138
  117. package/skills/evolve-evals/references/core-concepts/index.mdx +0 -42
  118. package/skills/evolve-evals/references/core-concepts/jobs.mdx +0 -151
  119. package/skills/evolve-evals/references/core-concepts/models.mdx +0 -68
  120. package/skills/evolve-evals/references/core-concepts/sandboxes.mdx +0 -52
  121. package/skills/evolve-evals/references/core-concepts/secrets.mdx +0 -41
  122. package/skills/evolve-evals/references/core-concepts/sharing.mdx +0 -35
  123. package/skills/evolve-evals/references/core-concepts/skills.mdx +0 -42
  124. package/skills/evolve-evals/references/core-concepts/tasks.mdx +0 -216
  125. package/skills/evolve-evals/references/core-concepts/teams.mdx +0 -36
  126. package/skills/evolve-evals/references/core-concepts/trial-outputs.mdx +0 -117
  127. package/skills/evolve-evals/references/core-concepts/trials.mdx +0 -103
  128. package/skills/evolve-evals/references/core-concepts/upload.mdx +0 -93
  129. package/skills/evolve-evals/references/dashboard/checks.mdx +0 -21
  130. package/skills/evolve-evals/references/dashboard/datasets.mdx +0 -24
  131. package/skills/evolve-evals/references/dashboard/jobs.mdx +0 -65
  132. package/skills/evolve-evals/references/dashboard/traces.mdx +0 -17
  133. package/skills/evolve-evals/references/dashboard/trial-viewer.mdx +0 -30
  134. package/skills/evolve-evals/references/getting-started/installation.mdx +0 -56
  135. package/skills/evolve-evals/references/getting-started/quick-start.mdx +0 -94
  136. package/skills/evolve-evals/references/index.mdx +0 -48
  137. package/skills/evolve-evals/references/sdk/python.mdx +0 -161
  138. package/skills/evolve-evals/references/sdk/typescript.mdx +0 -163
  139. package/skills/evolve-evals/references/sdk-reference/agents.mdx +0 -108
  140. package/skills/evolve-evals/references/sdk-reference/analyses.mdx +0 -222
  141. package/skills/evolve-evals/references/sdk-reference/auth.mdx +0 -116
  142. package/skills/evolve-evals/references/sdk-reference/checks.mdx +0 -300
  143. package/skills/evolve-evals/references/sdk-reference/datasets.mdx +0 -346
  144. package/skills/evolve-evals/references/sdk-reference/errors.mdx +0 -210
  145. package/skills/evolve-evals/references/sdk-reference/index.mdx +0 -60
  146. package/skills/evolve-evals/references/sdk-reference/jobs.mdx +0 -822
  147. package/skills/evolve-evals/references/sdk-reference/meta.mdx +0 -52
  148. package/skills/evolve-evals/references/sdk-reference/skills.mdx +0 -69
  149. package/skills/evolve-evals/references/sdk-reference/trials.mdx +0 -302
  150. package/skills/evolve-evals/references/sdk-reference/types.mdx +0 -274
  151. package/skills/evolve-evals/references/snippets/global-options.mdx +0 -13
  152. package/skills/evolve-evals/references/snippets/list-flags.mdx +0 -23
@@ -1,210 +0,0 @@
1
- ---
2
- title: "Errors"
3
- description: "The error class every refused request raises, and every code it can carry."
4
- ---
5
-
6
- A refused request raises one class. Branch on its `code`, never on the message.
7
-
8
- <Tabs>
9
- <Tab title="TypeScript">
10
- ```ts
11
- import { EvolveApiError, HOSTED_ERROR_CODES, isHostedErrorCode } from "@evolvingmachines/evolve";
12
-
13
- class EvolveApiError extends Error {
14
- status: number; // the HTTP status
15
- code: HostedErrorCode | string; // the stable code below; "unknown_error" when the server sent none, or one a newer server added
16
- message: string; // the server's sentence; may be shortened when a list is long
17
- param?: string; // the input the refusal is about: a body path, a query parameter, or a multipart part
18
- details?: Record<string, unknown>; // the complete machine-readable data; never shortened
19
- retryAfterSec?: number; // on 429 and 503, from the body first, the Retry-After header second
20
- requestId?: string; // the server's id for this failure, from x-request-id; quote it in support
21
- isKnownCode(): boolean;
22
- }
23
- ```
24
-
25
- ```ts
26
- try {
27
- await jobs().start({ datasets: [{ name: "terminal-bench-4" }], agents: [{ name: "codex", model_name: "gpt-6-astra" }], sandbox_provider: "modal" });
28
- } catch (err) {
29
- if (err instanceof EvolveApiError && err.code === "provider_unsupported") {
30
- const { refused_tasks } = err.details as { refused_tasks: { task_name: string; reason: string }[] };
31
- }
32
- }
33
- ```
34
-
35
- `HOSTED_ERROR_CODES` is the closed list as a runtime array and `isHostedErrorCode(value)` narrows a string to it. The same list is published as `error_codes` in the [capability document](/sdk-reference/meta).
36
- </Tab>
37
- <Tab title="Python">
38
- ```python
39
- from evolve import EvolveAPIError, HOSTED_ERROR_CODES, is_hosted_error_code
40
-
41
- class EvolveAPIError(Exception):
42
- status: int # the HTTP status
43
- code: str # the stable code below; "unknown_error" when the server sent none
44
- param: Optional[str] # the input the refusal is about
45
- details: Optional[Dict[str, Any]] # the complete machine-readable data; never shortened
46
- retry_after_sec: Optional[float] # on 429 and 503
47
- request_id: Optional[str] # the server's id for this failure; quote it in support
48
- def is_known_code(self) -> bool: ...
49
- ```
50
-
51
- ```python
52
- try:
53
- await jobs().start(datasets=[{"name": "terminal-bench-4"}], agents=[{"name": "codex", "model_name": "gpt-6-astra"}], sandbox_provider="modal")
54
- except EvolveAPIError as err:
55
- if err.code == "provider_unsupported":
56
- refused = (err.details or {}).get("refused_tasks", [])
57
- ```
58
-
59
- `str(err)` is the server's sentence, which may be shortened when a list is long. `HOSTED_ERROR_CODES` is the closed list and `is_hosted_error_code(value)` tests a string against it.
60
- </Tab>
61
- </Tabs>
62
-
63
- Every response, success or failure, carries the same id in its `x-request-id` header. Of the 429 codes only `rate_limited` carries a retry delay; `quota_exceeded` and every `too_many_concurrent_*` code carry none.
64
-
65
- ## Errors that are not API refusals
66
-
67
- These mean the request succeeded, or never happened, and something else went wrong. They are separate classes, not codes.
68
-
69
- - `NoActiveVersionError`: `datasets().getActive()` (Python `get_active`) on a dataset with no active version. Carries `dataset`.
70
- - `ImportSettleError`: `watchImport()` (Python `watch_import`) reached its settle timeout before the version settled. `code` is `settle_timeout`; carries `importId` (Python `import_id`), `dataset`, `version` and the last observed `state`. When `state` is `FAILED` the version did settle; read the failure with `getImport()` (Python `get_import`).
71
- - `EvolveDigestMismatchError`: a download's bytes do not match the digest the server stated. Carries `expected` and `actual`. Do not trust the stored object.
72
- - `EvolveIncompleteDownloadError`: fewer bytes arrived than `Content-Length` promised. Carries `expectedBytes` and `receivedBytes` (Python `expected_bytes`, `received_bytes`). Retry the download.
73
- - `EvolveUploadTimeoutError`, TypeScript only: an upload saw no socket activity for 600 seconds. Retry the upload.
74
-
75
- ## The codes
76
-
77
- Grouped by the door that returns them. The HTTP status is stated where it is fixed.
78
-
79
- ### Keys and limits
80
-
81
- | Code | When |
82
- | --- | --- |
83
- | `missing_authorization` | No API key on the request. |
84
- | `invalid_api_key` | The key is not valid. |
85
- | `read_only_key` | 403. A read-only key on a mutating route. |
86
- | `credential_service_unavailable` | The key could not be checked; retry. |
87
- | `rate_limited` | 429. Wait `retryAfterSec`; every SDK watch loop does so on its own. |
88
- | `insufficient_credits` | 402. The account's credit balance is zero at job create, resume or retry. |
89
- | `quota_exceeded` | 429, no retry delay. The organization's `max_queued_trials` would be crossed. `details` carry `quota`, `limit`, `used`, `requested` and `org`. The CLI prints `Launch quota exceeded:` and exits 2. |
90
-
91
- ### Files and logs
92
-
93
- | Code | When |
94
- | --- | --- |
95
- | `not_found` | 404. A path the run's file system does not hold. |
96
- | `not_captured` | 404. A read of a file on the kept tree that the run never touched; only the image holds it. |
97
- | `filesystem_state` | 409. `source=live` while the box is gone, or `source=capture` before the kept tree exists; `details.state` says what the run has. |
98
- | `feature_unsupported` | 422. The provider or the run's shape has no live view of what was asked; `details.cause` names it. |
99
- | `provider_unreachable` | 503. The box's provider did not answer; wait `retryAfterSec`. |
100
- | `task_package_not_retained` | 409. The dataset version keeps no task package, so its task files cannot be served. |
101
-
102
- ### Input
103
-
104
- | Code | When |
105
- | --- | --- |
106
- | `invalid_json` | The body is not JSON. |
107
- | `invalid_input` | A field is malformed; the message names it and `param` names it when the server can. Also the 413 for a trial home too large to serve as one text view (`details`: `size_bytes`, `max_unranged_bytes`). |
108
- | `invalid_limit`, `invalid_cursor`, `invalid_after` | A paging parameter is malformed. |
109
- | `invalid_status`, `invalid_visibility`, `invalid_format` | A filter or selector names a value outside its closed set. |
110
- | `invalid_ids` | 400. A stop batch that is empty or over 100 ids. |
111
- | `invalid_multipart` | 400. An upload that is not `multipart/form-data`, or is malformed. |
112
- | `idempotency_key_reused` | 409. The key already stands for a different request. |
113
- | `concurrent_update` | The row changed under the request; read it again. |
114
-
115
- ### Datasets and publishing
116
-
117
- | Code | When |
118
- | --- | --- |
119
- | `dataset_not_found` | The name does not exist, or belongs to someone else; the two are never told apart. |
120
- | `dataset_version_not_found` | The version does not exist. |
121
- | `dataset_name_taken` | 409. The name belongs to another publisher. |
122
- | `dataset_in_use` | 409. Jobs reference the dataset; `details` name them. |
123
- | `dataset_not_owned` | The caller does not own it; a platform dataset has no owner. |
124
- | `dataset_import_in_progress` | 409. A visibility change while a version is importing; `details` name the version. |
125
- | `upstream_not_watchable` | Auto-import on a dataset with no moving git ref. |
126
- | `no_active_version` | A bare name on a dataset with no active version. |
127
- | `version_not_ready` | 409. A job or an activation on a version that is not READY. |
128
- | `version_not_activatable` | A FAILED or ARCHIVED version. |
129
- | `unknown_task_names`, `no_tasks` | A selector names tasks the version lacks, or filters every task away. |
130
- | `task_not_found` | 404. `getTaskBuild()` on a name with no recorded outcome. |
131
- | `task_failed_to_build` | A job create that names a task whose build FAILED; `details.failed_tasks` quote each reason. |
132
- | `unpinned_git_ref` | A git publish on a branch; `details.commit` is the sha to pin. |
133
- | `hub_package_not_found` | 400. The hub package does not exist or is private; `details.hub_package`. |
134
- | `hub_unreachable` | 502. The hub could not be asked; retry the publish. |
135
- | `invalid_archive` | The tarball is unreadable or unsafe. |
136
- | `import_too_large` | 413. A dataset archive over the published ceiling. |
137
- | `import_not_found` | The import id does not exist or is not yours. |
138
- | `too_many_concurrent_imports` | 429, no retry delay. Too many uploads in flight; retry when one finishes. `details.max_concurrent`. |
139
- | `package_not_retained`, `package_corrupt`, `package_missing` | 409. The original package was never retained, is corrupt, or is gone. Re-publish. |
140
- | `too_many_concurrent_package_downloads` | 429, no retry delay. `details.max_concurrent`. |
141
- | `upload_session_not_found`, `upload_offset_mismatch`, `upload_chunk_digest_mismatch`, `upload_incomplete`, `upload_archive_digest_mismatch`, `upload_session_failed`, `too_many_concurrent_upload_chunks` | A large upload's session failed; the SDK surfaces the refusal as is. Retry the publish or upload. |
142
-
143
- ### Jobs, trials, regrades
144
-
145
- | Code | When |
146
- | --- | --- |
147
- | `provider_unsupported` | 422. A selected task is refused on the chosen provider; `details.refused_tasks` carry each reason. A GPU task that moves to `modal` is not refused; the trial records the move as `sandbox_provider_degrade`. |
148
- | `job_not_found` | The job does not exist or is not visible to you. A regrade job id on delete. |
149
- | `job_not_terminal` | 409. Resume, retry, regrade, analyze or delete on a live job; on delete also a live regrade, listed in `details.regrade_job_ids`. |
150
- | `no_failed_trials` | 409. Resume, or retry with `failed_only`, found nothing. |
151
- | `trial_not_found` | 404. A retry names a trial the job does not own; a trace feed id no run owns. |
152
- | `trial_not_settled` | 409. A retry names a trial still running. |
153
- | `regrade_source_ineligible` | 409. The trial recorded no verifier inputs; the message says why. |
154
- | `no_regradable_trials` | 409. A whole-job regrade found nothing eligible. |
155
- | `org_forbidden` | 403. A member who did not create the job tried to delete it. |
156
- | `job_uploaded` | 409. Resume, retry or regrade on an uploaded job. |
157
- | `secret_not_found`, `secret_ambiguous`, `secret_brokered_unsupported`, `secret_exists`, `secret_not_attached` | See [secrets](/core-concepts/secrets). |
158
- | `agent_version_not_found` | A version pin that does not resolve. |
159
- | `agent_version_unresolvable` | 502. The latest version could not be looked up; retry the create. |
160
- | `agent_kwarg_unsupported`, `agent_config_unsupported`, `agent_config_key_refused`, `agent_preset_unsupported` | See [agents](/core-concepts/agents). |
161
-
162
- ### Analyze and check
163
-
164
- | Code | When |
165
- | --- | --- |
166
- | `invalid_rubric` | 400. Unknown keys, empty or duplicate criteria, or a length bound exceeded. |
167
- | `analysis_already_running` | 409. One analysis wave at a time; also blocks delete. |
168
- | `no_analyzable_trials` | 409. Every trial is CANCELLED, or the filter selects nothing. |
169
- | `analysis_not_found` | 404. An analysis you cannot read or that never existed. |
170
- | `analysis_not_terminal` | 409. Download of an analysis still queued or running. |
171
- | `check_not_found` | 404. Neither a check nor a task check you can read. |
172
- | `check_not_terminal` | 409. Download of a check or task check not yet settled. |
173
- | `no_checkable_tasks` | 400. No task directory in the archive, or the globs and the cap left nothing. |
174
- | `too_many_concurrent_check_uploads` | 429, no retry delay. `details.max_concurrent`. |
175
-
176
- ### Job upload
177
-
178
- The upload door itself answers four codes: `invalid_multipart` (400), `invalid_input` (400), `upload_too_large` (413) and `too_many_concurrent_job_uploads` (429). Everything else arrives on the import's `failure`, with no HTTP status.
179
-
180
- | Code | When |
181
- | --- | --- |
182
- | `not_a_job_dir` | No `result.json` and `config.json` at the root, or they do not parse. |
183
- | `invalid_archive` | The tarball is unreadable or unsafe. |
184
- | `invalid_trial` | One trial's `result.json` cannot be ingested; the failure names the trial. |
185
- | `trial_too_large` | Not a failure: the trial is skipped and listed on `skipped_trials`; `details` carry `file`, `bytes`, `max_bytes`. |
186
- | `upload_too_large` | The archive is over the published ceiling, at the door or when extracted. |
187
- | `job_already_uploaded` | You already uploaded this archive's job; `details.existing_job_id`. Delete it to replace it. |
188
- | `too_many_concurrent_job_uploads` | 429, no retry delay. `details.max_concurrent`. |
189
- | `job_import_not_found` | 404. An import that is not yours or does not exist. |
190
-
191
- ### Registered agents and skills
192
-
193
- | Code | When |
194
- | --- | --- |
195
- | `agent_not_found` | A name outside your organizations reads the same as none. |
196
- | `agent_name_taken`, `agent_name_reserved`, `agent_invalid_name` | The name is used, collides with a built-in, or breaks the published pattern. |
197
- | `agent_source_required`, `agent_source_conflict` | Neither an install script nor a directory, or both. |
198
- | `agent_invalid_env` | The declared env overrides a run-contract key, or looks like a credential. |
199
- | `agent_too_large`, `agent_limit_reached` | The tarball or the per-user count is over the published limit. |
200
- | `skill_not_found`, `skill_name_not_found` | An `upload:<id>` or a `name:<skill-name>` that does not resolve. |
201
- | `skill_ref_invalid`, `skill_unresolvable`, `skill_invalid` | A reference that does not parse, cannot be fetched, or holds no valid skill. |
202
- | `skill_in_use` | 409. A running job references the upload. |
203
- | `skill_too_large`, `skill_limit_reached` | The tarball or the per-user count is over the published limit. |
204
- | `too_many_concurrent_skill_uploads` | 429, no retry delay. `details.max_concurrent`. |
205
-
206
- ### Organizations
207
-
208
- `org_not_found`, `org_slug_taken`, `org_forbidden`, `org_personal_immutable`, `org_last_owner`, `org_in_use`, `org_member_not_found`, `invite_not_found` and `invite_invalid` belong to team accounts. The SDK reads organizations only, so only `org_not_found` and `org_forbidden` can reach it today.
209
-
210
- `internal_error` is the server's own failure; quote `requestId`.
@@ -1,60 +0,0 @@
1
- ---
2
- title: "Clients"
3
- description: "How the hosted clients are built and configured."
4
- ---
5
-
6
- One client per noun, each built by a factory. Every factory reads `EVOLVE_API_KEY` from the environment unless a config names the key. Create a key on the dashboard's [API keys page](https://dashboard.evolvingmachines.ai/api-keys).
7
-
8
- <Tabs>
9
- <Tab title="TypeScript">
10
- ```ts
11
- import { jobs, trials, datasets, analyses, checks, skills, agents, auth, orgs, hosted, meta } from "@evolvingmachines/evolve";
12
-
13
- interface HostedClientConfig {
14
- apiKey?: string; // default: process.env.EVOLVE_API_KEY
15
- baseUrl?: string; // default: the Evolve dashboard API
16
- org?: string; // default organization for jobs().start() and datasets().publish(); omitted: your personal one
17
- }
18
-
19
- function jobs(config?: HostedClientConfig): JobsClient
20
- function hosted(config?: HostedClientConfig): HostedEvolve
21
- ```
22
-
23
- `datasets()`, `trials()`, `analyses()`, `checks()`, `skills()`, `agents()`, `auth()` and `orgs()` take the same config. `hosted()` builds every client from one config and exposes them as properties: `datasets`, `agents`, `jobs`, `skills`, `trials`, `analyses`, `checks`, `orgs`, plus `meta()`.
24
-
25
- ```ts
26
- const evolve = hosted({ apiKey: process.env.EVOLVE_API_KEY });
27
- const job = await evolve.jobs.get("3e1f9a2c-…");
28
- ```
29
-
30
- Every list method returns a handle you either await for one page (`{ items, nextCursor, hasMore }`) or iterate with `for await` to walk every page.
31
- </Tab>
32
- <Tab title="Python">
33
- ```python
34
- from evolve import jobs, trials, datasets, analyses, checks, skills, agents, auth, orgs, hosted, meta
35
- from evolve import HostedClientConfig
36
-
37
- @dataclass
38
- class HostedClientConfig:
39
- api_key: Optional[str] = None # default: EVOLVE_API_KEY
40
- base_url: Optional[str] = None # default: the Evolve dashboard API
41
- org: Optional[str] = None # default organization for jobs().start() and datasets().publish(); None: your personal one
42
-
43
- def jobs(config: Optional[HostedClientConfig] = None) -> JobsClient
44
- def hosted(config: Optional[HostedClientConfig] = None) -> HostedEvolve
45
- ```
46
-
47
- `datasets()`, `trials()`, `analyses()`, `checks()`, `skills()`, `agents()`, `auth()` and `orgs()` take the same config. `hosted()` builds every client from one config and exposes them as properties: `datasets`, `agents`, `jobs`, `skills`, `trials`, `analyses`, `checks`, `orgs`, plus `await meta()`.
48
-
49
- ```python
50
- evolve = hosted(HostedClientConfig(api_key=os.environ["EVOLVE_API_KEY"]))
51
- job = await evolve.jobs.get("3e1f9a2c-…")
52
- ```
53
-
54
- Every method is a coroutine. Each client is an async context manager and has `close()`. Every list method returns a handle you either await for one page (`items`, `next_cursor`, `has_more`) or iterate with `async for` to walk every page.
55
- </Tab>
56
- </Tabs>
57
-
58
- The config has no timeout setting. The clients behind `hosted()` are built on first access, so `meta()` works before a key is set. Neither client follows a redirect with your key: Python raises the 3xx, TypeScript drops the `Authorization` header on a cross-origin redirect.
59
-
60
- Every object the clients return is catalogued on [types](/sdk-reference/types), and every refusal on [errors](/sdk-reference/errors).