From d140d5a2cb3de84b0ec030f7829a869d5795a1db Mon Sep 17 00:00:00 2001 From: Joshua Chittick Date: Tue, 24 Feb 2026 14:14:28 +0000 Subject: [PATCH] fix: handle mentioned settings command and bump version --- package.json | 2 +- packages/ims/shared/command-router.test.ts | 2 ++ packages/ims/shared/command-router.ts | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 9dc651b..4fb2164 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ode", - "version": "0.0.88", + "version": "0.0.89", "description": "Coding anywhere with your coding agents connected", "module": "packages/core/index.ts", "type": "module", diff --git a/packages/ims/shared/command-router.test.ts b/packages/ims/shared/command-router.test.ts index cab6109..8b4c968 100644 --- a/packages/ims/shared/command-router.test.ts +++ b/packages/ims/shared/command-router.test.ts @@ -6,6 +6,8 @@ describe("parseIncomingCommand", () => { expect(parseIncomingCommand("/setting")).toBe("setting"); expect(parseIncomingCommand("settings")).toBe("setting"); expect(parseIncomingCommand("/settings now")).toBe("setting"); + expect(parseIncomingCommand("@ode /setting")).toBe("setting"); + expect(parseIncomingCommand("<@ou_xxx> settings")).toBe("setting"); }); it("returns null for non-command messages", () => { diff --git a/packages/ims/shared/command-router.ts b/packages/ims/shared/command-router.ts index b11c213..a8ba72e 100644 --- a/packages/ims/shared/command-router.ts +++ b/packages/ims/shared/command-router.ts @@ -1,7 +1,11 @@ export type IncomingCommand = "setting"; export function parseIncomingCommand(text: string): IncomingCommand | null { - const normalized = text.trim().replace(/^//, "/").toLowerCase(); + const normalized = text + .trim() + .replace(/^//, "/") + .replace(/^(?:<@[^>]+>|@[^\s::,,]+)[::,,]?\s+/g, "") + .toLowerCase(); if (/^\/?settings?\b/.test(normalized)) return "setting"; return null; }