import { WitnessCmdData } from "@ibgib/core-gib/dist/witness/witness-cmd/witness-cmd-types.mjs"; import { APIFunctionInfo } from "../api-types.mjs"; /** * @interface CommandBase - Base interface for all commands. * Extends the structure for witness commands. */ export interface CommandDataBase extends WitnessCmdData { /** * notes to self for use by the LLM to describe their use of the command. */ notesToSelf?: string; /** * set to true if the model desires notification as soon as the command is completed. * Note that this is not part of the intrinsic command, rather it is * metadata regarding agent (internal LLM model) workflow. */ repromptWithResult?: boolean; } /** * @interface EnqueuedCommand - Represents a command enqueued with its resolve * and reject functions. */ export interface EnqueuedCommand> { command: TCommand; resolve: (result: any) => void; reject: (error: Error) => void; /** * If the command is anonymous, then this will be set. Otherwise, the APIFunctionInfo * that will be used will be whitelisted from {@link getAllFunctionInfos}. */ anonApiFn?: APIFunctionInfo; } /** * @interface CommandService - Interface for the command service. */ export interface CommandService { /** * Enqueues a command to be executed. * @param {EnqueuedCommand} enqueuedCommand - The command to enqueue with its resolve and reject functions. */ enqueueCommand>(enqueuedCommand: EnqueuedCommand): void; /** * Starts processing the command queue. * @returns {Promise} A promise that resolves when the queue is empty. */ processQueue(): Promise; } //# sourceMappingURL=command-types.d.mts.map