@nylorun/runtime 0.17.0-beta → 0.19.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 (223) hide show
  1. package/CHANGELOG.md +149 -0
  2. package/README.md +88 -58
  3. package/dist/adapters/execution/restate.d.ts +1 -3
  4. package/dist/adapters/execution/restate.js +4 -31
  5. package/dist/adapters/replication/pgoutput.js +1 -1
  6. package/dist/adapters/sandbox/local.js +1 -1
  7. package/dist/adapters/sandbox/virtual.js +1 -1
  8. package/dist/api/ag-ui/routes.js +1 -1
  9. package/dist/api/ag-ui/translate.d.ts +1 -3
  10. package/dist/api/ag-ui/translate.js +2 -17
  11. package/dist/api/components.d.ts +4871 -2614
  12. package/dist/api/components.js +12 -11
  13. package/dist/api/gate/routes.d.ts +7 -8
  14. package/dist/api/gate/routes.js +58 -52
  15. package/dist/api/http/app.d.ts +6 -0
  16. package/dist/api/http/app.js +18 -14
  17. package/dist/api/http/define.d.ts +14 -2
  18. package/dist/api/http/define.js +34 -15
  19. package/dist/api/http/routes/access.d.ts +3 -3
  20. package/dist/api/http/routes/access.js +18 -17
  21. package/dist/api/http/routes/artifacts.js +2 -4
  22. package/dist/api/http/routes/files.d.ts +8 -0
  23. package/dist/api/http/routes/files.js +77 -0
  24. package/dist/api/http/routes/keys.d.ts +10 -0
  25. package/dist/api/http/routes/keys.js +64 -0
  26. package/dist/api/http/routes/me.js +5 -2
  27. package/dist/api/http/routes/reads.d.ts +66 -0
  28. package/dist/api/http/routes/reads.js +127 -0
  29. package/dist/api/http/routes/sandboxes.js +7 -4
  30. package/dist/api/http/routes/sessions.js +25 -8
  31. package/dist/api/http/routes/tenant.js +15 -18
  32. package/dist/api/http/routes/vaults.d.ts +10 -9
  33. package/dist/api/http/routes/vaults.js +27 -23
  34. package/dist/api/openapi.d.ts +10 -11
  35. package/dist/api/openapi.js +291 -61
  36. package/dist/artifacts/links.js +1 -1
  37. package/dist/core/flow-host.d.ts +44 -23
  38. package/dist/core/flow-host.js +88 -106
  39. package/dist/core/provider.d.ts +4 -1
  40. package/dist/core/provider.js +6 -1
  41. package/dist/core/sandbox-routes.d.ts +0 -9
  42. package/dist/core/sandbox-routes.js +2 -21
  43. package/dist/execution/memory.d.ts +4 -5
  44. package/dist/execution/memory.js +11 -25
  45. package/dist/execution/types.d.ts +3 -33
  46. package/dist/execution/types.js +2 -12
  47. package/dist/gates/http-tool.d.ts +86 -0
  48. package/dist/gates/http-tool.js +197 -0
  49. package/dist/gates/mcp-handler.d.ts +3 -0
  50. package/dist/gates/mcp-handler.js +1 -3
  51. package/dist/gates/meter.d.ts +2 -2
  52. package/dist/gates/meter.js +6 -0
  53. package/dist/gates/tenant-vaults.d.ts +5 -9
  54. package/dist/gates/tool-calls.d.ts +7 -15
  55. package/dist/gates/tool-calls.js +4 -4
  56. package/dist/gates/tool-client.d.ts +1 -1
  57. package/dist/gates/tool-client.js +23 -47
  58. package/dist/gates/tool-contract.d.ts +27 -39
  59. package/dist/gates/tool-contract.js +30 -21
  60. package/dist/gates/tool-gate.d.ts +25 -24
  61. package/dist/gates/tool-gate.js +11 -7
  62. package/dist/harness/calls.d.ts +10 -4
  63. package/dist/harness/calls.js +15 -6
  64. package/dist/harness/executors.d.ts +1 -1
  65. package/dist/harness/executors.js +17 -12
  66. package/dist/harness/main.d.ts +2 -2
  67. package/dist/harness/main.js +5 -13
  68. package/dist/harness/service.d.ts +4 -5
  69. package/dist/harness/service.js +9 -2
  70. package/dist/harness-api/in-process.js +2 -2
  71. package/dist/harness-api/record.d.ts +6 -3
  72. package/dist/harness-api/record.js +65 -72
  73. package/dist/harness-api/server.d.ts +1 -9
  74. package/dist/harness-api/server.js +19 -17
  75. package/dist/harness-api/start.js +1 -5
  76. package/dist/harness-api/workspace.js +2 -3
  77. package/dist/harness-api/ws-server.js +1 -1
  78. package/dist/host/app.d.ts +2 -9
  79. package/dist/host/app.js +15 -25
  80. package/dist/host/config-for.d.ts +1 -5
  81. package/dist/host/config-for.js +0 -3
  82. package/dist/host/config.d.ts +0 -5
  83. package/dist/host/create-host.d.ts +3 -33
  84. package/dist/host/create-host.js +18 -94
  85. package/dist/host/environment.d.ts +0 -3
  86. package/dist/host/environment.js +0 -9
  87. package/dist/host/gates.d.ts +4 -1
  88. package/dist/host/gates.js +3 -2
  89. package/dist/host/http.d.ts +1 -2
  90. package/dist/host/http.js +1 -7
  91. package/dist/host/index.d.ts +2 -2
  92. package/dist/host/index.js +2 -2
  93. package/dist/host/main.js +27 -34
  94. package/dist/host/operate.d.ts +29 -0
  95. package/dist/host/operate.js +223 -0
  96. package/dist/host/stack-config.d.ts +12 -12
  97. package/dist/host/stack-config.js +5 -32
  98. package/dist/index.d.ts +1 -1
  99. package/dist/index.js +1 -1
  100. package/dist/infra/workers.d.ts +1 -1
  101. package/dist/keys/keys.js +2 -2
  102. package/dist/management-openapi.json +6491 -0
  103. package/dist/mcp/connect.d.ts +8 -4
  104. package/dist/mcp/connect.js +6 -26
  105. package/dist/mcp/pool.d.ts +5 -9
  106. package/dist/mcp/pool.js +8 -19
  107. package/dist/mcp/snapshot.d.ts +8 -2
  108. package/dist/mcp/snapshot.js +29 -2
  109. package/dist/media.d.ts +1 -1
  110. package/dist/media.js +1 -1
  111. package/dist/model/pi-model.js +3 -0
  112. package/dist/openapi.json +4700 -12350
  113. package/dist/reads/access.d.ts +4 -0
  114. package/dist/reads/access.js +12 -0
  115. package/dist/reads/cursor.d.ts +11 -0
  116. package/dist/reads/cursor.js +80 -0
  117. package/dist/reads/types.d.ts +25 -0
  118. package/dist/reads/types.js +1 -0
  119. package/dist/sandbox/manager.d.ts +16 -0
  120. package/dist/sandbox/manager.js +40 -0
  121. package/dist/sandbox/session-sandbox.js +13 -3
  122. package/dist/sandbox/skills.d.ts +13 -0
  123. package/dist/sandbox/skills.js +46 -0
  124. package/dist/sandbox/types.d.ts +2 -2
  125. package/dist/store/ownership.d.ts +9 -0
  126. package/dist/store/ownership.js +13 -0
  127. package/dist/store/postgres/connect.d.ts +2 -0
  128. package/dist/store/postgres/connect.js +29 -0
  129. package/dist/store/postgres/drizzle/0011_key_roles.sql +3 -0
  130. package/dist/store/postgres/drizzle/0012_session_reads.sql +8 -0
  131. package/dist/store/postgres/drizzle/0013_definition_files.sql +16 -0
  132. package/dist/store/postgres/drizzle/0014_action_endpoints_removed.sql +2 -0
  133. package/dist/store/postgres/drizzle/meta/_journal.json +28 -0
  134. package/dist/store/postgres/reads.d.ts +3 -0
  135. package/dist/store/postgres/reads.js +272 -0
  136. package/dist/store/postgres/schema.d.ts +294 -489
  137. package/dist/store/postgres/schema.js +41 -76
  138. package/dist/store/postgres/store.js +51 -154
  139. package/dist/store/postgres/tenant.d.ts +34 -2
  140. package/dist/store/postgres/tenant.js +16 -32
  141. package/dist/store/types.d.ts +27 -96
  142. package/dist/store/types.js +0 -1
  143. package/dist/streams/control.d.ts +0 -2
  144. package/dist/streams/control.js +0 -5
  145. package/dist/streams/types.d.ts +1 -10
  146. package/dist/tenant/advance.d.ts +3 -3
  147. package/dist/tenant/advance.js +10 -7
  148. package/dist/tenant/auth.d.ts +14 -9
  149. package/dist/tenant/auth.js +24 -28
  150. package/dist/tenant/cause.d.ts +3 -3
  151. package/dist/tenant/cause.js +1 -1
  152. package/dist/tenant/commands.d.ts +2 -18
  153. package/dist/tenant/commands.js +35 -172
  154. package/dist/tenant/context.d.ts +14 -24
  155. package/dist/tenant/definition-files.d.ts +24 -0
  156. package/dist/tenant/definition-files.js +103 -0
  157. package/dist/tenant/effects.d.ts +18 -20
  158. package/dist/tenant/effects.js +56 -119
  159. package/dist/tenant/ephemeral.d.ts +7 -6
  160. package/dist/tenant/ephemeral.js +3 -11
  161. package/dist/tenant/host-token.js +1 -1
  162. package/dist/tenant/jwt.js +1 -1
  163. package/dist/tenant/module.d.ts +1 -4
  164. package/dist/tenant/module.js +3 -12
  165. package/dist/tenant/operator-keys.d.ts +34 -8
  166. package/dist/tenant/operator-keys.js +50 -18
  167. package/dist/tenant/outbound.d.ts +10 -1
  168. package/dist/tenant/outbound.js +44 -27
  169. package/dist/tenant/paths.d.ts +1 -1
  170. package/dist/tenant/paths.js +1 -3
  171. package/dist/tenant/principals.d.ts +11 -2
  172. package/dist/tenant/principals.js +27 -8
  173. package/dist/tenant/run-token.js +3 -3
  174. package/dist/tenant/runtime.d.ts +4 -6
  175. package/dist/tenant/runtime.js +19 -18
  176. package/dist/tenant/sandboxes.d.ts +4 -1
  177. package/dist/tenant/sandboxes.js +11 -0
  178. package/dist/tenant/scheduler.d.ts +1 -5
  179. package/dist/tenant/scheduler.js +2 -5
  180. package/dist/tenant/session-streams.d.ts +2 -1
  181. package/dist/tenant/session-streams.js +39 -5
  182. package/dist/tenant/session.d.ts +8 -41
  183. package/dist/tenant/session.js +0 -37
  184. package/dist/tenant/sessions.js +16 -8
  185. package/dist/tenant/signing-keys.d.ts +3 -3
  186. package/dist/tenant/signing-keys.js +5 -5
  187. package/dist/tenant/skill-tool.d.ts +20 -0
  188. package/dist/tenant/skill-tool.js +72 -0
  189. package/dist/tenant/slim.d.ts +1 -1
  190. package/dist/tenant/slim.js +1 -1
  191. package/dist/tenant/status.js +7 -12
  192. package/dist/tenant/store-pg.d.ts +15 -0
  193. package/dist/tenant/store-pg.js +7 -3
  194. package/dist/tenant/streams.d.ts +3 -10
  195. package/dist/tenant/streams.js +1 -24
  196. package/dist/tenant/sweep.js +0 -5
  197. package/dist/tenant/transcript.d.ts +2 -2
  198. package/dist/tenant/transcript.js +2 -2
  199. package/dist/tenant/types.d.ts +15 -22
  200. package/dist/tenant/worker.d.ts +1 -3
  201. package/dist/tenant/worker.js +3 -8
  202. package/dist/vault/sources.d.ts +7 -1
  203. package/dist/vault/sources.js +22 -11
  204. package/dist/version.d.ts +1 -1
  205. package/dist/version.js +1 -1
  206. package/package.json +4 -4
  207. package/dist/admin-openapi.json +0 -904
  208. package/dist/api/http/routes/actions.d.ts +0 -8
  209. package/dist/api/http/routes/actions.js +0 -75
  210. package/dist/api/http/routes/endpoints.d.ts +0 -7
  211. package/dist/api/http/routes/endpoints.js +0 -100
  212. package/dist/host/admin-api.d.ts +0 -30
  213. package/dist/host/admin-api.js +0 -140
  214. package/dist/mcp/stdio.d.ts +0 -17
  215. package/dist/mcp/stdio.js +0 -82
  216. package/dist/tenant/actions.d.ts +0 -14
  217. package/dist/tenant/actions.js +0 -29
  218. package/dist/tenant/delivery-token.d.ts +0 -41
  219. package/dist/tenant/delivery-token.js +0 -104
  220. package/dist/tenant/delivery.d.ts +0 -62
  221. package/dist/tenant/delivery.js +0 -481
  222. package/dist/tenant/endpoints.d.ts +0 -67
  223. package/dist/tenant/endpoints.js +0 -90
@@ -1,904 +0,0 @@
1
- {
2
- "openapi": "3.2.0",
3
- "info": {
4
- "title": "Nylorun Runtime: Admin API",
5
- "version": "0.17.0-beta",
6
- "description": "The Host's status, its Tenant's state, shutdown and the Tenant's operator keys, with the admin key. Served on the operator listener when the Host has one; the public listener answers these routes with the opaque 404.",
7
- "x-nylorun-protocol": {
8
- "min": 4,
9
- "max": 7,
10
- "features": [
11
- "runtime-tenants",
12
- "admin-status",
13
- "studio-principal",
14
- "action-endpoints",
15
- "artifacts",
16
- "tenant-fixture-model",
17
- "transcript-events",
18
- "subject-headers",
19
- "ag-ui-endpoint",
20
- "a2a-endpoint",
21
- "action-endpoints",
22
- "sandboxes",
23
- "sandbox-pods",
24
- "trusted-issuers",
25
- "operator-keys"
26
- ]
27
- }
28
- },
29
- "servers": [
30
- {
31
- "url": "{origin}",
32
- "description": "The operator listener: a local Tenant's, or where yours runs",
33
- "variables": {
34
- "origin": {
35
- "default": "http://localhost:8788"
36
- }
37
- }
38
- }
39
- ],
40
- "components": {
41
- "securitySchemes": {
42
- "adminKey": {
43
- "type": "http",
44
- "scheme": "bearer",
45
- "description": "The Host's admin key (`host-credentials.json`). Never a Tenant bearer."
46
- }
47
- },
48
- "schemas": {
49
- "AdminStatus": {
50
- "type": "object",
51
- "properties": {
52
- "service": {
53
- "type": "string",
54
- "minLength": 1
55
- },
56
- "version": {
57
- "type": "string",
58
- "minLength": 1
59
- },
60
- "protocol": {
61
- "type": "object",
62
- "properties": {
63
- "min": {
64
- "type": "integer"
65
- },
66
- "max": {
67
- "type": "integer"
68
- },
69
- "features": {
70
- "type": "array",
71
- "items": {
72
- "type": "string"
73
- }
74
- }
75
- },
76
- "required": [
77
- "min",
78
- "max",
79
- "features"
80
- ],
81
- "additionalProperties": false
82
- },
83
- "tenant": {
84
- "type": "object",
85
- "properties": {
86
- "id": {
87
- "type": [
88
- "string",
89
- "null"
90
- ],
91
- "minLength": 1
92
- },
93
- "name": {
94
- "type": [
95
- "string",
96
- "null"
97
- ]
98
- },
99
- "state": {
100
- "type": "string",
101
- "enum": [
102
- "open",
103
- "unavailable"
104
- ]
105
- },
106
- "envelope": {
107
- "type": [
108
- "object",
109
- "null"
110
- ],
111
- "properties": {
112
- "id": {
113
- "type": "string",
114
- "minLength": 1
115
- },
116
- "name": {
117
- "type": "string",
118
- "minLength": 1
119
- },
120
- "createdAt": {
121
- "type": "string",
122
- "minLength": 1
123
- },
124
- "updatedAt": {
125
- "type": "string",
126
- "minLength": 1
127
- },
128
- "schemaVersion": {
129
- "type": "integer"
130
- }
131
- },
132
- "required": [
133
- "id",
134
- "name",
135
- "createdAt",
136
- "updatedAt",
137
- "schemaVersion"
138
- ],
139
- "additionalProperties": false
140
- },
141
- "cause": {
142
- "type": "object",
143
- "properties": {
144
- "code": {
145
- "type": "string",
146
- "enum": [
147
- "kek-missing",
148
- "corrupt",
149
- "schema-too-new",
150
- "migration-failed",
151
- "envelope-invalid",
152
- "open-timeout",
153
- "open-failed",
154
- "database-layout-old"
155
- ]
156
- },
157
- "message": {
158
- "type": "string"
159
- },
160
- "repair": {
161
- "type": "string"
162
- }
163
- },
164
- "required": [
165
- "code",
166
- "message",
167
- "repair"
168
- ],
169
- "additionalProperties": false
170
- }
171
- },
172
- "required": [
173
- "id",
174
- "name",
175
- "state",
176
- "envelope"
177
- ],
178
- "additionalProperties": false
179
- },
180
- "aggregate": {
181
- "type": "object",
182
- "properties": {
183
- "runningSessions": {
184
- "type": "integer",
185
- "minimum": 0
186
- },
187
- "inFlightDeliveries": {
188
- "type": "integer",
189
- "minimum": 0
190
- },
191
- "pendingActions": {
192
- "type": "integer",
193
- "minimum": 0
194
- },
195
- "uncertainEffects": {
196
- "type": "integer",
197
- "minimum": 0
198
- },
199
- "relay": {
200
- "type": "object",
201
- "properties": {
202
- "active": {
203
- "type": "boolean"
204
- },
205
- "pendingTxs": {
206
- "type": "integer",
207
- "minimum": 0
208
- },
209
- "pendingRows": {
210
- "type": "integer",
211
- "minimum": 0
212
- },
213
- "confirmed": {
214
- "type": [
215
- "string",
216
- "null"
217
- ]
218
- },
219
- "reconciliations": {
220
- "type": "integer",
221
- "minimum": 0
222
- },
223
- "lastError": {
224
- "type": [
225
- "string",
226
- "null"
227
- ]
228
- },
229
- "lagBytes": {
230
- "type": "number",
231
- "minimum": 0
232
- }
233
- },
234
- "required": [
235
- "active",
236
- "pendingTxs",
237
- "pendingRows",
238
- "confirmed",
239
- "reconciliations",
240
- "lastError"
241
- ],
242
- "additionalProperties": false
243
- },
244
- "harness": {
245
- "type": "object",
246
- "properties": {
247
- "mode": {
248
- "type": "string",
249
- "enum": [
250
- "in-process",
251
- "remote"
252
- ]
253
- },
254
- "connected": {
255
- "type": "integer",
256
- "minimum": 0
257
- },
258
- "workspace": {
259
- "type": "boolean"
260
- }
261
- },
262
- "required": [
263
- "mode",
264
- "connected",
265
- "workspace"
266
- ],
267
- "additionalProperties": false
268
- }
269
- },
270
- "required": [
271
- "runningSessions",
272
- "inFlightDeliveries",
273
- "pendingActions",
274
- "uncertainEffects"
275
- ],
276
- "additionalProperties": false
277
- },
278
- "host": {
279
- "type": "object",
280
- "properties": {
281
- "hostId": {
282
- "type": "string",
283
- "minLength": 1
284
- },
285
- "url": {
286
- "type": "string",
287
- "minLength": 1
288
- },
289
- "pid": {
290
- "type": "integer"
291
- }
292
- },
293
- "required": [
294
- "hostId",
295
- "url",
296
- "pid"
297
- ],
298
- "additionalProperties": false
299
- }
300
- },
301
- "required": [
302
- "service",
303
- "version",
304
- "protocol",
305
- "tenant",
306
- "aggregate"
307
- ],
308
- "additionalProperties": false
309
- },
310
- "Rejected": {
311
- "type": "object",
312
- "properties": {
313
- "status": {
314
- "type": "string",
315
- "enum": [
316
- "rejected"
317
- ]
318
- },
319
- "code": {
320
- "type": "string",
321
- "enum": [
322
- "not_found",
323
- "protocol_unsupported",
324
- "host_rejected",
325
- "origin_rejected",
326
- "unsupported_media_type",
327
- "connection_missing",
328
- "incompatible_host",
329
- "subject_invalid",
330
- "scope_required",
331
- "token_expired",
332
- "limit_exceeded",
333
- "request_rejected",
334
- "invalid_request",
335
- "subject_required",
336
- "sandbox_not_granted",
337
- "sandbox_busy",
338
- "sandbox_unavailable",
339
- "placement_refused",
340
- "sandbox_lost",
341
- "sandbox_expired",
342
- "issuer_unavailable",
343
- "oauth_client_required",
344
- "oauth_state_invalid",
345
- "oauth_failed",
346
- "internal_error"
347
- ]
348
- },
349
- "message": {
350
- "type": "string"
351
- },
352
- "details": {},
353
- "activeTurnId": {
354
- "type": "string"
355
- },
356
- "requestId": {
357
- "type": "string"
358
- }
359
- },
360
- "required": [
361
- "status",
362
- "code",
363
- "message"
364
- ]
365
- },
366
- "ProtocolRejected": {
367
- "type": "object",
368
- "properties": {
369
- "status": {
370
- "type": "string",
371
- "enum": [
372
- "rejected"
373
- ]
374
- },
375
- "code": {
376
- "type": "string",
377
- "enum": [
378
- "protocol_unsupported"
379
- ]
380
- },
381
- "protocol": {
382
- "type": "object",
383
- "properties": {
384
- "min": {
385
- "type": "integer"
386
- },
387
- "max": {
388
- "type": "integer"
389
- },
390
- "features": {
391
- "type": "array",
392
- "items": {
393
- "type": "string"
394
- }
395
- }
396
- },
397
- "required": [
398
- "min",
399
- "max",
400
- "features"
401
- ],
402
- "additionalProperties": false
403
- }
404
- },
405
- "required": [
406
- "status",
407
- "code",
408
- "protocol"
409
- ],
410
- "additionalProperties": false
411
- },
412
- "HostShutdownResponse": {
413
- "type": "object",
414
- "properties": {
415
- "status": {
416
- "type": "string",
417
- "enum": [
418
- "shutting_down"
419
- ]
420
- }
421
- },
422
- "required": [
423
- "status"
424
- ],
425
- "additionalProperties": false
426
- },
427
- "ListOperatorKeysResponse": {
428
- "type": "object",
429
- "properties": {
430
- "keys": {
431
- "type": "array",
432
- "items": {
433
- "type": "object",
434
- "properties": {
435
- "id": {
436
- "type": "string",
437
- "minLength": 1
438
- },
439
- "role": {
440
- "type": "string",
441
- "minLength": 1
442
- },
443
- "createdAt": {
444
- "type": "string",
445
- "minLength": 1
446
- }
447
- },
448
- "required": [
449
- "id",
450
- "role",
451
- "createdAt"
452
- ],
453
- "additionalProperties": false
454
- }
455
- }
456
- },
457
- "required": [
458
- "keys"
459
- ],
460
- "additionalProperties": false
461
- },
462
- "PutOperatorKeyResponse": {
463
- "type": "object",
464
- "properties": {
465
- "id": {
466
- "type": "string",
467
- "minLength": 1
468
- },
469
- "role": {
470
- "type": "string",
471
- "minLength": 1
472
- },
473
- "createdAt": {
474
- "type": "string",
475
- "minLength": 1
476
- },
477
- "key": {
478
- "type": "string",
479
- "pattern": "^[0-9a-f]{64}$"
480
- },
481
- "rotated": {
482
- "type": "boolean"
483
- }
484
- },
485
- "required": [
486
- "id",
487
- "role",
488
- "createdAt",
489
- "key",
490
- "rotated"
491
- ],
492
- "additionalProperties": false
493
- },
494
- "DeleteOperatorKeyResponse": {
495
- "type": "object",
496
- "properties": {
497
- "id": {
498
- "type": "string",
499
- "minLength": 1
500
- },
501
- "deleted": {
502
- "type": "boolean",
503
- "enum": [
504
- true
505
- ]
506
- }
507
- },
508
- "required": [
509
- "id",
510
- "deleted"
511
- ],
512
- "additionalProperties": false
513
- }
514
- },
515
- "parameters": {}
516
- },
517
- "paths": {
518
- "/v1/admin/status": {
519
- "get": {
520
- "summary": "Get the Host's status",
521
- "tags": [
522
- "Admin"
523
- ],
524
- "security": [
525
- {
526
- "adminKey": []
527
- }
528
- ],
529
- "responses": {
530
- "200": {
531
- "description": "Version, protocol, the Tenant and the Host",
532
- "content": {
533
- "application/json": {
534
- "schema": {
535
- "$ref": "#/components/schemas/AdminStatus"
536
- }
537
- }
538
- }
539
- },
540
- "404": {
541
- "description": "Not found: an unknown admin key, or the public listener",
542
- "content": {
543
- "application/json": {
544
- "schema": {
545
- "$ref": "#/components/schemas/Rejected"
546
- }
547
- }
548
- }
549
- },
550
- "426": {
551
- "description": "`Nylorun-Protocol` missing or unsupported",
552
- "content": {
553
- "application/json": {
554
- "schema": {
555
- "$ref": "#/components/schemas/ProtocolRejected"
556
- }
557
- }
558
- }
559
- }
560
- }
561
- }
562
- },
563
- "/v1/admin/host": {
564
- "get": {
565
- "summary": "Get the Host's status (alias)",
566
- "tags": [
567
- "Admin"
568
- ],
569
- "security": [
570
- {
571
- "adminKey": []
572
- }
573
- ],
574
- "responses": {
575
- "200": {
576
- "description": "Version, protocol, the Tenant and the Host",
577
- "content": {
578
- "application/json": {
579
- "schema": {
580
- "$ref": "#/components/schemas/AdminStatus"
581
- }
582
- }
583
- }
584
- },
585
- "404": {
586
- "description": "Not found: an unknown admin key, or the public listener",
587
- "content": {
588
- "application/json": {
589
- "schema": {
590
- "$ref": "#/components/schemas/Rejected"
591
- }
592
- }
593
- }
594
- },
595
- "426": {
596
- "description": "`Nylorun-Protocol` missing or unsupported",
597
- "content": {
598
- "application/json": {
599
- "schema": {
600
- "$ref": "#/components/schemas/ProtocolRejected"
601
- }
602
- }
603
- }
604
- }
605
- }
606
- }
607
- },
608
- "/v1/admin/host/shutdown": {
609
- "post": {
610
- "summary": "Shut the Host down",
611
- "description": "Answers, then stops the Host. Served by a self-hosted Runtime only.",
612
- "tags": [
613
- "Admin"
614
- ],
615
- "security": [
616
- {
617
- "adminKey": []
618
- }
619
- ],
620
- "responses": {
621
- "200": {
622
- "description": "The Host is stopping",
623
- "content": {
624
- "application/json": {
625
- "schema": {
626
- "$ref": "#/components/schemas/HostShutdownResponse"
627
- }
628
- }
629
- }
630
- },
631
- "404": {
632
- "description": "Not found: an unknown admin key, or the public listener",
633
- "content": {
634
- "application/json": {
635
- "schema": {
636
- "$ref": "#/components/schemas/Rejected"
637
- }
638
- }
639
- }
640
- },
641
- "426": {
642
- "description": "`Nylorun-Protocol` missing or unsupported",
643
- "content": {
644
- "application/json": {
645
- "schema": {
646
- "$ref": "#/components/schemas/ProtocolRejected"
647
- }
648
- }
649
- }
650
- }
651
- }
652
- }
653
- },
654
- "/v1/admin/keys": {
655
- "get": {
656
- "summary": "List the Tenant's keys",
657
- "description": "Every application key of the Tenant by name, with its role and when it was issued. Keys themselves are never shown again.",
658
- "tags": [
659
- "Admin"
660
- ],
661
- "security": [
662
- {
663
- "adminKey": []
664
- }
665
- ],
666
- "responses": {
667
- "200": {
668
- "description": "The keys, by id",
669
- "content": {
670
- "application/json": {
671
- "schema": {
672
- "$ref": "#/components/schemas/ListOperatorKeysResponse"
673
- }
674
- }
675
- }
676
- },
677
- "404": {
678
- "description": "Not found: an unknown admin key, or the public listener",
679
- "content": {
680
- "application/json": {
681
- "schema": {
682
- "$ref": "#/components/schemas/Rejected"
683
- }
684
- }
685
- }
686
- },
687
- "426": {
688
- "description": "`Nylorun-Protocol` missing or unsupported",
689
- "content": {
690
- "application/json": {
691
- "schema": {
692
- "$ref": "#/components/schemas/ProtocolRejected"
693
- }
694
- }
695
- }
696
- },
697
- "503": {
698
- "description": "The Tenant is not open",
699
- "content": {
700
- "application/json": {
701
- "schema": {
702
- "$ref": "#/components/schemas/Rejected"
703
- }
704
- }
705
- }
706
- }
707
- }
708
- }
709
- },
710
- "/v1/admin/keys/{id}": {
711
- "put": {
712
- "summary": "Create or rotate a key",
713
- "description": "Issues a new key named `id` and returns it this once. A key of that name is replaced: the old one stops authenticating at once. `studio` is refused.",
714
- "tags": [
715
- "Admin"
716
- ],
717
- "security": [
718
- {
719
- "adminKey": []
720
- }
721
- ],
722
- "parameters": [
723
- {
724
- "schema": {
725
- "type": "string",
726
- "description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio`"
727
- },
728
- "required": true,
729
- "description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio`",
730
- "name": "id",
731
- "in": "path"
732
- }
733
- ],
734
- "responses": {
735
- "200": {
736
- "description": "The new key, shown once",
737
- "content": {
738
- "application/json": {
739
- "schema": {
740
- "$ref": "#/components/schemas/PutOperatorKeyResponse"
741
- }
742
- }
743
- }
744
- },
745
- "400": {
746
- "description": "Not a key name, or `studio`",
747
- "content": {
748
- "application/json": {
749
- "schema": {
750
- "$ref": "#/components/schemas/Rejected"
751
- }
752
- }
753
- }
754
- },
755
- "404": {
756
- "description": "Not found: an unknown admin key, or the public listener",
757
- "content": {
758
- "application/json": {
759
- "schema": {
760
- "$ref": "#/components/schemas/Rejected"
761
- }
762
- }
763
- }
764
- },
765
- "426": {
766
- "description": "`Nylorun-Protocol` missing or unsupported",
767
- "content": {
768
- "application/json": {
769
- "schema": {
770
- "$ref": "#/components/schemas/ProtocolRejected"
771
- }
772
- }
773
- }
774
- },
775
- "503": {
776
- "description": "The Tenant is not open",
777
- "content": {
778
- "application/json": {
779
- "schema": {
780
- "$ref": "#/components/schemas/Rejected"
781
- }
782
- }
783
- }
784
- }
785
- }
786
- },
787
- "delete": {
788
- "summary": "Delete a key",
789
- "description": "The key stops authenticating at once. `studio` is refused.",
790
- "tags": [
791
- "Admin"
792
- ],
793
- "security": [
794
- {
795
- "adminKey": []
796
- }
797
- ],
798
- "parameters": [
799
- {
800
- "schema": {
801
- "type": "string",
802
- "description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio`"
803
- },
804
- "required": true,
805
- "description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio`",
806
- "name": "id",
807
- "in": "path"
808
- }
809
- ],
810
- "responses": {
811
- "200": {
812
- "description": "The key is deleted",
813
- "content": {
814
- "application/json": {
815
- "schema": {
816
- "$ref": "#/components/schemas/DeleteOperatorKeyResponse"
817
- }
818
- }
819
- }
820
- },
821
- "400": {
822
- "description": "Not a key name, or `studio`",
823
- "content": {
824
- "application/json": {
825
- "schema": {
826
- "$ref": "#/components/schemas/Rejected"
827
- }
828
- }
829
- }
830
- },
831
- "404": {
832
- "description": "No key of that name; or an unknown admin key, or the public listener",
833
- "content": {
834
- "application/json": {
835
- "schema": {
836
- "$ref": "#/components/schemas/Rejected"
837
- }
838
- }
839
- }
840
- },
841
- "426": {
842
- "description": "`Nylorun-Protocol` missing or unsupported",
843
- "content": {
844
- "application/json": {
845
- "schema": {
846
- "$ref": "#/components/schemas/ProtocolRejected"
847
- }
848
- }
849
- }
850
- },
851
- "503": {
852
- "description": "The Tenant is not open",
853
- "content": {
854
- "application/json": {
855
- "schema": {
856
- "$ref": "#/components/schemas/Rejected"
857
- }
858
- }
859
- }
860
- }
861
- }
862
- }
863
- },
864
- "/v1/admin/openapi.json": {
865
- "get": {
866
- "summary": "Get this document",
867
- "tags": [
868
- "Admin"
869
- ],
870
- "security": [
871
- {
872
- "adminKey": []
873
- }
874
- ],
875
- "responses": {
876
- "200": {
877
- "description": "The Admin API's OpenAPI document"
878
- },
879
- "404": {
880
- "description": "Not found: an unknown admin key, or the public listener",
881
- "content": {
882
- "application/json": {
883
- "schema": {
884
- "$ref": "#/components/schemas/Rejected"
885
- }
886
- }
887
- }
888
- },
889
- "426": {
890
- "description": "`Nylorun-Protocol` missing or unsupported",
891
- "content": {
892
- "application/json": {
893
- "schema": {
894
- "$ref": "#/components/schemas/ProtocolRejected"
895
- }
896
- }
897
- }
898
- }
899
- }
900
- }
901
- }
902
- },
903
- "webhooks": {}
904
- }