@crvouga/atlas 0.10.0 → 0.10.2
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/CHANGELOG.md +13 -1
- package/dist/reports/src/layer-merge.d.ts +5 -1
- package/dist/reports/src/layer-merge.js +17 -2
- package/dist/schema/src/common.d.ts +2 -2
- package/dist/schema/src/manifest.d.ts +4 -4
- package/dist/schema/src/spec.d.ts +6 -6
- package/docs/agents.md +25 -0
- package/docs/reference/reports.md +2 -0
- package/docs/report-contract.md +3 -0
- package/llms-full.txt +28 -0
- package/package.json +3 -3
- package/packages/schema/schemas/check-detail.schema.json +15 -15
- package/packages/schema/schemas/checks-result.schema.json +2 -2
- package/packages/schema/schemas/command-error.schema.json +4 -4
- package/packages/schema/schemas/doctor-result.schema.json +4 -4
- package/packages/schema/schemas/effective-delta.schema.json +69 -95
- package/packages/schema/schemas/effective-evidence.schema.json +63 -89
- package/packages/schema/schemas/evidence-page.schema.json +41 -59
- package/packages/schema/schemas/init-plan.schema.json +58 -90
- package/packages/schema/schemas/layer-rows.schema.json +17 -29
- package/packages/schema/schemas/layer.schema.json +54 -70
- package/packages/schema/schemas/live-run-start.schema.json +1 -1
- package/packages/schema/schemas/live-run.schema.json +1 -1
- package/packages/schema/schemas/merge-result.schema.json +6 -6
- package/packages/schema/schemas/outline.schema.json +7 -11
- package/packages/schema/schemas/path-record.schema.json +12 -28
- package/packages/schema/schemas/problem.schema.json +9 -9
- package/packages/schema/schemas/publish-checks.schema.json +27 -43
- package/packages/schema/schemas/publish-result.schema.json +16 -24
- package/packages/schema/schemas/ready.schema.json +12 -12
- package/packages/schema/schemas/report-event.schema.json +22 -28
- package/packages/schema/schemas/report-run.schema.json +33 -59
- package/packages/schema/schemas/report-runs.schema.json +24 -38
- package/packages/schema/schemas/report-status.schema.json +30 -54
- package/packages/schema/schemas/run-info.schema.json +9 -21
- package/packages/schema/schemas/run-summary.schema.json +6 -14
- package/packages/schema/schemas/server-config.schema.json +21 -21
- package/packages/schema/schemas/server-editable-settings.schema.json +14 -14
- package/packages/schema/schemas/server-info.schema.json +15 -19
- package/packages/schema/schemas/server-settings-snapshot.schema.json +28 -28
- package/packages/schema/schemas/spec-set.schema.json +16 -24
- package/packages/schema/schemas/state-node.schema.json +16 -16
- package/packages/schema/schemas/state-record.schema.json +5 -9
- package/packages/schema/schemas/store-listing.schema.json +3 -7
- package/packages/schema/schemas/store-write-result.schema.json +2 -2
- package/packages/schema/schemas/stream-result.schema.json +13 -17
- package/packages/schema/schemas/test-catalog.schema.json +109 -151
- package/packages/schema/schemas/test-history.schema.json +72 -136
- package/packages/schema/schemas/timeline-entry.schema.json +2 -2
- package/packages/schema/schemas/transition-record.schema.json +9 -21
- package/packages/server/openapi.json +620 -910
|
@@ -9,83 +9,63 @@
|
|
|
9
9
|
"type": "object",
|
|
10
10
|
"properties": {
|
|
11
11
|
"id": {
|
|
12
|
-
"
|
|
13
|
-
"
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "The layer id: 64 lowercase hex digits, the SHA-256 of its content"
|
|
14
14
|
},
|
|
15
15
|
"backend": {
|
|
16
|
-
"
|
|
17
|
-
"
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "The backend it was read from; the one that sorts first when several hold it"
|
|
18
18
|
},
|
|
19
19
|
"producer": {
|
|
20
|
-
"
|
|
21
|
-
"
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "The suite or tool that made it. Part of the slot"
|
|
22
22
|
},
|
|
23
23
|
"packageDir": {
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"type": "null"
|
|
30
|
-
}
|
|
24
|
+
"type": [
|
|
25
|
+
"string",
|
|
26
|
+
"null"
|
|
31
27
|
]
|
|
32
28
|
},
|
|
33
29
|
"recordedAtMs": {
|
|
34
|
-
"
|
|
35
|
-
"
|
|
30
|
+
"type": "number",
|
|
31
|
+
"description": "When the checks ran, epoch milliseconds. The newest completed result wins its slot"
|
|
36
32
|
},
|
|
37
33
|
"sha": {
|
|
38
34
|
"description": "The commit it was recorded at. Provenance only",
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"type": "null"
|
|
45
|
-
}
|
|
35
|
+
"type": [
|
|
36
|
+
"string",
|
|
37
|
+
"null"
|
|
46
38
|
]
|
|
47
39
|
},
|
|
48
40
|
"branch": {
|
|
49
41
|
"description": "The branch it was recorded on. Provenance only",
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"type": "null"
|
|
56
|
-
}
|
|
42
|
+
"type": [
|
|
43
|
+
"string",
|
|
44
|
+
"null"
|
|
57
45
|
]
|
|
58
46
|
},
|
|
59
47
|
"environment": {
|
|
60
48
|
"description": "The client it checked, such as `ios`. Part of the slot",
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "null"
|
|
67
|
-
}
|
|
49
|
+
"type": [
|
|
50
|
+
"string",
|
|
51
|
+
"null"
|
|
68
52
|
]
|
|
69
53
|
},
|
|
70
54
|
"runUrl": {
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"type": "null"
|
|
77
|
-
}
|
|
55
|
+
"type": [
|
|
56
|
+
"string",
|
|
57
|
+
"null"
|
|
78
58
|
]
|
|
79
59
|
},
|
|
80
60
|
"parameters": {
|
|
81
|
-
"description": "Other choices that make a result its own slot",
|
|
82
61
|
"type": "object",
|
|
83
62
|
"propertyNames": {
|
|
84
63
|
"type": "string"
|
|
85
64
|
},
|
|
86
65
|
"additionalProperties": {
|
|
87
66
|
"type": "string"
|
|
88
|
-
}
|
|
67
|
+
},
|
|
68
|
+
"description": "Other choices that make a result its own slot"
|
|
89
69
|
},
|
|
90
70
|
"freshness": {
|
|
91
71
|
"description": "`modified`: recorded from a checkout with uncommitted changes. `unknown`: origin not captured. Absent: clean",
|
|
@@ -96,13 +76,13 @@
|
|
|
96
76
|
]
|
|
97
77
|
},
|
|
98
78
|
"recording": {
|
|
99
|
-
"description": "Where recorded timelines are read from, or null",
|
|
100
79
|
"anyOf": [
|
|
101
80
|
{},
|
|
102
81
|
{
|
|
103
82
|
"type": "null"
|
|
104
83
|
}
|
|
105
|
-
]
|
|
84
|
+
],
|
|
85
|
+
"description": "Where recorded timelines are read from, or null"
|
|
106
86
|
},
|
|
107
87
|
"live": {
|
|
108
88
|
"type": "boolean"
|
|
@@ -122,7 +102,13 @@
|
|
|
122
102
|
"type": "integer",
|
|
123
103
|
"minimum": 0,
|
|
124
104
|
"maximum": 9007199254740991
|
|
125
|
-
}
|
|
105
|
+
},
|
|
106
|
+
"required": [
|
|
107
|
+
"passed",
|
|
108
|
+
"failed",
|
|
109
|
+
"running",
|
|
110
|
+
"not-run"
|
|
111
|
+
]
|
|
126
112
|
},
|
|
127
113
|
"execution": {
|
|
128
114
|
"type": "string"
|
|
@@ -211,13 +197,9 @@
|
|
|
211
197
|
},
|
|
212
198
|
"cursor": {
|
|
213
199
|
"description": "Pass as `?cursor=` for the next page; null at the end",
|
|
214
|
-
"
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
"type": "null"
|
|
220
|
-
}
|
|
200
|
+
"type": [
|
|
201
|
+
"string",
|
|
202
|
+
"null"
|
|
221
203
|
]
|
|
222
204
|
},
|
|
223
205
|
"notices": {
|
|
@@ -238,12 +220,12 @@
|
|
|
238
220
|
"type": "string"
|
|
239
221
|
},
|
|
240
222
|
"live": {
|
|
241
|
-
"
|
|
242
|
-
"
|
|
223
|
+
"type": "boolean",
|
|
224
|
+
"description": "Always false on a server"
|
|
243
225
|
},
|
|
244
226
|
"available": {
|
|
245
|
-
"
|
|
246
|
-
"
|
|
227
|
+
"type": "boolean",
|
|
228
|
+
"description": "False when the backend could not be read; its results are then unknown, never passed"
|
|
247
229
|
}
|
|
248
230
|
},
|
|
249
231
|
"required": [
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
6
6
|
"ok": {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
7
|
+
"type": "boolean",
|
|
8
|
+
"description": "False when `verification` was asked for and failed (the exit code is then 1)"
|
|
9
9
|
},
|
|
10
10
|
"directory": {
|
|
11
11
|
"type": "string"
|
|
@@ -14,13 +14,9 @@
|
|
|
14
14
|
"type": "object",
|
|
15
15
|
"properties": {
|
|
16
16
|
"name": {
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"type": "null"
|
|
23
|
-
}
|
|
17
|
+
"type": [
|
|
18
|
+
"string",
|
|
19
|
+
"null"
|
|
24
20
|
]
|
|
25
21
|
},
|
|
26
22
|
"packageManager": {
|
|
@@ -57,18 +53,14 @@
|
|
|
57
53
|
"type": "object",
|
|
58
54
|
"properties": {
|
|
59
55
|
"branch": {
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"type": "null"
|
|
66
|
-
}
|
|
56
|
+
"type": [
|
|
57
|
+
"string",
|
|
58
|
+
"null"
|
|
67
59
|
]
|
|
68
60
|
},
|
|
69
61
|
"defaultBranch": {
|
|
70
|
-
"
|
|
71
|
-
"
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "`main` unless the repository says otherwise"
|
|
72
64
|
}
|
|
73
65
|
},
|
|
74
66
|
"required": [
|
|
@@ -90,13 +82,9 @@
|
|
|
90
82
|
"type": "object",
|
|
91
83
|
"properties": {
|
|
92
84
|
"url": {
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"type": "null"
|
|
99
|
-
}
|
|
85
|
+
"type": [
|
|
86
|
+
"string",
|
|
87
|
+
"null"
|
|
100
88
|
]
|
|
101
89
|
},
|
|
102
90
|
"tokenEnv": {
|
|
@@ -115,17 +103,12 @@
|
|
|
115
103
|
"properties": {
|
|
116
104
|
"directory": {
|
|
117
105
|
"description": "The folder to pass as `--specs`, relative to the project; null when no spec files were found",
|
|
118
|
-
"
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"type": "null"
|
|
124
|
-
}
|
|
106
|
+
"type": [
|
|
107
|
+
"string",
|
|
108
|
+
"null"
|
|
125
109
|
]
|
|
126
110
|
},
|
|
127
111
|
"kinds": {
|
|
128
|
-
"description": "Spec files by kind: `gherkin`, `quint`, `dmn`, `alloy`, `openslo`, `scxml`, …",
|
|
129
112
|
"type": "object",
|
|
130
113
|
"propertyNames": {
|
|
131
114
|
"type": "string"
|
|
@@ -134,7 +117,8 @@
|
|
|
134
117
|
"type": "integer",
|
|
135
118
|
"minimum": 0,
|
|
136
119
|
"maximum": 9007199254740991
|
|
137
|
-
}
|
|
120
|
+
},
|
|
121
|
+
"description": "Spec files by kind: `gherkin`, `quint`, `dmn`, `alloy`, `openslo`, `scxml`, …"
|
|
138
122
|
}
|
|
139
123
|
},
|
|
140
124
|
"required": [
|
|
@@ -149,66 +133,58 @@
|
|
|
149
133
|
"type": "object",
|
|
150
134
|
"properties": {
|
|
151
135
|
"id": {
|
|
152
|
-
"
|
|
153
|
-
"
|
|
136
|
+
"type": "string",
|
|
137
|
+
"description": "A stable name for the suite, lowercase: `vitest`, `playwright`, `pytest`, … Used as the default `--producer`"
|
|
154
138
|
},
|
|
155
139
|
"runner": {
|
|
156
|
-
"
|
|
157
|
-
"
|
|
140
|
+
"type": "string",
|
|
141
|
+
"description": "What runs it: `vitest`, `jest`, `playwright`, `bun-test`, `mocha`, `cypress`, `cucumber`, `pytest`, `go-test`, `atlas-statecharts`"
|
|
158
142
|
},
|
|
159
143
|
"evidence": {
|
|
160
|
-
"
|
|
161
|
-
"
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "Where the detection came from, such as `package.json devDependencies: vitest`"
|
|
162
146
|
},
|
|
163
147
|
"run": {
|
|
164
|
-
"
|
|
165
|
-
"
|
|
148
|
+
"type": "string",
|
|
149
|
+
"description": "A command that runs the suite and writes its results to `output`. Its exit code is the suite's; publish regardless"
|
|
166
150
|
},
|
|
167
151
|
"output": {
|
|
168
|
-
"
|
|
169
|
-
"
|
|
152
|
+
"type": "string",
|
|
153
|
+
"description": "The file the results are written to"
|
|
170
154
|
},
|
|
171
155
|
"format": {
|
|
172
|
-
"description": "How `publish` should read `output`: `--junit`, `--ctrf` or `--manifest`",
|
|
173
156
|
"type": "string",
|
|
174
157
|
"enum": [
|
|
175
158
|
"junit",
|
|
176
159
|
"ctrf",
|
|
177
160
|
"manifest"
|
|
178
|
-
]
|
|
161
|
+
],
|
|
162
|
+
"description": "How `publish` should read `output`: `--junit`, `--ctrf` or `--manifest`"
|
|
179
163
|
},
|
|
180
164
|
"environment": {
|
|
181
165
|
"description": "The client the suite checks (`desktop-web`, `ios`, …) when that is known; null when it should be chosen",
|
|
182
|
-
"
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
"type": "null"
|
|
188
|
-
}
|
|
166
|
+
"type": [
|
|
167
|
+
"string",
|
|
168
|
+
"null"
|
|
189
169
|
]
|
|
190
170
|
},
|
|
191
171
|
"publish": {
|
|
192
|
-
"
|
|
193
|
-
"
|
|
172
|
+
"type": "string",
|
|
173
|
+
"description": "The command that sends `output` to the server"
|
|
194
174
|
},
|
|
195
175
|
"stream": {
|
|
196
176
|
"description": "The command that streams checks as they finish, when the runner can print them as JSON lines; else null",
|
|
197
|
-
"
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
"type": "null"
|
|
203
|
-
}
|
|
177
|
+
"type": [
|
|
178
|
+
"string",
|
|
179
|
+
"null"
|
|
204
180
|
]
|
|
205
181
|
},
|
|
206
182
|
"prerequisites": {
|
|
207
|
-
"description": "What must be installed or configured first, as commands (`bun add -d jest-junit`)",
|
|
208
183
|
"type": "array",
|
|
209
184
|
"items": {
|
|
210
185
|
"type": "string"
|
|
211
|
-
}
|
|
186
|
+
},
|
|
187
|
+
"description": "What must be installed or configured first, as commands (`bun add -d jest-junit`)"
|
|
212
188
|
}
|
|
213
189
|
},
|
|
214
190
|
"required": [
|
|
@@ -232,24 +208,24 @@
|
|
|
232
208
|
"type": "object",
|
|
233
209
|
"properties": {
|
|
234
210
|
"path": {
|
|
235
|
-
"
|
|
236
|
-
"
|
|
211
|
+
"type": "string",
|
|
212
|
+
"description": "Relative to the project directory"
|
|
237
213
|
},
|
|
238
214
|
"action": {
|
|
239
|
-
"description": "`unchanged`: already what it would write, so applying changes nothing",
|
|
240
215
|
"type": "string",
|
|
241
216
|
"enum": [
|
|
242
217
|
"create",
|
|
243
218
|
"update",
|
|
244
219
|
"unchanged"
|
|
245
|
-
]
|
|
220
|
+
],
|
|
221
|
+
"description": "`unchanged`: already what it would write, so applying changes nothing"
|
|
246
222
|
},
|
|
247
223
|
"purpose": {
|
|
248
224
|
"type": "string"
|
|
249
225
|
},
|
|
250
226
|
"content": {
|
|
251
|
-
"
|
|
252
|
-
"
|
|
227
|
+
"type": "string",
|
|
228
|
+
"description": "The whole file as it would be written"
|
|
253
229
|
}
|
|
254
230
|
},
|
|
255
231
|
"required": [
|
|
@@ -262,14 +238,13 @@
|
|
|
262
238
|
}
|
|
263
239
|
},
|
|
264
240
|
"written": {
|
|
265
|
-
"description": "The files `--write` wrote; empty without it",
|
|
266
241
|
"type": "array",
|
|
267
242
|
"items": {
|
|
268
243
|
"type": "string"
|
|
269
|
-
}
|
|
244
|
+
},
|
|
245
|
+
"description": "The files `--write` wrote; empty without it"
|
|
270
246
|
},
|
|
271
247
|
"verification": {
|
|
272
|
-
"description": "Present with `--verify` (and a server): whether the server answers, and what the token in `ATLAS_TOKEN` may do",
|
|
273
248
|
"anyOf": [
|
|
274
249
|
{
|
|
275
250
|
"type": "object",
|
|
@@ -278,26 +253,18 @@
|
|
|
278
253
|
"type": "boolean"
|
|
279
254
|
},
|
|
280
255
|
"role": {
|
|
281
|
-
"
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
},
|
|
285
|
-
{
|
|
286
|
-
"type": "null"
|
|
287
|
-
}
|
|
256
|
+
"type": [
|
|
257
|
+
"string",
|
|
258
|
+
"null"
|
|
288
259
|
]
|
|
289
260
|
},
|
|
290
261
|
"canPublish": {
|
|
291
262
|
"type": "boolean"
|
|
292
263
|
},
|
|
293
264
|
"error": {
|
|
294
|
-
"
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
},
|
|
298
|
-
{
|
|
299
|
-
"type": "null"
|
|
300
|
-
}
|
|
265
|
+
"type": [
|
|
266
|
+
"string",
|
|
267
|
+
"null"
|
|
301
268
|
]
|
|
302
269
|
}
|
|
303
270
|
},
|
|
@@ -312,14 +279,15 @@
|
|
|
312
279
|
{
|
|
313
280
|
"type": "null"
|
|
314
281
|
}
|
|
315
|
-
]
|
|
282
|
+
],
|
|
283
|
+
"description": "Present with `--verify` (and a server): whether the server answers, and what the token in `ATLAS_TOKEN` may do"
|
|
316
284
|
},
|
|
317
285
|
"nextSteps": {
|
|
318
|
-
"description": "What to do next, in order, as plain instructions an agent can follow",
|
|
319
286
|
"type": "array",
|
|
320
287
|
"items": {
|
|
321
288
|
"type": "string"
|
|
322
|
-
}
|
|
289
|
+
},
|
|
290
|
+
"description": "What to do next, in order, as plain instructions an agent can follow"
|
|
323
291
|
},
|
|
324
292
|
"warnings": {
|
|
325
293
|
"type": "array",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"type": "object",
|
|
13
13
|
"properties": {
|
|
14
14
|
"kind": {
|
|
15
|
-
"
|
|
16
|
-
"
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "The kind of the part holding the check. Part of the slot"
|
|
17
17
|
},
|
|
18
18
|
"id": {
|
|
19
|
-
"
|
|
20
|
-
"
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "The check id. Part of the slot"
|
|
21
21
|
},
|
|
22
22
|
"title": {
|
|
23
23
|
"type": "string"
|
|
@@ -33,18 +33,14 @@
|
|
|
33
33
|
},
|
|
34
34
|
"specPath": {
|
|
35
35
|
"description": "The spec the check belongs to, `specs/<path>`, or null",
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"type": "null"
|
|
42
|
-
}
|
|
36
|
+
"type": [
|
|
37
|
+
"string",
|
|
38
|
+
"null"
|
|
43
39
|
]
|
|
44
40
|
},
|
|
45
41
|
"detail": {
|
|
46
|
-
"
|
|
47
|
-
"
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Why it has this status; empty when there is nothing to add"
|
|
48
44
|
},
|
|
49
45
|
"measurements": {
|
|
50
46
|
"type": "array",
|
|
@@ -73,13 +69,9 @@
|
|
|
73
69
|
}
|
|
74
70
|
},
|
|
75
71
|
"testId": {
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"type": "null"
|
|
82
|
-
}
|
|
72
|
+
"type": [
|
|
73
|
+
"string",
|
|
74
|
+
"null"
|
|
83
75
|
]
|
|
84
76
|
},
|
|
85
77
|
"variant": {
|
|
@@ -92,13 +84,9 @@
|
|
|
92
84
|
}
|
|
93
85
|
},
|
|
94
86
|
"durationMs": {
|
|
95
|
-
"
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"type": "null"
|
|
101
|
-
}
|
|
87
|
+
"type": [
|
|
88
|
+
"number",
|
|
89
|
+
"null"
|
|
102
90
|
]
|
|
103
91
|
},
|
|
104
92
|
"evidence": {
|
|
@@ -180,14 +168,14 @@
|
|
|
180
168
|
}
|
|
181
169
|
},
|
|
182
170
|
"fingerprints": {
|
|
183
|
-
"description": "Spec path to the fingerprint the layer recorded for it",
|
|
184
171
|
"type": "object",
|
|
185
172
|
"propertyNames": {
|
|
186
173
|
"type": "string"
|
|
187
174
|
},
|
|
188
175
|
"additionalProperties": {
|
|
189
176
|
"type": "string"
|
|
190
|
-
}
|
|
177
|
+
},
|
|
178
|
+
"description": "Spec path to the fingerprint the layer recorded for it"
|
|
191
179
|
}
|
|
192
180
|
},
|
|
193
181
|
"required": [
|