@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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.4",
2
+ "version": "0.1.5",
3
3
  "schemas": {
4
4
  "plugins/plugin-manifest.schema.json": {
5
5
  "rootRequired": ["id", "name", "publisher", "type", "version"],
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.4",
2
+ "version": "0.1.5",
3
3
  "generatedFrom": "openapi/soha-api.yaml",
4
4
  "entries": [
5
5
  {
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "registry-token",
3
+ "value": "opaque-token",
4
+ "vaultKv2": {
5
+ "mount": "secret",
6
+ "path": "demo/registry",
7
+ "key": "token",
8
+ "version": 3
9
+ },
10
+ "scopeType": "project",
11
+ "scopeId": "demo"
12
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "registry-token",
3
+ "scopeType": "project",
4
+ "scopeId": "demo",
5
+ "vaultKv2": {
6
+ "mount": "team/kv",
7
+ "path": "demo/app",
8
+ "key": "token"
9
+ }
10
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "registry-token",
3
+ "scopeType": "project",
4
+ "scopeId": "demo",
5
+ "vaultKv2": {
6
+ "mount": "team/kv",
7
+ "path": "demo/app",
8
+ "key": "token\nvalue",
9
+ "version": 7
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "registry-token",
3
+ "scopeType": "project",
4
+ "scopeId": "demo",
5
+ "vaultKv2": {
6
+ "mount": "team/kv",
7
+ "path": "demo/app",
8
+ "key": " \t ",
9
+ "version": 7
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "registry-token",
3
+ "scopeType": "project",
4
+ "scopeId": "demo",
5
+ "vaultKv2": {
6
+ "mount": "team/kv",
7
+ "path": "demo/app",
8
+ "key": "token",
9
+ "version": 7
10
+ }
11
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "value": "next-opaque-secret-value",
3
+ "vaultKv2": {
4
+ "mount": "team/kv",
5
+ "path": "demo/app",
6
+ "key": "token",
7
+ "version": 8
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "vaultKv2": {
3
+ "mount": "team/kv",
4
+ "path": "demo/app",
5
+ "key": "token",
6
+ "version": 8
7
+ }
8
+ }
@@ -14,7 +14,7 @@ import (
14
14
  "time"
15
15
  )
16
16
 
17
- const defaultUserAgent = "opensoha-contracts/0.1.4"
17
+ const defaultUserAgent = "opensoha-contracts/0.1.5"
18
18
 
19
19
  type Client struct {
20
20
  BaseURL string
@@ -13058,14 +13058,15 @@ type SecretBinding struct {
13058
13058
  // SecretBindingTargetType defines model for SecretBinding.TargetType.
13059
13059
  type SecretBindingTargetType string
13060
13060
 
13061
- // SecretCreateRequest defines model for SecretCreateRequest.
13061
+ // SecretCreateRequest Exactly one of value or vaultKv2 must be provided.
13062
13062
  type SecretCreateRequest struct {
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"`
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 defines model for SecretRotateRequest.
13121
+ // SecretRotateRequest Exactly one of value or vaultKv2 must be provided.
13121
13122
  type SecretRotateRequest struct {
13122
- Value string `json:"value,omitempty"`
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"`
@@ -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: string;
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: string;
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'];
@@ -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.4"
27059
+ "version": "0.1.5"
26988
27060
  },
26989
27061
  "openapi": "3.1.0",
26990
27062
  "paths": {
@@ -1,7 +1,7 @@
1
1
  openapi: 3.1.0
2
2
  info:
3
3
  title: Soha API
4
- version: 0.1.4
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
- required: [name, value, scopeType, scopeId]
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
- required: [value]
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.4"
9
- YAMLSHA256 = "09e3b9d0e56d0fa64dec6ca3a631a15cea6c8837fdcd1efe6866d9f2b7163e1a"
10
- JSONSHA256 = "677e1cf4de13bb9888f4af32c773ff47c8937312bcf04da764477b7b3c711aab"
8
+ Version = "0.1.5"
9
+ YAMLSHA256 = "d841f66bab9b28db25f34f8c4b7d7047fba018e82c95acc17b93ff2e76e6d1f3"
10
+ JSONSHA256 = "56df00cdf416382845496bd48cb4ab979accc666fde6481366bc9685a7f70f18"
11
11
  )
12
12
 
13
13
  //go:embed soha-api.yaml
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensoha/contracts",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "private": false,
5
5
  "description": "Shared OpenSoha API, agent, MCP, skill, event, and auth contracts.",
6
6
  "license": "Apache-2.0",