jorel
Version:
A unified wrapper for working with LLMs from multiple providers, including streams, images, documents & automatic tool use.
38 lines (37 loc) • 1.44 kB
TypeScript
import { Nullable } from "../shared";
export type TaskExecutionThreadEventType = "generation" | "delegation" | "transfer" | "threadChange" | "toolUse";
export interface TaskExecutionEventBase {
timestamp: number;
eventType: TaskExecutionThreadEventType;
messageId: string;
action: string;
}
export interface TaskExecutionThreadEvent_Generation extends TaskExecutionEventBase {
eventType: "generation";
model: string;
tokenUsage: {
input: Nullable<number>;
output: Nullable<number>;
};
}
export interface TaskExecutionThreadEvent_Delegation extends TaskExecutionEventBase {
eventType: "delegation";
delegateToAgentName: string;
}
export interface TaskExecutionThreadEvent_Transfer extends TaskExecutionEventBase {
eventType: "transfer";
fromAgentName: string;
toAgentName: string;
}
export interface TaskExecutionThreadEvent_ThreadChange extends TaskExecutionEventBase {
eventType: "threadChange";
targetThreadId: string;
}
export interface TaskExecutionThreadEvent_ToolUse extends TaskExecutionEventBase {
eventType: "toolUse";
toolId: string;
toolArguments: object;
toolResult: unknown;
toolError: Nullable<string>;
}
export type TaskExecutionThreadEvent = TaskExecutionThreadEvent_Generation | TaskExecutionThreadEvent_Delegation | TaskExecutionThreadEvent_Transfer | TaskExecutionThreadEvent_ThreadChange | TaskExecutionThreadEvent_ToolUse;