CompatLab
Read recorded npm loading evidence across pinned Node.js, Bun and Deno runtimes.
我该使用它吗
质量与安全性
A
基于对工具定义和协议合规性的自动分析。
上下文开销
~9,617token 数(工具定义)
~45.1 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 7.51%)
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"compatlab": {
"url": "https://compatlab.me/mcp"
}
}
}远程端点
https://compatlab.me/mcpstreamable-http它能做什么
工具清单
工具(2)
🟢 只读🟡 写入🔴 删除⚪ 未知
🟢check_package(name, version)
Resolve an exact npm package version (latest when omitted) and read eligible loading evidence across pinned Node.js, Bun and Deno. Never starts a scan. Missing evidence is not failure.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214
},
"version": {
"type": "string",
"maxLength": 256
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "number",
"const": 1
},
"kind": {
"type": "string",
"enum": [
"evidence",
"missing"
]
},
"package": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"version"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"reportUrl": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"scanUrl": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"matchesCurrentMatrix": {
"type": [
"boolean",
"null"
]
},
"report": {
"anyOf": [
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "number",
"const": 1
},
"reportPath": {
"type": "string",
"pattern": "^\\/reports\\/[a-f0-9-]{36}$"
},
"status": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"scanId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"current": {
"type": "boolean"
},
"policyAllowed": {
"type": "boolean"
},
"snapshotAvailable": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"invalidatedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"invalidationReason": {
"type": [
"string",
"null"
]
},
"replacedBy": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"observationRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previousScanId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"previousReportId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"scanId",
"current",
"policyAllowed",
"snapshotAvailable",
"createdAt",
"invalidatedAt",
"invalidationReason",
"replacedBy"
],
"additionalProperties": false
},
"summary": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"scanId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"artifact": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 214
},
"version": {
"type": "string",
"maxLength": 256
},
"integrity": {
"type": "string",
"maxLength": 1024
},
"tarballUrl": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"name",
"version",
"integrity",
"tarballUrl"
],
"additionalProperties": false
},
"observedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"classifiedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"classifierRevision": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"matrix": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revision": {
"type": "string",
"maxLength": 128
},
"platform": {
"type": "string",
"const": "linux_amd64_glibc"
},
"harnessRevision": {
"type": "string",
"maxLength": 128
},
"planRevision": {
"type": "string",
"maxLength": 128
},
"policyRevision": {
"type": "string",
"maxLength": 128
},
"images": {
"minItems": 1,
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"profileId": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,63}$"
},
"kind": {
"type": "string",
"enum": [
"node",
"bun",
"deno"
]
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"imageId": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
},
"builtAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"sourceImage": {
"type": "string",
"maxLength": 256,
"pattern": "@sha256:[a-f0-9]{64}$"
},
"baseImage": {
"type": "string",
"maxLength": 256,
"pattern": "@sha256:[a-f0-9]{64}$"
},
"supportImage": {
"type": "string",
"maxLength": 256,
"pattern": "@sha256:[a-f0-9]{64}$"
},
"platform": {
"type": "string",
"const": "linux_amd64_glibc"
},
"recipeRevision": {
"type": "string",
"const": "runtime_image_v1"
}
},
"required": [
"profileId",
"kind",
"version",
"imageId",
"builtAt",
"sourceImage",
"baseImage",
"supportImage",
"platform",
"recipeRevision"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"revision",
"platform",
"harnessRevision",
"planRevision",
"policyRevision",
"images"
],
"additionalProperties": false
},
"outcome": {
"type": "string",
"enum": [
"pass",
"partial",
"fail",
"inconclusive",
"unsupported",
"not_applicable",
"infrastructure_error"
]
},
"evidenceLevel": {
"type": "string",
"enum": [
"static_only",
"smoke_tested"
]
},
"coverageComplete": {
"type": "boolean"
},
"limitations": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"maxLength": 512
}
},
"preparation": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"outcome": {
"type": "string",
"enum": [
"pass",
"partial",
"fail",
"inconclusive",
"unsupported",
"not_applicable",
"infrastructure_error"
]
},
"failure": {
"anyOf": [
{
"type": "object",
"properties": {
"classification": {
"type": "string",
"enum": [
"package_not_found",
"package_version_not_found",
"registry_unavailable",
"artifact_download_failed",
"artifact_integrity_mismatch",
"artifact_integrity_unavailable",
"archive_rejected",
"package_manifest_invalid",
"declared_platform_unsupported",
"dependency_source_unsupported",
"dependency_install_failed",
"install_script_required",
"native_compilation_required",
"preparation_limit_exceeded",
"package_resolution_failed",
"optional_peer_missing",
"esm_import_failed",
"commonjs_require_failed",
"export_path_failed",
"unsupported_builtin",
"unsupported_runtime_api",
"native_addon_load_failed",
"unexpected_process_exit",
"unclassified_runtime_failure",
"sandbox_policy_limited",
"process_timeout",
"process_out_of_memory",
"process_limit_exceeded",
"output_limit_exceeded",
"temporary_disk_limit_exceeded",
"coverage_limit_exceeded",
"sandbox_start_failed",
"runner_unavailable",
"runtime_image_unavailable",
"harness_protocol_error",
"result_submission_failed",
"control_plane_error",
"job_cancelled",
"service_policy_rejected",
"probe_assertion_failed"
]
},
"phase": {
"type": "string",
"enum": [
"resolution",
"acquisition",
"extraction",
"preparation",
"static_analysis",
"sandbox_startup",
"module_resolution",
"module_evaluation",
"probe_assertion",
"teardown"
]
},
"origin": {
"type": "string",
"enum": [
"package",
"prerequisite",
"policy",
"infrastructure",
"assertion"
]
},
"retryable": {
"type": "boolean"
},
"source": {
"type": "string",
"enum": [
"captured_error_code",
"harness_observation",
"supervisor",
"preparation",
"control"
]
},
"message": {
"type": "string",
"maxLength": 1024
},
"optionalPeer": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214
},
"range": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"name",
"range"
],
"additionalProperties": false
}
},
"required": [
"classification",
"phase",
"origin",
"retryable",
"source",
"message"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"profileRevision": {
"type": "string",
"maxLength": 128
},
"snapshot": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"generation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"lockDigest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"treeDigest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"profileRevision": {
"type": "string",
"maxLength": 64
},
"installerImage": {
"type": "string",
"maxLength": 256
}
},
"required": [
"id",
"generation",
"lockDigest",
"treeDigest",
"profileRevision",
"installerImage"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"installedCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"omittedOptionalCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"outcome",
"failure",
"profileRevision",
"snapshot",
"installedCount",
"omittedOptionalCount"
],
"additionalProperties": false
},
"cells": {
"minItems": 4,
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"runId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"profileId": {
"type": "string",
"maxLength": 64
},
"group": {
"type": "string",
"enum": [
"root",
"subpaths"
]
},
"mode": {
"type": "string",
"enum": [
"esm",
"commonjs"
]
},
"method": {
"type": "string",
"enum": [
"fresh_root_v2",
"sequential_batch_v2"
]
},
"outcome": {
"type": "string",
"enum": [
"pass",
"partial",
"fail",
"inconclusive",
"unsupported",
"not_applicable",
"infrastructure_error"
]
},
"evidenceLevel": {
"type": "string",
"enum": [
"static_only",
"smoke_tested"
]
},
"coverage": {
"type": "object",
"properties": {
"planned": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 512
},
{
"type": "null"
}
]
},
"observed": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"passed": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"failed": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"prerequisiteLimited": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"interrupted": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"untested": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 512
},
{
"type": "null"
}
]
},
"complete": {
"type": "boolean"
}
},
"required": [
"planned",
"observed",
"passed",
"failed",
"interrupted",
"untested",
"complete"
],
"additionalProperties": false
},
"durationMs": {
"type": "number",
"minimum": 0
},
"failure": {
"anyOf": [
{
"type": "object",
"properties": {
"classification": {
"type": "string",
"enum": [
"package_not_found",
"package_version_not_found",
"registry_unavailable",
"artifact_download_failed",
"artifact_integrity_mismatch",
"artifact_integrity_unavailable",
"archive_rejected",
"package_manifest_invalid",
"declared_platform_unsupported",
"dependency_source_unsupported",
"dependency_install_failed",
"install_script_required",
"native_compilation_required",
"preparation_limit_exceeded",
"package_resolution_failed",
"optional_peer_missing",
"esm_import_failed",
"commonjs_require_failed",
"export_path_failed",
"unsupported_builtin",
"unsupported_runtime_api",
"native_addon_load_failed",
"unexpected_process_exit",
"unclassified_runtime_failure",
"sandbox_policy_limited",
"process_timeout",
"process_out_of_memory",
"process_limit_exceeded",
"output_limit_exceeded",
"temporary_disk_limit_exceeded",
"coverage_limit_exceeded",
"sandbox_start_failed",
"runner_unavailable",
"runtime_image_unavailable",
"harness_protocol_error",
"result_submission_failed",
"control_plane_error",
"job_cancelled",
"service_policy_rejected",
"probe_assertion_failed"
]
},
"phase": {
"type": "string",
"enum": [
"resolution",
"acquisition",
"extraction",
"preparation",
"static_analysis",
"sandbox_startup",
"module_resolution",
"module_evaluation",
"probe_assertion",
"teardown"
]
},
"origin": {
"type": "string",
"enum": [
"package",
"prerequisite",
"policy",
"infrastructure",
"assertion"
]
},
"retryable": {
"type": "boolean"
},
"source": {
"type": "string",
"enum": [
"captured_error_code",
"harness_observation",
"supervisor",
"preparation",
"control"
]
},
"message": {
"type": "string",
"maxLength": 1024
},
"optionalPeer": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214
},
"range": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"name",
"range"
],
"additionalProperties": false
}
},
"required": [
"classification",
"phase",
"origin",
"retryable",
"source",
"message"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"runId",
"profileId",
"group",
"mode",
"method",
"outcome",
"evidenceLevel",
"coverage",
"durationMs",
"failure"
],
"additionalProperties": false
}
},
"runtimes": {
"minItems": 1,
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"profileId": {
"type": "string",
"maxLength": 64
},
"outcome": {
"type": "string",
"enum": [
"pass",
"partial",
"fail",
"inconclusive",
"unsupported",
"not_applicable",
"infrastructure_error"
]
}
},
"required": [
"profileId",
"outcome"
],
"additionalProperties": false
}
},
"missingOptionalPeers": {
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214
},
"range": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"name",
"range"
],
"additionalProperties": false
}
},
"missingOptionalPeersTruncated": {
"type": "boolean"
}
},
"required": [
"id",
"scanId",
"artifact",
"observedAt",
"classifiedAt",
"classifierRevision",
"matrix",
"outcome",
"evidenceLevel",
"coverageComplete",
"limitations",
"preparation",
"cells",
"runtimes",
"missingOptionalPeers",
"missingOptionalPeersTruncated"
],
"additionalProperties": false
}
},
"required": [
"schemaVersion",
"reportPath",
"status",
"summary"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"message": {
"type": "string"
}
},
"required": [
"schemaVersion",
"kind",
"package",
"reportUrl",
"scanUrl",
"matchesCurrentMatrix",
"report",
"message"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_report(id)
Read a retained report by UUID with runtime pins, coverage, failures, optional peers and current eligibility. Historical reports remain readable. Never starts a scan.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "number",
"const": 1
},
"kind": {
"type": "string",
"enum": [
"evidence",
"missing"
]
},
"package": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"version"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"reportUrl": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"scanUrl": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"matchesCurrentMatrix": {
"type": [
"boolean",
"null"
]
},
"report": {
"anyOf": [
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "number",
"const": 1
},
"reportPath": {
"type": "string",
"pattern": "^\\/reports\\/[a-f0-9-]{36}$"
},
"status": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"scanId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"current": {
"type": "boolean"
},
"policyAllowed": {
"type": "boolean"
},
"snapshotAvailable": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"invalidatedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"invalidationReason": {
"type": [
"string",
"null"
]
},
"replacedBy": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"observationRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"previousScanId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"previousReportId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"scanId",
"current",
"policyAllowed",
"snapshotAvailable",
"createdAt",
"invalidatedAt",
"invalidationReason",
"replacedBy"
],
"additionalProperties": false
},
"summary": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"scanId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"artifact": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 214
},
"version": {
"type": "string",
"maxLength": 256
},
"integrity": {
"type": "string",
"maxLength": 1024
},
"tarballUrl": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"name",
"version",
"integrity",
"tarballUrl"
],
"additionalProperties": false
},
"observedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"classifiedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"classifierRevision": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"matrix": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revision": {
"type": "string",
"maxLength": 128
},
"platform": {
"type": "string",
"const": "linux_amd64_glibc"
},
"harnessRevision": {
"type": "string",
"maxLength": 128
},
"planRevision": {
"type": "string",
"maxLength": 128
},
"policyRevision": {
"type": "string",
"maxLength": 128
},
"images": {
"minItems": 1,
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"profileId": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,63}$"
},
"kind": {
"type": "string",
"enum": [
"node",
"bun",
"deno"
]
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"imageId": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
},
"builtAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"sourceImage": {
"type": "string",
"maxLength": 256,
"pattern": "@sha256:[a-f0-9]{64}$"
},
"baseImage": {
"type": "string",
"maxLength": 256,
"pattern": "@sha256:[a-f0-9]{64}$"
},
"supportImage": {
"type": "string",
"maxLength": 256,
"pattern": "@sha256:[a-f0-9]{64}$"
},
"platform": {
"type": "string",
"const": "linux_amd64_glibc"
},
"recipeRevision": {
"type": "string",
"const": "runtime_image_v1"
}
},
"required": [
"profileId",
"kind",
"version",
"imageId",
"builtAt",
"sourceImage",
"baseImage",
"supportImage",
"platform",
"recipeRevision"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"revision",
"platform",
"harnessRevision",
"planRevision",
"policyRevision",
"images"
],
"additionalProperties": false
},
"outcome": {
"type": "string",
"enum": [
"pass",
"partial",
"fail",
"inconclusive",
"unsupported",
"not_applicable",
"infrastructure_error"
]
},
"evidenceLevel": {
"type": "string",
"enum": [
"static_only",
"smoke_tested"
]
},
"coverageComplete": {
"type": "boolean"
},
"limitations": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"maxLength": 512
}
},
"preparation": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"outcome": {
"type": "string",
"enum": [
"pass",
"partial",
"fail",
"inconclusive",
"unsupported",
"not_applicable",
"infrastructure_error"
]
},
"failure": {
"anyOf": [
{
"type": "object",
"properties": {
"classification": {
"type": "string",
"enum": [
"package_not_found",
"package_version_not_found",
"registry_unavailable",
"artifact_download_failed",
"artifact_integrity_mismatch",
"artifact_integrity_unavailable",
"archive_rejected",
"package_manifest_invalid",
"declared_platform_unsupported",
"dependency_source_unsupported",
"dependency_install_failed",
"install_script_required",
"native_compilation_required",
"preparation_limit_exceeded",
"package_resolution_failed",
"optional_peer_missing",
"esm_import_failed",
"commonjs_require_failed",
"export_path_failed",
"unsupported_builtin",
"unsupported_runtime_api",
"native_addon_load_failed",
"unexpected_process_exit",
"unclassified_runtime_failure",
"sandbox_policy_limited",
"process_timeout",
"process_out_of_memory",
"process_limit_exceeded",
"output_limit_exceeded",
"temporary_disk_limit_exceeded",
"coverage_limit_exceeded",
"sandbox_start_failed",
"runner_unavailable",
"runtime_image_unavailable",
"harness_protocol_error",
"result_submission_failed",
"control_plane_error",
"job_cancelled",
"service_policy_rejected",
"probe_assertion_failed"
]
},
"phase": {
"type": "string",
"enum": [
"resolution",
"acquisition",
"extraction",
"preparation",
"static_analysis",
"sandbox_startup",
"module_resolution",
"module_evaluation",
"probe_assertion",
"teardown"
]
},
"origin": {
"type": "string",
"enum": [
"package",
"prerequisite",
"policy",
"infrastructure",
"assertion"
]
},
"retryable": {
"type": "boolean"
},
"source": {
"type": "string",
"enum": [
"captured_error_code",
"harness_observation",
"supervisor",
"preparation",
"control"
]
},
"message": {
"type": "string",
"maxLength": 1024
},
"optionalPeer": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214
},
"range": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"name",
"range"
],
"additionalProperties": false
}
},
"required": [
"classification",
"phase",
"origin",
"retryable",
"source",
"message"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"profileRevision": {
"type": "string",
"maxLength": 128
},
"snapshot": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"generation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"lockDigest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"treeDigest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"profileRevision": {
"type": "string",
"maxLength": 64
},
"installerImage": {
"type": "string",
"maxLength": 256
}
},
"required": [
"id",
"generation",
"lockDigest",
"treeDigest",
"profileRevision",
"installerImage"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"installedCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"omittedOptionalCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"outcome",
"failure",
"profileRevision",
"snapshot",
"installedCount",
"omittedOptionalCount"
],
"additionalProperties": false
},
"cells": {
"minItems": 4,
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"runId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"profileId": {
"type": "string",
"maxLength": 64
},
"group": {
"type": "string",
"enum": [
"root",
"subpaths"
]
},
"mode": {
"type": "string",
"enum": [
"esm",
"commonjs"
]
},
"method": {
"type": "string",
"enum": [
"fresh_root_v2",
"sequential_batch_v2"
]
},
"outcome": {
"type": "string",
"enum": [
"pass",
"partial",
"fail",
"inconclusive",
"unsupported",
"not_applicable",
"infrastructure_error"
]
},
"evidenceLevel": {
"type": "string",
"enum": [
"static_only",
"smoke_tested"
]
},
"coverage": {
"type": "object",
"properties": {
"planned": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 512
},
{
"type": "null"
}
]
},
"observed": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"passed": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"failed": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"prerequisiteLimited": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"interrupted": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"untested": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 512
},
{
"type": "null"
}
]
},
"complete": {
"type": "boolean"
}
},
"required": [
"planned",
"observed",
"passed",
"failed",
"interrupted",
"untested",
"complete"
],
"additionalProperties": false
},
"durationMs": {
"type": "number",
"minimum": 0
},
"failure": {
"anyOf": [
{
"type": "object",
"properties": {
"classification": {
"type": "string",
"enum": [
"package_not_found",
"package_version_not_found",
"registry_unavailable",
"artifact_download_failed",
"artifact_integrity_mismatch",
"artifact_integrity_unavailable",
"archive_rejected",
"package_manifest_invalid",
"declared_platform_unsupported",
"dependency_source_unsupported",
"dependency_install_failed",
"install_script_required",
"native_compilation_required",
"preparation_limit_exceeded",
"package_resolution_failed",
"optional_peer_missing",
"esm_import_failed",
"commonjs_require_failed",
"export_path_failed",
"unsupported_builtin",
"unsupported_runtime_api",
"native_addon_load_failed",
"unexpected_process_exit",
"unclassified_runtime_failure",
"sandbox_policy_limited",
"process_timeout",
"process_out_of_memory",
"process_limit_exceeded",
"output_limit_exceeded",
"temporary_disk_limit_exceeded",
"coverage_limit_exceeded",
"sandbox_start_failed",
"runner_unavailable",
"runtime_image_unavailable",
"harness_protocol_error",
"result_submission_failed",
"control_plane_error",
"job_cancelled",
"service_policy_rejected",
"probe_assertion_failed"
]
},
"phase": {
"type": "string",
"enum": [
"resolution",
"acquisition",
"extraction",
"preparation",
"static_analysis",
"sandbox_startup",
"module_resolution",
"module_evaluation",
"probe_assertion",
"teardown"
]
},
"origin": {
"type": "string",
"enum": [
"package",
"prerequisite",
"policy",
"infrastructure",
"assertion"
]
},
"retryable": {
"type": "boolean"
},
"source": {
"type": "string",
"enum": [
"captured_error_code",
"harness_observation",
"supervisor",
"preparation",
"control"
]
},
"message": {
"type": "string",
"maxLength": 1024
},
"optionalPeer": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214
},
"range": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"name",
"range"
],
"additionalProperties": false
}
},
"required": [
"classification",
"phase",
"origin",
"retryable",
"source",
"message"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"runId",
"profileId",
"group",
"mode",
"method",
"outcome",
"evidenceLevel",
"coverage",
"durationMs",
"failure"
],
"additionalProperties": false
}
},
"runtimes": {
"minItems": 1,
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"profileId": {
"type": "string",
"maxLength": 64
},
"outcome": {
"type": "string",
"enum": [
"pass",
"partial",
"fail",
"inconclusive",
"unsupported",
"not_applicable",
"infrastructure_error"
]
}
},
"required": [
"profileId",
"outcome"
],
"additionalProperties": false
}
},
"missingOptionalPeers": {
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214
},
"range": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"name",
"range"
],
"additionalProperties": false
}
},
"missingOptionalPeersTruncated": {
"type": "boolean"
}
},
"required": [
"id",
"scanId",
"artifact",
"observedAt",
"classifiedAt",
"classifierRevision",
"matrix",
"outcome",
"evidenceLevel",
"coverageComplete",
"limitations",
"preparation",
"cells",
"runtimes",
"missingOptionalPeers",
"missingOptionalPeersTruncated"
],
"additionalProperties": false
}
},
"required": [
"schemaVersion",
"reportPath",
"status",
"summary"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"message": {
"type": "string"
}
},
"required": [
"schemaVersion",
"kind",
"package",
"reportUrl",
"scanUrl",
"matchesCurrentMatrix",
"report",
"message"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}社区
证据
最近观测
已验证未记录版本2 个工具