HeadlessSessionHost already built ChatCommandRouter.Submit's exact dependencies (LiveChatCommandSurface over the plugin-verb registry, a RuntimeChatCommandFeedback) for LoginCommandSequence — that pipeline is the same one every graphical chat window calls. No lift was needed; this promotes those two ctor locals to fields and adds SubmitConsoleLine, the console's one entry point for a typed line. HeadlessConsoleChatFeedback decorates the real feedback so the console ALSO sees retail's transient SpewBox/ClientLocal interface text (bad-args refusals, unknown-command text) — that path never touches ChatLog, so it never reaches the K2 event-stream renderer added in the next commit. Mutation check (reverted before commit): commenting out _onInterfaceText(text) in HeadlessConsoleChatFeedback.ShowInterfaceText, and swapping SubmitConsoleLine's ChatChannelKind.Say for .Tell, each turn a still-to-be-added HeadlessConsoleTests case red. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| AcDream.App | ||
| AcDream.Bake | ||
| AcDream.Cli | ||
| AcDream.Content | ||
| AcDream.Core | ||
| AcDream.Core.Net | ||
| AcDream.Headless | ||
| AcDream.Launcher | ||
| AcDream.Launcher.Core | ||
| AcDream.Platform | ||
| AcDream.Plugin.Abstractions | ||
| AcDream.Plugins.MossTank | ||
| AcDream.Runtime | ||
| AcDream.UI.Abstractions | ||