@simular-ai/sai-sdk 0.1.0-alpha.1 → 0.1.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -221,7 +221,7 @@ const turn = await session.send('Open {{site}} and read the title of the top sto
221
221
  })
222
222
  await sai.turns.wait(turn)
223
223
 
224
- const learned = await sai.learn.create([turn]) // about two minutes
224
+ const learned = await sai.learn.create([turn]) // waits for the code; longer for a longer task
225
225
  console.log(
226
226
  learned.template,
227
227
  learned.parameters.map((p) => p.name),
@@ -232,7 +232,7 @@ await using lease = await sai.control.open({ machine: pc })
232
232
  const r = await lease.run(learned, { site: 'https://lobste.rs' }) // inputs over the defaults
233
233
  console.log(r.result) // what main returned
234
234
 
235
- // It broke on a new site: repair it from the run (or from feedback, or a new turn that solved it)
235
+ // It broke on a new site: repair it from the run (or from guidance, or a new turn that solved it)
236
236
  const fixed = await sai.learn.create([], {
237
237
  initialCode: learned.code,
238
238
  evaluations: [{ inputs: { site: 'https://lobste.rs' }, result: r, passed: false }],
@@ -249,6 +249,44 @@ console.log(judgement.verdict, judgement.criteria[0]?.score)
249
249
  `learned.status` is `failed` when the code still has `learned.validation.errors` after one retry.
250
250
  Pass a judgement as `{ ..., judgement }` in an evaluation to repair code from its evidence.
251
251
 
252
+ ### Run, judge and repair on a machine (policy iteration)
253
+
254
+ With `maxIterations`, `learn` also runs the code on a machine, judges each run, and repairs the code
255
+ after a failed run, for up to that many versions. It starts from your `turns`, or, without them, the
256
+ agent does `taskTemplate` first. The call answers at once with a job; `wait` reads it until it ends.
257
+
258
+ ```ts
259
+ const job = await sai.learn.create([], {
260
+ taskTemplate: 'Open {{site}} and read the title of the top story',
261
+ inputs: { site: 'https://news.ycombinator.com' },
262
+ machine: pc,
263
+ criteria: 'The answer is the title of the top story on the page',
264
+ maxIterations: 3, // up to 3 code versions; 0 (the default) only writes the code
265
+ rollouts: 3, // each version must pass 3 runs in a row
266
+ reset: { code: 'await machine.browser.newtab("https://news.ycombinator.com")' }, // or { task: '...' }
267
+ continueWithAgent: true, // after a failed run, the agent finishes the task and the repair learns from it
268
+ })
269
+ const done = await sai.learn.wait(job) // can take an hour; `timeoutMs` to stop waiting
270
+ console.log(done.status, done.stopReason) // did the call do its work
271
+ console.log(done.testResult) // { status: 'passed', passedRuns: 3, requiredRuns: 3, inputs }
272
+ console.log(done.code) // the latest version
273
+ for (const it of done.iterations)
274
+ console.log(
275
+ it.index,
276
+ it.changes,
277
+ it.rollouts.map((r) => r.verdict),
278
+ )
279
+
280
+ const run = await sai.learn.rollout(job, 1, 1) // what run 1 of version 1 returned, and its judgement
281
+ await sai.learn.cancel(job) // stops at once and keeps the last complete results
282
+ ```
283
+
284
+ `status` says whether the call did its work (`succeeded`, `failed` when no code was written, or
285
+ `stopped` with a `stopReason` such as `cancelled`, `time_limit` or `agent_failed`); `testResult` says
286
+ how the returned code did on `inputs`. With `judgeInitialAgentRun: true`, a job whose agent run fails
287
+ the judge stops before writing code; pass its `agentTurnId` as `turns` to start again from that run.
288
+ The runs do the task for real, so use test inputs or a test account.
289
+
252
290
  ## Run Sai for your customers
253
291
 
254
292
  With an [Organisation](https://platform.simular.ai/documentation/organisations), each customer is a
@@ -268,11 +306,40 @@ await session.run("Open the calendar and read today's appointments")
268
306
 
269
307
  - `tenants.list({ status, externalId, limit, cursor })` resolves with one page: `page.tenants`,
270
308
  `page.nextCursor`. `externalId` finds your customer's Tenant without storing `tenant.id`.
271
- - `tenants.update(tenant, { name, metadata, status: 'disabled' | 'active' })`; `tenants.delete(tenant)`
272
- disables it and revokes every machine.
309
+ - `tenants.update(tenant, { name, metadata, status: 'disabled' | 'active', cloudMachineLimit, residentialProxy })`.
310
+ `cloudMachineLimit` is 0 to 1000, and `null` removes the cap. `tenants.get` also returns
311
+ `cloudMachineCount` and `residentialProxy`.
312
+ - `tenants.delete(tenant)` disables it and revokes every enrolled machine. Its cloud machines stay
313
+ until you delete them.
273
314
  - `tenants.token(tenant)` is the raw exchange: a one-hour `TenantToken` to pass as
274
315
  `new Sai({ apiKey: token.token })`.
275
- - `tenantMachines.get(tenant, machineId)`, `tenantMachines.revoke(tenant, machine)`.
316
+ - `tenantMachines.list(tenant)` and `tenantMachines.get(tenant, machineId)` return both kinds:
317
+ `machine.kind` is `enrolled` or `cloud`, and `machine.state` is `online` / `offline` for an
318
+ enrolled machine, or `provisioning`, `ready`, `starting`, `hibernated`, `deleting` or `failed` for a
319
+ cloud one.
320
+ - `tenantMachines.delete(tenant, machine)` resolves with `'revoked'` for an enrolled machine and
321
+ `'deleting'` for a cloud machine, whose disk goes with it.
322
+
323
+ ### Cloud machines
324
+
325
+ Sai can host a computer for a Tenant instead of the Tenant enrolling its own:
326
+
327
+ ```ts
328
+ const machine = await org.tenantMachines.create(tenant, {
329
+ os: 'windows', // or 'linux'
330
+ name: 'intake-desk-3',
331
+ requestId: crypto.randomUUID(), // keep it, and send it again if you retry this create
332
+ wait: true, // read the machine until it is ready (timeoutMs: 10 minutes)
333
+ })
334
+ const onCloud = await clinic.sessions.create({ machine: machine.id })
335
+ await onCloud.run("Open the calendar and read today's appointments")
336
+ ```
337
+
338
+ Without `wait: true`, `create` resolves at once with `state: 'provisioning'`. A create can throw
339
+ `SaiError` (402 `insufficient_credits`), `SpendCapReachedError` (the Tenant's budget, `err.body.scope`),
340
+ `ConflictError` (`machine_limit_reached` with `err.body.limit` and `err.body.used`, or
341
+ `request_id_reused`), `PermissionDeniedError` (`tenant_disabled`) or `ServiceUnavailableError`
342
+ (`capacity_unavailable`: retry later). A 500 carries `err.body.errorId` to quote to support.
276
343
 
277
344
  ## Errors
278
345
 
package/dist/client.d.ts CHANGED
@@ -45,7 +45,7 @@ export declare class Sai {
45
45
  readonly account: AccountResource;
46
46
  /** Your customers under an Organisation. Takes an Organisation Key. */
47
47
  readonly tenants: Tenants;
48
- /** A Tenant's enrolled computers. Takes an Organisation Key. */
48
+ /** A Tenant's computers: enrolled, and cloud machines Sai hosts. Takes an Organisation Key. */
49
49
  readonly tenantMachines: TenantMachines;
50
50
  /** @param credential internal: `tenants.client()` passes a token source instead of `apiKey`. */
51
51
  constructor(opts?: SaiOptions, credential?: Credential);
package/dist/client.js CHANGED
@@ -29,7 +29,7 @@ export class Sai {
29
29
  account;
30
30
  /** Your customers under an Organisation. Takes an Organisation Key. */
31
31
  tenants;
32
- /** A Tenant's enrolled computers. Takes an Organisation Key. */
32
+ /** A Tenant's computers: enrolled, and cloud machines Sai hosts. Takes an Organisation Key. */
33
33
  tenantMachines;
34
34
  /** @param credential internal: `tenants.client()` passes a token source instead of `apiKey`. */
35
35
  constructor(opts = {}, credential) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -60,7 +60,8 @@ export declare class LinkOnlyApprovalError extends ConflictError {
60
60
  get approvalUrl(): string | undefined;
61
61
  }
62
62
  /**
63
- * 403 `spend_cap_reached`: the key reached its monthly spend limit. Not
63
+ * 403 `spend_cap_reached`: the key reached its monthly spend limit, or (on a
64
+ * cloud machine create, `body.scope === 'tenant'`) the Tenant reached its budget. Not
64
65
  * retryable: the limit resets at `resetsAt` (ISO 8601, 00:00 UTC on the 1st),
65
66
  * or raise it for the key in the portal.
66
67
  */
package/dist/errors.js CHANGED
@@ -67,7 +67,8 @@ export class LinkOnlyApprovalError extends ConflictError {
67
67
  }
68
68
  }
69
69
  /**
70
- * 403 `spend_cap_reached`: the key reached its monthly spend limit. Not
70
+ * 403 `spend_cap_reached`: the key reached its monthly spend limit, or (on a
71
+ * cloud machine create, `body.scope === 'tenant'`) the Tenant reached its budget. Not
71
72
  * retryable: the limit resets at `resetsAt` (ISO 8601, 00:00 UTC on the 1st),
72
73
  * or raise it for the key in the portal.
73
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  * TypeScript SDK for the Sai API.
3
3
  *
4
4
  * - `sai.sessions`: give Sai a task on a computer and get the answer back.
5
- * - `sai.learn`, `sai.judge`: turn recorded turns into Simulang code, repair it, judge turns.
5
+ * - `sai.learn`, `sai.judge`: turn recorded turns or a task into Simulang code, repair it, run
6
+ * judge and repair it on a machine (policy iteration), judge turns.
6
7
  * - `sai.control`: drive a cloud computer yourself with Simulang.
7
8
  * - `sai.machines`, `sai.models`, `sai.files`, `sai.account`.
8
9
  * - `sai.tenants`, `sai.tenantMachines`: your customers under an Organisation (an Organisation Key).
@@ -15,5 +16,5 @@ export type { TenantMachineRef, TenantRef } from './tenants.js';
15
16
  export type { TurnRef } from './turns.js';
16
17
  export type { JudgeOptions, LearnOptions } from './learn.js';
17
18
  export { Session, Turn, type ApprovalAnswer, type ApprovalHandler, type SendOptions, type WaitOptions, } from './sessions.js';
18
- export { EVENT_KINDS, TURN_RECORD_STATUSES, TURN_STATUSES, type Account, type Approval, type Attachment, type Check, type CriterionResult, type Enrollment, type Evaluation, type Event, type Evidence, type EventKind, type ExecError, type ExecResult, type Judgement, type LearnParameter, type LearnResult, type LiveView, type Machine, type Model, type Tenant, type TenantMachine, type TenantPage, type TenantToken, type TrajectoryStep, type TurnRecord, type TurnRecordStatus, type TurnResult, type TurnStatus, type Usage, } from './types.js';
19
+ export { EVENT_KINDS, TURN_RECORD_STATUSES, TURN_STATUSES, type Account, type Approval, type Attachment, type Check, type CriterionResult, type Enrollment, type Evaluation, type Event, type Evidence, type EventKind, type ExecError, type ExecResult, type Judgement, type LearnIteration, type LearnParameter, type LearnReset, type LearnResult, type LearnRollout, type LearnRun, type LearnTestResult, type LiveView, type Machine, type Model, type Tenant, type TenantMachine, type TenantPage, type TenantToken, type TrajectoryStep, type TurnRecord, type TurnRecordStatus, type TurnResult, type TurnStatus, type Usage, } from './types.js';
19
20
  export { VERSION } from './version.js';
package/dist/index.js CHANGED
@@ -2,7 +2,8 @@
2
2
  * TypeScript SDK for the Sai API.
3
3
  *
4
4
  * - `sai.sessions`: give Sai a task on a computer and get the answer back.
5
- * - `sai.learn`, `sai.judge`: turn recorded turns into Simulang code, repair it, judge turns.
5
+ * - `sai.learn`, `sai.judge`: turn recorded turns or a task into Simulang code, repair it, run
6
+ * judge and repair it on a machine (policy iteration), judge turns.
6
7
  * - `sai.control`: drive a cloud computer yourself with Simulang.
7
8
  * - `sai.machines`, `sai.models`, `sai.files`, `sai.account`.
8
9
  * - `sai.tenants`, `sai.tenantMachines`: your customers under an Organisation (an Organisation Key).
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,GAAG,EAAmB,MAAM,aAAa,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,QAAQ,EACR,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,OAAO,EACL,OAAO,EACP,IAAI,GAKL,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,aAAa,GA6Bd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,GAAG,EAAmB,MAAM,aAAa,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,QAAQ,EACR,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,OAAO,EACL,OAAO,EACP,IAAI,GAKL,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,aAAa,GAkCd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
package/dist/learn.d.ts CHANGED
@@ -1,22 +1,69 @@
1
1
  /**
2
- * Learn and judge (research preview): turn recorded turns into Simulang code you own, repair that
3
- * code, and judge turns against criteria you choose now.
2
+ * Learn and judge (research preview): turn recorded turns, or a task the agent does first, into
3
+ * Simulang code you own; repair that code; run, judge and repair it on a machine until it passes
4
+ * (policy iteration); and judge turns against criteria you choose now.
4
5
  *
5
6
  * Maps to `/v1/agents/learn` and `/v1/agents/judge`.
6
7
  */
7
8
  import type { Http } from './http.js';
9
+ import { type MachineRef } from './machines.js';
8
10
  import type { TurnRef } from './turns.js';
9
- import { type Check, type Evaluation, type Judgement, type LearnResult } from './types.js';
11
+ import { type LearnRun, type Check, type Evaluation, type Judgement, type LearnResult } from './types.js';
10
12
  export interface LearnOptions {
11
- /** `'Submit claim for {{patient}} to {{payer}}'`; default: the first turn's template, else inferred. */
13
+ /**
14
+ * The task, with `{{name}}` placeholders: `'Submit claim for {{patient}} to {{payer}}'`. Without
15
+ * `turns`, the agent does this task first. With `turns`, it defaults to the first turn's.
16
+ */
17
+ taskTemplate?: string;
18
+ /** @deprecated Use `taskTemplate`. */
12
19
  template?: string;
13
- /** Code to repair (heal). Without it, the turns are converted. */
20
+ /** A value for every placeholder; with `turns`, defaults to the first turn's. */
21
+ inputs?: Record<string, string | number | boolean>;
22
+ /** Code to repair (with `maxIterations` 0), or to start the run-judge-repair loop from. */
14
23
  initialCode?: string;
15
- /** How `initialCode` did on runs. */
24
+ /** How `initialCode` did on runs (a repair only). */
16
25
  evaluations?: Evaluation[];
17
- /** Your note for the repair, e.g. "the Save dialog changed". */
26
+ /** What you know about the task, for writing and repairing the code, e.g. "the Save button is under the ⋯ menu". */
27
+ guidance?: string;
28
+ /** @deprecated Use `guidance`. */
18
29
  feedback?: string;
19
- /** A model id from `sai.models.list()`; default `anthropic/claude-opus-5-5`. */
30
+ /** For a repair: what earlier versions of the code changed and how they failed, so the repair does not repeat them. */
31
+ history?: string;
32
+ /**
33
+ * For a conversion: the code will be run again and again with no reset in between, so it opens
34
+ * the app or URL itself instead of assuming the screen it starts on.
35
+ */
36
+ runsWithoutReset?: boolean;
37
+ /**
38
+ * Code versions to run, judge and repair: 0 (the default) only writes the code; 3 allows up to
39
+ * two repairs. At most 5.
40
+ */
41
+ maxIterations?: number;
42
+ /** Runs per code version; a version passes when all of them pass. Default 3, at most 5. */
43
+ rollouts?: number;
44
+ /** The machine to run on; optional with one machine. */
45
+ machine?: MachineRef;
46
+ /** What "done" means for the judge; default: the task as written, with its inputs. */
47
+ criteria?: string | Check[];
48
+ /** Run before the agent run and before every run of the code: Simulang `code`, or a `task` for the agent. */
49
+ reset?: {
50
+ code: string;
51
+ } | {
52
+ task: string;
53
+ };
54
+ /** Judge the agent run first; if it fails, the job stops with the judgement and writes no code. */
55
+ judgeInitialAgentRun?: boolean;
56
+ /** After a failed run, let the agent finish the task; its turn feeds the repair. */
57
+ continueWithAgent?: boolean;
58
+ /** Limit of each run of the code, in minutes. Default 15. */
59
+ rolloutMinutes?: number;
60
+ /** Limit of the agent run and of each reset task, in minutes. Default 15. */
61
+ agentRunMinutes?: number;
62
+ /** Limit of each continuation, in minutes. Default 15. */
63
+ continuationMinutes?: number;
64
+ /** Limit of the whole job, in minutes. Default 615, at most 690. */
65
+ maxJobMinutes?: number;
66
+ /** A model id from `sai.models.list()`; without it, Sai picks the model. */
20
67
  model?: string;
21
68
  /** The same key again returns the earlier result and runs nothing. */
22
69
  idempotencyKey?: string;
@@ -26,13 +73,35 @@ export declare class Learn {
26
73
  private readonly http;
27
74
  constructor(http: Http);
28
75
  /**
29
- * Make Simulang code from `turns` (ordered, one session, each sent with `recordTrajectory`), or,
30
- * with `initialCode`, repair it from `evaluations`, `feedback` or new `turns`. Waits for the
31
- * result (about two minutes). A result with `validation.errors` comes back `failed`.
76
+ * Make Simulang code, and optionally run, judge and repair it on a machine.
77
+ *
78
+ * - `create(turns)`: code from recorded turns (ordered, one session, each sent with
79
+ * `recordTrajectory`). Answers with the code; a longer task takes longer.
80
+ * - `create([], { initialCode, guidance | evaluations })`: a repair. Answers with the code.
81
+ * - `create(turns, { maxIterations: 3 })` or `create([], { taskTemplate, inputs, maxIterations: 3 })`:
82
+ * a job on the machine (from `turns`, or after the agent does the task). Answers at once with
83
+ * `status: 'running'`; read it with `wait()`.
84
+ *
85
+ * A result with `validation.errors` comes back `failed`.
32
86
  */
33
87
  create(turns: TurnRef[], opts?: LearnOptions): Promise<LearnResult>;
34
- /** A learn call's result, e.g. after the request timed out on your side. */
88
+ /** A learn call's result, or a job's progress so far. */
35
89
  get(learnId: string): Promise<LearnResult>;
90
+ /**
91
+ * Read a learn job until it ends (`succeeded`, `failed` or `stopped`). `timeoutMs` throws a
92
+ * `TimeoutError` (DOMException) with the job still running; it keeps running.
93
+ */
94
+ wait(job: LearnResult | string, opts?: {
95
+ timeoutMs?: number;
96
+ pollMs?: number;
97
+ }): Promise<LearnResult>;
98
+ /**
99
+ * Stop a learn job at once, whatever step it is on. It keeps the last complete results and
100
+ * reads `stopped` / `cancelled` once it has ended, normally within seconds.
101
+ */
102
+ cancel(job: LearnResult | string): Promise<void>;
103
+ /** One run of a learn job's code: what it returned and logged, and its judgement. */
104
+ rollout(job: LearnResult | string, iteration: number, rollout: number): Promise<LearnRun>;
36
105
  }
37
106
  export interface JudgeOptions {
38
107
  /** Default: the first turn's message. */
package/dist/learn.js CHANGED
@@ -1,15 +1,20 @@
1
1
  /**
2
- * Learn and judge (research preview): turn recorded turns into Simulang code you own, repair that
3
- * code, and judge turns against criteria you choose now.
2
+ * Learn and judge (research preview): turn recorded turns, or a task the agent does first, into
3
+ * Simulang code you own; repair that code; run, judge and repair it on a machine until it passes
4
+ * (policy iteration); and judge turns against criteria you choose now.
4
5
  *
5
6
  * Maps to `/v1/agents/learn` and `/v1/agents/judge`.
6
7
  */
7
- import { parseJudgement, parseLearnResult, } from './types.js';
8
+ import { RateLimitError } from './errors.js';
9
+ import { idOf } from './machines.js';
10
+ import { parseJudgement, parseLearnResult, parseLearnRun, } from './types.js';
8
11
  /** A conversion is two model calls of up to a minute or two each, plus one retry. */
9
12
  const LEARN_TIMEOUT_MS = 600_000;
10
13
  const JUDGE_TIMEOUT_MS = 180_000;
11
14
  /** The last log lines of a run sent with an evaluation; the API takes 20 KB per result. */
12
15
  const EVAL_LOG_LINES = 30;
16
+ /** How often `wait` reads a learn job; a job's steps take tens of seconds to minutes. */
17
+ const LEARN_POLL_INTERVAL_MS = 10_000;
13
18
  const turnId = (t) => {
14
19
  const id = typeof t === 'string' ? t : t.id;
15
20
  if (!id)
@@ -40,20 +45,53 @@ export class Learn {
40
45
  this.http = http;
41
46
  }
42
47
  /**
43
- * Make Simulang code from `turns` (ordered, one session, each sent with `recordTrajectory`), or,
44
- * with `initialCode`, repair it from `evaluations`, `feedback` or new `turns`. Waits for the
45
- * result (about two minutes). A result with `validation.errors` comes back `failed`.
48
+ * Make Simulang code, and optionally run, judge and repair it on a machine.
49
+ *
50
+ * - `create(turns)`: code from recorded turns (ordered, one session, each sent with
51
+ * `recordTrajectory`). Answers with the code; a longer task takes longer.
52
+ * - `create([], { initialCode, guidance | evaluations })`: a repair. Answers with the code.
53
+ * - `create(turns, { maxIterations: 3 })` or `create([], { taskTemplate, inputs, maxIterations: 3 })`:
54
+ * a job on the machine (from `turns`, or after the agent does the task). Answers at once with
55
+ * `status: 'running'`; read it with `wait()`.
56
+ *
57
+ * A result with `validation.errors` comes back `failed`.
46
58
  */
47
59
  async create(turns, opts = {}) {
48
60
  const body = { turns: turns.map(turnId) };
49
- if (opts.template !== undefined)
61
+ // The old names go out as sent, so code that uses them keeps working with an older API.
62
+ if (opts.taskTemplate !== undefined)
63
+ body.taskTemplate = opts.taskTemplate;
64
+ else if (opts.template !== undefined)
50
65
  body.template = opts.template;
66
+ if (opts.inputs !== undefined)
67
+ body.inputs = opts.inputs;
51
68
  if (opts.initialCode !== undefined)
52
69
  body.initialCode = opts.initialCode;
53
70
  if (opts.evaluations)
54
71
  body.evaluations = opts.evaluations.map(evaluationJson);
55
- if (opts.feedback !== undefined)
72
+ if (opts.guidance !== undefined)
73
+ body.guidance = opts.guidance;
74
+ else if (opts.feedback !== undefined)
56
75
  body.feedback = opts.feedback;
76
+ if (opts.machine !== undefined)
77
+ body.machineId = idOf(opts.machine);
78
+ for (const k of [
79
+ 'history',
80
+ 'runsWithoutReset',
81
+ 'maxIterations',
82
+ 'rollouts',
83
+ 'criteria',
84
+ 'reset',
85
+ 'judgeInitialAgentRun',
86
+ 'continueWithAgent',
87
+ 'rolloutMinutes',
88
+ 'agentRunMinutes',
89
+ 'continuationMinutes',
90
+ 'maxJobMinutes',
91
+ ]) {
92
+ if (opts[k] !== undefined)
93
+ body[k] = opts[k];
94
+ }
57
95
  if (opts.model !== undefined)
58
96
  body.model = opts.model;
59
97
  if (opts.idempotencyKey !== undefined)
@@ -63,11 +101,52 @@ export class Learn {
63
101
  timeoutMs: opts.timeoutMs ?? LEARN_TIMEOUT_MS,
64
102
  }));
65
103
  }
66
- /** A learn call's result, e.g. after the request timed out on your side. */
104
+ /** A learn call's result, or a job's progress so far. */
67
105
  async get(learnId) {
68
106
  return parseLearnResult(await this.http.json('GET', `/v1/agents/learn/${encodeURIComponent(learnId)}`));
69
107
  }
108
+ /**
109
+ * Read a learn job until it ends (`succeeded`, `failed` or `stopped`). `timeoutMs` throws a
110
+ * `TimeoutError` (DOMException) with the job still running; it keeps running.
111
+ */
112
+ async wait(job, opts = {}) {
113
+ const learnId = typeof job === 'string' ? job : job.id;
114
+ const poll = opts.pollMs ?? LEARN_POLL_INTERVAL_MS;
115
+ const deadline = opts.timeoutMs === undefined ? null : Date.now() + opts.timeoutMs;
116
+ for (;;) {
117
+ let r;
118
+ try {
119
+ r = await this.get(learnId);
120
+ }
121
+ catch (err) {
122
+ if (!(err instanceof RateLimitError))
123
+ throw err;
124
+ await sleep((err.retryAfter ?? 30) * 1000);
125
+ continue;
126
+ }
127
+ if (r.status !== 'running')
128
+ return r;
129
+ if (deadline !== null && Date.now() + poll > deadline) {
130
+ throw new DOMException(`Learn job ${learnId} is still running.`, 'TimeoutError');
131
+ }
132
+ await sleep(poll);
133
+ }
134
+ }
135
+ /**
136
+ * Stop a learn job at once, whatever step it is on. It keeps the last complete results and
137
+ * reads `stopped` / `cancelled` once it has ended, normally within seconds.
138
+ */
139
+ async cancel(job) {
140
+ const learnId = typeof job === 'string' ? job : job.id;
141
+ await this.http.json('POST', `/v1/agents/learn/${encodeURIComponent(learnId)}/cancel`);
142
+ }
143
+ /** One run of a learn job's code: what it returned and logged, and its judgement. */
144
+ async rollout(job, iteration, rollout) {
145
+ const learnId = typeof job === 'string' ? job : job.id;
146
+ return parseLearnRun(await this.http.json('GET', `/v1/agents/learn/${encodeURIComponent(learnId)}/iterations/${iteration}/rollouts/${rollout}`));
147
+ }
70
148
  }
149
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
71
150
  export class Judge {
72
151
  http;
73
152
  constructor(http) {
package/dist/learn.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"learn.js","sourceRoot":"","sources":["../src/learn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"learn.js","sourceRoot":"","sources":["../src/learn.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAmB,MAAM,eAAe,CAAA;AAErD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,aAAa,GAOd,MAAM,YAAY,CAAA;AAEnB,qFAAqF;AACrF,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAChC,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAChC,2FAA2F;AAC3F,MAAM,cAAc,GAAG,EAAE,CAAA;AACzB,yFAAyF;AACzF,MAAM,sBAAsB,GAAG,MAAM,CAAA;AAErC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAU,EAAE;IACpC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3C,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;IAC/F,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AA2DD,SAAS,cAAc,CAAC,CAAa;IACnC,MAAM,CAAC,GAA2B,CAAC,CAAC,MAAM,CAAA;IAC1C,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG,CAAC,CAAC,IAAI;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;gBACnC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;aAC5E;SACF,CAAC;QACF,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI;YAC/B,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;SAC1E,CAAC;QACF,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KAC9C,CAAA;AACH,CAAC;AAED,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,KAAgB,EAAE,OAAqB,EAAE;QACpD,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;QAClE,wFAAwF;QACxF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;aACrE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACnE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACxD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACvE,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAC7E,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;aACzD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACnE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnE,KAAK,MAAM,CAAC,IAAI;YACd,SAAS;YACT,kBAAkB;YAClB,eAAe;YACf,UAAU;YACV,UAAU;YACV,OAAO;YACP,sBAAsB;YACtB,mBAAmB;YACnB,gBAAgB;YAChB,iBAAiB;YACjB,qBAAqB;YACrB,eAAe;SACP,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACrD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAA;QACjF,OAAO,gBAAgB,CACrB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,gBAAgB;SAC9C,CAAC,CACH,CAAA;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,OAAO,gBAAgB,CACrB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAC/E,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CACR,GAAyB,EACzB,OAAgD,EAAE;QAElD,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,sBAAsB,CAAA;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QAClF,SAAS,CAAC;YACR,IAAI,CAAc,CAAA;YAClB,IAAI,CAAC;gBACH,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,GAAG,YAAY,cAAc,CAAC;oBAAE,MAAM,GAAG,CAAA;gBAC/C,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC1C,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAA;YACpC,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC;gBACtD,MAAM,IAAI,YAAY,CAAC,aAAa,OAAO,oBAAoB,EAAE,cAAc,CAAC,CAAA;YAClF,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,GAAyB;QACpC,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;QACtD,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACxF,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,OAAO,CAAC,GAAyB,EAAE,SAAiB,EAAE,OAAe;QACzE,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;QACtD,OAAO,aAAa,CAClB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,KAAK,EACL,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,eAAe,SAAS,aAAa,OAAO,EAAE,CAC9F,CACF,CAAA;IACH,CAAC;CACF;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AASlF,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C;;;OAGG;IACH,KAAK,CAAC,MAAM,CACV,KAAgB,EAChB,QAA0B,EAC1B,OAAqB,EAAE;QAEvB,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;QAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAClD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAA;QACjF,OAAO,cAAc,CACnB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,gBAAgB;SAC9C,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAmB;QAC3B,OAAO,cAAc,CACnB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,oBAAoB,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CACnF,CAAA;IACH,CAAC;CACF"}
package/dist/tenants.d.ts CHANGED
@@ -30,13 +30,23 @@ export declare class Tenants {
30
30
  /**
31
31
  * `metadata` replaces the whole map. `status: 'disabled'` stops the Tenant's tokens and
32
32
  * machines; `status: 'active'` brings it back.
33
+ *
34
+ * `cloudMachineLimit` (0 to 1000) caps the Tenant's cloud machines; `null` removes the cap.
35
+ * Lowering it deletes nothing: creates are refused until the count fits. `residentialProxy`
36
+ * is the Tenant's residential proxy switch; it has no effect yet, and traffic goes direct.
37
+ * Only the Organisation Key or an owner may set these two.
33
38
  */
34
39
  update(tenant: TenantRef, opts: {
35
40
  name?: string;
36
41
  metadata?: Record<string, string>;
37
42
  status?: string;
43
+ cloudMachineLimit?: number | null;
44
+ residentialProxy?: boolean;
38
45
  }): Promise<Tenant>;
39
- /** Disables the Tenant and revokes every machine. Its data is kept: erase it from the console. */
46
+ /**
47
+ * Disables the Tenant and revokes every enrolled machine. Cloud machines stay and hibernate:
48
+ * delete them with `tenantMachines.delete`. Its data is kept: erase it from the console.
49
+ */
40
50
  delete(tenant: TenantRef): Promise<void>;
41
51
  /** A single-use code that enrolls one computer into the Tenant. It expires in 15 minutes. */
42
52
  createEnrollment(tenant: TenantRef): Promise<Enrollment>;
@@ -55,12 +65,38 @@ export declare class Tenants {
55
65
  orgId?: string;
56
66
  }): Promise<Sai>;
57
67
  }
58
- /** A Tenant's enrolled computers. Every call takes an Organisation Key. */
68
+ /** A Tenant's computers, enrolled and cloud. Every call takes an Organisation Key. */
59
69
  export declare class TenantMachines {
60
70
  private readonly http;
61
71
  constructor(http: Http);
72
+ /**
73
+ * Create a cloud machine for the Tenant. `os` is `windows` or `linux`; the size follows it.
74
+ * `name` (up to 64 characters) is a label you show your users.
75
+ *
76
+ * `requestId` (letters, digits, `_` and `-`, up to 128) makes a retry safe: the same id and
77
+ * body return the first machine, and the same id with another body throws `ConflictError`
78
+ * (`request_id_reused`). Without one, every call creates a machine.
79
+ *
80
+ * Returns at once with `state: 'provisioning'`. `wait: true` reads the machine until it is
81
+ * `ready`; it throws `SaiError` if the machine fails or is deleted, and a `TimeoutError`
82
+ * (DOMException) after `timeoutMs` (default 10 minutes).
83
+ */
84
+ create(tenant: TenantRef, opts: {
85
+ os: 'windows' | 'linux';
86
+ name?: string;
87
+ requestId?: string;
88
+ wait?: boolean;
89
+ timeoutMs?: number;
90
+ }): Promise<TenantMachine>;
91
+ /** Both kinds, enrolled and cloud. A cloud machine is listed from the moment it is created. */
62
92
  list(tenant: TenantRef): Promise<TenantMachine[]>;
63
93
  get(tenant: TenantRef, machineId: string): Promise<TenantMachine>;
64
- /** Signs the machine out at once. To bring it back, enroll it again with a new code. */
94
+ /**
95
+ * An enrolled machine is signed out at once (`'revoked'`); enroll it again with a new code to
96
+ * bring it back. A cloud machine is deleted with its disk (`'deleting'`), which cannot be
97
+ * undone; it leaves the list when the deletion finishes.
98
+ */
99
+ delete(tenant: TenantRef, machine: TenantMachineRef): Promise<'revoked' | 'deleting'>;
100
+ /** `delete` without its answer. On a cloud machine it deletes the machine: use `delete`. */
65
101
  revoke(tenant: TenantRef, machine: TenantMachineRef): Promise<void>;
66
102
  }
package/dist/tenants.js CHANGED
@@ -1,6 +1,9 @@
1
+ import { RateLimitError, SaiError } from './errors.js';
1
2
  import { parseEnrollment, parseTenant, parseTenantMachine, parseTenantToken, } from './types.js';
2
3
  /** `tenants.client()` exchanges again when its token has less than this left. */
3
4
  export const TOKEN_REFRESH_MARGIN_MS = 5 * 60 * 1000;
5
+ /** Between machine reads while `tenantMachines.create({ wait: true })` waits. */
6
+ const MACHINE_POLL_INTERVAL_MS = 5_000;
4
7
  const q = encodeURIComponent;
5
8
  const tenantPath = (tenant) => `/v1/tenants/${q(typeof tenant === 'string' ? tenant : tenant.id)}`;
6
9
  /** Tenants: your customers, under an Organisation. Every call takes an Organisation Key. */
@@ -33,11 +36,19 @@ export class Tenants {
33
36
  /**
34
37
  * `metadata` replaces the whole map. `status: 'disabled'` stops the Tenant's tokens and
35
38
  * machines; `status: 'active'` brings it back.
39
+ *
40
+ * `cloudMachineLimit` (0 to 1000) caps the Tenant's cloud machines; `null` removes the cap.
41
+ * Lowering it deletes nothing: creates are refused until the count fits. `residentialProxy`
42
+ * is the Tenant's residential proxy switch; it has no effect yet, and traffic goes direct.
43
+ * Only the Organisation Key or an owner may set these two.
36
44
  */
37
45
  async update(tenant, opts) {
38
46
  return parseTenant(await this.http.json('PATCH', tenantPath(tenant), { json: opts }));
39
47
  }
40
- /** Disables the Tenant and revokes every machine. Its data is kept: erase it from the console. */
48
+ /**
49
+ * Disables the Tenant and revokes every enrolled machine. Cloud machines stay and hibernate:
50
+ * delete them with `tenantMachines.delete`. Its data is kept: erase it from the console.
51
+ */
41
52
  async delete(tenant) {
42
53
  await this.http.request('DELETE', tenantPath(tenant));
43
54
  }
@@ -75,12 +86,51 @@ export class Tenants {
75
86
  });
76
87
  }
77
88
  }
78
- /** A Tenant's enrolled computers. Every call takes an Organisation Key. */
89
+ /** A Tenant's computers, enrolled and cloud. Every call takes an Organisation Key. */
79
90
  export class TenantMachines {
80
91
  http;
81
92
  constructor(http) {
82
93
  this.http = http;
83
94
  }
95
+ /**
96
+ * Create a cloud machine for the Tenant. `os` is `windows` or `linux`; the size follows it.
97
+ * `name` (up to 64 characters) is a label you show your users.
98
+ *
99
+ * `requestId` (letters, digits, `_` and `-`, up to 128) makes a retry safe: the same id and
100
+ * body return the first machine, and the same id with another body throws `ConflictError`
101
+ * (`request_id_reused`). Without one, every call creates a machine.
102
+ *
103
+ * Returns at once with `state: 'provisioning'`. `wait: true` reads the machine until it is
104
+ * `ready`; it throws `SaiError` if the machine fails or is deleted, and a `TimeoutError`
105
+ * (DOMException) after `timeoutMs` (default 10 minutes).
106
+ */
107
+ async create(tenant, opts) {
108
+ let machine = parseTenantMachine(await this.http.json('POST', `${tenantPath(tenant)}/machines`, {
109
+ json: { os: opts.os, name: opts.name, requestId: opts.requestId },
110
+ }));
111
+ if (!opts.wait)
112
+ return machine;
113
+ const deadline = Date.now() + (opts.timeoutMs ?? 600_000);
114
+ while (machine.state !== 'ready') {
115
+ if (machine.state === 'failed' || machine.state === 'deleting') {
116
+ throw new SaiError(`Cloud machine ${machine.id} is ${machine.state} and will not become ready.`, { body: machine.raw });
117
+ }
118
+ if (Date.now() + MACHINE_POLL_INTERVAL_MS > deadline) {
119
+ throw new DOMException(`Cloud machine ${machine.id} still ${machine.state}.`, 'TimeoutError');
120
+ }
121
+ await sleep(MACHINE_POLL_INTERVAL_MS);
122
+ try {
123
+ machine = await this.get(tenant, machine.id);
124
+ }
125
+ catch (err) {
126
+ if (!(err instanceof RateLimitError))
127
+ throw err;
128
+ await sleep((err.retryAfter ?? 30) * 1000);
129
+ }
130
+ }
131
+ return machine;
132
+ }
133
+ /** Both kinds, enrolled and cloud. A cloud machine is listed from the moment it is created. */
84
134
  async list(tenant) {
85
135
  const d = await this.http.json('GET', `${tenantPath(tenant)}/machines`);
86
136
  return (d.machines ?? []).map(parseTenantMachine);
@@ -88,10 +138,20 @@ export class TenantMachines {
88
138
  async get(tenant, machineId) {
89
139
  return parseTenantMachine(await this.http.json('GET', `${tenantPath(tenant)}/machines/${q(machineId)}`));
90
140
  }
91
- /** Signs the machine out at once. To bring it back, enroll it again with a new code. */
92
- async revoke(tenant, machine) {
141
+ /**
142
+ * An enrolled machine is signed out at once (`'revoked'`); enroll it again with a new code to
143
+ * bring it back. A cloud machine is deleted with its disk (`'deleting'`), which cannot be
144
+ * undone; it leaves the list when the deletion finishes.
145
+ */
146
+ async delete(tenant, machine) {
93
147
  const id = typeof machine === 'string' ? machine : machine.id;
94
- await this.http.request('DELETE', `${tenantPath(tenant)}/machines/${q(id)}`);
148
+ const res = await this.http.request('DELETE', `${tenantPath(tenant)}/machines/${q(id)}`);
149
+ return res.status === 202 ? 'deleting' : 'revoked';
150
+ }
151
+ /** `delete` without its answer. On a cloud machine it deletes the machine: use `delete`. */
152
+ async revoke(tenant, machine) {
153
+ await this.delete(tenant, machine);
95
154
  }
96
155
  }
156
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
97
157
  //# sourceMappingURL=tenants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenants.js","sourceRoot":"","sources":["../src/tenants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenants.js","sourceRoot":"","sources":["../src/tenants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtD,OAAO,EACL,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,gBAAgB,GAMjB,MAAM,YAAY,CAAA;AAKnB,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAEpD,iFAAiF;AACjF,MAAM,wBAAwB,GAAG,KAAK,CAAA;AAEtC,MAAM,CAAC,GAAG,kBAAkB,CAAA;AAC5B,MAAM,UAAU,GAAG,CAAC,MAAiB,EAAU,EAAE,CAC/C,eAAe,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAA;AAErE,4FAA4F;AAC5F,MAAM,OAAO,OAAO;IAEC;IACA;IACA;IAHnB,YACmB,IAAU,EACV,KAAyB,EACzB,cAA+C;QAF/C,SAAI,GAAJ,IAAI,CAAM;QACV,UAAK,GAAL,KAAK,CAAoB;QACzB,mBAAc,GAAd,cAAc,CAAiC;IAC/D,CAAC;IAEJ,qGAAqG;IACrG,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,OAAmE,EAAE;QAErE,OAAO,WAAW,CAChB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;YAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SACrE,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CACR,OAAkF,EAAE;QAEpF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5B,KAAK,EACL,aAAa,EACb,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,CAAA;IAC1F,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAiB;QACzB,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,MAAiB,EACjB,IAMC;QAED,OAAO,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,MAAiB;QAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,gBAAgB,CAAC,MAAiB;QACtC,OAAO,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;IAC3F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,MAAiB,EAAE,OAA2B,EAAE;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAA;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA;QAC5F,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA;QAC1D,OAAO,gBAAgB,CACrB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAC5E,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,MAAiB,EAAE,OAA2B,EAAE;QAC3D,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5C,IAAI,OAAyC,CAAA;QAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,uBAAuB;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAA;YACnF,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChD,OAAO,GAAG,SAAS,CAAA;YACrB,CAAC,CAAC,CAAA;YACF,OAAO,GAAG,MAAM,OAAO,CAAA;YACvB,OAAO,OAAO,CAAC,KAAK,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,sFAAsF;AACtF,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CACV,MAAiB,EACjB,IAMC;QAED,IAAI,OAAO,GAAG,kBAAkB,CAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;YAC7D,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;SAClE,CAAC,CACH,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,OAAO,CAAA;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,CAAA;QACzD,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC/D,MAAM,IAAI,QAAQ,CAChB,iBAAiB,OAAO,CAAC,EAAE,OAAO,OAAO,CAAC,KAAK,6BAA6B,EAC5E,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CACtB,CAAA;YACH,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,wBAAwB,GAAG,QAAQ,EAAE,CAAC;gBACrD,MAAM,IAAI,YAAY,CACpB,iBAAiB,OAAO,CAAC,EAAE,UAAU,OAAO,CAAC,KAAK,GAAG,EACrD,cAAc,CACf,CAAA;YACH,CAAC;YACD,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAA;YACrC,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,GAAG,YAAY,cAAc,CAAC;oBAAE,MAAM,GAAG,CAAA;gBAC/C,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,IAAI,CAAC,MAAiB;QAC1B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5B,KAAK,EACL,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CACjC,CAAA;QACD,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAiB,EAAE,SAAiB;QAC5C,OAAO,kBAAkB,CACvB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAC9E,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAiB,EAAE,OAAyB;QACvD,MAAM,EAAE,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAA;QAC7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACxF,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;IACpD,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,MAAM,CAAC,MAAiB,EAAE,OAAyB;QACvD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC;CACF;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA"}
package/dist/types.d.ts CHANGED
@@ -54,7 +54,17 @@ export interface Tenant {
54
54
  /** Unix time in milliseconds. */
55
55
  createdAt: number;
56
56
  disabledAt: number | null;
57
+ /** Enrolled machines. */
57
58
  machineCount: number;
59
+ /** Most cloud machines the Tenant may have at once. null: no limit. */
60
+ cloudMachineLimit: number | null;
61
+ /**
62
+ * The Tenant's residential proxy switch. It has no effect yet: traffic goes direct. Set by `get` and
63
+ * `update`; null from `list` and from servers before cloud machines.
64
+ */
65
+ residentialProxy: boolean | null;
66
+ /** Set by `get` and `update`; null from `list` and from servers before cloud machines. */
67
+ cloudMachineCount: number | null;
58
68
  raw: Json;
59
69
  }
60
70
  export declare function parseTenant(d: Json): Tenant;
@@ -63,16 +73,28 @@ export interface TenantPage {
63
73
  /** Pass as `cursor` for the next page; null on the last page. */
64
74
  nextCursor: string | null;
65
75
  }
66
- /** A Tenant's own computer, running the Sai runtime. */
76
+ /** A Tenant's computer: its own, enrolled, or a cloud machine Sai hosts for it. */
67
77
  export interface TenantMachine {
68
78
  id: string;
69
79
  name: string | null;
70
80
  platform: string | null;
81
+ /** Older servers only; empty on servers with cloud machines. Read `state`. */
71
82
  status: string;
72
- /** True when the machine reported in the last 3 minutes. */
83
+ /** True when an enrolled machine reported in the last 3 minutes, or a cloud machine is `ready`. */
73
84
  online: boolean;
74
85
  lastSeen: number | null;
75
86
  runtimeVersion: string | null;
87
+ kind: 'enrolled' | 'cloud';
88
+ /**
89
+ * Enrolled: `online` or `offline`. Cloud: `provisioning`, `ready`, `starting`, `hibernated`,
90
+ * `deleting` or `failed`. A run starts without waiting only on `ready`; a hibernated machine
91
+ * wakes when a run is sent to it.
92
+ */
93
+ state: string;
94
+ /** Cloud only: the billing class, e.g. `win32-4c8g`. */
95
+ machineClass: string | null;
96
+ /** Unix time in milliseconds. null from servers before cloud machines. */
97
+ createdAt: number | null;
76
98
  raw: Json;
77
99
  }
78
100
  export declare function parseTenantMachine(d: Json): TenantMachine;
@@ -285,16 +307,93 @@ export interface Evaluation {
285
307
  passed?: boolean;
286
308
  note?: string;
287
309
  }
310
+ /** What a `reset` did before a run or before the agent run. */
311
+ export interface LearnReset {
312
+ kind: 'code' | 'task';
313
+ ok: boolean;
314
+ durationMs: number | null;
315
+ /** A reset task's turn. */
316
+ turnId: string | null;
317
+ error: string | null;
318
+ }
319
+ /** One run of a version of the code in a learn job. */
320
+ export interface LearnRollout {
321
+ index: number;
322
+ /**
323
+ * `stopped`: the job stopped during this run (see the job's `stopReason`); `error`: the run could
324
+ * not be judged; `null` while the run is going.
325
+ */
326
+ verdict: 'passed' | 'failed' | 'error' | 'stopped' | null;
327
+ reset: LearnReset | null;
328
+ error: string | null;
329
+ result: Json | null;
330
+ durationMs: number | null;
331
+ judgementId: string | null;
332
+ /** The judge's summary. */
333
+ summary: string | null;
334
+ /** With `continueWithAgent`, the agent's turn after this failed run. */
335
+ continuationTurnId: string | null;
336
+ continuationTimedOut: boolean;
337
+ }
338
+ /** One version of the code in a learn job and its runs. */
339
+ export interface LearnIteration {
340
+ /** 1-based. */
341
+ index: number;
342
+ /** The convert or heal record that wrote this version (`sai.learn.get()` reads it). */
343
+ learnId: string | null;
344
+ /** What the repair changed and why. */
345
+ changes: string | null;
346
+ passed: number;
347
+ runs: number;
348
+ rollouts: LearnRollout[];
349
+ }
350
+ /** How the returned code did when it was run, on `inputs` only. */
351
+ export interface LearnTestResult {
352
+ /** `not_judged`: the code was not run all its runs; `passed`: it passed every run; `failed`: a run failed. */
353
+ status: 'not_judged' | 'passed' | 'failed';
354
+ passedRuns: number;
355
+ requiredRuns: number;
356
+ inputs: Record<string, string | number | boolean> | null;
357
+ }
288
358
  /**
289
- * The result of `sai.learn.create()`: Simulang code made from recorded turns, or a repair of
290
- * code you sent. Run it with `lease.run(learned, inputs)`. Research preview.
359
+ * The result of `sai.learn.create()`: Simulang code made from recorded turns or from an agent
360
+ * run, a repair of code you sent, or a learn job that runs, judges and repairs the code. Run the
361
+ * code with `lease.run(learned, inputs)`. Research preview.
291
362
  */
292
363
  export interface LearnResult {
293
364
  id: string;
294
- /** `convert` (code from turns) or `heal` (a repair of `initialCode`). */
295
- mode: 'convert' | 'heal';
296
- /** `failed` when the code still has `validation.errors`, or the request failed (`error`). */
297
- status: 'succeeded' | 'failed' | 'running';
365
+ /** `convert` (code from turns), `heal` (a repair of `initialCode`), or `policyIteration` (a job that runs the code). */
366
+ mode: 'convert' | 'heal' | 'policyIteration';
367
+ /**
368
+ * Whether the call did its work: `running` while a job runs; `failed` when it wrote no code
369
+ * (e.g. `validation.errors`); `stopped` when a job ended early (see `stopReason`).
370
+ * How the code did is `testResult`.
371
+ */
372
+ status: 'succeeded' | 'failed' | 'running' | 'stopped';
373
+ /** Why a job ended early, e.g. `cancelled`, `time_limit`, `agent_failed`, `interrupted`. */
374
+ stopReason: string | null;
375
+ /** One sentence on why a job stopped. */
376
+ message: string | null;
377
+ /** How the returned code did when it was run. */
378
+ testResult: LearnTestResult | null;
379
+ /** While a job runs: the step it is on. */
380
+ progress: {
381
+ step: string;
382
+ iteration: number | null;
383
+ rollout: number | null;
384
+ } | null;
385
+ /** A job's agent run; pass it as `turns` to start again from that run. */
386
+ agentTurnId: string | null;
387
+ agentRunReset: LearnReset | null;
388
+ /** With `judgeInitialAgentRun`: the judgement of the agent run. */
389
+ agentJudgement: {
390
+ judgementId: string;
391
+ verdict: string;
392
+ summary: string | null;
393
+ } | null;
394
+ /** Which iteration `code` is from. */
395
+ version: number | null;
396
+ iterations: LearnIteration[];
298
397
  title: string | null;
299
398
  /** The task with `{{name}}` placeholders: send it to `session.send()` with `inputs` to run it with the agent. */
300
399
  template: string | null;
@@ -318,6 +417,18 @@ export interface LearnResult {
318
417
  raw: Json;
319
418
  }
320
419
  export declare function parseLearnResult(d: Json): LearnResult;
420
+ /** One run of a learn job's code, from `sai.learn.rollout()`. */
421
+ export interface LearnRun {
422
+ learnId: string;
423
+ iteration: number;
424
+ rollout: number;
425
+ /** What the run returned and logged: `{ result, logs, error, durationMs }`. */
426
+ run: Json;
427
+ /** The judge's record of the run, when it was judged. */
428
+ judgement: Json | null;
429
+ raw: Json;
430
+ }
431
+ export declare function parseLearnRun(d: Json): LearnRun;
321
432
  /** The verdict on one criterion of a judgement. */
322
433
  export interface CriterionResult {
323
434
  /** The check's id; null for a natural-language criteria. */
package/dist/types.js CHANGED
@@ -52,18 +52,27 @@ export function parseTenant(d) {
52
52
  createdAt: num(d.createdAt),
53
53
  disabledAt: typeof d.disabledAt === 'number' ? d.disabledAt : null,
54
54
  machineCount: num(d.machineCount),
55
+ cloudMachineLimit: typeof d.cloudMachineLimit === 'number' ? d.cloudMachineLimit : null,
56
+ residentialProxy: typeof d.residentialProxy === 'boolean' ? d.residentialProxy : null,
57
+ cloudMachineCount: typeof d.cloudMachineCount === 'number' ? d.cloudMachineCount : null,
55
58
  raw: d,
56
59
  };
57
60
  }
58
61
  export function parseTenantMachine(d) {
62
+ // Servers before cloud machines send `online` and `status` and no `kind` or `state`.
63
+ const state = str(d.state) || (d.online ? 'online' : 'offline');
59
64
  return {
60
65
  id: str(d.machineId) ?? '',
61
66
  name: str(d.name) ?? null,
62
67
  platform: str(d.platform) ?? null,
63
68
  status: str(d.status) ?? '',
64
- online: Boolean(d.online),
69
+ online: 'online' in d ? Boolean(d.online) : state === 'online' || state === 'ready',
65
70
  lastSeen: typeof d.lastSeen === 'number' ? d.lastSeen : null,
66
71
  runtimeVersion: str(d.runtimeVersion) ?? null,
72
+ kind: d.kind === 'cloud' ? 'cloud' : 'enrolled',
73
+ state,
74
+ machineClass: str(d.machineClass) ?? null,
75
+ createdAt: typeof d.createdAt === 'number' ? d.createdAt : null,
67
76
  raw: d,
68
77
  };
69
78
  }
@@ -227,13 +236,78 @@ export function parseExecResult(d) {
227
236
  raw: d,
228
237
  };
229
238
  }
239
+ function parseLearnReset(v) {
240
+ if (!v || typeof v !== 'object')
241
+ return null;
242
+ const r = v;
243
+ return {
244
+ kind: str(r.kind) === 'task' ? 'task' : 'code',
245
+ ok: Boolean(r.ok),
246
+ durationMs: typeof r.durationMs === 'number' ? r.durationMs : null,
247
+ turnId: str(r.turnId) ?? null,
248
+ error: str(r.error) ?? null,
249
+ };
250
+ }
251
+ function parseIteration(d) {
252
+ return {
253
+ index: num(d.index),
254
+ learnId: str(d.learnId) ?? null,
255
+ changes: str(d.changes) ?? null,
256
+ passed: num(d.passed),
257
+ runs: num(d.runs),
258
+ rollouts: (Array.isArray(d.rollouts) ? d.rollouts : []).map((r) => ({
259
+ index: num(r.index),
260
+ verdict: (str(r.verdict) ?? null),
261
+ reset: parseLearnReset(r.reset),
262
+ error: str(r.error) ?? null,
263
+ result: r.result ?? null,
264
+ durationMs: typeof r.durationMs === 'number' ? r.durationMs : null,
265
+ judgementId: str(r.judgementId) ?? null,
266
+ summary: str(r.summary) ?? null,
267
+ continuationTurnId: str(r.continuationTurnId) ?? null,
268
+ continuationTimedOut: Boolean(r.continuationTimedOut),
269
+ })),
270
+ };
271
+ }
230
272
  export function parseLearnResult(d) {
231
273
  const v = obj(d.validation);
232
274
  const status = (str(d.status) ?? 'running');
275
+ const mode = str(d.mode);
276
+ const t = d.testResult ? obj(d.testResult) : null;
277
+ const p = d.progress ? obj(d.progress) : null;
278
+ const aj = d.agentJudgement ? obj(d.agentJudgement) : null;
233
279
  return {
234
280
  id: str(d.learnId) ?? '',
235
- mode: str(d.mode) === 'heal' ? 'heal' : 'convert',
281
+ mode: mode === 'heal' || mode === 'policyIteration' ? mode : 'convert',
236
282
  status,
283
+ stopReason: str(d.stopReason) ?? null,
284
+ message: str(d.message) ?? null,
285
+ testResult: t
286
+ ? {
287
+ status: (str(t.status) ?? 'not_judged'),
288
+ passedRuns: num(t.passedRuns),
289
+ requiredRuns: num(t.requiredRuns),
290
+ inputs: t.inputs ? obj(t.inputs) : null,
291
+ }
292
+ : null,
293
+ progress: p
294
+ ? {
295
+ step: str(p.step) ?? '',
296
+ iteration: typeof p.iteration === 'number' ? p.iteration : null,
297
+ rollout: typeof p.rollout === 'number' ? p.rollout : null,
298
+ }
299
+ : null,
300
+ agentTurnId: str(d.agentTurnId) ?? null,
301
+ agentRunReset: parseLearnReset(d.agentRunReset),
302
+ agentJudgement: aj
303
+ ? {
304
+ judgementId: str(aj.judgementId) ?? '',
305
+ verdict: str(aj.verdict) ?? '',
306
+ summary: str(aj.summary) ?? null,
307
+ }
308
+ : null,
309
+ version: typeof d.version === 'number' ? d.version : null,
310
+ iterations: (Array.isArray(d.iterations) ? d.iterations : []).map(parseIteration),
237
311
  title: str(d.title) ?? null,
238
312
  template: str(d.template) ?? null,
239
313
  parameters: (Array.isArray(d.parameters) ? d.parameters : []).map((p) => ({
@@ -256,6 +330,16 @@ export function parseLearnResult(d) {
256
330
  raw: d,
257
331
  };
258
332
  }
333
+ export function parseLearnRun(d) {
334
+ return {
335
+ learnId: str(d.learnId) ?? '',
336
+ iteration: num(d.iteration),
337
+ rollout: num(d.rollout),
338
+ run: obj(d.run),
339
+ judgement: d.judgement ? obj(d.judgement) : null,
340
+ raw: d,
341
+ };
342
+ }
259
343
  export function parseJudgement(d) {
260
344
  const verdict = (str(d.verdict) ?? null);
261
345
  return {
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.1.0-alpha.1";
1
+ export declare const VERSION = "0.1.0-alpha.2";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.1.0-alpha.1';
1
+ export const VERSION = '0.1.0-alpha.2';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simular-ai/sai-sdk",
3
- "version": "0.1.0-alpha.1",
3
+ "version": "0.1.0-alpha.2",
4
4
  "description": "TypeScript SDK for the Sai API: delegate desktop work to Sai, or drive a cloud computer directly.",
5
5
  "homepage": "https://platform.simular.ai/documentation/sdks/typescript",
6
6
  "license": "MIT",