@opensoha/contracts 0.1.19 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/compat/json-schema-ecosystem-0.1.0.json +1 -1
  2. package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
  3. package/fixtures/openapi/AgentPrometheusQueryRequest/invalid/basic.json +5 -0
  4. package/fixtures/openapi/AgentPrometheusQueryRequest/invalid/missing-range-fields.json +5 -0
  5. package/fixtures/openapi/AgentPrometheusQueryRequest/invalid/zero-start.json +8 -0
  6. package/fixtures/openapi/AgentPrometheusQueryRequest/valid/basic.json +8 -0
  7. package/fixtures/openapi/AgentPrometheusQueryRequest/valid/instant.json +5 -0
  8. package/fixtures/openapi/ClusterAgentUpgradeInput/invalid/image.json +1 -0
  9. package/fixtures/openapi/ClusterAgentUpgradeInput/invalid/missing.json +1 -0
  10. package/fixtures/openapi/ClusterAgentUpgradeInput/invalid/mutable-tag.json +1 -0
  11. package/fixtures/openapi/ClusterAgentUpgradeInput/valid/stable.json +1 -0
  12. package/fixtures/openapi/ClusterAgentUpgradeInput/valid/unprefixed.json +1 -0
  13. package/fixtures/openapi/KubernetesAgentCustomResourceRule/invalid/basic.json +9 -0
  14. package/fixtures/openapi/KubernetesAgentCustomResourceRule/valid/basic.json +14 -0
  15. package/fixtures/openapi/KubernetesAgentCustomResourceRule/valid/dns-names.json +1 -0
  16. package/fixtures/openapi/KubernetesClusterRegistrationRequest/invalid/basic.json +4 -0
  17. package/fixtures/openapi/KubernetesClusterRegistrationRequest/valid/basic.json +6 -0
  18. package/fixtures/openapi/KubernetesConfigMapDataInput/invalid/basic.json +5 -0
  19. package/fixtures/openapi/KubernetesConfigMapDataInput/valid/basic.json +8 -0
  20. package/fixtures/openapi/KubernetesCronJobSuspendInput/invalid/basic.json +3 -0
  21. package/fixtures/openapi/KubernetesCronJobSuspendInput/valid/basic.json +3 -0
  22. package/fixtures/openapi/KubernetesCustomResourceAccess/invalid/basic.json +5 -0
  23. package/fixtures/openapi/KubernetesCustomResourceAccess/valid/basic.json +6 -0
  24. package/fixtures/openapi/KubernetesNamespaceCreateInput/invalid/basic.json +1 -0
  25. package/fixtures/openapi/KubernetesNamespaceCreateInput/valid/basic.json +1 -0
  26. package/fixtures/openapi/KubernetesNodeDrainInput/invalid/basic.json +3 -0
  27. package/fixtures/openapi/KubernetesNodeDrainInput/valid/basic.json +3 -0
  28. package/fixtures/openapi/KubernetesNodeSchedulabilityInput/invalid/basic.json +1 -0
  29. package/fixtures/openapi/KubernetesNodeSchedulabilityInput/valid/basic.json +3 -0
  30. package/fixtures/openapi/KubernetesSecretDataInput/invalid/basic.json +5 -0
  31. package/fixtures/openapi/KubernetesSecretDataInput/valid/basic.json +5 -0
  32. package/gen/go/sohaapi/client.go +1 -1
  33. package/gen/go/sohaapi/types.go +82 -13
  34. package/gen/ts/sohaapi/index.ts +157 -0
  35. package/openapi/soha-api.json +528 -2
  36. package/openapi/soha-api.yaml +257 -1
  37. package/openapi/spec_generated.go +3 -3
  38. package/package.json +1 -1
  39. package/resource/agent_access.go +23 -0
@@ -1614,6 +1614,65 @@
1614
1614
  ],
1615
1615
  "type": "object"
1616
1616
  },
1617
+ "AgentPrometheusQueryRequest": {
1618
+ "additionalProperties": false,
1619
+ "description": "Range queries require start, end and step. The runtime also enforces end greater than start, a maximum 24-hour range and at most 11000 intervals.",
1620
+ "if": {
1621
+ "properties": {
1622
+ "kind": {
1623
+ "const": "range"
1624
+ }
1625
+ },
1626
+ "required": [
1627
+ "kind"
1628
+ ]
1629
+ },
1630
+ "properties": {
1631
+ "end": {
1632
+ "format": "int64",
1633
+ "minimum": 1,
1634
+ "type": "integer"
1635
+ },
1636
+ "endpoint": {
1637
+ "maxLength": 2048,
1638
+ "type": "string"
1639
+ },
1640
+ "kind": {
1641
+ "enum": [
1642
+ "instant",
1643
+ "range"
1644
+ ],
1645
+ "type": "string"
1646
+ },
1647
+ "query": {
1648
+ "maxLength": 16384,
1649
+ "minLength": 1,
1650
+ "type": "string"
1651
+ },
1652
+ "start": {
1653
+ "format": "int64",
1654
+ "minimum": 1,
1655
+ "type": "integer"
1656
+ },
1657
+ "step": {
1658
+ "minimum": 1,
1659
+ "type": "integer"
1660
+ }
1661
+ },
1662
+ "required": [
1663
+ "endpoint",
1664
+ "query",
1665
+ "kind"
1666
+ ],
1667
+ "then": {
1668
+ "required": [
1669
+ "start",
1670
+ "end",
1671
+ "step"
1672
+ ]
1673
+ },
1674
+ "type": "object"
1675
+ },
1617
1676
  "AgentProviderCatalog": {
1618
1677
  "additionalProperties": false,
1619
1678
  "properties": {
@@ -8587,6 +8646,97 @@
8587
8646
  ],
8588
8647
  "type": "string"
8589
8648
  },
8649
+ "ClusterAgentUpgradeInput": {
8650
+ "additionalProperties": false,
8651
+ "properties": {
8652
+ "version": {
8653
+ "description": "Explicit stable official Agent version, such as v0.1.7. Registry and container identity cannot be overridden.",
8654
+ "maxLength": 64,
8655
+ "pattern": "^v?(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$",
8656
+ "type": "string"
8657
+ }
8658
+ },
8659
+ "required": [
8660
+ "version"
8661
+ ],
8662
+ "type": "object"
8663
+ },
8664
+ "ClusterAgentUpgradeResult": {
8665
+ "additionalProperties": false,
8666
+ "properties": {
8667
+ "previousImage": {
8668
+ "type": "string"
8669
+ },
8670
+ "targetImage": {
8671
+ "type": "string"
8672
+ }
8673
+ },
8674
+ "required": [
8675
+ "previousImage",
8676
+ "targetImage"
8677
+ ],
8678
+ "type": "object"
8679
+ },
8680
+ "ClusterAgentUpgradeResultEnvelope": {
8681
+ "properties": {
8682
+ "data": {
8683
+ "$ref": "#/components/schemas/ClusterAgentUpgradeResult"
8684
+ }
8685
+ },
8686
+ "required": [
8687
+ "data"
8688
+ ],
8689
+ "type": "object"
8690
+ },
8691
+ "ClusterAgentUpgradeStatus": {
8692
+ "additionalProperties": false,
8693
+ "properties": {
8694
+ "canUpgrade": {
8695
+ "type": "boolean"
8696
+ },
8697
+ "image": {
8698
+ "description": "Desired image of the standard Agent Deployment.",
8699
+ "type": "string"
8700
+ },
8701
+ "message": {
8702
+ "type": "string"
8703
+ },
8704
+ "recommendedVersion": {
8705
+ "description": "Agent version bundled with this Core release.",
8706
+ "type": "string"
8707
+ },
8708
+ "rolloutStatus": {
8709
+ "type": "string"
8710
+ },
8711
+ "upgradeDisabledReason": {
8712
+ "type": "string"
8713
+ },
8714
+ "version": {
8715
+ "description": "Version reported by the currently connected Agent process.",
8716
+ "type": "string"
8717
+ }
8718
+ },
8719
+ "required": [
8720
+ "version",
8721
+ "image",
8722
+ "recommendedVersion",
8723
+ "rolloutStatus",
8724
+ "message",
8725
+ "canUpgrade"
8726
+ ],
8727
+ "type": "object"
8728
+ },
8729
+ "ClusterAgentUpgradeStatusEnvelope": {
8730
+ "properties": {
8731
+ "data": {
8732
+ "$ref": "#/components/schemas/ClusterAgentUpgradeStatus"
8733
+ }
8734
+ },
8735
+ "required": [
8736
+ "data"
8737
+ ],
8738
+ "type": "object"
8739
+ },
8590
8740
  "ClusterCapabilityMatrixEntry": {
8591
8741
  "additionalProperties": false,
8592
8742
  "properties": {
@@ -23647,6 +23797,70 @@
23647
23797
  },
23648
23798
  "type": "object"
23649
23799
  },
23800
+ "KubernetesAgentCustomResourceRule": {
23801
+ "additionalProperties": false,
23802
+ "properties": {
23803
+ "apiGroup": {
23804
+ "maxLength": 253,
23805
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$",
23806
+ "type": "string"
23807
+ },
23808
+ "namespaces": {
23809
+ "description": "Explicit namespaces; omitted or empty grants cluster-wide access to the named resources only.",
23810
+ "items": {
23811
+ "maxLength": 63,
23812
+ "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?$",
23813
+ "type": "string"
23814
+ },
23815
+ "maxItems": 50,
23816
+ "type": "array",
23817
+ "uniqueItems": true
23818
+ },
23819
+ "resources": {
23820
+ "items": {
23821
+ "maxLength": 63,
23822
+ "pattern": "^[a-z]([a-z0-9-]*[a-z0-9])?$",
23823
+ "type": "string"
23824
+ },
23825
+ "maxItems": 50,
23826
+ "minItems": 1,
23827
+ "type": "array",
23828
+ "uniqueItems": true
23829
+ },
23830
+ "verbs": {
23831
+ "items": {
23832
+ "enum": [
23833
+ "get",
23834
+ "list",
23835
+ "watch",
23836
+ "create",
23837
+ "update",
23838
+ "patch",
23839
+ "delete"
23840
+ ],
23841
+ "type": "string",
23842
+ "x-enum-varnames": [
23843
+ "KubernetesAgentCustomResourceRuleVerbsGet",
23844
+ "KubernetesAgentCustomResourceRuleVerbsList",
23845
+ "KubernetesAgentCustomResourceRuleVerbsWatch",
23846
+ "KubernetesAgentCustomResourceRuleVerbsCreate",
23847
+ "KubernetesAgentCustomResourceRuleVerbsUpdate",
23848
+ "KubernetesAgentCustomResourceRuleVerbsPatch",
23849
+ "KubernetesAgentCustomResourceRuleVerbsDelete"
23850
+ ]
23851
+ },
23852
+ "minItems": 1,
23853
+ "type": "array",
23854
+ "uniqueItems": true
23855
+ }
23856
+ },
23857
+ "required": [
23858
+ "apiGroup",
23859
+ "resources",
23860
+ "verbs"
23861
+ ],
23862
+ "type": "object"
23863
+ },
23650
23864
  "KubernetesBackendTLSPolicy": {
23651
23865
  "additionalProperties": false,
23652
23866
  "properties": {
@@ -23814,6 +24028,13 @@
23814
24028
  "credentialType": {
23815
24029
  "type": "string"
23816
24030
  },
24031
+ "customResourceRules": {
24032
+ "items": {
24033
+ "$ref": "#/components/schemas/KubernetesAgentCustomResourceRule"
24034
+ },
24035
+ "maxItems": 50,
24036
+ "type": "array"
24037
+ },
23817
24038
  "endpoint": {
23818
24039
  "type": "string"
23819
24040
  },
@@ -24027,6 +24248,69 @@
24027
24248
  ],
24028
24249
  "type": "object"
24029
24250
  },
24251
+ "KubernetesClusterRegistrationRequest": {
24252
+ "additionalProperties": false,
24253
+ "properties": {
24254
+ "agentCustomResourceRules": {
24255
+ "items": {
24256
+ "$ref": "#/components/schemas/KubernetesAgentCustomResourceRule"
24257
+ },
24258
+ "maxItems": 50,
24259
+ "type": "array"
24260
+ },
24261
+ "agentEndpoint": {
24262
+ "type": "string"
24263
+ },
24264
+ "agentToken": {
24265
+ "type": "string",
24266
+ "writeOnly": true
24267
+ },
24268
+ "connectionMode": {
24269
+ "$ref": "#/components/schemas/KubernetesConnectionMode"
24270
+ },
24271
+ "context": {
24272
+ "type": "string"
24273
+ },
24274
+ "environment": {
24275
+ "type": "string"
24276
+ },
24277
+ "grafanaBaseUrl": {
24278
+ "type": "string"
24279
+ },
24280
+ "id": {
24281
+ "type": "string"
24282
+ },
24283
+ "kubeconfig": {
24284
+ "type": "string"
24285
+ },
24286
+ "labels": {
24287
+ "additionalProperties": {
24288
+ "type": "string"
24289
+ },
24290
+ "type": "object"
24291
+ },
24292
+ "name": {
24293
+ "type": "string"
24294
+ },
24295
+ "prometheusBaseUrl": {
24296
+ "type": "string"
24297
+ },
24298
+ "prometheusBearerToken": {
24299
+ "type": "string",
24300
+ "writeOnly": true
24301
+ },
24302
+ "prometheusClusterLabel": {
24303
+ "type": "string"
24304
+ },
24305
+ "prometheusTransport": {
24306
+ "$ref": "#/components/schemas/KubernetesPrometheusTransport"
24307
+ },
24308
+ "region": {
24309
+ "type": "string"
24310
+ }
24311
+ },
24312
+ "type": "object"
24313
+ },
24030
24314
  "KubernetesClusterRole": {
24031
24315
  "additionalProperties": false,
24032
24316
  "properties": {
@@ -24303,6 +24587,18 @@
24303
24587
  ],
24304
24588
  "type": "object"
24305
24589
  },
24590
+ "KubernetesConfigMapDataInput": {
24591
+ "additionalProperties": false,
24592
+ "properties": {
24593
+ "binaryData": {
24594
+ "$ref": "#/components/schemas/KubernetesStringMap"
24595
+ },
24596
+ "data": {
24597
+ "$ref": "#/components/schemas/KubernetesStringMap"
24598
+ }
24599
+ },
24600
+ "type": "object"
24601
+ },
24306
24602
  "KubernetesConfigMapDetail": {
24307
24603
  "additionalProperties": false,
24308
24604
  "properties": {
@@ -24555,6 +24851,18 @@
24555
24851
  ],
24556
24852
  "type": "object"
24557
24853
  },
24854
+ "KubernetesCronJobSuspendInput": {
24855
+ "additionalProperties": false,
24856
+ "properties": {
24857
+ "suspend": {
24858
+ "type": "boolean"
24859
+ }
24860
+ },
24861
+ "required": [
24862
+ "suspend"
24863
+ ],
24864
+ "type": "object"
24865
+ },
24558
24866
  "KubernetesCustomResource": {
24559
24867
  "additionalProperties": false,
24560
24868
  "properties": {
@@ -24613,6 +24921,40 @@
24613
24921
  ],
24614
24922
  "type": "object"
24615
24923
  },
24924
+ "KubernetesCustomResourceAccess": {
24925
+ "additionalProperties": false,
24926
+ "properties": {
24927
+ "allowedActions": {
24928
+ "items": {
24929
+ "enum": [
24930
+ "list",
24931
+ "view",
24932
+ "create",
24933
+ "update",
24934
+ "delete"
24935
+ ],
24936
+ "type": "string"
24937
+ },
24938
+ "type": "array"
24939
+ }
24940
+ },
24941
+ "required": [
24942
+ "allowedActions"
24943
+ ],
24944
+ "type": "object"
24945
+ },
24946
+ "KubernetesCustomResourceAccessEnvelope": {
24947
+ "additionalProperties": false,
24948
+ "properties": {
24949
+ "data": {
24950
+ "$ref": "#/components/schemas/KubernetesCustomResourceAccess"
24951
+ }
24952
+ },
24953
+ "required": [
24954
+ "data"
24955
+ ],
24956
+ "type": "object"
24957
+ },
24616
24958
  "KubernetesCustomResourceDefinition": {
24617
24959
  "additionalProperties": false,
24618
24960
  "properties": {
@@ -27879,6 +28221,53 @@
27879
28221
  ],
27880
28222
  "type": "object"
27881
28223
  },
28224
+ "KubernetesNamespaceCreateInput": {
28225
+ "additionalProperties": false,
28226
+ "properties": {
28227
+ "annotations": {
28228
+ "$ref": "#/components/schemas/KubernetesStringMap"
28229
+ },
28230
+ "labels": {
28231
+ "$ref": "#/components/schemas/KubernetesStringMap"
28232
+ },
28233
+ "name": {
28234
+ "minLength": 1,
28235
+ "pattern": "\\S",
28236
+ "type": "string"
28237
+ }
28238
+ },
28239
+ "required": [
28240
+ "name"
28241
+ ],
28242
+ "type": "object"
28243
+ },
28244
+ "KubernetesNamespaceEnvelope": {
28245
+ "additionalProperties": false,
28246
+ "properties": {
28247
+ "data": {
28248
+ "$ref": "#/components/schemas/KubernetesNamespace"
28249
+ }
28250
+ },
28251
+ "required": [
28252
+ "data"
28253
+ ],
28254
+ "type": "object"
28255
+ },
28256
+ "KubernetesNamespaceInput": {
28257
+ "additionalProperties": false,
28258
+ "properties": {
28259
+ "annotations": {
28260
+ "$ref": "#/components/schemas/KubernetesStringMap"
28261
+ },
28262
+ "labels": {
28263
+ "$ref": "#/components/schemas/KubernetesStringMap"
28264
+ },
28265
+ "name": {
28266
+ "type": "string"
28267
+ }
28268
+ },
28269
+ "type": "object"
28270
+ },
27882
28271
  "KubernetesNamespaceListEnvelope": {
27883
28272
  "additionalProperties": false,
27884
28273
  "properties": {
@@ -28466,6 +28855,24 @@
28466
28855
  ],
28467
28856
  "type": "object"
28468
28857
  },
28858
+ "KubernetesNodeDrainInput": {
28859
+ "additionalProperties": false,
28860
+ "properties": {
28861
+ "deleteEmptyDirData": {
28862
+ "type": "boolean"
28863
+ },
28864
+ "force": {
28865
+ "type": "boolean"
28866
+ },
28867
+ "timeoutSeconds": {
28868
+ "default": 300,
28869
+ "maximum": 1800,
28870
+ "minimum": 30,
28871
+ "type": "integer"
28872
+ }
28873
+ },
28874
+ "type": "object"
28875
+ },
28469
28876
  "KubernetesNodeListEnvelope": {
28470
28877
  "additionalProperties": false,
28471
28878
  "properties": {
@@ -28565,6 +28972,18 @@
28565
28972
  },
28566
28973
  "type": "object"
28567
28974
  },
28975
+ "KubernetesNodeSchedulabilityInput": {
28976
+ "additionalProperties": false,
28977
+ "properties": {
28978
+ "unschedulable": {
28979
+ "type": "boolean"
28980
+ }
28981
+ },
28982
+ "required": [
28983
+ "unschedulable"
28984
+ ],
28985
+ "type": "object"
28986
+ },
28568
28987
  "KubernetesNodeTaint": {
28569
28988
  "additionalProperties": false,
28570
28989
  "properties": {
@@ -28584,6 +29003,21 @@
28584
29003
  ],
28585
29004
  "type": "object"
28586
29005
  },
29006
+ "KubernetesNodeUpdateInput": {
29007
+ "additionalProperties": false,
29008
+ "properties": {
29009
+ "labels": {
29010
+ "$ref": "#/components/schemas/KubernetesStringMap"
29011
+ },
29012
+ "taints": {
29013
+ "items": {
29014
+ "$ref": "#/components/schemas/KubernetesNodeTaint"
29015
+ },
29016
+ "type": "array"
29017
+ }
29018
+ },
29019
+ "type": "object"
29020
+ },
28587
29021
  "KubernetesPersistentVolume": {
28588
29022
  "additionalProperties": false,
28589
29023
  "properties": {
@@ -29445,6 +29879,9 @@
29445
29879
  },
29446
29880
  "hasBearerToken": {
29447
29881
  "type": "boolean"
29882
+ },
29883
+ "transport": {
29884
+ "$ref": "#/components/schemas/KubernetesPrometheusTransport"
29448
29885
  }
29449
29886
  },
29450
29887
  "required": [
@@ -29452,6 +29889,14 @@
29452
29889
  ],
29453
29890
  "type": "object"
29454
29891
  },
29892
+ "KubernetesPrometheusTransport": {
29893
+ "default": "direct",
29894
+ "enum": [
29895
+ "direct",
29896
+ "agent"
29897
+ ],
29898
+ "type": "string"
29899
+ },
29455
29900
  "KubernetesReferenceGrant": {
29456
29901
  "additionalProperties": false,
29457
29902
  "properties": {
@@ -30378,7 +30823,10 @@
30378
30823
  "enum": [
30379
30824
  "create"
30380
30825
  ],
30381
- "type": "string"
30826
+ "type": "string",
30827
+ "x-enum-varnames": [
30828
+ "Create"
30829
+ ]
30382
30830
  },
30383
30831
  "apiVersion": {
30384
30832
  "minLength": 1,
@@ -31362,6 +31810,19 @@
31362
31810
  ],
31363
31811
  "type": "object"
31364
31812
  },
31813
+ "KubernetesResourceYamlInput": {
31814
+ "additionalProperties": false,
31815
+ "properties": {
31816
+ "content": {
31817
+ "minLength": 1,
31818
+ "type": "string"
31819
+ }
31820
+ },
31821
+ "required": [
31822
+ "content"
31823
+ ],
31824
+ "type": "object"
31825
+ },
31365
31826
  "KubernetesRole": {
31366
31827
  "additionalProperties": false,
31367
31828
  "properties": {
@@ -31614,6 +32075,71 @@
31614
32075
  ],
31615
32076
  "type": "object"
31616
32077
  },
32078
+ "KubernetesSecretDataInput": {
32079
+ "additionalProperties": false,
32080
+ "description": "Data values are plain text. The response detail returns Kubernetes Base64-encoded values.",
32081
+ "properties": {
32082
+ "data": {
32083
+ "$ref": "#/components/schemas/KubernetesStringMap"
32084
+ }
32085
+ },
32086
+ "type": "object"
32087
+ },
32088
+ "KubernetesSecretDetail": {
32089
+ "additionalProperties": false,
32090
+ "properties": {
32091
+ "ageSeconds": {
32092
+ "format": "int64",
32093
+ "minimum": 0,
32094
+ "type": "integer"
32095
+ },
32096
+ "annotations": {
32097
+ "$ref": "#/components/schemas/KubernetesStringMap"
32098
+ },
32099
+ "createdAt": {
32100
+ "type": "string"
32101
+ },
32102
+ "data": {
32103
+ "$ref": "#/components/schemas/KubernetesStringMap",
32104
+ "description": "Secret data values encoded with standard Base64. Requires secret-data.view."
32105
+ },
32106
+ "immutable": {
32107
+ "type": "boolean"
32108
+ },
32109
+ "labels": {
32110
+ "$ref": "#/components/schemas/KubernetesStringMap"
32111
+ },
32112
+ "name": {
32113
+ "type": "string"
32114
+ },
32115
+ "namespace": {
32116
+ "type": "string"
32117
+ },
32118
+ "type": {
32119
+ "type": "string"
32120
+ }
32121
+ },
32122
+ "required": [
32123
+ "name",
32124
+ "namespace",
32125
+ "immutable",
32126
+ "ageSeconds",
32127
+ "type"
32128
+ ],
32129
+ "type": "object"
32130
+ },
32131
+ "KubernetesSecretDetailEnvelope": {
32132
+ "additionalProperties": false,
32133
+ "properties": {
32134
+ "data": {
32135
+ "$ref": "#/components/schemas/KubernetesSecretDetail"
32136
+ }
32137
+ },
32138
+ "required": [
32139
+ "data"
32140
+ ],
32141
+ "type": "object"
32142
+ },
31617
32143
  "KubernetesSecretMetadata": {
31618
32144
  "additionalProperties": false,
31619
32145
  "properties": {
@@ -60796,7 +61322,7 @@
60796
61322
  "info": {
60797
61323
  "description": "Public OpenSoha core API contract. This first contract focuses on stable cross-repository boundaries: auth, health, runner-facing control-plane callbacks, AI Gateway, and MCP capability discovery.\n",
60798
61324
  "title": "Soha API",
60799
- "version": "0.1.19"
61325
+ "version": "0.1.20"
60800
61326
  },
60801
61327
  "openapi": "3.1.0",
60802
61328
  "paths": {