mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 18:39:20 -05:00
feat: expose /compact command in Telegram native menu (openclaw#10352) thanks @akramcodez
Verified: - pnpm build - pnpm check - pnpm test Co-authored-by: akramcodez <179671552+akramcodez@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
This commit is contained in:
@@ -9,6 +9,7 @@ Docs: https://docs.openclaw.ai
|
||||
- CLI/Plugins: add `openclaw plugins uninstall <id>` with `--dry-run`, `--force`, and `--keep-files` options, including safe uninstall path handling and plugin uninstall docs. (#5985) Thanks @JustasMonkev.
|
||||
- CLI: add `openclaw logs --local-time` to display log timestamps in local timezone. (#13818) Thanks @xialonglee.
|
||||
- Telegram: render blockquotes as native `<blockquote>` tags instead of stripping them. (#14608)
|
||||
- Telegram: expose `/compact` in the native command menu. (#10352) Thanks @akramcodez.
|
||||
- Discord: add role-based allowlists and role-based agent routing. (#10650) Thanks @Minidoracat.
|
||||
- Config: avoid redacting `maxTokens`-like fields during config snapshot redaction, preventing round-trip validation failures in `/config`. (#14006) Thanks @constansino.
|
||||
|
||||
|
||||
@@ -409,9 +409,9 @@ function buildChatCommands(): ChatCommandDefinition[] {
|
||||
}),
|
||||
defineChatCommand({
|
||||
key: "compact",
|
||||
nativeName: "compact",
|
||||
description: "Compact the session context.",
|
||||
textAlias: "/compact",
|
||||
scope: "text",
|
||||
category: "session",
|
||||
args: [
|
||||
{
|
||||
|
||||
@@ -39,7 +39,7 @@ describe("commands registry", () => {
|
||||
expect(specs.find((spec) => spec.name === "stop")).toBeTruthy();
|
||||
expect(specs.find((spec) => spec.name === "skill")).toBeTruthy();
|
||||
expect(specs.find((spec) => spec.name === "whoami")).toBeTruthy();
|
||||
expect(specs.find((spec) => spec.name === "compact")).toBeFalsy();
|
||||
expect(specs.find((spec) => spec.name === "compact")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("filters commands based on config flags", () => {
|
||||
|
||||
@@ -409,7 +409,7 @@ describe("buildStatusMessage", () => {
|
||||
});
|
||||
|
||||
describe("buildCommandsMessage", () => {
|
||||
it("lists commands with aliases and text-only hints", () => {
|
||||
it("lists commands with aliases and hints", () => {
|
||||
const text = buildCommandsMessage({
|
||||
commands: { config: false, debug: false },
|
||||
} as OpenClawConfig);
|
||||
@@ -418,7 +418,7 @@ describe("buildCommandsMessage", () => {
|
||||
expect(text).toContain("/commands - List all slash commands.");
|
||||
expect(text).toContain("/skill - Run a skill by name.");
|
||||
expect(text).toContain("/think (/thinking, /t) - Set thinking level.");
|
||||
expect(text).toContain("/compact [text] - Compact the session context.");
|
||||
expect(text).toContain("/compact - Compact the session context.");
|
||||
expect(text).not.toContain("/config");
|
||||
expect(text).not.toContain("/debug");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user