Table of Contents

Namespace JD.AI.Core.Installation

Classes

DetachedUpdater

Launches a self-update as a detached, out-of-process script so the running binary can be replaced after the current process exits.

On Windows, executable files are locked by the OS while running, so dotnet tool update -g JD.AI fails in-process. This launcher writes a temporary script that waits for the parent process to fully exit (by polling the PID), then performs the update. On Unix, file replacement works while a process is running, so this is only used on Windows.

DotnetToolStrategy

Updates JD.AI via dotnet tool update -g JD.AI.

GitHubReleaseStrategy

Downloads self-contained native binaries from GitHub Releases and replaces the running executable in-place.

InstallResult

Result of an install or update operation.

InstallationDetector

Detects how JD.AI was installed on the current machine by examining the executable path and querying package managers.

InstallationInfo

Describes the current JD.AI installation — how it was installed, where, and what version.

InstalledTool

Describes a single installed JD.AI tool in the global toolkit.

InstallerFactory

Selects the appropriate IInstallStrategy based on detected installation kind.

JDAIToolkit

Provides unified multi-tool detection, version checking, and updating for all JD.AI global tools installed via dotnet tool.

PackageManagerStrategy

Updates JD.AI via system package managers (winget, chocolatey, scoop, brew, apt).

ToolUpdate

Individual tool update information.

UpdatePlan

A complete update plan for all installed JD.AI tools.

Interfaces

IInstallStrategy

Strategy for checking and applying JD.AI updates based on installation method.

Enums

InstallKind

How JD.AI was installed on the current machine.