import { ChatLLMOutput } from '../../llms/chat.js'; import { BaseMemory } from '../../memory/base.js'; import { BaseMessage } from '../../llms/primitives/message.js'; import { C as Callback } from '../../emitter-l0W9gC1A.js'; import { AnyTool, BaseToolRunOptions, ToolOutput, ToolError } from '../../tools/base.js'; import { BeeSystemPrompt, BeeAssistantPrompt, BeeUserPrompt, BeeUserEmptyPrompt, BeeToolErrorPrompt, BeeToolInputErrorPrompt, BeeToolNoResultsPrompt, BeeToolNotFoundPrompt, BeeSchemaErrorPrompt } from './prompts.js'; import { LinePrefixParser } from '../parsers/linePrefix.js'; import { ZodParserField, JSONParserField } from '../parsers/field.js'; import { NonUndefined } from '../../internals/types.js'; import '../../llms/base.js'; import '../../context.js'; import '../../internals/serializable.js'; import '../../internals/helpers/guards.js'; import '../../internals/helpers/promise.js'; import '../../errors.js'; import '../../cache/base.js'; import 'promise-based-task'; import 'ajv'; import '../../internals/helpers/schema.js'; import 'zod'; import 'zod-to-json-schema'; import '../../template.js'; import '../parsers/errors.js'; import '@streamparser/json'; import 'jsonrepair/stream'; /** * Copyright 2025 IBM Corp. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ interface BeeRunInput { prompt: string | null; } interface BeeRunOutput { result: BaseMessage; iterations: BeeAgentRunIteration[]; memory: BaseMemory; } interface BeeAgentRunIteration { raw: ChatLLMOutput; state: BeeIterationResult; } interface BeeAgentExecutionConfig { totalMaxRetries?: number; maxRetriesPerStep?: number; maxIterations?: number; } interface BeeRunOptions { signal?: AbortSignal; execution?: BeeAgentExecutionConfig; } interface BeeMeta { iteration: number; } interface BeeUpdateMeta extends BeeMeta { success: boolean; } interface BeeCallbacks { start?: Callback<{ meta: BeeMeta; tools: AnyTool[]; memory: BaseMemory; }>; error?: Callback<{ error: Error; meta: BeeMeta; }>; retry?: Callback<{ meta: BeeMeta; }>; success?: Callback<{ data: BaseMessage; iterations: BeeAgentRunIteration[]; memory: BaseMemory; meta: BeeMeta; }>; update?: Callback<{ data: BeeIterationResult; update: { key: keyof BeeIterationResult; value: string; parsedValue: unknown; }; meta: BeeUpdateMeta; memory: BaseMemory; }>; partialUpdate?: Callback<{ data: BeeIterationResultPartial; update: { key: keyof BeeIterationResult; value: string; parsedValue: unknown; }; meta: BeeUpdateMeta; }>; toolStart?: Callback<{ data: { tool: AnyTool; input: unknown; options: BaseToolRunOptions; iteration: BeeIterationToolResult; }; meta: BeeMeta; }>; toolSuccess?: Callback<{ data: { tool: AnyTool; input: unknown; options: BaseToolRunOptions; result: ToolOutput; iteration: BeeIterationToolResult; }; meta: BeeMeta; }>; toolError?: Callback<{ data: { tool: AnyTool; input: unknown; options: BaseToolRunOptions; error: ToolError; iteration: BeeIterationToolResult; }; meta: BeeMeta; }>; } interface BeeAgentTemplates { system: typeof BeeSystemPrompt; assistant: typeof BeeAssistantPrompt; user: typeof BeeUserPrompt; userEmpty: typeof BeeUserEmptyPrompt; toolError: typeof BeeToolErrorPrompt; toolInputError: typeof BeeToolInputErrorPrompt; toolNoResultError: typeof BeeToolNoResultsPrompt; toolNotFoundError: typeof BeeToolNotFoundPrompt; schemaError: typeof BeeSchemaErrorPrompt; } type BeeParserInput = LinePrefixParser.define<{ thought: ZodParserField; tool_name: ZodParserField; tool_input: JSONParserField>; tool_output: ZodParserField; final_answer: ZodParserField; }>; type BeeParser = LinePrefixParser; type BeeIterationResult = LinePrefixParser.inferOutput; type BeeIterationResultPartial = LinePrefixParser.inferPartialOutput; type BeeIterationToolResult = NonUndefined; export type { BeeAgentExecutionConfig, BeeAgentRunIteration, BeeAgentTemplates, BeeCallbacks, BeeIterationResult, BeeIterationResultPartial, BeeIterationToolResult, BeeMeta, BeeParserInput, BeeRunInput, BeeRunOptions, BeeRunOutput, BeeUpdateMeta };