@opensoha/contracts 0.1.6 → 0.1.8
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/auth/catalog_generated.go +3 -3
- package/auth/permission-catalog.json +108 -2
- package/capabilities/cluster-capability-matrix.schema.json +30 -1
- package/compat/json-schema-ecosystem-0.1.0.json +1 -1
- package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
- package/examples/gateway-manifest/minimal.json +6 -6
- package/examples/openapi/agent-run-tool-call-request.json +1 -1
- package/examples/openapi/agent-tool-call-result-envelope.json +1 -1
- package/examples/openapi/gateway-manifest-envelope.json +4 -4
- package/examples/openapi/tool-invocation-request.json +1 -1
- package/examples/openapi/tool-invocation-result-envelope.json +1 -1
- package/examples/plugin-manifest/skill-pack.json +2 -2
- package/examples/skill-manifest/k8s-sre.json +2 -2
- package/examples/token-claims/service-account.json +1 -1
- package/fixtures/json-schema/cluster-capability-matrix/valid/runtime-parity.json +3 -0
- package/fixtures/json-schema/companion-pack/invalid/traversal.json +19 -0
- package/fixtures/json-schema/companion-pack/valid/svg.json +47 -0
- package/fixtures/json-schema/companion-provenance/invalid/missing-source.json +8 -0
- package/fixtures/json-schema/companion-provenance/valid/minimal.json +10 -0
- package/fixtures/json-schema/gateway-manifest/valid/minimal.json +4 -4
- package/fixtures/json-schema/marketplace-catalog/valid/companion-pack.json +39 -0
- package/fixtures/json-schema/plugin-manifest/invalid/companion-pack-without-assets.json +17 -0
- package/fixtures/json-schema/plugin-manifest/valid/companion-pack.json +28 -0
- package/fixtures/json-schema/skill-manifest/valid/minimal.json +2 -2
- package/fixtures/json-schema/token-claims/valid/service-account.json +1 -1
- package/fixtures/openapi/AIGatewayManifestEnvelope/valid/minimal.json +1 -1
- package/fixtures/openapi/AgentInstallationEnvelope/invalid/missing-command.json +7 -0
- package/fixtures/openapi/AgentInstallationEnvelope/valid/minimal.json +8 -0
- package/fixtures/openapi/ApplicationInput/invalid/missing-key.json +4 -0
- package/fixtures/openapi/ApplicationInput/valid/minimal.json +5 -0
- package/fixtures/openapi/CompanionInteractionReceiptEnvelope/invalid/missing-profile.json +9 -0
- package/fixtures/openapi/CompanionInteractionReceiptEnvelope/valid/applied.json +22 -0
- package/fixtures/openapi/CompanionInteractionRequest/invalid/client-reward.json +5 -0
- package/fixtures/openapi/CompanionInteractionRequest/valid/pet.json +5 -0
- package/fixtures/openapi/CompanionPackManifest/invalid/external-entry.json +11 -0
- package/fixtures/openapi/CompanionPackManifest/valid/svg.json +20 -0
- package/fixtures/openapi/CompanionProfileEnvelope/invalid/level-zero.json +15 -0
- package/fixtures/openapi/CompanionProfileEnvelope/valid/default.json +15 -0
- package/fixtures/openapi/HelmReleaseImportRequest/invalid/empty-releases.json +10 -0
- package/fixtures/openapi/HelmReleaseImportRequest/valid/managed.json +14 -0
- package/fixtures/openapi/HelmReleaseImportResultEnvelope/invalid/missing-mode.json +20 -0
- package/fixtures/openapi/HelmReleaseImportResultEnvelope/valid/created.json +35 -0
- package/fixtures/openapi/KubernetesImportCandidateListEnvelope/invalid/unknown-kind.json +14 -0
- package/fixtures/openapi/KubernetesImportCandidateListEnvelope/valid/grouped.json +31 -0
- package/fixtures/openapi/KubernetesServiceImportRequest/invalid/unsupported-mode.json +15 -0
- package/fixtures/openapi/KubernetesServiceImportRequest/valid/managed.json +15 -0
- package/fixtures/openapi/KubernetesServiceImportRequest/valid/observe-only.json +15 -0
- package/fixtures/openapi/KubernetesServiceImportResultEnvelope/invalid/missing-mode.json +20 -0
- package/fixtures/openapi/KubernetesServiceImportResultEnvelope/valid/created.json +37 -0
- package/fixtures/openapi/MCPCapabilityListEnvelope/invalid/missing-scopes.json +1 -1
- package/fixtures/openapi/MCPCapabilityListEnvelope/valid/minimal.json +1 -1
- package/fixtures/openapi/ObservabilityDashboardImportResultEnvelope/invalid/missing-dashboard.json +7 -0
- package/fixtures/openapi/ObservabilityDashboardImportResultEnvelope/valid/imported.json +36 -0
- package/fixtures/openapi/ObservabilityGrafanaDashboardImportInput/invalid/missing-data-source.json +3 -0
- package/fixtures/openapi/ObservabilityGrafanaDashboardImportInput/invalid/missing-json.json +3 -0
- package/fixtures/openapi/ObservabilityGrafanaDashboardImportInput/valid/classic.json +4 -0
- package/fixtures/openapi/ObservabilityMetricDataSourceListEnvelope/invalid/missing-name.json +7 -0
- package/fixtures/openapi/ObservabilityMetricDataSourceListEnvelope/valid/list.json +8 -0
- package/fixtures/openapi/PersonalAccessTokenInput/invalid/extra-field.json +1 -1
- package/fixtures/openapi/PersonalAccessTokenInput/valid/create.json +1 -1
- package/fixtures/openapi/PluginProvenanceStatement/invalid/algorithm.json +10 -0
- package/fixtures/openapi/PluginProvenanceStatement/valid/minimal.json +10 -0
- package/fixtures/openapi/RegistryConnectionInput/invalid/missing-type.json +4 -0
- package/fixtures/openapi/RegistryConnectionInput/valid/harbor.json +9 -0
- package/fixtures/openapi/RegistryConnectionListEnvelope/invalid/exposed-secret.json +18 -0
- package/fixtures/openapi/RegistryConnectionListEnvelope/valid/configured.json +19 -0
- package/fixtures/openapi/SoftwarePackage/invalid/unsafe-software-package.json +15 -0
- package/fixtures/openapi/SoftwarePackage/valid/software-package.json +17 -0
- package/fixtures/openapi/SoftwarePackageURLImportRequest/invalid/software-package-url-import-request.json +9 -0
- package/fixtures/openapi/SoftwarePackageURLImportRequest/valid/software-package-url-import-request.json +12 -0
- package/fixtures/openapi/SoftwareStorage/invalid/software-storage.json +6 -0
- package/fixtures/openapi/SoftwareStorage/valid/software-storage.json +22 -0
- package/gen/go/sohaapi/client.go +1 -1
- package/gen/go/sohaapi/types.go +1251 -21
- package/gen/ts/sohaapi/index.ts +1855 -129
- package/openapi/soha-api.json +3280 -4
- package/openapi/soha-api.yaml +1876 -71
- package/openapi/spec_generated.go +3 -3
- package/package.json +3 -1
- package/plugins/companion-pack.schema.json +118 -0
- package/plugins/companion-provenance.schema.json +19 -0
- package/plugins/marketplace-catalog.schema.json +20 -0
- package/plugins/plugin-manifest.schema.json +19 -1
package/openapi/soha-api.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: 3.1.0
|
|
2
2
|
info:
|
|
3
3
|
title: Soha API
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.8
|
|
5
5
|
description: >
|
|
6
6
|
Public OpenSoha core API contract. This first contract focuses on stable
|
|
7
7
|
cross-repository boundaries: auth, health, runner-facing control-plane
|
|
@@ -34,6 +34,7 @@ tags:
|
|
|
34
34
|
- name: Compute
|
|
35
35
|
- name: MCP
|
|
36
36
|
- name: Plugins
|
|
37
|
+
- name: Software
|
|
37
38
|
- name: Access
|
|
38
39
|
- name: Identity
|
|
39
40
|
- name: Directory
|
|
@@ -1304,6 +1305,93 @@ paths:
|
|
|
1304
1305
|
$ref: "#/components/schemas/ApplicationEnvironmentEnvelope"
|
|
1305
1306
|
"400":
|
|
1306
1307
|
$ref: "#/components/responses/Error"
|
|
1308
|
+
/application-environments/target-candidates:
|
|
1309
|
+
get:
|
|
1310
|
+
tags: [Delivery]
|
|
1311
|
+
operationId: listApplicationEnvironmentTargetCandidates
|
|
1312
|
+
parameters:
|
|
1313
|
+
- name: clusterId
|
|
1314
|
+
in: query
|
|
1315
|
+
required: true
|
|
1316
|
+
schema:
|
|
1317
|
+
type: string
|
|
1318
|
+
minLength: 1
|
|
1319
|
+
- name: namespace
|
|
1320
|
+
in: query
|
|
1321
|
+
required: true
|
|
1322
|
+
schema:
|
|
1323
|
+
type: string
|
|
1324
|
+
minLength: 1
|
|
1325
|
+
- name: search
|
|
1326
|
+
in: query
|
|
1327
|
+
required: false
|
|
1328
|
+
schema:
|
|
1329
|
+
type: string
|
|
1330
|
+
- name: limit
|
|
1331
|
+
in: query
|
|
1332
|
+
required: false
|
|
1333
|
+
schema:
|
|
1334
|
+
type: integer
|
|
1335
|
+
minimum: 1
|
|
1336
|
+
maximum: 200
|
|
1337
|
+
default: 100
|
|
1338
|
+
responses:
|
|
1339
|
+
"200":
|
|
1340
|
+
description: Discoverable Kubernetes workloads and their related resources.
|
|
1341
|
+
content:
|
|
1342
|
+
application/json:
|
|
1343
|
+
schema:
|
|
1344
|
+
$ref: "#/components/schemas/KubernetesImportCandidateListEnvelope"
|
|
1345
|
+
"400":
|
|
1346
|
+
$ref: "#/components/responses/Error"
|
|
1347
|
+
"403":
|
|
1348
|
+
$ref: "#/components/responses/Error"
|
|
1349
|
+
/application-environments/imports:
|
|
1350
|
+
post:
|
|
1351
|
+
tags: [Delivery]
|
|
1352
|
+
operationId: importKubernetesServices
|
|
1353
|
+
requestBody:
|
|
1354
|
+
required: true
|
|
1355
|
+
content:
|
|
1356
|
+
application/json:
|
|
1357
|
+
schema:
|
|
1358
|
+
$ref: "#/components/schemas/KubernetesServiceImportRequest"
|
|
1359
|
+
responses:
|
|
1360
|
+
"200":
|
|
1361
|
+
description: Idempotent Kubernetes service import result.
|
|
1362
|
+
content:
|
|
1363
|
+
application/json:
|
|
1364
|
+
schema:
|
|
1365
|
+
$ref: "#/components/schemas/KubernetesServiceImportResultEnvelope"
|
|
1366
|
+
"400":
|
|
1367
|
+
$ref: "#/components/responses/Error"
|
|
1368
|
+
"403":
|
|
1369
|
+
$ref: "#/components/responses/Error"
|
|
1370
|
+
"409":
|
|
1371
|
+
$ref: "#/components/responses/Error"
|
|
1372
|
+
/application-environments/helm-release-imports:
|
|
1373
|
+
post:
|
|
1374
|
+
tags: [Delivery]
|
|
1375
|
+
operationId: importHelmReleases
|
|
1376
|
+
requestBody:
|
|
1377
|
+
required: true
|
|
1378
|
+
content:
|
|
1379
|
+
application/json:
|
|
1380
|
+
schema:
|
|
1381
|
+
$ref: "#/components/schemas/HelmReleaseImportRequest"
|
|
1382
|
+
responses:
|
|
1383
|
+
"200":
|
|
1384
|
+
description: Idempotent Helm release import result.
|
|
1385
|
+
content:
|
|
1386
|
+
application/json:
|
|
1387
|
+
schema:
|
|
1388
|
+
$ref: "#/components/schemas/HelmReleaseImportResultEnvelope"
|
|
1389
|
+
"400":
|
|
1390
|
+
$ref: "#/components/responses/Error"
|
|
1391
|
+
"403":
|
|
1392
|
+
$ref: "#/components/responses/Error"
|
|
1393
|
+
"409":
|
|
1394
|
+
$ref: "#/components/responses/Error"
|
|
1307
1395
|
/application-environments/{applicationEnvironmentID}:
|
|
1308
1396
|
get:
|
|
1309
1397
|
tags: [Delivery]
|
|
@@ -1370,6 +1458,88 @@ paths:
|
|
|
1370
1458
|
$ref: "#/components/schemas/ApplicationEnvironmentDeliveryDetailEnvelope"
|
|
1371
1459
|
"404":
|
|
1372
1460
|
$ref: "#/components/responses/Error"
|
|
1461
|
+
/registries:
|
|
1462
|
+
get:
|
|
1463
|
+
tags: [Delivery]
|
|
1464
|
+
operationId: listRegistryConnections
|
|
1465
|
+
parameters:
|
|
1466
|
+
- name: limit
|
|
1467
|
+
in: query
|
|
1468
|
+
required: false
|
|
1469
|
+
schema:
|
|
1470
|
+
type: integer
|
|
1471
|
+
minimum: 1
|
|
1472
|
+
maximum: 200
|
|
1473
|
+
responses:
|
|
1474
|
+
"200":
|
|
1475
|
+
description: Registry connections visible to the current principal.
|
|
1476
|
+
content:
|
|
1477
|
+
application/json:
|
|
1478
|
+
schema:
|
|
1479
|
+
$ref: "#/components/schemas/RegistryConnectionListEnvelope"
|
|
1480
|
+
"403":
|
|
1481
|
+
$ref: "#/components/responses/Error"
|
|
1482
|
+
post:
|
|
1483
|
+
tags: [Delivery]
|
|
1484
|
+
operationId: createRegistryConnection
|
|
1485
|
+
requestBody:
|
|
1486
|
+
required: true
|
|
1487
|
+
content:
|
|
1488
|
+
application/json:
|
|
1489
|
+
schema:
|
|
1490
|
+
$ref: "#/components/schemas/RegistryConnectionInput"
|
|
1491
|
+
responses:
|
|
1492
|
+
"201":
|
|
1493
|
+
description: Created registry connection.
|
|
1494
|
+
content:
|
|
1495
|
+
application/json:
|
|
1496
|
+
schema:
|
|
1497
|
+
$ref: "#/components/schemas/RegistryConnectionEnvelope"
|
|
1498
|
+
"400":
|
|
1499
|
+
$ref: "#/components/responses/Error"
|
|
1500
|
+
"403":
|
|
1501
|
+
$ref: "#/components/responses/Error"
|
|
1502
|
+
/registries/{connectionID}:
|
|
1503
|
+
put:
|
|
1504
|
+
tags: [Delivery]
|
|
1505
|
+
operationId: updateRegistryConnection
|
|
1506
|
+
parameters:
|
|
1507
|
+
- $ref: "#/components/parameters/RegistryConnectionID"
|
|
1508
|
+
requestBody:
|
|
1509
|
+
required: true
|
|
1510
|
+
content:
|
|
1511
|
+
application/json:
|
|
1512
|
+
schema:
|
|
1513
|
+
$ref: "#/components/schemas/RegistryConnectionInput"
|
|
1514
|
+
responses:
|
|
1515
|
+
"200":
|
|
1516
|
+
description: Updated registry connection.
|
|
1517
|
+
content:
|
|
1518
|
+
application/json:
|
|
1519
|
+
schema:
|
|
1520
|
+
$ref: "#/components/schemas/RegistryConnectionEnvelope"
|
|
1521
|
+
"400":
|
|
1522
|
+
$ref: "#/components/responses/Error"
|
|
1523
|
+
"403":
|
|
1524
|
+
$ref: "#/components/responses/Error"
|
|
1525
|
+
"404":
|
|
1526
|
+
$ref: "#/components/responses/Error"
|
|
1527
|
+
delete:
|
|
1528
|
+
tags: [Delivery]
|
|
1529
|
+
operationId: deleteRegistryConnection
|
|
1530
|
+
parameters:
|
|
1531
|
+
- $ref: "#/components/parameters/RegistryConnectionID"
|
|
1532
|
+
responses:
|
|
1533
|
+
"200":
|
|
1534
|
+
description: Deleted registry connection.
|
|
1535
|
+
content:
|
|
1536
|
+
application/json:
|
|
1537
|
+
schema:
|
|
1538
|
+
$ref: "#/components/schemas/OperationStatus"
|
|
1539
|
+
"403":
|
|
1540
|
+
$ref: "#/components/responses/Error"
|
|
1541
|
+
"404":
|
|
1542
|
+
$ref: "#/components/responses/Error"
|
|
1373
1543
|
/build-templates:
|
|
1374
1544
|
get:
|
|
1375
1545
|
tags: [Delivery]
|
|
@@ -2738,6 +2908,66 @@ paths:
|
|
|
2738
2908
|
$ref: "#/components/schemas/ClusterCapabilityMatrixEnvelope"
|
|
2739
2909
|
"403":
|
|
2740
2910
|
$ref: "#/components/responses/Error"
|
|
2911
|
+
/clusters/{clusterID}/agent-installation:
|
|
2912
|
+
post:
|
|
2913
|
+
tags: [Platform]
|
|
2914
|
+
operationId: createClusterAgentInstallation
|
|
2915
|
+
parameters:
|
|
2916
|
+
- $ref: "#/components/parameters/ClusterID"
|
|
2917
|
+
responses:
|
|
2918
|
+
"200":
|
|
2919
|
+
description: Short-lived Kubernetes manifest URL and kubectl command for installing the cluster Agent.
|
|
2920
|
+
content:
|
|
2921
|
+
application/json:
|
|
2922
|
+
schema:
|
|
2923
|
+
$ref: "#/components/schemas/AgentInstallationEnvelope"
|
|
2924
|
+
"400":
|
|
2925
|
+
$ref: "#/components/responses/Error"
|
|
2926
|
+
"403":
|
|
2927
|
+
$ref: "#/components/responses/Error"
|
|
2928
|
+
"404":
|
|
2929
|
+
$ref: "#/components/responses/Error"
|
|
2930
|
+
"409":
|
|
2931
|
+
$ref: "#/components/responses/Error"
|
|
2932
|
+
/kubernetes/agent-installations/{installTicket}/manifest.yaml:
|
|
2933
|
+
get:
|
|
2934
|
+
tags: [Platform]
|
|
2935
|
+
operationId: downloadKubernetesAgentInstallationManifest
|
|
2936
|
+
security: []
|
|
2937
|
+
parameters:
|
|
2938
|
+
- $ref: "#/components/parameters/AgentInstallTicket"
|
|
2939
|
+
responses:
|
|
2940
|
+
"200":
|
|
2941
|
+
description: Complete Kubernetes Agent installation manifest. The download URL is short-lived.
|
|
2942
|
+
content:
|
|
2943
|
+
application/yaml:
|
|
2944
|
+
schema:
|
|
2945
|
+
type: string
|
|
2946
|
+
"404":
|
|
2947
|
+
$ref: "#/components/responses/Error"
|
|
2948
|
+
"410":
|
|
2949
|
+
$ref: "#/components/responses/Error"
|
|
2950
|
+
/agent-sessions/connect:
|
|
2951
|
+
get:
|
|
2952
|
+
tags: [Platform]
|
|
2953
|
+
operationId: connectClusterAgentSession
|
|
2954
|
+
description: >
|
|
2955
|
+
Upgrades to the soha-agent-tunnel.v1 WebSocket subprotocol. The Agent
|
|
2956
|
+
initiates this connection and carries multiplexed HTTP and stream traffic
|
|
2957
|
+
over the resulting session.
|
|
2958
|
+
security:
|
|
2959
|
+
- agentBearerAuth: []
|
|
2960
|
+
parameters:
|
|
2961
|
+
- $ref: "#/components/parameters/ClusterIDQuery"
|
|
2962
|
+
responses:
|
|
2963
|
+
"101":
|
|
2964
|
+
description: WebSocket session established.
|
|
2965
|
+
"400":
|
|
2966
|
+
$ref: "#/components/responses/Error"
|
|
2967
|
+
"401":
|
|
2968
|
+
$ref: "#/components/responses/Error"
|
|
2969
|
+
"409":
|
|
2970
|
+
$ref: "#/components/responses/Error"
|
|
2741
2971
|
/clusters/{clusterID}/logs/query:
|
|
2742
2972
|
post:
|
|
2743
2973
|
tags: [Platform]
|
|
@@ -3021,120 +3251,230 @@ paths:
|
|
|
3021
3251
|
$ref: "#/components/schemas/ObservabilityProviderListEnvelope"
|
|
3022
3252
|
"403":
|
|
3023
3253
|
$ref: "#/components/responses/Error"
|
|
3024
|
-
/observability/
|
|
3025
|
-
|
|
3254
|
+
/observability/dashboards:
|
|
3255
|
+
get:
|
|
3026
3256
|
tags: [Observability]
|
|
3027
|
-
operationId:
|
|
3028
|
-
requestBody:
|
|
3029
|
-
required: true
|
|
3030
|
-
content:
|
|
3031
|
-
application/json:
|
|
3032
|
-
schema:
|
|
3033
|
-
$ref: "#/components/schemas/ObservabilityMetricQueryInput"
|
|
3257
|
+
operationId: listObservabilityDashboards
|
|
3034
3258
|
responses:
|
|
3035
3259
|
"200":
|
|
3036
|
-
description:
|
|
3260
|
+
description: Dashboards visible to the current principal.
|
|
3037
3261
|
content:
|
|
3038
3262
|
application/json:
|
|
3039
3263
|
schema:
|
|
3040
|
-
$ref: "#/components/schemas/
|
|
3041
|
-
"400":
|
|
3042
|
-
$ref: "#/components/responses/Error"
|
|
3264
|
+
$ref: "#/components/schemas/ObservabilityDashboardListEnvelope"
|
|
3043
3265
|
"403":
|
|
3044
3266
|
$ref: "#/components/responses/Error"
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3267
|
+
/observability/metrics/data-sources:
|
|
3268
|
+
get:
|
|
3269
|
+
tags: [Observability]
|
|
3270
|
+
operationId: listObservabilityMetricDataSources
|
|
3271
|
+
responses:
|
|
3272
|
+
"200":
|
|
3273
|
+
description: Enabled Prometheus data sources available for metric dashboards.
|
|
3274
|
+
content:
|
|
3275
|
+
application/json:
|
|
3276
|
+
schema:
|
|
3277
|
+
$ref: "#/components/schemas/ObservabilityMetricDataSourceListEnvelope"
|
|
3278
|
+
"403":
|
|
3048
3279
|
$ref: "#/components/responses/Error"
|
|
3049
|
-
/observability/
|
|
3280
|
+
/observability/dashboards/imports:
|
|
3050
3281
|
post:
|
|
3051
3282
|
tags: [Observability]
|
|
3052
|
-
operationId:
|
|
3283
|
+
operationId: importGrafanaDashboard
|
|
3053
3284
|
requestBody:
|
|
3054
3285
|
required: true
|
|
3055
3286
|
content:
|
|
3056
3287
|
application/json:
|
|
3057
3288
|
schema:
|
|
3058
|
-
$ref: "#/components/schemas/
|
|
3289
|
+
$ref: "#/components/schemas/ObservabilityGrafanaDashboardImportInput"
|
|
3059
3290
|
responses:
|
|
3060
|
-
"
|
|
3061
|
-
description:
|
|
3291
|
+
"201":
|
|
3292
|
+
description: Imported native dashboard and explicit compatibility warnings.
|
|
3062
3293
|
content:
|
|
3063
3294
|
application/json:
|
|
3064
3295
|
schema:
|
|
3065
|
-
$ref: "#/components/schemas/
|
|
3296
|
+
$ref: "#/components/schemas/ObservabilityDashboardImportResultEnvelope"
|
|
3066
3297
|
"400":
|
|
3067
3298
|
$ref: "#/components/responses/Error"
|
|
3068
3299
|
"403":
|
|
3069
3300
|
$ref: "#/components/responses/Error"
|
|
3070
3301
|
"404":
|
|
3071
3302
|
$ref: "#/components/responses/Error"
|
|
3072
|
-
|
|
3073
|
-
$ref: "#/components/responses/Error"
|
|
3074
|
-
/observability/data-sources:
|
|
3303
|
+
/observability/dashboards/{dashboardID}:
|
|
3075
3304
|
get:
|
|
3076
3305
|
tags: [Observability]
|
|
3077
|
-
operationId:
|
|
3306
|
+
operationId: getObservabilityDashboard
|
|
3307
|
+
parameters:
|
|
3308
|
+
- $ref: "#/components/parameters/DashboardID"
|
|
3078
3309
|
responses:
|
|
3079
3310
|
"200":
|
|
3080
|
-
description:
|
|
3311
|
+
description: Dashboard detail including normalized panels and targets.
|
|
3081
3312
|
content:
|
|
3082
3313
|
application/json:
|
|
3083
3314
|
schema:
|
|
3084
|
-
$ref: "#/components/schemas/
|
|
3315
|
+
$ref: "#/components/schemas/ObservabilityDashboardEnvelope"
|
|
3085
3316
|
"403":
|
|
3086
3317
|
$ref: "#/components/responses/Error"
|
|
3087
|
-
|
|
3318
|
+
"404":
|
|
3319
|
+
$ref: "#/components/responses/Error"
|
|
3320
|
+
delete:
|
|
3088
3321
|
tags: [Observability]
|
|
3089
|
-
operationId:
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
content:
|
|
3093
|
-
application/json:
|
|
3094
|
-
schema:
|
|
3095
|
-
$ref: "#/components/schemas/ObservabilityDataSourceInput"
|
|
3322
|
+
operationId: deleteObservabilityDashboard
|
|
3323
|
+
parameters:
|
|
3324
|
+
- $ref: "#/components/parameters/DashboardID"
|
|
3096
3325
|
responses:
|
|
3097
|
-
"
|
|
3098
|
-
description:
|
|
3326
|
+
"200":
|
|
3327
|
+
description: Dashboard deleted.
|
|
3099
3328
|
content:
|
|
3100
3329
|
application/json:
|
|
3101
3330
|
schema:
|
|
3102
|
-
$ref: "#/components/schemas/
|
|
3103
|
-
"400":
|
|
3104
|
-
$ref: "#/components/responses/Error"
|
|
3331
|
+
$ref: "#/components/schemas/OperationStatus"
|
|
3105
3332
|
"403":
|
|
3106
3333
|
$ref: "#/components/responses/Error"
|
|
3107
|
-
|
|
3108
|
-
|
|
3334
|
+
"404":
|
|
3335
|
+
$ref: "#/components/responses/Error"
|
|
3336
|
+
/observability/dashboards/{dashboardID}/panels/{panelID}/query:
|
|
3337
|
+
post:
|
|
3109
3338
|
tags: [Observability]
|
|
3110
|
-
operationId:
|
|
3339
|
+
operationId: queryObservabilityDashboardPanel
|
|
3111
3340
|
parameters:
|
|
3112
|
-
- $ref: "#/components/parameters/
|
|
3341
|
+
- $ref: "#/components/parameters/DashboardID"
|
|
3342
|
+
- $ref: "#/components/parameters/DashboardPanelID"
|
|
3113
3343
|
requestBody:
|
|
3114
3344
|
required: true
|
|
3115
3345
|
content:
|
|
3116
3346
|
application/json:
|
|
3117
3347
|
schema:
|
|
3118
|
-
$ref: "#/components/schemas/
|
|
3348
|
+
$ref: "#/components/schemas/ObservabilityDashboardPanelQueryInput"
|
|
3119
3349
|
responses:
|
|
3120
3350
|
"200":
|
|
3121
|
-
description:
|
|
3351
|
+
description: Normalized metric series for the persisted dashboard panel targets.
|
|
3122
3352
|
content:
|
|
3123
3353
|
application/json:
|
|
3124
3354
|
schema:
|
|
3125
|
-
$ref: "#/components/schemas/
|
|
3355
|
+
$ref: "#/components/schemas/ObservabilityMetricQueryEnvelope"
|
|
3126
3356
|
"400":
|
|
3127
3357
|
$ref: "#/components/responses/Error"
|
|
3128
3358
|
"403":
|
|
3129
3359
|
$ref: "#/components/responses/Error"
|
|
3130
3360
|
"404":
|
|
3131
3361
|
$ref: "#/components/responses/Error"
|
|
3132
|
-
|
|
3362
|
+
"503":
|
|
3363
|
+
$ref: "#/components/responses/Error"
|
|
3364
|
+
/observability/metrics/query:
|
|
3133
3365
|
post:
|
|
3134
3366
|
tags: [Observability]
|
|
3135
|
-
operationId:
|
|
3136
|
-
|
|
3137
|
-
|
|
3367
|
+
operationId: queryObservabilityMetrics
|
|
3368
|
+
requestBody:
|
|
3369
|
+
required: true
|
|
3370
|
+
content:
|
|
3371
|
+
application/json:
|
|
3372
|
+
schema:
|
|
3373
|
+
$ref: "#/components/schemas/ObservabilityMetricQueryInput"
|
|
3374
|
+
responses:
|
|
3375
|
+
"200":
|
|
3376
|
+
description: Normalized metric series from an authorized configured provider.
|
|
3377
|
+
content:
|
|
3378
|
+
application/json:
|
|
3379
|
+
schema:
|
|
3380
|
+
$ref: "#/components/schemas/ObservabilityMetricQueryEnvelope"
|
|
3381
|
+
"400":
|
|
3382
|
+
$ref: "#/components/responses/Error"
|
|
3383
|
+
"403":
|
|
3384
|
+
$ref: "#/components/responses/Error"
|
|
3385
|
+
"404":
|
|
3386
|
+
$ref: "#/components/responses/Error"
|
|
3387
|
+
"503":
|
|
3388
|
+
$ref: "#/components/responses/Error"
|
|
3389
|
+
/observability/traces/query:
|
|
3390
|
+
post:
|
|
3391
|
+
tags: [Observability]
|
|
3392
|
+
operationId: queryObservabilityTraces
|
|
3393
|
+
requestBody:
|
|
3394
|
+
required: true
|
|
3395
|
+
content:
|
|
3396
|
+
application/json:
|
|
3397
|
+
schema:
|
|
3398
|
+
$ref: "#/components/schemas/ObservabilityTraceQueryInput"
|
|
3399
|
+
responses:
|
|
3400
|
+
"200":
|
|
3401
|
+
description: Normalized trace spans from an authorized configured provider.
|
|
3402
|
+
content:
|
|
3403
|
+
application/json:
|
|
3404
|
+
schema:
|
|
3405
|
+
$ref: "#/components/schemas/ObservabilityTraceQueryEnvelope"
|
|
3406
|
+
"400":
|
|
3407
|
+
$ref: "#/components/responses/Error"
|
|
3408
|
+
"403":
|
|
3409
|
+
$ref: "#/components/responses/Error"
|
|
3410
|
+
"404":
|
|
3411
|
+
$ref: "#/components/responses/Error"
|
|
3412
|
+
"503":
|
|
3413
|
+
$ref: "#/components/responses/Error"
|
|
3414
|
+
/observability/data-sources:
|
|
3415
|
+
get:
|
|
3416
|
+
tags: [Observability]
|
|
3417
|
+
operationId: listObservabilityDataSources
|
|
3418
|
+
responses:
|
|
3419
|
+
"200":
|
|
3420
|
+
description: Permission-filtered log data sources with credentials redacted.
|
|
3421
|
+
content:
|
|
3422
|
+
application/json:
|
|
3423
|
+
schema:
|
|
3424
|
+
$ref: "#/components/schemas/ObservabilityDataSourceListEnvelope"
|
|
3425
|
+
"403":
|
|
3426
|
+
$ref: "#/components/responses/Error"
|
|
3427
|
+
post:
|
|
3428
|
+
tags: [Observability]
|
|
3429
|
+
operationId: createObservabilityDataSource
|
|
3430
|
+
requestBody:
|
|
3431
|
+
required: true
|
|
3432
|
+
content:
|
|
3433
|
+
application/json:
|
|
3434
|
+
schema:
|
|
3435
|
+
$ref: "#/components/schemas/ObservabilityDataSourceInput"
|
|
3436
|
+
responses:
|
|
3437
|
+
"201":
|
|
3438
|
+
description: Log data source created with credentials redacted.
|
|
3439
|
+
content:
|
|
3440
|
+
application/json:
|
|
3441
|
+
schema:
|
|
3442
|
+
$ref: "#/components/schemas/ObservabilityDataSourceEnvelope"
|
|
3443
|
+
"400":
|
|
3444
|
+
$ref: "#/components/responses/Error"
|
|
3445
|
+
"403":
|
|
3446
|
+
$ref: "#/components/responses/Error"
|
|
3447
|
+
/observability/data-sources/{dataSourceID}:
|
|
3448
|
+
put:
|
|
3449
|
+
tags: [Observability]
|
|
3450
|
+
operationId: updateObservabilityDataSource
|
|
3451
|
+
parameters:
|
|
3452
|
+
- $ref: "#/components/parameters/DataSourceID"
|
|
3453
|
+
requestBody:
|
|
3454
|
+
required: true
|
|
3455
|
+
content:
|
|
3456
|
+
application/json:
|
|
3457
|
+
schema:
|
|
3458
|
+
$ref: "#/components/schemas/ObservabilityDataSourceInput"
|
|
3459
|
+
responses:
|
|
3460
|
+
"200":
|
|
3461
|
+
description: Log data source updated with credentials redacted.
|
|
3462
|
+
content:
|
|
3463
|
+
application/json:
|
|
3464
|
+
schema:
|
|
3465
|
+
$ref: "#/components/schemas/ObservabilityDataSourceEnvelope"
|
|
3466
|
+
"400":
|
|
3467
|
+
$ref: "#/components/responses/Error"
|
|
3468
|
+
"403":
|
|
3469
|
+
$ref: "#/components/responses/Error"
|
|
3470
|
+
"404":
|
|
3471
|
+
$ref: "#/components/responses/Error"
|
|
3472
|
+
/observability/data-sources/{dataSourceID}/validate:
|
|
3473
|
+
post:
|
|
3474
|
+
tags: [Observability]
|
|
3475
|
+
operationId: validateObservabilityDataSource
|
|
3476
|
+
parameters:
|
|
3477
|
+
- $ref: "#/components/parameters/DataSourceID"
|
|
3138
3478
|
responses:
|
|
3139
3479
|
"200":
|
|
3140
3480
|
description: Current data-source validation and backend health result.
|
|
@@ -6063,6 +6403,25 @@ paths:
|
|
|
6063
6403
|
application/json:
|
|
6064
6404
|
schema:
|
|
6065
6405
|
$ref: "#/components/schemas/PluginManifest"
|
|
6406
|
+
/marketplace/plugins/{pluginID}/{version}/provenance.json:
|
|
6407
|
+
get:
|
|
6408
|
+
tags: [Marketplace]
|
|
6409
|
+
operationId: getPublicMarketplacePluginProvenance
|
|
6410
|
+
security: []
|
|
6411
|
+
parameters:
|
|
6412
|
+
- $ref: "#/components/parameters/PluginID"
|
|
6413
|
+
- name: version
|
|
6414
|
+
in: path
|
|
6415
|
+
required: true
|
|
6416
|
+
schema:
|
|
6417
|
+
type: string
|
|
6418
|
+
responses:
|
|
6419
|
+
"200":
|
|
6420
|
+
description: Immutable signed provenance statement for a plugin package.
|
|
6421
|
+
content:
|
|
6422
|
+
application/json:
|
|
6423
|
+
schema:
|
|
6424
|
+
$ref: "#/components/schemas/PluginProvenanceStatement"
|
|
6066
6425
|
/plugins/marketplace:
|
|
6067
6426
|
get:
|
|
6068
6427
|
tags: [Plugins]
|
|
@@ -6133,6 +6492,166 @@ paths:
|
|
|
6133
6492
|
application/json:
|
|
6134
6493
|
schema:
|
|
6135
6494
|
$ref: "#/components/schemas/MarketplacePluginEnvelope"
|
|
6495
|
+
/software/packages:
|
|
6496
|
+
get:
|
|
6497
|
+
tags: [Software]
|
|
6498
|
+
operationId: listSoftwarePackages
|
|
6499
|
+
parameters:
|
|
6500
|
+
- name: platform
|
|
6501
|
+
in: query
|
|
6502
|
+
required: false
|
|
6503
|
+
schema:
|
|
6504
|
+
type: string
|
|
6505
|
+
maxLength: 64
|
|
6506
|
+
- name: arch
|
|
6507
|
+
in: query
|
|
6508
|
+
required: false
|
|
6509
|
+
schema:
|
|
6510
|
+
type: string
|
|
6511
|
+
maxLength: 64
|
|
6512
|
+
- name: cursor
|
|
6513
|
+
in: query
|
|
6514
|
+
required: false
|
|
6515
|
+
schema:
|
|
6516
|
+
type: string
|
|
6517
|
+
maxLength: 256
|
|
6518
|
+
- name: limit
|
|
6519
|
+
in: query
|
|
6520
|
+
required: false
|
|
6521
|
+
schema:
|
|
6522
|
+
type: integer
|
|
6523
|
+
minimum: 1
|
|
6524
|
+
maximum: 200
|
|
6525
|
+
responses:
|
|
6526
|
+
"200":
|
|
6527
|
+
description: Software packages visible to the current principal.
|
|
6528
|
+
content:
|
|
6529
|
+
application/json:
|
|
6530
|
+
schema:
|
|
6531
|
+
$ref: "#/components/schemas/SoftwarePackageListEnvelope"
|
|
6532
|
+
"401":
|
|
6533
|
+
$ref: "#/components/responses/Error"
|
|
6534
|
+
"403":
|
|
6535
|
+
$ref: "#/components/responses/Error"
|
|
6536
|
+
post:
|
|
6537
|
+
tags: [Software]
|
|
6538
|
+
operationId: uploadSoftwarePackage
|
|
6539
|
+
requestBody:
|
|
6540
|
+
required: true
|
|
6541
|
+
content:
|
|
6542
|
+
multipart/form-data:
|
|
6543
|
+
schema:
|
|
6544
|
+
$ref: "#/components/schemas/SoftwarePackageUploadRequest"
|
|
6545
|
+
responses:
|
|
6546
|
+
"201":
|
|
6547
|
+
description: Software package uploaded and published.
|
|
6548
|
+
content:
|
|
6549
|
+
application/json:
|
|
6550
|
+
schema:
|
|
6551
|
+
$ref: "#/components/schemas/SoftwarePackageEnvelope"
|
|
6552
|
+
"400":
|
|
6553
|
+
$ref: "#/components/responses/Error"
|
|
6554
|
+
"401":
|
|
6555
|
+
$ref: "#/components/responses/Error"
|
|
6556
|
+
"403":
|
|
6557
|
+
$ref: "#/components/responses/Error"
|
|
6558
|
+
"409":
|
|
6559
|
+
$ref: "#/components/responses/Error"
|
|
6560
|
+
"413":
|
|
6561
|
+
$ref: "#/components/responses/Error"
|
|
6562
|
+
/software/packages/import:
|
|
6563
|
+
post:
|
|
6564
|
+
tags: [Software]
|
|
6565
|
+
operationId: importSoftwarePackage
|
|
6566
|
+
requestBody:
|
|
6567
|
+
required: true
|
|
6568
|
+
content:
|
|
6569
|
+
application/json:
|
|
6570
|
+
schema:
|
|
6571
|
+
$ref: "#/components/schemas/SoftwarePackageURLImportRequest"
|
|
6572
|
+
responses:
|
|
6573
|
+
"201":
|
|
6574
|
+
description: Software package downloaded from the source URL and published.
|
|
6575
|
+
content:
|
|
6576
|
+
application/json:
|
|
6577
|
+
schema:
|
|
6578
|
+
$ref: "#/components/schemas/SoftwarePackageEnvelope"
|
|
6579
|
+
"400":
|
|
6580
|
+
$ref: "#/components/responses/Error"
|
|
6581
|
+
"401":
|
|
6582
|
+
$ref: "#/components/responses/Error"
|
|
6583
|
+
"403":
|
|
6584
|
+
$ref: "#/components/responses/Error"
|
|
6585
|
+
"409":
|
|
6586
|
+
$ref: "#/components/responses/Error"
|
|
6587
|
+
"413":
|
|
6588
|
+
$ref: "#/components/responses/Error"
|
|
6589
|
+
/software/storage:
|
|
6590
|
+
get:
|
|
6591
|
+
tags: [Software]
|
|
6592
|
+
operationId: getSoftwareStorage
|
|
6593
|
+
parameters:
|
|
6594
|
+
- name: cursor
|
|
6595
|
+
in: query
|
|
6596
|
+
required: false
|
|
6597
|
+
schema:
|
|
6598
|
+
type: string
|
|
6599
|
+
maxLength: 256
|
|
6600
|
+
- name: limit
|
|
6601
|
+
in: query
|
|
6602
|
+
required: false
|
|
6603
|
+
schema:
|
|
6604
|
+
type: integer
|
|
6605
|
+
minimum: 1
|
|
6606
|
+
maximum: 200
|
|
6607
|
+
responses:
|
|
6608
|
+
"200":
|
|
6609
|
+
description: Managed software storage summary and object records.
|
|
6610
|
+
content:
|
|
6611
|
+
application/json:
|
|
6612
|
+
schema:
|
|
6613
|
+
$ref: "#/components/schemas/SoftwareStorageEnvelope"
|
|
6614
|
+
"400":
|
|
6615
|
+
$ref: "#/components/responses/Error"
|
|
6616
|
+
"401":
|
|
6617
|
+
$ref: "#/components/responses/Error"
|
|
6618
|
+
"403":
|
|
6619
|
+
$ref: "#/components/responses/Error"
|
|
6620
|
+
/software/packages/{packageID}:
|
|
6621
|
+
delete:
|
|
6622
|
+
tags: [Software]
|
|
6623
|
+
operationId: deleteSoftwarePackage
|
|
6624
|
+
parameters:
|
|
6625
|
+
- $ref: "#/components/parameters/SoftwarePackageID"
|
|
6626
|
+
responses:
|
|
6627
|
+
"204":
|
|
6628
|
+
description: Software package deleted.
|
|
6629
|
+
"401":
|
|
6630
|
+
$ref: "#/components/responses/Error"
|
|
6631
|
+
"403":
|
|
6632
|
+
$ref: "#/components/responses/Error"
|
|
6633
|
+
"404":
|
|
6634
|
+
$ref: "#/components/responses/Error"
|
|
6635
|
+
/software/packages/{packageID}/download:
|
|
6636
|
+
get:
|
|
6637
|
+
tags: [Software]
|
|
6638
|
+
operationId: downloadSoftwarePackage
|
|
6639
|
+
parameters:
|
|
6640
|
+
- $ref: "#/components/parameters/SoftwarePackageID"
|
|
6641
|
+
responses:
|
|
6642
|
+
"200":
|
|
6643
|
+
description: Software package binary.
|
|
6644
|
+
content:
|
|
6645
|
+
application/octet-stream:
|
|
6646
|
+
schema:
|
|
6647
|
+
type: string
|
|
6648
|
+
format: binary
|
|
6649
|
+
"401":
|
|
6650
|
+
$ref: "#/components/responses/Error"
|
|
6651
|
+
"403":
|
|
6652
|
+
$ref: "#/components/responses/Error"
|
|
6653
|
+
"404":
|
|
6654
|
+
$ref: "#/components/responses/Error"
|
|
6136
6655
|
/plugins/installed:
|
|
6137
6656
|
get:
|
|
6138
6657
|
tags: [Plugins]
|
|
@@ -6263,9 +6782,173 @@ paths:
|
|
|
6263
6782
|
application/json:
|
|
6264
6783
|
schema:
|
|
6265
6784
|
$ref: "#/components/schemas/InstalledPluginEnvelope"
|
|
6266
|
-
/
|
|
6267
|
-
|
|
6268
|
-
tags: [
|
|
6785
|
+
/plugins/{pluginID}/activate:
|
|
6786
|
+
post:
|
|
6787
|
+
tags: [Plugins]
|
|
6788
|
+
operationId: activateInstalledPlugin
|
|
6789
|
+
parameters:
|
|
6790
|
+
- $ref: "#/components/parameters/PluginID"
|
|
6791
|
+
- $ref: "#/components/parameters/IdempotencyKey"
|
|
6792
|
+
requestBody:
|
|
6793
|
+
required: false
|
|
6794
|
+
content:
|
|
6795
|
+
application/json:
|
|
6796
|
+
schema:
|
|
6797
|
+
$ref: "#/components/schemas/CompanionActivationRequest"
|
|
6798
|
+
responses:
|
|
6799
|
+
"200":
|
|
6800
|
+
description: Companion pack version activated.
|
|
6801
|
+
content:
|
|
6802
|
+
application/json:
|
|
6803
|
+
schema:
|
|
6804
|
+
$ref: "#/components/schemas/InstalledPluginEnvelope"
|
|
6805
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
6806
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
6807
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
6808
|
+
"409": { $ref: "#/components/responses/Error" }
|
|
6809
|
+
"422": { $ref: "#/components/responses/Error" }
|
|
6810
|
+
"503": { $ref: "#/components/responses/Error" }
|
|
6811
|
+
/plugins/{pluginID}/rollback:
|
|
6812
|
+
post:
|
|
6813
|
+
tags: [Plugins]
|
|
6814
|
+
operationId: rollbackInstalledPlugin
|
|
6815
|
+
parameters:
|
|
6816
|
+
- $ref: "#/components/parameters/PluginID"
|
|
6817
|
+
- $ref: "#/components/parameters/IdempotencyKey"
|
|
6818
|
+
requestBody:
|
|
6819
|
+
required: false
|
|
6820
|
+
content:
|
|
6821
|
+
application/json:
|
|
6822
|
+
schema:
|
|
6823
|
+
$ref: "#/components/schemas/CompanionRollbackRequest"
|
|
6824
|
+
responses:
|
|
6825
|
+
"200":
|
|
6826
|
+
description: Companion pack rolled back to a retained verified version.
|
|
6827
|
+
content:
|
|
6828
|
+
application/json:
|
|
6829
|
+
schema:
|
|
6830
|
+
$ref: "#/components/schemas/InstalledPluginEnvelope"
|
|
6831
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
6832
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
6833
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
6834
|
+
"409": { $ref: "#/components/responses/Error" }
|
|
6835
|
+
"422": { $ref: "#/components/responses/Error" }
|
|
6836
|
+
"503": { $ref: "#/components/responses/Error" }
|
|
6837
|
+
/plugins/{pluginID}/assets/{assetPath}:
|
|
6838
|
+
get:
|
|
6839
|
+
tags: [Plugins]
|
|
6840
|
+
operationId: getInstalledPluginAsset
|
|
6841
|
+
parameters:
|
|
6842
|
+
- $ref: "#/components/parameters/PluginID"
|
|
6843
|
+
- $ref: "#/components/parameters/PluginAssetPath"
|
|
6844
|
+
responses:
|
|
6845
|
+
"200":
|
|
6846
|
+
description: Immutable verified asset from the active companion pack.
|
|
6847
|
+
headers:
|
|
6848
|
+
Cache-Control:
|
|
6849
|
+
schema:
|
|
6850
|
+
type: string
|
|
6851
|
+
content:
|
|
6852
|
+
application/octet-stream:
|
|
6853
|
+
schema:
|
|
6854
|
+
type: string
|
|
6855
|
+
format: binary
|
|
6856
|
+
application/json:
|
|
6857
|
+
schema:
|
|
6858
|
+
type: string
|
|
6859
|
+
format: binary
|
|
6860
|
+
image/png:
|
|
6861
|
+
schema:
|
|
6862
|
+
type: string
|
|
6863
|
+
format: binary
|
|
6864
|
+
image/jpeg:
|
|
6865
|
+
schema:
|
|
6866
|
+
type: string
|
|
6867
|
+
format: binary
|
|
6868
|
+
image/webp:
|
|
6869
|
+
schema:
|
|
6870
|
+
type: string
|
|
6871
|
+
format: binary
|
|
6872
|
+
image/svg+xml:
|
|
6873
|
+
schema:
|
|
6874
|
+
type: string
|
|
6875
|
+
format: binary
|
|
6876
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
6877
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
6878
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
6879
|
+
/companion/profile:
|
|
6880
|
+
get:
|
|
6881
|
+
tags: [Companion]
|
|
6882
|
+
operationId: getCompanionProfile
|
|
6883
|
+
responses:
|
|
6884
|
+
"200":
|
|
6885
|
+
description: Current principal's companion profile.
|
|
6886
|
+
content:
|
|
6887
|
+
application/json:
|
|
6888
|
+
schema:
|
|
6889
|
+
$ref: "#/components/schemas/CompanionProfileEnvelope"
|
|
6890
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
6891
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
6892
|
+
"503": { $ref: "#/components/responses/Error" }
|
|
6893
|
+
/companion/interactions:
|
|
6894
|
+
post:
|
|
6895
|
+
tags: [Companion]
|
|
6896
|
+
operationId: recordCompanionInteraction
|
|
6897
|
+
parameters:
|
|
6898
|
+
- $ref: "#/components/parameters/IdempotencyKey"
|
|
6899
|
+
requestBody:
|
|
6900
|
+
required: true
|
|
6901
|
+
content:
|
|
6902
|
+
application/json:
|
|
6903
|
+
schema:
|
|
6904
|
+
$ref: "#/components/schemas/CompanionInteractionRequest"
|
|
6905
|
+
responses:
|
|
6906
|
+
"200":
|
|
6907
|
+
description: Existing idempotent interaction result.
|
|
6908
|
+
content:
|
|
6909
|
+
application/json:
|
|
6910
|
+
schema:
|
|
6911
|
+
$ref: "#/components/schemas/CompanionInteractionReceiptEnvelope"
|
|
6912
|
+
"201":
|
|
6913
|
+
description: Interaction applied to the companion profile.
|
|
6914
|
+
content:
|
|
6915
|
+
application/json:
|
|
6916
|
+
schema:
|
|
6917
|
+
$ref: "#/components/schemas/CompanionInteractionReceiptEnvelope"
|
|
6918
|
+
"400": { $ref: "#/components/responses/Error" }
|
|
6919
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
6920
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
6921
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
6922
|
+
"409": { $ref: "#/components/responses/Error" }
|
|
6923
|
+
"422": { $ref: "#/components/responses/Error" }
|
|
6924
|
+
"503": { $ref: "#/components/responses/Error" }
|
|
6925
|
+
/companion/profile/reset:
|
|
6926
|
+
post:
|
|
6927
|
+
tags: [Companion]
|
|
6928
|
+
operationId: resetCompanionProfile
|
|
6929
|
+
parameters:
|
|
6930
|
+
- $ref: "#/components/parameters/IdempotencyKey"
|
|
6931
|
+
requestBody:
|
|
6932
|
+
required: false
|
|
6933
|
+
content:
|
|
6934
|
+
application/json:
|
|
6935
|
+
schema:
|
|
6936
|
+
$ref: "#/components/schemas/CompanionProfileResetRequest"
|
|
6937
|
+
responses:
|
|
6938
|
+
"200":
|
|
6939
|
+
description: Companion progression reset for the selected pack.
|
|
6940
|
+
content:
|
|
6941
|
+
application/json:
|
|
6942
|
+
schema:
|
|
6943
|
+
$ref: "#/components/schemas/CompanionProfileEnvelope"
|
|
6944
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
6945
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
6946
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
6947
|
+
"409": { $ref: "#/components/responses/Error" }
|
|
6948
|
+
"503": { $ref: "#/components/responses/Error" }
|
|
6949
|
+
/ai/agent-providers/catalog:
|
|
6950
|
+
get:
|
|
6951
|
+
tags: [Agent Providers]
|
|
6269
6952
|
operationId: getAgentProviderCatalog
|
|
6270
6953
|
responses:
|
|
6271
6954
|
"200":
|
|
@@ -8301,6 +8984,10 @@ components:
|
|
|
8301
8984
|
type: http
|
|
8302
8985
|
scheme: bearer
|
|
8303
8986
|
description: Runtime execution runner token.
|
|
8987
|
+
agentBearerAuth:
|
|
8988
|
+
type: http
|
|
8989
|
+
scheme: bearer
|
|
8990
|
+
description: Per-cluster Agent session token provisioned through the installation manifest.
|
|
8304
8991
|
sohaXAPIKey:
|
|
8305
8992
|
type: apiKey
|
|
8306
8993
|
in: header
|
|
@@ -8421,6 +9108,21 @@ components:
|
|
|
8421
9108
|
schema:
|
|
8422
9109
|
type: string
|
|
8423
9110
|
minLength: 1
|
|
9111
|
+
ClusterIDQuery:
|
|
9112
|
+
name: clusterId
|
|
9113
|
+
in: query
|
|
9114
|
+
required: true
|
|
9115
|
+
schema:
|
|
9116
|
+
type: string
|
|
9117
|
+
minLength: 1
|
|
9118
|
+
AgentInstallTicket:
|
|
9119
|
+
name: installTicket
|
|
9120
|
+
in: path
|
|
9121
|
+
required: true
|
|
9122
|
+
schema:
|
|
9123
|
+
type: string
|
|
9124
|
+
minLength: 16
|
|
9125
|
+
maxLength: 1024
|
|
8424
9126
|
DataSourceID:
|
|
8425
9127
|
name: dataSourceID
|
|
8426
9128
|
in: path
|
|
@@ -8429,6 +9131,22 @@ components:
|
|
|
8429
9131
|
type: string
|
|
8430
9132
|
minLength: 1
|
|
8431
9133
|
maxLength: 128
|
|
9134
|
+
DashboardID:
|
|
9135
|
+
name: dashboardID
|
|
9136
|
+
in: path
|
|
9137
|
+
required: true
|
|
9138
|
+
schema:
|
|
9139
|
+
type: string
|
|
9140
|
+
minLength: 1
|
|
9141
|
+
maxLength: 128
|
|
9142
|
+
DashboardPanelID:
|
|
9143
|
+
name: panelID
|
|
9144
|
+
in: path
|
|
9145
|
+
required: true
|
|
9146
|
+
schema:
|
|
9147
|
+
type: string
|
|
9148
|
+
minLength: 1
|
|
9149
|
+
maxLength: 128
|
|
8432
9150
|
ComputeCursor:
|
|
8433
9151
|
name: cursor
|
|
8434
9152
|
in: query
|
|
@@ -8631,6 +9349,13 @@ components:
|
|
|
8631
9349
|
required: true
|
|
8632
9350
|
schema:
|
|
8633
9351
|
type: string
|
|
9352
|
+
RegistryConnectionID:
|
|
9353
|
+
name: connectionID
|
|
9354
|
+
in: path
|
|
9355
|
+
required: true
|
|
9356
|
+
schema:
|
|
9357
|
+
type: string
|
|
9358
|
+
minLength: 1
|
|
8634
9359
|
BundleID:
|
|
8635
9360
|
name: bundleID
|
|
8636
9361
|
in: path
|
|
@@ -8673,6 +9398,16 @@ components:
|
|
|
8673
9398
|
required: true
|
|
8674
9399
|
schema:
|
|
8675
9400
|
type: string
|
|
9401
|
+
PluginAssetPath:
|
|
9402
|
+
name: assetPath
|
|
9403
|
+
in: path
|
|
9404
|
+
required: true
|
|
9405
|
+
description: Slash-separated relative path declared by the active companion pack.
|
|
9406
|
+
schema:
|
|
9407
|
+
type: string
|
|
9408
|
+
minLength: 1
|
|
9409
|
+
maxLength: 512
|
|
9410
|
+
pattern: "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\)[A-Za-z0-9._/-]+$"
|
|
8676
9411
|
KnowledgeBaseID:
|
|
8677
9412
|
name: baseID
|
|
8678
9413
|
in: path
|
|
@@ -8717,6 +9452,14 @@ components:
|
|
|
8717
9452
|
type: string
|
|
8718
9453
|
minLength: 1
|
|
8719
9454
|
maxLength: 128
|
|
9455
|
+
SoftwarePackageID:
|
|
9456
|
+
name: packageID
|
|
9457
|
+
in: path
|
|
9458
|
+
required: true
|
|
9459
|
+
schema:
|
|
9460
|
+
type: string
|
|
9461
|
+
minLength: 1
|
|
9462
|
+
maxLength: 128
|
|
8720
9463
|
AIMemoryID:
|
|
8721
9464
|
name: memoryID
|
|
8722
9465
|
in: path
|
|
@@ -14088,7 +14831,7 @@ components:
|
|
|
14088
14831
|
additionalProperties: false
|
|
14089
14832
|
ApplicationInput:
|
|
14090
14833
|
type: object
|
|
14091
|
-
required: [name, key,
|
|
14834
|
+
required: [name, key, enabled]
|
|
14092
14835
|
properties:
|
|
14093
14836
|
id:
|
|
14094
14837
|
type: string
|
|
@@ -14448,6 +15191,87 @@ components:
|
|
|
14448
15191
|
enabled:
|
|
14449
15192
|
type: boolean
|
|
14450
15193
|
additionalProperties: false
|
|
15194
|
+
RegistryConnectionMetadata:
|
|
15195
|
+
type: object
|
|
15196
|
+
required: [secretConfigured, secretStorage]
|
|
15197
|
+
properties:
|
|
15198
|
+
secretConfigured:
|
|
15199
|
+
type: boolean
|
|
15200
|
+
secretStorage:
|
|
15201
|
+
type: string
|
|
15202
|
+
additionalProperties: false
|
|
15203
|
+
RegistryConnection:
|
|
15204
|
+
type: object
|
|
15205
|
+
required: [id, name, registryType, endpoint, insecure, metadata, createdAt, updatedAt]
|
|
15206
|
+
properties:
|
|
15207
|
+
id:
|
|
15208
|
+
type: string
|
|
15209
|
+
minLength: 1
|
|
15210
|
+
name:
|
|
15211
|
+
type: string
|
|
15212
|
+
minLength: 1
|
|
15213
|
+
registryType:
|
|
15214
|
+
type: string
|
|
15215
|
+
minLength: 1
|
|
15216
|
+
endpoint:
|
|
15217
|
+
type: string
|
|
15218
|
+
minLength: 1
|
|
15219
|
+
namespace:
|
|
15220
|
+
type: string
|
|
15221
|
+
username:
|
|
15222
|
+
type: string
|
|
15223
|
+
insecure:
|
|
15224
|
+
type: boolean
|
|
15225
|
+
metadata:
|
|
15226
|
+
$ref: "#/components/schemas/RegistryConnectionMetadata"
|
|
15227
|
+
createdAt:
|
|
15228
|
+
type: string
|
|
15229
|
+
format: date-time
|
|
15230
|
+
updatedAt:
|
|
15231
|
+
type: string
|
|
15232
|
+
format: date-time
|
|
15233
|
+
additionalProperties: false
|
|
15234
|
+
RegistryConnectionInput:
|
|
15235
|
+
type: object
|
|
15236
|
+
required: [name, registryType, endpoint]
|
|
15237
|
+
properties:
|
|
15238
|
+
id:
|
|
15239
|
+
type: string
|
|
15240
|
+
name:
|
|
15241
|
+
type: string
|
|
15242
|
+
minLength: 1
|
|
15243
|
+
registryType:
|
|
15244
|
+
type: string
|
|
15245
|
+
minLength: 1
|
|
15246
|
+
endpoint:
|
|
15247
|
+
type: string
|
|
15248
|
+
minLength: 1
|
|
15249
|
+
namespace:
|
|
15250
|
+
type: string
|
|
15251
|
+
username:
|
|
15252
|
+
type: string
|
|
15253
|
+
secret:
|
|
15254
|
+
type: string
|
|
15255
|
+
writeOnly: true
|
|
15256
|
+
insecure:
|
|
15257
|
+
type: boolean
|
|
15258
|
+
additionalProperties: false
|
|
15259
|
+
RegistryConnectionEnvelope:
|
|
15260
|
+
type: object
|
|
15261
|
+
required: [data]
|
|
15262
|
+
properties:
|
|
15263
|
+
data:
|
|
15264
|
+
$ref: "#/components/schemas/RegistryConnection"
|
|
15265
|
+
additionalProperties: false
|
|
15266
|
+
RegistryConnectionListEnvelope:
|
|
15267
|
+
type: object
|
|
15268
|
+
required: [items]
|
|
15269
|
+
properties:
|
|
15270
|
+
items:
|
|
15271
|
+
type: array
|
|
15272
|
+
items:
|
|
15273
|
+
$ref: "#/components/schemas/RegistryConnection"
|
|
15274
|
+
additionalProperties: false
|
|
14451
15275
|
WorkflowTemplate:
|
|
14452
15276
|
type: object
|
|
14453
15277
|
required: [id, key, name, enabled, createdAt, updatedAt]
|
|
@@ -14566,26 +15390,302 @@ components:
|
|
|
14566
15390
|
items:
|
|
14567
15391
|
$ref: "#/components/schemas/ReleaseTargetInput"
|
|
14568
15392
|
additionalProperties: false
|
|
14569
|
-
|
|
15393
|
+
KubernetesRelatedResource:
|
|
14570
15394
|
type: object
|
|
14571
|
-
required: [
|
|
15395
|
+
required: [kind, name]
|
|
14572
15396
|
properties:
|
|
14573
|
-
|
|
14574
|
-
type: string
|
|
14575
|
-
key:
|
|
15397
|
+
kind:
|
|
14576
15398
|
type: string
|
|
15399
|
+
enum: [Service, Ingress, HorizontalPodAutoscaler]
|
|
14577
15400
|
name:
|
|
14578
15401
|
type: string
|
|
14579
|
-
|
|
15402
|
+
minLength: 1
|
|
15403
|
+
additionalProperties: false
|
|
15404
|
+
KubernetesImportCandidate:
|
|
15405
|
+
type: object
|
|
15406
|
+
required: [clusterId, namespace, workloadKind, workloadName, desiredReplicas, readyReplicas, relatedResources]
|
|
15407
|
+
properties:
|
|
15408
|
+
clusterId:
|
|
14580
15409
|
type: string
|
|
14581
|
-
|
|
15410
|
+
minLength: 1
|
|
15411
|
+
namespace:
|
|
14582
15412
|
type: string
|
|
14583
|
-
|
|
15413
|
+
minLength: 1
|
|
15414
|
+
workloadKind:
|
|
14584
15415
|
type: string
|
|
14585
|
-
|
|
14586
|
-
|
|
14587
|
-
|
|
14588
|
-
|
|
15416
|
+
enum: [Deployment, StatefulSet, DaemonSet]
|
|
15417
|
+
workloadName:
|
|
15418
|
+
type: string
|
|
15419
|
+
minLength: 1
|
|
15420
|
+
desiredReplicas:
|
|
15421
|
+
type: integer
|
|
15422
|
+
minimum: 0
|
|
15423
|
+
readyReplicas:
|
|
15424
|
+
type: integer
|
|
15425
|
+
minimum: 0
|
|
15426
|
+
containers:
|
|
15427
|
+
type: array
|
|
15428
|
+
uniqueItems: true
|
|
15429
|
+
items:
|
|
15430
|
+
type: string
|
|
15431
|
+
labels:
|
|
15432
|
+
type: object
|
|
15433
|
+
additionalProperties:
|
|
15434
|
+
type: string
|
|
15435
|
+
relatedResources:
|
|
15436
|
+
type: array
|
|
15437
|
+
items:
|
|
15438
|
+
$ref: "#/components/schemas/KubernetesRelatedResource"
|
|
15439
|
+
additionalProperties: false
|
|
15440
|
+
KubernetesImportCandidateListEnvelope:
|
|
15441
|
+
type: object
|
|
15442
|
+
required: [items, truncated]
|
|
15443
|
+
properties:
|
|
15444
|
+
items:
|
|
15445
|
+
type: array
|
|
15446
|
+
items:
|
|
15447
|
+
$ref: "#/components/schemas/KubernetesImportCandidate"
|
|
15448
|
+
truncated:
|
|
15449
|
+
type: boolean
|
|
15450
|
+
additionalProperties: false
|
|
15451
|
+
KubernetesWorkloadImportInput:
|
|
15452
|
+
type: object
|
|
15453
|
+
required: [workloadKind, workloadName]
|
|
15454
|
+
properties:
|
|
15455
|
+
workloadKind:
|
|
15456
|
+
type: string
|
|
15457
|
+
enum: [Deployment, StatefulSet, DaemonSet]
|
|
15458
|
+
workloadName:
|
|
15459
|
+
type: string
|
|
15460
|
+
minLength: 1
|
|
15461
|
+
additionalProperties: false
|
|
15462
|
+
KubernetesServiceImportRequest:
|
|
15463
|
+
type: object
|
|
15464
|
+
required: [clusterId, namespace, applicationKey, applicationName, environmentKey, environmentName, ownershipMode, workloads]
|
|
15465
|
+
properties:
|
|
15466
|
+
clusterId:
|
|
15467
|
+
type: string
|
|
15468
|
+
minLength: 1
|
|
15469
|
+
namespace:
|
|
15470
|
+
type: string
|
|
15471
|
+
minLength: 1
|
|
15472
|
+
applicationKey:
|
|
15473
|
+
type: string
|
|
15474
|
+
minLength: 1
|
|
15475
|
+
applicationName:
|
|
15476
|
+
type: string
|
|
15477
|
+
minLength: 1
|
|
15478
|
+
environmentKey:
|
|
15479
|
+
type: string
|
|
15480
|
+
minLength: 1
|
|
15481
|
+
environmentName:
|
|
15482
|
+
type: string
|
|
15483
|
+
minLength: 1
|
|
15484
|
+
ownershipMode:
|
|
15485
|
+
type: string
|
|
15486
|
+
enum: [observe_only, managed]
|
|
15487
|
+
workloads:
|
|
15488
|
+
type: array
|
|
15489
|
+
minItems: 1
|
|
15490
|
+
maxItems: 100
|
|
15491
|
+
uniqueItems: true
|
|
15492
|
+
items:
|
|
15493
|
+
$ref: "#/components/schemas/KubernetesWorkloadImportInput"
|
|
15494
|
+
additionalProperties: false
|
|
15495
|
+
KubernetesImportEntityRef:
|
|
15496
|
+
type: object
|
|
15497
|
+
required: [id, key, name, created]
|
|
15498
|
+
properties:
|
|
15499
|
+
id:
|
|
15500
|
+
type: string
|
|
15501
|
+
key:
|
|
15502
|
+
type: string
|
|
15503
|
+
name:
|
|
15504
|
+
type: string
|
|
15505
|
+
created:
|
|
15506
|
+
type: boolean
|
|
15507
|
+
additionalProperties: false
|
|
15508
|
+
KubernetesImportedService:
|
|
15509
|
+
type: object
|
|
15510
|
+
required: [id, key, name, workloadKind, workloadName, created]
|
|
15511
|
+
properties:
|
|
15512
|
+
id:
|
|
15513
|
+
type: string
|
|
15514
|
+
key:
|
|
15515
|
+
type: string
|
|
15516
|
+
name:
|
|
15517
|
+
type: string
|
|
15518
|
+
workloadKind:
|
|
15519
|
+
type: string
|
|
15520
|
+
enum: [Deployment, StatefulSet, DaemonSet]
|
|
15521
|
+
workloadName:
|
|
15522
|
+
type: string
|
|
15523
|
+
created:
|
|
15524
|
+
type: boolean
|
|
15525
|
+
additionalProperties: false
|
|
15526
|
+
KubernetesImportedTarget:
|
|
15527
|
+
type: object
|
|
15528
|
+
required: [id, workloadKind, workloadName, created]
|
|
15529
|
+
properties:
|
|
15530
|
+
id:
|
|
15531
|
+
type: string
|
|
15532
|
+
workloadKind:
|
|
15533
|
+
type: string
|
|
15534
|
+
enum: [Deployment, StatefulSet, DaemonSet]
|
|
15535
|
+
workloadName:
|
|
15536
|
+
type: string
|
|
15537
|
+
created:
|
|
15538
|
+
type: boolean
|
|
15539
|
+
additionalProperties: false
|
|
15540
|
+
KubernetesServiceImportResult:
|
|
15541
|
+
type: object
|
|
15542
|
+
required: [application, environment, applicationEnvironmentId, applicationEnvironmentCreated, ownershipMode, services, targets]
|
|
15543
|
+
properties:
|
|
15544
|
+
application:
|
|
15545
|
+
$ref: "#/components/schemas/KubernetesImportEntityRef"
|
|
15546
|
+
environment:
|
|
15547
|
+
$ref: "#/components/schemas/KubernetesImportEntityRef"
|
|
15548
|
+
applicationEnvironmentId:
|
|
15549
|
+
type: string
|
|
15550
|
+
applicationEnvironmentCreated:
|
|
15551
|
+
type: boolean
|
|
15552
|
+
ownershipMode:
|
|
15553
|
+
type: string
|
|
15554
|
+
enum: [observe_only, managed]
|
|
15555
|
+
services:
|
|
15556
|
+
type: array
|
|
15557
|
+
items:
|
|
15558
|
+
$ref: "#/components/schemas/KubernetesImportedService"
|
|
15559
|
+
targets:
|
|
15560
|
+
type: array
|
|
15561
|
+
items:
|
|
15562
|
+
$ref: "#/components/schemas/KubernetesImportedTarget"
|
|
15563
|
+
additionalProperties: false
|
|
15564
|
+
KubernetesServiceImportResultEnvelope:
|
|
15565
|
+
type: object
|
|
15566
|
+
required: [data]
|
|
15567
|
+
properties:
|
|
15568
|
+
data:
|
|
15569
|
+
$ref: "#/components/schemas/KubernetesServiceImportResult"
|
|
15570
|
+
additionalProperties: false
|
|
15571
|
+
HelmReleaseImportInput:
|
|
15572
|
+
type: object
|
|
15573
|
+
required: [releaseName]
|
|
15574
|
+
properties:
|
|
15575
|
+
releaseName:
|
|
15576
|
+
type: string
|
|
15577
|
+
minLength: 1
|
|
15578
|
+
additionalProperties: false
|
|
15579
|
+
HelmReleaseImportRequest:
|
|
15580
|
+
type: object
|
|
15581
|
+
required: [clusterId, namespace, applicationKey, applicationName, environmentKey, environmentName, ownershipMode, releases]
|
|
15582
|
+
properties:
|
|
15583
|
+
clusterId:
|
|
15584
|
+
type: string
|
|
15585
|
+
minLength: 1
|
|
15586
|
+
namespace:
|
|
15587
|
+
type: string
|
|
15588
|
+
minLength: 1
|
|
15589
|
+
applicationKey:
|
|
15590
|
+
type: string
|
|
15591
|
+
minLength: 1
|
|
15592
|
+
applicationName:
|
|
15593
|
+
type: string
|
|
15594
|
+
minLength: 1
|
|
15595
|
+
environmentKey:
|
|
15596
|
+
type: string
|
|
15597
|
+
minLength: 1
|
|
15598
|
+
environmentName:
|
|
15599
|
+
type: string
|
|
15600
|
+
minLength: 1
|
|
15601
|
+
ownershipMode:
|
|
15602
|
+
type: string
|
|
15603
|
+
enum: [observe_only, managed]
|
|
15604
|
+
releases:
|
|
15605
|
+
type: array
|
|
15606
|
+
minItems: 1
|
|
15607
|
+
maxItems: 100
|
|
15608
|
+
uniqueItems: true
|
|
15609
|
+
items:
|
|
15610
|
+
$ref: "#/components/schemas/HelmReleaseImportInput"
|
|
15611
|
+
additionalProperties: false
|
|
15612
|
+
HelmImportedService:
|
|
15613
|
+
type: object
|
|
15614
|
+
required: [id, key, name, releaseName, created]
|
|
15615
|
+
properties:
|
|
15616
|
+
id:
|
|
15617
|
+
type: string
|
|
15618
|
+
key:
|
|
15619
|
+
type: string
|
|
15620
|
+
name:
|
|
15621
|
+
type: string
|
|
15622
|
+
releaseName:
|
|
15623
|
+
type: string
|
|
15624
|
+
created:
|
|
15625
|
+
type: boolean
|
|
15626
|
+
additionalProperties: false
|
|
15627
|
+
HelmImportedTarget:
|
|
15628
|
+
type: object
|
|
15629
|
+
required: [id, releaseName, created]
|
|
15630
|
+
properties:
|
|
15631
|
+
id:
|
|
15632
|
+
type: string
|
|
15633
|
+
releaseName:
|
|
15634
|
+
type: string
|
|
15635
|
+
created:
|
|
15636
|
+
type: boolean
|
|
15637
|
+
additionalProperties: false
|
|
15638
|
+
HelmReleaseImportResult:
|
|
15639
|
+
type: object
|
|
15640
|
+
required: [application, environment, applicationEnvironmentId, applicationEnvironmentCreated, ownershipMode, services, targets]
|
|
15641
|
+
properties:
|
|
15642
|
+
application:
|
|
15643
|
+
$ref: "#/components/schemas/KubernetesImportEntityRef"
|
|
15644
|
+
environment:
|
|
15645
|
+
$ref: "#/components/schemas/KubernetesImportEntityRef"
|
|
15646
|
+
applicationEnvironmentId:
|
|
15647
|
+
type: string
|
|
15648
|
+
applicationEnvironmentCreated:
|
|
15649
|
+
type: boolean
|
|
15650
|
+
ownershipMode:
|
|
15651
|
+
type: string
|
|
15652
|
+
enum: [observe_only, managed]
|
|
15653
|
+
services:
|
|
15654
|
+
type: array
|
|
15655
|
+
items:
|
|
15656
|
+
$ref: "#/components/schemas/HelmImportedService"
|
|
15657
|
+
targets:
|
|
15658
|
+
type: array
|
|
15659
|
+
items:
|
|
15660
|
+
$ref: "#/components/schemas/HelmImportedTarget"
|
|
15661
|
+
additionalProperties: false
|
|
15662
|
+
HelmReleaseImportResultEnvelope:
|
|
15663
|
+
type: object
|
|
15664
|
+
required: [data]
|
|
15665
|
+
properties:
|
|
15666
|
+
data:
|
|
15667
|
+
$ref: "#/components/schemas/HelmReleaseImportResult"
|
|
15668
|
+
additionalProperties: false
|
|
15669
|
+
BuildTemplate:
|
|
15670
|
+
type: object
|
|
15671
|
+
required: [id, key, name, enabled, createdAt, updatedAt]
|
|
15672
|
+
properties:
|
|
15673
|
+
id:
|
|
15674
|
+
type: string
|
|
15675
|
+
key:
|
|
15676
|
+
type: string
|
|
15677
|
+
name:
|
|
15678
|
+
type: string
|
|
15679
|
+
description:
|
|
15680
|
+
type: string
|
|
15681
|
+
builderKind:
|
|
15682
|
+
type: string
|
|
15683
|
+
dockerfileTemplate:
|
|
15684
|
+
type: string
|
|
15685
|
+
buildCommands:
|
|
15686
|
+
type: array
|
|
15687
|
+
items:
|
|
15688
|
+
type: string
|
|
14589
15689
|
variableSchema:
|
|
14590
15690
|
type: object
|
|
14591
15691
|
additionalProperties: true
|
|
@@ -15072,6 +16172,10 @@ components:
|
|
|
15072
16172
|
type: string
|
|
15073
16173
|
containerName:
|
|
15074
16174
|
type: string
|
|
16175
|
+
valuesContent:
|
|
16176
|
+
type: string
|
|
16177
|
+
maxLength: 1048576
|
|
16178
|
+
description: Complete Helm values YAML used when the selected target is a managed Helm release.
|
|
15075
16179
|
variables:
|
|
15076
16180
|
type: object
|
|
15077
16181
|
additionalProperties: true
|
|
@@ -17084,6 +18188,30 @@ components:
|
|
|
17084
18188
|
items:
|
|
17085
18189
|
$ref: "#/components/schemas/ClusterCapabilityMatrixEntry"
|
|
17086
18190
|
additionalProperties: false
|
|
18191
|
+
AgentInstallation:
|
|
18192
|
+
type: object
|
|
18193
|
+
required: [clusterId, manifestUrl, command, expiresAt]
|
|
18194
|
+
properties:
|
|
18195
|
+
clusterId:
|
|
18196
|
+
type: string
|
|
18197
|
+
minLength: 1
|
|
18198
|
+
manifestUrl:
|
|
18199
|
+
type: string
|
|
18200
|
+
format: uri
|
|
18201
|
+
command:
|
|
18202
|
+
type: string
|
|
18203
|
+
minLength: 1
|
|
18204
|
+
expiresAt:
|
|
18205
|
+
type: string
|
|
18206
|
+
format: date-time
|
|
18207
|
+
additionalProperties: false
|
|
18208
|
+
AgentInstallationEnvelope:
|
|
18209
|
+
type: object
|
|
18210
|
+
required: [data]
|
|
18211
|
+
properties:
|
|
18212
|
+
data:
|
|
18213
|
+
$ref: "#/components/schemas/AgentInstallation"
|
|
18214
|
+
additionalProperties: false
|
|
17087
18215
|
ObservabilityProviderSignal:
|
|
17088
18216
|
type: string
|
|
17089
18217
|
enum: [logs, metrics, traces, profiles]
|
|
@@ -17163,10 +18291,235 @@ components:
|
|
|
17163
18291
|
items:
|
|
17164
18292
|
$ref: "#/components/schemas/ObservabilityProviderDefinition"
|
|
17165
18293
|
additionalProperties: false
|
|
17166
|
-
|
|
18294
|
+
ObservabilityDashboardSource:
|
|
18295
|
+
type: string
|
|
18296
|
+
enum: [grafana]
|
|
18297
|
+
x-enum-varnames:
|
|
18298
|
+
- ObservabilityDashboardSourceGrafana
|
|
18299
|
+
ObservabilityDashboardPanelType:
|
|
18300
|
+
type: string
|
|
18301
|
+
enum: [timeseries, stat, text, row]
|
|
18302
|
+
x-enum-varnames:
|
|
18303
|
+
- ObservabilityDashboardPanelTypeTimeseries
|
|
18304
|
+
- ObservabilityDashboardPanelTypeStat
|
|
18305
|
+
- ObservabilityDashboardPanelTypeText
|
|
18306
|
+
- ObservabilityDashboardPanelTypeRow
|
|
18307
|
+
ObservabilityDashboardPanelLayout:
|
|
17167
18308
|
type: object
|
|
18309
|
+
required: [x, y, w, h]
|
|
17168
18310
|
properties:
|
|
17169
|
-
|
|
18311
|
+
x:
|
|
18312
|
+
type: integer
|
|
18313
|
+
minimum: 0
|
|
18314
|
+
maximum: 23
|
|
18315
|
+
y:
|
|
18316
|
+
type: integer
|
|
18317
|
+
minimum: 0
|
|
18318
|
+
w:
|
|
18319
|
+
type: integer
|
|
18320
|
+
minimum: 1
|
|
18321
|
+
maximum: 24
|
|
18322
|
+
h:
|
|
18323
|
+
type: integer
|
|
18324
|
+
minimum: 1
|
|
18325
|
+
maximum: 100
|
|
18326
|
+
additionalProperties: false
|
|
18327
|
+
ObservabilityDashboardTarget:
|
|
18328
|
+
type: object
|
|
18329
|
+
required: [refId, expression]
|
|
18330
|
+
properties:
|
|
18331
|
+
refId:
|
|
18332
|
+
type: string
|
|
18333
|
+
minLength: 1
|
|
18334
|
+
maxLength: 16
|
|
18335
|
+
expression:
|
|
18336
|
+
type: string
|
|
18337
|
+
minLength: 1
|
|
18338
|
+
maxLength: 8192
|
|
18339
|
+
legend:
|
|
18340
|
+
type: string
|
|
18341
|
+
maxLength: 256
|
|
18342
|
+
additionalProperties: false
|
|
18343
|
+
ObservabilityDashboardPanel:
|
|
18344
|
+
type: object
|
|
18345
|
+
required: [id, title, type, layout, targets, queryable]
|
|
18346
|
+
properties:
|
|
18347
|
+
id:
|
|
18348
|
+
type: string
|
|
18349
|
+
minLength: 1
|
|
18350
|
+
maxLength: 128
|
|
18351
|
+
title:
|
|
18352
|
+
type: string
|
|
18353
|
+
minLength: 1
|
|
18354
|
+
maxLength: 200
|
|
18355
|
+
type:
|
|
18356
|
+
$ref: "#/components/schemas/ObservabilityDashboardPanelType"
|
|
18357
|
+
layout:
|
|
18358
|
+
$ref: "#/components/schemas/ObservabilityDashboardPanelLayout"
|
|
18359
|
+
targets:
|
|
18360
|
+
type: array
|
|
18361
|
+
maxItems: 8
|
|
18362
|
+
items:
|
|
18363
|
+
$ref: "#/components/schemas/ObservabilityDashboardTarget"
|
|
18364
|
+
queryable:
|
|
18365
|
+
type: boolean
|
|
18366
|
+
markdown:
|
|
18367
|
+
type: string
|
|
18368
|
+
maxLength: 32768
|
|
18369
|
+
additionalProperties: false
|
|
18370
|
+
ObservabilityDashboard:
|
|
18371
|
+
type: object
|
|
18372
|
+
required: [id, name, source, tags, panels, createdAt, updatedAt]
|
|
18373
|
+
properties:
|
|
18374
|
+
id:
|
|
18375
|
+
type: string
|
|
18376
|
+
minLength: 1
|
|
18377
|
+
maxLength: 128
|
|
18378
|
+
name:
|
|
18379
|
+
type: string
|
|
18380
|
+
minLength: 1
|
|
18381
|
+
maxLength: 200
|
|
18382
|
+
source:
|
|
18383
|
+
$ref: "#/components/schemas/ObservabilityDashboardSource"
|
|
18384
|
+
sourceSchemaVersion:
|
|
18385
|
+
type: integer
|
|
18386
|
+
minimum: 0
|
|
18387
|
+
dataSourceId:
|
|
18388
|
+
type: string
|
|
18389
|
+
maxLength: 200
|
|
18390
|
+
tags:
|
|
18391
|
+
type: array
|
|
18392
|
+
maxItems: 50
|
|
18393
|
+
uniqueItems: true
|
|
18394
|
+
items:
|
|
18395
|
+
type: string
|
|
18396
|
+
minLength: 1
|
|
18397
|
+
maxLength: 100
|
|
18398
|
+
panels:
|
|
18399
|
+
type: array
|
|
18400
|
+
maxItems: 200
|
|
18401
|
+
items:
|
|
18402
|
+
$ref: "#/components/schemas/ObservabilityDashboardPanel"
|
|
18403
|
+
createdAt:
|
|
18404
|
+
type: string
|
|
18405
|
+
format: date-time
|
|
18406
|
+
updatedAt:
|
|
18407
|
+
type: string
|
|
18408
|
+
format: date-time
|
|
18409
|
+
additionalProperties: false
|
|
18410
|
+
ObservabilityDashboardEnvelope:
|
|
18411
|
+
type: object
|
|
18412
|
+
required: [data]
|
|
18413
|
+
properties:
|
|
18414
|
+
data:
|
|
18415
|
+
$ref: "#/components/schemas/ObservabilityDashboard"
|
|
18416
|
+
additionalProperties: false
|
|
18417
|
+
ObservabilityDashboardListEnvelope:
|
|
18418
|
+
type: object
|
|
18419
|
+
required: [items]
|
|
18420
|
+
properties:
|
|
18421
|
+
items:
|
|
18422
|
+
type: array
|
|
18423
|
+
items:
|
|
18424
|
+
$ref: "#/components/schemas/ObservabilityDashboard"
|
|
18425
|
+
additionalProperties: false
|
|
18426
|
+
ObservabilityGrafanaDashboardImportInput:
|
|
18427
|
+
type: object
|
|
18428
|
+
required: [json, dataSourceId]
|
|
18429
|
+
properties:
|
|
18430
|
+
json:
|
|
18431
|
+
type: string
|
|
18432
|
+
minLength: 2
|
|
18433
|
+
maxLength: 2097152
|
|
18434
|
+
description: Grafana Classic dashboard JSON or a V1 resource whose spec contains the Classic dashboard model.
|
|
18435
|
+
dataSourceId:
|
|
18436
|
+
type: string
|
|
18437
|
+
minLength: 1
|
|
18438
|
+
maxLength: 200
|
|
18439
|
+
description: Enabled Soha Prometheus data source used by every imported queryable panel.
|
|
18440
|
+
additionalProperties: false
|
|
18441
|
+
ObservabilityMetricDataSource:
|
|
18442
|
+
type: object
|
|
18443
|
+
required: [id, name]
|
|
18444
|
+
properties:
|
|
18445
|
+
id:
|
|
18446
|
+
type: string
|
|
18447
|
+
minLength: 1
|
|
18448
|
+
maxLength: 200
|
|
18449
|
+
name:
|
|
18450
|
+
type: string
|
|
18451
|
+
minLength: 1
|
|
18452
|
+
maxLength: 200
|
|
18453
|
+
additionalProperties: false
|
|
18454
|
+
ObservabilityMetricDataSourceListEnvelope:
|
|
18455
|
+
type: object
|
|
18456
|
+
required: [items]
|
|
18457
|
+
properties:
|
|
18458
|
+
items:
|
|
18459
|
+
type: array
|
|
18460
|
+
items:
|
|
18461
|
+
$ref: "#/components/schemas/ObservabilityMetricDataSource"
|
|
18462
|
+
additionalProperties: false
|
|
18463
|
+
ObservabilityDashboardImportWarning:
|
|
18464
|
+
type: object
|
|
18465
|
+
required: [code, message]
|
|
18466
|
+
properties:
|
|
18467
|
+
code:
|
|
18468
|
+
type: string
|
|
18469
|
+
enum: [unsupported_panel_type, skipped_target, unsupported_variable, datasource_rebound, unsupported_feature]
|
|
18470
|
+
message:
|
|
18471
|
+
type: string
|
|
18472
|
+
minLength: 1
|
|
18473
|
+
maxLength: 500
|
|
18474
|
+
panelId:
|
|
18475
|
+
type: string
|
|
18476
|
+
maxLength: 128
|
|
18477
|
+
additionalProperties: false
|
|
18478
|
+
ObservabilityDashboardImportResult:
|
|
18479
|
+
type: object
|
|
18480
|
+
required: [dashboard, warnings, importedPanelCount, skippedPanelCount]
|
|
18481
|
+
properties:
|
|
18482
|
+
dashboard:
|
|
18483
|
+
$ref: "#/components/schemas/ObservabilityDashboard"
|
|
18484
|
+
warnings:
|
|
18485
|
+
type: array
|
|
18486
|
+
maxItems: 500
|
|
18487
|
+
items:
|
|
18488
|
+
$ref: "#/components/schemas/ObservabilityDashboardImportWarning"
|
|
18489
|
+
importedPanelCount:
|
|
18490
|
+
type: integer
|
|
18491
|
+
minimum: 1
|
|
18492
|
+
skippedPanelCount:
|
|
18493
|
+
type: integer
|
|
18494
|
+
minimum: 0
|
|
18495
|
+
additionalProperties: false
|
|
18496
|
+
ObservabilityDashboardImportResultEnvelope:
|
|
18497
|
+
type: object
|
|
18498
|
+
required: [data]
|
|
18499
|
+
properties:
|
|
18500
|
+
data:
|
|
18501
|
+
$ref: "#/components/schemas/ObservabilityDashboardImportResult"
|
|
18502
|
+
additionalProperties: false
|
|
18503
|
+
ObservabilityDashboardPanelQueryInput:
|
|
18504
|
+
type: object
|
|
18505
|
+
required: [timeFrom, timeTo]
|
|
18506
|
+
properties:
|
|
18507
|
+
timeFrom:
|
|
18508
|
+
type: string
|
|
18509
|
+
format: date-time
|
|
18510
|
+
timeTo:
|
|
18511
|
+
type: string
|
|
18512
|
+
format: date-time
|
|
18513
|
+
stepSeconds:
|
|
18514
|
+
type: integer
|
|
18515
|
+
minimum: 1
|
|
18516
|
+
maximum: 3600
|
|
18517
|
+
default: 60
|
|
18518
|
+
additionalProperties: false
|
|
18519
|
+
ObservabilityQueryScope:
|
|
18520
|
+
type: object
|
|
18521
|
+
properties:
|
|
18522
|
+
clusterId:
|
|
17170
18523
|
type: string
|
|
17171
18524
|
maxLength: 128
|
|
17172
18525
|
namespace:
|
|
@@ -20033,6 +21386,185 @@ components:
|
|
|
20033
21386
|
items:
|
|
20034
21387
|
type: string
|
|
20035
21388
|
additionalProperties: false
|
|
21389
|
+
CompanionAsset:
|
|
21390
|
+
type: object
|
|
21391
|
+
required: [path, kind, contentType, sizeBytes, sha256]
|
|
21392
|
+
properties:
|
|
21393
|
+
path:
|
|
21394
|
+
type: string
|
|
21395
|
+
minLength: 1
|
|
21396
|
+
maxLength: 512
|
|
21397
|
+
pattern: "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\)[A-Za-z0-9._/-]+$"
|
|
21398
|
+
kind:
|
|
21399
|
+
type: string
|
|
21400
|
+
enum: [entry, model, texture, motion, expression, physics, pose, thumbnail, audio]
|
|
21401
|
+
contentType:
|
|
21402
|
+
type: string
|
|
21403
|
+
enum: [application/json, application/octet-stream, image/png, image/jpeg, image/webp, image/svg+xml, audio/mpeg, audio/ogg]
|
|
21404
|
+
sizeBytes:
|
|
21405
|
+
type: integer
|
|
21406
|
+
format: int64
|
|
21407
|
+
minimum: 1
|
|
21408
|
+
maximum: 67108864
|
|
21409
|
+
sha256:
|
|
21410
|
+
type: string
|
|
21411
|
+
pattern: "^sha256:[a-f0-9]{64}$"
|
|
21412
|
+
additionalProperties: false
|
|
21413
|
+
CompanionAnimationBindings:
|
|
21414
|
+
type: object
|
|
21415
|
+
properties:
|
|
21416
|
+
idle: { type: string, minLength: 1 }
|
|
21417
|
+
listening: { type: string, minLength: 1 }
|
|
21418
|
+
thinking: { type: string, minLength: 1 }
|
|
21419
|
+
speaking: { type: string, minLength: 1 }
|
|
21420
|
+
error: { type: string, minLength: 1 }
|
|
21421
|
+
dragging: { type: string, minLength: 1 }
|
|
21422
|
+
hover: { type: string, minLength: 1 }
|
|
21423
|
+
tap: { type: string, minLength: 1 }
|
|
21424
|
+
additionalProperties: false
|
|
21425
|
+
CompanionInteractionDefinition:
|
|
21426
|
+
type: object
|
|
21427
|
+
required: [id, action]
|
|
21428
|
+
properties:
|
|
21429
|
+
id:
|
|
21430
|
+
type: string
|
|
21431
|
+
pattern: "^[a-z][a-z0-9._-]*$"
|
|
21432
|
+
label: { type: string, minLength: 1, maxLength: 64 }
|
|
21433
|
+
action:
|
|
21434
|
+
type: string
|
|
21435
|
+
enum: [tap, pet, feed, play, greet]
|
|
21436
|
+
animation: { type: string, minLength: 1 }
|
|
21437
|
+
cooldownSeconds: { type: integer, minimum: 0, maximum: 86400 }
|
|
21438
|
+
rewardXp: { type: integer, minimum: 0, maximum: 1000 }
|
|
21439
|
+
rewardAffinity: { type: integer, minimum: 0, maximum: 100 }
|
|
21440
|
+
additionalProperties: false
|
|
21441
|
+
CompanionUnlockDefinition:
|
|
21442
|
+
type: object
|
|
21443
|
+
required: [id, kind, level, ref]
|
|
21444
|
+
properties:
|
|
21445
|
+
id:
|
|
21446
|
+
type: string
|
|
21447
|
+
pattern: "^[a-z][a-z0-9._-]*$"
|
|
21448
|
+
kind:
|
|
21449
|
+
type: string
|
|
21450
|
+
enum: [interaction, animation, expression, asset]
|
|
21451
|
+
level: { type: integer, minimum: 1, maximum: 100 }
|
|
21452
|
+
ref: { type: string, minLength: 1 }
|
|
21453
|
+
additionalProperties: false
|
|
21454
|
+
CompanionPackLicense:
|
|
21455
|
+
type: object
|
|
21456
|
+
required: [name, url, redistributionAllowed, commercialUseAllowed]
|
|
21457
|
+
properties:
|
|
21458
|
+
name: { type: string, minLength: 1 }
|
|
21459
|
+
spdxId: { type: string, minLength: 1 }
|
|
21460
|
+
url: { type: string, format: uri }
|
|
21461
|
+
sourceUrl: { type: string, format: uri }
|
|
21462
|
+
attribution: { type: string, maxLength: 2048 }
|
|
21463
|
+
redistributionAllowed: { type: boolean, enum: [true] }
|
|
21464
|
+
commercialUseAllowed: { type: boolean }
|
|
21465
|
+
additionalProperties: false
|
|
21466
|
+
CompanionPackManifest:
|
|
21467
|
+
type: object
|
|
21468
|
+
required: [renderer, entryAsset, assets, license]
|
|
21469
|
+
properties:
|
|
21470
|
+
renderer:
|
|
21471
|
+
type: string
|
|
21472
|
+
enum: [svg, sprite, live2d-cubism]
|
|
21473
|
+
entryAsset:
|
|
21474
|
+
type: string
|
|
21475
|
+
minLength: 1
|
|
21476
|
+
maxLength: 512
|
|
21477
|
+
pattern: "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\)[A-Za-z0-9._/-]+$"
|
|
21478
|
+
thumbnailAsset:
|
|
21479
|
+
type: string
|
|
21480
|
+
minLength: 1
|
|
21481
|
+
maxLength: 512
|
|
21482
|
+
pattern: "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\)[A-Za-z0-9._/-]+$"
|
|
21483
|
+
modelFormatVersion: { type: string, minLength: 1 }
|
|
21484
|
+
assets:
|
|
21485
|
+
type: array
|
|
21486
|
+
minItems: 1
|
|
21487
|
+
maxItems: 512
|
|
21488
|
+
items:
|
|
21489
|
+
$ref: "#/components/schemas/CompanionAsset"
|
|
21490
|
+
animations:
|
|
21491
|
+
$ref: "#/components/schemas/CompanionAnimationBindings"
|
|
21492
|
+
interactions:
|
|
21493
|
+
type: array
|
|
21494
|
+
maxItems: 64
|
|
21495
|
+
items:
|
|
21496
|
+
$ref: "#/components/schemas/CompanionInteractionDefinition"
|
|
21497
|
+
unlocks:
|
|
21498
|
+
type: array
|
|
21499
|
+
maxItems: 128
|
|
21500
|
+
items:
|
|
21501
|
+
$ref: "#/components/schemas/CompanionUnlockDefinition"
|
|
21502
|
+
license:
|
|
21503
|
+
$ref: "#/components/schemas/CompanionPackLicense"
|
|
21504
|
+
additionalProperties: false
|
|
21505
|
+
PluginPackageDescriptor:
|
|
21506
|
+
type: object
|
|
21507
|
+
required: [url, contentType, sizeBytes, sha256]
|
|
21508
|
+
properties:
|
|
21509
|
+
url: { type: string, format: uri }
|
|
21510
|
+
contentType:
|
|
21511
|
+
type: string
|
|
21512
|
+
enum: [application/zip, application/gzip, application/x-tar]
|
|
21513
|
+
sizeBytes:
|
|
21514
|
+
type: integer
|
|
21515
|
+
format: int64
|
|
21516
|
+
minimum: 1
|
|
21517
|
+
maximum: 268435456
|
|
21518
|
+
sha256:
|
|
21519
|
+
type: string
|
|
21520
|
+
pattern: "^sha256:[a-f0-9]{64}$"
|
|
21521
|
+
signature: { type: string, minLength: 1 }
|
|
21522
|
+
signatureAlgorithm:
|
|
21523
|
+
type: string
|
|
21524
|
+
enum: [ed25519]
|
|
21525
|
+
signingKeyId:
|
|
21526
|
+
type: string
|
|
21527
|
+
pattern: "^[a-z][a-z0-9._-]*$"
|
|
21528
|
+
provenanceUrl: { type: string, format: uri }
|
|
21529
|
+
sbomUrl: { type: string, format: uri }
|
|
21530
|
+
additionalProperties: false
|
|
21531
|
+
PluginProvenanceStatement:
|
|
21532
|
+
type: object
|
|
21533
|
+
description: The Ed25519 signature covers UTF-8 lines subjectSha256, builderId, sourceUri, sourceCommit, and builtAt in that order, joined with LF and without a trailing LF.
|
|
21534
|
+
required: [subjectSha256, builderId, sourceUri, sourceCommit, builtAt, signingKeyId, signatureAlgorithm, signature]
|
|
21535
|
+
properties:
|
|
21536
|
+
subjectSha256:
|
|
21537
|
+
type: string
|
|
21538
|
+
pattern: "^sha256:[a-f0-9]{64}$"
|
|
21539
|
+
builderId: { type: string, minLength: 1, maxLength: 512 }
|
|
21540
|
+
sourceUri: { type: string, format: uri }
|
|
21541
|
+
sourceCommit: { type: string, pattern: "^[A-Fa-f0-9]{7,64}$" }
|
|
21542
|
+
builtAt: { type: string, format: date-time }
|
|
21543
|
+
signingKeyId: { type: string, pattern: "^[a-z][a-z0-9._-]*$" }
|
|
21544
|
+
signatureAlgorithm: { type: string, enum: [ed25519] }
|
|
21545
|
+
signature: { type: string, minLength: 1 }
|
|
21546
|
+
additionalProperties: false
|
|
21547
|
+
PluginArtifactRecord:
|
|
21548
|
+
type: object
|
|
21549
|
+
required: [version, sha256, sizeBytes, checksumStatus, signatureStatus, provenanceStatus, active]
|
|
21550
|
+
properties:
|
|
21551
|
+
version: { type: string }
|
|
21552
|
+
sha256:
|
|
21553
|
+
type: string
|
|
21554
|
+
pattern: "^sha256:[a-f0-9]{64}$"
|
|
21555
|
+
sizeBytes: { type: integer, format: int64, minimum: 1 }
|
|
21556
|
+
checksumStatus:
|
|
21557
|
+
type: string
|
|
21558
|
+
enum: [verified, mismatch]
|
|
21559
|
+
signatureStatus:
|
|
21560
|
+
type: string
|
|
21561
|
+
enum: [verified, not_provided, untrusted, invalid]
|
|
21562
|
+
provenanceStatus:
|
|
21563
|
+
type: string
|
|
21564
|
+
enum: [verified, not_provided, invalid]
|
|
21565
|
+
active: { type: boolean }
|
|
21566
|
+
installedAt: { type: string, format: date-time }
|
|
21567
|
+
additionalProperties: false
|
|
20036
21568
|
PluginCompatibility:
|
|
20037
21569
|
type: object
|
|
20038
21570
|
properties:
|
|
@@ -20536,6 +22068,8 @@ components:
|
|
|
20536
22068
|
type: string
|
|
20537
22069
|
signature:
|
|
20538
22070
|
type: string
|
|
22071
|
+
package:
|
|
22072
|
+
$ref: "#/components/schemas/PluginPackageDescriptor"
|
|
20539
22073
|
publishedAt:
|
|
20540
22074
|
type: string
|
|
20541
22075
|
format: date-time
|
|
@@ -20626,6 +22160,7 @@ components:
|
|
|
20626
22160
|
- notification-channel
|
|
20627
22161
|
- identity-template
|
|
20628
22162
|
- ui-extension
|
|
22163
|
+
- companion-pack
|
|
20629
22164
|
description:
|
|
20630
22165
|
type: string
|
|
20631
22166
|
homepage:
|
|
@@ -20650,6 +22185,8 @@ components:
|
|
|
20650
22185
|
$ref: "#/components/schemas/PluginIntegrity"
|
|
20651
22186
|
runtime:
|
|
20652
22187
|
$ref: "#/components/schemas/PluginRuntimeSpec"
|
|
22188
|
+
companionPack:
|
|
22189
|
+
$ref: "#/components/schemas/CompanionPackManifest"
|
|
20653
22190
|
configSchema:
|
|
20654
22191
|
$ref: "#/components/schemas/JSONSchema"
|
|
20655
22192
|
extensionPoints:
|
|
@@ -20767,6 +22304,188 @@ components:
|
|
|
20767
22304
|
installed:
|
|
20768
22305
|
type: boolean
|
|
20769
22306
|
additionalProperties: false
|
|
22307
|
+
SoftwarePackage:
|
|
22308
|
+
type: object
|
|
22309
|
+
required:
|
|
22310
|
+
[id, softwareId, name, publisher, version, platform, arch, fileName, sizeBytes, sha256, downloadPath, createdAt, updatedAt]
|
|
22311
|
+
properties:
|
|
22312
|
+
id:
|
|
22313
|
+
type: string
|
|
22314
|
+
minLength: 1
|
|
22315
|
+
maxLength: 128
|
|
22316
|
+
softwareId:
|
|
22317
|
+
type: string
|
|
22318
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22319
|
+
name:
|
|
22320
|
+
type: string
|
|
22321
|
+
minLength: 1
|
|
22322
|
+
maxLength: 100
|
|
22323
|
+
description:
|
|
22324
|
+
type: string
|
|
22325
|
+
maxLength: 500
|
|
22326
|
+
publisher:
|
|
22327
|
+
type: string
|
|
22328
|
+
minLength: 1
|
|
22329
|
+
maxLength: 100
|
|
22330
|
+
category:
|
|
22331
|
+
type: string
|
|
22332
|
+
maxLength: 50
|
|
22333
|
+
version:
|
|
22334
|
+
type: string
|
|
22335
|
+
minLength: 1
|
|
22336
|
+
maxLength: 64
|
|
22337
|
+
platform:
|
|
22338
|
+
type: string
|
|
22339
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22340
|
+
arch:
|
|
22341
|
+
type: string
|
|
22342
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22343
|
+
fileName:
|
|
22344
|
+
type: string
|
|
22345
|
+
minLength: 1
|
|
22346
|
+
maxLength: 255
|
|
22347
|
+
sizeBytes:
|
|
22348
|
+
type: integer
|
|
22349
|
+
format: int64
|
|
22350
|
+
minimum: 1
|
|
22351
|
+
maximum: 4294967296
|
|
22352
|
+
sha256:
|
|
22353
|
+
type: string
|
|
22354
|
+
pattern: "^[0-9a-f]{64}$"
|
|
22355
|
+
downloadPath:
|
|
22356
|
+
type: string
|
|
22357
|
+
pattern: "^/api/v1/software/packages/[^/]+/download$"
|
|
22358
|
+
createdAt:
|
|
22359
|
+
type: string
|
|
22360
|
+
format: date-time
|
|
22361
|
+
updatedAt:
|
|
22362
|
+
type: string
|
|
22363
|
+
format: date-time
|
|
22364
|
+
additionalProperties: false
|
|
22365
|
+
SoftwarePackageEnvelope:
|
|
22366
|
+
type: object
|
|
22367
|
+
required: [data]
|
|
22368
|
+
properties:
|
|
22369
|
+
data:
|
|
22370
|
+
$ref: "#/components/schemas/SoftwarePackage"
|
|
22371
|
+
additionalProperties: false
|
|
22372
|
+
SoftwarePackageListEnvelope:
|
|
22373
|
+
type: object
|
|
22374
|
+
required: [items]
|
|
22375
|
+
properties:
|
|
22376
|
+
items:
|
|
22377
|
+
type: array
|
|
22378
|
+
items:
|
|
22379
|
+
$ref: "#/components/schemas/SoftwarePackage"
|
|
22380
|
+
nextCursor:
|
|
22381
|
+
type: string
|
|
22382
|
+
additionalProperties: false
|
|
22383
|
+
SoftwarePackageUploadRequest:
|
|
22384
|
+
type: object
|
|
22385
|
+
required: [softwareId, name, publisher, version, platform, arch, file]
|
|
22386
|
+
properties:
|
|
22387
|
+
softwareId:
|
|
22388
|
+
type: string
|
|
22389
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22390
|
+
name:
|
|
22391
|
+
type: string
|
|
22392
|
+
minLength: 1
|
|
22393
|
+
maxLength: 100
|
|
22394
|
+
description:
|
|
22395
|
+
type: string
|
|
22396
|
+
maxLength: 500
|
|
22397
|
+
publisher:
|
|
22398
|
+
type: string
|
|
22399
|
+
minLength: 1
|
|
22400
|
+
maxLength: 100
|
|
22401
|
+
category:
|
|
22402
|
+
type: string
|
|
22403
|
+
maxLength: 50
|
|
22404
|
+
version:
|
|
22405
|
+
type: string
|
|
22406
|
+
minLength: 1
|
|
22407
|
+
maxLength: 64
|
|
22408
|
+
platform:
|
|
22409
|
+
type: string
|
|
22410
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22411
|
+
arch:
|
|
22412
|
+
type: string
|
|
22413
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22414
|
+
file:
|
|
22415
|
+
type: string
|
|
22416
|
+
format: binary
|
|
22417
|
+
additionalProperties: false
|
|
22418
|
+
SoftwarePackageURLImportRequest:
|
|
22419
|
+
type: object
|
|
22420
|
+
required: [softwareId, name, publisher, version, platform, arch, url]
|
|
22421
|
+
properties:
|
|
22422
|
+
softwareId:
|
|
22423
|
+
type: string
|
|
22424
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22425
|
+
name:
|
|
22426
|
+
type: string
|
|
22427
|
+
minLength: 1
|
|
22428
|
+
maxLength: 100
|
|
22429
|
+
description:
|
|
22430
|
+
type: string
|
|
22431
|
+
maxLength: 500
|
|
22432
|
+
publisher:
|
|
22433
|
+
type: string
|
|
22434
|
+
minLength: 1
|
|
22435
|
+
maxLength: 100
|
|
22436
|
+
category:
|
|
22437
|
+
type: string
|
|
22438
|
+
maxLength: 50
|
|
22439
|
+
version:
|
|
22440
|
+
type: string
|
|
22441
|
+
minLength: 1
|
|
22442
|
+
maxLength: 64
|
|
22443
|
+
platform:
|
|
22444
|
+
type: string
|
|
22445
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22446
|
+
arch:
|
|
22447
|
+
type: string
|
|
22448
|
+
pattern: "^[a-z0-9][a-z0-9._-]{0,63}$"
|
|
22449
|
+
url:
|
|
22450
|
+
type: string
|
|
22451
|
+
format: uri
|
|
22452
|
+
pattern: "^https://"
|
|
22453
|
+
maxLength: 2048
|
|
22454
|
+
fileName:
|
|
22455
|
+
type: string
|
|
22456
|
+
minLength: 1
|
|
22457
|
+
maxLength: 255
|
|
22458
|
+
additionalProperties: false
|
|
22459
|
+
SoftwareStorage:
|
|
22460
|
+
type: object
|
|
22461
|
+
required: [backend, objectCount, totalBytes, items]
|
|
22462
|
+
properties:
|
|
22463
|
+
backend:
|
|
22464
|
+
type: string
|
|
22465
|
+
minLength: 1
|
|
22466
|
+
maxLength: 64
|
|
22467
|
+
objectCount:
|
|
22468
|
+
type: integer
|
|
22469
|
+
format: int64
|
|
22470
|
+
minimum: 0
|
|
22471
|
+
totalBytes:
|
|
22472
|
+
type: integer
|
|
22473
|
+
format: int64
|
|
22474
|
+
minimum: 0
|
|
22475
|
+
items:
|
|
22476
|
+
type: array
|
|
22477
|
+
items:
|
|
22478
|
+
$ref: "#/components/schemas/SoftwarePackage"
|
|
22479
|
+
nextCursor:
|
|
22480
|
+
type: string
|
|
22481
|
+
additionalProperties: false
|
|
22482
|
+
SoftwareStorageEnvelope:
|
|
22483
|
+
type: object
|
|
22484
|
+
required: [data]
|
|
22485
|
+
properties:
|
|
22486
|
+
data:
|
|
22487
|
+
$ref: "#/components/schemas/SoftwareStorage"
|
|
22488
|
+
additionalProperties: false
|
|
20770
22489
|
InstalledPlugin:
|
|
20771
22490
|
type: object
|
|
20772
22491
|
required: [id, name, version, publisher, type, status, source, manifest, checksumStatus, installedBy, installedAt, updatedAt]
|
|
@@ -20792,6 +22511,12 @@ components:
|
|
|
20792
22511
|
type: string
|
|
20793
22512
|
signatureStatus:
|
|
20794
22513
|
type: string
|
|
22514
|
+
activeVersion:
|
|
22515
|
+
type: string
|
|
22516
|
+
artifacts:
|
|
22517
|
+
type: array
|
|
22518
|
+
items:
|
|
22519
|
+
$ref: "#/components/schemas/PluginArtifactRecord"
|
|
20795
22520
|
requestedPermissions:
|
|
20796
22521
|
$ref: "#/components/schemas/PluginPermissionRequest"
|
|
20797
22522
|
configuredSecretRefs:
|
|
@@ -20833,9 +22558,89 @@ components:
|
|
|
20833
22558
|
$ref: "#/components/schemas/PluginManifest"
|
|
20834
22559
|
expectedChecksum:
|
|
20835
22560
|
type: string
|
|
22561
|
+
package:
|
|
22562
|
+
$ref: "#/components/schemas/PluginPackageDescriptor"
|
|
20836
22563
|
enable:
|
|
20837
22564
|
type: boolean
|
|
20838
22565
|
additionalProperties: false
|
|
22566
|
+
CompanionActivationRequest:
|
|
22567
|
+
type: object
|
|
22568
|
+
properties:
|
|
22569
|
+
version: { type: string, minLength: 1 }
|
|
22570
|
+
additionalProperties: false
|
|
22571
|
+
CompanionRollbackRequest:
|
|
22572
|
+
type: object
|
|
22573
|
+
required: [version]
|
|
22574
|
+
properties:
|
|
22575
|
+
version: { type: string, minLength: 1 }
|
|
22576
|
+
reason: { type: string, maxLength: 512 }
|
|
22577
|
+
additionalProperties: false
|
|
22578
|
+
CompanionProfile:
|
|
22579
|
+
type: object
|
|
22580
|
+
required: [id, ownerId, activePluginId, activeVersion, level, xp, affinity, unlockedIds, revision, createdAt, updatedAt]
|
|
22581
|
+
properties:
|
|
22582
|
+
id: { type: string }
|
|
22583
|
+
ownerId: { type: string }
|
|
22584
|
+
activePluginId: { type: string }
|
|
22585
|
+
activeVersion: { type: string }
|
|
22586
|
+
level: { type: integer, minimum: 1, maximum: 100 }
|
|
22587
|
+
xp: { type: integer, minimum: 0 }
|
|
22588
|
+
affinity: { type: integer, minimum: 0 }
|
|
22589
|
+
unlockedIds:
|
|
22590
|
+
type: array
|
|
22591
|
+
uniqueItems: true
|
|
22592
|
+
items: { type: string }
|
|
22593
|
+
revision: { type: integer, format: int64, minimum: 1 }
|
|
22594
|
+
lastInteractionAt: { type: string, format: date-time }
|
|
22595
|
+
createdAt: { type: string, format: date-time }
|
|
22596
|
+
updatedAt: { type: string, format: date-time }
|
|
22597
|
+
additionalProperties: false
|
|
22598
|
+
CompanionInteractionRequest:
|
|
22599
|
+
type: object
|
|
22600
|
+
required: [pluginId, interactionId]
|
|
22601
|
+
properties:
|
|
22602
|
+
pluginId: { type: string }
|
|
22603
|
+
interactionId:
|
|
22604
|
+
type: string
|
|
22605
|
+
pattern: "^[a-z][a-z0-9._-]*$"
|
|
22606
|
+
sessionId: { type: string }
|
|
22607
|
+
messageId: { type: string }
|
|
22608
|
+
clientRevision: { type: integer, format: int64, minimum: 1 }
|
|
22609
|
+
additionalProperties: false
|
|
22610
|
+
CompanionInteractionReceipt:
|
|
22611
|
+
type: object
|
|
22612
|
+
required: [idempotencyKey, applied, xpAwarded, affinityAwarded, unlockedIds, profile]
|
|
22613
|
+
properties:
|
|
22614
|
+
idempotencyKey: { type: string }
|
|
22615
|
+
applied: { type: boolean }
|
|
22616
|
+
xpAwarded: { type: integer, minimum: 0 }
|
|
22617
|
+
affinityAwarded: { type: integer, minimum: 0 }
|
|
22618
|
+
unlockedIds:
|
|
22619
|
+
type: array
|
|
22620
|
+
uniqueItems: true
|
|
22621
|
+
items: { type: string }
|
|
22622
|
+
profile:
|
|
22623
|
+
$ref: "#/components/schemas/CompanionProfile"
|
|
22624
|
+
additionalProperties: false
|
|
22625
|
+
CompanionProfileResetRequest:
|
|
22626
|
+
type: object
|
|
22627
|
+
properties:
|
|
22628
|
+
pluginId: { type: string }
|
|
22629
|
+
additionalProperties: false
|
|
22630
|
+
CompanionProfileEnvelope:
|
|
22631
|
+
type: object
|
|
22632
|
+
required: [data]
|
|
22633
|
+
properties:
|
|
22634
|
+
data:
|
|
22635
|
+
$ref: "#/components/schemas/CompanionProfile"
|
|
22636
|
+
additionalProperties: false
|
|
22637
|
+
CompanionInteractionReceiptEnvelope:
|
|
22638
|
+
type: object
|
|
22639
|
+
required: [data]
|
|
22640
|
+
properties:
|
|
22641
|
+
data:
|
|
22642
|
+
$ref: "#/components/schemas/CompanionInteractionReceipt"
|
|
22643
|
+
additionalProperties: false
|
|
20839
22644
|
PluginConfigRequest:
|
|
20840
22645
|
type: object
|
|
20841
22646
|
properties:
|