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>
20 lines
859 B
XML
20 lines
859 B
XML
<Project>
|
|
<PropertyGroup>
|
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Version comes from PluginApiPackageVersion via VersionOverride. -->
|
|
<PackageVersion Include="AcDream.Plugin.Abstractions" Version="0.1.18" />
|
|
|
|
<!-- The backend expects exactly the JSON Newtonsoft.Json writes with its
|
|
default settings (the original plugin's serializer), so the wire is
|
|
written with it and nothing else. -->
|
|
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
|
|
|
|
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
|
|
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
|
<PackageVersion Include="xunit" Version="2.9.3" />
|
|
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.4" />
|
|
</ItemGroup>
|
|
</Project>
|