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

Method handleSlashCommand

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

Source from the content-addressed store, hash-verified

823 }
824
825 private async handleSlashCommand(
826 sessionId: string,
827 workspaceId: string,
828 sessionState: SessionState,
829 parsedPrompt: ParsedPrompt,
830 parsedCommand: ParsedAcpSlashCommand
831 ): Promise<PromptResponse> {
832 switch (parsedCommand.kind) {
833 case "invalid":
834 return this.respondToCommand(sessionId, parsedCommand.message);
835
836 case "clear": {
837 const clearResult = await this.server.client.workspace.truncateHistory({
838 workspaceId,
839 percentage: 1.0,
840 });
841 if (!clearResult.success) {
842 return this.respondToCommand(
843 sessionId,
844 `Failed to clear chat history: ${clearResult.error ?? "unknown error"}`
845 );
846 }
847
848 return this.respondToCommand(sessionId, "Cleared chat history.");
849 }
850
851 case "compact": {
852 const compactionPayload = this.buildCompactionPayload(
853 parsedCommand,
854 parsedPrompt,
855 sessionState
856 );
857
858 return this.sendWorkspaceMessageAndAwaitTurn({
859 sessionId,
860 workspaceId,
861 message: compactionPayload.message,
862 options: compactionPayload.options,
863 });
864 }
865
866 case "skill": {
867 const options: SendMessageOptions = {
868 model: sessionState.aiSettings.model,
869 thinkingLevel: sessionState.aiSettings.thinkingLevel,
870 agentId: sessionState.agentId,
871 muxMetadata: buildAgentSkillMetadata({
872 rawCommand: parsedCommand.rawCommand,
873 commandPrefix: parsedCommand.commandPrefix,
874 skillName: parsedCommand.descriptor.name,
875 scope: parsedCommand.descriptor.scope,
876 }),
877 };
878
879 return this.sendWorkspaceMessageAndAwaitTurn({
880 sessionId,
881 workspaceId,
882 message: parsedCommand.formattedMessage,

Callers 1

tryHandleSlashCommandMethod · 0.95

Calls 12

respondToCommandMethod · 0.95
buildAgentSkillMetadataFunction · 0.90
stringifyUnknownFunction · 0.85
getInfoMethod · 0.80
forkMethod · 0.80
listBranchesMethod · 0.80
sendMessageMethod · 0.65
createMethod · 0.65
truncateHistoryMethod · 0.45

Tested by

no test coverage detected