@evolvingmachines/evolve 0.0.65 → 0.0.67-train-harness-wave-2026-09-25.20260926.e00a8a6d

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 (153) hide show
  1. package/dist/{chunk-DK2MGUPB.js → chunk-DI6LPW2B.js} +2 -2
  2. package/dist/cli/index.cjs +29 -29
  3. package/dist/cli/index.d.cts +3 -3
  4. package/dist/cli/index.d.ts +3 -3
  5. package/dist/cli/index.js +18 -18
  6. package/dist/index.cjs +64 -60
  7. package/dist/index.d.cts +297 -18
  8. package/dist/index.d.ts +297 -18
  9. package/dist/index.js +48 -44
  10. package/dist/{types-B_qmzlMk.d.cts → types-Dj0iMl5V.d.cts} +70 -90
  11. package/dist/{types-B_qmzlMk.d.ts → types-Dj0iMl5V.d.ts} +70 -90
  12. package/harness-capabilities.json +285 -0
  13. package/package.json +9 -6
  14. package/skills/create-adapter/SKILL.md +71 -26
  15. package/skills/create-task/SKILL.md +124 -66
  16. package/skills/evolve/SKILL.md +37 -20
  17. package/skills/evolve-evals/SKILL.md +142 -69
  18. package/skills/evolve-evals/references/cli-reference/agent.md +76 -0
  19. package/skills/evolve-evals/references/cli-reference/analysis.md +78 -0
  20. package/skills/evolve-evals/references/cli-reference/analyze.md +97 -0
  21. package/skills/evolve-evals/references/cli-reference/auth.md +96 -0
  22. package/skills/evolve-evals/references/cli-reference/check.md +157 -0
  23. package/skills/evolve-evals/references/cli-reference/dataset.md +154 -0
  24. package/skills/evolve-evals/references/cli-reference/filesystem.md +168 -0
  25. package/skills/evolve-evals/references/cli-reference/index.md +149 -0
  26. package/skills/evolve-evals/references/cli-reference/job.md +198 -0
  27. package/skills/evolve-evals/references/cli-reference/run.md +188 -0
  28. package/skills/evolve-evals/references/cli-reference/secrets.md +77 -0
  29. package/skills/evolve-evals/references/cli-reference/session.md +56 -0
  30. package/skills/evolve-evals/references/cli-reference/skill.md +52 -0
  31. package/skills/evolve-evals/references/cli-reference/skills.md +85 -0
  32. package/skills/evolve-evals/references/cli-reference/trial.md +115 -0
  33. package/skills/evolve-evals/references/cli-reference/upload.md +72 -0
  34. package/skills/evolve-evals/references/core-concepts/agents.md +101 -0
  35. package/skills/evolve-evals/references/core-concepts/analyze.md +143 -0
  36. package/skills/evolve-evals/references/core-concepts/check.md +116 -0
  37. package/skills/evolve-evals/references/core-concepts/compatibility.md +39 -0
  38. package/skills/evolve-evals/references/core-concepts/compose.md +103 -0
  39. package/skills/evolve-evals/references/core-concepts/datasets.md +234 -0
  40. package/skills/evolve-evals/references/core-concepts/index.md +52 -0
  41. package/skills/evolve-evals/references/core-concepts/jobs.md +223 -0
  42. package/skills/evolve-evals/references/core-concepts/models.md +73 -0
  43. package/skills/evolve-evals/references/core-concepts/multi-step.md +93 -0
  44. package/skills/evolve-evals/references/core-concepts/rewardkit.md +341 -0
  45. package/skills/evolve-evals/references/core-concepts/sandboxes.md +73 -0
  46. package/skills/evolve-evals/references/core-concepts/secrets.md +86 -0
  47. package/skills/evolve-evals/references/core-concepts/sharing.md +81 -0
  48. package/skills/evolve-evals/references/core-concepts/skills.md +100 -0
  49. package/skills/evolve-evals/references/core-concepts/task-config.md +169 -0
  50. package/skills/evolve-evals/references/core-concepts/task-environment.md +127 -0
  51. package/skills/evolve-evals/references/core-concepts/task-reference.md +191 -0
  52. package/skills/evolve-evals/references/core-concepts/task-verifiers.md +209 -0
  53. package/skills/evolve-evals/references/core-concepts/tasks.md +90 -0
  54. package/skills/evolve-evals/references/core-concepts/teams.md +128 -0
  55. package/skills/evolve-evals/references/core-concepts/trial-outputs.md +225 -0
  56. package/skills/evolve-evals/references/core-concepts/trials.md +129 -0
  57. package/skills/evolve-evals/references/core-concepts/upload-sdk-session.md +240 -0
  58. package/skills/evolve-evals/references/core-concepts/upload.md +166 -0
  59. package/skills/evolve-evals/references/dashboard/checks.md +54 -0
  60. package/skills/evolve-evals/references/dashboard/datasets.md +65 -0
  61. package/skills/evolve-evals/references/dashboard/jobs.md +106 -0
  62. package/skills/evolve-evals/references/dashboard/traces.md +54 -0
  63. package/skills/evolve-evals/references/dashboard/trial-viewer.md +77 -0
  64. package/skills/evolve-evals/references/getting-started/first-task.md +228 -0
  65. package/skills/evolve-evals/references/getting-started/installation.md +79 -0
  66. package/skills/evolve-evals/references/getting-started/quick-start.md +100 -0
  67. package/skills/evolve-evals/references/index.md +58 -0
  68. package/skills/evolve-evals/references/sdk/http.md +110 -0
  69. package/skills/evolve-evals/references/sdk/python.md +108 -0
  70. package/skills/evolve-evals/references/sdk/typescript.md +104 -0
  71. package/skills/evolve-evals/references/sdk-reference/agents.md +75 -0
  72. package/skills/evolve-evals/references/sdk-reference/analyses.md +125 -0
  73. package/skills/evolve-evals/references/sdk-reference/auth.md +171 -0
  74. package/skills/evolve-evals/references/sdk-reference/checks.md +146 -0
  75. package/skills/evolve-evals/references/sdk-reference/datasets.md +170 -0
  76. package/skills/evolve-evals/references/sdk-reference/error-codes.md +231 -0
  77. package/skills/evolve-evals/references/sdk-reference/errors.md +98 -0
  78. package/skills/evolve-evals/references/sdk-reference/filesystem.md +166 -0
  79. package/skills/evolve-evals/references/sdk-reference/index.md +161 -0
  80. package/skills/evolve-evals/references/sdk-reference/jobs.md +250 -0
  81. package/skills/evolve-evals/references/sdk-reference/meta.md +54 -0
  82. package/skills/evolve-evals/references/sdk-reference/methods/agents.md +154 -0
  83. package/skills/evolve-evals/references/sdk-reference/methods/analyses.md +211 -0
  84. package/skills/evolve-evals/references/sdk-reference/methods/auth.md +257 -0
  85. package/skills/evolve-evals/references/sdk-reference/methods/checks.md +462 -0
  86. package/skills/evolve-evals/references/sdk-reference/methods/datasets.md +687 -0
  87. package/skills/evolve-evals/references/sdk-reference/methods/filesystem.md +527 -0
  88. package/skills/evolve-evals/references/sdk-reference/methods/jobs.md +1023 -0
  89. package/skills/evolve-evals/references/sdk-reference/methods/meta.md +213 -0
  90. package/skills/evolve-evals/references/sdk-reference/methods/secrets.md +157 -0
  91. package/skills/evolve-evals/references/sdk-reference/methods/skills.md +125 -0
  92. package/skills/evolve-evals/references/sdk-reference/methods/trials.md +371 -0
  93. package/skills/evolve-evals/references/sdk-reference/secrets.md +104 -0
  94. package/skills/evolve-evals/references/sdk-reference/skills.md +66 -0
  95. package/skills/evolve-evals/references/sdk-reference/trials.md +164 -0
  96. package/skills/evolve-evals/references/sdk-reference/types.md +1255 -0
  97. package/skills/publish/SKILL.md +103 -79
  98. package/skills/rewardkit/SKILL.md +78 -23
  99. package/spec/openapi.yaml +164 -160
  100. package/skills/evolve-evals/references/cli-reference/agent.mdx +0 -79
  101. package/skills/evolve-evals/references/cli-reference/analysis.mdx +0 -160
  102. package/skills/evolve-evals/references/cli-reference/analyze.mdx +0 -84
  103. package/skills/evolve-evals/references/cli-reference/auth.mdx +0 -133
  104. package/skills/evolve-evals/references/cli-reference/check.mdx +0 -263
  105. package/skills/evolve-evals/references/cli-reference/dataset.mdx +0 -151
  106. package/skills/evolve-evals/references/cli-reference/index.mdx +0 -108
  107. package/skills/evolve-evals/references/cli-reference/job.mdx +0 -278
  108. package/skills/evolve-evals/references/cli-reference/run.mdx +0 -204
  109. package/skills/evolve-evals/references/cli-reference/secrets.mdx +0 -95
  110. package/skills/evolve-evals/references/cli-reference/skill.mdx +0 -61
  111. package/skills/evolve-evals/references/cli-reference/skills.mdx +0 -81
  112. package/skills/evolve-evals/references/cli-reference/trial.mdx +0 -181
  113. package/skills/evolve-evals/references/cli-reference/upload.mdx +0 -36
  114. package/skills/evolve-evals/references/core-concepts/agents.mdx +0 -106
  115. package/skills/evolve-evals/references/core-concepts/analyze.mdx +0 -86
  116. package/skills/evolve-evals/references/core-concepts/check.mdx +0 -64
  117. package/skills/evolve-evals/references/core-concepts/datasets.mdx +0 -138
  118. package/skills/evolve-evals/references/core-concepts/index.mdx +0 -42
  119. package/skills/evolve-evals/references/core-concepts/jobs.mdx +0 -151
  120. package/skills/evolve-evals/references/core-concepts/models.mdx +0 -68
  121. package/skills/evolve-evals/references/core-concepts/sandboxes.mdx +0 -52
  122. package/skills/evolve-evals/references/core-concepts/secrets.mdx +0 -41
  123. package/skills/evolve-evals/references/core-concepts/sharing.mdx +0 -35
  124. package/skills/evolve-evals/references/core-concepts/skills.mdx +0 -42
  125. package/skills/evolve-evals/references/core-concepts/tasks.mdx +0 -216
  126. package/skills/evolve-evals/references/core-concepts/teams.mdx +0 -36
  127. package/skills/evolve-evals/references/core-concepts/trial-outputs.mdx +0 -117
  128. package/skills/evolve-evals/references/core-concepts/trials.mdx +0 -103
  129. package/skills/evolve-evals/references/core-concepts/upload.mdx +0 -93
  130. package/skills/evolve-evals/references/dashboard/checks.mdx +0 -21
  131. package/skills/evolve-evals/references/dashboard/datasets.mdx +0 -24
  132. package/skills/evolve-evals/references/dashboard/jobs.mdx +0 -65
  133. package/skills/evolve-evals/references/dashboard/traces.mdx +0 -17
  134. package/skills/evolve-evals/references/dashboard/trial-viewer.mdx +0 -30
  135. package/skills/evolve-evals/references/getting-started/installation.mdx +0 -56
  136. package/skills/evolve-evals/references/getting-started/quick-start.mdx +0 -94
  137. package/skills/evolve-evals/references/index.mdx +0 -48
  138. package/skills/evolve-evals/references/sdk/python.mdx +0 -161
  139. package/skills/evolve-evals/references/sdk/typescript.mdx +0 -163
  140. package/skills/evolve-evals/references/sdk-reference/agents.mdx +0 -108
  141. package/skills/evolve-evals/references/sdk-reference/analyses.mdx +0 -222
  142. package/skills/evolve-evals/references/sdk-reference/auth.mdx +0 -116
  143. package/skills/evolve-evals/references/sdk-reference/checks.mdx +0 -300
  144. package/skills/evolve-evals/references/sdk-reference/datasets.mdx +0 -346
  145. package/skills/evolve-evals/references/sdk-reference/errors.mdx +0 -210
  146. package/skills/evolve-evals/references/sdk-reference/index.mdx +0 -60
  147. package/skills/evolve-evals/references/sdk-reference/jobs.mdx +0 -822
  148. package/skills/evolve-evals/references/sdk-reference/meta.mdx +0 -52
  149. package/skills/evolve-evals/references/sdk-reference/skills.mdx +0 -69
  150. package/skills/evolve-evals/references/sdk-reference/trials.mdx +0 -302
  151. package/skills/evolve-evals/references/sdk-reference/types.mdx +0 -274
  152. package/skills/evolve-evals/references/snippets/global-options.mdx +0 -13
  153. package/skills/evolve-evals/references/snippets/list-flags.mdx +0 -23
@@ -0,0 +1,154 @@
1
+ ---
2
+ title: "Agents: methods"
3
+ description: "Register, read, replace, and delete custom agents."
4
+ ---
5
+
6
+ Use `agents()` or `hosted().agents` for registered custom agents. Built-in harness capabilities come from [`meta()`](/sdk-reference/methods/meta). Examples use a configured `client`. Python examples run inside an async function.
7
+
8
+ ## create
9
+
10
+ Register a custom agent from an install script or local directory.
11
+
12
+ ```ts TypeScript
13
+ const agent = await client.create({
14
+ name: "my-agent",
15
+ directory: "./agent-source",
16
+ run_command: "my-agent --headless",
17
+ });
18
+ ```
19
+
20
+ ```python Python
21
+ agent = await client.create(
22
+ name="my-agent",
23
+ directory="./agent-source",
24
+ run_command="my-agent --headless",
25
+ )
26
+ ```
27
+
28
+ **Returns:** `Agent`. See [agent fields](#agent-fields).
29
+
30
+ ### Parameters and behavior
31
+
32
+ | Parameter | Type and meaning |
33
+ | --- | --- |
34
+ | `name` | Required string. Read naming rules and reserved names from `meta().agent_registration`. |
35
+ | `install_script` or `directory` | Exactly one. Script is its text, not a path. Directory is packed and uploaded. |
36
+ | `run_command` | Required command string, run headlessly with `sh -c` in the task working directory. |
37
+ | `env?` | String-to-string map. Injected at run time; platform-owned environment keys are refused. |
38
+ | `org?` | Organization slug or id. Overrides client default, then falls back to your personal organization. |
39
+
40
+ The build has internet access but no secrets. Its dependencies must be publicly fetchable, and installation must leave executables under `$PREFIX/bin`. Read [custom agents](/core-concepts/agents) for the run contract.
41
+
42
+ ## list
43
+
44
+ Browse registered agents visible in the chosen scope.
45
+
46
+ ```ts TypeScript
47
+ const page = await client.list({
48
+ scope: "org",
49
+ limit: 20,
50
+ });
51
+ ```
52
+
53
+ ```python Python
54
+ page = await client.list(
55
+ scope="org",
56
+ limit=20,
57
+ )
58
+ ```
59
+
60
+ **Returns:** `AgentPage` when awaited; an `Agent` per iteration.
61
+
62
+ ### Parameters and behavior
63
+
64
+ | Parameter | Type and meaning |
65
+ | --- | --- |
66
+ | `scope?` | `my` (default): yours. `shared`: other members’ registrations in your organizations. `org`: all registrations in your organizations, including yours. |
67
+ | `limit?`, `cursor?` | Collection pagination; default 50, maximum 200. Await one page or use `for await` / `async for`. |
68
+
69
+ Page fields are `items`, `nextCursor`, `hasMore` in TypeScript; `items`, `next_cursor`, `has_more` in Python.
70
+
71
+ ## get
72
+
73
+ Read a registered agent by name.
74
+
75
+ ```ts TypeScript
76
+ const agent = await client.get("my-agent");
77
+ ```
78
+
79
+ ```python Python
80
+ agent = await client.get("my-agent")
81
+ ```
82
+
83
+ **Returns:** `Agent`.
84
+
85
+ ### Parameters and behavior
86
+
87
+ `name` is a required string. This reads registered agents; use `meta()` to discover built-in harnesses.
88
+
89
+ ## upsert
90
+
91
+ Create or fully replace the registration under a name.
92
+
93
+ ```ts TypeScript
94
+ const agent = await client.upsert("my-agent", {
95
+ directory: "./agent-source",
96
+ run_command: "my-agent --headless",
97
+ env: { AGENT_MODE: "eval" },
98
+ });
99
+ ```
100
+
101
+ ```python Python
102
+ agent = await client.upsert(
103
+ "my-agent",
104
+ directory="./agent-source",
105
+ run_command="my-agent --headless",
106
+ env={"AGENT_MODE": "eval"},
107
+ )
108
+ ```
109
+
110
+ **Returns:** `Agent` after replacement.
111
+
112
+ ### Parameters and behavior
113
+
114
+ The first argument is the required name. Remaining fields match [`create`](#create), except `name` is not repeated in the TypeScript input.
115
+
116
+ This replaces the entire registration: omitting `env` clears it. The owning organization cannot change. Existing registrations can be updated without a delete-and-create gap.
117
+
118
+ ## delete
119
+
120
+ Remove a registered agent.
121
+
122
+ ```ts TypeScript
123
+ await client.delete("my-agent");
124
+ ```
125
+
126
+ ```python Python
127
+ await client.delete("my-agent")
128
+ ```
129
+
130
+ **Returns:** No value (`void` / `None`).
131
+
132
+ ### Parameters and behavior
133
+
134
+ `name` is required. Past jobs retain their recorded agent identity.
135
+
136
+ ## Agent fields
137
+
138
+ ### Agent response
139
+
140
+ Both SDKs use the same fields; Python returns an `Agent` dataclass. `source` identifies how it was registered. The response does not contain the install script or source archive.
141
+
142
+ ```ts Fields
143
+ interface Agent {
144
+ name: string;
145
+ org: string | null;
146
+ source: AgentSource;
147
+ run_command: string;
148
+ env: Record<string, string>;
149
+ created_at: string;
150
+ updated_at: string;
151
+ }
152
+
153
+ type AgentSource = "install_script" | "tarball";
154
+ ```
@@ -0,0 +1,211 @@
1
+ ---
2
+ title: "Analyses methods"
3
+ description: "Read the analyzer’s result, transcript, files, and current defaults."
4
+ ---
5
+
6
+ Create `client` with `analyses()`. Start a wave with [jobs.analyze](/sdk-reference/methods/jobs#analyze), then read its results here.
7
+
8
+ **Note:**
9
+
10
+ Python exposes `list`, `defaults`, `download`, and `filesystem`. Direct `get`, `transcript`, and `artifact` reads are TypeScript-only. In Python, `list(job=...)` or `Trial.analysis` gives the result; an analysis download gives its stored evidence.
11
+
12
+ | Both SDKs | TypeScript only |
13
+ | --- | --- |
14
+ | [list](#list), [defaults](#defaults), [download](#download), [filesystem](#filesystem) | [get](#get), [transcript](#transcript), [artifact](#artifact) |
15
+
16
+ ## list
17
+
18
+ List visible analyses, newest first. Returns one page or an iterable of `TrialAnalysis`.
19
+
20
+ ### Signature
21
+
22
+ ```ts TypeScript signature
23
+ list(options?: ListAnalysesOptions): AnalysisList;
24
+ ```
25
+
26
+ ```python Python signature
27
+ def list(
28
+ *,
29
+ scope: Optional[JobListScope] = None,
30
+ job: Optional[str] = None,
31
+ status: Optional[List[AnalysisStatus]] = None,
32
+ limit: Optional[int] = None,
33
+ cursor: Optional[str] = None,
34
+ ) -> _PaginatedList: ...
35
+ ```
36
+
37
+ ```ts TypeScript
38
+ const page = await client.list({
39
+ job: jobId,
40
+ status: ["completed"]
41
+ });
42
+ ```
43
+
44
+ ```python Python
45
+ page = await client.list(
46
+ job=job_id,
47
+ status=['completed'],
48
+ )
49
+ ```
50
+
51
+ Optional `scope`: `my` (default), `shared`, or `org`; `job`: source job id; `status`: list of `queued`, `running`, `completed`, or `failed`. `limit` defaults to 50 (maximum 200); `cursor` continues a page.
52
+
53
+ Python analysis rows are dictionaries: `row["id"]`, `row["checks"]`. [Analysis result fields](/sdk-reference/types#analysis-and-check-results) include failures and cost as well as the per-criterion checks.
54
+
55
+ ## defaults
56
+
57
+ Read the current analysis defaults. Returns `AnalyzeDefaults`: model, effort, sandbox provider, rubric, and unrendered prompt template.
58
+
59
+ ### Signature
60
+
61
+ ```ts TypeScript signature
62
+ defaults(): Promise<AnalyzeDefaults>;
63
+ ```
64
+
65
+ ```python Python signature
66
+ async def defaults() -> AnalyzeDefaults: ...
67
+ ```
68
+
69
+ ```ts TypeScript
70
+ const defaults = await client.defaults();
71
+ ```
72
+
73
+ ```python Python
74
+ defaults = await client.defaults()
75
+ ```
76
+
77
+ Python returns a dictionary. These are current defaults; an existing analysis records the policy it actually ran under.
78
+
79
+ ## get
80
+
81
+ TypeScript only. Read one `TrialAnalysis` at any status, including an earlier analysis no longer attached to `Trial.analysis`.
82
+
83
+ ### Signature
84
+
85
+ ```ts TypeScript signature
86
+ get(analysisId: string): Promise<TrialAnalysis>;
87
+ ```
88
+
89
+ ```ts TypeScript
90
+ const analysis = await client.get(analysisId);
91
+ ```
92
+
93
+ Takes one analysis id. Missing or inaccessible records return `analysis_not_found`.
94
+
95
+ ## transcript
96
+
97
+ TypeScript only. Read the analyzer’s own activity, not the evaluated agent’s trace. Returns `AnalysisTranscript`.
98
+
99
+ ### Signature
100
+
101
+ ```ts TypeScript signature
102
+ transcript(
103
+ analysisId: string,
104
+ options?: AnalysisTranscriptOptions,
105
+ ): Promise<AnalysisTranscript>;
106
+ ```
107
+
108
+ ```ts TypeScript
109
+ const transcript = await client.transcript(analysisId, {
110
+ since: 0
111
+ });
112
+ ```
113
+
114
+ Optional `since` is the number of events already read (nonnegative integer, default 0). There is no server-side pagination. `total` counts all stored events; `events` starts at `since`. `gateway_calls` is returned separately in full on each read. See [transcript fields](/sdk-reference/types#analysis-and-check-results).
115
+
116
+ ## artifact
117
+
118
+ TypeScript only. Read the analyzer’s stored stdout, stderr, or captured home.
119
+
120
+ ### Signature
121
+
122
+ ```ts TypeScript signature
123
+ artifact(
124
+ analysisId: string,
125
+ stream: Exclude<AnalysisArtifactStream, "agent-home">
126
+ ): Promise<string | null>;
127
+ artifact(
128
+ analysisId: string,
129
+ stream: "agent-home"
130
+ ): Promise<Record<string, string> | null>;
131
+ ```
132
+
133
+ ```ts TypeScript
134
+ const stderr = await client.artifact(
135
+ analysisId,
136
+ "trace-stderr"
137
+ );
138
+ ```
139
+
140
+ `trace-stdout` and `trace-stderr` return `string | null`; `agent-home` returns `Record<string, string> | null`. Null means not stored. Analyses do not expose trial `verifier` or `trace-atif` artifact selectors.
141
+
142
+ ## download
143
+
144
+ Download a settled analysis as a `.tar.gz` containing its wrapper trial, transcript, logs, and available result artifacts.
145
+
146
+ ### Signature
147
+
148
+ ```ts TypeScript signature
149
+ download(analysisId: string): Promise<Buffer>;
150
+ download(
151
+ analysisId: string,
152
+ options: { to: string }
153
+ ): Promise<string>;
154
+ download(
155
+ analysisId: string,
156
+ options: { stream: true },
157
+ ): Promise<ReadableStream<Uint8Array>>;
158
+ download(
159
+ analysisId: string,
160
+ options?: DownloadJobOptions
161
+ ): Promise<Buffer | string | ReadableStream<Uint8Array>>;
162
+ ```
163
+
164
+ ```python Python signature
165
+ async def download(
166
+ analysis_id: str,
167
+ *,
168
+ to: Optional[str] = None,
169
+ ) -> bytes | str: ...
170
+ ```
171
+
172
+ ```ts TypeScript
173
+ const path = await client.download(analysisId, {
174
+ to: "./results"
175
+ });
176
+ ```
177
+
178
+ ```python Python
179
+ path = await client.download(
180
+ analysis_id,
181
+ to='./results',
182
+ )
183
+ ```
184
+
185
+ Omit delivery options to return `Buffer` / `bytes`; `to` saves to a directory and returns a path. TypeScript also accepts `{ stream: true }`, returning a raw `ReadableStream<Uint8Array>` that the caller must verify. Python has no stream option. Queued or running analyses return `analysis_not_terminal`.
186
+
187
+ ## filesystem
188
+
189
+ Get the analyzer’s `RunFilesystem`, including its live or captured files, sandbox logs, and process list.
190
+
191
+ ### Signature
192
+
193
+ ```ts TypeScript signature
194
+ filesystem(analysisId: string): RunFilesystem;
195
+ ```
196
+
197
+ ```python Python signature
198
+ def filesystem(analysis_id: str) -> 'RunFilesystem': ...
199
+ ```
200
+
201
+ ```ts TypeScript
202
+ const fs = client.filesystem(analysisId);
203
+ const status = await fs.status();
204
+ ```
205
+
206
+ ```python Python
207
+ fs = client.filesystem(analysis_id)
208
+ status = await fs.status()
209
+ ```
210
+
211
+ This is the analyzer’s sandbox, separate from the trial it analyzed. See [filesystem methods](/sdk-reference/methods/filesystem).
@@ -0,0 +1,257 @@
1
+ ---
2
+ title: "Identity and teams: methods"
3
+ description: "Read identity and manage organization membership."
4
+ ---
5
+
6
+ Create `identity = auth()` and `teams = orgs()` for these examples. `hosted().orgs` is available; there is no `hosted().auth` property.
7
+
8
+ Python examples run inside an async function.
9
+
10
+ ## status
11
+
12
+ Identify the account and API key making the request.
13
+
14
+ ```ts TypeScript
15
+ const user = await identity.status();
16
+ console.log(user.user_id, user.email);
17
+ ```
18
+
19
+ ```python Python
20
+ user = await identity.status()
21
+ print(user.user_id, user.email)
22
+ ```
23
+
24
+ **Returns:** `AuthStatus`. No arguments.
25
+
26
+ ### Parameters and behavior
27
+
28
+ Returns key metadata only, never its secret value. `auth()` has no key-creation, listing, or revocation methods; see the [identity guide](/sdk-reference/auth).
29
+
30
+ ## list
31
+
32
+ List organizations you belong to, with your personal organization first.
33
+
34
+ ```ts TypeScript
35
+ const organizations = await teams.list();
36
+ ```
37
+
38
+ ```python Python
39
+ organizations = await teams.list()
40
+ ```
41
+
42
+ **Returns:** `Organization[]` / `List[Organization]`. No arguments; this is not a paginated result.
43
+
44
+ ## get
45
+
46
+ Read an organization’s membership, limits, and current usage.
47
+
48
+ ```ts TypeScript
49
+ const team = await teams.get("my-team");
50
+ console.log(team.quota, team.usage);
51
+ ```
52
+
53
+ ```python Python
54
+ team = await teams.get("my-team")
55
+ print(team.quota, team.usage)
56
+ ```
57
+
58
+ **Returns:** `OrganizationDetail`.
59
+
60
+ ### Parameters and behavior
61
+
62
+ `org` is a required organization slug or id. Quotas are read-only through the SDK. A limit of zero pauses the corresponding enforced workload; see the quota notes below.
63
+
64
+ ## create
65
+
66
+ Create a shared organization and become its owner.
67
+
68
+ ```ts TypeScript
69
+ const team = await teams.create("my-team", {
70
+ displayName: "My team",
71
+ });
72
+ ```
73
+
74
+ ```python Python
75
+ team = await teams.create(
76
+ "my-team",
77
+ display_name="My team",
78
+ )
79
+ ```
80
+
81
+ **Returns:** `Organization`.
82
+
83
+ ### Parameters and behavior
84
+
85
+ | Parameter | Type and meaning |
86
+ | --- | --- |
87
+ | `name` | Required slug: 1–48 lowercase letters, digits, or hyphens. No leading or trailing hyphen. |
88
+ | `displayName?` / `display_name?` | Non-empty string, at most 120 characters after trimming. Defaults to the slug. TypeScript passes an options object; Python uses a keyword. |
89
+
90
+ A taken slug returns `org_slug_taken`.
91
+
92
+ ## invite
93
+
94
+ Create an invitation for an organization you own.
95
+
96
+ ```ts TypeScript
97
+ const invite = await teams.invite("my-team");
98
+ // Save invite.token securely; it is returned only here.
99
+ ```
100
+
101
+ ```python Python
102
+ invite = await teams.invite("my-team")
103
+ # Save invite.token securely; it is returned only here.
104
+ ```
105
+
106
+ **Returns:** `OrgInviteCreated`: invitation metadata plus its one-time `token`.
107
+
108
+ ### Parameters and behavior
109
+
110
+ `org` is a required slug or id. SDK calls use the server defaults: a 7-day expiry and unlimited uses. Neither SDK exposes invitation limits in this method. Personal organizations cannot issue invitations.
111
+
112
+ ## join
113
+
114
+ Redeem an invitation token to join as a member.
115
+
116
+ ```ts TypeScript
117
+ const result = await teams.join(inviteToken);
118
+ console.log(result.org.slug, result.already_member);
119
+ ```
120
+
121
+ ```python Python
122
+ result = await teams.join(invite_token)
123
+ print(result.org.slug, result.already_member)
124
+ ```
125
+
126
+ **Returns:** `OrgJoined`: `org: Organization` and `already_member: boolean`.
127
+
128
+ ### Parameters and behavior
129
+
130
+ `token` is required. If you already belong to the organization, `already_member` is true and no invitation use is consumed.
131
+
132
+ ## members
133
+
134
+ List an organization’s members, owners first.
135
+
136
+ ```ts TypeScript
137
+ const members = await teams.members("my-team");
138
+ ```
139
+
140
+ ```python Python
141
+ members = await teams.members("my-team")
142
+ ```
143
+
144
+ **Returns:** `OrgMember[]` / `List[OrgMember]`.
145
+
146
+ ### Parameters and behavior
147
+
148
+ `org` is a required slug or id. Any organization member can read the list; this method is not paginated.
149
+
150
+ ## Response fields
151
+
152
+ Both languages use the field names below. Python returns dataclasses, with `None` for null. Optional TypeScript `role` is an optional Python value.
153
+
154
+ ### Identity and key metadata
155
+
156
+ ```ts Fields
157
+ interface AuthStatus {
158
+ user_id: string;
159
+ email: string | null;
160
+ key: ApiKey;
161
+ }
162
+
163
+ interface ApiKey {
164
+ id: string;
165
+ label: string | null;
166
+ created_at: string;
167
+ last_used_at: string | null;
168
+ }
169
+ ```
170
+
171
+ `key.created_at` can be `null` / `None` when the credential service has no creation timestamp, despite the current SDK's string annotation. `last_used_at` is currently always null; the credential service does not record it.
172
+
173
+ ### Organization and members
174
+
175
+ ```ts Fields
176
+ type OrgRole = "owner" | "member";
177
+
178
+ interface Organization {
179
+ org_id: string;
180
+ slug: string;
181
+ display_name: string;
182
+ personal: boolean;
183
+ role?: OrgRole;
184
+ created_at: string;
185
+ }
186
+
187
+ interface OrganizationDetail extends Organization {
188
+ member_count: number;
189
+ quota: OrgQuota;
190
+ usage: OrgUsage;
191
+ }
192
+
193
+ interface OrgMember {
194
+ user_id: string;
195
+ email: string;
196
+ role: OrgRole;
197
+ joined_at: string;
198
+ }
199
+ ```
200
+
201
+ ### Quotas and usage
202
+
203
+ All quota values are effective limits after applying platform defaults. `monthly_budget_usd: null` means no monthly budget. `month_spend_usd: null` means no current meter copy is available; `month_spend_as_of` records when the copied meter was read.
204
+
205
+ `max_concurrent_analyses` covers both trace analyses and task checks. Provider sandbox limits cover work sharing that provider. `max_concurrent_sessions` is reported but not yet enforced when creating managed sessions. `active_sessions` is zero for shared organizations because sessions carry no organization.
206
+
207
+ ```ts Fields
208
+ interface OrgQuota {
209
+ max_concurrent_trials: number;
210
+ max_queued_trials: number;
211
+ max_concurrent_imports: number;
212
+ max_concurrent_analyses: number;
213
+ max_concurrent_sessions: number;
214
+ monthly_budget_usd: number | null;
215
+ max_concurrent_sandboxes_e2b: number;
216
+ max_concurrent_sandboxes_daytona: number;
217
+ max_concurrent_sandboxes_modal: number;
218
+ }
219
+
220
+ interface OrgUsage {
221
+ in_flight_trials: number;
222
+ queued_trials: number;
223
+ in_flight_imports: number;
224
+ in_flight_analyses: number;
225
+ active_sessions: number;
226
+ month_spend_usd: number | null;
227
+ month_spend_as_of: string | null;
228
+ }
229
+ ```
230
+
231
+ ### Invitation and join result
232
+
233
+ `expires_at: null` means no expiry; `max_uses: null` means unlimited uses. Tokens appear only when an invitation is created.
234
+
235
+ ```ts Fields
236
+ interface OrgInvite {
237
+ invite_id: string;
238
+ expires_at: string | null;
239
+ max_uses: number | null;
240
+ uses: number;
241
+ revoked_at: string | null;
242
+ created_at: string;
243
+ }
244
+
245
+ interface OrgInviteCreated extends OrgInvite {
246
+ token: string;
247
+ }
248
+
249
+ interface OrgJoined {
250
+ org: Organization;
251
+ already_member: boolean;
252
+ }
253
+ ```
254
+
255
+ ## Related operations
256
+
257
+ SDK sharing methods belong to [jobs](/sdk-reference/methods/jobs) and [checks](/sdk-reference/methods/checks). Team rename/delete, role changes, and invitation revocation have no SDK methods; see [team HTTP operations](/sdk-reference/auth#manage-teams-over-http).