@crvouga/atlas 1.20.0 → 1.22.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.
- package/CHANGELOG.md +15 -1
- package/dist/core/src/cli.d.ts +2 -2
- package/dist/core/src/cli.js +7 -1
- package/dist/critics/src/catalog-client.d.ts +91 -0
- package/dist/critics/src/catalog-client.js +194 -0
- package/dist/critics/src/cli-calibrate.d.ts +4 -0
- package/dist/critics/src/cli-calibrate.js +211 -0
- package/dist/critics/src/cli-common.d.ts +108 -0
- package/dist/critics/src/cli-common.js +155 -0
- package/dist/critics/src/cli-review.d.ts +4 -0
- package/dist/critics/src/cli-review.js +174 -0
- package/dist/critics/src/cli-watch.d.ts +4 -0
- package/dist/critics/src/cli-watch.js +191 -0
- package/dist/critics/src/cli.d.ts +13 -0
- package/dist/critics/src/cli.js +490 -0
- package/dist/critics/src/index.d.ts +3 -0
- package/dist/critics/src/index.js +3 -0
- package/dist/critics/src/judging.d.ts +8 -0
- package/dist/critics/src/llm.d.ts +120 -0
- package/dist/critics/src/llm.js +266 -0
- package/dist/critics/src/marks.d.ts +74 -0
- package/dist/critics/src/marks.js +76 -0
- package/dist/critics/src/registry.d.ts +125 -0
- package/dist/critics/src/registry.js +203 -0
- package/dist/critics/src/spool.d.ts +32 -0
- package/dist/critics/src/spool.js +129 -0
- package/dist/critics/src/uiclip.d.ts +82 -0
- package/dist/critics/src/uiclip.js +167 -0
- package/dist/reports/src/compose.d.ts +23 -1
- package/dist/reports/src/compose.js +29 -19
- package/dist/reports/src/critique-review.d.ts +111 -0
- package/dist/reports/src/critique-review.js +123 -0
- package/dist/reports/src/critique-row.d.ts +24 -0
- package/dist/reports/src/critique-row.js +39 -0
- package/dist/reports/src/evidence-types.d.ts +5 -0
- package/dist/reports/src/layer-merge.js +5 -0
- package/dist/reports/src/report-cli.d.ts +13 -0
- package/dist/reports/src/report-cli.js +6 -4
- package/dist/reports/src/report-index.d.ts +6 -0
- package/dist/reports/src/report-index.js +12 -0
- package/dist/reports/src/ui-catalog-cli.d.ts +10 -0
- package/dist/reports/src/ui-catalog-cli.js +391 -0
- package/dist/reports/src/ui-catalog-diff.d.ts +104 -0
- package/dist/reports/src/ui-catalog-diff.js +130 -0
- package/dist/reports/src/ui-catalog-entries.d.ts +147 -0
- package/dist/reports/src/ui-catalog-entries.js +190 -0
- package/dist/reports/src/ui-catalog-export.d.ts +82 -0
- package/dist/reports/src/ui-catalog-export.js +221 -0
- package/dist/reports/src/ui-catalog-publish.js +2 -2
- package/dist/reports/src/ui-catalog.d.ts +2 -0
- package/dist/reports/src/ui-catalog.js +1 -1
- package/dist/reports/src/ui-state.d.ts +2 -0
- package/dist/reports/src/ui-state.js +2 -2
- package/dist/schema/src/api.d.ts +653 -1
- package/dist/schema/src/api.js +44 -0
- package/dist/schema/src/cli-results.d.ts +991 -1
- package/dist/schema/src/cli-results.js +265 -1
- package/dist/schema/src/critique.d.ts +31 -0
- package/dist/schema/src/critique.js +26 -0
- package/dist/schema/src/server-config.d.ts +3 -3
- package/dist/server/src/app.js +28 -1
- package/dist/server/src/openapi.js +19 -2
- package/docs/agents.md +16 -2
- package/docs/critics.md +273 -9
- package/docs/extending.md +1 -1
- package/docs/reference/cli.md +126 -1
- package/docs/reference/core.md +1 -1
- package/docs/reference/critics.md +1131 -29
- package/docs/reference/http-api.md +40 -0
- package/docs/reference/reports.md +855 -0
- package/docs/reference/schema.md +197 -1
- package/docs/report-contract.md +2 -1
- package/docs/server.md +2 -0
- package/docs/ui-catalog.md +110 -13
- package/docs/ui.md +69 -2
- package/llms-full.txt +636 -26
- package/llms.txt +1 -1
- package/package.json +9 -1
- package/packages/critics/README.md +1 -0
- package/packages/schema/schemas/critic-calibrate-result.schema.json +274 -0
- package/packages/schema/schemas/critic-doctor-result.schema.json +74 -0
- package/packages/schema/schemas/critic-list-result.schema.json +90 -0
- package/packages/schema/schemas/critic-review-result.schema.json +397 -0
- package/packages/schema/schemas/critic-run-result.schema.json +249 -0
- package/packages/schema/schemas/critic-setup-result.schema.json +34 -0
- package/packages/schema/schemas/critic-watch-result.schema.json +211 -0
- package/packages/schema/schemas/critique-mark.schema.json +81 -0
- package/packages/schema/schemas/effective-delta.schema.json +337 -0
- package/packages/schema/schemas/effective-evidence.schema.json +337 -0
- package/packages/schema/schemas/layer-rows.schema.json +337 -0
- package/packages/schema/schemas/ui-catalog-diff-result.schema.json +201 -0
- package/packages/schema/schemas/ui-catalog-export-result.schema.json +83 -0
- package/packages/schema/schemas/ui-catalog-publish-result.schema.json +116 -0
- package/packages/schema/schemas/ui-catalog-status.schema.json +197 -0
- package/packages/server/openapi.json +6755 -4738
- package/packages/visualizer/src/app/AppShell.tsx +3 -1
- package/packages/visualizer/src/app/router.tsx +20 -7
- package/packages/visualizer/src/catalog/Picture.tsx +32 -0
- package/packages/visualizer/src/catalog/UiCatalogCompare.tsx +289 -0
- package/packages/visualizer/src/catalog/UiCatalogPage.tsx +18 -28
- package/packages/visualizer/src/catalog/history.ts +61 -0
- package/packages/visualizer/src/catalog/search.ts +14 -3
- package/packages/visualizer/src/components/Header.tsx +16 -4
- package/packages/visualizer/src/critiques/CritiquesPage.tsx +402 -0
- package/packages/visualizer/src/critiques/FindingOverlay.tsx +50 -0
- package/packages/visualizer/src/critiques/ranking.ts +54 -0
- package/packages/visualizer/src/critiques/search.ts +41 -0
- package/packages/visualizer/src/evidence/applicability-view.tsx +11 -7
- package/packages/visualizer/src/evidence/behaviors-page.tsx +22 -15
- package/packages/visualizer/src/evidence/evidence-context.tsx +2 -1
- package/packages/visualizer/src/explorer/Explorer.tsx +5 -0
- package/packages/visualizer/src/explorer/TestDetail.tsx +4 -1
- package/packages/visualizer/src/explorer/parts.tsx +19 -1
- package/packages/visualizer/src/explorer/playlist.tsx +11 -7
package/llms.txt
CHANGED
|
@@ -48,7 +48,7 @@ Given only the repository link, start at docs/agents.md: install `@crvouga/atlas
|
|
|
48
48
|
- [TypeScript API: detox](https://raw.githubusercontent.com/crvouga/atlas/main/docs/reference/detox.md): The Detox driver for statechart runs of React Native apps.
|
|
49
49
|
- [TypeScript API: runners](https://raw.githubusercontent.com/crvouga/atlas/main/docs/reference/runners.md): Native reporters that upload to the project server.
|
|
50
50
|
- [TypeScript API: vitest](https://raw.githubusercontent.com/crvouga/atlas/main/docs/reference/vitest.md): Run a statechart plan as Vitest tests.
|
|
51
|
-
- [TypeScript API: critics](https://raw.githubusercontent.com/crvouga/atlas/main/docs/reference/critics.md): Automated reviewers of the UI catalog: the critic contract, the runner (caching, retries, rate limits, budgets), credential references and redaction, the `atlas.critique` evidence as layers, calibration and report, warn and gate modes.
|
|
51
|
+
- [TypeScript API: critics](https://raw.githubusercontent.com/crvouga/atlas/main/docs/reference/critics.md): Automated reviewers of the UI catalog: the critic contract, the runner (caching, retries, rate limits, budgets), credential references and redaction, the `atlas.critique` evidence as layers, the catalog client, spooling, calibration and report, warn and gate modes, accept and dismiss marks by reviewers, the `atlas critic` command (list, setup, doctor, run, watch, review, calibrate), and the UIClip and LLM critic adapters (OpenAI-compatible, Anthropic, Gemini).
|
|
52
52
|
- [TypeScript API: playwright-reporter](https://raw.githubusercontent.com/crvouga/atlas/main/docs/reference/playwright-reporter.md): A Playwright Test reporter that streams every test to Atlas with its duration, device labels, steps, retries, videos, screenshots and traces.
|
|
53
53
|
- [JSON Schemas](https://unpkg.com/@crvouga/atlas/packages/schema/schemas/): the layer format, checks file, report status, command results, server responses, server configuration.
|
|
54
54
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crvouga/atlas",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"description": "Atlas: specs of any kind, reported as layered evidence. Publish checks from any runner (JUnit, CTRF, a script), combine them across nodes, branches, environments and backends, gate CI on the result, and run statecharts against the real app.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -89,6 +89,14 @@
|
|
|
89
89
|
"types": "./dist/critics/src/index.d.ts",
|
|
90
90
|
"default": "./dist/critics/src/index.js"
|
|
91
91
|
},
|
|
92
|
+
"./critics/uiclip": {
|
|
93
|
+
"types": "./dist/critics/src/uiclip.d.ts",
|
|
94
|
+
"default": "./dist/critics/src/uiclip.js"
|
|
95
|
+
},
|
|
96
|
+
"./critics/llm": {
|
|
97
|
+
"types": "./dist/critics/src/llm.d.ts",
|
|
98
|
+
"default": "./dist/critics/src/llm.js"
|
|
99
|
+
},
|
|
92
100
|
"./reports/*": {
|
|
93
101
|
"types": "./dist/reports/src/*.d.ts",
|
|
94
102
|
"default": "./dist/reports/src/*.js"
|
|
@@ -13,6 +13,7 @@ Read [the critics guide](../../docs/critics.md). The function-level reference is
|
|
|
13
13
|
| `runner` | `runCritic`: skip what was judged, bounded concurrency, timeout, backoff, budgets, dry run |
|
|
14
14
|
| `critique` | build, read and key critiques; `critiqueLayer`, `readCritique`, `critiqueCurrency` |
|
|
15
15
|
| `publish` | `publishCritiques` |
|
|
16
|
+
| `marks` | `markLayer`, `publishMarks`: a reviewer's accept or dismiss of an opinion, as a layer |
|
|
16
17
|
| `judging` | `relativeVerdict`, `calibrate`, `gateDecision` (report, warn, gate) |
|
|
17
18
|
| `credentials` | references (`env:NAME`), literal-credential refusal, redaction |
|
|
18
19
|
| `scope` | the rule a critic-role token is held to |
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://github.com/crvouga/atlas/schemas/critic-calibrate-result.schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"ok": {
|
|
7
|
+
"type": "boolean",
|
|
8
|
+
"const": true
|
|
9
|
+
},
|
|
10
|
+
"dryRun": {
|
|
11
|
+
"type": "boolean"
|
|
12
|
+
},
|
|
13
|
+
"critic": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"name": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"version": {
|
|
20
|
+
"type": [
|
|
21
|
+
"string",
|
|
22
|
+
"null"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": [
|
|
27
|
+
"name",
|
|
28
|
+
"version"
|
|
29
|
+
],
|
|
30
|
+
"additionalProperties": {}
|
|
31
|
+
},
|
|
32
|
+
"sendsImagesTo": {
|
|
33
|
+
"description": "Where the labelled pictures were (or, on a dry run, would be) sent; null when they stay on this machine or only marks were used",
|
|
34
|
+
"type": [
|
|
35
|
+
"string",
|
|
36
|
+
"null"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"examples": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"files": {
|
|
43
|
+
"type": "integer",
|
|
44
|
+
"minimum": 0,
|
|
45
|
+
"maximum": 9007199254740991,
|
|
46
|
+
"description": "Examples from labelled pictures (on a dry run, the pictures found)"
|
|
47
|
+
},
|
|
48
|
+
"marks": {
|
|
49
|
+
"type": "integer",
|
|
50
|
+
"minimum": 0,
|
|
51
|
+
"maximum": 9007199254740991,
|
|
52
|
+
"description": "Examples from reviewers' whole-opinion marks"
|
|
53
|
+
},
|
|
54
|
+
"used": {
|
|
55
|
+
"type": "integer",
|
|
56
|
+
"minimum": 0,
|
|
57
|
+
"maximum": 9007199254740991
|
|
58
|
+
},
|
|
59
|
+
"skipped": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"properties": {
|
|
64
|
+
"source": {
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
"reason": {
|
|
68
|
+
"type": "string"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"required": [
|
|
72
|
+
"source",
|
|
73
|
+
"reason"
|
|
74
|
+
],
|
|
75
|
+
"additionalProperties": {}
|
|
76
|
+
},
|
|
77
|
+
"description": "Examples left out, and why: no score, a critic failure, disputed marks, a budget"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"required": [
|
|
81
|
+
"files",
|
|
82
|
+
"marks",
|
|
83
|
+
"used",
|
|
84
|
+
"skipped"
|
|
85
|
+
],
|
|
86
|
+
"additionalProperties": {}
|
|
87
|
+
},
|
|
88
|
+
"calibration": {
|
|
89
|
+
"anyOf": [
|
|
90
|
+
{
|
|
91
|
+
"type": "object",
|
|
92
|
+
"properties": {
|
|
93
|
+
"schema": {
|
|
94
|
+
"type": "number",
|
|
95
|
+
"const": 1
|
|
96
|
+
},
|
|
97
|
+
"critic": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"properties": {
|
|
100
|
+
"name": {
|
|
101
|
+
"type": "string"
|
|
102
|
+
},
|
|
103
|
+
"version": {
|
|
104
|
+
"type": "string"
|
|
105
|
+
},
|
|
106
|
+
"model": {
|
|
107
|
+
"type": "object",
|
|
108
|
+
"properties": {
|
|
109
|
+
"id": {
|
|
110
|
+
"type": "string"
|
|
111
|
+
},
|
|
112
|
+
"provider": {
|
|
113
|
+
"type": "string"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"required": [
|
|
117
|
+
"id"
|
|
118
|
+
],
|
|
119
|
+
"additionalProperties": {}
|
|
120
|
+
},
|
|
121
|
+
"parameters": {
|
|
122
|
+
"type": "object",
|
|
123
|
+
"propertyNames": {
|
|
124
|
+
"type": "string"
|
|
125
|
+
},
|
|
126
|
+
"additionalProperties": {}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"required": [
|
|
130
|
+
"name",
|
|
131
|
+
"version"
|
|
132
|
+
],
|
|
133
|
+
"additionalProperties": {}
|
|
134
|
+
},
|
|
135
|
+
"createdAtMs": {
|
|
136
|
+
"type": "number"
|
|
137
|
+
},
|
|
138
|
+
"kinds": {
|
|
139
|
+
"type": "array",
|
|
140
|
+
"items": {
|
|
141
|
+
"type": "object",
|
|
142
|
+
"properties": {
|
|
143
|
+
"stateKind": {
|
|
144
|
+
"type": "string"
|
|
145
|
+
},
|
|
146
|
+
"threshold": {
|
|
147
|
+
"description": "Scores below this are flagged as needing polish; null when the examples cannot tell (one class is missing)",
|
|
148
|
+
"type": [
|
|
149
|
+
"number",
|
|
150
|
+
"null"
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
"samples": {
|
|
154
|
+
"type": "integer",
|
|
155
|
+
"minimum": 0,
|
|
156
|
+
"maximum": 9007199254740991
|
|
157
|
+
},
|
|
158
|
+
"positives": {
|
|
159
|
+
"type": "integer",
|
|
160
|
+
"minimum": 0,
|
|
161
|
+
"maximum": 9007199254740991
|
|
162
|
+
},
|
|
163
|
+
"negatives": {
|
|
164
|
+
"type": "integer",
|
|
165
|
+
"minimum": 0,
|
|
166
|
+
"maximum": 9007199254740991
|
|
167
|
+
},
|
|
168
|
+
"precision": {
|
|
169
|
+
"type": [
|
|
170
|
+
"number",
|
|
171
|
+
"null"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"recall": {
|
|
175
|
+
"type": [
|
|
176
|
+
"number",
|
|
177
|
+
"null"
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
"inSample": {
|
|
181
|
+
"type": "boolean",
|
|
182
|
+
"description": "True when precision and recall are measured on the examples the threshold was chosen on, which flatters them"
|
|
183
|
+
},
|
|
184
|
+
"evaluatedOn": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"enum": [
|
|
187
|
+
"fit",
|
|
188
|
+
"held-out"
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"required": [
|
|
193
|
+
"stateKind",
|
|
194
|
+
"threshold",
|
|
195
|
+
"samples",
|
|
196
|
+
"positives",
|
|
197
|
+
"negatives",
|
|
198
|
+
"precision",
|
|
199
|
+
"recall",
|
|
200
|
+
"inSample",
|
|
201
|
+
"evaluatedOn"
|
|
202
|
+
],
|
|
203
|
+
"additionalProperties": {}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"required": [
|
|
208
|
+
"schema",
|
|
209
|
+
"critic",
|
|
210
|
+
"kinds"
|
|
211
|
+
],
|
|
212
|
+
"additionalProperties": {}
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"type": "null"
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
"description": "The calibration `atlas critic run --calibration` reads; null on a dry run"
|
|
219
|
+
},
|
|
220
|
+
"written": {
|
|
221
|
+
"description": "The file it was written to (`--out`), or null",
|
|
222
|
+
"type": [
|
|
223
|
+
"string",
|
|
224
|
+
"null"
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"gate": {
|
|
228
|
+
"anyOf": [
|
|
229
|
+
{
|
|
230
|
+
"type": "object",
|
|
231
|
+
"properties": {
|
|
232
|
+
"eligible": {
|
|
233
|
+
"type": "boolean",
|
|
234
|
+
"description": "Whether `--mode gate` would accept this calibration"
|
|
235
|
+
},
|
|
236
|
+
"reasons": {
|
|
237
|
+
"type": "array",
|
|
238
|
+
"items": {
|
|
239
|
+
"type": "string"
|
|
240
|
+
},
|
|
241
|
+
"description": "What is missing, per state kind, when it would not"
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"required": [
|
|
245
|
+
"eligible",
|
|
246
|
+
"reasons"
|
|
247
|
+
],
|
|
248
|
+
"additionalProperties": {}
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"type": "null"
|
|
252
|
+
}
|
|
253
|
+
]
|
|
254
|
+
},
|
|
255
|
+
"warnings": {
|
|
256
|
+
"type": "array",
|
|
257
|
+
"items": {
|
|
258
|
+
"type": "string"
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"required": [
|
|
263
|
+
"ok",
|
|
264
|
+
"dryRun",
|
|
265
|
+
"critic",
|
|
266
|
+
"sendsImagesTo",
|
|
267
|
+
"examples",
|
|
268
|
+
"calibration",
|
|
269
|
+
"written",
|
|
270
|
+
"gate",
|
|
271
|
+
"warnings"
|
|
272
|
+
],
|
|
273
|
+
"additionalProperties": {}
|
|
274
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://github.com/crvouga/atlas/schemas/critic-doctor-result.schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"ok": {
|
|
7
|
+
"type": "boolean",
|
|
8
|
+
"description": "False when any check is a `problem` (the exit code is then 1)"
|
|
9
|
+
},
|
|
10
|
+
"server": {
|
|
11
|
+
"description": "The server that was checked, with no secrets",
|
|
12
|
+
"type": [
|
|
13
|
+
"string",
|
|
14
|
+
"null"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"role": {
|
|
18
|
+
"description": "What the token may do: `read`, `critic`, `publish` or `admin`; null when the server could not be asked",
|
|
19
|
+
"type": [
|
|
20
|
+
"string",
|
|
21
|
+
"null"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"open": {
|
|
25
|
+
"description": "True when the server has no tokens, so every caller is an administrator; null when unknown",
|
|
26
|
+
"type": [
|
|
27
|
+
"boolean",
|
|
28
|
+
"null"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"checks": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"properties": {
|
|
36
|
+
"name": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "`server`, `token`, `scope`, `catalog`, `spool`, or `<critic>:<aspect>` such as `uiclip:model-file`"
|
|
39
|
+
},
|
|
40
|
+
"status": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"enum": [
|
|
43
|
+
"ok",
|
|
44
|
+
"warning",
|
|
45
|
+
"problem"
|
|
46
|
+
],
|
|
47
|
+
"description": "`problem` makes the exit code 1; `warning` does not"
|
|
48
|
+
},
|
|
49
|
+
"detail": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
},
|
|
52
|
+
"fix": {
|
|
53
|
+
"description": "What to change, when the status is not `ok`",
|
|
54
|
+
"type": "string"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"required": [
|
|
58
|
+
"name",
|
|
59
|
+
"status",
|
|
60
|
+
"detail"
|
|
61
|
+
],
|
|
62
|
+
"additionalProperties": {}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"required": [
|
|
67
|
+
"ok",
|
|
68
|
+
"server",
|
|
69
|
+
"role",
|
|
70
|
+
"open",
|
|
71
|
+
"checks"
|
|
72
|
+
],
|
|
73
|
+
"additionalProperties": {}
|
|
74
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://github.com/crvouga/atlas/schemas/critic-list-result.schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"ok": {
|
|
7
|
+
"type": "boolean",
|
|
8
|
+
"const": true
|
|
9
|
+
},
|
|
10
|
+
"config": {
|
|
11
|
+
"description": "The configuration file that was read, or null when there is none",
|
|
12
|
+
"type": [
|
|
13
|
+
"string",
|
|
14
|
+
"null"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"critics": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"items": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"properties": {
|
|
22
|
+
"name": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "The name in the configuration; also the producer suffix (`critic.<name>`)"
|
|
25
|
+
},
|
|
26
|
+
"type": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "`uiclip`, `llm`, `module`, or `not-configured` for a built-in critic that has no configuration yet"
|
|
29
|
+
},
|
|
30
|
+
"kind": {
|
|
31
|
+
"description": "`model`, `llm`, `heuristic`… as the critic says; null when it is not configured",
|
|
32
|
+
"type": [
|
|
33
|
+
"string",
|
|
34
|
+
"null"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"version": {
|
|
38
|
+
"type": [
|
|
39
|
+
"string",
|
|
40
|
+
"null"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"status": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"enum": [
|
|
46
|
+
"ready",
|
|
47
|
+
"needs-setup",
|
|
48
|
+
"misconfigured",
|
|
49
|
+
"not-configured"
|
|
50
|
+
],
|
|
51
|
+
"description": "`needs-setup`: run `atlas critic setup <name>`. `misconfigured`: the configuration or a credential reference cannot be used (see `detail`)"
|
|
52
|
+
},
|
|
53
|
+
"sendsImagesTo": {
|
|
54
|
+
"description": "Where images are sent: a host, or null when they never leave this machine. A run that sends images to a third party needs confirmation",
|
|
55
|
+
"type": [
|
|
56
|
+
"string",
|
|
57
|
+
"null"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"model": {
|
|
61
|
+
"type": [
|
|
62
|
+
"string",
|
|
63
|
+
"null"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"detail": {
|
|
67
|
+
"description": "Why it is not ready, and what to do. Never holds a credential",
|
|
68
|
+
"type": "string"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"required": [
|
|
72
|
+
"name",
|
|
73
|
+
"type",
|
|
74
|
+
"kind",
|
|
75
|
+
"version",
|
|
76
|
+
"status",
|
|
77
|
+
"sendsImagesTo",
|
|
78
|
+
"model"
|
|
79
|
+
],
|
|
80
|
+
"additionalProperties": {}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"required": [
|
|
85
|
+
"ok",
|
|
86
|
+
"config",
|
|
87
|
+
"critics"
|
|
88
|
+
],
|
|
89
|
+
"additionalProperties": {}
|
|
90
|
+
}
|