@executioncontrolprotocol/types 0.10.0

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 (105) hide show
  1. package/README.md +16 -0
  2. package/dist/capabilities.d.ts +31 -0
  3. package/dist/capabilities.d.ts.map +1 -0
  4. package/dist/capabilities.js +2 -0
  5. package/dist/capabilities.js.map +1 -0
  6. package/dist/encoding.d.ts +99 -0
  7. package/dist/encoding.d.ts.map +1 -0
  8. package/dist/encoding.js +25 -0
  9. package/dist/encoding.js.map +1 -0
  10. package/dist/environment.d.ts +132 -0
  11. package/dist/environment.d.ts.map +1 -0
  12. package/dist/environment.js +2 -0
  13. package/dist/environment.js.map +1 -0
  14. package/dist/harness-feedback.d.ts +43 -0
  15. package/dist/harness-feedback.d.ts.map +1 -0
  16. package/dist/harness-feedback.js +2 -0
  17. package/dist/harness-feedback.js.map +1 -0
  18. package/dist/harness-reply.d.ts +63 -0
  19. package/dist/harness-reply.d.ts.map +1 -0
  20. package/dist/harness-reply.js +30 -0
  21. package/dist/harness-reply.js.map +1 -0
  22. package/dist/harness-run-context.d.ts +228 -0
  23. package/dist/harness-run-context.d.ts.map +1 -0
  24. package/dist/harness-run-context.js +35 -0
  25. package/dist/harness-run-context.js.map +1 -0
  26. package/dist/harness-tasks.d.ts +403 -0
  27. package/dist/harness-tasks.d.ts.map +1 -0
  28. package/dist/harness-tasks.js +50 -0
  29. package/dist/harness-tasks.js.map +1 -0
  30. package/dist/harness.d.ts +118 -0
  31. package/dist/harness.d.ts.map +1 -0
  32. package/dist/harness.js +34 -0
  33. package/dist/harness.js.map +1 -0
  34. package/dist/image.d.ts +150 -0
  35. package/dist/image.d.ts.map +1 -0
  36. package/dist/image.js +46 -0
  37. package/dist/image.js.map +1 -0
  38. package/dist/index.d.ts +34 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +12 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/intent.d.ts +35 -0
  43. package/dist/intent.d.ts.map +1 -0
  44. package/dist/intent.js +26 -0
  45. package/dist/intent.js.map +1 -0
  46. package/dist/invoke.d.ts +44 -0
  47. package/dist/invoke.d.ts.map +1 -0
  48. package/dist/invoke.js +9 -0
  49. package/dist/invoke.js.map +1 -0
  50. package/dist/lifecycle.d.ts +27 -0
  51. package/dist/lifecycle.d.ts.map +1 -0
  52. package/dist/lifecycle.js +2 -0
  53. package/dist/lifecycle.js.map +1 -0
  54. package/dist/model.d.ts +57 -0
  55. package/dist/model.d.ts.map +1 -0
  56. package/dist/model.js +32 -0
  57. package/dist/model.js.map +1 -0
  58. package/dist/patch-errors.d.ts +11 -0
  59. package/dist/patch-errors.d.ts.map +1 -0
  60. package/dist/patch-errors.js +9 -0
  61. package/dist/patch-errors.js.map +1 -0
  62. package/dist/patch.d.ts +51 -0
  63. package/dist/patch.d.ts.map +1 -0
  64. package/dist/patch.js +2 -0
  65. package/dist/patch.js.map +1 -0
  66. package/dist/registry.d.ts +24 -0
  67. package/dist/registry.d.ts.map +1 -0
  68. package/dist/registry.js +2 -0
  69. package/dist/registry.js.map +1 -0
  70. package/dist/run.d.ts +35 -0
  71. package/dist/run.d.ts.map +1 -0
  72. package/dist/run.js +2 -0
  73. package/dist/run.js.map +1 -0
  74. package/dist/schema.d.ts +67 -0
  75. package/dist/schema.d.ts.map +1 -0
  76. package/dist/schema.js +2 -0
  77. package/dist/schema.js.map +1 -0
  78. package/dist/schemas/decode.result.json +155 -0
  79. package/dist/schemas/encode.result.json +162 -0
  80. package/dist/schemas/environment.describe.json +210 -0
  81. package/dist/schemas/environment.manifest.json +159 -0
  82. package/dist/schemas/environment.search.json +72 -0
  83. package/dist/schemas/patch.json +104 -0
  84. package/dist/schemas/patch.result.json +260 -0
  85. package/dist/schemas/run.request.json +485 -0
  86. package/dist/schemas/run.result.json +170 -0
  87. package/dist/schemas/validation.result.json +89 -0
  88. package/dist/schemas/workflow.manifest.json +451 -0
  89. package/dist/store.d.ts +30 -0
  90. package/dist/store.d.ts.map +1 -0
  91. package/dist/store.js +2 -0
  92. package/dist/store.js.map +1 -0
  93. package/dist/validation.d.ts +20 -0
  94. package/dist/validation.d.ts.map +1 -0
  95. package/dist/validation.js +2 -0
  96. package/dist/validation.js.map +1 -0
  97. package/dist/version.d.ts +5 -0
  98. package/dist/version.d.ts.map +1 -0
  99. package/dist/version.js +3 -0
  100. package/dist/version.js.map +1 -0
  101. package/dist/workflow.d.ts +55 -0
  102. package/dist/workflow.d.ts.map +1 -0
  103. package/dist/workflow.js +2 -0
  104. package/dist/workflow.js.map +1 -0
  105. package/package.json +33 -0
@@ -0,0 +1,162 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/EncodeResultDocument",
4
+ "definitions": {
5
+ "EncodeResultDocument": {
6
+ "$ref": "#/definitions/EncodeResult%3Cunknown%3E",
7
+ "description": "Concrete encode result for schema generation.",
8
+ "category": "Encoding"
9
+ },
10
+ "EncodeResult<unknown>": {
11
+ "type": "object",
12
+ "properties": {
13
+ "schema": {
14
+ "type": "string",
15
+ "const": "@executioncontrolprotocol.encode.result"
16
+ },
17
+ "version": {
18
+ "$ref": "#/definitions/EcpVersion"
19
+ },
20
+ "success": {
21
+ "type": "boolean"
22
+ },
23
+ "format": {
24
+ "type": "string"
25
+ },
26
+ "sourceSchema": {
27
+ "$ref": "#/definitions/EcpSchema"
28
+ },
29
+ "sourceVersion": {
30
+ "$ref": "#/definitions/EcpVersion"
31
+ },
32
+ "mediaType": {
33
+ "type": "string"
34
+ },
35
+ "result": {},
36
+ "validation": {
37
+ "$ref": "#/definitions/ValidationResult"
38
+ },
39
+ "diagnostics": {
40
+ "type": "array",
41
+ "items": {
42
+ "$ref": "#/definitions/ValidationIssue"
43
+ }
44
+ }
45
+ },
46
+ "required": [
47
+ "schema",
48
+ "version",
49
+ "success",
50
+ "format",
51
+ "diagnostics"
52
+ ],
53
+ "additionalProperties": false,
54
+ "description": "Encode operation result.",
55
+ "category": "Encoding"
56
+ },
57
+ "EcpVersion": {
58
+ "type": "string",
59
+ "description": "ECP semantic version literal.",
60
+ "category": "Common"
61
+ },
62
+ "EcpSchema": {
63
+ "type": "string",
64
+ "enum": [
65
+ "@executioncontrolprotocol.workflow",
66
+ "@executioncontrolprotocol.environment",
67
+ "@executioncontrolprotocol.environment.describe",
68
+ "@executioncontrolprotocol.environment.search",
69
+ "@executioncontrolprotocol.run.request",
70
+ "@executioncontrolprotocol.run.result",
71
+ "@executioncontrolprotocol.run.event",
72
+ "@executioncontrolprotocol.validation.result",
73
+ "@executioncontrolprotocol.patch",
74
+ "@executioncontrolprotocol.patch.result",
75
+ "@executioncontrolprotocol.encode.result",
76
+ "@executioncontrolprotocol.decode.result",
77
+ "@executioncontrolprotocol.intent",
78
+ "@executioncontrolprotocol.harness.reply"
79
+ ],
80
+ "description": "Serialized object schema discriminator.",
81
+ "category": "Common"
82
+ },
83
+ "ValidationResult": {
84
+ "type": "object",
85
+ "properties": {
86
+ "schema": {
87
+ "type": "string",
88
+ "const": "@executioncontrolprotocol.validation.result"
89
+ },
90
+ "version": {
91
+ "$ref": "#/definitions/EcpVersion"
92
+ },
93
+ "valid": {
94
+ "type": "boolean"
95
+ },
96
+ "errors": {
97
+ "type": "array",
98
+ "items": {
99
+ "$ref": "#/definitions/ValidationIssue"
100
+ }
101
+ },
102
+ "warnings": {
103
+ "type": "array",
104
+ "items": {
105
+ "$ref": "#/definitions/ValidationIssue"
106
+ }
107
+ }
108
+ },
109
+ "required": [
110
+ "schema",
111
+ "version",
112
+ "valid",
113
+ "errors",
114
+ "warnings"
115
+ ],
116
+ "additionalProperties": false,
117
+ "description": "Validation result document.",
118
+ "category": "Validation"
119
+ },
120
+ "ValidationIssue": {
121
+ "type": "object",
122
+ "properties": {
123
+ "code": {
124
+ "type": "string"
125
+ },
126
+ "message": {
127
+ "type": "string"
128
+ },
129
+ "path": {
130
+ "type": "string"
131
+ },
132
+ "suggestions": {
133
+ "type": "array",
134
+ "items": {
135
+ "type": "string"
136
+ }
137
+ },
138
+ "severity": {
139
+ "$ref": "#/definitions/ValidationSeverity"
140
+ }
141
+ },
142
+ "required": [
143
+ "code",
144
+ "message"
145
+ ],
146
+ "additionalProperties": false,
147
+ "description": "Single validation issue.",
148
+ "category": "Validation"
149
+ },
150
+ "ValidationSeverity": {
151
+ "type": "string",
152
+ "enum": [
153
+ "error",
154
+ "warning",
155
+ "info"
156
+ ],
157
+ "description": "Validation issue severity.",
158
+ "category": "Validation"
159
+ }
160
+ },
161
+ "$id": "https://ecp.dev/schemas/encode.result.json"
162
+ }
@@ -0,0 +1,210 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/EnvironmentDescriptor",
4
+ "definitions": {
5
+ "EnvironmentDescriptor": {
6
+ "type": "object",
7
+ "properties": {
8
+ "schema": {
9
+ "type": "string",
10
+ "const": "@executioncontrolprotocol.environment.describe"
11
+ },
12
+ "version": {
13
+ "$ref": "#/definitions/EcpVersion"
14
+ },
15
+ "environment": {
16
+ "type": "object",
17
+ "properties": {
18
+ "id": {
19
+ "type": "string"
20
+ },
21
+ "label": {
22
+ "type": "string"
23
+ }
24
+ },
25
+ "required": [
26
+ "id"
27
+ ],
28
+ "additionalProperties": false
29
+ },
30
+ "runtime": {
31
+ "$ref": "#/definitions/RuntimeDescription"
32
+ },
33
+ "extensions": {
34
+ "type": "array",
35
+ "items": {
36
+ "$ref": "#/definitions/ExtensionDescription"
37
+ }
38
+ },
39
+ "capabilities": {
40
+ "type": "array",
41
+ "items": {
42
+ "$ref": "#/definitions/CapabilityDescription"
43
+ }
44
+ },
45
+ "policies": {
46
+ "type": "array",
47
+ "items": {
48
+ "$ref": "#/definitions/PolicyDescription"
49
+ }
50
+ }
51
+ },
52
+ "required": [
53
+ "schema",
54
+ "version",
55
+ "environment",
56
+ "runtime",
57
+ "extensions",
58
+ "capabilities",
59
+ "policies"
60
+ ],
61
+ "additionalProperties": false,
62
+ "description": "Environment descriptor for discovery.",
63
+ "category": "Environment"
64
+ },
65
+ "EcpVersion": {
66
+ "type": "string",
67
+ "description": "ECP semantic version literal.",
68
+ "category": "Common"
69
+ },
70
+ "RuntimeDescription": {
71
+ "type": "object",
72
+ "properties": {
73
+ "id": {
74
+ "type": "string"
75
+ },
76
+ "label": {
77
+ "type": "string"
78
+ },
79
+ "features": {
80
+ "$ref": "#/definitions/RuntimeFeatures"
81
+ }
82
+ },
83
+ "required": [
84
+ "id",
85
+ "features"
86
+ ],
87
+ "additionalProperties": false,
88
+ "description": "Runtime section of descriptor.",
89
+ "category": "Environment"
90
+ },
91
+ "RuntimeFeatures": {
92
+ "type": "object",
93
+ "properties": {
94
+ "durableExecution": {
95
+ "type": "boolean"
96
+ },
97
+ "loops": {
98
+ "type": "boolean"
99
+ },
100
+ "parallel": {
101
+ "type": "boolean"
102
+ },
103
+ "branches": {
104
+ "type": "boolean"
105
+ },
106
+ "pauses": {
107
+ "type": "boolean"
108
+ },
109
+ "cancellation": {
110
+ "type": "boolean"
111
+ },
112
+ "longRunningWorkflows": {
113
+ "type": "boolean"
114
+ }
115
+ },
116
+ "additionalProperties": false,
117
+ "description": "Runtime feature flags for validation.",
118
+ "category": "Environment"
119
+ },
120
+ "ExtensionDescription": {
121
+ "type": "object",
122
+ "properties": {
123
+ "id": {
124
+ "type": "string"
125
+ },
126
+ "label": {
127
+ "type": "string"
128
+ },
129
+ "order": {
130
+ "type": "number"
131
+ },
132
+ "configSchema": {},
133
+ "capabilities": {
134
+ "type": "array",
135
+ "items": {
136
+ "type": "string"
137
+ }
138
+ },
139
+ "supportedRuntimes": {
140
+ "type": "array",
141
+ "items": {
142
+ "type": "string"
143
+ },
144
+ "description": "Runtimes this extension supports when restricted; omitted when universal."
145
+ }
146
+ },
147
+ "required": [
148
+ "id",
149
+ "order",
150
+ "capabilities"
151
+ ],
152
+ "additionalProperties": false,
153
+ "description": "Extension section of descriptor.",
154
+ "category": "Environment"
155
+ },
156
+ "CapabilityDescription": {
157
+ "type": "object",
158
+ "properties": {
159
+ "id": {
160
+ "type": "string"
161
+ },
162
+ "label": {
163
+ "type": "string"
164
+ },
165
+ "extension": {
166
+ "type": "string"
167
+ },
168
+ "inputSchema": {},
169
+ "outputSchema": {},
170
+ "examples": {
171
+ "type": "array",
172
+ "items": {}
173
+ }
174
+ },
175
+ "required": [
176
+ "id",
177
+ "extension"
178
+ ],
179
+ "additionalProperties": false,
180
+ "description": "Capability metadata in descriptor.",
181
+ "category": "Environment"
182
+ },
183
+ "PolicyDescription": {
184
+ "type": "object",
185
+ "properties": {
186
+ "id": {
187
+ "type": "string"
188
+ },
189
+ "label": {
190
+ "type": "string"
191
+ },
192
+ "summary": {
193
+ "type": "string"
194
+ },
195
+ "config": {
196
+ "type": "object",
197
+ "additionalProperties": {}
198
+ },
199
+ "configSchema": {}
200
+ },
201
+ "required": [
202
+ "id"
203
+ ],
204
+ "additionalProperties": false,
205
+ "description": "Policy metadata in descriptor.",
206
+ "category": "Environment"
207
+ }
208
+ },
209
+ "$id": "https://ecp.dev/schemas/environment.describe.json"
210
+ }
@@ -0,0 +1,159 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/EnvironmentManifest",
4
+ "definitions": {
5
+ "EnvironmentManifest": {
6
+ "type": "object",
7
+ "properties": {
8
+ "schema": {
9
+ "type": "string",
10
+ "const": "@executioncontrolprotocol.environment"
11
+ },
12
+ "version": {
13
+ "$ref": "#/definitions/EcpVersion"
14
+ },
15
+ "environment": {
16
+ "type": "object",
17
+ "properties": {
18
+ "id": {
19
+ "type": "string"
20
+ },
21
+ "label": {
22
+ "type": "string"
23
+ }
24
+ },
25
+ "required": [
26
+ "id"
27
+ ],
28
+ "additionalProperties": false
29
+ },
30
+ "runtime": {
31
+ "$ref": "#/definitions/RuntimeBindingManifest"
32
+ },
33
+ "extensions": {
34
+ "type": "array",
35
+ "items": {
36
+ "$ref": "#/definitions/ExtensionBindingManifest"
37
+ }
38
+ },
39
+ "policies": {
40
+ "type": "array",
41
+ "items": {
42
+ "$ref": "#/definitions/PolicyBindingManifest"
43
+ }
44
+ }
45
+ },
46
+ "required": [
47
+ "schema",
48
+ "version",
49
+ "environment"
50
+ ],
51
+ "additionalProperties": false,
52
+ "description": "Environment manifest (bindings only).",
53
+ "category": "Environment"
54
+ },
55
+ "EcpVersion": {
56
+ "type": "string",
57
+ "description": "ECP semantic version literal.",
58
+ "category": "Common"
59
+ },
60
+ "RuntimeBindingManifest": {
61
+ "type": "object",
62
+ "properties": {
63
+ "id": {
64
+ "anyOf": [
65
+ {
66
+ "$ref": "#/definitions/NamespacedId"
67
+ },
68
+ {
69
+ "type": "string"
70
+ }
71
+ ]
72
+ },
73
+ "label": {
74
+ "type": "string"
75
+ },
76
+ "config": {
77
+ "type": "object",
78
+ "additionalProperties": {}
79
+ }
80
+ },
81
+ "required": [
82
+ "id"
83
+ ],
84
+ "additionalProperties": false,
85
+ "description": "Runtime binding in environment manifest.",
86
+ "category": "Environment"
87
+ },
88
+ "NamespacedId": {
89
+ "type": "string",
90
+ "description": "Namespaced definition id (`@namespace/name`).",
91
+ "category": "Common"
92
+ },
93
+ "ExtensionBindingManifest": {
94
+ "type": "object",
95
+ "properties": {
96
+ "id": {
97
+ "anyOf": [
98
+ {
99
+ "$ref": "#/definitions/NamespacedId"
100
+ },
101
+ {
102
+ "type": "string"
103
+ }
104
+ ]
105
+ },
106
+ "label": {
107
+ "type": "string"
108
+ },
109
+ "order": {
110
+ "type": "number"
111
+ },
112
+ "config": {
113
+ "type": "object",
114
+ "additionalProperties": {}
115
+ }
116
+ },
117
+ "required": [
118
+ "id",
119
+ "order"
120
+ ],
121
+ "additionalProperties": false,
122
+ "description": "Extension binding in environment manifest.",
123
+ "category": "Environment"
124
+ },
125
+ "PolicyBindingManifest": {
126
+ "type": "object",
127
+ "properties": {
128
+ "id": {
129
+ "anyOf": [
130
+ {
131
+ "$ref": "#/definitions/NamespacedId"
132
+ },
133
+ {
134
+ "type": "string"
135
+ }
136
+ ]
137
+ },
138
+ "label": {
139
+ "type": "string"
140
+ },
141
+ "order": {
142
+ "type": "number"
143
+ },
144
+ "config": {
145
+ "type": "object",
146
+ "additionalProperties": {}
147
+ }
148
+ },
149
+ "required": [
150
+ "id",
151
+ "order"
152
+ ],
153
+ "additionalProperties": false,
154
+ "description": "Policy binding in environment manifest.",
155
+ "category": "Environment"
156
+ }
157
+ },
158
+ "$id": "https://ecp.dev/schemas/environment.manifest.json"
159
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/SearchResult",
4
+ "definitions": {
5
+ "SearchResult": {
6
+ "type": "object",
7
+ "properties": {
8
+ "schema": {
9
+ "type": "string",
10
+ "const": "@executioncontrolprotocol.environment.search"
11
+ },
12
+ "version": {
13
+ "$ref": "#/definitions/EcpVersion"
14
+ },
15
+ "results": {
16
+ "type": "array",
17
+ "items": {
18
+ "$ref": "#/definitions/SearchResultItem"
19
+ }
20
+ }
21
+ },
22
+ "required": [
23
+ "schema",
24
+ "version",
25
+ "results"
26
+ ],
27
+ "additionalProperties": false,
28
+ "description": "Search response.",
29
+ "category": "Environment"
30
+ },
31
+ "EcpVersion": {
32
+ "type": "string",
33
+ "description": "ECP semantic version literal.",
34
+ "category": "Common"
35
+ },
36
+ "SearchResultItem": {
37
+ "type": "object",
38
+ "properties": {
39
+ "type": {
40
+ "type": "string"
41
+ },
42
+ "id": {
43
+ "type": "string"
44
+ },
45
+ "label": {
46
+ "type": "string"
47
+ },
48
+ "score": {
49
+ "type": "number"
50
+ },
51
+ "reason": {
52
+ "type": "string"
53
+ },
54
+ "inputSchema": {
55
+ "description": "Present when requested via {@link SearchOptions.include } ."
56
+ },
57
+ "outputSchema": {
58
+ "description": "Present when requested via {@link SearchOptions.include } ."
59
+ }
60
+ },
61
+ "required": [
62
+ "type",
63
+ "id",
64
+ "score"
65
+ ],
66
+ "additionalProperties": false,
67
+ "description": "Search result item.",
68
+ "category": "Environment"
69
+ }
70
+ },
71
+ "$id": "https://ecp.dev/schemas/environment.search.json"
72
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/EcpPatchDocumentRecord",
4
+ "definitions": {
5
+ "EcpPatchDocumentRecord": {
6
+ "$ref": "#/definitions/EcpPatchDocument",
7
+ "description": "Concrete patch document for schema generation.",
8
+ "category": "Patch"
9
+ },
10
+ "EcpPatchDocument": {
11
+ "type": "object",
12
+ "properties": {
13
+ "schema": {
14
+ "type": "string",
15
+ "const": "@executioncontrolprotocol.patch"
16
+ },
17
+ "version": {
18
+ "$ref": "#/definitions/EcpVersion"
19
+ },
20
+ "targetSchema": {
21
+ "$ref": "#/definitions/EcpSchema"
22
+ },
23
+ "patches": {
24
+ "type": "array",
25
+ "items": {
26
+ "$ref": "#/definitions/EcpPatchEntry"
27
+ }
28
+ }
29
+ },
30
+ "required": [
31
+ "schema",
32
+ "version",
33
+ "targetSchema",
34
+ "patches"
35
+ ],
36
+ "additionalProperties": false,
37
+ "description": "Canonical patch document.",
38
+ "category": "Patch"
39
+ },
40
+ "EcpVersion": {
41
+ "type": "string",
42
+ "description": "ECP semantic version literal.",
43
+ "category": "Common"
44
+ },
45
+ "EcpSchema": {
46
+ "type": "string",
47
+ "enum": [
48
+ "@executioncontrolprotocol.workflow",
49
+ "@executioncontrolprotocol.environment",
50
+ "@executioncontrolprotocol.environment.describe",
51
+ "@executioncontrolprotocol.environment.search",
52
+ "@executioncontrolprotocol.run.request",
53
+ "@executioncontrolprotocol.run.result",
54
+ "@executioncontrolprotocol.run.event",
55
+ "@executioncontrolprotocol.validation.result",
56
+ "@executioncontrolprotocol.patch",
57
+ "@executioncontrolprotocol.patch.result",
58
+ "@executioncontrolprotocol.encode.result",
59
+ "@executioncontrolprotocol.decode.result",
60
+ "@executioncontrolprotocol.intent",
61
+ "@executioncontrolprotocol.harness.reply"
62
+ ],
63
+ "description": "Serialized object schema discriminator.",
64
+ "category": "Common"
65
+ },
66
+ "EcpPatchEntry": {
67
+ "type": "object",
68
+ "properties": {
69
+ "path": {
70
+ "type": "string",
71
+ "description": "ECP path using `steps[<stepId>]` (not labels)."
72
+ },
73
+ "mode": {
74
+ "$ref": "#/definitions/PatchMode",
75
+ "description": "Defaults to `merge`."
76
+ },
77
+ "value": {
78
+ "description": "Partial or full JSON value."
79
+ },
80
+ "reason": {
81
+ "type": "string",
82
+ "description": "Optional audit reason."
83
+ }
84
+ },
85
+ "required": [
86
+ "path",
87
+ "value"
88
+ ],
89
+ "additionalProperties": false,
90
+ "description": "Single patch entry.",
91
+ "category": "Patch"
92
+ },
93
+ "PatchMode": {
94
+ "type": "string",
95
+ "enum": [
96
+ "merge",
97
+ "replace"
98
+ ],
99
+ "description": "Patch merge mode.",
100
+ "category": "Patch"
101
+ }
102
+ },
103
+ "$id": "https://ecp.dev/schemas/patch.json"
104
+ }