Public/Get-NLBaselineStatus.ps1
|
<#
.SYNOPSIS Gets the current status of NLBaseline .DESCRIPTION Returns status information about workspace, configuration, and baseline components .OUTPUTS PSCustomObject with status information #> function Get-NLBaselineStatus { [CmdletBinding()] param() $status = [PSCustomObject]@{ WorkspaceConfigured = $false WorkspacePath = $null ConfigExists = $false AppRegistrationConfigured = $false OpenAIConfigured = $false BaselineComponentsCount = 0 } try { $workspacePath = Get-WorkspacePath if ($workspacePath) { $status.WorkspaceConfigured = $true $status.WorkspacePath = $workspacePath $config = Get-Config -WorkspacePath $workspacePath if ($config) { $status.ConfigExists = $true $status.AppRegistrationConfigured = -not [string]::IsNullOrEmpty($config.AppRegistration.ClientId) $status.OpenAIConfigured = -not [string]::IsNullOrEmpty($config.OpenAI.Endpoint) $baselinePath = Join-Path -Path $workspacePath -ChildPath "Baseline" if (Test-Path -Path $baselinePath) { $baselineFiles = Get-ChildItem -Path $baselinePath -Filter "*.json" -ErrorAction SilentlyContinue $status.BaselineComponentsCount = $baselineFiles.Count } } } } catch { Write-Error "Failed to get status: $_" } return $status } |