TechToolbox.psd1
|
# # Module manifest for module 'TechToolbox' # # Generated by: Dan Damit # # Generated on: 9/4/2026 # @{ # Script module or binary module file associated with this manifest. RootModule = 'TechToolbox.psm1' # Version number of this module. ModuleVersion = '0.5.115' # Supported PSEditions CompatiblePSEditions = 'Core' # ID used to uniquely identify this module GUID = '5bfe2119-e8be-4ac4-8183-7ebc7400058c' # Author of this module Author = 'Dan Damit' # Company or vendor of this module CompanyName = 'Value Added Companies' # Copyright statement for this module Copyright = '(c) Dan Damit. All rights reserved.' # Description of the functionality provided by this module Description = 'A technician-grade toolbox for automation, diagnostics, and enterprise workflows. Invoke-TechAgent now supports OpenAI API key usage for cloud-based inference, allowing operators to leverage the TechAgent workflows without local inference requirements. First time users should start with Get-TechToolboxConfig and Get-ToolboxHelp. TechToolbox also utilizes the conventional PowerShell help system, so Get-Help <command-name> is your friend.' # Minimum version of the PowerShell engine required by this module PowerShellVersion = '7.6.5' # 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 = 'Clear-BrowserProfileData', 'Copy-Directory', 'Disable-User', 'Enable-NetFx3', 'Export-ToolboxFunctions', 'Find-LargeFiles', 'Get-AllUsers', 'Get-AuditSharedMailboxDeletions', 'Get-AutodiscoverXmlInteractive', 'Get-BatteryHealth', 'Get-CUCredentialManagerContents', 'Get-DomainAdminCredential', 'Get-ErrorEvents', 'Get-FilesUsingKeywords', 'Get-InstalledPrinters', 'Get-LocalAdminMembers', 'Get-MessageTrace', 'Get-PDQDiagLogs', 'Get-RemoteInstalledSoftware', 'Get-SharedMailboxPermissions', 'Get-SystemSnapshot', 'Get-SystemTrustDiagnostic', 'Get-SystemUptime', 'Get-TechAgentQualitySummary', 'Get-TechToolboxConfig', 'Get-ToolboxHelp', 'Get-WindowsProductKey', 'Initialize-TTWordList', 'Install-TechAgentRuntime', 'Invoke-AADSyncRemote', 'Invoke-DownloadsCleanup', 'Invoke-PurviewPurge', 'Invoke-RestartService', 'Invoke-SubnetScan', 'Invoke-SystemRepair', 'Invoke-TechAgent', 'New-OnPremUserFromTemplate', 'Remove-EpicorEdgeAgent', 'Remove-Printers', 'Reset-ADPassword', 'Reset-WindowsUpdateComponents', 'Search-User', 'Set-EmailAlias', 'Set-OneTimeReboot', 'Set-PageFileSize', 'Set-ProxyAddress', 'Set-TechAgentApiKey', 'Set-TechAgentSearchWebApiKey', 'Start-DnsQueryLogger', 'Start-NewPSRemoteSession', 'Start-PDQDiagLocalElevated', 'Stop-PSRemoteSession', 'Test-MailHeaderAuth', 'Test-PathAs', 'Test-TechAgentProvider', 'Test-TTPathRoots', 'Use-TechAgentTaskTemplate', 'Watch-ISPConnection' # 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 = @{ #TechToolbox of this module TechToolbox = 'System.Collections.Hashtable' PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. Tags = 'automation','networking','diagnostics','toolbox','troubleshooting','enterprise','sysadmin','itpro','helpdesk','technician','workflow','utilities','agent','ai','ad','exchange','windows','security','performance','monitoring' # A URL to the license for this module. LicenseUri = 'https://opensource.org/licenses/MIT' # A URL to the main website for this project. ProjectUri = 'https://github.com/dan-damit/TechToolbox' # A URL to an icon representing this module. # IconUri = '' # ReleaseNotes of this module ReleaseNotes = ' ## Release Notes — Memory Subsystem Upgrade This release hardens the memory subsystem across concurrency, recovery, confidence modeling, privacy, retrieval, and test coverage. Based on the Memory_Phase*_*_Strict task notes, the focus was on making memory safer, more explainable, and more reliable without broad scope changes outside the memory layer. ### Highlights - Concurrency protection - Added instance-level synchronization and optional named mutex support for multi-process coordination. - Prevented overlapping learner and save operations from corrupting memory/index state. - Preserved backward compatibility while improving deterministic behavior under concurrent access. - Improved load and recovery behavior - Stopped silently swallowing load failures. - Added structured diagnostics for missing files, invalid JSON, IO/access errors, schema mismatches, and unsupported versions. - Corrupted files are quarantined with timestamped names and explicit recovery status is tracked. - Smarter confidence scoring - Reworked confidence to be bounded, explainable, and less prone to saturation. - Included evidence strength, recency decay, source reliability, and contradiction handling. - Preserved confidence correctly across index rebuilds and repeated observations. - Index preservation and rebuild safety - Improved rebuild logic to preserve metadata such as frequency, first/last seen timestamps, stale markers, and deprecation status. - Merged matching rebuilt entries with existing index data and marked historical gaps as stale instead of dropping them without traceability. - Added deterministic behavior for non-string values and cleaner eligibility rules. - Privacy and sensitive-data controls - Added allowlist-based learning eligibility and required explicit user intent before learning sensitive categories. - Blocked or redacted secrets, tokens, connection strings, emails, and GUID-like identity values. - Added configurable opt-out and clear-memory operations at the memory API level, with storage-boundary guidance. - Learning accuracy improvements - Tightened durable preference detection and reduced false promotion of one-off instructions. - Added provenance and rationale fields for learned items. - Improved handling of quoted text, negation, hypotheticals, and examples/counterexamples. - Data model and migration hardening - Tightened model validation and added explicit versioned migration paths. - Rejected unsupported future versions with clear diagnostics. - Corrected health and trend metrics to exclude derived/system metadata and fixed window-sizing inconsistencies. - Retrieval API enhancements - Added a ranked, read-only retrieval API for memory queries. - Ranking considers exact match, keyword overlap, confidence, recency, and source category/type. - Included concise matching rationale and enforced safe result caps to avoid large prompt-memory injection. - Test suite expansion - Added deterministic coverage for missing, malformed, and future-version memory files. - Included save/recovery, path handling, concurrency, confidence progression, rebuild preservation, and adversarial learning scenarios. - Strengthened regression protection around memory reliability and safety. ### Release Impact - Higher reliability for concurrent memory writes and learner operations - Safer handling of corrupted or sensitive memory data - More accurate and explainable memory learning and retrieval - Better auditability and recovery diagnostics for operational incidents - Stronger regression coverage for edge cases and failure modes ### Summary This release turns the memory subsystem from a mostly best-effort store into a more robust, privacy-aware, and operationally diagnosable component. The work primarily improves safety, determinism, explainability, and maintainability while keeping the changes scoped to the memory layer and its test coverage.' # Prerelease string of this module # Prerelease = '' # 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 = 'https://dan-damit.github.io/TechToolbox-Docs/' # Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. # DefaultCommandPrefix = '' } |