@kryptosai/mcp-observatory 0.22.0 → 0.24.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 (62) hide show
  1. package/COMMERCIAL.md +5 -3
  2. package/PRIVACY.md +5 -2
  3. package/README.md +28 -13
  4. package/dist/src/cli.js +1 -1
  5. package/dist/src/cli.js.map +1 -1
  6. package/dist/src/commands/init-ci.d.ts +3 -0
  7. package/dist/src/commands/init-ci.js +26 -9
  8. package/dist/src/commands/init-ci.js.map +1 -1
  9. package/dist/src/commercial.js +2 -2
  10. package/dist/src/commercial.js.map +1 -1
  11. package/dist/src/reporters/pr-comment.js +6 -2
  12. package/dist/src/reporters/pr-comment.js.map +1 -1
  13. package/dist/src/score.js +1 -1
  14. package/dist/src/score.js.map +1 -1
  15. package/dist/src/validate.js +58 -3
  16. package/dist/src/validate.js.map +1 -1
  17. package/docs/certification-campaign-template.md +10 -10
  18. package/docs/certification-distribution.md +16 -0
  19. package/docs/directory-listing-copy.md +12 -5
  20. package/docs/distribution-launch.md +5 -5
  21. package/docs/enterprise-outreach-playbook.md +2 -2
  22. package/docs/mcp-lock-files.md +63 -0
  23. package/docs/mcp-safety-report-latest.md +16 -7
  24. package/docs/mcp-security-field-guide.md +97 -0
  25. package/docs/mcp-server-safety-index.md +61 -0
  26. package/docs/methodology.md +90 -0
  27. package/docs/metrics-dashboard.md +105 -0
  28. package/docs/paid-pilot-offer.md +74 -0
  29. package/docs/project-case-study.md +77 -43
  30. package/docs/proof.md +42 -12
  31. package/docs/public-post-drafts.md +98 -0
  32. package/docs/publish-readiness.md +6 -4
  33. package/docs/reference-evaluations.md +134 -0
  34. package/docs/safety-index/artifacts/antv-chart-server.json +2765 -0
  35. package/docs/safety-index/artifacts/antv-chart-server.md +156 -0
  36. package/docs/safety-index/artifacts/browsermcp-server.json +416 -0
  37. package/docs/safety-index/artifacts/browsermcp-server.md +163 -0
  38. package/docs/safety-index/artifacts/context7-server.json +286 -0
  39. package/docs/safety-index/artifacts/context7-server.md +163 -0
  40. package/docs/safety-index/artifacts/everything-server.json +482 -0
  41. package/docs/safety-index/artifacts/everything-server.md +163 -0
  42. package/docs/safety-index/artifacts/executeautomation-playwright-server.json +955 -0
  43. package/docs/safety-index/artifacts/executeautomation-playwright-server.md +163 -0
  44. package/docs/safety-index/artifacts/filesystem-server.json +583 -0
  45. package/docs/safety-index/artifacts/filesystem-server.md +156 -0
  46. package/docs/safety-index/artifacts/memory-server.json +469 -0
  47. package/docs/safety-index/artifacts/memory-server.md +156 -0
  48. package/docs/safety-index/artifacts/opentofu-server.json +387 -0
  49. package/docs/safety-index/artifacts/opentofu-server.md +163 -0
  50. package/docs/safety-index/artifacts/playwright-mcp-server.json +919 -0
  51. package/docs/safety-index/artifacts/playwright-mcp-server.md +156 -0
  52. package/docs/safety-index/artifacts/promptopia-server.json +442 -0
  53. package/docs/safety-index/artifacts/promptopia-server.md +156 -0
  54. package/docs/safety-index/artifacts/puppeteer-server.json +377 -0
  55. package/docs/safety-index/artifacts/puppeteer-server.md +163 -0
  56. package/docs/safety-index/artifacts/ref-tools-server.json +262 -0
  57. package/docs/safety-index/artifacts/ref-tools-server.md +156 -0
  58. package/docs/safety-index/artifacts/sequential-thinking-server.json +286 -0
  59. package/docs/safety-index/artifacts/sequential-thinking-server.md +156 -0
  60. package/docs/safety-index/maintainer-note-template.md +25 -0
  61. package/docs/safety-index/targets.json +192 -0
  62. package/package.json +17 -13
@@ -0,0 +1,156 @@
1
+ # MCP Observatory Run Report
2
+
3
+ Generated at 2026-06-24T02:07:32.035Z
4
+
5
+ ## Target and Environment Metadata
6
+
7
+ - Target: `playwright-mcp-server`
8
+ - Adapter: `local-process`
9
+ - Command: `npx -y @playwright/mcp`
10
+ - Server: `Playwright 1.61.0-alpha-1781023400000`
11
+ - Platform: `darwin 25.5.0`
12
+ - Node: `v22.22.1`
13
+
14
+ ## Executive Summary
15
+
16
+ **Health Score: 65/100 (D)**
17
+
18
+ | Dimension | Score | Weight |
19
+ | --- | --- | --- |
20
+ | Protocol Compliance | 100/100 | 30% |
21
+ | Schema Quality | 60/100 | 20% |
22
+ | Security | 0/100 | 20% |
23
+ | Reliability | 67/100 | 20% |
24
+ | Performance | 100/100 | 10% |
25
+
26
+ | Gate | Total | Pass | Fail | Partial | Unsupported | Flaky | Skipped |
27
+ | --- | --- | --- | --- | --- | --- | --- | --- |
28
+ | fail | 7 | 2 | 2 | 1 | 2 | 0 | 0 |
29
+
30
+ ## At a Glance
31
+
32
+ - Safety verdict: **Blocked** — One or more checks can break agent dependence and should be fixed before production use.
33
+ - Top risks: schema-quality: Found 4 quality finding(s) across 23 item(s): 0 warnings, 4 info.; security: Found 6 security finding(s): 2 high, 2 medium, 2 low.; security-lite: Found 6 security finding(s): 2 high, 2 medium, 2 low.
34
+ - Regression/schema drift: Run `mcp-observatory diff <previous-run.json> <current-run.json>` to classify regressions and schema drift.
35
+ - Failing checks: security-lite, security
36
+ - Partial or flaky checks: schema-quality
37
+ - Skipped checks: none
38
+ - Unsupported checks: prompts, resources
39
+ - Suggested next step: Start with the failing checks: security-lite, security.
40
+ - CI next step: `Add CI: npx @kryptosai/mcp-observatory init-ci --all --command "npx -y <server-package>"`
41
+
42
+ ## Regressions and Recoveries
43
+
44
+ _Use the `diff` command against another run artifact to classify regressions and recoveries over time._
45
+
46
+ ## Full Capability Status Table
47
+
48
+ | Focus | Check | Status | Duration (ms) | Message |
49
+ | --- | --- | --- | --- | --- |
50
+ | healthy | conformance | pass | 3062.42 | All 7 conformance checks passed. |
51
+ | healthy | tools | pass | 59.04 | Advertised capability responded with the minimal expected shape (23 items). |
52
+ | review | schema-quality | partial | 7.27 | Found 4 quality finding(s) across 23 item(s): 0 warnings, 4 info. |
53
+ | confirm intent | prompts | unsupported | 0.01 | Prompts are not advertised by the target. |
54
+ | confirm intent | resources | unsupported | 0.01 | Resources are not advertised by the target. |
55
+ | act now | security | fail | 25.69 | Found 6 security finding(s): 2 high, 2 medium, 2 low. |
56
+ | act now | security-lite | fail | 0.25 | Found 6 security finding(s): 2 high, 2 medium, 2 low. |
57
+
58
+ ## Evidence Snippets
59
+
60
+ ### conformance — pass
61
+
62
+ Summary: All 7 conformance checks passed.
63
+
64
+ - Endpoint: `conformance/check`
65
+ - Advertised: `true`
66
+ - Responded: `true`
67
+ - Minimal shape present: `true`
68
+ - Item count: `7`
69
+ - Identifiers: none
70
+ - Diagnostics: [pass] capabilities-present: Server returned capabilities object., [pass] server-info: Server provided initialization info., [pass] tools-capability-match: tools/list returned 23 tool(s). (+4 more)
71
+
72
+ ### tools — pass
73
+
74
+ Summary: Advertised capability responded with the minimal expected shape (23 items).
75
+
76
+ - Endpoint: `tools/list`
77
+ - Advertised: `true`
78
+ - Responded: `true`
79
+ - Minimal shape present: `true`
80
+ - Item count: `23`
81
+ - Identifiers: browser_close, browser_resize, browser_console_messages, browser_handle_dialog, browser_evaluate (+18 more)
82
+ - Diagnostics: none
83
+
84
+ ### schema-quality — partial
85
+
86
+ Summary: Found 4 quality finding(s) across 23 item(s): 0 warnings, 4 info.
87
+
88
+ - Endpoint: `schema-quality/scan`
89
+ - Advertised: `true`
90
+ - Responded: `true`
91
+ - Minimal shape present: `true`
92
+ - Item count: `4`
93
+ - Identifiers: browser_file_upload, browser_run_code_unsafe, browser_snapshot, browser_wait_for
94
+ - Diagnostics: [info] tool "browser_file_upload": Has properties but no 'required' array declared, [info] tool "browser_run_code_unsafe": Has properties but no 'required' array declared, [info] tool "browser_snapshot": Has properties but no 'required' array declared (+1 more)
95
+
96
+ ### prompts — unsupported
97
+
98
+ Summary: Prompts are not advertised by the target.
99
+
100
+ - Endpoint: `prompts/list`
101
+ - Advertised: `false`
102
+ - Responded: `false`
103
+ - Minimal shape present: `false`
104
+ - Item count: `0`
105
+ - Identifiers: none
106
+ - Diagnostics: none
107
+
108
+ ### resources — unsupported
109
+
110
+ Summary: Resources are not advertised by the target.
111
+
112
+ - Endpoint: `resources/list | resources/templates/list`
113
+ - Advertised: `false`
114
+ - Responded: `false`
115
+ - Minimal shape present: `false`
116
+ - Item count: `0`
117
+ - Identifiers: none
118
+ - Diagnostics: none
119
+
120
+ ### security — fail
121
+
122
+ Summary: Found 6 security finding(s): 2 high, 2 medium, 2 low.
123
+
124
+ - Endpoint: `security/scan`
125
+ - Advertised: `true`
126
+ - Responded: `true`
127
+ - Minimal shape present: `true`
128
+ - Item count: `6`
129
+ - Identifiers: browser_close, browser_evaluate, browser_navigate_back, browser_run_code_unsafe
130
+ - Diagnostics: [low] Tool "browser_close" has an empty schema but is marked as destructive., [high] Tool "browser_evaluate" name suggests command execution capability., [medium] Tool "browser_evaluate" accepts filesystem paths and has destructive capabilities. (+3 more)
131
+
132
+ ### security-lite — fail
133
+
134
+ Summary: Found 6 security finding(s): 2 high, 2 medium, 2 low.
135
+
136
+ - Endpoint: `security/scan-lite`
137
+ - Advertised: `true`
138
+ - Responded: `true`
139
+ - Minimal shape present: `true`
140
+ - Item count: `6`
141
+ - Identifiers: browser_close, browser_evaluate, browser_navigate_back, browser_run_code_unsafe
142
+ - Diagnostics: [low] Tool "browser_close" has an empty schema but is marked as destructive., [high] Tool "browser_evaluate" name suggests command execution capability., [medium] Tool "browser_evaluate" accepts filesystem paths and has destructive capabilities. (+3 more)
143
+
144
+ ## Reproduction Commands
145
+
146
+ ```bash
147
+ npm run cli -- run --target <path-to-target-config.json>
148
+ npm run cli -- report --run <path-to-run-artifact.json> --format markdown
149
+ ```
150
+
151
+ ## Artifact Provenance
152
+
153
+ - Artifact type: `run`
154
+ - Schema version: `1.0.0`
155
+ - Run ID: `run_2026-06-24T020732035Z_b86ac3a9`
156
+ - Gate: `fail`
@@ -0,0 +1,442 @@
1
+ {
2
+ "artifactType": "run",
3
+ "schemaVersion": "1.0.0",
4
+ "gate": "pass",
5
+ "runId": "run_2026-06-24T020725699Z_7cde9d35",
6
+ "createdAt": "2026-06-24T02:07:25.699Z",
7
+ "toolVersion": "0.24.0",
8
+ "target": {
9
+ "targetId": "promptopia-server",
10
+ "adapter": "local-process",
11
+ "command": "npx",
12
+ "args": [
13
+ "-y",
14
+ "promptopia-mcp"
15
+ ],
16
+ "cwd": ".",
17
+ "metadata": {
18
+ "package": "promptopia-mcp",
19
+ "purpose": "mcp-safety-index",
20
+ "riskClass": "Prompt surface",
21
+ "failureClass": "Prompt/resource contract",
22
+ "whyItMatters": "Prompt-serving MCP packages need predictable prompt inventory and startup behavior."
23
+ },
24
+ "serverName": "promptopia-mcp",
25
+ "serverVersion": "1.1.0"
26
+ },
27
+ "environment": {
28
+ "platform": "darwin 25.5.0",
29
+ "nodeVersion": "v22.22.1"
30
+ },
31
+ "summary": {
32
+ "total": 7,
33
+ "pass": 5,
34
+ "fail": 0,
35
+ "partial": 1,
36
+ "unsupported": 1,
37
+ "flaky": 0,
38
+ "skipped": 0,
39
+ "gate": "pass"
40
+ },
41
+ "checks": [
42
+ {
43
+ "id": "tools",
44
+ "capability": "tools",
45
+ "status": "pass",
46
+ "durationMs": 1.030083999999988,
47
+ "message": "Advertised capability responded with the minimal expected shape (7 items).",
48
+ "evidence": [
49
+ {
50
+ "endpoint": "tools/list",
51
+ "advertised": true,
52
+ "responded": true,
53
+ "minimalShapePresent": true,
54
+ "itemCount": 7,
55
+ "identifiers": [
56
+ "add_prompt",
57
+ "update_prompt",
58
+ "get_prompt",
59
+ "list_prompts",
60
+ "delete_prompt",
61
+ "apply_prompt",
62
+ "add_multi_message_prompt"
63
+ ],
64
+ "diagnostics": [
65
+ "Watching for changes in prompts directory: /Users/williamweishuhn/Documents/New project/mcp-observatory/examples/promptopia-prompts",
66
+ "promptopia-mcp MCP server running (v1.1.0)"
67
+ ],
68
+ "schemas": {
69
+ "add_prompt": {
70
+ "type": "object",
71
+ "properties": {
72
+ "name": {
73
+ "type": "string",
74
+ "description": "Name of the prompt"
75
+ },
76
+ "content": {
77
+ "type": "string",
78
+ "description": "Content of the prompt with variables in {{variable}} format"
79
+ },
80
+ "description": {
81
+ "type": "string",
82
+ "description": "Description of the prompt"
83
+ }
84
+ },
85
+ "required": [
86
+ "name",
87
+ "content"
88
+ ]
89
+ },
90
+ "update_prompt": {
91
+ "type": "object",
92
+ "properties": {
93
+ "id": {
94
+ "type": "string",
95
+ "description": "ID of the prompt to update"
96
+ },
97
+ "name": {
98
+ "type": "string",
99
+ "description": "New name for the prompt"
100
+ },
101
+ "description": {
102
+ "type": "string",
103
+ "description": "New description for the prompt"
104
+ },
105
+ "messages": {
106
+ "type": "array",
107
+ "description": "New messages (converts single content to multi-message format)",
108
+ "items": {
109
+ "type": "object",
110
+ "properties": {
111
+ "role": {
112
+ "type": "string",
113
+ "enum": [
114
+ "user",
115
+ "assistant"
116
+ ],
117
+ "description": "Role of the message sender"
118
+ },
119
+ "content": {
120
+ "type": "object",
121
+ "properties": {
122
+ "type": {
123
+ "type": "string",
124
+ "enum": [
125
+ "text",
126
+ "image"
127
+ ],
128
+ "description": "Type of content"
129
+ },
130
+ "text": {
131
+ "type": "string",
132
+ "description": "Text content (required for text type)"
133
+ },
134
+ "image": {
135
+ "type": "string",
136
+ "description": "Image data (required for image type)"
137
+ }
138
+ },
139
+ "required": [
140
+ "type"
141
+ ]
142
+ }
143
+ },
144
+ "required": [
145
+ "role",
146
+ "content"
147
+ ]
148
+ }
149
+ }
150
+ },
151
+ "required": [
152
+ "id"
153
+ ]
154
+ },
155
+ "get_prompt": {
156
+ "type": "object",
157
+ "properties": {
158
+ "id": {
159
+ "type": "string",
160
+ "description": "ID of the prompt to retrieve"
161
+ }
162
+ },
163
+ "required": [
164
+ "id"
165
+ ]
166
+ },
167
+ "list_prompts": {
168
+ "type": "object",
169
+ "properties": {}
170
+ },
171
+ "delete_prompt": {
172
+ "type": "object",
173
+ "properties": {
174
+ "id": {
175
+ "type": "string",
176
+ "description": "ID of the prompt to delete"
177
+ }
178
+ },
179
+ "required": [
180
+ "id"
181
+ ]
182
+ },
183
+ "apply_prompt": {
184
+ "type": "object",
185
+ "properties": {
186
+ "id": {
187
+ "type": "string",
188
+ "description": "ID of the prompt to apply"
189
+ },
190
+ "variables": {
191
+ "type": "object",
192
+ "description": "Object containing variable names and their values"
193
+ }
194
+ },
195
+ "required": [
196
+ "id",
197
+ "variables"
198
+ ]
199
+ },
200
+ "add_multi_message_prompt": {
201
+ "type": "object",
202
+ "properties": {
203
+ "name": {
204
+ "type": "string",
205
+ "description": "Name of the prompt"
206
+ },
207
+ "description": {
208
+ "type": "string",
209
+ "description": "Description of the prompt"
210
+ },
211
+ "messages": {
212
+ "type": "array",
213
+ "description": "Array of messages with roles",
214
+ "items": {
215
+ "type": "object",
216
+ "properties": {
217
+ "role": {
218
+ "type": "string",
219
+ "enum": [
220
+ "user",
221
+ "assistant"
222
+ ],
223
+ "description": "Role of the message sender"
224
+ },
225
+ "content": {
226
+ "type": "object",
227
+ "properties": {
228
+ "type": {
229
+ "type": "string",
230
+ "enum": [
231
+ "text",
232
+ "image"
233
+ ],
234
+ "description": "Type of content"
235
+ },
236
+ "text": {
237
+ "type": "string",
238
+ "description": "Text content (required for text type)"
239
+ },
240
+ "image": {
241
+ "type": "string",
242
+ "description": "Image data (required for image type)"
243
+ }
244
+ },
245
+ "required": [
246
+ "type"
247
+ ]
248
+ }
249
+ },
250
+ "required": [
251
+ "role",
252
+ "content"
253
+ ]
254
+ }
255
+ }
256
+ },
257
+ "required": [
258
+ "name",
259
+ "messages"
260
+ ]
261
+ }
262
+ }
263
+ }
264
+ ]
265
+ },
266
+ {
267
+ "id": "prompts",
268
+ "capability": "prompts",
269
+ "status": "pass",
270
+ "durationMs": 1.1311249999998836,
271
+ "message": "Advertised capability responded with the minimal expected shape (1 item).",
272
+ "evidence": [
273
+ {
274
+ "endpoint": "prompts/list",
275
+ "advertised": true,
276
+ "responded": true,
277
+ "minimalShapePresent": true,
278
+ "itemCount": 1,
279
+ "identifiers": [
280
+ "demo_welcome"
281
+ ],
282
+ "diagnostics": [
283
+ "Watching for changes in prompts directory: /Users/williamweishuhn/Documents/New project/mcp-observatory/examples/promptopia-prompts",
284
+ "promptopia-mcp MCP server running (v1.1.0)"
285
+ ]
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "id": "resources",
291
+ "capability": "resources",
292
+ "status": "unsupported",
293
+ "durationMs": 0.004041000000142958,
294
+ "message": "Resources are not advertised by the target.",
295
+ "evidence": [
296
+ {
297
+ "endpoint": "resources/list | resources/templates/list",
298
+ "advertised": false,
299
+ "responded": false,
300
+ "minimalShapePresent": false,
301
+ "diagnostics": []
302
+ }
303
+ ]
304
+ },
305
+ {
306
+ "id": "security-lite",
307
+ "capability": "security-lite",
308
+ "status": "pass",
309
+ "durationMs": 0.02937500000007276,
310
+ "message": "No security issues detected (lightweight scan).",
311
+ "evidence": [
312
+ {
313
+ "endpoint": "security/scan-lite",
314
+ "advertised": true,
315
+ "responded": true,
316
+ "minimalShapePresent": true,
317
+ "itemCount": 0
318
+ }
319
+ ]
320
+ },
321
+ {
322
+ "id": "conformance",
323
+ "capability": "conformance",
324
+ "status": "pass",
325
+ "durationMs": 1.6614580000004935,
326
+ "message": "All 7 conformance checks passed.",
327
+ "evidence": [
328
+ {
329
+ "endpoint": "conformance/check",
330
+ "advertised": true,
331
+ "responded": true,
332
+ "minimalShapePresent": true,
333
+ "itemCount": 7,
334
+ "identifiers": [],
335
+ "diagnostics": [
336
+ "[pass] capabilities-present: Server returned capabilities object.",
337
+ "[pass] server-info: Server provided initialization info.",
338
+ "[pass] tools-capability-match: tools/list returned 7 tool(s).",
339
+ "[pass] prompts-capability-match: prompts/list returned 1 prompt(s).",
340
+ "[pass] resources-capability-match: Resources not advertised — endpoint check skipped.",
341
+ "[pass] tool-response-content: Tool \"list_prompts\" response has valid content array.",
342
+ "[pass] error-handling: Server returned proper error code -32601 for unknown method."
343
+ ]
344
+ }
345
+ ]
346
+ },
347
+ {
348
+ "id": "schema-quality",
349
+ "capability": "schema-quality",
350
+ "status": "partial",
351
+ "durationMs": 0.6617910000004485,
352
+ "message": "Found 1 quality finding(s) across 8 item(s): 0 warnings, 1 info.",
353
+ "evidence": [
354
+ {
355
+ "endpoint": "schema-quality/scan",
356
+ "advertised": true,
357
+ "responded": true,
358
+ "minimalShapePresent": true,
359
+ "itemCount": 1,
360
+ "identifiers": [
361
+ "demo_welcome"
362
+ ],
363
+ "diagnostics": [
364
+ "[info] prompt \"demo_welcome\": Argument 'name' missing description"
365
+ ]
366
+ }
367
+ ]
368
+ },
369
+ {
370
+ "id": "security",
371
+ "capability": "security",
372
+ "status": "pass",
373
+ "durationMs": 0.1859999999996944,
374
+ "message": "No security issues detected.",
375
+ "evidence": [
376
+ {
377
+ "endpoint": "security/scan",
378
+ "advertised": true,
379
+ "responded": true,
380
+ "minimalShapePresent": true,
381
+ "itemCount": 0
382
+ }
383
+ ]
384
+ }
385
+ ],
386
+ "healthScore": {
387
+ "overall": 89,
388
+ "grade": "B",
389
+ "dimensions": [
390
+ {
391
+ "name": "Protocol Compliance",
392
+ "weight": 0.3,
393
+ "score": 100,
394
+ "details": [
395
+ "conformance: pass (100/100)"
396
+ ]
397
+ },
398
+ {
399
+ "name": "Schema Quality",
400
+ "weight": 0.2,
401
+ "score": 60,
402
+ "details": [
403
+ "schema-quality: partial (60/100)"
404
+ ]
405
+ },
406
+ {
407
+ "name": "Security",
408
+ "weight": 0.2,
409
+ "score": 100,
410
+ "details": [
411
+ "security-lite: pass (100/100)",
412
+ "security: pass (100/100)"
413
+ ]
414
+ },
415
+ {
416
+ "name": "Reliability",
417
+ "weight": 0.2,
418
+ "score": 83,
419
+ "details": [
420
+ "tools: pass (100/100)",
421
+ "prompts: pass (100/100)",
422
+ "resources: unsupported (50/100)"
423
+ ]
424
+ },
425
+ {
426
+ "name": "Performance",
427
+ "weight": 0.1,
428
+ "score": 100,
429
+ "details": [
430
+ "Connect: 829ms",
431
+ "p95 latency: 1ms (3 operations)"
432
+ ]
433
+ }
434
+ ]
435
+ },
436
+ "performanceMetrics": {
437
+ "connectMs": 829.2160830000003,
438
+ "toolsListMs": 1.030083999999988,
439
+ "promptsListMs": 1.1311249999998836,
440
+ "resourcesListMs": 0.004041000000142958
441
+ }
442
+ }