Replace the composer textarea with a Tiptap markdown editor
The composer now writes markdown with bold, italic, strike, code, links, quotes and lists, from shortcuts, markdown typing or a bubble over the selection. @ mentions a bot and # a workspace, shown as chips and saved as [bot:ID] / [workspace:ID]. Text selected in a message can be quoted into the composer. User messages render as markdown, and replies tell the bot who and what the user mentioned. Adds an ESM stand-in for use-sync-external-store, since bunext keeps React external in page bundles and the CommonJS original requires it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -133,3 +133,17 @@ describe("botMessagesToHarness with files", () => {
|
||||
).toEqual([{ role: "user", content: `[Attached earlier: "shot.png"]` }]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("botMessagesToHarness with mentions", () => {
|
||||
test("names the bots and workspaces a user message mentions", () => {
|
||||
expect(
|
||||
botMessagesToHarness({
|
||||
messages: [message("user", "ask [bot:3]"), message("bot", "[bot:3] is on it")],
|
||||
refs: { bots: new Map([[3, { name: "Ada" }]]), workspaces: new Map() },
|
||||
}),
|
||||
).toEqual([
|
||||
{ role: "user", content: "ask [bot:3]\n\n[Mentions: [bot:3] is Ada]" },
|
||||
{ role: "assistant", content: "[bot:3] is on it" },
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user