@nylorun/runtime 0.14.0-beta → 0.15.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 (198) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +75 -33
  3. package/dist/adapters/execution/restate.js +2 -2
  4. package/dist/adapters/replication/pgoutput.d.ts +5 -0
  5. package/dist/adapters/replication/pgoutput.js +4 -3
  6. package/dist/admin-openapi.json +184 -685
  7. package/dist/api/components.d.ts +308 -68
  8. package/dist/api/components.js +4 -5
  9. package/dist/api/gate/keys.d.ts +14 -0
  10. package/dist/api/gate/keys.js +59 -0
  11. package/dist/api/gate/routes.d.ts +34 -0
  12. package/dist/api/gate/routes.js +235 -0
  13. package/dist/api/http/define.js +0 -8
  14. package/dist/api/http/routes/access.js +25 -18
  15. package/dist/api/http/routes/tenant.d.ts +2 -1
  16. package/dist/api/http/routes/tenant.js +77 -5
  17. package/dist/api/http/routes/vaults.js +2 -2
  18. package/dist/api/openapi.js +4 -5
  19. package/dist/gates/contract.d.ts +51 -0
  20. package/dist/gates/contract.js +37 -0
  21. package/dist/gates/handler.d.ts +21 -0
  22. package/dist/gates/handler.js +55 -0
  23. package/dist/gates/http-client.d.ts +12 -0
  24. package/dist/gates/http-client.js +160 -0
  25. package/dist/gates/in-process.d.ts +32 -0
  26. package/dist/gates/in-process.js +42 -0
  27. package/dist/gates/inflight.d.ts +39 -0
  28. package/dist/gates/inflight.js +70 -0
  29. package/dist/gates/mcp-handler.d.ts +35 -0
  30. package/dist/gates/mcp-handler.js +142 -0
  31. package/dist/gates/meter.d.ts +24 -0
  32. package/dist/gates/meter.js +165 -0
  33. package/dist/gates/model-gate.d.ts +45 -0
  34. package/dist/gates/model-gate.js +1 -0
  35. package/dist/gates/tenant-vaults.d.ts +64 -0
  36. package/dist/gates/tenant-vaults.js +94 -0
  37. package/dist/gates/tool-calls.d.ts +51 -0
  38. package/dist/gates/tool-calls.js +64 -0
  39. package/dist/gates/tool-client.d.ts +12 -0
  40. package/dist/gates/tool-client.js +201 -0
  41. package/dist/gates/tool-contract.d.ts +116 -0
  42. package/dist/gates/tool-contract.js +64 -0
  43. package/dist/gates/tool-gate.d.ts +45 -0
  44. package/dist/gates/tool-gate.js +10 -0
  45. package/dist/host/admin-api.d.ts +7 -6
  46. package/dist/host/admin-api.js +9 -113
  47. package/dist/host/app.d.ts +1 -1
  48. package/dist/host/app.js +20 -24
  49. package/dist/host/config-for.d.ts +1 -1
  50. package/dist/host/config-for.js +2 -2
  51. package/dist/host/create-host.d.ts +5 -5
  52. package/dist/host/create-host.js +5 -15
  53. package/dist/host/execution.d.ts +20 -18
  54. package/dist/host/execution.js +2 -2
  55. package/dist/host/gates.d.ts +58 -0
  56. package/dist/host/gates.js +127 -0
  57. package/dist/host/http.d.ts +6 -1
  58. package/dist/host/http.js +17 -0
  59. package/dist/host/index.d.ts +1 -1
  60. package/dist/host/main.js +151 -71
  61. package/dist/host/stack-config.d.ts +71 -19
  62. package/dist/host/stack-config.js +192 -18
  63. package/dist/infra/database.d.ts +2 -2
  64. package/dist/infra/execution.d.ts +5 -5
  65. package/dist/infra/execution.js +8 -6
  66. package/dist/infra/index.d.ts +1 -1
  67. package/dist/infra/workers.d.ts +17 -17
  68. package/dist/infra/workers.js +9 -9
  69. package/dist/keys/client.d.ts +9 -0
  70. package/dist/keys/client.js +70 -0
  71. package/dist/keys/contract.d.ts +24 -0
  72. package/dist/keys/contract.js +12 -0
  73. package/dist/keys/keys.d.ts +41 -0
  74. package/dist/keys/keys.js +50 -0
  75. package/dist/mcp/connect.d.ts +43 -3
  76. package/dist/mcp/connect.js +12 -5
  77. package/dist/mcp/pool.d.ts +21 -3
  78. package/dist/mcp/pool.js +15 -2
  79. package/dist/openapi.json +887 -694
  80. package/dist/record/append.d.ts +51 -0
  81. package/dist/record/append.js +20 -0
  82. package/dist/{store/event.js → record/envelope.js} +1 -1
  83. package/dist/record/index.d.ts +11 -0
  84. package/dist/record/index.js +11 -0
  85. package/dist/store/postgres/connect.d.ts +15 -12
  86. package/dist/store/postgres/connect.js +24 -12
  87. package/dist/store/postgres/db.d.ts +16 -0
  88. package/dist/store/postgres/db.js +28 -0
  89. package/dist/store/postgres/drizzle/0000_foundation.sql +22 -0
  90. package/dist/store/postgres/drizzle/0001_baseline.sql +255 -0
  91. package/dist/store/postgres/drizzle/0002_stream_relay.sql +4 -0
  92. package/dist/store/postgres/drizzle/0003_tool_crossings.sql +9 -0
  93. package/dist/store/postgres/drizzle/meta/_journal.json +34 -0
  94. package/dist/store/postgres/migrate.d.ts +68 -0
  95. package/dist/store/postgres/migrate.js +183 -0
  96. package/dist/store/postgres/record-writer.d.ts +4 -0
  97. package/dist/store/postgres/record-writer.js +34 -0
  98. package/dist/store/postgres/record.d.ts +2 -8
  99. package/dist/store/postgres/record.js +50 -54
  100. package/dist/store/postgres/schema.d.ts +3096 -0
  101. package/dist/store/postgres/schema.js +363 -0
  102. package/dist/store/postgres/store.d.ts +2 -4
  103. package/dist/store/postgres/store.js +481 -567
  104. package/dist/store/postgres/tenant.d.ts +56 -0
  105. package/dist/store/postgres/tenant.js +154 -0
  106. package/dist/store/types.d.ts +43 -87
  107. package/dist/store/types.js +0 -1
  108. package/dist/streams/control.d.ts +1 -1
  109. package/dist/streams/control.js +6 -2
  110. package/dist/streams/relay/types.d.ts +2 -1
  111. package/dist/streams/relay/types.js +2 -1
  112. package/dist/streams/types.d.ts +5 -0
  113. package/dist/tenant/advance.d.ts +7 -2
  114. package/dist/tenant/advance.js +95 -16
  115. package/dist/tenant/cause.d.ts +25 -0
  116. package/dist/tenant/cause.js +45 -0
  117. package/dist/tenant/commands.js +4 -2
  118. package/dist/tenant/context.d.ts +26 -3
  119. package/dist/tenant/delivery-token.js +17 -18
  120. package/dist/tenant/delivery.d.ts +1 -1
  121. package/dist/tenant/delivery.js +18 -13
  122. package/dist/tenant/effects.d.ts +15 -1
  123. package/dist/tenant/effects.js +93 -17
  124. package/dist/tenant/ephemeral.d.ts +16 -7
  125. package/dist/tenant/ephemeral.js +45 -111
  126. package/dist/tenant/history.d.ts +64 -0
  127. package/dist/tenant/history.js +120 -0
  128. package/dist/tenant/model-setting.d.ts +2 -2
  129. package/dist/tenant/module.d.ts +14 -28
  130. package/dist/tenant/module.js +131 -271
  131. package/dist/tenant/paths.d.ts +11 -16
  132. package/dist/tenant/paths.js +24 -68
  133. package/dist/tenant/pool.d.ts +1 -1
  134. package/dist/tenant/pool.js +1 -1
  135. package/dist/tenant/principals.d.ts +23 -11
  136. package/dist/tenant/principals.js +61 -49
  137. package/dist/tenant/runtime.d.ts +19 -1
  138. package/dist/tenant/runtime.js +40 -26
  139. package/dist/tenant/scheduler.d.ts +4 -2
  140. package/dist/tenant/scheduler.js +4 -4
  141. package/dist/tenant/session-streams.d.ts +2 -0
  142. package/dist/tenant/session-streams.js +8 -3
  143. package/dist/tenant/status.d.ts +3 -0
  144. package/dist/tenant/status.js +1 -1
  145. package/dist/tenant/store-pg.d.ts +9 -6
  146. package/dist/tenant/store-pg.js +60 -125
  147. package/dist/tenant/streams.d.ts +9 -25
  148. package/dist/tenant/streams.js +7 -22
  149. package/dist/tenant/tokens.js +16 -14
  150. package/dist/tenant/types.d.ts +41 -92
  151. package/dist/tenant/types.js +4 -15
  152. package/dist/tenant/worker.js +4 -4
  153. package/dist/vault/host-model.d.ts +31 -0
  154. package/dist/vault/host-model.js +57 -0
  155. package/dist/vault/service.d.ts +26 -15
  156. package/dist/vault/service.js +70 -109
  157. package/dist/version.d.ts +1 -1
  158. package/dist/version.js +1 -1
  159. package/package.json +9 -5
  160. package/dist/store/memory.d.ts +0 -69
  161. package/dist/store/memory.js +0 -810
  162. package/dist/store/postgres/migrations/001_initial.d.ts +0 -27
  163. package/dist/store/postgres/migrations/001_initial.js +0 -196
  164. package/dist/store/postgres/migrations/002_session_owner.d.ts +0 -6
  165. package/dist/store/postgres/migrations/002_session_owner.js +0 -13
  166. package/dist/store/postgres/migrations/003_subject_tokens.d.ts +0 -8
  167. package/dist/store/postgres/migrations/003_subject_tokens.js +0 -42
  168. package/dist/store/postgres/migrations/004_publishable_keys.d.ts +0 -6
  169. package/dist/store/postgres/migrations/004_publishable_keys.js +0 -18
  170. package/dist/store/postgres/migrations/005_action_endpoints.d.ts +0 -6
  171. package/dist/store/postgres/migrations/005_action_endpoints.js +0 -32
  172. package/dist/store/postgres/migrations/006_drop_executors.d.ts +0 -11
  173. package/dist/store/postgres/migrations/006_drop_executors.js +0 -32
  174. package/dist/store/postgres/migrations/007_event_time.d.ts +0 -7
  175. package/dist/store/postgres/migrations/007_event_time.js +0 -14
  176. package/dist/store/postgres/migrations/008_durable_streams.d.ts +0 -13
  177. package/dist/store/postgres/migrations/008_durable_streams.js +0 -35
  178. package/dist/store/postgres/migrations/index.d.ts +0 -53
  179. package/dist/store/postgres/migrations/index.js +0 -96
  180. package/dist/store/postgres/migrations/shared/index.d.ts +0 -31
  181. package/dist/store/postgres/migrations/shared/index.js +0 -92
  182. package/dist/store/postgres/names.d.ts +0 -11
  183. package/dist/store/postgres/names.js +0 -42
  184. package/dist/store/postgres/tenants.d.ts +0 -90
  185. package/dist/store/postgres/tenants.js +0 -228
  186. package/dist/streams/relay/memory.d.ts +0 -69
  187. package/dist/streams/relay/memory.js +0 -176
  188. package/dist/tenant/envelope.d.ts +0 -7
  189. package/dist/tenant/envelope.js +0 -22
  190. package/dist/tenant/quarantine-error.d.ts +0 -6
  191. package/dist/tenant/quarantine-error.js +0 -9
  192. package/dist/tenant/quarantine.d.ts +0 -27
  193. package/dist/tenant/quarantine.js +0 -72
  194. package/dist/tenant/store-memory.d.ts +0 -16
  195. package/dist/tenant/store-memory.js +0 -111
  196. /package/dist/{store → record}/cursor.d.ts +0 -0
  197. /package/dist/{store → record}/cursor.js +0 -0
  198. /package/dist/{store/event.d.ts → record/envelope.d.ts} +0 -0
package/dist/openapi.json CHANGED
@@ -2,11 +2,11 @@
2
2
  "openapi": "3.2.0",
3
3
  "info": {
4
4
  "title": "Nylorun Runtime: Tenant API",
5
- "version": "0.14.0-beta",
6
- "description": "Agents, sessions and their events, vaults, access and the Tenant's settings, for one Tenant (`Nylorun-Tenant`). Every request sends `Nylorun-Protocol`. Who may call each operation is its `security` and its `x-nylorun-credentials`, `x-nylorun-scopes` (the subject scopes that reach it) and `x-nylorun-browser` fields.",
5
+ "version": "0.15.0-beta",
6
+ "description": "Agents, sessions and their events, vaults, access and the Tenant's settings. A Runtime serves one Tenant: its URL is the Tenant's, and no request names it. Every request sends `Nylorun-Protocol`. Who may call each operation is its `security` and its `x-nylorun-credentials`, `x-nylorun-scopes` (the subject scopes that reach it) and `x-nylorun-browser` fields.",
7
7
  "x-nylorun-protocol": {
8
8
  "min": 4,
9
- "max": 4,
9
+ "max": 5,
10
10
  "features": [
11
11
  "runtime-tenants",
12
12
  "admin-status",
@@ -58,7 +58,7 @@
58
58
  "type": "apiKey",
59
59
  "in": "header",
60
60
  "name": "Nylorun-Key",
61
- "description": "A publishable key, sent by a browser page on one of its origins. Public by design: it names the Tenant and grants the access policy's anonymous scopes."
61
+ "description": "A publishable key, sent by a browser page on one of its origins. Public by design: it grants the access policy's anonymous scopes."
62
62
  }
63
63
  },
64
64
  "schemas": {
@@ -6269,8 +6269,6 @@
6269
6269
  "host_rejected",
6270
6270
  "origin_rejected",
6271
6271
  "unsupported_media_type",
6272
- "tenant_conflict",
6273
- "active_work",
6274
6272
  "connection_missing",
6275
6273
  "incompatible_host",
6276
6274
  "subject_invalid",
@@ -10399,6 +10397,9 @@
10399
10397
  },
10400
10398
  {
10401
10399
  "$ref": "#/components/schemas/LoopDecidedEvent"
10400
+ },
10401
+ {
10402
+ "$ref": "#/components/schemas/TranscriptUpdatedEvent"
10402
10403
  }
10403
10404
  ],
10404
10405
  "discriminator": {
@@ -10429,7 +10430,8 @@
10429
10430
  "node.agent": "#/components/schemas/NodeAgentEvent",
10430
10431
  "loop.iteration": "#/components/schemas/LoopIterationEvent",
10431
10432
  "loop.verified": "#/components/schemas/LoopVerifiedEvent",
10432
- "loop.decided": "#/components/schemas/LoopDecidedEvent"
10433
+ "loop.decided": "#/components/schemas/LoopDecidedEvent",
10434
+ "transcript.updated": "#/components/schemas/TranscriptUpdatedEvent"
10433
10435
  }
10434
10436
  }
10435
10437
  },
@@ -15390,6 +15392,184 @@
15390
15392
  "payload"
15391
15393
  ]
15392
15394
  },
15395
+ "TranscriptUpdatedEvent": {
15396
+ "type": "object",
15397
+ "properties": {
15398
+ "schema": {
15399
+ "type": "string",
15400
+ "enum": [
15401
+ "nylorun.event/2"
15402
+ ]
15403
+ },
15404
+ "eventId": {
15405
+ "type": "string"
15406
+ },
15407
+ "tenantId": {
15408
+ "type": "string",
15409
+ "minLength": 1
15410
+ },
15411
+ "sessionId": {
15412
+ "type": "string"
15413
+ },
15414
+ "runId": {
15415
+ "type": [
15416
+ "string",
15417
+ "null"
15418
+ ]
15419
+ },
15420
+ "turnId": {
15421
+ "type": [
15422
+ "string",
15423
+ "null"
15424
+ ]
15425
+ },
15426
+ "incarnation": {
15427
+ "type": "integer",
15428
+ "minimum": 0
15429
+ },
15430
+ "epoch": {
15431
+ "type": "integer",
15432
+ "minimum": 0
15433
+ },
15434
+ "seq": {
15435
+ "type": "integer",
15436
+ "minimum": 0
15437
+ },
15438
+ "cursor": {
15439
+ "type": "string"
15440
+ },
15441
+ "time": {
15442
+ "type": "string"
15443
+ },
15444
+ "schemaVersion": {
15445
+ "type": "integer",
15446
+ "exclusiveMinimum": 0
15447
+ },
15448
+ "source": {
15449
+ "type": "object",
15450
+ "properties": {
15451
+ "kind": {
15452
+ "type": "string",
15453
+ "enum": [
15454
+ "model-gate",
15455
+ "tool-gate",
15456
+ "egress-gate",
15457
+ "sandboxd",
15458
+ "edge",
15459
+ "init",
15460
+ "controller",
15461
+ "loop",
15462
+ "supervisor",
15463
+ "harness",
15464
+ "evidence",
15465
+ "operator",
15466
+ "human",
15467
+ "api"
15468
+ ]
15469
+ },
15470
+ "id": {
15471
+ "type": "string"
15472
+ }
15473
+ },
15474
+ "required": [
15475
+ "kind",
15476
+ "id"
15477
+ ]
15478
+ },
15479
+ "evidence": {
15480
+ "type": "string",
15481
+ "enum": [
15482
+ "observed",
15483
+ "measured",
15484
+ "attested",
15485
+ "claimed",
15486
+ "asserted"
15487
+ ]
15488
+ },
15489
+ "trace": {
15490
+ "type": "object",
15491
+ "properties": {
15492
+ "traceId": {
15493
+ "type": "string"
15494
+ },
15495
+ "spanId": {
15496
+ "type": "string"
15497
+ },
15498
+ "parentSpanId": {
15499
+ "type": "string"
15500
+ }
15501
+ },
15502
+ "required": [
15503
+ "traceId",
15504
+ "spanId"
15505
+ ]
15506
+ },
15507
+ "visibility": {
15508
+ "type": "string",
15509
+ "enum": [
15510
+ "public",
15511
+ "internal",
15512
+ "restricted"
15513
+ ]
15514
+ },
15515
+ "retention": {
15516
+ "type": "string",
15517
+ "enum": [
15518
+ "full",
15519
+ "metadata"
15520
+ ]
15521
+ },
15522
+ "type": {
15523
+ "type": "string",
15524
+ "enum": [
15525
+ "transcript.updated"
15526
+ ]
15527
+ },
15528
+ "payload": {
15529
+ "type": "object",
15530
+ "properties": {
15531
+ "keep": {
15532
+ "type": "integer",
15533
+ "minimum": 0
15534
+ },
15535
+ "entries": {
15536
+ "type": "array",
15537
+ "items": {}
15538
+ },
15539
+ "length": {
15540
+ "type": "integer",
15541
+ "minimum": 0
15542
+ }
15543
+ },
15544
+ "required": [
15545
+ "keep",
15546
+ "entries",
15547
+ "length"
15548
+ ],
15549
+ "additionalProperties": {}
15550
+ }
15551
+ },
15552
+ "required": [
15553
+ "schema",
15554
+ "eventId",
15555
+ "tenantId",
15556
+ "sessionId",
15557
+ "runId",
15558
+ "turnId",
15559
+ "incarnation",
15560
+ "epoch",
15561
+ "seq",
15562
+ "cursor",
15563
+ "time",
15564
+ "schemaVersion",
15565
+ "source",
15566
+ "evidence",
15567
+ "visibility",
15568
+ "retention",
15569
+ "type",
15570
+ "payload"
15571
+ ]
15572
+ },
15393
15573
  "StreamClosedFrame": {
15394
15574
  "type": "object",
15395
15575
  "properties": {
@@ -16440,75 +16620,223 @@
16440
16620
  },
16441
16621
  "additionalProperties": false
16442
16622
  },
16443
- "ListProvidersResponse": {
16623
+ "ModelUsageTotals": {
16444
16624
  "type": "object",
16445
16625
  "properties": {
16446
- "providers": {
16626
+ "scope": {
16627
+ "type": "string",
16628
+ "enum": [
16629
+ "tenant",
16630
+ "agent",
16631
+ "turn"
16632
+ ]
16633
+ },
16634
+ "id": {
16635
+ "type": "string"
16636
+ },
16637
+ "period": {
16638
+ "type": "string",
16639
+ "enum": [
16640
+ "day",
16641
+ "month",
16642
+ "total"
16643
+ ]
16644
+ },
16645
+ "since": {
16646
+ "type": "string"
16647
+ },
16648
+ "calls": {
16649
+ "type": "integer",
16650
+ "minimum": 0
16651
+ },
16652
+ "tokens": {
16653
+ "type": "integer",
16654
+ "minimum": 0
16655
+ },
16656
+ "costUsd": {
16657
+ "type": "number",
16658
+ "minimum": 0
16659
+ }
16660
+ },
16661
+ "required": [
16662
+ "scope",
16663
+ "period",
16664
+ "calls",
16665
+ "tokens",
16666
+ "costUsd"
16667
+ ],
16668
+ "additionalProperties": false
16669
+ },
16670
+ "ModelBudgets": {
16671
+ "type": "object",
16672
+ "properties": {
16673
+ "budgets": {
16447
16674
  "type": "array",
16448
16675
  "items": {
16449
16676
  "type": "object",
16450
16677
  "properties": {
16451
- "id": {
16452
- "type": "string"
16453
- },
16454
- "name": {
16455
- "type": "string"
16456
- },
16457
- "model": {
16458
- "type": "string"
16459
- },
16460
- "authType": {
16678
+ "scope": {
16461
16679
  "type": "string",
16462
16680
  "enum": [
16463
- "api_key",
16464
- "oauth"
16681
+ "tenant",
16682
+ "agent",
16683
+ "turn"
16465
16684
  ]
16466
16685
  },
16467
- "baseUrl": {
16468
- "type": "string"
16686
+ "id": {
16687
+ "type": "string",
16688
+ "minLength": 1
16469
16689
  },
16470
- "settings": {
16471
- "type": "object",
16472
- "properties": {
16473
- "contextWindow": {
16474
- "type": "integer",
16475
- "minimum": 1024
16476
- },
16477
- "maxTokens": {
16478
- "type": "integer",
16479
- "minimum": 1
16480
- },
16481
- "reasoning": {
16482
- "type": "boolean"
16483
- },
16484
- "compat": {
16485
- "type": "object",
16486
- "additionalProperties": {}
16487
- }
16488
- },
16489
- "additionalProperties": false
16690
+ "period": {
16691
+ "type": "string",
16692
+ "enum": [
16693
+ "day",
16694
+ "month"
16695
+ ]
16490
16696
  },
16491
- "lastUpdated": {
16492
- "type": "string"
16697
+ "limitUsd": {
16698
+ "type": "number",
16699
+ "exclusiveMinimum": 0
16493
16700
  },
16494
- "active": {
16495
- "type": "boolean"
16701
+ "limitTokens": {
16702
+ "type": "integer",
16703
+ "exclusiveMinimum": 0
16496
16704
  }
16497
16705
  },
16498
16706
  "required": [
16499
- "id",
16500
- "name",
16501
- "model",
16502
- "authType",
16503
- "lastUpdated",
16504
- "active"
16707
+ "scope"
16505
16708
  ],
16506
16709
  "additionalProperties": false
16507
16710
  }
16508
16711
  }
16509
16712
  },
16510
16713
  "required": [
16511
- "providers"
16714
+ "budgets"
16715
+ ],
16716
+ "additionalProperties": false
16717
+ },
16718
+ "PutModelBudgetsRequest": {
16719
+ "type": "object",
16720
+ "properties": {
16721
+ "requestId": {
16722
+ "type": "string",
16723
+ "minLength": 1
16724
+ },
16725
+ "budgets": {
16726
+ "type": "array",
16727
+ "items": {
16728
+ "type": "object",
16729
+ "properties": {
16730
+ "scope": {
16731
+ "type": "string",
16732
+ "enum": [
16733
+ "tenant",
16734
+ "agent",
16735
+ "turn"
16736
+ ]
16737
+ },
16738
+ "id": {
16739
+ "type": "string",
16740
+ "minLength": 1
16741
+ },
16742
+ "period": {
16743
+ "type": "string",
16744
+ "enum": [
16745
+ "day",
16746
+ "month"
16747
+ ]
16748
+ },
16749
+ "limitUsd": {
16750
+ "type": "number",
16751
+ "exclusiveMinimum": 0
16752
+ },
16753
+ "limitTokens": {
16754
+ "type": "integer",
16755
+ "exclusiveMinimum": 0
16756
+ }
16757
+ },
16758
+ "required": [
16759
+ "scope"
16760
+ ],
16761
+ "additionalProperties": false
16762
+ },
16763
+ "maxItems": 100
16764
+ }
16765
+ },
16766
+ "required": [
16767
+ "budgets"
16768
+ ],
16769
+ "additionalProperties": false
16770
+ },
16771
+ "ListProvidersResponse": {
16772
+ "type": "object",
16773
+ "properties": {
16774
+ "providers": {
16775
+ "type": "array",
16776
+ "items": {
16777
+ "type": "object",
16778
+ "properties": {
16779
+ "id": {
16780
+ "type": "string"
16781
+ },
16782
+ "name": {
16783
+ "type": "string"
16784
+ },
16785
+ "model": {
16786
+ "type": "string"
16787
+ },
16788
+ "authType": {
16789
+ "type": "string",
16790
+ "enum": [
16791
+ "api_key",
16792
+ "oauth"
16793
+ ]
16794
+ },
16795
+ "baseUrl": {
16796
+ "type": "string"
16797
+ },
16798
+ "settings": {
16799
+ "type": "object",
16800
+ "properties": {
16801
+ "contextWindow": {
16802
+ "type": "integer",
16803
+ "minimum": 1024
16804
+ },
16805
+ "maxTokens": {
16806
+ "type": "integer",
16807
+ "minimum": 1
16808
+ },
16809
+ "reasoning": {
16810
+ "type": "boolean"
16811
+ },
16812
+ "compat": {
16813
+ "type": "object",
16814
+ "additionalProperties": {}
16815
+ }
16816
+ },
16817
+ "additionalProperties": false
16818
+ },
16819
+ "lastUpdated": {
16820
+ "type": "string"
16821
+ },
16822
+ "active": {
16823
+ "type": "boolean"
16824
+ }
16825
+ },
16826
+ "required": [
16827
+ "id",
16828
+ "name",
16829
+ "model",
16830
+ "authType",
16831
+ "lastUpdated",
16832
+ "active"
16833
+ ],
16834
+ "additionalProperties": false
16835
+ }
16836
+ }
16837
+ },
16838
+ "required": [
16839
+ "providers"
16512
16840
  ],
16513
16841
  "additionalProperties": false
16514
16842
  },
@@ -18195,7 +18523,7 @@
18195
18523
  "Host"
18196
18524
  ],
18197
18525
  "summary": "Check the Runtime is ready",
18198
- "description": "The listeners, Tenant discovery, Postgres, Restate and S2.",
18526
+ "description": "The listeners, the Tenant (open), Postgres, Restate and S2.",
18199
18527
  "responses": {
18200
18528
  "200": {
18201
18529
  "description": "Ready",
@@ -18271,22 +18599,12 @@
18271
18599
  {
18272
18600
  "schema": {
18273
18601
  "type": "string",
18274
- "description": "The protocol version, `4`"
18602
+ "description": "The protocol version, `5`"
18275
18603
  },
18276
18604
  "required": true,
18277
- "description": "The protocol version, `4`",
18605
+ "description": "The protocol version, `5`",
18278
18606
  "name": "Nylorun-Protocol",
18279
18607
  "in": "header"
18280
- },
18281
- {
18282
- "schema": {
18283
- "type": "string",
18284
- "description": "The Tenant"
18285
- },
18286
- "required": true,
18287
- "description": "The Tenant",
18288
- "name": "Nylorun-Tenant",
18289
- "in": "header"
18290
18608
  }
18291
18609
  ],
18292
18610
  "requestBody": {
@@ -18398,22 +18716,12 @@
18398
18716
  {
18399
18717
  "schema": {
18400
18718
  "type": "string",
18401
- "description": "The protocol version, `4`"
18719
+ "description": "The protocol version, `5`"
18402
18720
  },
18403
18721
  "required": true,
18404
- "description": "The protocol version, `4`",
18722
+ "description": "The protocol version, `5`",
18405
18723
  "name": "Nylorun-Protocol",
18406
18724
  "in": "header"
18407
- },
18408
- {
18409
- "schema": {
18410
- "type": "string",
18411
- "description": "The Tenant"
18412
- },
18413
- "required": true,
18414
- "description": "The Tenant",
18415
- "name": "Nylorun-Tenant",
18416
- "in": "header"
18417
18725
  }
18418
18726
  ],
18419
18727
  "responses": {
@@ -18519,23 +18827,13 @@
18519
18827
  {
18520
18828
  "schema": {
18521
18829
  "type": "string",
18522
- "description": "The protocol version, `4`"
18830
+ "description": "The protocol version, `5`"
18523
18831
  },
18524
18832
  "required": true,
18525
- "description": "The protocol version, `4`",
18833
+ "description": "The protocol version, `5`",
18526
18834
  "name": "Nylorun-Protocol",
18527
18835
  "in": "header"
18528
18836
  },
18529
- {
18530
- "schema": {
18531
- "type": "string",
18532
- "description": "The Tenant; optional with a publishable key, which names it"
18533
- },
18534
- "required": false,
18535
- "description": "The Tenant; optional with a publishable key, which names it",
18536
- "name": "Nylorun-Tenant",
18537
- "in": "header"
18538
- },
18539
18837
  {
18540
18838
  "schema": {
18541
18839
  "type": "string",
@@ -18675,22 +18973,12 @@
18675
18973
  {
18676
18974
  "schema": {
18677
18975
  "type": "string",
18678
- "description": "The protocol version, `4`"
18976
+ "description": "The protocol version, `5`"
18679
18977
  },
18680
18978
  "required": true,
18681
- "description": "The protocol version, `4`",
18979
+ "description": "The protocol version, `5`",
18682
18980
  "name": "Nylorun-Protocol",
18683
18981
  "in": "header"
18684
- },
18685
- {
18686
- "schema": {
18687
- "type": "string",
18688
- "description": "The Tenant"
18689
- },
18690
- "required": true,
18691
- "description": "The Tenant",
18692
- "name": "Nylorun-Tenant",
18693
- "in": "header"
18694
18982
  }
18695
18983
  ],
18696
18984
  "responses": {
@@ -18776,22 +19064,12 @@
18776
19064
  {
18777
19065
  "schema": {
18778
19066
  "type": "string",
18779
- "description": "The protocol version, `4`"
19067
+ "description": "The protocol version, `5`"
18780
19068
  },
18781
19069
  "required": true,
18782
- "description": "The protocol version, `4`",
19070
+ "description": "The protocol version, `5`",
18783
19071
  "name": "Nylorun-Protocol",
18784
19072
  "in": "header"
18785
- },
18786
- {
18787
- "schema": {
18788
- "type": "string",
18789
- "description": "The Tenant"
18790
- },
18791
- "required": true,
18792
- "description": "The Tenant",
18793
- "name": "Nylorun-Tenant",
18794
- "in": "header"
18795
19073
  }
18796
19074
  ],
18797
19075
  "requestBody": {
@@ -18897,22 +19175,12 @@
18897
19175
  {
18898
19176
  "schema": {
18899
19177
  "type": "string",
18900
- "description": "The protocol version, `4`"
19178
+ "description": "The protocol version, `5`"
18901
19179
  },
18902
19180
  "required": true,
18903
- "description": "The protocol version, `4`",
19181
+ "description": "The protocol version, `5`",
18904
19182
  "name": "Nylorun-Protocol",
18905
19183
  "in": "header"
18906
- },
18907
- {
18908
- "schema": {
18909
- "type": "string",
18910
- "description": "The Tenant"
18911
- },
18912
- "required": true,
18913
- "description": "The Tenant",
18914
- "name": "Nylorun-Tenant",
18915
- "in": "header"
18916
19184
  }
18917
19185
  ],
18918
19186
  "responses": {
@@ -19001,22 +19269,12 @@
19001
19269
  {
19002
19270
  "schema": {
19003
19271
  "type": "string",
19004
- "description": "The protocol version, `4`"
19272
+ "description": "The protocol version, `5`"
19005
19273
  },
19006
19274
  "required": true,
19007
- "description": "The protocol version, `4`",
19275
+ "description": "The protocol version, `5`",
19008
19276
  "name": "Nylorun-Protocol",
19009
19277
  "in": "header"
19010
- },
19011
- {
19012
- "schema": {
19013
- "type": "string",
19014
- "description": "The Tenant"
19015
- },
19016
- "required": true,
19017
- "description": "The Tenant",
19018
- "name": "Nylorun-Tenant",
19019
- "in": "header"
19020
19278
  }
19021
19279
  ],
19022
19280
  "responses": {
@@ -19108,22 +19366,12 @@
19108
19366
  {
19109
19367
  "schema": {
19110
19368
  "type": "string",
19111
- "description": "The protocol version, `4`"
19369
+ "description": "The protocol version, `5`"
19112
19370
  },
19113
19371
  "required": true,
19114
- "description": "The protocol version, `4`",
19372
+ "description": "The protocol version, `5`",
19115
19373
  "name": "Nylorun-Protocol",
19116
19374
  "in": "header"
19117
- },
19118
- {
19119
- "schema": {
19120
- "type": "string",
19121
- "description": "The Tenant"
19122
- },
19123
- "required": true,
19124
- "description": "The Tenant",
19125
- "name": "Nylorun-Tenant",
19126
- "in": "header"
19127
19375
  }
19128
19376
  ],
19129
19377
  "requestBody": {
@@ -19236,23 +19484,13 @@
19236
19484
  {
19237
19485
  "schema": {
19238
19486
  "type": "string",
19239
- "description": "The protocol version, `4`"
19487
+ "description": "The protocol version, `5`"
19240
19488
  },
19241
19489
  "required": true,
19242
- "description": "The protocol version, `4`",
19490
+ "description": "The protocol version, `5`",
19243
19491
  "name": "Nylorun-Protocol",
19244
19492
  "in": "header"
19245
19493
  },
19246
- {
19247
- "schema": {
19248
- "type": "string",
19249
- "description": "The Tenant; optional with a publishable key, which names it"
19250
- },
19251
- "required": false,
19252
- "description": "The Tenant; optional with a publishable key, which names it",
19253
- "name": "Nylorun-Tenant",
19254
- "in": "header"
19255
- },
19256
19494
  {
19257
19495
  "schema": {
19258
19496
  "type": "string",
@@ -19406,23 +19644,13 @@
19406
19644
  {
19407
19645
  "schema": {
19408
19646
  "type": "string",
19409
- "description": "The protocol version, `4`"
19647
+ "description": "The protocol version, `5`"
19410
19648
  },
19411
19649
  "required": true,
19412
- "description": "The protocol version, `4`",
19650
+ "description": "The protocol version, `5`",
19413
19651
  "name": "Nylorun-Protocol",
19414
19652
  "in": "header"
19415
19653
  },
19416
- {
19417
- "schema": {
19418
- "type": "string",
19419
- "description": "The Tenant"
19420
- },
19421
- "required": true,
19422
- "description": "The Tenant",
19423
- "name": "Nylorun-Tenant",
19424
- "in": "header"
19425
- },
19426
19654
  {
19427
19655
  "schema": {
19428
19656
  "type": "string",
@@ -19554,23 +19782,13 @@
19554
19782
  {
19555
19783
  "schema": {
19556
19784
  "type": "string",
19557
- "description": "The protocol version, `4`"
19785
+ "description": "The protocol version, `5`"
19558
19786
  },
19559
19787
  "required": true,
19560
- "description": "The protocol version, `4`",
19788
+ "description": "The protocol version, `5`",
19561
19789
  "name": "Nylorun-Protocol",
19562
19790
  "in": "header"
19563
19791
  },
19564
- {
19565
- "schema": {
19566
- "type": "string",
19567
- "description": "The Tenant; optional with a publishable key, which names it"
19568
- },
19569
- "required": false,
19570
- "description": "The Tenant; optional with a publishable key, which names it",
19571
- "name": "Nylorun-Tenant",
19572
- "in": "header"
19573
- },
19574
19792
  {
19575
19793
  "schema": {
19576
19794
  "type": "string",
@@ -19712,23 +19930,13 @@
19712
19930
  {
19713
19931
  "schema": {
19714
19932
  "type": "string",
19715
- "description": "The protocol version, `4`"
19933
+ "description": "The protocol version, `5`"
19716
19934
  },
19717
19935
  "required": true,
19718
- "description": "The protocol version, `4`",
19936
+ "description": "The protocol version, `5`",
19719
19937
  "name": "Nylorun-Protocol",
19720
19938
  "in": "header"
19721
19939
  },
19722
- {
19723
- "schema": {
19724
- "type": "string",
19725
- "description": "The Tenant; optional with a publishable key, which names it"
19726
- },
19727
- "required": false,
19728
- "description": "The Tenant; optional with a publishable key, which names it",
19729
- "name": "Nylorun-Tenant",
19730
- "in": "header"
19731
- },
19732
19940
  {
19733
19941
  "schema": {
19734
19942
  "type": "string",
@@ -19880,23 +20088,13 @@
19880
20088
  {
19881
20089
  "schema": {
19882
20090
  "type": "string",
19883
- "description": "The protocol version, `4`"
20091
+ "description": "The protocol version, `5`"
19884
20092
  },
19885
20093
  "required": true,
19886
- "description": "The protocol version, `4`",
20094
+ "description": "The protocol version, `5`",
19887
20095
  "name": "Nylorun-Protocol",
19888
20096
  "in": "header"
19889
20097
  },
19890
- {
19891
- "schema": {
19892
- "type": "string",
19893
- "description": "The Tenant; optional with a publishable key, which names it"
19894
- },
19895
- "required": false,
19896
- "description": "The Tenant; optional with a publishable key, which names it",
19897
- "name": "Nylorun-Tenant",
19898
- "in": "header"
19899
- },
19900
20098
  {
19901
20099
  "schema": {
19902
20100
  "type": "string",
@@ -20057,23 +20255,13 @@
20057
20255
  {
20058
20256
  "schema": {
20059
20257
  "type": "string",
20060
- "description": "The protocol version, `4`"
20258
+ "description": "The protocol version, `5`"
20061
20259
  },
20062
20260
  "required": true,
20063
- "description": "The protocol version, `4`",
20261
+ "description": "The protocol version, `5`",
20064
20262
  "name": "Nylorun-Protocol",
20065
20263
  "in": "header"
20066
20264
  },
20067
- {
20068
- "schema": {
20069
- "type": "string",
20070
- "description": "The Tenant; optional with a publishable key, which names it"
20071
- },
20072
- "required": false,
20073
- "description": "The Tenant; optional with a publishable key, which names it",
20074
- "name": "Nylorun-Tenant",
20075
- "in": "header"
20076
- },
20077
20265
  {
20078
20266
  "schema": {
20079
20267
  "type": "string",
@@ -20225,23 +20413,13 @@
20225
20413
  {
20226
20414
  "schema": {
20227
20415
  "type": "string",
20228
- "description": "The protocol version, `4`"
20416
+ "description": "The protocol version, `5`"
20229
20417
  },
20230
20418
  "required": true,
20231
- "description": "The protocol version, `4`",
20419
+ "description": "The protocol version, `5`",
20232
20420
  "name": "Nylorun-Protocol",
20233
20421
  "in": "header"
20234
20422
  },
20235
- {
20236
- "schema": {
20237
- "type": "string",
20238
- "description": "The Tenant; optional with a publishable key, which names it"
20239
- },
20240
- "required": false,
20241
- "description": "The Tenant; optional with a publishable key, which names it",
20242
- "name": "Nylorun-Tenant",
20243
- "in": "header"
20244
- },
20245
20423
  {
20246
20424
  "schema": {
20247
20425
  "type": "string",
@@ -20348,6 +20526,9 @@
20348
20526
  {
20349
20527
  "$ref": "#/components/schemas/LoopDecidedEvent"
20350
20528
  },
20529
+ {
20530
+ "$ref": "#/components/schemas/TranscriptUpdatedEvent"
20531
+ },
20351
20532
  {
20352
20533
  "$ref": "#/components/schemas/StreamClosedFrame"
20353
20534
  }
@@ -20474,22 +20655,12 @@
20474
20655
  {
20475
20656
  "schema": {
20476
20657
  "type": "string",
20477
- "description": "The protocol version, `4`"
20658
+ "description": "The protocol version, `5`"
20478
20659
  },
20479
20660
  "required": true,
20480
- "description": "The protocol version, `4`",
20661
+ "description": "The protocol version, `5`",
20481
20662
  "name": "Nylorun-Protocol",
20482
20663
  "in": "header"
20483
- },
20484
- {
20485
- "schema": {
20486
- "type": "string",
20487
- "description": "The Tenant"
20488
- },
20489
- "required": true,
20490
- "description": "The Tenant",
20491
- "name": "Nylorun-Tenant",
20492
- "in": "header"
20493
20664
  }
20494
20665
  ],
20495
20666
  "requestBody": {
@@ -20595,23 +20766,13 @@
20595
20766
  {
20596
20767
  "schema": {
20597
20768
  "type": "string",
20598
- "description": "The protocol version, `4`"
20769
+ "description": "The protocol version, `5`"
20599
20770
  },
20600
20771
  "required": true,
20601
- "description": "The protocol version, `4`",
20772
+ "description": "The protocol version, `5`",
20602
20773
  "name": "Nylorun-Protocol",
20603
20774
  "in": "header"
20604
20775
  },
20605
- {
20606
- "schema": {
20607
- "type": "string",
20608
- "description": "The Tenant"
20609
- },
20610
- "required": true,
20611
- "description": "The Tenant",
20612
- "name": "Nylorun-Tenant",
20613
- "in": "header"
20614
- },
20615
20776
  {
20616
20777
  "schema": {
20617
20778
  "type": "string",
@@ -20718,22 +20879,12 @@
20718
20879
  {
20719
20880
  "schema": {
20720
20881
  "type": "string",
20721
- "description": "The protocol version, `4`"
20882
+ "description": "The protocol version, `5`"
20722
20883
  },
20723
20884
  "required": true,
20724
- "description": "The protocol version, `4`",
20885
+ "description": "The protocol version, `5`",
20725
20886
  "name": "Nylorun-Protocol",
20726
20887
  "in": "header"
20727
- },
20728
- {
20729
- "schema": {
20730
- "type": "string",
20731
- "description": "The Tenant"
20732
- },
20733
- "required": true,
20734
- "description": "The Tenant",
20735
- "name": "Nylorun-Tenant",
20736
- "in": "header"
20737
20888
  }
20738
20889
  ],
20739
20890
  "requestBody": {
@@ -20831,22 +20982,12 @@
20831
20982
  {
20832
20983
  "schema": {
20833
20984
  "type": "string",
20834
- "description": "The protocol version, `4`"
20985
+ "description": "The protocol version, `5`"
20835
20986
  },
20836
20987
  "required": true,
20837
- "description": "The protocol version, `4`",
20988
+ "description": "The protocol version, `5`",
20838
20989
  "name": "Nylorun-Protocol",
20839
20990
  "in": "header"
20840
- },
20841
- {
20842
- "schema": {
20843
- "type": "string",
20844
- "description": "The Tenant"
20845
- },
20846
- "required": true,
20847
- "description": "The Tenant",
20848
- "name": "Nylorun-Tenant",
20849
- "in": "header"
20850
20991
  }
20851
20992
  ],
20852
20993
  "requestBody": {
@@ -20947,23 +21088,13 @@
20947
21088
  {
20948
21089
  "schema": {
20949
21090
  "type": "string",
20950
- "description": "The protocol version, `4`"
21091
+ "description": "The protocol version, `5`"
20951
21092
  },
20952
21093
  "required": true,
20953
- "description": "The protocol version, `4`",
21094
+ "description": "The protocol version, `5`",
20954
21095
  "name": "Nylorun-Protocol",
20955
21096
  "in": "header"
20956
21097
  },
20957
- {
20958
- "schema": {
20959
- "type": "string",
20960
- "description": "The Tenant"
20961
- },
20962
- "required": true,
20963
- "description": "The Tenant",
20964
- "name": "Nylorun-Tenant",
20965
- "in": "header"
20966
- },
20967
21098
  {
20968
21099
  "schema": {
20969
21100
  "type": "string",
@@ -21072,21 +21203,403 @@
21072
21203
  {
21073
21204
  "schema": {
21074
21205
  "type": "string",
21075
- "description": "The protocol version, `4`"
21206
+ "description": "The protocol version, `5`"
21076
21207
  },
21077
21208
  "required": true,
21078
- "description": "The protocol version, `4`",
21209
+ "description": "The protocol version, `5`",
21079
21210
  "name": "Nylorun-Protocol",
21080
21211
  "in": "header"
21081
21212
  },
21082
21213
  {
21083
21214
  "schema": {
21084
21215
  "type": "string",
21085
- "description": "The Tenant"
21216
+ "description": "The person an application key acts for"
21086
21217
  },
21087
- "required": true,
21088
- "description": "The Tenant",
21089
- "name": "Nylorun-Tenant",
21218
+ "required": false,
21219
+ "description": "The person an application key acts for",
21220
+ "name": "Nylorun-Subject",
21221
+ "in": "header"
21222
+ },
21223
+ {
21224
+ "schema": {
21225
+ "type": "string",
21226
+ "description": "The subject's space-separated scopes; required with a subject"
21227
+ },
21228
+ "required": false,
21229
+ "description": "The subject's space-separated scopes; required with a subject",
21230
+ "name": "Nylorun-Scopes",
21231
+ "in": "header"
21232
+ }
21233
+ ],
21234
+ "responses": {
21235
+ "200": {
21236
+ "description": "The backend in use and the configuration in force",
21237
+ "content": {
21238
+ "application/json": {
21239
+ "schema": {
21240
+ "$ref": "#/components/schemas/TenantSandboxView"
21241
+ }
21242
+ }
21243
+ }
21244
+ },
21245
+ "400": {
21246
+ "description": "Invalid headers, path, body or cursor",
21247
+ "content": {
21248
+ "application/json": {
21249
+ "schema": {
21250
+ "$ref": "#/components/schemas/Rejected"
21251
+ }
21252
+ }
21253
+ }
21254
+ },
21255
+ "403": {
21256
+ "description": "Not allowed for this credential, subject scope or origin",
21257
+ "content": {
21258
+ "application/json": {
21259
+ "schema": {
21260
+ "$ref": "#/components/schemas/Rejected"
21261
+ }
21262
+ }
21263
+ }
21264
+ },
21265
+ "404": {
21266
+ "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21267
+ "content": {
21268
+ "application/json": {
21269
+ "schema": {
21270
+ "$ref": "#/components/schemas/Rejected"
21271
+ }
21272
+ }
21273
+ }
21274
+ },
21275
+ "426": {
21276
+ "description": "`Nylorun-Protocol` missing or unsupported",
21277
+ "content": {
21278
+ "application/json": {
21279
+ "schema": {
21280
+ "$ref": "#/components/schemas/ProtocolRejected"
21281
+ }
21282
+ }
21283
+ }
21284
+ },
21285
+ "503": {
21286
+ "description": "The Tenant's storage or streams are unavailable",
21287
+ "content": {
21288
+ "application/json": {
21289
+ "schema": {
21290
+ "$ref": "#/components/schemas/Rejected"
21291
+ }
21292
+ }
21293
+ }
21294
+ }
21295
+ }
21296
+ },
21297
+ "put": {
21298
+ "tags": [
21299
+ "Tenant"
21300
+ ],
21301
+ "summary": "Set the Tenant's sandbox configuration",
21302
+ "description": "What a session gets when it names no sandbox, and the limits every session's sandbox must fit.",
21303
+ "security": [
21304
+ {
21305
+ "applicationKey": []
21306
+ }
21307
+ ],
21308
+ "x-nylorun-credentials": [
21309
+ "application",
21310
+ "subject"
21311
+ ],
21312
+ "x-nylorun-scopes": [
21313
+ "tenant:settings"
21314
+ ],
21315
+ "x-nylorun-browser": false,
21316
+ "parameters": [
21317
+ {
21318
+ "schema": {
21319
+ "type": "string",
21320
+ "description": "The protocol version, `5`"
21321
+ },
21322
+ "required": true,
21323
+ "description": "The protocol version, `5`",
21324
+ "name": "Nylorun-Protocol",
21325
+ "in": "header"
21326
+ },
21327
+ {
21328
+ "schema": {
21329
+ "type": "string",
21330
+ "description": "The person an application key acts for"
21331
+ },
21332
+ "required": false,
21333
+ "description": "The person an application key acts for",
21334
+ "name": "Nylorun-Subject",
21335
+ "in": "header"
21336
+ },
21337
+ {
21338
+ "schema": {
21339
+ "type": "string",
21340
+ "description": "The subject's space-separated scopes; required with a subject"
21341
+ },
21342
+ "required": false,
21343
+ "description": "The subject's space-separated scopes; required with a subject",
21344
+ "name": "Nylorun-Scopes",
21345
+ "in": "header"
21346
+ }
21347
+ ],
21348
+ "requestBody": {
21349
+ "required": true,
21350
+ "content": {
21351
+ "application/json": {
21352
+ "schema": {
21353
+ "$ref": "#/components/schemas/PutTenantSandboxRequest"
21354
+ }
21355
+ }
21356
+ }
21357
+ },
21358
+ "responses": {
21359
+ "200": {
21360
+ "description": "The configuration now in force",
21361
+ "content": {
21362
+ "application/json": {
21363
+ "schema": {
21364
+ "$ref": "#/components/schemas/TenantSandboxView"
21365
+ }
21366
+ }
21367
+ }
21368
+ },
21369
+ "400": {
21370
+ "description": "Invalid headers, path, body or cursor",
21371
+ "content": {
21372
+ "application/json": {
21373
+ "schema": {
21374
+ "$ref": "#/components/schemas/Rejected"
21375
+ }
21376
+ }
21377
+ }
21378
+ },
21379
+ "403": {
21380
+ "description": "Not allowed for this credential, subject scope or origin",
21381
+ "content": {
21382
+ "application/json": {
21383
+ "schema": {
21384
+ "$ref": "#/components/schemas/Rejected"
21385
+ }
21386
+ }
21387
+ }
21388
+ },
21389
+ "404": {
21390
+ "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21391
+ "content": {
21392
+ "application/json": {
21393
+ "schema": {
21394
+ "$ref": "#/components/schemas/Rejected"
21395
+ }
21396
+ }
21397
+ }
21398
+ },
21399
+ "426": {
21400
+ "description": "`Nylorun-Protocol` missing or unsupported",
21401
+ "content": {
21402
+ "application/json": {
21403
+ "schema": {
21404
+ "$ref": "#/components/schemas/ProtocolRejected"
21405
+ }
21406
+ }
21407
+ }
21408
+ },
21409
+ "503": {
21410
+ "description": "The Tenant's storage or streams are unavailable",
21411
+ "content": {
21412
+ "application/json": {
21413
+ "schema": {
21414
+ "$ref": "#/components/schemas/Rejected"
21415
+ }
21416
+ }
21417
+ }
21418
+ }
21419
+ }
21420
+ }
21421
+ },
21422
+ "/v1/tenant/usage": {
21423
+ "get": {
21424
+ "tags": [
21425
+ "Tenant"
21426
+ ],
21427
+ "summary": "Get what the Tenant's model calls used",
21428
+ "description": "Totals from the model usage ledger, which the model gate writes once per call: for the Tenant, one agent or one turn, over the current UTC day or month, or all time.",
21429
+ "security": [
21430
+ {
21431
+ "applicationKey": []
21432
+ }
21433
+ ],
21434
+ "x-nylorun-credentials": [
21435
+ "application",
21436
+ "subject"
21437
+ ],
21438
+ "x-nylorun-scopes": [
21439
+ "tenant:settings"
21440
+ ],
21441
+ "x-nylorun-browser": false,
21442
+ "parameters": [
21443
+ {
21444
+ "schema": {
21445
+ "type": "string",
21446
+ "enum": [
21447
+ "tenant",
21448
+ "agent",
21449
+ "turn"
21450
+ ],
21451
+ "default": "tenant"
21452
+ },
21453
+ "required": false,
21454
+ "name": "scope",
21455
+ "in": "query"
21456
+ },
21457
+ {
21458
+ "schema": {
21459
+ "type": "string",
21460
+ "minLength": 1
21461
+ },
21462
+ "required": false,
21463
+ "name": "id",
21464
+ "in": "query"
21465
+ },
21466
+ {
21467
+ "schema": {
21468
+ "type": "string",
21469
+ "enum": [
21470
+ "day",
21471
+ "month",
21472
+ "total"
21473
+ ],
21474
+ "default": "total"
21475
+ },
21476
+ "required": false,
21477
+ "name": "period",
21478
+ "in": "query"
21479
+ },
21480
+ {
21481
+ "schema": {
21482
+ "type": "string",
21483
+ "description": "The protocol version, `5`"
21484
+ },
21485
+ "required": true,
21486
+ "description": "The protocol version, `5`",
21487
+ "name": "Nylorun-Protocol",
21488
+ "in": "header"
21489
+ },
21490
+ {
21491
+ "schema": {
21492
+ "type": "string",
21493
+ "description": "The person an application key acts for"
21494
+ },
21495
+ "required": false,
21496
+ "description": "The person an application key acts for",
21497
+ "name": "Nylorun-Subject",
21498
+ "in": "header"
21499
+ },
21500
+ {
21501
+ "schema": {
21502
+ "type": "string",
21503
+ "description": "The subject's space-separated scopes; required with a subject"
21504
+ },
21505
+ "required": false,
21506
+ "description": "The subject's space-separated scopes; required with a subject",
21507
+ "name": "Nylorun-Scopes",
21508
+ "in": "header"
21509
+ }
21510
+ ],
21511
+ "responses": {
21512
+ "200": {
21513
+ "description": "The calls, tokens and cost",
21514
+ "content": {
21515
+ "application/json": {
21516
+ "schema": {
21517
+ "$ref": "#/components/schemas/ModelUsageTotals"
21518
+ }
21519
+ }
21520
+ }
21521
+ },
21522
+ "400": {
21523
+ "description": "Invalid headers, path, body or cursor",
21524
+ "content": {
21525
+ "application/json": {
21526
+ "schema": {
21527
+ "$ref": "#/components/schemas/Rejected"
21528
+ }
21529
+ }
21530
+ }
21531
+ },
21532
+ "403": {
21533
+ "description": "Not allowed for this credential, subject scope or origin",
21534
+ "content": {
21535
+ "application/json": {
21536
+ "schema": {
21537
+ "$ref": "#/components/schemas/Rejected"
21538
+ }
21539
+ }
21540
+ }
21541
+ },
21542
+ "404": {
21543
+ "description": "Not found, or a credential the Tenant does not know (`not_found`)",
21544
+ "content": {
21545
+ "application/json": {
21546
+ "schema": {
21547
+ "$ref": "#/components/schemas/Rejected"
21548
+ }
21549
+ }
21550
+ }
21551
+ },
21552
+ "426": {
21553
+ "description": "`Nylorun-Protocol` missing or unsupported",
21554
+ "content": {
21555
+ "application/json": {
21556
+ "schema": {
21557
+ "$ref": "#/components/schemas/ProtocolRejected"
21558
+ }
21559
+ }
21560
+ }
21561
+ },
21562
+ "503": {
21563
+ "description": "The Tenant's storage or streams are unavailable",
21564
+ "content": {
21565
+ "application/json": {
21566
+ "schema": {
21567
+ "$ref": "#/components/schemas/Rejected"
21568
+ }
21569
+ }
21570
+ }
21571
+ }
21572
+ }
21573
+ }
21574
+ },
21575
+ "/v1/tenant/budgets": {
21576
+ "get": {
21577
+ "tags": [
21578
+ "Tenant"
21579
+ ],
21580
+ "summary": "Get the Tenant's model budgets",
21581
+ "security": [
21582
+ {
21583
+ "applicationKey": []
21584
+ }
21585
+ ],
21586
+ "x-nylorun-credentials": [
21587
+ "application",
21588
+ "subject"
21589
+ ],
21590
+ "x-nylorun-scopes": [
21591
+ "tenant:settings"
21592
+ ],
21593
+ "x-nylorun-browser": false,
21594
+ "parameters": [
21595
+ {
21596
+ "schema": {
21597
+ "type": "string",
21598
+ "description": "The protocol version, `5`"
21599
+ },
21600
+ "required": true,
21601
+ "description": "The protocol version, `5`",
21602
+ "name": "Nylorun-Protocol",
21090
21603
  "in": "header"
21091
21604
  },
21092
21605
  {
@@ -21112,11 +21625,11 @@
21112
21625
  ],
21113
21626
  "responses": {
21114
21627
  "200": {
21115
- "description": "The backend in use and the configuration in force",
21628
+ "description": "The hard caps on model spend",
21116
21629
  "content": {
21117
21630
  "application/json": {
21118
21631
  "schema": {
21119
- "$ref": "#/components/schemas/TenantSandboxView"
21632
+ "$ref": "#/components/schemas/ModelBudgets"
21120
21633
  }
21121
21634
  }
21122
21635
  }
@@ -21177,8 +21690,8 @@
21177
21690
  "tags": [
21178
21691
  "Tenant"
21179
21692
  ],
21180
- "summary": "Set the Tenant's sandbox configuration",
21181
- "description": "What a session gets when it names no sandbox, and the limits every session's sandbox must fit.",
21693
+ "summary": "Set the Tenant's model budgets",
21694
+ "description": "Replaces every budget. Before each model call the gate checks the scope's spend against its cap; once a cap is reached the call fails with `budget_exhausted` and the turn with `model.budget_exhausted`. An empty list removes every cap.",
21182
21695
  "security": [
21183
21696
  {
21184
21697
  "applicationKey": []
@@ -21196,23 +21709,13 @@
21196
21709
  {
21197
21710
  "schema": {
21198
21711
  "type": "string",
21199
- "description": "The protocol version, `4`"
21712
+ "description": "The protocol version, `5`"
21200
21713
  },
21201
21714
  "required": true,
21202
- "description": "The protocol version, `4`",
21715
+ "description": "The protocol version, `5`",
21203
21716
  "name": "Nylorun-Protocol",
21204
21717
  "in": "header"
21205
21718
  },
21206
- {
21207
- "schema": {
21208
- "type": "string",
21209
- "description": "The Tenant"
21210
- },
21211
- "required": true,
21212
- "description": "The Tenant",
21213
- "name": "Nylorun-Tenant",
21214
- "in": "header"
21215
- },
21216
21719
  {
21217
21720
  "schema": {
21218
21721
  "type": "string",
@@ -21239,18 +21742,18 @@
21239
21742
  "content": {
21240
21743
  "application/json": {
21241
21744
  "schema": {
21242
- "$ref": "#/components/schemas/PutTenantSandboxRequest"
21745
+ "$ref": "#/components/schemas/PutModelBudgetsRequest"
21243
21746
  }
21244
21747
  }
21245
21748
  }
21246
21749
  },
21247
21750
  "responses": {
21248
21751
  "200": {
21249
- "description": "The configuration now in force",
21752
+ "description": "The budgets now in force",
21250
21753
  "content": {
21251
21754
  "application/json": {
21252
21755
  "schema": {
21253
- "$ref": "#/components/schemas/TenantSandboxView"
21756
+ "$ref": "#/components/schemas/ModelBudgets"
21254
21757
  }
21255
21758
  }
21256
21759
  }
@@ -21332,23 +21835,13 @@
21332
21835
  {
21333
21836
  "schema": {
21334
21837
  "type": "string",
21335
- "description": "The protocol version, `4`"
21838
+ "description": "The protocol version, `5`"
21336
21839
  },
21337
21840
  "required": true,
21338
- "description": "The protocol version, `4`",
21841
+ "description": "The protocol version, `5`",
21339
21842
  "name": "Nylorun-Protocol",
21340
21843
  "in": "header"
21341
21844
  },
21342
- {
21343
- "schema": {
21344
- "type": "string",
21345
- "description": "The Tenant"
21346
- },
21347
- "required": true,
21348
- "description": "The Tenant",
21349
- "name": "Nylorun-Tenant",
21350
- "in": "header"
21351
- },
21352
21845
  {
21353
21846
  "schema": {
21354
21847
  "type": "string",
@@ -21457,23 +21950,13 @@
21457
21950
  {
21458
21951
  "schema": {
21459
21952
  "type": "string",
21460
- "description": "The protocol version, `4`"
21953
+ "description": "The protocol version, `5`"
21461
21954
  },
21462
21955
  "required": true,
21463
- "description": "The protocol version, `4`",
21956
+ "description": "The protocol version, `5`",
21464
21957
  "name": "Nylorun-Protocol",
21465
21958
  "in": "header"
21466
21959
  },
21467
- {
21468
- "schema": {
21469
- "type": "string",
21470
- "description": "The Tenant"
21471
- },
21472
- "required": true,
21473
- "description": "The Tenant",
21474
- "name": "Nylorun-Tenant",
21475
- "in": "header"
21476
- },
21477
21960
  {
21478
21961
  "schema": {
21479
21962
  "type": "string",
@@ -21580,23 +22063,13 @@
21580
22063
  {
21581
22064
  "schema": {
21582
22065
  "type": "string",
21583
- "description": "The protocol version, `4`"
22066
+ "description": "The protocol version, `5`"
21584
22067
  },
21585
22068
  "required": true,
21586
- "description": "The protocol version, `4`",
22069
+ "description": "The protocol version, `5`",
21587
22070
  "name": "Nylorun-Protocol",
21588
22071
  "in": "header"
21589
22072
  },
21590
- {
21591
- "schema": {
21592
- "type": "string",
21593
- "description": "The Tenant"
21594
- },
21595
- "required": true,
21596
- "description": "The Tenant",
21597
- "name": "Nylorun-Tenant",
21598
- "in": "header"
21599
- },
21600
22073
  {
21601
22074
  "schema": {
21602
22075
  "type": "string",
@@ -21715,23 +22188,13 @@
21715
22188
  {
21716
22189
  "schema": {
21717
22190
  "type": "string",
21718
- "description": "The protocol version, `4`"
22191
+ "description": "The protocol version, `5`"
21719
22192
  },
21720
22193
  "required": true,
21721
- "description": "The protocol version, `4`",
22194
+ "description": "The protocol version, `5`",
21722
22195
  "name": "Nylorun-Protocol",
21723
22196
  "in": "header"
21724
22197
  },
21725
- {
21726
- "schema": {
21727
- "type": "string",
21728
- "description": "The Tenant"
21729
- },
21730
- "required": true,
21731
- "description": "The Tenant",
21732
- "name": "Nylorun-Tenant",
21733
- "in": "header"
21734
- },
21735
22198
  {
21736
22199
  "schema": {
21737
22200
  "type": "string",
@@ -21854,23 +22317,13 @@
21854
22317
  {
21855
22318
  "schema": {
21856
22319
  "type": "string",
21857
- "description": "The protocol version, `4`"
22320
+ "description": "The protocol version, `5`"
21858
22321
  },
21859
22322
  "required": true,
21860
- "description": "The protocol version, `4`",
22323
+ "description": "The protocol version, `5`",
21861
22324
  "name": "Nylorun-Protocol",
21862
22325
  "in": "header"
21863
22326
  },
21864
- {
21865
- "schema": {
21866
- "type": "string",
21867
- "description": "The Tenant; optional with a publishable key, which names it"
21868
- },
21869
- "required": false,
21870
- "description": "The Tenant; optional with a publishable key, which names it",
21871
- "name": "Nylorun-Tenant",
21872
- "in": "header"
21873
- },
21874
22327
  {
21875
22328
  "schema": {
21876
22329
  "type": "string",
@@ -22024,23 +22477,13 @@
22024
22477
  {
22025
22478
  "schema": {
22026
22479
  "type": "string",
22027
- "description": "The protocol version, `4`"
22480
+ "description": "The protocol version, `5`"
22028
22481
  },
22029
22482
  "required": true,
22030
- "description": "The protocol version, `4`",
22483
+ "description": "The protocol version, `5`",
22031
22484
  "name": "Nylorun-Protocol",
22032
22485
  "in": "header"
22033
22486
  },
22034
- {
22035
- "schema": {
22036
- "type": "string",
22037
- "description": "The Tenant; optional with a publishable key, which names it"
22038
- },
22039
- "required": false,
22040
- "description": "The Tenant; optional with a publishable key, which names it",
22041
- "name": "Nylorun-Tenant",
22042
- "in": "header"
22043
- },
22044
22487
  {
22045
22488
  "schema": {
22046
22489
  "type": "string",
@@ -22181,23 +22624,13 @@
22181
22624
  {
22182
22625
  "schema": {
22183
22626
  "type": "string",
22184
- "description": "The protocol version, `4`"
22627
+ "description": "The protocol version, `5`"
22185
22628
  },
22186
22629
  "required": true,
22187
- "description": "The protocol version, `4`",
22630
+ "description": "The protocol version, `5`",
22188
22631
  "name": "Nylorun-Protocol",
22189
22632
  "in": "header"
22190
22633
  },
22191
- {
22192
- "schema": {
22193
- "type": "string",
22194
- "description": "The Tenant; optional with a publishable key, which names it"
22195
- },
22196
- "required": false,
22197
- "description": "The Tenant; optional with a publishable key, which names it",
22198
- "name": "Nylorun-Tenant",
22199
- "in": "header"
22200
- },
22201
22634
  {
22202
22635
  "schema": {
22203
22636
  "type": "string",
@@ -22336,23 +22769,13 @@
22336
22769
  {
22337
22770
  "schema": {
22338
22771
  "type": "string",
22339
- "description": "The protocol version, `4`"
22772
+ "description": "The protocol version, `5`"
22340
22773
  },
22341
22774
  "required": true,
22342
- "description": "The protocol version, `4`",
22775
+ "description": "The protocol version, `5`",
22343
22776
  "name": "Nylorun-Protocol",
22344
22777
  "in": "header"
22345
22778
  },
22346
- {
22347
- "schema": {
22348
- "type": "string",
22349
- "description": "The Tenant; optional with a publishable key, which names it"
22350
- },
22351
- "required": false,
22352
- "description": "The Tenant; optional with a publishable key, which names it",
22353
- "name": "Nylorun-Tenant",
22354
- "in": "header"
22355
- },
22356
22779
  {
22357
22780
  "schema": {
22358
22781
  "type": "string",
@@ -22494,23 +22917,13 @@
22494
22917
  {
22495
22918
  "schema": {
22496
22919
  "type": "string",
22497
- "description": "The protocol version, `4`"
22920
+ "description": "The protocol version, `5`"
22498
22921
  },
22499
22922
  "required": true,
22500
- "description": "The protocol version, `4`",
22923
+ "description": "The protocol version, `5`",
22501
22924
  "name": "Nylorun-Protocol",
22502
22925
  "in": "header"
22503
22926
  },
22504
- {
22505
- "schema": {
22506
- "type": "string",
22507
- "description": "The Tenant; optional with a publishable key, which names it"
22508
- },
22509
- "required": false,
22510
- "description": "The Tenant; optional with a publishable key, which names it",
22511
- "name": "Nylorun-Tenant",
22512
- "in": "header"
22513
- },
22514
22927
  {
22515
22928
  "schema": {
22516
22929
  "type": "string",
@@ -22659,23 +23072,13 @@
22659
23072
  {
22660
23073
  "schema": {
22661
23074
  "type": "string",
22662
- "description": "The protocol version, `4`"
23075
+ "description": "The protocol version, `5`"
22663
23076
  },
22664
23077
  "required": true,
22665
- "description": "The protocol version, `4`",
23078
+ "description": "The protocol version, `5`",
22666
23079
  "name": "Nylorun-Protocol",
22667
23080
  "in": "header"
22668
23081
  },
22669
- {
22670
- "schema": {
22671
- "type": "string",
22672
- "description": "The Tenant; optional with a publishable key, which names it"
22673
- },
22674
- "required": false,
22675
- "description": "The Tenant; optional with a publishable key, which names it",
22676
- "name": "Nylorun-Tenant",
22677
- "in": "header"
22678
- },
22679
23082
  {
22680
23083
  "schema": {
22681
23084
  "type": "string",
@@ -22824,23 +23227,13 @@
22824
23227
  {
22825
23228
  "schema": {
22826
23229
  "type": "string",
22827
- "description": "The protocol version, `4`"
23230
+ "description": "The protocol version, `5`"
22828
23231
  },
22829
23232
  "required": true,
22830
- "description": "The protocol version, `4`",
23233
+ "description": "The protocol version, `5`",
22831
23234
  "name": "Nylorun-Protocol",
22832
23235
  "in": "header"
22833
23236
  },
22834
- {
22835
- "schema": {
22836
- "type": "string",
22837
- "description": "The Tenant; optional with a publishable key, which names it"
22838
- },
22839
- "required": false,
22840
- "description": "The Tenant; optional with a publishable key, which names it",
22841
- "name": "Nylorun-Tenant",
22842
- "in": "header"
22843
- },
22844
23237
  {
22845
23238
  "schema": {
22846
23239
  "type": "string",
@@ -22987,23 +23380,13 @@
22987
23380
  {
22988
23381
  "schema": {
22989
23382
  "type": "string",
22990
- "description": "The protocol version, `4`"
23383
+ "description": "The protocol version, `5`"
22991
23384
  },
22992
23385
  "required": true,
22993
- "description": "The protocol version, `4`",
23386
+ "description": "The protocol version, `5`",
22994
23387
  "name": "Nylorun-Protocol",
22995
23388
  "in": "header"
22996
23389
  },
22997
- {
22998
- "schema": {
22999
- "type": "string",
23000
- "description": "The Tenant; optional with a publishable key, which names it"
23001
- },
23002
- "required": false,
23003
- "description": "The Tenant; optional with a publishable key, which names it",
23004
- "name": "Nylorun-Tenant",
23005
- "in": "header"
23006
- },
23007
23390
  {
23008
23391
  "schema": {
23009
23392
  "type": "string",
@@ -23163,23 +23546,13 @@
23163
23546
  {
23164
23547
  "schema": {
23165
23548
  "type": "string",
23166
- "description": "The protocol version, `4`"
23549
+ "description": "The protocol version, `5`"
23167
23550
  },
23168
23551
  "required": true,
23169
- "description": "The protocol version, `4`",
23552
+ "description": "The protocol version, `5`",
23170
23553
  "name": "Nylorun-Protocol",
23171
23554
  "in": "header"
23172
23555
  },
23173
- {
23174
- "schema": {
23175
- "type": "string",
23176
- "description": "The Tenant; optional with a publishable key, which names it"
23177
- },
23178
- "required": false,
23179
- "description": "The Tenant; optional with a publishable key, which names it",
23180
- "name": "Nylorun-Tenant",
23181
- "in": "header"
23182
- },
23183
23556
  {
23184
23557
  "schema": {
23185
23558
  "type": "string",
@@ -23291,7 +23664,7 @@
23291
23664
  "Access"
23292
23665
  ],
23293
23666
  "summary": "Get the public keys subject and delivery tokens are signed with",
23294
- "description": "A JSON Web Key Set, to verify a subject token or a delivery token without calling the Runtime. No credential is needed: `Nylorun-Tenant` alone names the Tenant.",
23667
+ "description": "A JSON Web Key Set, to verify a subject token or a delivery token without calling the Runtime. No credential is needed.",
23295
23668
  "security": [
23296
23669
  {
23297
23670
  "applicationKey": []
@@ -23316,23 +23689,13 @@
23316
23689
  {
23317
23690
  "schema": {
23318
23691
  "type": "string",
23319
- "description": "The protocol version, `4`"
23692
+ "description": "The protocol version, `5`"
23320
23693
  },
23321
23694
  "required": true,
23322
- "description": "The protocol version, `4`",
23695
+ "description": "The protocol version, `5`",
23323
23696
  "name": "Nylorun-Protocol",
23324
23697
  "in": "header"
23325
23698
  },
23326
- {
23327
- "schema": {
23328
- "type": "string",
23329
- "description": "The Tenant; optional with a publishable key, which names it"
23330
- },
23331
- "required": false,
23332
- "description": "The Tenant; optional with a publishable key, which names it",
23333
- "name": "Nylorun-Tenant",
23334
- "in": "header"
23335
- },
23336
23699
  {
23337
23700
  "schema": {
23338
23701
  "type": "string",
@@ -23469,22 +23832,12 @@
23469
23832
  {
23470
23833
  "schema": {
23471
23834
  "type": "string",
23472
- "description": "The protocol version, `4`"
23835
+ "description": "The protocol version, `5`"
23473
23836
  },
23474
23837
  "required": true,
23475
- "description": "The protocol version, `4`",
23838
+ "description": "The protocol version, `5`",
23476
23839
  "name": "Nylorun-Protocol",
23477
23840
  "in": "header"
23478
- },
23479
- {
23480
- "schema": {
23481
- "type": "string",
23482
- "description": "The Tenant"
23483
- },
23484
- "required": true,
23485
- "description": "The Tenant",
23486
- "name": "Nylorun-Tenant",
23487
- "in": "header"
23488
23841
  }
23489
23842
  ],
23490
23843
  "requestBody": {
@@ -23581,22 +23934,12 @@
23581
23934
  {
23582
23935
  "schema": {
23583
23936
  "type": "string",
23584
- "description": "The protocol version, `4`"
23937
+ "description": "The protocol version, `5`"
23585
23938
  },
23586
23939
  "required": true,
23587
- "description": "The protocol version, `4`",
23940
+ "description": "The protocol version, `5`",
23588
23941
  "name": "Nylorun-Protocol",
23589
23942
  "in": "header"
23590
- },
23591
- {
23592
- "schema": {
23593
- "type": "string",
23594
- "description": "The Tenant"
23595
- },
23596
- "required": true,
23597
- "description": "The Tenant",
23598
- "name": "Nylorun-Tenant",
23599
- "in": "header"
23600
23943
  }
23601
23944
  ],
23602
23945
  "responses": {
@@ -23681,22 +24024,12 @@
23681
24024
  {
23682
24025
  "schema": {
23683
24026
  "type": "string",
23684
- "description": "The protocol version, `4`"
24027
+ "description": "The protocol version, `5`"
23685
24028
  },
23686
24029
  "required": true,
23687
- "description": "The protocol version, `4`",
24030
+ "description": "The protocol version, `5`",
23688
24031
  "name": "Nylorun-Protocol",
23689
24032
  "in": "header"
23690
- },
23691
- {
23692
- "schema": {
23693
- "type": "string",
23694
- "description": "The Tenant"
23695
- },
23696
- "required": true,
23697
- "description": "The Tenant",
23698
- "name": "Nylorun-Tenant",
23699
- "in": "header"
23700
24033
  }
23701
24034
  ],
23702
24035
  "requestBody": {
@@ -23793,22 +24126,12 @@
23793
24126
  {
23794
24127
  "schema": {
23795
24128
  "type": "string",
23796
- "description": "The protocol version, `4`"
24129
+ "description": "The protocol version, `5`"
23797
24130
  },
23798
24131
  "required": true,
23799
- "description": "The protocol version, `4`",
24132
+ "description": "The protocol version, `5`",
23800
24133
  "name": "Nylorun-Protocol",
23801
24134
  "in": "header"
23802
- },
23803
- {
23804
- "schema": {
23805
- "type": "string",
23806
- "description": "The Tenant"
23807
- },
23808
- "required": true,
23809
- "description": "The Tenant",
23810
- "name": "Nylorun-Tenant",
23811
- "in": "header"
23812
24135
  }
23813
24136
  ],
23814
24137
  "responses": {
@@ -23896,22 +24219,12 @@
23896
24219
  {
23897
24220
  "schema": {
23898
24221
  "type": "string",
23899
- "description": "The protocol version, `4`"
24222
+ "description": "The protocol version, `5`"
23900
24223
  },
23901
24224
  "required": true,
23902
- "description": "The protocol version, `4`",
24225
+ "description": "The protocol version, `5`",
23903
24226
  "name": "Nylorun-Protocol",
23904
24227
  "in": "header"
23905
- },
23906
- {
23907
- "schema": {
23908
- "type": "string",
23909
- "description": "The Tenant"
23910
- },
23911
- "required": true,
23912
- "description": "The Tenant",
23913
- "name": "Nylorun-Tenant",
23914
- "in": "header"
23915
24228
  }
23916
24229
  ],
23917
24230
  "requestBody": {
@@ -24019,22 +24332,12 @@
24019
24332
  {
24020
24333
  "schema": {
24021
24334
  "type": "string",
24022
- "description": "The protocol version, `4`"
24335
+ "description": "The protocol version, `5`"
24023
24336
  },
24024
24337
  "required": true,
24025
- "description": "The protocol version, `4`",
24338
+ "description": "The protocol version, `5`",
24026
24339
  "name": "Nylorun-Protocol",
24027
24340
  "in": "header"
24028
- },
24029
- {
24030
- "schema": {
24031
- "type": "string",
24032
- "description": "The Tenant"
24033
- },
24034
- "required": true,
24035
- "description": "The Tenant",
24036
- "name": "Nylorun-Tenant",
24037
- "in": "header"
24038
24341
  }
24039
24342
  ],
24040
24343
  "requestBody": {
@@ -24134,22 +24437,12 @@
24134
24437
  {
24135
24438
  "schema": {
24136
24439
  "type": "string",
24137
- "description": "The protocol version, `4`"
24440
+ "description": "The protocol version, `5`"
24138
24441
  },
24139
24442
  "required": true,
24140
- "description": "The protocol version, `4`",
24443
+ "description": "The protocol version, `5`",
24141
24444
  "name": "Nylorun-Protocol",
24142
24445
  "in": "header"
24143
- },
24144
- {
24145
- "schema": {
24146
- "type": "string",
24147
- "description": "The Tenant"
24148
- },
24149
- "required": true,
24150
- "description": "The Tenant",
24151
- "name": "Nylorun-Tenant",
24152
- "in": "header"
24153
24446
  }
24154
24447
  ],
24155
24448
  "responses": {
@@ -24220,7 +24513,7 @@
24220
24513
  "Access"
24221
24514
  ],
24222
24515
  "summary": "Create a publishable key",
24223
- "description": "A key a browser page on one of the origins sends as `Nylorun-Key`. Public by design; it names the Tenant and grants the policy's anonymous scopes.",
24516
+ "description": "A key a browser page on one of the origins sends as `Nylorun-Key`. Public by design; it grants the policy's anonymous scopes.",
24224
24517
  "security": [
24225
24518
  {
24226
24519
  "applicationKey": []
@@ -24235,22 +24528,12 @@
24235
24528
  {
24236
24529
  "schema": {
24237
24530
  "type": "string",
24238
- "description": "The protocol version, `4`"
24531
+ "description": "The protocol version, `5`"
24239
24532
  },
24240
24533
  "required": true,
24241
- "description": "The protocol version, `4`",
24534
+ "description": "The protocol version, `5`",
24242
24535
  "name": "Nylorun-Protocol",
24243
24536
  "in": "header"
24244
- },
24245
- {
24246
- "schema": {
24247
- "type": "string",
24248
- "description": "The Tenant"
24249
- },
24250
- "required": true,
24251
- "description": "The Tenant",
24252
- "name": "Nylorun-Tenant",
24253
- "in": "header"
24254
24537
  }
24255
24538
  ],
24256
24539
  "requestBody": {
@@ -24358,22 +24641,12 @@
24358
24641
  {
24359
24642
  "schema": {
24360
24643
  "type": "string",
24361
- "description": "The protocol version, `4`"
24644
+ "description": "The protocol version, `5`"
24362
24645
  },
24363
24646
  "required": true,
24364
- "description": "The protocol version, `4`",
24647
+ "description": "The protocol version, `5`",
24365
24648
  "name": "Nylorun-Protocol",
24366
24649
  "in": "header"
24367
- },
24368
- {
24369
- "schema": {
24370
- "type": "string",
24371
- "description": "The Tenant"
24372
- },
24373
- "required": true,
24374
- "description": "The Tenant",
24375
- "name": "Nylorun-Tenant",
24376
- "in": "header"
24377
24650
  }
24378
24651
  ],
24379
24652
  "requestBody": {
@@ -24476,22 +24749,12 @@
24476
24749
  {
24477
24750
  "schema": {
24478
24751
  "type": "string",
24479
- "description": "The protocol version, `4`"
24752
+ "description": "The protocol version, `5`"
24480
24753
  },
24481
24754
  "required": true,
24482
- "description": "The protocol version, `4`",
24755
+ "description": "The protocol version, `5`",
24483
24756
  "name": "Nylorun-Protocol",
24484
24757
  "in": "header"
24485
- },
24486
- {
24487
- "schema": {
24488
- "type": "string",
24489
- "description": "The Tenant"
24490
- },
24491
- "required": true,
24492
- "description": "The Tenant",
24493
- "name": "Nylorun-Tenant",
24494
- "in": "header"
24495
24758
  }
24496
24759
  ],
24497
24760
  "responses": {
@@ -24579,22 +24842,12 @@
24579
24842
  {
24580
24843
  "schema": {
24581
24844
  "type": "string",
24582
- "description": "The protocol version, `4`"
24845
+ "description": "The protocol version, `5`"
24583
24846
  },
24584
24847
  "required": true,
24585
- "description": "The protocol version, `4`",
24848
+ "description": "The protocol version, `5`",
24586
24849
  "name": "Nylorun-Protocol",
24587
24850
  "in": "header"
24588
- },
24589
- {
24590
- "schema": {
24591
- "type": "string",
24592
- "description": "The Tenant"
24593
- },
24594
- "required": true,
24595
- "description": "The Tenant",
24596
- "name": "Nylorun-Tenant",
24597
- "in": "header"
24598
24851
  }
24599
24852
  ],
24600
24853
  "requestBody": {
@@ -24706,23 +24959,13 @@
24706
24959
  {
24707
24960
  "schema": {
24708
24961
  "type": "string",
24709
- "description": "The protocol version, `4`"
24962
+ "description": "The protocol version, `5`"
24710
24963
  },
24711
24964
  "required": true,
24712
- "description": "The protocol version, `4`",
24965
+ "description": "The protocol version, `5`",
24713
24966
  "name": "Nylorun-Protocol",
24714
24967
  "in": "header"
24715
24968
  },
24716
- {
24717
- "schema": {
24718
- "type": "string",
24719
- "description": "The Tenant; optional with a publishable key, which names it"
24720
- },
24721
- "required": false,
24722
- "description": "The Tenant; optional with a publishable key, which names it",
24723
- "name": "Nylorun-Tenant",
24724
- "in": "header"
24725
- },
24726
24969
  {
24727
24970
  "schema": {
24728
24971
  "type": "string",
@@ -24880,23 +25123,13 @@
24880
25123
  {
24881
25124
  "schema": {
24882
25125
  "type": "string",
24883
- "description": "The protocol version, `4`"
25126
+ "description": "The protocol version, `5`"
24884
25127
  },
24885
25128
  "required": true,
24886
- "description": "The protocol version, `4`",
25129
+ "description": "The protocol version, `5`",
24887
25130
  "name": "Nylorun-Protocol",
24888
25131
  "in": "header"
24889
25132
  },
24890
- {
24891
- "schema": {
24892
- "type": "string",
24893
- "description": "The Tenant; optional with a publishable key, which names it"
24894
- },
24895
- "required": false,
24896
- "description": "The Tenant; optional with a publishable key, which names it",
24897
- "name": "Nylorun-Tenant",
24898
- "in": "header"
24899
- },
24900
25133
  {
24901
25134
  "schema": {
24902
25135
  "type": "string",
@@ -25066,23 +25299,13 @@
25066
25299
  {
25067
25300
  "schema": {
25068
25301
  "type": "string",
25069
- "description": "The protocol version, `4`"
25302
+ "description": "The protocol version, `5`"
25070
25303
  },
25071
25304
  "required": true,
25072
- "description": "The protocol version, `4`",
25305
+ "description": "The protocol version, `5`",
25073
25306
  "name": "Nylorun-Protocol",
25074
25307
  "in": "header"
25075
25308
  },
25076
- {
25077
- "schema": {
25078
- "type": "string",
25079
- "description": "The Tenant; optional with a publishable key, which names it"
25080
- },
25081
- "required": false,
25082
- "description": "The Tenant; optional with a publishable key, which names it",
25083
- "name": "Nylorun-Tenant",
25084
- "in": "header"
25085
- },
25086
25309
  {
25087
25310
  "schema": {
25088
25311
  "type": "string",
@@ -25233,23 +25456,13 @@
25233
25456
  {
25234
25457
  "schema": {
25235
25458
  "type": "string",
25236
- "description": "The protocol version, `4`"
25459
+ "description": "The protocol version, `5`"
25237
25460
  },
25238
25461
  "required": true,
25239
- "description": "The protocol version, `4`",
25462
+ "description": "The protocol version, `5`",
25240
25463
  "name": "Nylorun-Protocol",
25241
25464
  "in": "header"
25242
25465
  },
25243
- {
25244
- "schema": {
25245
- "type": "string",
25246
- "description": "The Tenant; optional with a publishable key, which names it"
25247
- },
25248
- "required": false,
25249
- "description": "The Tenant; optional with a publishable key, which names it",
25250
- "name": "Nylorun-Tenant",
25251
- "in": "header"
25252
- },
25253
25466
  {
25254
25467
  "schema": {
25255
25468
  "type": "string",
@@ -25388,23 +25601,13 @@
25388
25601
  {
25389
25602
  "schema": {
25390
25603
  "type": "string",
25391
- "description": "The protocol version, `4`"
25604
+ "description": "The protocol version, `5`"
25392
25605
  },
25393
25606
  "required": true,
25394
- "description": "The protocol version, `4`",
25607
+ "description": "The protocol version, `5`",
25395
25608
  "name": "Nylorun-Protocol",
25396
25609
  "in": "header"
25397
25610
  },
25398
- {
25399
- "schema": {
25400
- "type": "string",
25401
- "description": "The Tenant"
25402
- },
25403
- "required": true,
25404
- "description": "The Tenant",
25405
- "name": "Nylorun-Tenant",
25406
- "in": "header"
25407
- },
25408
25611
  {
25409
25612
  "schema": {
25410
25613
  "type": "string",
@@ -25559,23 +25762,13 @@
25559
25762
  {
25560
25763
  "schema": {
25561
25764
  "type": "string",
25562
- "description": "The protocol version, `4`"
25765
+ "description": "The protocol version, `5`"
25563
25766
  },
25564
25767
  "required": true,
25565
- "description": "The protocol version, `4`",
25768
+ "description": "The protocol version, `5`",
25566
25769
  "name": "Nylorun-Protocol",
25567
25770
  "in": "header"
25568
25771
  },
25569
- {
25570
- "schema": {
25571
- "type": "string",
25572
- "description": "The Tenant"
25573
- },
25574
- "required": true,
25575
- "description": "The Tenant",
25576
- "name": "Nylorun-Tenant",
25577
- "in": "header"
25578
- },
25579
25772
  {
25580
25773
  "schema": {
25581
25774
  "type": "string",