43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
export interface CommandContext {
|
|
channel: string;
|
|
senderId: string;
|
|
sessionId: string;
|
|
rawInput: string;
|
|
services?: CommandServices;
|
|
}
|
|
|
|
export interface CommandResult {
|
|
handled: boolean;
|
|
text: string;
|
|
}
|
|
|
|
export interface CommandDefinition {
|
|
name: string;
|
|
aliases?: string[];
|
|
description: string;
|
|
execute: (args: string[], ctx: CommandContext) => Promise<CommandResult>;
|
|
}
|
|
|
|
export interface CommandServices {
|
|
getStatus?: () => Promise<string> | string;
|
|
getUsage?: () => Promise<string> | string;
|
|
getContext?: () => Promise<string> | string;
|
|
getModel?: () => Promise<string> | string;
|
|
setModel?: (tier: string) => Promise<string> | string;
|
|
compact?: () => Promise<string> | string;
|
|
reset?: () => Promise<string> | string;
|
|
delegateAgent?: (agentName: string, task: string) => Promise<string> | string;
|
|
|
|
getElevation?: () => Promise<string> | string;
|
|
setElevation?: (input: string) => Promise<string> | string;
|
|
|
|
getQueue?: () => Promise<string> | string;
|
|
setQueue?: (input: string) => Promise<string> | string;
|
|
resetQueue?: () => Promise<string> | string;
|
|
transferSession?: (target: string) => Promise<string> | string;
|
|
getApprovals?: () => Promise<string> | string;
|
|
approvePending?: (input: string) => Promise<string> | string;
|
|
denyPending?: (input: string) => Promise<string> | string;
|
|
skillCommand?: (input: string) => Promise<string> | string;
|
|
}
|