import { DataSourceProvider } from '@aws-amplify/graphql-transformer-interfaces'; import { DirectiveNode, FieldDefinitionNode, InputObjectTypeDefinitionNode, ObjectTypeDefinitionNode } from 'graphql'; import { ConversationModel } from './graphql-types/conversation-model'; import { MessageModel } from './graphql-types/message-model'; import { Tool } from './tools/process-tools'; export type ConversationDirectiveConfiguration = { parent: ObjectTypeDefinitionNode; field: FieldDefinitionNode; directive: DirectiveNode; aiModel: string; systemPrompt: string; inferenceConfiguration: ConversationInferenceConfiguration | undefined; tools: ToolDefinition[]; functionName: string | undefined; handler: ConversationHandlerFunctionConfiguration | undefined; toolSpec: Tool[] | undefined; conversation: ConversationModel; message: MessageModel; assistantResponseMutation: { field: FieldDefinitionNode; input: InputObjectTypeDefinitionNode; }; assistantResponseStreamingMutation: { field: FieldDefinitionNode; input: InputObjectTypeDefinitionNode; }; assistantResponseSubscriptionField: FieldDefinitionNode; dataSources: ConversationDirectiveDataSources; }; export type ConversationHandlerFunctionConfiguration = { functionName: string; eventVersion: string; }; export type ConversationInferenceConfiguration = { maxTokens?: number; temperature?: number; topP?: number; }; export type ToolDefinition = { name: string; description: string; queryName?: string; modelName?: string; modelOperation?: ConversationToolModelOperation; }; export declare enum ConversationToolModelOperation { list = "list" } export type ModelOperationTool = { name: string; description: string; modelName: string; modelOperation: ConversationToolModelOperation; }; export type CustomQueryTool = { name: string; description: string; queryName: string; }; export type ConversationDirectiveDataSources = { lambdaFunctionDataSource: DataSourceProvider; messageTableDataSource: DataSourceProvider; conversationTableDataSource: DataSourceProvider; }; //# sourceMappingURL=conversation-directive-configuration.d.ts.map