@contraagent/api 0.1.0 → 0.3.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/src/schema.ts CHANGED
@@ -402,6 +402,11 @@ export type components = {
402
402
  * @default false
403
403
  */
404
404
  collapsed?: boolean;
405
+ /**
406
+ * Anchor
407
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
408
+ */
409
+ anchor?: string | null;
405
410
  /**
406
411
  * Type
407
412
  * @default blocks
@@ -409,14 +414,16 @@ export type components = {
409
414
  */
410
415
  type?: "blocks";
411
416
  /** Blocks */
412
- 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"] | {
417
+ 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"]["CodeBody"] | components["schemas"]["TreeBody"] | components["schemas"]["BlocksBody"] | {
413
418
  [key: string]: unknown;
414
419
  })[];
415
420
  };
416
421
  /**
417
422
  * Changes
418
423
  * @description The files one attempt changed under its task's `changes` patterns, as paths relative
419
- * to the working directory: those it `created`, `modified` and `deleted`.
424
+ * to the working directory: those it `created`, `modified` and `deleted`. Of a failed
425
+ * attempt's created files, `removed` lists those the runner removed, and `kept` those it
426
+ * left in place because the kind keeps them (`keep_failed_changes`).
420
427
  */
421
428
  Changes: {
422
429
  /**
@@ -439,6 +446,11 @@ export type components = {
439
446
  * @default []
440
447
  */
441
448
  removed?: string[];
449
+ /**
450
+ * Kept
451
+ * @default []
452
+ */
453
+ kept?: string[];
442
454
  } & {
443
455
  [key: string]: unknown;
444
456
  };
@@ -452,6 +464,72 @@ export type components = {
452
464
  /** Values */
453
465
  values: (number | null)[];
454
466
  };
467
+ /**
468
+ * CodeBody
469
+ * @description A text shown as code: highlighted by its `language` (one of `LANGUAGES`, a file's
470
+ * extension such as `py`, or anything else for plain text), with line numbers from
471
+ * `start`. `highlight` marks lines in those numbers: a line (`7`) or a range of lines,
472
+ * both included (`[10, 14]`). `path` names the file over it. Long lines scroll sideways
473
+ * unless `wrap`. The monitor shows the first `CODE_LINES` lines (and at most
474
+ * `CODE_CHARACTERS` characters) and says how many it left out.
475
+ */
476
+ CodeBody: {
477
+ /**
478
+ * Title
479
+ * @description a heading over the body
480
+ */
481
+ title?: string | null;
482
+ /**
483
+ * Collapsed
484
+ * @description shown folded, under its title
485
+ * @default false
486
+ */
487
+ collapsed?: boolean;
488
+ /**
489
+ * Anchor
490
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
491
+ */
492
+ anchor?: string | null;
493
+ /**
494
+ * Type
495
+ * @default code
496
+ * @constant
497
+ */
498
+ type?: "code";
499
+ /** Text */
500
+ text: string;
501
+ /**
502
+ * Language
503
+ * @description a name of `LANGUAGES` or a file extension; '': plain text
504
+ * @default
505
+ */
506
+ language?: string;
507
+ /**
508
+ * Start
509
+ * @description the number of the first line
510
+ * @default 1
511
+ */
512
+ start?: number;
513
+ /**
514
+ * Highlight
515
+ * @description lines marked: a line, or a range, both ends included
516
+ */
517
+ highlight?: (number | [
518
+ number,
519
+ number
520
+ ])[];
521
+ /**
522
+ * Path
523
+ * @description the file the text is, named over it
524
+ */
525
+ path?: string | null;
526
+ /**
527
+ * Wrap
528
+ * @description long lines wrap; otherwise they scroll sideways
529
+ * @default false
530
+ */
531
+ wrap?: boolean;
532
+ };
455
533
  /**
456
534
  * ColumnsBody
457
535
  * @description Vertical bars, one group per label of `x`; `stacked` puts the series of a label on one bar.
@@ -468,6 +546,11 @@ export type components = {
468
546
  * @default false
469
547
  */
470
548
  collapsed?: boolean;
549
+ /**
550
+ * Anchor
551
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
552
+ */
553
+ anchor?: string | null;
471
554
  /**
472
555
  * Type
473
556
  * @default columns
@@ -557,6 +640,11 @@ export type components = {
557
640
  * @description input: the key of the task whose output it is
558
641
  */
559
642
  producer?: string | null;
643
+ /**
644
+ * Format
645
+ * @description what the file holds: one JSON document, any text, or rows (JSON Lines, `fields` those of one line)
646
+ */
647
+ format?: ("json" | "text" | "jsonl") | null;
560
648
  /** Schema Name */
561
649
  schema_name: string;
562
650
  /**
@@ -813,8 +901,9 @@ export type components = {
813
901
  };
814
902
  /**
815
903
  * FileView
816
- * @description A contract's file as it is now. `content` is the parsed JSON, else the
817
- * text (cut at 20 000 characters, `truncated`), else null when unreadable.
904
+ * @description A contract's file as it is now. `content` is the parsed JSON (for rows, the list of
905
+ * the lines that parse), else the text (cut at 20 000 characters, `truncated`), else null
906
+ * when unreadable.
818
907
  */
819
908
  FileView: {
820
909
  /** Exists */
@@ -941,6 +1030,11 @@ export type components = {
941
1030
  * @default false
942
1031
  */
943
1032
  collapsed?: boolean;
1033
+ /**
1034
+ * Anchor
1035
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
1036
+ */
1037
+ anchor?: string | null;
944
1038
  /**
945
1039
  * Type
946
1040
  * @default hbars
@@ -973,6 +1067,11 @@ export type components = {
973
1067
  * @default false
974
1068
  */
975
1069
  collapsed?: boolean;
1070
+ /**
1071
+ * Anchor
1072
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
1073
+ */
1074
+ anchor?: string | null;
976
1075
  /**
977
1076
  * Type
978
1077
  * @default heatmap
@@ -1235,6 +1334,8 @@ export type components = {
1235
1334
  rounds?: number | null;
1236
1335
  /** Round Errors */
1237
1336
  round_errors?: string[][];
1337
+ /** Max Corrections */
1338
+ max_corrections?: number | null;
1238
1339
  /** Hook Errors */
1239
1340
  hook_errors?: string[][];
1240
1341
  usage?: components["schemas"]["TokenUsage"] | null;
@@ -1261,6 +1362,16 @@ export type components = {
1261
1362
  * @default
1262
1363
  */
1263
1364
  fingerprint?: string;
1365
+ /**
1366
+ * Outside
1367
+ * @default
1368
+ */
1369
+ outside?: string;
1370
+ /**
1371
+ * Rerun
1372
+ * @default
1373
+ */
1374
+ rerun?: string;
1264
1375
  /** Flow Call */
1265
1376
  flow_call?: string | null;
1266
1377
  /**
@@ -1331,6 +1442,11 @@ export type components = {
1331
1442
  * @default false
1332
1443
  */
1333
1444
  collapsed?: boolean;
1445
+ /**
1446
+ * Anchor
1447
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
1448
+ */
1449
+ anchor?: string | null;
1334
1450
  /**
1335
1451
  * Type
1336
1452
  * @default lines
@@ -1479,6 +1595,11 @@ export type components = {
1479
1595
  * @default false
1480
1596
  */
1481
1597
  collapsed?: boolean;
1598
+ /**
1599
+ * Anchor
1600
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
1601
+ */
1602
+ anchor?: string | null;
1482
1603
  /**
1483
1604
  * Type
1484
1605
  * @default note
@@ -1617,7 +1738,7 @@ export type components = {
1617
1738
  */
1618
1739
  event: string;
1619
1740
  /** Data */
1620
- 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"] | {
1741
+ 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"]["CodeBody"] | components["schemas"]["TreeBody"] | components["schemas"]["BlocksBody"] | {
1621
1742
  [key: string]: unknown;
1622
1743
  };
1623
1744
  };
@@ -1678,6 +1799,11 @@ export type components = {
1678
1799
  * @description each model the run's agent sessions ran on, in order of first use
1679
1800
  */
1680
1801
  models?: components["schemas"]["ModelUsage"][];
1802
+ /**
1803
+ * Services
1804
+ * @description each start of a service of the run (`services.jsonl`), with its stop, in start order
1805
+ */
1806
+ services?: components["schemas"]["ServiceSpan"][];
1681
1807
  /** @description what the run's preflight did (`run.json`); null when its run.json records none */
1682
1808
  preflight?: components["schemas"]["PreflightRecord"] | null;
1683
1809
  };
@@ -1758,6 +1884,12 @@ export type components = {
1758
1884
  * @default 0
1759
1885
  */
1760
1886
  priority?: number;
1887
+ /**
1888
+ * Credential
1889
+ * @description the credential its task call names (`credential=`), which every route of its kind ran it as; empty when it names none, or a run-wide override outranks it
1890
+ * @default
1891
+ */
1892
+ credential?: string;
1761
1893
  /**
1762
1894
  * Executor
1763
1895
  * @default agent
@@ -1825,6 +1957,12 @@ export type components = {
1825
1957
  deferred?: string;
1826
1958
  /** @description the same as data; null when it was not deferred, or the run recorded no cause */
1827
1959
  deferred_cause?: components["schemas"]["DeferralCause"] | null;
1960
+ /**
1961
+ * Rerun
1962
+ * @description why a resume ran it again although an earlier attempt of the run had finished it (its outside state changed, ...), from its last journal row; empty when no earlier attempt had
1963
+ * @default
1964
+ */
1965
+ rerun?: string;
1828
1966
  } & {
1829
1967
  [key: string]: unknown;
1830
1968
  };
@@ -2168,6 +2306,62 @@ export type components = {
2168
2306
  */
2169
2307
  row_extras?: string[];
2170
2308
  };
2309
+ /**
2310
+ * ServiceSpan
2311
+ * @description One start of the service a claim name stands for (`services.jsonl`), with its stop.
2312
+ */
2313
+ ServiceSpan: {
2314
+ /**
2315
+ * Name
2316
+ * @description the claim name the service stands for
2317
+ */
2318
+ name: string;
2319
+ /**
2320
+ * Started At
2321
+ * @description when its start ended, ISO 8601
2322
+ */
2323
+ started_at: string;
2324
+ /**
2325
+ * Key
2326
+ * @description the task whose claim started it
2327
+ * @default
2328
+ */
2329
+ key?: string;
2330
+ /**
2331
+ * Address
2332
+ * @description what it gave its tasks to reach it; null for none
2333
+ */
2334
+ address?: string | null;
2335
+ /**
2336
+ * Start S
2337
+ * @description how long its start took, in seconds
2338
+ * @default 0
2339
+ */
2340
+ start_s?: number;
2341
+ /**
2342
+ * Start Error
2343
+ * @description the exception of a start that failed (the service did not start); empty when it started
2344
+ * @default
2345
+ */
2346
+ start_error?: string;
2347
+ /**
2348
+ * Stopped At
2349
+ * @description when it stopped, ISO 8601; empty while it is up, or when the run ended with no stop recorded
2350
+ * @default
2351
+ */
2352
+ stopped_at?: string;
2353
+ /**
2354
+ * Stop Cause
2355
+ * @description why it stopped; null while it is up
2356
+ */
2357
+ stop_cause?: ("run_end" | "interrupted") | null;
2358
+ /**
2359
+ * Stop Error
2360
+ * @description the exception its stop raised; empty when the stop went well
2361
+ * @default
2362
+ */
2363
+ stop_error?: string;
2364
+ };
2171
2365
  /**
2172
2366
  * SkippedHop
2173
2367
  * @description A hop of the failover chain an attempt passed over without a launch, because its
@@ -2246,6 +2440,11 @@ export type components = {
2246
2440
  * @default false
2247
2441
  */
2248
2442
  collapsed?: boolean;
2443
+ /**
2444
+ * Anchor
2445
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
2446
+ */
2447
+ anchor?: string | null;
2249
2448
  /**
2250
2449
  * Type
2251
2450
  * @default status_grid
@@ -2318,6 +2517,11 @@ export type components = {
2318
2517
  * @default false
2319
2518
  */
2320
2519
  collapsed?: boolean;
2520
+ /**
2521
+ * Anchor
2522
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
2523
+ */
2524
+ anchor?: string | null;
2321
2525
  /**
2322
2526
  * Type
2323
2527
  * @default table
@@ -2588,6 +2792,11 @@ export type components = {
2588
2792
  * @default false
2589
2793
  */
2590
2794
  collapsed?: boolean;
2795
+ /**
2796
+ * Anchor
2797
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
2798
+ */
2799
+ anchor?: string | null;
2591
2800
  /**
2592
2801
  * Type
2593
2802
  * @default tiles
@@ -2776,6 +2985,93 @@ export type components = {
2776
2985
  } & {
2777
2986
  [key: string]: unknown;
2778
2987
  };
2988
+ /**
2989
+ * TreeBody
2990
+ * @description A tree of nodes, folded and opened by the reader: files and directories, say. A
2991
+ * node's `code` is shown beside the tree when the node is selected, with no request
2992
+ * of its own: a panel of files returns their texts with the tree. `selected` is the
2993
+ * node selected first (its `id`; default: the first node with code).
2994
+ */
2995
+ TreeBody: {
2996
+ /**
2997
+ * Title
2998
+ * @description a heading over the body
2999
+ */
3000
+ title?: string | null;
3001
+ /**
3002
+ * Collapsed
3003
+ * @description shown folded, under its title
3004
+ * @default false
3005
+ */
3006
+ collapsed?: boolean;
3007
+ /**
3008
+ * Anchor
3009
+ * @description a name a tree node's link leads to: the body is scrolled into view (`TreeLink.anchor`)
3010
+ */
3011
+ anchor?: string | null;
3012
+ /**
3013
+ * Type
3014
+ * @default tree
3015
+ * @constant
3016
+ */
3017
+ type?: "tree";
3018
+ /** Nodes */
3019
+ nodes: components["schemas"]["TreeNode"][];
3020
+ /** Selected */
3021
+ selected?: string | null;
3022
+ };
3023
+ /**
3024
+ * TreeLink
3025
+ * @description Where a tree node leads, in the monitor: a run panel's tab (`panel`, its name), a
3026
+ * task (`task`, its key), each in `run` (default: the run shown), or a body of the same
3027
+ * panel (`anchor`, its `anchor`). Exactly one of `panel`, `task` and `anchor`.
3028
+ */
3029
+ TreeLink: {
3030
+ /** Panel */
3031
+ panel?: string | null;
3032
+ /**
3033
+ * Task
3034
+ * @description a task's key
3035
+ */
3036
+ task?: string | null;
3037
+ /**
3038
+ * Run
3039
+ * @description the run of `panel` or `task`; a trends panel names it
3040
+ */
3041
+ run?: string | null;
3042
+ /** Anchor */
3043
+ anchor?: string | null;
3044
+ };
3045
+ /**
3046
+ * TreeNode
3047
+ * @description One node of a tree: its `name`, and `children` under it. `id` names it (default: the
3048
+ * names from the top, joined by `/`). `icon` is `directory` for a node with children and
3049
+ * `file` for one without, unless given. `badge` is a word beside the name, coloured by
3050
+ * `tone`. A node shows its `code` beside the tree when
3051
+ * it is selected, or leads elsewhere by its `link`; not both. `open`: its children are
3052
+ * shown at first.
3053
+ */
3054
+ TreeNode: {
3055
+ /** Name */
3056
+ name: string;
3057
+ /** Id */
3058
+ id?: string | null;
3059
+ /** Icon */
3060
+ icon?: ("file" | "directory") | null;
3061
+ /** Badge */
3062
+ badge?: string | null;
3063
+ /** Tone */
3064
+ tone?: ("failed" | "attention" | "done" | "running" | "muted" | "neutral") | null;
3065
+ /**
3066
+ * Open
3067
+ * @default true
3068
+ */
3069
+ open?: boolean;
3070
+ /** Children */
3071
+ children?: components["schemas"]["TreeNode"][];
3072
+ code?: components["schemas"]["CodeBody"] | null;
3073
+ link?: components["schemas"]["TreeLink"] | null;
3074
+ };
2779
3075
  /**
2780
3076
  * TrendDay
2781
3077
  * @description One day: its attempts (by when they ended), and its cost per group (`Monitor(groups=)`; a kind in none is its own).
@@ -3314,7 +3610,7 @@ export interface operations {
3314
3610
  [name: string]: unknown;
3315
3611
  };
3316
3612
  content: {
3317
- "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"] | {
3613
+ "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"]["CodeBody"] | components["schemas"]["TreeBody"] | components["schemas"]["BlocksBody"] | {
3318
3614
  [key: string]: unknown;
3319
3615
  };
3320
3616
  };
@@ -3616,7 +3912,7 @@ export interface operations {
3616
3912
  [name: string]: unknown;
3617
3913
  };
3618
3914
  content: {
3619
- "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"] | {
3915
+ "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"]["CodeBody"] | components["schemas"]["TreeBody"] | components["schemas"]["BlocksBody"] | {
3620
3916
  [key: string]: unknown;
3621
3917
  };
3622
3918
  };
package/src/types.ts CHANGED
@@ -51,6 +51,7 @@ export type DeferralCause = S['DeferralCause'];
51
51
  export type QuotaCap = S['QuotaCap'];
52
52
  export type CredentialRest = S['CredentialRest'];
53
53
  export type ModelUsage = S['ModelUsage'];
54
+ export type ServiceSpan = S['ServiceSpan'];
54
55
  export type PreflightRecord = S['PreflightRecord'];
55
56
  export type DroppedRoute = S['DroppedRoute'];
56
57
  export type Substitution = S['Substitution'];