@elizaos/plugin-commands 2.0.0-alpha.8 → 2.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -682,7 +682,11 @@ var helpAction = {
682
682
  const detection = detectCommand(textRaw);
683
683
  return detection.isCommand && detection.command?.key === "help";
684
684
  },
685
- async handler(_runtime, _message, _state, _options, callback) {
685
+ async handler(_runtime, message, _state, _options, callback) {
686
+ const detection = detectCommand(message?.content?.text ?? "");
687
+ if (!detection.isCommand || detection.command?.key !== "help") {
688
+ return { success: false, text: "" };
689
+ }
686
690
  const commands = getEnabledCommands();
687
691
  const helpText = formatCommandList(commands);
688
692
  await callback?.({ text: helpText });
@@ -847,7 +851,10 @@ async function buildStatusReport(runtime, roomId) {
847
851
  }
848
852
  } catch {}
849
853
  try {
850
- const tasks = await runtime.getTasks({ roomId });
854
+ const tasks = await runtime.getTasks({
855
+ roomId,
856
+ agentIds: [runtime.agentId]
857
+ });
851
858
  if (tasks.length > 0) {
852
859
  lines.push(`
853
860
  **Tasks:** ${tasks.length} pending`);
@@ -1204,4 +1211,4 @@ var commandsPlugin = {
1204
1211
  };
1205
1212
  var src_default = commandsPlugin;
1206
1213
 
1207
- //# debugId=0867485F29E93FDD64756E2164756E21
1214
+ //# debugId=29584248BB32069264756E2164756E21
@@ -6,12 +6,12 @@
6
6
  "/**\n * Command registry - defines all available chat commands\n *\n * IMPORTANT: The registry uses module-level state for convenience, but\n * provides `cloneCommands()` and `resetCommands()` so that `init()` can\n * work on isolated copies per runtime. The `init()` function in the main\n * plugin file should clone before mutating to avoid cross-agent contamination.\n */\n\nimport type { CommandDefinition } from \"./types\";\n\n// Default command definitions (frozen reference — never mutate these directly)\nconst DEFAULT_COMMANDS: ReadonlyArray<CommandDefinition> = [\n\t// Status commands\n\t{\n\t\tkey: \"help\",\n\t\tnativeName: \"help\",\n\t\tdescription: \"Show available commands\",\n\t\ttextAliases: [\"/help\", \"/h\", \"/?\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"commands\",\n\t\tnativeName: \"commands\",\n\t\tdescription: \"List all commands\",\n\t\ttextAliases: [\"/commands\", \"/cmds\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"status\",\n\t\tnativeName: \"status\",\n\t\tdescription: \"Show current session status\",\n\t\ttextAliases: [\"/status\", \"/s\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"context\",\n\t\tnativeName: \"context\",\n\t\tdescription: \"Show current context information\",\n\t\ttextAliases: [\"/context\", \"/ctx\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"mode\", description: \"Output mode (list, detail, json)\" }],\n\t},\n\t{\n\t\tkey: \"whoami\",\n\t\tnativeName: \"whoami\",\n\t\tdescription: \"Show your identity information\",\n\t\ttextAliases: [\"/whoami\", \"/who\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: false,\n\t},\n\n\t// Session commands\n\t{\n\t\tkey: \"stop\",\n\t\tnativeName: \"stop\",\n\t\tdescription: \"Stop current operation\",\n\t\ttextAliases: [\"/stop\", \"/abort\", \"/cancel\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"restart\",\n\t\tnativeName: \"restart\",\n\t\tdescription: \"Restart the session\",\n\t\ttextAliases: [\"/restart\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: false,\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"reset\",\n\t\tnativeName: \"reset\",\n\t\tdescription: \"Reset session state\",\n\t\ttextAliases: [\"/reset\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: false,\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"new\",\n\t\tnativeName: \"new\",\n\t\tdescription: \"Start a new conversation\",\n\t\ttextAliases: [\"/new\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"compact\",\n\t\tnativeName: \"compact\",\n\t\tdescription: \"Compact conversation history\",\n\t\ttextAliases: [\"/compact\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"instructions\", description: \"Optional compaction instructions\" },\n\t\t],\n\t},\n\n\t// Options commands\n\t{\n\t\tkey: \"think\",\n\t\tnativeName: \"think\",\n\t\tdescription: \"Set thinking level\",\n\t\ttextAliases: [\"/think\", \"/thinking\", \"/t\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"level\", description: \"off, minimal, low, medium, high, xhigh\" },\n\t\t],\n\t},\n\t{\n\t\tkey: \"verbose\",\n\t\tnativeName: \"verbose\",\n\t\tdescription: \"Set verbose output level\",\n\t\ttextAliases: [\"/verbose\", \"/v\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"level\", description: \"off, on, full\" }],\n\t},\n\t{\n\t\tkey: \"reasoning\",\n\t\tnativeName: \"reasoning\",\n\t\tdescription: \"Set reasoning visibility\",\n\t\ttextAliases: [\"/reasoning\", \"/reason\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"level\", description: \"off, on, stream\" }],\n\t},\n\t{\n\t\tkey: \"elevated\",\n\t\tnativeName: \"elevated\",\n\t\tdescription: \"Set elevated permission mode\",\n\t\ttextAliases: [\"/elevated\", \"/elev\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"level\", description: \"off, on, ask, full\" }],\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"model\",\n\t\tnativeName: \"model\",\n\t\tdescription: \"Set or show current model\",\n\t\ttextAliases: [\"/model\", \"/m\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"model\", description: \"provider/model or alias\" }],\n\t},\n\t{\n\t\tkey: \"models\",\n\t\tnativeName: \"models\",\n\t\tdescription: \"List available models\",\n\t\ttextAliases: [\"/models\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"usage\",\n\t\tnativeName: \"usage\",\n\t\tdescription: \"Show token usage\",\n\t\ttextAliases: [\"/usage\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"queue\",\n\t\tnativeName: \"queue\",\n\t\tdescription: \"Set queue mode\",\n\t\ttextAliases: [\"/queue\", \"/q\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{\n\t\t\t\tname: \"mode\",\n\t\t\t\tdescription: \"steer, followup, collect, interrupt, or options\",\n\t\t\t},\n\t\t],\n\t},\n\n\t// Management commands\n\t{\n\t\tkey: \"allowlist\",\n\t\tnativeName: \"allowlist\",\n\t\tdescription: \"Manage sender allowlist\",\n\t\ttextAliases: [\"/allowlist\", \"/allow\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"action\", description: \"list, add, remove\" },\n\t\t\t{ name: \"value\", description: \"sender to add/remove\" },\n\t\t],\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"approve\",\n\t\tnativeName: \"approve\",\n\t\tdescription: \"Approve or deny a pending action\",\n\t\ttextAliases: [\"/approve\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"id\", description: \"Approval ID\", required: true },\n\t\t\t{ name: \"action\", description: \"allow-once, allow-always, deny\" },\n\t\t],\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"subagents\",\n\t\tnativeName: \"subagents\",\n\t\tdescription: \"Manage subagents\",\n\t\ttextAliases: [\"/subagents\", \"/sub\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"action\", description: \"list, stop, log, info, send\" }],\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"config\",\n\t\tnativeName: \"config\",\n\t\tdescription: \"View or set configuration\",\n\t\ttextAliases: [\"/config\", \"/cfg\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"key\", description: \"Configuration key\" },\n\t\t\t{ name: \"value\", description: \"Value to set\" },\n\t\t],\n\t\trequiresAuth: true,\n\t\tenabled: false, // Disabled by default\n\t},\n\t{\n\t\tkey: \"debug\",\n\t\tnativeName: \"debug\",\n\t\tdescription: \"Debug information\",\n\t\ttextAliases: [\"/debug\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\trequiresAuth: true,\n\t\tenabled: false, // Disabled by default\n\t},\n\n\t// Media commands\n\t{\n\t\tkey: \"tts\",\n\t\tnativeName: \"tts\",\n\t\tdescription: \"Text-to-speech settings\",\n\t\ttextAliases: [\"/tts\", \"/voice\"],\n\t\tscope: \"both\",\n\t\tcategory: \"media\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{\n\t\t\t\tname: \"action\",\n\t\t\t\tdescription: \"on, off, status, provider, limit, audio\",\n\t\t\t},\n\t\t],\n\t},\n\n\t// Tools commands\n\t{\n\t\tkey: \"bash\",\n\t\tnativeName: \"bash\",\n\t\tdescription: \"Execute shell command\",\n\t\ttextAliases: [\"/bash\", \"/sh\", \"/!\"],\n\t\tscope: \"text\",\n\t\tcategory: \"tools\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{\n\t\t\t\tname: \"command\",\n\t\t\t\tdescription: \"Shell command to execute\",\n\t\t\t\tcaptureRemaining: true,\n\t\t\t},\n\t\t],\n\t\trequiresAuth: true,\n\t\trequiresElevated: true,\n\t},\n];\n\n// ── Per-runtime command storage ──────────────────────────────────────────\n// Each agent runtime gets its own isolated command set via `initForRuntime()`.\n// The module-level state is used as a fallback for convenience (tests, etc.).\n//\n// Why a WeakMap? Agent runtimes may be created/destroyed; we don't want to\n// leak memory by holding strong references to disposed runtimes.\n\ninterface CommandStore {\n\tcommands: CommandDefinition[];\n\taliasMap: Map<string, CommandDefinition> | null;\n}\n\n/** Per-runtime stores keyed by agentId */\nconst runtimeStores = new Map<string, CommandStore>();\n/** Fallback store for when no runtime context is set */\nconst fallbackStore: CommandStore = {\n\tcommands: DEFAULT_COMMANDS.map((c) => ({ ...c })),\n\taliasMap: null,\n};\n/** Currently active store (set during init, reset on test teardown) */\nlet activeStore: CommandStore = fallbackStore;\n\n/**\n * Initialize an isolated command store for a specific runtime.\n * Called from plugin init() to prevent cross-agent contamination.\n */\nexport function initForRuntime(agentId: string): void {\n\tconst store: CommandStore = {\n\t\tcommands: DEFAULT_COMMANDS.map((c) => ({ ...c })),\n\t\taliasMap: null,\n\t};\n\truntimeStores.set(agentId, store);\n\tactiveStore = store;\n}\n\n/**\n * Set the active command store for a given runtime.\n * Providers and actions should call this before accessing commands.\n */\nexport function useRuntime(agentId: string): void {\n\tconst store = runtimeStores.get(agentId);\n\tif (store) {\n\t\tactiveStore = store;\n\t}\n}\n\n/**\n * Get all registered commands\n */\nexport function getCommands(): CommandDefinition[] {\n\treturn [...activeStore.commands];\n}\n\n/**\n * Get enabled commands\n */\nexport function getEnabledCommands(): CommandDefinition[] {\n\treturn activeStore.commands.filter((cmd) => cmd.enabled !== false);\n}\n\n/**\n * Get commands by category\n */\nexport function getCommandsByCategory(category: string): CommandDefinition[] {\n\treturn activeStore.commands.filter(\n\t\t(cmd) => cmd.category === category && cmd.enabled !== false,\n\t);\n}\n\n/**\n * Register a custom command\n */\nexport function registerCommand(command: CommandDefinition): void {\n\t// Remove existing command with same key\n\tactiveStore.commands = activeStore.commands.filter(\n\t\t(c) => c.key !== command.key,\n\t);\n\tactiveStore.commands.push(command);\n\tactiveStore.aliasMap = null; // Invalidate cache\n}\n\n/**\n * Register multiple commands\n */\nexport function registerCommands(newCommands: CommandDefinition[]): void {\n\tfor (const command of newCommands) {\n\t\tregisterCommand(command);\n\t}\n}\n\n/**\n * Unregister a command\n */\nexport function unregisterCommand(key: string): void {\n\tactiveStore.commands = activeStore.commands.filter((c) => c.key !== key);\n\tactiveStore.aliasMap = null;\n}\n\n/**\n * Reset to default commands (for the active store)\n */\nexport function resetCommands(): void {\n\tactiveStore.commands = DEFAULT_COMMANDS.map((c) => ({ ...c }));\n\tactiveStore.aliasMap = null;\n}\n\n/**\n * Build and cache alias map for the active store\n */\nfunction getAliasMap(): Map<string, CommandDefinition> {\n\tif (activeStore.aliasMap) return activeStore.aliasMap;\n\n\tactiveStore.aliasMap = new Map();\n\tfor (const command of activeStore.commands) {\n\t\tif (command.enabled === false) continue;\n\n\t\tfor (const alias of command.textAliases) {\n\t\t\tconst normalized = alias.toLowerCase().trim();\n\t\t\tif (!activeStore.aliasMap.has(normalized)) {\n\t\t\t\tactiveStore.aliasMap.set(normalized, command);\n\t\t\t}\n\t\t}\n\t}\n\treturn activeStore.aliasMap;\n}\n\n/**\n * Find command by alias\n */\nexport function findCommandByAlias(\n\talias: string,\n): CommandDefinition | undefined {\n\tconst map = getAliasMap();\n\treturn map.get(alias.toLowerCase().trim());\n}\n\n/**\n * Find command by key\n */\nexport function findCommandByKey(key: string): CommandDefinition | undefined {\n\treturn activeStore.commands.find((c) => c.key === key);\n}\n\n/**\n * Check if text starts with any command alias\n */\nexport function startsWithCommand(text: string): CommandDefinition | undefined {\n\tconst map = getAliasMap();\n\tconst normalized = text.toLowerCase().trim();\n\n\t// Check exact match first\n\tfor (const [alias, command] of map) {\n\t\tif (normalized === alias) {\n\t\t\treturn command;\n\t\t}\n\t\tif (\n\t\t\tnormalized.startsWith(`${alias} `) ||\n\t\t\tnormalized.startsWith(`${alias}:`)\n\t\t) {\n\t\t\treturn command;\n\t\t}\n\t}\n\n\treturn undefined;\n}\n",
7
7
  "/**\n * Command parser - detects and parses commands from message text\n */\n\nimport { startsWithCommand } from \"./registry\";\nimport type {\n\tCommandDefinition,\n\tCommandDetectionResult,\n\tParsedCommand,\n} from \"./types\";\n\nconst escapeRegExp = (value: string) =>\n\tvalue.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\n/**\n * Check if text contains a command\n */\nexport function hasCommand(text: string): boolean {\n\tif (!text) return false;\n\tconst trimmed = text.trim();\n\tif (!trimmed.startsWith(\"/\") && !trimmed.startsWith(\"!\")) return false;\n\treturn Boolean(startsWithCommand(trimmed));\n}\n\n/**\n * Detect command in text\n */\nexport function detectCommand(text: string): CommandDetectionResult {\n\tif (!text) {\n\t\treturn { isCommand: false };\n\t}\n\n\tconst trimmed = text.trim();\n\n\t// Quick check for command prefix\n\tif (!trimmed.startsWith(\"/\") && !trimmed.startsWith(\"!\")) {\n\t\treturn { isCommand: false };\n\t}\n\n\tconst command = startsWithCommand(trimmed);\n\tif (!command) {\n\t\treturn { isCommand: false };\n\t}\n\n\tconst parsed = parseCommand(trimmed, command);\n\tif (!parsed) {\n\t\treturn { isCommand: false };\n\t}\n\n\treturn { isCommand: true, command: parsed };\n}\n\n/**\n * Parse a command from text\n */\nexport function parseCommand(\n\ttext: string,\n\tdefinition: CommandDefinition,\n): ParsedCommand | null {\n\tconst trimmed = text.trim();\n\n\t// Find the matching alias\n\tlet matchedAlias: string | null = null;\n\tfor (const alias of definition.textAliases) {\n\t\tconst normalized = alias.toLowerCase();\n\t\tif (trimmed.toLowerCase() === normalized) {\n\t\t\tmatchedAlias = alias;\n\t\t\tbreak;\n\t\t}\n\t\tif (\n\t\t\ttrimmed.toLowerCase().startsWith(`${normalized} `) ||\n\t\t\ttrimmed.toLowerCase().startsWith(`${normalized}:`)\n\t\t) {\n\t\t\tmatchedAlias = alias;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (!matchedAlias) {\n\t\treturn null;\n\t}\n\n\t// Extract arguments\n\tlet rawArgs = trimmed.slice(matchedAlias.length).trim();\n\n\t// Handle colon separator (e.g., /think:high)\n\tif (rawArgs.startsWith(\":\")) {\n\t\trawArgs = rawArgs.slice(1).trim();\n\t}\n\n\t// Parse arguments\n\tconst args = parseArgs(rawArgs, definition);\n\n\treturn {\n\t\tkey: definition.key,\n\t\tcanonical: definition.textAliases[0] ?? `/${definition.key}`,\n\t\targs,\n\t\trawArgs: rawArgs || undefined,\n\t};\n}\n\n/**\n * Parse arguments based on command definition\n */\nfunction parseArgs(rawArgs: string, definition: CommandDefinition): string[] {\n\tif (!rawArgs || !definition.acceptsArgs) {\n\t\treturn [];\n\t}\n\n\tconst parsing = definition.argsParsing ?? \"positional\";\n\n\tif (parsing === \"none\") {\n\t\t// Return entire string as single argument\n\t\treturn rawArgs ? [rawArgs] : [];\n\t}\n\n\t// Positional parsing\n\tconst args: string[] = [];\n\tconst argDefs = definition.args ?? [];\n\n\t// Split by whitespace, respecting quotes\n\tconst tokens = tokenize(rawArgs);\n\n\tfor (let i = 0; i < tokens.length; i++) {\n\t\tconst argDef = argDefs[i];\n\n\t\t// If this arg captures remaining, join all remaining tokens\n\t\tif (argDef?.captureRemaining) {\n\t\t\targs.push(tokens.slice(i).join(\" \"));\n\t\t\tbreak;\n\t\t}\n\n\t\targs.push(tokens[i]);\n\t}\n\n\treturn args;\n}\n\n/**\n * Tokenize argument string, respecting quotes\n */\nfunction tokenize(input: string): string[] {\n\tconst tokens: string[] = [];\n\tlet current = \"\";\n\tlet inQuote = false;\n\tlet quoteChar = \"\";\n\n\tfor (let i = 0; i < input.length; i++) {\n\t\tconst char = input[i];\n\n\t\tif (inQuote) {\n\t\t\tif (char === quoteChar) {\n\t\t\t\tinQuote = false;\n\t\t\t\tif (current) {\n\t\t\t\t\ttokens.push(current);\n\t\t\t\t\tcurrent = \"\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrent += char;\n\t\t\t}\n\t\t} else if (char === '\"' || char === \"'\") {\n\t\t\tinQuote = true;\n\t\t\tquoteChar = char;\n\t\t} else if (/\\s/.test(char)) {\n\t\t\tif (current) {\n\t\t\t\ttokens.push(current);\n\t\t\t\tcurrent = \"\";\n\t\t\t}\n\t\t} else {\n\t\t\tcurrent += char;\n\t\t}\n\t}\n\n\tif (current) {\n\t\ttokens.push(current);\n\t}\n\n\treturn tokens;\n}\n\n/**\n * Normalize command body (handle bot mentions, colon syntax, etc.)\n */\nexport function normalizeCommandBody(\n\ttext: string,\n\tbotMention?: string,\n): string {\n\tlet normalized = text.trim();\n\n\t// Remove bot mention prefix (e.g., \"@bot /status\" -> \"/status\")\n\tif (botMention) {\n\t\tconst mentionPattern = new RegExp(`^@${escapeRegExp(botMention)}\\\\s*`, \"i\");\n\t\tnormalized = normalized.replace(mentionPattern, \"\");\n\t}\n\n\t// Handle colon in command (e.g., \"/command: args\" -> \"/command args\")\n\tnormalized = normalized.replace(/^(\\/\\w+):\\s*/, \"$1 \");\n\n\treturn normalized.trim();\n}\n\n/**\n * Check if text is a command-only message (no other content)\n */\nexport function isCommandOnly(text: string): boolean {\n\tconst detection = detectCommand(text);\n\tif (!detection.isCommand || !detection.command) {\n\t\treturn false;\n\t}\n\n\t// If there's no rawArgs, it's command-only\n\tif (!detection.command.rawArgs) {\n\t\treturn true;\n\t}\n\n\t// Check if rawArgs is just whitespace\n\treturn detection.command.rawArgs.trim().length === 0;\n}\n\n/**\n * Get command and remaining text\n */\nexport function extractCommand(\n\ttext: string,\n): { command: ParsedCommand; remainingText: string } | null {\n\tconst detection = detectCommand(text);\n\tif (!detection.isCommand || !detection.command) {\n\t\treturn null;\n\t}\n\n\tconst { command } = detection;\n\n\t// For commands that don't accept args, remaining text is everything after the command\n\tif (!command.rawArgs) {\n\t\treturn { command, remainingText: \"\" };\n\t}\n\n\treturn { command, remainingText: command.rawArgs };\n}\n",
8
8
  "/**\n * Commands list action\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\nimport { getEnabledCommands } from \"../registry\";\n\nexport const commandsListAction: Action = {\n\tname: \"COMMANDS_LIST\",\n\tdescription:\n\t\t\"List all available commands with their aliases. Only activates for /commands or /cmds slash commands.\",\n\t// Only slash-command similes to avoid matching natural language\n\tsimiles: [\"/commands\", \"/cmds\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/commands\") ||\n\t\t\ttext.includes(\"/cmds\") ||\n\t\t\ttext.includes(\"commands\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:commands|cmds)\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"commands\";\n\t},\n\n\tasync handler(\n\t\t_runtime: IAgentRuntime,\n\t\t_message: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst commands = getEnabledCommands();\n\t\tconst lines: string[] = [`**Commands (${commands.length}):**\\n`];\n\n\t\tfor (const cmd of commands) {\n\t\t\tconst aliases = cmd.textAliases.join(\", \");\n\t\t\tconst authNote = cmd.requiresAuth ? \" [auth]\" : \"\";\n\t\t\tconst elevatedNote = cmd.requiresElevated ? \" [elevated]\" : \"\";\n\t\t\tlines.push(`• **${cmd.key}**: ${aliases}${authNote}${elevatedNote}`);\n\t\t}\n\n\t\tconst replyText = lines.join(\"\\n\");\n\t\tawait callback?.({ text: replyText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: replyText,\n\t\t\tdata: { commandCount: commands.length },\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/commands\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Commands (15):**\\n\\n• **help**: /help, /h, /?\\n• **status**: /status, /s...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
9
- "/**\n * Help command action\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\nimport { getEnabledCommands } from \"../registry\";\n\n/**\n * Format command list for help display\n */\nfunction formatCommandList(\n\tcommands: ReturnType<typeof getEnabledCommands>,\n): string {\n\tconst lines: string[] = [\"**Available Commands:**\\n\"];\n\n\tconst categories = [\n\t\t{ key: \"status\", name: \"Status\" },\n\t\t{ key: \"session\", name: \"Session\" },\n\t\t{ key: \"options\", name: \"Options\" },\n\t\t{ key: \"management\", name: \"Management\" },\n\t\t{ key: \"media\", name: \"Media\" },\n\t\t{ key: \"tools\", name: \"Tools\" },\n\t];\n\n\tfor (const cat of categories) {\n\t\tconst catCommands = commands.filter((c) => c.category === cat.key);\n\t\tif (catCommands.length === 0) continue;\n\n\t\tlines.push(`\\n**${cat.name}:**`);\n\t\tfor (const cmd of catCommands) {\n\t\t\tconst aliases = cmd.textAliases.slice(0, 2).join(\", \");\n\t\t\tlines.push(`• ${aliases} - ${cmd.description}`);\n\t\t}\n\t}\n\n\t// Add uncategorized commands\n\tconst uncategorized = commands.filter((c) => !c.category);\n\tif (uncategorized.length > 0) {\n\t\tlines.push(\"\\n**Other:**\");\n\t\tfor (const cmd of uncategorized) {\n\t\t\tconst aliases = cmd.textAliases.slice(0, 2).join(\", \");\n\t\t\tlines.push(`• ${aliases} - ${cmd.description}`);\n\t\t}\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nexport const helpAction: Action = {\n\tname: \"HELP_COMMAND\",\n\tdescription:\n\t\t\"Show available commands and their descriptions. Only activates for /help, /h, or /? slash commands.\",\n\t// Only slash-command similes — \"help\" or \"show help\" as natural language\n\t// should be handled by the LLM's normal response, not this action\n\tsimiles: [\"/help\", \"/h\", \"/?\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/help\") || text.includes(\"/h\") || text.includes(\"/?\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:help|h|\\?)(?:\\s|$|:)/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"help\";\n\t},\n\n\tasync handler(\n\t\t_runtime: IAgentRuntime,\n\t\t_message: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst commands = getEnabledCommands();\n\t\tconst helpText = formatCommandList(commands);\n\n\t\tawait callback?.({ text: helpText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: helpText,\n\t\t\tdata: { commandCount: commands.length },\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/help\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Commands:**\\n\\n**Status:**\\n• /help - Show available commands...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/?\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Commands:**\\n\\n**Status:**\\n• /help - Show available commands...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
9
+ "/**\n * Help command action\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\nimport { getEnabledCommands } from \"../registry\";\n\n/**\n * Format command list for help display\n */\nfunction formatCommandList(\n\tcommands: ReturnType<typeof getEnabledCommands>,\n): string {\n\tconst lines: string[] = [\"**Available Commands:**\\n\"];\n\n\tconst categories = [\n\t\t{ key: \"status\", name: \"Status\" },\n\t\t{ key: \"session\", name: \"Session\" },\n\t\t{ key: \"options\", name: \"Options\" },\n\t\t{ key: \"management\", name: \"Management\" },\n\t\t{ key: \"media\", name: \"Media\" },\n\t\t{ key: \"tools\", name: \"Tools\" },\n\t];\n\n\tfor (const cat of categories) {\n\t\tconst catCommands = commands.filter((c) => c.category === cat.key);\n\t\tif (catCommands.length === 0) continue;\n\n\t\tlines.push(`\\n**${cat.name}:**`);\n\t\tfor (const cmd of catCommands) {\n\t\t\tconst aliases = cmd.textAliases.slice(0, 2).join(\", \");\n\t\t\tlines.push(`• ${aliases} - ${cmd.description}`);\n\t\t}\n\t}\n\n\t// Add uncategorized commands\n\tconst uncategorized = commands.filter((c) => !c.category);\n\tif (uncategorized.length > 0) {\n\t\tlines.push(\"\\n**Other:**\");\n\t\tfor (const cmd of uncategorized) {\n\t\t\tconst aliases = cmd.textAliases.slice(0, 2).join(\", \");\n\t\t\tlines.push(`• ${aliases} - ${cmd.description}`);\n\t\t}\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nexport const helpAction: Action = {\n\tname: \"HELP_COMMAND\",\n\tdescription:\n\t\t\"Show available commands and their descriptions. Only activates for /help, /h, or /? slash commands.\",\n\t// Only slash-command similes — \"help\" or \"show help\" as natural language\n\t// should be handled by the LLM's normal response, not this action\n\tsimiles: [\"/help\", \"/h\", \"/?\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/help\") || text.includes(\"/h\") || text.includes(\"/?\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:help|h|\\?)(?:\\s|$|:)/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"help\";\n\t},\n\n\tasync handler(\n\t\t_runtime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\t// Guard: only show help when the user actually asked for it.\n\t\t// The runtime doesn't call validate before handler, so the LLM\n\t\t// can select HELP_COMMAND during action retry loops even when the\n\t\t// user never typed /help.\n\t\tconst detection = detectCommand(message?.content?.text ?? \"\");\n\t\tif (!detection.isCommand || detection.command?.key !== \"help\") {\n\t\t\treturn { success: false, text: \"\" };\n\t\t}\n\n\t\tconst commands = getEnabledCommands();\n\t\tconst helpText = formatCommandList(commands);\n\n\t\tawait callback?.({ text: helpText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: helpText,\n\t\t\tdata: { commandCount: commands.length },\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/help\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Commands:**\\n\\n**Status:**\\n• /help - Show available commands...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/?\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Commands:**\\n\\n**Status:**\\n• /help - Show available commands...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
10
10
  "/**\n * Models command action\n *\n * Queries the runtime for actually registered model handlers instead of\n * using a hardcoded list. Falls back to listing registered model types\n * when detailed model info is not available.\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\n\n/**\n * Describe a ModelType value in a user-friendly way\n */\nfunction describeModelType(modelType: string): string {\n\tconst descriptions: Record<string, string> = {\n\t\t[ModelType.TEXT_SMALL]: \"Text (Small)\",\n\t\t[ModelType.TEXT_LARGE]: \"Text (Large)\",\n\t\t[ModelType.TEXT_REASONING_SMALL]: \"Reasoning (Small)\",\n\t\t[ModelType.TEXT_REASONING_LARGE]: \"Reasoning (Large)\",\n\t\t[ModelType.TEXT_COMPLETION]: \"Text Completion\",\n\t\t[ModelType.TEXT_EMBEDDING]: \"Embedding\",\n\t\t[ModelType.IMAGE]: \"Image Generation\",\n\t\t[ModelType.IMAGE_DESCRIPTION]: \"Image Description\",\n\t\t[ModelType.TRANSCRIPTION]: \"Transcription\",\n\t\t[ModelType.TEXT_TO_SPEECH]: \"Text-to-Speech\",\n\t\t[ModelType.AUDIO]: \"Audio\",\n\t\t[ModelType.VIDEO]: \"Video\",\n\t\t[ModelType.OBJECT_SMALL]: \"Object (Small)\",\n\t\t[ModelType.OBJECT_LARGE]: \"Object (Large)\",\n\t\t[ModelType.RESEARCH]: \"Research\",\n\t};\n\treturn descriptions[modelType] ?? modelType;\n}\n\nexport const modelsAction: Action = {\n\tname: \"MODELS_COMMAND\",\n\tdescription:\n\t\t\"List available AI models and providers. Only activates for /models slash command.\",\n\t// Only slash-command similes to avoid matching natural language\n\tsimiles: [\"/models\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword = text.includes(\"/models\") || text.includes(\"models\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*models\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"models\";\n\t},\n\n\tasync handler(\n\t\truntime: IAgentRuntime,\n\t\t_message: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst lines: string[] = [\"**Available Models:**\\n\"];\n\n\t\t// Query runtime for registered model handlers\n\t\ttry {\n\t\t\tconst registeredTypes: string[] = [];\n\t\t\tconst seen = new Set<string>();\n\n\t\t\t// Check each ModelType to see if a handler is registered.\n\t\t\t// Deduplicate since ModelType has legacy aliases (SMALL, MEDIUM, LARGE)\n\t\t\t// that map to the same underlying values.\n\t\t\tfor (const modelType of Object.values(ModelType)) {\n\t\t\t\tif (seen.has(modelType)) continue;\n\t\t\t\tseen.add(modelType);\n\t\t\t\ttry {\n\t\t\t\t\t// runtime.getModel() returns the handler or undefined\n\t\t\t\t\tconst handler = runtime.getModel(modelType);\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tregisteredTypes.push(modelType);\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Model type not registered\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (registeredTypes.length > 0) {\n\t\t\t\tlines.push(\"**Registered Model Types:**\");\n\t\t\t\tfor (const modelType of registeredTypes) {\n\t\t\t\t\tlines.push(`• ${describeModelType(modelType)} (\\`${modelType}\\`)`);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlines.push(\"No model handlers are currently registered.\");\n\t\t\t}\n\n\t\t\t// Show current model settings if available\n\t\t\tconst modelProvider = runtime.getSetting(\"MODEL_PROVIDER\");\n\t\t\tconst modelName = runtime.getSetting(\"MODEL_NAME\");\n\t\t\tif (modelProvider || modelName) {\n\t\t\t\tlines.push(\"\\n**Current Configuration:**\");\n\t\t\t\tif (modelProvider) lines.push(`• Provider: ${modelProvider}`);\n\t\t\t\tif (modelName) lines.push(`• Model: ${modelName}`);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tlogger.warn(\n\t\t\t\t{ src: \"plugin-commands\", err },\n\t\t\t\t\"Error querying runtime models\",\n\t\t\t);\n\t\t\tlines.push(\"Unable to query available models.\");\n\t\t}\n\n\t\tlines.push(\"\\n\\n_Use /model <provider/model> to switch models._\");\n\n\t\tconst replyText = lines.join(\"\\n\");\n\t\tawait callback?.({ text: replyText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: replyText,\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/models\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Models:**\\n\\n**Registered Model Types:**\\n• Text (Large) (`text_large`)\\n• Text (Small) (`text_small`)...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
11
- "/**\n * Status command action\n *\n * This is the SLASH COMMAND version (/status, /s). It is distinct from the\n * bootstrap STATUS action which handles natural language like \"what's your status?\".\n *\n * Key differences:\n * - This action ONLY activates for /status or /s slash commands (validate checks prefix)\n * - Bootstrap STATUS handles conversational requests about agent state\n * - This action shows directive/session settings; bootstrap STATUS shows tasks/room info\n * - No natural language similes to prevent conflict with bootstrap STATUS\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\n\ninterface DirectiveModelState {\n\tprovider?: string;\n\tmodel?: string;\n}\n\ninterface DirectiveSessionState {\n\tthinking: string | boolean;\n\tverbose: boolean | string;\n\treasoning: boolean | string;\n\televated: boolean | string;\n\tmodel?: DirectiveModelState;\n}\n\ninterface DirectiveParserService {\n\tgetSessionState?: (roomId: string) => DirectiveSessionState | undefined;\n}\n\n/**\n * Build status report including directive state\n */\nasync function buildStatusReport(\n\truntime: IAgentRuntime,\n\troomId: string,\n): Promise<string> {\n\tconst lines: string[] = [\"**Session Status:**\\n\"];\n\n\t// Agent info\n\tlines.push(`**Agent:** ${runtime.character.name ?? runtime.agentId}`);\n\tlines.push(`**Room:** ${roomId}`);\n\n\t// Try to get directive state from plugin-directives if available\n\ttry {\n\t\tconst directiveService = runtime.getService(\n\t\t\t\"directive-parser\",\n\t\t) as DirectiveParserService | null;\n\t\tif (directiveService) {\n\t\t\tconst state = directiveService.getSessionState?.(roomId);\n\t\t\tif (state) {\n\t\t\t\tlines.push(`\\n**Directives:**`);\n\t\t\t\tlines.push(`• Thinking: ${state.thinking}`);\n\t\t\t\tlines.push(`• Verbose: ${state.verbose}`);\n\t\t\t\tlines.push(`• Reasoning: ${state.reasoning}`);\n\t\t\t\tlines.push(`• Elevated: ${state.elevated}`);\n\t\t\t\tif (state.model?.provider || state.model?.model) {\n\t\t\t\t\tconst modelStr = state.model.provider\n\t\t\t\t\t\t? `${state.model.provider}/${state.model.model}`\n\t\t\t\t\t\t: state.model.model;\n\t\t\t\t\tlines.push(`• Model: ${modelStr}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Directive plugin not available\n\t}\n\n\t// Get pending tasks count for context\n\ttry {\n\t\tconst tasks = await runtime.getTasks({ roomId });\n\t\tif (tasks.length > 0) {\n\t\t\tlines.push(`\\n**Tasks:** ${tasks.length} pending`);\n\t\t}\n\t} catch {\n\t\t// Task retrieval may not be available\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nexport const statusAction: Action = {\n\t// Deliberately distinct from bootstrap's \"STATUS\" action name\n\t// Normalized: \"statuscommand\" vs \"status\" — no exact match collision\n\tname: \"STATUS_COMMAND\",\n\tdescription:\n\t\t\"Show session directive settings via /status slash command. Only activates for /status or /s prefix.\",\n\t// Only slash-command similes — no natural language to avoid stealing\n\t// from bootstrap STATUS which handles \"what's your status?\" etc.\n\tsimiles: [\"/status\", \"/s\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/status\") ||\n\t\t\ttext.includes(\"/s\") ||\n\t\t\ttext.includes(\"status\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:status|s)\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"status\";\n\t},\n\n\tasync handler(\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst statusText = await buildStatusReport(runtime, message.roomId);\n\n\t\tawait callback?.({ text: statusText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: statusText,\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/status\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Session Status:**\\n\\n**Agent:** Eliza\\n**Room:** room-456\\n\\n**Directives:**\\n• Thinking: low...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
11
+ "/**\n * Status command action\n *\n * This is the SLASH COMMAND version (/status, /s). It is distinct from the\n * bootstrap STATUS action which handles natural language like \"what's your status?\".\n *\n * Key differences:\n * - This action ONLY activates for /status or /s slash commands (validate checks prefix)\n * - Bootstrap STATUS handles conversational requests about agent state\n * - This action shows directive/session settings; bootstrap STATUS shows tasks/room info\n * - No natural language similes to prevent conflict with bootstrap STATUS\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\n\ninterface DirectiveModelState {\n\tprovider?: string;\n\tmodel?: string;\n}\n\ninterface DirectiveSessionState {\n\tthinking: string | boolean;\n\tverbose: boolean | string;\n\treasoning: boolean | string;\n\televated: boolean | string;\n\tmodel?: DirectiveModelState;\n}\n\ninterface DirectiveParserService {\n\tgetSessionState?: (roomId: string) => DirectiveSessionState | undefined;\n}\n\n/**\n * Build status report including directive state\n */\nasync function buildStatusReport(\n\truntime: IAgentRuntime,\n\troomId: string,\n): Promise<string> {\n\tconst lines: string[] = [\"**Session Status:**\\n\"];\n\n\t// Agent info\n\tlines.push(`**Agent:** ${runtime.character.name ?? runtime.agentId}`);\n\tlines.push(`**Room:** ${roomId}`);\n\n\t// Try to get directive state from plugin-directives if available\n\ttry {\n\t\tconst directiveService = runtime.getService(\n\t\t\t\"directive-parser\",\n\t\t) as DirectiveParserService | null;\n\t\tif (directiveService) {\n\t\t\tconst state = directiveService.getSessionState?.(roomId);\n\t\t\tif (state) {\n\t\t\t\tlines.push(`\\n**Directives:**`);\n\t\t\t\tlines.push(`• Thinking: ${state.thinking}`);\n\t\t\t\tlines.push(`• Verbose: ${state.verbose}`);\n\t\t\t\tlines.push(`• Reasoning: ${state.reasoning}`);\n\t\t\t\tlines.push(`• Elevated: ${state.elevated}`);\n\t\t\t\tif (state.model?.provider || state.model?.model) {\n\t\t\t\t\tconst modelStr = state.model.provider\n\t\t\t\t\t\t? `${state.model.provider}/${state.model.model}`\n\t\t\t\t\t\t: state.model.model;\n\t\t\t\t\tlines.push(`• Model: ${modelStr}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Directive plugin not available\n\t}\n\n\t// Get pending tasks count for context\n\ttry {\n\t\tconst tasks = await runtime.getTasks({\n\t\t\troomId,\n\t\t\tagentIds: [runtime.agentId],\n\t\t});\n\t\tif (tasks.length > 0) {\n\t\t\tlines.push(`\\n**Tasks:** ${tasks.length} pending`);\n\t\t}\n\t} catch {\n\t\t// Task retrieval may not be available\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nexport const statusAction: Action = {\n\t// Deliberately distinct from bootstrap's \"STATUS\" action name\n\t// Normalized: \"statuscommand\" vs \"status\" — no exact match collision\n\tname: \"STATUS_COMMAND\",\n\tdescription:\n\t\t\"Show session directive settings via /status slash command. Only activates for /status or /s prefix.\",\n\t// Only slash-command similes — no natural language to avoid stealing\n\t// from bootstrap STATUS which handles \"what's your status?\" etc.\n\tsimiles: [\"/status\", \"/s\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/status\") ||\n\t\t\ttext.includes(\"/s\") ||\n\t\t\ttext.includes(\"status\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:status|s)\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"status\";\n\t},\n\n\tasync handler(\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst statusText = await buildStatusReport(runtime, message.roomId);\n\n\t\tawait callback?.({ text: statusText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: statusText,\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/status\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Session Status:**\\n\\n**Agent:** Eliza\\n**Room:** room-456\\n\\n**Directives:**\\n• Thinking: low...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
12
12
  "/**\n * Stop command action\n *\n * Uses EventType.HOOK_COMMAND_STOP from @elizaos/core for proper integration\n * with the messaging pipeline and hook system.\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { EventType, logger } from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\n\nexport const stopAction: Action = {\n\tname: \"STOP_COMMAND\",\n\tdescription:\n\t\t\"Stop current operation or abort running tasks. Triggered by /stop, /abort, or /cancel slash commands only.\",\n\t// Only use slash-command similes to avoid matching natural language\n\t// like \"stop talking\" or \"cancel that\" which should go to bootstrap IGNORE\n\tsimiles: [\"/stop\", \"/abort\", \"/cancel\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/stop\") ||\n\t\t\ttext.includes(\"/abort\") ||\n\t\t\ttext.includes(\"/cancel\") ||\n\t\t\ttext.includes(\"stop\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:stop|abort|cancel)\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn (\n\t\t\tdetection.isCommand &&\n\t\t\t[\"stop\", \"abort\", \"cancel\"].includes(detection.command?.key ?? \"\")\n\t\t);\n\t},\n\n\tasync handler(\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\t// Emit the proper hook event for the stop command.\n\t\t// HookCommandPayload extends HookEventPayload which requires sessionKey,\n\t\t// messages, timestamp, context. The runtime injects itself automatically.\n\t\ttry {\n\t\t\tawait runtime.emitEvent(EventType.HOOK_COMMAND_STOP, {\n\t\t\t\truntime,\n\t\t\t\tsessionKey: message.roomId,\n\t\t\t\tmessages: [],\n\t\t\t\ttimestamp: new Date(),\n\t\t\t\tcontext: {\n\t\t\t\t\tentityId: message.entityId,\n\t\t\t\t\tsource: message.content?.source,\n\t\t\t\t},\n\t\t\t\tcommand: \"stop\" as const,\n\t\t\t\tsenderId: message.entityId,\n\t\t\t\tcommandSource: message.content?.source,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tlogger.warn(\n\t\t\t\t{ src: \"plugin-commands\", err },\n\t\t\t\t\"Failed to emit HOOK_COMMAND_STOP event\",\n\t\t\t);\n\t\t}\n\n\t\tconst replyText = \"✓ Stop requested. Current operations will be cancelled.\";\n\t\tawait callback?.({ text: replyText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: replyText,\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/stop\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"✓ Stop requested. Current operations will be cancelled.\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/abort\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"✓ Stop requested. Current operations will be cancelled.\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "0867485F29E93FDD64756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "29584248BB32069264756E2164756E21",
16
16
  "names": []
17
17
  }
package/dist/index.js CHANGED
@@ -618,7 +618,11 @@ var helpAction = {
618
618
  const detection = detectCommand(textRaw);
619
619
  return detection.isCommand && detection.command?.key === "help";
620
620
  },
621
- async handler(_runtime, _message, _state, _options, callback) {
621
+ async handler(_runtime, message, _state, _options, callback) {
622
+ const detection = detectCommand(message?.content?.text ?? "");
623
+ if (!detection.isCommand || detection.command?.key !== "help") {
624
+ return { success: false, text: "" };
625
+ }
622
626
  const commands = getEnabledCommands();
623
627
  const helpText = formatCommandList(commands);
624
628
  await callback?.({ text: helpText });
@@ -783,7 +787,10 @@ async function buildStatusReport(runtime, roomId) {
783
787
  }
784
788
  } catch {}
785
789
  try {
786
- const tasks = await runtime.getTasks({ roomId });
790
+ const tasks = await runtime.getTasks({
791
+ roomId,
792
+ agentIds: [runtime.agentId]
793
+ });
787
794
  if (tasks.length > 0) {
788
795
  lines.push(`
789
796
  **Tasks:** ${tasks.length} pending`);
@@ -1166,4 +1173,4 @@ export {
1166
1173
  commandRegistryProvider
1167
1174
  };
1168
1175
 
1169
- //# debugId=B67A62E4C9BE0E2864756E2164756E21
1176
+ //# debugId=24A386E734B88BB864756E2164756E21
package/dist/index.js.map CHANGED
@@ -6,12 +6,12 @@
6
6
  "/**\n * Command registry - defines all available chat commands\n *\n * IMPORTANT: The registry uses module-level state for convenience, but\n * provides `cloneCommands()` and `resetCommands()` so that `init()` can\n * work on isolated copies per runtime. The `init()` function in the main\n * plugin file should clone before mutating to avoid cross-agent contamination.\n */\n\nimport type { CommandDefinition } from \"./types\";\n\n// Default command definitions (frozen reference — never mutate these directly)\nconst DEFAULT_COMMANDS: ReadonlyArray<CommandDefinition> = [\n\t// Status commands\n\t{\n\t\tkey: \"help\",\n\t\tnativeName: \"help\",\n\t\tdescription: \"Show available commands\",\n\t\ttextAliases: [\"/help\", \"/h\", \"/?\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"commands\",\n\t\tnativeName: \"commands\",\n\t\tdescription: \"List all commands\",\n\t\ttextAliases: [\"/commands\", \"/cmds\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"status\",\n\t\tnativeName: \"status\",\n\t\tdescription: \"Show current session status\",\n\t\ttextAliases: [\"/status\", \"/s\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"context\",\n\t\tnativeName: \"context\",\n\t\tdescription: \"Show current context information\",\n\t\ttextAliases: [\"/context\", \"/ctx\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"mode\", description: \"Output mode (list, detail, json)\" }],\n\t},\n\t{\n\t\tkey: \"whoami\",\n\t\tnativeName: \"whoami\",\n\t\tdescription: \"Show your identity information\",\n\t\ttextAliases: [\"/whoami\", \"/who\"],\n\t\tscope: \"both\",\n\t\tcategory: \"status\",\n\t\tacceptsArgs: false,\n\t},\n\n\t// Session commands\n\t{\n\t\tkey: \"stop\",\n\t\tnativeName: \"stop\",\n\t\tdescription: \"Stop current operation\",\n\t\ttextAliases: [\"/stop\", \"/abort\", \"/cancel\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"restart\",\n\t\tnativeName: \"restart\",\n\t\tdescription: \"Restart the session\",\n\t\ttextAliases: [\"/restart\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: false,\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"reset\",\n\t\tnativeName: \"reset\",\n\t\tdescription: \"Reset session state\",\n\t\ttextAliases: [\"/reset\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: false,\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"new\",\n\t\tnativeName: \"new\",\n\t\tdescription: \"Start a new conversation\",\n\t\ttextAliases: [\"/new\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"compact\",\n\t\tnativeName: \"compact\",\n\t\tdescription: \"Compact conversation history\",\n\t\ttextAliases: [\"/compact\"],\n\t\tscope: \"both\",\n\t\tcategory: \"session\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"instructions\", description: \"Optional compaction instructions\" },\n\t\t],\n\t},\n\n\t// Options commands\n\t{\n\t\tkey: \"think\",\n\t\tnativeName: \"think\",\n\t\tdescription: \"Set thinking level\",\n\t\ttextAliases: [\"/think\", \"/thinking\", \"/t\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"level\", description: \"off, minimal, low, medium, high, xhigh\" },\n\t\t],\n\t},\n\t{\n\t\tkey: \"verbose\",\n\t\tnativeName: \"verbose\",\n\t\tdescription: \"Set verbose output level\",\n\t\ttextAliases: [\"/verbose\", \"/v\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"level\", description: \"off, on, full\" }],\n\t},\n\t{\n\t\tkey: \"reasoning\",\n\t\tnativeName: \"reasoning\",\n\t\tdescription: \"Set reasoning visibility\",\n\t\ttextAliases: [\"/reasoning\", \"/reason\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"level\", description: \"off, on, stream\" }],\n\t},\n\t{\n\t\tkey: \"elevated\",\n\t\tnativeName: \"elevated\",\n\t\tdescription: \"Set elevated permission mode\",\n\t\ttextAliases: [\"/elevated\", \"/elev\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"level\", description: \"off, on, ask, full\" }],\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"model\",\n\t\tnativeName: \"model\",\n\t\tdescription: \"Set or show current model\",\n\t\ttextAliases: [\"/model\", \"/m\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"model\", description: \"provider/model or alias\" }],\n\t},\n\t{\n\t\tkey: \"models\",\n\t\tnativeName: \"models\",\n\t\tdescription: \"List available models\",\n\t\ttextAliases: [\"/models\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"usage\",\n\t\tnativeName: \"usage\",\n\t\tdescription: \"Show token usage\",\n\t\ttextAliases: [\"/usage\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: false,\n\t},\n\t{\n\t\tkey: \"queue\",\n\t\tnativeName: \"queue\",\n\t\tdescription: \"Set queue mode\",\n\t\ttextAliases: [\"/queue\", \"/q\"],\n\t\tscope: \"both\",\n\t\tcategory: \"options\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{\n\t\t\t\tname: \"mode\",\n\t\t\t\tdescription: \"steer, followup, collect, interrupt, or options\",\n\t\t\t},\n\t\t],\n\t},\n\n\t// Management commands\n\t{\n\t\tkey: \"allowlist\",\n\t\tnativeName: \"allowlist\",\n\t\tdescription: \"Manage sender allowlist\",\n\t\ttextAliases: [\"/allowlist\", \"/allow\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"action\", description: \"list, add, remove\" },\n\t\t\t{ name: \"value\", description: \"sender to add/remove\" },\n\t\t],\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"approve\",\n\t\tnativeName: \"approve\",\n\t\tdescription: \"Approve or deny a pending action\",\n\t\ttextAliases: [\"/approve\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"id\", description: \"Approval ID\", required: true },\n\t\t\t{ name: \"action\", description: \"allow-once, allow-always, deny\" },\n\t\t],\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"subagents\",\n\t\tnativeName: \"subagents\",\n\t\tdescription: \"Manage subagents\",\n\t\ttextAliases: [\"/subagents\", \"/sub\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\targs: [{ name: \"action\", description: \"list, stop, log, info, send\" }],\n\t\trequiresAuth: true,\n\t},\n\t{\n\t\tkey: \"config\",\n\t\tnativeName: \"config\",\n\t\tdescription: \"View or set configuration\",\n\t\ttextAliases: [\"/config\", \"/cfg\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{ name: \"key\", description: \"Configuration key\" },\n\t\t\t{ name: \"value\", description: \"Value to set\" },\n\t\t],\n\t\trequiresAuth: true,\n\t\tenabled: false, // Disabled by default\n\t},\n\t{\n\t\tkey: \"debug\",\n\t\tnativeName: \"debug\",\n\t\tdescription: \"Debug information\",\n\t\ttextAliases: [\"/debug\"],\n\t\tscope: \"both\",\n\t\tcategory: \"management\",\n\t\tacceptsArgs: true,\n\t\trequiresAuth: true,\n\t\tenabled: false, // Disabled by default\n\t},\n\n\t// Media commands\n\t{\n\t\tkey: \"tts\",\n\t\tnativeName: \"tts\",\n\t\tdescription: \"Text-to-speech settings\",\n\t\ttextAliases: [\"/tts\", \"/voice\"],\n\t\tscope: \"both\",\n\t\tcategory: \"media\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{\n\t\t\t\tname: \"action\",\n\t\t\t\tdescription: \"on, off, status, provider, limit, audio\",\n\t\t\t},\n\t\t],\n\t},\n\n\t// Tools commands\n\t{\n\t\tkey: \"bash\",\n\t\tnativeName: \"bash\",\n\t\tdescription: \"Execute shell command\",\n\t\ttextAliases: [\"/bash\", \"/sh\", \"/!\"],\n\t\tscope: \"text\",\n\t\tcategory: \"tools\",\n\t\tacceptsArgs: true,\n\t\targs: [\n\t\t\t{\n\t\t\t\tname: \"command\",\n\t\t\t\tdescription: \"Shell command to execute\",\n\t\t\t\tcaptureRemaining: true,\n\t\t\t},\n\t\t],\n\t\trequiresAuth: true,\n\t\trequiresElevated: true,\n\t},\n];\n\n// ── Per-runtime command storage ──────────────────────────────────────────\n// Each agent runtime gets its own isolated command set via `initForRuntime()`.\n// The module-level state is used as a fallback for convenience (tests, etc.).\n//\n// Why a WeakMap? Agent runtimes may be created/destroyed; we don't want to\n// leak memory by holding strong references to disposed runtimes.\n\ninterface CommandStore {\n\tcommands: CommandDefinition[];\n\taliasMap: Map<string, CommandDefinition> | null;\n}\n\n/** Per-runtime stores keyed by agentId */\nconst runtimeStores = new Map<string, CommandStore>();\n/** Fallback store for when no runtime context is set */\nconst fallbackStore: CommandStore = {\n\tcommands: DEFAULT_COMMANDS.map((c) => ({ ...c })),\n\taliasMap: null,\n};\n/** Currently active store (set during init, reset on test teardown) */\nlet activeStore: CommandStore = fallbackStore;\n\n/**\n * Initialize an isolated command store for a specific runtime.\n * Called from plugin init() to prevent cross-agent contamination.\n */\nexport function initForRuntime(agentId: string): void {\n\tconst store: CommandStore = {\n\t\tcommands: DEFAULT_COMMANDS.map((c) => ({ ...c })),\n\t\taliasMap: null,\n\t};\n\truntimeStores.set(agentId, store);\n\tactiveStore = store;\n}\n\n/**\n * Set the active command store for a given runtime.\n * Providers and actions should call this before accessing commands.\n */\nexport function useRuntime(agentId: string): void {\n\tconst store = runtimeStores.get(agentId);\n\tif (store) {\n\t\tactiveStore = store;\n\t}\n}\n\n/**\n * Get all registered commands\n */\nexport function getCommands(): CommandDefinition[] {\n\treturn [...activeStore.commands];\n}\n\n/**\n * Get enabled commands\n */\nexport function getEnabledCommands(): CommandDefinition[] {\n\treturn activeStore.commands.filter((cmd) => cmd.enabled !== false);\n}\n\n/**\n * Get commands by category\n */\nexport function getCommandsByCategory(category: string): CommandDefinition[] {\n\treturn activeStore.commands.filter(\n\t\t(cmd) => cmd.category === category && cmd.enabled !== false,\n\t);\n}\n\n/**\n * Register a custom command\n */\nexport function registerCommand(command: CommandDefinition): void {\n\t// Remove existing command with same key\n\tactiveStore.commands = activeStore.commands.filter(\n\t\t(c) => c.key !== command.key,\n\t);\n\tactiveStore.commands.push(command);\n\tactiveStore.aliasMap = null; // Invalidate cache\n}\n\n/**\n * Register multiple commands\n */\nexport function registerCommands(newCommands: CommandDefinition[]): void {\n\tfor (const command of newCommands) {\n\t\tregisterCommand(command);\n\t}\n}\n\n/**\n * Unregister a command\n */\nexport function unregisterCommand(key: string): void {\n\tactiveStore.commands = activeStore.commands.filter((c) => c.key !== key);\n\tactiveStore.aliasMap = null;\n}\n\n/**\n * Reset to default commands (for the active store)\n */\nexport function resetCommands(): void {\n\tactiveStore.commands = DEFAULT_COMMANDS.map((c) => ({ ...c }));\n\tactiveStore.aliasMap = null;\n}\n\n/**\n * Build and cache alias map for the active store\n */\nfunction getAliasMap(): Map<string, CommandDefinition> {\n\tif (activeStore.aliasMap) return activeStore.aliasMap;\n\n\tactiveStore.aliasMap = new Map();\n\tfor (const command of activeStore.commands) {\n\t\tif (command.enabled === false) continue;\n\n\t\tfor (const alias of command.textAliases) {\n\t\t\tconst normalized = alias.toLowerCase().trim();\n\t\t\tif (!activeStore.aliasMap.has(normalized)) {\n\t\t\t\tactiveStore.aliasMap.set(normalized, command);\n\t\t\t}\n\t\t}\n\t}\n\treturn activeStore.aliasMap;\n}\n\n/**\n * Find command by alias\n */\nexport function findCommandByAlias(\n\talias: string,\n): CommandDefinition | undefined {\n\tconst map = getAliasMap();\n\treturn map.get(alias.toLowerCase().trim());\n}\n\n/**\n * Find command by key\n */\nexport function findCommandByKey(key: string): CommandDefinition | undefined {\n\treturn activeStore.commands.find((c) => c.key === key);\n}\n\n/**\n * Check if text starts with any command alias\n */\nexport function startsWithCommand(text: string): CommandDefinition | undefined {\n\tconst map = getAliasMap();\n\tconst normalized = text.toLowerCase().trim();\n\n\t// Check exact match first\n\tfor (const [alias, command] of map) {\n\t\tif (normalized === alias) {\n\t\t\treturn command;\n\t\t}\n\t\tif (\n\t\t\tnormalized.startsWith(`${alias} `) ||\n\t\t\tnormalized.startsWith(`${alias}:`)\n\t\t) {\n\t\t\treturn command;\n\t\t}\n\t}\n\n\treturn undefined;\n}\n",
7
7
  "/**\n * Command parser - detects and parses commands from message text\n */\n\nimport { startsWithCommand } from \"./registry\";\nimport type {\n\tCommandDefinition,\n\tCommandDetectionResult,\n\tParsedCommand,\n} from \"./types\";\n\nconst escapeRegExp = (value: string) =>\n\tvalue.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\n/**\n * Check if text contains a command\n */\nexport function hasCommand(text: string): boolean {\n\tif (!text) return false;\n\tconst trimmed = text.trim();\n\tif (!trimmed.startsWith(\"/\") && !trimmed.startsWith(\"!\")) return false;\n\treturn Boolean(startsWithCommand(trimmed));\n}\n\n/**\n * Detect command in text\n */\nexport function detectCommand(text: string): CommandDetectionResult {\n\tif (!text) {\n\t\treturn { isCommand: false };\n\t}\n\n\tconst trimmed = text.trim();\n\n\t// Quick check for command prefix\n\tif (!trimmed.startsWith(\"/\") && !trimmed.startsWith(\"!\")) {\n\t\treturn { isCommand: false };\n\t}\n\n\tconst command = startsWithCommand(trimmed);\n\tif (!command) {\n\t\treturn { isCommand: false };\n\t}\n\n\tconst parsed = parseCommand(trimmed, command);\n\tif (!parsed) {\n\t\treturn { isCommand: false };\n\t}\n\n\treturn { isCommand: true, command: parsed };\n}\n\n/**\n * Parse a command from text\n */\nexport function parseCommand(\n\ttext: string,\n\tdefinition: CommandDefinition,\n): ParsedCommand | null {\n\tconst trimmed = text.trim();\n\n\t// Find the matching alias\n\tlet matchedAlias: string | null = null;\n\tfor (const alias of definition.textAliases) {\n\t\tconst normalized = alias.toLowerCase();\n\t\tif (trimmed.toLowerCase() === normalized) {\n\t\t\tmatchedAlias = alias;\n\t\t\tbreak;\n\t\t}\n\t\tif (\n\t\t\ttrimmed.toLowerCase().startsWith(`${normalized} `) ||\n\t\t\ttrimmed.toLowerCase().startsWith(`${normalized}:`)\n\t\t) {\n\t\t\tmatchedAlias = alias;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (!matchedAlias) {\n\t\treturn null;\n\t}\n\n\t// Extract arguments\n\tlet rawArgs = trimmed.slice(matchedAlias.length).trim();\n\n\t// Handle colon separator (e.g., /think:high)\n\tif (rawArgs.startsWith(\":\")) {\n\t\trawArgs = rawArgs.slice(1).trim();\n\t}\n\n\t// Parse arguments\n\tconst args = parseArgs(rawArgs, definition);\n\n\treturn {\n\t\tkey: definition.key,\n\t\tcanonical: definition.textAliases[0] ?? `/${definition.key}`,\n\t\targs,\n\t\trawArgs: rawArgs || undefined,\n\t};\n}\n\n/**\n * Parse arguments based on command definition\n */\nfunction parseArgs(rawArgs: string, definition: CommandDefinition): string[] {\n\tif (!rawArgs || !definition.acceptsArgs) {\n\t\treturn [];\n\t}\n\n\tconst parsing = definition.argsParsing ?? \"positional\";\n\n\tif (parsing === \"none\") {\n\t\t// Return entire string as single argument\n\t\treturn rawArgs ? [rawArgs] : [];\n\t}\n\n\t// Positional parsing\n\tconst args: string[] = [];\n\tconst argDefs = definition.args ?? [];\n\n\t// Split by whitespace, respecting quotes\n\tconst tokens = tokenize(rawArgs);\n\n\tfor (let i = 0; i < tokens.length; i++) {\n\t\tconst argDef = argDefs[i];\n\n\t\t// If this arg captures remaining, join all remaining tokens\n\t\tif (argDef?.captureRemaining) {\n\t\t\targs.push(tokens.slice(i).join(\" \"));\n\t\t\tbreak;\n\t\t}\n\n\t\targs.push(tokens[i]);\n\t}\n\n\treturn args;\n}\n\n/**\n * Tokenize argument string, respecting quotes\n */\nfunction tokenize(input: string): string[] {\n\tconst tokens: string[] = [];\n\tlet current = \"\";\n\tlet inQuote = false;\n\tlet quoteChar = \"\";\n\n\tfor (let i = 0; i < input.length; i++) {\n\t\tconst char = input[i];\n\n\t\tif (inQuote) {\n\t\t\tif (char === quoteChar) {\n\t\t\t\tinQuote = false;\n\t\t\t\tif (current) {\n\t\t\t\t\ttokens.push(current);\n\t\t\t\t\tcurrent = \"\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrent += char;\n\t\t\t}\n\t\t} else if (char === '\"' || char === \"'\") {\n\t\t\tinQuote = true;\n\t\t\tquoteChar = char;\n\t\t} else if (/\\s/.test(char)) {\n\t\t\tif (current) {\n\t\t\t\ttokens.push(current);\n\t\t\t\tcurrent = \"\";\n\t\t\t}\n\t\t} else {\n\t\t\tcurrent += char;\n\t\t}\n\t}\n\n\tif (current) {\n\t\ttokens.push(current);\n\t}\n\n\treturn tokens;\n}\n\n/**\n * Normalize command body (handle bot mentions, colon syntax, etc.)\n */\nexport function normalizeCommandBody(\n\ttext: string,\n\tbotMention?: string,\n): string {\n\tlet normalized = text.trim();\n\n\t// Remove bot mention prefix (e.g., \"@bot /status\" -> \"/status\")\n\tif (botMention) {\n\t\tconst mentionPattern = new RegExp(`^@${escapeRegExp(botMention)}\\\\s*`, \"i\");\n\t\tnormalized = normalized.replace(mentionPattern, \"\");\n\t}\n\n\t// Handle colon in command (e.g., \"/command: args\" -> \"/command args\")\n\tnormalized = normalized.replace(/^(\\/\\w+):\\s*/, \"$1 \");\n\n\treturn normalized.trim();\n}\n\n/**\n * Check if text is a command-only message (no other content)\n */\nexport function isCommandOnly(text: string): boolean {\n\tconst detection = detectCommand(text);\n\tif (!detection.isCommand || !detection.command) {\n\t\treturn false;\n\t}\n\n\t// If there's no rawArgs, it's command-only\n\tif (!detection.command.rawArgs) {\n\t\treturn true;\n\t}\n\n\t// Check if rawArgs is just whitespace\n\treturn detection.command.rawArgs.trim().length === 0;\n}\n\n/**\n * Get command and remaining text\n */\nexport function extractCommand(\n\ttext: string,\n): { command: ParsedCommand; remainingText: string } | null {\n\tconst detection = detectCommand(text);\n\tif (!detection.isCommand || !detection.command) {\n\t\treturn null;\n\t}\n\n\tconst { command } = detection;\n\n\t// For commands that don't accept args, remaining text is everything after the command\n\tif (!command.rawArgs) {\n\t\treturn { command, remainingText: \"\" };\n\t}\n\n\treturn { command, remainingText: command.rawArgs };\n}\n",
8
8
  "/**\n * Commands list action\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\nimport { getEnabledCommands } from \"../registry\";\n\nexport const commandsListAction: Action = {\n\tname: \"COMMANDS_LIST\",\n\tdescription:\n\t\t\"List all available commands with their aliases. Only activates for /commands or /cmds slash commands.\",\n\t// Only slash-command similes to avoid matching natural language\n\tsimiles: [\"/commands\", \"/cmds\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/commands\") ||\n\t\t\ttext.includes(\"/cmds\") ||\n\t\t\ttext.includes(\"commands\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:commands|cmds)\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"commands\";\n\t},\n\n\tasync handler(\n\t\t_runtime: IAgentRuntime,\n\t\t_message: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst commands = getEnabledCommands();\n\t\tconst lines: string[] = [`**Commands (${commands.length}):**\\n`];\n\n\t\tfor (const cmd of commands) {\n\t\t\tconst aliases = cmd.textAliases.join(\", \");\n\t\t\tconst authNote = cmd.requiresAuth ? \" [auth]\" : \"\";\n\t\t\tconst elevatedNote = cmd.requiresElevated ? \" [elevated]\" : \"\";\n\t\t\tlines.push(`• **${cmd.key}**: ${aliases}${authNote}${elevatedNote}`);\n\t\t}\n\n\t\tconst replyText = lines.join(\"\\n\");\n\t\tawait callback?.({ text: replyText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: replyText,\n\t\t\tdata: { commandCount: commands.length },\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/commands\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Commands (15):**\\n\\n• **help**: /help, /h, /?\\n• **status**: /status, /s...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
9
- "/**\n * Help command action\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\nimport { getEnabledCommands } from \"../registry\";\n\n/**\n * Format command list for help display\n */\nfunction formatCommandList(\n\tcommands: ReturnType<typeof getEnabledCommands>,\n): string {\n\tconst lines: string[] = [\"**Available Commands:**\\n\"];\n\n\tconst categories = [\n\t\t{ key: \"status\", name: \"Status\" },\n\t\t{ key: \"session\", name: \"Session\" },\n\t\t{ key: \"options\", name: \"Options\" },\n\t\t{ key: \"management\", name: \"Management\" },\n\t\t{ key: \"media\", name: \"Media\" },\n\t\t{ key: \"tools\", name: \"Tools\" },\n\t];\n\n\tfor (const cat of categories) {\n\t\tconst catCommands = commands.filter((c) => c.category === cat.key);\n\t\tif (catCommands.length === 0) continue;\n\n\t\tlines.push(`\\n**${cat.name}:**`);\n\t\tfor (const cmd of catCommands) {\n\t\t\tconst aliases = cmd.textAliases.slice(0, 2).join(\", \");\n\t\t\tlines.push(`• ${aliases} - ${cmd.description}`);\n\t\t}\n\t}\n\n\t// Add uncategorized commands\n\tconst uncategorized = commands.filter((c) => !c.category);\n\tif (uncategorized.length > 0) {\n\t\tlines.push(\"\\n**Other:**\");\n\t\tfor (const cmd of uncategorized) {\n\t\t\tconst aliases = cmd.textAliases.slice(0, 2).join(\", \");\n\t\t\tlines.push(`• ${aliases} - ${cmd.description}`);\n\t\t}\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nexport const helpAction: Action = {\n\tname: \"HELP_COMMAND\",\n\tdescription:\n\t\t\"Show available commands and their descriptions. Only activates for /help, /h, or /? slash commands.\",\n\t// Only slash-command similes — \"help\" or \"show help\" as natural language\n\t// should be handled by the LLM's normal response, not this action\n\tsimiles: [\"/help\", \"/h\", \"/?\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/help\") || text.includes(\"/h\") || text.includes(\"/?\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:help|h|\\?)(?:\\s|$|:)/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"help\";\n\t},\n\n\tasync handler(\n\t\t_runtime: IAgentRuntime,\n\t\t_message: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst commands = getEnabledCommands();\n\t\tconst helpText = formatCommandList(commands);\n\n\t\tawait callback?.({ text: helpText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: helpText,\n\t\t\tdata: { commandCount: commands.length },\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/help\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Commands:**\\n\\n**Status:**\\n• /help - Show available commands...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/?\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Commands:**\\n\\n**Status:**\\n• /help - Show available commands...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
9
+ "/**\n * Help command action\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\nimport { getEnabledCommands } from \"../registry\";\n\n/**\n * Format command list for help display\n */\nfunction formatCommandList(\n\tcommands: ReturnType<typeof getEnabledCommands>,\n): string {\n\tconst lines: string[] = [\"**Available Commands:**\\n\"];\n\n\tconst categories = [\n\t\t{ key: \"status\", name: \"Status\" },\n\t\t{ key: \"session\", name: \"Session\" },\n\t\t{ key: \"options\", name: \"Options\" },\n\t\t{ key: \"management\", name: \"Management\" },\n\t\t{ key: \"media\", name: \"Media\" },\n\t\t{ key: \"tools\", name: \"Tools\" },\n\t];\n\n\tfor (const cat of categories) {\n\t\tconst catCommands = commands.filter((c) => c.category === cat.key);\n\t\tif (catCommands.length === 0) continue;\n\n\t\tlines.push(`\\n**${cat.name}:**`);\n\t\tfor (const cmd of catCommands) {\n\t\t\tconst aliases = cmd.textAliases.slice(0, 2).join(\", \");\n\t\t\tlines.push(`• ${aliases} - ${cmd.description}`);\n\t\t}\n\t}\n\n\t// Add uncategorized commands\n\tconst uncategorized = commands.filter((c) => !c.category);\n\tif (uncategorized.length > 0) {\n\t\tlines.push(\"\\n**Other:**\");\n\t\tfor (const cmd of uncategorized) {\n\t\t\tconst aliases = cmd.textAliases.slice(0, 2).join(\", \");\n\t\t\tlines.push(`• ${aliases} - ${cmd.description}`);\n\t\t}\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nexport const helpAction: Action = {\n\tname: \"HELP_COMMAND\",\n\tdescription:\n\t\t\"Show available commands and their descriptions. Only activates for /help, /h, or /? slash commands.\",\n\t// Only slash-command similes — \"help\" or \"show help\" as natural language\n\t// should be handled by the LLM's normal response, not this action\n\tsimiles: [\"/help\", \"/h\", \"/?\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/help\") || text.includes(\"/h\") || text.includes(\"/?\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:help|h|\\?)(?:\\s|$|:)/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"help\";\n\t},\n\n\tasync handler(\n\t\t_runtime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\t// Guard: only show help when the user actually asked for it.\n\t\t// The runtime doesn't call validate before handler, so the LLM\n\t\t// can select HELP_COMMAND during action retry loops even when the\n\t\t// user never typed /help.\n\t\tconst detection = detectCommand(message?.content?.text ?? \"\");\n\t\tif (!detection.isCommand || detection.command?.key !== \"help\") {\n\t\t\treturn { success: false, text: \"\" };\n\t\t}\n\n\t\tconst commands = getEnabledCommands();\n\t\tconst helpText = formatCommandList(commands);\n\n\t\tawait callback?.({ text: helpText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: helpText,\n\t\t\tdata: { commandCount: commands.length },\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/help\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Commands:**\\n\\n**Status:**\\n• /help - Show available commands...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/?\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Commands:**\\n\\n**Status:**\\n• /help - Show available commands...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
10
10
  "/**\n * Models command action\n *\n * Queries the runtime for actually registered model handlers instead of\n * using a hardcoded list. Falls back to listing registered model types\n * when detailed model info is not available.\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\n\n/**\n * Describe a ModelType value in a user-friendly way\n */\nfunction describeModelType(modelType: string): string {\n\tconst descriptions: Record<string, string> = {\n\t\t[ModelType.TEXT_SMALL]: \"Text (Small)\",\n\t\t[ModelType.TEXT_LARGE]: \"Text (Large)\",\n\t\t[ModelType.TEXT_REASONING_SMALL]: \"Reasoning (Small)\",\n\t\t[ModelType.TEXT_REASONING_LARGE]: \"Reasoning (Large)\",\n\t\t[ModelType.TEXT_COMPLETION]: \"Text Completion\",\n\t\t[ModelType.TEXT_EMBEDDING]: \"Embedding\",\n\t\t[ModelType.IMAGE]: \"Image Generation\",\n\t\t[ModelType.IMAGE_DESCRIPTION]: \"Image Description\",\n\t\t[ModelType.TRANSCRIPTION]: \"Transcription\",\n\t\t[ModelType.TEXT_TO_SPEECH]: \"Text-to-Speech\",\n\t\t[ModelType.AUDIO]: \"Audio\",\n\t\t[ModelType.VIDEO]: \"Video\",\n\t\t[ModelType.OBJECT_SMALL]: \"Object (Small)\",\n\t\t[ModelType.OBJECT_LARGE]: \"Object (Large)\",\n\t\t[ModelType.RESEARCH]: \"Research\",\n\t};\n\treturn descriptions[modelType] ?? modelType;\n}\n\nexport const modelsAction: Action = {\n\tname: \"MODELS_COMMAND\",\n\tdescription:\n\t\t\"List available AI models and providers. Only activates for /models slash command.\",\n\t// Only slash-command similes to avoid matching natural language\n\tsimiles: [\"/models\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword = text.includes(\"/models\") || text.includes(\"models\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*models\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"models\";\n\t},\n\n\tasync handler(\n\t\truntime: IAgentRuntime,\n\t\t_message: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst lines: string[] = [\"**Available Models:**\\n\"];\n\n\t\t// Query runtime for registered model handlers\n\t\ttry {\n\t\t\tconst registeredTypes: string[] = [];\n\t\t\tconst seen = new Set<string>();\n\n\t\t\t// Check each ModelType to see if a handler is registered.\n\t\t\t// Deduplicate since ModelType has legacy aliases (SMALL, MEDIUM, LARGE)\n\t\t\t// that map to the same underlying values.\n\t\t\tfor (const modelType of Object.values(ModelType)) {\n\t\t\t\tif (seen.has(modelType)) continue;\n\t\t\t\tseen.add(modelType);\n\t\t\t\ttry {\n\t\t\t\t\t// runtime.getModel() returns the handler or undefined\n\t\t\t\t\tconst handler = runtime.getModel(modelType);\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tregisteredTypes.push(modelType);\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Model type not registered\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (registeredTypes.length > 0) {\n\t\t\t\tlines.push(\"**Registered Model Types:**\");\n\t\t\t\tfor (const modelType of registeredTypes) {\n\t\t\t\t\tlines.push(`• ${describeModelType(modelType)} (\\`${modelType}\\`)`);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlines.push(\"No model handlers are currently registered.\");\n\t\t\t}\n\n\t\t\t// Show current model settings if available\n\t\t\tconst modelProvider = runtime.getSetting(\"MODEL_PROVIDER\");\n\t\t\tconst modelName = runtime.getSetting(\"MODEL_NAME\");\n\t\t\tif (modelProvider || modelName) {\n\t\t\t\tlines.push(\"\\n**Current Configuration:**\");\n\t\t\t\tif (modelProvider) lines.push(`• Provider: ${modelProvider}`);\n\t\t\t\tif (modelName) lines.push(`• Model: ${modelName}`);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tlogger.warn(\n\t\t\t\t{ src: \"plugin-commands\", err },\n\t\t\t\t\"Error querying runtime models\",\n\t\t\t);\n\t\t\tlines.push(\"Unable to query available models.\");\n\t\t}\n\n\t\tlines.push(\"\\n\\n_Use /model <provider/model> to switch models._\");\n\n\t\tconst replyText = lines.join(\"\\n\");\n\t\tawait callback?.({ text: replyText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: replyText,\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/models\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Available Models:**\\n\\n**Registered Model Types:**\\n• Text (Large) (`text_large`)\\n• Text (Small) (`text_small`)...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
11
- "/**\n * Status command action\n *\n * This is the SLASH COMMAND version (/status, /s). It is distinct from the\n * bootstrap STATUS action which handles natural language like \"what's your status?\".\n *\n * Key differences:\n * - This action ONLY activates for /status or /s slash commands (validate checks prefix)\n * - Bootstrap STATUS handles conversational requests about agent state\n * - This action shows directive/session settings; bootstrap STATUS shows tasks/room info\n * - No natural language similes to prevent conflict with bootstrap STATUS\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\n\ninterface DirectiveModelState {\n\tprovider?: string;\n\tmodel?: string;\n}\n\ninterface DirectiveSessionState {\n\tthinking: string | boolean;\n\tverbose: boolean | string;\n\treasoning: boolean | string;\n\televated: boolean | string;\n\tmodel?: DirectiveModelState;\n}\n\ninterface DirectiveParserService {\n\tgetSessionState?: (roomId: string) => DirectiveSessionState | undefined;\n}\n\n/**\n * Build status report including directive state\n */\nasync function buildStatusReport(\n\truntime: IAgentRuntime,\n\troomId: string,\n): Promise<string> {\n\tconst lines: string[] = [\"**Session Status:**\\n\"];\n\n\t// Agent info\n\tlines.push(`**Agent:** ${runtime.character.name ?? runtime.agentId}`);\n\tlines.push(`**Room:** ${roomId}`);\n\n\t// Try to get directive state from plugin-directives if available\n\ttry {\n\t\tconst directiveService = runtime.getService(\n\t\t\t\"directive-parser\",\n\t\t) as DirectiveParserService | null;\n\t\tif (directiveService) {\n\t\t\tconst state = directiveService.getSessionState?.(roomId);\n\t\t\tif (state) {\n\t\t\t\tlines.push(`\\n**Directives:**`);\n\t\t\t\tlines.push(`• Thinking: ${state.thinking}`);\n\t\t\t\tlines.push(`• Verbose: ${state.verbose}`);\n\t\t\t\tlines.push(`• Reasoning: ${state.reasoning}`);\n\t\t\t\tlines.push(`• Elevated: ${state.elevated}`);\n\t\t\t\tif (state.model?.provider || state.model?.model) {\n\t\t\t\t\tconst modelStr = state.model.provider\n\t\t\t\t\t\t? `${state.model.provider}/${state.model.model}`\n\t\t\t\t\t\t: state.model.model;\n\t\t\t\t\tlines.push(`• Model: ${modelStr}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Directive plugin not available\n\t}\n\n\t// Get pending tasks count for context\n\ttry {\n\t\tconst tasks = await runtime.getTasks({ roomId });\n\t\tif (tasks.length > 0) {\n\t\t\tlines.push(`\\n**Tasks:** ${tasks.length} pending`);\n\t\t}\n\t} catch {\n\t\t// Task retrieval may not be available\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nexport const statusAction: Action = {\n\t// Deliberately distinct from bootstrap's \"STATUS\" action name\n\t// Normalized: \"statuscommand\" vs \"status\" — no exact match collision\n\tname: \"STATUS_COMMAND\",\n\tdescription:\n\t\t\"Show session directive settings via /status slash command. Only activates for /status or /s prefix.\",\n\t// Only slash-command similes — no natural language to avoid stealing\n\t// from bootstrap STATUS which handles \"what's your status?\" etc.\n\tsimiles: [\"/status\", \"/s\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/status\") ||\n\t\t\ttext.includes(\"/s\") ||\n\t\t\ttext.includes(\"status\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:status|s)\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"status\";\n\t},\n\n\tasync handler(\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst statusText = await buildStatusReport(runtime, message.roomId);\n\n\t\tawait callback?.({ text: statusText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: statusText,\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/status\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Session Status:**\\n\\n**Agent:** Eliza\\n**Room:** room-456\\n\\n**Directives:**\\n• Thinking: low...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
11
+ "/**\n * Status command action\n *\n * This is the SLASH COMMAND version (/status, /s). It is distinct from the\n * bootstrap STATUS action which handles natural language like \"what's your status?\".\n *\n * Key differences:\n * - This action ONLY activates for /status or /s slash commands (validate checks prefix)\n * - Bootstrap STATUS handles conversational requests about agent state\n * - This action shows directive/session settings; bootstrap STATUS shows tasks/room info\n * - No natural language similes to prevent conflict with bootstrap STATUS\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\n\ninterface DirectiveModelState {\n\tprovider?: string;\n\tmodel?: string;\n}\n\ninterface DirectiveSessionState {\n\tthinking: string | boolean;\n\tverbose: boolean | string;\n\treasoning: boolean | string;\n\televated: boolean | string;\n\tmodel?: DirectiveModelState;\n}\n\ninterface DirectiveParserService {\n\tgetSessionState?: (roomId: string) => DirectiveSessionState | undefined;\n}\n\n/**\n * Build status report including directive state\n */\nasync function buildStatusReport(\n\truntime: IAgentRuntime,\n\troomId: string,\n): Promise<string> {\n\tconst lines: string[] = [\"**Session Status:**\\n\"];\n\n\t// Agent info\n\tlines.push(`**Agent:** ${runtime.character.name ?? runtime.agentId}`);\n\tlines.push(`**Room:** ${roomId}`);\n\n\t// Try to get directive state from plugin-directives if available\n\ttry {\n\t\tconst directiveService = runtime.getService(\n\t\t\t\"directive-parser\",\n\t\t) as DirectiveParserService | null;\n\t\tif (directiveService) {\n\t\t\tconst state = directiveService.getSessionState?.(roomId);\n\t\t\tif (state) {\n\t\t\t\tlines.push(`\\n**Directives:**`);\n\t\t\t\tlines.push(`• Thinking: ${state.thinking}`);\n\t\t\t\tlines.push(`• Verbose: ${state.verbose}`);\n\t\t\t\tlines.push(`• Reasoning: ${state.reasoning}`);\n\t\t\t\tlines.push(`• Elevated: ${state.elevated}`);\n\t\t\t\tif (state.model?.provider || state.model?.model) {\n\t\t\t\t\tconst modelStr = state.model.provider\n\t\t\t\t\t\t? `${state.model.provider}/${state.model.model}`\n\t\t\t\t\t\t: state.model.model;\n\t\t\t\t\tlines.push(`• Model: ${modelStr}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Directive plugin not available\n\t}\n\n\t// Get pending tasks count for context\n\ttry {\n\t\tconst tasks = await runtime.getTasks({\n\t\t\troomId,\n\t\t\tagentIds: [runtime.agentId],\n\t\t});\n\t\tif (tasks.length > 0) {\n\t\t\tlines.push(`\\n**Tasks:** ${tasks.length} pending`);\n\t\t}\n\t} catch {\n\t\t// Task retrieval may not be available\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nexport const statusAction: Action = {\n\t// Deliberately distinct from bootstrap's \"STATUS\" action name\n\t// Normalized: \"statuscommand\" vs \"status\" — no exact match collision\n\tname: \"STATUS_COMMAND\",\n\tdescription:\n\t\t\"Show session directive settings via /status slash command. Only activates for /status or /s prefix.\",\n\t// Only slash-command similes — no natural language to avoid stealing\n\t// from bootstrap STATUS which handles \"what's your status?\" etc.\n\tsimiles: [\"/status\", \"/s\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/status\") ||\n\t\t\ttext.includes(\"/s\") ||\n\t\t\ttext.includes(\"status\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:status|s)\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn detection.isCommand && detection.command?.key === \"status\";\n\t},\n\n\tasync handler(\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\tconst statusText = await buildStatusReport(runtime, message.roomId);\n\n\t\tawait callback?.({ text: statusText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: statusText,\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/status\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"**Session Status:**\\n\\n**Agent:** Eliza\\n**Room:** room-456\\n\\n**Directives:**\\n• Thinking: low...\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n",
12
12
  "/**\n * Stop command action\n *\n * Uses EventType.HOOK_COMMAND_STOP from @elizaos/core for proper integration\n * with the messaging pipeline and hook system.\n */\n\nimport type {\n\tAction,\n\tActionExample,\n\tIAgentRuntime,\n\tMemory,\n} from \"@elizaos/core\";\nimport { EventType, logger } from \"@elizaos/core\";\nimport { detectCommand } from \"../parser\";\n\nexport const stopAction: Action = {\n\tname: \"STOP_COMMAND\",\n\tdescription:\n\t\t\"Stop current operation or abort running tasks. Triggered by /stop, /abort, or /cancel slash commands only.\",\n\t// Only use slash-command similes to avoid matching natural language\n\t// like \"stop talking\" or \"cancel that\" which should go to bootstrap IGNORE\n\tsimiles: [\"/stop\", \"/abort\", \"/cancel\"],\n\tvalidate: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t): Promise<boolean> => {\n\t\tconst textRaw = message.content?.text ?? \"\";\n\t\tconst text = textRaw.toLowerCase();\n\t\tconst hasKeyword =\n\t\t\ttext.includes(\"/stop\") ||\n\t\t\ttext.includes(\"/abort\") ||\n\t\t\ttext.includes(\"/cancel\") ||\n\t\t\ttext.includes(\"stop\");\n\t\tconst hasRegex = /^(?:\\/|!)\\s*(?:stop|abort|cancel)\\b/i.test(textRaw);\n\t\tconst hasContext = Boolean(\n\t\t\truntime?.agentId || message?.roomId || message?.content,\n\t\t);\n\t\tconst hasInput = textRaw.trim().length > 0;\n\t\tif (!(hasKeyword && hasRegex && hasContext && hasInput)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst detection = detectCommand(textRaw);\n\t\treturn (\n\t\t\tdetection.isCommand &&\n\t\t\t[\"stop\", \"abort\", \"cancel\"].includes(detection.command?.key ?? \"\")\n\t\t);\n\t},\n\n\tasync handler(\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state,\n\t\t_options,\n\t\tcallback,\n\t) {\n\t\t// Emit the proper hook event for the stop command.\n\t\t// HookCommandPayload extends HookEventPayload which requires sessionKey,\n\t\t// messages, timestamp, context. The runtime injects itself automatically.\n\t\ttry {\n\t\t\tawait runtime.emitEvent(EventType.HOOK_COMMAND_STOP, {\n\t\t\t\truntime,\n\t\t\t\tsessionKey: message.roomId,\n\t\t\t\tmessages: [],\n\t\t\t\ttimestamp: new Date(),\n\t\t\t\tcontext: {\n\t\t\t\t\tentityId: message.entityId,\n\t\t\t\t\tsource: message.content?.source,\n\t\t\t\t},\n\t\t\t\tcommand: \"stop\" as const,\n\t\t\t\tsenderId: message.entityId,\n\t\t\t\tcommandSource: message.content?.source,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tlogger.warn(\n\t\t\t\t{ src: \"plugin-commands\", err },\n\t\t\t\t\"Failed to emit HOOK_COMMAND_STOP event\",\n\t\t\t);\n\t\t}\n\n\t\tconst replyText = \"✓ Stop requested. Current operations will be cancelled.\";\n\t\tawait callback?.({ text: replyText });\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\ttext: replyText,\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/stop\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"✓ Stop requested. Current operations will be cancelled.\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[\n\t\t\t{ name: \"user\", content: { text: \"/abort\" } },\n\t\t\t{\n\t\t\t\tname: \"assistant\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"✓ Stop requested. Current operations will be cancelled.\",\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t] as ActionExample[][],\n};\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "B67A62E4C9BE0E2864756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "24A386E734B88BB864756E2164756E21",
16
16
  "names": []
17
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-commands",
3
- "version": "2.0.0-alpha.8",
3
+ "version": "2.0.0-alpha.9",
4
4
  "type": "module",
5
5
  "main": "dist/cjs/index.cjs",
6
6
  "module": "dist/index.js",
@@ -24,13 +24,14 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@elizaos/core": "2.0.0-alpha.114"
27
+ "@elizaos/core": "2.0.0-alpha.116"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/bun": "^1.2.22",
31
31
  "@types/node": "^24.5.2",
32
32
  "typescript": "^5.9.2",
33
- "@biomejs/biome": "^2.3.11"
33
+ "@biomejs/biome": "^2.3.11",
34
+ "vitest": "^4.0.18"
34
35
  },
35
36
  "scripts": {
36
37
  "build": "bun run build.ts",