synedgy.universal.helper.psd1

#
# Module manifest for module 'synedgy.universal.helper'
#
# Generated by: Gael Colas
#
# Generated on: 07/07/2025
#

@{

# Script module or binary module file associated with this manifest.
RootModule = 'synedgy.universal.helper.psm1'

# Version number of this module.
ModuleVersion = '0.3.1'

# Supported PSEditions
# CompatiblePSEditions = @()

# ID used to uniquely identify this module
GUID = 'a85284d9-2b09-458b-8b3a-9d24e643239b'

# Author of this module
Author = 'Gael Colas'

# Company or vendor of this module
CompanyName = 'Gael Colas'

# Copyright statement for this module
Copyright = '(c) Gael Colas. All rights reserved.'

# Description of the functionality provided by this module
Description = 'A bunch of PowerShell Universal helpers to make your experience more productive'

# Minimum version of the PowerShell engine required by this module
PowerShellVersion = '5.0'

# Name of the PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''

# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# ClrVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @('New-UDLanguageSelector','New-UDPsuJobHeader','New-UDPsuJobTerminalView','Get-ModuleAiTool','Get-ModuleApiEndpoint','Get-ModuleApiEndpointScriptblock','Get-PSUComponentLocalizedData','Get-PSULocalizationLanguage','Get-PSULocalizedData','Import-PSUAiTool','Import-PSUEndpoint','Initialize-PSULocalizationCache','Resolve-PSULocalizationLanguage','Resolve-PSULocalizationResource')

# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @()

# Variables to export from this module
VariablesToExport = @()

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @()

# DSC resources to export from this module
DscResourcesToExport = @()

# List of all modules packaged with this module
# ModuleList = @()

# List of all files packaged with this module
# FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        # Tags = @()

        # A URL to the license for this module.
        # LicenseUri = ''

        # A URL to the main website for this project.
        # ProjectUri = ''

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
        ReleaseNotes = '## [0.3.1-preview0001] - 2026-10-29

### Added

- Added recursive localization resource discovery beneath culture directories
  while preserving root-level resource priority and rejecting ambiguous nested
  bundle filenames.
- Added `UseNativeLanguageName` to `New-UDLanguageSelector` for dependency-free
  culture-native option labels such as `English`, `français`, and `Deutsch`.
- Added `Get-PSUComponentLocalizedData` to standardize component-owned
  localization bundles with requested-language, module-default, and mandatory
  English fallback behavior plus optional shared PSU caching.
- Added English, French, and German component-owned localization for
  `New-UDPsuJobHeader` and `New-UDPsuJobTerminalView`, including terminal
  deferred refresh runspaces and translated job metadata, controls, states,
  warnings, table headers, and stream labels.
- Added `Initialize-PSULocalizationCache` to load every available language for
  a mandatory named resource into an optional caller-owned cache.
- Added `Resolve-PSULocalizationLanguage` to resolve explicit and HTTP
  `Accept-Language` preferences against a mandatory named resource, including
  exact-to-parent culture fallback.
- Added `Get-PSULocalizationLanguage` to discover resource-backed culture
  folders, including automatic consuming-module resolution through the
  parameter-binding `Get-PSCallStack` pattern used by `synedgy.PSSqlite`.
- Added `New-UDLanguageSelector`, a reusable Universal Dashboard selector with
  automatic language discovery, persistent cookie selection, compact labels,
  custom display names, Material UI `Sx`, and a site CSS class hook.

### Changed

- Changed `Get-ModuleApiEndpoint` to import the target module into the current
  runspace before discovering attributed endpoint functions, so
  `Import-PSUEndpoint` no longer requires the consuming resource file to import
  the endpoint module separately.
- Changed generated API endpoint contracts to expose enum parameters as
  validated strings and switch parameters as Booleans. This keeps PSU resource
  parsing independent from consuming-module type accelerators while preserving
  strong parameter binding when the module command is invoked.
- Parameters marked with `Parameter(DontShow)` are now omitted from generated
  API endpoint contracts while remaining available to the underlying module
  command through its own defaults and internal invocation behavior.
- Generated API wrappers now pass `-Confirm:$false` to commands that support
  confirmation, preventing high-impact `ShouldProcess` prompts from failing in
  PSU''s non-interactive endpoint runspace.
  
'


        # Prerelease string of this module
        Prerelease =  'preview0001'

        # Flag to indicate whether the module requires explicit user acceptance for install/update/save
        # RequireLicenseAcceptance = $false

        # External dependent modules of this module
        # ExternalModuleDependencies = @()

    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
# HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}