Kritical.PS.OpenApi.psd1

@{
    RootModule        = 'Kritical.PS.OpenApi.psm1'
    ModuleVersion     = '0.1.0'
    GUID              = 'c4e9b1d2-7a3f-4e5c-9d2b-5f8a1c4e7b03'
    Author            = 'Joshua Finley'
    CompanyName       = 'Kritical Pty Ltd'
    Copyright         = '(c) 2026 Kritical Pty Ltd. All rights reserved.'
    Description       = 'Kritical OpenAPI toolkit. Canonical OpenAPI 3.x -> PowerShell module generator with full IntelliSense (parameter types, ValidateSet enums, pipeline binding, SupportsShouldProcess on destructive verbs), spec validation, coverage diffing, and agentic-sidecar emission (Test-Xxx connectivity prover + Resolve-XxxAgentTask procedure per generated module). Produces per-consumer publishable modules (Krit.Pax8OpenApi, Krit.CrowdStrikeOpenApi, Krit.CrazyTelOpenApi, Krit.ShopifyOpenApi, Krit.SupervisorOpenApi). Inherits Krit.OmniFramework foundation via soft-load. Embedded by Kritical Lens via subcommand.'
    PowerShellVersion = '5.1'
    CompatiblePSEditions = @('Desktop','Core')

    FunctionsToExport = @(
        'Invoke-KritOpenApiGenerate'
        'Test-KritOpenApiSpec'
        'Get-KritOpenApiCoverage'
        'New-KritOpenApiAgenticSidecar'
        'Write-KritOpenApiBanner'
        'Get-KritOpenApiBanner'
    )
    CmdletsToExport   = @()
    VariablesToExport = @()
    AliasesToExport   = @()

    PrivateData = @{
        PSData = @{
            Tags         = @('OpenAPI','REST','CodeGen','PowerShell','Kritical','Pax8','CrowdStrike','Shopify','Lens','MSP','Automation')
            LicenseUri   = 'https://kritical.net/legal/license'
            ProjectUri   = 'https://kritical.net'
            IconUri      = 'https://kritical.net/assets/horizontal_logo.png'
            ReleaseNotes = @'
0.1.0 — Initial scaffold (WAVE-5105 .1507z).
  * Module skeleton + standard Public/Private/Assets layout.
  * Invoke-KritOpenApiGenerate shim — defers to Node generator scripts/tools/Lens-OpenApiToPsModule-1507.mjs for v0.1.0; native PS port queued for 0.2.0.
  * Test-KritOpenApiSpec — OpenAPI 3.0/3.1 structural validation.
  * Get-KritOpenApiCoverage — diff spec endpoints vs generated PS functions.
  * New-KritOpenApiAgenticSidecar — Test-Xxx + Resolve-XxxAgentTask emitter (per WAVE-5079 design).
  * Write-KritOpenApiBanner / Get-KritOpenApiBanner — brand-banner reader (3-tier canonical/secrets/bundled fallback per HARD RULE 13).
  * Soft-imports Krit.OmniFramework via ExternalModuleDependencies (NOT RequiredModules) per the 1.0.2 resilience pattern that prevents PSFramework AppDomain cascade.
  * Joshua Finley, Kritical Pty Ltd.
'@

            ExternalModuleDependencies = @('Krit.OmniFramework')
        }
        Kritical = @{
            CanonicalBrandBannerPaths = @(
                'C:\Users\joshl\OneDrive - Kritical Pty Ltd\Kritical-Branding\public\KriticalLogo.txt'
                'C:\Users\joshl\OneDrive - Kritical Pty Ltd\Github-SecretsOutsideOfGitRepos\KriticalLogo.txt'
            )
            BundledBrandBannerRelPath = 'Assets/kritical-logo.txt'
            NodeGeneratorRelPath      = 'tools/Lens-OpenApiToPsModule-1507.mjs'
            CompanionLensBridgeRepo   = 'KRTPax8ToShopifyConnector'
            CompanionLensBridgePath   = 'scripts/tools/Lens-OpenApi-Bridge-1507.mjs'
        }
    }
}