@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
@@ -0,0 +1,460 @@
1
+ ---
2
+ title: "Checks methods"
3
+ description: "Create task quality checks and read each checker’s result."
4
+ ---
5
+
6
+ Create `client` with `checks()`. A **check id** identifies the group. Each `results[]` entry has a **task check id** identifying one checker run.
7
+
8
+ ```text
9
+ Check: check.id
10
+ └── Task check: check.results[].id
11
+ ├── Result and evidence
12
+ ├── Transcript and logs
13
+ └── Sandbox files
14
+ ```
15
+
16
+ Python returns check and task-check records as dictionaries. Use `check["id"]` and `check["results"]`.
17
+
18
+ | Work | Methods |
19
+ | --- | --- |
20
+ | Create and follow | [create](#create), [get](#get), [list](#list), [defaults](#defaults), [watch](#watch) |
21
+ | Read one checker | [task](#task), [transcript](#transcript), [artifact](#artifact) — TypeScript only |
22
+ | Files and sharing | [download](#download), [taskFilesystem](#taskfilesystem), [share](#share), [unshare](#unshare), [shares](#shares) |
23
+
24
+ ## create
25
+
26
+ Check a local task directory, a directory of tasks, or a published dataset. Returns the accepted `Check` immediately.
27
+
28
+ ### Signature
29
+
30
+ ```ts TypeScript signature
31
+ create(input: CreateCheckInput): Promise<Check>;
32
+ ```
33
+
34
+ ```python Python signature
35
+ async def create(
36
+ directory: Optional[str] = None,
37
+ *,
38
+ dataset: Optional[str] = None,
39
+ name: Optional[str] = None,
40
+ model_name: Optional[str] = None,
41
+ rubric: Optional[Rubric] = None,
42
+ prompt: Optional[str] = None,
43
+ reasoning_effort: Optional[str] = None,
44
+ sandbox_provider: Optional[EvalSandboxProvider] = None,
45
+ n_concurrent: Optional[int] = None,
46
+ include_task_names: Optional[List[str]] = None,
47
+ exclude_task_names: Optional[List[str]] = None,
48
+ n_tasks: Optional[int] = None,
49
+ on_upload_progress: Optional[Callable[[int, int], None]] = None,
50
+ ) -> Check: ...
51
+ ```
52
+
53
+ ```ts TypeScript
54
+ const check = await client.create({
55
+ source: {
56
+ directory: "./tasks"
57
+ },
58
+ n_tasks: 2,
59
+ });
60
+ ```
61
+
62
+ ```python Python
63
+ check = await client.create(
64
+ './tasks',
65
+ n_tasks=2,
66
+ )
67
+ ```
68
+
69
+ | Source | Inputs |
70
+ | --- | --- |
71
+ | Local directory | TypeScript: `source.directory`. Python: `directory` or the first positional argument. |
72
+ | Published version | TypeScript: `source.dataset`. Python: `dataset`. Use `name@version`. |
73
+
74
+ Supply exactly one source. A local source must be a directory, not an archive. `include_task_names` and `exclude_task_names` are glob lists; `n_tasks` caps the selected set after filtering. `n_concurrent` is bounded by organization capacity.
75
+
76
+ Optional `onUploadProgress(sent, total)` / `on_upload_progress(sent, total)` reports local transfer bytes. All omitted policy settings use [defaults](#defaults). The accepted check records the resolved policy. Follow with `watch(check.id)` / `watch(check["id"])`.
77
+
78
+ ### Input fields
79
+
80
+ ```ts
81
+ interface CheckConfigInput {
82
+ name?: string;
83
+ model_name?: string;
84
+ rubric?: Rubric;
85
+ prompt?: string;
86
+ reasoning_effort?: string;
87
+ sandbox_provider?: EvalSandboxProvider;
88
+ n_concurrent?: number;
89
+ include_task_names?: string[];
90
+ exclude_task_names?: string[];
91
+ n_tasks?: number;
92
+ }
93
+
94
+ interface CreateCheckInput extends CheckConfigInput {
95
+ source: { directory: string } | { dataset: string };
96
+ onUploadProgress?: (sentBytes: number, totalBytes: number) => void;
97
+ }
98
+ ```
99
+
100
+ ## get
101
+
102
+ Read a check at any status. Returns `Check`, including one task-check result per selected task.
103
+
104
+ ### Signature
105
+
106
+ ```ts TypeScript signature
107
+ get(checkId: string): Promise<Check>;
108
+ ```
109
+
110
+ ```python Python signature
111
+ async def get(check_id: str) -> Check: ...
112
+ ```
113
+
114
+ ```ts TypeScript
115
+ const check = await client.get(checkId);
116
+ ```
117
+
118
+ ```python Python
119
+ check = await client.get(check_id)
120
+ ```
121
+
122
+ Use the group’s check id. See [all check fields](/sdk-reference/types#analysis-and-check-results).
123
+
124
+ ## list
125
+
126
+ List visible checks, newest first. Returns a page or an iterable of `Check`.
127
+
128
+ ### Signature
129
+
130
+ ```ts TypeScript signature
131
+ list(options?: ListChecksOptions): CheckList;
132
+ ```
133
+
134
+ ```python Python signature
135
+ def list(
136
+ *,
137
+ scope: Optional[JobListScope] = None,
138
+ status: Optional[List[CheckStatus]] = None,
139
+ dataset: Optional[str] = None,
140
+ limit: Optional[int] = None,
141
+ cursor: Optional[str] = None,
142
+ ) -> _PaginatedList: ...
143
+ ```
144
+
145
+ ```ts TypeScript
146
+ const page = await client.list({
147
+ dataset: "my-tasks@1.0",
148
+ status: ["completed"]
149
+ });
150
+ ```
151
+
152
+ ```python Python
153
+ page = await client.list(
154
+ dataset='my-tasks@1.0',
155
+ status=['completed'],
156
+ )
157
+ ```
158
+
159
+ Optional `scope`: `my` (default), `shared`, or `org`; `status`: a list of `queued`, `running`, or `completed`; `dataset`: a bare name or pinned `name@version`. `limit` defaults to 50 (maximum 200); `cursor` continues a page.
160
+
161
+ ## defaults
162
+
163
+ Read `CheckDefaults`: current model, reasoning effort, sandbox provider, rubric, and unrendered prompt template.
164
+
165
+ ### Signature
166
+
167
+ ```ts TypeScript signature
168
+ defaults(): Promise<CheckDefaults>;
169
+ ```
170
+
171
+ ```python Python signature
172
+ async def defaults() -> CheckDefaults: ...
173
+ ```
174
+
175
+ ```ts TypeScript
176
+ const defaults = await client.defaults();
177
+ ```
178
+
179
+ ```python Python
180
+ defaults = await client.defaults()
181
+ ```
182
+
183
+ Python returns a dictionary. The check’s prompt uses `{task_path}`, `{file_tree}`, and `{criteria_guidance}`; the output contract is appended after your template.
184
+
185
+ ## watch
186
+
187
+ Wait until every task check has settled. Returns the final `Check`, which may contain failed task checks.
188
+
189
+ ### Signature
190
+
191
+ ```ts TypeScript signature
192
+ watch(
193
+ checkId: string,
194
+ options?: WatchCheckOptions
195
+ ): Promise<Check>;
196
+ ```
197
+
198
+ ```python Python signature
199
+ async def watch(
200
+ check_id: str,
201
+ *,
202
+ on_progress: Optional[Callable[[Check], None]] = None,
203
+ poll_interval_s: float = 2.0,
204
+ timeout_s: Optional[float] = None,
205
+ ) -> Check: ...
206
+ ```
207
+
208
+ ```ts TypeScript
209
+ const check = await client.watch(checkId, {
210
+ onProgress: c => console.log(c.status)
211
+ });
212
+ ```
213
+
214
+ ```python Python
215
+ check = await client.watch(
216
+ check_id,
217
+ on_progress=lambda c: print(c['status']),
218
+ )
219
+ ```
220
+
221
+ Optional `onProgress(check)` / `on_progress(check)` runs when per-task statuses change. `pollIntervalMs` / `poll_interval_s` defaults to 2 seconds, doubles while unchanged to 30 seconds, and resets on change. TypeScript accepts `signal`; Python accepts `timeout_s`.
222
+
223
+ ## task
224
+
225
+ TypeScript only. Read one checker’s `TaskCheck` result at any status.
226
+
227
+ ### Signature
228
+
229
+ ```ts TypeScript signature
230
+ task(taskCheckId: string): Promise<TaskCheck>;
231
+ ```
232
+
233
+ ```ts TypeScript
234
+ const result = await client.task(taskCheckId);
235
+ ```
236
+
237
+ Use `check.results[].id`, not the group’s id. Python reads the same result within `check["results"]`. The result contains `checks`, attempts, measured cost, and typed failure.
238
+
239
+ ## transcript
240
+
241
+ TypeScript only. Read one checker’s own activity. Returns `TaskCheckTranscript`.
242
+
243
+ ### Signature
244
+
245
+ ```ts TypeScript signature
246
+ transcript(
247
+ taskCheckId: string,
248
+ options?: AnalysisTranscriptOptions,
249
+ ): Promise<TaskCheckTranscript>;
250
+ ```
251
+
252
+ ```ts TypeScript
253
+ const transcript = await client.transcript(taskCheckId, {
254
+ since: 0
255
+ });
256
+ ```
257
+
258
+ Optional `since` skips that many events; default 0. No server pagination. `total` counts all stored events; `gateway_calls` is separate and returned whole. [Transcript fields](/sdk-reference/types#analysis-and-check-results) include the owning `check_id` and dataset.
259
+
260
+ ## artifact
261
+
262
+ TypeScript only. Read one checker’s stored stdout, stderr, or captured home.
263
+
264
+ ### Signature
265
+
266
+ ```ts TypeScript signature
267
+ artifact(
268
+ taskCheckId: string,
269
+ stream: Exclude<AnalysisArtifactStream, "agent-home">,
270
+ ): Promise<string | null>;
271
+ artifact(
272
+ taskCheckId: string,
273
+ stream: "agent-home",
274
+ ): Promise<Record<string, string> | null>;
275
+ ```
276
+
277
+ ```ts TypeScript
278
+ const stderr = await client.artifact(
279
+ taskCheckId,
280
+ "trace-stderr"
281
+ );
282
+ ```
283
+
284
+ Use the task check id. `trace-stdout` and `trace-stderr` return `string | null`; `agent-home` returns a path-to-text map or null. Null means not stored. Python can read stored evidence from `download(task_check_id)`.
285
+
286
+ ## download
287
+
288
+ Download a settled whole check or one task check as a `.tar.gz`. Both id forms use the same method.
289
+
290
+ ### Signature
291
+
292
+ ```ts TypeScript signature
293
+ download(id: string): Promise<Buffer>;
294
+ download(
295
+ id: string,
296
+ options: { to: string }
297
+ ): Promise<string>;
298
+ download(
299
+ id: string,
300
+ options: { stream: true }
301
+ ): Promise<ReadableStream<Uint8Array>>;
302
+ download(
303
+ id: string,
304
+ options?: DownloadJobOptions
305
+ ): Promise<Buffer | string | ReadableStream<Uint8Array>>;
306
+ ```
307
+
308
+ ```python Python signature
309
+ async def download(
310
+ id: str,
311
+ *,
312
+ to: Optional[str] = None,
313
+ ) -> bytes | str: ...
314
+ ```
315
+
316
+ ```ts TypeScript
317
+ const path = await client.download(checkId, {
318
+ to: "./results"
319
+ });
320
+ ```
321
+
322
+ ```python Python
323
+ path = await client.download(
324
+ check_id,
325
+ to='./results',
326
+ )
327
+ ```
328
+
329
+ Omit options for `Buffer` / `bytes`; use `to` for a saved file path. TypeScript also accepts `{ stream: true }`, a raw stream whose integrity the caller verifies. Python has no stream option. A live group or task check returns `check_not_terminal`. The group archive includes `check_report.json` and each checker’s wrapper trial.
330
+
331
+ ## taskFilesystem
332
+
333
+ Python: `task_filesystem`. Get one checker’s `RunFilesystem`. Requires both the group id and task check id.
334
+
335
+ ### Signature
336
+
337
+ ```ts TypeScript signature
338
+ taskFilesystem(
339
+ checkId: string,
340
+ taskCheckId: string
341
+ ): RunFilesystem;
342
+ ```
343
+
344
+ ```python Python signature
345
+ def task_filesystem(
346
+ check_id: str,
347
+ task_check_id: str,
348
+ ) -> 'RunFilesystem': ...
349
+ ```
350
+
351
+ ```ts TypeScript
352
+ const fs = client.taskFilesystem(checkId, taskCheckId);
353
+ ```
354
+
355
+ ```python Python
356
+ fs = client.task_filesystem(
357
+ check_id,
358
+ task_check_id,
359
+ )
360
+ ```
361
+
362
+ See [filesystem methods](/sdk-reference/methods/filesystem) for files, sandbox logs, and processes.
363
+
364
+ ## share
365
+
366
+ Grant read access to a check you created. Returns `JobShares`, the same share-state shape used by jobs.
367
+
368
+ A check can have up to 50 email grants.
369
+
370
+ ### Signature
371
+
372
+ ```ts TypeScript signature
373
+ share(
374
+ id: string,
375
+ request: JobShareRequest
376
+ ): Promise<JobShares>;
377
+ ```
378
+
379
+ ```python Python signature
380
+ async def share(
381
+ id: str,
382
+ *,
383
+ link: bool = False,
384
+ emails: Optional[List[str]] = None,
385
+ ) -> JobShares: ...
386
+ ```
387
+
388
+ ```ts TypeScript
389
+ const shares = await client.share(checkId, {
390
+ link: true
391
+ });
392
+ ```
393
+
394
+ ```python Python
395
+ shares = await client.share(
396
+ check_id,
397
+ link=True,
398
+ )
399
+ ```
400
+
401
+ Supply `link: true` / `link=True`, `emails: string[]` / `emails=[...]`, or both. New email grants send invitations. Recipients can read the check, its task checks, and downloads. They cannot operate it. [Share-state fields](/sdk-reference/types#sharing-and-deletion) describe the result.
402
+
403
+ ## unshare
404
+
405
+ Revoke a check’s link or email grants. Returns `JobShares`. Creator-only and idempotent.
406
+
407
+ ### Signature
408
+
409
+ ```ts TypeScript signature
410
+ unshare(
411
+ id: string,
412
+ request: JobShareRequest
413
+ ): Promise<JobShares>;
414
+ ```
415
+
416
+ ```python Python signature
417
+ async def unshare(
418
+ id: str,
419
+ *,
420
+ link: bool = False,
421
+ emails: Optional[List[str]] = None,
422
+ ) -> JobShares: ...
423
+ ```
424
+
425
+ ```ts TypeScript
426
+ const shares = await client.unshare(checkId, {
427
+ link: true
428
+ });
429
+ ```
430
+
431
+ ```python Python
432
+ shares = await client.unshare(
433
+ check_id,
434
+ link=True,
435
+ )
436
+ ```
437
+
438
+ Takes the same `link` and `emails` fields as `share`.
439
+
440
+ ## shares
441
+
442
+ Read the check’s whole share state: visibility, link, and email grants. Creator-only.
443
+
444
+ ### Signature
445
+
446
+ ```ts TypeScript signature
447
+ shares(id: string): Promise<JobShares>;
448
+ ```
449
+
450
+ ```python Python signature
451
+ async def shares(id: str) -> JobShares: ...
452
+ ```
453
+
454
+ ```ts TypeScript
455
+ const shares = await client.shares(checkId);
456
+ ```
457
+
458
+ ```python Python
459
+ shares = await client.shares(check_id)
460
+ ```