Modules/businessdev.ALbuild.Containers/Private/ConvertFrom-BcContainerList.ps1

function ConvertFrom-BcContainerList {
    <#
    .SYNOPSIS
        Parses 'docker ps --format {{json .}}' output into container objects.
    .DESCRIPTION
        Internal, pure helper (no I/O). Docker emits one JSON object per line; each is parsed and
        projected onto a stable shape (Name, Status, Image, Id, Running).
    #>

    [CmdletBinding()]
    [OutputType([PSCustomObject[]])]
    param(
        [Parameter(Mandatory)]
        [AllowEmptyString()]
        [AllowNull()]
        [string] $Output
    )

    if ([string]::IsNullOrWhiteSpace($Output)) { return @() }

    $list = foreach ($line in ($Output -split "`r?`n")) {
        if ([string]::IsNullOrWhiteSpace($line)) { continue }
        try { $obj = $line | ConvertFrom-Json } catch { continue }
        $status = [string]$obj.Status
        [PSCustomObject]@{
            Name    = [string]$obj.Names
            Status  = $status
            Image   = [string]$obj.Image
            Id      = [string]$obj.ID
            Running = ($status -like 'Up*')
        }
    }
    return @($list)
}