@opensoha/contracts 0.1.4 → 0.1.5
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/compat/json-schema-ecosystem-0.1.0.json +1 -1
- package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
- package/fixtures/openapi/SecretCreateRequest/invalid/both-sources.json +12 -0
- package/fixtures/openapi/SecretCreateRequest/invalid/missing-vault-version.json +10 -0
- package/fixtures/openapi/SecretCreateRequest/invalid/vault-key-newline.json +11 -0
- package/fixtures/openapi/SecretCreateRequest/invalid/vault-key-whitespace.json +11 -0
- package/fixtures/openapi/SecretCreateRequest/valid/vault-kv2.json +11 -0
- package/fixtures/openapi/SecretRotateRequest/invalid/both-sources.json +9 -0
- package/fixtures/openapi/SecretRotateRequest/invalid/missing-source.json +1 -0
- package/fixtures/openapi/SecretRotateRequest/valid/vault-kv2.json +8 -0
- package/gen/go/sohaapi/client.go +1 -1
- package/gen/go/sohaapi/types.go +19 -9
- package/gen/ts/sohaapi/index.ts +13 -2
- package/openapi/soha-api.json +77 -5
- package/openapi/soha-api.yaml +45 -3
- package/openapi/spec_generated.go +3 -3
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
package/gen/go/sohaapi/client.go
CHANGED
package/gen/go/sohaapi/types.go
CHANGED
|
@@ -13058,14 +13058,15 @@ type SecretBinding struct {
|
|
|
13058
13058
|
// SecretBindingTargetType defines model for SecretBinding.TargetType.
|
|
13059
13059
|
type SecretBindingTargetType string
|
|
13060
13060
|
|
|
13061
|
-
// SecretCreateRequest
|
|
13061
|
+
// SecretCreateRequest Exactly one of value or vaultKv2 must be provided.
|
|
13062
13062
|
type SecretCreateRequest struct {
|
|
13063
|
-
Bindings []SecretBinding
|
|
13064
|
-
Description string
|
|
13065
|
-
Name string
|
|
13066
|
-
ScopeID string
|
|
13067
|
-
ScopeType SecretScopeType
|
|
13068
|
-
Value string
|
|
13063
|
+
Bindings []SecretBinding `json:"bindings,omitempty"`
|
|
13064
|
+
Description string `json:"description,omitempty"`
|
|
13065
|
+
Name string `json:"name"`
|
|
13066
|
+
ScopeID string `json:"scopeId"`
|
|
13067
|
+
ScopeType SecretScopeType `json:"scopeType"`
|
|
13068
|
+
Value string `json:"value,omitempty"`
|
|
13069
|
+
VaultKv2 *SecretVaultKV2Reference `json:"vaultKv2,omitempty"`
|
|
13069
13070
|
}
|
|
13070
13071
|
|
|
13071
13072
|
// SecretLeaseGrant defines model for SecretLeaseGrant.
|
|
@@ -13117,9 +13118,10 @@ type SecretMetadataListEnvelope struct {
|
|
|
13117
13118
|
// SecretReferenceMap defines model for SecretReferenceMap.
|
|
13118
13119
|
type SecretReferenceMap map[string]string
|
|
13119
13120
|
|
|
13120
|
-
// SecretRotateRequest
|
|
13121
|
+
// SecretRotateRequest Exactly one of value or vaultKv2 must be provided.
|
|
13121
13122
|
type SecretRotateRequest struct {
|
|
13122
|
-
Value
|
|
13123
|
+
Value string `json:"value,omitempty"`
|
|
13124
|
+
VaultKv2 *SecretVaultKV2Reference `json:"vaultKv2,omitempty"`
|
|
13123
13125
|
}
|
|
13124
13126
|
|
|
13125
13127
|
// SecretScopeType defines model for SecretScopeType.
|
|
@@ -13136,6 +13138,14 @@ type SecretUpdateRequest struct {
|
|
|
13136
13138
|
Status SecretStatus `json:"status,omitempty"`
|
|
13137
13139
|
}
|
|
13138
13140
|
|
|
13141
|
+
// SecretVaultKV2Reference defines model for SecretVaultKV2Reference.
|
|
13142
|
+
type SecretVaultKV2Reference struct {
|
|
13143
|
+
Key string `json:"key"`
|
|
13144
|
+
Mount string `json:"mount"`
|
|
13145
|
+
Path string `json:"path"`
|
|
13146
|
+
Version int `json:"version"`
|
|
13147
|
+
}
|
|
13148
|
+
|
|
13139
13149
|
// SecretVersionMetadata defines model for SecretVersionMetadata.
|
|
13140
13150
|
type SecretVersionMetadata struct {
|
|
13141
13151
|
CreatedAt time.Time `json:"createdAt"`
|
package/gen/ts/sohaapi/index.ts
CHANGED
|
@@ -10071,6 +10071,12 @@ export interface components {
|
|
|
10071
10071
|
SecretReferenceMap: {
|
|
10072
10072
|
[key: string]: string;
|
|
10073
10073
|
};
|
|
10074
|
+
SecretVaultKV2Reference: {
|
|
10075
|
+
mount: string;
|
|
10076
|
+
path: string;
|
|
10077
|
+
key: string;
|
|
10078
|
+
version: number;
|
|
10079
|
+
};
|
|
10074
10080
|
SecretMetadata: {
|
|
10075
10081
|
id: string;
|
|
10076
10082
|
name: string;
|
|
@@ -10086,9 +10092,11 @@ export interface components {
|
|
|
10086
10092
|
/** Format: date-time */
|
|
10087
10093
|
updatedAt: string;
|
|
10088
10094
|
};
|
|
10095
|
+
/** @description Exactly one of value or vaultKv2 must be provided. */
|
|
10089
10096
|
SecretCreateRequest: {
|
|
10090
10097
|
name: string;
|
|
10091
|
-
value
|
|
10098
|
+
value?: string;
|
|
10099
|
+
vaultKv2?: components["schemas"]["SecretVaultKV2Reference"];
|
|
10092
10100
|
description?: string;
|
|
10093
10101
|
scopeType: components["schemas"]["SecretScopeType"];
|
|
10094
10102
|
scopeId: string;
|
|
@@ -10100,8 +10108,10 @@ export interface components {
|
|
|
10100
10108
|
status?: components["schemas"]["SecretStatus"];
|
|
10101
10109
|
bindings?: components["schemas"]["SecretBinding"][];
|
|
10102
10110
|
};
|
|
10111
|
+
/** @description Exactly one of value or vaultKv2 must be provided. */
|
|
10103
10112
|
SecretRotateRequest: {
|
|
10104
|
-
value
|
|
10113
|
+
value?: string;
|
|
10114
|
+
vaultKv2?: components["schemas"]["SecretVaultKV2Reference"];
|
|
10105
10115
|
};
|
|
10106
10116
|
SecretVersionMetadata: {
|
|
10107
10117
|
secretId: string;
|
|
@@ -12537,6 +12547,7 @@ export type SecretStatus = components['schemas']['SecretStatus'];
|
|
|
12537
12547
|
export type SecretVersionStatus = components['schemas']['SecretVersionStatus'];
|
|
12538
12548
|
export type SecretBinding = components['schemas']['SecretBinding'];
|
|
12539
12549
|
export type SecretReferenceMap = components['schemas']['SecretReferenceMap'];
|
|
12550
|
+
export type SecretVaultKV2Reference = components['schemas']['SecretVaultKV2Reference'];
|
|
12540
12551
|
export type SecretMetadata = components['schemas']['SecretMetadata'];
|
|
12541
12552
|
export type SecretCreateRequest = components['schemas']['SecretCreateRequest'];
|
|
12542
12553
|
export type SecretUpdateRequest = components['schemas']['SecretUpdateRequest'];
|
package/openapi/soha-api.json
CHANGED
|
@@ -24166,6 +24166,17 @@
|
|
|
24166
24166
|
},
|
|
24167
24167
|
"SecretCreateRequest": {
|
|
24168
24168
|
"additionalProperties": false,
|
|
24169
|
+
"description": "Exactly one of value or vaultKv2 must be provided.",
|
|
24170
|
+
"else": {
|
|
24171
|
+
"required": [
|
|
24172
|
+
"vaultKv2"
|
|
24173
|
+
]
|
|
24174
|
+
},
|
|
24175
|
+
"if": {
|
|
24176
|
+
"required": [
|
|
24177
|
+
"value"
|
|
24178
|
+
]
|
|
24179
|
+
},
|
|
24169
24180
|
"properties": {
|
|
24170
24181
|
"bindings": {
|
|
24171
24182
|
"items": {
|
|
@@ -24196,14 +24207,23 @@
|
|
|
24196
24207
|
"minLength": 1,
|
|
24197
24208
|
"type": "string",
|
|
24198
24209
|
"writeOnly": true
|
|
24210
|
+
},
|
|
24211
|
+
"vaultKv2": {
|
|
24212
|
+
"$ref": "#/components/schemas/SecretVaultKV2Reference"
|
|
24199
24213
|
}
|
|
24200
24214
|
},
|
|
24201
24215
|
"required": [
|
|
24202
24216
|
"name",
|
|
24203
|
-
"value",
|
|
24204
24217
|
"scopeType",
|
|
24205
24218
|
"scopeId"
|
|
24206
24219
|
],
|
|
24220
|
+
"then": {
|
|
24221
|
+
"not": {
|
|
24222
|
+
"required": [
|
|
24223
|
+
"vaultKv2"
|
|
24224
|
+
]
|
|
24225
|
+
}
|
|
24226
|
+
},
|
|
24207
24227
|
"type": "object"
|
|
24208
24228
|
},
|
|
24209
24229
|
"SecretLeaseGrant": {
|
|
@@ -24365,17 +24385,35 @@
|
|
|
24365
24385
|
},
|
|
24366
24386
|
"SecretRotateRequest": {
|
|
24367
24387
|
"additionalProperties": false,
|
|
24388
|
+
"description": "Exactly one of value or vaultKv2 must be provided.",
|
|
24389
|
+
"else": {
|
|
24390
|
+
"required": [
|
|
24391
|
+
"vaultKv2"
|
|
24392
|
+
]
|
|
24393
|
+
},
|
|
24394
|
+
"if": {
|
|
24395
|
+
"required": [
|
|
24396
|
+
"value"
|
|
24397
|
+
]
|
|
24398
|
+
},
|
|
24368
24399
|
"properties": {
|
|
24369
24400
|
"value": {
|
|
24370
24401
|
"maxLength": 1048576,
|
|
24371
24402
|
"minLength": 1,
|
|
24372
24403
|
"type": "string",
|
|
24373
24404
|
"writeOnly": true
|
|
24405
|
+
},
|
|
24406
|
+
"vaultKv2": {
|
|
24407
|
+
"$ref": "#/components/schemas/SecretVaultKV2Reference"
|
|
24408
|
+
}
|
|
24409
|
+
},
|
|
24410
|
+
"then": {
|
|
24411
|
+
"not": {
|
|
24412
|
+
"required": [
|
|
24413
|
+
"vaultKv2"
|
|
24414
|
+
]
|
|
24374
24415
|
}
|
|
24375
24416
|
},
|
|
24376
|
-
"required": [
|
|
24377
|
-
"value"
|
|
24378
|
-
],
|
|
24379
24417
|
"type": "object"
|
|
24380
24418
|
},
|
|
24381
24419
|
"SecretScopeType": {
|
|
@@ -24428,6 +24466,40 @@
|
|
|
24428
24466
|
},
|
|
24429
24467
|
"type": "object"
|
|
24430
24468
|
},
|
|
24469
|
+
"SecretVaultKV2Reference": {
|
|
24470
|
+
"additionalProperties": false,
|
|
24471
|
+
"properties": {
|
|
24472
|
+
"key": {
|
|
24473
|
+
"maxLength": 256,
|
|
24474
|
+
"minLength": 1,
|
|
24475
|
+
"pattern": "^[^\\u0000\\r\\n]*\\S[^\\u0000\\r\\n]*$",
|
|
24476
|
+
"type": "string"
|
|
24477
|
+
},
|
|
24478
|
+
"mount": {
|
|
24479
|
+
"maxLength": 256,
|
|
24480
|
+
"minLength": 1,
|
|
24481
|
+
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?:/[A-Za-z0-9][A-Za-z0-9._-]*)*$",
|
|
24482
|
+
"type": "string"
|
|
24483
|
+
},
|
|
24484
|
+
"path": {
|
|
24485
|
+
"maxLength": 1024,
|
|
24486
|
+
"minLength": 1,
|
|
24487
|
+
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?:/[A-Za-z0-9][A-Za-z0-9._-]*)*$",
|
|
24488
|
+
"type": "string"
|
|
24489
|
+
},
|
|
24490
|
+
"version": {
|
|
24491
|
+
"minimum": 1,
|
|
24492
|
+
"type": "integer"
|
|
24493
|
+
}
|
|
24494
|
+
},
|
|
24495
|
+
"required": [
|
|
24496
|
+
"mount",
|
|
24497
|
+
"path",
|
|
24498
|
+
"key",
|
|
24499
|
+
"version"
|
|
24500
|
+
],
|
|
24501
|
+
"type": "object"
|
|
24502
|
+
},
|
|
24431
24503
|
"SecretVersionMetadata": {
|
|
24432
24504
|
"additionalProperties": false,
|
|
24433
24505
|
"properties": {
|
|
@@ -26984,7 +27056,7 @@
|
|
|
26984
27056
|
"info": {
|
|
26985
27057
|
"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",
|
|
26986
27058
|
"title": "Soha API",
|
|
26987
|
-
"version": "0.1.
|
|
27059
|
+
"version": "0.1.5"
|
|
26988
27060
|
},
|
|
26989
27061
|
"openapi": "3.1.0",
|
|
26990
27062
|
"paths": {
|
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.5
|
|
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
|
|
@@ -18359,6 +18359,29 @@ components:
|
|
|
18359
18359
|
additionalProperties:
|
|
18360
18360
|
type: string
|
|
18361
18361
|
pattern: "^soha://secrets/[A-Za-z0-9._-]+(?:/versions/[1-9][0-9]*)?$"
|
|
18362
|
+
SecretVaultKV2Reference:
|
|
18363
|
+
type: object
|
|
18364
|
+
required: [mount, path, key, version]
|
|
18365
|
+
properties:
|
|
18366
|
+
mount:
|
|
18367
|
+
type: string
|
|
18368
|
+
minLength: 1
|
|
18369
|
+
maxLength: 256
|
|
18370
|
+
pattern: "^[A-Za-z0-9][A-Za-z0-9._-]*(?:/[A-Za-z0-9][A-Za-z0-9._-]*)*$"
|
|
18371
|
+
path:
|
|
18372
|
+
type: string
|
|
18373
|
+
minLength: 1
|
|
18374
|
+
maxLength: 1024
|
|
18375
|
+
pattern: "^[A-Za-z0-9][A-Za-z0-9._-]*(?:/[A-Za-z0-9][A-Za-z0-9._-]*)*$"
|
|
18376
|
+
key:
|
|
18377
|
+
type: string
|
|
18378
|
+
minLength: 1
|
|
18379
|
+
maxLength: 256
|
|
18380
|
+
pattern: "^[^\\u0000\\r\\n]*\\S[^\\u0000\\r\\n]*$"
|
|
18381
|
+
version:
|
|
18382
|
+
type: integer
|
|
18383
|
+
minimum: 1
|
|
18384
|
+
additionalProperties: false
|
|
18362
18385
|
SecretMetadata:
|
|
18363
18386
|
type: object
|
|
18364
18387
|
required: [id, name, scopeType, scopeId, status, currentVersion, bindings, createdBy, createdAt, updatedAt]
|
|
@@ -18393,7 +18416,15 @@ components:
|
|
|
18393
18416
|
additionalProperties: false
|
|
18394
18417
|
SecretCreateRequest:
|
|
18395
18418
|
type: object
|
|
18396
|
-
|
|
18419
|
+
description: Exactly one of value or vaultKv2 must be provided.
|
|
18420
|
+
required: [name, scopeType, scopeId]
|
|
18421
|
+
if:
|
|
18422
|
+
required: [value]
|
|
18423
|
+
then:
|
|
18424
|
+
not:
|
|
18425
|
+
required: [vaultKv2]
|
|
18426
|
+
else:
|
|
18427
|
+
required: [vaultKv2]
|
|
18397
18428
|
properties:
|
|
18398
18429
|
name:
|
|
18399
18430
|
type: string
|
|
@@ -18404,6 +18435,8 @@ components:
|
|
|
18404
18435
|
minLength: 1
|
|
18405
18436
|
maxLength: 1048576
|
|
18406
18437
|
writeOnly: true
|
|
18438
|
+
vaultKv2:
|
|
18439
|
+
$ref: "#/components/schemas/SecretVaultKV2Reference"
|
|
18407
18440
|
description:
|
|
18408
18441
|
type: string
|
|
18409
18442
|
maxLength: 1024
|
|
@@ -18440,13 +18473,22 @@ components:
|
|
|
18440
18473
|
additionalProperties: false
|
|
18441
18474
|
SecretRotateRequest:
|
|
18442
18475
|
type: object
|
|
18443
|
-
|
|
18476
|
+
description: Exactly one of value or vaultKv2 must be provided.
|
|
18477
|
+
if:
|
|
18478
|
+
required: [value]
|
|
18479
|
+
then:
|
|
18480
|
+
not:
|
|
18481
|
+
required: [vaultKv2]
|
|
18482
|
+
else:
|
|
18483
|
+
required: [vaultKv2]
|
|
18444
18484
|
properties:
|
|
18445
18485
|
value:
|
|
18446
18486
|
type: string
|
|
18447
18487
|
minLength: 1
|
|
18448
18488
|
maxLength: 1048576
|
|
18449
18489
|
writeOnly: true
|
|
18490
|
+
vaultKv2:
|
|
18491
|
+
$ref: "#/components/schemas/SecretVaultKV2Reference"
|
|
18450
18492
|
additionalProperties: false
|
|
18451
18493
|
SecretVersionMetadata:
|
|
18452
18494
|
type: object
|
|
@@ -5,9 +5,9 @@ package openapi
|
|
|
5
5
|
import _ "embed"
|
|
6
6
|
|
|
7
7
|
const (
|
|
8
|
-
Version = "0.1.
|
|
9
|
-
YAMLSHA256 = "
|
|
10
|
-
JSONSHA256 = "
|
|
8
|
+
Version = "0.1.5"
|
|
9
|
+
YAMLSHA256 = "d841f66bab9b28db25f34f8c4b7d7047fba018e82c95acc17b93ff2e76e6d1f3"
|
|
10
|
+
JSONSHA256 = "56df00cdf416382845496bd48cb4ab979accc666fde6481366bc9685a7f70f18"
|
|
11
11
|
)
|
|
12
12
|
|
|
13
13
|
//go:embed soha-api.yaml
|