Private/env-constants.ps1

<#
.SYNOPSIS
    Repository-wide environment constant defaults.
 
.DESCRIPTION
    Central place to initialize default environment variables used across
    scripts in this repository. Scripts should dot-source this file and then
    rely on the documented env vars. Defaults are intentionally conservative
    and applied only when the env var is not already set.
#>


# Azure DevOps AAD application id used as the default resource for `az account get-access-token`.
if (-not $env:AzDevOpsAadAppId -or [string]::IsNullOrWhiteSpace($env:AzDevOpsAadAppId)) {
    $env:AzDevOpsAadAppId = '499b84ac-1321-427f-aa17-267ca6975798'
}

# Default API versions used by Azure DevOps REST calls; callers may override when needed.
if (-not $env:AzDevOpsApiVersion -or [string]::IsNullOrWhiteSpace($env:AzDevOpsApiVersion)) {
    $env:AzDevOpsApiVersion = '6.0'
}

# Comments API preview version
if (-not $env:AzDevOpsCommentsApiVersion -or [string]::IsNullOrWhiteSpace($env:AzDevOpsCommentsApiVersion)) {
    $env:AzDevOpsCommentsApiVersion = '6.0-preview.3'
}

# Default AzDevOpsUrl for the repository. If AzDevOpsUrl is not set, use this default.
if (-not $env:AzDevOpsUrlDefault -or [string]::IsNullOrWhiteSpace($env:AzDevOpsUrlDefault)) {
    $env:AzDevOpsUrlDefault = 'https://dev.azure.com/msazure/One'
}

if (-not $env:AzDevOpsUrl -or [string]::IsNullOrWhiteSpace($env:AzDevOpsUrl)) {
    # Use the repository default project URL when none is provided.
    $env:AzDevOpsUrl = $env:AzDevOpsUrlDefault
}

# Default Repo Root (assumes this script is in /scripts/ and repo root is one level up)
if (-not $env:AzDevOpsRepoRoot -or [string]::IsNullOrWhiteSpace($env:AzDevOpsRepoRoot)) {
    $defaultTarget = 'C:\work\AAPT-APIManagement'
    if (Test-Path $defaultTarget) {
        $env:AzDevOpsRepoRoot = $defaultTarget
    } else {
        $env:AzDevOpsRepoRoot = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path
    }
}

# Default Copilot Model
if (-not $env:CopilotModel -or [string]::IsNullOrWhiteSpace($env:CopilotModel)) {
    $env:CopilotModel = 'claude-opus-4.5'
    #$env:CopilotModel = 'gemini-3-pro-preview'
}

# Default Task Prefix
if ($null -eq $env:VirtualDeveloperTaskPrefix) {
    $env:VirtualDeveloperTaskPrefix = '[TEST]'
}