UNPKG

@integromat/proto

Version:
67 lines 2.19 kB
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