@nylorun/runtime 0.28.0-beta → 0.30.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/README.md +1 -1
  3. package/dist/api/components.d.ts +109 -2
  4. package/dist/api/http/define.d.ts +4 -0
  5. package/dist/api/http/define.js +20 -9
  6. package/dist/api/http/routes/agent-manifests.d.ts +1 -1
  7. package/dist/api/http/routes/agent-manifests.js +1 -1
  8. package/dist/api/http/routes/agents.js +6 -6
  9. package/dist/api/http/routes/reads.js +29 -4
  10. package/dist/api/http/routes/tenant.js +5 -2
  11. package/dist/api/http/routes/triggers.js +15 -12
  12. package/dist/api/openapi.js +3 -3
  13. package/dist/gates/egress-credentials.js +2 -13
  14. package/dist/gates/handler.js +2 -1
  15. package/dist/gates/http-tool.js +1 -1
  16. package/dist/gates/in-process.d.ts +9 -0
  17. package/dist/gates/in-process.js +21 -0
  18. package/dist/gates/meter.js +16 -0
  19. package/dist/gates/tenant-vaults.d.ts +1 -1
  20. package/dist/host/config-for.d.ts +2 -0
  21. package/dist/host/config-for.js +1 -0
  22. package/dist/host/main.js +3 -0
  23. package/dist/host/stack-config.d.ts +10 -0
  24. package/dist/host/stack-config.js +36 -0
  25. package/dist/management-openapi.json +492 -80
  26. package/dist/mcp/connect.d.ts +36 -7
  27. package/dist/mcp/connect.js +76 -15
  28. package/dist/mcp/gateway-outcomes.d.ts +14 -0
  29. package/dist/mcp/gateway-outcomes.js +46 -0
  30. package/dist/mcp/pool.js +5 -0
  31. package/dist/model/call-headers.d.ts +15 -0
  32. package/dist/model/call-headers.js +9 -0
  33. package/dist/model/models.d.ts +7 -0
  34. package/dist/model/models.js +3 -0
  35. package/dist/model/pi-model.d.ts +6 -0
  36. package/dist/model/pi-model.js +36 -3
  37. package/dist/openapi.json +331 -215
  38. package/dist/store/postgres/drizzle/0037_model_usage_cost_split.sql +4 -0
  39. package/dist/store/postgres/drizzle/meta/_journal.json +7 -0
  40. package/dist/store/postgres/reads.js +31 -1
  41. package/dist/store/postgres/schema.d.ts +78 -5
  42. package/dist/store/postgres/schema.js +12 -3
  43. package/dist/tenant/agents.js +7 -3
  44. package/dist/tenant/transcript.d.ts +8 -0
  45. package/dist/tenant/transcript.js +2 -0
  46. package/dist/tenant/types.d.ts +5 -0
  47. package/dist/vault/headers.d.ts +8 -0
  48. package/dist/vault/headers.js +25 -0
  49. package/dist/vault/host-model.js +8 -5
  50. package/dist/vault/service.d.ts +12 -5
  51. package/dist/vault/service.js +43 -6
  52. package/dist/vault/sources.js +22 -1
  53. package/dist/vault/workload-token.d.ts +16 -0
  54. package/dist/vault/workload-token.js +58 -0
  55. package/dist/version.d.ts +1 -1
  56. package/dist/version.js +1 -1
  57. package/package.json +3 -3
@@ -2,10 +2,10 @@
2
2
  "openapi": "3.2.0",
3
3
  "info": {
4
4
  "title": "Nylorun Management API",
5
- "version": "0.28.0-beta",
5
+ "version": "0.30.0-beta",
6
6
  "x-nylorun-protocol": {
7
7
  "min": 16,
8
- "max": 17,
8
+ "max": 18,
9
9
  "features": [
10
10
  "studio-principal",
11
11
  "artifacts",
@@ -16,6 +16,7 @@
16
16
  "harness-boundary",
17
17
  "agents",
18
18
  "session-queue",
19
+ "usage-by-kind",
19
20
  "tenant-fixture-model",
20
21
  "transcript-events",
21
22
  "subject-headers",
@@ -31,7 +32,8 @@
31
32
  "environment-disk-versions",
32
33
  "tool-policy",
33
34
  "traces",
34
- "artifact-reads"
35
+ "artifact-reads",
36
+ "gateway-credentials"
35
37
  ]
36
38
  },
37
39
  "description": "For operators: the Tenant's models, vaults, signing keys, settings and application keys, at `/v1/tenant/*` on the Tenant's URL, through `@nylorun/admin`. Every operation takes a management key, acting as itself: never for a subject and never from a browser. Management keys are issued only on the Tenant's machine (`nylorun tenant keys put <id> --management`) or from `NYLORUN_MANAGEMENT_KEY_FILE`."
@@ -422,7 +424,8 @@
422
424
  "type": "string",
423
425
  "enum": [
424
426
  "api_key",
425
- "oauth"
427
+ "oauth",
428
+ "workload"
426
429
  ]
427
430
  },
428
431
  "baseUrl": {
@@ -459,6 +462,70 @@
459
462
  "compat": {
460
463
  "type": "object",
461
464
  "additionalProperties": {}
465
+ },
466
+ "headers": {
467
+ "type": "object",
468
+ "additionalProperties": {
469
+ "type": "string",
470
+ "minLength": 1
471
+ }
472
+ },
473
+ "callHeaders": {
474
+ "type": "object",
475
+ "additionalProperties": {
476
+ "oneOf": [
477
+ {
478
+ "type": "object",
479
+ "properties": {
480
+ "from": {
481
+ "type": "string",
482
+ "enum": [
483
+ "agent.label"
484
+ ]
485
+ },
486
+ "key": {
487
+ "type": "string",
488
+ "minLength": 1
489
+ }
490
+ },
491
+ "required": [
492
+ "from",
493
+ "key"
494
+ ],
495
+ "additionalProperties": false
496
+ },
497
+ {
498
+ "type": "object",
499
+ "properties": {
500
+ "from": {
501
+ "type": "string",
502
+ "enum": [
503
+ "agent.id"
504
+ ]
505
+ }
506
+ },
507
+ "required": [
508
+ "from"
509
+ ],
510
+ "additionalProperties": false
511
+ },
512
+ {
513
+ "type": "object",
514
+ "properties": {
515
+ "from": {
516
+ "type": "string",
517
+ "enum": [
518
+ "session.owner"
519
+ ]
520
+ }
521
+ },
522
+ "required": [
523
+ "from"
524
+ ],
525
+ "additionalProperties": false
526
+ }
527
+ ]
528
+ }
462
529
  }
463
530
  },
464
531
  "additionalProperties": false
@@ -929,6 +996,70 @@
929
996
  "compat": {
930
997
  "type": "object",
931
998
  "additionalProperties": {}
999
+ },
1000
+ "headers": {
1001
+ "type": "object",
1002
+ "additionalProperties": {
1003
+ "type": "string",
1004
+ "minLength": 1
1005
+ }
1006
+ },
1007
+ "callHeaders": {
1008
+ "type": "object",
1009
+ "additionalProperties": {
1010
+ "oneOf": [
1011
+ {
1012
+ "type": "object",
1013
+ "properties": {
1014
+ "from": {
1015
+ "type": "string",
1016
+ "enum": [
1017
+ "agent.label"
1018
+ ]
1019
+ },
1020
+ "key": {
1021
+ "type": "string",
1022
+ "minLength": 1
1023
+ }
1024
+ },
1025
+ "required": [
1026
+ "from",
1027
+ "key"
1028
+ ],
1029
+ "additionalProperties": false
1030
+ },
1031
+ {
1032
+ "type": "object",
1033
+ "properties": {
1034
+ "from": {
1035
+ "type": "string",
1036
+ "enum": [
1037
+ "agent.id"
1038
+ ]
1039
+ }
1040
+ },
1041
+ "required": [
1042
+ "from"
1043
+ ],
1044
+ "additionalProperties": false
1045
+ },
1046
+ {
1047
+ "type": "object",
1048
+ "properties": {
1049
+ "from": {
1050
+ "type": "string",
1051
+ "enum": [
1052
+ "session.owner"
1053
+ ]
1054
+ }
1055
+ },
1056
+ "required": [
1057
+ "from"
1058
+ ],
1059
+ "additionalProperties": false
1060
+ }
1061
+ ]
1062
+ }
932
1063
  }
933
1064
  },
934
1065
  "additionalProperties": false
@@ -989,6 +1120,21 @@
989
1120
  "expires"
990
1121
  ],
991
1122
  "additionalProperties": {}
1123
+ },
1124
+ {
1125
+ "type": "object",
1126
+ "properties": {
1127
+ "type": {
1128
+ "type": "string",
1129
+ "enum": [
1130
+ "workload"
1131
+ ]
1132
+ }
1133
+ },
1134
+ "required": [
1135
+ "type"
1136
+ ],
1137
+ "additionalProperties": false
992
1138
  }
993
1139
  ]
994
1140
  }
@@ -2308,11 +2454,13 @@
2308
2454
  },
2309
2455
  "tool": {
2310
2456
  "type": "string",
2311
- "minLength": 1
2457
+ "minLength": 1,
2458
+ "description": "The tool's identity: an MCP tool's own name on its `server`, or an HTTP tool's declared name, never the name the model calls it by. `*` matches any run of characters; a name with `__` in it is refused"
2312
2459
  },
2313
2460
  "server": {
2314
2461
  "type": "string",
2315
- "minLength": 1
2462
+ "minLength": 1,
2463
+ "description": "An MCP server's name; `*` matches any run of characters"
2316
2464
  },
2317
2465
  "kind": {
2318
2466
  "type": "string",
@@ -2323,7 +2471,8 @@
2323
2471
  },
2324
2472
  "agent": {
2325
2473
  "type": "string",
2326
- "minLength": 1
2474
+ "minLength": 1,
2475
+ "description": "The agent that calls the tool: the agent manifest's name, or the id of an agent used as a tool or of a flow's agent, never an Agent's id. `*` matches any run of characters"
2327
2476
  },
2328
2477
  "when": {
2329
2478
  "type": "object",
@@ -2358,7 +2507,8 @@
2358
2507
  }
2359
2508
  },
2360
2509
  "additionalProperties": false
2361
- }
2510
+ },
2511
+ "description": "Fields of the call's input by dotted path, each tested by every test its condition sets"
2362
2512
  },
2363
2513
  "reason": {
2364
2514
  "type": "string",
@@ -2406,11 +2556,13 @@
2406
2556
  },
2407
2557
  "tool": {
2408
2558
  "type": "string",
2409
- "minLength": 1
2559
+ "minLength": 1,
2560
+ "description": "The tool's identity: an MCP tool's own name on its `server`, or an HTTP tool's declared name, never the name the model calls it by. `*` matches any run of characters; a name with `__` in it is refused"
2410
2561
  },
2411
2562
  "server": {
2412
2563
  "type": "string",
2413
- "minLength": 1
2564
+ "minLength": 1,
2565
+ "description": "An MCP server's name; `*` matches any run of characters"
2414
2566
  },
2415
2567
  "kind": {
2416
2568
  "type": "string",
@@ -2421,7 +2573,8 @@
2421
2573
  },
2422
2574
  "agent": {
2423
2575
  "type": "string",
2424
- "minLength": 1
2576
+ "minLength": 1,
2577
+ "description": "The agent that calls the tool: the agent manifest's name, or the id of an agent used as a tool or of a flow's agent, never an Agent's id. `*` matches any run of characters"
2425
2578
  },
2426
2579
  "when": {
2427
2580
  "type": "object",
@@ -2456,7 +2609,8 @@
2456
2609
  }
2457
2610
  },
2458
2611
  "additionalProperties": false
2459
- }
2612
+ },
2613
+ "description": "Fields of the call's input by dotted path, each tested by every test its condition sets"
2460
2614
  },
2461
2615
  "reason": {
2462
2616
  "type": "string",
@@ -2496,7 +2650,8 @@
2496
2650
  "type": "string",
2497
2651
  "enum": [
2498
2652
  "api_key",
2499
- "oauth"
2653
+ "oauth",
2654
+ "workload"
2500
2655
  ]
2501
2656
  },
2502
2657
  "baseUrl": {
@@ -2533,6 +2688,70 @@
2533
2688
  "compat": {
2534
2689
  "type": "object",
2535
2690
  "additionalProperties": {}
2691
+ },
2692
+ "headers": {
2693
+ "type": "object",
2694
+ "additionalProperties": {
2695
+ "type": "string",
2696
+ "minLength": 1
2697
+ }
2698
+ },
2699
+ "callHeaders": {
2700
+ "type": "object",
2701
+ "additionalProperties": {
2702
+ "oneOf": [
2703
+ {
2704
+ "type": "object",
2705
+ "properties": {
2706
+ "from": {
2707
+ "type": "string",
2708
+ "enum": [
2709
+ "agent.label"
2710
+ ]
2711
+ },
2712
+ "key": {
2713
+ "type": "string",
2714
+ "minLength": 1
2715
+ }
2716
+ },
2717
+ "required": [
2718
+ "from",
2719
+ "key"
2720
+ ],
2721
+ "additionalProperties": false
2722
+ },
2723
+ {
2724
+ "type": "object",
2725
+ "properties": {
2726
+ "from": {
2727
+ "type": "string",
2728
+ "enum": [
2729
+ "agent.id"
2730
+ ]
2731
+ }
2732
+ },
2733
+ "required": [
2734
+ "from"
2735
+ ],
2736
+ "additionalProperties": false
2737
+ },
2738
+ {
2739
+ "type": "object",
2740
+ "properties": {
2741
+ "from": {
2742
+ "type": "string",
2743
+ "enum": [
2744
+ "session.owner"
2745
+ ]
2746
+ }
2747
+ },
2748
+ "required": [
2749
+ "from"
2750
+ ],
2751
+ "additionalProperties": false
2752
+ }
2753
+ ]
2754
+ }
2536
2755
  }
2537
2756
  },
2538
2757
  "additionalProperties": false
@@ -2611,7 +2830,8 @@
2611
2830
  "type": "string",
2612
2831
  "enum": [
2613
2832
  "api_key",
2614
- "oauth"
2833
+ "oauth",
2834
+ "workload"
2615
2835
  ]
2616
2836
  },
2617
2837
  "baseUrl": {
@@ -2648,6 +2868,70 @@
2648
2868
  "compat": {
2649
2869
  "type": "object",
2650
2870
  "additionalProperties": {}
2871
+ },
2872
+ "headers": {
2873
+ "type": "object",
2874
+ "additionalProperties": {
2875
+ "type": "string",
2876
+ "minLength": 1
2877
+ }
2878
+ },
2879
+ "callHeaders": {
2880
+ "type": "object",
2881
+ "additionalProperties": {
2882
+ "oneOf": [
2883
+ {
2884
+ "type": "object",
2885
+ "properties": {
2886
+ "from": {
2887
+ "type": "string",
2888
+ "enum": [
2889
+ "agent.label"
2890
+ ]
2891
+ },
2892
+ "key": {
2893
+ "type": "string",
2894
+ "minLength": 1
2895
+ }
2896
+ },
2897
+ "required": [
2898
+ "from",
2899
+ "key"
2900
+ ],
2901
+ "additionalProperties": false
2902
+ },
2903
+ {
2904
+ "type": "object",
2905
+ "properties": {
2906
+ "from": {
2907
+ "type": "string",
2908
+ "enum": [
2909
+ "agent.id"
2910
+ ]
2911
+ }
2912
+ },
2913
+ "required": [
2914
+ "from"
2915
+ ],
2916
+ "additionalProperties": false
2917
+ },
2918
+ {
2919
+ "type": "object",
2920
+ "properties": {
2921
+ "from": {
2922
+ "type": "string",
2923
+ "enum": [
2924
+ "session.owner"
2925
+ ]
2926
+ }
2927
+ },
2928
+ "required": [
2929
+ "from"
2930
+ ],
2931
+ "additionalProperties": false
2932
+ }
2933
+ ]
2934
+ }
2651
2935
  }
2652
2936
  },
2653
2937
  "additionalProperties": false
@@ -2718,6 +3002,70 @@
2718
3002
  "compat": {
2719
3003
  "type": "object",
2720
3004
  "additionalProperties": {}
3005
+ },
3006
+ "headers": {
3007
+ "type": "object",
3008
+ "additionalProperties": {
3009
+ "type": "string",
3010
+ "minLength": 1
3011
+ }
3012
+ },
3013
+ "callHeaders": {
3014
+ "type": "object",
3015
+ "additionalProperties": {
3016
+ "oneOf": [
3017
+ {
3018
+ "type": "object",
3019
+ "properties": {
3020
+ "from": {
3021
+ "type": "string",
3022
+ "enum": [
3023
+ "agent.label"
3024
+ ]
3025
+ },
3026
+ "key": {
3027
+ "type": "string",
3028
+ "minLength": 1
3029
+ }
3030
+ },
3031
+ "required": [
3032
+ "from",
3033
+ "key"
3034
+ ],
3035
+ "additionalProperties": false
3036
+ },
3037
+ {
3038
+ "type": "object",
3039
+ "properties": {
3040
+ "from": {
3041
+ "type": "string",
3042
+ "enum": [
3043
+ "agent.id"
3044
+ ]
3045
+ }
3046
+ },
3047
+ "required": [
3048
+ "from"
3049
+ ],
3050
+ "additionalProperties": false
3051
+ },
3052
+ {
3053
+ "type": "object",
3054
+ "properties": {
3055
+ "from": {
3056
+ "type": "string",
3057
+ "enum": [
3058
+ "session.owner"
3059
+ ]
3060
+ }
3061
+ },
3062
+ "required": [
3063
+ "from"
3064
+ ],
3065
+ "additionalProperties": false
3066
+ }
3067
+ ]
3068
+ }
2721
3069
  }
2722
3070
  },
2723
3071
  "additionalProperties": false
@@ -2778,6 +3126,21 @@
2778
3126
  "expires"
2779
3127
  ],
2780
3128
  "additionalProperties": {}
3129
+ },
3130
+ {
3131
+ "type": "object",
3132
+ "properties": {
3133
+ "type": {
3134
+ "type": "string",
3135
+ "enum": [
3136
+ "workload"
3137
+ ]
3138
+ }
3139
+ },
3140
+ "required": [
3141
+ "type"
3142
+ ],
3143
+ "additionalProperties": false
2781
3144
  }
2782
3145
  ]
2783
3146
  }
@@ -3477,6 +3840,18 @@
3477
3840
  "at": {
3478
3841
  "type": "string"
3479
3842
  },
3843
+ "startedAt": {
3844
+ "type": [
3845
+ "string",
3846
+ "null"
3847
+ ]
3848
+ },
3849
+ "endedAt": {
3850
+ "type": [
3851
+ "string",
3852
+ "null"
3853
+ ]
3854
+ },
3480
3855
  "outcome": {
3481
3856
  "type": "string",
3482
3857
  "enum": [
@@ -3532,6 +3907,37 @@
3532
3907
  "boolean",
3533
3908
  "null"
3534
3909
  ]
3910
+ },
3911
+ "costSplit": {
3912
+ "type": [
3913
+ "object",
3914
+ "null"
3915
+ ],
3916
+ "properties": {
3917
+ "input": {
3918
+ "type": "number",
3919
+ "minimum": 0
3920
+ },
3921
+ "cacheRead": {
3922
+ "type": "number",
3923
+ "minimum": 0
3924
+ },
3925
+ "cacheWrite": {
3926
+ "type": "number",
3927
+ "minimum": 0
3928
+ },
3929
+ "output": {
3930
+ "type": "number",
3931
+ "minimum": 0
3932
+ }
3933
+ },
3934
+ "required": [
3935
+ "input",
3936
+ "cacheRead",
3937
+ "cacheWrite",
3938
+ "output"
3939
+ ],
3940
+ "additionalProperties": false
3535
3941
  }
3536
3942
  },
3537
3943
  "required": [
@@ -3544,7 +3950,8 @@
3544
3950
  "costUsd",
3545
3951
  "duplicate",
3546
3952
  "tokensReported",
3547
- "costKnown"
3953
+ "costKnown",
3954
+ "costSplit"
3548
3955
  ],
3549
3956
  "additionalProperties": false
3550
3957
  }
@@ -3558,6 +3965,8 @@
3558
3965
  "provider",
3559
3966
  "model",
3560
3967
  "at",
3968
+ "startedAt",
3969
+ "endedAt",
3561
3970
  "outcome",
3562
3971
  "usage"
3563
3972
  ],
@@ -3616,10 +4025,10 @@
3616
4025
  {
3617
4026
  "schema": {
3618
4027
  "type": "string",
3619
- "description": "The protocol version, `17`"
4028
+ "description": "The protocol version, `18`"
3620
4029
  },
3621
4030
  "required": true,
3622
- "description": "The protocol version, `17`",
4031
+ "description": "The protocol version, `18`",
3623
4032
  "name": "Nylorun-Protocol",
3624
4033
  "in": "header"
3625
4034
  }
@@ -3718,10 +4127,10 @@
3718
4127
  {
3719
4128
  "schema": {
3720
4129
  "type": "string",
3721
- "description": "The protocol version, `17`"
4130
+ "description": "The protocol version, `18`"
3722
4131
  },
3723
4132
  "required": true,
3724
- "description": "The protocol version, `17`",
4133
+ "description": "The protocol version, `18`",
3725
4134
  "name": "Nylorun-Protocol",
3726
4135
  "in": "header"
3727
4136
  }
@@ -3830,10 +4239,10 @@
3830
4239
  {
3831
4240
  "schema": {
3832
4241
  "type": "string",
3833
- "description": "The protocol version, `17`"
4242
+ "description": "The protocol version, `18`"
3834
4243
  },
3835
4244
  "required": true,
3836
- "description": "The protocol version, `17`",
4245
+ "description": "The protocol version, `18`",
3837
4246
  "name": "Nylorun-Protocol",
3838
4247
  "in": "header"
3839
4248
  }
@@ -3951,10 +4360,10 @@
3951
4360
  {
3952
4361
  "schema": {
3953
4362
  "type": "string",
3954
- "description": "The protocol version, `17`"
4363
+ "description": "The protocol version, `18`"
3955
4364
  },
3956
4365
  "required": true,
3957
- "description": "The protocol version, `17`",
4366
+ "description": "The protocol version, `18`",
3958
4367
  "name": "Nylorun-Protocol",
3959
4368
  "in": "header"
3960
4369
  },
@@ -4086,10 +4495,10 @@
4086
4495
  {
4087
4496
  "schema": {
4088
4497
  "type": "string",
4089
- "description": "The protocol version, `17`"
4498
+ "description": "The protocol version, `18`"
4090
4499
  },
4091
4500
  "required": true,
4092
- "description": "The protocol version, `17`",
4501
+ "description": "The protocol version, `18`",
4093
4502
  "name": "Nylorun-Protocol",
4094
4503
  "in": "header"
4095
4504
  }
@@ -4198,10 +4607,10 @@
4198
4607
  {
4199
4608
  "schema": {
4200
4609
  "type": "string",
4201
- "description": "The protocol version, `17`"
4610
+ "description": "The protocol version, `18`"
4202
4611
  },
4203
4612
  "required": true,
4204
- "description": "The protocol version, `17`",
4613
+ "description": "The protocol version, `18`",
4205
4614
  "name": "Nylorun-Protocol",
4206
4615
  "in": "header"
4207
4616
  }
@@ -4301,10 +4710,10 @@
4301
4710
  {
4302
4711
  "schema": {
4303
4712
  "type": "string",
4304
- "description": "The protocol version, `17`"
4713
+ "description": "The protocol version, `18`"
4305
4714
  },
4306
4715
  "required": true,
4307
- "description": "The protocol version, `17`",
4716
+ "description": "The protocol version, `18`",
4308
4717
  "name": "Nylorun-Protocol",
4309
4718
  "in": "header"
4310
4719
  }
@@ -4396,10 +4805,10 @@
4396
4805
  {
4397
4806
  "schema": {
4398
4807
  "type": "string",
4399
- "description": "The protocol version, `17`"
4808
+ "description": "The protocol version, `18`"
4400
4809
  },
4401
4810
  "required": true,
4402
- "description": "The protocol version, `17`",
4811
+ "description": "The protocol version, `18`",
4403
4812
  "name": "Nylorun-Protocol",
4404
4813
  "in": "header"
4405
4814
  }
@@ -4498,10 +4907,10 @@
4498
4907
  {
4499
4908
  "schema": {
4500
4909
  "type": "string",
4501
- "description": "The protocol version, `17`"
4910
+ "description": "The protocol version, `18`"
4502
4911
  },
4503
4912
  "required": true,
4504
- "description": "The protocol version, `17`",
4913
+ "description": "The protocol version, `18`",
4505
4914
  "name": "Nylorun-Protocol",
4506
4915
  "in": "header"
4507
4916
  }
@@ -4609,10 +5018,10 @@
4609
5018
  {
4610
5019
  "schema": {
4611
5020
  "type": "string",
4612
- "description": "The protocol version, `17`"
5021
+ "description": "The protocol version, `18`"
4613
5022
  },
4614
5023
  "required": true,
4615
- "description": "The protocol version, `17`",
5024
+ "description": "The protocol version, `18`",
4616
5025
  "name": "Nylorun-Protocol",
4617
5026
  "in": "header"
4618
5027
  }
@@ -4710,10 +5119,10 @@
4710
5119
  {
4711
5120
  "schema": {
4712
5121
  "type": "string",
4713
- "description": "The protocol version, `17`"
5122
+ "description": "The protocol version, `18`"
4714
5123
  },
4715
5124
  "required": true,
4716
- "description": "The protocol version, `17`",
5125
+ "description": "The protocol version, `18`",
4717
5126
  "name": "Nylorun-Protocol",
4718
5127
  "in": "header"
4719
5128
  }
@@ -4809,10 +5218,10 @@
4809
5218
  {
4810
5219
  "schema": {
4811
5220
  "type": "string",
4812
- "description": "The protocol version, `17`"
5221
+ "description": "The protocol version, `18`"
4813
5222
  },
4814
5223
  "required": true,
4815
- "description": "The protocol version, `17`",
5224
+ "description": "The protocol version, `18`",
4816
5225
  "name": "Nylorun-Protocol",
4817
5226
  "in": "header"
4818
5227
  }
@@ -4920,10 +5329,10 @@
4920
5329
  {
4921
5330
  "schema": {
4922
5331
  "type": "string",
4923
- "description": "The protocol version, `17`"
5332
+ "description": "The protocol version, `18`"
4924
5333
  },
4925
5334
  "required": true,
4926
- "description": "The protocol version, `17`",
5335
+ "description": "The protocol version, `18`",
4927
5336
  "name": "Nylorun-Protocol",
4928
5337
  "in": "header"
4929
5338
  }
@@ -5069,10 +5478,10 @@
5069
5478
  {
5070
5479
  "schema": {
5071
5480
  "type": "string",
5072
- "description": "The protocol version, `17`"
5481
+ "description": "The protocol version, `18`"
5073
5482
  },
5074
5483
  "required": true,
5075
- "description": "The protocol version, `17`",
5484
+ "description": "The protocol version, `18`",
5076
5485
  "name": "Nylorun-Protocol",
5077
5486
  "in": "header"
5078
5487
  }
@@ -5189,10 +5598,10 @@
5189
5598
  {
5190
5599
  "schema": {
5191
5600
  "type": "string",
5192
- "description": "The protocol version, `17`"
5601
+ "description": "The protocol version, `18`"
5193
5602
  },
5194
5603
  "required": true,
5195
- "description": "The protocol version, `17`",
5604
+ "description": "The protocol version, `18`",
5196
5605
  "name": "Nylorun-Protocol",
5197
5606
  "in": "header"
5198
5607
  }
@@ -5290,10 +5699,10 @@
5290
5699
  {
5291
5700
  "schema": {
5292
5701
  "type": "string",
5293
- "description": "The protocol version, `17`"
5702
+ "description": "The protocol version, `18`"
5294
5703
  },
5295
5704
  "required": true,
5296
- "description": "The protocol version, `17`",
5705
+ "description": "The protocol version, `18`",
5297
5706
  "name": "Nylorun-Protocol",
5298
5707
  "in": "header"
5299
5708
  }
@@ -5390,10 +5799,10 @@
5390
5799
  {
5391
5800
  "schema": {
5392
5801
  "type": "string",
5393
- "description": "The protocol version, `17`"
5802
+ "description": "The protocol version, `18`"
5394
5803
  },
5395
5804
  "required": true,
5396
- "description": "The protocol version, `17`",
5805
+ "description": "The protocol version, `18`",
5397
5806
  "name": "Nylorun-Protocol",
5398
5807
  "in": "header"
5399
5808
  }
@@ -5501,10 +5910,10 @@
5501
5910
  {
5502
5911
  "schema": {
5503
5912
  "type": "string",
5504
- "description": "The protocol version, `17`"
5913
+ "description": "The protocol version, `18`"
5505
5914
  },
5506
5915
  "required": true,
5507
- "description": "The protocol version, `17`",
5916
+ "description": "The protocol version, `18`",
5508
5917
  "name": "Nylorun-Protocol",
5509
5918
  "in": "header"
5510
5919
  }
@@ -5560,6 +5969,9 @@
5560
5969
  }
5561
5970
  }
5562
5971
  },
5972
+ "409": {
5973
+ "description": "A stored rule names an MCP tool by its model-facing `server__tool` name: every call is refused until the policy is set again"
5974
+ },
5563
5975
  "426": {
5564
5976
  "description": "`Nylorun-Protocol` missing or unsupported",
5565
5977
  "content": {
@@ -5587,7 +5999,7 @@
5587
5999
  "Tool policy"
5588
6000
  ],
5589
6001
  "summary": "Set the Tenant's tool policy",
5590
- "description": "Replaces every rule. The Tool Gate applies them to each MCP and HTTP tool call of every harness, before it sends the call: the strictest rule that matches decides. `deny` refuses the call (the model gets `tool.denied`), `ask` holds it and pauses the turn until a person answers it with an `approve` command on the session, `allow` runs it. A call no rule matches runs. A rule matches when every selector it sets matches: `tool` (the name the model calls it by; `*` matches any run of characters), `server` (an MCP server's name), `kind` (`mcp` or `http`), `agent` (the agent that calls it) and `when` (fields of the call's input by dotted path, each tested with `equals`, `in`, `gt`, `gte`, `lt`, `lte` or `matches`). Sandbox tools never cross the gate. An empty list allows every call.",
6002
+ "description": "Replaces every rule. The Tool Gate applies them to each MCP and HTTP tool call of every harness, before it sends the call: the strictest rule that matches decides. `deny` refuses the call (the model gets `tool.denied`), `ask` holds it and pauses the turn until a person answers it with an `approve` command on the session, `allow` runs it. A call no rule matches runs. A rule matches when every selector it sets matches: `tool` (the tool's identity: an MCP tool's own name on its `server`, or an HTTP tool's declared name, never the name the model calls it by; `*` matches any run of characters), `server` (an MCP server's name), `kind` (`mcp` or `http`), `agent` (the agent that calls it: the agent manifest's name, or the id of an agent used as a tool or of a flow's agent, never an Agent's id) and `when` (fields of the call's input by dotted path, each tested with `equals`, `in`, `gt`, `gte`, `lt`, `lte` or `matches`). A `tool` with `__` in it, a model-facing `server__tool` name, is refused (`400`): name an MCP tool by `server` and `tool`. A stored policy with such a rule refuses every call until it is set again. Sandbox tools never cross the gate. An empty list allows every call.",
5591
6003
  "security": [
5592
6004
  {
5593
6005
  "managementKey": []
@@ -5601,10 +6013,10 @@
5601
6013
  {
5602
6014
  "schema": {
5603
6015
  "type": "string",
5604
- "description": "The protocol version, `17`"
6016
+ "description": "The protocol version, `18`"
5605
6017
  },
5606
6018
  "required": true,
5607
- "description": "The protocol version, `17`",
6019
+ "description": "The protocol version, `18`",
5608
6020
  "name": "Nylorun-Protocol",
5609
6021
  "in": "header"
5610
6022
  }
@@ -5713,10 +6125,10 @@
5713
6125
  {
5714
6126
  "schema": {
5715
6127
  "type": "string",
5716
- "description": "The protocol version, `17`"
6128
+ "description": "The protocol version, `18`"
5717
6129
  },
5718
6130
  "required": true,
5719
- "description": "The protocol version, `17`",
6131
+ "description": "The protocol version, `18`",
5720
6132
  "name": "Nylorun-Protocol",
5721
6133
  "in": "header"
5722
6134
  }
@@ -5825,10 +6237,10 @@
5825
6237
  {
5826
6238
  "schema": {
5827
6239
  "type": "string",
5828
- "description": "The protocol version, `17`"
6240
+ "description": "The protocol version, `18`"
5829
6241
  },
5830
6242
  "required": true,
5831
- "description": "The protocol version, `17`",
6243
+ "description": "The protocol version, `18`",
5832
6244
  "name": "Nylorun-Protocol",
5833
6245
  "in": "header"
5834
6246
  }
@@ -5956,10 +6368,10 @@
5956
6368
  {
5957
6369
  "schema": {
5958
6370
  "type": "string",
5959
- "description": "The protocol version, `17`"
6371
+ "description": "The protocol version, `18`"
5960
6372
  },
5961
6373
  "required": true,
5962
- "description": "The protocol version, `17`",
6374
+ "description": "The protocol version, `18`",
5963
6375
  "name": "Nylorun-Protocol",
5964
6376
  "in": "header"
5965
6377
  }
@@ -6058,10 +6470,10 @@
6058
6470
  {
6059
6471
  "schema": {
6060
6472
  "type": "string",
6061
- "description": "The protocol version, `17`"
6473
+ "description": "The protocol version, `18`"
6062
6474
  },
6063
6475
  "required": true,
6064
- "description": "The protocol version, `17`",
6476
+ "description": "The protocol version, `18`",
6065
6477
  "name": "Nylorun-Protocol",
6066
6478
  "in": "header"
6067
6479
  }
@@ -6180,10 +6592,10 @@
6180
6592
  {
6181
6593
  "schema": {
6182
6594
  "type": "string",
6183
- "description": "The protocol version, `17`"
6595
+ "description": "The protocol version, `18`"
6184
6596
  },
6185
6597
  "required": true,
6186
- "description": "The protocol version, `17`",
6598
+ "description": "The protocol version, `18`",
6187
6599
  "name": "Nylorun-Protocol",
6188
6600
  "in": "header"
6189
6601
  }
@@ -6294,10 +6706,10 @@
6294
6706
  {
6295
6707
  "schema": {
6296
6708
  "type": "string",
6297
- "description": "The protocol version, `17`"
6709
+ "description": "The protocol version, `18`"
6298
6710
  },
6299
6711
  "required": true,
6300
- "description": "The protocol version, `17`",
6712
+ "description": "The protocol version, `18`",
6301
6713
  "name": "Nylorun-Protocol",
6302
6714
  "in": "header"
6303
6715
  }
@@ -6394,10 +6806,10 @@
6394
6806
  {
6395
6807
  "schema": {
6396
6808
  "type": "string",
6397
- "description": "The protocol version, `17`"
6809
+ "description": "The protocol version, `18`"
6398
6810
  },
6399
6811
  "required": true,
6400
- "description": "The protocol version, `17`",
6812
+ "description": "The protocol version, `18`",
6401
6813
  "name": "Nylorun-Protocol",
6402
6814
  "in": "header"
6403
6815
  }
@@ -6505,10 +6917,10 @@
6505
6917
  {
6506
6918
  "schema": {
6507
6919
  "type": "string",
6508
- "description": "The protocol version, `17`"
6920
+ "description": "The protocol version, `18`"
6509
6921
  },
6510
6922
  "required": true,
6511
- "description": "The protocol version, `17`",
6923
+ "description": "The protocol version, `18`",
6512
6924
  "name": "Nylorun-Protocol",
6513
6925
  "in": "header"
6514
6926
  }
@@ -6605,10 +7017,10 @@
6605
7017
  {
6606
7018
  "schema": {
6607
7019
  "type": "string",
6608
- "description": "The protocol version, `17`"
7020
+ "description": "The protocol version, `18`"
6609
7021
  },
6610
7022
  "required": true,
6611
- "description": "The protocol version, `17`",
7023
+ "description": "The protocol version, `18`",
6612
7024
  "name": "Nylorun-Protocol",
6613
7025
  "in": "header"
6614
7026
  }
@@ -6716,10 +7128,10 @@
6716
7128
  {
6717
7129
  "schema": {
6718
7130
  "type": "string",
6719
- "description": "The protocol version, `17`"
7131
+ "description": "The protocol version, `18`"
6720
7132
  },
6721
7133
  "required": true,
6722
- "description": "The protocol version, `17`",
7134
+ "description": "The protocol version, `18`",
6723
7135
  "name": "Nylorun-Protocol",
6724
7136
  "in": "header"
6725
7137
  }
@@ -6816,10 +7228,10 @@
6816
7228
  {
6817
7229
  "schema": {
6818
7230
  "type": "string",
6819
- "description": "The protocol version, `17`"
7231
+ "description": "The protocol version, `18`"
6820
7232
  },
6821
7233
  "required": true,
6822
- "description": "The protocol version, `17`",
7234
+ "description": "The protocol version, `18`",
6823
7235
  "name": "Nylorun-Protocol",
6824
7236
  "in": "header"
6825
7237
  }
@@ -6928,10 +7340,10 @@
6928
7340
  {
6929
7341
  "schema": {
6930
7342
  "type": "string",
6931
- "description": "The protocol version, `17`"
7343
+ "description": "The protocol version, `18`"
6932
7344
  },
6933
7345
  "required": true,
6934
- "description": "The protocol version, `17`",
7346
+ "description": "The protocol version, `18`",
6935
7347
  "name": "Nylorun-Protocol",
6936
7348
  "in": "header"
6937
7349
  }
@@ -7028,10 +7440,10 @@
7028
7440
  {
7029
7441
  "schema": {
7030
7442
  "type": "string",
7031
- "description": "The protocol version, `17`"
7443
+ "description": "The protocol version, `18`"
7032
7444
  },
7033
7445
  "required": true,
7034
- "description": "The protocol version, `17`",
7446
+ "description": "The protocol version, `18`",
7035
7447
  "name": "Nylorun-Protocol",
7036
7448
  "in": "header"
7037
7449
  }