@nylorun/runtime 0.25.0-beta → 0.27.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.
- package/CHANGELOG.md +169 -0
- package/README.md +26 -16
- package/dist/adapters/execution/restate.d.ts +15 -18
- package/dist/adapters/execution/restate.js +31 -27
- package/dist/adapters/replication/pgoutput.d.ts +1 -1
- package/dist/adapters/replication/pgoutput.js +3 -2
- package/dist/adapters/sandbox/local.js +8 -5
- package/dist/adapters/sandbox/virtual.js +2 -2
- package/dist/adapters/streams/s2.d.ts +1 -1
- package/dist/adapters/streams/s2.js +18 -14
- package/dist/api/a2a/card.js +1 -1
- package/dist/api/a2a/endpoint.js +3 -4
- package/dist/api/a2a/protocol.js +4 -0
- package/dist/api/a2a/routes.d.ts +2 -6
- package/dist/api/a2a/routes.js +12 -18
- package/dist/api/ag-ui/endpoint.js +2 -3
- package/dist/api/ag-ui/routes.js +4 -4
- package/dist/api/components.d.ts +326 -45
- package/dist/api/components.js +5 -1
- package/dist/api/gate/keys.js +7 -4
- package/dist/api/gate/routes.d.ts +6 -2
- package/dist/api/gate/routes.js +15 -11
- package/dist/api/http/app.d.ts +2 -2
- package/dist/api/http/app.js +2 -2
- package/dist/api/http/body.d.ts +15 -3
- package/dist/api/http/body.js +15 -7
- package/dist/api/http/define.d.ts +1 -1
- package/dist/api/http/respond.js +7 -3
- package/dist/api/http/routes/access.js +5 -4
- package/dist/api/http/routes/artifacts.js +19 -7
- package/dist/api/http/routes/coverage.js +1 -1
- package/dist/api/http/routes/environment-manifests.js +1 -1
- package/dist/api/http/routes/environments.js +6 -6
- package/dist/api/http/routes/files.d.ts +2 -1
- package/dist/api/http/routes/files.js +31 -5
- package/dist/api/http/routes/mcp.js +1 -1
- package/dist/api/http/routes/reads.d.ts +35 -0
- package/dist/api/http/routes/reads.js +50 -22
- package/dist/api/http/routes/sessions.js +12 -11
- package/dist/api/http/routes/tenant.d.ts +2 -2
- package/dist/api/http/routes/tenant.js +69 -16
- package/dist/api/inbound-files.d.ts +3 -9
- package/dist/api/inbound-files.js +18 -24
- package/dist/api/openapi.js +6 -2
- package/dist/artifacts/disk.d.ts +0 -4
- package/dist/artifacts/disk.js +77 -73
- package/dist/artifacts/files.d.ts +13 -4
- package/dist/artifacts/files.js +27 -9
- package/dist/artifacts/folder-upload.d.ts +75 -0
- package/dist/artifacts/folder-upload.js +263 -0
- package/dist/artifacts/folders.d.ts +14 -8
- package/dist/artifacts/folders.js +19 -11
- package/dist/artifacts/links.js +7 -6
- package/dist/artifacts/parts.d.ts +9 -14
- package/dist/artifacts/parts.js +11 -9
- package/dist/artifacts/pipe.d.ts +15 -0
- package/dist/artifacts/pipe.js +71 -0
- package/dist/artifacts/quota.d.ts +36 -0
- package/dist/artifacts/quota.js +44 -0
- package/dist/artifacts/service.d.ts +25 -1
- package/dist/artifacts/service.js +70 -25
- package/dist/blob/fs.js +2 -1
- package/dist/blob/s3.d.ts +6 -2
- package/dist/blob/s3.js +9 -7
- package/dist/blob/types.d.ts +1 -1
- package/dist/blob/types.js +1 -1
- package/dist/core/limits.d.ts +11 -35
- package/dist/core/limits.js +5 -73
- package/dist/core/sandbox-routes.js +0 -1
- package/dist/core/turn-manifest.d.ts +1 -2
- package/dist/core/turn-manifest.js +4 -28
- package/dist/execution/memory.d.ts +8 -5
- package/dist/execution/memory.js +8 -6
- package/dist/execution/types.d.ts +1 -6
- package/dist/execution/types.js +0 -5
- package/dist/gates/contract.d.ts +3 -2
- package/dist/gates/contract.js +1 -1
- package/dist/gates/egress-credentials.js +4 -3
- package/dist/gates/egress.d.ts +9 -9
- package/dist/gates/egress.js +19 -19
- package/dist/gates/fixture-model.js +13 -2
- package/dist/gates/handler.d.ts +1 -3
- package/dist/gates/handler.js +4 -3
- package/dist/gates/http-client.d.ts +4 -3
- package/dist/gates/http-client.js +5 -7
- package/dist/gates/http-tool.d.ts +24 -4
- package/dist/gates/http-tool.js +53 -17
- package/dist/gates/in-process.d.ts +2 -1
- package/dist/gates/in-process.js +17 -9
- package/dist/gates/inflight.d.ts +2 -2
- package/dist/gates/inflight.js +3 -2
- package/dist/gates/journal.js +5 -7
- package/dist/gates/mcp-handler.d.ts +4 -3
- package/dist/gates/mcp-handler.js +15 -5
- package/dist/gates/model-gate.d.ts +11 -2
- package/dist/gates/policy.d.ts +28 -5
- package/dist/gates/policy.js +60 -17
- package/dist/gates/provider-gate.d.ts +22 -0
- package/dist/gates/provider-gate.js +30 -0
- package/dist/gates/tool-calls.d.ts +1 -3
- package/dist/gates/tool-calls.js +2 -3
- package/dist/gates/tool-client.d.ts +1 -1
- package/dist/gates/tool-client.js +5 -6
- package/dist/gates/tool-contract.d.ts +8 -5
- package/dist/gates/tool-contract.js +1 -1
- package/dist/gates/tool-gate.d.ts +18 -7
- package/dist/gates/tool-gate.js +49 -7
- package/dist/harness/calls.d.ts +27 -25
- package/dist/harness/calls.js +40 -46
- package/dist/harness/executors.d.ts +10 -3
- package/dist/harness/executors.js +53 -23
- package/dist/harness/main.js +2 -2
- package/dist/harness/pod.d.ts +0 -2
- package/dist/harness/pod.js +7 -6
- package/dist/harness/run-tokens.d.ts +4 -1
- package/dist/harness/run-tokens.js +6 -2
- package/dist/harness/service.d.ts +17 -14
- package/dist/harness/service.js +21 -35
- package/dist/harness/setup.d.ts +0 -2
- package/dist/harness/setup.js +4 -9
- package/dist/harness/ws-client.d.ts +2 -2
- package/dist/harness/ws-client.js +7 -5
- package/dist/harness/ws-port.d.ts +3 -4
- package/dist/harness/ws-port.js +3 -4
- package/dist/harness-api/artifacts.d.ts +20 -0
- package/dist/harness-api/artifacts.js +478 -0
- package/dist/harness-api/in-process.d.ts +2 -2
- package/dist/harness-api/in-process.js +18 -16
- package/dist/harness-api/record.d.ts +10 -9
- package/dist/harness-api/record.js +102 -157
- package/dist/harness-api/renew.d.ts +1 -1
- package/dist/harness-api/renew.js +2 -2
- package/dist/harness-api/server.d.ts +1 -16
- package/dist/harness-api/server.js +82 -73
- package/dist/harness-api/start.d.ts +20 -2
- package/dist/harness-api/start.js +57 -18
- package/dist/harness-api/tool-journal.d.ts +15 -10
- package/dist/harness-api/tool-journal.js +26 -24
- package/dist/harness-api/workspace.d.ts +0 -4
- package/dist/harness-api/workspace.js +2 -45
- package/dist/harness-api/ws-server.js +10 -10
- package/dist/host/create-host.js +2 -3
- package/dist/host/execution.js +2 -3
- package/dist/host/gates.d.ts +2 -9
- package/dist/host/gates.js +15 -12
- package/dist/host/http.d.ts +0 -2
- package/dist/host/http.js +0 -27
- package/dist/host/main.js +10 -3
- package/dist/host/operate.js +12 -3
- package/dist/host/stack-config.d.ts +11 -0
- package/dist/host/stack-config.js +21 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/infra/index.js +2 -1
- package/dist/infra/readiness.d.ts +0 -2
- package/dist/infra/readiness.js +4 -3
- package/dist/keys/client.d.ts +1 -0
- package/dist/keys/client.js +2 -3
- package/dist/keys/contract.d.ts +1 -3
- package/dist/keys/contract.js +1 -3
- package/dist/keys/egress-ca.d.ts +0 -2
- package/dist/keys/egress-ca.js +2 -3
- package/dist/keys/keys.js +6 -1
- package/dist/keys/x509.d.ts +8 -4
- package/dist/keys/x509.js +14 -5
- package/dist/management-openapi.json +1961 -994
- package/dist/mcp/connect.d.ts +35 -26
- package/dist/mcp/connect.js +112 -141
- package/dist/mcp/pool.d.ts +27 -22
- package/dist/mcp/pool.js +34 -48
- package/dist/mcp/preview.d.ts +13 -6
- package/dist/mcp/preview.js +37 -20
- package/dist/mcp/snapshot.d.ts +35 -86
- package/dist/mcp/snapshot.js +93 -135
- package/dist/model/auth-store.js +5 -3
- package/dist/model/capabilities.d.ts +1 -1
- package/dist/model/catalog.d.ts +9 -36
- package/dist/model/catalog.js +6 -33
- package/dist/model/descriptor.d.ts +51 -0
- package/dist/model/descriptor.js +83 -0
- package/dist/model/models.d.ts +0 -3
- package/dist/model/models.js +3 -5
- package/dist/model/native-blocks.js +1 -1
- package/dist/model/pi-model.d.ts +16 -5
- package/dist/model/pi-model.js +86 -105
- package/dist/openapi.json +866 -1218
- package/dist/reads/cursor.js +3 -1
- package/dist/record/append.d.ts +34 -2
- package/dist/record/append.js +50 -1
- package/dist/record/environment.d.ts +2 -0
- package/dist/record/environment.js +2 -0
- package/dist/record/index.d.ts +1 -1
- package/dist/record/index.js +1 -1
- package/dist/redact.d.ts +1 -1
- package/dist/redact.js +3 -2
- package/dist/sandbox/egress-token.d.ts +3 -3
- package/dist/sandbox/egress-token.js +3 -3
- package/dist/sandbox/join.js +3 -2
- package/dist/sandbox/manager.d.ts +41 -41
- package/dist/sandbox/manager.js +112 -44
- package/dist/sandbox/placement.d.ts +1 -1
- package/dist/sandbox/placement.js +5 -8
- package/dist/sandbox/pods/client.d.ts +1 -10
- package/dist/sandbox/pods/client.js +8 -4
- package/dist/sandbox/pods/lifecycle.d.ts +19 -11
- package/dist/sandbox/pods/lifecycle.js +45 -23
- package/dist/sandbox/pods/network-gate.d.ts +4 -5
- package/dist/sandbox/pods/network-gate.js +7 -7
- package/dist/sandbox/pods/reconcile.js +4 -1
- package/dist/sandbox/pods/spec.js +8 -5
- package/dist/sandbox/policy.d.ts +7 -1
- package/dist/sandbox/policy.js +10 -3
- package/dist/sandbox/resolve.d.ts +8 -3
- package/dist/sandbox/resolve.js +12 -2
- package/dist/sandbox/setup.d.ts +3 -1
- package/dist/sandbox/setup.js +34 -11
- package/dist/sandbox/share.d.ts +5 -14
- package/dist/sandbox/share.js +5 -34
- package/dist/sandbox/skills.d.ts +7 -13
- package/dist/sandbox/skills.js +16 -31
- package/dist/sandbox/tenant-config.d.ts +2 -2
- package/dist/sandbox/tenant-config.js +4 -3
- package/dist/sandbox/tools.d.ts +7 -1
- package/dist/sandbox/tools.js +26 -26
- package/dist/sandbox/types.d.ts +10 -3
- package/dist/sandbox/types.js +9 -0
- package/dist/store/postgres/connect.d.ts +6 -5
- package/dist/store/postgres/connect.js +14 -11
- package/dist/store/postgres/control.js +13 -13
- package/dist/store/postgres/drizzle/0028_artifact_write_keys.sql +2 -0
- package/dist/store/postgres/drizzle/0029_protocol_15.sql +11 -0
- package/dist/store/postgres/drizzle/0030_protocol_15_runtime_block.sql +11 -0
- package/dist/store/postgres/drizzle/0031_protocol_15_mcp_snapshot.sql +8 -0
- package/dist/store/postgres/drizzle/meta/_journal.json +28 -0
- package/dist/store/postgres/migrate.js +1 -1
- package/dist/store/postgres/reads.js +10 -2
- package/dist/store/postgres/schema.d.ts +19 -0
- package/dist/store/postgres/schema.js +7 -0
- package/dist/store/postgres/store.js +55 -26
- package/dist/store/types.d.ts +17 -7
- package/dist/streams/relay/core.d.ts +3 -3
- package/dist/streams/relay/core.js +9 -10
- package/dist/tenant/advance.js +21 -31
- package/dist/tenant/commands.js +9 -16
- package/dist/tenant/context.d.ts +14 -17
- package/dist/tenant/definition-files.d.ts +25 -4
- package/dist/tenant/definition-files.js +85 -47
- package/dist/tenant/effects.js +9 -36
- package/dist/tenant/environment-manifests.js +9 -1
- package/dist/tenant/environments.d.ts +0 -2
- package/dist/tenant/environments.js +54 -30
- package/dist/tenant/ephemeral.d.ts +1 -1
- package/dist/tenant/ephemeral.js +2 -1
- package/dist/tenant/history.d.ts +1 -1
- package/dist/tenant/history.js +1 -1
- package/dist/tenant/host-token.d.ts +3 -3
- package/dist/tenant/host-token.js +12 -11
- package/dist/tenant/http.d.ts +5 -8
- package/dist/tenant/http.js +9 -0
- package/dist/tenant/identity-file.d.ts +24 -1
- package/dist/tenant/identity-file.js +35 -7
- package/dist/tenant/issuers.d.ts +5 -5
- package/dist/tenant/issuers.js +31 -23
- package/dist/tenant/jwt.d.ts +8 -2
- package/dist/tenant/jwt.js +10 -2
- package/dist/tenant/limits.d.ts +90 -0
- package/dist/tenant/limits.js +175 -0
- package/dist/tenant/module.d.ts +4 -1
- package/dist/tenant/module.js +9 -8
- package/dist/tenant/outbound.d.ts +17 -19
- package/dist/tenant/outbound.js +18 -21
- package/dist/tenant/run-grants.js +3 -2
- package/dist/tenant/run-token.d.ts +0 -4
- package/dist/tenant/run-token.js +6 -11
- package/dist/tenant/runtime-limits.d.ts +24 -0
- package/dist/tenant/runtime-limits.js +27 -0
- package/dist/tenant/runtime.js +30 -43
- package/dist/tenant/session-streams.js +7 -6
- package/dist/tenant/session.d.ts +1 -1
- package/dist/tenant/session.js +1 -1
- package/dist/tenant/sessions.js +32 -29
- package/dist/tenant/signing-keys.d.ts +1 -1
- package/dist/tenant/signing-keys.js +5 -6
- package/dist/tenant/status.js +4 -3
- package/dist/tenant/streams.js +18 -20
- package/dist/tenant/sweep.d.ts +1 -21
- package/dist/tenant/sweep.js +39 -48
- package/dist/tenant/transcript.d.ts +70 -23
- package/dist/tenant/transcript.js +28 -22
- package/dist/tenant/types.d.ts +11 -16
- package/dist/tenant/worker.d.ts +2 -10
- package/dist/tenant/worker.js +5 -14
- package/dist/traces/ids.js +5 -1
- package/dist/traces/map.d.ts +9 -6
- package/dist/traces/map.js +9 -11
- package/dist/traces/otlp.d.ts +3 -3
- package/dist/traces/otlp.js +5 -3
- package/dist/traces/projector.d.ts +9 -4
- package/dist/traces/projector.js +13 -7
- package/dist/traces/read.js +6 -1
- package/dist/tuning.d.ts +383 -0
- package/dist/tuning.js +658 -0
- package/dist/vault/headers.js +4 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/dist/artifacts/export.d.ts +0 -8
- package/dist/artifacts/export.js +0 -204
- package/dist/artifacts/media-types.d.ts +0 -30
- package/dist/artifacts/media-types.js +0 -137
- package/dist/artifacts/workspace.d.ts +0 -60
- package/dist/artifacts/workspace.js +0 -45
- package/dist/media.d.ts +0 -10
- package/dist/media.js +0 -58
- package/dist/sandbox/runtime-tools.d.ts +0 -9
- package/dist/sandbox/runtime-tools.js +0 -16
- package/dist/sandbox/session-sandbox.d.ts +0 -16
- package/dist/sandbox/session-sandbox.js +0 -77
- package/dist/tenant/artifact-tool.d.ts +0 -13
- package/dist/tenant/artifact-tool.js +0 -243
- package/dist/tenant/skill-tool.d.ts +0 -20
- package/dist/tenant/skill-tool.js +0 -67
- package/dist/tenant/tool-results.d.ts +0 -57
- package/dist/tenant/tool-results.js +0 -298
- package/dist/tenant/tool-search.d.ts +0 -39
- package/dist/tenant/tool-search.js +0 -103
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"openapi": "3.2.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Nylorun Management API",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.27.0-beta",
|
|
6
6
|
"x-nylorun-protocol": {
|
|
7
|
-
"min":
|
|
8
|
-
"max":
|
|
7
|
+
"min": 15,
|
|
8
|
+
"max": 15,
|
|
9
9
|
"features": [
|
|
10
10
|
"studio-principal",
|
|
11
11
|
"artifacts",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"model-inputs",
|
|
16
16
|
"flat-manifest",
|
|
17
17
|
"environment-manifests",
|
|
18
|
+
"harness-boundary",
|
|
18
19
|
"tenant-fixture-model",
|
|
19
20
|
"transcript-events",
|
|
20
21
|
"subject-headers",
|
|
@@ -108,7 +109,6 @@
|
|
|
108
109
|
"credential_rejected",
|
|
109
110
|
"mcp_preview_failed",
|
|
110
111
|
"credential_conflict",
|
|
111
|
-
"attachment_unsupported",
|
|
112
112
|
"environment_immutable",
|
|
113
113
|
"secret_not_in_manifest",
|
|
114
114
|
"environment_unsuitable",
|
|
@@ -223,6 +223,47 @@
|
|
|
223
223
|
}
|
|
224
224
|
]
|
|
225
225
|
},
|
|
226
|
+
"TenantSkillsView": {
|
|
227
|
+
"type": "object",
|
|
228
|
+
"properties": {
|
|
229
|
+
"limits": {
|
|
230
|
+
"type": "object",
|
|
231
|
+
"properties": {
|
|
232
|
+
"totalBytes": {
|
|
233
|
+
"type": "integer"
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
"required": [
|
|
237
|
+
"totalBytes"
|
|
238
|
+
],
|
|
239
|
+
"additionalProperties": false
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
"required": [
|
|
243
|
+
"limits"
|
|
244
|
+
],
|
|
245
|
+
"additionalProperties": false
|
|
246
|
+
},
|
|
247
|
+
"PutTenantSkillsRequest": {
|
|
248
|
+
"type": "object",
|
|
249
|
+
"properties": {
|
|
250
|
+
"limits": {
|
|
251
|
+
"type": "object",
|
|
252
|
+
"properties": {
|
|
253
|
+
"totalBytes": {
|
|
254
|
+
"type": "integer",
|
|
255
|
+
"exclusiveMinimum": 0
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"additionalProperties": false
|
|
259
|
+
},
|
|
260
|
+
"requestId": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"minLength": 1
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
"additionalProperties": false
|
|
266
|
+
},
|
|
226
267
|
"TenantArtifactsView": {
|
|
227
268
|
"type": "object",
|
|
228
269
|
"properties": {
|
|
@@ -387,7 +428,7 @@
|
|
|
387
428
|
"properties": {
|
|
388
429
|
"contextWindow": {
|
|
389
430
|
"type": "integer",
|
|
390
|
-
"minimum":
|
|
431
|
+
"minimum": 1
|
|
391
432
|
},
|
|
392
433
|
"maxTokens": {
|
|
393
434
|
"type": "integer",
|
|
@@ -769,8 +810,7 @@
|
|
|
769
810
|
"properties": {
|
|
770
811
|
"cpus": {
|
|
771
812
|
"type": "integer",
|
|
772
|
-
"minimum": 1
|
|
773
|
-
"maximum": 64
|
|
813
|
+
"minimum": 1
|
|
774
814
|
},
|
|
775
815
|
"memory": {
|
|
776
816
|
"type": "string"
|
|
@@ -783,8 +823,7 @@
|
|
|
783
823
|
"properties": {
|
|
784
824
|
"cpus": {
|
|
785
825
|
"type": "integer",
|
|
786
|
-
"minimum": 1
|
|
787
|
-
"maximum": 64
|
|
826
|
+
"minimum": 1
|
|
788
827
|
},
|
|
789
828
|
"memory": {
|
|
790
829
|
"type": "string"
|
|
@@ -797,8 +836,7 @@
|
|
|
797
836
|
},
|
|
798
837
|
"environments": {
|
|
799
838
|
"type": "integer",
|
|
800
|
-
"minimum": 0
|
|
801
|
-
"maximum": 100000
|
|
839
|
+
"minimum": 0
|
|
802
840
|
}
|
|
803
841
|
},
|
|
804
842
|
"additionalProperties": false
|
|
@@ -860,7 +898,7 @@
|
|
|
860
898
|
"properties": {
|
|
861
899
|
"contextWindow": {
|
|
862
900
|
"type": "integer",
|
|
863
|
-
"minimum":
|
|
901
|
+
"minimum": 1
|
|
864
902
|
},
|
|
865
903
|
"maxTokens": {
|
|
866
904
|
"type": "integer",
|
|
@@ -1115,585 +1153,1006 @@
|
|
|
1115
1153
|
],
|
|
1116
1154
|
"additionalProperties": false
|
|
1117
1155
|
},
|
|
1118
|
-
"
|
|
1156
|
+
"TenantLimitsView": {
|
|
1119
1157
|
"type": "object",
|
|
1120
1158
|
"properties": {
|
|
1121
|
-
"
|
|
1122
|
-
"anyOf": [
|
|
1123
|
-
{
|
|
1124
|
-
"type": "string",
|
|
1125
|
-
"enum": [
|
|
1126
|
-
"auto"
|
|
1127
|
-
]
|
|
1128
|
-
},
|
|
1129
|
-
{
|
|
1130
|
-
"type": "string",
|
|
1131
|
-
"enum": [
|
|
1132
|
-
"virtual",
|
|
1133
|
-
"local"
|
|
1134
|
-
]
|
|
1135
|
-
}
|
|
1136
|
-
]
|
|
1137
|
-
},
|
|
1138
|
-
"backend": {
|
|
1139
|
-
"type": [
|
|
1140
|
-
"string",
|
|
1141
|
-
"null"
|
|
1142
|
-
],
|
|
1143
|
-
"enum": [
|
|
1144
|
-
"virtual",
|
|
1145
|
-
"local",
|
|
1146
|
-
null
|
|
1147
|
-
]
|
|
1148
|
-
},
|
|
1149
|
-
"isolation": {
|
|
1150
|
-
"type": [
|
|
1151
|
-
"string",
|
|
1152
|
-
"null"
|
|
1153
|
-
],
|
|
1154
|
-
"enum": [
|
|
1155
|
-
"process",
|
|
1156
|
-
"container",
|
|
1157
|
-
null
|
|
1158
|
-
]
|
|
1159
|
-
},
|
|
1160
|
-
"reason": {
|
|
1161
|
-
"type": "string"
|
|
1162
|
-
},
|
|
1163
|
-
"probes": {
|
|
1164
|
-
"type": "array",
|
|
1165
|
-
"items": {
|
|
1166
|
-
"type": "object",
|
|
1167
|
-
"properties": {
|
|
1168
|
-
"name": {
|
|
1169
|
-
"type": "string",
|
|
1170
|
-
"enum": [
|
|
1171
|
-
"virtual",
|
|
1172
|
-
"local"
|
|
1173
|
-
]
|
|
1174
|
-
},
|
|
1175
|
-
"available": {
|
|
1176
|
-
"type": "boolean"
|
|
1177
|
-
},
|
|
1178
|
-
"isolation": {
|
|
1179
|
-
"type": "string",
|
|
1180
|
-
"enum": [
|
|
1181
|
-
"process",
|
|
1182
|
-
"container"
|
|
1183
|
-
]
|
|
1184
|
-
},
|
|
1185
|
-
"reason": {
|
|
1186
|
-
"type": "string"
|
|
1187
|
-
},
|
|
1188
|
-
"version": {
|
|
1189
|
-
"type": "string"
|
|
1190
|
-
}
|
|
1191
|
-
},
|
|
1192
|
-
"required": [
|
|
1193
|
-
"name",
|
|
1194
|
-
"available",
|
|
1195
|
-
"isolation"
|
|
1196
|
-
],
|
|
1197
|
-
"additionalProperties": false
|
|
1198
|
-
}
|
|
1199
|
-
},
|
|
1200
|
-
"defaultImage": {
|
|
1201
|
-
"type": "string"
|
|
1202
|
-
},
|
|
1203
|
-
"config": {
|
|
1159
|
+
"limits": {
|
|
1204
1160
|
"type": "object",
|
|
1205
1161
|
"properties": {
|
|
1206
|
-
"
|
|
1207
|
-
"type": "
|
|
1208
|
-
"
|
|
1209
|
-
"network": {
|
|
1210
|
-
"type": "array",
|
|
1211
|
-
"items": {
|
|
1212
|
-
"type": "string"
|
|
1213
|
-
}
|
|
1214
|
-
},
|
|
1215
|
-
"resources": {
|
|
1216
|
-
"type": "object",
|
|
1217
|
-
"properties": {
|
|
1218
|
-
"cpus": {
|
|
1219
|
-
"type": "number"
|
|
1220
|
-
},
|
|
1221
|
-
"memoryMiB": {
|
|
1222
|
-
"type": "number"
|
|
1223
|
-
}
|
|
1224
|
-
},
|
|
1225
|
-
"required": [
|
|
1226
|
-
"cpus",
|
|
1227
|
-
"memoryMiB"
|
|
1228
|
-
],
|
|
1229
|
-
"additionalProperties": false
|
|
1230
|
-
},
|
|
1231
|
-
"defaultResources": {
|
|
1232
|
-
"type": "object",
|
|
1233
|
-
"properties": {
|
|
1234
|
-
"cpus": {
|
|
1235
|
-
"type": "number"
|
|
1236
|
-
},
|
|
1237
|
-
"memoryMiB": {
|
|
1238
|
-
"type": "number"
|
|
1239
|
-
}
|
|
1240
|
-
},
|
|
1241
|
-
"required": [
|
|
1242
|
-
"cpus",
|
|
1243
|
-
"memoryMiB"
|
|
1244
|
-
],
|
|
1245
|
-
"additionalProperties": false
|
|
1246
|
-
},
|
|
1247
|
-
"idle": {
|
|
1248
|
-
"type": "string"
|
|
1249
|
-
},
|
|
1250
|
-
"environments": {
|
|
1251
|
-
"type": "integer",
|
|
1252
|
-
"minimum": 0
|
|
1253
|
-
}
|
|
1254
|
-
},
|
|
1255
|
-
"required": [
|
|
1256
|
-
"network",
|
|
1257
|
-
"resources",
|
|
1258
|
-
"defaultResources",
|
|
1259
|
-
"idle"
|
|
1260
|
-
],
|
|
1261
|
-
"additionalProperties": false
|
|
1162
|
+
"recordEntryBytes": {
|
|
1163
|
+
"type": "integer",
|
|
1164
|
+
"exclusiveMinimum": 0
|
|
1262
1165
|
},
|
|
1263
|
-
"
|
|
1264
|
-
"type": "
|
|
1265
|
-
"
|
|
1266
|
-
"stopGrace": {
|
|
1267
|
-
"type": "string"
|
|
1268
|
-
}
|
|
1269
|
-
},
|
|
1270
|
-
"required": [
|
|
1271
|
-
"stopGrace"
|
|
1272
|
-
],
|
|
1273
|
-
"additionalProperties": false
|
|
1166
|
+
"modelCallBytes": {
|
|
1167
|
+
"type": "integer",
|
|
1168
|
+
"exclusiveMinimum": 0
|
|
1274
1169
|
},
|
|
1275
|
-
"
|
|
1276
|
-
"type": "
|
|
1277
|
-
"
|
|
1278
|
-
"type": "object",
|
|
1279
|
-
"properties": {
|
|
1280
|
-
"hosts": {
|
|
1281
|
-
"type": "array",
|
|
1282
|
-
"items": {
|
|
1283
|
-
"type": "string",
|
|
1284
|
-
"enum": [
|
|
1285
|
-
"harness-container",
|
|
1286
|
-
"sandbox"
|
|
1287
|
-
]
|
|
1288
|
-
}
|
|
1289
|
-
}
|
|
1290
|
-
},
|
|
1291
|
-
"required": [
|
|
1292
|
-
"hosts"
|
|
1293
|
-
],
|
|
1294
|
-
"additionalProperties": false
|
|
1295
|
-
}
|
|
1296
|
-
}
|
|
1297
|
-
},
|
|
1298
|
-
"required": [
|
|
1299
|
-
"limits"
|
|
1300
|
-
],
|
|
1301
|
-
"additionalProperties": false
|
|
1302
|
-
},
|
|
1303
|
-
"cluster": {
|
|
1304
|
-
"type": [
|
|
1305
|
-
"object",
|
|
1306
|
-
"null"
|
|
1307
|
-
],
|
|
1308
|
-
"properties": {
|
|
1309
|
-
"namespace": {
|
|
1310
|
-
"type": "string"
|
|
1170
|
+
"modelFileBytes": {
|
|
1171
|
+
"type": "integer",
|
|
1172
|
+
"exclusiveMinimum": 0
|
|
1311
1173
|
},
|
|
1312
|
-
"
|
|
1313
|
-
"type": "
|
|
1174
|
+
"toolAnswerBytes": {
|
|
1175
|
+
"type": "integer",
|
|
1176
|
+
"exclusiveMinimum": 0
|
|
1314
1177
|
},
|
|
1315
|
-
"
|
|
1316
|
-
"type": "
|
|
1178
|
+
"harnessStateBytes": {
|
|
1179
|
+
"type": "integer",
|
|
1180
|
+
"exclusiveMinimum": 0
|
|
1317
1181
|
},
|
|
1318
|
-
"
|
|
1319
|
-
"type": "
|
|
1182
|
+
"chunkBytes": {
|
|
1183
|
+
"type": "integer",
|
|
1184
|
+
"exclusiveMinimum": 0
|
|
1320
1185
|
},
|
|
1321
|
-
"
|
|
1322
|
-
"type": "
|
|
1323
|
-
"
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
"
|
|
1332
|
-
|
|
1333
|
-
|
|
1186
|
+
"folderEntries": {
|
|
1187
|
+
"type": "integer",
|
|
1188
|
+
"exclusiveMinimum": 0
|
|
1189
|
+
},
|
|
1190
|
+
"requestBodyBytes": {
|
|
1191
|
+
"type": "integer",
|
|
1192
|
+
"exclusiveMinimum": 0
|
|
1193
|
+
},
|
|
1194
|
+
"messageParts": {
|
|
1195
|
+
"type": "integer",
|
|
1196
|
+
"exclusiveMinimum": 0
|
|
1197
|
+
},
|
|
1198
|
+
"pageItems": {
|
|
1199
|
+
"type": "integer",
|
|
1200
|
+
"exclusiveMinimum": 0
|
|
1201
|
+
},
|
|
1202
|
+
"exportPageItems": {
|
|
1203
|
+
"type": "integer",
|
|
1204
|
+
"exclusiveMinimum": 0
|
|
1205
|
+
},
|
|
1206
|
+
"environmentEventItems": {
|
|
1207
|
+
"type": "integer",
|
|
1208
|
+
"exclusiveMinimum": 0
|
|
1209
|
+
},
|
|
1210
|
+
"inlineFileBytes": {
|
|
1211
|
+
"type": "integer",
|
|
1212
|
+
"exclusiveMinimum": 0
|
|
1213
|
+
},
|
|
1214
|
+
"a2aWaitMs": {
|
|
1215
|
+
"type": "integer",
|
|
1216
|
+
"exclusiveMinimum": 0
|
|
1217
|
+
},
|
|
1218
|
+
"errorExcerptChars": {
|
|
1219
|
+
"type": "integer",
|
|
1220
|
+
"exclusiveMinimum": 0
|
|
1221
|
+
},
|
|
1222
|
+
"traceContentBytes": {
|
|
1223
|
+
"type": "integer",
|
|
1224
|
+
"exclusiveMinimum": 0
|
|
1225
|
+
},
|
|
1226
|
+
"environmentLabels": {
|
|
1227
|
+
"type": "integer",
|
|
1228
|
+
"exclusiveMinimum": 0
|
|
1229
|
+
},
|
|
1230
|
+
"artifactLabels": {
|
|
1231
|
+
"type": "integer",
|
|
1232
|
+
"exclusiveMinimum": 0
|
|
1233
|
+
},
|
|
1234
|
+
"labelKeyChars": {
|
|
1235
|
+
"type": "integer",
|
|
1236
|
+
"exclusiveMinimum": 0
|
|
1237
|
+
},
|
|
1238
|
+
"labelValueChars": {
|
|
1239
|
+
"type": "integer",
|
|
1240
|
+
"exclusiveMinimum": 0
|
|
1241
|
+
},
|
|
1242
|
+
"environmentSetupCommands": {
|
|
1243
|
+
"type": "integer",
|
|
1244
|
+
"exclusiveMinimum": 0
|
|
1245
|
+
},
|
|
1246
|
+
"environmentFiles": {
|
|
1247
|
+
"type": "integer",
|
|
1248
|
+
"exclusiveMinimum": 0
|
|
1249
|
+
},
|
|
1250
|
+
"environmentFilesPerEntry": {
|
|
1251
|
+
"type": "integer",
|
|
1252
|
+
"exclusiveMinimum": 0
|
|
1253
|
+
},
|
|
1254
|
+
"environmentSecretSlots": {
|
|
1255
|
+
"type": "integer",
|
|
1256
|
+
"exclusiveMinimum": 0
|
|
1257
|
+
},
|
|
1258
|
+
"setupCommandChars": {
|
|
1259
|
+
"type": "integer",
|
|
1260
|
+
"exclusiveMinimum": 0
|
|
1261
|
+
},
|
|
1262
|
+
"setupCommandMs": {
|
|
1263
|
+
"type": "integer",
|
|
1264
|
+
"exclusiveMinimum": 0
|
|
1265
|
+
},
|
|
1266
|
+
"setupOutputChars": {
|
|
1267
|
+
"type": "integer",
|
|
1268
|
+
"exclusiveMinimum": 0
|
|
1269
|
+
},
|
|
1270
|
+
"setupReasonChars": {
|
|
1271
|
+
"type": "integer",
|
|
1272
|
+
"exclusiveMinimum": 0
|
|
1273
|
+
},
|
|
1274
|
+
"setupCommandExcerptChars": {
|
|
1275
|
+
"type": "integer",
|
|
1276
|
+
"exclusiveMinimum": 0
|
|
1277
|
+
},
|
|
1278
|
+
"manifestDescriptionChars": {
|
|
1279
|
+
"type": "integer",
|
|
1280
|
+
"exclusiveMinimum": 0
|
|
1281
|
+
},
|
|
1282
|
+
"secretDescriptionChars": {
|
|
1283
|
+
"type": "integer",
|
|
1284
|
+
"exclusiveMinimum": 0
|
|
1285
|
+
},
|
|
1286
|
+
"secretValueChars": {
|
|
1287
|
+
"type": "integer",
|
|
1288
|
+
"exclusiveMinimum": 0
|
|
1289
|
+
},
|
|
1290
|
+
"secretHosts": {
|
|
1291
|
+
"type": "integer",
|
|
1292
|
+
"exclusiveMinimum": 0
|
|
1293
|
+
},
|
|
1294
|
+
"diskVersionEntries": {
|
|
1295
|
+
"type": "integer",
|
|
1296
|
+
"exclusiveMinimum": 0
|
|
1297
|
+
},
|
|
1298
|
+
"diskVersionBytes": {
|
|
1299
|
+
"type": "integer",
|
|
1300
|
+
"exclusiveMinimum": 0
|
|
1301
|
+
},
|
|
1302
|
+
"diskLeaseMs": {
|
|
1303
|
+
"type": "integer",
|
|
1304
|
+
"exclusiveMinimum": 0
|
|
1305
|
+
},
|
|
1306
|
+
"diskPodWaitMs": {
|
|
1307
|
+
"type": "integer",
|
|
1308
|
+
"exclusiveMinimum": 0
|
|
1309
|
+
},
|
|
1310
|
+
"modelRequestMs": {
|
|
1311
|
+
"type": "integer",
|
|
1312
|
+
"exclusiveMinimum": 0
|
|
1313
|
+
},
|
|
1314
|
+
"modelIdleMs": {
|
|
1315
|
+
"type": "integer",
|
|
1316
|
+
"exclusiveMinimum": 0
|
|
1317
|
+
},
|
|
1318
|
+
"modelAttempts": {
|
|
1319
|
+
"type": "integer",
|
|
1320
|
+
"exclusiveMinimum": 0
|
|
1321
|
+
},
|
|
1322
|
+
"modelRetryDelayMs": {
|
|
1323
|
+
"type": "integer",
|
|
1324
|
+
"exclusiveMinimum": 0
|
|
1325
|
+
},
|
|
1326
|
+
"modelProviderRetries": {
|
|
1327
|
+
"type": "integer",
|
|
1328
|
+
"minimum": 0
|
|
1329
|
+
},
|
|
1330
|
+
"modelRetryDelayMaxMs": {
|
|
1331
|
+
"type": "integer",
|
|
1332
|
+
"exclusiveMinimum": 0
|
|
1333
|
+
},
|
|
1334
|
+
"toolAttempts": {
|
|
1335
|
+
"type": "integer",
|
|
1336
|
+
"exclusiveMinimum": 0
|
|
1337
|
+
},
|
|
1338
|
+
"httpToolTimeoutMs": {
|
|
1339
|
+
"type": "integer",
|
|
1340
|
+
"exclusiveMinimum": 0
|
|
1341
|
+
},
|
|
1342
|
+
"mcpSnapshotBytes": {
|
|
1343
|
+
"type": "integer",
|
|
1344
|
+
"exclusiveMinimum": 0
|
|
1345
|
+
},
|
|
1346
|
+
"mcpPreviewMs": {
|
|
1347
|
+
"type": "integer",
|
|
1348
|
+
"exclusiveMinimum": 0
|
|
1349
|
+
},
|
|
1350
|
+
"mcpMetadataBytes": {
|
|
1351
|
+
"type": "integer",
|
|
1352
|
+
"exclusiveMinimum": 0
|
|
1353
|
+
},
|
|
1354
|
+
"toolRules": {
|
|
1355
|
+
"type": "integer",
|
|
1356
|
+
"exclusiveMinimum": 0
|
|
1357
|
+
},
|
|
1358
|
+
"toolRuleFieldChars": {
|
|
1359
|
+
"type": "integer",
|
|
1360
|
+
"exclusiveMinimum": 0
|
|
1361
|
+
},
|
|
1362
|
+
"toolRuleTextChars": {
|
|
1363
|
+
"type": "integer",
|
|
1364
|
+
"exclusiveMinimum": 0
|
|
1365
|
+
},
|
|
1366
|
+
"modelBudgets": {
|
|
1367
|
+
"type": "integer",
|
|
1368
|
+
"exclusiveMinimum": 0
|
|
1369
|
+
},
|
|
1370
|
+
"flowConcurrency": {
|
|
1371
|
+
"type": "integer",
|
|
1372
|
+
"exclusiveMinimum": 0
|
|
1373
|
+
},
|
|
1374
|
+
"flowMapItems": {
|
|
1375
|
+
"type": "integer",
|
|
1376
|
+
"exclusiveMinimum": 0
|
|
1377
|
+
},
|
|
1378
|
+
"flowLoopIterations": {
|
|
1379
|
+
"type": "integer",
|
|
1380
|
+
"exclusiveMinimum": 0
|
|
1334
1381
|
}
|
|
1335
1382
|
},
|
|
1336
1383
|
"required": [
|
|
1337
|
-
"
|
|
1338
|
-
"
|
|
1339
|
-
"
|
|
1340
|
-
|
|
1384
|
+
"recordEntryBytes",
|
|
1385
|
+
"modelCallBytes",
|
|
1386
|
+
"modelFileBytes",
|
|
1387
|
+
"toolAnswerBytes",
|
|
1388
|
+
"harnessStateBytes",
|
|
1389
|
+
"chunkBytes",
|
|
1390
|
+
"folderEntries",
|
|
1391
|
+
"requestBodyBytes",
|
|
1392
|
+
"messageParts",
|
|
1393
|
+
"pageItems",
|
|
1394
|
+
"exportPageItems",
|
|
1395
|
+
"environmentEventItems",
|
|
1396
|
+
"inlineFileBytes",
|
|
1397
|
+
"a2aWaitMs",
|
|
1398
|
+
"errorExcerptChars",
|
|
1399
|
+
"traceContentBytes",
|
|
1400
|
+
"environmentLabels",
|
|
1401
|
+
"artifactLabels",
|
|
1402
|
+
"labelKeyChars",
|
|
1403
|
+
"labelValueChars",
|
|
1404
|
+
"environmentSetupCommands",
|
|
1405
|
+
"environmentFiles",
|
|
1406
|
+
"environmentFilesPerEntry",
|
|
1407
|
+
"environmentSecretSlots",
|
|
1408
|
+
"setupCommandChars",
|
|
1409
|
+
"setupCommandMs",
|
|
1410
|
+
"setupOutputChars",
|
|
1411
|
+
"setupReasonChars",
|
|
1412
|
+
"setupCommandExcerptChars",
|
|
1413
|
+
"manifestDescriptionChars",
|
|
1414
|
+
"secretDescriptionChars",
|
|
1415
|
+
"secretValueChars",
|
|
1416
|
+
"secretHosts",
|
|
1417
|
+
"diskVersionEntries",
|
|
1418
|
+
"diskVersionBytes",
|
|
1419
|
+
"diskLeaseMs",
|
|
1420
|
+
"diskPodWaitMs",
|
|
1421
|
+
"modelRequestMs",
|
|
1422
|
+
"modelIdleMs",
|
|
1423
|
+
"modelAttempts",
|
|
1424
|
+
"modelRetryDelayMs",
|
|
1425
|
+
"modelProviderRetries",
|
|
1426
|
+
"modelRetryDelayMaxMs",
|
|
1427
|
+
"toolAttempts",
|
|
1428
|
+
"httpToolTimeoutMs",
|
|
1429
|
+
"mcpSnapshotBytes",
|
|
1430
|
+
"mcpPreviewMs",
|
|
1431
|
+
"mcpMetadataBytes",
|
|
1432
|
+
"toolRules",
|
|
1433
|
+
"toolRuleFieldChars",
|
|
1434
|
+
"toolRuleTextChars",
|
|
1435
|
+
"modelBudgets",
|
|
1436
|
+
"flowConcurrency",
|
|
1437
|
+
"flowMapItems",
|
|
1438
|
+
"flowLoopIterations"
|
|
1439
|
+
],
|
|
1440
|
+
"additionalProperties": false
|
|
1341
1441
|
}
|
|
1342
1442
|
},
|
|
1343
1443
|
"required": [
|
|
1344
|
-
"
|
|
1345
|
-
"backend",
|
|
1346
|
-
"isolation",
|
|
1347
|
-
"reason",
|
|
1348
|
-
"probes",
|
|
1349
|
-
"defaultImage",
|
|
1350
|
-
"config"
|
|
1444
|
+
"limits"
|
|
1351
1445
|
],
|
|
1352
1446
|
"additionalProperties": false
|
|
1353
1447
|
},
|
|
1354
|
-
"
|
|
1448
|
+
"PutTenantLimitsRequest": {
|
|
1355
1449
|
"type": "object",
|
|
1356
1450
|
"properties": {
|
|
1357
1451
|
"limits": {
|
|
1358
1452
|
"type": "object",
|
|
1359
1453
|
"properties": {
|
|
1360
|
-
"
|
|
1361
|
-
"type": "
|
|
1362
|
-
"
|
|
1363
|
-
"type": "string"
|
|
1364
|
-
}
|
|
1454
|
+
"recordEntryBytes": {
|
|
1455
|
+
"type": "integer",
|
|
1456
|
+
"exclusiveMinimum": 0
|
|
1365
1457
|
},
|
|
1366
|
-
"
|
|
1367
|
-
"type": "
|
|
1368
|
-
"
|
|
1369
|
-
"cpus": {
|
|
1370
|
-
"type": "integer",
|
|
1371
|
-
"minimum": 1,
|
|
1372
|
-
"maximum": 64
|
|
1373
|
-
},
|
|
1374
|
-
"memory": {
|
|
1375
|
-
"type": "string"
|
|
1376
|
-
}
|
|
1377
|
-
},
|
|
1378
|
-
"additionalProperties": false
|
|
1458
|
+
"modelCallBytes": {
|
|
1459
|
+
"type": "integer",
|
|
1460
|
+
"exclusiveMinimum": 0
|
|
1379
1461
|
},
|
|
1380
|
-
"
|
|
1381
|
-
"type": "
|
|
1382
|
-
"
|
|
1383
|
-
"cpus": {
|
|
1384
|
-
"type": "integer",
|
|
1385
|
-
"minimum": 1,
|
|
1386
|
-
"maximum": 64
|
|
1387
|
-
},
|
|
1388
|
-
"memory": {
|
|
1389
|
-
"type": "string"
|
|
1390
|
-
}
|
|
1391
|
-
},
|
|
1392
|
-
"additionalProperties": false
|
|
1462
|
+
"modelFileBytes": {
|
|
1463
|
+
"type": "integer",
|
|
1464
|
+
"exclusiveMinimum": 0
|
|
1393
1465
|
},
|
|
1394
|
-
"
|
|
1395
|
-
"type": "
|
|
1466
|
+
"toolAnswerBytes": {
|
|
1467
|
+
"type": "integer",
|
|
1468
|
+
"exclusiveMinimum": 0
|
|
1396
1469
|
},
|
|
1397
|
-
"
|
|
1470
|
+
"harnessStateBytes": {
|
|
1398
1471
|
"type": "integer",
|
|
1399
|
-
"
|
|
1400
|
-
"maximum": 100000
|
|
1401
|
-
}
|
|
1402
|
-
},
|
|
1403
|
-
"additionalProperties": false
|
|
1404
|
-
},
|
|
1405
|
-
"lifecycle": {
|
|
1406
|
-
"type": "object",
|
|
1407
|
-
"properties": {
|
|
1408
|
-
"stopGrace": {
|
|
1409
|
-
"type": "string"
|
|
1410
|
-
}
|
|
1411
|
-
},
|
|
1412
|
-
"additionalProperties": false
|
|
1413
|
-
},
|
|
1414
|
-
"placement": {
|
|
1415
|
-
"type": "object",
|
|
1416
|
-
"additionalProperties": {
|
|
1417
|
-
"type": "object",
|
|
1418
|
-
"properties": {
|
|
1419
|
-
"hosts": {
|
|
1420
|
-
"type": "array",
|
|
1421
|
-
"items": {
|
|
1422
|
-
"type": "string",
|
|
1423
|
-
"enum": [
|
|
1424
|
-
"harness-container",
|
|
1425
|
-
"sandbox"
|
|
1426
|
-
]
|
|
1427
|
-
}
|
|
1428
|
-
}
|
|
1472
|
+
"exclusiveMinimum": 0
|
|
1429
1473
|
},
|
|
1430
|
-
"
|
|
1431
|
-
"
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
"
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1474
|
+
"chunkBytes": {
|
|
1475
|
+
"type": "integer",
|
|
1476
|
+
"exclusiveMinimum": 0
|
|
1477
|
+
},
|
|
1478
|
+
"folderEntries": {
|
|
1479
|
+
"type": "integer",
|
|
1480
|
+
"exclusiveMinimum": 0
|
|
1481
|
+
},
|
|
1482
|
+
"requestBodyBytes": {
|
|
1483
|
+
"type": "integer",
|
|
1484
|
+
"exclusiveMinimum": 0
|
|
1485
|
+
},
|
|
1486
|
+
"messageParts": {
|
|
1487
|
+
"type": "integer",
|
|
1488
|
+
"exclusiveMinimum": 0
|
|
1489
|
+
},
|
|
1490
|
+
"pageItems": {
|
|
1491
|
+
"type": "integer",
|
|
1492
|
+
"exclusiveMinimum": 0
|
|
1493
|
+
},
|
|
1494
|
+
"exportPageItems": {
|
|
1495
|
+
"type": "integer",
|
|
1496
|
+
"exclusiveMinimum": 0
|
|
1497
|
+
},
|
|
1498
|
+
"environmentEventItems": {
|
|
1499
|
+
"type": "integer",
|
|
1500
|
+
"exclusiveMinimum": 0
|
|
1501
|
+
},
|
|
1502
|
+
"inlineFileBytes": {
|
|
1503
|
+
"type": "integer",
|
|
1504
|
+
"exclusiveMinimum": 0
|
|
1505
|
+
},
|
|
1506
|
+
"a2aWaitMs": {
|
|
1507
|
+
"type": "integer",
|
|
1508
|
+
"exclusiveMinimum": 0
|
|
1509
|
+
},
|
|
1510
|
+
"errorExcerptChars": {
|
|
1511
|
+
"type": "integer",
|
|
1512
|
+
"exclusiveMinimum": 0
|
|
1513
|
+
},
|
|
1514
|
+
"traceContentBytes": {
|
|
1515
|
+
"type": "integer",
|
|
1516
|
+
"exclusiveMinimum": 0
|
|
1517
|
+
},
|
|
1518
|
+
"environmentLabels": {
|
|
1519
|
+
"type": "integer",
|
|
1520
|
+
"exclusiveMinimum": 0
|
|
1521
|
+
},
|
|
1522
|
+
"artifactLabels": {
|
|
1523
|
+
"type": "integer",
|
|
1524
|
+
"exclusiveMinimum": 0
|
|
1525
|
+
},
|
|
1526
|
+
"labelKeyChars": {
|
|
1527
|
+
"type": "integer",
|
|
1528
|
+
"exclusiveMinimum": 0
|
|
1529
|
+
},
|
|
1530
|
+
"labelValueChars": {
|
|
1531
|
+
"type": "integer",
|
|
1532
|
+
"exclusiveMinimum": 0
|
|
1533
|
+
},
|
|
1534
|
+
"environmentSetupCommands": {
|
|
1535
|
+
"type": "integer",
|
|
1536
|
+
"exclusiveMinimum": 0
|
|
1537
|
+
},
|
|
1538
|
+
"environmentFiles": {
|
|
1539
|
+
"type": "integer",
|
|
1540
|
+
"exclusiveMinimum": 0
|
|
1541
|
+
},
|
|
1542
|
+
"environmentFilesPerEntry": {
|
|
1543
|
+
"type": "integer",
|
|
1544
|
+
"exclusiveMinimum": 0
|
|
1545
|
+
},
|
|
1546
|
+
"environmentSecretSlots": {
|
|
1547
|
+
"type": "integer",
|
|
1548
|
+
"exclusiveMinimum": 0
|
|
1549
|
+
},
|
|
1550
|
+
"setupCommandChars": {
|
|
1551
|
+
"type": "integer",
|
|
1552
|
+
"exclusiveMinimum": 0
|
|
1553
|
+
},
|
|
1554
|
+
"setupCommandMs": {
|
|
1555
|
+
"type": "integer",
|
|
1556
|
+
"exclusiveMinimum": 0
|
|
1557
|
+
},
|
|
1558
|
+
"setupOutputChars": {
|
|
1559
|
+
"type": "integer",
|
|
1560
|
+
"exclusiveMinimum": 0
|
|
1561
|
+
},
|
|
1562
|
+
"setupReasonChars": {
|
|
1563
|
+
"type": "integer",
|
|
1564
|
+
"exclusiveMinimum": 0
|
|
1565
|
+
},
|
|
1566
|
+
"setupCommandExcerptChars": {
|
|
1567
|
+
"type": "integer",
|
|
1568
|
+
"exclusiveMinimum": 0
|
|
1569
|
+
},
|
|
1570
|
+
"manifestDescriptionChars": {
|
|
1571
|
+
"type": "integer",
|
|
1572
|
+
"exclusiveMinimum": 0
|
|
1573
|
+
},
|
|
1574
|
+
"secretDescriptionChars": {
|
|
1575
|
+
"type": "integer",
|
|
1576
|
+
"exclusiveMinimum": 0
|
|
1577
|
+
},
|
|
1578
|
+
"secretValueChars": {
|
|
1579
|
+
"type": "integer",
|
|
1580
|
+
"exclusiveMinimum": 0
|
|
1581
|
+
},
|
|
1582
|
+
"secretHosts": {
|
|
1583
|
+
"type": "integer",
|
|
1584
|
+
"exclusiveMinimum": 0
|
|
1585
|
+
},
|
|
1586
|
+
"diskVersionEntries": {
|
|
1587
|
+
"type": "integer",
|
|
1588
|
+
"exclusiveMinimum": 0
|
|
1589
|
+
},
|
|
1590
|
+
"diskVersionBytes": {
|
|
1591
|
+
"type": "integer",
|
|
1592
|
+
"exclusiveMinimum": 0
|
|
1593
|
+
},
|
|
1594
|
+
"diskLeaseMs": {
|
|
1595
|
+
"type": "integer",
|
|
1596
|
+
"exclusiveMinimum": 0
|
|
1597
|
+
},
|
|
1598
|
+
"diskPodWaitMs": {
|
|
1599
|
+
"type": "integer",
|
|
1600
|
+
"exclusiveMinimum": 0
|
|
1601
|
+
},
|
|
1602
|
+
"modelRequestMs": {
|
|
1603
|
+
"type": "integer",
|
|
1604
|
+
"exclusiveMinimum": 0
|
|
1605
|
+
},
|
|
1606
|
+
"modelIdleMs": {
|
|
1607
|
+
"type": "integer",
|
|
1608
|
+
"exclusiveMinimum": 0
|
|
1609
|
+
},
|
|
1610
|
+
"modelAttempts": {
|
|
1611
|
+
"type": "integer",
|
|
1612
|
+
"exclusiveMinimum": 0
|
|
1613
|
+
},
|
|
1614
|
+
"modelRetryDelayMs": {
|
|
1615
|
+
"type": "integer",
|
|
1616
|
+
"exclusiveMinimum": 0
|
|
1617
|
+
},
|
|
1618
|
+
"modelProviderRetries": {
|
|
1619
|
+
"type": "integer",
|
|
1620
|
+
"minimum": 0
|
|
1621
|
+
},
|
|
1622
|
+
"modelRetryDelayMaxMs": {
|
|
1623
|
+
"type": "integer",
|
|
1624
|
+
"exclusiveMinimum": 0
|
|
1625
|
+
},
|
|
1626
|
+
"toolAttempts": {
|
|
1627
|
+
"type": "integer",
|
|
1628
|
+
"exclusiveMinimum": 0
|
|
1629
|
+
},
|
|
1630
|
+
"httpToolTimeoutMs": {
|
|
1631
|
+
"type": "integer",
|
|
1632
|
+
"exclusiveMinimum": 0
|
|
1633
|
+
},
|
|
1634
|
+
"mcpSnapshotBytes": {
|
|
1635
|
+
"type": "integer",
|
|
1636
|
+
"exclusiveMinimum": 0
|
|
1637
|
+
},
|
|
1638
|
+
"mcpPreviewMs": {
|
|
1639
|
+
"type": "integer",
|
|
1640
|
+
"exclusiveMinimum": 0
|
|
1641
|
+
},
|
|
1642
|
+
"mcpMetadataBytes": {
|
|
1643
|
+
"type": "integer",
|
|
1644
|
+
"exclusiveMinimum": 0
|
|
1645
|
+
},
|
|
1646
|
+
"toolRules": {
|
|
1647
|
+
"type": "integer",
|
|
1648
|
+
"exclusiveMinimum": 0
|
|
1649
|
+
},
|
|
1650
|
+
"toolRuleFieldChars": {
|
|
1651
|
+
"type": "integer",
|
|
1652
|
+
"exclusiveMinimum": 0
|
|
1653
|
+
},
|
|
1654
|
+
"toolRuleTextChars": {
|
|
1655
|
+
"type": "integer",
|
|
1656
|
+
"exclusiveMinimum": 0
|
|
1657
|
+
},
|
|
1658
|
+
"modelBudgets": {
|
|
1659
|
+
"type": "integer",
|
|
1660
|
+
"exclusiveMinimum": 0
|
|
1661
|
+
},
|
|
1662
|
+
"flowConcurrency": {
|
|
1663
|
+
"type": "integer",
|
|
1664
|
+
"exclusiveMinimum": 0
|
|
1665
|
+
},
|
|
1666
|
+
"flowMapItems": {
|
|
1667
|
+
"type": "integer",
|
|
1668
|
+
"exclusiveMinimum": 0
|
|
1669
|
+
},
|
|
1670
|
+
"flowLoopIterations": {
|
|
1671
|
+
"type": "integer",
|
|
1672
|
+
"exclusiveMinimum": 0
|
|
1673
|
+
}
|
|
1674
|
+
},
|
|
1675
|
+
"additionalProperties": false
|
|
1456
1676
|
},
|
|
1457
|
-
"
|
|
1677
|
+
"requestId": {
|
|
1458
1678
|
"type": "string",
|
|
1459
|
-
"
|
|
1460
|
-
"day",
|
|
1461
|
-
"month",
|
|
1462
|
-
"total"
|
|
1463
|
-
]
|
|
1464
|
-
},
|
|
1465
|
-
"since": {
|
|
1466
|
-
"type": "string"
|
|
1467
|
-
},
|
|
1468
|
-
"calls": {
|
|
1469
|
-
"type": "integer",
|
|
1470
|
-
"minimum": 0
|
|
1471
|
-
},
|
|
1472
|
-
"tokens": {
|
|
1473
|
-
"type": "integer",
|
|
1474
|
-
"minimum": 0
|
|
1475
|
-
},
|
|
1476
|
-
"costUsd": {
|
|
1477
|
-
"type": "number",
|
|
1478
|
-
"minimum": 0
|
|
1679
|
+
"minLength": 1
|
|
1479
1680
|
}
|
|
1480
1681
|
},
|
|
1481
|
-
"required": [
|
|
1482
|
-
"scope",
|
|
1483
|
-
"period",
|
|
1484
|
-
"calls",
|
|
1485
|
-
"tokens",
|
|
1486
|
-
"costUsd"
|
|
1487
|
-
],
|
|
1488
1682
|
"additionalProperties": false
|
|
1489
1683
|
},
|
|
1490
|
-
"
|
|
1684
|
+
"TenantSandboxView": {
|
|
1491
1685
|
"type": "object",
|
|
1492
1686
|
"properties": {
|
|
1493
|
-
"
|
|
1687
|
+
"preference": {
|
|
1688
|
+
"anyOf": [
|
|
1689
|
+
{
|
|
1690
|
+
"type": "string",
|
|
1691
|
+
"enum": [
|
|
1692
|
+
"auto"
|
|
1693
|
+
]
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
"type": "string",
|
|
1697
|
+
"enum": [
|
|
1698
|
+
"virtual",
|
|
1699
|
+
"local"
|
|
1700
|
+
]
|
|
1701
|
+
}
|
|
1702
|
+
]
|
|
1703
|
+
},
|
|
1704
|
+
"backend": {
|
|
1705
|
+
"type": [
|
|
1706
|
+
"string",
|
|
1707
|
+
"null"
|
|
1708
|
+
],
|
|
1709
|
+
"enum": [
|
|
1710
|
+
"virtual",
|
|
1711
|
+
"local",
|
|
1712
|
+
null
|
|
1713
|
+
]
|
|
1714
|
+
},
|
|
1715
|
+
"isolation": {
|
|
1716
|
+
"type": [
|
|
1717
|
+
"string",
|
|
1718
|
+
"null"
|
|
1719
|
+
],
|
|
1720
|
+
"enum": [
|
|
1721
|
+
"process",
|
|
1722
|
+
"container",
|
|
1723
|
+
null
|
|
1724
|
+
]
|
|
1725
|
+
},
|
|
1726
|
+
"reason": {
|
|
1727
|
+
"type": "string"
|
|
1728
|
+
},
|
|
1729
|
+
"probes": {
|
|
1494
1730
|
"type": "array",
|
|
1495
1731
|
"items": {
|
|
1496
1732
|
"type": "object",
|
|
1497
1733
|
"properties": {
|
|
1498
|
-
"
|
|
1734
|
+
"name": {
|
|
1499
1735
|
"type": "string",
|
|
1500
1736
|
"enum": [
|
|
1501
|
-
"
|
|
1502
|
-
"
|
|
1503
|
-
"turn"
|
|
1737
|
+
"virtual",
|
|
1738
|
+
"local"
|
|
1504
1739
|
]
|
|
1505
1740
|
},
|
|
1506
|
-
"
|
|
1507
|
-
"type": "
|
|
1508
|
-
"minLength": 1
|
|
1741
|
+
"available": {
|
|
1742
|
+
"type": "boolean"
|
|
1509
1743
|
},
|
|
1510
|
-
"
|
|
1744
|
+
"isolation": {
|
|
1511
1745
|
"type": "string",
|
|
1512
1746
|
"enum": [
|
|
1513
|
-
"
|
|
1514
|
-
"
|
|
1747
|
+
"process",
|
|
1748
|
+
"container"
|
|
1515
1749
|
]
|
|
1516
1750
|
},
|
|
1517
|
-
"
|
|
1518
|
-
"type": "
|
|
1519
|
-
"exclusiveMinimum": 0
|
|
1751
|
+
"reason": {
|
|
1752
|
+
"type": "string"
|
|
1520
1753
|
},
|
|
1521
|
-
"
|
|
1522
|
-
"type": "
|
|
1523
|
-
"exclusiveMinimum": 0
|
|
1754
|
+
"version": {
|
|
1755
|
+
"type": "string"
|
|
1524
1756
|
}
|
|
1525
1757
|
},
|
|
1526
1758
|
"required": [
|
|
1527
|
-
"
|
|
1759
|
+
"name",
|
|
1760
|
+
"available",
|
|
1761
|
+
"isolation"
|
|
1528
1762
|
],
|
|
1529
1763
|
"additionalProperties": false
|
|
1530
1764
|
}
|
|
1531
|
-
}
|
|
1532
|
-
},
|
|
1533
|
-
"required": [
|
|
1534
|
-
"budgets"
|
|
1535
|
-
],
|
|
1536
|
-
"additionalProperties": false
|
|
1537
|
-
},
|
|
1538
|
-
"PutModelBudgetsRequest": {
|
|
1539
|
-
"type": "object",
|
|
1540
|
-
"properties": {
|
|
1541
|
-
"requestId": {
|
|
1542
|
-
"type": "string",
|
|
1543
|
-
"minLength": 1
|
|
1544
1765
|
},
|
|
1545
|
-
"
|
|
1546
|
-
"type": "
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
"
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
"
|
|
1561
|
-
},
|
|
1562
|
-
"period": {
|
|
1563
|
-
"type": "string",
|
|
1564
|
-
"enum": [
|
|
1565
|
-
"day",
|
|
1566
|
-
"month"
|
|
1567
|
-
]
|
|
1568
|
-
},
|
|
1569
|
-
"limitUsd": {
|
|
1570
|
-
"type": "number",
|
|
1571
|
-
"exclusiveMinimum": 0
|
|
1572
|
-
},
|
|
1573
|
-
"limitTokens": {
|
|
1574
|
-
"type": "integer",
|
|
1575
|
-
"exclusiveMinimum": 0
|
|
1576
|
-
}
|
|
1577
|
-
},
|
|
1578
|
-
"required": [
|
|
1579
|
-
"scope"
|
|
1580
|
-
],
|
|
1581
|
-
"additionalProperties": false
|
|
1582
|
-
},
|
|
1583
|
-
"maxItems": 100
|
|
1584
|
-
}
|
|
1585
|
-
},
|
|
1586
|
-
"required": [
|
|
1587
|
-
"budgets"
|
|
1588
|
-
],
|
|
1589
|
-
"additionalProperties": false
|
|
1590
|
-
},
|
|
1591
|
-
"ToolPolicy": {
|
|
1592
|
-
"type": "object",
|
|
1593
|
-
"properties": {
|
|
1594
|
-
"rules": {
|
|
1595
|
-
"type": "array",
|
|
1596
|
-
"items": {
|
|
1597
|
-
"type": "object",
|
|
1598
|
-
"properties": {
|
|
1599
|
-
"effect": {
|
|
1600
|
-
"type": "string",
|
|
1601
|
-
"enum": [
|
|
1602
|
-
"allow",
|
|
1603
|
-
"ask",
|
|
1604
|
-
"deny"
|
|
1605
|
-
]
|
|
1606
|
-
},
|
|
1607
|
-
"tool": {
|
|
1608
|
-
"type": "string",
|
|
1609
|
-
"minLength": 1,
|
|
1610
|
-
"maxLength": 200
|
|
1611
|
-
},
|
|
1612
|
-
"server": {
|
|
1613
|
-
"type": "string",
|
|
1614
|
-
"minLength": 1,
|
|
1615
|
-
"maxLength": 200
|
|
1616
|
-
},
|
|
1617
|
-
"kind": {
|
|
1618
|
-
"type": "string",
|
|
1619
|
-
"enum": [
|
|
1620
|
-
"mcp",
|
|
1621
|
-
"http"
|
|
1622
|
-
]
|
|
1623
|
-
},
|
|
1624
|
-
"agent": {
|
|
1625
|
-
"type": "string",
|
|
1626
|
-
"minLength": 1,
|
|
1627
|
-
"maxLength": 200
|
|
1628
|
-
},
|
|
1629
|
-
"when": {
|
|
1630
|
-
"type": "object",
|
|
1631
|
-
"additionalProperties": {
|
|
1766
|
+
"defaultImage": {
|
|
1767
|
+
"type": "string"
|
|
1768
|
+
},
|
|
1769
|
+
"config": {
|
|
1770
|
+
"type": "object",
|
|
1771
|
+
"properties": {
|
|
1772
|
+
"limits": {
|
|
1773
|
+
"type": "object",
|
|
1774
|
+
"properties": {
|
|
1775
|
+
"network": {
|
|
1776
|
+
"type": "array",
|
|
1777
|
+
"items": {
|
|
1778
|
+
"type": "string"
|
|
1779
|
+
}
|
|
1780
|
+
},
|
|
1781
|
+
"resources": {
|
|
1632
1782
|
"type": "object",
|
|
1633
1783
|
"properties": {
|
|
1634
|
-
"
|
|
1635
|
-
"$ref": "#/components/schemas/JsonValue"
|
|
1636
|
-
},
|
|
1637
|
-
"in": {
|
|
1638
|
-
"type": "array",
|
|
1639
|
-
"items": {
|
|
1640
|
-
"$ref": "#/components/schemas/JsonValue"
|
|
1641
|
-
},
|
|
1642
|
-
"minItems": 1
|
|
1643
|
-
},
|
|
1644
|
-
"gt": {
|
|
1784
|
+
"cpus": {
|
|
1645
1785
|
"type": "number"
|
|
1646
1786
|
},
|
|
1647
|
-
"
|
|
1787
|
+
"memoryMiB": {
|
|
1648
1788
|
"type": "number"
|
|
1649
|
-
}
|
|
1650
|
-
|
|
1789
|
+
}
|
|
1790
|
+
},
|
|
1791
|
+
"required": [
|
|
1792
|
+
"cpus",
|
|
1793
|
+
"memoryMiB"
|
|
1794
|
+
],
|
|
1795
|
+
"additionalProperties": false
|
|
1796
|
+
},
|
|
1797
|
+
"defaultResources": {
|
|
1798
|
+
"type": "object",
|
|
1799
|
+
"properties": {
|
|
1800
|
+
"cpus": {
|
|
1651
1801
|
"type": "number"
|
|
1652
1802
|
},
|
|
1653
|
-
"
|
|
1803
|
+
"memoryMiB": {
|
|
1654
1804
|
"type": "number"
|
|
1655
|
-
},
|
|
1656
|
-
"matches": {
|
|
1657
|
-
"type": "string",
|
|
1658
|
-
"minLength": 1,
|
|
1659
|
-
"maxLength": 500
|
|
1660
1805
|
}
|
|
1661
1806
|
},
|
|
1807
|
+
"required": [
|
|
1808
|
+
"cpus",
|
|
1809
|
+
"memoryMiB"
|
|
1810
|
+
],
|
|
1662
1811
|
"additionalProperties": false
|
|
1812
|
+
},
|
|
1813
|
+
"idle": {
|
|
1814
|
+
"type": "string"
|
|
1815
|
+
},
|
|
1816
|
+
"environments": {
|
|
1817
|
+
"type": "integer",
|
|
1818
|
+
"minimum": 0
|
|
1663
1819
|
}
|
|
1664
1820
|
},
|
|
1665
|
-
"
|
|
1666
|
-
"
|
|
1667
|
-
"
|
|
1668
|
-
"
|
|
1669
|
-
|
|
1821
|
+
"required": [
|
|
1822
|
+
"network",
|
|
1823
|
+
"resources",
|
|
1824
|
+
"defaultResources",
|
|
1825
|
+
"idle"
|
|
1826
|
+
],
|
|
1827
|
+
"additionalProperties": false
|
|
1670
1828
|
},
|
|
1671
|
-
"
|
|
1672
|
-
"
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1829
|
+
"lifecycle": {
|
|
1830
|
+
"type": "object",
|
|
1831
|
+
"properties": {
|
|
1832
|
+
"stopGrace": {
|
|
1833
|
+
"type": "string"
|
|
1834
|
+
}
|
|
1835
|
+
},
|
|
1836
|
+
"required": [
|
|
1837
|
+
"stopGrace"
|
|
1838
|
+
],
|
|
1839
|
+
"additionalProperties": false
|
|
1840
|
+
},
|
|
1841
|
+
"placement": {
|
|
1842
|
+
"type": "object",
|
|
1843
|
+
"additionalProperties": {
|
|
1844
|
+
"type": "object",
|
|
1845
|
+
"properties": {
|
|
1846
|
+
"hosts": {
|
|
1847
|
+
"type": "array",
|
|
1848
|
+
"items": {
|
|
1849
|
+
"type": "string",
|
|
1850
|
+
"enum": [
|
|
1851
|
+
"harness-container",
|
|
1852
|
+
"sandbox"
|
|
1853
|
+
]
|
|
1854
|
+
}
|
|
1855
|
+
}
|
|
1856
|
+
},
|
|
1857
|
+
"required": [
|
|
1858
|
+
"hosts"
|
|
1859
|
+
],
|
|
1860
|
+
"additionalProperties": false
|
|
1861
|
+
}
|
|
1862
|
+
}
|
|
1863
|
+
},
|
|
1864
|
+
"required": [
|
|
1865
|
+
"limits"
|
|
1866
|
+
],
|
|
1867
|
+
"additionalProperties": false
|
|
1676
1868
|
},
|
|
1677
|
-
"
|
|
1869
|
+
"cluster": {
|
|
1678
1870
|
"type": [
|
|
1679
|
-
"
|
|
1871
|
+
"object",
|
|
1680
1872
|
"null"
|
|
1873
|
+
],
|
|
1874
|
+
"properties": {
|
|
1875
|
+
"namespace": {
|
|
1876
|
+
"type": "string"
|
|
1877
|
+
},
|
|
1878
|
+
"context": {
|
|
1879
|
+
"type": "string"
|
|
1880
|
+
},
|
|
1881
|
+
"ready": {
|
|
1882
|
+
"type": "boolean"
|
|
1883
|
+
},
|
|
1884
|
+
"controllerVersion": {
|
|
1885
|
+
"type": "string"
|
|
1886
|
+
},
|
|
1887
|
+
"networkPolicy": {
|
|
1888
|
+
"type": "object",
|
|
1889
|
+
"properties": {
|
|
1890
|
+
"enforced": {
|
|
1891
|
+
"type": "boolean"
|
|
1892
|
+
},
|
|
1893
|
+
"probedAt": {
|
|
1894
|
+
"type": "string"
|
|
1895
|
+
}
|
|
1896
|
+
},
|
|
1897
|
+
"required": [
|
|
1898
|
+
"enforced"
|
|
1899
|
+
]
|
|
1900
|
+
}
|
|
1901
|
+
},
|
|
1902
|
+
"required": [
|
|
1903
|
+
"namespace",
|
|
1904
|
+
"context",
|
|
1905
|
+
"ready"
|
|
1681
1906
|
]
|
|
1682
1907
|
}
|
|
1683
1908
|
},
|
|
1684
1909
|
"required": [
|
|
1685
|
-
"
|
|
1686
|
-
"
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1910
|
+
"preference",
|
|
1911
|
+
"backend",
|
|
1912
|
+
"isolation",
|
|
1913
|
+
"reason",
|
|
1914
|
+
"probes",
|
|
1915
|
+
"defaultImage",
|
|
1916
|
+
"config"
|
|
1917
|
+
],
|
|
1918
|
+
"additionalProperties": false
|
|
1919
|
+
},
|
|
1920
|
+
"PutTenantEnvironmentsRequest": {
|
|
1921
|
+
"type": "object",
|
|
1922
|
+
"properties": {
|
|
1923
|
+
"limits": {
|
|
1924
|
+
"type": "object",
|
|
1925
|
+
"properties": {
|
|
1926
|
+
"network": {
|
|
1927
|
+
"type": "array",
|
|
1928
|
+
"items": {
|
|
1929
|
+
"type": "string"
|
|
1930
|
+
}
|
|
1931
|
+
},
|
|
1932
|
+
"resources": {
|
|
1933
|
+
"type": "object",
|
|
1934
|
+
"properties": {
|
|
1935
|
+
"cpus": {
|
|
1936
|
+
"type": "integer",
|
|
1937
|
+
"minimum": 1
|
|
1938
|
+
},
|
|
1939
|
+
"memory": {
|
|
1940
|
+
"type": "string"
|
|
1941
|
+
}
|
|
1942
|
+
},
|
|
1943
|
+
"additionalProperties": false
|
|
1944
|
+
},
|
|
1945
|
+
"defaultResources": {
|
|
1946
|
+
"type": "object",
|
|
1947
|
+
"properties": {
|
|
1948
|
+
"cpus": {
|
|
1949
|
+
"type": "integer",
|
|
1950
|
+
"minimum": 1
|
|
1951
|
+
},
|
|
1952
|
+
"memory": {
|
|
1953
|
+
"type": "string"
|
|
1954
|
+
}
|
|
1955
|
+
},
|
|
1956
|
+
"additionalProperties": false
|
|
1957
|
+
},
|
|
1958
|
+
"idle": {
|
|
1959
|
+
"type": "string"
|
|
1960
|
+
},
|
|
1961
|
+
"environments": {
|
|
1962
|
+
"type": "integer",
|
|
1963
|
+
"minimum": 0
|
|
1964
|
+
}
|
|
1965
|
+
},
|
|
1966
|
+
"additionalProperties": false
|
|
1967
|
+
},
|
|
1968
|
+
"lifecycle": {
|
|
1969
|
+
"type": "object",
|
|
1970
|
+
"properties": {
|
|
1971
|
+
"stopGrace": {
|
|
1972
|
+
"type": "string"
|
|
1973
|
+
}
|
|
1974
|
+
},
|
|
1975
|
+
"additionalProperties": false
|
|
1976
|
+
},
|
|
1977
|
+
"placement": {
|
|
1978
|
+
"type": "object",
|
|
1979
|
+
"additionalProperties": {
|
|
1980
|
+
"type": "object",
|
|
1981
|
+
"properties": {
|
|
1982
|
+
"hosts": {
|
|
1983
|
+
"type": "array",
|
|
1984
|
+
"items": {
|
|
1985
|
+
"type": "string",
|
|
1986
|
+
"enum": [
|
|
1987
|
+
"harness-container",
|
|
1988
|
+
"sandbox"
|
|
1989
|
+
]
|
|
1990
|
+
}
|
|
1991
|
+
}
|
|
1992
|
+
},
|
|
1993
|
+
"required": [
|
|
1994
|
+
"hosts"
|
|
1995
|
+
],
|
|
1996
|
+
"additionalProperties": false
|
|
1997
|
+
}
|
|
1998
|
+
},
|
|
1999
|
+
"requestId": {
|
|
2000
|
+
"type": "string",
|
|
2001
|
+
"minLength": 1
|
|
2002
|
+
}
|
|
2003
|
+
},
|
|
2004
|
+
"additionalProperties": false
|
|
2005
|
+
},
|
|
2006
|
+
"ModelUsageTotals": {
|
|
2007
|
+
"type": "object",
|
|
2008
|
+
"properties": {
|
|
2009
|
+
"scope": {
|
|
2010
|
+
"type": "string",
|
|
2011
|
+
"enum": [
|
|
2012
|
+
"tenant",
|
|
2013
|
+
"agent",
|
|
2014
|
+
"turn"
|
|
2015
|
+
]
|
|
2016
|
+
},
|
|
2017
|
+
"id": {
|
|
2018
|
+
"type": "string"
|
|
2019
|
+
},
|
|
2020
|
+
"period": {
|
|
2021
|
+
"type": "string",
|
|
2022
|
+
"enum": [
|
|
2023
|
+
"day",
|
|
2024
|
+
"month",
|
|
2025
|
+
"total"
|
|
2026
|
+
]
|
|
2027
|
+
},
|
|
2028
|
+
"since": {
|
|
2029
|
+
"type": "string"
|
|
2030
|
+
},
|
|
2031
|
+
"calls": {
|
|
2032
|
+
"type": "integer",
|
|
2033
|
+
"minimum": 0
|
|
2034
|
+
},
|
|
2035
|
+
"tokens": {
|
|
2036
|
+
"type": "integer",
|
|
2037
|
+
"minimum": 0
|
|
2038
|
+
},
|
|
2039
|
+
"costUsd": {
|
|
2040
|
+
"type": "number",
|
|
2041
|
+
"minimum": 0
|
|
2042
|
+
}
|
|
2043
|
+
},
|
|
2044
|
+
"required": [
|
|
2045
|
+
"scope",
|
|
2046
|
+
"period",
|
|
2047
|
+
"calls",
|
|
2048
|
+
"tokens",
|
|
2049
|
+
"costUsd"
|
|
2050
|
+
],
|
|
2051
|
+
"additionalProperties": false
|
|
2052
|
+
},
|
|
2053
|
+
"ModelBudgets": {
|
|
2054
|
+
"type": "object",
|
|
2055
|
+
"properties": {
|
|
2056
|
+
"budgets": {
|
|
2057
|
+
"type": "array",
|
|
2058
|
+
"items": {
|
|
2059
|
+
"type": "object",
|
|
2060
|
+
"properties": {
|
|
2061
|
+
"scope": {
|
|
2062
|
+
"type": "string",
|
|
2063
|
+
"enum": [
|
|
2064
|
+
"tenant",
|
|
2065
|
+
"agent",
|
|
2066
|
+
"turn"
|
|
2067
|
+
]
|
|
2068
|
+
},
|
|
2069
|
+
"id": {
|
|
2070
|
+
"type": "string",
|
|
2071
|
+
"minLength": 1
|
|
2072
|
+
},
|
|
2073
|
+
"period": {
|
|
2074
|
+
"type": "string",
|
|
2075
|
+
"enum": [
|
|
2076
|
+
"day",
|
|
2077
|
+
"month"
|
|
2078
|
+
]
|
|
2079
|
+
},
|
|
2080
|
+
"limitUsd": {
|
|
2081
|
+
"type": "number",
|
|
2082
|
+
"exclusiveMinimum": 0
|
|
2083
|
+
},
|
|
2084
|
+
"limitTokens": {
|
|
2085
|
+
"type": "integer",
|
|
2086
|
+
"exclusiveMinimum": 0
|
|
2087
|
+
}
|
|
2088
|
+
},
|
|
2089
|
+
"required": [
|
|
2090
|
+
"scope"
|
|
2091
|
+
],
|
|
2092
|
+
"additionalProperties": false
|
|
2093
|
+
}
|
|
2094
|
+
}
|
|
2095
|
+
},
|
|
2096
|
+
"required": [
|
|
2097
|
+
"budgets"
|
|
2098
|
+
],
|
|
2099
|
+
"additionalProperties": false
|
|
2100
|
+
},
|
|
2101
|
+
"PutModelBudgetsRequest": {
|
|
2102
|
+
"type": "object",
|
|
2103
|
+
"properties": {
|
|
1693
2104
|
"requestId": {
|
|
1694
2105
|
"type": "string",
|
|
1695
2106
|
"minLength": 1
|
|
1696
2107
|
},
|
|
2108
|
+
"budgets": {
|
|
2109
|
+
"type": "array",
|
|
2110
|
+
"items": {
|
|
2111
|
+
"type": "object",
|
|
2112
|
+
"properties": {
|
|
2113
|
+
"scope": {
|
|
2114
|
+
"type": "string",
|
|
2115
|
+
"enum": [
|
|
2116
|
+
"tenant",
|
|
2117
|
+
"agent",
|
|
2118
|
+
"turn"
|
|
2119
|
+
]
|
|
2120
|
+
},
|
|
2121
|
+
"id": {
|
|
2122
|
+
"type": "string",
|
|
2123
|
+
"minLength": 1
|
|
2124
|
+
},
|
|
2125
|
+
"period": {
|
|
2126
|
+
"type": "string",
|
|
2127
|
+
"enum": [
|
|
2128
|
+
"day",
|
|
2129
|
+
"month"
|
|
2130
|
+
]
|
|
2131
|
+
},
|
|
2132
|
+
"limitUsd": {
|
|
2133
|
+
"type": "number",
|
|
2134
|
+
"exclusiveMinimum": 0
|
|
2135
|
+
},
|
|
2136
|
+
"limitTokens": {
|
|
2137
|
+
"type": "integer",
|
|
2138
|
+
"exclusiveMinimum": 0
|
|
2139
|
+
}
|
|
2140
|
+
},
|
|
2141
|
+
"required": [
|
|
2142
|
+
"scope"
|
|
2143
|
+
],
|
|
2144
|
+
"additionalProperties": false
|
|
2145
|
+
}
|
|
2146
|
+
}
|
|
2147
|
+
},
|
|
2148
|
+
"required": [
|
|
2149
|
+
"budgets"
|
|
2150
|
+
],
|
|
2151
|
+
"additionalProperties": false
|
|
2152
|
+
},
|
|
2153
|
+
"ToolPolicy": {
|
|
2154
|
+
"type": "object",
|
|
2155
|
+
"properties": {
|
|
1697
2156
|
"rules": {
|
|
1698
2157
|
"type": "array",
|
|
1699
2158
|
"items": {
|
|
@@ -1709,13 +2168,11 @@
|
|
|
1709
2168
|
},
|
|
1710
2169
|
"tool": {
|
|
1711
2170
|
"type": "string",
|
|
1712
|
-
"minLength": 1
|
|
1713
|
-
"maxLength": 200
|
|
2171
|
+
"minLength": 1
|
|
1714
2172
|
},
|
|
1715
2173
|
"server": {
|
|
1716
2174
|
"type": "string",
|
|
1717
|
-
"minLength": 1
|
|
1718
|
-
"maxLength": 200
|
|
2175
|
+
"minLength": 1
|
|
1719
2176
|
},
|
|
1720
2177
|
"kind": {
|
|
1721
2178
|
"type": "string",
|
|
@@ -1726,8 +2183,7 @@
|
|
|
1726
2183
|
},
|
|
1727
2184
|
"agent": {
|
|
1728
2185
|
"type": "string",
|
|
1729
|
-
"minLength": 1
|
|
1730
|
-
"maxLength": 200
|
|
2186
|
+
"minLength": 1
|
|
1731
2187
|
},
|
|
1732
2188
|
"when": {
|
|
1733
2189
|
"type": "object",
|
|
@@ -1758,8 +2214,7 @@
|
|
|
1758
2214
|
},
|
|
1759
2215
|
"matches": {
|
|
1760
2216
|
"type": "string",
|
|
1761
|
-
"minLength": 1
|
|
1762
|
-
"maxLength": 500
|
|
2217
|
+
"minLength": 1
|
|
1763
2218
|
}
|
|
1764
2219
|
},
|
|
1765
2220
|
"additionalProperties": false
|
|
@@ -1767,20 +2222,116 @@
|
|
|
1767
2222
|
},
|
|
1768
2223
|
"reason": {
|
|
1769
2224
|
"type": "string",
|
|
1770
|
-
"minLength": 1
|
|
1771
|
-
"maxLength": 500
|
|
2225
|
+
"minLength": 1
|
|
1772
2226
|
}
|
|
1773
2227
|
},
|
|
1774
2228
|
"required": [
|
|
1775
2229
|
"effect"
|
|
1776
2230
|
],
|
|
1777
2231
|
"additionalProperties": false
|
|
1778
|
-
}
|
|
1779
|
-
|
|
2232
|
+
}
|
|
2233
|
+
},
|
|
2234
|
+
"updatedAt": {
|
|
2235
|
+
"type": [
|
|
2236
|
+
"string",
|
|
2237
|
+
"null"
|
|
2238
|
+
]
|
|
1780
2239
|
}
|
|
1781
2240
|
},
|
|
1782
2241
|
"required": [
|
|
1783
|
-
"rules"
|
|
2242
|
+
"rules",
|
|
2243
|
+
"updatedAt"
|
|
2244
|
+
],
|
|
2245
|
+
"additionalProperties": false
|
|
2246
|
+
},
|
|
2247
|
+
"PutToolPolicyRequest": {
|
|
2248
|
+
"type": "object",
|
|
2249
|
+
"properties": {
|
|
2250
|
+
"requestId": {
|
|
2251
|
+
"type": "string",
|
|
2252
|
+
"minLength": 1
|
|
2253
|
+
},
|
|
2254
|
+
"rules": {
|
|
2255
|
+
"type": "array",
|
|
2256
|
+
"items": {
|
|
2257
|
+
"type": "object",
|
|
2258
|
+
"properties": {
|
|
2259
|
+
"effect": {
|
|
2260
|
+
"type": "string",
|
|
2261
|
+
"enum": [
|
|
2262
|
+
"allow",
|
|
2263
|
+
"ask",
|
|
2264
|
+
"deny"
|
|
2265
|
+
]
|
|
2266
|
+
},
|
|
2267
|
+
"tool": {
|
|
2268
|
+
"type": "string",
|
|
2269
|
+
"minLength": 1
|
|
2270
|
+
},
|
|
2271
|
+
"server": {
|
|
2272
|
+
"type": "string",
|
|
2273
|
+
"minLength": 1
|
|
2274
|
+
},
|
|
2275
|
+
"kind": {
|
|
2276
|
+
"type": "string",
|
|
2277
|
+
"enum": [
|
|
2278
|
+
"mcp",
|
|
2279
|
+
"http"
|
|
2280
|
+
]
|
|
2281
|
+
},
|
|
2282
|
+
"agent": {
|
|
2283
|
+
"type": "string",
|
|
2284
|
+
"minLength": 1
|
|
2285
|
+
},
|
|
2286
|
+
"when": {
|
|
2287
|
+
"type": "object",
|
|
2288
|
+
"additionalProperties": {
|
|
2289
|
+
"type": "object",
|
|
2290
|
+
"properties": {
|
|
2291
|
+
"equals": {
|
|
2292
|
+
"$ref": "#/components/schemas/JsonValue"
|
|
2293
|
+
},
|
|
2294
|
+
"in": {
|
|
2295
|
+
"type": "array",
|
|
2296
|
+
"items": {
|
|
2297
|
+
"$ref": "#/components/schemas/JsonValue"
|
|
2298
|
+
},
|
|
2299
|
+
"minItems": 1
|
|
2300
|
+
},
|
|
2301
|
+
"gt": {
|
|
2302
|
+
"type": "number"
|
|
2303
|
+
},
|
|
2304
|
+
"gte": {
|
|
2305
|
+
"type": "number"
|
|
2306
|
+
},
|
|
2307
|
+
"lt": {
|
|
2308
|
+
"type": "number"
|
|
2309
|
+
},
|
|
2310
|
+
"lte": {
|
|
2311
|
+
"type": "number"
|
|
2312
|
+
},
|
|
2313
|
+
"matches": {
|
|
2314
|
+
"type": "string",
|
|
2315
|
+
"minLength": 1
|
|
2316
|
+
}
|
|
2317
|
+
},
|
|
2318
|
+
"additionalProperties": false
|
|
2319
|
+
}
|
|
2320
|
+
},
|
|
2321
|
+
"reason": {
|
|
2322
|
+
"type": "string",
|
|
2323
|
+
"minLength": 1
|
|
2324
|
+
}
|
|
2325
|
+
},
|
|
2326
|
+
"required": [
|
|
2327
|
+
"effect"
|
|
2328
|
+
],
|
|
2329
|
+
"additionalProperties": false
|
|
2330
|
+
}
|
|
2331
|
+
}
|
|
2332
|
+
},
|
|
2333
|
+
"required": [
|
|
2334
|
+
"rules"
|
|
1784
2335
|
],
|
|
1785
2336
|
"additionalProperties": false
|
|
1786
2337
|
},
|
|
@@ -1816,7 +2367,7 @@
|
|
|
1816
2367
|
"properties": {
|
|
1817
2368
|
"contextWindow": {
|
|
1818
2369
|
"type": "integer",
|
|
1819
|
-
"minimum":
|
|
2370
|
+
"minimum": 1
|
|
1820
2371
|
},
|
|
1821
2372
|
"maxTokens": {
|
|
1822
2373
|
"type": "integer",
|
|
@@ -1931,7 +2482,7 @@
|
|
|
1931
2482
|
"properties": {
|
|
1932
2483
|
"contextWindow": {
|
|
1933
2484
|
"type": "integer",
|
|
1934
|
-
"minimum":
|
|
2485
|
+
"minimum": 1
|
|
1935
2486
|
},
|
|
1936
2487
|
"maxTokens": {
|
|
1937
2488
|
"type": "integer",
|
|
@@ -2001,7 +2552,7 @@
|
|
|
2001
2552
|
"properties": {
|
|
2002
2553
|
"contextWindow": {
|
|
2003
2554
|
"type": "integer",
|
|
2004
|
-
"minimum":
|
|
2555
|
+
"minimum": 1
|
|
2005
2556
|
},
|
|
2006
2557
|
"maxTokens": {
|
|
2007
2558
|
"type": "integer",
|
|
@@ -2921,15 +3472,485 @@
|
|
|
2921
3472
|
"additionalProperties": false
|
|
2922
3473
|
}
|
|
2923
3474
|
},
|
|
2924
|
-
"parameters": {}
|
|
2925
|
-
},
|
|
2926
|
-
"paths": {
|
|
2927
|
-
"/v1/tenant": {
|
|
3475
|
+
"parameters": {}
|
|
3476
|
+
},
|
|
3477
|
+
"paths": {
|
|
3478
|
+
"/v1/tenant": {
|
|
3479
|
+
"get": {
|
|
3480
|
+
"tags": [
|
|
3481
|
+
"Tenant"
|
|
3482
|
+
],
|
|
3483
|
+
"summary": "Get the Tenant's status",
|
|
3484
|
+
"security": [
|
|
3485
|
+
{
|
|
3486
|
+
"managementKey": []
|
|
3487
|
+
}
|
|
3488
|
+
],
|
|
3489
|
+
"x-nylorun-credentials": [
|
|
3490
|
+
"management"
|
|
3491
|
+
],
|
|
3492
|
+
"x-nylorun-scopes": "never",
|
|
3493
|
+
"parameters": [
|
|
3494
|
+
{
|
|
3495
|
+
"schema": {
|
|
3496
|
+
"type": "string",
|
|
3497
|
+
"description": "The protocol version, `15`"
|
|
3498
|
+
},
|
|
3499
|
+
"required": true,
|
|
3500
|
+
"description": "The protocol version, `15`",
|
|
3501
|
+
"name": "Nylorun-Protocol",
|
|
3502
|
+
"in": "header"
|
|
3503
|
+
}
|
|
3504
|
+
],
|
|
3505
|
+
"responses": {
|
|
3506
|
+
"200": {
|
|
3507
|
+
"description": "Readiness, model, sandboxes, streams and counts",
|
|
3508
|
+
"content": {
|
|
3509
|
+
"application/json": {
|
|
3510
|
+
"schema": {
|
|
3511
|
+
"$ref": "#/components/schemas/TenantStatus"
|
|
3512
|
+
}
|
|
3513
|
+
}
|
|
3514
|
+
}
|
|
3515
|
+
},
|
|
3516
|
+
"400": {
|
|
3517
|
+
"description": "Invalid headers, path, body or cursor",
|
|
3518
|
+
"content": {
|
|
3519
|
+
"application/json": {
|
|
3520
|
+
"schema": {
|
|
3521
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3522
|
+
}
|
|
3523
|
+
}
|
|
3524
|
+
}
|
|
3525
|
+
},
|
|
3526
|
+
"401": {
|
|
3527
|
+
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
3528
|
+
"content": {
|
|
3529
|
+
"application/json": {
|
|
3530
|
+
"schema": {
|
|
3531
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3532
|
+
}
|
|
3533
|
+
}
|
|
3534
|
+
}
|
|
3535
|
+
},
|
|
3536
|
+
"403": {
|
|
3537
|
+
"description": "Not allowed for this credential, a key of the other API (`key_role_mismatch`), a key from a browser (`origin_rejected`) or a management key acting for a subject",
|
|
3538
|
+
"content": {
|
|
3539
|
+
"application/json": {
|
|
3540
|
+
"schema": {
|
|
3541
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3542
|
+
}
|
|
3543
|
+
}
|
|
3544
|
+
}
|
|
3545
|
+
},
|
|
3546
|
+
"404": {
|
|
3547
|
+
"description": "Not found (`not_found`)",
|
|
3548
|
+
"content": {
|
|
3549
|
+
"application/json": {
|
|
3550
|
+
"schema": {
|
|
3551
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3552
|
+
}
|
|
3553
|
+
}
|
|
3554
|
+
}
|
|
3555
|
+
},
|
|
3556
|
+
"426": {
|
|
3557
|
+
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
3558
|
+
"content": {
|
|
3559
|
+
"application/json": {
|
|
3560
|
+
"schema": {
|
|
3561
|
+
"$ref": "#/components/schemas/ProtocolRejected"
|
|
3562
|
+
}
|
|
3563
|
+
}
|
|
3564
|
+
}
|
|
3565
|
+
},
|
|
3566
|
+
"503": {
|
|
3567
|
+
"description": "The Tenant's storage or streams are unavailable",
|
|
3568
|
+
"content": {
|
|
3569
|
+
"application/json": {
|
|
3570
|
+
"schema": {
|
|
3571
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3572
|
+
}
|
|
3573
|
+
}
|
|
3574
|
+
}
|
|
3575
|
+
}
|
|
3576
|
+
}
|
|
3577
|
+
}
|
|
3578
|
+
},
|
|
3579
|
+
"/v1/tenant/config/seed": {
|
|
3580
|
+
"put": {
|
|
3581
|
+
"tags": [
|
|
3582
|
+
"Tenant"
|
|
3583
|
+
],
|
|
3584
|
+
"summary": "Seed the Tenant's configuration",
|
|
3585
|
+
"description": "Sets each setting the Tenant does not have yet; keeps the ones it has.",
|
|
3586
|
+
"security": [
|
|
3587
|
+
{
|
|
3588
|
+
"managementKey": []
|
|
3589
|
+
}
|
|
3590
|
+
],
|
|
3591
|
+
"x-nylorun-credentials": [
|
|
3592
|
+
"management"
|
|
3593
|
+
],
|
|
3594
|
+
"x-nylorun-scopes": "never",
|
|
3595
|
+
"parameters": [
|
|
3596
|
+
{
|
|
3597
|
+
"schema": {
|
|
3598
|
+
"type": "string",
|
|
3599
|
+
"description": "The protocol version, `15`"
|
|
3600
|
+
},
|
|
3601
|
+
"required": true,
|
|
3602
|
+
"description": "The protocol version, `15`",
|
|
3603
|
+
"name": "Nylorun-Protocol",
|
|
3604
|
+
"in": "header"
|
|
3605
|
+
}
|
|
3606
|
+
],
|
|
3607
|
+
"requestBody": {
|
|
3608
|
+
"required": true,
|
|
3609
|
+
"content": {
|
|
3610
|
+
"application/json": {
|
|
3611
|
+
"schema": {
|
|
3612
|
+
"$ref": "#/components/schemas/SeedTenantConfigRequest"
|
|
3613
|
+
}
|
|
3614
|
+
}
|
|
3615
|
+
}
|
|
3616
|
+
},
|
|
3617
|
+
"responses": {
|
|
3618
|
+
"200": {
|
|
3619
|
+
"description": "What was set, and what was kept",
|
|
3620
|
+
"content": {
|
|
3621
|
+
"application/json": {
|
|
3622
|
+
"schema": {
|
|
3623
|
+
"$ref": "#/components/schemas/SeedTenantConfigResponse"
|
|
3624
|
+
}
|
|
3625
|
+
}
|
|
3626
|
+
}
|
|
3627
|
+
},
|
|
3628
|
+
"400": {
|
|
3629
|
+
"description": "Invalid headers, path, body or cursor",
|
|
3630
|
+
"content": {
|
|
3631
|
+
"application/json": {
|
|
3632
|
+
"schema": {
|
|
3633
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3634
|
+
}
|
|
3635
|
+
}
|
|
3636
|
+
}
|
|
3637
|
+
},
|
|
3638
|
+
"401": {
|
|
3639
|
+
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
3640
|
+
"content": {
|
|
3641
|
+
"application/json": {
|
|
3642
|
+
"schema": {
|
|
3643
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3644
|
+
}
|
|
3645
|
+
}
|
|
3646
|
+
}
|
|
3647
|
+
},
|
|
3648
|
+
"403": {
|
|
3649
|
+
"description": "Not allowed for this credential, a key of the other API (`key_role_mismatch`), a key from a browser (`origin_rejected`) or a management key acting for a subject",
|
|
3650
|
+
"content": {
|
|
3651
|
+
"application/json": {
|
|
3652
|
+
"schema": {
|
|
3653
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3654
|
+
}
|
|
3655
|
+
}
|
|
3656
|
+
}
|
|
3657
|
+
},
|
|
3658
|
+
"404": {
|
|
3659
|
+
"description": "Not found (`not_found`)",
|
|
3660
|
+
"content": {
|
|
3661
|
+
"application/json": {
|
|
3662
|
+
"schema": {
|
|
3663
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3664
|
+
}
|
|
3665
|
+
}
|
|
3666
|
+
}
|
|
3667
|
+
},
|
|
3668
|
+
"426": {
|
|
3669
|
+
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
3670
|
+
"content": {
|
|
3671
|
+
"application/json": {
|
|
3672
|
+
"schema": {
|
|
3673
|
+
"$ref": "#/components/schemas/ProtocolRejected"
|
|
3674
|
+
}
|
|
3675
|
+
}
|
|
3676
|
+
}
|
|
3677
|
+
},
|
|
3678
|
+
"503": {
|
|
3679
|
+
"description": "The Tenant's storage or streams are unavailable",
|
|
3680
|
+
"content": {
|
|
3681
|
+
"application/json": {
|
|
3682
|
+
"schema": {
|
|
3683
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3684
|
+
}
|
|
3685
|
+
}
|
|
3686
|
+
}
|
|
3687
|
+
}
|
|
3688
|
+
}
|
|
3689
|
+
}
|
|
3690
|
+
},
|
|
3691
|
+
"/v1/tenant/reset": {
|
|
3692
|
+
"post": {
|
|
3693
|
+
"tags": [
|
|
3694
|
+
"Tenant"
|
|
3695
|
+
],
|
|
3696
|
+
"summary": "Reset the Tenant",
|
|
3697
|
+
"description": "Deletes its sessions, its Environments (with their vaults), or both, after draining or cancelling the turns in progress. The Tenant stays open.",
|
|
3698
|
+
"security": [
|
|
3699
|
+
{
|
|
3700
|
+
"managementKey": []
|
|
3701
|
+
}
|
|
3702
|
+
],
|
|
3703
|
+
"x-nylorun-credentials": [
|
|
3704
|
+
"management"
|
|
3705
|
+
],
|
|
3706
|
+
"x-nylorun-scopes": "never",
|
|
3707
|
+
"parameters": [
|
|
3708
|
+
{
|
|
3709
|
+
"schema": {
|
|
3710
|
+
"type": "string",
|
|
3711
|
+
"description": "The protocol version, `15`"
|
|
3712
|
+
},
|
|
3713
|
+
"required": true,
|
|
3714
|
+
"description": "The protocol version, `15`",
|
|
3715
|
+
"name": "Nylorun-Protocol",
|
|
3716
|
+
"in": "header"
|
|
3717
|
+
}
|
|
3718
|
+
],
|
|
3719
|
+
"requestBody": {
|
|
3720
|
+
"required": true,
|
|
3721
|
+
"content": {
|
|
3722
|
+
"application/json": {
|
|
3723
|
+
"schema": {
|
|
3724
|
+
"$ref": "#/components/schemas/ResetTenantRequest"
|
|
3725
|
+
}
|
|
3726
|
+
}
|
|
3727
|
+
}
|
|
3728
|
+
},
|
|
3729
|
+
"responses": {
|
|
3730
|
+
"200": {
|
|
3731
|
+
"description": "Reset",
|
|
3732
|
+
"content": {
|
|
3733
|
+
"application/json": {
|
|
3734
|
+
"schema": {
|
|
3735
|
+
"$ref": "#/components/schemas/ResetTenantResponse"
|
|
3736
|
+
}
|
|
3737
|
+
}
|
|
3738
|
+
}
|
|
3739
|
+
},
|
|
3740
|
+
"400": {
|
|
3741
|
+
"description": "Invalid headers, path, body or cursor",
|
|
3742
|
+
"content": {
|
|
3743
|
+
"application/json": {
|
|
3744
|
+
"schema": {
|
|
3745
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3746
|
+
}
|
|
3747
|
+
}
|
|
3748
|
+
}
|
|
3749
|
+
},
|
|
3750
|
+
"401": {
|
|
3751
|
+
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
3752
|
+
"content": {
|
|
3753
|
+
"application/json": {
|
|
3754
|
+
"schema": {
|
|
3755
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3756
|
+
}
|
|
3757
|
+
}
|
|
3758
|
+
}
|
|
3759
|
+
},
|
|
3760
|
+
"403": {
|
|
3761
|
+
"description": "Not allowed for this credential, a key of the other API (`key_role_mismatch`), a key from a browser (`origin_rejected`) or a management key acting for a subject",
|
|
3762
|
+
"content": {
|
|
3763
|
+
"application/json": {
|
|
3764
|
+
"schema": {
|
|
3765
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3766
|
+
}
|
|
3767
|
+
}
|
|
3768
|
+
}
|
|
3769
|
+
},
|
|
3770
|
+
"404": {
|
|
3771
|
+
"description": "Not found (`not_found`)",
|
|
3772
|
+
"content": {
|
|
3773
|
+
"application/json": {
|
|
3774
|
+
"schema": {
|
|
3775
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3776
|
+
}
|
|
3777
|
+
}
|
|
3778
|
+
}
|
|
3779
|
+
},
|
|
3780
|
+
"426": {
|
|
3781
|
+
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
3782
|
+
"content": {
|
|
3783
|
+
"application/json": {
|
|
3784
|
+
"schema": {
|
|
3785
|
+
"$ref": "#/components/schemas/ProtocolRejected"
|
|
3786
|
+
}
|
|
3787
|
+
}
|
|
3788
|
+
}
|
|
3789
|
+
},
|
|
3790
|
+
"503": {
|
|
3791
|
+
"description": "The Tenant's storage or streams are unavailable",
|
|
3792
|
+
"content": {
|
|
3793
|
+
"application/json": {
|
|
3794
|
+
"schema": {
|
|
3795
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3796
|
+
}
|
|
3797
|
+
}
|
|
3798
|
+
}
|
|
3799
|
+
}
|
|
3800
|
+
}
|
|
3801
|
+
}
|
|
3802
|
+
},
|
|
3803
|
+
"/v1/me": {
|
|
3804
|
+
"get": {
|
|
3805
|
+
"tags": [
|
|
3806
|
+
"Tenant"
|
|
3807
|
+
],
|
|
3808
|
+
"summary": "Get who the caller is",
|
|
3809
|
+
"description": "The subject, scopes, agents and sandbox grants of the credential that sends it: an application key (alone or acting for a subject), a management key (`via: management:<principalId>`, no scopes, no agents), or a trusted issuer's token (`via: issuer:<name>`).",
|
|
3810
|
+
"security": [
|
|
3811
|
+
{
|
|
3812
|
+
"applicationKey": []
|
|
3813
|
+
},
|
|
3814
|
+
{
|
|
3815
|
+
"managementKey": []
|
|
3816
|
+
},
|
|
3817
|
+
{
|
|
3818
|
+
"issuerToken": []
|
|
3819
|
+
}
|
|
3820
|
+
],
|
|
3821
|
+
"x-nylorun-credentials": [
|
|
3822
|
+
"application",
|
|
3823
|
+
"subject",
|
|
3824
|
+
"management",
|
|
3825
|
+
"token"
|
|
3826
|
+
],
|
|
3827
|
+
"x-nylorun-scopes": "any",
|
|
3828
|
+
"parameters": [
|
|
3829
|
+
{
|
|
3830
|
+
"schema": {
|
|
3831
|
+
"type": "string",
|
|
3832
|
+
"description": "The protocol version, `15`"
|
|
3833
|
+
},
|
|
3834
|
+
"required": true,
|
|
3835
|
+
"description": "The protocol version, `15`",
|
|
3836
|
+
"name": "Nylorun-Protocol",
|
|
3837
|
+
"in": "header"
|
|
3838
|
+
},
|
|
3839
|
+
{
|
|
3840
|
+
"schema": {
|
|
3841
|
+
"type": "string",
|
|
3842
|
+
"description": "The person an application key acts for"
|
|
3843
|
+
},
|
|
3844
|
+
"required": false,
|
|
3845
|
+
"description": "The person an application key acts for",
|
|
3846
|
+
"name": "Nylorun-Subject",
|
|
3847
|
+
"in": "header"
|
|
3848
|
+
},
|
|
3849
|
+
{
|
|
3850
|
+
"schema": {
|
|
3851
|
+
"type": "string",
|
|
3852
|
+
"description": "The subject's space-separated scopes; required with a subject"
|
|
3853
|
+
},
|
|
3854
|
+
"required": false,
|
|
3855
|
+
"description": "The subject's space-separated scopes; required with a subject",
|
|
3856
|
+
"name": "Nylorun-Scopes",
|
|
3857
|
+
"in": "header"
|
|
3858
|
+
}
|
|
3859
|
+
],
|
|
3860
|
+
"responses": {
|
|
3861
|
+
"200": {
|
|
3862
|
+
"description": "The caller",
|
|
3863
|
+
"content": {
|
|
3864
|
+
"application/json": {
|
|
3865
|
+
"schema": {
|
|
3866
|
+
"$ref": "#/components/schemas/MeResponse"
|
|
3867
|
+
}
|
|
3868
|
+
}
|
|
3869
|
+
}
|
|
3870
|
+
},
|
|
3871
|
+
"400": {
|
|
3872
|
+
"description": "Invalid headers, path, body or cursor",
|
|
3873
|
+
"content": {
|
|
3874
|
+
"application/json": {
|
|
3875
|
+
"schema": {
|
|
3876
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3877
|
+
}
|
|
3878
|
+
}
|
|
3879
|
+
}
|
|
3880
|
+
},
|
|
3881
|
+
"401": {
|
|
3882
|
+
"description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`), a token that expired (`token_expired`), or a token whose issuer's keys cannot be fetched now (`issuer_unavailable`). `WWW-Authenticate: Bearer` names the protected resource metadata (`resource_metadata`)",
|
|
3883
|
+
"content": {
|
|
3884
|
+
"application/json": {
|
|
3885
|
+
"schema": {
|
|
3886
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3887
|
+
}
|
|
3888
|
+
}
|
|
3889
|
+
}
|
|
3890
|
+
},
|
|
3891
|
+
"403": {
|
|
3892
|
+
"description": "Not allowed for this credential, a key of the other API (`key_role_mismatch`), a key from a browser (`origin_rejected`) or a management key acting for a subject",
|
|
3893
|
+
"content": {
|
|
3894
|
+
"application/json": {
|
|
3895
|
+
"schema": {
|
|
3896
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3897
|
+
}
|
|
3898
|
+
}
|
|
3899
|
+
}
|
|
3900
|
+
},
|
|
3901
|
+
"404": {
|
|
3902
|
+
"description": "Not found (`not_found`)",
|
|
3903
|
+
"content": {
|
|
3904
|
+
"application/json": {
|
|
3905
|
+
"schema": {
|
|
3906
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3907
|
+
}
|
|
3908
|
+
}
|
|
3909
|
+
}
|
|
3910
|
+
},
|
|
3911
|
+
"426": {
|
|
3912
|
+
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
3913
|
+
"content": {
|
|
3914
|
+
"application/json": {
|
|
3915
|
+
"schema": {
|
|
3916
|
+
"$ref": "#/components/schemas/ProtocolRejected"
|
|
3917
|
+
}
|
|
3918
|
+
}
|
|
3919
|
+
}
|
|
3920
|
+
},
|
|
3921
|
+
"503": {
|
|
3922
|
+
"description": "The Tenant's storage or streams are unavailable",
|
|
3923
|
+
"content": {
|
|
3924
|
+
"application/json": {
|
|
3925
|
+
"schema": {
|
|
3926
|
+
"$ref": "#/components/schemas/Rejected"
|
|
3927
|
+
}
|
|
3928
|
+
}
|
|
3929
|
+
}
|
|
3930
|
+
}
|
|
3931
|
+
}
|
|
3932
|
+
}
|
|
3933
|
+
},
|
|
3934
|
+
"/openapi/management.json": {
|
|
2928
3935
|
"get": {
|
|
2929
3936
|
"tags": [
|
|
2930
3937
|
"Tenant"
|
|
2931
3938
|
],
|
|
2932
|
-
"summary": "Get the
|
|
3939
|
+
"summary": "Get the Management API's document",
|
|
3940
|
+
"responses": {
|
|
3941
|
+
"200": {
|
|
3942
|
+
"description": "The Management API's OpenAPI document"
|
|
3943
|
+
}
|
|
3944
|
+
}
|
|
3945
|
+
}
|
|
3946
|
+
},
|
|
3947
|
+
"/v1/tenant/keys": {
|
|
3948
|
+
"get": {
|
|
3949
|
+
"tags": [
|
|
3950
|
+
"Application keys"
|
|
3951
|
+
],
|
|
3952
|
+
"summary": "List the Tenant's keys",
|
|
3953
|
+
"description": "Every key of the Tenant by name, with its role (`application`, `management` or `studio`) and when it was issued. Keys themselves are never shown again.",
|
|
2933
3954
|
"security": [
|
|
2934
3955
|
{
|
|
2935
3956
|
"managementKey": []
|
|
@@ -2943,21 +3964,21 @@
|
|
|
2943
3964
|
{
|
|
2944
3965
|
"schema": {
|
|
2945
3966
|
"type": "string",
|
|
2946
|
-
"description": "The protocol version, `
|
|
3967
|
+
"description": "The protocol version, `15`"
|
|
2947
3968
|
},
|
|
2948
3969
|
"required": true,
|
|
2949
|
-
"description": "The protocol version, `
|
|
3970
|
+
"description": "The protocol version, `15`",
|
|
2950
3971
|
"name": "Nylorun-Protocol",
|
|
2951
3972
|
"in": "header"
|
|
2952
3973
|
}
|
|
2953
3974
|
],
|
|
2954
3975
|
"responses": {
|
|
2955
3976
|
"200": {
|
|
2956
|
-
"description": "
|
|
3977
|
+
"description": "The keys, by id",
|
|
2957
3978
|
"content": {
|
|
2958
3979
|
"application/json": {
|
|
2959
3980
|
"schema": {
|
|
2960
|
-
"$ref": "#/components/schemas/
|
|
3981
|
+
"$ref": "#/components/schemas/ListOperatorKeysResponse"
|
|
2961
3982
|
}
|
|
2962
3983
|
}
|
|
2963
3984
|
}
|
|
@@ -3025,13 +4046,13 @@
|
|
|
3025
4046
|
}
|
|
3026
4047
|
}
|
|
3027
4048
|
},
|
|
3028
|
-
"/v1/tenant/
|
|
4049
|
+
"/v1/tenant/keys/{keyId}": {
|
|
3029
4050
|
"put": {
|
|
3030
4051
|
"tags": [
|
|
3031
|
-
"
|
|
4052
|
+
"Application keys"
|
|
3032
4053
|
],
|
|
3033
|
-
"summary": "
|
|
3034
|
-
"description": "
|
|
4054
|
+
"summary": "Create or rotate an application key",
|
|
4055
|
+
"description": "Issues a new application key named `keyId` and returns it this once. An application key of that name is replaced: the old one stops authenticating at once. A management key, `studio` and `bootstrap` are refused.",
|
|
3035
4056
|
"security": [
|
|
3036
4057
|
{
|
|
3037
4058
|
"managementKey": []
|
|
@@ -3045,44 +4066,37 @@
|
|
|
3045
4066
|
{
|
|
3046
4067
|
"schema": {
|
|
3047
4068
|
"type": "string",
|
|
3048
|
-
"description": "The
|
|
4069
|
+
"description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio` or `bootstrap`"
|
|
4070
|
+
},
|
|
4071
|
+
"required": true,
|
|
4072
|
+
"description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio` or `bootstrap`",
|
|
4073
|
+
"name": "keyId",
|
|
4074
|
+
"in": "path"
|
|
4075
|
+
},
|
|
4076
|
+
{
|
|
4077
|
+
"schema": {
|
|
4078
|
+
"type": "string",
|
|
4079
|
+
"description": "The protocol version, `15`"
|
|
3049
4080
|
},
|
|
3050
4081
|
"required": true,
|
|
3051
|
-
"description": "The protocol version, `
|
|
4082
|
+
"description": "The protocol version, `15`",
|
|
3052
4083
|
"name": "Nylorun-Protocol",
|
|
3053
4084
|
"in": "header"
|
|
3054
4085
|
}
|
|
3055
4086
|
],
|
|
3056
|
-
"requestBody": {
|
|
3057
|
-
"required": true,
|
|
3058
|
-
"content": {
|
|
3059
|
-
"application/json": {
|
|
3060
|
-
"schema": {
|
|
3061
|
-
"$ref": "#/components/schemas/SeedTenantConfigRequest"
|
|
3062
|
-
}
|
|
3063
|
-
}
|
|
3064
|
-
}
|
|
3065
|
-
},
|
|
3066
4087
|
"responses": {
|
|
3067
4088
|
"200": {
|
|
3068
|
-
"description": "
|
|
4089
|
+
"description": "The new key, shown once",
|
|
3069
4090
|
"content": {
|
|
3070
4091
|
"application/json": {
|
|
3071
4092
|
"schema": {
|
|
3072
|
-
"$ref": "#/components/schemas/
|
|
4093
|
+
"$ref": "#/components/schemas/PutOperatorKeyResponse"
|
|
3073
4094
|
}
|
|
3074
4095
|
}
|
|
3075
4096
|
}
|
|
3076
4097
|
},
|
|
3077
4098
|
"400": {
|
|
3078
|
-
"description": "
|
|
3079
|
-
"content": {
|
|
3080
|
-
"application/json": {
|
|
3081
|
-
"schema": {
|
|
3082
|
-
"$ref": "#/components/schemas/Rejected"
|
|
3083
|
-
}
|
|
3084
|
-
}
|
|
3085
|
-
}
|
|
4099
|
+
"description": "Not a key name, a reserved name, or a management key's name"
|
|
3086
4100
|
},
|
|
3087
4101
|
"401": {
|
|
3088
4102
|
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
@@ -3135,15 +4149,13 @@
|
|
|
3135
4149
|
}
|
|
3136
4150
|
}
|
|
3137
4151
|
}
|
|
3138
|
-
}
|
|
3139
|
-
|
|
3140
|
-
"/v1/tenant/reset": {
|
|
3141
|
-
"post": {
|
|
4152
|
+
},
|
|
4153
|
+
"delete": {
|
|
3142
4154
|
"tags": [
|
|
3143
|
-
"
|
|
4155
|
+
"Application keys"
|
|
3144
4156
|
],
|
|
3145
|
-
"summary": "
|
|
3146
|
-
"description": "
|
|
4157
|
+
"summary": "Delete an application key",
|
|
4158
|
+
"description": "The key stops authenticating at once. A management key, `studio` and `bootstrap` are refused.",
|
|
3147
4159
|
"security": [
|
|
3148
4160
|
{
|
|
3149
4161
|
"managementKey": []
|
|
@@ -3157,44 +4169,37 @@
|
|
|
3157
4169
|
{
|
|
3158
4170
|
"schema": {
|
|
3159
4171
|
"type": "string",
|
|
3160
|
-
"description": "The
|
|
4172
|
+
"description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio` or `bootstrap`"
|
|
4173
|
+
},
|
|
4174
|
+
"required": true,
|
|
4175
|
+
"description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio` or `bootstrap`",
|
|
4176
|
+
"name": "keyId",
|
|
4177
|
+
"in": "path"
|
|
4178
|
+
},
|
|
4179
|
+
{
|
|
4180
|
+
"schema": {
|
|
4181
|
+
"type": "string",
|
|
4182
|
+
"description": "The protocol version, `15`"
|
|
3161
4183
|
},
|
|
3162
4184
|
"required": true,
|
|
3163
|
-
"description": "The protocol version, `
|
|
4185
|
+
"description": "The protocol version, `15`",
|
|
3164
4186
|
"name": "Nylorun-Protocol",
|
|
3165
4187
|
"in": "header"
|
|
3166
4188
|
}
|
|
3167
4189
|
],
|
|
3168
|
-
"requestBody": {
|
|
3169
|
-
"required": true,
|
|
3170
|
-
"content": {
|
|
3171
|
-
"application/json": {
|
|
3172
|
-
"schema": {
|
|
3173
|
-
"$ref": "#/components/schemas/ResetTenantRequest"
|
|
3174
|
-
}
|
|
3175
|
-
}
|
|
3176
|
-
}
|
|
3177
|
-
},
|
|
3178
4190
|
"responses": {
|
|
3179
4191
|
"200": {
|
|
3180
|
-
"description": "
|
|
4192
|
+
"description": "The key is deleted",
|
|
3181
4193
|
"content": {
|
|
3182
4194
|
"application/json": {
|
|
3183
4195
|
"schema": {
|
|
3184
|
-
"$ref": "#/components/schemas/
|
|
4196
|
+
"$ref": "#/components/schemas/DeleteOperatorKeyResponse"
|
|
3185
4197
|
}
|
|
3186
4198
|
}
|
|
3187
4199
|
}
|
|
3188
4200
|
},
|
|
3189
4201
|
"400": {
|
|
3190
|
-
"description": "
|
|
3191
|
-
"content": {
|
|
3192
|
-
"application/json": {
|
|
3193
|
-
"schema": {
|
|
3194
|
-
"$ref": "#/components/schemas/Rejected"
|
|
3195
|
-
}
|
|
3196
|
-
}
|
|
3197
|
-
}
|
|
4202
|
+
"description": "Not a key name, a reserved name, or a management key's name"
|
|
3198
4203
|
},
|
|
3199
4204
|
"401": {
|
|
3200
4205
|
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
@@ -3249,70 +4254,41 @@
|
|
|
3249
4254
|
}
|
|
3250
4255
|
}
|
|
3251
4256
|
},
|
|
3252
|
-
"/v1/
|
|
4257
|
+
"/v1/tenant/models": {
|
|
3253
4258
|
"get": {
|
|
3254
4259
|
"tags": [
|
|
3255
|
-
"
|
|
4260
|
+
"Models"
|
|
3256
4261
|
],
|
|
3257
|
-
"summary": "
|
|
3258
|
-
"description": "
|
|
4262
|
+
"summary": "List model providers and models",
|
|
4263
|
+
"description": "Each model says what it reads (`inputs`: its catalog's inputs and those the operator added) and what may be added (`addableInputs`).",
|
|
3259
4264
|
"security": [
|
|
3260
|
-
{
|
|
3261
|
-
"applicationKey": []
|
|
3262
|
-
},
|
|
3263
4265
|
{
|
|
3264
4266
|
"managementKey": []
|
|
3265
|
-
},
|
|
3266
|
-
{
|
|
3267
|
-
"issuerToken": []
|
|
3268
4267
|
}
|
|
3269
4268
|
],
|
|
3270
4269
|
"x-nylorun-credentials": [
|
|
3271
|
-
"
|
|
3272
|
-
"subject",
|
|
3273
|
-
"management",
|
|
3274
|
-
"token"
|
|
4270
|
+
"management"
|
|
3275
4271
|
],
|
|
3276
|
-
"x-nylorun-scopes": "
|
|
4272
|
+
"x-nylorun-scopes": "never",
|
|
3277
4273
|
"parameters": [
|
|
3278
4274
|
{
|
|
3279
4275
|
"schema": {
|
|
3280
4276
|
"type": "string",
|
|
3281
|
-
"description": "The protocol version, `
|
|
4277
|
+
"description": "The protocol version, `15`"
|
|
3282
4278
|
},
|
|
3283
4279
|
"required": true,
|
|
3284
|
-
"description": "The protocol version, `
|
|
4280
|
+
"description": "The protocol version, `15`",
|
|
3285
4281
|
"name": "Nylorun-Protocol",
|
|
3286
4282
|
"in": "header"
|
|
3287
|
-
},
|
|
3288
|
-
{
|
|
3289
|
-
"schema": {
|
|
3290
|
-
"type": "string",
|
|
3291
|
-
"description": "The person an application key acts for"
|
|
3292
|
-
},
|
|
3293
|
-
"required": false,
|
|
3294
|
-
"description": "The person an application key acts for",
|
|
3295
|
-
"name": "Nylorun-Subject",
|
|
3296
|
-
"in": "header"
|
|
3297
|
-
},
|
|
3298
|
-
{
|
|
3299
|
-
"schema": {
|
|
3300
|
-
"type": "string",
|
|
3301
|
-
"description": "The subject's space-separated scopes; required with a subject"
|
|
3302
|
-
},
|
|
3303
|
-
"required": false,
|
|
3304
|
-
"description": "The subject's space-separated scopes; required with a subject",
|
|
3305
|
-
"name": "Nylorun-Scopes",
|
|
3306
|
-
"in": "header"
|
|
3307
4283
|
}
|
|
3308
4284
|
],
|
|
3309
4285
|
"responses": {
|
|
3310
4286
|
"200": {
|
|
3311
|
-
"description": "
|
|
4287
|
+
"description": "Provider and model names, and their inputs",
|
|
3312
4288
|
"content": {
|
|
3313
4289
|
"application/json": {
|
|
3314
4290
|
"schema": {
|
|
3315
|
-
"$ref": "#/components/schemas/
|
|
4291
|
+
"$ref": "#/components/schemas/HostModelCatalog"
|
|
3316
4292
|
}
|
|
3317
4293
|
}
|
|
3318
4294
|
}
|
|
@@ -3328,7 +4304,7 @@
|
|
|
3328
4304
|
}
|
|
3329
4305
|
},
|
|
3330
4306
|
"401": {
|
|
3331
|
-
"description": "No credential (`credential_required`), one the Tenant does not accept (`credential_invalid`),
|
|
4307
|
+
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
3332
4308
|
"content": {
|
|
3333
4309
|
"application/json": {
|
|
3334
4310
|
"schema": {
|
|
@@ -3380,26 +4356,13 @@
|
|
|
3380
4356
|
}
|
|
3381
4357
|
}
|
|
3382
4358
|
},
|
|
3383
|
-
"/
|
|
3384
|
-
"
|
|
3385
|
-
"tags": [
|
|
3386
|
-
"Tenant"
|
|
3387
|
-
],
|
|
3388
|
-
"summary": "Get the Management API's document",
|
|
3389
|
-
"responses": {
|
|
3390
|
-
"200": {
|
|
3391
|
-
"description": "The Management API's OpenAPI document"
|
|
3392
|
-
}
|
|
3393
|
-
}
|
|
3394
|
-
}
|
|
3395
|
-
},
|
|
3396
|
-
"/v1/tenant/keys": {
|
|
3397
|
-
"get": {
|
|
4359
|
+
"/v1/tenant/models/inputs": {
|
|
4360
|
+
"put": {
|
|
3398
4361
|
"tags": [
|
|
3399
|
-
"
|
|
4362
|
+
"Models"
|
|
3400
4363
|
],
|
|
3401
|
-
"summary": "
|
|
3402
|
-
"description": "
|
|
4364
|
+
"summary": "Set what a catalog model reads",
|
|
4365
|
+
"description": "Replaces the inputs the operator added to one catalog model (Tenant setting `model.inputs`): only those in its `addableInputs`, which its provider API carries. Its catalog's own inputs always stay; an empty list removes the additions. The agent's harness learns them in `turn.start.model` and decides how each file reaches the model. A custom endpoint sets `settings.inputs` on `PUT /v1/tenant/model` instead.",
|
|
3403
4366
|
"security": [
|
|
3404
4367
|
{
|
|
3405
4368
|
"managementKey": []
|
|
@@ -3413,21 +4376,31 @@
|
|
|
3413
4376
|
{
|
|
3414
4377
|
"schema": {
|
|
3415
4378
|
"type": "string",
|
|
3416
|
-
"description": "The protocol version, `
|
|
4379
|
+
"description": "The protocol version, `15`"
|
|
3417
4380
|
},
|
|
3418
4381
|
"required": true,
|
|
3419
|
-
"description": "The protocol version, `
|
|
4382
|
+
"description": "The protocol version, `15`",
|
|
3420
4383
|
"name": "Nylorun-Protocol",
|
|
3421
4384
|
"in": "header"
|
|
3422
4385
|
}
|
|
3423
4386
|
],
|
|
4387
|
+
"requestBody": {
|
|
4388
|
+
"required": true,
|
|
4389
|
+
"content": {
|
|
4390
|
+
"application/json": {
|
|
4391
|
+
"schema": {
|
|
4392
|
+
"$ref": "#/components/schemas/PutModelInputsRequest"
|
|
4393
|
+
}
|
|
4394
|
+
}
|
|
4395
|
+
}
|
|
4396
|
+
},
|
|
3424
4397
|
"responses": {
|
|
3425
4398
|
"200": {
|
|
3426
|
-
"description": "
|
|
4399
|
+
"description": "What the model reads now",
|
|
3427
4400
|
"content": {
|
|
3428
4401
|
"application/json": {
|
|
3429
4402
|
"schema": {
|
|
3430
|
-
"$ref": "#/components/schemas/
|
|
4403
|
+
"$ref": "#/components/schemas/ModelInputsView"
|
|
3431
4404
|
}
|
|
3432
4405
|
}
|
|
3433
4406
|
}
|
|
@@ -3495,13 +4468,12 @@
|
|
|
3495
4468
|
}
|
|
3496
4469
|
}
|
|
3497
4470
|
},
|
|
3498
|
-
"/v1/tenant/
|
|
3499
|
-
"
|
|
4471
|
+
"/v1/tenant/providers": {
|
|
4472
|
+
"get": {
|
|
3500
4473
|
"tags": [
|
|
3501
|
-
"
|
|
4474
|
+
"Models"
|
|
3502
4475
|
],
|
|
3503
|
-
"summary": "
|
|
3504
|
-
"description": "Issues a new application key named `keyId` and returns it this once. An application key of that name is replaced: the old one stops authenticating at once. A management key, `studio` and `bootstrap` are refused.",
|
|
4476
|
+
"summary": "List the model providers the Tenant has credentials for",
|
|
3505
4477
|
"security": [
|
|
3506
4478
|
{
|
|
3507
4479
|
"managementKey": []
|
|
@@ -3515,37 +4487,34 @@
|
|
|
3515
4487
|
{
|
|
3516
4488
|
"schema": {
|
|
3517
4489
|
"type": "string",
|
|
3518
|
-
"description": "The
|
|
3519
|
-
},
|
|
3520
|
-
"required": true,
|
|
3521
|
-
"description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio` or `bootstrap`",
|
|
3522
|
-
"name": "keyId",
|
|
3523
|
-
"in": "path"
|
|
3524
|
-
},
|
|
3525
|
-
{
|
|
3526
|
-
"schema": {
|
|
3527
|
-
"type": "string",
|
|
3528
|
-
"description": "The protocol version, `14`"
|
|
4490
|
+
"description": "The protocol version, `15`"
|
|
3529
4491
|
},
|
|
3530
4492
|
"required": true,
|
|
3531
|
-
"description": "The protocol version, `
|
|
4493
|
+
"description": "The protocol version, `15`",
|
|
3532
4494
|
"name": "Nylorun-Protocol",
|
|
3533
4495
|
"in": "header"
|
|
3534
4496
|
}
|
|
3535
4497
|
],
|
|
3536
4498
|
"responses": {
|
|
3537
4499
|
"200": {
|
|
3538
|
-
"description": "The
|
|
4500
|
+
"description": "The providers",
|
|
3539
4501
|
"content": {
|
|
3540
4502
|
"application/json": {
|
|
3541
4503
|
"schema": {
|
|
3542
|
-
"$ref": "#/components/schemas/
|
|
4504
|
+
"$ref": "#/components/schemas/ListProvidersResponse"
|
|
3543
4505
|
}
|
|
3544
4506
|
}
|
|
3545
4507
|
}
|
|
3546
4508
|
},
|
|
3547
4509
|
"400": {
|
|
3548
|
-
"description": "
|
|
4510
|
+
"description": "Invalid headers, path, body or cursor",
|
|
4511
|
+
"content": {
|
|
4512
|
+
"application/json": {
|
|
4513
|
+
"schema": {
|
|
4514
|
+
"$ref": "#/components/schemas/Rejected"
|
|
4515
|
+
}
|
|
4516
|
+
}
|
|
4517
|
+
}
|
|
3549
4518
|
},
|
|
3550
4519
|
"401": {
|
|
3551
4520
|
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
@@ -3598,13 +4567,14 @@
|
|
|
3598
4567
|
}
|
|
3599
4568
|
}
|
|
3600
4569
|
}
|
|
3601
|
-
}
|
|
3602
|
-
|
|
4570
|
+
}
|
|
4571
|
+
},
|
|
4572
|
+
"/v1/tenant/model": {
|
|
4573
|
+
"get": {
|
|
3603
4574
|
"tags": [
|
|
3604
|
-
"
|
|
4575
|
+
"Models"
|
|
3605
4576
|
],
|
|
3606
|
-
"summary": "
|
|
3607
|
-
"description": "The key stops authenticating at once. A management key, `studio` and `bootstrap` are refused.",
|
|
4577
|
+
"summary": "Get the Tenant's model",
|
|
3608
4578
|
"security": [
|
|
3609
4579
|
{
|
|
3610
4580
|
"managementKey": []
|
|
@@ -3614,41 +4584,38 @@
|
|
|
3614
4584
|
"management"
|
|
3615
4585
|
],
|
|
3616
4586
|
"x-nylorun-scopes": "never",
|
|
3617
|
-
"parameters": [
|
|
3618
|
-
{
|
|
3619
|
-
"schema": {
|
|
3620
|
-
"type": "string",
|
|
3621
|
-
"description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio` or `bootstrap`"
|
|
3622
|
-
},
|
|
3623
|
-
"required": true,
|
|
3624
|
-
"description": "The key's name: `^[a-z][a-z0-9-]{0,31}$`, never `studio` or `bootstrap`",
|
|
3625
|
-
"name": "keyId",
|
|
3626
|
-
"in": "path"
|
|
3627
|
-
},
|
|
4587
|
+
"parameters": [
|
|
3628
4588
|
{
|
|
3629
4589
|
"schema": {
|
|
3630
4590
|
"type": "string",
|
|
3631
|
-
"description": "The protocol version, `
|
|
4591
|
+
"description": "The protocol version, `15`"
|
|
3632
4592
|
},
|
|
3633
4593
|
"required": true,
|
|
3634
|
-
"description": "The protocol version, `
|
|
4594
|
+
"description": "The protocol version, `15`",
|
|
3635
4595
|
"name": "Nylorun-Protocol",
|
|
3636
4596
|
"in": "header"
|
|
3637
4597
|
}
|
|
3638
4598
|
],
|
|
3639
4599
|
"responses": {
|
|
3640
4600
|
"200": {
|
|
3641
|
-
"description": "The
|
|
4601
|
+
"description": "The model its sessions call",
|
|
3642
4602
|
"content": {
|
|
3643
4603
|
"application/json": {
|
|
3644
4604
|
"schema": {
|
|
3645
|
-
"$ref": "#/components/schemas/
|
|
4605
|
+
"$ref": "#/components/schemas/HostModelView"
|
|
3646
4606
|
}
|
|
3647
4607
|
}
|
|
3648
4608
|
}
|
|
3649
4609
|
},
|
|
3650
4610
|
"400": {
|
|
3651
|
-
"description": "
|
|
4611
|
+
"description": "Invalid headers, path, body or cursor",
|
|
4612
|
+
"content": {
|
|
4613
|
+
"application/json": {
|
|
4614
|
+
"schema": {
|
|
4615
|
+
"$ref": "#/components/schemas/Rejected"
|
|
4616
|
+
}
|
|
4617
|
+
}
|
|
4618
|
+
}
|
|
3652
4619
|
},
|
|
3653
4620
|
"401": {
|
|
3654
4621
|
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
@@ -3701,15 +4668,12 @@
|
|
|
3701
4668
|
}
|
|
3702
4669
|
}
|
|
3703
4670
|
}
|
|
3704
|
-
}
|
|
3705
|
-
|
|
3706
|
-
"/v1/tenant/models": {
|
|
3707
|
-
"get": {
|
|
4671
|
+
},
|
|
4672
|
+
"put": {
|
|
3708
4673
|
"tags": [
|
|
3709
4674
|
"Models"
|
|
3710
4675
|
],
|
|
3711
|
-
"summary": "
|
|
3712
|
-
"description": "Each model says what it reads (`inputs`: its catalog's inputs and those the operator added) and what may be added (`addableInputs`).",
|
|
4676
|
+
"summary": "Set a model provider's credentials",
|
|
3713
4677
|
"security": [
|
|
3714
4678
|
{
|
|
3715
4679
|
"managementKey": []
|
|
@@ -3723,21 +4687,31 @@
|
|
|
3723
4687
|
{
|
|
3724
4688
|
"schema": {
|
|
3725
4689
|
"type": "string",
|
|
3726
|
-
"description": "The protocol version, `
|
|
4690
|
+
"description": "The protocol version, `15`"
|
|
3727
4691
|
},
|
|
3728
4692
|
"required": true,
|
|
3729
|
-
"description": "The protocol version, `
|
|
4693
|
+
"description": "The protocol version, `15`",
|
|
3730
4694
|
"name": "Nylorun-Protocol",
|
|
3731
4695
|
"in": "header"
|
|
3732
4696
|
}
|
|
3733
4697
|
],
|
|
4698
|
+
"requestBody": {
|
|
4699
|
+
"required": true,
|
|
4700
|
+
"content": {
|
|
4701
|
+
"application/json": {
|
|
4702
|
+
"schema": {
|
|
4703
|
+
"$ref": "#/components/schemas/PutHostModelRequest"
|
|
4704
|
+
}
|
|
4705
|
+
}
|
|
4706
|
+
}
|
|
4707
|
+
},
|
|
3734
4708
|
"responses": {
|
|
3735
4709
|
"200": {
|
|
3736
|
-
"description": "
|
|
4710
|
+
"description": "The model now in force",
|
|
3737
4711
|
"content": {
|
|
3738
4712
|
"application/json": {
|
|
3739
4713
|
"schema": {
|
|
3740
|
-
"$ref": "#/components/schemas/
|
|
4714
|
+
"$ref": "#/components/schemas/HostModelView"
|
|
3741
4715
|
}
|
|
3742
4716
|
}
|
|
3743
4717
|
}
|
|
@@ -3805,13 +4779,12 @@
|
|
|
3805
4779
|
}
|
|
3806
4780
|
}
|
|
3807
4781
|
},
|
|
3808
|
-
"/v1/tenant/
|
|
4782
|
+
"/v1/tenant/model/selection": {
|
|
3809
4783
|
"put": {
|
|
3810
4784
|
"tags": [
|
|
3811
4785
|
"Models"
|
|
3812
4786
|
],
|
|
3813
|
-
"summary": "
|
|
3814
|
-
"description": "Replaces the inputs the operator added to one catalog model (Tenant setting `model.inputs`): only those in its `addableInputs`, which its provider API carries. Its catalog's own inputs always stay; an empty list removes the additions. A message naming a file the Tenant's model does not read is refused with `422 attachment_unsupported`. A custom endpoint sets `settings.inputs` on `PUT /v1/tenant/model` instead.",
|
|
4787
|
+
"summary": "Choose the provider and model",
|
|
3815
4788
|
"security": [
|
|
3816
4789
|
{
|
|
3817
4790
|
"managementKey": []
|
|
@@ -3825,10 +4798,10 @@
|
|
|
3825
4798
|
{
|
|
3826
4799
|
"schema": {
|
|
3827
4800
|
"type": "string",
|
|
3828
|
-
"description": "The protocol version, `
|
|
4801
|
+
"description": "The protocol version, `15`"
|
|
3829
4802
|
},
|
|
3830
4803
|
"required": true,
|
|
3831
|
-
"description": "The protocol version, `
|
|
4804
|
+
"description": "The protocol version, `15`",
|
|
3832
4805
|
"name": "Nylorun-Protocol",
|
|
3833
4806
|
"in": "header"
|
|
3834
4807
|
}
|
|
@@ -3838,18 +4811,18 @@
|
|
|
3838
4811
|
"content": {
|
|
3839
4812
|
"application/json": {
|
|
3840
4813
|
"schema": {
|
|
3841
|
-
"$ref": "#/components/schemas/
|
|
4814
|
+
"$ref": "#/components/schemas/SelectHostModelRequest"
|
|
3842
4815
|
}
|
|
3843
4816
|
}
|
|
3844
4817
|
}
|
|
3845
4818
|
},
|
|
3846
4819
|
"responses": {
|
|
3847
4820
|
"200": {
|
|
3848
|
-
"description": "
|
|
4821
|
+
"description": "The model now in force",
|
|
3849
4822
|
"content": {
|
|
3850
4823
|
"application/json": {
|
|
3851
4824
|
"schema": {
|
|
3852
|
-
"$ref": "#/components/schemas/
|
|
4825
|
+
"$ref": "#/components/schemas/HostModelView"
|
|
3853
4826
|
}
|
|
3854
4827
|
}
|
|
3855
4828
|
}
|
|
@@ -3917,12 +4890,13 @@
|
|
|
3917
4890
|
}
|
|
3918
4891
|
}
|
|
3919
4892
|
},
|
|
3920
|
-
"/v1/tenant/
|
|
4893
|
+
"/v1/tenant/usage": {
|
|
3921
4894
|
"get": {
|
|
3922
4895
|
"tags": [
|
|
3923
4896
|
"Models"
|
|
3924
4897
|
],
|
|
3925
|
-
"summary": "
|
|
4898
|
+
"summary": "Get what the Tenant's model calls used",
|
|
4899
|
+
"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.",
|
|
3926
4900
|
"security": [
|
|
3927
4901
|
{
|
|
3928
4902
|
"managementKey": []
|
|
@@ -3936,21 +4910,58 @@
|
|
|
3936
4910
|
{
|
|
3937
4911
|
"schema": {
|
|
3938
4912
|
"type": "string",
|
|
3939
|
-
"
|
|
4913
|
+
"enum": [
|
|
4914
|
+
"tenant",
|
|
4915
|
+
"agent",
|
|
4916
|
+
"turn"
|
|
4917
|
+
],
|
|
4918
|
+
"default": "tenant"
|
|
4919
|
+
},
|
|
4920
|
+
"required": false,
|
|
4921
|
+
"name": "scope",
|
|
4922
|
+
"in": "query"
|
|
4923
|
+
},
|
|
4924
|
+
{
|
|
4925
|
+
"schema": {
|
|
4926
|
+
"type": "string",
|
|
4927
|
+
"minLength": 1
|
|
4928
|
+
},
|
|
4929
|
+
"required": false,
|
|
4930
|
+
"name": "id",
|
|
4931
|
+
"in": "query"
|
|
4932
|
+
},
|
|
4933
|
+
{
|
|
4934
|
+
"schema": {
|
|
4935
|
+
"type": "string",
|
|
4936
|
+
"enum": [
|
|
4937
|
+
"day",
|
|
4938
|
+
"month",
|
|
4939
|
+
"total"
|
|
4940
|
+
],
|
|
4941
|
+
"default": "total"
|
|
4942
|
+
},
|
|
4943
|
+
"required": false,
|
|
4944
|
+
"name": "period",
|
|
4945
|
+
"in": "query"
|
|
4946
|
+
},
|
|
4947
|
+
{
|
|
4948
|
+
"schema": {
|
|
4949
|
+
"type": "string",
|
|
4950
|
+
"description": "The protocol version, `15`"
|
|
3940
4951
|
},
|
|
3941
4952
|
"required": true,
|
|
3942
|
-
"description": "The protocol version, `
|
|
4953
|
+
"description": "The protocol version, `15`",
|
|
3943
4954
|
"name": "Nylorun-Protocol",
|
|
3944
4955
|
"in": "header"
|
|
3945
4956
|
}
|
|
3946
4957
|
],
|
|
3947
4958
|
"responses": {
|
|
3948
4959
|
"200": {
|
|
3949
|
-
"description": "The
|
|
4960
|
+
"description": "The calls, tokens and cost",
|
|
3950
4961
|
"content": {
|
|
3951
4962
|
"application/json": {
|
|
3952
4963
|
"schema": {
|
|
3953
|
-
"$ref": "#/components/schemas/
|
|
4964
|
+
"$ref": "#/components/schemas/ModelUsageTotals"
|
|
3954
4965
|
}
|
|
3955
4966
|
}
|
|
3956
4967
|
}
|
|
@@ -4018,12 +5029,12 @@
|
|
|
4018
5029
|
}
|
|
4019
5030
|
}
|
|
4020
5031
|
},
|
|
4021
|
-
"/v1/tenant/model": {
|
|
5032
|
+
"/v1/tenant/calls/model": {
|
|
4022
5033
|
"get": {
|
|
4023
5034
|
"tags": [
|
|
4024
5035
|
"Models"
|
|
4025
5036
|
],
|
|
4026
|
-
"summary": "
|
|
5037
|
+
"summary": "Export committed model calls in safe transaction order",
|
|
4027
5038
|
"security": [
|
|
4028
5039
|
{
|
|
4029
5040
|
"managementKey": []
|
|
@@ -4034,24 +5045,43 @@
|
|
|
4034
5045
|
],
|
|
4035
5046
|
"x-nylorun-scopes": "never",
|
|
4036
5047
|
"parameters": [
|
|
5048
|
+
{
|
|
5049
|
+
"schema": {
|
|
5050
|
+
"type": "string"
|
|
5051
|
+
},
|
|
5052
|
+
"required": false,
|
|
5053
|
+
"name": "after",
|
|
5054
|
+
"in": "query"
|
|
5055
|
+
},
|
|
5056
|
+
{
|
|
5057
|
+
"schema": {
|
|
5058
|
+
"type": "integer",
|
|
5059
|
+
"minimum": 1,
|
|
5060
|
+
"description": "A page holds at most the Tenant's Runtime limit `exportPageItems` (default 1000); a larger limit gets that many. Default 200, or that limit when it is lower"
|
|
5061
|
+
},
|
|
5062
|
+
"required": false,
|
|
5063
|
+
"description": "A page holds at most the Tenant's Runtime limit `exportPageItems` (default 1000); a larger limit gets that many. Default 200, or that limit when it is lower",
|
|
5064
|
+
"name": "limit",
|
|
5065
|
+
"in": "query"
|
|
5066
|
+
},
|
|
4037
5067
|
{
|
|
4038
5068
|
"schema": {
|
|
4039
5069
|
"type": "string",
|
|
4040
|
-
"description": "The protocol version, `
|
|
5070
|
+
"description": "The protocol version, `15`"
|
|
4041
5071
|
},
|
|
4042
5072
|
"required": true,
|
|
4043
|
-
"description": "The protocol version, `
|
|
5073
|
+
"description": "The protocol version, `15`",
|
|
4044
5074
|
"name": "Nylorun-Protocol",
|
|
4045
5075
|
"in": "header"
|
|
4046
5076
|
}
|
|
4047
5077
|
],
|
|
4048
5078
|
"responses": {
|
|
4049
5079
|
"200": {
|
|
4050
|
-
"description": "
|
|
5080
|
+
"description": "An unfiltered resumable ledger page",
|
|
4051
5081
|
"content": {
|
|
4052
5082
|
"application/json": {
|
|
4053
5083
|
"schema": {
|
|
4054
|
-
"$ref": "#/components/schemas/
|
|
5084
|
+
"$ref": "#/components/schemas/ModelCallExportPage"
|
|
4055
5085
|
}
|
|
4056
5086
|
}
|
|
4057
5087
|
}
|
|
@@ -4117,12 +5147,14 @@
|
|
|
4117
5147
|
}
|
|
4118
5148
|
}
|
|
4119
5149
|
}
|
|
4120
|
-
}
|
|
4121
|
-
|
|
5150
|
+
}
|
|
5151
|
+
},
|
|
5152
|
+
"/v1/tenant/budgets": {
|
|
5153
|
+
"get": {
|
|
4122
5154
|
"tags": [
|
|
4123
5155
|
"Models"
|
|
4124
5156
|
],
|
|
4125
|
-
"summary": "
|
|
5157
|
+
"summary": "Get the Tenant's model budgets",
|
|
4126
5158
|
"security": [
|
|
4127
5159
|
{
|
|
4128
5160
|
"managementKey": []
|
|
@@ -4136,31 +5168,21 @@
|
|
|
4136
5168
|
{
|
|
4137
5169
|
"schema": {
|
|
4138
5170
|
"type": "string",
|
|
4139
|
-
"description": "The protocol version, `
|
|
5171
|
+
"description": "The protocol version, `15`"
|
|
4140
5172
|
},
|
|
4141
5173
|
"required": true,
|
|
4142
|
-
"description": "The protocol version, `
|
|
5174
|
+
"description": "The protocol version, `15`",
|
|
4143
5175
|
"name": "Nylorun-Protocol",
|
|
4144
5176
|
"in": "header"
|
|
4145
5177
|
}
|
|
4146
5178
|
],
|
|
4147
|
-
"requestBody": {
|
|
4148
|
-
"required": true,
|
|
4149
|
-
"content": {
|
|
4150
|
-
"application/json": {
|
|
4151
|
-
"schema": {
|
|
4152
|
-
"$ref": "#/components/schemas/PutHostModelRequest"
|
|
4153
|
-
}
|
|
4154
|
-
}
|
|
4155
|
-
}
|
|
4156
|
-
},
|
|
4157
5179
|
"responses": {
|
|
4158
5180
|
"200": {
|
|
4159
|
-
"description": "The
|
|
5181
|
+
"description": "The hard caps on model spend",
|
|
4160
5182
|
"content": {
|
|
4161
5183
|
"application/json": {
|
|
4162
5184
|
"schema": {
|
|
4163
|
-
"$ref": "#/components/schemas/
|
|
5185
|
+
"$ref": "#/components/schemas/ModelBudgets"
|
|
4164
5186
|
}
|
|
4165
5187
|
}
|
|
4166
5188
|
}
|
|
@@ -4226,14 +5248,13 @@
|
|
|
4226
5248
|
}
|
|
4227
5249
|
}
|
|
4228
5250
|
}
|
|
4229
|
-
}
|
|
4230
|
-
},
|
|
4231
|
-
"/v1/tenant/model/selection": {
|
|
5251
|
+
},
|
|
4232
5252
|
"put": {
|
|
4233
5253
|
"tags": [
|
|
4234
5254
|
"Models"
|
|
4235
5255
|
],
|
|
4236
|
-
"summary": "
|
|
5256
|
+
"summary": "Set the Tenant's model budgets",
|
|
5257
|
+
"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.",
|
|
4237
5258
|
"security": [
|
|
4238
5259
|
{
|
|
4239
5260
|
"managementKey": []
|
|
@@ -4247,10 +5268,10 @@
|
|
|
4247
5268
|
{
|
|
4248
5269
|
"schema": {
|
|
4249
5270
|
"type": "string",
|
|
4250
|
-
"description": "The protocol version, `
|
|
5271
|
+
"description": "The protocol version, `15`"
|
|
4251
5272
|
},
|
|
4252
5273
|
"required": true,
|
|
4253
|
-
"description": "The protocol version, `
|
|
5274
|
+
"description": "The protocol version, `15`",
|
|
4254
5275
|
"name": "Nylorun-Protocol",
|
|
4255
5276
|
"in": "header"
|
|
4256
5277
|
}
|
|
@@ -4260,18 +5281,18 @@
|
|
|
4260
5281
|
"content": {
|
|
4261
5282
|
"application/json": {
|
|
4262
5283
|
"schema": {
|
|
4263
|
-
"$ref": "#/components/schemas/
|
|
5284
|
+
"$ref": "#/components/schemas/PutModelBudgetsRequest"
|
|
4264
5285
|
}
|
|
4265
5286
|
}
|
|
4266
5287
|
}
|
|
4267
5288
|
},
|
|
4268
5289
|
"responses": {
|
|
4269
5290
|
"200": {
|
|
4270
|
-
"description": "The
|
|
5291
|
+
"description": "The budgets now in force",
|
|
4271
5292
|
"content": {
|
|
4272
5293
|
"application/json": {
|
|
4273
5294
|
"schema": {
|
|
4274
|
-
"$ref": "#/components/schemas/
|
|
5295
|
+
"$ref": "#/components/schemas/ModelBudgets"
|
|
4275
5296
|
}
|
|
4276
5297
|
}
|
|
4277
5298
|
}
|
|
@@ -4339,13 +5360,12 @@
|
|
|
4339
5360
|
}
|
|
4340
5361
|
}
|
|
4341
5362
|
},
|
|
4342
|
-
"/v1/tenant/
|
|
5363
|
+
"/v1/tenant/tool-policy": {
|
|
4343
5364
|
"get": {
|
|
4344
5365
|
"tags": [
|
|
4345
|
-
"
|
|
5366
|
+
"Tool policy"
|
|
4346
5367
|
],
|
|
4347
|
-
"summary": "Get
|
|
4348
|
-
"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.",
|
|
5368
|
+
"summary": "Get the Tenant's tool policy",
|
|
4349
5369
|
"security": [
|
|
4350
5370
|
{
|
|
4351
5371
|
"managementKey": []
|
|
@@ -4359,58 +5379,21 @@
|
|
|
4359
5379
|
{
|
|
4360
5380
|
"schema": {
|
|
4361
5381
|
"type": "string",
|
|
4362
|
-
"
|
|
4363
|
-
"tenant",
|
|
4364
|
-
"agent",
|
|
4365
|
-
"turn"
|
|
4366
|
-
],
|
|
4367
|
-
"default": "tenant"
|
|
4368
|
-
},
|
|
4369
|
-
"required": false,
|
|
4370
|
-
"name": "scope",
|
|
4371
|
-
"in": "query"
|
|
4372
|
-
},
|
|
4373
|
-
{
|
|
4374
|
-
"schema": {
|
|
4375
|
-
"type": "string",
|
|
4376
|
-
"minLength": 1
|
|
4377
|
-
},
|
|
4378
|
-
"required": false,
|
|
4379
|
-
"name": "id",
|
|
4380
|
-
"in": "query"
|
|
4381
|
-
},
|
|
4382
|
-
{
|
|
4383
|
-
"schema": {
|
|
4384
|
-
"type": "string",
|
|
4385
|
-
"enum": [
|
|
4386
|
-
"day",
|
|
4387
|
-
"month",
|
|
4388
|
-
"total"
|
|
4389
|
-
],
|
|
4390
|
-
"default": "total"
|
|
4391
|
-
},
|
|
4392
|
-
"required": false,
|
|
4393
|
-
"name": "period",
|
|
4394
|
-
"in": "query"
|
|
4395
|
-
},
|
|
4396
|
-
{
|
|
4397
|
-
"schema": {
|
|
4398
|
-
"type": "string",
|
|
4399
|
-
"description": "The protocol version, `14`"
|
|
5382
|
+
"description": "The protocol version, `15`"
|
|
4400
5383
|
},
|
|
4401
5384
|
"required": true,
|
|
4402
|
-
"description": "The protocol version, `
|
|
5385
|
+
"description": "The protocol version, `15`",
|
|
4403
5386
|
"name": "Nylorun-Protocol",
|
|
4404
5387
|
"in": "header"
|
|
4405
5388
|
}
|
|
4406
5389
|
],
|
|
4407
5390
|
"responses": {
|
|
4408
5391
|
"200": {
|
|
4409
|
-
"description": "The
|
|
5392
|
+
"description": "The rules the Tool Gate applies to every MCP and HTTP tool call",
|
|
4410
5393
|
"content": {
|
|
4411
5394
|
"application/json": {
|
|
4412
5395
|
"schema": {
|
|
4413
|
-
"$ref": "#/components/schemas/
|
|
5396
|
+
"$ref": "#/components/schemas/ToolPolicy"
|
|
4414
5397
|
}
|
|
4415
5398
|
}
|
|
4416
5399
|
}
|
|
@@ -4476,14 +5459,13 @@
|
|
|
4476
5459
|
}
|
|
4477
5460
|
}
|
|
4478
5461
|
}
|
|
4479
|
-
}
|
|
4480
|
-
|
|
4481
|
-
"/v1/tenant/calls/model": {
|
|
4482
|
-
"get": {
|
|
5462
|
+
},
|
|
5463
|
+
"put": {
|
|
4483
5464
|
"tags": [
|
|
4484
|
-
"
|
|
5465
|
+
"Tool policy"
|
|
4485
5466
|
],
|
|
4486
|
-
"summary": "
|
|
5467
|
+
"summary": "Set the Tenant's tool policy",
|
|
5468
|
+
"description": "Replaces every rule. The Tool Gate applies them to each MCP and HTTP tool call of every harness, before it sends the call: the strictest rule that matches decides. `deny` refuses the call (the model gets `tool.denied`), `ask` holds it and pauses the turn until a person answers it with an `approve` command on the session, `allow` runs it. A call no rule matches runs. A rule matches when every selector it sets matches: `tool` (the name the model calls it by; `*` matches any run of characters), `server` (an MCP server's name), `kind` (`mcp` or `http`), `agent` (the agent that calls it) and `when` (fields of the call's input by dotted path, each tested with `equals`, `in`, `gt`, `gte`, `lt`, `lte` or `matches`). Sandbox tools never cross the gate. An empty list allows every call.",
|
|
4487
5469
|
"security": [
|
|
4488
5470
|
{
|
|
4489
5471
|
"managementKey": []
|
|
@@ -4494,43 +5476,34 @@
|
|
|
4494
5476
|
],
|
|
4495
5477
|
"x-nylorun-scopes": "never",
|
|
4496
5478
|
"parameters": [
|
|
4497
|
-
{
|
|
4498
|
-
"schema": {
|
|
4499
|
-
"type": "string"
|
|
4500
|
-
},
|
|
4501
|
-
"required": false,
|
|
4502
|
-
"name": "after",
|
|
4503
|
-
"in": "query"
|
|
4504
|
-
},
|
|
4505
|
-
{
|
|
4506
|
-
"schema": {
|
|
4507
|
-
"type": "integer",
|
|
4508
|
-
"minimum": 1,
|
|
4509
|
-
"maximum": 1000,
|
|
4510
|
-
"default": 200
|
|
4511
|
-
},
|
|
4512
|
-
"required": false,
|
|
4513
|
-
"name": "limit",
|
|
4514
|
-
"in": "query"
|
|
4515
|
-
},
|
|
4516
5479
|
{
|
|
4517
5480
|
"schema": {
|
|
4518
5481
|
"type": "string",
|
|
4519
|
-
"description": "The protocol version, `
|
|
5482
|
+
"description": "The protocol version, `15`"
|
|
4520
5483
|
},
|
|
4521
5484
|
"required": true,
|
|
4522
|
-
"description": "The protocol version, `
|
|
5485
|
+
"description": "The protocol version, `15`",
|
|
4523
5486
|
"name": "Nylorun-Protocol",
|
|
4524
5487
|
"in": "header"
|
|
4525
5488
|
}
|
|
4526
5489
|
],
|
|
5490
|
+
"requestBody": {
|
|
5491
|
+
"required": true,
|
|
5492
|
+
"content": {
|
|
5493
|
+
"application/json": {
|
|
5494
|
+
"schema": {
|
|
5495
|
+
"$ref": "#/components/schemas/PutToolPolicyRequest"
|
|
5496
|
+
}
|
|
5497
|
+
}
|
|
5498
|
+
}
|
|
5499
|
+
},
|
|
4527
5500
|
"responses": {
|
|
4528
5501
|
"200": {
|
|
4529
|
-
"description": "
|
|
5502
|
+
"description": "The policy now in force",
|
|
4530
5503
|
"content": {
|
|
4531
5504
|
"application/json": {
|
|
4532
5505
|
"schema": {
|
|
4533
|
-
"$ref": "#/components/schemas/
|
|
5506
|
+
"$ref": "#/components/schemas/ToolPolicy"
|
|
4534
5507
|
}
|
|
4535
5508
|
}
|
|
4536
5509
|
}
|
|
@@ -4598,12 +5571,13 @@
|
|
|
4598
5571
|
}
|
|
4599
5572
|
}
|
|
4600
5573
|
},
|
|
4601
|
-
"/v1/tenant/
|
|
4602
|
-
"
|
|
5574
|
+
"/v1/tenant/credential-coverage": {
|
|
5575
|
+
"post": {
|
|
4603
5576
|
"tags": [
|
|
4604
|
-
"
|
|
5577
|
+
"Credential coverage"
|
|
4605
5578
|
],
|
|
4606
|
-
"summary": "
|
|
5579
|
+
"summary": "Check an agent's credentials against an Environment",
|
|
5580
|
+
"description": "For each remote MCP server and each HTTP tool with a `credential` that the saved agent `agentId` declares (its own, its agents used as tools' and a flow's), the credential a session that names `environmentId` would send: the Environment's secret bound to the URL (`covered`), or none (`missing`). No secret is read and no server is called.",
|
|
4607
5581
|
"security": [
|
|
4608
5582
|
{
|
|
4609
5583
|
"managementKey": []
|
|
@@ -4617,21 +5591,31 @@
|
|
|
4617
5591
|
{
|
|
4618
5592
|
"schema": {
|
|
4619
5593
|
"type": "string",
|
|
4620
|
-
"description": "The protocol version, `
|
|
5594
|
+
"description": "The protocol version, `15`"
|
|
4621
5595
|
},
|
|
4622
5596
|
"required": true,
|
|
4623
|
-
"description": "The protocol version, `
|
|
5597
|
+
"description": "The protocol version, `15`",
|
|
4624
5598
|
"name": "Nylorun-Protocol",
|
|
4625
5599
|
"in": "header"
|
|
4626
5600
|
}
|
|
4627
|
-
],
|
|
5601
|
+
],
|
|
5602
|
+
"requestBody": {
|
|
5603
|
+
"required": true,
|
|
5604
|
+
"content": {
|
|
5605
|
+
"application/json": {
|
|
5606
|
+
"schema": {
|
|
5607
|
+
"$ref": "#/components/schemas/CredentialCoverageRequest"
|
|
5608
|
+
}
|
|
5609
|
+
}
|
|
5610
|
+
}
|
|
5611
|
+
},
|
|
4628
5612
|
"responses": {
|
|
4629
5613
|
"200": {
|
|
4630
|
-
"description": "
|
|
5614
|
+
"description": "One entry per declared URL",
|
|
4631
5615
|
"content": {
|
|
4632
5616
|
"application/json": {
|
|
4633
5617
|
"schema": {
|
|
4634
|
-
"$ref": "#/components/schemas/
|
|
5618
|
+
"$ref": "#/components/schemas/CredentialCoverage"
|
|
4635
5619
|
}
|
|
4636
5620
|
}
|
|
4637
5621
|
}
|
|
@@ -4667,7 +5651,7 @@
|
|
|
4667
5651
|
}
|
|
4668
5652
|
},
|
|
4669
5653
|
"404": {
|
|
4670
|
-
"description": "
|
|
5654
|
+
"description": "No such agent, or no such Environment",
|
|
4671
5655
|
"content": {
|
|
4672
5656
|
"application/json": {
|
|
4673
5657
|
"schema": {
|
|
@@ -4697,13 +5681,15 @@
|
|
|
4697
5681
|
}
|
|
4698
5682
|
}
|
|
4699
5683
|
}
|
|
4700
|
-
}
|
|
4701
|
-
|
|
5684
|
+
}
|
|
5685
|
+
},
|
|
5686
|
+
"/v1/tenant/mcp/preview": {
|
|
5687
|
+
"post": {
|
|
4702
5688
|
"tags": [
|
|
4703
|
-
"
|
|
5689
|
+
"MCP servers"
|
|
4704
5690
|
],
|
|
4705
|
-
"summary": "
|
|
4706
|
-
"description": "
|
|
5691
|
+
"summary": "Preview an MCP server's tools",
|
|
5692
|
+
"description": "Connects to the remote MCP server at `url` with the credential for that URL in the vault of `environmentId`, if given (its headers and `via`; never an identity header), under the Host's address policy, lists its tools within 15 s and closes the connection. It never calls a tool. Each tool comes with the name the model would call it (`modelName`, made with `name`), its annotations and its input schema's size. A server that answers `401` is `authRequired`, with its RFC 9728 protected-resource metadata when it publishes any: it needs a person's sign-in, so reach it through a gateway (`via`), or with a key. No credential value is in the answer.",
|
|
4707
5693
|
"security": [
|
|
4708
5694
|
{
|
|
4709
5695
|
"managementKey": []
|
|
@@ -4717,10 +5703,10 @@
|
|
|
4717
5703
|
{
|
|
4718
5704
|
"schema": {
|
|
4719
5705
|
"type": "string",
|
|
4720
|
-
"description": "The protocol version, `
|
|
5706
|
+
"description": "The protocol version, `15`"
|
|
4721
5707
|
},
|
|
4722
5708
|
"required": true,
|
|
4723
|
-
"description": "The protocol version, `
|
|
5709
|
+
"description": "The protocol version, `15`",
|
|
4724
5710
|
"name": "Nylorun-Protocol",
|
|
4725
5711
|
"in": "header"
|
|
4726
5712
|
}
|
|
@@ -4730,18 +5716,18 @@
|
|
|
4730
5716
|
"content": {
|
|
4731
5717
|
"application/json": {
|
|
4732
5718
|
"schema": {
|
|
4733
|
-
"$ref": "#/components/schemas/
|
|
5719
|
+
"$ref": "#/components/schemas/McpPreviewRequest"
|
|
4734
5720
|
}
|
|
4735
5721
|
}
|
|
4736
5722
|
}
|
|
4737
5723
|
},
|
|
4738
5724
|
"responses": {
|
|
4739
5725
|
"200": {
|
|
4740
|
-
"description": "The
|
|
5726
|
+
"description": "The server's tools, or that it needs a credential (`authRequired`)",
|
|
4741
5727
|
"content": {
|
|
4742
5728
|
"application/json": {
|
|
4743
5729
|
"schema": {
|
|
4744
|
-
"$ref": "#/components/schemas/
|
|
5730
|
+
"$ref": "#/components/schemas/McpPreview"
|
|
4745
5731
|
}
|
|
4746
5732
|
}
|
|
4747
5733
|
}
|
|
@@ -4786,6 +5772,16 @@
|
|
|
4786
5772
|
}
|
|
4787
5773
|
}
|
|
4788
5774
|
},
|
|
5775
|
+
"409": {
|
|
5776
|
+
"description": "The Environment's credential for the URL cannot be used",
|
|
5777
|
+
"content": {
|
|
5778
|
+
"application/json": {
|
|
5779
|
+
"schema": {
|
|
5780
|
+
"$ref": "#/components/schemas/Rejected"
|
|
5781
|
+
}
|
|
5782
|
+
}
|
|
5783
|
+
}
|
|
5784
|
+
},
|
|
4789
5785
|
"426": {
|
|
4790
5786
|
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
4791
5787
|
"content": {
|
|
@@ -4796,6 +5792,16 @@
|
|
|
4796
5792
|
}
|
|
4797
5793
|
}
|
|
4798
5794
|
},
|
|
5795
|
+
"502": {
|
|
5796
|
+
"description": "The server could not be listed (`mcp_preview_failed`): `details.failure` is the code a tool call would have failed with, such as `mcp.unreachable` for an address the Host refuses",
|
|
5797
|
+
"content": {
|
|
5798
|
+
"application/json": {
|
|
5799
|
+
"schema": {
|
|
5800
|
+
"$ref": "#/components/schemas/Rejected"
|
|
5801
|
+
}
|
|
5802
|
+
}
|
|
5803
|
+
}
|
|
5804
|
+
},
|
|
4799
5805
|
"503": {
|
|
4800
5806
|
"description": "The Tenant's storage or streams are unavailable",
|
|
4801
5807
|
"content": {
|
|
@@ -4809,12 +5815,12 @@
|
|
|
4809
5815
|
}
|
|
4810
5816
|
}
|
|
4811
5817
|
},
|
|
4812
|
-
"/v1/tenant/
|
|
5818
|
+
"/v1/tenant/signing-keys": {
|
|
4813
5819
|
"get": {
|
|
4814
5820
|
"tags": [
|
|
4815
|
-
"
|
|
5821
|
+
"Signing keys"
|
|
4816
5822
|
],
|
|
4817
|
-
"summary": "
|
|
5823
|
+
"summary": "List signing keys",
|
|
4818
5824
|
"security": [
|
|
4819
5825
|
{
|
|
4820
5826
|
"managementKey": []
|
|
@@ -4828,21 +5834,21 @@
|
|
|
4828
5834
|
{
|
|
4829
5835
|
"schema": {
|
|
4830
5836
|
"type": "string",
|
|
4831
|
-
"description": "The protocol version, `
|
|
5837
|
+
"description": "The protocol version, `15`"
|
|
4832
5838
|
},
|
|
4833
5839
|
"required": true,
|
|
4834
|
-
"description": "The protocol version, `
|
|
5840
|
+
"description": "The protocol version, `15`",
|
|
4835
5841
|
"name": "Nylorun-Protocol",
|
|
4836
5842
|
"in": "header"
|
|
4837
5843
|
}
|
|
4838
5844
|
],
|
|
4839
5845
|
"responses": {
|
|
4840
5846
|
"200": {
|
|
4841
|
-
"description": "
|
|
5847
|
+
"description": "Standby, current, previous and revoked keys",
|
|
4842
5848
|
"content": {
|
|
4843
5849
|
"application/json": {
|
|
4844
5850
|
"schema": {
|
|
4845
|
-
"$ref": "#/components/schemas/
|
|
5851
|
+
"$ref": "#/components/schemas/SigningKeyList"
|
|
4846
5852
|
}
|
|
4847
5853
|
}
|
|
4848
5854
|
}
|
|
@@ -4908,13 +5914,15 @@
|
|
|
4908
5914
|
}
|
|
4909
5915
|
}
|
|
4910
5916
|
}
|
|
4911
|
-
}
|
|
4912
|
-
|
|
5917
|
+
}
|
|
5918
|
+
},
|
|
5919
|
+
"/v1/tenant/signing-keys/rotate": {
|
|
5920
|
+
"post": {
|
|
4913
5921
|
"tags": [
|
|
4914
|
-
"
|
|
5922
|
+
"Signing keys"
|
|
4915
5923
|
],
|
|
4916
|
-
"summary": "
|
|
4917
|
-
"description": "
|
|
5924
|
+
"summary": "Rotate the signing keys",
|
|
5925
|
+
"description": "The standby key signs from now on; the current one still verifies tokens it signed. `force` also ends every outstanding capability link and run token.",
|
|
4918
5926
|
"security": [
|
|
4919
5927
|
{
|
|
4920
5928
|
"managementKey": []
|
|
@@ -4928,10 +5936,10 @@
|
|
|
4928
5936
|
{
|
|
4929
5937
|
"schema": {
|
|
4930
5938
|
"type": "string",
|
|
4931
|
-
"description": "The protocol version, `
|
|
5939
|
+
"description": "The protocol version, `15`"
|
|
4932
5940
|
},
|
|
4933
5941
|
"required": true,
|
|
4934
|
-
"description": "The protocol version, `
|
|
5942
|
+
"description": "The protocol version, `15`",
|
|
4935
5943
|
"name": "Nylorun-Protocol",
|
|
4936
5944
|
"in": "header"
|
|
4937
5945
|
}
|
|
@@ -4941,18 +5949,18 @@
|
|
|
4941
5949
|
"content": {
|
|
4942
5950
|
"application/json": {
|
|
4943
5951
|
"schema": {
|
|
4944
|
-
"$ref": "#/components/schemas/
|
|
5952
|
+
"$ref": "#/components/schemas/RotateSigningKeysRequest"
|
|
4945
5953
|
}
|
|
4946
5954
|
}
|
|
4947
5955
|
}
|
|
4948
5956
|
},
|
|
4949
5957
|
"responses": {
|
|
4950
5958
|
"200": {
|
|
4951
|
-
"description": "The
|
|
5959
|
+
"description": "The keys after rotation",
|
|
4952
5960
|
"content": {
|
|
4953
5961
|
"application/json": {
|
|
4954
5962
|
"schema": {
|
|
4955
|
-
"$ref": "#/components/schemas/
|
|
5963
|
+
"$ref": "#/components/schemas/SigningKeyList"
|
|
4956
5964
|
}
|
|
4957
5965
|
}
|
|
4958
5966
|
}
|
|
@@ -4997,6 +6005,9 @@
|
|
|
4997
6005
|
}
|
|
4998
6006
|
}
|
|
4999
6007
|
},
|
|
6008
|
+
"409": {
|
|
6009
|
+
"description": "The previous key may still verify outstanding tokens"
|
|
6010
|
+
},
|
|
5000
6011
|
"426": {
|
|
5001
6012
|
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
5002
6013
|
"content": {
|
|
@@ -5020,13 +6031,12 @@
|
|
|
5020
6031
|
}
|
|
5021
6032
|
}
|
|
5022
6033
|
},
|
|
5023
|
-
"/v1/tenant/
|
|
6034
|
+
"/v1/tenant/signing-keys/{kid}/revoke": {
|
|
5024
6035
|
"post": {
|
|
5025
6036
|
"tags": [
|
|
5026
|
-
"
|
|
6037
|
+
"Signing keys"
|
|
5027
6038
|
],
|
|
5028
|
-
"summary": "
|
|
5029
|
-
"description": "For each remote MCP server and each HTTP tool with a `credential` that the saved agent `agentId` declares (its own, its agents used as tools' and a flow's), the credential a session that names `environmentId` would send: the Environment's secret bound to the URL (`covered`), or none (`missing`). No secret is read and no server is called.",
|
|
6039
|
+
"summary": "Revoke a signing key",
|
|
5030
6040
|
"security": [
|
|
5031
6041
|
{
|
|
5032
6042
|
"managementKey": []
|
|
@@ -5037,13 +6047,21 @@
|
|
|
5037
6047
|
],
|
|
5038
6048
|
"x-nylorun-scopes": "never",
|
|
5039
6049
|
"parameters": [
|
|
6050
|
+
{
|
|
6051
|
+
"schema": {
|
|
6052
|
+
"type": "string"
|
|
6053
|
+
},
|
|
6054
|
+
"required": true,
|
|
6055
|
+
"name": "kid",
|
|
6056
|
+
"in": "path"
|
|
6057
|
+
},
|
|
5040
6058
|
{
|
|
5041
6059
|
"schema": {
|
|
5042
6060
|
"type": "string",
|
|
5043
|
-
"description": "The protocol version, `
|
|
6061
|
+
"description": "The protocol version, `15`"
|
|
5044
6062
|
},
|
|
5045
6063
|
"required": true,
|
|
5046
|
-
"description": "The protocol version, `
|
|
6064
|
+
"description": "The protocol version, `15`",
|
|
5047
6065
|
"name": "Nylorun-Protocol",
|
|
5048
6066
|
"in": "header"
|
|
5049
6067
|
}
|
|
@@ -5053,18 +6071,18 @@
|
|
|
5053
6071
|
"content": {
|
|
5054
6072
|
"application/json": {
|
|
5055
6073
|
"schema": {
|
|
5056
|
-
"$ref": "#/components/schemas/
|
|
6074
|
+
"$ref": "#/components/schemas/RevokeSigningKeyRequest"
|
|
5057
6075
|
}
|
|
5058
6076
|
}
|
|
5059
6077
|
}
|
|
5060
6078
|
},
|
|
5061
6079
|
"responses": {
|
|
5062
6080
|
"200": {
|
|
5063
|
-
"description": "
|
|
6081
|
+
"description": "The key, revoked",
|
|
5064
6082
|
"content": {
|
|
5065
6083
|
"application/json": {
|
|
5066
6084
|
"schema": {
|
|
5067
|
-
"$ref": "#/components/schemas/
|
|
6085
|
+
"$ref": "#/components/schemas/SigningKeyView"
|
|
5068
6086
|
}
|
|
5069
6087
|
}
|
|
5070
6088
|
}
|
|
@@ -5100,7 +6118,7 @@
|
|
|
5100
6118
|
}
|
|
5101
6119
|
},
|
|
5102
6120
|
"404": {
|
|
5103
|
-
"description": "
|
|
6121
|
+
"description": "Not found (`not_found`)",
|
|
5104
6122
|
"content": {
|
|
5105
6123
|
"application/json": {
|
|
5106
6124
|
"schema": {
|
|
@@ -5109,6 +6127,9 @@
|
|
|
5109
6127
|
}
|
|
5110
6128
|
}
|
|
5111
6129
|
},
|
|
6130
|
+
"409": {
|
|
6131
|
+
"description": "Rotate before revoking the current key"
|
|
6132
|
+
},
|
|
5112
6133
|
"426": {
|
|
5113
6134
|
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
5114
6135
|
"content": {
|
|
@@ -5132,13 +6153,12 @@
|
|
|
5132
6153
|
}
|
|
5133
6154
|
}
|
|
5134
6155
|
},
|
|
5135
|
-
"/v1/tenant/
|
|
5136
|
-
"
|
|
6156
|
+
"/v1/tenant/sandbox": {
|
|
6157
|
+
"get": {
|
|
5137
6158
|
"tags": [
|
|
5138
|
-
"
|
|
6159
|
+
"Settings"
|
|
5139
6160
|
],
|
|
5140
|
-
"summary": "
|
|
5141
|
-
"description": "Connects to the remote MCP server at `url` with the credential for that URL in the vault of `environmentId`, if given (its headers and `via`; never an identity header), under the Host's address policy, lists its tools within 15 s and closes the connection. It never calls a tool. Each tool comes with the name the model would call it (`modelName`, made with `name`), its annotations and its input schema's size. A server that answers `401` is `authRequired`, with its RFC 9728 protected-resource metadata when it publishes any: it needs a person's sign-in, so reach it through a gateway (`via`), or with a key. No credential value is in the answer.",
|
|
6161
|
+
"summary": "Get the Tenant's sandbox backend and Environment settings",
|
|
5142
6162
|
"security": [
|
|
5143
6163
|
{
|
|
5144
6164
|
"managementKey": []
|
|
@@ -5152,31 +6172,21 @@
|
|
|
5152
6172
|
{
|
|
5153
6173
|
"schema": {
|
|
5154
6174
|
"type": "string",
|
|
5155
|
-
"description": "The protocol version, `
|
|
6175
|
+
"description": "The protocol version, `15`"
|
|
5156
6176
|
},
|
|
5157
6177
|
"required": true,
|
|
5158
|
-
"description": "The protocol version, `
|
|
6178
|
+
"description": "The protocol version, `15`",
|
|
5159
6179
|
"name": "Nylorun-Protocol",
|
|
5160
6180
|
"in": "header"
|
|
5161
6181
|
}
|
|
5162
6182
|
],
|
|
5163
|
-
"requestBody": {
|
|
5164
|
-
"required": true,
|
|
5165
|
-
"content": {
|
|
5166
|
-
"application/json": {
|
|
5167
|
-
"schema": {
|
|
5168
|
-
"$ref": "#/components/schemas/McpPreviewRequest"
|
|
5169
|
-
}
|
|
5170
|
-
}
|
|
5171
|
-
}
|
|
5172
|
-
},
|
|
5173
6183
|
"responses": {
|
|
5174
6184
|
"200": {
|
|
5175
|
-
"description": "The
|
|
6185
|
+
"description": "The backend in use and the configuration in force",
|
|
5176
6186
|
"content": {
|
|
5177
6187
|
"application/json": {
|
|
5178
6188
|
"schema": {
|
|
5179
|
-
"$ref": "#/components/schemas/
|
|
6189
|
+
"$ref": "#/components/schemas/TenantSandboxView"
|
|
5180
6190
|
}
|
|
5181
6191
|
}
|
|
5182
6192
|
}
|
|
@@ -5221,16 +6231,6 @@
|
|
|
5221
6231
|
}
|
|
5222
6232
|
}
|
|
5223
6233
|
},
|
|
5224
|
-
"409": {
|
|
5225
|
-
"description": "The Environment's credential for the URL cannot be used",
|
|
5226
|
-
"content": {
|
|
5227
|
-
"application/json": {
|
|
5228
|
-
"schema": {
|
|
5229
|
-
"$ref": "#/components/schemas/Rejected"
|
|
5230
|
-
}
|
|
5231
|
-
}
|
|
5232
|
-
}
|
|
5233
|
-
},
|
|
5234
6234
|
"426": {
|
|
5235
6235
|
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
5236
6236
|
"content": {
|
|
@@ -5241,16 +6241,6 @@
|
|
|
5241
6241
|
}
|
|
5242
6242
|
}
|
|
5243
6243
|
},
|
|
5244
|
-
"502": {
|
|
5245
|
-
"description": "The server could not be listed (`mcp_preview_failed`): `details.failure` is the code a tool call would have failed with, such as `mcp.unreachable` for an address the Host refuses",
|
|
5246
|
-
"content": {
|
|
5247
|
-
"application/json": {
|
|
5248
|
-
"schema": {
|
|
5249
|
-
"$ref": "#/components/schemas/Rejected"
|
|
5250
|
-
}
|
|
5251
|
-
}
|
|
5252
|
-
}
|
|
5253
|
-
},
|
|
5254
6244
|
"503": {
|
|
5255
6245
|
"description": "The Tenant's storage or streams are unavailable",
|
|
5256
6246
|
"content": {
|
|
@@ -5262,14 +6252,13 @@
|
|
|
5262
6252
|
}
|
|
5263
6253
|
}
|
|
5264
6254
|
}
|
|
5265
|
-
}
|
|
5266
|
-
|
|
5267
|
-
"/v1/tenant/signing-keys": {
|
|
5268
|
-
"get": {
|
|
6255
|
+
},
|
|
6256
|
+
"put": {
|
|
5269
6257
|
"tags": [
|
|
5270
|
-
"
|
|
6258
|
+
"Settings"
|
|
5271
6259
|
],
|
|
5272
|
-
"summary": "
|
|
6260
|
+
"summary": "Set the Tenant's Environment settings",
|
|
6261
|
+
"description": "The limits every Environment's recipe must fit, the pods' stop grace and where harnesses may run (Tenant setting `environments.config`).",
|
|
5273
6262
|
"security": [
|
|
5274
6263
|
{
|
|
5275
6264
|
"managementKey": []
|
|
@@ -5283,21 +6272,31 @@
|
|
|
5283
6272
|
{
|
|
5284
6273
|
"schema": {
|
|
5285
6274
|
"type": "string",
|
|
5286
|
-
"description": "The protocol version, `
|
|
6275
|
+
"description": "The protocol version, `15`"
|
|
5287
6276
|
},
|
|
5288
6277
|
"required": true,
|
|
5289
|
-
"description": "The protocol version, `
|
|
6278
|
+
"description": "The protocol version, `15`",
|
|
5290
6279
|
"name": "Nylorun-Protocol",
|
|
5291
6280
|
"in": "header"
|
|
5292
6281
|
}
|
|
5293
6282
|
],
|
|
6283
|
+
"requestBody": {
|
|
6284
|
+
"required": true,
|
|
6285
|
+
"content": {
|
|
6286
|
+
"application/json": {
|
|
6287
|
+
"schema": {
|
|
6288
|
+
"$ref": "#/components/schemas/PutTenantEnvironmentsRequest"
|
|
6289
|
+
}
|
|
6290
|
+
}
|
|
6291
|
+
}
|
|
6292
|
+
},
|
|
5294
6293
|
"responses": {
|
|
5295
6294
|
"200": {
|
|
5296
|
-
"description": "
|
|
6295
|
+
"description": "The configuration now in force",
|
|
5297
6296
|
"content": {
|
|
5298
6297
|
"application/json": {
|
|
5299
6298
|
"schema": {
|
|
5300
|
-
"$ref": "#/components/schemas/
|
|
6299
|
+
"$ref": "#/components/schemas/TenantSandboxView"
|
|
5301
6300
|
}
|
|
5302
6301
|
}
|
|
5303
6302
|
}
|
|
@@ -5365,13 +6364,12 @@
|
|
|
5365
6364
|
}
|
|
5366
6365
|
}
|
|
5367
6366
|
},
|
|
5368
|
-
"/v1/tenant/
|
|
5369
|
-
"
|
|
6367
|
+
"/v1/tenant/artifacts": {
|
|
6368
|
+
"get": {
|
|
5370
6369
|
"tags": [
|
|
5371
|
-
"
|
|
6370
|
+
"Settings"
|
|
5372
6371
|
],
|
|
5373
|
-
"summary": "
|
|
5374
|
-
"description": "The standby key signs from now on; the current one still verifies tokens it signed. `force` also ends every outstanding capability link and run token.",
|
|
6372
|
+
"summary": "Get the Tenant's artifact limits",
|
|
5375
6373
|
"security": [
|
|
5376
6374
|
{
|
|
5377
6375
|
"managementKey": []
|
|
@@ -5385,31 +6383,21 @@
|
|
|
5385
6383
|
{
|
|
5386
6384
|
"schema": {
|
|
5387
6385
|
"type": "string",
|
|
5388
|
-
"description": "The protocol version, `
|
|
6386
|
+
"description": "The protocol version, `15`"
|
|
5389
6387
|
},
|
|
5390
6388
|
"required": true,
|
|
5391
|
-
"description": "The protocol version, `
|
|
6389
|
+
"description": "The protocol version, `15`",
|
|
5392
6390
|
"name": "Nylorun-Protocol",
|
|
5393
6391
|
"in": "header"
|
|
5394
6392
|
}
|
|
5395
6393
|
],
|
|
5396
|
-
"requestBody": {
|
|
5397
|
-
"required": true,
|
|
5398
|
-
"content": {
|
|
5399
|
-
"application/json": {
|
|
5400
|
-
"schema": {
|
|
5401
|
-
"$ref": "#/components/schemas/RotateSigningKeysRequest"
|
|
5402
|
-
}
|
|
5403
|
-
}
|
|
5404
|
-
}
|
|
5405
|
-
},
|
|
5406
6394
|
"responses": {
|
|
5407
6395
|
"200": {
|
|
5408
|
-
"description": "The
|
|
6396
|
+
"description": "The limits in force and the bytes used",
|
|
5409
6397
|
"content": {
|
|
5410
6398
|
"application/json": {
|
|
5411
6399
|
"schema": {
|
|
5412
|
-
"$ref": "#/components/schemas/
|
|
6400
|
+
"$ref": "#/components/schemas/TenantArtifactsView"
|
|
5413
6401
|
}
|
|
5414
6402
|
}
|
|
5415
6403
|
}
|
|
@@ -5454,9 +6442,6 @@
|
|
|
5454
6442
|
}
|
|
5455
6443
|
}
|
|
5456
6444
|
},
|
|
5457
|
-
"409": {
|
|
5458
|
-
"description": "The previous key may still verify outstanding tokens"
|
|
5459
|
-
},
|
|
5460
6445
|
"426": {
|
|
5461
6446
|
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
5462
6447
|
"content": {
|
|
@@ -5478,14 +6463,13 @@
|
|
|
5478
6463
|
}
|
|
5479
6464
|
}
|
|
5480
6465
|
}
|
|
5481
|
-
}
|
|
5482
|
-
|
|
5483
|
-
"/v1/tenant/signing-keys/{kid}/revoke": {
|
|
5484
|
-
"post": {
|
|
6466
|
+
},
|
|
6467
|
+
"put": {
|
|
5485
6468
|
"tags": [
|
|
5486
|
-
"
|
|
6469
|
+
"Settings"
|
|
5487
6470
|
],
|
|
5488
|
-
"summary": "
|
|
6471
|
+
"summary": "Set the Tenant's artifact limits",
|
|
6472
|
+
"description": "The largest file one upload may store, and the most bytes all artifacts may hold. Unset limits take the defaults (100 MiB and 10 GiB).",
|
|
5489
6473
|
"security": [
|
|
5490
6474
|
{
|
|
5491
6475
|
"managementKey": []
|
|
@@ -5496,21 +6480,13 @@
|
|
|
5496
6480
|
],
|
|
5497
6481
|
"x-nylorun-scopes": "never",
|
|
5498
6482
|
"parameters": [
|
|
5499
|
-
{
|
|
5500
|
-
"schema": {
|
|
5501
|
-
"type": "string"
|
|
5502
|
-
},
|
|
5503
|
-
"required": true,
|
|
5504
|
-
"name": "kid",
|
|
5505
|
-
"in": "path"
|
|
5506
|
-
},
|
|
5507
6483
|
{
|
|
5508
6484
|
"schema": {
|
|
5509
6485
|
"type": "string",
|
|
5510
|
-
"description": "The protocol version, `
|
|
6486
|
+
"description": "The protocol version, `15`"
|
|
5511
6487
|
},
|
|
5512
6488
|
"required": true,
|
|
5513
|
-
"description": "The protocol version, `
|
|
6489
|
+
"description": "The protocol version, `15`",
|
|
5514
6490
|
"name": "Nylorun-Protocol",
|
|
5515
6491
|
"in": "header"
|
|
5516
6492
|
}
|
|
@@ -5520,18 +6496,18 @@
|
|
|
5520
6496
|
"content": {
|
|
5521
6497
|
"application/json": {
|
|
5522
6498
|
"schema": {
|
|
5523
|
-
"$ref": "#/components/schemas/
|
|
6499
|
+
"$ref": "#/components/schemas/PutTenantArtifactsRequest"
|
|
5524
6500
|
}
|
|
5525
6501
|
}
|
|
5526
6502
|
}
|
|
5527
6503
|
},
|
|
5528
6504
|
"responses": {
|
|
5529
6505
|
"200": {
|
|
5530
|
-
"description": "The
|
|
6506
|
+
"description": "The limits now in force",
|
|
5531
6507
|
"content": {
|
|
5532
6508
|
"application/json": {
|
|
5533
6509
|
"schema": {
|
|
5534
|
-
"$ref": "#/components/schemas/
|
|
6510
|
+
"$ref": "#/components/schemas/TenantArtifactsView"
|
|
5535
6511
|
}
|
|
5536
6512
|
}
|
|
5537
6513
|
}
|
|
@@ -5576,9 +6552,6 @@
|
|
|
5576
6552
|
}
|
|
5577
6553
|
}
|
|
5578
6554
|
},
|
|
5579
|
-
"409": {
|
|
5580
|
-
"description": "Rotate before revoking the current key"
|
|
5581
|
-
},
|
|
5582
6555
|
"426": {
|
|
5583
6556
|
"description": "`Nylorun-Protocol` missing or unsupported",
|
|
5584
6557
|
"content": {
|
|
@@ -5602,12 +6575,12 @@
|
|
|
5602
6575
|
}
|
|
5603
6576
|
}
|
|
5604
6577
|
},
|
|
5605
|
-
"/v1/tenant/
|
|
6578
|
+
"/v1/tenant/skills": {
|
|
5606
6579
|
"get": {
|
|
5607
6580
|
"tags": [
|
|
5608
6581
|
"Settings"
|
|
5609
6582
|
],
|
|
5610
|
-
"summary": "Get the Tenant's
|
|
6583
|
+
"summary": "Get the Tenant's skill limit",
|
|
5611
6584
|
"security": [
|
|
5612
6585
|
{
|
|
5613
6586
|
"managementKey": []
|
|
@@ -5621,21 +6594,21 @@
|
|
|
5621
6594
|
{
|
|
5622
6595
|
"schema": {
|
|
5623
6596
|
"type": "string",
|
|
5624
|
-
"description": "The protocol version, `
|
|
6597
|
+
"description": "The protocol version, `15`"
|
|
5625
6598
|
},
|
|
5626
6599
|
"required": true,
|
|
5627
|
-
"description": "The protocol version, `
|
|
6600
|
+
"description": "The protocol version, `15`",
|
|
5628
6601
|
"name": "Nylorun-Protocol",
|
|
5629
6602
|
"in": "header"
|
|
5630
6603
|
}
|
|
5631
6604
|
],
|
|
5632
6605
|
"responses": {
|
|
5633
6606
|
"200": {
|
|
5634
|
-
"description": "The
|
|
6607
|
+
"description": "The limit in force",
|
|
5635
6608
|
"content": {
|
|
5636
6609
|
"application/json": {
|
|
5637
6610
|
"schema": {
|
|
5638
|
-
"$ref": "#/components/schemas/
|
|
6611
|
+
"$ref": "#/components/schemas/TenantSkillsView"
|
|
5639
6612
|
}
|
|
5640
6613
|
}
|
|
5641
6614
|
}
|
|
@@ -5706,8 +6679,8 @@
|
|
|
5706
6679
|
"tags": [
|
|
5707
6680
|
"Settings"
|
|
5708
6681
|
],
|
|
5709
|
-
"summary": "Set the Tenant's
|
|
5710
|
-
"description": "The
|
|
6682
|
+
"summary": "Set the Tenant's skill limit",
|
|
6683
|
+
"description": "The most bytes one skill's files may hold together, for every agent the Tenant stores and every Environment, whose manifest may set a lower one (`limits.skills`). Unset, the limit takes the default (2 GiB). Agents already stored keep their skills; a session opens only while its agent's skills fit.",
|
|
5711
6684
|
"security": [
|
|
5712
6685
|
{
|
|
5713
6686
|
"managementKey": []
|
|
@@ -5721,10 +6694,10 @@
|
|
|
5721
6694
|
{
|
|
5722
6695
|
"schema": {
|
|
5723
6696
|
"type": "string",
|
|
5724
|
-
"description": "The protocol version, `
|
|
6697
|
+
"description": "The protocol version, `15`"
|
|
5725
6698
|
},
|
|
5726
6699
|
"required": true,
|
|
5727
|
-
"description": "The protocol version, `
|
|
6700
|
+
"description": "The protocol version, `15`",
|
|
5728
6701
|
"name": "Nylorun-Protocol",
|
|
5729
6702
|
"in": "header"
|
|
5730
6703
|
}
|
|
@@ -5734,18 +6707,18 @@
|
|
|
5734
6707
|
"content": {
|
|
5735
6708
|
"application/json": {
|
|
5736
6709
|
"schema": {
|
|
5737
|
-
"$ref": "#/components/schemas/
|
|
6710
|
+
"$ref": "#/components/schemas/PutTenantSkillsRequest"
|
|
5738
6711
|
}
|
|
5739
6712
|
}
|
|
5740
6713
|
}
|
|
5741
6714
|
},
|
|
5742
6715
|
"responses": {
|
|
5743
6716
|
"200": {
|
|
5744
|
-
"description": "The
|
|
6717
|
+
"description": "The limit now in force",
|
|
5745
6718
|
"content": {
|
|
5746
6719
|
"application/json": {
|
|
5747
6720
|
"schema": {
|
|
5748
|
-
"$ref": "#/components/schemas/
|
|
6721
|
+
"$ref": "#/components/schemas/TenantSkillsView"
|
|
5749
6722
|
}
|
|
5750
6723
|
}
|
|
5751
6724
|
}
|
|
@@ -5813,12 +6786,13 @@
|
|
|
5813
6786
|
}
|
|
5814
6787
|
}
|
|
5815
6788
|
},
|
|
5816
|
-
"/v1/tenant/
|
|
6789
|
+
"/v1/tenant/limits": {
|
|
5817
6790
|
"get": {
|
|
5818
6791
|
"tags": [
|
|
5819
6792
|
"Settings"
|
|
5820
6793
|
],
|
|
5821
|
-
"summary": "Get the Tenant's
|
|
6794
|
+
"summary": "Get the Tenant's Runtime limits",
|
|
6795
|
+
"description": "The sizes, counts and deadlines the Runtime holds what crosses it to: the Tenant's (Tenant setting `limits.config`), with the default for each it leaves out. Harnesses get the ones they must respect in `turn.start.limits` (record entry, model call, model file, tool answer, custom harness state, Harness API chunk, folder entries). Defaults and ceilings: `recordEntryBytes` 983040 bytes, at most 983040 (S2 takes records of at most 1048576 bytes, and an event's envelope needs 65536 beside its payload); `modelCallBytes` 33554432 bytes, at most 536870888 (the Model Gate reads a call's body as one string, of at most 536870888 characters); `modelFileBytes` 8388608 bytes, at most 402653166 (a file goes to the provider as one base64 string, of at most 536870888 characters); `toolAnswerBytes` 8388608 bytes, at most 33554432 (a harness reports the answer to core in one Harness API frame (67108864 bytes), as JSON, whose escapes may double it); `harnessStateBytes` 262144 bytes, at most 33554432 (the state crosses in one Harness API frame (67108864 bytes) with the rest of its output or turn.start); `chunkBytes` 16777216 bytes, at most 50266112 (a chunk crosses in base64 in one Harness API frame (67108864 bytes), with room for the frame's own JSON); `folderEntries` 10000 entries, at most 4628197 (a folder's manifest is read as one string, of at most 536870888 characters, and each entry takes at least 116); `requestBodyBytes` 1048576 bytes, at most 536870888 (a body is read as one string, of at most 536870888 characters); `messageParts` 32 entries, at most 19884106 (parts arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 27); `pageItems` 200 entries, at most 178956962 (a page's items go in one response body, written as one string of at most 536870888 characters, and each takes at least 3); `exportPageItems` 1000 entries, at most 178956962 (a page's calls go in one response body, written as one string of at most 536870888 characters, and each takes at least 3); `environmentEventItems` 1000 entries, at most 178956962 (the events go in one response body, written as one string of at most 536870888 characters, and each takes at least 3); `inlineFileBytes` 20971520 bytes, at most 402653166 (a file sent inline arrives in base64 in a body read as one string, of at most 536870888 characters); `a2aWaitMs` 300000 milliseconds, at most 2147483647 (the wait is timed with a JavaScript timer, which waits at most 2147483647 ms); `errorExcerptChars` 2000 characters, at most 163840 (the excerpt is kept in one record entry (at most 983040 bytes), where JSON may escape a character to 6); `traceContentBytes` 8192 bytes, at most 983040 (span content is cut from one record entry, which holds at most 983040 bytes); `environmentLabels` 32 entries, at most 59652320 (labels arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 9); `artifactLabels` 32 entries, at most 59652320 (labels arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 9); `labelKeyChars` 63 characters, at most 536870888 (a label key arrives in one request body, read as one string of at most 536870888 characters); `labelValueChars` 256 characters, at most 536870888 (a label value arrives in one request body, read as one string of at most 536870888 characters); `environmentSetupCommands` 16 entries, at most 33554430 (setup commands arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 16); `environmentFiles` 16 entries, at most 16268814 (input file entries arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 33); `environmentFilesPerEntry` 1000 entries, at most 6710886 (the files of an entry arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 80); `environmentSecretSlots` 64 entries, at most 14128181 (secret slots arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 38); `setupCommandChars` 4096 characters, at most 43690 (a command runs as one argument of /bin/sh -c, which Linux takes up to 131072 bytes long (MAX_ARG_STRLEN, with its NUL), and UTF-8 may take 3 bytes for a character); `setupCommandMs` 1800000 milliseconds, at most 2147483647 (the engine times a command with a JavaScript timer, which waits at most 2147483647 ms); `setupOutputChars` 4096 characters, at most 163840 (the output is kept in one record entry (at most 983040 bytes), where JSON may escape a character to 6); `setupReasonChars` 500 characters, at most 163840 (the reason is kept in one record entry (at most 983040 bytes), where JSON may escape a character to 6); `setupCommandExcerptChars` 80 characters, at most 163840 (the reason is kept in one record entry (at most 983040 bytes), where JSON may escape a character to 6); `manifestDescriptionChars` 1024 characters, at most 536870888 (a description arrives in one request body, read as one string of at most 536870888 characters); `secretDescriptionChars` 500 characters, at most 536870888 (a description arrives in one request body, read as one string of at most 536870888 characters); `secretValueChars` 8192 characters, at most 536870888 (a value arrives in one request body, read as one string of at most 536870888 characters); `secretHosts` 32 entries, at most 89478481 (hosts arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 6); `diskVersionEntries` 200000 entries, at most 1917396 (a disk is listed in one Harness API frame (67108864 bytes, each entry at least 35), and a version's manifest is read as one string of at most 536870888 characters); `diskVersionBytes` 10737418240 bytes, at most 9007199254740991 (the files' sizes are added up in a JavaScript number, exact up to 9007199254740991); `diskLeaseMs` 120000 milliseconds, at most 2147483647 (the lease is renewed with a JavaScript timer, which waits at most 2147483647 ms); `diskPodWaitMs` 60000 milliseconds, at most 9007199254740991 (the deadline is reckoned from the clock in a JavaScript number, exact up to 9007199254740991); `modelRequestMs` 600000 milliseconds, at most 2147483647 (the provider's SDK times the request with a JavaScript timer, which waits at most 2147483647 ms); `modelIdleMs` 300000 milliseconds, at most 2147483647 (the stream's silence is timed with a JavaScript timer, which waits at most 2147483647 ms); `modelAttempts` 3 attempts, at most 9007199254740991 (attempts are counted in a JavaScript number, exact up to 9007199254740991); `modelRetryDelayMs` 2000 milliseconds, at most 2147483647 (the delay is waited with a JavaScript timer, which waits at most 2147483647 ms); `modelProviderRetries` 2 retries, at most 9007199254740991 (retries are counted in a JavaScript number, exact up to 9007199254740991); `modelRetryDelayMaxMs` 60000 milliseconds, at most 2147483647 (the delay is waited with a JavaScript timer, which waits at most 2147483647 ms); `toolAttempts` 3 attempts, at most 9007199254740991 (sends are counted in a JavaScript number, exact up to 9007199254740991); `httpToolTimeoutMs` 300000 milliseconds, at most 2147483647 (the call is timed with a JavaScript timer, which waits at most 2147483647 ms); `mcpSnapshotBytes` 4194304 bytes, at most 16777216 (the facts cross in turn.start, one Harness API frame (67108864 bytes), beside the harness's state (at most half of it) and the rest); `mcpPreviewMs` 15000 milliseconds, at most 2147483647 (the preview is timed with a JavaScript timer, which waits at most 2147483647 ms); `mcpMetadataBytes` 65536 bytes, at most 536870888 (the document is read as one string, of at most 536870888 characters); `toolRules` 200 entries, at most 28256362 (rules arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 19); `toolRuleFieldChars` 200 characters, at most 536870888 (a selector arrives in one request body, read as one string of at most 536870888 characters); `toolRuleTextChars` 500 characters, at most 536870888 (a text arrives in one request body, read as one string of at most 536870888 characters); `modelBudgets` 100 entries, at most 28256362 (budgets arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 19); `flowConcurrency` 8 effects, at most 9007199254740991 (running effects are counted in a JavaScript number, exact up to 9007199254740991); `flowMapItems` 1000 entries, at most 9007199254740991 (items are counted in a JavaScript number, exact up to 9007199254740991); `flowLoopIterations` 100 iterations, at most 9007199254740991 (iterations are counted in a JavaScript number, exact up to 9007199254740991).",
|
|
5822
6796
|
"security": [
|
|
5823
6797
|
{
|
|
5824
6798
|
"managementKey": []
|
|
@@ -5832,21 +6806,21 @@
|
|
|
5832
6806
|
{
|
|
5833
6807
|
"schema": {
|
|
5834
6808
|
"type": "string",
|
|
5835
|
-
"description": "The protocol version, `
|
|
6809
|
+
"description": "The protocol version, `15`"
|
|
5836
6810
|
},
|
|
5837
6811
|
"required": true,
|
|
5838
|
-
"description": "The protocol version, `
|
|
6812
|
+
"description": "The protocol version, `15`",
|
|
5839
6813
|
"name": "Nylorun-Protocol",
|
|
5840
6814
|
"in": "header"
|
|
5841
6815
|
}
|
|
5842
6816
|
],
|
|
5843
6817
|
"responses": {
|
|
5844
6818
|
"200": {
|
|
5845
|
-
"description": "The limits in force
|
|
6819
|
+
"description": "The limits in force",
|
|
5846
6820
|
"content": {
|
|
5847
6821
|
"application/json": {
|
|
5848
6822
|
"schema": {
|
|
5849
|
-
"$ref": "#/components/schemas/
|
|
6823
|
+
"$ref": "#/components/schemas/TenantLimitsView"
|
|
5850
6824
|
}
|
|
5851
6825
|
}
|
|
5852
6826
|
}
|
|
@@ -5917,8 +6891,8 @@
|
|
|
5917
6891
|
"tags": [
|
|
5918
6892
|
"Settings"
|
|
5919
6893
|
],
|
|
5920
|
-
"summary": "Set the Tenant's
|
|
5921
|
-
"description": "
|
|
6894
|
+
"summary": "Set the Tenant's Runtime limits",
|
|
6895
|
+
"description": "Replaces the Tenant's Runtime limits: a limit left out takes its default. A limit above its ceiling, which a dependency sets, is `400` naming the ceiling, and nothing is written. Each is read where it is checked, so a new value holds for the next request, write, call or segment. Defaults and ceilings: `recordEntryBytes` 983040 bytes, at most 983040 (S2 takes records of at most 1048576 bytes, and an event's envelope needs 65536 beside its payload); `modelCallBytes` 33554432 bytes, at most 536870888 (the Model Gate reads a call's body as one string, of at most 536870888 characters); `modelFileBytes` 8388608 bytes, at most 402653166 (a file goes to the provider as one base64 string, of at most 536870888 characters); `toolAnswerBytes` 8388608 bytes, at most 33554432 (a harness reports the answer to core in one Harness API frame (67108864 bytes), as JSON, whose escapes may double it); `harnessStateBytes` 262144 bytes, at most 33554432 (the state crosses in one Harness API frame (67108864 bytes) with the rest of its output or turn.start); `chunkBytes` 16777216 bytes, at most 50266112 (a chunk crosses in base64 in one Harness API frame (67108864 bytes), with room for the frame's own JSON); `folderEntries` 10000 entries, at most 4628197 (a folder's manifest is read as one string, of at most 536870888 characters, and each entry takes at least 116); `requestBodyBytes` 1048576 bytes, at most 536870888 (a body is read as one string, of at most 536870888 characters); `messageParts` 32 entries, at most 19884106 (parts arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 27); `pageItems` 200 entries, at most 178956962 (a page's items go in one response body, written as one string of at most 536870888 characters, and each takes at least 3); `exportPageItems` 1000 entries, at most 178956962 (a page's calls go in one response body, written as one string of at most 536870888 characters, and each takes at least 3); `environmentEventItems` 1000 entries, at most 178956962 (the events go in one response body, written as one string of at most 536870888 characters, and each takes at least 3); `inlineFileBytes` 20971520 bytes, at most 402653166 (a file sent inline arrives in base64 in a body read as one string, of at most 536870888 characters); `a2aWaitMs` 300000 milliseconds, at most 2147483647 (the wait is timed with a JavaScript timer, which waits at most 2147483647 ms); `errorExcerptChars` 2000 characters, at most 163840 (the excerpt is kept in one record entry (at most 983040 bytes), where JSON may escape a character to 6); `traceContentBytes` 8192 bytes, at most 983040 (span content is cut from one record entry, which holds at most 983040 bytes); `environmentLabels` 32 entries, at most 59652320 (labels arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 9); `artifactLabels` 32 entries, at most 59652320 (labels arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 9); `labelKeyChars` 63 characters, at most 536870888 (a label key arrives in one request body, read as one string of at most 536870888 characters); `labelValueChars` 256 characters, at most 536870888 (a label value arrives in one request body, read as one string of at most 536870888 characters); `environmentSetupCommands` 16 entries, at most 33554430 (setup commands arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 16); `environmentFiles` 16 entries, at most 16268814 (input file entries arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 33); `environmentFilesPerEntry` 1000 entries, at most 6710886 (the files of an entry arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 80); `environmentSecretSlots` 64 entries, at most 14128181 (secret slots arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 38); `setupCommandChars` 4096 characters, at most 43690 (a command runs as one argument of /bin/sh -c, which Linux takes up to 131072 bytes long (MAX_ARG_STRLEN, with its NUL), and UTF-8 may take 3 bytes for a character); `setupCommandMs` 1800000 milliseconds, at most 2147483647 (the engine times a command with a JavaScript timer, which waits at most 2147483647 ms); `setupOutputChars` 4096 characters, at most 163840 (the output is kept in one record entry (at most 983040 bytes), where JSON may escape a character to 6); `setupReasonChars` 500 characters, at most 163840 (the reason is kept in one record entry (at most 983040 bytes), where JSON may escape a character to 6); `setupCommandExcerptChars` 80 characters, at most 163840 (the reason is kept in one record entry (at most 983040 bytes), where JSON may escape a character to 6); `manifestDescriptionChars` 1024 characters, at most 536870888 (a description arrives in one request body, read as one string of at most 536870888 characters); `secretDescriptionChars` 500 characters, at most 536870888 (a description arrives in one request body, read as one string of at most 536870888 characters); `secretValueChars` 8192 characters, at most 536870888 (a value arrives in one request body, read as one string of at most 536870888 characters); `secretHosts` 32 entries, at most 89478481 (hosts arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 6); `diskVersionEntries` 200000 entries, at most 1917396 (a disk is listed in one Harness API frame (67108864 bytes, each entry at least 35), and a version's manifest is read as one string of at most 536870888 characters); `diskVersionBytes` 10737418240 bytes, at most 9007199254740991 (the files' sizes are added up in a JavaScript number, exact up to 9007199254740991); `diskLeaseMs` 120000 milliseconds, at most 2147483647 (the lease is renewed with a JavaScript timer, which waits at most 2147483647 ms); `diskPodWaitMs` 60000 milliseconds, at most 9007199254740991 (the deadline is reckoned from the clock in a JavaScript number, exact up to 9007199254740991); `modelRequestMs` 600000 milliseconds, at most 2147483647 (the provider's SDK times the request with a JavaScript timer, which waits at most 2147483647 ms); `modelIdleMs` 300000 milliseconds, at most 2147483647 (the stream's silence is timed with a JavaScript timer, which waits at most 2147483647 ms); `modelAttempts` 3 attempts, at most 9007199254740991 (attempts are counted in a JavaScript number, exact up to 9007199254740991); `modelRetryDelayMs` 2000 milliseconds, at most 2147483647 (the delay is waited with a JavaScript timer, which waits at most 2147483647 ms); `modelProviderRetries` 2 retries, at most 9007199254740991 (retries are counted in a JavaScript number, exact up to 9007199254740991); `modelRetryDelayMaxMs` 60000 milliseconds, at most 2147483647 (the delay is waited with a JavaScript timer, which waits at most 2147483647 ms); `toolAttempts` 3 attempts, at most 9007199254740991 (sends are counted in a JavaScript number, exact up to 9007199254740991); `httpToolTimeoutMs` 300000 milliseconds, at most 2147483647 (the call is timed with a JavaScript timer, which waits at most 2147483647 ms); `mcpSnapshotBytes` 4194304 bytes, at most 16777216 (the facts cross in turn.start, one Harness API frame (67108864 bytes), beside the harness's state (at most half of it) and the rest); `mcpPreviewMs` 15000 milliseconds, at most 2147483647 (the preview is timed with a JavaScript timer, which waits at most 2147483647 ms); `mcpMetadataBytes` 65536 bytes, at most 536870888 (the document is read as one string, of at most 536870888 characters); `toolRules` 200 entries, at most 28256362 (rules arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 19); `toolRuleFieldChars` 200 characters, at most 536870888 (a selector arrives in one request body, read as one string of at most 536870888 characters); `toolRuleTextChars` 500 characters, at most 536870888 (a text arrives in one request body, read as one string of at most 536870888 characters); `modelBudgets` 100 entries, at most 28256362 (budgets arrive in one request body, read as one string of at most 536870888 characters, and each takes at least 19); `flowConcurrency` 8 effects, at most 9007199254740991 (running effects are counted in a JavaScript number, exact up to 9007199254740991); `flowMapItems` 1000 entries, at most 9007199254740991 (items are counted in a JavaScript number, exact up to 9007199254740991); `flowLoopIterations` 100 iterations, at most 9007199254740991 (iterations are counted in a JavaScript number, exact up to 9007199254740991).",
|
|
5922
6896
|
"security": [
|
|
5923
6897
|
{
|
|
5924
6898
|
"managementKey": []
|
|
@@ -5932,10 +6906,10 @@
|
|
|
5932
6906
|
{
|
|
5933
6907
|
"schema": {
|
|
5934
6908
|
"type": "string",
|
|
5935
|
-
"description": "The protocol version, `
|
|
6909
|
+
"description": "The protocol version, `15`"
|
|
5936
6910
|
},
|
|
5937
6911
|
"required": true,
|
|
5938
|
-
"description": "The protocol version, `
|
|
6912
|
+
"description": "The protocol version, `15`",
|
|
5939
6913
|
"name": "Nylorun-Protocol",
|
|
5940
6914
|
"in": "header"
|
|
5941
6915
|
}
|
|
@@ -5945,7 +6919,7 @@
|
|
|
5945
6919
|
"content": {
|
|
5946
6920
|
"application/json": {
|
|
5947
6921
|
"schema": {
|
|
5948
|
-
"$ref": "#/components/schemas/
|
|
6922
|
+
"$ref": "#/components/schemas/PutTenantLimitsRequest"
|
|
5949
6923
|
}
|
|
5950
6924
|
}
|
|
5951
6925
|
}
|
|
@@ -5956,20 +6930,13 @@
|
|
|
5956
6930
|
"content": {
|
|
5957
6931
|
"application/json": {
|
|
5958
6932
|
"schema": {
|
|
5959
|
-
"$ref": "#/components/schemas/
|
|
6933
|
+
"$ref": "#/components/schemas/TenantLimitsView"
|
|
5960
6934
|
}
|
|
5961
6935
|
}
|
|
5962
6936
|
}
|
|
5963
6937
|
},
|
|
5964
6938
|
"400": {
|
|
5965
|
-
"description": "
|
|
5966
|
-
"content": {
|
|
5967
|
-
"application/json": {
|
|
5968
|
-
"schema": {
|
|
5969
|
-
"$ref": "#/components/schemas/Rejected"
|
|
5970
|
-
}
|
|
5971
|
-
}
|
|
5972
|
-
}
|
|
6939
|
+
"description": "A limit above its ceiling"
|
|
5973
6940
|
},
|
|
5974
6941
|
"401": {
|
|
5975
6942
|
"description": "No credential (`credential_required`), or one the Tenant does not accept (`credential_invalid`), with a `WWW-Authenticate: Bearer` challenge",
|
|
@@ -6057,7 +7024,7 @@
|
|
|
6057
7024
|
},
|
|
6058
7025
|
{
|
|
6059
7026
|
"name": "Settings",
|
|
6060
|
-
"description": "The Tenant's sandbox backend, Environment and
|
|
7027
|
+
"description": "The Tenant's sandbox backend, Environment, artifact and skill settings, and its Runtime limits. `admin.settings`."
|
|
6061
7028
|
}
|
|
6062
7029
|
]
|
|
6063
7030
|
}
|