@contraagent/api 0.0.0-stage → 0.1.0
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 +102 -2
- package/dist/client.d.ts +54 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +68 -0
- package/dist/client.js.map +1 -0
- package/dist/derive.d.ts +81 -0
- package/dist/derive.d.ts.map +1 -0
- package/dist/derive.js +89 -0
- package/dist/derive.js.map +1 -0
- package/dist/export.d.ts +36 -0
- package/dist/export.d.ts.map +1 -0
- package/dist/export.js +130 -0
- package/dist/export.js.map +1 -0
- package/dist/feed.d.ts +27 -0
- package/dist/feed.d.ts.map +1 -0
- package/dist/feed.js +39 -0
- package/dist/feed.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/outcomes.d.ts +117 -0
- package/dist/outcomes.d.ts.map +1 -0
- package/dist/outcomes.js +201 -0
- package/dist/outcomes.js.map +1 -0
- package/dist/panels.d.ts +31 -0
- package/dist/panels.d.ts.map +1 -0
- package/dist/panels.js +12 -0
- package/dist/panels.js.map +1 -0
- package/dist/quota.d.ts +32 -0
- package/dist/quota.d.ts.map +1 -0
- package/dist/quota.js +46 -0
- package/dist/quota.js.map +1 -0
- package/dist/reasons.d.ts +25 -0
- package/dist/reasons.d.ts.map +1 -0
- package/dist/reasons.js +46 -0
- package/dist/reasons.js.map +1 -0
- package/dist/run-state.d.ts +62 -0
- package/dist/run-state.d.ts.map +1 -0
- package/dist/run-state.js +109 -0
- package/dist/run-state.js.map +1 -0
- package/dist/schema.d.ts +3718 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +3 -0
- package/dist/schema.js.map +1 -0
- package/dist/spend.d.ts +46 -0
- package/dist/spend.d.ts.map +1 -0
- package/dist/spend.js +68 -0
- package/dist/spend.js.map +1 -0
- package/dist/store.d.ts +121 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +286 -0
- package/dist/store.js.map +1 -0
- package/dist/types.d.ts +112 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +19 -0
- package/dist/types.js.map +1 -0
- package/package.json +43 -4
- package/src/client.ts +119 -0
- package/src/derive.ts +155 -0
- package/src/export.ts +158 -0
- package/src/feed.ts +81 -0
- package/src/index.ts +12 -0
- package/src/outcomes.ts +267 -0
- package/src/panels.ts +51 -0
- package/src/quota.ts +78 -0
- package/src/reasons.ts +57 -0
- package/src/run-state.ts +166 -0
- package/src/schema.ts +3719 -0
- package/src/spend.ts +108 -0
- package/src/store.ts +338 -0
- package/src/types.ts +165 -0
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1,3718 @@
|
|
|
1
|
+
export type paths = {
|
|
2
|
+
"/api/info": {
|
|
3
|
+
parameters: {
|
|
4
|
+
query?: never;
|
|
5
|
+
header?: never;
|
|
6
|
+
path?: never;
|
|
7
|
+
cookie?: never;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Api Info
|
|
11
|
+
* @description The title, the panel tabs to offer, and the version of this contract.
|
|
12
|
+
*/
|
|
13
|
+
get: operations["api_info_api_info_get"];
|
|
14
|
+
put?: never;
|
|
15
|
+
post?: never;
|
|
16
|
+
delete?: never;
|
|
17
|
+
options?: never;
|
|
18
|
+
head?: never;
|
|
19
|
+
patch?: never;
|
|
20
|
+
trace?: never;
|
|
21
|
+
};
|
|
22
|
+
"/api/runs": {
|
|
23
|
+
parameters: {
|
|
24
|
+
query?: never;
|
|
25
|
+
header?: never;
|
|
26
|
+
path?: never;
|
|
27
|
+
cookie?: never;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Api Runs
|
|
31
|
+
* @description Every run directory, newest activity first.
|
|
32
|
+
*/
|
|
33
|
+
get: operations["api_runs_api_runs_get"];
|
|
34
|
+
put?: never;
|
|
35
|
+
post?: never;
|
|
36
|
+
delete?: never;
|
|
37
|
+
options?: never;
|
|
38
|
+
head?: never;
|
|
39
|
+
patch?: never;
|
|
40
|
+
trace?: never;
|
|
41
|
+
};
|
|
42
|
+
"/api/hosts": {
|
|
43
|
+
parameters: {
|
|
44
|
+
query?: never;
|
|
45
|
+
header?: never;
|
|
46
|
+
path?: never;
|
|
47
|
+
cookie?: never;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Api Hosts
|
|
51
|
+
* @description The hosts that drive the runs, and each account's utilization over every run.
|
|
52
|
+
*/
|
|
53
|
+
get: operations["api_hosts_api_hosts_get"];
|
|
54
|
+
put?: never;
|
|
55
|
+
post?: never;
|
|
56
|
+
delete?: never;
|
|
57
|
+
options?: never;
|
|
58
|
+
head?: never;
|
|
59
|
+
patch?: never;
|
|
60
|
+
trace?: never;
|
|
61
|
+
};
|
|
62
|
+
"/api/trends": {
|
|
63
|
+
parameters: {
|
|
64
|
+
query?: never;
|
|
65
|
+
header?: never;
|
|
66
|
+
path?: never;
|
|
67
|
+
cookie?: never;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Api Trends
|
|
71
|
+
* @description What the runs of a period add up to, day by day.
|
|
72
|
+
*/
|
|
73
|
+
get: operations["api_trends_api_trends_get"];
|
|
74
|
+
put?: never;
|
|
75
|
+
post?: never;
|
|
76
|
+
delete?: never;
|
|
77
|
+
options?: never;
|
|
78
|
+
head?: never;
|
|
79
|
+
patch?: never;
|
|
80
|
+
trace?: never;
|
|
81
|
+
};
|
|
82
|
+
"/api/trends/panels/{name}": {
|
|
83
|
+
parameters: {
|
|
84
|
+
query?: never;
|
|
85
|
+
header?: never;
|
|
86
|
+
path?: never;
|
|
87
|
+
cookie?: never;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Api Trend Panel
|
|
91
|
+
* @description One trend panel's body: its `fn(runs, period)` over the runs of the period, made on a
|
|
92
|
+
* panel thread, and kept for the same period over the same runs (`Monitor.trends_panel`).
|
|
93
|
+
*/
|
|
94
|
+
get: operations["api_trend_panel_api_trends_panels__name__get"];
|
|
95
|
+
put?: never;
|
|
96
|
+
post?: never;
|
|
97
|
+
delete?: never;
|
|
98
|
+
options?: never;
|
|
99
|
+
head?: never;
|
|
100
|
+
patch?: never;
|
|
101
|
+
trace?: never;
|
|
102
|
+
};
|
|
103
|
+
"/api/runs/{run}/journal": {
|
|
104
|
+
parameters: {
|
|
105
|
+
query?: never;
|
|
106
|
+
header?: never;
|
|
107
|
+
path?: never;
|
|
108
|
+
cookie?: never;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Api Journal
|
|
112
|
+
* @description Journal rows after line offset `since`; `total` is the next offset.
|
|
113
|
+
*/
|
|
114
|
+
get: operations["api_journal_api_runs__run__journal_get"];
|
|
115
|
+
put?: never;
|
|
116
|
+
post?: never;
|
|
117
|
+
delete?: never;
|
|
118
|
+
options?: never;
|
|
119
|
+
head?: never;
|
|
120
|
+
patch?: never;
|
|
121
|
+
trace?: never;
|
|
122
|
+
};
|
|
123
|
+
"/api/runs/{run}/plan": {
|
|
124
|
+
parameters: {
|
|
125
|
+
query?: never;
|
|
126
|
+
header?: never;
|
|
127
|
+
path?: never;
|
|
128
|
+
cookie?: never;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Api Plan
|
|
132
|
+
* @description Every queued task with its dependencies and state, and the groups the UI draws as columns.
|
|
133
|
+
*/
|
|
134
|
+
get: operations["api_plan_api_runs__run__plan_get"];
|
|
135
|
+
put?: never;
|
|
136
|
+
post?: never;
|
|
137
|
+
delete?: never;
|
|
138
|
+
options?: never;
|
|
139
|
+
head?: never;
|
|
140
|
+
patch?: never;
|
|
141
|
+
trace?: never;
|
|
142
|
+
};
|
|
143
|
+
"/api/runs/{run}/outputs": {
|
|
144
|
+
parameters: {
|
|
145
|
+
query?: never;
|
|
146
|
+
header?: never;
|
|
147
|
+
path?: never;
|
|
148
|
+
cookie?: never;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Api Outputs
|
|
152
|
+
* @description Every declared output/input contract: its file, the model it must satisfy, its status.
|
|
153
|
+
*/
|
|
154
|
+
get: operations["api_outputs_api_runs__run__outputs_get"];
|
|
155
|
+
put?: never;
|
|
156
|
+
post?: never;
|
|
157
|
+
delete?: never;
|
|
158
|
+
options?: never;
|
|
159
|
+
head?: never;
|
|
160
|
+
patch?: never;
|
|
161
|
+
trace?: never;
|
|
162
|
+
};
|
|
163
|
+
"/api/runs/{run}/definitions": {
|
|
164
|
+
parameters: {
|
|
165
|
+
query?: never;
|
|
166
|
+
header?: never;
|
|
167
|
+
path?: never;
|
|
168
|
+
cookie?: never;
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Api Definitions
|
|
172
|
+
* @description What defined each kind of task in this run.
|
|
173
|
+
*/
|
|
174
|
+
get: operations["api_definitions_api_runs__run__definitions_get"];
|
|
175
|
+
put?: never;
|
|
176
|
+
post?: never;
|
|
177
|
+
delete?: never;
|
|
178
|
+
options?: never;
|
|
179
|
+
head?: never;
|
|
180
|
+
patch?: never;
|
|
181
|
+
trace?: never;
|
|
182
|
+
};
|
|
183
|
+
"/api/runs/{run}/cursor": {
|
|
184
|
+
parameters: {
|
|
185
|
+
query?: never;
|
|
186
|
+
header?: never;
|
|
187
|
+
path?: never;
|
|
188
|
+
cookie?: never;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Api Cursor
|
|
192
|
+
* @description The resume cursor; `{}` when the run keeps none.
|
|
193
|
+
*/
|
|
194
|
+
get: operations["api_cursor_api_runs__run__cursor_get"];
|
|
195
|
+
put?: never;
|
|
196
|
+
post?: never;
|
|
197
|
+
delete?: never;
|
|
198
|
+
options?: never;
|
|
199
|
+
head?: never;
|
|
200
|
+
patch?: never;
|
|
201
|
+
trace?: never;
|
|
202
|
+
};
|
|
203
|
+
"/api/runs/{run}/procs": {
|
|
204
|
+
parameters: {
|
|
205
|
+
query?: never;
|
|
206
|
+
header?: never;
|
|
207
|
+
path?: never;
|
|
208
|
+
cookie?: never;
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Api Procs
|
|
212
|
+
* @description The run's live agent launches, process tree and Python tasks.
|
|
213
|
+
*/
|
|
214
|
+
get: operations["api_procs_api_runs__run__procs_get"];
|
|
215
|
+
put?: never;
|
|
216
|
+
post?: never;
|
|
217
|
+
delete?: never;
|
|
218
|
+
options?: never;
|
|
219
|
+
head?: never;
|
|
220
|
+
patch?: never;
|
|
221
|
+
trace?: never;
|
|
222
|
+
};
|
|
223
|
+
"/api/runs/{run}/task/{key}": {
|
|
224
|
+
parameters: {
|
|
225
|
+
query?: never;
|
|
226
|
+
header?: never;
|
|
227
|
+
path?: never;
|
|
228
|
+
cookie?: never;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Api Task
|
|
232
|
+
* @description One task, by its key: journal rows, live launches, definition, input/output, transcript name.
|
|
233
|
+
*/
|
|
234
|
+
get: operations["api_task_api_runs__run__task__key__get"];
|
|
235
|
+
put?: never;
|
|
236
|
+
post?: never;
|
|
237
|
+
delete?: never;
|
|
238
|
+
options?: never;
|
|
239
|
+
head?: never;
|
|
240
|
+
patch?: never;
|
|
241
|
+
trace?: never;
|
|
242
|
+
};
|
|
243
|
+
"/api/runs/{run}/stream/{key}": {
|
|
244
|
+
parameters: {
|
|
245
|
+
query?: never;
|
|
246
|
+
header?: never;
|
|
247
|
+
path?: never;
|
|
248
|
+
cookie?: never;
|
|
249
|
+
};
|
|
250
|
+
/**
|
|
251
|
+
* Api Stream
|
|
252
|
+
* @description A page of task `key`'s normalized transcript from line `since`; `since=0` is the tail page.
|
|
253
|
+
*/
|
|
254
|
+
get: operations["api_stream_api_runs__run__stream__key__get"];
|
|
255
|
+
put?: never;
|
|
256
|
+
post?: never;
|
|
257
|
+
delete?: never;
|
|
258
|
+
options?: never;
|
|
259
|
+
head?: never;
|
|
260
|
+
patch?: never;
|
|
261
|
+
trace?: never;
|
|
262
|
+
};
|
|
263
|
+
"/api/runs/{run}/panels/{name}": {
|
|
264
|
+
parameters: {
|
|
265
|
+
query?: never;
|
|
266
|
+
header?: never;
|
|
267
|
+
path?: never;
|
|
268
|
+
cookie?: never;
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* Api Panel
|
|
272
|
+
* @description One run panel's body: a typed body (tiles, a table, charts), or any JSON object;
|
|
273
|
+
* made on a panel thread.
|
|
274
|
+
*/
|
|
275
|
+
get: operations["api_panel_api_runs__run__panels__name__get"];
|
|
276
|
+
put?: never;
|
|
277
|
+
post?: never;
|
|
278
|
+
delete?: never;
|
|
279
|
+
options?: never;
|
|
280
|
+
head?: never;
|
|
281
|
+
patch?: never;
|
|
282
|
+
trace?: never;
|
|
283
|
+
};
|
|
284
|
+
"/events": {
|
|
285
|
+
parameters: {
|
|
286
|
+
query?: never;
|
|
287
|
+
header?: never;
|
|
288
|
+
path?: never;
|
|
289
|
+
cookie?: never;
|
|
290
|
+
};
|
|
291
|
+
/**
|
|
292
|
+
* Events
|
|
293
|
+
* @description The run, live: journal rows as they land, then each other view when it changes.
|
|
294
|
+
*/
|
|
295
|
+
get: operations["events_events_get"];
|
|
296
|
+
put?: never;
|
|
297
|
+
post?: never;
|
|
298
|
+
delete?: never;
|
|
299
|
+
options?: never;
|
|
300
|
+
head?: never;
|
|
301
|
+
patch?: never;
|
|
302
|
+
trace?: never;
|
|
303
|
+
};
|
|
304
|
+
"/events/stream": {
|
|
305
|
+
parameters: {
|
|
306
|
+
query?: never;
|
|
307
|
+
header?: never;
|
|
308
|
+
path?: never;
|
|
309
|
+
cookie?: never;
|
|
310
|
+
};
|
|
311
|
+
/**
|
|
312
|
+
* Events Stream
|
|
313
|
+
* @description Task `key`'s transcript, live: the tail page, then the events after it as they are written.
|
|
314
|
+
*/
|
|
315
|
+
get: operations["events_stream_events_stream_get"];
|
|
316
|
+
put?: never;
|
|
317
|
+
post?: never;
|
|
318
|
+
delete?: never;
|
|
319
|
+
options?: never;
|
|
320
|
+
head?: never;
|
|
321
|
+
patch?: never;
|
|
322
|
+
trace?: never;
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
export type webhooks = Record<string, never>;
|
|
326
|
+
export type components = {
|
|
327
|
+
schemas: {
|
|
328
|
+
/**
|
|
329
|
+
* AccountQuota
|
|
330
|
+
* @description One account's subscription utilization over a run. `last` was taken when the
|
|
331
|
+
* account's last session started, so it leaves out that session's own use.
|
|
332
|
+
*/
|
|
333
|
+
AccountQuota: {
|
|
334
|
+
/** Credential */
|
|
335
|
+
credential: string;
|
|
336
|
+
/**
|
|
337
|
+
* Account
|
|
338
|
+
* @description the account the readings are of (`QuotaReading.account`); empty when not known
|
|
339
|
+
* @default
|
|
340
|
+
*/
|
|
341
|
+
account?: string;
|
|
342
|
+
first: components["schemas"]["QuotaReading"];
|
|
343
|
+
last: components["schemas"]["QuotaReading"];
|
|
344
|
+
/**
|
|
345
|
+
* Rests
|
|
346
|
+
* @description its rests now (`/api/hosts`): those a live run began and that have not ended, nor passed their `until`
|
|
347
|
+
*/
|
|
348
|
+
rests?: components["schemas"]["CredentialRest"][];
|
|
349
|
+
};
|
|
350
|
+
/**
|
|
351
|
+
* AgentProcess
|
|
352
|
+
* @description One live agent launch: the topmost process of a coding-agent CLI, found by its
|
|
353
|
+
* `CONTRAAGENT_*` environment; or, for an agent behind a library-call backend (no
|
|
354
|
+
* child process), the run's own process, from its in-flight marker, with empty
|
|
355
|
+
* `cmd`, `full_cmd`, `role`, `model` and `plugin`.
|
|
356
|
+
*/
|
|
357
|
+
AgentProcess: {
|
|
358
|
+
/** Pid */
|
|
359
|
+
pid: number;
|
|
360
|
+
/** Age S */
|
|
361
|
+
age_s: number;
|
|
362
|
+
/**
|
|
363
|
+
* Cmd
|
|
364
|
+
* @description the first three words of the command line
|
|
365
|
+
*/
|
|
366
|
+
cmd: string;
|
|
367
|
+
/** Full Cmd */
|
|
368
|
+
full_cmd: string;
|
|
369
|
+
/** Children */
|
|
370
|
+
children?: components["schemas"]["ProcNode"][];
|
|
371
|
+
/** Key */
|
|
372
|
+
key: string;
|
|
373
|
+
/** Kind */
|
|
374
|
+
kind: string;
|
|
375
|
+
/** Unit */
|
|
376
|
+
unit: string;
|
|
377
|
+
/**
|
|
378
|
+
* Role
|
|
379
|
+
* @description the role it runs as, from the prompt's TELEMETRY line; empty when none
|
|
380
|
+
*/
|
|
381
|
+
role: string;
|
|
382
|
+
/** Model */
|
|
383
|
+
model: string;
|
|
384
|
+
/** Plugin */
|
|
385
|
+
plugin: string;
|
|
386
|
+
};
|
|
387
|
+
/**
|
|
388
|
+
* BlocksBody
|
|
389
|
+
* @description Bodies one under another: a panel of several parts.
|
|
390
|
+
*/
|
|
391
|
+
BlocksBody: {
|
|
392
|
+
/**
|
|
393
|
+
* Title
|
|
394
|
+
* @description a heading over the body
|
|
395
|
+
*/
|
|
396
|
+
title?: string | null;
|
|
397
|
+
/**
|
|
398
|
+
* Collapsed
|
|
399
|
+
* @description shown folded, under its title
|
|
400
|
+
* @default false
|
|
401
|
+
*/
|
|
402
|
+
collapsed?: boolean;
|
|
403
|
+
/**
|
|
404
|
+
* Type
|
|
405
|
+
* @default blocks
|
|
406
|
+
* @constant
|
|
407
|
+
*/
|
|
408
|
+
type?: "blocks";
|
|
409
|
+
/** Blocks */
|
|
410
|
+
blocks: (components["schemas"]["TilesBody"] | components["schemas"]["TableBody"] | components["schemas"]["ColumnsBody"] | components["schemas"]["LinesBody"] | components["schemas"]["HeatmapBody"] | components["schemas"]["HBarsBody"] | components["schemas"]["StatusGridBody"] | components["schemas"]["NoteBody"] | components["schemas"]["BlocksBody"] | {
|
|
411
|
+
[key: string]: unknown;
|
|
412
|
+
})[];
|
|
413
|
+
};
|
|
414
|
+
/**
|
|
415
|
+
* Changes
|
|
416
|
+
* @description The files one attempt changed under its task's `changes` patterns, as paths relative
|
|
417
|
+
* to the working directory: those it `created`, `modified` and `deleted`.
|
|
418
|
+
*/
|
|
419
|
+
Changes: {
|
|
420
|
+
/**
|
|
421
|
+
* Created
|
|
422
|
+
* @default []
|
|
423
|
+
*/
|
|
424
|
+
created?: string[];
|
|
425
|
+
/**
|
|
426
|
+
* Modified
|
|
427
|
+
* @default []
|
|
428
|
+
*/
|
|
429
|
+
modified?: string[];
|
|
430
|
+
/**
|
|
431
|
+
* Deleted
|
|
432
|
+
* @default []
|
|
433
|
+
*/
|
|
434
|
+
deleted?: string[];
|
|
435
|
+
/**
|
|
436
|
+
* Removed
|
|
437
|
+
* @default []
|
|
438
|
+
*/
|
|
439
|
+
removed?: string[];
|
|
440
|
+
} & {
|
|
441
|
+
[key: string]: unknown;
|
|
442
|
+
};
|
|
443
|
+
/**
|
|
444
|
+
* ChartSeries
|
|
445
|
+
* @description One series: a value per label of the chart's `x`; null where it has none.
|
|
446
|
+
*/
|
|
447
|
+
ChartSeries: {
|
|
448
|
+
/** Name */
|
|
449
|
+
name: string;
|
|
450
|
+
/** Values */
|
|
451
|
+
values: (number | null)[];
|
|
452
|
+
};
|
|
453
|
+
/**
|
|
454
|
+
* ColumnsBody
|
|
455
|
+
* @description Vertical bars, one group per label of `x`; `stacked` puts the series of a label on one bar.
|
|
456
|
+
*/
|
|
457
|
+
ColumnsBody: {
|
|
458
|
+
/**
|
|
459
|
+
* Title
|
|
460
|
+
* @description a heading over the body
|
|
461
|
+
*/
|
|
462
|
+
title?: string | null;
|
|
463
|
+
/**
|
|
464
|
+
* Collapsed
|
|
465
|
+
* @description shown folded, under its title
|
|
466
|
+
* @default false
|
|
467
|
+
*/
|
|
468
|
+
collapsed?: boolean;
|
|
469
|
+
/**
|
|
470
|
+
* Type
|
|
471
|
+
* @default columns
|
|
472
|
+
* @constant
|
|
473
|
+
*/
|
|
474
|
+
type?: "columns";
|
|
475
|
+
/** X */
|
|
476
|
+
x: string[];
|
|
477
|
+
/** Series */
|
|
478
|
+
series: components["schemas"]["ChartSeries"][];
|
|
479
|
+
/** Unit */
|
|
480
|
+
unit?: ("usd" | "pct" | "duration" | "tokens" | "datetime" | "number") | null;
|
|
481
|
+
/**
|
|
482
|
+
* Stacked
|
|
483
|
+
* @default false
|
|
484
|
+
*/
|
|
485
|
+
stacked?: boolean;
|
|
486
|
+
};
|
|
487
|
+
/**
|
|
488
|
+
* ContractField
|
|
489
|
+
* @description One top-level field of the model a contract file must satisfy.
|
|
490
|
+
*/
|
|
491
|
+
ContractField: {
|
|
492
|
+
/** Name */
|
|
493
|
+
name: string;
|
|
494
|
+
/**
|
|
495
|
+
* Type
|
|
496
|
+
* @description JSON-schema type, `list[...]`, a `$ref` name, or `a|b` for a union
|
|
497
|
+
*/
|
|
498
|
+
type: string;
|
|
499
|
+
/** Required */
|
|
500
|
+
required: boolean;
|
|
501
|
+
};
|
|
502
|
+
/**
|
|
503
|
+
* ContractRecord
|
|
504
|
+
* @description What one task declared it reads and leaves behind (`contracts/<key>.json`).
|
|
505
|
+
*/
|
|
506
|
+
ContractRecord: {
|
|
507
|
+
/** Key */
|
|
508
|
+
key: string;
|
|
509
|
+
/**
|
|
510
|
+
* Kind
|
|
511
|
+
* @default
|
|
512
|
+
*/
|
|
513
|
+
kind?: string;
|
|
514
|
+
/**
|
|
515
|
+
* Unit
|
|
516
|
+
* @default
|
|
517
|
+
*/
|
|
518
|
+
unit?: string;
|
|
519
|
+
/**
|
|
520
|
+
* Executor
|
|
521
|
+
* @default agent
|
|
522
|
+
* @enum {string}
|
|
523
|
+
*/
|
|
524
|
+
executor?: "agent" | "python";
|
|
525
|
+
/**
|
|
526
|
+
* Params
|
|
527
|
+
* @description the task's params that are strings, numbers or booleans; an earlier task's output is one of `inputs`
|
|
528
|
+
*/
|
|
529
|
+
params?: {
|
|
530
|
+
[key: string]: string | number | boolean;
|
|
531
|
+
};
|
|
532
|
+
/** Outputs */
|
|
533
|
+
outputs?: components["schemas"]["ContractSpec"][];
|
|
534
|
+
/** Inputs */
|
|
535
|
+
inputs?: components["schemas"]["ContractSpec"][];
|
|
536
|
+
} & {
|
|
537
|
+
[key: string]: unknown;
|
|
538
|
+
};
|
|
539
|
+
/**
|
|
540
|
+
* ContractSpec
|
|
541
|
+
* @description One declared `OutputContract` / `InputContract` (its record, passed through,
|
|
542
|
+
* minus the raw JSON schema, which `fields` summarizes). `status`, `rounds`
|
|
543
|
+
* and `errors` are on outputs only.
|
|
544
|
+
*/
|
|
545
|
+
ContractSpec: {
|
|
546
|
+
/**
|
|
547
|
+
* Io
|
|
548
|
+
* @enum {string}
|
|
549
|
+
*/
|
|
550
|
+
io: "output" | "input";
|
|
551
|
+
/** Path */
|
|
552
|
+
path: string;
|
|
553
|
+
/**
|
|
554
|
+
* Producer
|
|
555
|
+
* @description input: the key of the task whose output it is
|
|
556
|
+
*/
|
|
557
|
+
producer?: string | null;
|
|
558
|
+
/** Schema Name */
|
|
559
|
+
schema_name: string;
|
|
560
|
+
/**
|
|
561
|
+
* Schema Ref
|
|
562
|
+
* @default
|
|
563
|
+
*/
|
|
564
|
+
schema_ref?: string;
|
|
565
|
+
/** Fresh */
|
|
566
|
+
fresh?: boolean | null;
|
|
567
|
+
/** Required */
|
|
568
|
+
required?: boolean | null;
|
|
569
|
+
/** Validators */
|
|
570
|
+
validators?: string[];
|
|
571
|
+
/**
|
|
572
|
+
* Preserve
|
|
573
|
+
* @description output: JSON pointers to the parts of the file the task keeps as they were (`*`: every member)
|
|
574
|
+
*/
|
|
575
|
+
preserve?: string[];
|
|
576
|
+
file: components["schemas"]["FileView"];
|
|
577
|
+
/** Fields */
|
|
578
|
+
fields: components["schemas"]["ContractField"][];
|
|
579
|
+
/** Status */
|
|
580
|
+
status?: ("valid" | "invalid" | "refused" | "pending" | "failed" | "running") | null;
|
|
581
|
+
/**
|
|
582
|
+
* Rounds
|
|
583
|
+
* @description rounds it took to pass, when the journal recorded it
|
|
584
|
+
*/
|
|
585
|
+
rounds?: number | null;
|
|
586
|
+
/** Errors */
|
|
587
|
+
errors?: string[];
|
|
588
|
+
} & {
|
|
589
|
+
[key: string]: unknown;
|
|
590
|
+
};
|
|
591
|
+
/**
|
|
592
|
+
* CredentialRest
|
|
593
|
+
* @description A rest of one credential (`rests.jsonl`): why it began, when, and when it ended.
|
|
594
|
+
*/
|
|
595
|
+
CredentialRest: {
|
|
596
|
+
/** Credential */
|
|
597
|
+
credential: string;
|
|
598
|
+
/**
|
|
599
|
+
* Window
|
|
600
|
+
* @default
|
|
601
|
+
* @enum {string}
|
|
602
|
+
*/
|
|
603
|
+
window?: "" | "five_hour" | "seven_day";
|
|
604
|
+
/** Pct */
|
|
605
|
+
pct?: number | null;
|
|
606
|
+
/** Cap */
|
|
607
|
+
cap?: number | null;
|
|
608
|
+
/**
|
|
609
|
+
* Rule
|
|
610
|
+
* @default
|
|
611
|
+
*/
|
|
612
|
+
rule?: string;
|
|
613
|
+
/**
|
|
614
|
+
* Until
|
|
615
|
+
* @default
|
|
616
|
+
*/
|
|
617
|
+
until?: string;
|
|
618
|
+
/**
|
|
619
|
+
* Account
|
|
620
|
+
* @default
|
|
621
|
+
*/
|
|
622
|
+
account?: string;
|
|
623
|
+
/** Reading */
|
|
624
|
+
reading?: {
|
|
625
|
+
[key: string]: unknown;
|
|
626
|
+
} | null;
|
|
627
|
+
/**
|
|
628
|
+
* Since
|
|
629
|
+
* @description when it began resting, ISO 8601
|
|
630
|
+
*/
|
|
631
|
+
since: string;
|
|
632
|
+
/**
|
|
633
|
+
* Ended
|
|
634
|
+
* @description when it was found not resting again, ISO 8601; empty while it rests (or the run ended first)
|
|
635
|
+
* @default
|
|
636
|
+
*/
|
|
637
|
+
ended?: string;
|
|
638
|
+
} & {
|
|
639
|
+
[key: string]: unknown;
|
|
640
|
+
};
|
|
641
|
+
/**
|
|
642
|
+
* CursorMessage
|
|
643
|
+
* @description The resume cursor, or null for a run that keeps none.
|
|
644
|
+
*/
|
|
645
|
+
CursorMessage: {
|
|
646
|
+
/**
|
|
647
|
+
* Event
|
|
648
|
+
* @constant
|
|
649
|
+
*/
|
|
650
|
+
event: "cursor";
|
|
651
|
+
data: components["schemas"]["CursorView"] | null;
|
|
652
|
+
};
|
|
653
|
+
/**
|
|
654
|
+
* CursorView
|
|
655
|
+
* @description The run's resume cursor. The REST endpoint answers `{}` (every field
|
|
656
|
+
* absent) for a run that keeps none; the live feed sends `null`.
|
|
657
|
+
*/
|
|
658
|
+
CursorView: {
|
|
659
|
+
/** Stage */
|
|
660
|
+
stage?: string | null;
|
|
661
|
+
/** Completed Stages */
|
|
662
|
+
completed_stages?: string[];
|
|
663
|
+
/** History */
|
|
664
|
+
history?: components["schemas"]["StageEntry"][];
|
|
665
|
+
/**
|
|
666
|
+
* Updated At
|
|
667
|
+
* @default
|
|
668
|
+
*/
|
|
669
|
+
updated_at?: string;
|
|
670
|
+
/** Units */
|
|
671
|
+
units?: {
|
|
672
|
+
[key: string]: components["schemas"]["UnitPosition"];
|
|
673
|
+
};
|
|
674
|
+
/**
|
|
675
|
+
* Markers
|
|
676
|
+
* @description free-form event lists by name
|
|
677
|
+
*/
|
|
678
|
+
markers?: {
|
|
679
|
+
[key: string]: {
|
|
680
|
+
[key: string]: unknown;
|
|
681
|
+
}[];
|
|
682
|
+
};
|
|
683
|
+
};
|
|
684
|
+
/**
|
|
685
|
+
* DeferralCause
|
|
686
|
+
* @description Why a task was deferred, as data (`Deferral.cause`). `cause`: `deadline`,
|
|
687
|
+
* `grace_window` (past the deadline's grace window), `cannot_finish` (`need_s`, `left_s`),
|
|
688
|
+
* `dependency_not_queued`, `dependency_deferred` (a task whose output it reads was
|
|
689
|
+
* deferred: `dependency`), `rest` (the credential of every hop it could take rests:
|
|
690
|
+
* `rests`), or a runner's own name. A field a cause does not have is left unset, and
|
|
691
|
+
* `deferred.jsonl` records only the fields set.
|
|
692
|
+
*/
|
|
693
|
+
DeferralCause: {
|
|
694
|
+
/** Cause */
|
|
695
|
+
cause: string;
|
|
696
|
+
/**
|
|
697
|
+
* Need S
|
|
698
|
+
* @description `cannot_finish`: the work it needed, in seconds
|
|
699
|
+
*/
|
|
700
|
+
need_s?: number | null;
|
|
701
|
+
/**
|
|
702
|
+
* Left S
|
|
703
|
+
* @description `cannot_finish`: the time left before the deadline, in seconds
|
|
704
|
+
*/
|
|
705
|
+
left_s?: number | null;
|
|
706
|
+
/**
|
|
707
|
+
* Flow Call
|
|
708
|
+
* @description `deadline`, `grace_window`, `cannot_finish`: the flow call whose time box it is; null for the run's deadline
|
|
709
|
+
*/
|
|
710
|
+
flow_call?: string | null;
|
|
711
|
+
/**
|
|
712
|
+
* Rests
|
|
713
|
+
* @description `rest`: each hop passed over and why its credential rests
|
|
714
|
+
* @default []
|
|
715
|
+
*/
|
|
716
|
+
rests?: components["schemas"]["SkippedHop"][];
|
|
717
|
+
/**
|
|
718
|
+
* Dependency
|
|
719
|
+
* @description `dependency_deferred`: the key of the deferred task whose output it reads
|
|
720
|
+
*/
|
|
721
|
+
dependency?: string | null;
|
|
722
|
+
};
|
|
723
|
+
/**
|
|
724
|
+
* DefinitionFile
|
|
725
|
+
* @description One file that defines a task: its instructions (a task without a plugin), the role's agent file, a skill, the schema ...
|
|
726
|
+
*/
|
|
727
|
+
DefinitionFile: {
|
|
728
|
+
/** Path */
|
|
729
|
+
path: string;
|
|
730
|
+
/** Part */
|
|
731
|
+
part: string;
|
|
732
|
+
/** Text */
|
|
733
|
+
text: string;
|
|
734
|
+
} & {
|
|
735
|
+
[key: string]: unknown;
|
|
736
|
+
};
|
|
737
|
+
/** DownstreamTask */
|
|
738
|
+
DownstreamTask: {
|
|
739
|
+
/** Key */
|
|
740
|
+
key: string;
|
|
741
|
+
/** Kind */
|
|
742
|
+
kind: string;
|
|
743
|
+
/** Unit */
|
|
744
|
+
unit: string;
|
|
745
|
+
/**
|
|
746
|
+
* Executor
|
|
747
|
+
* @enum {string}
|
|
748
|
+
*/
|
|
749
|
+
executor: "agent" | "python";
|
|
750
|
+
};
|
|
751
|
+
/**
|
|
752
|
+
* DroppedRoute
|
|
753
|
+
* @description A route the preflight dropped: not in its agent's model list, or its probe did not
|
|
754
|
+
* complete. `kinds`: the kinds whose chain held it.
|
|
755
|
+
*/
|
|
756
|
+
DroppedRoute: {
|
|
757
|
+
/** Agent */
|
|
758
|
+
agent: string;
|
|
759
|
+
/**
|
|
760
|
+
* Model
|
|
761
|
+
* @description empty: the coding agent's default model
|
|
762
|
+
*/
|
|
763
|
+
model: string;
|
|
764
|
+
/** Credential */
|
|
765
|
+
credential: string;
|
|
766
|
+
/**
|
|
767
|
+
* Reason
|
|
768
|
+
* @description not in its coding agent's model list, or how its probe ended (`rate limited`, ...)
|
|
769
|
+
*/
|
|
770
|
+
reason: string;
|
|
771
|
+
/**
|
|
772
|
+
* Kinds
|
|
773
|
+
* @description the kinds whose chain held it
|
|
774
|
+
*/
|
|
775
|
+
kinds: string[];
|
|
776
|
+
};
|
|
777
|
+
/**
|
|
778
|
+
* ExportInfo
|
|
779
|
+
* @description What an export holds (`contraagent monitor export`): the monitor's views of some
|
|
780
|
+
* runs, written as files and read without a server.
|
|
781
|
+
*/
|
|
782
|
+
ExportInfo: {
|
|
783
|
+
/**
|
|
784
|
+
* Exported At
|
|
785
|
+
* @description when it was written, ISO 8601
|
|
786
|
+
*/
|
|
787
|
+
exported_at: string;
|
|
788
|
+
/**
|
|
789
|
+
* Runs
|
|
790
|
+
* @description the runs it holds, newest activity first
|
|
791
|
+
*/
|
|
792
|
+
runs: string[];
|
|
793
|
+
/**
|
|
794
|
+
* Left Out
|
|
795
|
+
* @description the views it does not hold: `transcripts`, `processes`
|
|
796
|
+
*/
|
|
797
|
+
left_out: string[];
|
|
798
|
+
/**
|
|
799
|
+
* Redacted
|
|
800
|
+
* @description what was taken out of the views: `paths` (made relative, else `<path>`), `host`, and each key named with --exclude
|
|
801
|
+
*/
|
|
802
|
+
redacted: string[];
|
|
803
|
+
};
|
|
804
|
+
/** FeedReady */
|
|
805
|
+
FeedReady: {
|
|
806
|
+
/**
|
|
807
|
+
* Journal
|
|
808
|
+
* @description journal rows sent before this message
|
|
809
|
+
*/
|
|
810
|
+
journal: number;
|
|
811
|
+
};
|
|
812
|
+
/**
|
|
813
|
+
* FileView
|
|
814
|
+
* @description A contract's file as it is now. `content` is the parsed JSON, else the
|
|
815
|
+
* text (cut at 20 000 characters, `truncated`), else null when unreadable.
|
|
816
|
+
*/
|
|
817
|
+
FileView: {
|
|
818
|
+
/** Exists */
|
|
819
|
+
exists: boolean;
|
|
820
|
+
/**
|
|
821
|
+
* Size
|
|
822
|
+
* @default 0
|
|
823
|
+
*/
|
|
824
|
+
size?: number;
|
|
825
|
+
/**
|
|
826
|
+
* Mtime
|
|
827
|
+
* @default
|
|
828
|
+
*/
|
|
829
|
+
mtime?: string;
|
|
830
|
+
/**
|
|
831
|
+
* Truncated
|
|
832
|
+
* @default false
|
|
833
|
+
*/
|
|
834
|
+
truncated?: boolean;
|
|
835
|
+
/** Content */
|
|
836
|
+
content?: unknown;
|
|
837
|
+
};
|
|
838
|
+
/**
|
|
839
|
+
* FlowCallNode
|
|
840
|
+
* @description One flow call (`flow_calls.jsonl`): a generator the run drove, or the flow itself.
|
|
841
|
+
*/
|
|
842
|
+
FlowCallNode: {
|
|
843
|
+
/**
|
|
844
|
+
* Id
|
|
845
|
+
* @description `0` for the top flow, `<parent>.<n>` for a child
|
|
846
|
+
*/
|
|
847
|
+
id: string;
|
|
848
|
+
/**
|
|
849
|
+
* Parent
|
|
850
|
+
* @description the parent flow call's id; null for a top flow
|
|
851
|
+
*/
|
|
852
|
+
parent: string | null;
|
|
853
|
+
/**
|
|
854
|
+
* Function
|
|
855
|
+
* @description `module.qualname` of the generator function (or of a flow that does not yield)
|
|
856
|
+
*/
|
|
857
|
+
function: string;
|
|
858
|
+
/**
|
|
859
|
+
* Flow
|
|
860
|
+
* @description the flow path where the parent yielded it, with its loops' passes; empty for a top flow
|
|
861
|
+
*/
|
|
862
|
+
flow?: components["schemas"]["Frame"][];
|
|
863
|
+
/**
|
|
864
|
+
* State
|
|
865
|
+
* @enum {string}
|
|
866
|
+
*/
|
|
867
|
+
state: "running" | "returned" | "raised" | "closed";
|
|
868
|
+
/**
|
|
869
|
+
* Error
|
|
870
|
+
* @description `<type>: <message>` of what it raised (or what closing it raised); else null
|
|
871
|
+
*/
|
|
872
|
+
error?: string | null;
|
|
873
|
+
/** @description its own deadline, for a flow call yielded through `time_box`; else null */
|
|
874
|
+
time_box?: components["schemas"]["TimeBoxRecord"] | null;
|
|
875
|
+
};
|
|
876
|
+
/**
|
|
877
|
+
* Frame
|
|
878
|
+
* @description One frame of a flow path (outermost first): a call site in flow code where a task
|
|
879
|
+
* was created. A comprehension is not a loop.
|
|
880
|
+
*/
|
|
881
|
+
Frame: {
|
|
882
|
+
/**
|
|
883
|
+
* Function
|
|
884
|
+
* @description `module.qualname`
|
|
885
|
+
*/
|
|
886
|
+
function: string;
|
|
887
|
+
/**
|
|
888
|
+
* File
|
|
889
|
+
* @description relative to the run's working directory when under it, else as recorded
|
|
890
|
+
*/
|
|
891
|
+
file: string;
|
|
892
|
+
/** Line */
|
|
893
|
+
line: number;
|
|
894
|
+
/**
|
|
895
|
+
* Loops
|
|
896
|
+
* @description the loops of a generator whose pass `line` was in, outermost first; empty outside a loop and for any other frame
|
|
897
|
+
* @default []
|
|
898
|
+
*/
|
|
899
|
+
loops?: components["schemas"]["Loop"][];
|
|
900
|
+
};
|
|
901
|
+
/**
|
|
902
|
+
* GridCell
|
|
903
|
+
* @description One cell of a status grid: the state it is in, in words, and that state's tone.
|
|
904
|
+
* `tip` adds a fact about this cell to its tooltip (a run's id, a count).
|
|
905
|
+
*/
|
|
906
|
+
GridCell: {
|
|
907
|
+
/** Label */
|
|
908
|
+
label: string;
|
|
909
|
+
/**
|
|
910
|
+
* Tone
|
|
911
|
+
* @enum {string}
|
|
912
|
+
*/
|
|
913
|
+
tone: "failed" | "attention" | "done" | "running" | "muted" | "neutral";
|
|
914
|
+
/** Tip */
|
|
915
|
+
tip?: string | null;
|
|
916
|
+
};
|
|
917
|
+
/** HBar */
|
|
918
|
+
HBar: {
|
|
919
|
+
/** Label */
|
|
920
|
+
label: string;
|
|
921
|
+
/** Value */
|
|
922
|
+
value: number;
|
|
923
|
+
/** Tone */
|
|
924
|
+
tone?: ("failed" | "attention" | "done" | "running" | "muted" | "neutral") | null;
|
|
925
|
+
};
|
|
926
|
+
/**
|
|
927
|
+
* HBarsBody
|
|
928
|
+
* @description Horizontal bars, one per label, in the order given.
|
|
929
|
+
*/
|
|
930
|
+
HBarsBody: {
|
|
931
|
+
/**
|
|
932
|
+
* Title
|
|
933
|
+
* @description a heading over the body
|
|
934
|
+
*/
|
|
935
|
+
title?: string | null;
|
|
936
|
+
/**
|
|
937
|
+
* Collapsed
|
|
938
|
+
* @description shown folded, under its title
|
|
939
|
+
* @default false
|
|
940
|
+
*/
|
|
941
|
+
collapsed?: boolean;
|
|
942
|
+
/**
|
|
943
|
+
* Type
|
|
944
|
+
* @default hbars
|
|
945
|
+
* @constant
|
|
946
|
+
*/
|
|
947
|
+
type?: "hbars";
|
|
948
|
+
/** Bars */
|
|
949
|
+
bars: components["schemas"]["HBar"][];
|
|
950
|
+
/** Unit */
|
|
951
|
+
unit?: ("usd" | "pct" | "duration" | "tokens" | "datetime" | "number") | null;
|
|
952
|
+
};
|
|
953
|
+
/** HTTPValidationError */
|
|
954
|
+
HTTPValidationError: {
|
|
955
|
+
/** Detail */
|
|
956
|
+
detail?: components["schemas"]["ValidationError"][];
|
|
957
|
+
};
|
|
958
|
+
/**
|
|
959
|
+
* HeatmapBody
|
|
960
|
+
* @description A value per row (`y`) and column (`x`): `values[row][column]`, null where there is none.
|
|
961
|
+
*/
|
|
962
|
+
HeatmapBody: {
|
|
963
|
+
/**
|
|
964
|
+
* Title
|
|
965
|
+
* @description a heading over the body
|
|
966
|
+
*/
|
|
967
|
+
title?: string | null;
|
|
968
|
+
/**
|
|
969
|
+
* Collapsed
|
|
970
|
+
* @description shown folded, under its title
|
|
971
|
+
* @default false
|
|
972
|
+
*/
|
|
973
|
+
collapsed?: boolean;
|
|
974
|
+
/**
|
|
975
|
+
* Type
|
|
976
|
+
* @default heatmap
|
|
977
|
+
* @constant
|
|
978
|
+
*/
|
|
979
|
+
type?: "heatmap";
|
|
980
|
+
/** X */
|
|
981
|
+
x: string[];
|
|
982
|
+
/** Y */
|
|
983
|
+
y: string[];
|
|
984
|
+
/** Values */
|
|
985
|
+
values: (number | null)[][];
|
|
986
|
+
/** Unit */
|
|
987
|
+
unit?: ("usd" | "pct" | "duration" | "tokens" | "datetime" | "number") | null;
|
|
988
|
+
};
|
|
989
|
+
/**
|
|
990
|
+
* Hop
|
|
991
|
+
* @description One launch of an attempt on one route of its failover chain: where it ran and how
|
|
992
|
+
* it ended.
|
|
993
|
+
*/
|
|
994
|
+
Hop: {
|
|
995
|
+
/**
|
|
996
|
+
* Route
|
|
997
|
+
* @default
|
|
998
|
+
*/
|
|
999
|
+
route?: string;
|
|
1000
|
+
/**
|
|
1001
|
+
* Agent
|
|
1002
|
+
* @default
|
|
1003
|
+
*/
|
|
1004
|
+
agent?: string;
|
|
1005
|
+
/**
|
|
1006
|
+
* Model
|
|
1007
|
+
* @default
|
|
1008
|
+
*/
|
|
1009
|
+
model?: string;
|
|
1010
|
+
/**
|
|
1011
|
+
* Credential
|
|
1012
|
+
* @default
|
|
1013
|
+
*/
|
|
1014
|
+
credential?: string;
|
|
1015
|
+
/**
|
|
1016
|
+
* Stop
|
|
1017
|
+
* @default
|
|
1018
|
+
*/
|
|
1019
|
+
stop?: string;
|
|
1020
|
+
/**
|
|
1021
|
+
* Wall S
|
|
1022
|
+
* @default 0
|
|
1023
|
+
*/
|
|
1024
|
+
wall_s?: number;
|
|
1025
|
+
/** Cost Usd */
|
|
1026
|
+
cost_usd?: number | null;
|
|
1027
|
+
usage?: components["schemas"]["TokenUsage"] | null;
|
|
1028
|
+
/** Other Models */
|
|
1029
|
+
other_models?: {
|
|
1030
|
+
[key: string]: components["schemas"]["OtherModel"];
|
|
1031
|
+
};
|
|
1032
|
+
} & {
|
|
1033
|
+
[key: string]: unknown;
|
|
1034
|
+
};
|
|
1035
|
+
/**
|
|
1036
|
+
* HostSummary
|
|
1037
|
+
* @description One host that drives runs.
|
|
1038
|
+
*/
|
|
1039
|
+
HostSummary: {
|
|
1040
|
+
/** Host Id */
|
|
1041
|
+
host_id: string;
|
|
1042
|
+
/**
|
|
1043
|
+
* Up
|
|
1044
|
+
* @description its reports keep arriving (a hub: a heartbeat within the TTL; one host: always)
|
|
1045
|
+
*/
|
|
1046
|
+
up: boolean;
|
|
1047
|
+
/**
|
|
1048
|
+
* Last Seen
|
|
1049
|
+
* @description when it last reported, ISO 8601; empty when it does not report (one host)
|
|
1050
|
+
*/
|
|
1051
|
+
last_seen: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* Interval S
|
|
1054
|
+
* @description seconds between its reports; null when it does not report
|
|
1055
|
+
*/
|
|
1056
|
+
interval_s: number | null;
|
|
1057
|
+
/**
|
|
1058
|
+
* Runs
|
|
1059
|
+
* @description its runs
|
|
1060
|
+
*/
|
|
1061
|
+
runs: number;
|
|
1062
|
+
/**
|
|
1063
|
+
* Running
|
|
1064
|
+
* @description its runs whose process is alive
|
|
1065
|
+
*/
|
|
1066
|
+
running: number;
|
|
1067
|
+
/**
|
|
1068
|
+
* Unresponsive
|
|
1069
|
+
* @description its runs last reported alive since it stopped reporting
|
|
1070
|
+
*/
|
|
1071
|
+
unresponsive: number;
|
|
1072
|
+
};
|
|
1073
|
+
/**
|
|
1074
|
+
* Hosts
|
|
1075
|
+
* @description The hosts, and each account's utilization over every run of every host.
|
|
1076
|
+
*/
|
|
1077
|
+
Hosts: {
|
|
1078
|
+
/** Hosts */
|
|
1079
|
+
hosts: components["schemas"]["HostSummary"][];
|
|
1080
|
+
/**
|
|
1081
|
+
* Quota
|
|
1082
|
+
* @description per credential (account): its first and last utilization reading over every run; highest weekly use first
|
|
1083
|
+
*/
|
|
1084
|
+
quota?: components["schemas"]["AccountQuota"][];
|
|
1085
|
+
};
|
|
1086
|
+
/**
|
|
1087
|
+
* InflightPythonTask
|
|
1088
|
+
* @description A Python task running inside the run's own process.
|
|
1089
|
+
*/
|
|
1090
|
+
InflightPythonTask: {
|
|
1091
|
+
/** Key */
|
|
1092
|
+
key: string;
|
|
1093
|
+
/** Kind */
|
|
1094
|
+
kind: string;
|
|
1095
|
+
/** Unit */
|
|
1096
|
+
unit: string;
|
|
1097
|
+
/** Pid */
|
|
1098
|
+
pid: number;
|
|
1099
|
+
/** Age S */
|
|
1100
|
+
age_s: number;
|
|
1101
|
+
};
|
|
1102
|
+
/**
|
|
1103
|
+
* Info
|
|
1104
|
+
* @description What the UI shows before a run is picked: the title, the panel tabs to offer,
|
|
1105
|
+
* and the version of this contract.
|
|
1106
|
+
*/
|
|
1107
|
+
Info: {
|
|
1108
|
+
/** Title */
|
|
1109
|
+
title: string;
|
|
1110
|
+
/** Panels */
|
|
1111
|
+
panels: components["schemas"]["PanelInfo"][];
|
|
1112
|
+
/**
|
|
1113
|
+
* Api Version
|
|
1114
|
+
* @description Version of this API contract (semver)
|
|
1115
|
+
*/
|
|
1116
|
+
api_version: string;
|
|
1117
|
+
/**
|
|
1118
|
+
* Hosts
|
|
1119
|
+
* @description the runs come from many hosts (a hub): `/api/hosts` lists them
|
|
1120
|
+
* @default false
|
|
1121
|
+
*/
|
|
1122
|
+
hosts?: boolean;
|
|
1123
|
+
/** @description set only in an export: what it holds; a server never sends it */
|
|
1124
|
+
export?: components["schemas"]["ExportInfo"] | null;
|
|
1125
|
+
};
|
|
1126
|
+
/**
|
|
1127
|
+
* JournalMessage
|
|
1128
|
+
* @description One journal row, sent once per row: the whole journal on connect, then each new row.
|
|
1129
|
+
*/
|
|
1130
|
+
JournalMessage: {
|
|
1131
|
+
/**
|
|
1132
|
+
* Event
|
|
1133
|
+
* @constant
|
|
1134
|
+
*/
|
|
1135
|
+
event: "journal";
|
|
1136
|
+
data: components["schemas"]["JournalRow"];
|
|
1137
|
+
};
|
|
1138
|
+
/**
|
|
1139
|
+
* JournalPage
|
|
1140
|
+
* @description Journal rows after a line offset; pass `total` back as `since` to get only newer rows.
|
|
1141
|
+
*/
|
|
1142
|
+
JournalPage: {
|
|
1143
|
+
/** Entries */
|
|
1144
|
+
entries: components["schemas"]["JournalRow"][];
|
|
1145
|
+
/** Total */
|
|
1146
|
+
total: number;
|
|
1147
|
+
};
|
|
1148
|
+
/**
|
|
1149
|
+
* JournalRow
|
|
1150
|
+
* @description One finished attempt. `key` is the stable `Task.key`, one task; `kind`
|
|
1151
|
+
* and `unit` are its kind and unit; `executor` says who ran it; `stop` is
|
|
1152
|
+
* `Stop.value` (or a Python task's completed/error).
|
|
1153
|
+
*/
|
|
1154
|
+
JournalRow: {
|
|
1155
|
+
/** Ts */
|
|
1156
|
+
ts: string;
|
|
1157
|
+
/**
|
|
1158
|
+
* Run Id
|
|
1159
|
+
* @default
|
|
1160
|
+
*/
|
|
1161
|
+
run_id?: string;
|
|
1162
|
+
/**
|
|
1163
|
+
* Run Group
|
|
1164
|
+
* @default
|
|
1165
|
+
*/
|
|
1166
|
+
run_group?: string;
|
|
1167
|
+
/** Key */
|
|
1168
|
+
key: string;
|
|
1169
|
+
/**
|
|
1170
|
+
* Attempt
|
|
1171
|
+
* @default 0
|
|
1172
|
+
*/
|
|
1173
|
+
attempt?: number;
|
|
1174
|
+
/** Kind */
|
|
1175
|
+
kind: string;
|
|
1176
|
+
/**
|
|
1177
|
+
* Executor
|
|
1178
|
+
* @default agent
|
|
1179
|
+
* @enum {string}
|
|
1180
|
+
*/
|
|
1181
|
+
executor?: "agent" | "python";
|
|
1182
|
+
/**
|
|
1183
|
+
* Unit
|
|
1184
|
+
* @default
|
|
1185
|
+
*/
|
|
1186
|
+
unit?: string;
|
|
1187
|
+
/**
|
|
1188
|
+
* Agent
|
|
1189
|
+
* @default
|
|
1190
|
+
*/
|
|
1191
|
+
agent?: string;
|
|
1192
|
+
/**
|
|
1193
|
+
* Model
|
|
1194
|
+
* @default
|
|
1195
|
+
*/
|
|
1196
|
+
model?: string;
|
|
1197
|
+
/**
|
|
1198
|
+
* Credential
|
|
1199
|
+
* @default
|
|
1200
|
+
*/
|
|
1201
|
+
credential?: string;
|
|
1202
|
+
/**
|
|
1203
|
+
* Route
|
|
1204
|
+
* @default
|
|
1205
|
+
*/
|
|
1206
|
+
route?: string;
|
|
1207
|
+
/** Hops */
|
|
1208
|
+
hops?: components["schemas"]["Hop"][];
|
|
1209
|
+
/** Skipped Hops */
|
|
1210
|
+
skipped_hops?: components["schemas"]["SkippedHop"][];
|
|
1211
|
+
/**
|
|
1212
|
+
* Stop
|
|
1213
|
+
* @enum {string}
|
|
1214
|
+
*/
|
|
1215
|
+
stop: "completed" | "timeout" | "max_turns" | "budget" | "context_budget" | "stalled" | "auth_failed" | "api_error" | "rate_limited" | "refused" | "aborted" | "denied" | "error" | "no_output" | "launch_failed" | "invalid_output" | "invalid_input" | "credential_mismatch" | "skipped" | "partial";
|
|
1216
|
+
/** Ok */
|
|
1217
|
+
ok: boolean;
|
|
1218
|
+
/**
|
|
1219
|
+
* Wall S
|
|
1220
|
+
* @default 0
|
|
1221
|
+
*/
|
|
1222
|
+
wall_s?: number;
|
|
1223
|
+
/** Exit Code */
|
|
1224
|
+
exit_code?: number | null;
|
|
1225
|
+
/** Signal */
|
|
1226
|
+
signal?: number | null;
|
|
1227
|
+
/**
|
|
1228
|
+
* Reason
|
|
1229
|
+
* @default
|
|
1230
|
+
*/
|
|
1231
|
+
reason?: string;
|
|
1232
|
+
/** Rounds */
|
|
1233
|
+
rounds?: number | null;
|
|
1234
|
+
/** Round Errors */
|
|
1235
|
+
round_errors?: string[][];
|
|
1236
|
+
/** Hook Errors */
|
|
1237
|
+
hook_errors?: string[][];
|
|
1238
|
+
usage?: components["schemas"]["TokenUsage"] | null;
|
|
1239
|
+
/** Cost Usd */
|
|
1240
|
+
cost_usd?: number | null;
|
|
1241
|
+
/** Quota */
|
|
1242
|
+
quota?: components["schemas"]["QuotaReading"][];
|
|
1243
|
+
/** Web Queries */
|
|
1244
|
+
web_queries?: string[];
|
|
1245
|
+
/** Unread Events */
|
|
1246
|
+
unread_events?: {
|
|
1247
|
+
[key: string]: number;
|
|
1248
|
+
};
|
|
1249
|
+
changes?: components["schemas"]["Changes"] | null;
|
|
1250
|
+
/** Context Budget */
|
|
1251
|
+
context_budget?: number | null;
|
|
1252
|
+
/**
|
|
1253
|
+
* Context Warned
|
|
1254
|
+
* @default false
|
|
1255
|
+
*/
|
|
1256
|
+
context_warned?: boolean;
|
|
1257
|
+
/**
|
|
1258
|
+
* Fingerprint
|
|
1259
|
+
* @default
|
|
1260
|
+
*/
|
|
1261
|
+
fingerprint?: string;
|
|
1262
|
+
/** Flow Call */
|
|
1263
|
+
flow_call?: string | null;
|
|
1264
|
+
/**
|
|
1265
|
+
* Replayed
|
|
1266
|
+
* @default false
|
|
1267
|
+
*/
|
|
1268
|
+
replayed?: boolean;
|
|
1269
|
+
} & {
|
|
1270
|
+
[key: string]: unknown;
|
|
1271
|
+
};
|
|
1272
|
+
/**
|
|
1273
|
+
* KeptKind
|
|
1274
|
+
* @description A kind with no route left, run as configured all the same (`substitute`), and why.
|
|
1275
|
+
*/
|
|
1276
|
+
KeptKind: {
|
|
1277
|
+
/** Kind */
|
|
1278
|
+
kind: string;
|
|
1279
|
+
/** Agent */
|
|
1280
|
+
agent: string;
|
|
1281
|
+
/** Model */
|
|
1282
|
+
model: string;
|
|
1283
|
+
/** Reason */
|
|
1284
|
+
reason: string;
|
|
1285
|
+
};
|
|
1286
|
+
/**
|
|
1287
|
+
* LaunchEvent
|
|
1288
|
+
* @description Head of one invocation: the exact argv, cwd and the submitted prompt.
|
|
1289
|
+
*/
|
|
1290
|
+
LaunchEvent: {
|
|
1291
|
+
/**
|
|
1292
|
+
* Type
|
|
1293
|
+
* @constant
|
|
1294
|
+
*/
|
|
1295
|
+
type: "launch";
|
|
1296
|
+
/**
|
|
1297
|
+
* Ts
|
|
1298
|
+
* @description Unix time the launch started
|
|
1299
|
+
*/
|
|
1300
|
+
ts?: number | null;
|
|
1301
|
+
/** Argv */
|
|
1302
|
+
argv: string[];
|
|
1303
|
+
/** Cwd */
|
|
1304
|
+
cwd: string;
|
|
1305
|
+
/**
|
|
1306
|
+
* Prompt
|
|
1307
|
+
* @description cut at 200 000 characters
|
|
1308
|
+
*/
|
|
1309
|
+
prompt: string;
|
|
1310
|
+
/**
|
|
1311
|
+
* Prompt Truncated
|
|
1312
|
+
* @description characters of the prompt not shown
|
|
1313
|
+
* @default 0
|
|
1314
|
+
*/
|
|
1315
|
+
prompt_truncated?: number;
|
|
1316
|
+
} & {
|
|
1317
|
+
[key: string]: unknown;
|
|
1318
|
+
};
|
|
1319
|
+
/** LinesBody */
|
|
1320
|
+
LinesBody: {
|
|
1321
|
+
/**
|
|
1322
|
+
* Title
|
|
1323
|
+
* @description a heading over the body
|
|
1324
|
+
*/
|
|
1325
|
+
title?: string | null;
|
|
1326
|
+
/**
|
|
1327
|
+
* Collapsed
|
|
1328
|
+
* @description shown folded, under its title
|
|
1329
|
+
* @default false
|
|
1330
|
+
*/
|
|
1331
|
+
collapsed?: boolean;
|
|
1332
|
+
/**
|
|
1333
|
+
* Type
|
|
1334
|
+
* @default lines
|
|
1335
|
+
* @constant
|
|
1336
|
+
*/
|
|
1337
|
+
type?: "lines";
|
|
1338
|
+
/** X */
|
|
1339
|
+
x: string[];
|
|
1340
|
+
/** Series */
|
|
1341
|
+
series: components["schemas"]["ChartSeries"][];
|
|
1342
|
+
/** Unit */
|
|
1343
|
+
unit?: ("usd" | "pct" | "duration" | "tokens" | "datetime" | "number") | null;
|
|
1344
|
+
};
|
|
1345
|
+
/**
|
|
1346
|
+
* Loop
|
|
1347
|
+
* @description A `for` or `while` loop of a generator around a call site, and the pass the call
|
|
1348
|
+
* site was in.
|
|
1349
|
+
*/
|
|
1350
|
+
Loop: {
|
|
1351
|
+
/**
|
|
1352
|
+
* Line
|
|
1353
|
+
* @description the loop's first line, which names it
|
|
1354
|
+
*/
|
|
1355
|
+
line: number;
|
|
1356
|
+
/**
|
|
1357
|
+
* Pass
|
|
1358
|
+
* @description one iteration of this loop, numbered from 1 since the loop was last entered in that frame; null when not counted
|
|
1359
|
+
*/
|
|
1360
|
+
pass: number | null;
|
|
1361
|
+
};
|
|
1362
|
+
/**
|
|
1363
|
+
* MessageEvent
|
|
1364
|
+
* @description omp: a whole message or a turn's closing thinking. Either `role` + `text`, or `thinking`.
|
|
1365
|
+
*/
|
|
1366
|
+
MessageEvent: {
|
|
1367
|
+
/**
|
|
1368
|
+
* Type
|
|
1369
|
+
* @enum {string}
|
|
1370
|
+
*/
|
|
1371
|
+
type: "message_start" | "message_end" | "turn_end";
|
|
1372
|
+
/** Role */
|
|
1373
|
+
role?: string | null;
|
|
1374
|
+
/** Text */
|
|
1375
|
+
text?: string | null;
|
|
1376
|
+
/** Thinking */
|
|
1377
|
+
thinking?: string | null;
|
|
1378
|
+
} & {
|
|
1379
|
+
[key: string]: unknown;
|
|
1380
|
+
};
|
|
1381
|
+
/**
|
|
1382
|
+
* MessageUpdateEvent
|
|
1383
|
+
* @description A piece of assistant prose: `ev` is `text_delta` or `thinking_delta` (omp may send its other delta kinds).
|
|
1384
|
+
*/
|
|
1385
|
+
MessageUpdateEvent: {
|
|
1386
|
+
/**
|
|
1387
|
+
* Type
|
|
1388
|
+
* @constant
|
|
1389
|
+
*/
|
|
1390
|
+
type: "message_update";
|
|
1391
|
+
/** Ev */
|
|
1392
|
+
ev: string;
|
|
1393
|
+
/** Delta */
|
|
1394
|
+
delta: string;
|
|
1395
|
+
} & {
|
|
1396
|
+
[key: string]: unknown;
|
|
1397
|
+
};
|
|
1398
|
+
/**
|
|
1399
|
+
* ModelUsage
|
|
1400
|
+
* @description What a run's agent sessions spent on one model of one coding agent, from each
|
|
1401
|
+
* journal row's hops (a failover's hops on two models count apart), a hop's spend on
|
|
1402
|
+
* other models (`Hop.other_models`) on each of them. Python tasks have no model and are
|
|
1403
|
+
* not counted.
|
|
1404
|
+
*/
|
|
1405
|
+
ModelUsage: {
|
|
1406
|
+
/** Agent */
|
|
1407
|
+
agent: string;
|
|
1408
|
+
/** Model */
|
|
1409
|
+
model: string;
|
|
1410
|
+
/**
|
|
1411
|
+
* Sessions
|
|
1412
|
+
* @description hops: agent sessions launched on it (pool members tried on one hop count once); 0 for an other model only
|
|
1413
|
+
*/
|
|
1414
|
+
sessions: number;
|
|
1415
|
+
/**
|
|
1416
|
+
* Calls
|
|
1417
|
+
* @description API calls
|
|
1418
|
+
* @default 0
|
|
1419
|
+
*/
|
|
1420
|
+
calls?: number;
|
|
1421
|
+
/**
|
|
1422
|
+
* Input
|
|
1423
|
+
* @default 0
|
|
1424
|
+
*/
|
|
1425
|
+
input?: number;
|
|
1426
|
+
/**
|
|
1427
|
+
* Output
|
|
1428
|
+
* @default 0
|
|
1429
|
+
*/
|
|
1430
|
+
output?: number;
|
|
1431
|
+
/**
|
|
1432
|
+
* Cache Read
|
|
1433
|
+
* @default 0
|
|
1434
|
+
*/
|
|
1435
|
+
cache_read?: number;
|
|
1436
|
+
/**
|
|
1437
|
+
* Cache Creation
|
|
1438
|
+
* @default 0
|
|
1439
|
+
*/
|
|
1440
|
+
cache_creation?: number;
|
|
1441
|
+
/**
|
|
1442
|
+
* Cost Usd
|
|
1443
|
+
* @description what the coding agent reported; null when no session on it reported a cost
|
|
1444
|
+
*/
|
|
1445
|
+
cost_usd?: number | null;
|
|
1446
|
+
/**
|
|
1447
|
+
* Wall S
|
|
1448
|
+
* @default 0
|
|
1449
|
+
*/
|
|
1450
|
+
wall_s?: number;
|
|
1451
|
+
/**
|
|
1452
|
+
* Peak Context
|
|
1453
|
+
* @description peak context: the largest input of one API call of a session on it (tokens); null when none reported one
|
|
1454
|
+
*/
|
|
1455
|
+
peak_context?: number | null;
|
|
1456
|
+
/**
|
|
1457
|
+
* Context Window
|
|
1458
|
+
* @description its context window (tokens of one API call's input) as the coding agent reported it; null when none did
|
|
1459
|
+
*/
|
|
1460
|
+
context_window?: number | null;
|
|
1461
|
+
};
|
|
1462
|
+
/**
|
|
1463
|
+
* NoteBody
|
|
1464
|
+
* @description Text beside the figures: what a part shows, how to read a number. `text` is
|
|
1465
|
+
* markdown (paragraphs, lists, emphasis, code, http(s) links; any markup in it is shown
|
|
1466
|
+
* as text). `tone` marks a note that warns (`attention`) or reports a failure (`failed`).
|
|
1467
|
+
*/
|
|
1468
|
+
NoteBody: {
|
|
1469
|
+
/**
|
|
1470
|
+
* Title
|
|
1471
|
+
* @description a heading over the body
|
|
1472
|
+
*/
|
|
1473
|
+
title?: string | null;
|
|
1474
|
+
/**
|
|
1475
|
+
* Collapsed
|
|
1476
|
+
* @description shown folded, under its title
|
|
1477
|
+
* @default false
|
|
1478
|
+
*/
|
|
1479
|
+
collapsed?: boolean;
|
|
1480
|
+
/**
|
|
1481
|
+
* Type
|
|
1482
|
+
* @default note
|
|
1483
|
+
* @constant
|
|
1484
|
+
*/
|
|
1485
|
+
type?: "note";
|
|
1486
|
+
/** Text */
|
|
1487
|
+
text: string;
|
|
1488
|
+
/** Tone */
|
|
1489
|
+
tone?: ("failed" | "attention" | "done" | "running" | "muted" | "neutral") | null;
|
|
1490
|
+
};
|
|
1491
|
+
/**
|
|
1492
|
+
* NoticeEvent
|
|
1493
|
+
* @description A line of session bookkeeping: init, a retry, a rate-limit status, a custom message.
|
|
1494
|
+
*/
|
|
1495
|
+
NoticeEvent: {
|
|
1496
|
+
/**
|
|
1497
|
+
* Type
|
|
1498
|
+
* @constant
|
|
1499
|
+
*/
|
|
1500
|
+
type: "notice";
|
|
1501
|
+
/** Text */
|
|
1502
|
+
text: string;
|
|
1503
|
+
} & {
|
|
1504
|
+
[key: string]: unknown;
|
|
1505
|
+
};
|
|
1506
|
+
/**
|
|
1507
|
+
* OtherEvent
|
|
1508
|
+
* @description Any other event: omp's bare lifecycle markers (`agent_start`, `agent_end`,
|
|
1509
|
+
* `turn_start`, `auto_retry_end`) and whatever a custom backend's registered
|
|
1510
|
+
* normalizer emits, including a known `type` whose fields do not match above.
|
|
1511
|
+
*/
|
|
1512
|
+
OtherEvent: {
|
|
1513
|
+
/** Type */
|
|
1514
|
+
type: string;
|
|
1515
|
+
} & {
|
|
1516
|
+
[key: string]: unknown;
|
|
1517
|
+
};
|
|
1518
|
+
/**
|
|
1519
|
+
* OtherModel
|
|
1520
|
+
* @description What a hop spent on a model other than its own (`Hop.other_models`).
|
|
1521
|
+
*/
|
|
1522
|
+
OtherModel: {
|
|
1523
|
+
/** Cost Usd */
|
|
1524
|
+
cost_usd?: number | null;
|
|
1525
|
+
/**
|
|
1526
|
+
* Input
|
|
1527
|
+
* @default 0
|
|
1528
|
+
*/
|
|
1529
|
+
input?: number;
|
|
1530
|
+
/**
|
|
1531
|
+
* Output
|
|
1532
|
+
* @default 0
|
|
1533
|
+
*/
|
|
1534
|
+
output?: number;
|
|
1535
|
+
/**
|
|
1536
|
+
* Cache Read
|
|
1537
|
+
* @default 0
|
|
1538
|
+
*/
|
|
1539
|
+
cache_read?: number;
|
|
1540
|
+
/**
|
|
1541
|
+
* Cache Creation
|
|
1542
|
+
* @default 0
|
|
1543
|
+
*/
|
|
1544
|
+
cache_creation?: number;
|
|
1545
|
+
} & {
|
|
1546
|
+
[key: string]: unknown;
|
|
1547
|
+
};
|
|
1548
|
+
/** OutputTally */
|
|
1549
|
+
OutputTally: {
|
|
1550
|
+
/** Valid */
|
|
1551
|
+
valid: number;
|
|
1552
|
+
/** Invalid */
|
|
1553
|
+
invalid: number;
|
|
1554
|
+
/** Refused */
|
|
1555
|
+
refused: number;
|
|
1556
|
+
/** Pending */
|
|
1557
|
+
pending: number;
|
|
1558
|
+
/** Failed */
|
|
1559
|
+
failed: number;
|
|
1560
|
+
/** Running */
|
|
1561
|
+
running: number;
|
|
1562
|
+
};
|
|
1563
|
+
/** Outputs */
|
|
1564
|
+
Outputs: {
|
|
1565
|
+
/** Contracts */
|
|
1566
|
+
contracts: components["schemas"]["ContractRecord"][];
|
|
1567
|
+
/** @description output contracts per status */
|
|
1568
|
+
tally: components["schemas"]["OutputTally"];
|
|
1569
|
+
};
|
|
1570
|
+
/** OutputsMessage */
|
|
1571
|
+
OutputsMessage: {
|
|
1572
|
+
/**
|
|
1573
|
+
* Event
|
|
1574
|
+
* @constant
|
|
1575
|
+
*/
|
|
1576
|
+
event: "outputs";
|
|
1577
|
+
data: components["schemas"]["Outputs"];
|
|
1578
|
+
};
|
|
1579
|
+
/**
|
|
1580
|
+
* PanelInfo
|
|
1581
|
+
* @description A panel a domain registered: its tab label, tooltip and glyph, and what it is
|
|
1582
|
+
* computed over (`run`: one run, a tab of the run; `trends`: the runs of a period).
|
|
1583
|
+
*/
|
|
1584
|
+
PanelInfo: {
|
|
1585
|
+
/** Name */
|
|
1586
|
+
name: string;
|
|
1587
|
+
/** Title */
|
|
1588
|
+
title: string;
|
|
1589
|
+
/** Description */
|
|
1590
|
+
description: string;
|
|
1591
|
+
/** Icon */
|
|
1592
|
+
icon: string;
|
|
1593
|
+
/**
|
|
1594
|
+
* Scope
|
|
1595
|
+
* @default run
|
|
1596
|
+
* @enum {string}
|
|
1597
|
+
*/
|
|
1598
|
+
scope?: "run" | "trends";
|
|
1599
|
+
/**
|
|
1600
|
+
* Tab
|
|
1601
|
+
* @description a trends panel's tab of the Trends page, with the panels of the same `tab`; '': on the first tab
|
|
1602
|
+
* @default
|
|
1603
|
+
*/
|
|
1604
|
+
tab?: string;
|
|
1605
|
+
};
|
|
1606
|
+
/**
|
|
1607
|
+
* PanelMessage
|
|
1608
|
+
* @description A domain panel's body (`PanelBody`), sent when it changed. `{"error": ...}`
|
|
1609
|
+
* when the panel raised.
|
|
1610
|
+
*/
|
|
1611
|
+
PanelMessage: {
|
|
1612
|
+
/**
|
|
1613
|
+
* Event
|
|
1614
|
+
* @description `panel:<name>`, one per run panel in /api/info `panels`
|
|
1615
|
+
*/
|
|
1616
|
+
event: string;
|
|
1617
|
+
/** Data */
|
|
1618
|
+
data: components["schemas"]["TilesBody"] | components["schemas"]["TableBody"] | components["schemas"]["ColumnsBody"] | components["schemas"]["LinesBody"] | components["schemas"]["HeatmapBody"] | components["schemas"]["HBarsBody"] | components["schemas"]["StatusGridBody"] | components["schemas"]["NoteBody"] | components["schemas"]["BlocksBody"] | {
|
|
1619
|
+
[key: string]: unknown;
|
|
1620
|
+
};
|
|
1621
|
+
};
|
|
1622
|
+
/**
|
|
1623
|
+
* PanelTile
|
|
1624
|
+
* @description A figure as a tile (`cae-stat-tiles`). `sub`: lines under the value, each a row of facts.
|
|
1625
|
+
*/
|
|
1626
|
+
PanelTile: {
|
|
1627
|
+
/** Id */
|
|
1628
|
+
id: string;
|
|
1629
|
+
/** Label */
|
|
1630
|
+
label: string;
|
|
1631
|
+
/**
|
|
1632
|
+
* Value
|
|
1633
|
+
* @description a number as given (an integer stays one), or text already formatted
|
|
1634
|
+
*/
|
|
1635
|
+
value: number | string;
|
|
1636
|
+
/** Tone */
|
|
1637
|
+
tone?: ("failed" | "attention" | "done" | "running" | "muted" | "neutral") | null;
|
|
1638
|
+
/** Tip */
|
|
1639
|
+
tip?: string | null;
|
|
1640
|
+
/** Sub */
|
|
1641
|
+
sub?: string[][];
|
|
1642
|
+
};
|
|
1643
|
+
/**
|
|
1644
|
+
* Plan
|
|
1645
|
+
* @description The queued tasks, their groups, and the flow calls that created them. A run with
|
|
1646
|
+
* no `flow_calls.jsonl` (its tasks queued by hand, not by a flow) has no flow call.
|
|
1647
|
+
*/
|
|
1648
|
+
Plan: {
|
|
1649
|
+
/** Nodes */
|
|
1650
|
+
nodes: components["schemas"]["PlanNode"][];
|
|
1651
|
+
/** Groups */
|
|
1652
|
+
groups: components["schemas"]["PlanGroup"][];
|
|
1653
|
+
/**
|
|
1654
|
+
* Flow Calls
|
|
1655
|
+
* @description in start order
|
|
1656
|
+
*/
|
|
1657
|
+
flow_calls?: components["schemas"]["FlowCallNode"][];
|
|
1658
|
+
/**
|
|
1659
|
+
* Quota Caps
|
|
1660
|
+
* @description the run's credentials that have quota caps (`run.json`)
|
|
1661
|
+
*/
|
|
1662
|
+
quota_caps?: components["schemas"]["QuotaCap"][];
|
|
1663
|
+
/**
|
|
1664
|
+
* Quota Rule
|
|
1665
|
+
* @description `module.qualname` of the run's quota rule (`Pipeline(quota_rule=)`); empty for none
|
|
1666
|
+
* @default
|
|
1667
|
+
*/
|
|
1668
|
+
quota_rule?: string;
|
|
1669
|
+
/**
|
|
1670
|
+
* Rests
|
|
1671
|
+
* @description each rest of a credential in the run (`rests.jsonl`), in start order
|
|
1672
|
+
*/
|
|
1673
|
+
rests?: components["schemas"]["CredentialRest"][];
|
|
1674
|
+
/**
|
|
1675
|
+
* Models
|
|
1676
|
+
* @description each model the run's agent sessions ran on, in order of first use
|
|
1677
|
+
*/
|
|
1678
|
+
models?: components["schemas"]["ModelUsage"][];
|
|
1679
|
+
/** @description what the run's preflight did (`run.json`); null when its run.json records none */
|
|
1680
|
+
preflight?: components["schemas"]["PreflightRecord"] | null;
|
|
1681
|
+
};
|
|
1682
|
+
/**
|
|
1683
|
+
* PlanGroup
|
|
1684
|
+
* @description A group: a column of the pipeline view (a kind, the kinds `Monitor(groups=)` puts
|
|
1685
|
+
* together, or the implementation kinds of a base kind), its members counted by state.
|
|
1686
|
+
*/
|
|
1687
|
+
PlanGroup: {
|
|
1688
|
+
/** Id */
|
|
1689
|
+
id: string;
|
|
1690
|
+
/** Label */
|
|
1691
|
+
label: string;
|
|
1692
|
+
/** Total */
|
|
1693
|
+
total: number;
|
|
1694
|
+
/** Done */
|
|
1695
|
+
done: number;
|
|
1696
|
+
/**
|
|
1697
|
+
* Partial
|
|
1698
|
+
* @default 0
|
|
1699
|
+
*/
|
|
1700
|
+
partial?: number;
|
|
1701
|
+
/** Failed */
|
|
1702
|
+
failed: number;
|
|
1703
|
+
/** Running */
|
|
1704
|
+
running: number;
|
|
1705
|
+
/** Pending */
|
|
1706
|
+
pending: number;
|
|
1707
|
+
/** Skipped */
|
|
1708
|
+
skipped: number;
|
|
1709
|
+
/** Blocked */
|
|
1710
|
+
blocked: number;
|
|
1711
|
+
};
|
|
1712
|
+
/** PlanMessage */
|
|
1713
|
+
PlanMessage: {
|
|
1714
|
+
/**
|
|
1715
|
+
* Event
|
|
1716
|
+
* @constant
|
|
1717
|
+
*/
|
|
1718
|
+
event: "plan";
|
|
1719
|
+
data: components["schemas"]["Plan"];
|
|
1720
|
+
};
|
|
1721
|
+
/**
|
|
1722
|
+
* PlanNode
|
|
1723
|
+
* @description A queued task (a `plan.jsonl` row, passed through) with its state and
|
|
1724
|
+
* layout. The journal fields (`wall_s` .. `attempts`) appear once it finished.
|
|
1725
|
+
* The origin fields (`flow` .. `flow_call`) say where the flow created it.
|
|
1726
|
+
*/
|
|
1727
|
+
PlanNode: {
|
|
1728
|
+
/**
|
|
1729
|
+
* Ts
|
|
1730
|
+
* @description when it was queued (absent for a node rebuilt from the journal)
|
|
1731
|
+
* @default
|
|
1732
|
+
*/
|
|
1733
|
+
ts?: string;
|
|
1734
|
+
/** Key */
|
|
1735
|
+
key: string;
|
|
1736
|
+
/** Kind */
|
|
1737
|
+
kind: string;
|
|
1738
|
+
/**
|
|
1739
|
+
* Unit
|
|
1740
|
+
* @default
|
|
1741
|
+
*/
|
|
1742
|
+
unit?: string;
|
|
1743
|
+
/**
|
|
1744
|
+
* Claims
|
|
1745
|
+
* @description the names it holds while it runs, its kind's `claims` filled in
|
|
1746
|
+
*/
|
|
1747
|
+
claims?: string[];
|
|
1748
|
+
/**
|
|
1749
|
+
* After
|
|
1750
|
+
* @description task keys it waits for
|
|
1751
|
+
*/
|
|
1752
|
+
after?: string[];
|
|
1753
|
+
/**
|
|
1754
|
+
* Priority
|
|
1755
|
+
* @description its task call's `priority`: a tie-breaker in the queue, higher first
|
|
1756
|
+
* @default 0
|
|
1757
|
+
*/
|
|
1758
|
+
priority?: number;
|
|
1759
|
+
/**
|
|
1760
|
+
* Executor
|
|
1761
|
+
* @default agent
|
|
1762
|
+
* @enum {string}
|
|
1763
|
+
*/
|
|
1764
|
+
executor?: "agent" | "python";
|
|
1765
|
+
/**
|
|
1766
|
+
* Flow
|
|
1767
|
+
* @description the flow path: frames of flow code that created it, outermost first
|
|
1768
|
+
*/
|
|
1769
|
+
flow?: components["schemas"]["Frame"][];
|
|
1770
|
+
/**
|
|
1771
|
+
* Created From
|
|
1772
|
+
* @description keys whose results its flow call had received when it created it
|
|
1773
|
+
*/
|
|
1774
|
+
created_from?: string[];
|
|
1775
|
+
/**
|
|
1776
|
+
* Flow Call
|
|
1777
|
+
* @description the id of the flow call that created it; null for a task with no origin
|
|
1778
|
+
*/
|
|
1779
|
+
flow_call?: string | null;
|
|
1780
|
+
/**
|
|
1781
|
+
* Base Kind
|
|
1782
|
+
* @description an implementation kind's base kind (`agent_task(implementations=)`), its group unless `groups` lists it; else empty
|
|
1783
|
+
* @default
|
|
1784
|
+
*/
|
|
1785
|
+
base_kind?: string;
|
|
1786
|
+
/**
|
|
1787
|
+
* State
|
|
1788
|
+
* @enum {string}
|
|
1789
|
+
*/
|
|
1790
|
+
state: "pending" | "running" | "done" | "partial" | "failed" | "skipped" | "blocked";
|
|
1791
|
+
/**
|
|
1792
|
+
* Level
|
|
1793
|
+
* @description depth in the dependency graph, 0 for a task that waits for nothing
|
|
1794
|
+
*/
|
|
1795
|
+
level: number;
|
|
1796
|
+
/** Group */
|
|
1797
|
+
group: string;
|
|
1798
|
+
/**
|
|
1799
|
+
* Wall S
|
|
1800
|
+
* @default 0
|
|
1801
|
+
*/
|
|
1802
|
+
wall_s?: number;
|
|
1803
|
+
/**
|
|
1804
|
+
* Stop
|
|
1805
|
+
* @default
|
|
1806
|
+
*/
|
|
1807
|
+
stop?: string;
|
|
1808
|
+
/**
|
|
1809
|
+
* Route
|
|
1810
|
+
* @default
|
|
1811
|
+
*/
|
|
1812
|
+
route?: string;
|
|
1813
|
+
/**
|
|
1814
|
+
* Attempts
|
|
1815
|
+
* @default 1
|
|
1816
|
+
*/
|
|
1817
|
+
attempts?: number;
|
|
1818
|
+
/**
|
|
1819
|
+
* Deferred
|
|
1820
|
+
* @description why the queue deferred it, never launched (`deferred.jsonl`): a deadline, a resting credential; empty when it was not
|
|
1821
|
+
* @default
|
|
1822
|
+
*/
|
|
1823
|
+
deferred?: string;
|
|
1824
|
+
/** @description the same as data; null when it was not deferred, or the run recorded no cause */
|
|
1825
|
+
deferred_cause?: components["schemas"]["DeferralCause"] | null;
|
|
1826
|
+
} & {
|
|
1827
|
+
[key: string]: unknown;
|
|
1828
|
+
};
|
|
1829
|
+
/**
|
|
1830
|
+
* PreflightRecord
|
|
1831
|
+
* @description What a preflight did, as `run.json` records it (`preflight`): its policy, the routes
|
|
1832
|
+
* it dropped, and, for each kind left with no route, its substitution, the kind kept
|
|
1833
|
+
* as configured, or the kind that stopped the run (`stopped`).
|
|
1834
|
+
*/
|
|
1835
|
+
PreflightRecord: {
|
|
1836
|
+
/**
|
|
1837
|
+
* Policy
|
|
1838
|
+
* @description `Pipeline(preflight=)`; `off`: no route was probed
|
|
1839
|
+
* @enum {string}
|
|
1840
|
+
*/
|
|
1841
|
+
policy: "substitute" | "stop" | "off";
|
|
1842
|
+
/** Dropped */
|
|
1843
|
+
dropped?: components["schemas"]["DroppedRoute"][];
|
|
1844
|
+
/** Substituted */
|
|
1845
|
+
substituted?: components["schemas"]["Substitution"][];
|
|
1846
|
+
/** Kept */
|
|
1847
|
+
kept?: components["schemas"]["KeptKind"][];
|
|
1848
|
+
/**
|
|
1849
|
+
* Stopped
|
|
1850
|
+
* @description the kinds with no route left that stopped the run (policy `stop`)
|
|
1851
|
+
*/
|
|
1852
|
+
stopped?: string[];
|
|
1853
|
+
};
|
|
1854
|
+
/**
|
|
1855
|
+
* ProcNode
|
|
1856
|
+
* @description A process in the run's tree (three levels deep at most). The launch fields
|
|
1857
|
+
* are set on the topmost process of an agent launch.
|
|
1858
|
+
*/
|
|
1859
|
+
ProcNode: {
|
|
1860
|
+
/** Pid */
|
|
1861
|
+
pid: number;
|
|
1862
|
+
/** Age S */
|
|
1863
|
+
age_s: number;
|
|
1864
|
+
/**
|
|
1865
|
+
* Cmd
|
|
1866
|
+
* @description the first three words of the command line
|
|
1867
|
+
*/
|
|
1868
|
+
cmd: string;
|
|
1869
|
+
/** Full Cmd */
|
|
1870
|
+
full_cmd: string;
|
|
1871
|
+
/** Children */
|
|
1872
|
+
children?: components["schemas"]["ProcNode"][];
|
|
1873
|
+
/** Key */
|
|
1874
|
+
key?: string | null;
|
|
1875
|
+
/** Kind */
|
|
1876
|
+
kind?: string | null;
|
|
1877
|
+
/** Unit */
|
|
1878
|
+
unit?: string | null;
|
|
1879
|
+
/**
|
|
1880
|
+
* Role
|
|
1881
|
+
* @description the role it runs as, from the prompt's TELEMETRY line
|
|
1882
|
+
*/
|
|
1883
|
+
role?: string | null;
|
|
1884
|
+
/** Model */
|
|
1885
|
+
model?: string | null;
|
|
1886
|
+
/** Plugin */
|
|
1887
|
+
plugin?: string | null;
|
|
1888
|
+
};
|
|
1889
|
+
/**
|
|
1890
|
+
* Procs
|
|
1891
|
+
* @description The run's live processes. Everything but the run's own fields is empty when it is not alive.
|
|
1892
|
+
*/
|
|
1893
|
+
Procs: {
|
|
1894
|
+
/** Run */
|
|
1895
|
+
run: string;
|
|
1896
|
+
/** Alive */
|
|
1897
|
+
alive: boolean;
|
|
1898
|
+
/** Pid */
|
|
1899
|
+
pid: number | null;
|
|
1900
|
+
/** Argv */
|
|
1901
|
+
argv: string[];
|
|
1902
|
+
/** Started At */
|
|
1903
|
+
started_at: string;
|
|
1904
|
+
/** Max Workers */
|
|
1905
|
+
max_workers: number | null;
|
|
1906
|
+
/** Run Group */
|
|
1907
|
+
run_group: string;
|
|
1908
|
+
/** Launches */
|
|
1909
|
+
launches: components["schemas"]["AgentProcess"][];
|
|
1910
|
+
/** Tree */
|
|
1911
|
+
tree: components["schemas"]["ProcNode"][];
|
|
1912
|
+
/** Python Tasks */
|
|
1913
|
+
python_tasks: components["schemas"]["InflightPythonTask"][];
|
|
1914
|
+
};
|
|
1915
|
+
/**
|
|
1916
|
+
* ProcsMessage
|
|
1917
|
+
* @description The live processes, sent when a launch starts or ends (not on every age tick).
|
|
1918
|
+
*/
|
|
1919
|
+
ProcsMessage: {
|
|
1920
|
+
/**
|
|
1921
|
+
* Event
|
|
1922
|
+
* @constant
|
|
1923
|
+
*/
|
|
1924
|
+
event: "procs";
|
|
1925
|
+
data: components["schemas"]["Procs"];
|
|
1926
|
+
};
|
|
1927
|
+
/**
|
|
1928
|
+
* QuotaCap
|
|
1929
|
+
* @description One credential's quota caps (`[credentials.<name>] max_five_hour_pct`, `max_seven_day_pct`):
|
|
1930
|
+
* the utilization (%) of a window past which it rests; None for a window with no cap.
|
|
1931
|
+
*/
|
|
1932
|
+
QuotaCap: {
|
|
1933
|
+
/** Credential */
|
|
1934
|
+
credential: string;
|
|
1935
|
+
/** Five Hour Pct */
|
|
1936
|
+
five_hour_pct?: number | null;
|
|
1937
|
+
/** Seven Day Pct */
|
|
1938
|
+
seven_day_pct?: number | null;
|
|
1939
|
+
};
|
|
1940
|
+
/**
|
|
1941
|
+
* QuotaReading
|
|
1942
|
+
* @description A subscription's utilization during a launch, from one of these sources:
|
|
1943
|
+
*
|
|
1944
|
+
* * Claude Code: in its stream, when a session starts or resumes;
|
|
1945
|
+
* * Codex: in its stream, with each API call of a ChatGPT login;
|
|
1946
|
+
* * omp (`omp`, `omp-rpc`): at each launch, what the account's latest request reported
|
|
1947
|
+
* (`omp usage --json`, read before the launch: `Backend.usage_reading`);
|
|
1948
|
+
* * opencode and pi: for an OpenCode Go model only, OpenCode's usage endpoint, read by
|
|
1949
|
+
* contraagent before each launch (`Backend.usage_reading`); the agents report none.
|
|
1950
|
+
*
|
|
1951
|
+
* Account-wide: it includes whatever else used the same account, parallel tasks too.
|
|
1952
|
+
* `LaunchResult.quota` holds a launch's, the journal's `quota` an attempt's that give a
|
|
1953
|
+
* 5-hour or weekly utilization.
|
|
1954
|
+
*/
|
|
1955
|
+
QuotaReading: {
|
|
1956
|
+
/** Observed At */
|
|
1957
|
+
observed_at?: string | null;
|
|
1958
|
+
/**
|
|
1959
|
+
* Credential
|
|
1960
|
+
* @default
|
|
1961
|
+
*/
|
|
1962
|
+
credential?: string;
|
|
1963
|
+
/** Five Hour Pct */
|
|
1964
|
+
five_hour_pct?: number | null;
|
|
1965
|
+
/** Five Hour Resets At */
|
|
1966
|
+
five_hour_resets_at?: string | null;
|
|
1967
|
+
/** Seven Day Pct */
|
|
1968
|
+
seven_day_pct?: number | null;
|
|
1969
|
+
/** Seven Day Resets At */
|
|
1970
|
+
seven_day_resets_at?: string | null;
|
|
1971
|
+
/**
|
|
1972
|
+
* Status
|
|
1973
|
+
* @default
|
|
1974
|
+
*/
|
|
1975
|
+
status?: string;
|
|
1976
|
+
/**
|
|
1977
|
+
* Account
|
|
1978
|
+
* @default
|
|
1979
|
+
*/
|
|
1980
|
+
account?: string;
|
|
1981
|
+
/**
|
|
1982
|
+
* Status Window
|
|
1983
|
+
* @default
|
|
1984
|
+
*/
|
|
1985
|
+
status_window?: string;
|
|
1986
|
+
/** Threshold Pct */
|
|
1987
|
+
threshold_pct?: number | null;
|
|
1988
|
+
/**
|
|
1989
|
+
* Overage Status
|
|
1990
|
+
* @default
|
|
1991
|
+
*/
|
|
1992
|
+
overage_status?: string;
|
|
1993
|
+
/**
|
|
1994
|
+
* Overage Disabled Reason
|
|
1995
|
+
* @default
|
|
1996
|
+
*/
|
|
1997
|
+
overage_disabled_reason?: string;
|
|
1998
|
+
/** Using Overage */
|
|
1999
|
+
using_overage?: boolean | null;
|
|
2000
|
+
/** Windows */
|
|
2001
|
+
windows?: {
|
|
2002
|
+
[key: string]: components["schemas"]["QuotaWindow"];
|
|
2003
|
+
};
|
|
2004
|
+
/** Extra */
|
|
2005
|
+
extra?: {
|
|
2006
|
+
[key: string]: unknown;
|
|
2007
|
+
};
|
|
2008
|
+
} & {
|
|
2009
|
+
[key: string]: unknown;
|
|
2010
|
+
};
|
|
2011
|
+
/**
|
|
2012
|
+
* QuotaWindow
|
|
2013
|
+
* @description One window of a reading: its utilization (%) and when it resets (ISO 8601).
|
|
2014
|
+
*/
|
|
2015
|
+
QuotaWindow: {
|
|
2016
|
+
/** Pct */
|
|
2017
|
+
pct?: number | null;
|
|
2018
|
+
/** Resets At */
|
|
2019
|
+
resets_at?: string | null;
|
|
2020
|
+
} & {
|
|
2021
|
+
[key: string]: unknown;
|
|
2022
|
+
};
|
|
2023
|
+
/**
|
|
2024
|
+
* ReadyMessage
|
|
2025
|
+
* @description Sent once per connection, after the first round of messages: the journal
|
|
2026
|
+
* replayed so far and the current value of every other view. A row that
|
|
2027
|
+
* arrives after it is new, not part of the replay.
|
|
2028
|
+
*/
|
|
2029
|
+
ReadyMessage: {
|
|
2030
|
+
/**
|
|
2031
|
+
* Event
|
|
2032
|
+
* @constant
|
|
2033
|
+
*/
|
|
2034
|
+
event: "ready";
|
|
2035
|
+
data: components["schemas"]["FeedReady"];
|
|
2036
|
+
};
|
|
2037
|
+
/**
|
|
2038
|
+
* RetryEvent
|
|
2039
|
+
* @description omp: the agent retrying after a provider error.
|
|
2040
|
+
*/
|
|
2041
|
+
RetryEvent: {
|
|
2042
|
+
/**
|
|
2043
|
+
* Type
|
|
2044
|
+
* @constant
|
|
2045
|
+
*/
|
|
2046
|
+
type: "auto_retry_start";
|
|
2047
|
+
/** Attempt */
|
|
2048
|
+
attempt?: number | null;
|
|
2049
|
+
/**
|
|
2050
|
+
* Err
|
|
2051
|
+
* @default
|
|
2052
|
+
*/
|
|
2053
|
+
err?: string;
|
|
2054
|
+
} & {
|
|
2055
|
+
[key: string]: unknown;
|
|
2056
|
+
};
|
|
2057
|
+
/**
|
|
2058
|
+
* RunEvent
|
|
2059
|
+
* @description One message of /events?run=
|
|
2060
|
+
*/
|
|
2061
|
+
RunEvent: components["schemas"]["JournalMessage"] | components["schemas"]["ProcsMessage"] | components["schemas"]["PlanMessage"] | components["schemas"]["OutputsMessage"] | components["schemas"]["CursorMessage"] | components["schemas"]["PanelMessage"] | components["schemas"]["ReadyMessage"];
|
|
2062
|
+
/**
|
|
2063
|
+
* RunSummary
|
|
2064
|
+
* @description One run directory, as the run picker lists it.
|
|
2065
|
+
*/
|
|
2066
|
+
RunSummary: {
|
|
2067
|
+
/** Run */
|
|
2068
|
+
run: string;
|
|
2069
|
+
/**
|
|
2070
|
+
* Run Group
|
|
2071
|
+
* @description the label grouping runs (`Run(run_group=)`); the run id when none was given
|
|
2072
|
+
*/
|
|
2073
|
+
run_group: string;
|
|
2074
|
+
/**
|
|
2075
|
+
* Attempts
|
|
2076
|
+
* @description journal rows: finished task attempts
|
|
2077
|
+
*/
|
|
2078
|
+
attempts: number;
|
|
2079
|
+
/**
|
|
2080
|
+
* Ok
|
|
2081
|
+
* @description journal rows that passed, not counting `partial` ones
|
|
2082
|
+
*/
|
|
2083
|
+
ok: number;
|
|
2084
|
+
/**
|
|
2085
|
+
* Partial
|
|
2086
|
+
* @description journal rows with stop `partial`
|
|
2087
|
+
* @default 0
|
|
2088
|
+
*/
|
|
2089
|
+
partial?: number;
|
|
2090
|
+
/**
|
|
2091
|
+
* Not Run
|
|
2092
|
+
* @description journal rows of tasks that never ran: refused for an input (`invalid_input`) or skipped
|
|
2093
|
+
* @default 0
|
|
2094
|
+
*/
|
|
2095
|
+
not_run?: number;
|
|
2096
|
+
tasks: components["schemas"]["TaskCounts"];
|
|
2097
|
+
/**
|
|
2098
|
+
* Cost Usd
|
|
2099
|
+
* @description what the coding agents reported the run cost, in USD; null when none reported
|
|
2100
|
+
*/
|
|
2101
|
+
cost_usd?: number | null;
|
|
2102
|
+
/** @description tokens of every attempt, summed */
|
|
2103
|
+
tokens: components["schemas"]["TokenUsage"];
|
|
2104
|
+
/**
|
|
2105
|
+
* Quota
|
|
2106
|
+
* @description per credential (account): the run's first and last utilization reading; highest weekly use first
|
|
2107
|
+
*/
|
|
2108
|
+
quota?: components["schemas"]["AccountQuota"][];
|
|
2109
|
+
/**
|
|
2110
|
+
* Wall S
|
|
2111
|
+
* @description sum of the rows' wall time, rounded to seconds
|
|
2112
|
+
*/
|
|
2113
|
+
wall_s: number;
|
|
2114
|
+
/**
|
|
2115
|
+
* Last Ts
|
|
2116
|
+
* @description ISO time of the last journal row, else the directory's mtime
|
|
2117
|
+
*/
|
|
2118
|
+
last_ts: string;
|
|
2119
|
+
/**
|
|
2120
|
+
* Kinds
|
|
2121
|
+
* @description journal rows per task kind
|
|
2122
|
+
*/
|
|
2123
|
+
kinds: {
|
|
2124
|
+
[key: string]: number;
|
|
2125
|
+
};
|
|
2126
|
+
/**
|
|
2127
|
+
* Running
|
|
2128
|
+
* @description the process that runs it is alive
|
|
2129
|
+
*/
|
|
2130
|
+
running: boolean;
|
|
2131
|
+
/**
|
|
2132
|
+
* Unresponsive
|
|
2133
|
+
* @description its host last reported it alive and has stopped reporting (a hub only)
|
|
2134
|
+
* @default false
|
|
2135
|
+
*/
|
|
2136
|
+
unresponsive?: boolean;
|
|
2137
|
+
/**
|
|
2138
|
+
* Host Id
|
|
2139
|
+
* @description the host that drives it; empty when its run.json does not say
|
|
2140
|
+
* @default
|
|
2141
|
+
*/
|
|
2142
|
+
host_id?: string;
|
|
2143
|
+
/**
|
|
2144
|
+
* Run Uid
|
|
2145
|
+
* @description the id no other run has, on any host; empty when its run.json does not say
|
|
2146
|
+
* @default
|
|
2147
|
+
*/
|
|
2148
|
+
run_uid?: string;
|
|
2149
|
+
/** Started At */
|
|
2150
|
+
started_at: string;
|
|
2151
|
+
/**
|
|
2152
|
+
* Stub
|
|
2153
|
+
* @description a stub run: the stub agent, or a replay's recordings, played its tasks (`Pipeline(stub=)`, `contraagent run --stub`)
|
|
2154
|
+
* @default false
|
|
2155
|
+
*/
|
|
2156
|
+
stub?: boolean;
|
|
2157
|
+
/**
|
|
2158
|
+
* Replay
|
|
2159
|
+
* @description a replay: the directory of the recordings it played (`Pipeline(replay=)`), and with `record_missing` recorded into (then `stub` is false, and each played attempt's journal row says `replayed`); empty otherwise
|
|
2160
|
+
* @default
|
|
2161
|
+
*/
|
|
2162
|
+
replay?: string;
|
|
2163
|
+
/**
|
|
2164
|
+
* Row Extras
|
|
2165
|
+
* @description the journal columns that are the pipeline's own (`Run(row_extras=)`), in the order they first appear
|
|
2166
|
+
*/
|
|
2167
|
+
row_extras?: string[];
|
|
2168
|
+
};
|
|
2169
|
+
/**
|
|
2170
|
+
* SkippedHop
|
|
2171
|
+
* @description A hop of the failover chain an attempt passed over without a launch, because its
|
|
2172
|
+
* credential rested: its route label and model, and the rest.
|
|
2173
|
+
*/
|
|
2174
|
+
SkippedHop: {
|
|
2175
|
+
/** Credential */
|
|
2176
|
+
credential: string;
|
|
2177
|
+
/**
|
|
2178
|
+
* Window
|
|
2179
|
+
* @default
|
|
2180
|
+
* @enum {string}
|
|
2181
|
+
*/
|
|
2182
|
+
window?: "" | "five_hour" | "seven_day";
|
|
2183
|
+
/** Pct */
|
|
2184
|
+
pct?: number | null;
|
|
2185
|
+
/** Cap */
|
|
2186
|
+
cap?: number | null;
|
|
2187
|
+
/**
|
|
2188
|
+
* Rule
|
|
2189
|
+
* @default
|
|
2190
|
+
*/
|
|
2191
|
+
rule?: string;
|
|
2192
|
+
/**
|
|
2193
|
+
* Until
|
|
2194
|
+
* @default
|
|
2195
|
+
*/
|
|
2196
|
+
until?: string;
|
|
2197
|
+
/**
|
|
2198
|
+
* Account
|
|
2199
|
+
* @default
|
|
2200
|
+
*/
|
|
2201
|
+
account?: string;
|
|
2202
|
+
/** Reading */
|
|
2203
|
+
reading?: {
|
|
2204
|
+
[key: string]: unknown;
|
|
2205
|
+
} | null;
|
|
2206
|
+
/**
|
|
2207
|
+
* Route
|
|
2208
|
+
* @default
|
|
2209
|
+
*/
|
|
2210
|
+
route?: string;
|
|
2211
|
+
/**
|
|
2212
|
+
* Model
|
|
2213
|
+
* @default
|
|
2214
|
+
*/
|
|
2215
|
+
model?: string;
|
|
2216
|
+
} & {
|
|
2217
|
+
[key: string]: unknown;
|
|
2218
|
+
};
|
|
2219
|
+
/**
|
|
2220
|
+
* StageEntry
|
|
2221
|
+
* @description One transition of the cursor (`HistoryEntry`), its time as `datetime.isoformat` gives it.
|
|
2222
|
+
*/
|
|
2223
|
+
StageEntry: {
|
|
2224
|
+
/** Name */
|
|
2225
|
+
name: string;
|
|
2226
|
+
/** At */
|
|
2227
|
+
at: string;
|
|
2228
|
+
};
|
|
2229
|
+
/**
|
|
2230
|
+
* StatusGridBody
|
|
2231
|
+
* @description A state per row (`y`) and column (`x`): `cells[row][column]`, null where there is
|
|
2232
|
+
* none. Each cell is coloured by its tone and named by its label (in the legend, the
|
|
2233
|
+
* tooltip and the table): the states of hourly cycles by day, say.
|
|
2234
|
+
*/
|
|
2235
|
+
StatusGridBody: {
|
|
2236
|
+
/**
|
|
2237
|
+
* Title
|
|
2238
|
+
* @description a heading over the body
|
|
2239
|
+
*/
|
|
2240
|
+
title?: string | null;
|
|
2241
|
+
/**
|
|
2242
|
+
* Collapsed
|
|
2243
|
+
* @description shown folded, under its title
|
|
2244
|
+
* @default false
|
|
2245
|
+
*/
|
|
2246
|
+
collapsed?: boolean;
|
|
2247
|
+
/**
|
|
2248
|
+
* Type
|
|
2249
|
+
* @default status_grid
|
|
2250
|
+
* @constant
|
|
2251
|
+
*/
|
|
2252
|
+
type?: "status_grid";
|
|
2253
|
+
/** X */
|
|
2254
|
+
x: string[];
|
|
2255
|
+
/** Y */
|
|
2256
|
+
y: string[];
|
|
2257
|
+
/** Cells */
|
|
2258
|
+
cells: (components["schemas"]["GridCell"] | null)[][];
|
|
2259
|
+
};
|
|
2260
|
+
/**
|
|
2261
|
+
* StreamMessage
|
|
2262
|
+
* @description `/events/stream`: the first message is the transcript's tail page, then each
|
|
2263
|
+
* message carries only the events after the previous one.
|
|
2264
|
+
*/
|
|
2265
|
+
StreamMessage: {
|
|
2266
|
+
/**
|
|
2267
|
+
* Event
|
|
2268
|
+
* @constant
|
|
2269
|
+
*/
|
|
2270
|
+
event: "stream";
|
|
2271
|
+
data: components["schemas"]["StreamPage"];
|
|
2272
|
+
};
|
|
2273
|
+
/**
|
|
2274
|
+
* StreamPage
|
|
2275
|
+
* @description A page of one transcript. `total` is the file's line count: pass it back as
|
|
2276
|
+
* `since` for the next page. The first page (`since=0`) is the tail; `behind`
|
|
2277
|
+
* lines precede it, fetched by asking again with a smaller `since`.
|
|
2278
|
+
*/
|
|
2279
|
+
StreamPage: {
|
|
2280
|
+
/** Events */
|
|
2281
|
+
events: (components["schemas"]["LaunchEvent"] | components["schemas"]["MessageUpdateEvent"] | components["schemas"]["ToolStartEvent"] | components["schemas"]["ToolEndEvent"] | components["schemas"]["ToolCallEchoEvent"] | components["schemas"]["ToolResultEchoEvent"] | components["schemas"]["MessageEvent"] | components["schemas"]["NoticeEvent"] | components["schemas"]["RetryEvent"] | components["schemas"]["OtherEvent"])[];
|
|
2282
|
+
/** Total */
|
|
2283
|
+
total: number;
|
|
2284
|
+
/** Behind */
|
|
2285
|
+
behind: number;
|
|
2286
|
+
};
|
|
2287
|
+
/**
|
|
2288
|
+
* Substitution
|
|
2289
|
+
* @description A kind with no route left, run on the first route that answered (`substitute`).
|
|
2290
|
+
*/
|
|
2291
|
+
Substitution: {
|
|
2292
|
+
/** Kind */
|
|
2293
|
+
kind: string;
|
|
2294
|
+
/** From Agent */
|
|
2295
|
+
from_agent: string;
|
|
2296
|
+
/** From Model */
|
|
2297
|
+
from_model: string;
|
|
2298
|
+
/** To Agent */
|
|
2299
|
+
to_agent: string;
|
|
2300
|
+
/** To Model */
|
|
2301
|
+
to_model: string;
|
|
2302
|
+
};
|
|
2303
|
+
/**
|
|
2304
|
+
* TableBody
|
|
2305
|
+
* @description Rows of values, one key per column; a row's `_tone` is its status (a `Tone`).
|
|
2306
|
+
*/
|
|
2307
|
+
TableBody: {
|
|
2308
|
+
/**
|
|
2309
|
+
* Title
|
|
2310
|
+
* @description a heading over the body
|
|
2311
|
+
*/
|
|
2312
|
+
title?: string | null;
|
|
2313
|
+
/**
|
|
2314
|
+
* Collapsed
|
|
2315
|
+
* @description shown folded, under its title
|
|
2316
|
+
* @default false
|
|
2317
|
+
*/
|
|
2318
|
+
collapsed?: boolean;
|
|
2319
|
+
/**
|
|
2320
|
+
* Type
|
|
2321
|
+
* @default table
|
|
2322
|
+
* @constant
|
|
2323
|
+
*/
|
|
2324
|
+
type?: "table";
|
|
2325
|
+
/** Columns */
|
|
2326
|
+
columns: components["schemas"]["TableColumn"][];
|
|
2327
|
+
/** Rows */
|
|
2328
|
+
rows: {
|
|
2329
|
+
[key: string]: unknown;
|
|
2330
|
+
}[];
|
|
2331
|
+
};
|
|
2332
|
+
/**
|
|
2333
|
+
* TableColumn
|
|
2334
|
+
* @description A column of a table body: `id` names the key of each row it shows. `bar`: a bar in
|
|
2335
|
+
* the cell, as long as the value against the column's largest. `link`: the key of each
|
|
2336
|
+
* row that holds the URL the cell leads to (http or https; any other is no link).
|
|
2337
|
+
*/
|
|
2338
|
+
TableColumn: {
|
|
2339
|
+
/** Id */
|
|
2340
|
+
id: string;
|
|
2341
|
+
/** Label */
|
|
2342
|
+
label: string;
|
|
2343
|
+
/** Align */
|
|
2344
|
+
align?: ("start" | "end") | null;
|
|
2345
|
+
/** Format */
|
|
2346
|
+
format?: ("usd" | "pct" | "duration" | "tokens" | "datetime" | "number") | null;
|
|
2347
|
+
/**
|
|
2348
|
+
* Bar
|
|
2349
|
+
* @default false
|
|
2350
|
+
*/
|
|
2351
|
+
bar?: boolean;
|
|
2352
|
+
/**
|
|
2353
|
+
* Link
|
|
2354
|
+
* @description the key of the row that holds the cell's URL
|
|
2355
|
+
*/
|
|
2356
|
+
link?: string | null;
|
|
2357
|
+
/** Tip */
|
|
2358
|
+
tip?: string | null;
|
|
2359
|
+
};
|
|
2360
|
+
/**
|
|
2361
|
+
* TaskCounts
|
|
2362
|
+
* @description A run's tasks (not attempts) by how they ended. `not_started`: refused for
|
|
2363
|
+
* an input, or waiting behind a task that failed; `running`: running now (in a
|
|
2364
|
+
* live run); `waiting`: queued in a live run; `not_run`: deferred, or queued in a
|
|
2365
|
+
* run that is no longer live (it will not run).
|
|
2366
|
+
*/
|
|
2367
|
+
TaskCounts: {
|
|
2368
|
+
/** Total */
|
|
2369
|
+
total: number;
|
|
2370
|
+
/** Done */
|
|
2371
|
+
done: number;
|
|
2372
|
+
/**
|
|
2373
|
+
* Partial
|
|
2374
|
+
* @description tasks whose last result was `partial`: ok, the output a placeholder; not in `done`
|
|
2375
|
+
* @default 0
|
|
2376
|
+
*/
|
|
2377
|
+
partial?: number;
|
|
2378
|
+
/** Failed */
|
|
2379
|
+
failed: number;
|
|
2380
|
+
/** Not Started */
|
|
2381
|
+
not_started: number;
|
|
2382
|
+
/**
|
|
2383
|
+
* Running
|
|
2384
|
+
* @default 0
|
|
2385
|
+
*/
|
|
2386
|
+
running?: number;
|
|
2387
|
+
/** Waiting */
|
|
2388
|
+
waiting: number;
|
|
2389
|
+
/**
|
|
2390
|
+
* Not Run
|
|
2391
|
+
* @default 0
|
|
2392
|
+
*/
|
|
2393
|
+
not_run?: number;
|
|
2394
|
+
/** Skipped */
|
|
2395
|
+
skipped: number;
|
|
2396
|
+
};
|
|
2397
|
+
/**
|
|
2398
|
+
* TaskDefinition
|
|
2399
|
+
* @description What defined one kind of task in this run (`definitions/<kind>.json`).
|
|
2400
|
+
* Beyond `kind`, the keys are the task adapter's choice; these are the ones
|
|
2401
|
+
* the bundled adapters write.
|
|
2402
|
+
*/
|
|
2403
|
+
TaskDefinition: {
|
|
2404
|
+
/** Kind */
|
|
2405
|
+
kind: string;
|
|
2406
|
+
/** Role */
|
|
2407
|
+
role?: string | null;
|
|
2408
|
+
/** Plugin Dirs */
|
|
2409
|
+
plugin_dirs?: string[];
|
|
2410
|
+
/** Files */
|
|
2411
|
+
files?: components["schemas"]["DefinitionFile"][];
|
|
2412
|
+
/** Plugin */
|
|
2413
|
+
plugin?: boolean | null;
|
|
2414
|
+
/** Name */
|
|
2415
|
+
name?: string | null;
|
|
2416
|
+
/** Root */
|
|
2417
|
+
root?: string | null;
|
|
2418
|
+
/** Params */
|
|
2419
|
+
params?: string | null;
|
|
2420
|
+
/** Requires */
|
|
2421
|
+
requires?: string[];
|
|
2422
|
+
/** Output */
|
|
2423
|
+
output?: string | null;
|
|
2424
|
+
/**
|
|
2425
|
+
* Output From
|
|
2426
|
+
* @description agent task: `file`, the agent writes its output; `message`, its final message is the output
|
|
2427
|
+
*/
|
|
2428
|
+
output_from?: ("file" | "message") | null;
|
|
2429
|
+
/** Validators */
|
|
2430
|
+
validators?: string[];
|
|
2431
|
+
/**
|
|
2432
|
+
* Preserve
|
|
2433
|
+
* @description agent task: JSON pointers to the parts of its output file it keeps (`agent_task(preserve=)`)
|
|
2434
|
+
*/
|
|
2435
|
+
preserve?: string[];
|
|
2436
|
+
/**
|
|
2437
|
+
* Output Of
|
|
2438
|
+
* @description agent task: the kind whose output file it writes (`agent_task(output_of=)`)
|
|
2439
|
+
*/
|
|
2440
|
+
output_of?: string | null;
|
|
2441
|
+
/**
|
|
2442
|
+
* Base Kind
|
|
2443
|
+
* @description agent task: an implementation kind's base kind (`agent_task(implementations=)`)
|
|
2444
|
+
*/
|
|
2445
|
+
base_kind?: string | null;
|
|
2446
|
+
/**
|
|
2447
|
+
* Tools
|
|
2448
|
+
* @description agent task: `[]`, a light launch with no tools (`agent_task(tools=())`); null, the tools its role allows
|
|
2449
|
+
*/
|
|
2450
|
+
tools?: string[] | null;
|
|
2451
|
+
/** Executor */
|
|
2452
|
+
executor?: ("agent" | "python") | null;
|
|
2453
|
+
/**
|
|
2454
|
+
* Function
|
|
2455
|
+
* @description Python task: `module.qualname` of its function
|
|
2456
|
+
*/
|
|
2457
|
+
function?: string | null;
|
|
2458
|
+
/**
|
|
2459
|
+
* Signature
|
|
2460
|
+
* @description Python task: the function's signature
|
|
2461
|
+
*/
|
|
2462
|
+
signature?: string | null;
|
|
2463
|
+
/**
|
|
2464
|
+
* Doc
|
|
2465
|
+
* @description Python task: the function's docstring
|
|
2466
|
+
*/
|
|
2467
|
+
doc?: string | null;
|
|
2468
|
+
/**
|
|
2469
|
+
* File
|
|
2470
|
+
* @description Python task: the source file, relative to the run's working directory when inside it
|
|
2471
|
+
*/
|
|
2472
|
+
file?: string | null;
|
|
2473
|
+
/**
|
|
2474
|
+
* Line
|
|
2475
|
+
* @description Python task: the function's first line in `file`
|
|
2476
|
+
*/
|
|
2477
|
+
line?: number | null;
|
|
2478
|
+
/**
|
|
2479
|
+
* Retries
|
|
2480
|
+
* @description Python task: the fresh attempts after the first, each after an exception of `retry_on` (`@python_task(retries=)`)
|
|
2481
|
+
*/
|
|
2482
|
+
retries?: number | null;
|
|
2483
|
+
/**
|
|
2484
|
+
* Retry On
|
|
2485
|
+
* @description Python task: the exception classes that give an attempt a fresh one
|
|
2486
|
+
*/
|
|
2487
|
+
retry_on?: string[] | null;
|
|
2488
|
+
} & {
|
|
2489
|
+
[key: string]: unknown;
|
|
2490
|
+
};
|
|
2491
|
+
/**
|
|
2492
|
+
* TaskDetail
|
|
2493
|
+
* @description One task, by its key. Open: the `task_detail` callback merges its own keys
|
|
2494
|
+
* in (a failing one leaves `task_detail_error` instead).
|
|
2495
|
+
*/
|
|
2496
|
+
TaskDetail: {
|
|
2497
|
+
/**
|
|
2498
|
+
* Key
|
|
2499
|
+
* @description the task key asked for
|
|
2500
|
+
*/
|
|
2501
|
+
key: string;
|
|
2502
|
+
/** Rows */
|
|
2503
|
+
rows: components["schemas"]["JournalRow"][];
|
|
2504
|
+
/**
|
|
2505
|
+
* Launches
|
|
2506
|
+
* @description its launches running now; empty once it has finished (finished attempts are `rows`)
|
|
2507
|
+
*/
|
|
2508
|
+
launches: components["schemas"]["TaskLaunch"][];
|
|
2509
|
+
definition: components["schemas"]["TaskDefinition"] | null;
|
|
2510
|
+
io: components["schemas"]["TaskIO"];
|
|
2511
|
+
/**
|
|
2512
|
+
* Stream
|
|
2513
|
+
* @description the transcript's task key for /stream and /events/stream, null when it has none
|
|
2514
|
+
*/
|
|
2515
|
+
stream: string | null;
|
|
2516
|
+
/**
|
|
2517
|
+
* Row Extras
|
|
2518
|
+
* @description the columns of `rows` that are the pipeline's own (`Run(row_extras=)`), in the order they first appear
|
|
2519
|
+
*/
|
|
2520
|
+
row_extras?: string[];
|
|
2521
|
+
/** Task Detail Error */
|
|
2522
|
+
task_detail_error?: string | null;
|
|
2523
|
+
} & {
|
|
2524
|
+
[key: string]: unknown;
|
|
2525
|
+
};
|
|
2526
|
+
/**
|
|
2527
|
+
* TaskIO
|
|
2528
|
+
* @description The task's params, what it reads and leaves behind, and its neighbours in the plan.
|
|
2529
|
+
*/
|
|
2530
|
+
TaskIO: {
|
|
2531
|
+
/** Params */
|
|
2532
|
+
params: {
|
|
2533
|
+
[key: string]: unknown;
|
|
2534
|
+
};
|
|
2535
|
+
/** Inputs */
|
|
2536
|
+
inputs: components["schemas"]["ContractSpec"][];
|
|
2537
|
+
/** Outputs */
|
|
2538
|
+
outputs: components["schemas"]["ContractSpec"][];
|
|
2539
|
+
/**
|
|
2540
|
+
* Executor
|
|
2541
|
+
* @enum {string}
|
|
2542
|
+
*/
|
|
2543
|
+
executor: "agent" | "python";
|
|
2544
|
+
/** Upstream */
|
|
2545
|
+
upstream: components["schemas"]["UpstreamTask"][];
|
|
2546
|
+
/** Downstream */
|
|
2547
|
+
downstream: components["schemas"]["DownstreamTask"][];
|
|
2548
|
+
};
|
|
2549
|
+
/**
|
|
2550
|
+
* TaskLaunch
|
|
2551
|
+
* @description A live launch of the task (a child process, or an in-process marker with empty plugin/model/role/cmd).
|
|
2552
|
+
*/
|
|
2553
|
+
TaskLaunch: {
|
|
2554
|
+
/** Key */
|
|
2555
|
+
key: string | null;
|
|
2556
|
+
/** Kind */
|
|
2557
|
+
kind: string | null;
|
|
2558
|
+
/** Unit */
|
|
2559
|
+
unit: string | null;
|
|
2560
|
+
/** Pid */
|
|
2561
|
+
pid: number | null;
|
|
2562
|
+
/** Age S */
|
|
2563
|
+
age_s: number | null;
|
|
2564
|
+
/** Plugin */
|
|
2565
|
+
plugin: string | null;
|
|
2566
|
+
/** Model */
|
|
2567
|
+
model: string | null;
|
|
2568
|
+
/** Role */
|
|
2569
|
+
role: string | null;
|
|
2570
|
+
/**
|
|
2571
|
+
* Cmd
|
|
2572
|
+
* @description the full command line, cut at 600 characters
|
|
2573
|
+
*/
|
|
2574
|
+
cmd: string;
|
|
2575
|
+
};
|
|
2576
|
+
/** TilesBody */
|
|
2577
|
+
TilesBody: {
|
|
2578
|
+
/**
|
|
2579
|
+
* Title
|
|
2580
|
+
* @description a heading over the body
|
|
2581
|
+
*/
|
|
2582
|
+
title?: string | null;
|
|
2583
|
+
/**
|
|
2584
|
+
* Collapsed
|
|
2585
|
+
* @description shown folded, under its title
|
|
2586
|
+
* @default false
|
|
2587
|
+
*/
|
|
2588
|
+
collapsed?: boolean;
|
|
2589
|
+
/**
|
|
2590
|
+
* Type
|
|
2591
|
+
* @default tiles
|
|
2592
|
+
* @constant
|
|
2593
|
+
*/
|
|
2594
|
+
type?: "tiles";
|
|
2595
|
+
/** Tiles */
|
|
2596
|
+
tiles: components["schemas"]["PanelTile"][];
|
|
2597
|
+
};
|
|
2598
|
+
/**
|
|
2599
|
+
* TimeBoxRecord
|
|
2600
|
+
* @description A flow call's own deadline (`time_box`, `TimeBox`), as `flow_calls.jsonl` records it.
|
|
2601
|
+
*/
|
|
2602
|
+
TimeBoxRecord: {
|
|
2603
|
+
/**
|
|
2604
|
+
* Started At
|
|
2605
|
+
* @description when the flow call started, where its deadline counts from (UTC ISO 8601)
|
|
2606
|
+
*/
|
|
2607
|
+
started_at: string;
|
|
2608
|
+
/**
|
|
2609
|
+
* Deadline S
|
|
2610
|
+
* @description seconds from `started_at` to the deadline
|
|
2611
|
+
*/
|
|
2612
|
+
deadline_s: number;
|
|
2613
|
+
/**
|
|
2614
|
+
* Grace S
|
|
2615
|
+
* @description seconds past the deadline its `finishing_kinds` still launch
|
|
2616
|
+
*/
|
|
2617
|
+
grace_s: number;
|
|
2618
|
+
/**
|
|
2619
|
+
* Slack S
|
|
2620
|
+
* @description seconds before the deadline from which its tasks are ordered for it
|
|
2621
|
+
*/
|
|
2622
|
+
slack_s: number;
|
|
2623
|
+
/**
|
|
2624
|
+
* Finishing Kinds
|
|
2625
|
+
* @description the kinds that still launch past the deadline
|
|
2626
|
+
* @default []
|
|
2627
|
+
*/
|
|
2628
|
+
finishing_kinds?: string[];
|
|
2629
|
+
};
|
|
2630
|
+
/**
|
|
2631
|
+
* TokenUsage
|
|
2632
|
+
* @description Tokens summed over API calls: an attempt's (its rounds and hops, in `JournalRow.usage`)
|
|
2633
|
+
* or one hop's (`Hop.usage`).
|
|
2634
|
+
*/
|
|
2635
|
+
TokenUsage: {
|
|
2636
|
+
/**
|
|
2637
|
+
* Input
|
|
2638
|
+
* @default 0
|
|
2639
|
+
*/
|
|
2640
|
+
input?: number;
|
|
2641
|
+
/**
|
|
2642
|
+
* Output
|
|
2643
|
+
* @default 0
|
|
2644
|
+
*/
|
|
2645
|
+
output?: number;
|
|
2646
|
+
/**
|
|
2647
|
+
* Cache Read
|
|
2648
|
+
* @default 0
|
|
2649
|
+
*/
|
|
2650
|
+
cache_read?: number;
|
|
2651
|
+
/**
|
|
2652
|
+
* Cache Creation
|
|
2653
|
+
* @default 0
|
|
2654
|
+
*/
|
|
2655
|
+
cache_creation?: number;
|
|
2656
|
+
/**
|
|
2657
|
+
* Calls
|
|
2658
|
+
* @default 0
|
|
2659
|
+
*/
|
|
2660
|
+
calls?: number;
|
|
2661
|
+
/** Resident */
|
|
2662
|
+
resident?: number | null;
|
|
2663
|
+
/** Peak Context */
|
|
2664
|
+
peak_context?: number | null;
|
|
2665
|
+
/** Context Window */
|
|
2666
|
+
context_window?: number | null;
|
|
2667
|
+
} & {
|
|
2668
|
+
[key: string]: unknown;
|
|
2669
|
+
};
|
|
2670
|
+
/**
|
|
2671
|
+
* ToolCallEchoEvent
|
|
2672
|
+
* @description omp: a tool call carried on a message or turn (`acall`).
|
|
2673
|
+
*/
|
|
2674
|
+
ToolCallEchoEvent: {
|
|
2675
|
+
/**
|
|
2676
|
+
* Type
|
|
2677
|
+
* @constant
|
|
2678
|
+
*/
|
|
2679
|
+
type: "acall";
|
|
2680
|
+
/** Tool */
|
|
2681
|
+
tool: string | null;
|
|
2682
|
+
/** Cmd */
|
|
2683
|
+
cmd: string;
|
|
2684
|
+
/** Call */
|
|
2685
|
+
call: string;
|
|
2686
|
+
/** Intent */
|
|
2687
|
+
intent: string;
|
|
2688
|
+
/**
|
|
2689
|
+
* Web Query
|
|
2690
|
+
* @description the query, when the call is a web search
|
|
2691
|
+
*/
|
|
2692
|
+
web_query?: string | null;
|
|
2693
|
+
/**
|
|
2694
|
+
* Web Fetch
|
|
2695
|
+
* @description the URL, when the call reads a web page
|
|
2696
|
+
*/
|
|
2697
|
+
web_fetch?: string | null;
|
|
2698
|
+
} & {
|
|
2699
|
+
[key: string]: unknown;
|
|
2700
|
+
};
|
|
2701
|
+
/**
|
|
2702
|
+
* ToolEndEvent
|
|
2703
|
+
* @description A tool call's result. `tool` is empty for claude, which names only the call id.
|
|
2704
|
+
*/
|
|
2705
|
+
ToolEndEvent: {
|
|
2706
|
+
/**
|
|
2707
|
+
* Type
|
|
2708
|
+
* @constant
|
|
2709
|
+
*/
|
|
2710
|
+
type: "tool_execution_end";
|
|
2711
|
+
/** Tool */
|
|
2712
|
+
tool: string | null;
|
|
2713
|
+
/** Out */
|
|
2714
|
+
out: string;
|
|
2715
|
+
/** Err */
|
|
2716
|
+
err: boolean;
|
|
2717
|
+
/** Call */
|
|
2718
|
+
call: string;
|
|
2719
|
+
} & {
|
|
2720
|
+
[key: string]: unknown;
|
|
2721
|
+
};
|
|
2722
|
+
/**
|
|
2723
|
+
* ToolResultEchoEvent
|
|
2724
|
+
* @description omp: a tool result carried as a `toolResult` message (`aresult`).
|
|
2725
|
+
*/
|
|
2726
|
+
ToolResultEchoEvent: {
|
|
2727
|
+
/**
|
|
2728
|
+
* Type
|
|
2729
|
+
* @constant
|
|
2730
|
+
*/
|
|
2731
|
+
type: "aresult";
|
|
2732
|
+
/** Tool */
|
|
2733
|
+
tool: string | null;
|
|
2734
|
+
/** Call */
|
|
2735
|
+
call: string;
|
|
2736
|
+
/** Out */
|
|
2737
|
+
out: string;
|
|
2738
|
+
/** Err */
|
|
2739
|
+
err: boolean;
|
|
2740
|
+
} & {
|
|
2741
|
+
[key: string]: unknown;
|
|
2742
|
+
};
|
|
2743
|
+
/**
|
|
2744
|
+
* ToolStartEvent
|
|
2745
|
+
* @description A tool call starting (or omp's progress update for it). `call` pairs it with its end event.
|
|
2746
|
+
*/
|
|
2747
|
+
ToolStartEvent: {
|
|
2748
|
+
/**
|
|
2749
|
+
* Type
|
|
2750
|
+
* @enum {string}
|
|
2751
|
+
*/
|
|
2752
|
+
type: "tool_execution_start" | "tool_execution_update";
|
|
2753
|
+
/** Tool */
|
|
2754
|
+
tool: string | null;
|
|
2755
|
+
/**
|
|
2756
|
+
* Cmd
|
|
2757
|
+
* @description a one-line preview: the command, pattern, path, URL or query
|
|
2758
|
+
*/
|
|
2759
|
+
cmd: string;
|
|
2760
|
+
/** Intent */
|
|
2761
|
+
intent: string;
|
|
2762
|
+
/** Call */
|
|
2763
|
+
call: string;
|
|
2764
|
+
/**
|
|
2765
|
+
* Web Query
|
|
2766
|
+
* @description the query, when the call is a web search
|
|
2767
|
+
*/
|
|
2768
|
+
web_query?: string | null;
|
|
2769
|
+
/**
|
|
2770
|
+
* Web Fetch
|
|
2771
|
+
* @description the URL, when the call reads a web page
|
|
2772
|
+
*/
|
|
2773
|
+
web_fetch?: string | null;
|
|
2774
|
+
} & {
|
|
2775
|
+
[key: string]: unknown;
|
|
2776
|
+
};
|
|
2777
|
+
/**
|
|
2778
|
+
* TrendDay
|
|
2779
|
+
* @description One day: its attempts (by when they ended), and its cost per group (`Monitor(groups=)`; a kind in none is its own).
|
|
2780
|
+
*/
|
|
2781
|
+
TrendDay: {
|
|
2782
|
+
/** Day */
|
|
2783
|
+
day: string;
|
|
2784
|
+
/**
|
|
2785
|
+
* Cost Usd
|
|
2786
|
+
* @description group -> cost, USD; a group with no cost reported is absent
|
|
2787
|
+
*/
|
|
2788
|
+
cost_usd: {
|
|
2789
|
+
[key: string]: number;
|
|
2790
|
+
};
|
|
2791
|
+
/** Attempts */
|
|
2792
|
+
attempts: number;
|
|
2793
|
+
/**
|
|
2794
|
+
* Ok
|
|
2795
|
+
* @description attempts that passed, not counting `partial` ones
|
|
2796
|
+
*/
|
|
2797
|
+
ok: number;
|
|
2798
|
+
/**
|
|
2799
|
+
* Partial
|
|
2800
|
+
* @description attempts with stop `partial`: ok, counted apart from `ok`
|
|
2801
|
+
* @default 0
|
|
2802
|
+
*/
|
|
2803
|
+
partial?: number;
|
|
2804
|
+
};
|
|
2805
|
+
/**
|
|
2806
|
+
* TrendDeferral
|
|
2807
|
+
* @description A deferred task (`deferred.jsonl`), with its run; `cause` is `DeferralCause.cause`.
|
|
2808
|
+
*/
|
|
2809
|
+
TrendDeferral: {
|
|
2810
|
+
/** Run */
|
|
2811
|
+
run: string;
|
|
2812
|
+
/** Ts */
|
|
2813
|
+
ts: string;
|
|
2814
|
+
/** Key */
|
|
2815
|
+
key: string;
|
|
2816
|
+
/** Kind */
|
|
2817
|
+
kind: string;
|
|
2818
|
+
/** Cause */
|
|
2819
|
+
cause: string;
|
|
2820
|
+
/** Reason */
|
|
2821
|
+
reason: string;
|
|
2822
|
+
};
|
|
2823
|
+
/**
|
|
2824
|
+
* TrendDenial
|
|
2825
|
+
* @description Tool calls the coding agent's permissions refused, of one tool (`launches.jsonl` `denied`).
|
|
2826
|
+
*/
|
|
2827
|
+
TrendDenial: {
|
|
2828
|
+
/** Tool */
|
|
2829
|
+
tool: string;
|
|
2830
|
+
/** Count */
|
|
2831
|
+
count: number;
|
|
2832
|
+
/** Kinds */
|
|
2833
|
+
kinds: {
|
|
2834
|
+
[key: string]: number;
|
|
2835
|
+
};
|
|
2836
|
+
};
|
|
2837
|
+
/**
|
|
2838
|
+
* TrendKind
|
|
2839
|
+
* @description One kind over the period. A task is one key of one run; its last attempt in the period says how it ended.
|
|
2840
|
+
*/
|
|
2841
|
+
TrendKind: {
|
|
2842
|
+
/** Kind */
|
|
2843
|
+
kind: string;
|
|
2844
|
+
/** Group */
|
|
2845
|
+
group: string;
|
|
2846
|
+
/**
|
|
2847
|
+
* Executor
|
|
2848
|
+
* @enum {string}
|
|
2849
|
+
*/
|
|
2850
|
+
executor: "agent" | "python";
|
|
2851
|
+
/** Tasks */
|
|
2852
|
+
tasks: number;
|
|
2853
|
+
/**
|
|
2854
|
+
* Tasks Ok
|
|
2855
|
+
* @description tasks whose last attempt passed, not counting `partial` ones
|
|
2856
|
+
*/
|
|
2857
|
+
tasks_ok: number;
|
|
2858
|
+
/**
|
|
2859
|
+
* Tasks Partial
|
|
2860
|
+
* @description tasks whose last attempt was `partial`
|
|
2861
|
+
* @default 0
|
|
2862
|
+
*/
|
|
2863
|
+
tasks_partial?: number;
|
|
2864
|
+
/** Attempts */
|
|
2865
|
+
attempts: number;
|
|
2866
|
+
/**
|
|
2867
|
+
* Ok
|
|
2868
|
+
* @description attempts that passed, not counting `partial` ones
|
|
2869
|
+
*/
|
|
2870
|
+
ok: number;
|
|
2871
|
+
/**
|
|
2872
|
+
* Partial
|
|
2873
|
+
* @description attempts with stop `partial`: ok, counted apart from `ok`
|
|
2874
|
+
* @default 0
|
|
2875
|
+
*/
|
|
2876
|
+
partial?: number;
|
|
2877
|
+
/**
|
|
2878
|
+
* Wall S
|
|
2879
|
+
* @description every attempt's wall time, summed
|
|
2880
|
+
*/
|
|
2881
|
+
wall_s: number;
|
|
2882
|
+
/**
|
|
2883
|
+
* Wall S Median
|
|
2884
|
+
* @description the median attempt's wall time
|
|
2885
|
+
*/
|
|
2886
|
+
wall_s_median: number;
|
|
2887
|
+
/** Cost Usd */
|
|
2888
|
+
cost_usd: number | null;
|
|
2889
|
+
tokens: components["schemas"]["TokenUsage"];
|
|
2890
|
+
};
|
|
2891
|
+
/**
|
|
2892
|
+
* TrendPeriod
|
|
2893
|
+
* @description The period: days `from`..`to`, both included, in the time zone `tz` (an IANA name).
|
|
2894
|
+
*/
|
|
2895
|
+
TrendPeriod: {
|
|
2896
|
+
/**
|
|
2897
|
+
* From
|
|
2898
|
+
* @description the first day, YYYY-MM-DD
|
|
2899
|
+
*/
|
|
2900
|
+
from: string;
|
|
2901
|
+
/**
|
|
2902
|
+
* To
|
|
2903
|
+
* @description the last day, YYYY-MM-DD
|
|
2904
|
+
*/
|
|
2905
|
+
to: string;
|
|
2906
|
+
/** Tz */
|
|
2907
|
+
tz: string;
|
|
2908
|
+
/**
|
|
2909
|
+
* Days
|
|
2910
|
+
* @description every day of the period, in order
|
|
2911
|
+
*/
|
|
2912
|
+
days: string[];
|
|
2913
|
+
};
|
|
2914
|
+
/**
|
|
2915
|
+
* TrendQuota
|
|
2916
|
+
* @description One account's utilization of one window over the period: each day's and each hour's highest reading.
|
|
2917
|
+
* A credential whose token was replaced has one entry per account.
|
|
2918
|
+
*/
|
|
2919
|
+
TrendQuota: {
|
|
2920
|
+
/** Credential */
|
|
2921
|
+
credential: string;
|
|
2922
|
+
/**
|
|
2923
|
+
* Account
|
|
2924
|
+
* @description the account the readings are of (`QuotaReading.account`); empty when not known
|
|
2925
|
+
* @default
|
|
2926
|
+
*/
|
|
2927
|
+
account?: string;
|
|
2928
|
+
/**
|
|
2929
|
+
* Window
|
|
2930
|
+
* @description `five_hour`, `seven_day`, or another window a reading names (`seven_day_opus`)
|
|
2931
|
+
*/
|
|
2932
|
+
window: string;
|
|
2933
|
+
/**
|
|
2934
|
+
* Daily Peak
|
|
2935
|
+
* @description per day of `period.days`; null when no reading arrived that day
|
|
2936
|
+
*/
|
|
2937
|
+
daily_peak: (number | null)[];
|
|
2938
|
+
/**
|
|
2939
|
+
* Hourly Peak
|
|
2940
|
+
* @description per hour from the period's first instant (the first day's midnight in `tz`); null when no reading arrived in it
|
|
2941
|
+
*/
|
|
2942
|
+
hourly_peak: (number | null)[];
|
|
2943
|
+
};
|
|
2944
|
+
/**
|
|
2945
|
+
* TrendRest
|
|
2946
|
+
* @description A start or end of a credential's rest (a `rests.jsonl` row), with its run.
|
|
2947
|
+
*/
|
|
2948
|
+
TrendRest: {
|
|
2949
|
+
/** Credential */
|
|
2950
|
+
credential: string;
|
|
2951
|
+
/**
|
|
2952
|
+
* Window
|
|
2953
|
+
* @default
|
|
2954
|
+
* @enum {string}
|
|
2955
|
+
*/
|
|
2956
|
+
window?: "" | "five_hour" | "seven_day";
|
|
2957
|
+
/** Pct */
|
|
2958
|
+
pct?: number | null;
|
|
2959
|
+
/** Cap */
|
|
2960
|
+
cap?: number | null;
|
|
2961
|
+
/**
|
|
2962
|
+
* Rule
|
|
2963
|
+
* @default
|
|
2964
|
+
*/
|
|
2965
|
+
rule?: string;
|
|
2966
|
+
/**
|
|
2967
|
+
* Until
|
|
2968
|
+
* @default
|
|
2969
|
+
*/
|
|
2970
|
+
until?: string;
|
|
2971
|
+
/**
|
|
2972
|
+
* Account
|
|
2973
|
+
* @default
|
|
2974
|
+
*/
|
|
2975
|
+
account?: string;
|
|
2976
|
+
/** Reading */
|
|
2977
|
+
reading?: {
|
|
2978
|
+
[key: string]: unknown;
|
|
2979
|
+
} | null;
|
|
2980
|
+
/** Ts */
|
|
2981
|
+
ts: string;
|
|
2982
|
+
/**
|
|
2983
|
+
* Event
|
|
2984
|
+
* @enum {string}
|
|
2985
|
+
*/
|
|
2986
|
+
event: "start" | "end";
|
|
2987
|
+
/** Run */
|
|
2988
|
+
run: string;
|
|
2989
|
+
} & {
|
|
2990
|
+
[key: string]: unknown;
|
|
2991
|
+
};
|
|
2992
|
+
/**
|
|
2993
|
+
* TrendRun
|
|
2994
|
+
* @description One run of the period: its attempts in the period.
|
|
2995
|
+
*/
|
|
2996
|
+
TrendRun: {
|
|
2997
|
+
/** Run */
|
|
2998
|
+
run: string;
|
|
2999
|
+
/** Run Group */
|
|
3000
|
+
run_group: string;
|
|
3001
|
+
/** Host Id */
|
|
3002
|
+
host_id: string;
|
|
3003
|
+
/** Started At */
|
|
3004
|
+
started_at: string;
|
|
3005
|
+
/** Finished At */
|
|
3006
|
+
finished_at: string;
|
|
3007
|
+
/**
|
|
3008
|
+
* Last Ts
|
|
3009
|
+
* @description when its last attempt in the period ended; empty when it has none
|
|
3010
|
+
*/
|
|
3011
|
+
last_ts: string;
|
|
3012
|
+
/** Attempts */
|
|
3013
|
+
attempts: number;
|
|
3014
|
+
/**
|
|
3015
|
+
* Ok
|
|
3016
|
+
* @description attempts that passed, not counting `partial` ones
|
|
3017
|
+
*/
|
|
3018
|
+
ok: number;
|
|
3019
|
+
/**
|
|
3020
|
+
* Partial
|
|
3021
|
+
* @description attempts with stop `partial`: ok, counted apart from `ok`
|
|
3022
|
+
* @default 0
|
|
3023
|
+
*/
|
|
3024
|
+
partial?: number;
|
|
3025
|
+
/** Cost Usd */
|
|
3026
|
+
cost_usd: number | null;
|
|
3027
|
+
/** Wall S */
|
|
3028
|
+
wall_s: number;
|
|
3029
|
+
/** Stub */
|
|
3030
|
+
stub: boolean;
|
|
3031
|
+
};
|
|
3032
|
+
/**
|
|
3033
|
+
* TrendStarts
|
|
3034
|
+
* @description Run starts by weekday (`weekdays`, Monday first) and hour (`hours`) in the period's time zone: `counts[weekday][hour]`.
|
|
3035
|
+
*/
|
|
3036
|
+
TrendStarts: {
|
|
3037
|
+
/** Weekdays */
|
|
3038
|
+
weekdays: string[];
|
|
3039
|
+
/** Hours */
|
|
3040
|
+
hours: number[];
|
|
3041
|
+
/** Counts */
|
|
3042
|
+
counts: number[][];
|
|
3043
|
+
};
|
|
3044
|
+
/**
|
|
3045
|
+
* TrendStop
|
|
3046
|
+
* @description Attempts that ended on one `stop`, and by which kinds.
|
|
3047
|
+
*/
|
|
3048
|
+
TrendStop: {
|
|
3049
|
+
/** Stop */
|
|
3050
|
+
stop: string;
|
|
3051
|
+
/** Attempts */
|
|
3052
|
+
attempts: number;
|
|
3053
|
+
/** Kinds */
|
|
3054
|
+
kinds: {
|
|
3055
|
+
[key: string]: number;
|
|
3056
|
+
};
|
|
3057
|
+
};
|
|
3058
|
+
/**
|
|
3059
|
+
* TrendTotals
|
|
3060
|
+
* @description The period's runs and attempts, summed.
|
|
3061
|
+
*/
|
|
3062
|
+
TrendTotals: {
|
|
3063
|
+
/**
|
|
3064
|
+
* Runs
|
|
3065
|
+
* @description runs with an attempt in the period, or started in it
|
|
3066
|
+
*/
|
|
3067
|
+
runs: number;
|
|
3068
|
+
/** Attempts */
|
|
3069
|
+
attempts: number;
|
|
3070
|
+
/**
|
|
3071
|
+
* Ok
|
|
3072
|
+
* @description attempts that passed, not counting `partial` ones
|
|
3073
|
+
*/
|
|
3074
|
+
ok: number;
|
|
3075
|
+
/**
|
|
3076
|
+
* Partial
|
|
3077
|
+
* @description attempts with stop `partial`: ok, counted apart from `ok`
|
|
3078
|
+
* @default 0
|
|
3079
|
+
*/
|
|
3080
|
+
partial?: number;
|
|
3081
|
+
/**
|
|
3082
|
+
* Cost Usd
|
|
3083
|
+
* @description what the coding agents reported; null when no attempt reported a cost
|
|
3084
|
+
*/
|
|
3085
|
+
cost_usd: number | null;
|
|
3086
|
+
/** Wall S */
|
|
3087
|
+
wall_s: number;
|
|
3088
|
+
tokens: components["schemas"]["TokenUsage"];
|
|
3089
|
+
};
|
|
3090
|
+
/**
|
|
3091
|
+
* Trends
|
|
3092
|
+
* @description What the runs of a period add up to (`Monitor.trends`). `bodies`: the same numbers as
|
|
3093
|
+
* panel bodies (`{"type": "blocks", ...}`), in English, for a page with no words of its own;
|
|
3094
|
+
* `panels`: the trend panels a domain registered (`Panel(scope="trends")`).
|
|
3095
|
+
*/
|
|
3096
|
+
Trends: {
|
|
3097
|
+
period: components["schemas"]["TrendPeriod"];
|
|
3098
|
+
totals: components["schemas"]["TrendTotals"];
|
|
3099
|
+
/** Daily */
|
|
3100
|
+
daily: components["schemas"]["TrendDay"][];
|
|
3101
|
+
/** Kinds */
|
|
3102
|
+
kinds: components["schemas"]["TrendKind"][];
|
|
3103
|
+
/** Models */
|
|
3104
|
+
models: components["schemas"]["ModelUsage"][];
|
|
3105
|
+
/** Stops */
|
|
3106
|
+
stops: components["schemas"]["TrendStop"][];
|
|
3107
|
+
/** Denials */
|
|
3108
|
+
denials: components["schemas"]["TrendDenial"][];
|
|
3109
|
+
/** Quota */
|
|
3110
|
+
quota: components["schemas"]["TrendQuota"][];
|
|
3111
|
+
/** Rests */
|
|
3112
|
+
rests: components["schemas"]["TrendRest"][];
|
|
3113
|
+
/** Deferred */
|
|
3114
|
+
deferred: components["schemas"]["TrendDeferral"][];
|
|
3115
|
+
/** Deferred Causes */
|
|
3116
|
+
deferred_causes: {
|
|
3117
|
+
[key: string]: number;
|
|
3118
|
+
};
|
|
3119
|
+
/** Runs */
|
|
3120
|
+
runs: components["schemas"]["TrendRun"][];
|
|
3121
|
+
starts: components["schemas"]["TrendStarts"];
|
|
3122
|
+
/** Bodies */
|
|
3123
|
+
bodies: {
|
|
3124
|
+
[key: string]: {
|
|
3125
|
+
[key: string]: unknown;
|
|
3126
|
+
};
|
|
3127
|
+
};
|
|
3128
|
+
/** Panels */
|
|
3129
|
+
panels: components["schemas"]["PanelInfo"][];
|
|
3130
|
+
};
|
|
3131
|
+
/**
|
|
3132
|
+
* UnitPosition
|
|
3133
|
+
* @description One unit's place in the per-unit step sequence; `inflight` are the work
|
|
3134
|
+
* items dispatched but not yet recorded.
|
|
3135
|
+
*/
|
|
3136
|
+
UnitPosition: {
|
|
3137
|
+
/** Stage */
|
|
3138
|
+
stage: string | null;
|
|
3139
|
+
/** Step */
|
|
3140
|
+
step: string | null;
|
|
3141
|
+
/** Completed */
|
|
3142
|
+
completed: string[];
|
|
3143
|
+
/** Loop Pass */
|
|
3144
|
+
loop_pass: number;
|
|
3145
|
+
/** Inflight */
|
|
3146
|
+
inflight: string[];
|
|
3147
|
+
};
|
|
3148
|
+
/** UpstreamTask */
|
|
3149
|
+
UpstreamTask: {
|
|
3150
|
+
/** Key */
|
|
3151
|
+
key: string;
|
|
3152
|
+
/** Kind */
|
|
3153
|
+
kind: string;
|
|
3154
|
+
/** Unit */
|
|
3155
|
+
unit: string;
|
|
3156
|
+
/**
|
|
3157
|
+
* Executor
|
|
3158
|
+
* @enum {string}
|
|
3159
|
+
*/
|
|
3160
|
+
executor: "agent" | "python";
|
|
3161
|
+
/** Outputs */
|
|
3162
|
+
outputs: components["schemas"]["ContractSpec"][];
|
|
3163
|
+
};
|
|
3164
|
+
/** ValidationError */
|
|
3165
|
+
ValidationError: {
|
|
3166
|
+
/** Location */
|
|
3167
|
+
loc: (string | number)[];
|
|
3168
|
+
/** Message */
|
|
3169
|
+
msg: string;
|
|
3170
|
+
/** Error Type */
|
|
3171
|
+
type: string;
|
|
3172
|
+
/** Input */
|
|
3173
|
+
input?: unknown;
|
|
3174
|
+
/** Context */
|
|
3175
|
+
ctx?: Record<string, never>;
|
|
3176
|
+
};
|
|
3177
|
+
};
|
|
3178
|
+
responses: never;
|
|
3179
|
+
parameters: never;
|
|
3180
|
+
requestBodies: never;
|
|
3181
|
+
headers: never;
|
|
3182
|
+
pathItems: never;
|
|
3183
|
+
};
|
|
3184
|
+
export type $defs = Record<string, never>;
|
|
3185
|
+
export interface operations {
|
|
3186
|
+
api_info_api_info_get: {
|
|
3187
|
+
parameters: {
|
|
3188
|
+
query?: never;
|
|
3189
|
+
header?: never;
|
|
3190
|
+
path?: never;
|
|
3191
|
+
cookie?: never;
|
|
3192
|
+
};
|
|
3193
|
+
requestBody?: never;
|
|
3194
|
+
responses: {
|
|
3195
|
+
/** @description Successful Response */
|
|
3196
|
+
200: {
|
|
3197
|
+
headers: {
|
|
3198
|
+
[name: string]: unknown;
|
|
3199
|
+
};
|
|
3200
|
+
content: {
|
|
3201
|
+
"application/json": components["schemas"]["Info"];
|
|
3202
|
+
};
|
|
3203
|
+
};
|
|
3204
|
+
};
|
|
3205
|
+
};
|
|
3206
|
+
api_runs_api_runs_get: {
|
|
3207
|
+
parameters: {
|
|
3208
|
+
query?: never;
|
|
3209
|
+
header?: never;
|
|
3210
|
+
path?: never;
|
|
3211
|
+
cookie?: never;
|
|
3212
|
+
};
|
|
3213
|
+
requestBody?: never;
|
|
3214
|
+
responses: {
|
|
3215
|
+
/** @description Successful Response */
|
|
3216
|
+
200: {
|
|
3217
|
+
headers: {
|
|
3218
|
+
[name: string]: unknown;
|
|
3219
|
+
};
|
|
3220
|
+
content: {
|
|
3221
|
+
"application/json": components["schemas"]["RunSummary"][];
|
|
3222
|
+
};
|
|
3223
|
+
};
|
|
3224
|
+
};
|
|
3225
|
+
};
|
|
3226
|
+
api_hosts_api_hosts_get: {
|
|
3227
|
+
parameters: {
|
|
3228
|
+
query?: never;
|
|
3229
|
+
header?: never;
|
|
3230
|
+
path?: never;
|
|
3231
|
+
cookie?: never;
|
|
3232
|
+
};
|
|
3233
|
+
requestBody?: never;
|
|
3234
|
+
responses: {
|
|
3235
|
+
/** @description Successful Response */
|
|
3236
|
+
200: {
|
|
3237
|
+
headers: {
|
|
3238
|
+
[name: string]: unknown;
|
|
3239
|
+
};
|
|
3240
|
+
content: {
|
|
3241
|
+
"application/json": components["schemas"]["Hosts"];
|
|
3242
|
+
};
|
|
3243
|
+
};
|
|
3244
|
+
};
|
|
3245
|
+
};
|
|
3246
|
+
api_trends_api_trends_get: {
|
|
3247
|
+
parameters: {
|
|
3248
|
+
query?: {
|
|
3249
|
+
/** @description the first day, YYYY-MM-DD (default: 13 days before `to`) */
|
|
3250
|
+
from?: string;
|
|
3251
|
+
/** @description the last day, YYYY-MM-DD (default: today in `tz`) */
|
|
3252
|
+
to?: string;
|
|
3253
|
+
/** @description the time zone the days are in, an IANA name (default UTC) */
|
|
3254
|
+
tz?: string;
|
|
3255
|
+
/** @description only the runs of this run group */
|
|
3256
|
+
run_group?: string;
|
|
3257
|
+
/** @description count stub runs too */
|
|
3258
|
+
stub?: boolean;
|
|
3259
|
+
};
|
|
3260
|
+
header?: never;
|
|
3261
|
+
path?: never;
|
|
3262
|
+
cookie?: never;
|
|
3263
|
+
};
|
|
3264
|
+
requestBody?: never;
|
|
3265
|
+
responses: {
|
|
3266
|
+
/** @description Successful Response */
|
|
3267
|
+
200: {
|
|
3268
|
+
headers: {
|
|
3269
|
+
[name: string]: unknown;
|
|
3270
|
+
};
|
|
3271
|
+
content: {
|
|
3272
|
+
"application/json": components["schemas"]["Trends"];
|
|
3273
|
+
};
|
|
3274
|
+
};
|
|
3275
|
+
/** @description a period it cannot read */
|
|
3276
|
+
400: {
|
|
3277
|
+
headers: {
|
|
3278
|
+
[name: string]: unknown;
|
|
3279
|
+
};
|
|
3280
|
+
content?: never;
|
|
3281
|
+
};
|
|
3282
|
+
/** @description Validation Error */
|
|
3283
|
+
422: {
|
|
3284
|
+
headers: {
|
|
3285
|
+
[name: string]: unknown;
|
|
3286
|
+
};
|
|
3287
|
+
content: {
|
|
3288
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3289
|
+
};
|
|
3290
|
+
};
|
|
3291
|
+
};
|
|
3292
|
+
};
|
|
3293
|
+
api_trend_panel_api_trends_panels__name__get: {
|
|
3294
|
+
parameters: {
|
|
3295
|
+
query?: {
|
|
3296
|
+
from?: string;
|
|
3297
|
+
to?: string;
|
|
3298
|
+
tz?: string;
|
|
3299
|
+
run_group?: string;
|
|
3300
|
+
};
|
|
3301
|
+
header?: never;
|
|
3302
|
+
path: {
|
|
3303
|
+
name: string;
|
|
3304
|
+
};
|
|
3305
|
+
cookie?: never;
|
|
3306
|
+
};
|
|
3307
|
+
requestBody?: never;
|
|
3308
|
+
responses: {
|
|
3309
|
+
/** @description Successful Response */
|
|
3310
|
+
200: {
|
|
3311
|
+
headers: {
|
|
3312
|
+
[name: string]: unknown;
|
|
3313
|
+
};
|
|
3314
|
+
content: {
|
|
3315
|
+
"application/json": components["schemas"]["TilesBody"] | components["schemas"]["TableBody"] | components["schemas"]["ColumnsBody"] | components["schemas"]["LinesBody"] | components["schemas"]["HeatmapBody"] | components["schemas"]["HBarsBody"] | components["schemas"]["StatusGridBody"] | components["schemas"]["NoteBody"] | components["schemas"]["BlocksBody"] | {
|
|
3316
|
+
[key: string]: unknown;
|
|
3317
|
+
};
|
|
3318
|
+
};
|
|
3319
|
+
};
|
|
3320
|
+
/** @description a period it cannot read */
|
|
3321
|
+
400: {
|
|
3322
|
+
headers: {
|
|
3323
|
+
[name: string]: unknown;
|
|
3324
|
+
};
|
|
3325
|
+
content?: never;
|
|
3326
|
+
};
|
|
3327
|
+
/** @description no trend panel of that name */
|
|
3328
|
+
404: {
|
|
3329
|
+
headers: {
|
|
3330
|
+
[name: string]: unknown;
|
|
3331
|
+
};
|
|
3332
|
+
content?: never;
|
|
3333
|
+
};
|
|
3334
|
+
/** @description Validation Error */
|
|
3335
|
+
422: {
|
|
3336
|
+
headers: {
|
|
3337
|
+
[name: string]: unknown;
|
|
3338
|
+
};
|
|
3339
|
+
content: {
|
|
3340
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3341
|
+
};
|
|
3342
|
+
};
|
|
3343
|
+
};
|
|
3344
|
+
};
|
|
3345
|
+
api_journal_api_runs__run__journal_get: {
|
|
3346
|
+
parameters: {
|
|
3347
|
+
query?: {
|
|
3348
|
+
since?: number;
|
|
3349
|
+
};
|
|
3350
|
+
header?: never;
|
|
3351
|
+
path: {
|
|
3352
|
+
run: string;
|
|
3353
|
+
};
|
|
3354
|
+
cookie?: never;
|
|
3355
|
+
};
|
|
3356
|
+
requestBody?: never;
|
|
3357
|
+
responses: {
|
|
3358
|
+
/** @description Successful Response */
|
|
3359
|
+
200: {
|
|
3360
|
+
headers: {
|
|
3361
|
+
[name: string]: unknown;
|
|
3362
|
+
};
|
|
3363
|
+
content: {
|
|
3364
|
+
"application/json": components["schemas"]["JournalPage"];
|
|
3365
|
+
};
|
|
3366
|
+
};
|
|
3367
|
+
/** @description Validation Error */
|
|
3368
|
+
422: {
|
|
3369
|
+
headers: {
|
|
3370
|
+
[name: string]: unknown;
|
|
3371
|
+
};
|
|
3372
|
+
content: {
|
|
3373
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3374
|
+
};
|
|
3375
|
+
};
|
|
3376
|
+
};
|
|
3377
|
+
};
|
|
3378
|
+
api_plan_api_runs__run__plan_get: {
|
|
3379
|
+
parameters: {
|
|
3380
|
+
query?: never;
|
|
3381
|
+
header?: never;
|
|
3382
|
+
path: {
|
|
3383
|
+
run: string;
|
|
3384
|
+
};
|
|
3385
|
+
cookie?: never;
|
|
3386
|
+
};
|
|
3387
|
+
requestBody?: never;
|
|
3388
|
+
responses: {
|
|
3389
|
+
/** @description Successful Response */
|
|
3390
|
+
200: {
|
|
3391
|
+
headers: {
|
|
3392
|
+
[name: string]: unknown;
|
|
3393
|
+
};
|
|
3394
|
+
content: {
|
|
3395
|
+
"application/json": components["schemas"]["Plan"];
|
|
3396
|
+
};
|
|
3397
|
+
};
|
|
3398
|
+
/** @description Validation Error */
|
|
3399
|
+
422: {
|
|
3400
|
+
headers: {
|
|
3401
|
+
[name: string]: unknown;
|
|
3402
|
+
};
|
|
3403
|
+
content: {
|
|
3404
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3405
|
+
};
|
|
3406
|
+
};
|
|
3407
|
+
};
|
|
3408
|
+
};
|
|
3409
|
+
api_outputs_api_runs__run__outputs_get: {
|
|
3410
|
+
parameters: {
|
|
3411
|
+
query?: never;
|
|
3412
|
+
header?: never;
|
|
3413
|
+
path: {
|
|
3414
|
+
run: string;
|
|
3415
|
+
};
|
|
3416
|
+
cookie?: never;
|
|
3417
|
+
};
|
|
3418
|
+
requestBody?: never;
|
|
3419
|
+
responses: {
|
|
3420
|
+
/** @description Successful Response */
|
|
3421
|
+
200: {
|
|
3422
|
+
headers: {
|
|
3423
|
+
[name: string]: unknown;
|
|
3424
|
+
};
|
|
3425
|
+
content: {
|
|
3426
|
+
"application/json": components["schemas"]["Outputs"];
|
|
3427
|
+
};
|
|
3428
|
+
};
|
|
3429
|
+
/** @description Validation Error */
|
|
3430
|
+
422: {
|
|
3431
|
+
headers: {
|
|
3432
|
+
[name: string]: unknown;
|
|
3433
|
+
};
|
|
3434
|
+
content: {
|
|
3435
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3436
|
+
};
|
|
3437
|
+
};
|
|
3438
|
+
};
|
|
3439
|
+
};
|
|
3440
|
+
api_definitions_api_runs__run__definitions_get: {
|
|
3441
|
+
parameters: {
|
|
3442
|
+
query?: never;
|
|
3443
|
+
header?: never;
|
|
3444
|
+
path: {
|
|
3445
|
+
run: string;
|
|
3446
|
+
};
|
|
3447
|
+
cookie?: never;
|
|
3448
|
+
};
|
|
3449
|
+
requestBody?: never;
|
|
3450
|
+
responses: {
|
|
3451
|
+
/** @description Successful Response */
|
|
3452
|
+
200: {
|
|
3453
|
+
headers: {
|
|
3454
|
+
[name: string]: unknown;
|
|
3455
|
+
};
|
|
3456
|
+
content: {
|
|
3457
|
+
"application/json": components["schemas"]["TaskDefinition"][];
|
|
3458
|
+
};
|
|
3459
|
+
};
|
|
3460
|
+
/** @description Validation Error */
|
|
3461
|
+
422: {
|
|
3462
|
+
headers: {
|
|
3463
|
+
[name: string]: unknown;
|
|
3464
|
+
};
|
|
3465
|
+
content: {
|
|
3466
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3467
|
+
};
|
|
3468
|
+
};
|
|
3469
|
+
};
|
|
3470
|
+
};
|
|
3471
|
+
api_cursor_api_runs__run__cursor_get: {
|
|
3472
|
+
parameters: {
|
|
3473
|
+
query?: never;
|
|
3474
|
+
header?: never;
|
|
3475
|
+
path: {
|
|
3476
|
+
run: string;
|
|
3477
|
+
};
|
|
3478
|
+
cookie?: never;
|
|
3479
|
+
};
|
|
3480
|
+
requestBody?: never;
|
|
3481
|
+
responses: {
|
|
3482
|
+
/** @description Successful Response */
|
|
3483
|
+
200: {
|
|
3484
|
+
headers: {
|
|
3485
|
+
[name: string]: unknown;
|
|
3486
|
+
};
|
|
3487
|
+
content: {
|
|
3488
|
+
"application/json": components["schemas"]["CursorView"];
|
|
3489
|
+
};
|
|
3490
|
+
};
|
|
3491
|
+
/** @description Validation Error */
|
|
3492
|
+
422: {
|
|
3493
|
+
headers: {
|
|
3494
|
+
[name: string]: unknown;
|
|
3495
|
+
};
|
|
3496
|
+
content: {
|
|
3497
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3498
|
+
};
|
|
3499
|
+
};
|
|
3500
|
+
};
|
|
3501
|
+
};
|
|
3502
|
+
api_procs_api_runs__run__procs_get: {
|
|
3503
|
+
parameters: {
|
|
3504
|
+
query?: never;
|
|
3505
|
+
header?: never;
|
|
3506
|
+
path: {
|
|
3507
|
+
run: string;
|
|
3508
|
+
};
|
|
3509
|
+
cookie?: never;
|
|
3510
|
+
};
|
|
3511
|
+
requestBody?: never;
|
|
3512
|
+
responses: {
|
|
3513
|
+
/** @description Successful Response */
|
|
3514
|
+
200: {
|
|
3515
|
+
headers: {
|
|
3516
|
+
[name: string]: unknown;
|
|
3517
|
+
};
|
|
3518
|
+
content: {
|
|
3519
|
+
"application/json": components["schemas"]["Procs"];
|
|
3520
|
+
};
|
|
3521
|
+
};
|
|
3522
|
+
/** @description Validation Error */
|
|
3523
|
+
422: {
|
|
3524
|
+
headers: {
|
|
3525
|
+
[name: string]: unknown;
|
|
3526
|
+
};
|
|
3527
|
+
content: {
|
|
3528
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3529
|
+
};
|
|
3530
|
+
};
|
|
3531
|
+
};
|
|
3532
|
+
};
|
|
3533
|
+
api_task_api_runs__run__task__key__get: {
|
|
3534
|
+
parameters: {
|
|
3535
|
+
query?: never;
|
|
3536
|
+
header?: never;
|
|
3537
|
+
path: {
|
|
3538
|
+
run: string;
|
|
3539
|
+
key: string;
|
|
3540
|
+
};
|
|
3541
|
+
cookie?: never;
|
|
3542
|
+
};
|
|
3543
|
+
requestBody?: never;
|
|
3544
|
+
responses: {
|
|
3545
|
+
/** @description Successful Response */
|
|
3546
|
+
200: {
|
|
3547
|
+
headers: {
|
|
3548
|
+
[name: string]: unknown;
|
|
3549
|
+
};
|
|
3550
|
+
content: {
|
|
3551
|
+
"application/json": components["schemas"]["TaskDetail"];
|
|
3552
|
+
};
|
|
3553
|
+
};
|
|
3554
|
+
/** @description Validation Error */
|
|
3555
|
+
422: {
|
|
3556
|
+
headers: {
|
|
3557
|
+
[name: string]: unknown;
|
|
3558
|
+
};
|
|
3559
|
+
content: {
|
|
3560
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3561
|
+
};
|
|
3562
|
+
};
|
|
3563
|
+
};
|
|
3564
|
+
};
|
|
3565
|
+
api_stream_api_runs__run__stream__key__get: {
|
|
3566
|
+
parameters: {
|
|
3567
|
+
query?: {
|
|
3568
|
+
since?: number;
|
|
3569
|
+
};
|
|
3570
|
+
header?: never;
|
|
3571
|
+
path: {
|
|
3572
|
+
run: string;
|
|
3573
|
+
key: string;
|
|
3574
|
+
};
|
|
3575
|
+
cookie?: never;
|
|
3576
|
+
};
|
|
3577
|
+
requestBody?: never;
|
|
3578
|
+
responses: {
|
|
3579
|
+
/** @description Successful Response */
|
|
3580
|
+
200: {
|
|
3581
|
+
headers: {
|
|
3582
|
+
[name: string]: unknown;
|
|
3583
|
+
};
|
|
3584
|
+
content: {
|
|
3585
|
+
"application/json": components["schemas"]["StreamPage"];
|
|
3586
|
+
};
|
|
3587
|
+
};
|
|
3588
|
+
/** @description Validation Error */
|
|
3589
|
+
422: {
|
|
3590
|
+
headers: {
|
|
3591
|
+
[name: string]: unknown;
|
|
3592
|
+
};
|
|
3593
|
+
content: {
|
|
3594
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3595
|
+
};
|
|
3596
|
+
};
|
|
3597
|
+
};
|
|
3598
|
+
};
|
|
3599
|
+
api_panel_api_runs__run__panels__name__get: {
|
|
3600
|
+
parameters: {
|
|
3601
|
+
query?: never;
|
|
3602
|
+
header?: never;
|
|
3603
|
+
path: {
|
|
3604
|
+
run: string;
|
|
3605
|
+
name: string;
|
|
3606
|
+
};
|
|
3607
|
+
cookie?: never;
|
|
3608
|
+
};
|
|
3609
|
+
requestBody?: never;
|
|
3610
|
+
responses: {
|
|
3611
|
+
/** @description Successful Response */
|
|
3612
|
+
200: {
|
|
3613
|
+
headers: {
|
|
3614
|
+
[name: string]: unknown;
|
|
3615
|
+
};
|
|
3616
|
+
content: {
|
|
3617
|
+
"application/json": components["schemas"]["TilesBody"] | components["schemas"]["TableBody"] | components["schemas"]["ColumnsBody"] | components["schemas"]["LinesBody"] | components["schemas"]["HeatmapBody"] | components["schemas"]["HBarsBody"] | components["schemas"]["StatusGridBody"] | components["schemas"]["NoteBody"] | components["schemas"]["BlocksBody"] | {
|
|
3618
|
+
[key: string]: unknown;
|
|
3619
|
+
};
|
|
3620
|
+
};
|
|
3621
|
+
};
|
|
3622
|
+
/** @description no run panel of that name */
|
|
3623
|
+
404: {
|
|
3624
|
+
headers: {
|
|
3625
|
+
[name: string]: unknown;
|
|
3626
|
+
};
|
|
3627
|
+
content?: never;
|
|
3628
|
+
};
|
|
3629
|
+
/** @description Validation Error */
|
|
3630
|
+
422: {
|
|
3631
|
+
headers: {
|
|
3632
|
+
[name: string]: unknown;
|
|
3633
|
+
};
|
|
3634
|
+
content: {
|
|
3635
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3636
|
+
};
|
|
3637
|
+
};
|
|
3638
|
+
};
|
|
3639
|
+
};
|
|
3640
|
+
events_events_get: {
|
|
3641
|
+
parameters: {
|
|
3642
|
+
query: {
|
|
3643
|
+
run: string;
|
|
3644
|
+
};
|
|
3645
|
+
header?: never;
|
|
3646
|
+
path?: never;
|
|
3647
|
+
cookie?: never;
|
|
3648
|
+
};
|
|
3649
|
+
requestBody?: never;
|
|
3650
|
+
responses: {
|
|
3651
|
+
/** @description Server-Sent Events; each message is one `RunEvent` */
|
|
3652
|
+
200: {
|
|
3653
|
+
headers: {
|
|
3654
|
+
[name: string]: unknown;
|
|
3655
|
+
};
|
|
3656
|
+
content: {
|
|
3657
|
+
"text/event-stream": components["schemas"]["RunEvent"];
|
|
3658
|
+
};
|
|
3659
|
+
};
|
|
3660
|
+
/** @description not a plain run id */
|
|
3661
|
+
404: {
|
|
3662
|
+
headers: {
|
|
3663
|
+
[name: string]: unknown;
|
|
3664
|
+
};
|
|
3665
|
+
content?: never;
|
|
3666
|
+
};
|
|
3667
|
+
/** @description Validation Error */
|
|
3668
|
+
422: {
|
|
3669
|
+
headers: {
|
|
3670
|
+
[name: string]: unknown;
|
|
3671
|
+
};
|
|
3672
|
+
content: {
|
|
3673
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3674
|
+
};
|
|
3675
|
+
};
|
|
3676
|
+
};
|
|
3677
|
+
};
|
|
3678
|
+
events_stream_events_stream_get: {
|
|
3679
|
+
parameters: {
|
|
3680
|
+
query: {
|
|
3681
|
+
run: string;
|
|
3682
|
+
key: string;
|
|
3683
|
+
};
|
|
3684
|
+
header?: never;
|
|
3685
|
+
path?: never;
|
|
3686
|
+
cookie?: never;
|
|
3687
|
+
};
|
|
3688
|
+
requestBody?: never;
|
|
3689
|
+
responses: {
|
|
3690
|
+
/** @description Server-Sent Events; each message is one `StreamMessage` */
|
|
3691
|
+
200: {
|
|
3692
|
+
headers: {
|
|
3693
|
+
[name: string]: unknown;
|
|
3694
|
+
};
|
|
3695
|
+
content: {
|
|
3696
|
+
"text/event-stream": components["schemas"]["StreamMessage"];
|
|
3697
|
+
};
|
|
3698
|
+
};
|
|
3699
|
+
/** @description not a plain run id or task key */
|
|
3700
|
+
404: {
|
|
3701
|
+
headers: {
|
|
3702
|
+
[name: string]: unknown;
|
|
3703
|
+
};
|
|
3704
|
+
content?: never;
|
|
3705
|
+
};
|
|
3706
|
+
/** @description Validation Error */
|
|
3707
|
+
422: {
|
|
3708
|
+
headers: {
|
|
3709
|
+
[name: string]: unknown;
|
|
3710
|
+
};
|
|
3711
|
+
content: {
|
|
3712
|
+
"application/json": components["schemas"]["HTTPValidationError"];
|
|
3713
|
+
};
|
|
3714
|
+
};
|
|
3715
|
+
};
|
|
3716
|
+
};
|
|
3717
|
+
}
|
|
3718
|
+
//# sourceMappingURL=schema.d.ts.map
|