@integromat/proto
Version:
Integromat Proto-Classes
67 lines • 2.19 kB
TypeScript
import { IMTBase, ModuleType } from './base';
import { Bundle, MetadataList } from './types';
export type AgentResources = {
agentOutputSpec: Readonly<Record<string, any>>;
tools: Readonly<Array<Readonly<{
id: number;
name: string;
description: string;
inputSchema: Readonly<Record<string, any>>;
}>>>;
};
export type AgentContext = Readonly<Record<string, any>>;
type SelectedTool = Readonly<{
id: number;
input: Readonly<Bundle>;
}>;
export type UseToolAction = Readonly<{
type: 'useToolAction';
selectedTool: SelectedTool;
context: AgentContext;
reasoning?: Readonly<string>;
content?: Readonly<string>;
}>;
export type FinishAction = Readonly<{
type: 'finishAction';
metadata?: Readonly<MetadataList>;
} & (Readonly<{
status: 'SUCCESS';
outputBundle: Readonly<Bundle>;
}> | Readonly<{
status: 'ERROR';
error: Error;
}>)>;
export type Action = UseToolAction | FinishAction;
export type InitialActionResult = Readonly<{
type: 'initialActionResult';
inputBundle: Readonly<Bundle>;
}>;
export type PreviousActionResultValue = Readonly<{
toolOutputBundle: Readonly<Bundle>;
}>;
export type PreviousActionResult = Readonly<{
type: 'previousActionResult';
context: AgentContext;
status: 'SUCCESS' | 'ERROR' | 'WARNING';
previousAction: UseToolAction;
previousActionResult: PreviousActionResultValue;
}>;
export type NextActionParams = InitialActionResult | PreviousActionResult;
export type ThreadHistoryRecord = Readonly<Record<any, any>>;
export type ThreadHistory = Readonly<{
records: Readonly<Array<ThreadHistoryRecord>>;
}>;
export type ThreadContext = Readonly<{
history: ThreadHistory;
}>;
export type GetThreadContextParams = Readonly<{
threadId: string;
iterationsFromHistoryCount?: number;
}>;
export declare class IMTAgent extends IMTBase {
readonly type = ModuleType.AGENT;
getThreadContext(params: GetThreadContextParams): Promise<ThreadContext>;
getNextAction(nextActionParams: Readonly<NextActionParams>, agentResources: Readonly<AgentResources>): Promise<Readonly<Action>>;
}
export {};
//# sourceMappingURL=agent.d.ts.map