save checkpoint: save features

This commit is contained in:
master
2026-02-12 10:27:23 +02:00
parent dca86e1248
commit 5bca406787
8837 changed files with 1796879 additions and 5294 deletions

View File

@@ -0,0 +1,39 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.AspNet.Extensions/1.0.0": {
"dependencies": {
"StellaOps.Settings": "1.0.0"
},
"runtime": {
"StellaOps.AspNet.Extensions.dll": {}
}
},
"StellaOps.Settings/1.0.0": {
"runtime": {
"StellaOps.Settings.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.AspNet.Extensions/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Settings/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Canonical.Json/1.0.0": {
"runtime": {
"StellaOps.Canonical.Json.dll": {}
}
}
}
},
"libraries": {
"StellaOps.Canonical.Json/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,428 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Configuration/1.0.0": {
"dependencies": {
"NetEscapades.Configuration.Yaml": "3.1.0",
"StellaOps.Auth.Abstractions": "1.0.0",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Cryptography.DependencyInjection": "1.0.0",
"StellaOps.Cryptography.Plugin.Pkcs11Gost": "1.0.0"
},
"runtime": {
"StellaOps.Configuration.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"NetEscapades.Configuration.Yaml/3.1.0": {
"dependencies": {
"YamlDotNet": "16.3.0"
},
"runtime": {
"lib/netstandard2.0/NetEscapades.Configuration.Yaml.dll": {
"assemblyVersion": "3.1.0.0",
"fileVersion": "3.1.0.0"
}
}
},
"Pkcs11Interop/5.1.2": {
"runtime": {
"lib/netstandard2.0/Pkcs11Interop.dll": {
"assemblyVersion": "5.1.2.0",
"fileVersion": "5.1.2.0"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Auth.Abstractions/1.0.0": {
"runtime": {
"StellaOps.Auth.Abstractions.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.DependencyInjection/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Cryptography.Plugin.OpenSslGost": "1.0.0",
"StellaOps.Cryptography.Plugin.Pkcs11Gost": "1.0.0",
"StellaOps.Cryptography.Plugin.PqSoft": "1.0.0",
"StellaOps.Cryptography.Plugin.SimRemote": "1.0.0",
"StellaOps.Cryptography.Plugin.SmRemote": "1.0.0",
"StellaOps.Cryptography.Plugin.SmSoft": "1.0.0",
"StellaOps.Cryptography.Plugin.WineCsp": "1.0.0",
"StellaOps.Cryptography.PluginLoader": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.OpenSslGost/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.OpenSslGost.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.Pkcs11Gost/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.IdentityModel.Tokens": "8.15.0",
"Pkcs11Interop": "5.1.2",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.Pkcs11Gost.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.PqSoft/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.PqSoft.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.SimRemote/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SimRemote.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.SmRemote/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SmRemote.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.SmSoft/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.IdentityModel.Tokens": "8.15.0",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SmSoft.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.WineCsp/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.WineCsp.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.PluginLoader/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.PluginLoader.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Configuration/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"NetEscapades.Configuration.Yaml/3.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-D5Pxt4hXABna5OwYQmAQukspW7LEoYgvfAqyw85gUF/gnH9pWHsZCLMXy2ewWoQ0PELZ1lOGFLDbDVeoCvtBgA==",
"path": "netescapades.configuration.yaml/3.1.0",
"hashPath": "netescapades.configuration.yaml.3.1.0.nupkg.sha512"
},
"Pkcs11Interop/5.1.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-5GHN9GHxfcyUejK761wkdJsRqvDO8Z3ET6gaSE0o0O/1HD3VttKojDgsGnqQ0AA0M7SyZjhFs0XJtG/ZKWAvRQ==",
"path": "pkcs11interop/5.1.2",
"hashPath": "pkcs11interop.5.1.2.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Auth.Abstractions/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.OpenSslGost/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.Pkcs11Gost/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.PqSoft/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.SimRemote/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.SmRemote/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.SmSoft/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.WineCsp/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.PluginLoader/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,221 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>StellaOps.Cryptography.PluginLoader</name>
</assembly>
<members>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration">
<summary>
Configuration for crypto plugin loading and selection.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.ManifestPath">
<summary>
Path to the plugin manifest JSON file.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.DiscoveryMode">
<summary>
Plugin discovery mode: "explicit" (only load configured plugins) or "auto" (load all compatible plugins).
Default: "explicit" for production safety.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Enabled">
<summary>
List of plugins to enable with optional priority and options overrides.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Disabled">
<summary>
List of plugin IDs or patterns to explicitly disable.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.FailOnMissingPlugin">
<summary>
Fail application startup if a configured plugin cannot be loaded.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.RequireAtLeastOne">
<summary>
Require at least one crypto provider to be successfully loaded.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Compliance">
<summary>
Compliance profile configuration.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry">
<summary>
Configuration entry for an enabled plugin.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Id">
<summary>
Plugin identifier from the manifest.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Priority">
<summary>
Priority override for this plugin (higher = preferred).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Options">
<summary>
Plugin-specific options (e.g., enginePath for OpenSSL GOST).
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration">
<summary>
Compliance profile configuration for regional crypto requirements.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.ProfileId">
<summary>
Compliance profile identifier (e.g., "gost", "fips", "eidas", "sm").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.StrictValidation">
<summary>
Enable strict validation (reject algorithms not compliant with profile).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.EnforceJurisdiction">
<summary>
Enforce jurisdiction filtering (only load plugins for specified jurisdictions).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.AllowedJurisdictions">
<summary>
Allowed jurisdictions (e.g., ["russia"], ["eu"], ["world"]).
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader">
<summary>
Loads crypto provider plugins dynamically based on manifest and configuration.
</summary>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.#ctor(StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration,Microsoft.Extensions.Logging.ILogger{StellaOps.Cryptography.PluginLoader.CryptoPluginLoader},System.String)">
<summary>
Initializes a new instance of the <see cref="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader"/> class.
</summary>
<param name="configuration">Plugin configuration.</param>
<param name="logger">Optional logger instance.</param>
<param name="pluginDirectory">Optional plugin directory path. Defaults to application base directory.</param>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.LoadProviders">
<summary>
Loads all configured crypto providers.
</summary>
<returns>Collection of loaded provider instances.</returns>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.PluginAssemblyLoadContext">
<summary>
AssemblyLoadContext for plugin isolation.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException">
<summary>
Exception thrown when a crypto plugin fails to load.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException.PluginId">
<summary>
Gets the identifier of the plugin that failed to load, if known.
</summary>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException.#ctor(System.String,System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException"/> class.
</summary>
<param name="message">Error message.</param>
<param name="pluginId">Plugin identifier, or null if unknown.</param>
<param name="innerException">Inner exception, or null.</param>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest">
<summary>
Root manifest structure declaring available crypto plugins.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Schema">
<summary>
Gets or inits the JSON schema URI for manifest validation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Version">
<summary>
Gets or inits the manifest version.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Plugins">
<summary>
Gets or inits the list of available crypto plugin descriptors.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor">
<summary>
Describes a single crypto plugin with its capabilities and metadata.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Id">
<summary>
Unique plugin identifier (e.g., "openssl.gost", "cryptopro.gost").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Name">
<summary>
Human-readable plugin name.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Assembly">
<summary>
Assembly file name containing the provider implementation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Type">
<summary>
Fully-qualified type name of the ICryptoProvider implementation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Capabilities">
<summary>
Capabilities supported by this plugin (e.g., "signing:ES256", "hashing:SHA256").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Jurisdiction">
<summary>
Jurisdiction/region where this plugin is applicable (e.g., "russia", "china", "eu", "world").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Compliance">
<summary>
Compliance standards supported (e.g., "GOST", "FIPS-140-3", "eIDAS").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Platforms">
<summary>
Supported platforms (e.g., "linux", "windows", "osx").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Priority">
<summary>
Priority for provider resolution (higher = preferred). Default: 50.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Options">
<summary>
Default options for plugin initialization.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.ConditionalCompilation">
<summary>
Conditional compilation symbol required for this plugin (e.g., "STELLAOPS_CRYPTO_PRO").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.EnabledByDefault">
<summary>
Whether this plugin is enabled by default. Default: true.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,718 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Http": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Cryptography.Plugin.OpenSslGost": "1.0.0",
"StellaOps.Cryptography.Plugin.Pkcs11Gost": "1.0.0",
"StellaOps.Cryptography.Plugin.PqSoft": "1.0.0",
"StellaOps.Cryptography.Plugin.SimRemote": "1.0.0",
"StellaOps.Cryptography.Plugin.SmRemote": "1.0.0",
"StellaOps.Cryptography.Plugin.SmSoft": "1.0.0",
"StellaOps.Cryptography.Plugin.WineCsp": "1.0.0",
"StellaOps.Cryptography.PluginLoader": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.DependencyInjection.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Http/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics": "10.0.1",
"Microsoft.Extensions.Logging": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Http.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Pkcs11Interop/5.1.2": {
"runtime": {
"lib/netstandard2.0/Pkcs11Interop.dll": {
"assemblyVersion": "5.1.2.0",
"fileVersion": "5.1.2.0"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.OpenSslGost/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.OpenSslGost.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.Pkcs11Gost/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0",
"Pkcs11Interop": "5.1.2",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.Pkcs11Gost.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.PqSoft/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.PqSoft.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.SimRemote/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SimRemote.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.SmRemote/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SmRemote.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.SmSoft/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SmSoft.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.Plugin.WineCsp/1.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.WineCsp.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Cryptography.PluginLoader/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"StellaOps.Cryptography": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.PluginLoader.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zerXV0GAR9LCSXoSIApbWn+Dq1/T+6vbXMHGduq1LoVQRHT0BXsGQEau0jeLUBUcsoF/NaUT8ADPu8b+eNcIyg==",
"path": "microsoft.extensions.dependencyinjection/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YaocqxscJLxLit0F5yq2XyB+9C7rSRfeTL7MJIl7XwaOoUO3i0EqfO2kmtjiRduYWw7yjcSINEApYZbzjau2gQ==",
"path": "microsoft.extensions.diagnostics/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Http/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ZXJup9ReE1Ot3M8jqcw1b/lnc8USxyYS3cyLsssU39u04TES9JNGviWUGIvP3K7mMU3TF7kQl2aS0SmVwegflw==",
"path": "microsoft.extensions.http/10.0.1",
"hashPath": "microsoft.extensions.http.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-9ItMpMLFZFJFqCuHLLbR3LiA4ahA8dMtYuXpXl2YamSDWZhYS9BruPprkftY0tYi2bQ0slNrixdFm+4kpz1g5w==",
"path": "microsoft.extensions.logging/10.0.1",
"hashPath": "microsoft.extensions.logging.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"Pkcs11Interop/5.1.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-5GHN9GHxfcyUejK761wkdJsRqvDO8Z3ET6gaSE0o0O/1HD3VttKojDgsGnqQ0AA0M7SyZjhFs0XJtG/ZKWAvRQ==",
"path": "pkcs11interop/5.1.2",
"hashPath": "pkcs11interop.5.1.2.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.OpenSslGost/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.Pkcs11Gost/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.PqSoft/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.SimRemote/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.SmRemote/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.SmSoft/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.Plugin.WineCsp/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Cryptography.PluginLoader/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,221 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>StellaOps.Cryptography.PluginLoader</name>
</assembly>
<members>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration">
<summary>
Configuration for crypto plugin loading and selection.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.ManifestPath">
<summary>
Path to the plugin manifest JSON file.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.DiscoveryMode">
<summary>
Plugin discovery mode: "explicit" (only load configured plugins) or "auto" (load all compatible plugins).
Default: "explicit" for production safety.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Enabled">
<summary>
List of plugins to enable with optional priority and options overrides.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Disabled">
<summary>
List of plugin IDs or patterns to explicitly disable.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.FailOnMissingPlugin">
<summary>
Fail application startup if a configured plugin cannot be loaded.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.RequireAtLeastOne">
<summary>
Require at least one crypto provider to be successfully loaded.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Compliance">
<summary>
Compliance profile configuration.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry">
<summary>
Configuration entry for an enabled plugin.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Id">
<summary>
Plugin identifier from the manifest.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Priority">
<summary>
Priority override for this plugin (higher = preferred).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Options">
<summary>
Plugin-specific options (e.g., enginePath for OpenSSL GOST).
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration">
<summary>
Compliance profile configuration for regional crypto requirements.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.ProfileId">
<summary>
Compliance profile identifier (e.g., "gost", "fips", "eidas", "sm").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.StrictValidation">
<summary>
Enable strict validation (reject algorithms not compliant with profile).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.EnforceJurisdiction">
<summary>
Enforce jurisdiction filtering (only load plugins for specified jurisdictions).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.AllowedJurisdictions">
<summary>
Allowed jurisdictions (e.g., ["russia"], ["eu"], ["world"]).
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader">
<summary>
Loads crypto provider plugins dynamically based on manifest and configuration.
</summary>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.#ctor(StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration,Microsoft.Extensions.Logging.ILogger{StellaOps.Cryptography.PluginLoader.CryptoPluginLoader},System.String)">
<summary>
Initializes a new instance of the <see cref="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader"/> class.
</summary>
<param name="configuration">Plugin configuration.</param>
<param name="logger">Optional logger instance.</param>
<param name="pluginDirectory">Optional plugin directory path. Defaults to application base directory.</param>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.LoadProviders">
<summary>
Loads all configured crypto providers.
</summary>
<returns>Collection of loaded provider instances.</returns>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.PluginAssemblyLoadContext">
<summary>
AssemblyLoadContext for plugin isolation.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException">
<summary>
Exception thrown when a crypto plugin fails to load.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException.PluginId">
<summary>
Gets the identifier of the plugin that failed to load, if known.
</summary>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException.#ctor(System.String,System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException"/> class.
</summary>
<param name="message">Error message.</param>
<param name="pluginId">Plugin identifier, or null if unknown.</param>
<param name="innerException">Inner exception, or null.</param>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest">
<summary>
Root manifest structure declaring available crypto plugins.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Schema">
<summary>
Gets or inits the JSON schema URI for manifest validation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Version">
<summary>
Gets or inits the manifest version.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Plugins">
<summary>
Gets or inits the list of available crypto plugin descriptors.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor">
<summary>
Describes a single crypto plugin with its capabilities and metadata.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Id">
<summary>
Unique plugin identifier (e.g., "openssl.gost", "cryptopro.gost").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Name">
<summary>
Human-readable plugin name.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Assembly">
<summary>
Assembly file name containing the provider implementation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Type">
<summary>
Fully-qualified type name of the ICryptoProvider implementation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Capabilities">
<summary>
Capabilities supported by this plugin (e.g., "signing:ES256", "hashing:SHA256").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Jurisdiction">
<summary>
Jurisdiction/region where this plugin is applicable (e.g., "russia", "china", "eu", "world").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Compliance">
<summary>
Compliance standards supported (e.g., "GOST", "FIPS-140-3", "eIDAS").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Platforms">
<summary>
Supported platforms (e.g., "linux", "windows", "osx").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Priority">
<summary>
Priority for provider resolution (higher = preferred). Default: 50.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Options">
<summary>
Default options for plugin initialization.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.ConditionalCompilation">
<summary>
Conditional compilation symbol required for this plugin (e.g., "STELLAOPS_CRYPTO_PRO").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.EnabledByDefault">
<summary>
Whether this plugin is enabled by default. Default: true.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,454 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.Plugin.OpenSslGost/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.OpenSslGost.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.Plugin.OpenSslGost/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,472 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.Plugin.Pkcs11Gost/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0",
"Pkcs11Interop": "5.1.2",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.Pkcs11Gost.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Pkcs11Interop/5.1.2": {
"runtime": {
"lib/netstandard2.0/Pkcs11Interop.dll": {
"assemblyVersion": "5.1.2.0",
"fileVersion": "5.1.2.0"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.Plugin.Pkcs11Gost/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"Pkcs11Interop/5.1.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-5GHN9GHxfcyUejK761wkdJsRqvDO8Z3ET6gaSE0o0O/1HD3VttKojDgsGnqQ0AA0M7SyZjhFs0XJtG/ZKWAvRQ==",
"path": "pkcs11interop/5.1.2",
"hashPath": "pkcs11interop.5.1.2.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,454 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.Plugin.PqSoft/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.PqSoft.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.Plugin.PqSoft/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,451 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.Plugin.SimRemote/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SimRemote.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.Plugin.SimRemote/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,451 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.Plugin.SmRemote/1.0.0": {
"dependencies": {
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SmRemote.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.Plugin.SmRemote/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,455 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.Plugin.SmSoft/1.0.0": {
"dependencies": {
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.SmSoft.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.Plugin.SmSoft/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,473 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.Plugin.WineCsp/1.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"StellaOps.Cryptography": "1.0.0",
"StellaOps.Plugin": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.Plugin.WineCsp.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.Plugin.WineCsp/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zerXV0GAR9LCSXoSIApbWn+Dq1/T+6vbXMHGduq1LoVQRHT0BXsGQEau0jeLUBUcsoF/NaUT8ADPu8b+eNcIyg==",
"path": "microsoft.extensions.dependencyinjection/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,296 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography.PluginLoader/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"StellaOps.Cryptography": "1.0.0"
},
"runtime": {
"StellaOps.Cryptography.PluginLoader.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography.PluginLoader/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
},
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,221 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>StellaOps.Cryptography.PluginLoader</name>
</assembly>
<members>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration">
<summary>
Configuration for crypto plugin loading and selection.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.ManifestPath">
<summary>
Path to the plugin manifest JSON file.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.DiscoveryMode">
<summary>
Plugin discovery mode: "explicit" (only load configured plugins) or "auto" (load all compatible plugins).
Default: "explicit" for production safety.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Enabled">
<summary>
List of plugins to enable with optional priority and options overrides.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Disabled">
<summary>
List of plugin IDs or patterns to explicitly disable.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.FailOnMissingPlugin">
<summary>
Fail application startup if a configured plugin cannot be loaded.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.RequireAtLeastOne">
<summary>
Require at least one crypto provider to be successfully loaded.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration.Compliance">
<summary>
Compliance profile configuration.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry">
<summary>
Configuration entry for an enabled plugin.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Id">
<summary>
Plugin identifier from the manifest.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Priority">
<summary>
Priority override for this plugin (higher = preferred).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.EnabledPluginEntry.Options">
<summary>
Plugin-specific options (e.g., enginePath for OpenSSL GOST).
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration">
<summary>
Compliance profile configuration for regional crypto requirements.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.ProfileId">
<summary>
Compliance profile identifier (e.g., "gost", "fips", "eidas", "sm").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.StrictValidation">
<summary>
Enable strict validation (reject algorithms not compliant with profile).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.EnforceJurisdiction">
<summary>
Enforce jurisdiction filtering (only load plugins for specified jurisdictions).
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoComplianceConfiguration.AllowedJurisdictions">
<summary>
Allowed jurisdictions (e.g., ["russia"], ["eu"], ["world"]).
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader">
<summary>
Loads crypto provider plugins dynamically based on manifest and configuration.
</summary>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.#ctor(StellaOps.Cryptography.PluginLoader.CryptoPluginConfiguration,Microsoft.Extensions.Logging.ILogger{StellaOps.Cryptography.PluginLoader.CryptoPluginLoader},System.String)">
<summary>
Initializes a new instance of the <see cref="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader"/> class.
</summary>
<param name="configuration">Plugin configuration.</param>
<param name="logger">Optional logger instance.</param>
<param name="pluginDirectory">Optional plugin directory path. Defaults to application base directory.</param>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.LoadProviders">
<summary>
Loads all configured crypto providers.
</summary>
<returns>Collection of loaded provider instances.</returns>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoader.PluginAssemblyLoadContext">
<summary>
AssemblyLoadContext for plugin isolation.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException">
<summary>
Exception thrown when a crypto plugin fails to load.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException.PluginId">
<summary>
Gets the identifier of the plugin that failed to load, if known.
</summary>
</member>
<member name="M:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException.#ctor(System.String,System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:StellaOps.Cryptography.PluginLoader.CryptoPluginLoadException"/> class.
</summary>
<param name="message">Error message.</param>
<param name="pluginId">Plugin identifier, or null if unknown.</param>
<param name="innerException">Inner exception, or null.</param>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest">
<summary>
Root manifest structure declaring available crypto plugins.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Schema">
<summary>
Gets or inits the JSON schema URI for manifest validation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Version">
<summary>
Gets or inits the manifest version.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginManifest.Plugins">
<summary>
Gets or inits the list of available crypto plugin descriptors.
</summary>
</member>
<member name="T:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor">
<summary>
Describes a single crypto plugin with its capabilities and metadata.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Id">
<summary>
Unique plugin identifier (e.g., "openssl.gost", "cryptopro.gost").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Name">
<summary>
Human-readable plugin name.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Assembly">
<summary>
Assembly file name containing the provider implementation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Type">
<summary>
Fully-qualified type name of the ICryptoProvider implementation.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Capabilities">
<summary>
Capabilities supported by this plugin (e.g., "signing:ES256", "hashing:SHA256").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Jurisdiction">
<summary>
Jurisdiction/region where this plugin is applicable (e.g., "russia", "china", "eu", "world").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Compliance">
<summary>
Compliance standards supported (e.g., "GOST", "FIPS-140-3", "eIDAS").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Platforms">
<summary>
Supported platforms (e.g., "linux", "windows", "osx").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Priority">
<summary>
Priority for provider resolution (higher = preferred). Default: 50.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.Options">
<summary>
Default options for plugin initialization.
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.ConditionalCompilation">
<summary>
Conditional compilation symbol required for this plugin (e.g., "STELLAOPS_CRYPTO_PRO").
</summary>
</member>
<member name="P:StellaOps.Cryptography.PluginLoader.CryptoPluginDescriptor.EnabledByDefault">
<summary>
Whether this plugin is enabled by default. Default: true.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,221 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Cryptography/1.0.0": {
"dependencies": {
"Blake3": "1.1.0",
"BouncyCastle.Cryptography": "2.6.2",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.IdentityModel.Tokens": "8.15.0"
},
"runtime": {
"StellaOps.Cryptography.dll": {}
}
},
"Blake3/1.1.0": {
"runtime": {
"lib/net7.0/Blake3.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.1.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm/native/libblake3_dotnet.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libblake3_dotnet.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libblake3_dotnet.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libblake3_dotnet.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libblake3_dotnet.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/blake3_dotnet.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/blake3_dotnet.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/blake3_dotnet.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"BouncyCastle.Cryptography/2.6.2": {
"runtime": {
"lib/net6.0/BouncyCastle.Cryptography.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.6.2.46322"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.IdentityModel.Logging": "8.15.0"
},
"runtime": {
"lib/net10.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "8.15.0.0",
"fileVersion": "8.15.0.61118"
}
}
}
}
},
"libraries": {
"StellaOps.Cryptography/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blake3/1.1.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/gWRFsXYeIFof8YAoFJwzv2fYjSTCo+6vvTSL6pyXw2ZLXQdRvEyXhO43jyDfEFBCTxMxWpoHbIcIEIF6a3QdQ==",
"path": "blake3/1.1.0",
"hashPath": "blake3.1.1.0.nupkg.sha512"
},
"BouncyCastle.Cryptography/2.6.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w==",
"path": "bouncycastle.cryptography/2.6.2",
"hashPath": "bouncycastle.cryptography.2.6.2.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-e/DApa1GfxUqHSBHcpiQg8yaghKAvFVBQFcWh25jNoRobDZbduTUACY8bZ54eeGWXvimGmEDdF0zkS5Dq16XPQ==",
"path": "microsoft.identitymodel.abstractions/8.15.0",
"hashPath": "microsoft.identitymodel.abstractions.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1gJLjhy0LV2RQMJ9NGzi5Tnb2l+c37o8D8Lrk2mrvmb6OQHZ7XJstd/XxvncXgBpad4x9CGXdipbZzJJCXKyAg==",
"path": "microsoft.identitymodel.logging/8.15.0",
"hashPath": "microsoft.identitymodel.logging.8.15.0.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/8.15.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zUE9ysJXBtXlHHRtcRK3Sp8NzdCI1z/BRDTXJQ2TvBoI0ENRtnufYIep0O5TSCJRJGDwwuLTUx+l/bEYZUxpCA==",
"path": "microsoft.identitymodel.tokens/8.15.0",
"hashPath": "microsoft.identitymodel.tokens.8.15.0.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,255 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
}
}
},
"libraries": {
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,41 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Determinism.Abstractions/1.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"StellaOps.Determinism.Abstractions.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
}
}
},
"libraries": {
"StellaOps.Determinism.Abstractions/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,41 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Determinism.Abstractions/1.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"StellaOps.Determinism.Abstractions.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
}
}
},
"libraries": {
"StellaOps.Determinism.Abstractions/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,41 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Determinism.Abstractions/1.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"StellaOps.Determinism.Abstractions.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
}
}
},
"libraries": {
"StellaOps.Determinism.Abstractions/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,285 @@
using System.Collections.Immutable;
using StellaOps.Doctor.AdvisoryAI.Models;
using StellaOps.Doctor.Models;
namespace StellaOps.Doctor.AdvisoryAI;
/// <summary>
/// Deterministic implementation of diagnosis service for offline-safe Doctor analysis.
/// </summary>
public sealed class DeterministicDoctorAIDiagnosisService : IDoctorAIDiagnosisService
{
public Task<DoctorAIDiagnosisResponse> AnalyzeAsync(
DoctorAIContext context,
DoctorAIDiagnosisOptions? options = null,
CancellationToken ct = default)
{
ArgumentNullException.ThrowIfNull(context);
ct.ThrowIfCancellationRequested();
var effectiveOptions = options ?? new DoctorAIDiagnosisOptions();
var focused = FilterResults(context.Results, effectiveOptions.FocusOnChecks);
var issues = BuildIssues(focused);
var rootCauses = effectiveOptions.IncludeRootCauseAnalysis ? BuildRootCauses(focused) : [];
var correlations = effectiveOptions.IncludeCorrelationAnalysis ? BuildCorrelations(focused) : [];
var actions = effectiveOptions.IncludeRemediationSuggestions ? BuildActions(focused) : [];
var documentation = focused
.Select(static result => result.Remediation?.RunbookUrl)
.Where(static url => !string.IsNullOrWhiteSpace(url))
.Select(static url => url!)
.Distinct(StringComparer.Ordinal)
.OrderBy(static url => url, StringComparer.Ordinal)
.ToImmutableArray();
var response = new DoctorAIDiagnosisResponse
{
Assessment = BuildAssessment(focused),
HealthScore = CalculateHealthScore(focused),
Issues = issues,
RootCauses = rootCauses,
Correlations = correlations,
RecommendedActions = actions,
RelatedDocumentation = documentation
};
return Task.FromResult(response);
}
public Task<AICheckRecommendations> GetRecommendationsAsync(
AICheckResult checkResult,
CancellationToken ct = default)
{
ArgumentNullException.ThrowIfNull(checkResult);
ct.ThrowIfCancellationRequested();
var recommendations = new AICheckRecommendations
{
CheckId = checkResult.CheckId,
Explanation = checkResult.Diagnosis,
MostLikelyCause = checkResult.LikelyCauses.FirstOrDefault()?.Cause,
Steps = checkResult.Remediation?.Steps
.OrderBy(static step => step.Order)
.Select(FormatRemediationStep)
.ToImmutableArray() ?? [],
VerificationCommand = checkResult.Remediation?.Steps
.OrderBy(static step => step.Order)
.Select(static step => step.VerificationCommand)
.FirstOrDefault(static command => !string.IsNullOrWhiteSpace(command)),
RelatedChecks = []
};
return Task.FromResult(recommendations);
}
private static ImmutableArray<AICheckResult> FilterResults(
ImmutableArray<AICheckResult> results,
IReadOnlyList<string>? focusOnChecks)
{
IEnumerable<AICheckResult> query = results;
if (focusOnChecks is { Count: > 0 })
{
var focusSet = focusOnChecks
.Where(static checkId => !string.IsNullOrWhiteSpace(checkId))
.ToHashSet(StringComparer.Ordinal);
if (focusSet.Count > 0)
{
query = query.Where(result => focusSet.Contains(result.CheckId));
}
}
return query
.OrderBy(static result => SeverityRank(result.Severity))
.ThenBy(static result => result.CheckId, StringComparer.Ordinal)
.ToImmutableArray();
}
private static ImmutableArray<AIIdentifiedIssue> BuildIssues(ImmutableArray<AICheckResult> results)
{
return results
.Where(static result => result.Severity is DoctorSeverity.Fail or DoctorSeverity.Warn)
.Select(result => new AIIdentifiedIssue
{
Summary = $"{result.CheckId}: {result.Diagnosis}",
AffectedChecks = [result.CheckId],
Severity = result.Severity.ToString().ToLowerInvariant(),
Impact = $"Category '{result.Category}' health is degraded.",
Urgency = result.Severity == DoctorSeverity.Fail ? "high" : "medium"
})
.ToImmutableArray();
}
private static ImmutableArray<AIRootCause> BuildRootCauses(ImmutableArray<AICheckResult> results)
{
var failing = results.Where(static result => result.Severity is DoctorSeverity.Fail or DoctorSeverity.Warn).ToImmutableArray();
if (failing.Length == 0)
{
return [];
}
var causes = failing
.SelectMany(result =>
result.LikelyCauses.Select(cause => new
{
cause.Cause,
result.CheckId,
Evidence = result.Evidence.Fields.Keys.OrderBy(static key => key, StringComparer.Ordinal).Take(3).ToImmutableArray()
}))
.GroupBy(static entry => entry.Cause, StringComparer.Ordinal)
.OrderByDescending(static group => group.Count())
.ThenBy(static group => group.Key, StringComparer.Ordinal)
.ToImmutableArray();
if (causes.Length == 0)
{
return [];
}
return causes
.Select(group => new AIRootCause
{
Cause = group.Key,
Confidence = (float)group.Count() / failing.Length,
SupportingEvidence = group
.SelectMany(static entry => entry.Evidence)
.Distinct(StringComparer.Ordinal)
.OrderBy(static evidence => evidence, StringComparer.Ordinal)
.ToImmutableArray(),
AffectedChecks = group
.Select(static entry => entry.CheckId)
.Distinct(StringComparer.Ordinal)
.OrderBy(static check => check, StringComparer.Ordinal)
.ToImmutableArray()
})
.ToImmutableArray();
}
private static ImmutableArray<AICorrelation> BuildCorrelations(ImmutableArray<AICheckResult> results)
{
return results
.Where(static result => result.Severity is DoctorSeverity.Fail or DoctorSeverity.Warn)
.GroupBy(static result => result.Category, StringComparer.Ordinal)
.SelectMany(group =>
{
var checks = group
.Select(static result => result.CheckId)
.Distinct(StringComparer.Ordinal)
.OrderBy(static check => check, StringComparer.Ordinal)
.ToImmutableArray();
if (checks.Length < 2)
{
return Enumerable.Empty<AICorrelation>();
}
return new[]
{
new AICorrelation
{
Issue1 = checks[0],
Issue2 = checks[1],
Description = $"Both issues are in category '{group.Key}' and likely share the same subsystem dependency.",
Strength = 0.7f
}
};
})
.ToImmutableArray();
}
private static ImmutableArray<string> BuildActions(ImmutableArray<AICheckResult> results)
{
var remediationSteps = results
.SelectMany(static result => result.Remediation is null
? Enumerable.Empty<AIRemediationStep>()
: result.Remediation.Steps)
.OrderBy(static step => step.Order)
.ThenBy(static step => step.Description, StringComparer.Ordinal)
.Select(FormatRemediationStep);
var verificationSteps = results
.SelectMany(static result => result.Remediation is null
? Enumerable.Empty<AIRemediationStep>()
: result.Remediation.Steps)
.OrderBy(static step => step.Order)
.Select(static step => step.VerificationCommand)
.Where(static command => !string.IsNullOrWhiteSpace(command))
.Select(static command => $"Verify: {command}");
var actions = remediationSteps
.Concat(verificationSteps)
.Distinct(StringComparer.Ordinal)
.ToImmutableArray();
if (actions.Length > 0)
{
return actions;
}
return results.Any(static result => result.Severity is DoctorSeverity.Fail or DoctorSeverity.Warn)
? ["Re-run failed checks after validating environment configuration and dependencies."]
: ["No remediation actions required; system health is stable."];
}
private static string BuildAssessment(ImmutableArray<AICheckResult> results)
{
var failCount = results.Count(static result => result.Severity == DoctorSeverity.Fail);
var warnCount = results.Count(static result => result.Severity == DoctorSeverity.Warn);
var total = results.Length;
if (total == 0)
{
return "No Doctor check results were provided for diagnosis.";
}
if (failCount > 0)
{
return $"Critical health issues detected: {failCount} failing checks and {warnCount} warnings.";
}
if (warnCount > 0)
{
return $"No critical failures detected; {warnCount} warning checks require follow-up.";
}
return "Doctor checks indicate a healthy system state.";
}
private static int CalculateHealthScore(ImmutableArray<AICheckResult> results)
{
if (results.Length == 0)
{
return 100;
}
var penalty = results.Sum(static result => result.Severity switch
{
DoctorSeverity.Fail => 100,
DoctorSeverity.Warn => 40,
DoctorSeverity.Info => 10,
DoctorSeverity.Skip => 5,
_ => 0
});
var maxPenalty = results.Length * 100;
var score = 100 - ((penalty * 100) / maxPenalty);
return Math.Clamp(score, 0, 100);
}
private static string FormatRemediationStep(AIRemediationStep step)
{
return string.IsNullOrWhiteSpace(step.Command)
? step.Description
: $"{step.Description}: {step.Command}";
}
private static int SeverityRank(DoctorSeverity severity) => severity switch
{
DoctorSeverity.Fail => 0,
DoctorSeverity.Warn => 1,
DoctorSeverity.Info => 2,
DoctorSeverity.Skip => 3,
DoctorSeverity.Pass => 4,
_ => 5
};
}

View File

@@ -0,0 +1,185 @@
using System.Collections.Immutable;
using System.Globalization;
using Microsoft.Extensions.Logging;
using StellaOps.Doctor.AdvisoryAI.Models;
using StellaOps.Doctor.Models;
namespace StellaOps.Doctor.AdvisoryAI;
/// <summary>
/// Default context adapter that projects Doctor reports into AI context models.
/// </summary>
public sealed class DoctorContextAdapter : IDoctorContextAdapter
{
private readonly IEvidenceSchemaRegistry _schemaRegistry;
private readonly ILogger<DoctorContextAdapter> _logger;
private readonly TimeProvider _timeProvider;
public DoctorContextAdapter(
IEvidenceSchemaRegistry schemaRegistry,
ILogger<DoctorContextAdapter> logger,
TimeProvider timeProvider)
{
_schemaRegistry = schemaRegistry;
_logger = logger;
_timeProvider = timeProvider;
}
public Task<DoctorAIContext> CreateContextAsync(DoctorReport report, CancellationToken ct = default)
{
ArgumentNullException.ThrowIfNull(report);
var projectedResults = report.Results
.OrderBy(static result => result.CheckId, StringComparer.Ordinal)
.Select(ConvertResult)
.ToImmutableArray();
var summary = new DoctorSummary
{
TotalChecks = report.Summary.Total,
PassedChecks = report.Summary.Passed,
InfoChecks = report.Summary.Info,
WarnedChecks = report.Summary.Warnings,
FailedChecks = report.Summary.Failed,
SkippedChecks = report.Summary.Skipped,
CategoriesWithIssues = projectedResults
.Where(static result => result.Severity is DoctorSeverity.Warn or DoctorSeverity.Fail)
.Select(static result => result.Category)
.Distinct(StringComparer.Ordinal)
.OrderBy(static category => category, StringComparer.Ordinal)
.ToImmutableArray()
};
var platformContext = ImmutableDictionary.CreateBuilder<string, string>(StringComparer.Ordinal);
platformContext["captured_at_utc"] = _timeProvider.GetUtcNow().ToString("o", CultureInfo.InvariantCulture);
platformContext["doctor_version"] = typeof(DoctorContextAdapter).Assembly.GetName().Version?.ToString() ?? "unknown";
var context = new DoctorAIContext
{
RunId = report.RunId,
ExecutedAt = report.CompletedAt,
OverallSeverity = report.OverallSeverity,
Summary = summary,
Results = projectedResults,
PlatformContext = platformContext.ToImmutable()
};
_logger.LogDebug("Created DoctorAIContext for run {RunId} with {Count} results", report.RunId, projectedResults.Length);
return Task.FromResult(context);
}
public AICheckResult ConvertResult(DoctorCheckResult result)
{
ArgumentNullException.ThrowIfNull(result);
var remediation = ConvertRemediation(result);
var likelyCauses = (result.LikelyCauses ?? [])
.OrderBy(static cause => cause, StringComparer.Ordinal)
.Select(static cause => new AICause
{
Cause = cause
})
.ToImmutableArray();
return new AICheckResult
{
CheckId = result.CheckId,
PluginId = result.PluginId,
Category = result.Category,
CheckName = result.CheckId,
Severity = result.Severity,
Diagnosis = result.Diagnosis,
Evidence = CreateAIEvidence(result),
LikelyCauses = likelyCauses,
Remediation = remediation
};
}
public AIEvidence CreateAIEvidence(DoctorCheckResult result)
{
var fields = ImmutableDictionary.CreateBuilder<string, AIEvidenceField>(StringComparer.Ordinal);
foreach (var entry in result.Evidence.Data.OrderBy(static kv => kv.Key, StringComparer.Ordinal))
{
var schema = _schemaRegistry.GetFieldSchema(result.CheckId, entry.Key);
fields[entry.Key] = new AIEvidenceField
{
Value = entry.Value,
Type = DetermineType(entry.Value),
Description = schema?.Description,
ExpectedRange = schema?.ExpectedRange,
AbsenceSemantics = schema?.AbsenceSemantics,
DiscriminatesFor = schema?.DiscriminatesFor ?? []
};
}
return new AIEvidence
{
Description = BuildEvidenceDescription(result),
Fields = fields.ToImmutable()
};
}
private static AIRemediation? ConvertRemediation(DoctorCheckResult result)
{
if (result.Remediation is null || result.Remediation.Steps.Count == 0)
{
return null;
}
var steps = result.Remediation.Steps
.OrderBy(static step => step.Order)
.Select(step => new AIRemediationStep
{
Order = step.Order,
Description = step.Description,
Command = step.Command,
CommandType = step.CommandType.ToString().ToLowerInvariant(),
IsSafeToAutoExecute = step.CommandType != CommandType.Manual && !step.IsDestructive,
VerificationCommand = result.VerificationCommand
})
.ToImmutableArray();
return new AIRemediation
{
RequiresBackup = result.Remediation.RequiresBackup,
SafetyNote = result.Remediation.SafetyNote,
Steps = steps,
RunbookUrl = result.Remediation.RunbookUrl
};
}
private static string DetermineType(string value)
{
if (bool.TryParse(value, out _))
{
return "bool";
}
if (long.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out _))
{
return "int";
}
if (decimal.TryParse(value, NumberStyles.Float, CultureInfo.InvariantCulture, out _))
{
return "float";
}
return "string";
}
private static string BuildEvidenceDescription(DoctorCheckResult result)
{
if (result.Evidence.Data.Count == 0)
{
return result.Evidence.Description;
}
var preview = result.Evidence.Data
.OrderBy(static kv => kv.Key, StringComparer.Ordinal)
.Take(4)
.Select(static kv => $"{kv.Key}={kv.Value}");
return $"{result.Evidence.Description} ({string.Join(", ", preview)})";
}
}

View File

@@ -0,0 +1,98 @@
using StellaOps.Doctor.AdvisoryAI.Models;
namespace StellaOps.Doctor.AdvisoryAI;
/// <summary>
/// Service contract for generating deterministic diagnosis from Doctor run context.
/// </summary>
public interface IDoctorAIDiagnosisService
{
Task<DoctorAIDiagnosisResponse> AnalyzeAsync(
DoctorAIContext context,
DoctorAIDiagnosisOptions? options = null,
CancellationToken ct = default);
Task<AICheckRecommendations> GetRecommendationsAsync(
AICheckResult checkResult,
CancellationToken ct = default);
}
public sealed record DoctorAIDiagnosisOptions
{
public bool IncludeRootCauseAnalysis { get; init; } = true;
public bool IncludeRemediationSuggestions { get; init; } = true;
public bool IncludeCorrelationAnalysis { get; init; } = true;
public int? MaxResponseTokens { get; init; }
public IReadOnlyList<string>? FocusOnChecks { get; init; }
}
public sealed record DoctorAIDiagnosisResponse
{
public required string Assessment { get; init; }
public int HealthScore { get; init; }
public IReadOnlyList<AIIdentifiedIssue> Issues { get; init; } = [];
public IReadOnlyList<AIRootCause> RootCauses { get; init; } = [];
public IReadOnlyList<AICorrelation> Correlations { get; init; } = [];
public IReadOnlyList<string> RecommendedActions { get; init; } = [];
public IReadOnlyList<string> RelatedDocumentation { get; init; } = [];
}
public sealed record AIIdentifiedIssue
{
public required string Summary { get; init; }
public IReadOnlyList<string> AffectedChecks { get; init; } = [];
public string Severity { get; init; } = "unknown";
public string? Impact { get; init; }
public string Urgency { get; init; } = "normal";
}
public sealed record AIRootCause
{
public required string Cause { get; init; }
public float Confidence { get; init; }
public IReadOnlyList<string> SupportingEvidence { get; init; } = [];
public IReadOnlyList<string> AffectedChecks { get; init; } = [];
}
public sealed record AICorrelation
{
public required string Issue1 { get; init; }
public required string Issue2 { get; init; }
public required string Description { get; init; }
public float Strength { get; init; }
}
public sealed record AICheckRecommendations
{
public required string CheckId { get; init; }
public required string Explanation { get; init; }
public string? MostLikelyCause { get; init; }
public IReadOnlyList<string> Steps { get; init; } = [];
public string? VerificationCommand { get; init; }
public IReadOnlyList<string> RelatedChecks { get; init; } = [];
}

View File

@@ -0,0 +1,16 @@
using StellaOps.Doctor.AdvisoryAI.Models;
using StellaOps.Doctor.Models;
namespace StellaOps.Doctor.AdvisoryAI;
/// <summary>
/// Translates Doctor run data into an AdvisoryAI diagnosis context.
/// </summary>
public interface IDoctorContextAdapter
{
Task<DoctorAIContext> CreateContextAsync(DoctorReport report, CancellationToken ct = default);
AICheckResult ConvertResult(DoctorCheckResult result);
AIEvidence CreateAIEvidence(DoctorCheckResult result);
}

View File

@@ -0,0 +1,138 @@
using System.Collections.Immutable;
namespace StellaOps.Doctor.AdvisoryAI;
/// <summary>
/// Registry of field-level evidence metadata used to enrich AI context.
/// </summary>
public interface IEvidenceSchemaRegistry
{
EvidenceFieldSchema? GetFieldSchema(string checkId, string fieldName);
IReadOnlyDictionary<string, EvidenceFieldSchema> GetCheckSchemas(string checkId);
void RegisterSchema(string checkId, string fieldName, EvidenceFieldSchema schema);
}
public sealed record EvidenceFieldSchema
{
public string? Description { get; init; }
public string? ExpectedRange { get; init; }
public string? AbsenceSemantics { get; init; }
public ImmutableArray<string> DiscriminatesFor { get; init; } = [];
public string? Unit { get; init; }
public bool IsKeyDiagnostic { get; init; }
}
/// <summary>
/// In-memory deterministic registry implementation.
/// </summary>
public sealed class InMemoryEvidenceSchemaRegistry : IEvidenceSchemaRegistry
{
private readonly object _sync = new();
private readonly Dictionary<string, Dictionary<string, EvidenceFieldSchema>> _schemas =
new(StringComparer.Ordinal);
public EvidenceFieldSchema? GetFieldSchema(string checkId, string fieldName)
{
lock (_sync)
{
if (_schemas.TryGetValue(checkId, out var checkSchemas) &&
checkSchemas.TryGetValue(fieldName, out var schema))
{
return schema;
}
if (_schemas.TryGetValue("*", out var wildcardSchemas) &&
wildcardSchemas.TryGetValue(fieldName, out var wildcardSchema))
{
return wildcardSchema;
}
}
return null;
}
public IReadOnlyDictionary<string, EvidenceFieldSchema> GetCheckSchemas(string checkId)
{
lock (_sync)
{
if (_schemas.TryGetValue(checkId, out var checkSchemas))
{
return new Dictionary<string, EvidenceFieldSchema>(checkSchemas, StringComparer.Ordinal);
}
}
return new Dictionary<string, EvidenceFieldSchema>(StringComparer.Ordinal);
}
public void RegisterSchema(string checkId, string fieldName, EvidenceFieldSchema schema)
{
ArgumentException.ThrowIfNullOrWhiteSpace(checkId);
ArgumentException.ThrowIfNullOrWhiteSpace(fieldName);
ArgumentNullException.ThrowIfNull(schema);
lock (_sync)
{
if (!_schemas.TryGetValue(checkId, out var checkSchemas))
{
checkSchemas = new Dictionary<string, EvidenceFieldSchema>(StringComparer.Ordinal);
_schemas[checkId] = checkSchemas;
}
checkSchemas[fieldName] = schema;
}
}
public void RegisterCommonSchemas()
{
RegisterSchema("*", "connection_latency_ms", new EvidenceFieldSchema
{
Description = "Time to establish connection.",
ExpectedRange = "< 1000",
Unit = "milliseconds",
IsKeyDiagnostic = true,
DiscriminatesFor = ["network_issue", "service_overloaded"]
});
RegisterSchema("*", "disk_usage_percent", new EvidenceFieldSchema
{
Description = "Disk space utilization percentage.",
ExpectedRange = "< 80",
Unit = "percent",
IsKeyDiagnostic = true,
DiscriminatesFor = ["disk_full", "log_growth"]
});
RegisterSchema("*", "memory_usage_percent", new EvidenceFieldSchema
{
Description = "Memory utilization percentage.",
ExpectedRange = "< 85",
Unit = "percent",
IsKeyDiagnostic = true,
DiscriminatesFor = ["memory_pressure", "load_spike"]
});
RegisterSchema("*", "cpu_usage_percent", new EvidenceFieldSchema
{
Description = "CPU utilization percentage.",
ExpectedRange = "< 80",
Unit = "percent",
IsKeyDiagnostic = true,
DiscriminatesFor = ["cpu_saturation", "runaway_process"]
});
RegisterSchema("*", "queue_depth", new EvidenceFieldSchema
{
Description = "Pending items waiting in queue.",
ExpectedRange = "< 100",
AbsenceSemantics = "Queue may be unavailable or empty.",
DiscriminatesFor = ["backpressure", "slow_consumer"]
});
}
}

View File

@@ -0,0 +1,132 @@
using System.Collections.Immutable;
using StellaOps.Doctor.Models;
namespace StellaOps.Doctor.AdvisoryAI.Models;
/// <summary>
/// Context pack containing Doctor run data structured for deterministic diagnosis.
/// </summary>
public sealed record DoctorAIContext
{
public required string RunId { get; init; }
public DateTimeOffset ExecutedAt { get; init; }
public DoctorSeverity OverallSeverity { get; init; }
public required DoctorSummary Summary { get; init; }
public ImmutableArray<AICheckResult> Results { get; init; } = [];
public ImmutableDictionary<string, string> PlatformContext { get; init; } = ImmutableDictionary<string, string>.Empty;
}
/// <summary>
/// Aggregate summary for a Doctor run.
/// </summary>
public sealed record DoctorSummary
{
public int TotalChecks { get; init; }
public int PassedChecks { get; init; }
public int InfoChecks { get; init; }
public int WarnedChecks { get; init; }
public int FailedChecks { get; init; }
public int SkippedChecks { get; init; }
public ImmutableArray<string> CategoriesWithIssues { get; init; } = [];
}
/// <summary>
/// AI-friendly projection of a Doctor check result.
/// </summary>
public sealed record AICheckResult
{
public required string CheckId { get; init; }
public required string PluginId { get; init; }
public required string Category { get; init; }
public required string CheckName { get; init; }
public DoctorSeverity Severity { get; init; }
public required string Diagnosis { get; init; }
public required AIEvidence Evidence { get; init; }
public ImmutableArray<AICause> LikelyCauses { get; init; } = [];
public AIRemediation? Remediation { get; init; }
public ImmutableArray<string> Tags { get; init; } = [];
}
/// <summary>
/// Evidence container enriched with semantic metadata.
/// </summary>
public sealed record AIEvidence
{
public required string Description { get; init; }
public ImmutableDictionary<string, AIEvidenceField> Fields { get; init; } = ImmutableDictionary<string, AIEvidenceField>.Empty;
}
public sealed record AIEvidenceField
{
public required string Value { get; init; }
public required string Type { get; init; }
public string? Description { get; init; }
public string? ExpectedRange { get; init; }
public string? AbsenceSemantics { get; init; }
public ImmutableArray<string> DiscriminatesFor { get; init; } = [];
}
public sealed record AICause
{
public required string Cause { get; init; }
public float? Probability { get; init; }
public ImmutableArray<string> EvidenceIndicating { get; init; } = [];
public string? Discriminator { get; init; }
}
public sealed record AIRemediation
{
public bool RequiresBackup { get; init; }
public string? SafetyNote { get; init; }
public ImmutableArray<AIRemediationStep> Steps { get; init; } = [];
public string? RunbookUrl { get; init; }
}
public sealed record AIRemediationStep
{
public int Order { get; init; }
public required string Description { get; init; }
public string? Command { get; init; }
public required string CommandType { get; init; }
public bool IsSafeToAutoExecute { get; init; }
public string? ExpectedOutcome { get; init; }
public string? VerificationCommand { get; init; }
}

View File

@@ -137,6 +137,7 @@ public sealed class JsonReportFormatter : IDoctorReportFormatter
{
SafetyNote = result.Remediation.SafetyNote,
RequiresBackup = result.Remediation.RequiresBackup,
RunbookUrl = result.Remediation.RunbookUrl,
Steps = result.Remediation.Steps.Select(s => new JsonRemediationStepOutput
{
Order = s.Order,
@@ -212,6 +213,7 @@ public sealed class JsonReportFormatter : IDoctorReportFormatter
{
public string? SafetyNote { get; set; }
public bool RequiresBackup { get; set; }
public string? RunbookUrl { get; set; }
public List<JsonRemediationStepOutput> Steps { get; set; } = [];
}

View File

@@ -172,6 +172,12 @@ public sealed class MarkdownReportFormatter : IDoctorReportFormatter
sb.AppendLine();
}
if (!string.IsNullOrWhiteSpace(result.Remediation.RunbookUrl))
{
sb.AppendLine($"**Runbook:** [{result.Remediation.RunbookUrl}]({result.Remediation.RunbookUrl})");
sb.AppendLine();
}
foreach (var step in result.Remediation.Steps)
{
sb.AppendLine($"{step.Order}. {step.Description}");

View File

@@ -113,6 +113,11 @@ public sealed class TextReportFormatter : IDoctorReportFormatter
sb.AppendLine(" [!] Backup recommended before applying fixes");
}
if (!string.IsNullOrWhiteSpace(result.Remediation.RunbookUrl))
{
sb.AppendLine($" [i] Runbook: {result.Remediation.RunbookUrl}");
}
foreach (var step in result.Remediation.Steps)
{
sb.AppendLine($" {step.Order}. {step.Description}");

View File

@@ -4,5 +4,7 @@ Source of truth: `docs/implplan/SPRINT_20260130_002_Tools_csproj_remediation_sol
| Task ID | Status | Notes |
| --- | --- | --- |
| QA-DOCTOR-VERIFY-001 | DONE | `doctor-advisoryai-integration` run-001 verified advisory-ai contracts in library; feature terminalized `not_implemented` due missing diagnosis endpoint/service wiring at Doctor WebService surface. |
| DOC-RMD-B1-003 | DONE | Implemented active AdvisoryAI stack in shared Doctor library (`AdvisoryAI/**`), including deterministic diagnosis service, context adapter, and evidence schema registry for run-002 remediation. |
| REMED-05 | TODO | Remediation checklist: docs/implplan/audits/csproj-standards/remediation/checklists/src/__Libraries/StellaOps.Doctor/StellaOps.Doctor.md. |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -0,0 +1,76 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Facet/1.0.0": {
"dependencies": {
"DotNet.Glob": "3.1.3",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"StellaOps.Facet.dll": {}
}
},
"DotNet.Glob/3.1.3": {
"runtime": {
"lib/netcoreapp2.1/DotNet.Glob.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
}
}
},
"libraries": {
"StellaOps.Facet/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DotNet.Glob/3.1.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hOfHw7MLJw/tbXaFwR1oiDb+dIXDp8URTxp5Pco42OOhiw77wrUNx6v6syNygHZbWwYdXQocL2Mo1l5FnfDVjg==",
"path": "dotnet.glob/3.1.3",
"hashPath": "dotnet.glob.3.1.3.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,255 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Infrastructure.Postgres/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Npgsql": "10.0.1"
},
"runtime": {
"StellaOps.Infrastructure.Postgres.dll": {}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Npgsql/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Npgsql.dll": {
"assemblyVersion": "10.0.1.0",
"fileVersion": "10.0.1.0"
}
}
}
}
},
"libraries": {
"StellaOps.Infrastructure.Postgres/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Npgsql/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XyUcxEfqlFomhNTG/ZdGlec+uSOQArKz0Mzz8jYKP/Jj9GM2YabU5CVZtp0yiC4f9hRp+tRZTnHMatJeJ3rwgw==",
"path": "npgsql/10.0.1",
"hashPath": "npgsql.10.0.1.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,255 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Infrastructure.Postgres/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Npgsql": "10.0.1"
},
"runtime": {
"StellaOps.Infrastructure.Postgres.dll": {}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Npgsql/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Npgsql.dll": {
"assemblyVersion": "10.0.1.0",
"fileVersion": "10.0.1.0"
}
}
}
}
},
"libraries": {
"StellaOps.Infrastructure.Postgres/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"Npgsql/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XyUcxEfqlFomhNTG/ZdGlec+uSOQArKz0Mzz8jYKP/Jj9GM2YabU5CVZtp0yiC4f9hRp+tRZTnHMatJeJ3rwgw==",
"path": "npgsql/10.0.1",
"hashPath": "npgsql.10.0.1.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Ingestion.Telemetry/1.0.0": {
"runtime": {
"StellaOps.Ingestion.Telemetry.dll": {}
}
}
}
},
"libraries": {
"StellaOps.Ingestion.Telemetry/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,290 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Plugin/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.DependencyInjection": "1.0.0",
"YamlDotNet": "16.3.0"
},
"runtime": {
"StellaOps.Plugin.dll": {}
}
},
"Microsoft.Extensions.Configuration/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration": "10.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.1",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.1",
"Microsoft.Extensions.Logging.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.DataAnnotations.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"YamlDotNet/16.3.0": {
"runtime": {
"lib/net8.0/YamlDotNet.dll": {
"assemblyVersion": "16.0.0.0",
"fileVersion": "16.3.0.0"
}
}
},
"StellaOps.DependencyInjection/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1",
"Microsoft.Extensions.Configuration.Binder": "10.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.1",
"Microsoft.Extensions.Options": "10.0.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1",
"Microsoft.Extensions.Options.DataAnnotations": "10.0.1"
},
"runtime": {
"StellaOps.DependencyInjection.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Plugin/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Configuration/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-njoRekyMIK+smav8B6KL2YgIfUtlsRNuT7wvurpLW+m/hoRKVnoELk2YxnUnWRGScCd1rukLMxShwLqEOKowDg==",
"path": "microsoft.extensions.configuration/10.0.1",
"hashPath": "microsoft.extensions.configuration.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Lp4CZIuTVXtlvkAnTq6QvMSW7+H62gX2cU2vdFxHQUxvrWTpi7LwYI3X+YAyIS0r12/p7gaosco7efIxL4yFNw==",
"path": "microsoft.extensions.configuration.binder/10.0.1",
"hashPath": "microsoft.extensions.configuration.binder.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QMoMrkNpnQym5mpfdxfxpRDuqLpsOuztguFvzH9p+Ex+do+uLFoi7UkAsBO4e9/tNR3eMFraFf2fOAi2cp3jjA==",
"path": "microsoft.extensions.diagnostics.abstractions/10.0.1",
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.FileProviders.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+b3DligYSZuoWltU5YdbMpIEUHNZPgPrzWfNiIuDkMdqOl93UxYB5KzS3lgpRfTXJhTNpo/CZ8w/sTkDTPDdxQ==",
"path": "microsoft.extensions.fileproviders.abstractions/10.0.1",
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Hosting.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qmoQkVZcbm4/gFpted3W3Y+1kTATZTcUhV3mRkbtpfBXlxWCHwh/2oMffVcCruaGOfJuEnyAsGyaSUouSdECOw==",
"path": "microsoft.extensions.hosting.abstractions/10.0.1",
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-G6VVwywpJI4XIobetGHwg7wDOYC2L2XBYdtskxLaKF/Ynb5QBwLl7Q//wxAR2aVCLkMpoQrjSP9VoORkyddsNQ==",
"path": "microsoft.extensions.options/10.0.1",
"hashPath": "microsoft.extensions.options.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.ConfigurationExtensions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pL78/Im7O3WmxHzlKUsWTYchKL881udU7E26gCD3T0+/tPhWVfjPwMzfN/MRKU7aoFYcOiqcG2k1QTlH5woWow==",
"path": "microsoft.extensions.options.configurationextensions/10.0.1",
"hashPath": "microsoft.extensions.options.configurationextensions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options.DataAnnotations/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gwHO+zpVQGKK9KB3yen82Tff2zdLHHGIJzTut9L8RvoOO2RMSyYZrOmElvxu0lA4ZyaSxy8I0oNw1S/O/vkvFg==",
"path": "microsoft.extensions.options.dataannotations/10.0.1",
"hashPath": "microsoft.extensions.options.dataannotations.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
},
"YamlDotNet/16.3.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==",
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"StellaOps.DependencyInjection/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,89 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Provenance/1.0.0": {
"dependencies": {
"StellaOps.Concelier.Models": "1.0.0"
},
"runtime": {
"StellaOps.Provenance.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"StellaOps.Concelier.Models/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "10.0.1",
"StellaOps.Concelier.RawModels": "1.0.0"
},
"runtime": {
"StellaOps.Concelier.Models.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StellaOps.Concelier.RawModels/1.0.0": {
"runtime": {
"StellaOps.Concelier.RawModels.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StellaOps.Provenance/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oIy8fQxxbUsSrrOvgBqlVgOeCtDmrcynnTG+FQufcUWBrwyPfwlUkCDB2vaiBeYPyT+20u9/HeuHeBf+H4F/8g==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YkmyiPIWAXVb+lPIrM0LE5bbtLOJkCiRTFiHpkVOvhI7uTvCfoOHLEN0LcsY56GpSD7NqX3gJNpsaDe87/B3zg==",
"path": "microsoft.extensions.logging.abstractions/10.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.1.nupkg.sha512"
},
"StellaOps.Concelier.Models/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StellaOps.Concelier.RawModels/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,59 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"StellaOps.Settings/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.1"
},
"runtime": {
"StellaOps.Settings.dll": {}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.1"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
},
"Microsoft.Extensions.Primitives/10.0.1": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.125.57005"
}
}
}
}
},
"libraries": {
"StellaOps.Settings/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kPlU11hql+L9RjrN2N9/0GcRcRcZrNFlLLjadasFWeBORT6pL6OE+RYRk90GGCyVGSxTK+e1/f3dsMj5zpFFiQ==",
"path": "microsoft.extensions.configuration.abstractions/10.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DO8XrJkp5x4PddDuc/CH37yDBCs9BYN6ijlKyR3vMb55BP1Vwh90vOX8bNfnKxr5B2qEI3D8bvbY1fFbDveDHQ==",
"path": "microsoft.extensions.primitives/10.0.1",
"hashPath": "microsoft.extensions.primitives.10.0.1.nupkg.sha512"
}
}
}

View File

@@ -0,0 +1,95 @@
using FluentAssertions;
using Microsoft.Extensions.Logging.Abstractions;
using StellaOps.Doctor.AdvisoryAI;
using StellaOps.Doctor.Models;
using StellaOps.TestKit.Templates;
using Xunit;
namespace StellaOps.Doctor.Tests.AdvisoryAI;
[Trait("Category", "Unit")]
public sealed class DoctorContextAdapterTests
{
[Fact]
public async Task CreateContextAsync_ProjectsSummaryAndEnrichedEvidence()
{
var registry = new InMemoryEvidenceSchemaRegistry();
registry.RegisterCommonSchemas();
var timeProvider = new FlakyToDeterministicPattern.FakeTimeProvider(
new DateTimeOffset(2026, 2, 11, 18, 0, 0, TimeSpan.Zero));
var adapter = new DoctorContextAdapter(
registry,
NullLogger<DoctorContextAdapter>.Instance,
timeProvider);
var report = new DoctorReport
{
RunId = "dr_context_001",
StartedAt = new DateTimeOffset(2026, 2, 11, 17, 59, 0, TimeSpan.Zero),
CompletedAt = new DateTimeOffset(2026, 2, 11, 18, 0, 0, TimeSpan.Zero),
Duration = TimeSpan.FromMinutes(1),
OverallSeverity = DoctorSeverity.Fail,
Summary = new DoctorReportSummary
{
Passed = 0,
Info = 0,
Warnings = 0,
Failed = 1,
Skipped = 0
},
Results =
[
new DoctorCheckResult
{
CheckId = "check.integration.latency",
PluginId = "stellaops.doctor.integration",
Category = "Integration",
Severity = DoctorSeverity.Fail,
Diagnosis = "Latency is too high.",
Evidence = new Evidence
{
Description = "Connection probe metrics",
Data = new Dictionary<string, string>
{
["connection_latency_ms"] = "1450",
["endpoint"] = "http://localhost:9000"
}
},
LikelyCauses = ["network_issue"],
Remediation = new Remediation
{
RequiresBackup = false,
SafetyNote = "No backup required.",
RunbookUrl = "https://docs.stella-ops.local/runbooks/network-latency",
Steps =
[
new RemediationStep
{
Order = 1,
Description = "Inspect endpoint latency",
Command = "stella doctor --check check.integration.latency",
CommandType = CommandType.Api
}
]
},
VerificationCommand = "stella doctor --check check.integration.latency",
Duration = TimeSpan.FromMilliseconds(200),
ExecutedAt = new DateTimeOffset(2026, 2, 11, 17, 59, 30, TimeSpan.Zero)
}
]
};
var context = await adapter.CreateContextAsync(report, CancellationToken.None);
context.RunId.Should().Be("dr_context_001");
context.Summary.FailedChecks.Should().Be(1);
context.Summary.CategoriesWithIssues.Should().ContainSingle("Integration");
context.Results.Should().HaveCount(1);
context.Results[0].Evidence.Fields.Should().ContainKey("connection_latency_ms");
context.Results[0].Evidence.Fields["connection_latency_ms"].ExpectedRange.Should().Be("< 1000");
context.Results[0].Remediation.Should().NotBeNull();
context.Results[0].Remediation!.RunbookUrl.Should().Be("https://docs.stella-ops.local/runbooks/network-latency");
context.PlatformContext.Should().ContainKey("captured_at_utc");
context.PlatformContext.Should().ContainKey("doctor_version");
}
}

View File

@@ -0,0 +1,40 @@
using FluentAssertions;
using StellaOps.Doctor.AdvisoryAI;
using Xunit;
namespace StellaOps.Doctor.Tests.AdvisoryAI;
[Trait("Category", "Unit")]
public sealed class InMemoryEvidenceSchemaRegistryTests
{
[Fact]
public void RegisterCommonSchemas_ExposesWildcardSchemaLookup()
{
var registry = new InMemoryEvidenceSchemaRegistry();
registry.RegisterCommonSchemas();
var schema = registry.GetFieldSchema("check.integration.example", "connection_latency_ms");
schema.Should().NotBeNull();
schema!.ExpectedRange.Should().Be("< 1000");
schema.IsKeyDiagnostic.Should().BeTrue();
}
[Fact]
public void RegisterSchema_OverridesWildcardForSpecificCheck()
{
var registry = new InMemoryEvidenceSchemaRegistry();
registry.RegisterCommonSchemas();
registry.RegisterSchema("check.specific", "connection_latency_ms", new EvidenceFieldSchema
{
ExpectedRange = "< 100",
Description = "Strict latency threshold."
});
var schema = registry.GetFieldSchema("check.specific", "connection_latency_ms");
schema.Should().NotBeNull();
schema!.ExpectedRange.Should().Be("< 100");
schema.Description.Should().Be("Strict latency threshold.");
}
}

View File

@@ -176,6 +176,26 @@ public sealed class JsonReportFormatterTests
doc.RootElement.TryGetProperty("duration", out _).Should().BeTrue();
}
[Fact]
public void Format_WithRunbookUrlInRemediation_ContainsRunbookUrl()
{
// Arrange
var formatter = new JsonReportFormatter();
var report = CreateReportWithRemediationRunbook("https://docs.stella-ops.org/runbooks/test-check");
// Act
var output = formatter.Format(report);
using var doc = JsonDocument.Parse(output);
// Assert
var runbookUrl = doc.RootElement
.GetProperty("results")[0]
.GetProperty("remediation")
.GetProperty("runbookUrl")
.GetString();
runbookUrl.Should().Be("https://docs.stella-ops.org/runbooks/test-check");
}
private static DoctorReport CreateEmptyReport(string? runId = null)
{
return new DoctorReport
@@ -249,6 +269,55 @@ public sealed class JsonReportFormatterTests
};
}
private static DoctorReport CreateReportWithRemediationRunbook(string runbookUrl)
{
var remediation = new Remediation
{
RunbookUrl = runbookUrl,
Steps =
[
new RemediationStep
{
Order = 1,
Description = "Apply deterministic fix",
Command = "stella doctor fix --from report.json",
CommandType = CommandType.Shell
}
]
};
var result = new DoctorCheckResult
{
CheckId = "check.test.remediation.runbook",
PluginId = "test.plugin",
Category = "Test",
Severity = DoctorSeverity.Fail,
Diagnosis = "Runbook projection test",
Evidence = new Evidence
{
Description = "Test evidence",
Data = new Dictionary<string, string>()
},
Remediation = remediation,
Duration = TimeSpan.FromMilliseconds(50),
ExecutedAt = DateTimeOffset.UtcNow
};
var results = ImmutableArray.Create(result);
var summary = DoctorReportSummary.FromResults(results);
return new DoctorReport
{
RunId = $"dr_test_{Guid.NewGuid():N}",
StartedAt = DateTimeOffset.UtcNow.AddSeconds(-1),
CompletedAt = DateTimeOffset.UtcNow,
Duration = TimeSpan.FromSeconds(1),
OverallSeverity = DoctorSeverity.Fail,
Summary = summary,
Results = results
};
}
private static DoctorCheckResult CreateCheckResult(DoctorSeverity severity, string checkId)
{
return new DoctorCheckResult

View File

@@ -0,0 +1,73 @@
// <copyright file="MarkdownReportFormatterTests.cs" company="Stella Operations">
// Copyright (c) Stella Operations. Licensed under BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using FluentAssertions;
using StellaOps.Doctor.Models;
using StellaOps.Doctor.Output;
using Xunit;
namespace StellaOps.Doctor.Tests.Output;
[Trait("Category", "Unit")]
public sealed class MarkdownReportFormatterTests
{
[Fact]
public void Format_WithRunbookUrlInRemediation_ContainsClickableRunbookLink()
{
var formatter = new MarkdownReportFormatter();
var report = CreateReportWithRemediationRunbook("https://docs.stella-ops.org/runbooks/markdown-check");
var output = formatter.Format(report);
output.Should().Contain("**Runbook:** [https://docs.stella-ops.org/runbooks/markdown-check](https://docs.stella-ops.org/runbooks/markdown-check)");
}
private static DoctorReport CreateReportWithRemediationRunbook(string runbookUrl)
{
var result = new DoctorCheckResult
{
CheckId = "check.test.markdown.runbook",
PluginId = "test.plugin",
Category = "Test",
Severity = DoctorSeverity.Fail,
Diagnosis = "Runbook markdown output test",
Evidence = new Evidence
{
Description = "Test evidence",
Data = new Dictionary<string, string>()
},
Remediation = new Remediation
{
RunbookUrl = runbookUrl,
Steps =
[
new RemediationStep
{
Order = 1,
Description = "Apply fix",
Command = "stella doctor fix --from report.json",
CommandType = CommandType.Shell
}
]
},
Duration = TimeSpan.FromMilliseconds(10),
ExecutedAt = DateTimeOffset.UtcNow
};
var results = ImmutableArray.Create(result);
var summary = DoctorReportSummary.FromResults(results);
return new DoctorReport
{
RunId = $"dr_test_{Guid.NewGuid():N}",
StartedAt = DateTimeOffset.UtcNow.AddSeconds(-1),
CompletedAt = DateTimeOffset.UtcNow,
Duration = TimeSpan.FromSeconds(1),
OverallSeverity = DoctorSeverity.Fail,
Summary = summary,
Results = results
};
}
}

View File

@@ -133,6 +133,21 @@ public sealed class TextReportFormatterTests
output.Should().Contain("check.test.example");
}
[Fact]
public void Format_WithRunbookUrlInRemediation_ContainsRunbookLink()
{
// Arrange
var formatter = new TextReportFormatter();
var report = CreateReportWithRemediationRunbook("https://docs.stella-ops.org/runbooks/text-check");
// Act
var output = formatter.Format(report);
// Assert
output.Should().Contain("Runbook:");
output.Should().Contain("https://docs.stella-ops.org/runbooks/text-check");
}
private static DoctorReport CreateEmptyReport(string? runId = null)
{
return new DoctorReport
@@ -224,4 +239,51 @@ public sealed class TextReportFormatterTests
ExecutedAt = DateTimeOffset.UtcNow
};
}
private static DoctorReport CreateReportWithRemediationRunbook(string runbookUrl)
{
var result = new DoctorCheckResult
{
CheckId = "check.test.runbook.output",
PluginId = "test.plugin",
Category = "Test",
Severity = DoctorSeverity.Fail,
Diagnosis = "Runbook output test",
Evidence = new Evidence
{
Description = "Test evidence",
Data = new Dictionary<string, string>()
},
Remediation = new Remediation
{
RunbookUrl = runbookUrl,
Steps =
[
new RemediationStep
{
Order = 1,
Description = "Apply fix",
Command = "stella doctor fix --from report.json",
CommandType = CommandType.Shell
}
]
},
Duration = TimeSpan.FromMilliseconds(50),
ExecutedAt = DateTimeOffset.UtcNow
};
var results = ImmutableArray.Create(result);
var summary = DoctorReportSummary.FromResults(results);
return new DoctorReport
{
RunId = $"dr_test_{Guid.NewGuid():N}",
StartedAt = DateTimeOffset.UtcNow.AddSeconds(-1),
CompletedAt = DateTimeOffset.UtcNow,
Duration = TimeSpan.FromSeconds(1),
OverallSeverity = DoctorSeverity.Fail,
Summary = summary,
Results = results
};
}
}

View File

@@ -4,5 +4,7 @@ Source of truth: `docs/implplan/SPRINT_20260130_002_Tools_csproj_remediation_sol
| Task ID | Status | Notes |
| --- | --- | --- |
| DOC-RMD-B1-001 | DONE | Added runbook URL projection coverage in JSON/Text/Markdown formatter tests for `doctor-runbook-url-integration` run-002 remediation. |
| DOC-RMD-B1-003 | DONE | Added AdvisoryAI unit coverage (`DoctorContextAdapterTests`, `InMemoryEvidenceSchemaRegistryTests`) for run-002 diagnosis remediation in shared Doctor library. |
| REMED-05 | TODO | Remediation checklist: docs/implplan/audits/csproj-standards/remediation/checklists/src/__Libraries/__Tests/StellaOps.Doctor.Tests/StellaOps.Doctor.Tests.md. |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |