@mitre/hdf-schema 3.6.0-rc.5 → 3.7.0-rc.1
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/README.md +10 -4
- package/dist/go/hdf.go +30 -12
- package/dist/index.js +28 -28
- package/dist/schemas/hdf-amendments.schema.json +100 -69
- package/dist/schemas/hdf-baseline.schema.json +105 -74
- package/dist/schemas/hdf-comparison.schema.json +201 -176
- package/dist/schemas/hdf-evidence-package.schema.json +105 -75
- package/dist/schemas/hdf-plan.schema.json +106 -75
- package/dist/schemas/hdf-requirement-change-event.schema.json +191 -169
- package/dist/schemas/hdf-results.schema.json +176 -150
- package/dist/schemas/hdf-system.schema.json +123 -96
- package/dist/ts/hdf.d.ts +24 -2
- package/dist/ts/hdf.ts +24 -2
- package/package.json +2 -2
package/dist/ts/hdf.d.ts
CHANGED
|
@@ -48,6 +48,18 @@ export interface HDFResults {
|
|
|
48
48
|
* results. May be a relative path, absolute URI, or fragment identifier.
|
|
49
49
|
*/
|
|
50
50
|
planRef?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Hash of this results document as it stood immediately before the most recent amendment
|
|
53
|
+
* application. Written by `hdf amend apply` when it applies at least one override; an apply
|
|
54
|
+
* that matches nothing leaves the document untouched. The hash covers the results file's
|
|
55
|
+
* RAW BYTES as read, not a canonical form, so reproducing it requires the byte-identical
|
|
56
|
+
* original — reformatting or re-serializing the source changes the value. Only the most
|
|
57
|
+
* recent pre-application state is recorded: applying amendments to an already-amended
|
|
58
|
+
* document REPLACES this value, so it is a single link back one step, not a growing chain.
|
|
59
|
+
* Distinct from the `previousChecksum` inside an override, which chains amendments to each
|
|
60
|
+
* other and is computed over a canonical JSON form.
|
|
61
|
+
*/
|
|
62
|
+
preAmendmentChecksum?: Checksum;
|
|
51
63
|
/**
|
|
52
64
|
* Optional reference to automated remediation resources (Ansible playbooks, Terraform
|
|
53
65
|
* scripts, etc.) for fixing failing requirements found in this assessment.
|
|
@@ -1004,7 +1016,9 @@ export interface Evidence {
|
|
|
1004
1016
|
capturedBy?: Identity;
|
|
1005
1017
|
/**
|
|
1006
1018
|
* The evidence content. For screenshots/files: base64-encoded data or URL. For code/logs:
|
|
1007
|
-
* the raw text. For URLs: the URL string.
|
|
1019
|
+
* the raw text. For URLs: the URL string. Must not be empty. When encoding is 'base64',
|
|
1020
|
+
* data must be bare base64 matching ^[0-9A-Za-z+/]+={0,2}$ (OSCAL's Base64Datatype): no
|
|
1021
|
+
* data: URI prefix, URL, or line breaks.
|
|
1008
1022
|
*/
|
|
1009
1023
|
data: string;
|
|
1010
1024
|
/**
|
|
@@ -1012,7 +1026,8 @@ export interface Evidence {
|
|
|
1012
1026
|
*/
|
|
1013
1027
|
description?: string;
|
|
1014
1028
|
/**
|
|
1015
|
-
* Encoding used for the data. Example: 'base64', 'utf-8'.
|
|
1029
|
+
* Encoding used for the data. Example: 'base64', 'utf-8'. The value 'base64' (exactly,
|
|
1030
|
+
* lowercase) requires data to be bare base64.
|
|
1016
1031
|
*/
|
|
1017
1032
|
encoding?: string;
|
|
1018
1033
|
/**
|
|
@@ -1147,6 +1162,13 @@ export interface Milestone {
|
|
|
1147
1162
|
* Current status of this milestone.
|
|
1148
1163
|
*/
|
|
1149
1164
|
status: MilestoneStatus;
|
|
1165
|
+
/**
|
|
1166
|
+
* Short single-line label for this milestone, suitable where a consumer needs a title (for
|
|
1167
|
+
* example an OSCAL POA&M remediation or task). No line breaks, and no leading or trailing
|
|
1168
|
+
* whitespace. The description remains the full text of the milestone; the title does not
|
|
1169
|
+
* replace it.
|
|
1170
|
+
*/
|
|
1171
|
+
title?: string;
|
|
1150
1172
|
[property: string]: any;
|
|
1151
1173
|
}
|
|
1152
1174
|
/**
|
package/dist/ts/hdf.ts
CHANGED
|
@@ -46,6 +46,18 @@ export interface HDFResults {
|
|
|
46
46
|
* results. May be a relative path, absolute URI, or fragment identifier.
|
|
47
47
|
*/
|
|
48
48
|
planRef?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Hash of this results document as it stood immediately before the most recent amendment
|
|
51
|
+
* application. Written by `hdf amend apply` when it applies at least one override; an apply
|
|
52
|
+
* that matches nothing leaves the document untouched. The hash covers the results file's
|
|
53
|
+
* RAW BYTES as read, not a canonical form, so reproducing it requires the byte-identical
|
|
54
|
+
* original — reformatting or re-serializing the source changes the value. Only the most
|
|
55
|
+
* recent pre-application state is recorded: applying amendments to an already-amended
|
|
56
|
+
* document REPLACES this value, so it is a single link back one step, not a growing chain.
|
|
57
|
+
* Distinct from the `previousChecksum` inside an override, which chains amendments to each
|
|
58
|
+
* other and is computed over a canonical JSON form.
|
|
59
|
+
*/
|
|
60
|
+
preAmendmentChecksum?: Checksum;
|
|
49
61
|
/**
|
|
50
62
|
* Optional reference to automated remediation resources (Ansible playbooks, Terraform
|
|
51
63
|
* scripts, etc.) for fixing failing requirements found in this assessment.
|
|
@@ -1020,7 +1032,9 @@ export interface Evidence {
|
|
|
1020
1032
|
capturedBy?: Identity;
|
|
1021
1033
|
/**
|
|
1022
1034
|
* The evidence content. For screenshots/files: base64-encoded data or URL. For code/logs:
|
|
1023
|
-
* the raw text. For URLs: the URL string.
|
|
1035
|
+
* the raw text. For URLs: the URL string. Must not be empty. When encoding is 'base64',
|
|
1036
|
+
* data must be bare base64 matching ^[0-9A-Za-z+/]+={0,2}$ (OSCAL's Base64Datatype): no
|
|
1037
|
+
* data: URI prefix, URL, or line breaks.
|
|
1024
1038
|
*/
|
|
1025
1039
|
data: string;
|
|
1026
1040
|
/**
|
|
@@ -1028,7 +1042,8 @@ export interface Evidence {
|
|
|
1028
1042
|
*/
|
|
1029
1043
|
description?: string;
|
|
1030
1044
|
/**
|
|
1031
|
-
* Encoding used for the data. Example: 'base64', 'utf-8'.
|
|
1045
|
+
* Encoding used for the data. Example: 'base64', 'utf-8'. The value 'base64' (exactly,
|
|
1046
|
+
* lowercase) requires data to be bare base64.
|
|
1032
1047
|
*/
|
|
1033
1048
|
encoding?: string;
|
|
1034
1049
|
/**
|
|
@@ -1167,6 +1182,13 @@ export interface Milestone {
|
|
|
1167
1182
|
* Current status of this milestone.
|
|
1168
1183
|
*/
|
|
1169
1184
|
status: MilestoneStatus;
|
|
1185
|
+
/**
|
|
1186
|
+
* Short single-line label for this milestone, suitable where a consumer needs a title (for
|
|
1187
|
+
* example an OSCAL POA&M remediation or task). No line breaks, and no leading or trailing
|
|
1188
|
+
* whitespace. The description remains the full text of the milestone; the title does not
|
|
1189
|
+
* replace it.
|
|
1190
|
+
*/
|
|
1191
|
+
title?: string;
|
|
1170
1192
|
[property: string]: any;
|
|
1171
1193
|
}
|
|
1172
1194
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mitre/hdf-schema",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0-rc.1",
|
|
4
4
|
"description": "JSON schemas and multi-language type definitions for Heimdall Data Format (HDF)",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"ajv": "^8.17.0",
|
|
67
67
|
"ajv-formats": "^3.0.0",
|
|
68
|
-
"@mitre/hdf-utilities": "^3.
|
|
68
|
+
"@mitre/hdf-utilities": "^3.7.0-rc.1"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@hyperjump/json-schema": "^1.17.2",
|