Add character aliases/identity links, move-beats, keyboard help overlay
- Characters can carry aliases and be linked as the same underlying person (canonical SameCharacterAsId, optional reveal chapter/note), surfaced through the API, MCP tools, agent toolset, and web UI. - Characters page redesigned as a filterable/sortable table (name+ aliases, role, importance, occupation, tags) instead of a sidebar list, to stay usable as the cast grows. - Beats can be moved between chapters (BeatService.MoveAsync + MCP/ agent tool + endpoint). - Add a keyboard-shortcuts help overlay (HelpButton/HelpOverlayContext) wired into the project layout. - CLAUDE.md: require every frontend component to carry a unique id attribute; apply it to CharacterMultiSelect and MarkdownEditor.
This commit is contained in:
@@ -27,6 +27,12 @@ public class NovelApiClient(HttpClient http, ILogger<NovelApiClient> logger)
|
||||
Content = JsonContent.Create(body, options: Options)
|
||||
}, ct);
|
||||
|
||||
public Task<CallToolResult> PutAsync(string path, object body, CancellationToken ct = default) =>
|
||||
SendAsync(new HttpRequestMessage(HttpMethod.Put, path)
|
||||
{
|
||||
Content = JsonContent.Create(body, options: Options)
|
||||
}, ct);
|
||||
|
||||
public Task<CallToolResult> DeleteAsync(string path, CancellationToken ct = default) => SendAsync(new HttpRequestMessage(HttpMethod.Delete, path), ct);
|
||||
|
||||
private async Task<CallToolResult> SendAsync(HttpRequestMessage request, CancellationToken ct)
|
||||
|
||||
Reference in New Issue
Block a user