openac-mosswartmassacre/tests/OpenAC.MosswartMassacre.Tests/OpenAC.MosswartMassacre.Tests.csproj
Erik 5dbb294a96 Skeleton: plugin root, backend socket, /mm router, settings, test harness
The socket connects with the shared-secret header, registers first, reassembles
incoming frames of any size (the original dropped anything over 4 KiB) and
reconnects two seconds after a failure. Incoming share_* frames go to the
vital-sharing handlers; any other frame is a chat-box command for this
character, run one per tick through the chat bar as if typed. Frames are
written with Newtonsoft.Json defaults, the original's serializer, so the
backend sees the same bytes. The secret lives in the character's settings.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 12:03:00 +02:00

25 lines
893 B
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="xunit" />
<PackageReference Include="xunit.runner.visualstudio" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\OpenAC.MosswartMassacre\OpenAC.MosswartMassacre.csproj" />
</ItemGroup>
<!-- A test run has no host, so it brings its own copy of the contract. -->
<ItemGroup>
<PackageReference Include="AcDream.Plugin.Abstractions"
VersionOverride="$(PluginApiPackageVersion)" />
</ItemGroup>
<ItemGroup>
<None Include="Golden\**\*.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
</Project>