veratown-prototype

Prototype Status Feature

The status feature answers whether this prototype process is connected and configured. It does not perform profile or appearance changes.

UML Map

classDiagram
    direction LR

    class PrototypeStatusPlugin {
        +start() void
        +stop() void
        -commandSuite: PrototypeCommandSuite
    }
    class PrototypeCommandSuite {
        +register() Dispose
    }
    class BotCommandParser
    class CharacterCommunicationApi {
        +whisper(memberNumber, text) ActionOutcome
    }
    class SendWhisperAction
    class ActionCoordinator
    class ActionJournal
    class BcClient

    PrototypeStatusPlugin --> PrototypeCommandSuite
    PrototypeCommandSuite --> BotCommandParser : registers prototype
    PrototypeCommandSuite --> CharacterCommunicationApi
    CharacterCommunicationApi --> SendWhisperAction
    SendWhisperAction --> ActionCoordinator
    ActionCoordinator --> ActionJournal
    SendWhisperAction --> BcClient : ChatRoomChat Whisper

State Flow

stateDiagram-v2
    [*] --> CommandReceived
    CommandReceived --> Ignored: not a recognized command input
    CommandReceived --> ReplyRequested: !prototype or /bot prototype
    ReplyRequested --> DispatchedUnconfirmed: local Whisper emit succeeds
    ReplyRequested --> Failed: validation, journal, or transport failure
    DispatchedUnconfirmed --> [*]
    Failed --> [*]
    Ignored --> [*]

Room Chat/Emote/targeted Whisper !prototype commands use the shared command parser. Native /bot prototype arrives as a targeted Hidden ChatRoomBot prototype packet. In both cases, the bot privately whispers Veratown prototype is online. The action is reported as dispatched_unconfirmed; BC provides no sender-side delivery receipt.