@apexops/contracts 0.10.0-next.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 (101) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/artifacts.d.ts +60 -0
  3. package/dist/artifacts.d.ts.map +1 -0
  4. package/dist/artifacts.js +46 -0
  5. package/dist/artifacts.js.map +1 -0
  6. package/dist/common.d.ts +22 -0
  7. package/dist/common.d.ts.map +1 -0
  8. package/dist/common.js +23 -0
  9. package/dist/common.js.map +1 -0
  10. package/dist/deployment.d.ts +100 -0
  11. package/dist/deployment.d.ts.map +1 -0
  12. package/dist/deployment.js +108 -0
  13. package/dist/deployment.js.map +1 -0
  14. package/dist/evidence.d.ts +256 -0
  15. package/dist/evidence.d.ts.map +1 -0
  16. package/dist/evidence.js +382 -0
  17. package/dist/evidence.js.map +1 -0
  18. package/dist/export-schemas.d.ts +2 -0
  19. package/dist/export-schemas.d.ts.map +1 -0
  20. package/dist/export-schemas.js +53 -0
  21. package/dist/export-schemas.js.map +1 -0
  22. package/dist/improvement.d.ts +92 -0
  23. package/dist/improvement.d.ts.map +1 -0
  24. package/dist/improvement.js +119 -0
  25. package/dist/improvement.js.map +1 -0
  26. package/dist/index.d.ts +983 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +128 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/onboarding.d.ts +15 -0
  31. package/dist/onboarding.d.ts.map +1 -0
  32. package/dist/onboarding.js +17 -0
  33. package/dist/onboarding.js.map +1 -0
  34. package/dist/pricing.d.ts +130 -0
  35. package/dist/pricing.d.ts.map +1 -0
  36. package/dist/pricing.js +355 -0
  37. package/dist/pricing.js.map +1 -0
  38. package/dist/runtime.d.ts +284 -0
  39. package/dist/runtime.d.ts.map +1 -0
  40. package/dist/runtime.js +196 -0
  41. package/dist/runtime.js.map +1 -0
  42. package/dist/schema-export.d.ts +15 -0
  43. package/dist/schema-export.d.ts.map +1 -0
  44. package/dist/schema-export.js +49 -0
  45. package/dist/schema-export.js.map +1 -0
  46. package/dist/targets.d.ts +359 -0
  47. package/dist/targets.d.ts.map +1 -0
  48. package/dist/targets.js +394 -0
  49. package/dist/targets.js.map +1 -0
  50. package/dist/test/contracts.test.d.ts +2 -0
  51. package/dist/test/contracts.test.d.ts.map +1 -0
  52. package/dist/test/contracts.test.js +867 -0
  53. package/dist/test/contracts.test.js.map +1 -0
  54. package/package.json +45 -0
  55. package/schemas/approval-evidence-v1.schema.json +172 -0
  56. package/schemas/architecture-availability-v1.schema.json +155 -0
  57. package/schemas/architecture-v1.schema.json +107 -0
  58. package/schemas/capability-pack-manifest-v1.schema.json +59 -0
  59. package/schemas/client-outcome-comparison-v1.schema.json +195 -0
  60. package/schemas/client-outcome-qualification-v1.schema.json +190 -0
  61. package/schemas/client-outcome-v1.schema.json +513 -0
  62. package/schemas/contract-metadata.json +232 -0
  63. package/schemas/cost-estimate-v1.schema.json +165 -0
  64. package/schemas/customization-lock-v1.schema.json +63 -0
  65. package/schemas/deployment-preview-v1.schema.json +180 -0
  66. package/schemas/diagnosis-v1.schema.json +111 -0
  67. package/schemas/environment-inputs-v1.schema.json +106 -0
  68. package/schemas/event-v1.schema.json +74 -0
  69. package/schemas/evidence-manifest-v1.schema.json +111 -0
  70. package/schemas/execution-plan-attestation-v1.schema.json +145 -0
  71. package/schemas/governance-constraints-v1.schema.json +103 -0
  72. package/schemas/iac-binding-v1.schema.json +74 -0
  73. package/schemas/iac-handoff-v1.schema.json +83 -0
  74. package/schemas/implementation-intent-v1.schema.json +89 -0
  75. package/schemas/improvement-decision-v1.schema.json +62 -0
  76. package/schemas/improvement-observation-v1.schema.json +166 -0
  77. package/schemas/improvement-policy-v1.schema.json +204 -0
  78. package/schemas/improvement-proposal-v1.schema.json +144 -0
  79. package/schemas/improvement-recurrence-v1.schema.json +130 -0
  80. package/schemas/input-request-v1.schema.json +242 -0
  81. package/schemas/input-submission-v1.schema.json +205 -0
  82. package/schemas/live-qualification-v1.schema.json +295 -0
  83. package/schemas/logical-resource-manifest-v1.schema.json +123 -0
  84. package/schemas/onboarding-config-v1.schema.json +59 -0
  85. package/schemas/operation-record-v1.schema.json +112 -0
  86. package/schemas/policy-property-map-v1.schema.json +108 -0
  87. package/schemas/pricing-evidence-v1.schema.json +628 -0
  88. package/schemas/pricing-request-v1.schema.json +424 -0
  89. package/schemas/project-config-v1.schema.json +43 -0
  90. package/schemas/quality-measurements-v1.schema.json +54 -0
  91. package/schemas/quality-report-v1.schema.json +114 -0
  92. package/schemas/quality-scorecard-v1.schema.json +109 -0
  93. package/schemas/requirements-v1.schema.json +108 -0
  94. package/schemas/resource-inventory-v1.schema.json +74 -0
  95. package/schemas/review-findings-v1.schema.json +126 -0
  96. package/schemas/run-config-v1.schema.json +133 -0
  97. package/schemas/runtime-bundle-lock-v1.schema.json +59 -0
  98. package/schemas/scenario-v1.schema.json +55 -0
  99. package/schemas/task-envelope-v1.schema.json +122 -0
  100. package/schemas/telemetry-v1.schema.json +117 -0
  101. package/schemas/workload-decision-manifest-v1.schema.json +320 -0
@@ -0,0 +1,232 @@
1
+ {
2
+ "https://schemas.apexops.dev/approval-evidence-v1.json": {
3
+ "compatibility": "strict-v1",
4
+ "maxBytes": 32768,
5
+ "sensitivity": "confidential"
6
+ },
7
+ "https://schemas.apexops.dev/architecture-availability-v1.json": {
8
+ "compatibility": "strict-v1",
9
+ "maxBytes": 131072,
10
+ "sensitivity": "confidential"
11
+ },
12
+ "https://schemas.apexops.dev/architecture-v1.json": {
13
+ "compatibility": "strict-v1",
14
+ "maxBytes": 1048576,
15
+ "sensitivity": "internal"
16
+ },
17
+ "https://schemas.apexops.dev/capability-pack-manifest-v1.json": {
18
+ "compatibility": "strict-v1",
19
+ "maxBytes": 262144,
20
+ "sensitivity": "public"
21
+ },
22
+ "https://schemas.apexops.dev/client-outcome-comparison-v1.json": {
23
+ "compatibility": "strict-v1",
24
+ "maxBytes": 65536,
25
+ "sensitivity": "confidential"
26
+ },
27
+ "https://schemas.apexops.dev/client-outcome-qualification-v1.json": {
28
+ "compatibility": "strict-v1",
29
+ "maxBytes": 65536,
30
+ "sensitivity": "confidential"
31
+ },
32
+ "https://schemas.apexops.dev/client-outcome-v1.json": {
33
+ "compatibility": "strict-v1",
34
+ "maxBytes": 262144,
35
+ "sensitivity": "confidential"
36
+ },
37
+ "https://schemas.apexops.dev/cost-estimate-v1.json": {
38
+ "compatibility": "strict-v1",
39
+ "maxBytes": 1048576,
40
+ "sensitivity": "confidential"
41
+ },
42
+ "https://schemas.apexops.dev/customization-lock-v1.json": {
43
+ "compatibility": "strict-v1",
44
+ "maxBytes": 262144,
45
+ "sensitivity": "public"
46
+ },
47
+ "https://schemas.apexops.dev/deployment-preview-v1.json": {
48
+ "compatibility": "strict-v1",
49
+ "maxBytes": 2097152,
50
+ "sensitivity": "confidential"
51
+ },
52
+ "https://schemas.apexops.dev/diagnosis-v1.json": {
53
+ "compatibility": "strict-v1",
54
+ "maxBytes": 1048576,
55
+ "sensitivity": "confidential"
56
+ },
57
+ "https://schemas.apexops.dev/environment-inputs-v1.json": {
58
+ "compatibility": "strict-v1",
59
+ "maxBytes": 524288,
60
+ "sensitivity": "restricted"
61
+ },
62
+ "https://schemas.apexops.dev/event-v1.json": {
63
+ "compatibility": "strict-v1",
64
+ "maxBytes": 262144,
65
+ "sensitivity": "confidential"
66
+ },
67
+ "https://schemas.apexops.dev/evidence-manifest-v1.json": {
68
+ "compatibility": "strict-v1",
69
+ "maxBytes": 524288,
70
+ "sensitivity": "confidential"
71
+ },
72
+ "https://schemas.apexops.dev/execution-plan-attestation-v1.json": {
73
+ "compatibility": "strict-v1",
74
+ "maxBytes": 131072,
75
+ "sensitivity": "restricted"
76
+ },
77
+ "https://schemas.apexops.dev/governance-constraints-v1.json": {
78
+ "compatibility": "strict-v1",
79
+ "maxBytes": 131072,
80
+ "sensitivity": "confidential"
81
+ },
82
+ "https://schemas.apexops.dev/iac-binding-v1.json": {
83
+ "compatibility": "strict-v1",
84
+ "maxBytes": 524288,
85
+ "sensitivity": "confidential"
86
+ },
87
+ "https://schemas.apexops.dev/iac-handoff-v1.json": {
88
+ "compatibility": "strict-v1",
89
+ "maxBytes": 131072,
90
+ "sensitivity": "confidential"
91
+ },
92
+ "https://schemas.apexops.dev/implementation-intent-v1.json": {
93
+ "compatibility": "strict-v1",
94
+ "maxBytes": 524288,
95
+ "sensitivity": "internal"
96
+ },
97
+ "https://schemas.apexops.dev/improvement-decision-v1.json": {
98
+ "compatibility": "strict-v1",
99
+ "maxBytes": 16384,
100
+ "sensitivity": "confidential"
101
+ },
102
+ "https://schemas.apexops.dev/improvement-observation-v1.json": {
103
+ "compatibility": "strict-v1",
104
+ "maxBytes": 16384,
105
+ "sensitivity": "confidential"
106
+ },
107
+ "https://schemas.apexops.dev/improvement-policy-v1.json": {
108
+ "compatibility": "strict-v1",
109
+ "maxBytes": 16384,
110
+ "sensitivity": "public"
111
+ },
112
+ "https://schemas.apexops.dev/improvement-proposal-v1.json": {
113
+ "compatibility": "strict-v1",
114
+ "maxBytes": 65536,
115
+ "sensitivity": "confidential"
116
+ },
117
+ "https://schemas.apexops.dev/improvement-recurrence-v1.json": {
118
+ "compatibility": "strict-v1",
119
+ "maxBytes": 65536,
120
+ "sensitivity": "confidential"
121
+ },
122
+ "https://schemas.apexops.dev/input-request-v1.json": {
123
+ "compatibility": "strict-v1",
124
+ "maxBytes": 65536,
125
+ "sensitivity": "confidential"
126
+ },
127
+ "https://schemas.apexops.dev/input-submission-v1.json": {
128
+ "compatibility": "strict-v1",
129
+ "maxBytes": 65536,
130
+ "sensitivity": "confidential"
131
+ },
132
+ "https://schemas.apexops.dev/live-qualification-v1.json": {
133
+ "compatibility": "strict-v1",
134
+ "maxBytes": 1048576,
135
+ "sensitivity": "confidential"
136
+ },
137
+ "https://schemas.apexops.dev/logical-resource-manifest-v1.json": {
138
+ "compatibility": "strict-v1",
139
+ "maxBytes": 2097152,
140
+ "sensitivity": "internal"
141
+ },
142
+ "https://schemas.apexops.dev/onboarding-config-v1.json": {
143
+ "compatibility": "strict-v1",
144
+ "maxBytes": 16384,
145
+ "sensitivity": "public"
146
+ },
147
+ "https://schemas.apexops.dev/operation-record-v1.json": {
148
+ "compatibility": "strict-v1",
149
+ "maxBytes": 65536,
150
+ "sensitivity": "confidential"
151
+ },
152
+ "https://schemas.apexops.dev/policy-property-map-v1.json": {
153
+ "compatibility": "strict-v1",
154
+ "maxBytes": 2097152,
155
+ "sensitivity": "confidential"
156
+ },
157
+ "https://schemas.apexops.dev/pricing-evidence-v1.json": {
158
+ "compatibility": "strict-v1",
159
+ "maxBytes": 524288,
160
+ "sensitivity": "restricted"
161
+ },
162
+ "https://schemas.apexops.dev/pricing-request-v1.json": {
163
+ "compatibility": "strict-v1",
164
+ "maxBytes": 65536,
165
+ "sensitivity": "confidential"
166
+ },
167
+ "https://schemas.apexops.dev/project-config-v1.json": {
168
+ "compatibility": "strict-v1",
169
+ "maxBytes": 16384,
170
+ "sensitivity": "internal"
171
+ },
172
+ "https://schemas.apexops.dev/quality-measurements-v1.json": {
173
+ "compatibility": "strict-v1",
174
+ "maxBytes": 1048576,
175
+ "sensitivity": "confidential"
176
+ },
177
+ "https://schemas.apexops.dev/quality-report-v1.json": {
178
+ "compatibility": "strict-v1",
179
+ "maxBytes": 1048576,
180
+ "sensitivity": "confidential"
181
+ },
182
+ "https://schemas.apexops.dev/quality-scorecard-v1.json": {
183
+ "compatibility": "strict-v1",
184
+ "maxBytes": 262144,
185
+ "sensitivity": "public"
186
+ },
187
+ "https://schemas.apexops.dev/requirements-v1.json": {
188
+ "compatibility": "strict-v1",
189
+ "maxBytes": 524288,
190
+ "sensitivity": "confidential"
191
+ },
192
+ "https://schemas.apexops.dev/resource-inventory-v1.json": {
193
+ "compatibility": "strict-v1",
194
+ "maxBytes": 4194304,
195
+ "sensitivity": "confidential"
196
+ },
197
+ "https://schemas.apexops.dev/review-findings-v1.json": {
198
+ "compatibility": "strict-v1",
199
+ "maxBytes": 1048576,
200
+ "sensitivity": "confidential"
201
+ },
202
+ "https://schemas.apexops.dev/run-config-v1.json": {
203
+ "compatibility": "strict-v1",
204
+ "maxBytes": 65536,
205
+ "sensitivity": "confidential"
206
+ },
207
+ "https://schemas.apexops.dev/runtime-bundle-lock-v1.json": {
208
+ "compatibility": "strict-v1",
209
+ "maxBytes": 32768,
210
+ "sensitivity": "internal"
211
+ },
212
+ "https://schemas.apexops.dev/scenario-v1.json": {
213
+ "compatibility": "strict-v1",
214
+ "maxBytes": 524288,
215
+ "sensitivity": "public"
216
+ },
217
+ "https://schemas.apexops.dev/task-envelope-v1.json": {
218
+ "compatibility": "strict-v1",
219
+ "maxBytes": 131072,
220
+ "sensitivity": "confidential"
221
+ },
222
+ "https://schemas.apexops.dev/telemetry-v1.json": {
223
+ "compatibility": "strict-v1",
224
+ "maxBytes": 65536,
225
+ "sensitivity": "confidential"
226
+ },
227
+ "https://schemas.apexops.dev/workload-decision-manifest-v1.json": {
228
+ "compatibility": "strict-v1",
229
+ "maxBytes": 524288,
230
+ "sensitivity": "confidential"
231
+ }
232
+ }
@@ -0,0 +1,165 @@
1
+ {
2
+ "$id": "https://schemas.apexops.dev/cost-estimate-v1.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "assumptions": {
7
+ "items": {
8
+ "minLength": 1,
9
+ "type": "string"
10
+ },
11
+ "type": "array"
12
+ },
13
+ "currency": {
14
+ "pattern": "^[A-Z]{3}$",
15
+ "type": "string"
16
+ },
17
+ "lineItems": {
18
+ "items": {
19
+ "additionalProperties": false,
20
+ "properties": {
21
+ "id": {
22
+ "minLength": 1,
23
+ "type": "string"
24
+ },
25
+ "monthlyCost": {
26
+ "minimum": 0,
27
+ "type": "number"
28
+ },
29
+ "quantity": {
30
+ "minimum": 0,
31
+ "type": "number"
32
+ },
33
+ "service": {
34
+ "minLength": 1,
35
+ "type": "string"
36
+ },
37
+ "sku": {
38
+ "minLength": 1,
39
+ "type": "string"
40
+ },
41
+ "source": {
42
+ "additionalProperties": false,
43
+ "properties": {
44
+ "priceId": {
45
+ "minLength": 1,
46
+ "type": "string"
47
+ },
48
+ "provider": {
49
+ "minLength": 1,
50
+ "type": "string"
51
+ },
52
+ "retrievedAt": {
53
+ "format": "date-time",
54
+ "type": "string"
55
+ },
56
+ "uri": {
57
+ "minLength": 1,
58
+ "type": "string"
59
+ }
60
+ },
61
+ "required": [
62
+ "provider",
63
+ "uri",
64
+ "retrievedAt"
65
+ ],
66
+ "type": "object"
67
+ },
68
+ "uncertainty": {
69
+ "additionalProperties": false,
70
+ "properties": {
71
+ "basis": {
72
+ "minLength": 1,
73
+ "type": "string"
74
+ },
75
+ "confidence": {
76
+ "anyOf": [
77
+ {
78
+ "const": "low",
79
+ "type": "string"
80
+ },
81
+ {
82
+ "const": "medium",
83
+ "type": "string"
84
+ },
85
+ {
86
+ "const": "high",
87
+ "type": "string"
88
+ }
89
+ ]
90
+ },
91
+ "lowerMonthlyCost": {
92
+ "minimum": 0,
93
+ "type": "number"
94
+ },
95
+ "upperMonthlyCost": {
96
+ "minimum": 0,
97
+ "type": "number"
98
+ }
99
+ },
100
+ "required": [
101
+ "lowerMonthlyCost",
102
+ "upperMonthlyCost",
103
+ "confidence",
104
+ "basis"
105
+ ],
106
+ "type": "object"
107
+ },
108
+ "unitPrice": {
109
+ "minimum": 0,
110
+ "type": "number"
111
+ },
112
+ "unitsPerMonth": {
113
+ "minimum": 0,
114
+ "type": "number"
115
+ }
116
+ },
117
+ "required": [
118
+ "id",
119
+ "service",
120
+ "sku",
121
+ "quantity",
122
+ "unitPrice",
123
+ "unitsPerMonth",
124
+ "monthlyCost",
125
+ "source",
126
+ "uncertainty"
127
+ ],
128
+ "type": "object"
129
+ },
130
+ "minItems": 1,
131
+ "type": "array"
132
+ },
133
+ "pricingDate": {
134
+ "format": "date",
135
+ "type": "string"
136
+ },
137
+ "projectId": {
138
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
139
+ "type": "string"
140
+ },
141
+ "runId": {
142
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$",
143
+ "type": "string"
144
+ },
145
+ "schemaVersion": {
146
+ "const": "1.0.0",
147
+ "type": "string"
148
+ },
149
+ "totalMonthlyCost": {
150
+ "minimum": 0,
151
+ "type": "number"
152
+ }
153
+ },
154
+ "required": [
155
+ "schemaVersion",
156
+ "projectId",
157
+ "runId",
158
+ "currency",
159
+ "pricingDate",
160
+ "lineItems",
161
+ "totalMonthlyCost",
162
+ "assumptions"
163
+ ],
164
+ "type": "object"
165
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "$id": "https://schemas.apexops.dev/customization-lock-v1.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "capabilityPacks": {
7
+ "items": {
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "digest": {
11
+ "pattern": "^[0-9a-f]{64}$",
12
+ "type": "string"
13
+ },
14
+ "id": {
15
+ "minLength": 1,
16
+ "type": "string"
17
+ },
18
+ "version": {
19
+ "minLength": 1,
20
+ "type": "string"
21
+ }
22
+ },
23
+ "required": [
24
+ "id",
25
+ "version",
26
+ "digest"
27
+ ],
28
+ "type": "object"
29
+ },
30
+ "type": "array",
31
+ "uniqueItems": true
32
+ },
33
+ "customizationId": {
34
+ "minLength": 1,
35
+ "type": "string"
36
+ },
37
+ "lockedAt": {
38
+ "format": "date-time",
39
+ "type": "string"
40
+ },
41
+ "manifestHash": {
42
+ "pattern": "^[0-9a-f]{64}$",
43
+ "type": "string"
44
+ },
45
+ "schemaVersion": {
46
+ "const": "1.0.0",
47
+ "type": "string"
48
+ },
49
+ "version": {
50
+ "minLength": 1,
51
+ "type": "string"
52
+ }
53
+ },
54
+ "required": [
55
+ "schemaVersion",
56
+ "customizationId",
57
+ "version",
58
+ "manifestHash",
59
+ "capabilityPacks",
60
+ "lockedAt"
61
+ ],
62
+ "type": "object"
63
+ }
@@ -0,0 +1,180 @@
1
+ {
2
+ "$id": "https://schemas.apexops.dev/deployment-preview-v1.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "artifactHash": {
7
+ "pattern": "^[0-9a-f]{64}$",
8
+ "type": "string"
9
+ },
10
+ "blockers": {
11
+ "items": {
12
+ "minLength": 1,
13
+ "type": "string"
14
+ },
15
+ "type": "array"
16
+ },
17
+ "changes": {
18
+ "items": {
19
+ "additionalProperties": false,
20
+ "properties": {
21
+ "action": {
22
+ "anyOf": [
23
+ {
24
+ "const": "create",
25
+ "type": "string"
26
+ },
27
+ {
28
+ "const": "update",
29
+ "type": "string"
30
+ },
31
+ {
32
+ "const": "delete",
33
+ "type": "string"
34
+ },
35
+ {
36
+ "const": "replace",
37
+ "type": "string"
38
+ },
39
+ {
40
+ "const": "no-op",
41
+ "type": "string"
42
+ },
43
+ {
44
+ "const": "unknown",
45
+ "type": "string"
46
+ }
47
+ ]
48
+ },
49
+ "details": {
50
+ "minLength": 1,
51
+ "type": "string"
52
+ },
53
+ "material": {
54
+ "type": "boolean"
55
+ },
56
+ "resourceId": {
57
+ "minLength": 1,
58
+ "type": "string"
59
+ }
60
+ },
61
+ "required": [
62
+ "resourceId",
63
+ "action",
64
+ "material"
65
+ ],
66
+ "type": "object"
67
+ },
68
+ "type": "array"
69
+ },
70
+ "commit": {
71
+ "pattern": "^[0-9a-f]{64}$",
72
+ "type": "string"
73
+ },
74
+ "createdAt": {
75
+ "format": "date-time",
76
+ "type": "string"
77
+ },
78
+ "dependencyRevision": {
79
+ "pattern": "^[0-9a-f]{64}$",
80
+ "type": "string"
81
+ },
82
+ "environment": {
83
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
84
+ "type": "string"
85
+ },
86
+ "expiresAt": {
87
+ "format": "date-time",
88
+ "type": "string"
89
+ },
90
+ "iacHash": {
91
+ "pattern": "^[0-9a-f]{64}$",
92
+ "type": "string"
93
+ },
94
+ "inputHash": {
95
+ "pattern": "^[0-9a-f]{64}$",
96
+ "type": "string"
97
+ },
98
+ "operation": {
99
+ "anyOf": [
100
+ {
101
+ "const": "apply",
102
+ "type": "string"
103
+ },
104
+ {
105
+ "const": "destroy",
106
+ "type": "string"
107
+ }
108
+ ]
109
+ },
110
+ "ownerEpoch": {
111
+ "minimum": 1,
112
+ "type": "integer"
113
+ },
114
+ "policyHash": {
115
+ "pattern": "^[0-9a-f]{64}$",
116
+ "type": "string"
117
+ },
118
+ "previewHash": {
119
+ "pattern": "^[0-9a-f]{64}$",
120
+ "type": "string"
121
+ },
122
+ "projectId": {
123
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
124
+ "type": "string"
125
+ },
126
+ "runId": {
127
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$",
128
+ "type": "string"
129
+ },
130
+ "schemaVersion": {
131
+ "const": "1.0.0",
132
+ "type": "string"
133
+ },
134
+ "stateLineage": {
135
+ "minLength": 1,
136
+ "type": "string"
137
+ },
138
+ "stateSerial": {
139
+ "minimum": 0,
140
+ "type": "integer"
141
+ },
142
+ "target": {
143
+ "minLength": 1,
144
+ "type": "string"
145
+ },
146
+ "track": {
147
+ "anyOf": [
148
+ {
149
+ "const": "bicep",
150
+ "type": "string"
151
+ },
152
+ {
153
+ "const": "terraform",
154
+ "type": "string"
155
+ }
156
+ ]
157
+ }
158
+ },
159
+ "required": [
160
+ "schemaVersion",
161
+ "projectId",
162
+ "runId",
163
+ "environment",
164
+ "track",
165
+ "operation",
166
+ "target",
167
+ "commit",
168
+ "dependencyRevision",
169
+ "ownerEpoch",
170
+ "inputHash",
171
+ "iacHash",
172
+ "policyHash",
173
+ "changes",
174
+ "blockers",
175
+ "createdAt",
176
+ "expiresAt",
177
+ "previewHash"
178
+ ],
179
+ "type": "object"
180
+ }