MCPcopy Create free account
hub / github.com/MoonshotAI/kimi-code / resolveSlashCommandInput

Function resolveSlashCommandInput

apps/kimi-code/src/tui/commands/resolve.ts:55–126  ·  view source on GitHub ↗
(options: ResolveSlashCommandInput)

Source from the content-addressed store, hash-verified

53}
54
55export function resolveSlashCommandInput(options: ResolveSlashCommandInput): SlashCommandIntent {
56 const parsed = parseSlashInput(options.input);
57 if (parsed === null) return { kind: 'not-command' };
58
59 const command = findBuiltInSlashCommand(parsed.name);
60 // `command` is a literal union where only some members carry `experimentalFlag`; widen to read it.
61 if (
62 command !== undefined &&
63 isExperimentalFlagEnabled((command as KimiSlashCommand).experimentalFlag)
64 ) {
65 const busyReason = slashCommandBusyReason(options);
66 if (
67 busyReason !== undefined &&
68 resolveSlashCommandAvailability(command, parsed.args) === 'idle-only'
69 ) {
70 return {
71 kind: 'blocked',
72 commandName: parsed.name,
73 reason: busyReason,
74 };
75 }
76 return {
77 kind: 'builtin',
78 command,
79 name: command.name,
80 args: parsed.args,
81 };
82 }
83
84 const skillName = resolveSkillCommand(options.skillCommandMap, parsed.name);
85 if (skillName !== undefined) {
86 const busyReason = slashCommandBusyReason(options);
87 if (busyReason !== undefined) {
88 return {
89 kind: 'blocked',
90 commandName: parsed.name,
91 reason: busyReason,
92 };
93 }
94 return {
95 kind: 'skill',
96 commandName: parsed.name,
97 skillName,
98 args: parsed.args.trim(),
99 };
100 }
101
102 if (options.pluginCommandMap.has(parsed.name)) {
103 const busyReason = slashCommandBusyReason(options);
104 if (busyReason !== undefined) {
105 return {
106 kind: 'blocked',
107 commandName: parsed.name,
108 reason: busyReason,
109 };
110 }
111 const separator = parsed.name.indexOf(':');
112 const pluginId = separator === -1 ? parsed.name : parsed.name.slice(0, separator);

Callers 2

executeSlashCommandFunction · 0.90
resolveFunction · 0.85

Calls 7

parseSlashInputFunction · 0.90
findBuiltInSlashCommandFunction · 0.90
slashCommandBusyReasonFunction · 0.85
resolveSkillCommandFunction · 0.70
hasMethod · 0.65

Tested by 1

resolveFunction · 0.68