This is the SecRandom-side companion plugin for SecAgent. The released SecRandom 3.0 host ships no SecAgent integration of its own, so this plugin owns the local loopback API consumed by the SecRandom SecAgent connector:
GET/POST/DELETE http://127.0.0.1:3910/api/secagent/v1/students— read, upsert, and remove students on the current listPOST http://127.0.0.1:3910/api/secagent/v1/draw/students— draw students- best-effort installation/update of the
secrandomconnector in a running SecAgent
Draws are delegated to the host's IPluginDrawService facade, so they go through the host's
course-linkage authorization, verification, and history pipeline exactly like built-in draws. The
mode (flash/result_only) and count/gender (and group) arguments are supported; the
tag/id/name filters of the older transport are not — the host draw API has no equivalent, so such
requests are rejected with HTTP 400 instead of silently drawing from the wrong pool.
The plugin is packaged as srpx/SecRandom.SecAgentPlugin.srpx.
The plugin binds against host-owned assemblies at runtime (SecRandom.Core, SecRandom.Shared,
SecRandom.PluginSdk resolve from the host process), so it must be compiled against the exact host
source it targets: SecRandom master 8f990fd3, the commit released as v3.0.0-alpha.2. The
published SecRandom.PluginSdk 3.0.0-alpha.2 NuGet package is ABI-incompatible with that host and
must not be used.
dotnet build -c Release -p:CreateSrpx=true -p:UseLocalPluginSdk=true -p:LocalSecRandomRoot=<path-to-SecRandom>Copy the generated SRPX package into SecRandom's data/cache/plugin-packages directory and restart
SecRandom.