diff --git a/Aetheria.State.Verify/Aetheria.State.Verify.csproj b/Aetheria.State.Verify/Aetheria.State.Verify.csproj new file mode 100644 index 000000000..ca788873d --- /dev/null +++ b/Aetheria.State.Verify/Aetheria.State.Verify.csproj @@ -0,0 +1,13 @@ + + + Exe + net10.0 + enable + latest + enable + + + + + + diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs new file mode 100644 index 000000000..878162f62 --- /dev/null +++ b/Aetheria.State.Verify/Program.cs @@ -0,0 +1,93 @@ +using Aetheria.State; +using Aetheria.State.Documents; + +var root = args.Length > 0 ? Path.GetFullPath(args[0]) : Directory.GetCurrentDirectory(); +var statePath = args.Length > 1 + ? Path.GetFullPath(args[1]) + : AetheriaStatePaths.ResolveDefaultStatePath(root); + +await using var node = await AetheriaStateNode.OpenAsync(statePath, "aetheria-state-verify"); + +var ledger = await node.GetMigrationLedgerAsync() + ?? throw new InvalidOperationException("Missing typed migration ledger."); +var quarantine = await node.GetLegacyCatalogQuarantineAsync() + ?? throw new InvalidOperationException("Missing legacy catalog quarantine document."); + +var items = node.Cache.GetAll().ToArray(); +var corporations = node.Cache.GetAll().ToArray(); +var nameFiles = node.Cache.GetAll().ToArray(); + +RequireCount(ledger, "aetheria.item_definition.v1", items.Length); +RequireCount(ledger, "aetheria.corporation.v1", corporations.Length); +RequireCount(ledger, "aetheria.name_file.v1", nameFiles.Length); + +if (items.Length == 0) +{ + throw new InvalidOperationException("Typed state has no item definitions."); +} + +if (corporations.Length == 0) +{ + throw new InvalidOperationException("Typed state has no corporations."); +} + +if (nameFiles.Length == 0) +{ + throw new InvalidOperationException("Typed state has no name files."); +} + +await RequireLegacyLookupAsync( + items[0].LegacyId, + () => node.GetItemDefinitionByLegacyIdAsync(items[0].LegacyId), + "item definition"); +await RequireLegacyLookupAsync( + corporations[0].LegacyId, + () => node.GetCorporationByLegacyIdAsync(corporations[0].LegacyId), + "corporation"); +await RequireLegacyLookupAsync( + nameFiles[0].LegacyId, + () => node.GetNameFileByLegacyIdAsync(nameFiles[0].LegacyId), + "name file"); + +if (string.IsNullOrWhiteSpace(quarantine.CatalogFingerprint)) +{ + throw new InvalidOperationException("Legacy catalog quarantine has no catalog fingerprint."); +} + +Console.WriteLine($"Aetheria typed state verify passed: {statePath}"); +Console.WriteLine($"Catalog fingerprint: {quarantine.CatalogFingerprint}"); +Console.WriteLine($"Item definitions: {items.Length}"); +Console.WriteLine($"Corporations: {corporations.Length}"); +Console.WriteLine($"Name files: {nameFiles.Length}"); + +static void RequireCount(AetheriaMigrationLedger ledger, string documentType, int actual) +{ + var expected = ledger.Counts.FirstOrDefault(count => count.DocumentType == documentType)?.Count; + if (expected == null) + { + throw new InvalidOperationException($"Migration ledger is missing count for {documentType}."); + } + + if (expected.Value != actual) + { + throw new InvalidOperationException( + $"Migration ledger count mismatch for {documentType}: ledger={expected.Value}, actual={actual}."); + } +} + +static async Task RequireLegacyLookupAsync( + string legacyId, + Func> lookup, + string label) where T : class +{ + if (string.IsNullOrWhiteSpace(legacyId)) + { + throw new InvalidOperationException($"Cannot verify {label}: legacy id is empty."); + } + + var value = await lookup().ConfigureAwait(false); + if (value == null) + { + throw new InvalidOperationException($"Typed legacy-id lookup failed for {label} {legacyId}."); + } +} diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.deps.json b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.deps.json new file mode 100644 index 000000000..a7ef8ed34 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.deps.json @@ -0,0 +1,293 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v10.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v10.0": { + "Aetheria.State.Verify/1.0.0": { + "dependencies": { + "Aetheria.State": "1.0.0" + }, + "runtime": { + "Aetheria.State.Verify.dll": {} + } + }, + "ConcurrentHashSet/1.3.0": { + "runtime": { + "lib/netstandard2.0/ConcurrentCollections.dll": { + "assemblyVersion": "1.3.0.0", + "fileVersion": "1.3.0.0" + } + } + }, + "Isopoh.Cryptography.Argon2/2.0.0": { + "dependencies": { + "Isopoh.Cryptography.Blake2b": "2.0.0", + "Isopoh.Cryptography.SecureArray": "2.0.0" + }, + "runtime": { + "lib/net7.0/Isopoh.Cryptography.Argon2.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Isopoh.Cryptography.Blake2b/2.0.0": { + "dependencies": { + "Isopoh.Cryptography.SecureArray": "2.0.0" + }, + "runtime": { + "lib/net7.0/Isopoh.Cryptography.Blake2b.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Isopoh.Cryptography.SecureArray/2.0.0": { + "runtime": { + "lib/net7.0/Isopoh.Cryptography.SecureArray.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "LiteNetLib/2.1.2": { + "runtime": { + "lib/net8.0/LiteNetLib.dll": { + "assemblyVersion": "2.1.2.0", + "fileVersion": "2.1.2.0" + } + } + }, + "MessagePack/3.1.4": { + "dependencies": { + "MessagePack.Annotations": "3.1.4", + "Microsoft.NET.StringTools": "17.11.4" + }, + "runtime": { + "lib/net9.0/MessagePack.dll": { + "assemblyVersion": "3.1.4.0", + "fileVersion": "3.1.4.0" + } + } + }, + "MessagePack.Annotations/3.1.4": { + "runtime": { + "lib/netstandard2.0/MessagePack.Annotations.dll": { + "assemblyVersion": "3.1.4.0", + "fileVersion": "3.1.4.0" + } + } + }, + "Microsoft.NET.StringTools/17.11.4": { + "runtime": { + "lib/net8.0/Microsoft.NET.StringTools.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "17.11.4.40609" + } + } + }, + "R3/1.3.0": { + "runtime": { + "lib/net8.0/R3.dll": { + "assemblyVersion": "1.3.0.0", + "fileVersion": "1.3.0.0" + } + } + }, + "Aetheria.State/1.0.0": { + "dependencies": { + "GameCult.Caching": "1.0.3", + "GameCult.Caching.MessagePack": "1.0.3", + "GameCult.Mesh": "1.0.3", + "GameCult.Networking": "1.0.3" + }, + "runtime": { + "Aetheria.State.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "GameCult.Caching/1.0.3": { + "dependencies": { + "ConcurrentHashSet": "1.3.0", + "GameCult.Logging": "1.0.3", + "R3": "1.3.0" + }, + "runtime": { + "GameCult.Caching.dll": { + "assemblyVersion": "1.0.3.0", + "fileVersion": "1.0.3.0" + } + } + }, + "GameCult.Caching.MessagePack/1.0.3": { + "dependencies": { + "GameCult.Caching": "1.0.3", + "GameCult.Caching.MessagePack.Analyzers": "1.0.3", + "MessagePack": "3.1.4" + }, + "runtime": { + "GameCult.Caching.MessagePack.dll": { + "assemblyVersion": "1.0.3.0", + "fileVersion": "1.0.3.0" + } + } + }, + "GameCult.Caching.MessagePack.Analyzers/1.0.3": { + "runtime": { + "GameCult.Caching.MessagePack.Analyzers.dll": { + "assemblyVersion": "1.0.3.0", + "fileVersion": "1.0.3.0" + } + } + }, + "GameCult.Logging/1.0.3": { + "runtime": { + "GameCult.Logging.dll": { + "assemblyVersion": "1.0.3.0", + "fileVersion": "1.0.3.0" + } + } + }, + "GameCult.Mesh/1.0.3": { + "dependencies": { + "GameCult.Caching": "1.0.3", + "GameCult.Caching.MessagePack": "1.0.3", + "GameCult.Networking": "1.0.3" + }, + "runtime": { + "GameCult.Mesh.dll": { + "assemblyVersion": "1.0.3.0", + "fileVersion": "1.0.3.0" + } + } + }, + "GameCult.Networking/1.0.3": { + "dependencies": { + "GameCult.Caching": "1.0.3", + "GameCult.Caching.MessagePack": "1.0.3", + "GameCult.Logging": "1.0.3", + "Isopoh.Cryptography.Argon2": "2.0.0", + "LiteNetLib": "2.1.2", + "MessagePack": "3.1.4", + "R3": "1.3.0" + }, + "runtime": { + "GameCult.Networking.dll": { + "assemblyVersion": "1.0.3.0", + "fileVersion": "1.0.3.0" + } + } + } + } + }, + "libraries": { + "Aetheria.State.Verify/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "ConcurrentHashSet/1.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a30gfk4WDn2f7sOisXpko+CrQ7s5nL1ZWk4afnRwwRQHWPRrRSZpzn5Dz2YWpJtS90NJqkytQ/MkzHq4QYTIbg==", + "path": "concurrenthashset/1.3.0", + "hashPath": "concurrenthashset.1.3.0.nupkg.sha512" + }, + "Isopoh.Cryptography.Argon2/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8ytWN19j+qARb/XYi7KkNMm4Z8zS6tfGgnsZ1N5ihbQ5LXfyL+uYowfJxtGW9TO0S8NM2q0BaTKGOtOlsrhclQ==", + "path": "isopoh.cryptography.argon2/2.0.0", + "hashPath": "isopoh.cryptography.argon2.2.0.0.nupkg.sha512" + }, + "Isopoh.Cryptography.Blake2b/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Co56bjSZV13fpvYHEN04qG8hqc0rKRm4os8iEgpJ/kujvt0pYtOVhj5J0Q7HBPbHwpcChRh2CjYVCGm4nw85VQ==", + "path": "isopoh.cryptography.blake2b/2.0.0", + "hashPath": "isopoh.cryptography.blake2b.2.0.0.nupkg.sha512" + }, + "Isopoh.Cryptography.SecureArray/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oWbRv/BTztKJxKFr3FBurWBBCgE1+nUTm3pwtA3Yg7Xeo4wDpaLstAwqx8HeQG3/b9yOs2qykpqfbNPJ40McIw==", + "path": "isopoh.cryptography.securearray/2.0.0", + "hashPath": "isopoh.cryptography.securearray.2.0.0.nupkg.sha512" + }, + "LiteNetLib/2.1.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+bmu7Vj+ik3xGX+qubsFuGSR8Pdri4Og7D9YAer83vHotkSHNLYL5bkZNgpvsK8GrcdNOUabZhqbYtmHu8as7A==", + "path": "litenetlib/2.1.2", + "hashPath": "litenetlib.2.1.2.nupkg.sha512" + }, + "MessagePack/3.1.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BH0wlHWmVoZpbAPyyt2Awbq30C+ZsS3eHSkYdnyUAbqVJ22fAJDzn2xTieBeoT5QlcBzp61vHcv878YJGfi3mg==", + "path": "messagepack/3.1.4", + "hashPath": "messagepack.3.1.4.nupkg.sha512" + }, + "MessagePack.Annotations/3.1.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aVWrDAkCdqxwQsz/q0ldPh2EFn48M99YUzE9OvZjMq2RNLKz4o2z88iGFvSvbMqOWRweRvKPHBJZe22PRqzslQ==", + "path": "messagepack.annotations/3.1.4", + "hashPath": "messagepack.annotations.3.1.4.nupkg.sha512" + }, + "Microsoft.NET.StringTools/17.11.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mudqUHhNpeqIdJoUx2YDWZO/I9uEDYVowan89R6wsomfnUJQk6HteoQTlNjZDixhT2B4IXMkMtgZtoceIjLRmA==", + "path": "microsoft.net.stringtools/17.11.4", + "hashPath": "microsoft.net.stringtools.17.11.4.nupkg.sha512" + }, + "R3/1.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c4bL37HGimYon/qfRTZOJE41M3cgdMJn/p4O5Jq+WHTJGNXUb1x2DlVI+iZk5phCBwq3ERfrgbaPu9WdG2OS+w==", + "path": "r3/1.3.0", + "hashPath": "r3.1.3.0.nupkg.sha512" + }, + "Aetheria.State/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "GameCult.Caching/1.0.3": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "GameCult.Caching.MessagePack/1.0.3": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "GameCult.Caching.MessagePack.Analyzers/1.0.3": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "GameCult.Logging/1.0.3": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "GameCult.Mesh/1.0.3": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "GameCult.Networking/1.0.3": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.dll new file mode 100644 index 000000000..e8e13402e --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10df2ef3b22ac10a7654a740984cdf31744fe43c42b66ed906d32f4f360272e0 +size 13824 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.exe b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.exe new file mode 100644 index 000000000..bbb905523 Binary files /dev/null and b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.exe differ diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.runtimeconfig.json b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.runtimeconfig.json new file mode 100644 index 000000000..01e45192a --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.Verify.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net10.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "10.0.0" + }, + "configProperties": { + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.dll new file mode 100644 index 000000000..adb84470b --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/Aetheria.State.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce1dea4707abfa9035c5aaccd70dc511a12046b535cb924c2f4252d29c6d9712 +size 57344 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/ConcurrentCollections.dll b/Aetheria.State.Verify/bin/Debug/net10.0/ConcurrentCollections.dll new file mode 100644 index 000000000..362b7d8a2 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/ConcurrentCollections.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe768c5c4f8a2c109b4e0677d804fa655c1726c35957635f66dc1ed0b3fb7734 +size 13824 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.dll new file mode 100644 index 000000000..a918eb586 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0aef8297578b1320f5077ae55692936eefc125484ecb46eed06f586e2a982fca +size 5120 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.xml new file mode 100644 index 000000000..effbe1082 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.Analyzers.xml @@ -0,0 +1,13 @@ + + + + GameCult.Caching.MessagePack.Analyzers + + + + + Placeholder type for the analyzer packaging project. + + + + diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.dll new file mode 100644 index 000000000..e804d4dc6 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2ff9b60fdbdefb4192392b86523f0cf71cf5859d52aead99014b7d9cf1c7723 +size 25088 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.xml new file mode 100644 index 000000000..a6027a462 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.MessagePack.xml @@ -0,0 +1,226 @@ + + + + GameCult.Caching.MessagePack + + + + + Options for opening a CultCache over the canonical single-file MessagePack backing store. + + + + + Gets or sets the document registry to use. When omitted, the shared registry is used. + + + + + Gets or sets whether the cache should pull the existing snapshot during open. + + + + + Gets or sets whether the cache should flush attached stores when disposed. + + + + + Gets or sets whether the backing store should flush when disposed. + + + + + Gets or sets an optional callback used to customize the cache before opening. + + + + + Gets or sets an optional callback used to customize the backing store before opening. + + + + + Gets or sets whether the cache should use a paged directory store instead of one whole-file snapshot. + + + + + Gets or sets the directory used for paged records. When omitted, the store uses the file path plus ".records". + + + + + Gets or sets an optional callback used to customize the directory backing store before opening. + + + + + Friendly MessagePack entrypoints for opening a CultCache with the canonical backing store. + + + + + Creates a cache with the canonical single-file MessagePack backing store attached. + + + + + Creates a cache with the canonical single-file MessagePack backing store attached and optionally pulls the on-disk snapshot. + + + + + MessagePack resolver for CultCache-specific value types. + + + + + Gets the shared resolver instance. + + + + + Gets a formatter for the requested type, when this resolver owns it. + + + + + MessagePack serialization helpers for CultCache documents and backing stores. + + + + + Gets the shared MessagePack serializer options for CultCache payloads. + + + + + Serializes a typed value with the CultCache MessagePack options. + + + + + Deserializes a typed value with the CultCache MessagePack options. + + + + + Serializes a value whose document type is known at runtime. + + + + + Deserializes a value whose document type is known at runtime. + + + + + Serializes one persisted store record. + + + + + Deserializes one persisted store record. + + + + + Serializes a schema catalog. + + + + + Deserializes a schema catalog. + + + + + Serializes a complete persisted store snapshot. + + + + + Deserializes a complete persisted store snapshot. + + + + + Single-file CultCache backing store that persists snapshots as MessagePack. + + + + + Creates a MessagePack single-file backing store. + + + + + Serializes a store snapshot. + + + + + Deserializes a store snapshot. + + + + + Serializes one document payload. + + + + + Deserializes one document payload. + + + + + MessagePack backing store that keeps a small schema manifest hot and stores each record as its own cold file. + + + + + Creates a paged MessagePack backing store. + + + + + Gets the default record directory path for a manifest path. + + + + + + + + + + + + + + + + + Serializes typed CultCache record references as their persisted key strings. + + + + + Writes a typed record reference to MessagePack. + + + + + Reads a typed record reference from MessagePack. + + + + A MessagePack resolver that uses generated formatters for types in this assembly. + + + An instance of this resolver that only returns formatters specifically generated for types in this assembly. + + + diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.dll new file mode 100644 index 000000000..e9456bb80 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8122f77d7e095dc60fe6a11c5504af887019e57cdfdf7ae8ebe569263ac6d6c6 +size 82944 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.xml new file mode 100644 index 000000000..9554681e9 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Caching.xml @@ -0,0 +1,1138 @@ + + + + GameCult.Caching + + + + + Persisted schema metadata embedded in a CultCache backing store. + + + + + Gets or sets the content-derived schema identifier. + + + + + Gets or sets the stable schema name. + + + + + Gets or sets the schema version string. + + + + + Gets or sets the canonical schema content hash. + + + + + Gets or sets the canonical schema description. + + + + + Gets or sets schema identifiers compatible with this entry. + + + + + Gets or sets the persisted member descriptors used for compatibility checks. + + + + + Persisted catalog entry describing one schema member. + + + + + Gets or sets the persisted slot number. + + + + + Gets or sets the member name. + + + + + Gets or sets the persisted type name. + + + + + Gets or sets whether the member is a reference. + + + + + Gets or sets whether the member stores many values. + + + + + Gets or sets the referenced schema name, when the member is a reference. + + + + + Gets or sets whether the member provides the name lookup. + + + + + Gets or sets the index alias, when the member participates in lookups. + + + + + Persisted serialized document record. + + + + + Gets or sets the persisted record key. + + + + + Gets or sets the schema identifier used to deserialize the payload. + + + + + Gets or sets the storage timestamp. + + + + + Gets or sets the serialized document payload. + + + + + Complete snapshot persisted by a single-file CultCache backing store. + + + + + Gets or sets the backing store format version. + + + + + Gets or sets the embedded schema catalog. + + + + + Gets or sets the persisted records. + + + + + Classifies how a persisted schema mapped onto the local document registry. + + + + + The persisted schema matched the local schema exactly. + + + + + The persisted schema required a compatible soft-migration path. + + + + + Describes one schema-resolution warning emitted during load. + + + + + Gets or sets the stable warning code. + + + + + Gets or sets the human-readable warning text. + + + + + Reports how one persisted schema entry resolved against the local schema catalog. + + + + + Gets or sets the persisted schema identifier. + + + + + Gets or sets the local schema identifier selected for reading. + + + + + Gets or sets the persisted schema name. + + + + + Gets or sets the local schema name. + + + + + Gets or sets how the persisted schema matched locally. + + + + + Gets or sets the persisted member slots ignored by the local reader. + + + + + Gets or sets the local member slots defaulted because the persisted record did not contain them. + + + + + Gets or sets emitted migration warnings. + + + + + Runtime descriptor for a CultCache document type. + + + + + Gets the CLR document type. + + + + + Gets the stable schema name. + + + + + Gets the schema version string. + + + + + Gets the content-derived schema identifier. + + + + + Gets the canonical schema content hash. + + + + + Gets the canonical schema description. + + + + + Gets whether this document type stores one global record. + + + + + Gets the document name member, if any. + + + + + Gets the generated payload serializer, if one is available. + + + + + Gets the generated payload deserializer, if one is available. + + + + + Converts this descriptor into a persisted schema catalog entry. + + + + + Stores a resolved document together with its descriptor and key. + + + + + Creates a stored document wrapper. + + + + + Gets the record key. + + + + + Gets the storage timestamp. + + + + + Gets the document descriptor. + + + + + Gets the document instance. + + + + + Discovers, indexes, and resolves CultCache document descriptors. + + + + + Gets the shared process-wide document registry. + + + + + Creates a registry and discovers currently loaded document metadata. + + + + + Gets all known document descriptors. + + + + + Rebuilds the registry from generated metadata and reflected document attributes. + + + + + Gets the descriptor for a document type, building it when needed. + + + + + Gets the descriptor for a document type. + + + + + Gets a descriptor by its schema identifier. + + + + + Resolves a persisted schema identifier against the local registry and embedded catalog. + + + + + Resolves a persisted schema identifier and returns the selected descriptor with migration diagnostics. + + + + + In-memory document cache with pluggable persisted backing stores. + + + + + Creates a cache using the supplied document registry or the shared registry. + + + + + Gets or sets the cache logger. + + + + + Gets whether the cache currently holds unflushed mutations in any attached backing store or only in memory. + + + + + Gets the UTC timestamp of the last successful flush across all attached backing stores. + + + + + Gets or sets whether disposing the cache should flush attached dirty backing stores first. + + + + + Raised when a backing store adds, updates, or removes a document. + + + + + Gets attached backing stores in registration order. + + + + + Gets all document instances currently held by the cache. + + + + + Gets all stored document records currently held by the cache. + + + + + Gets the document registry used by this cache. + + + + + Opens a reactive POCO presentation for one cache-managed document. + + + + + Watches all local cache changes assignable to the requested document type. + + + + + Watches one local cache record. + + + + + Gets the cache-owned structure-of-arrays table for a document type. + + + + + Attaches a backing store to this cache. + + + + + Pulls all documents from every attached backing store. + + + + + Flushes all attached backing stores. + + + + + Flushes all attached backing stores. + + + + + Flushes one attached backing store. + + + + + Flushes attached backing stores at a lifecycle boundary such as shutdown or assembly reload. + + + + + Flushes attached backing stores at a lifecycle boundary such as shutdown or assembly reload. + + + + + Adds or replaces a typed document and returns its record handle. + + + + + Adds or replaces a typed document and returns its record handle. + + + + + Adds or replaces a document whose concrete type is known at runtime. + + + + + Gets the record handle for a document instance, if it is tracked. + + + + + Gets a document by record key. + + + + + Gets a typed document by record key. + + + + + Tries to get a typed document by record key. + + + + + Gets all cached documents assignable to the requested type. + + + + + Gets the global document for the requested type, if one exists. + + + + + Gets a typed document by its CultName value. + + + + + Tries to get a typed document by its CultName value. + + + + + Gets a typed document by an indexed value. + + + + + Tries to get a typed document by an indexed value. + + + + + Resolves a typed document reference against this cache. + + + + + Removes a document by typed handle. + + + + + Removes a document by cache-owned record key. + + + + + Removes a document by typed handle. + + + + + Disposes attached disposable backing stores. + + + + + Base class for CultCache persistence adapters. + + + + + Gets the attached document registry. + + + + + Gets the backing store entries by record key. + + + + + Gets or sets the backing store logger. + + + + + Gets whether the backing store holds staged mutations not yet durably flushed. + + + + + Gets the UTC timestamp of the last successful durable flush. + + + + + Gets or sets whether disposing the backing store should flush staged mutations first. + + + + + Gets schema migration reports emitted during the most recent pull. + + + + + Publishes documents added by the backing store. + + + + + Publishes documents updated by the backing store. + + + + + Publishes documents deleted by the backing store. + + + + + Pulls all persisted records into the backing store. + + + + + Pushes one stored document into the backing store. + + + + + Deletes one stored document from the backing store. + + + + + Persists all current backing store entries. + + + + + Releases backing store event subjects. + + + + + Converts a stored document into a persisted record. + + + + + Converts a persisted record into a stored document. + + + + + Records schema migration reports captured during a pull. + + + + + Marks the backing store as durably flushed. + + + + + Base class for backing stores that persist a complete snapshot to one file. + + + + + Creates a single-file backing store. + + + + + Gets the file used by this backing store. + + + + + Serializes a full store snapshot. + + + + + Deserializes a full store snapshot. + + + + + Serializes one document payload. + + + + + Deserializes one document payload. + + + + + Loads every persisted record from disk. + + + + + Stages one stored document in memory. + + + + + Removes one staged document. + + + + + Writes the staged snapshot to disk. + + + + + Marks a type as a CultCache document with a stable schema name and version. + + + + + Creates a document marker for the supplied schema identity. + + + + + Gets the stable schema name used by CultCache and CultNet. + + + + + Gets the semantic schema version string for this document shape. + + + + + Marks a document type as having one global record in a cache. + + + + + Marks the member that supplies the human-readable document name. + + + + + Marks a member as an indexed lookup value. + + + + + Creates an index marker with an optional alias. + + + + + Gets the external index alias, or null to use the member name. + + + + + Marks a member as a reference to another CultCache document. + + + + + Creates a document reference marker. + + + + + Gets the explicit referenced document type, when one is required. + + + + + Gets whether this member stores many references rather than one reference. + + + + + Identifies a record inside a CultCache backing store. + + + + + Creates a record key from its persisted string value. + + + + + Gets the persisted key value. + + + + + Returns the persisted key value. + + + + + Returns whether this key and another key contain the same persisted value. + + + + + Returns whether this key and another object contain the same persisted value. + + + + + Returns a hash code for the persisted key value. + + + + + Carries the persisted record key for a typed document. + + + + + Creates a typed document handle. + + + + + Gets the persisted record key. + + + + + Returns the persisted key value. + + + + + Stores a typed reference to a CultCache document. + + + + + Creates a typed document reference. + + + + + Gets the referenced record key. + + + + + Resolves the referenced record against the provided cache. + + + + + Returns the referenced key value. + + + + + Registers a generated CultCache document metadata provider with an assembly. + + + + + Creates an assembly metadata provider registration. + + + + + Gets the provider type that can create generated document definitions. + + + + + Supplies generated CultCache document metadata for an assembly. + + + + + Gets the generated document definitions exposed by the provider. + + + + + Describes one generated CultCache document contract. + + + + + Creates a generated document contract definition. + + + + + Gets the CLR document type. + + + + + Gets the stable CultCache schema name. + + + + + Gets the schema version string. + + + + + Gets whether this document type stores one global record. + + + + + Gets the member used as the document name, if any. + + + + + Gets the generated name accessor, if any. + + + + + Gets the generated payload serializer, if one was emitted. + + + + + Gets the generated payload deserializer, if one was emitted. + + + + + Gets the generated index accessors. + + + + + Gets the generated persisted member definitions. + + + + + Describes a generated accessor for one CultCache index. + + + + + Creates a generated index accessor. + + + + + Gets the index alias. + + + + + Gets the function that extracts the index value. + + + + + Describes one generated persisted document member. + + + + + Creates a generated persisted member definition. + + + + + Gets the CLR member name. + + + + + Gets the persisted slot number. + + + + + Gets the persisted type name. + + + + + Gets whether this member stores a document reference. + + + + + Gets whether this member stores many references. + + + + + Gets the target schema name for reference members. + + + + + Gets whether this member is the document name. + + + + + Gets the index alias for indexed members. + + + + + Describes how a CultCache-managed document changed. + + + + + A document was added. + + + + + A document was updated. + + + + + A document was removed. + + + + + One reactive CultCache document change. + + + + + Creates a document change. + + + + + Gets the change kind. + + + + + Gets the document record key. + + + + + Gets the current POCO presentation, when present. + + + + + Gets the previous POCO presentation, when present. + + + + + Reactive POCO presentation for one CultCache-managed document. + + + + + Creates a managed document presentation. + + + + + Gets the document record key. + + + + + Gets the current POCO presentation. + + + + + Watches committed values for this document. + + + + + Commits the current POCO value through the owner-supplied commit path. + + + + + Replaces the current value through the owner-supplied commit path. + + + + + CPU-local structure-of-arrays table owned by CultCache for one document type. + + + + + Gets record keys in row order. + + + + + Gets POCO presentations in row order. + + + + + Gets the row count. + + + + + Gets a contiguous unmanaged field/property column. + + + + + Contiguous typed SoA column. + + + + + Gets the column name. + + + + + Gets the backing array. + + + + + Gets the backing array as a span. + + + + diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.dll new file mode 100644 index 000000000..586324a27 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baf021c02d7b24d4ea22eeab835e8f1074b7fa7de7051a07394d83d0ecb246b0 +size 6656 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.xml new file mode 100644 index 000000000..2f7996996 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Logging.xml @@ -0,0 +1,94 @@ + + + + GameCult.Logging + + + + + Writes log messages to the process console. + + + + + + + + + + + + + + + + + Appends timestamped log entries to a file on disk. + + + + + Initializes a new file-backed logger. + + The path to the log file to append to. + + + + + + + + + + + + + + + + Defines the logging contract used across CultLib components. + + + + + Writes an informational message. + + The message to record. + + + + Writes a warning message. + + The message to record. + + + + Writes an error message. + + The message to record. + + + + Writes a debug message. + + The message to record. + + + + Provides a no-op logger implementation. + + + + + + + + + + + + + + + + diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.dll new file mode 100644 index 000000000..c2e992697 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efb056dbf2c901e672ea66578a734e68477214c59ef678593c5d0e44dc7d1379 +size 75776 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.xml new file mode 100644 index 000000000..a6164bc30 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Mesh.xml @@ -0,0 +1,849 @@ + + + + GameCult.Mesh + + + + + Options for creating a local CultMesh node. + + + + + Gets or sets the cache-open options used for the underlying CultCache. + + + + + Gets or sets the server security configuration. When omitted, development defaults are used. + + + + + Gets or sets whether the server should start immediately after creation. + + + + + Gets or sets the mesh database sharding options used for the hosted CultCache. + + + + + Gets or sets whether CultMesh should attach a file-backed authoritative shard-log store when none is supplied. + + + + + Gets or sets the directory used for file-backed authoritative shard logs. + + + + + Gets or sets the database server bridge options used for shard routing and forwarding. + + + + + Gets or sets an optional callback used to customize the server before start. + + + + + A locally hosted CultMesh node over CultCache, CultNet transport, and the mesh database facade. + + + + + Gets the durable cache used by the node. + + + + + Gets the canonical single-file MessagePack store, when one is attached. + + + + + Gets the underlying CultNet server. + + + + + Gets the distributed realtime database facade. + + + + + Gets the schema-v0 server bridge for distributed database messages. + + + + + Starts the underlying server. + + + + + Flushes the durable cache. + + + + + + + + Public CultMesh entrypoints. + + + + + Creates a local CultMesh node with a durable CultCache and the canonical MessagePack backing store. + + + + + Creates and starts a local CultMesh node with development-friendly defaults. + + + + + Creates a local reactive catalog for discovered Verses. + + + + + Creates a local reactive catalog for discovered peers. + + + + + Creates a local authority lease catalog. + + + + + Creates a local stream catalog for zero-copy-oriented audio, video, tensor, and byte frame streams. + + + + + Creates a committer for writing quorum simulation facts to a mesh database. + + + + + Creates a gameplay-facing session facade over a CultMesh node. + + + + + Attaches Verse discovery responses to a CultMesh node. + + + + + Creates a client for fetching Verse catalogs from discovery endpoints. + + + + + Attaches peer exchange responses to a CultMesh node. + + + + + Creates a client for fetching peer cards from peer exchange endpoints. + + + + + Creates a CultNet client configured for CultMesh use. + + + + + Creates and connects a CultNet client to a CultMesh node. + + + + + Grants one peer authority to perform roles for a Verse over a bounded interval. + + + + + Creates an authority lease. + + + + Gets the stable lease id. + + + Gets the Verse id governed by the lease. + + + Gets the peer id receiving authority. + + + Gets the roles granted by this lease. + + + Gets shard ids covered by this lease. Empty means every shard in the Verse. + + + Gets the runtime that issued the lease. + + + Gets the first timestamp when the lease is valid. + + + Gets the timestamp when the lease expires. + + + Gets an optional signature over the lease. + + + + Returns whether this lease is valid at the supplied time. + + + + + Returns whether this lease covers a peer card, role, and shard. + + + + + Local authority lease catalog. + + + + Gets all known leases. + + + Adds or replaces an authority lease. + + + Gets a lease by id, if known. + + + + Returns whether a peer card is authorized for a role and optional shard. + + + + + Options for creating a gameplay-facing CultMesh session facade. + + + + + Gets or sets the Verse catalog used by the session. + + + + + Gets or sets the peer catalog used by the session. + + + + + Gets or sets the authority lease catalog used by the session. + + + + + Gets or sets simulation consensus options. + + + + + Gets or sets whether incoming observation messages should update the session hub. + + + + + Gets or sets whether the node should answer Verse catalog requests from the session catalog. + + + + + Gets or sets whether the node should answer peer exchange requests from the session peer catalog. + + + + + Gameplay-facing facade over common CultMesh runtime pieces. + + + + + Creates a game session facade. + + + + + Gets the underlying node. + + + + + Gets the session Verse catalog. + + + + + Gets the session peer catalog. + + + + + Gets the session authority lease catalog. + + + + + Gets the session simulation observation hub. + + + + + Gets the session simulation fact committer. + + + + + Watches consensus candidate updates. + + + + + Watches committed simulation facts. + + + + + Applies a local client prediction through the underlying database. + + + + + Submits one witness observation and returns the current candidates for that subject. + + + + + Submits one witness observation and commits any new quorum facts it creates. + + + + + Commits quorum candidates that have not already been committed by this session. + + + + + + + + Well-known CultMesh peer roles. + + + + Peer can answer discovery requests. + + + Peer can serve authoritative shard logs. + + + Peer can serve replicated shard logs. + + + Peer can serve read traffic. + + + Peer can observe simulation facts. + + + + Candidate peer contact information for a Verse. + + + + + Creates a peer card. + + + + Gets the stable peer id. + + + Gets the Verse id this peer participates in. + + + Gets reachable endpoints. + + + Gets advertised roles. + + + Gets shard ids this peer can serve or observe. + + + Gets an optional region/locality label. + + + Gets the authority lease id, when present. + + + Gets the expiry timestamp for this card. + + + Gets an optional signature over the card. + + + + Returns whether the card advertises a role. + + + + + Conversion helpers for CultMesh peer exchange messages. + + + + + Converts a peer card to its schema-v0 wire shape. + + + + + Converts a wire peer card to the local public API shape. + + + + + Reactive local catalog for discovered CultMesh peers. + + + + Gets all known peers. + + + Watches peer card updates. + + + Adds or replaces a peer card. + + + Adds or replaces peer cards from a wire response. + + + Finds peers by Verse and optional role. + + + + + + + Answers CultMesh peer exchange requests from a local peer catalog. + + + + + Creates and attaches a peer exchange bridge. + + + + + Creates a peer exchange response for a request. + + + + + + + + Options for schema-v0 CultMesh peer exchange clients. + + + + + Gets or sets client security options used to connect to peer exchange endpoints. + + + + + Gets or sets how long to wait for a connection before failing. + + + + + Gets or sets how long to wait for a peer exchange response before failing. + + + + + Gets or sets a callback used to customize each ephemeral exchange client. + + + + + Fetches peer cards from CultMesh peers. + + + + + Creates a peer exchange client. + + + + + Fetches peer cards from one endpoint. + + + + + Fetches peer cards from endpoints and upserts every response into a local peer catalog. + + + + + Committed simulation fact derived from witness consensus. + + + + + Stable fact identifier. + + + + + Shard containing the simulation. + + + + + Shard authority epoch observed by witnesses. + + + + + Simulation frame or tick. + + + + + Subject the fact is about. + + + + + Fact kind, such as hit, collision, or ownership. + + + + + Hash of the accepted claim. + + + + + Optional readable or app-specific claim detail. + + + + + Number of distinct witnesses supporting the fact. + + + + + Supporting witness weight. + + + + + Total observed weight for the same subject/frame/kind. + + + + + Support divided by total observed weight. + + + + + Commit timestamp. + + + + + Builds a deterministic record key for a simulation fact. + + + + + Builds a stable fact id for a consensus candidate. + + + + + Creates a committed fact document from a quorum candidate. + + + + + Commits quorum simulation candidates into the CultMesh database. + + + + + Creates a simulation fact committer. + + + + + Commits a quorum candidate as a simulation fact document. + + + + + Describes how a CultMesh Verse makes authority decisions. + + + + + A known operator cluster is authoritative for committed world state. + + + + + Regional operators share authority for lower latency and availability. + + + + + Peers participate directly in authority decisions. + + + + + The Verse follows another Verse and applies declared overlays. + + + + + Declares transport and rules compatibility for a Verse. + + + + + Creates compatibility metadata. + + + + + Gets the CultMesh/CultNet transport compatibility version. + + + + + Gets the stable rules hash. + + + + + Gets Verse ids this Verse can transfer from or subscribe to. + + + + + Gets plugin ids required to enter this Verse. + + + + + Gets plugin ids supported but not required by this Verse. + + + + + Describes one CultMesh Verse: a rule-bearing consensus graph. + + + + + Creates a Verse descriptor. + + + + + Gets the stable Verse id. + + + + + Gets the human-facing Verse name. + + + + + Gets the authority model used by this Verse. + + + + + Gets compatibility metadata for transport, rules, and plugins. + + + + + Gets discovery endpoints for nodes serving this Verse. + + + + + Gets known authoritative runtime ids, when authority is cluster-shaped. + + + + + Gets the parent Verse id for subscribed overlays or branches. + + + + + Gets optional public description. + + + + + Returns whether this Verse can accept transfer from another Verse. + + + + + Computes a stable rules hash from ordered rules/plugin parts. + + + + + Reactive local catalog for discovered CultMesh Verses. + + + + + Gets all known Verses. + + + + + Watches Verse discovery updates. + + + + + Adds or replaces a discovered Verse. + + + + + Adds or replaces Verses from a wire catalog response. + + + + + Gets a Verse by id, if known. + + + + + Gets known Verses that can accept transfer from the supplied source Verse. + + + + + + + + Conversion helpers for CultMesh Verse wire messages. + + + + + Converts a local Verse descriptor to its schema-v0 wire shape. + + + + + Converts a schema-v0 Verse descriptor to the local public API shape. + + + + + Answers CultMesh Verse discovery requests from a local Verse catalog. + + + + + Creates and attaches a Verse discovery bridge. + + + + + Creates a Verse catalog response for a request. + + + + + + + + Options for schema-v0 CultMesh Verse discovery clients. + + + + + Gets or sets client security options used to connect to discovery endpoints. + + + + + Gets or sets how long to wait for a connection before failing. + + + + + Gets or sets how long to wait for a discovery response before failing. + + + + + Gets or sets a callback used to customize each ephemeral discovery client. + + + + + Fetches CultMesh Verse catalogs from discovery endpoints. + + + + + Creates a Verse discovery client. + + + + + Fetches a Verse catalog response from one discovery endpoint. + + + + + Fetches Verse catalogs from endpoints and upserts every response into a local catalog. + + + + diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.dll b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.dll new file mode 100644 index 000000000..817add6e0 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c60ae6f62d7be5982550e5840d0fe2c5ec9872bbbabfd729301dfc166bf6778 +size 332800 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.xml b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.xml new file mode 100644 index 000000000..579c68585 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/GameCult.Networking.xml @@ -0,0 +1,3737 @@ + + + + GameCult.Networking + + + + + Describes the client's reconnect posture. + + + + + The client is connected or otherwise not trying to reconnect. + + + + + The client is waiting for the next reconnect attempt. + + + + + The client is actively attempting a reconnect. + + + + + Provides client-side connection, authentication, and message dispatch logic. + + + + + Raised when the client encounters a user-visible error. + + + + + Raised when reconnect state changes. + + + + + Gets or sets the logger used by the client. + + + + + Gets the last reported round-trip latency in milliseconds. + + + + + Gets the current reconnect posture exposed to consumers. + + + + + Gets or sets whether raw payload bodies may be logged for diagnostics. + + + + + Gets or sets whether CultNet schema-v0 messages may be sent before user session verification. + + + + + Gets a value indicating whether the client currently has a verified session. + + + + + Gets a value indicating whether the network manager has been created. + + + + + Initializes a new client instance. + + Validated client security configuration. This must be provided explicitly by the caller. + + + + Sends a message when the client is connected and authorized to do so. + + The message type. + The message to send. + + + + Sends a modern CultNet schema-v0 message when the client is connected and authorized. + + + + + Removes all registered message listeners. + + + + + Adds a listener for a specific message type. + + The message type to subscribe to. + The callback to invoke when the message is received. + + + + Adds a listener for a specific message type. + + + + + Adds a listener for a modern CultNet schema-v0 message type. + + + + + Adds a listener for a modern CultNet schema-v0 message type. + + + + + Removes a previously registered listener for a specific message type. + + The message type to unsubscribe from. + The callback to remove. + + + + Removes a previously registered listener for a specific message type. + + + + + Removes a previously registered modern CultNet schema-v0 listener. + + + + + Removes a previously registered modern CultNet schema-v0 listener. + + + + + Sends a login request. + + The email address or username. + The plaintext password. + + + + Sends a registration request. + + The email address for the new account. + The requested username. + The plaintext password. + + + + Connects the client to a server and starts polling LiteNetLib events. + + The remote host name or IP address. + The remote server port. + + + + Disconnects the client and suppresses automatic reconnect. + + + + + + + + Carries the client-side networking configuration required to talk to a server. + + + + + Shared LiteNetLib connection key and encryption seed. + + + + + Initializes a new client security configuration. + + The shared connection key used by both client and server. + + + + Creates a deterministic development-only configuration. + + + + + Describes the kind of domain change observed through a distributed CultCache surface. + + + + + A document was added. + + + + + A document was updated. + + + + + A document was removed. + + + + + A document was accepted through compatible schema migration. + + + + + A document change was rejected. + + + + + A document was applied locally before authoritative commit. + + + + + A predicted document was replaced by the authoritative committed state. + + + + + Declares which documents this runtime may predict locally before authoritative commit. + + + + + Creates a client authority scope. + + + + + Gets the runtime that owns authoring for this scope. + + + + + Gets the schema ids governed by this scope. Empty means all schemas. + + + + + Gets the optional record-key prefix governed by this scope. + + + + + Describes one shard owned or observed by a CultNet database surface. + + + + + Creates a shard descriptor. + + + + + Gets the stable shard identifier. + + + + + Gets the runtime that currently owns writes for this shard. + + + + + Gets the monotonic shard authority epoch. + + + + + Gets whether the local database instance is authoritative for writes to this shard. + + + + + Gets the schema ids governed by this shard. Empty means all schemas. + + + + + Gets the optional record-key prefix governed by this shard. + + + + + Gets endpoints that can accept authoritative writes for this shard. + + + + + Gets endpoints that replicate authoritative shard mutations. + + + + + Gets endpoints intended for low-latency read and subscription traffic. + + + + + Gets an optional locality label for this shard owner. + + + + + Creates a primary shard that accepts every schema and key. + + + + + Creates a read-only shard descriptor. + + + + + Options for creating a distributed CultCache database surface. + + + + + Gets or sets the local runtime id advertised as shard owner for default primary shards. + + + + + Gets or sets explicit shard descriptors. When omitted, this instance owns one primary shard for all records. + + + + + Gets or sets document scopes this runtime may predict before authoritative commit. + + + + + Gets or sets the document registry used to create and apply raw CultNet document messages. + + + + + Gets or sets the durable store for accepted shard mutation logs. + + + + + A typed domain change emitted by a CultNet database surface. + + + + + Creates a database change. + + + + + Gets the change kind. + + + + + Gets the changed record key. + + + + + Gets the schema id of the changed document. + + + + + Gets the shard that accepted or rejected the change. + + + + + Gets the current document for added and updated events. + + + + + Gets the previous document for updated and removed events. + + + + + Gets an optional diagnostic message. + + + + + One ordered mutation accepted for a shard. + + + + + Creates a shard mutation log entry. + + + + + Gets the shard id. + + + + + Gets the shard epoch. + + + + + Gets the per-shard mutation sequence. + + + + + Gets the commit timestamp. + + + + + Gets the mutation kind. + + + + + Gets the schema id. + + + + + Gets the record key. + + + + + Gets the current document, when present. + + + + + Gets the previous document, when present. + + + + + Raised when a database write targets a shard this node does not own. + + + + + Creates a shard authority exception. + + + + + Gets the shard that rejected the write. + + + + + Gets the machine-readable authority rejection reason. + + + + + Database-style CultNet facade over a CultCache shard set. + + + + + Creates a database surface over a CultCache instance. + + + + + Gets the local cache backing this database surface. + + + + + Gets the document registry used by the raw CultNet lane. + + + + + Gets the shard map known to this database surface. + + + + + Gets the document scopes this runtime may predict before authoritative commit. + + + + + Gets mutation log entries for a shard after the supplied sequence. + + + + + Gets replica catch-up log entries for a shard after the supplied sequence. + + + + + Gets the highest retained-log sequence that has been compacted away for a shard. + + + + + Gets the latest known shard-log sequence for a shard. + + + + + Creates a raw document snapshot bounded to one shard. + + + + + Applies a shard-bounded snapshot and advances the replica cursor to its represented sequence. + + + + + Gets the last replicated sequence applied for a shard. + + + + + Creates a shard catalog response for optional schema/key filters. + + + + + Resolves the shard that governs the supplied schema and key. + + + + + Gets a document by key. + + + + + Opens a reactive POCO presentation for one distributed CultCache document. + + + + + Adds or replaces a document at a specific key. + + + + + Applies a locally predicted document for a client-owned input scope. + + + + + Deletes a document by key. + + + + + Applies a raw document mutation after checking shard authority. + + + + + Applies a raw document delete after checking shard authority. + + + + + Applies committed shard-log entries from an authoritative peer. + + + + + Watches all changes assignable to the requested document type. + + + + + Watches all typed domain changes as boxed change objects. + + + + + Watches one record. + + + + + Watches the global record for a document type. + + + + + Watches changes for a named document. + + + + + Watches changes for the current document mapped by an indexed value. + + + + + Releases database subscriptions. + + + + + Routes CultNet schema-v0 document messages through a . + + + + + Creates and attaches a database message bridge to a server. + + + + + Gets the database used by this bridge. + + + + + Applies a raw put message through the database shard policy. + + + + + Applies a raw delete message through the database shard policy. + + + + + Creates a raw snapshot response from the database cache. + + + + + Creates a shard catalog response from the database shard map. + + + + + Creates a shard mutation-log response from the database log. + + + + + Detaches handlers from the server. + + + + + Attempts to forward a rejected raw put to the shard owner. + + + + + Attempts to forward a rejected raw delete to the shard owner. + + + + + Optional metadata applied when creating CultNet document messages. + + + + + Gets or sets an explicit storage timestamp. + + + + + Gets or sets the runtime that produced the document. + + + + + Gets or sets the agent that produced the document. + + + + + Gets or sets the role that produced the document. + + + + + Gets or sets optional document tags. + + + + + Binds a CultCache document type to CultNet payload serialization. + + + + + Gets the bound document type. + + + + + Gets the bound schema identifier. + + + + + Gets the payload serializer. + + + + + Gets the payload deserializer. + + + + + Creates a document binding for a typed CultCache document. + + + + + Creates and applies CultNet messages that replicate CultCache documents. + + + + + Creates a document registry with optional bindings. + + + + + Registers a document binding. + + + + + Gets a binding by schema identifier. + + + + + Gets a binding by CLR document type. + + + + + Creates a document delete message. + + + + + Creates a raw document put message for a typed document. + + + + + Creates a snapshot request message. + + + + + Creates a raw snapshot response from the cache. + + + + + Applies a raw document put message to a cache. + + + + + Applies a raw document put message and returns the typed document. + + + + + Applies all documents from a raw snapshot response. + + + + + Applies all typed documents from a raw snapshot response. + + + + + Options for creating a local CultNet host over CultCache and the canonical MessagePack store. + + + + + Gets or sets the cache-open options used for the underlying CultCache. + + + + + Gets or sets the server security configuration. When omitted, development defaults are used. + + + + + Gets or sets whether the server should start immediately after creation. + + + + + Gets or sets the database sharding options used for the hosted CultCache. + + + + + Gets or sets the database server bridge options used for shard routing and forwarding. + + + + + Gets or sets an optional callback used to customize the server before start. + + + + + Convenience wrapper for a locally hosted CultNet server over a durable CultCache. + + + + + Gets the durable cache used by the host. + + + + + Gets the canonical single-file MessagePack store, when one is attached. + + + + + Gets the underlying CultNet server. + + + + + Gets the distributed database facade over the hosted cache. + + + + + Gets the schema-v0 server bridge for distributed database messages. + + + + + Starts the server. + + + + + Flushes the durable cache. + + + + + Stops the server and disposes the host resources. + + + + + Friendly local entrypoints for CultNet host/client creation. + + + + + Creates a local host with a durable CultCache and the canonical MessagePack backing store. + + + + + Creates and starts a local host with development-friendly defaults. + + + + + Creates a client configured for local CultNet use. + + + + + Creates and connects a client to the specified host. + + + + + Creates and connects a client to a local development host. + + + + + Shared wire-contract identifiers understood by the CultNet family. + + + + + schema v0 contract identifier. + + + + + game cult networking v0 contract identifier. + + + + + Canonical schema-version strings for the modern CultNet message family. + + + + + hello contract identifier. + + + + + login contract identifier. + + + + + register contract identifier. + + + + + verify contract identifier. + + + + + login success contract identifier. + + + + + error contract identifier. + + + + + sample change name contract identifier. + + + + + sample chat contract identifier. + + + + + document delete contract identifier. + + + + + document put raw contract identifier. + + + + + snapshot request contract identifier. + + + + + snapshot response raw contract identifier. + + + + + schema catalog request contract identifier. + + + + + schema catalog response contract identifier. + + + + + database subscription request contract identifier. + + + + + database subscription cancel contract identifier. + + + + + database subscription change contract identifier. + + + + + shard catalog request contract identifier. + + + + + shard catalog response contract identifier. + + + + + shard mutation log request contract identifier. + + + + + shard mutation log response contract identifier. + + + + + simulation observation gossip contract identifier. + + + + + simulation consensus candidate gossip contract identifier. + + + + + witness artifact bundle document contract identifier. + + + + + CultMesh Verse catalog request contract identifier. + + + + + CultMesh Verse catalog response contract identifier. + + + + + CultMesh peer exchange request contract identifier. + + + + + CultMesh peer exchange response contract identifier. + + + + + Mutation authority owner identifiers advertised through CultNet mutation contracts. + + + + + The document is inspectable but not writable through CultNet. + + + + + The local human operator may submit the corresponding mutation intent. + + + + + A coordinator-owned Epiphany control surface owns the mutation path. + + + + + The runtime itself may write this document directly. + + + + + The document should not be mutated through CultNet. + + + + + Declares how a document or surface may be inspected and mutated over CultNet. + + + + + Gets or sets the stable document type governed by this contract. + + + + + Gets or sets the payload schema version when the contract governs a versioned document payload. + + + + + Gets or sets the CultNet operations this document accepts. + + + + + Gets or sets which actor is allowed to drive those operations. + + + + + Gets or sets the intent document types a client may submit to request mutation. + + + + + Gets or sets the receipt document types emitted after a successful mutation path. + + + + + Gets or sets freeform notes that explain local mutation guardrails or posture. + + + + + Marker interface for the explicit modern CultNet schema-v0 message family. + + + + + Gets or sets the schema version carried by this message. + + + + + CultNet hello message used to announce a runtime and its supported contracts. + + + + + Gets or sets the schema version. + + + + + Gets or sets the runtime id. + + + + + Gets or sets the runtime kind. + + + + + Gets or sets the agent id. + + + + + Gets or sets the role. + + + + + Gets or sets the display name. + + + + + Gets or sets the supported document types. + + + + + Gets or sets the supported mutation contracts. + + + + + Gets or sets the supported message versions. + + + + + Gets or sets the supports schema catalog. + + + + + CultNet login request message. + + + + + Gets or sets the schema version. + + + + + Gets or sets the nonce. + + + + + Gets or sets the auth. + + + + + Gets or sets the password. + + + + + CultNet registration request message. + + + + + Gets or sets the schema version. + + + + + Gets or sets the nonce. + + + + + Gets or sets the email. + + + + + Gets or sets the password. + + + + + Gets or sets the name. + + + + + CultNet session verification request message. + + + + + Gets or sets the schema version. + + + + + Gets or sets the nonce. + + + + + Gets or sets the session. + + + + + CultNet message returned after successful session verification. + + + + + Gets or sets the schema version. + + + + + Gets or sets the nonce. + + + + + Gets or sets the session. + + + + + CultNet error response message. + + + + + Gets or sets the schema version. + + + + + Gets or sets the error. + + + + + Gets or sets optional shard routing details for authority failures. + + + + + Describes where a shard write should be routed. + + + + + Gets or sets the shard descriptor. + + + + + Gets or sets a machine-readable routing reason. + + + + + Sample CultNet message used by development clients to change a display name. + + + + + Gets or sets the schema version. + + + + + Gets or sets the name. + + + + + Sample CultNet chat message used by development clients. + + + + + Gets or sets the schema version. + + + + + Gets or sets the text. + + + + + Raw document record carried over CultNet. + + + + + Gets or sets the schema id. + + + + + Gets or sets the record key. + + + + + Gets or sets the stored at. + + + + + Gets or sets the payload encoding. + + + + + Gets or sets the payload. + + + + + Gets or sets the source runtime id. + + + + + Gets or sets the source agent id. + + + + + Gets or sets the source role. + + + + + Gets or sets the tags. + + + + + CultNet message requesting deletion of a document record. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the schema id. + + + + + Gets or sets the record key. + + + + + Gets or sets the shard id the sender targeted. + + + + + Gets or sets the shard epoch the sender targeted. + + + + + CultNet message carrying one raw document record. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the document. + + + + + Gets or sets the shard id the sender targeted. + + + + + Gets or sets the shard epoch the sender targeted. + + + + + CultNet message requesting a document snapshot. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the schema ids. + + + + + Gets or sets the record keys. + + + + + Gets or sets the shard id requested for a shard-bounded snapshot. + + + + + Gets or sets the expected shard epoch. + + + + + CultNet message returning raw document records from a snapshot request. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the documents. + + + + + Gets or sets the shard id represented by this snapshot. + + + + + Gets or sets the shard epoch represented by this snapshot. + + + + + Gets or sets the shard-log sequence represented by this snapshot. + + + + + Requests a live database subscription. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets the live subscription id. + + + + + Gets or sets optional schema ids to watch. + + + + + Gets or sets optional record keys to watch. + + + + + Gets or sets whether the server should send a matching snapshot before live changes. + + + + + Cancels a live database subscription. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets the live subscription id. + + + + + Streams one raw document change for a live database subscription. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the live subscription id. + + + + + Gets or sets the change kind. + + + + + Gets or sets the current document for added or updated changes. + + + + + Gets or sets the deleted record key for removed changes. + + + + + Gets or sets the deleted schema id for removed changes. + + + + + Describes one shard advertised by a CultNet database node. + + + + + Gets or sets the shard id. + + + + + Gets or sets the owner runtime id. + + + + + Gets or sets the shard authority epoch. + + + + + Gets or sets whether the responding node is primary for this shard. + + + + + Gets or sets schema ids governed by this shard. Empty means all schemas. + + + + + Gets or sets the record-key prefix governed by this shard. + + + + + Gets or sets endpoints that accept authoritative writes. + + + + + Gets or sets authoritative replica endpoints. + + + + + Gets or sets low-latency read replica endpoints. + + + + + Gets or sets an optional locality label. + + + + + Requests shard ownership and routing metadata. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets optional schema filters. + + + + + Gets or sets optional record-key filters. + + + + + Returns shard ownership and routing metadata. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets shard descriptors. + + + + + Requests accepted mutation log entries for a shard. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets the shard id. + + + + + Gets or sets the shard epoch expected by the requester. + + + + + Gets or sets the last sequence already held by the requester. + + + + + Gets or sets the maximum number of entries to return. + + + + + Returns accepted mutation log entries for a shard. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets the shard id. + + + + + Gets or sets the shard epoch. + + + + + Gets or sets mutation log entries. + + + + + Gets or sets whether the requester must fall back to a shard snapshot. + + + + + Gets or sets a machine-readable resync reason. + + + + + Gets or sets the highest sequence compacted out of the retained log. + + + + + Describes one accepted shard mutation for replica catch-up. + + + + + Gets or sets the per-shard sequence. + + + + + Gets or sets the commit timestamp. + + + + + Gets or sets the mutation kind. + + + + + Gets or sets a raw put message for added/updated entries. + + + + + Gets or sets a raw delete message for removed entries. + + + + + Carries one witness observation about a simulation fact. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the observation. + + + + + Carries one deterministic consensus candidate derived from witness observations. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the shard id. + + + + + Gets or sets the shard epoch. + + + + + Gets or sets the simulation frame. + + + + + Gets or sets the subject id. + + + + + Gets or sets the claim kind. + + + + + Gets or sets the selected claim hash. + + + + + Gets or sets optional claim detail. + + + + + Gets or sets distinct supporting witnesses. + + + + + Gets or sets supporting witness weight. + + + + + Gets or sets total observed witness weight. + + + + + Gets or sets whether the candidate crossed quorum. + + + + + Gets or sets support divided by total observed weight. + + + + + Creates a wire candidate message from a local candidate. + + + + + Requests known CultMesh Verses from a peer. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets optional Verse ids to request. + + + + + Gets or sets an optional transport compatibility filter. + + + + + Returns known CultMesh Verses. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets discovered Verses. + + + + + Wire representation of a CultMesh Verse. + + + + + Gets or sets the stable Verse id. + + + + + Gets or sets the display name. + + + + + Gets or sets the authority model name. + + + + + Gets or sets compatibility metadata. + + + + + Gets or sets endpoints that can answer discovery for this Verse. + + + + + Gets or sets known authoritative runtime ids. + + + + + Gets or sets the parent Verse id for overlays or branches. + + + + + Gets or sets an optional public description. + + + + + Wire representation of CultMesh Verse compatibility. + + + + + Gets or sets the CultMesh transport compatibility version. + + + + + Gets or sets the stable rules hash. + + + + + Gets or sets Verse ids this Verse can transfer from or subscribe to. + + + + + Gets or sets required plugin ids. + + + + + Gets or sets optional plugin ids. + + + + + Requests known peers for a CultMesh Verse. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets the Verse id to discover peers for. + + + + + Gets or sets optional role filters. + + + + + Gets or sets peer ids the requester already knows. + + + + + Gets or sets the maximum number of peer cards to return. + + + + + Returns known peers for a CultMesh Verse. + + + + + Gets or sets the schema version. + + + + + Gets or sets the request id. + + + + + Gets or sets peer cards. + + + + + Wire representation of a CultMesh peer candidate. + + + + + Gets or sets the stable peer id. + + + + + Gets or sets the Verse id this peer participates in. + + + + + Gets or sets reachable endpoints. + + + + + Gets or sets advertised peer roles. + + + + + Gets or sets shard ids this peer can serve or observe. + + + + + Gets or sets an optional region/locality label. + + + + + Gets or sets the authority lease id, when the card advertises authority. + + + + + Gets or sets the expiry timestamp for this card. + + + + + Gets or sets an optional signature over the card. + + + + + Describes one schema exposed through the CultNet schema catalog. + + + + + Gets or sets the schema id. + + + + + Gets or sets the kind. + + + + + Gets or sets the schema version. + + + + + Gets or sets the document type. + + + + + Gets or sets the title. + + + + + Gets or sets the wire contracts. + + + + + Gets or sets the content hash. + + + + + Gets or sets the schema json. + + + + + CultNet message requesting schema catalog entries. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the include schema json. + + + + + Gets or sets the schema ids. + + + + + Gets or sets the kinds. + + + + + CultNet message returning schema catalog entries. + + + + + Gets or sets the schema version. + + + + + Gets or sets the message id. + + + + + Gets or sets the schemas. + + + + + Serializes and deserializes the explicit modern CultNet schema-v0 message family. + + + + + Gets the serializer options used for CultNet schema-v0 messages. + + + + + Serializes a typed CultNet schema message. + + + + + Deserializes a typed CultNet schema message. + + + + + Deserializes a CultNet schema message by inspecting its schema version. + + + + + Registers exchange-safe schema metadata and produces discovery responses. + + + + + Creates a schema registry with optional initial entries. + + + + + Adds or replaces one schema registration. + + + + + Gets one schema descriptor by schema identifier. + + + + + Lists schema descriptors, optionally filtered by identifier or kind. + + + + + Creates a schema catalog response for a request. + + + + + Creates a registry populated from embedded CultNet schema resources. + + + + + Gets the lazily initialized built-in schema registry. + + + + + One exchange-safe schema registration. + + + + + Gets or sets the schema identifier. + + + + + Gets or sets the schema kind. + + + + + Gets or sets the wire contracts implemented by the schema. + + + + + Gets or sets the schema document. + + + + + Gets or sets the message or document schema version. + + + + + Gets or sets the document type associated with the schema. + + + + + Gets or sets the display title. + + + + + Stores accepted shard-log entries in their replica catch-up wire shape. + + + + + Reads accepted log entries for a shard after the supplied sequence. + + + + + Appends or replaces one accepted log entry for a shard. + + + + + Gets the highest sequence that has been compacted out of the retained log. + + + + + Removes retained entries at or before the supplied sequence. + + + + + Persists shard-log entries as one MessagePack file per shard. + + + + + Creates a file-backed shard mutation log store. + + + + + + + + + + + + + + + + + Fetches committed shard-log entries from an authoritative shard owner. + + + + + Fetches shard-log entries after the supplied sequence. + + + + + Fetches shard-bounded snapshots from an authoritative shard owner. + + + + + Fetches a shard snapshot. + + + + + Persisted replica cursor for one shard. + + + + + Gets or sets the shard id. + + + + + Gets or sets the shard epoch. + + + + + Gets or sets the last applied shard-log sequence. + + + + + Gets or sets the cursor update timestamp. + + + + + Stores restart-safe replica cursors. + + + + + Reads the cursor for a shard, if one exists. + + + + + Writes the cursor for a shard. + + + + + Options for background shard-log replication. + + + + + Gets or sets the interval used by the background pull loop. + + + + + Gets or sets the maximum number of log entries requested per pull. + + + + + Gets or sets the fetcher used to read from shard primaries. + + + + + Gets or sets the fetcher used when log history has been compacted. + + + + + Gets or sets a callback for background pull failures. + + + + + Gets or sets optional restart-safe cursor storage. + + + + + Pulls committed shard logs from primaries and applies them to a local replica database. + + + + + Creates a shard replicator. + + + + + Starts background pull loops for non-primary shards with advertised primaries. + + + + + Pulls and applies one batch for a shard id. + + + + + Pulls and applies one batch for a shard. + + + + + + + + Stores replica cursors in one local MessagePack file. + + + + + Creates a file-backed cursor store. + + + + + + + + + + + Options for the schema-v0 client-based shard-log fetcher. + + + + + Gets or sets client security options used to connect to primary endpoints. + + + + + Gets or sets how long to wait for a connection before failing. + + + + + Gets or sets how long to wait for a log response before failing. + + + + + Gets or sets a callback used to customize each ephemeral fetch client. + + + + + Fetches shard-log batches over the CultNet schema-v0 client transport. + + + + + Creates a schema-v0 shard-log fetcher. + + + + + + + + Options for the schema-v0 client-based shard snapshot fetcher. + + + + + Gets or sets client security options used to connect to primary endpoints. + + + + + Gets or sets how long to wait for a connection before failing. + + + + + Gets or sets how long to wait for a snapshot response before failing. + + + + + Gets or sets a callback used to customize each ephemeral fetch client. + + + + + Fetches shard snapshots over the CultNet schema-v0 client transport. + + + + + Creates a schema-v0 shard snapshot fetcher. + + + + + + + + Forwards shard writes to an authoritative owner. + + + + + Forwards a raw document put to the shard owner. + + + + + Forwards a raw document delete to the shard owner. + + + + + Options controlling shard write forwarding from a database server bridge. + + + + + Gets or sets whether non-primary writes may be forwarded to shard owners. + + + + + Gets or sets the forwarder used when non-primary write forwarding is enabled. + + + + + Options for the schema-v0 client-based shard write forwarder. + + + + + Gets or sets client security options used to connect to primary endpoints. + + + + + Gets or sets how long to wait for a connection before failing the forwarded write. + + + + + Gets or sets a callback used to customize each ephemeral forwarding client. + + + + + Forwards shard writes over the CultNet schema-v0 client transport. + + + + + Creates a schema-v0 write forwarder. + + + + + + + + + + + Parses a CultNet endpoint URI into host and port. + + + + + One witness report about a deterministic simulation fact. + + + + + Gets or sets the observing runtime id. + + + + + Gets or sets the shard id containing the observed simulation. + + + + + Gets or sets the shard epoch observed by the witness. + + + + + Gets or sets the simulation frame or tick. + + + + + Gets or sets the subject this observation is about. + + + + + Gets or sets the kind of claim, such as hit, input, collision, or ownership. + + + + + Gets or sets the content hash of the witness claim. + + + + + Gets or sets optional human-readable or app-specific claim detail. + + + + + Gets or sets the witness weight. Normal clients should use 1. + + + + + Gets or sets the observation timestamp. + + + + + Computes a stable claim hash from ordered claim parts. + + + + + Controls deterministic witness aggregation. + + + + + Gets or sets the minimum distinct witnesses required before a claim can be accepted. + + + + + Gets or sets the minimum weight required before a claim can be accepted. + + + + + Gets or sets the fraction of observed weight required for quorum. + + + + + A deterministic consensus candidate derived from witness observations. + + + + + Creates a consensus candidate. + + + + + Gets the shard id. + + + + + Gets the shard epoch. + + + + + Gets the simulation frame. + + + + + Gets the subject id. + + + + + Gets the claim kind. + + + + + Gets the claim hash. + + + + + Gets optional claim detail. + + + + + Gets the distinct witness count supporting this candidate. + + + + + Gets supporting witness weight. + + + + + Gets total observed witness weight for the same subject/frame/kind. + + + + + Gets whether the candidate crossed the configured quorum. + + + + + Gets support divided by total observed weight. + + + + + Aggregates simulation observations into deterministic consensus candidates. + + + + + Creates a consensus aggregator. + + + + + Returns the strongest candidate for each observed shard/frame/subject/claim kind. + + + + + Collects witness observations and publishes updated consensus candidates. + + + + + Creates an observation hub. + + + + + Gets all observations currently held by the hub. + + + + + Watches accepted witness observations. + + + + + Watches consensus candidate updates. + + + + + Adds an observation and returns current candidates for the same observed subject. + + + + + Adds an observation message and returns current candidates for the same observed subject. + + + + + + + + Bridges schema-v0 simulation observation messages into a local observation hub. + + + + + Creates and attaches a simulation observation bridge. + + + + + Gets the observation hub used by this bridge. + + + + + Applies an observation message and returns current candidate messages for the same subject. + + + + + + + + Portable manifest for one inspectable pipeline witness bundle. + + + + + Gets or sets the stable bundle identifier. + + + + + Gets or sets the witness family or pipeline kind. + + + + + Gets or sets when the manifest was captured. + + + + + Gets or sets the pinned subject this witness bundle describes. + + + + + Gets or sets the schema and contract pins required to interpret the witness. + + + + + Gets or sets the inspectable artifact pointers carried by the bundle. + + + + + Gets or sets stage timing witnesses associated with the bundle. + + + + + Gets or sets provenance metadata for the bundle producer. + + + + + Pins the document or payload instance the witness is about. + + + + + Gets or sets the subject document type or domain identifier. + + + + + Gets or sets the persisted record key or equivalent stable subject id. + + + + + Gets or sets the pinned subject schema version. + + + + + Gets or sets the pinned subject schema identifier when one exists. + + + + + Gets or sets the pinned subject content hash when one exists. + + + + + Pins one schema or contract dependency for the witness bundle. + + + + + Gets or sets the contract role inside the bundle. + + + + + Gets or sets the stable schema identifier. + + + + + Gets or sets the pinned schema version. + + + + + Gets or sets the canonical schema content hash when one exists. + + + + + Points at one inspectable artifact emitted by the witnessed pipeline. + + + + + Gets or sets the artifact role inside the witness bundle. + + + + + Gets or sets the portable URI for the artifact. + + + + + Gets or sets the artifact media type. + + + + + Gets or sets the artifact content hash when one exists. + + + + + Gets or sets the artifact size in bytes when known. + + + + + Gets or sets when the artifact was produced. + + + + + Records timestamp and latency evidence for one stage in the witnessed pipeline. + + + + + Gets or sets the pipeline stage name. + + + + + Gets or sets when the stage started. + + + + + Gets or sets when the stage completed. + + + + + Gets or sets the observed stage latency in milliseconds. + + + + + Gets or sets the URI for the timing witness artifact when one exists. + + + + + Carries provenance metadata for the witness bundle producer. + + + + + Gets or sets the stable pipeline identifier. + + + + + Gets or sets the pipeline run identifier. + + + + + Gets or sets the runtime identifier that produced the bundle. + + + + + Gets or sets the producing agent identifier when one exists. + + + + + Gets or sets the producing agent role when one exists. + + + + + Gets or sets the pipeline or tool version when one exists. + + + + + Base type for all network messages exchanged by the client and server. + + + + + Gets or sets the peer associated with the received message. + + + + + Base type for encrypted messages that carry a nonce. + + + + + Nonce used for AES-GCM encryption of the message payload. + + + + + Requests authentication with an email or username and password. + + + + + Encrypted email address or username. + + + + + Encrypted password payload. + + + + + Requests registration of a new player account. + + + + + Encrypted email address. + + + + + Encrypted password payload. + + + + + Encrypted display name payload. + + + + + Attempts to restore a previously issued session. + + + + + Encrypted session identifier. + + + + + Indicates successful authentication or verification. + + + + + Encrypted session identifier. + + + + + Sends a non-success error back to the client. + + + + + Human-readable error text. + + + + + Requests a catalog of schemas that the remote runtime can safely exchange. + + + + + Correlation identifier for the discovery request. + + + + + Whether the remote runtime should include inline JSON schema bodies. + + + + + Optional schema-id filter. + + + + + Optional schema-kind filter. + + + + + Describes one schema that the runtime knows how to exchange safely. + + + + + Stable canonical schema identifier. + + + + + Discovery kind such as wire_message, document_payload, or shared_contract. + + + + + Optional runtime message schema version. + + + + + Optional CultCache/CultNet document type name. + + + + + Human-facing schema title. + + + + + Wire contracts that can transport this schema safely. + + + + + SHA-256 hash of the canonical schema JSON. + + + + + Optional canonical JSON Schema body as a string. + + + + + Returns the remote runtime's schema catalog for safe exchange planning. + + + + + Correlation identifier matching the request. + + + + + Discovered schemas available for safe exchange. + + + + + Adds MessagePack-based send helpers for . + + + + + Serializes and sends a message using reliable ordered delivery. + + The concrete message type. + The peer to send through. + The message to serialize and send. + + + + Serializes and sends a modern CultNet schema-v0 message using reliable ordered delivery. + + The concrete schema-v0 message type. + The peer to send through. + The schema-v0 message to serialize and send. + + + + Basic player account document used by the sample networking stack. + + + + + Unique player identifier. + + + + + Player email address. + + + + + Stored password hash. + + + + + Player display name. + + + + + Monotonic session version used to supersede older issued tokens. + + + + + Sample authenticated payload for changing a player-visible name. + + + This is example application payload riding the shared networking contract, + not a claim that CultNet itself is spiritually about chat lobbies forever. + Keep the wire tag stable if other runtimes depend on it. + + + + + Requested new username. + + + + + Sample plain chat payload. + + + This exists as a dead-simple reference payload for message extension and + cross-runtime compatibility tests. Real applications should define their + own domain messages and keep those contracts in sync across languages. + + + + + Chat text content. + + + + + Provides shared encryption helpers and connection secrets for the networking layer. + + + + + Configures the default server security options used by overloads that do not take an explicit options instance. + + + + + Shared LiteNetLib connection key from the configured default options. + + + + + Gets a newly generated nonce suitable for AES-GCM operations. + + + + + Encrypts a string using AES-GCM. + + The plaintext string to encrypt. + The nonce to use for the operation. + The encrypted payload, or null when is null or empty. + + + + Encrypts a string using AES-GCM. + + + + + Encrypts a string using AES-GCM. + + + + + Encrypts a byte array using AES-GCM. + + The plaintext bytes to encrypt. + The nonce to use for the operation. + The authentication tag followed by the ciphertext. + + + + Encrypts a byte array using AES-GCM. + + + + + Encrypts a byte array using AES-GCM. + + + + + Decrypts an encrypted UTF-8 string payload. + + The encrypted bytes produced by the corresponding string or byte encryption overloads. + The nonce used during encryption. + The decrypted string, or null when the inputs are invalid. + + + + Decrypts an encrypted UTF-8 string payload. + + + + + Decrypts an encrypted UTF-8 string payload. + + + + + Decrypts an AES-GCM payload into raw bytes. + + The encrypted bytes containing the authentication tag prefix. + The nonce used during encryption. + The decrypted plaintext bytes. + + + + Decrypts an AES-GCM payload into raw bytes. + + + + + Decrypts an AES-GCM payload into raw bytes. + + + + + Creates a signed session token for the supplied user. + + The authenticated user identifier. + The UTC expiration time for the token. + A tamper-evident session token. + + + + Creates a signed session token for the supplied user. + + + + + Creates a signed session token for the supplied user and session version. + + + + + Validates and parses a signed session token. + + The token to validate. + The extracted user identifier. + The extracted UTC expiration time. + true when the token is valid and unexpired. + + + + Validates and parses a signed session token. + + + + + Validates and parses a signed session token. + + + + + Validates and parses a signed session token. + + + + + Hosts the server-side authentication, session, and message dispatch pipeline. + + + + + Gets or sets the logger used by the server. + + + + + Gets or sets whether raw payload bodies may be logged for diagnostics. + + + + + Initializes a new server instance over the supplied cache. + + The backing cache used for player persistence. + Optional validated server security options. When omitted, strict environment-based configuration is used. + + + + Validates an email address against the server's accepted pattern. + + The email address to validate. + true when the address matches the expected format. + + + + Validates a username against the server's accepted pattern. + + The username to validate. + true when the username matches the expected format. + + + + Removes all registered message listeners. + + + + + Adds a listener for a specific authenticated message type. + + The message type to subscribe to. + The callback to invoke when the message is received. + + + + Adds a listener for a specific authenticated message type. + + + + + Adds a listener for a modern CultNet schema-v0 message type. + + + + + Adds a listener for a modern CultNet schema-v0 message type. + + + + + Adds a listener for a modern CultNet schema-v0 message type. + + + + + Adds a listener for a modern CultNet schema-v0 message type. + + + + + Removes a previously registered listener for a specific message type. + + The message type to unsubscribe from. + The callback to remove. + + + + Removes a previously registered listener for a specific authenticated message type. + + + + + Removes a previously registered modern CultNet schema-v0 listener. + + + + + Stops the underlying LiteNetLib server. + + + + + Starts listening for connections and configures message handlers. + + + + + + + + Represents an active authenticated session. + + + + + The last time the session was observed as active. + + + + + Player data associated with the session. + + + + + Tracks connection state for a connected peer. + + + + + The connected network peer. + + + + + The last reported latency for the peer. + + + + + The authenticated player identifier. + + + + + The current session expiration timestamp in UTC. + + + + + The latest signed session token issued to the peer. + + + + + The session version associated with the latest issued token. + + + + + Carries the server-side networking configuration and server-only signing secret. + + + + + Environment variable name for the LiteNetLib connection key. + + + + + Environment variable name for the session-token signing secret. + + + + + Shared LiteNetLib connection key and encryption seed. + + + + + Gets a value indicating whether the options were created for explicit development use. + + + + + Initializes a new server security configuration. + + + + + Creates a strict production-style configuration from environment variables. + + + When true, returns if both environment variables are absent. + + + + + Creates a deterministic development-only configuration. + + + + A MessagePack resolver that uses generated formatters for types in this assembly. + + + An instance of this resolver that only returns formatters specifically generated for types in this assembly. + + + diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Argon2.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Argon2.dll new file mode 100644 index 000000000..7dcecfa1f --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Argon2.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26b840ebe2ce1c5eb4ec0951801ce6f5c00b8fdbe6fc50f3e7aeaa0194c2d275 +size 33280 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Blake2b.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Blake2b.dll new file mode 100644 index 000000000..a749d0838 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.Blake2b.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27858b5bc18d1ca269283cf752840d09070739adb0439f2814eb3d433f6fc1d7 +size 27648 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.SecureArray.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.SecureArray.dll new file mode 100644 index 000000000..a84f4472e --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/Isopoh.Cryptography.SecureArray.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3650e6ddc582b56d27c0e759ecdf373eb1b298ab2f68d9360c2e02108e5c3ebe +size 26112 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/LiteNetLib.dll b/Aetheria.State.Verify/bin/Debug/net10.0/LiteNetLib.dll new file mode 100644 index 000000000..2919d9e62 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/LiteNetLib.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f70423511b4671f2db809248008c63ae77064b9014a52c6d45906726b893851 +size 126464 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.Annotations.dll b/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.Annotations.dll new file mode 100644 index 000000000..927ac49bf --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.Annotations.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d7aa07d288c6a39109eedf6435e3ba8c413342876ed08bb5a64d55dd39dd04d +size 18432 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.dll b/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.dll new file mode 100644 index 000000000..059c96f59 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/MessagePack.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8abd8fa8d66f41d5bdd243b740c9dd392915a8b4df1373df5a1f3fdfe093a9c8 +size 378880 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/Microsoft.NET.StringTools.dll b/Aetheria.State.Verify/bin/Debug/net10.0/Microsoft.NET.StringTools.dll new file mode 100644 index 000000000..215f21ba2 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/Microsoft.NET.StringTools.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e51c8678fd602a21c249b369e833966019935132476f9434da896bef808ba3b1 +size 30880 diff --git a/Aetheria.State.Verify/bin/Debug/net10.0/R3.dll b/Aetheria.State.Verify/bin/Debug/net10.0/R3.dll new file mode 100644 index 000000000..91ebf3132 --- /dev/null +++ b/Aetheria.State.Verify/bin/Debug/net10.0/R3.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3fd39c541c070a0510eaf0b92af569c4467b03ce64204ea1a1ff55731b89b58 +size 599040 diff --git a/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.dgspec.json b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.dgspec.json new file mode 100644 index 000000000..3a7b2c272 --- /dev/null +++ b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.dgspec.json @@ -0,0 +1,960 @@ +{ + "format": 1, + "restore": { + "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj": {} + }, + "projects": { + "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj", + "projectName": "Aetheria.State.Verify", + "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "net10.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "projectReferences": { + "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj": { + "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "all" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202/PortableRuntimeIdentifierGraph.json", + "packagesToPrune": { + "Microsoft.CSharp": "(,4.7.32767]", + "Microsoft.VisualBasic": "(,10.4.32767]", + "Microsoft.Win32.Primitives": "(,4.3.32767]", + "Microsoft.Win32.Registry": "(,5.0.32767]", + "runtime.any.System.Collections": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.any.System.Globalization": "(,4.3.32767]", + "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.any.System.IO": "(,4.3.32767]", + "runtime.any.System.Reflection": "(,4.3.32767]", + "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.any.System.Runtime": "(,4.3.32767]", + "runtime.any.System.Runtime.Handles": "(,4.3.32767]", + "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.any.System.Text.Encoding": "(,4.3.32767]", + "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.any.System.Threading.Tasks": "(,4.3.32767]", + "runtime.any.System.Threading.Timer": "(,4.3.32767]", + "runtime.aot.System.Collections": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.aot.System.Globalization": "(,4.3.32767]", + "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.aot.System.IO": "(,4.3.32767]", + "runtime.aot.System.Reflection": "(,4.3.32767]", + "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.aot.System.Runtime": "(,4.3.32767]", + "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", + "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", + "runtime.aot.System.Threading.Timer": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.unix.System.Console": "(,4.3.32767]", + "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", + "runtime.unix.System.Net.Primitives": "(,4.3.32767]", + "runtime.unix.System.Net.Sockets": "(,4.3.32767]", + "runtime.unix.System.Private.Uri": "(,4.3.32767]", + "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.win.System.Console": "(,4.3.32767]", + "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.win.System.IO.FileSystem": "(,4.3.32767]", + "runtime.win.System.Net.Primitives": "(,4.3.32767]", + "runtime.win.System.Net.Sockets": "(,4.3.32767]", + "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7.System.Private.Uri": "(,4.3.32767]", + "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", + "System.AppContext": "(,4.3.32767]", + "System.Buffers": "(,5.0.32767]", + "System.Collections": "(,4.3.32767]", + "System.Collections.Concurrent": "(,4.3.32767]", + "System.Collections.Immutable": "(,10.0.32767]", + "System.Collections.NonGeneric": "(,4.3.32767]", + "System.Collections.Specialized": "(,4.3.32767]", + "System.ComponentModel": "(,4.3.32767]", + "System.ComponentModel.Annotations": "(,4.3.32767]", + "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", + "System.ComponentModel.Primitives": "(,4.3.32767]", + "System.ComponentModel.TypeConverter": "(,4.3.32767]", + "System.Console": "(,4.3.32767]", + "System.Data.Common": "(,4.3.32767]", + "System.Data.DataSetExtensions": "(,4.4.32767]", + "System.Diagnostics.Contracts": "(,4.3.32767]", + "System.Diagnostics.Debug": "(,4.3.32767]", + "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", + "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", + "System.Diagnostics.Process": "(,4.3.32767]", + "System.Diagnostics.StackTrace": "(,4.3.32767]", + "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", + "System.Diagnostics.Tools": "(,4.3.32767]", + "System.Diagnostics.TraceSource": "(,4.3.32767]", + "System.Diagnostics.Tracing": "(,4.3.32767]", + "System.Drawing.Primitives": "(,4.3.32767]", + "System.Dynamic.Runtime": "(,4.3.32767]", + "System.Formats.Asn1": "(,10.0.32767]", + "System.Formats.Tar": "(,10.0.32767]", + "System.Globalization": "(,4.3.32767]", + "System.Globalization.Calendars": "(,4.3.32767]", + "System.Globalization.Extensions": "(,4.3.32767]", + "System.IO": "(,4.3.32767]", + "System.IO.Compression": "(,4.3.32767]", + "System.IO.Compression.ZipFile": "(,4.3.32767]", + "System.IO.FileSystem": "(,4.3.32767]", + "System.IO.FileSystem.AccessControl": "(,4.4.32767]", + "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", + "System.IO.FileSystem.Primitives": "(,4.3.32767]", + "System.IO.FileSystem.Watcher": "(,4.3.32767]", + "System.IO.IsolatedStorage": "(,4.3.32767]", + "System.IO.MemoryMappedFiles": "(,4.3.32767]", + "System.IO.Pipelines": "(,10.0.32767]", + "System.IO.Pipes": "(,4.3.32767]", + "System.IO.Pipes.AccessControl": "(,5.0.32767]", + "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", + "System.Linq": "(,4.3.32767]", + "System.Linq.AsyncEnumerable": "(,10.0.32767]", + "System.Linq.Expressions": "(,4.3.32767]", + "System.Linq.Parallel": "(,4.3.32767]", + "System.Linq.Queryable": "(,4.3.32767]", + "System.Memory": "(,5.0.32767]", + "System.Net.Http": "(,4.3.32767]", + "System.Net.Http.Json": "(,10.0.32767]", + "System.Net.NameResolution": "(,4.3.32767]", + "System.Net.NetworkInformation": "(,4.3.32767]", + "System.Net.Ping": "(,4.3.32767]", + "System.Net.Primitives": "(,4.3.32767]", + "System.Net.Requests": "(,4.3.32767]", + "System.Net.Security": "(,4.3.32767]", + "System.Net.ServerSentEvents": "(,10.0.32767]", + "System.Net.Sockets": "(,4.3.32767]", + "System.Net.WebHeaderCollection": "(,4.3.32767]", + "System.Net.WebSockets": "(,4.3.32767]", + "System.Net.WebSockets.Client": "(,4.3.32767]", + "System.Numerics.Vectors": "(,5.0.32767]", + "System.ObjectModel": "(,4.3.32767]", + "System.Private.DataContractSerialization": "(,4.3.32767]", + "System.Private.Uri": "(,4.3.32767]", + "System.Reflection": "(,4.3.32767]", + "System.Reflection.DispatchProxy": "(,6.0.32767]", + "System.Reflection.Emit": "(,4.7.32767]", + "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", + "System.Reflection.Emit.Lightweight": "(,4.7.32767]", + "System.Reflection.Extensions": "(,4.3.32767]", + "System.Reflection.Metadata": "(,10.0.32767]", + "System.Reflection.Primitives": "(,4.3.32767]", + "System.Reflection.TypeExtensions": "(,4.3.32767]", + "System.Resources.Reader": "(,4.3.32767]", + "System.Resources.ResourceManager": "(,4.3.32767]", + "System.Resources.Writer": "(,4.3.32767]", + "System.Runtime": "(,4.3.32767]", + "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", + "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", + "System.Runtime.Extensions": "(,4.3.32767]", + "System.Runtime.Handles": "(,4.3.32767]", + "System.Runtime.InteropServices": "(,4.3.32767]", + "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", + "System.Runtime.Loader": "(,4.3.32767]", + "System.Runtime.Numerics": "(,4.3.32767]", + "System.Runtime.Serialization.Formatters": "(,4.3.32767]", + "System.Runtime.Serialization.Json": "(,4.3.32767]", + "System.Runtime.Serialization.Primitives": "(,4.3.32767]", + "System.Runtime.Serialization.Xml": "(,4.3.32767]", + "System.Security.AccessControl": "(,6.0.32767]", + "System.Security.Claims": "(,4.3.32767]", + "System.Security.Cryptography.Algorithms": "(,4.3.32767]", + "System.Security.Cryptography.Cng": "(,5.0.32767]", + "System.Security.Cryptography.Csp": "(,4.3.32767]", + "System.Security.Cryptography.Encoding": "(,4.3.32767]", + "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", + "System.Security.Cryptography.Primitives": "(,4.3.32767]", + "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", + "System.Security.Principal": "(,4.3.32767]", + "System.Security.Principal.Windows": "(,5.0.32767]", + "System.Security.SecureString": "(,4.3.32767]", + "System.Text.Encoding": "(,4.3.32767]", + "System.Text.Encoding.CodePages": "(,10.0.32767]", + "System.Text.Encoding.Extensions": "(,4.3.32767]", + "System.Text.Encodings.Web": "(,10.0.32767]", + "System.Text.Json": "(,10.0.32767]", + "System.Text.RegularExpressions": "(,4.3.32767]", + "System.Threading": "(,4.3.32767]", + "System.Threading.AccessControl": "(,10.0.32767]", + "System.Threading.Channels": "(,10.0.32767]", + "System.Threading.Overlapped": "(,4.3.32767]", + "System.Threading.Tasks": "(,4.3.32767]", + "System.Threading.Tasks.Dataflow": "(,10.0.32767]", + "System.Threading.Tasks.Extensions": "(,5.0.32767]", + "System.Threading.Tasks.Parallel": "(,4.3.32767]", + "System.Threading.Thread": "(,4.3.32767]", + "System.Threading.ThreadPool": "(,4.3.32767]", + "System.Threading.Timer": "(,4.3.32767]", + "System.ValueTuple": "(,4.5.32767]", + "System.Xml.ReaderWriter": "(,4.3.32767]", + "System.Xml.XDocument": "(,4.3.32767]", + "System.Xml.XmlDocument": "(,4.3.32767]", + "System.Xml.XmlSerializer": "(,4.3.32767]", + "System.Xml.XPath": "(,4.3.32767]", + "System.Xml.XPath.XDocument": "(,5.0.32767]" + } + } + } + }, + "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj", + "projectName": "Aetheria.State", + "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\Aetheria\\Aetheria.State\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "netstandard2.1" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "projectReferences": { + "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj" + }, + "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj" + }, + "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj" + }, + "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "NETStandard.Library.Ref", + "version": "[2.1.0, 2.1.0]" + } + ], + "frameworkReferences": { + "NETStandard.Library": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json" + } + } + }, + "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj": { + "version": "1.0.3", + "restore": { + "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj", + "projectName": "GameCult.Caching.MessagePack.Analyzers", + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Caching.MessagePack.Analyzers\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "netstandard2.1" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "projectReferences": { + "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj", + "excludeAssets": "compile" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "NETStandard.Library.Ref", + "version": "[2.1.0, 2.1.0]" + } + ], + "frameworkReferences": { + "NETStandard.Library": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json" + } + } + }, + "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj": { + "version": "1.0.3", + "restore": { + "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj", + "projectName": "GameCult.Caching.MessagePack.Generator", + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Generator\\GameCult.Caching.MessagePack.Generator.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Caching.MessagePack.Generator\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "netstandard2.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "netstandard2.0": { + "targetAlias": "netstandard2.0", + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": { + "suppressParent": "All", + "target": "Package", + "version": "[5.3.0, )" + }, + "Microsoft.CodeAnalysis.CSharp": { + "suppressParent": "All", + "target": "Package", + "version": "[5.3.0, )" + }, + "NETStandard.Library": { + "suppressParent": "All", + "target": "Package", + "version": "[2.0.3, )", + "autoReferenced": true + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json" + } + } + }, + "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj": { + "version": "1.0.3", + "restore": { + "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj", + "projectName": "GameCult.Caching.MessagePack", + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Caching.MessagePack\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "netstandard2.1" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "projectReferences": { + "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack.Analyzers\\GameCult.Caching.MessagePack.Analyzers.csproj", + "privateAssets": "none" + }, + "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "dependencies": { + "MessagePack": { + "target": "Package", + "version": "[3.1.4, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "NETStandard.Library.Ref", + "version": "[2.1.0, 2.1.0]" + } + ], + "frameworkReferences": { + "NETStandard.Library": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json" + } + } + }, + "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": { + "version": "1.0.3", + "restore": { + "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj", + "projectName": "GameCult.Caching", + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Caching\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "netstandard2.1" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "projectReferences": { + "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "dependencies": { + "ConcurrentHashSet": { + "target": "Package", + "version": "[1.3.0, )" + }, + "R3": { + "target": "Package", + "version": "[1.3.0, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "NETStandard.Library.Ref", + "version": "[2.1.0, 2.1.0]" + } + ], + "frameworkReferences": { + "NETStandard.Library": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json" + } + } + }, + "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj": { + "version": "1.0.3", + "restore": { + "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj", + "projectName": "GameCult.Logging", + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Logging\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "netstandard2.1" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "NETStandard.Library.Ref", + "version": "[2.1.0, 2.1.0]" + } + ], + "frameworkReferences": { + "NETStandard.Library": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json" + } + } + }, + "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj": { + "version": "1.0.3", + "restore": { + "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj", + "projectName": "GameCult.Mesh", + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Mesh\\GameCult.Mesh.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Mesh\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "netstandard2.1" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "projectReferences": { + "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj" + }, + "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj" + }, + "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "NETStandard.Library.Ref", + "version": "[2.1.0, 2.1.0]" + } + ], + "frameworkReferences": { + "NETStandard.Library": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json" + } + } + }, + "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj": { + "version": "1.0.3", + "restore": { + "projectUniqueName": "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj", + "projectName": "GameCult.Networking", + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Networking\\GameCult.Networking.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\CultLib\\obj\\src\\GameCult.Networking\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "netstandard2.1" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "projectReferences": { + "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching.MessagePack\\GameCult.Caching.MessagePack.csproj" + }, + "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Caching\\GameCult.Caching.csproj" + }, + "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj": { + "projectPath": "E:\\Projects\\CultLib\\src\\GameCult.Logging\\GameCult.Logging.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "netstandard2.1": { + "targetAlias": "netstandard2.1", + "dependencies": { + "Isopoh.Cryptography.Argon2": { + "target": "Package", + "version": "[2.0.0, )" + }, + "LiteNetLib": { + "target": "Package", + "version": "[2.1.2, )" + }, + "MessagePack": { + "target": "Package", + "version": "[3.1.4, )" + }, + "R3": { + "target": "Package", + "version": "[1.3.0, )" + }, + "System.Text.Json": { + "target": "Package", + "version": "[9.0.10, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "NETStandard.Library.Ref", + "version": "[2.1.0, 2.1.0]" + } + ], + "frameworkReferences": { + "NETStandard.Library": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.props b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.props new file mode 100644 index 000000000..5ebb9f7b8 --- /dev/null +++ b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Meta\.nuget\packages\ + PackageReference + 7.0.0 + + + + + \ No newline at end of file diff --git a/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.targets b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.targets new file mode 100644 index 000000000..3dc06ef3c --- /dev/null +++ b/Aetheria.State.Verify/obj/Aetheria.State.Verify.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs b/Aetheria.State.Verify/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs new file mode 100644 index 000000000..925b1351b --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")] diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.4BA5618A.Up2Date b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.4BA5618A.Up2Date new file mode 100644 index 000000000..e69de29bb diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfo.cs b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfo.cs new file mode 100644 index 000000000..7994321dc --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("Aetheria.State.Verify")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+dad8d799fcaec5d616486f3656f6240ad6634a27")] +[assembly: System.Reflection.AssemblyProductAttribute("Aetheria.State.Verify")] +[assembly: System.Reflection.AssemblyTitleAttribute("Aetheria.State.Verify")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfoInputs.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfoInputs.cache new file mode 100644 index 000000000..0e0a24cf5 --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +16c3b2cc1cd5c6839015577c94ae9c2874569af60f8beeba2d3b98f54dc21768 diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GeneratedMSBuildEditorConfig.editorconfig b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 000000000..c1ed04bfb --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,17 @@ +is_global = true +build_property.TargetFramework = net10.0 +build_property.TargetFrameworkIdentifier = .NETCoreApp +build_property.TargetFrameworkVersion = v10.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = Aetheria.State.Verify +build_property.ProjectDir = E:\Projects\Aetheria\Aetheria.State.Verify\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 10.0 +build_property.EnableCodeStyleSeverity = diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GlobalUsings.g.cs b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GlobalUsings.g.cs new file mode 100644 index 000000000..d12bcbc76 --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using System; +global using System.Collections.Generic; +global using System.IO; +global using System.Linq; +global using System.Net.Http; +global using System.Threading; +global using System.Threading.Tasks; diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.assets.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.assets.cache new file mode 100644 index 000000000..c4b8f22cd Binary files /dev/null and b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.assets.cache differ diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.AssemblyReference.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.AssemblyReference.cache new file mode 100644 index 000000000..24e5165fd Binary files /dev/null and b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.AssemblyReference.cache differ diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.CoreCompileInputs.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.CoreCompileInputs.cache new file mode 100644 index 000000000..f918aa171 --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +3356993740e3b2256618fa101f15a7a4933f27c47ade402ff2442cba12b88e2c diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.FileListAbsolute.txt b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.FileListAbsolute.txt new file mode 100644 index 000000000..e518205a0 --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.csproj.FileListAbsolute.txt @@ -0,0 +1,46 @@ +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.exe +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.deps.json +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.runtimeconfig.json +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.Verify.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\ConcurrentCollections.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Isopoh.Cryptography.Argon2.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Isopoh.Cryptography.Blake2b.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Isopoh.Cryptography.SecureArray.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\LiteNetLib.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\MessagePack.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\MessagePack.Annotations.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Microsoft.NET.StringTools.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\R3.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.Analyzers.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Logging.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Mesh.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Networking.dll +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\Aetheria.State.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.xml +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.xml +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.Analyzers.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Caching.MessagePack.Analyzers.xml +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Logging.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Logging.xml +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Mesh.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Mesh.xml +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Networking.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\bin\Debug\net10.0\GameCult.Networking.xml +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.csproj.AssemblyReference.cache +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.GeneratedMSBuildEditorConfig.editorconfig +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.AssemblyInfoInputs.cache +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.AssemblyInfo.cs +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.csproj.CoreCompileInputs.cache +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.sourcelink.json +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.4BA5618A.Up2Date +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.dll +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\refint\Aetheria.State.Verify.dll +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.pdb +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\Aetheria.State.Verify.genruntimeconfig.cache +E:\Projects\Aetheria\Aetheria.State.Verify\obj\Debug\net10.0\ref\Aetheria.State.Verify.dll diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.dll b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.dll new file mode 100644 index 000000000..e8e13402e --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10df2ef3b22ac10a7654a740984cdf31744fe43c42b66ed906d32f4f360272e0 +size 13824 diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.genruntimeconfig.cache b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.genruntimeconfig.cache new file mode 100644 index 000000000..7de6abb3f --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.genruntimeconfig.cache @@ -0,0 +1 @@ +d66ddbf09334068e938f9d192fe2c8a993210af469a04b842880d24222e49a49 diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.sourcelink.json b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.sourcelink.json new file mode 100644 index 000000000..65065e69c --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/Aetheria.State.Verify.sourcelink.json @@ -0,0 +1 @@ +{"documents":{"E:\\Projects\\Aetheria\\*":"https://raw.githubusercontent.com/GameCult/Aetheria/dad8d799fcaec5d616486f3656f6240ad6634a27/*"}} \ No newline at end of file diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/apphost.exe b/Aetheria.State.Verify/obj/Debug/net10.0/apphost.exe new file mode 100644 index 000000000..bbb905523 Binary files /dev/null and b/Aetheria.State.Verify/obj/Debug/net10.0/apphost.exe differ diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/ref/Aetheria.State.Verify.dll b/Aetheria.State.Verify/obj/Debug/net10.0/ref/Aetheria.State.Verify.dll new file mode 100644 index 000000000..5ce79b337 --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/ref/Aetheria.State.Verify.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f93ea6751f6ecd4676def51d9334d0524d53914078072d7024734e7da7e67b9e +size 7168 diff --git a/Aetheria.State.Verify/obj/Debug/net10.0/refint/Aetheria.State.Verify.dll b/Aetheria.State.Verify/obj/Debug/net10.0/refint/Aetheria.State.Verify.dll new file mode 100644 index 000000000..5ce79b337 --- /dev/null +++ b/Aetheria.State.Verify/obj/Debug/net10.0/refint/Aetheria.State.Verify.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f93ea6751f6ecd4676def51d9334d0524d53914078072d7024734e7da7e67b9e +size 7168 diff --git a/Aetheria.State.Verify/obj/project.assets.json b/Aetheria.State.Verify/obj/project.assets.json new file mode 100644 index 000000000..ba8930897 --- /dev/null +++ b/Aetheria.State.Verify/obj/project.assets.json @@ -0,0 +1,851 @@ +{ + "version": 3, + "targets": { + "net10.0": { + "ConcurrentHashSet/1.3.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/ConcurrentCollections.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/ConcurrentCollections.dll": { + "related": ".xml" + } + } + }, + "Isopoh.Cryptography.Argon2/2.0.0": { + "type": "package", + "dependencies": { + "Isopoh.Cryptography.Blake2b": "2.0.0", + "Isopoh.Cryptography.SecureArray": "2.0.0" + }, + "compile": { + "lib/net7.0/Isopoh.Cryptography.Argon2.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/Isopoh.Cryptography.Argon2.dll": { + "related": ".xml" + } + } + }, + "Isopoh.Cryptography.Blake2b/2.0.0": { + "type": "package", + "dependencies": { + "Isopoh.Cryptography.SecureArray": "2.0.0" + }, + "compile": { + "lib/net7.0/Isopoh.Cryptography.Blake2b.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/Isopoh.Cryptography.Blake2b.dll": { + "related": ".xml" + } + } + }, + "Isopoh.Cryptography.SecureArray/2.0.0": { + "type": "package", + "compile": { + "lib/net7.0/Isopoh.Cryptography.SecureArray.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/Isopoh.Cryptography.SecureArray.dll": { + "related": ".xml" + } + } + }, + "LiteNetLib/2.1.2": { + "type": "package", + "compile": { + "lib/net8.0/LiteNetLib.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/LiteNetLib.dll": { + "related": ".xml" + } + } + }, + "MessagePack/3.1.4": { + "type": "package", + "dependencies": { + "MessagePack.Annotations": "3.1.4", + "MessagePackAnalyzer": "3.1.4", + "Microsoft.NET.StringTools": "17.11.4" + }, + "compile": { + "lib/net9.0/MessagePack.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/MessagePack.dll": { + "related": ".xml" + } + } + }, + "MessagePack.Annotations/3.1.4": { + "type": "package", + "compile": { + "lib/netstandard2.0/MessagePack.Annotations.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/MessagePack.Annotations.dll": { + "related": ".xml" + } + } + }, + "MessagePackAnalyzer/3.1.4": { + "type": "package", + "build": { + "build/_._": {} + } + }, + "Microsoft.NET.StringTools/17.11.4": { + "type": "package", + "compile": { + "ref/net8.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/Microsoft.NET.StringTools.dll": { + "related": ".pdb;.xml" + } + } + }, + "R3/1.3.0": { + "type": "package", + "compile": { + "lib/net8.0/R3.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/R3.dll": { + "related": ".xml" + } + } + }, + "Aetheria.State/1.0.0": { + "type": "project", + "framework": ".NETStandard,Version=v2.1", + "dependencies": { + "GameCult.Caching": "1.0.3", + "GameCult.Caching.MessagePack": "1.0.3", + "GameCult.Mesh": "1.0.3", + "GameCult.Networking": "1.0.3" + }, + "compile": { + "bin/placeholder/Aetheria.State.dll": {} + }, + "runtime": { + "bin/placeholder/Aetheria.State.dll": {} + } + }, + "GameCult.Caching/1.0.3": { + "type": "project", + "framework": ".NETStandard,Version=v2.1", + "dependencies": { + "ConcurrentHashSet": "1.3.0", + "GameCult.Logging": "1.0.3", + "R3": "1.3.0" + }, + "compile": { + "bin/placeholder/GameCult.Caching.dll": {} + }, + "runtime": { + "bin/placeholder/GameCult.Caching.dll": {} + } + }, + "GameCult.Caching.MessagePack/1.0.3": { + "type": "project", + "framework": ".NETStandard,Version=v2.1", + "dependencies": { + "GameCult.Caching": "1.0.3", + "GameCult.Caching.MessagePack.Analyzers": "1.0.3", + "MessagePack": "3.1.4" + }, + "compile": { + "bin/placeholder/GameCult.Caching.MessagePack.dll": {} + }, + "runtime": { + "bin/placeholder/GameCult.Caching.MessagePack.dll": {} + } + }, + "GameCult.Caching.MessagePack.Analyzers/1.0.3": { + "type": "project", + "framework": ".NETStandard,Version=v2.1", + "dependencies": { + "GameCult.Caching.MessagePack.Generator": "1.0.3" + }, + "compile": { + "bin/placeholder/GameCult.Caching.MessagePack.Analyzers.dll": {} + }, + "runtime": { + "bin/placeholder/GameCult.Caching.MessagePack.Analyzers.dll": {} + } + }, + "GameCult.Caching.MessagePack.Generator/1.0.3": { + "type": "project", + "framework": ".NETStandard,Version=v2.0", + "compile": { + "bin/placeholder/_._": {} + }, + "runtime": { + "bin/placeholder/GameCult.Caching.MessagePack.Generator.dll": {} + } + }, + "GameCult.Logging/1.0.3": { + "type": "project", + "framework": ".NETStandard,Version=v2.1", + "compile": { + "bin/placeholder/GameCult.Logging.dll": {} + }, + "runtime": { + "bin/placeholder/GameCult.Logging.dll": {} + } + }, + "GameCult.Mesh/1.0.3": { + "type": "project", + "framework": ".NETStandard,Version=v2.1", + "dependencies": { + "GameCult.Caching": "1.0.3", + "GameCult.Caching.MessagePack": "1.0.3", + "GameCult.Networking": "1.0.3" + }, + "compile": { + "bin/placeholder/GameCult.Mesh.dll": {} + }, + "runtime": { + "bin/placeholder/GameCult.Mesh.dll": {} + } + }, + "GameCult.Networking/1.0.3": { + "type": "project", + "framework": ".NETStandard,Version=v2.1", + "dependencies": { + "GameCult.Caching": "1.0.3", + "GameCult.Caching.MessagePack": "1.0.3", + "GameCult.Logging": "1.0.3", + "Isopoh.Cryptography.Argon2": "2.0.0", + "LiteNetLib": "2.1.2", + "MessagePack": "3.1.4", + "R3": "1.3.0" + }, + "compile": { + "bin/placeholder/GameCult.Networking.dll": {} + }, + "runtime": { + "bin/placeholder/GameCult.Networking.dll": {} + } + } + } + }, + "libraries": { + "ConcurrentHashSet/1.3.0": { + "sha512": "a30gfk4WDn2f7sOisXpko+CrQ7s5nL1ZWk4afnRwwRQHWPRrRSZpzn5Dz2YWpJtS90NJqkytQ/MkzHq4QYTIbg==", + "type": "package", + "path": "concurrenthashset/1.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "concurrenthashset.1.3.0.nupkg.sha512", + "concurrenthashset.nuspec", + "lib/net461/ConcurrentCollections.dll", + "lib/net461/ConcurrentCollections.xml", + "lib/netstandard1.0/ConcurrentCollections.dll", + "lib/netstandard1.0/ConcurrentCollections.xml", + "lib/netstandard2.0/ConcurrentCollections.dll", + "lib/netstandard2.0/ConcurrentCollections.xml" + ] + }, + "Isopoh.Cryptography.Argon2/2.0.0": { + "sha512": "8ytWN19j+qARb/XYi7KkNMm4Z8zS6tfGgnsZ1N5ihbQ5LXfyL+uYowfJxtGW9TO0S8NM2q0BaTKGOtOlsrhclQ==", + "type": "package", + "path": "isopoh.cryptography.argon2/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "README.md", + "isopoh.cryptography.argon2.2.0.0.nupkg.sha512", + "isopoh.cryptography.argon2.nuspec", + "isopoh.png", + "lib/net6.0/Isopoh.Cryptography.Argon2.dll", + "lib/net6.0/Isopoh.Cryptography.Argon2.xml", + "lib/net7.0/Isopoh.Cryptography.Argon2.dll", + "lib/net7.0/Isopoh.Cryptography.Argon2.xml", + "lib/netcoreapp3.1/Isopoh.Cryptography.Argon2.dll", + "lib/netcoreapp3.1/Isopoh.Cryptography.Argon2.xml", + "lib/netstandard2.0/Isopoh.Cryptography.Argon2.dll", + "lib/netstandard2.0/Isopoh.Cryptography.Argon2.xml" + ] + }, + "Isopoh.Cryptography.Blake2b/2.0.0": { + "sha512": "Co56bjSZV13fpvYHEN04qG8hqc0rKRm4os8iEgpJ/kujvt0pYtOVhj5J0Q7HBPbHwpcChRh2CjYVCGm4nw85VQ==", + "type": "package", + "path": "isopoh.cryptography.blake2b/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "README.md", + "isopoh.cryptography.blake2b.2.0.0.nupkg.sha512", + "isopoh.cryptography.blake2b.nuspec", + "isopoh.png", + "lib/net6.0/Isopoh.Cryptography.Blake2b.dll", + "lib/net6.0/Isopoh.Cryptography.Blake2b.xml", + "lib/net7.0/Isopoh.Cryptography.Blake2b.dll", + "lib/net7.0/Isopoh.Cryptography.Blake2b.xml", + "lib/netcoreapp3.1/Isopoh.Cryptography.Blake2b.dll", + "lib/netcoreapp3.1/Isopoh.Cryptography.Blake2b.xml", + "lib/netstandard2.0/Isopoh.Cryptography.Blake2b.dll", + "lib/netstandard2.0/Isopoh.Cryptography.Blake2b.xml" + ] + }, + "Isopoh.Cryptography.SecureArray/2.0.0": { + "sha512": "oWbRv/BTztKJxKFr3FBurWBBCgE1+nUTm3pwtA3Yg7Xeo4wDpaLstAwqx8HeQG3/b9yOs2qykpqfbNPJ40McIw==", + "type": "package", + "path": "isopoh.cryptography.securearray/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "README.md", + "isopoh.cryptography.securearray.2.0.0.nupkg.sha512", + "isopoh.cryptography.securearray.nuspec", + "isopoh.png", + "lib/net6.0/Isopoh.Cryptography.SecureArray.dll", + "lib/net6.0/Isopoh.Cryptography.SecureArray.xml", + "lib/net7.0/Isopoh.Cryptography.SecureArray.dll", + "lib/net7.0/Isopoh.Cryptography.SecureArray.xml", + "lib/netcoreapp3.1/Isopoh.Cryptography.SecureArray.dll", + "lib/netcoreapp3.1/Isopoh.Cryptography.SecureArray.xml", + "lib/netstandard2.0/Isopoh.Cryptography.SecureArray.dll", + "lib/netstandard2.0/Isopoh.Cryptography.SecureArray.xml" + ] + }, + "LiteNetLib/2.1.2": { + "sha512": "+bmu7Vj+ik3xGX+qubsFuGSR8Pdri4Og7D9YAer83vHotkSHNLYL5bkZNgpvsK8GrcdNOUabZhqbYtmHu8as7A==", + "type": "package", + "path": "litenetlib/2.1.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LNL.png", + "README.md", + "lib/net8.0/LiteNetLib.dll", + "lib/net8.0/LiteNetLib.xml", + "lib/netstandard2.1/LiteNetLib.dll", + "lib/netstandard2.1/LiteNetLib.xml", + "litenetlib.2.1.2.nupkg.sha512", + "litenetlib.nuspec" + ] + }, + "MessagePack/3.1.4": { + "sha512": "BH0wlHWmVoZpbAPyyt2Awbq30C+ZsS3eHSkYdnyUAbqVJ22fAJDzn2xTieBeoT5QlcBzp61vHcv878YJGfi3mg==", + "type": "package", + "path": "messagepack/3.1.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/MessagePack.dll", + "lib/net472/MessagePack.xml", + "lib/net8.0/MessagePack.dll", + "lib/net8.0/MessagePack.xml", + "lib/net9.0/MessagePack.dll", + "lib/net9.0/MessagePack.xml", + "lib/netstandard2.0/MessagePack.dll", + "lib/netstandard2.0/MessagePack.xml", + "lib/netstandard2.1/MessagePack.dll", + "lib/netstandard2.1/MessagePack.xml", + "messagepack.3.1.4.nupkg.sha512", + "messagepack.nuspec" + ] + }, + "MessagePack.Annotations/3.1.4": { + "sha512": "aVWrDAkCdqxwQsz/q0ldPh2EFn48M99YUzE9OvZjMq2RNLKz4o2z88iGFvSvbMqOWRweRvKPHBJZe22PRqzslQ==", + "type": "package", + "path": "messagepack.annotations/3.1.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/netstandard2.0/MessagePack.Annotations.dll", + "lib/netstandard2.0/MessagePack.Annotations.xml", + "messagepack.annotations.3.1.4.nupkg.sha512", + "messagepack.annotations.nuspec" + ] + }, + "MessagePackAnalyzer/3.1.4": { + "sha512": "CTaSsN/liJ7MhLCAB7Z4ZLBNuVGCq9lt2BT/cbrc9vzGv89yK3CqIA+z9T19a11eQYl9etZHL6MQJgCqECRVpg==", + "type": "package", + "path": "messagepackanalyzer/3.1.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "analyzers/roslyn4.3/cs/MessagePack.Analyzers.CodeFixes.dll", + "analyzers/roslyn4.3/cs/MessagePack.SourceGenerator.dll", + "build/MessagePackAnalyzer.targets", + "messagepackanalyzer.3.1.4.nupkg.sha512", + "messagepackanalyzer.nuspec" + ] + }, + "Microsoft.NET.StringTools/17.11.4": { + "sha512": "mudqUHhNpeqIdJoUx2YDWZO/I9uEDYVowan89R6wsomfnUJQk6HteoQTlNjZDixhT2B4IXMkMtgZtoceIjLRmA==", + "type": "package", + "path": "microsoft.net.stringtools/17.11.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "MSBuild-NuGet-Icon.png", + "README.md", + "lib/net472/Microsoft.NET.StringTools.dll", + "lib/net472/Microsoft.NET.StringTools.pdb", + "lib/net472/Microsoft.NET.StringTools.xml", + "lib/net8.0/Microsoft.NET.StringTools.dll", + "lib/net8.0/Microsoft.NET.StringTools.pdb", + "lib/net8.0/Microsoft.NET.StringTools.xml", + "lib/netstandard2.0/Microsoft.NET.StringTools.dll", + "lib/netstandard2.0/Microsoft.NET.StringTools.pdb", + "lib/netstandard2.0/Microsoft.NET.StringTools.xml", + "microsoft.net.stringtools.17.11.4.nupkg.sha512", + "microsoft.net.stringtools.nuspec", + "notices/THIRDPARTYNOTICES.txt", + "ref/net472/Microsoft.NET.StringTools.dll", + "ref/net472/Microsoft.NET.StringTools.xml", + "ref/net8.0/Microsoft.NET.StringTools.dll", + "ref/net8.0/Microsoft.NET.StringTools.xml", + "ref/netstandard2.0/Microsoft.NET.StringTools.dll", + "ref/netstandard2.0/Microsoft.NET.StringTools.xml" + ] + }, + "R3/1.3.0": { + "sha512": "c4bL37HGimYon/qfRTZOJE41M3cgdMJn/p4O5Jq+WHTJGNXUb1x2DlVI+iZk5phCBwq3ERfrgbaPu9WdG2OS+w==", + "type": "package", + "path": "r3/1.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "lib/net6.0/R3.dll", + "lib/net6.0/R3.xml", + "lib/net8.0/R3.dll", + "lib/net8.0/R3.xml", + "lib/netstandard2.0/R3.dll", + "lib/netstandard2.0/R3.xml", + "lib/netstandard2.1/R3.dll", + "lib/netstandard2.1/R3.xml", + "r3.1.3.0.nupkg.sha512", + "r3.nuspec" + ] + }, + "Aetheria.State/1.0.0": { + "type": "project", + "path": "../Aetheria.State/Aetheria.State.csproj", + "msbuildProject": "../Aetheria.State/Aetheria.State.csproj" + }, + "GameCult.Caching/1.0.3": { + "type": "project", + "path": "../../CultLib/src/GameCult.Caching/GameCult.Caching.csproj", + "msbuildProject": "../../CultLib/src/GameCult.Caching/GameCult.Caching.csproj" + }, + "GameCult.Caching.MessagePack/1.0.3": { + "type": "project", + "path": "../../CultLib/src/GameCult.Caching.MessagePack/GameCult.Caching.MessagePack.csproj", + "msbuildProject": "../../CultLib/src/GameCult.Caching.MessagePack/GameCult.Caching.MessagePack.csproj" + }, + "GameCult.Caching.MessagePack.Analyzers/1.0.3": { + "type": "project", + "path": "../../CultLib/src/GameCult.Caching.MessagePack.Analyzers/GameCult.Caching.MessagePack.Analyzers.csproj", + "msbuildProject": "../../CultLib/src/GameCult.Caching.MessagePack.Analyzers/GameCult.Caching.MessagePack.Analyzers.csproj" + }, + "GameCult.Caching.MessagePack.Generator/1.0.3": { + "type": "project", + "path": "../../CultLib/src/GameCult.Caching.MessagePack.Generator/GameCult.Caching.MessagePack.Generator.csproj", + "msbuildProject": "../../CultLib/src/GameCult.Caching.MessagePack.Generator/GameCult.Caching.MessagePack.Generator.csproj" + }, + "GameCult.Logging/1.0.3": { + "type": "project", + "path": "../../CultLib/src/GameCult.Logging/GameCult.Logging.csproj", + "msbuildProject": "../../CultLib/src/GameCult.Logging/GameCult.Logging.csproj" + }, + "GameCult.Mesh/1.0.3": { + "type": "project", + "path": "../../CultLib/src/GameCult.Mesh/GameCult.Mesh.csproj", + "msbuildProject": "../../CultLib/src/GameCult.Mesh/GameCult.Mesh.csproj" + }, + "GameCult.Networking/1.0.3": { + "type": "project", + "path": "../../CultLib/src/GameCult.Networking/GameCult.Networking.csproj", + "msbuildProject": "../../CultLib/src/GameCult.Networking/GameCult.Networking.csproj" + } + }, + "projectFileDependencyGroups": { + "net10.0": [ + "Aetheria.State >= 1.0.0" + ] + }, + "packageFolders": { + "C:\\Users\\Meta\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj", + "projectName": "Aetheria.State.Verify", + "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj", + "packagesPath": "C:\\Users\\Meta\\.nuget\\packages\\", + "outputPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Meta\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "net10.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "projectReferences": { + "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj": { + "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State\\Aetheria.State.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "all" + }, + "SdkAnalysisLevel": "10.0.200" + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.202/PortableRuntimeIdentifierGraph.json", + "packagesToPrune": { + "Microsoft.CSharp": "(,4.7.32767]", + "Microsoft.VisualBasic": "(,10.4.32767]", + "Microsoft.Win32.Primitives": "(,4.3.32767]", + "Microsoft.Win32.Registry": "(,5.0.32767]", + "runtime.any.System.Collections": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.any.System.Globalization": "(,4.3.32767]", + "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.any.System.IO": "(,4.3.32767]", + "runtime.any.System.Reflection": "(,4.3.32767]", + "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.any.System.Runtime": "(,4.3.32767]", + "runtime.any.System.Runtime.Handles": "(,4.3.32767]", + "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.any.System.Text.Encoding": "(,4.3.32767]", + "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.any.System.Threading.Tasks": "(,4.3.32767]", + "runtime.any.System.Threading.Timer": "(,4.3.32767]", + "runtime.aot.System.Collections": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.aot.System.Globalization": "(,4.3.32767]", + "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.aot.System.IO": "(,4.3.32767]", + "runtime.aot.System.Reflection": "(,4.3.32767]", + "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.aot.System.Runtime": "(,4.3.32767]", + "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", + "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", + "runtime.aot.System.Threading.Timer": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.unix.System.Console": "(,4.3.32767]", + "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", + "runtime.unix.System.Net.Primitives": "(,4.3.32767]", + "runtime.unix.System.Net.Sockets": "(,4.3.32767]", + "runtime.unix.System.Private.Uri": "(,4.3.32767]", + "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.win.System.Console": "(,4.3.32767]", + "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.win.System.IO.FileSystem": "(,4.3.32767]", + "runtime.win.System.Net.Primitives": "(,4.3.32767]", + "runtime.win.System.Net.Sockets": "(,4.3.32767]", + "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7.System.Private.Uri": "(,4.3.32767]", + "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", + "System.AppContext": "(,4.3.32767]", + "System.Buffers": "(,5.0.32767]", + "System.Collections": "(,4.3.32767]", + "System.Collections.Concurrent": "(,4.3.32767]", + "System.Collections.Immutable": "(,10.0.32767]", + "System.Collections.NonGeneric": "(,4.3.32767]", + "System.Collections.Specialized": "(,4.3.32767]", + "System.ComponentModel": "(,4.3.32767]", + "System.ComponentModel.Annotations": "(,4.3.32767]", + "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", + "System.ComponentModel.Primitives": "(,4.3.32767]", + "System.ComponentModel.TypeConverter": "(,4.3.32767]", + "System.Console": "(,4.3.32767]", + "System.Data.Common": "(,4.3.32767]", + "System.Data.DataSetExtensions": "(,4.4.32767]", + "System.Diagnostics.Contracts": "(,4.3.32767]", + "System.Diagnostics.Debug": "(,4.3.32767]", + "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", + "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", + "System.Diagnostics.Process": "(,4.3.32767]", + "System.Diagnostics.StackTrace": "(,4.3.32767]", + "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", + "System.Diagnostics.Tools": "(,4.3.32767]", + "System.Diagnostics.TraceSource": "(,4.3.32767]", + "System.Diagnostics.Tracing": "(,4.3.32767]", + "System.Drawing.Primitives": "(,4.3.32767]", + "System.Dynamic.Runtime": "(,4.3.32767]", + "System.Formats.Asn1": "(,10.0.32767]", + "System.Formats.Tar": "(,10.0.32767]", + "System.Globalization": "(,4.3.32767]", + "System.Globalization.Calendars": "(,4.3.32767]", + "System.Globalization.Extensions": "(,4.3.32767]", + "System.IO": "(,4.3.32767]", + "System.IO.Compression": "(,4.3.32767]", + "System.IO.Compression.ZipFile": "(,4.3.32767]", + "System.IO.FileSystem": "(,4.3.32767]", + "System.IO.FileSystem.AccessControl": "(,4.4.32767]", + "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", + "System.IO.FileSystem.Primitives": "(,4.3.32767]", + "System.IO.FileSystem.Watcher": "(,4.3.32767]", + "System.IO.IsolatedStorage": "(,4.3.32767]", + "System.IO.MemoryMappedFiles": "(,4.3.32767]", + "System.IO.Pipelines": "(,10.0.32767]", + "System.IO.Pipes": "(,4.3.32767]", + "System.IO.Pipes.AccessControl": "(,5.0.32767]", + "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", + "System.Linq": "(,4.3.32767]", + "System.Linq.AsyncEnumerable": "(,10.0.32767]", + "System.Linq.Expressions": "(,4.3.32767]", + "System.Linq.Parallel": "(,4.3.32767]", + "System.Linq.Queryable": "(,4.3.32767]", + "System.Memory": "(,5.0.32767]", + "System.Net.Http": "(,4.3.32767]", + "System.Net.Http.Json": "(,10.0.32767]", + "System.Net.NameResolution": "(,4.3.32767]", + "System.Net.NetworkInformation": "(,4.3.32767]", + "System.Net.Ping": "(,4.3.32767]", + "System.Net.Primitives": "(,4.3.32767]", + "System.Net.Requests": "(,4.3.32767]", + "System.Net.Security": "(,4.3.32767]", + "System.Net.ServerSentEvents": "(,10.0.32767]", + "System.Net.Sockets": "(,4.3.32767]", + "System.Net.WebHeaderCollection": "(,4.3.32767]", + "System.Net.WebSockets": "(,4.3.32767]", + "System.Net.WebSockets.Client": "(,4.3.32767]", + "System.Numerics.Vectors": "(,5.0.32767]", + "System.ObjectModel": "(,4.3.32767]", + "System.Private.DataContractSerialization": "(,4.3.32767]", + "System.Private.Uri": "(,4.3.32767]", + "System.Reflection": "(,4.3.32767]", + "System.Reflection.DispatchProxy": "(,6.0.32767]", + "System.Reflection.Emit": "(,4.7.32767]", + "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", + "System.Reflection.Emit.Lightweight": "(,4.7.32767]", + "System.Reflection.Extensions": "(,4.3.32767]", + "System.Reflection.Metadata": "(,10.0.32767]", + "System.Reflection.Primitives": "(,4.3.32767]", + "System.Reflection.TypeExtensions": "(,4.3.32767]", + "System.Resources.Reader": "(,4.3.32767]", + "System.Resources.ResourceManager": "(,4.3.32767]", + "System.Resources.Writer": "(,4.3.32767]", + "System.Runtime": "(,4.3.32767]", + "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", + "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", + "System.Runtime.Extensions": "(,4.3.32767]", + "System.Runtime.Handles": "(,4.3.32767]", + "System.Runtime.InteropServices": "(,4.3.32767]", + "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", + "System.Runtime.Loader": "(,4.3.32767]", + "System.Runtime.Numerics": "(,4.3.32767]", + "System.Runtime.Serialization.Formatters": "(,4.3.32767]", + "System.Runtime.Serialization.Json": "(,4.3.32767]", + "System.Runtime.Serialization.Primitives": "(,4.3.32767]", + "System.Runtime.Serialization.Xml": "(,4.3.32767]", + "System.Security.AccessControl": "(,6.0.32767]", + "System.Security.Claims": "(,4.3.32767]", + "System.Security.Cryptography.Algorithms": "(,4.3.32767]", + "System.Security.Cryptography.Cng": "(,5.0.32767]", + "System.Security.Cryptography.Csp": "(,4.3.32767]", + "System.Security.Cryptography.Encoding": "(,4.3.32767]", + "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", + "System.Security.Cryptography.Primitives": "(,4.3.32767]", + "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", + "System.Security.Principal": "(,4.3.32767]", + "System.Security.Principal.Windows": "(,5.0.32767]", + "System.Security.SecureString": "(,4.3.32767]", + "System.Text.Encoding": "(,4.3.32767]", + "System.Text.Encoding.CodePages": "(,10.0.32767]", + "System.Text.Encoding.Extensions": "(,4.3.32767]", + "System.Text.Encodings.Web": "(,10.0.32767]", + "System.Text.Json": "(,10.0.32767]", + "System.Text.RegularExpressions": "(,4.3.32767]", + "System.Threading": "(,4.3.32767]", + "System.Threading.AccessControl": "(,10.0.32767]", + "System.Threading.Channels": "(,10.0.32767]", + "System.Threading.Overlapped": "(,4.3.32767]", + "System.Threading.Tasks": "(,4.3.32767]", + "System.Threading.Tasks.Dataflow": "(,10.0.32767]", + "System.Threading.Tasks.Extensions": "(,5.0.32767]", + "System.Threading.Tasks.Parallel": "(,4.3.32767]", + "System.Threading.Thread": "(,4.3.32767]", + "System.Threading.ThreadPool": "(,4.3.32767]", + "System.Threading.Timer": "(,4.3.32767]", + "System.ValueTuple": "(,4.5.32767]", + "System.Xml.ReaderWriter": "(,4.3.32767]", + "System.Xml.XDocument": "(,4.3.32767]", + "System.Xml.XmlDocument": "(,4.3.32767]", + "System.Xml.XmlSerializer": "(,4.3.32767]", + "System.Xml.XPath": "(,4.3.32767]", + "System.Xml.XPath.XDocument": "(,5.0.32767]" + } + } + } + }, + "logs": [ + { + "code": "NU1903", + "level": "Warning", + "warningLevel": 1, + "message": "Package 'MessagePack' 3.1.4 has a known high severity vulnerability, https://github.com/advisories/GHSA-hv8m-jj95-wg3x", + "libraryId": "MessagePack", + "targetGraphs": [ + "net10.0" + ] + } + ] +} \ No newline at end of file diff --git a/Aetheria.State.Verify/obj/project.nuget.cache b/Aetheria.State.Verify/obj/project.nuget.cache new file mode 100644 index 000000000..8ef044c7d --- /dev/null +++ b/Aetheria.State.Verify/obj/project.nuget.cache @@ -0,0 +1,32 @@ +{ + "version": 2, + "dgSpecHash": "1NX9KVtabo8=", + "success": true, + "projectFilePath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj", + "expectedPackageFiles": [ + "C:\\Users\\Meta\\.nuget\\packages\\concurrenthashset\\1.3.0\\concurrenthashset.1.3.0.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\isopoh.cryptography.argon2\\2.0.0\\isopoh.cryptography.argon2.2.0.0.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\isopoh.cryptography.blake2b\\2.0.0\\isopoh.cryptography.blake2b.2.0.0.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\isopoh.cryptography.securearray\\2.0.0\\isopoh.cryptography.securearray.2.0.0.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\litenetlib\\2.1.2\\litenetlib.2.1.2.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\messagepack\\3.1.4\\messagepack.3.1.4.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\messagepack.annotations\\3.1.4\\messagepack.annotations.3.1.4.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\messagepackanalyzer\\3.1.4\\messagepackanalyzer.3.1.4.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\microsoft.net.stringtools\\17.11.4\\microsoft.net.stringtools.17.11.4.nupkg.sha512", + "C:\\Users\\Meta\\.nuget\\packages\\r3\\1.3.0\\r3.1.3.0.nupkg.sha512" + ], + "logs": [ + { + "code": "NU1903", + "level": "Warning", + "message": "Package 'MessagePack' 3.1.4 has a known high severity vulnerability, https://github.com/advisories/GHSA-hv8m-jj95-wg3x", + "projectPath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj", + "warningLevel": 1, + "filePath": "E:\\Projects\\Aetheria\\Aetheria.State.Verify\\Aetheria.State.Verify.csproj", + "libraryId": "MessagePack", + "targetGraphs": [ + "net10.0" + ] + } + ] +} \ No newline at end of file diff --git a/Aetheria.State/AetheriaStateNode.cs b/Aetheria.State/AetheriaStateNode.cs index ba980bb6b..2546c714f 100644 --- a/Aetheria.State/AetheriaStateNode.cs +++ b/Aetheria.State/AetheriaStateNode.cs @@ -76,6 +76,11 @@ public sealed class AetheriaStateNode : IAsyncDisposable, IDisposable return Database.PutAsync(new CultRecordKey("global:aetheria.migration_ledger.v1"), ledger); } + public Task GetMigrationLedgerAsync() + { + return Database.GetAsync(new CultRecordKey("global:aetheria.migration_ledger.v1")); + } + public Task> PutLegacyCatalogQuarantineAsync( AetheriaLegacyCatalogQuarantine quarantine) { diff --git a/Aetheria.State/README.md b/Aetheria.State/README.md index baff94b3c..3a65b707a 100644 --- a/Aetheria.State/README.md +++ b/Aetheria.State/README.md @@ -46,6 +46,12 @@ definitions, 12 factions, and 12 name files. Runtime object graphs, behaviors, Unity shapes, and simulation state remain legacy until dedicated typed documents exist. +`Aetheria.State.Verify` opens a materialized state file and checks that the +typed migration ledger matches the actual item, corporation, and name-file +records in the `.cc` store. It also verifies the canonical legacy-ID lookup API +for one migrated record of each catalog kind. Use it after import when +`GameData/aetheria-world.cc` changes. + Current rebuild notes: - `MessagePack` 3.1.4 is pulled transitively through CultLib and is currently diff --git a/README.md b/README.md index af4b1526c..9c786a69a 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,8 @@ The state spine lives in `Aetheria.State`. It defines CultCache documents, CultN Use `Aetheria.State.Import` to quarantine the checked-in legacy catalog files and map stable MessagePack payload fields into typed CultCache state. The importer records path, size, and SHA-256 provenance for `GameData/AetherDB.msgpack` and `GameData/NameFile/*.msgpack`, then emits typed item, faction, and name-file records for the fields that have earned migration authority. +Use `Aetheria.State.Verify` after import to prove the materialized `.cc` file is internally coherent: migration-ledger counts must match actual typed catalog records, and legacy-ID lookups must resolve through `Aetheria.State` rather than importer-local key strings. + #### Editing Items Item editing should target typed CultCache documents and CultMesh/Eve surfaces. The old Unity database inspector has been removed from authority; if it returns, it should be a lowering over the state spine, not a separate store. diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md index 00e6db599..903347d74 100644 --- a/docs/aetheria-perfect-machine-map.md +++ b/docs/aetheria-perfect-machine-map.md @@ -55,6 +55,9 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted. - `GameData/aetheria-world.cc` is now materialized from the importer as the project-local typed state file for the checked-in catalog. The importer stores relative provenance in the state document, not machine-local absolute paths. + `Aetheria.State.Verify` opens the materialized file and checks that migration + ledger counts match actual typed catalog records and that the legacy-ID lookup + API resolves migrated item, corporation, and name-file documents. - `.voidbot/state/aetheria.cc` is the repo Persona state witness. Aetheria is not registered as a VoidBot Discord identity yet, so mutations use the repo-local `void-self-state.mjs apply-operation` typed boundary rather than