@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.
- package/dist/{chunk-DK2MGUPB.js → chunk-DI6LPW2B.js} +2 -2
- package/dist/cli/index.cjs +29 -29
- package/dist/cli/index.d.cts +3 -3
- package/dist/cli/index.d.ts +3 -3
- package/dist/cli/index.js +18 -18
- package/dist/index.cjs +64 -60
- package/dist/index.d.cts +297 -18
- package/dist/index.d.ts +297 -18
- package/dist/index.js +48 -44
- package/dist/{types-B_qmzlMk.d.cts → types-Dj0iMl5V.d.cts} +70 -90
- package/dist/{types-B_qmzlMk.d.ts → types-Dj0iMl5V.d.ts} +70 -90
- package/harness-capabilities.json +285 -0
- package/package.json +9 -6
- package/skills/create-adapter/SKILL.md +71 -26
- package/skills/create-task/SKILL.md +124 -66
- package/skills/evolve/SKILL.md +37 -20
- package/skills/evolve-evals/SKILL.md +142 -69
- package/skills/evolve-evals/references/cli-reference/agent.md +76 -0
- package/skills/evolve-evals/references/cli-reference/analysis.md +78 -0
- package/skills/evolve-evals/references/cli-reference/analyze.md +97 -0
- package/skills/evolve-evals/references/cli-reference/auth.md +96 -0
- package/skills/evolve-evals/references/cli-reference/check.md +157 -0
- package/skills/evolve-evals/references/cli-reference/dataset.md +154 -0
- package/skills/evolve-evals/references/cli-reference/filesystem.md +168 -0
- package/skills/evolve-evals/references/cli-reference/index.md +149 -0
- package/skills/evolve-evals/references/cli-reference/job.md +198 -0
- package/skills/evolve-evals/references/cli-reference/run.md +188 -0
- package/skills/evolve-evals/references/cli-reference/secrets.md +77 -0
- package/skills/evolve-evals/references/cli-reference/session.md +56 -0
- package/skills/evolve-evals/references/cli-reference/skill.md +52 -0
- package/skills/evolve-evals/references/cli-reference/skills.md +85 -0
- package/skills/evolve-evals/references/cli-reference/trial.md +115 -0
- package/skills/evolve-evals/references/cli-reference/upload.md +72 -0
- package/skills/evolve-evals/references/core-concepts/agents.md +101 -0
- package/skills/evolve-evals/references/core-concepts/analyze.md +143 -0
- package/skills/evolve-evals/references/core-concepts/check.md +116 -0
- package/skills/evolve-evals/references/core-concepts/compatibility.md +39 -0
- package/skills/evolve-evals/references/core-concepts/compose.md +103 -0
- package/skills/evolve-evals/references/core-concepts/datasets.md +234 -0
- package/skills/evolve-evals/references/core-concepts/index.md +52 -0
- package/skills/evolve-evals/references/core-concepts/jobs.md +223 -0
- package/skills/evolve-evals/references/core-concepts/models.md +73 -0
- package/skills/evolve-evals/references/core-concepts/multi-step.md +93 -0
- package/skills/evolve-evals/references/core-concepts/rewardkit.md +341 -0
- package/skills/evolve-evals/references/core-concepts/sandboxes.md +73 -0
- package/skills/evolve-evals/references/core-concepts/secrets.md +86 -0
- package/skills/evolve-evals/references/core-concepts/sharing.md +81 -0
- package/skills/evolve-evals/references/core-concepts/skills.md +100 -0
- package/skills/evolve-evals/references/core-concepts/task-config.md +169 -0
- package/skills/evolve-evals/references/core-concepts/task-environment.md +127 -0
- package/skills/evolve-evals/references/core-concepts/task-reference.md +191 -0
- package/skills/evolve-evals/references/core-concepts/task-verifiers.md +209 -0
- package/skills/evolve-evals/references/core-concepts/tasks.md +90 -0
- package/skills/evolve-evals/references/core-concepts/teams.md +128 -0
- package/skills/evolve-evals/references/core-concepts/trial-outputs.md +225 -0
- package/skills/evolve-evals/references/core-concepts/trials.md +129 -0
- package/skills/evolve-evals/references/core-concepts/upload-sdk-session.md +240 -0
- package/skills/evolve-evals/references/core-concepts/upload.md +166 -0
- package/skills/evolve-evals/references/dashboard/checks.md +54 -0
- package/skills/evolve-evals/references/dashboard/datasets.md +65 -0
- package/skills/evolve-evals/references/dashboard/jobs.md +106 -0
- package/skills/evolve-evals/references/dashboard/traces.md +54 -0
- package/skills/evolve-evals/references/dashboard/trial-viewer.md +77 -0
- package/skills/evolve-evals/references/getting-started/first-task.md +228 -0
- package/skills/evolve-evals/references/getting-started/installation.md +79 -0
- package/skills/evolve-evals/references/getting-started/quick-start.md +100 -0
- package/skills/evolve-evals/references/index.md +58 -0
- package/skills/evolve-evals/references/sdk/http.md +110 -0
- package/skills/evolve-evals/references/sdk/python.md +108 -0
- package/skills/evolve-evals/references/sdk/typescript.md +104 -0
- package/skills/evolve-evals/references/sdk-reference/agents.md +75 -0
- package/skills/evolve-evals/references/sdk-reference/analyses.md +125 -0
- package/skills/evolve-evals/references/sdk-reference/auth.md +171 -0
- package/skills/evolve-evals/references/sdk-reference/checks.md +146 -0
- package/skills/evolve-evals/references/sdk-reference/datasets.md +170 -0
- package/skills/evolve-evals/references/sdk-reference/error-codes.md +231 -0
- package/skills/evolve-evals/references/sdk-reference/errors.md +98 -0
- package/skills/evolve-evals/references/sdk-reference/filesystem.md +166 -0
- package/skills/evolve-evals/references/sdk-reference/index.md +161 -0
- package/skills/evolve-evals/references/sdk-reference/jobs.md +250 -0
- package/skills/evolve-evals/references/sdk-reference/meta.md +54 -0
- package/skills/evolve-evals/references/sdk-reference/methods/agents.md +154 -0
- package/skills/evolve-evals/references/sdk-reference/methods/analyses.md +211 -0
- package/skills/evolve-evals/references/sdk-reference/methods/auth.md +257 -0
- package/skills/evolve-evals/references/sdk-reference/methods/checks.md +462 -0
- package/skills/evolve-evals/references/sdk-reference/methods/datasets.md +687 -0
- package/skills/evolve-evals/references/sdk-reference/methods/filesystem.md +527 -0
- package/skills/evolve-evals/references/sdk-reference/methods/jobs.md +1023 -0
- package/skills/evolve-evals/references/sdk-reference/methods/meta.md +213 -0
- package/skills/evolve-evals/references/sdk-reference/methods/secrets.md +157 -0
- package/skills/evolve-evals/references/sdk-reference/methods/skills.md +125 -0
- package/skills/evolve-evals/references/sdk-reference/methods/trials.md +371 -0
- package/skills/evolve-evals/references/sdk-reference/secrets.md +104 -0
- package/skills/evolve-evals/references/sdk-reference/skills.md +66 -0
- package/skills/evolve-evals/references/sdk-reference/trials.md +164 -0
- package/skills/evolve-evals/references/sdk-reference/types.md +1255 -0
- package/skills/publish/SKILL.md +103 -79
- package/skills/rewardkit/SKILL.md +78 -23
- package/spec/openapi.yaml +164 -160
- package/skills/evolve-evals/references/cli-reference/agent.mdx +0 -79
- package/skills/evolve-evals/references/cli-reference/analysis.mdx +0 -160
- package/skills/evolve-evals/references/cli-reference/analyze.mdx +0 -84
- package/skills/evolve-evals/references/cli-reference/auth.mdx +0 -133
- package/skills/evolve-evals/references/cli-reference/check.mdx +0 -263
- package/skills/evolve-evals/references/cli-reference/dataset.mdx +0 -151
- package/skills/evolve-evals/references/cli-reference/index.mdx +0 -108
- package/skills/evolve-evals/references/cli-reference/job.mdx +0 -278
- package/skills/evolve-evals/references/cli-reference/run.mdx +0 -204
- package/skills/evolve-evals/references/cli-reference/secrets.mdx +0 -95
- package/skills/evolve-evals/references/cli-reference/skill.mdx +0 -61
- package/skills/evolve-evals/references/cli-reference/skills.mdx +0 -81
- package/skills/evolve-evals/references/cli-reference/trial.mdx +0 -181
- package/skills/evolve-evals/references/cli-reference/upload.mdx +0 -36
- package/skills/evolve-evals/references/core-concepts/agents.mdx +0 -106
- package/skills/evolve-evals/references/core-concepts/analyze.mdx +0 -86
- package/skills/evolve-evals/references/core-concepts/check.mdx +0 -64
- package/skills/evolve-evals/references/core-concepts/datasets.mdx +0 -138
- package/skills/evolve-evals/references/core-concepts/index.mdx +0 -42
- package/skills/evolve-evals/references/core-concepts/jobs.mdx +0 -151
- package/skills/evolve-evals/references/core-concepts/models.mdx +0 -68
- package/skills/evolve-evals/references/core-concepts/sandboxes.mdx +0 -52
- package/skills/evolve-evals/references/core-concepts/secrets.mdx +0 -41
- package/skills/evolve-evals/references/core-concepts/sharing.mdx +0 -35
- package/skills/evolve-evals/references/core-concepts/skills.mdx +0 -42
- package/skills/evolve-evals/references/core-concepts/tasks.mdx +0 -216
- package/skills/evolve-evals/references/core-concepts/teams.mdx +0 -36
- package/skills/evolve-evals/references/core-concepts/trial-outputs.mdx +0 -117
- package/skills/evolve-evals/references/core-concepts/trials.mdx +0 -103
- package/skills/evolve-evals/references/core-concepts/upload.mdx +0 -93
- package/skills/evolve-evals/references/dashboard/checks.mdx +0 -21
- package/skills/evolve-evals/references/dashboard/datasets.mdx +0 -24
- package/skills/evolve-evals/references/dashboard/jobs.mdx +0 -65
- package/skills/evolve-evals/references/dashboard/traces.mdx +0 -17
- package/skills/evolve-evals/references/dashboard/trial-viewer.mdx +0 -30
- package/skills/evolve-evals/references/getting-started/installation.mdx +0 -56
- package/skills/evolve-evals/references/getting-started/quick-start.mdx +0 -94
- package/skills/evolve-evals/references/index.mdx +0 -48
- package/skills/evolve-evals/references/sdk/python.mdx +0 -161
- package/skills/evolve-evals/references/sdk/typescript.mdx +0 -163
- package/skills/evolve-evals/references/sdk-reference/agents.mdx +0 -108
- package/skills/evolve-evals/references/sdk-reference/analyses.mdx +0 -222
- package/skills/evolve-evals/references/sdk-reference/auth.mdx +0 -116
- package/skills/evolve-evals/references/sdk-reference/checks.mdx +0 -300
- package/skills/evolve-evals/references/sdk-reference/datasets.mdx +0 -346
- package/skills/evolve-evals/references/sdk-reference/errors.mdx +0 -210
- package/skills/evolve-evals/references/sdk-reference/index.mdx +0 -60
- package/skills/evolve-evals/references/sdk-reference/jobs.mdx +0 -822
- package/skills/evolve-evals/references/sdk-reference/meta.mdx +0 -52
- package/skills/evolve-evals/references/sdk-reference/skills.mdx +0 -69
- package/skills/evolve-evals/references/sdk-reference/trials.mdx +0 -302
- package/skills/evolve-evals/references/sdk-reference/types.mdx +0 -274
- package/skills/evolve-evals/references/snippets/global-options.mdx +0 -13
- 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).
|