+ Inherits protected Node.js and Python plus tools in{' '} + + {baseEnvironment?.name ?? 'the base'} + + . +
+Published base revision unavailable
+ )} ++ {selected + ? `Added by this environment · ${selected.source?.trustLevel === 'PUBLISHER_VERIFIED' ? 'publisher verified' : 'platform pinned'}` + : required + ? `Added automatically for ${[...(requiredBy.get(tool.toolId) ?? [])].join(', ')}` + : inheritedTool + ? `Inherited from ${baseEnvironment?.name ?? 'base environment'}` + : versions.length + ? tool.description + : 'No published version'} +
+ {(effective?.definition.dependencies.length ?? 0) > 0 && ( ++ Requires {effective?.definition.dependencies.join(', ')}; missing dependencies + are added at their recommended version. +
+ )} +
+
+ {revision.imageDigest ?? 'No image digest'} +
+ {revision.imageSizeBytes && ( ++ {(revision.imageSizeBytes / 1024 / 1024).toFixed(1)} MiB +
+ )} + {revision.buildLogUrl && ( + + Build logs+ Accepted{acceptedBy ? ` by ${acceptedBy}` : ''}{' '} + +
+ )} ++ {revision.verification ? 'Recorded with this revision' : 'Not completed'} +
+
+ {revision.generatedDockerfile}
+
+ + {environment.environmentId} +
+ {(environment.toolUpdates?.length ?? 0) > 0 && ( ++ Recommended tool updates are available. Save a new revision to select them. +
+ )} + {fixedToolEnvironment && ( ++ This fixed-tool environment is read-only. Use Reset to remove it, then + recreate it from published catalog tools. +
+ )} +{error}
} +Source integrity
++ {version.source?.trustLevel === 'PUBLISHER_VERIFIED' + ? 'Publisher verified' + : version.source + ? 'Platform pinned' + : 'Pending'} +
+ {version.source && ( + <> ++ sha256:{version.source.sha256} +
+ + Official sourceArtifact
++ {version.imageSizeBytes + ? `${(version.imageSizeBytes / 1024 / 1024).toFixed(1)} MiB` + : 'Pending'} +
++ {version.imageDigest ?? 'No digest'} +
+Verification
++ {version.verification ? 'ARM64 and functional checks passed' : 'Pending'} +
+ {version.scanFindings?.status && ( ++ {scanUnsupported + ? scanLimitationAccepted + ? 'ECR scan limitation accepted' + : 'ECR scan unavailable' + : `ECR scan ${version.scanFindings.status.toLowerCase()}`} +
+ )} + {version.scanFindings?.description && !scanLimitationAccepted && ( ++ {version.scanFindings.description} +
+ )} + {typeof version.verification?.runtimeCompatibilityVersion === 'string' && ( ++ Runtime contract {String(version.verification.runtimeCompatibilityVersion)} +
+ )} + {version.buildLogUrl && ( + + Build logs+ {scanUnsupported ? 'Security scan limitation' : 'Security findings'} accepted by{' '} + {version.securityFindingsAcceptedBy ?? 'an administrator'} on{' '} + {new Date(version.securityFindingsAcceptedAt).toLocaleString()}. +
+ )} + {version.failure && ( ++ The platform downloads this once, validates the archive, computes SHA-256, and retains + the immutable source and OCI artifact. +
++ When both values are supplied and independently match, the version is marked Publisher + verified. Otherwise it is still securely pinned to the platform-computed SHA-256. +
+Generated archive installation
++ Extract the verified archive without executing publisher code. +
+No catalog dependencies
+ )} ++ Optional text files mounted read-only for custom networkless verification. +
+ )} ++ {selectedTool.publisher || 'Administrator managed'} +
+ {selectedTool.description && ( ++ {selectedTool.description} +
+ )} +Version
+{selectedVersion.definition.version}
+Preset
+{selectedVersion.definition.verification.preset}
+Executables
++ {selectedVersion.definition.executables + .map((entry) => entry.name) + .join(', ')} +
+{error}
} +
+
{error}
} + + {canEdit && ( + + )} +