MCPcopy
hub / github.com/coder/mux / tryHandleSlashCommand

Method tryHandleSlashCommand

src/node/acp/agent.ts:790–823  ·  view source on GitHub ↗
(
    sessionId: string,
    workspaceId: string,
    sessionState: SessionState,
    parsedPrompt: ParsedPrompt
  )

Source from the content-addressed store, hash-verified

788 return delegatedToolNames;
789 }
790 private async tryHandleSlashCommand(
791 sessionId: string,
792 workspaceId: string,
793 sessionState: SessionState,
794 parsedPrompt: ParsedPrompt
795 ): Promise<PromptResponse | null> {
796 const trimmedPrompt = parsedPrompt.text.trim();
797 if (!trimmedPrompt.startsWith("/")) {
798 return null;
799 }
800
801 let skillsByName: ReadonlyMap<string, AgentSkillDescriptor>;
802 try {
803 skillsByName = await this.getSessionSkills(sessionId, workspaceId);
804 } catch (error) {
805 console.error("[acp] Failed to load skills for slash command parsing", error);
806 // Built-in ACP slash commands (/clear, /compact, etc.) should
807 // still work when skill discovery has a transient failure.
808 skillsByName = new Map<string, AgentSkillDescriptor>();
809 }
810
811 const parsedCommand = parseAcpSlashCommand(parsedPrompt.text, skillsByName);
812 if (parsedCommand == null) {
813 return null;
814 }
815
816 return this.handleSlashCommand(
817 sessionId,
818 workspaceId,
819 sessionState,
820 parsedPrompt,
821 parsedCommand
822 );
823 }
824
825 private async handleSlashCommand(
826 sessionId: string,

Callers 1

promptMethod · 0.95

Calls 3

getSessionSkillsMethod · 0.95
handleSlashCommandMethod · 0.95
parseAcpSlashCommandFunction · 0.90

Tested by

no test coverage detected