beeai-framework 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -29
- package/dist/adapters/amazon-bedrock/backend/chat.d.cts +1 -1
- package/dist/adapters/amazon-bedrock/backend/chat.d.ts +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +1 -1
- package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +1 -1
- package/dist/adapters/anthropic/backend/chat.d.cts +1 -1
- package/dist/adapters/anthropic/backend/chat.d.ts +1 -1
- package/dist/adapters/anthropic/backend/embedding.d.cts +1 -1
- package/dist/adapters/anthropic/backend/embedding.d.ts +1 -1
- package/dist/adapters/azure-openai/backend/chat.d.cts +1 -1
- package/dist/adapters/azure-openai/backend/chat.d.ts +1 -1
- package/dist/adapters/azure-openai/backend/embedding.d.cts +1 -1
- package/dist/adapters/azure-openai/backend/embedding.d.ts +1 -1
- package/dist/adapters/dummy/backend/chat.d.cts +1 -1
- package/dist/adapters/dummy/backend/chat.d.ts +1 -1
- package/dist/adapters/dummy/backend/embedding.d.cts +1 -1
- package/dist/adapters/dummy/backend/embedding.d.ts +1 -1
- package/dist/adapters/google-vertex/backend/chat.d.cts +1 -1
- package/dist/adapters/google-vertex/backend/chat.d.ts +1 -1
- package/dist/adapters/google-vertex/backend/embedding.d.cts +1 -1
- package/dist/adapters/google-vertex/backend/embedding.d.ts +1 -1
- package/dist/adapters/groq/backend/chat.d.cts +1 -1
- package/dist/adapters/groq/backend/chat.d.ts +1 -1
- package/dist/adapters/groq/backend/embedding.d.cts +1 -1
- package/dist/adapters/groq/backend/embedding.d.ts +1 -1
- package/dist/adapters/langchain/backend/chat.d.cts +1 -1
- package/dist/adapters/langchain/backend/chat.d.ts +1 -1
- package/dist/adapters/langchain/backend/embedding.d.cts +1 -1
- package/dist/adapters/langchain/backend/embedding.d.ts +1 -1
- package/dist/adapters/langchain/tools.d.cts +1 -1
- package/dist/adapters/langchain/tools.d.ts +1 -1
- package/dist/adapters/ollama/backend/chat.d.cts +1 -1
- package/dist/adapters/ollama/backend/chat.d.ts +1 -1
- package/dist/adapters/ollama/backend/embedding.d.cts +1 -1
- package/dist/adapters/ollama/backend/embedding.d.ts +1 -1
- package/dist/adapters/openai/backend/chat.d.cts +1 -1
- package/dist/adapters/openai/backend/chat.d.ts +1 -1
- package/dist/adapters/openai/backend/client.cjs +9 -2
- package/dist/adapters/openai/backend/client.cjs.map +1 -1
- package/dist/adapters/openai/backend/client.js +9 -2
- package/dist/adapters/openai/backend/client.js.map +1 -1
- package/dist/adapters/openai/backend/embedding.d.cts +1 -1
- package/dist/adapters/openai/backend/embedding.d.ts +1 -1
- package/dist/adapters/vercel/backend/chat.cjs +0 -1
- package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
- package/dist/adapters/vercel/backend/chat.d.cts +1 -1
- package/dist/adapters/vercel/backend/chat.d.ts +1 -1
- package/dist/adapters/vercel/backend/chat.js +0 -1
- package/dist/adapters/vercel/backend/chat.js.map +1 -1
- package/dist/adapters/vercel/backend/embedding.d.cts +1 -1
- package/dist/adapters/vercel/backend/embedding.d.ts +1 -1
- package/dist/adapters/watsonx/backend/chat.cjs +6 -2
- package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
- package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
- package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
- package/dist/adapters/watsonx/backend/chat.js +6 -2
- package/dist/adapters/watsonx/backend/chat.js.map +1 -1
- package/dist/adapters/watsonx/backend/embedding.d.cts +1 -1
- package/dist/adapters/watsonx/backend/embedding.d.ts +1 -1
- package/dist/agent-COg8SPbf.d.cts +84 -0
- package/dist/agent-Dv5YSk8H.d.ts +84 -0
- package/dist/agents/base.d.cts +2 -2
- package/dist/agents/base.d.ts +2 -2
- package/dist/agents/experimental/remote/agent.cjs +25 -18
- package/dist/agents/experimental/remote/agent.cjs.map +1 -1
- package/dist/agents/experimental/remote/agent.d.cts +6 -5
- package/dist/agents/experimental/remote/agent.d.ts +6 -5
- package/dist/agents/experimental/remote/agent.js +26 -19
- package/dist/agents/experimental/remote/agent.js.map +1 -1
- package/dist/agents/experimental/replan/agent.d.cts +2 -2
- package/dist/agents/experimental/replan/agent.d.ts +2 -2
- package/dist/agents/experimental/replan/prompts.d.cts +1 -1
- package/dist/agents/experimental/replan/prompts.d.ts +1 -1
- package/dist/agents/experimental/streamlit/agent.d.cts +2 -2
- package/dist/agents/experimental/streamlit/agent.d.ts +2 -2
- package/dist/agents/{bee → react}/agent.cjs +5 -5
- package/dist/agents/react/agent.cjs.map +1 -0
- package/dist/agents/{bee → react}/agent.d.cts +3 -3
- package/dist/agents/{bee → react}/agent.d.ts +3 -3
- package/dist/agents/{bee → react}/agent.js +5 -5
- package/dist/agents/react/agent.js.map +1 -0
- package/dist/agents/{bee → react}/prompts.cjs +18 -18
- package/dist/agents/react/prompts.cjs.map +1 -0
- package/dist/agents/{bee → react}/prompts.d.cts +10 -10
- package/dist/agents/{bee → react}/prompts.d.ts +10 -10
- package/dist/agents/{bee → react}/prompts.js +10 -10
- package/dist/agents/react/prompts.js.map +1 -0
- package/dist/agents/{bee → react}/runners/base.cjs +1 -1
- package/dist/agents/{bee → react}/runners/base.cjs.map +1 -1
- package/dist/agents/{bee → react}/runners/base.d.cts +3 -3
- package/dist/agents/{bee → react}/runners/base.d.ts +3 -3
- package/dist/agents/{bee → react}/runners/base.js +1 -1
- package/dist/agents/{bee → react}/runners/base.js.map +1 -1
- package/dist/agents/{bee → react}/runners/deep-think/prompts.cjs +14 -14
- package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -0
- package/dist/agents/{bee/runners/granite → react/runners/deep-think}/prompts.d.cts +8 -8
- package/dist/agents/{bee/runners/granite → react/runners/deep-think}/prompts.d.ts +8 -8
- package/dist/agents/{bee → react}/runners/deep-think/prompts.js +9 -9
- package/dist/agents/react/runners/deep-think/prompts.js.map +1 -0
- package/dist/agents/{bee → react}/runners/deep-think/runner.cjs +10 -10
- package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -0
- package/dist/agents/{bee → react}/runners/deep-think/runner.d.cts +6 -6
- package/dist/agents/{bee → react}/runners/deep-think/runner.d.ts +6 -6
- package/dist/agents/{bee → react}/runners/deep-think/runner.js +12 -12
- package/dist/agents/react/runners/deep-think/runner.js.map +1 -0
- package/dist/agents/{bee → react}/runners/default/runner.cjs +10 -10
- package/dist/agents/react/runners/default/runner.cjs.map +1 -0
- package/dist/agents/{bee → react}/runners/default/runner.d.cts +9 -9
- package/dist/agents/{bee → react}/runners/default/runner.d.ts +9 -9
- package/dist/agents/{bee → react}/runners/default/runner.js +11 -11
- package/dist/agents/react/runners/default/runner.js.map +1 -0
- package/dist/agents/{bee → react}/runners/default/runner.spec.cjs +5 -5
- package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -0
- package/dist/agents/{bee → react}/runners/default/runner.spec.js +6 -6
- package/dist/agents/react/runners/default/runner.spec.js.map +1 -0
- package/dist/agents/{bee → react}/runners/granite/prompts.cjs +14 -14
- package/dist/agents/react/runners/granite/prompts.cjs.map +1 -0
- package/dist/agents/{bee/runners/deep-think → react/runners/granite}/prompts.d.cts +8 -8
- package/dist/agents/{bee/runners/deep-think → react/runners/granite}/prompts.d.ts +8 -8
- package/dist/agents/{bee → react}/runners/granite/prompts.js +9 -9
- package/dist/agents/react/runners/granite/prompts.js.map +1 -0
- package/dist/agents/{bee → react}/runners/granite/runner.cjs +10 -10
- package/dist/agents/react/runners/granite/runner.cjs.map +1 -0
- package/dist/agents/{bee → react}/runners/granite/runner.d.cts +6 -6
- package/dist/agents/{bee → react}/runners/granite/runner.d.ts +6 -6
- package/dist/agents/{bee → react}/runners/granite/runner.js +12 -12
- package/dist/agents/react/runners/granite/runner.js.map +1 -0
- package/dist/agents/{bee → react}/types.d.cts +46 -46
- package/dist/agents/{bee → react}/types.d.ts +46 -46
- package/dist/agents/toolCalling/agent.cjs +208 -0
- package/dist/agents/toolCalling/agent.cjs.map +1 -0
- package/dist/agents/toolCalling/agent.d.cts +70 -0
- package/dist/agents/toolCalling/agent.d.ts +70 -0
- package/dist/agents/toolCalling/agent.js +206 -0
- package/dist/agents/toolCalling/agent.js.map +1 -0
- package/dist/agents/toolCalling/prompts.cjs +64 -0
- package/dist/agents/toolCalling/prompts.cjs.map +1 -0
- package/dist/agents/toolCalling/prompts.d.cts +49 -0
- package/dist/agents/toolCalling/prompts.d.ts +49 -0
- package/dist/agents/toolCalling/prompts.js +61 -0
- package/dist/agents/toolCalling/prompts.js.map +1 -0
- package/dist/agents/toolCalling/types.cjs +4 -0
- package/dist/agents/toolCalling/types.cjs.map +1 -0
- package/dist/agents/toolCalling/types.d.cts +66 -0
- package/dist/agents/toolCalling/types.d.ts +66 -0
- package/dist/agents/toolCalling/types.js +3 -0
- package/dist/agents/toolCalling/types.js.map +1 -0
- package/dist/agents/types.d.cts +2 -2
- package/dist/agents/types.d.ts +2 -2
- package/dist/backend/backend.d.cts +1 -1
- package/dist/backend/backend.d.ts +1 -1
- package/dist/backend/chat.cjs +3 -0
- package/dist/backend/chat.cjs.map +1 -1
- package/dist/backend/chat.d.cts +4 -3
- package/dist/backend/chat.d.ts +4 -3
- package/dist/backend/chat.js +3 -0
- package/dist/backend/chat.js.map +1 -1
- package/dist/backend/core.d.cts +1 -1
- package/dist/backend/core.d.ts +1 -1
- package/dist/backend/embedding.d.cts +1 -1
- package/dist/backend/embedding.d.ts +1 -1
- package/dist/backend/message.cjs +9 -0
- package/dist/backend/message.cjs.map +1 -1
- package/dist/backend/message.d.cts +2 -0
- package/dist/backend/message.d.ts +2 -0
- package/dist/backend/message.js +9 -0
- package/dist/backend/message.js.map +1 -1
- package/dist/{base-daM6fHUP.d.cts → base-Csr9guq2.d.cts} +1 -1
- package/dist/{base-mmG-8Pk9.d.ts → base-DHhpWHQm.d.ts} +1 -1
- package/dist/context.d.cts +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/emitter/emitter.d.cts +1 -1
- package/dist/emitter/emitter.d.ts +1 -1
- package/dist/emitter/types.d.cts +1 -1
- package/dist/emitter/types.d.ts +1 -1
- package/dist/index.cjs +21 -0
- package/dist/index.d.cts +8 -3
- package/dist/index.d.ts +8 -3
- package/dist/index.js +3 -0
- package/dist/instrumentation/create-telemetry-middleware.cjs.map +1 -1
- package/dist/instrumentation/create-telemetry-middleware.d.cts +1 -1
- package/dist/instrumentation/create-telemetry-middleware.d.ts +1 -1
- package/dist/instrumentation/create-telemetry-middleware.js.map +1 -1
- package/dist/instrumentation/helpers/utils.d.cts +1 -1
- package/dist/instrumentation/helpers/utils.d.ts +1 -1
- package/dist/internals/fetcher.d.cts +1 -1
- package/dist/internals/fetcher.d.ts +1 -1
- package/dist/memory/summarizeMemory.d.cts +1 -1
- package/dist/memory/summarizeMemory.d.ts +1 -1
- package/dist/parsers/linePrefix.d.cts +1 -1
- package/dist/parsers/linePrefix.d.ts +1 -1
- package/dist/tools/arxiv.d.cts +1 -1
- package/dist/tools/arxiv.d.ts +1 -1
- package/dist/tools/base.d.cts +1 -1
- package/dist/tools/base.d.ts +1 -1
- package/dist/tools/calculator.d.cts +1 -1
- package/dist/tools/calculator.d.ts +1 -1
- package/dist/tools/custom.d.cts +1 -1
- package/dist/tools/custom.d.ts +1 -1
- package/dist/tools/database/elasticsearch.d.cts +1 -1
- package/dist/tools/database/elasticsearch.d.ts +1 -1
- package/dist/tools/database/milvus.d.cts +3 -3
- package/dist/tools/database/milvus.d.ts +3 -3
- package/dist/tools/database/sql.d.cts +1 -1
- package/dist/tools/database/sql.d.ts +1 -1
- package/dist/tools/llm.d.cts +1 -1
- package/dist/tools/llm.d.ts +1 -1
- package/dist/tools/mcp.d.cts +1 -1
- package/dist/tools/mcp.d.ts +1 -1
- package/dist/tools/openapi.d.cts +1 -1
- package/dist/tools/openapi.d.ts +1 -1
- package/dist/tools/python/output.d.cts +1 -1
- package/dist/tools/python/output.d.ts +1 -1
- package/dist/tools/python/python.d.cts +1 -1
- package/dist/tools/python/python.d.ts +1 -1
- package/dist/tools/search/base.d.cts +1 -1
- package/dist/tools/search/base.d.ts +1 -1
- package/dist/tools/search/duckDuckGoSearch.d.cts +1 -1
- package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
- package/dist/tools/search/googleSearch.d.cts +1 -1
- package/dist/tools/search/googleSearch.d.ts +1 -1
- package/dist/tools/search/searXNGSearch.d.cts +1 -1
- package/dist/tools/search/searXNGSearch.d.ts +1 -1
- package/dist/tools/search/wikipedia.d.cts +1 -1
- package/dist/tools/search/wikipedia.d.ts +1 -1
- package/dist/tools/similarity.d.cts +1 -1
- package/dist/tools/similarity.d.ts +1 -1
- package/dist/tools/weather/openMeteo.d.cts +1 -1
- package/dist/tools/weather/openMeteo.d.ts +1 -1
- package/dist/tools/web/webCrawler.d.cts +1 -1
- package/dist/tools/web/webCrawler.d.ts +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/workflows/agent.cjs +28 -20
- package/dist/workflows/agent.cjs.map +1 -1
- package/dist/workflows/agent.d.cts +223 -43
- package/dist/workflows/agent.d.ts +223 -43
- package/dist/workflows/agent.js +29 -21
- package/dist/workflows/agent.js.map +1 -1
- package/dist/workflows/workflow.d.cts +1 -1
- package/dist/workflows/workflow.d.ts +1 -1
- package/package.json +7 -7
- package/dist/agent-BZ-_ATuJ.d.cts +0 -84
- package/dist/agent-BqoZ6FbM.d.ts +0 -84
- package/dist/agents/bee/agent.cjs.map +0 -1
- package/dist/agents/bee/agent.js.map +0 -1
- package/dist/agents/bee/prompts.cjs.map +0 -1
- package/dist/agents/bee/prompts.js.map +0 -1
- package/dist/agents/bee/runners/deep-think/prompts.cjs.map +0 -1
- package/dist/agents/bee/runners/deep-think/prompts.js.map +0 -1
- package/dist/agents/bee/runners/deep-think/runner.cjs.map +0 -1
- package/dist/agents/bee/runners/deep-think/runner.js.map +0 -1
- package/dist/agents/bee/runners/default/runner.cjs.map +0 -1
- package/dist/agents/bee/runners/default/runner.js.map +0 -1
- package/dist/agents/bee/runners/default/runner.spec.cjs.map +0 -1
- package/dist/agents/bee/runners/default/runner.spec.js.map +0 -1
- package/dist/agents/bee/runners/granite/prompts.cjs.map +0 -1
- package/dist/agents/bee/runners/granite/prompts.js.map +0 -1
- package/dist/agents/bee/runners/granite/runner.cjs.map +0 -1
- package/dist/agents/bee/runners/granite/runner.js.map +0 -1
- package/dist/agents/{bee → react}/runners/default/runner.spec.d.cts +0 -0
- package/dist/agents/{bee → react}/runners/default/runner.spec.d.ts +0 -0
- package/dist/agents/{bee → react}/types.cjs +0 -0
- package/dist/agents/{bee → react}/types.cjs.map +0 -0
- package/dist/agents/{bee → react}/types.js +0 -0
- package/dist/agents/{bee → react}/types.js.map +0 -0
- package/dist/{emitter-C9EN5B0j.d.cts → emitter-BWtGHYn0.d.cts} +1 -1
- package/dist/{emitter-BxVxGBbJ.d.ts → emitter-l0W9gC1A.d.ts} +1 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { GetRunContext, RunContext } from './context.js';
|
|
2
|
+
import { b as AgentMeta, a as BaseAgent } from './base-DHhpWHQm.js';
|
|
3
|
+
import { AnyTool } from './tools/base.js';
|
|
4
|
+
import { BaseMemory } from './memory/base.js';
|
|
5
|
+
import { E as Emitter } from './emitter-l0W9gC1A.js';
|
|
6
|
+
import { ReActAgentRunOptions, ReActAgentRunIteration, ReActAgentCallbacks, ReActAgentParserInput, ReActAgentMeta, ReActAgentRunInput, ReActAgentIterationToolResult, ReActAgentTemplates, ReActAgentExecutionConfig, ReActAgentRunOutput } from './agents/react/types.js';
|
|
7
|
+
import { LinePrefixParser } from './parsers/linePrefix.js';
|
|
8
|
+
import { Serializable } from './internals/serializable.js';
|
|
9
|
+
import { ChatModel } from './backend/chat.js';
|
|
10
|
+
import { RetryCounter } from './internals/helpers/counter.js';
|
|
11
|
+
|
|
12
|
+
interface ReActAgentRunnerLLMInput {
|
|
13
|
+
meta: ReActAgentMeta;
|
|
14
|
+
signal: AbortSignal;
|
|
15
|
+
emitter: Emitter<ReActAgentCallbacks>;
|
|
16
|
+
}
|
|
17
|
+
interface ReActAgentRunnerToolInput {
|
|
18
|
+
state: ReActAgentIterationToolResult;
|
|
19
|
+
meta: ReActAgentMeta;
|
|
20
|
+
signal: AbortSignal;
|
|
21
|
+
emitter: Emitter<ReActAgentCallbacks>;
|
|
22
|
+
}
|
|
23
|
+
declare abstract class BaseRunner extends Serializable {
|
|
24
|
+
protected readonly input: ReActAgentInput;
|
|
25
|
+
protected readonly options: ReActAgentRunOptions;
|
|
26
|
+
protected readonly run: GetRunContext<ReActAgent>;
|
|
27
|
+
memory: BaseMemory;
|
|
28
|
+
readonly iterations: ReActAgentRunIteration[];
|
|
29
|
+
protected readonly failedAttemptsCounter: RetryCounter;
|
|
30
|
+
constructor(input: ReActAgentInput, options: ReActAgentRunOptions, run: GetRunContext<ReActAgent>);
|
|
31
|
+
createIteration(): Promise<{
|
|
32
|
+
emitter: Emitter<ReActAgentCallbacks>;
|
|
33
|
+
state: LinePrefixParser.infer<ReActAgentParserInput>;
|
|
34
|
+
meta: ReActAgentMeta;
|
|
35
|
+
signal: AbortSignal;
|
|
36
|
+
}>;
|
|
37
|
+
init(input: ReActAgentRunInput): Promise<void>;
|
|
38
|
+
abstract llm(input: ReActAgentRunnerLLMInput): Promise<ReActAgentRunIteration>;
|
|
39
|
+
abstract tool(input: ReActAgentRunnerToolInput): Promise<{
|
|
40
|
+
output: string;
|
|
41
|
+
success: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
abstract get defaultTemplates(): ReActAgentTemplates;
|
|
44
|
+
get templates(): ReActAgentTemplates;
|
|
45
|
+
protected abstract initMemory(input: ReActAgentRunInput): Promise<BaseMemory>;
|
|
46
|
+
createSnapshot(): {
|
|
47
|
+
input: ReActAgentInput;
|
|
48
|
+
options: ReActAgentRunOptions;
|
|
49
|
+
memory: BaseMemory<unknown>;
|
|
50
|
+
failedAttemptsCounter: RetryCounter;
|
|
51
|
+
};
|
|
52
|
+
loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
type ReActAgentTemplateFactory<K extends keyof ReActAgentTemplates> = (template: ReActAgentTemplates[K]) => ReActAgentTemplates[K];
|
|
56
|
+
interface ReActAgentInput {
|
|
57
|
+
llm: ChatModel;
|
|
58
|
+
tools: AnyTool[];
|
|
59
|
+
memory: BaseMemory;
|
|
60
|
+
meta?: Omit<AgentMeta, "tools">;
|
|
61
|
+
templates?: Partial<{
|
|
62
|
+
[K in keyof ReActAgentTemplates]: ReActAgentTemplates[K] | ReActAgentTemplateFactory<K>;
|
|
63
|
+
}>;
|
|
64
|
+
execution?: ReActAgentExecutionConfig;
|
|
65
|
+
stream?: boolean;
|
|
66
|
+
}
|
|
67
|
+
declare class ReActAgent extends BaseAgent<ReActAgentRunInput, ReActAgentRunOutput, ReActAgentRunOptions> {
|
|
68
|
+
protected readonly input: ReActAgentInput;
|
|
69
|
+
readonly emitter: Emitter<ReActAgentCallbacks>;
|
|
70
|
+
protected runner: new (...args: ConstructorParameters<typeof BaseRunner>) => BaseRunner;
|
|
71
|
+
constructor(input: ReActAgentInput);
|
|
72
|
+
set memory(memory: BaseMemory);
|
|
73
|
+
get memory(): BaseMemory;
|
|
74
|
+
get meta(): AgentMeta;
|
|
75
|
+
protected _run(input: ReActAgentRunInput, options: ReActAgentRunOptions | undefined, run: GetRunContext<typeof this>): Promise<ReActAgentRunOutput>;
|
|
76
|
+
createSnapshot(): {
|
|
77
|
+
input: ReActAgentInput;
|
|
78
|
+
emitter: Emitter<ReActAgentCallbacks>;
|
|
79
|
+
runner: new (input: ReActAgentInput, options: ReActAgentRunOptions, run: RunContext<ReActAgent, any>) => BaseRunner;
|
|
80
|
+
isRunning: boolean;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { BaseRunner as B, type ReActAgentInput as R, ReActAgent as a, type ReActAgentRunnerLLMInput as b, type ReActAgentRunnerToolInput as c, type ReActAgentTemplateFactory as d };
|
package/dist/agents/base.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import '../context.cjs';
|
|
2
2
|
import '../errors.cjs';
|
|
3
|
-
export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-
|
|
3
|
+
export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-Csr9guq2.cjs';
|
|
4
4
|
import '../internals/serializable.cjs';
|
|
5
|
-
import '../emitter-
|
|
5
|
+
import '../emitter-BWtGHYn0.cjs';
|
|
6
6
|
import '../memory/base.cjs';
|
|
7
7
|
import '../internals/helpers/promise.cjs';
|
|
8
8
|
import '../internals/types.cjs';
|
package/dist/agents/base.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import '../context.js';
|
|
2
2
|
import '../errors.js';
|
|
3
|
-
export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-
|
|
3
|
+
export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-DHhpWHQm.js';
|
|
4
4
|
import '../internals/serializable.js';
|
|
5
|
-
import '../emitter-
|
|
5
|
+
import '../emitter-l0W9gC1A.js';
|
|
6
6
|
import '../memory/base.js';
|
|
7
7
|
import '../internals/helpers/promise.js';
|
|
8
8
|
import '../internals/types.js';
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
var emitter_cjs = require('../../../emitter/emitter.cjs');
|
|
4
4
|
var base_cjs = require('../../base.cjs');
|
|
5
5
|
var message_cjs = require('../../../backend/message.cjs');
|
|
6
|
-
var
|
|
6
|
+
var index_js = require('@i-am-bee/acp-sdk/client/index.js');
|
|
7
7
|
var utils_cjs = require('../../../serializer/utils.cjs');
|
|
8
8
|
var errors_cjs = require('../../../errors.cjs');
|
|
9
9
|
var types_js = require('@i-am-bee/acp-sdk/types.js');
|
|
10
|
+
var sse_js = require('@i-am-bee/acp-sdk/client/sse.js');
|
|
10
11
|
|
|
11
12
|
var __defProp = Object.defineProperty;
|
|
12
13
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -26,23 +27,19 @@ class RemoteAgent extends base_cjs.BaseAgent {
|
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
async _run(input, _options, context) {
|
|
29
|
-
|
|
30
|
-
await this.memory.add(new message_cjs.UserMessage(JSON.stringify(input.prompt, null, 2)));
|
|
31
|
-
}
|
|
32
|
-
const runner = await this.createRunner(context);
|
|
30
|
+
const runner = this.createRunner(context);
|
|
33
31
|
const output = await runner(input);
|
|
34
|
-
const
|
|
35
|
-
await this.memory.add(finalMessage);
|
|
32
|
+
const message = new message_cjs.AssistantMessage(output);
|
|
36
33
|
return {
|
|
37
|
-
message
|
|
34
|
+
message
|
|
38
35
|
};
|
|
39
36
|
}
|
|
40
37
|
async listAgents() {
|
|
41
38
|
const response = await this.input.client.listAgents();
|
|
42
39
|
return response.agents;
|
|
43
40
|
}
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
createRunner(context) {
|
|
42
|
+
return async (input) => {
|
|
46
43
|
try {
|
|
47
44
|
this.input.client.setNotificationHandler(types_js.AgentRunProgressNotificationSchema, async (notification) => {
|
|
48
45
|
await context.emitter.emit("update", {
|
|
@@ -60,31 +57,31 @@ class RemoteAgent extends base_cjs.BaseAgent {
|
|
|
60
57
|
});
|
|
61
58
|
}
|
|
62
59
|
const agents = await this.listAgents();
|
|
63
|
-
const agent = agents.find((agent2) => agent2.name === this.input.
|
|
60
|
+
const agent = agents.find((agent2) => agent2.name === this.input.agentName);
|
|
64
61
|
if (!agent) {
|
|
65
|
-
throw new base_cjs.AgentError(`Agent ${this.input.
|
|
62
|
+
throw new base_cjs.AgentError(`Agent ${this.input.agentName} is not registered in the platform`, [], {
|
|
66
63
|
isFatal: true
|
|
67
64
|
});
|
|
68
65
|
}
|
|
69
66
|
const response = await this.input.client.runAgent({
|
|
70
|
-
name: this.input.
|
|
71
|
-
input: input.prompt
|
|
67
|
+
name: this.input.agentName,
|
|
68
|
+
input: typeof input.prompt === "string" ? {
|
|
69
|
+
text: input.prompt
|
|
70
|
+
} : input.prompt
|
|
72
71
|
}, {
|
|
73
72
|
timeout: 1e7,
|
|
74
73
|
signal: context.signal,
|
|
75
74
|
onprogress: /* @__PURE__ */ __name(() => null, "onprogress")
|
|
76
75
|
});
|
|
77
|
-
await this.input.client.close();
|
|
78
76
|
const output = JSON.stringify(response.output, null, 2);
|
|
79
77
|
await context.emitter.emit("update", {
|
|
80
78
|
output
|
|
81
79
|
});
|
|
82
80
|
return output;
|
|
83
|
-
}
|
|
84
|
-
return run;
|
|
81
|
+
};
|
|
85
82
|
}
|
|
86
83
|
get memory() {
|
|
87
|
-
|
|
84
|
+
throw new errors_cjs.NotImplementedError();
|
|
88
85
|
}
|
|
89
86
|
set memory(memory) {
|
|
90
87
|
throw new errors_cjs.NotImplementedError();
|
|
@@ -96,6 +93,16 @@ class RemoteAgent extends base_cjs.BaseAgent {
|
|
|
96
93
|
emitter: this.emitter
|
|
97
94
|
};
|
|
98
95
|
}
|
|
96
|
+
static createSSEAgent(url, agentName) {
|
|
97
|
+
return new RemoteAgent({
|
|
98
|
+
client: new index_js.Client({
|
|
99
|
+
name: "remote-agent",
|
|
100
|
+
version: "1.0.0"
|
|
101
|
+
}),
|
|
102
|
+
transport: new sse_js.SSEClientTransport(new URL(url)),
|
|
103
|
+
agentName
|
|
104
|
+
});
|
|
105
|
+
}
|
|
99
106
|
}
|
|
100
107
|
|
|
101
108
|
exports.RemoteAgent = RemoteAgent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","
|
|
1
|
+
{"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","runner","createRunner","output","message","AssistantMessage","listAgents","response","client","agents","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","JSON","stringify","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","agentName","runAgent","prompt","text","timeout","signal","onprogress","memory","NotImplementedError","createSnapshot","shallowCopy","createSSEAgent","url","MCPClient","version","SSEClientTransport","URL"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\nimport { SSEClientTransport } from \"@i-am-bee/acp-sdk/client/sse.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: Record<string, unknown> | string;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agentName: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n const runner = this.createRunner(context);\n\n const output = await runner(input);\n\n const message: Message = new AssistantMessage(output);\n\n return { message };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected createRunner(context: GetRunContext<this>) {\n return async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agentName);\n if (!agent) {\n throw new AgentError(\n `Agent ${this.input.agentName} is not registered in the platform`,\n [],\n {\n isFatal: true,\n },\n );\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agentName,\n input: typeof input.prompt === \"string\" ? { text: input.prompt } : input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null, // This has to be here in order for notifications to work.\n },\n );\n\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n }\n\n get memory() {\n throw new NotImplementedError();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n static createSSEAgent(url: string, agentName: string) {\n return new RemoteAgent({\n client: new MCPClient({\n name: \"remote-agent\",\n version: \"1.0.0\",\n }),\n transport: new SSEClientTransport(new URL(url)),\n agentName: agentName,\n });\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as zod from 'zod';
|
|
2
|
-
import { C as Callback, E as Emitter } from '../../../emitter-
|
|
3
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
2
|
+
import { C as Callback, E as Emitter } from '../../../emitter-BWtGHYn0.cjs';
|
|
3
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-Csr9guq2.cjs';
|
|
4
4
|
import { GetRunContext } from '../../../context.cjs';
|
|
5
5
|
import { Message } from '../../../backend/message.cjs';
|
|
6
6
|
import { BaseMemory } from '../../../memory/base.cjs';
|
|
@@ -20,7 +20,7 @@ import '../../../internals/helpers/promise.cjs';
|
|
|
20
20
|
import 'ai';
|
|
21
21
|
|
|
22
22
|
interface RemoteAgentRunInput {
|
|
23
|
-
prompt:
|
|
23
|
+
prompt: Record<string, unknown> | string;
|
|
24
24
|
}
|
|
25
25
|
interface RemoteAgentRunOutput {
|
|
26
26
|
message: Message;
|
|
@@ -33,7 +33,7 @@ interface RemoteAgentEvents {
|
|
|
33
33
|
interface Input {
|
|
34
34
|
client: Client;
|
|
35
35
|
transport: Transport;
|
|
36
|
-
|
|
36
|
+
agentName: string;
|
|
37
37
|
}
|
|
38
38
|
declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {
|
|
39
39
|
protected readonly input: Input;
|
|
@@ -64,7 +64,7 @@ declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunO
|
|
|
64
64
|
properties: zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>;
|
|
65
65
|
}, zod.ZodTypeAny, "passthrough">>;
|
|
66
66
|
}, zod.ZodTypeAny, "passthrough">[]>;
|
|
67
|
-
protected createRunner(context: GetRunContext<this>):
|
|
67
|
+
protected createRunner(context: GetRunContext<this>): (input: RemoteAgentRunInput) => Promise<string>;
|
|
68
68
|
get memory(): BaseMemory;
|
|
69
69
|
set memory(memory: BaseMemory);
|
|
70
70
|
createSnapshot(): {
|
|
@@ -72,6 +72,7 @@ declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunO
|
|
|
72
72
|
emitter: Emitter<RemoteAgentEvents>;
|
|
73
73
|
isRunning: boolean;
|
|
74
74
|
};
|
|
75
|
+
static createSSEAgent(url: string, agentName: string): RemoteAgent;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
export { RemoteAgent, type RemoteAgentEvents, type RemoteAgentRunInput, type RemoteAgentRunOutput };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as zod from 'zod';
|
|
2
|
-
import { C as Callback, E as Emitter } from '../../../emitter-
|
|
3
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
2
|
+
import { C as Callback, E as Emitter } from '../../../emitter-l0W9gC1A.js';
|
|
3
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-DHhpWHQm.js';
|
|
4
4
|
import { GetRunContext } from '../../../context.js';
|
|
5
5
|
import { Message } from '../../../backend/message.js';
|
|
6
6
|
import { BaseMemory } from '../../../memory/base.js';
|
|
@@ -20,7 +20,7 @@ import '../../../internals/helpers/promise.js';
|
|
|
20
20
|
import 'ai';
|
|
21
21
|
|
|
22
22
|
interface RemoteAgentRunInput {
|
|
23
|
-
prompt:
|
|
23
|
+
prompt: Record<string, unknown> | string;
|
|
24
24
|
}
|
|
25
25
|
interface RemoteAgentRunOutput {
|
|
26
26
|
message: Message;
|
|
@@ -33,7 +33,7 @@ interface RemoteAgentEvents {
|
|
|
33
33
|
interface Input {
|
|
34
34
|
client: Client;
|
|
35
35
|
transport: Transport;
|
|
36
|
-
|
|
36
|
+
agentName: string;
|
|
37
37
|
}
|
|
38
38
|
declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {
|
|
39
39
|
protected readonly input: Input;
|
|
@@ -64,7 +64,7 @@ declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunO
|
|
|
64
64
|
properties: zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>;
|
|
65
65
|
}, zod.ZodTypeAny, "passthrough">>;
|
|
66
66
|
}, zod.ZodTypeAny, "passthrough">[]>;
|
|
67
|
-
protected createRunner(context: GetRunContext<this>):
|
|
67
|
+
protected createRunner(context: GetRunContext<this>): (input: RemoteAgentRunInput) => Promise<string>;
|
|
68
68
|
get memory(): BaseMemory;
|
|
69
69
|
set memory(memory: BaseMemory);
|
|
70
70
|
createSnapshot(): {
|
|
@@ -72,6 +72,7 @@ declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunO
|
|
|
72
72
|
emitter: Emitter<RemoteAgentEvents>;
|
|
73
73
|
isRunning: boolean;
|
|
74
74
|
};
|
|
75
|
+
static createSSEAgent(url: string, agentName: string): RemoteAgent;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
export { RemoteAgent, type RemoteAgentEvents, type RemoteAgentRunInput, type RemoteAgentRunOutput };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Emitter } from '../../../emitter/emitter.js';
|
|
2
2
|
import { BaseAgent, AgentError } from '../../base.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { AssistantMessage } from '../../../backend/message.js';
|
|
4
|
+
import { Client } from '@i-am-bee/acp-sdk/client/index.js';
|
|
5
5
|
import { shallowCopy } from '../../../serializer/utils.js';
|
|
6
6
|
import { NotImplementedError } from '../../../errors.js';
|
|
7
7
|
import { AgentRunProgressNotificationSchema } from '@i-am-bee/acp-sdk/types.js';
|
|
8
|
+
import { SSEClientTransport } from '@i-am-bee/acp-sdk/client/sse.js';
|
|
8
9
|
|
|
9
10
|
var __defProp = Object.defineProperty;
|
|
10
11
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -24,23 +25,19 @@ class RemoteAgent extends BaseAgent {
|
|
|
24
25
|
});
|
|
25
26
|
}
|
|
26
27
|
async _run(input, _options, context) {
|
|
27
|
-
|
|
28
|
-
await this.memory.add(new UserMessage(JSON.stringify(input.prompt, null, 2)));
|
|
29
|
-
}
|
|
30
|
-
const runner = await this.createRunner(context);
|
|
28
|
+
const runner = this.createRunner(context);
|
|
31
29
|
const output = await runner(input);
|
|
32
|
-
const
|
|
33
|
-
await this.memory.add(finalMessage);
|
|
30
|
+
const message = new AssistantMessage(output);
|
|
34
31
|
return {
|
|
35
|
-
message
|
|
32
|
+
message
|
|
36
33
|
};
|
|
37
34
|
}
|
|
38
35
|
async listAgents() {
|
|
39
36
|
const response = await this.input.client.listAgents();
|
|
40
37
|
return response.agents;
|
|
41
38
|
}
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
createRunner(context) {
|
|
40
|
+
return async (input) => {
|
|
44
41
|
try {
|
|
45
42
|
this.input.client.setNotificationHandler(AgentRunProgressNotificationSchema, async (notification) => {
|
|
46
43
|
await context.emitter.emit("update", {
|
|
@@ -58,31 +55,31 @@ class RemoteAgent extends BaseAgent {
|
|
|
58
55
|
});
|
|
59
56
|
}
|
|
60
57
|
const agents = await this.listAgents();
|
|
61
|
-
const agent = agents.find((agent2) => agent2.name === this.input.
|
|
58
|
+
const agent = agents.find((agent2) => agent2.name === this.input.agentName);
|
|
62
59
|
if (!agent) {
|
|
63
|
-
throw new AgentError(`Agent ${this.input.
|
|
60
|
+
throw new AgentError(`Agent ${this.input.agentName} is not registered in the platform`, [], {
|
|
64
61
|
isFatal: true
|
|
65
62
|
});
|
|
66
63
|
}
|
|
67
64
|
const response = await this.input.client.runAgent({
|
|
68
|
-
name: this.input.
|
|
69
|
-
input: input.prompt
|
|
65
|
+
name: this.input.agentName,
|
|
66
|
+
input: typeof input.prompt === "string" ? {
|
|
67
|
+
text: input.prompt
|
|
68
|
+
} : input.prompt
|
|
70
69
|
}, {
|
|
71
70
|
timeout: 1e7,
|
|
72
71
|
signal: context.signal,
|
|
73
72
|
onprogress: /* @__PURE__ */ __name(() => null, "onprogress")
|
|
74
73
|
});
|
|
75
|
-
await this.input.client.close();
|
|
76
74
|
const output = JSON.stringify(response.output, null, 2);
|
|
77
75
|
await context.emitter.emit("update", {
|
|
78
76
|
output
|
|
79
77
|
});
|
|
80
78
|
return output;
|
|
81
|
-
}
|
|
82
|
-
return run;
|
|
79
|
+
};
|
|
83
80
|
}
|
|
84
81
|
get memory() {
|
|
85
|
-
|
|
82
|
+
throw new NotImplementedError();
|
|
86
83
|
}
|
|
87
84
|
set memory(memory) {
|
|
88
85
|
throw new NotImplementedError();
|
|
@@ -94,6 +91,16 @@ class RemoteAgent extends BaseAgent {
|
|
|
94
91
|
emitter: this.emitter
|
|
95
92
|
};
|
|
96
93
|
}
|
|
94
|
+
static createSSEAgent(url, agentName) {
|
|
95
|
+
return new RemoteAgent({
|
|
96
|
+
client: new Client({
|
|
97
|
+
name: "remote-agent",
|
|
98
|
+
version: "1.0.0"
|
|
99
|
+
}),
|
|
100
|
+
transport: new SSEClientTransport(new URL(url)),
|
|
101
|
+
agentName
|
|
102
|
+
});
|
|
103
|
+
}
|
|
97
104
|
}
|
|
98
105
|
|
|
99
106
|
export { RemoteAgent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","
|
|
1
|
+
{"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","runner","createRunner","output","message","AssistantMessage","listAgents","response","client","agents","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","JSON","stringify","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","agentName","runAgent","prompt","text","timeout","signal","onprogress","memory","NotImplementedError","createSnapshot","shallowCopy","createSSEAgent","url","MCPClient","version","SSEClientTransport","URL"],"mappings":"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","file":"agent.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\nimport { SSEClientTransport } from \"@i-am-bee/acp-sdk/client/sse.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: Record<string, unknown> | string;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agentName: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n const runner = this.createRunner(context);\n\n const output = await runner(input);\n\n const message: Message = new AssistantMessage(output);\n\n return { message };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected createRunner(context: GetRunContext<this>) {\n return async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agentName);\n if (!agent) {\n throw new AgentError(\n `Agent ${this.input.agentName} is not registered in the platform`,\n [],\n {\n isFatal: true,\n },\n );\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agentName,\n input: typeof input.prompt === \"string\" ? { text: input.prompt } : input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null, // This has to be here in order for notifications to work.\n },\n );\n\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n }\n\n get memory() {\n throw new NotImplementedError();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n static createSSEAgent(url: string, agentName: string) {\n return new RemoteAgent({\n client: new MCPClient({\n name: \"remote-agent\",\n version: \"1.0.0\",\n }),\n transport: new SSEClientTransport(new URL(url)),\n agentName: agentName,\n });\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as Callback, E as Emitter } from '../../../emitter-
|
|
2
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
1
|
+
import { C as Callback, E as Emitter } from '../../../emitter-BWtGHYn0.cjs';
|
|
2
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-Csr9guq2.cjs';
|
|
3
3
|
import { GetRunContext } from '../../../context.cjs';
|
|
4
4
|
import { Message } from '../../../backend/message.cjs';
|
|
5
5
|
import { RePlanState } from './prompts.cjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as Callback, E as Emitter } from '../../../emitter-
|
|
2
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
1
|
+
import { C as Callback, E as Emitter } from '../../../emitter-l0W9gC1A.js';
|
|
2
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-DHhpWHQm.js';
|
|
3
3
|
import { GetRunContext } from '../../../context.js';
|
|
4
4
|
import { Message } from '../../../backend/message.js';
|
|
5
5
|
import { RePlanState } from './prompts.js';
|
|
@@ -7,7 +7,7 @@ import '../../../internals/types.cjs';
|
|
|
7
7
|
import '../../../internals/helpers/guards.cjs';
|
|
8
8
|
import '../../../internals/serializable.cjs';
|
|
9
9
|
import '../../../context.cjs';
|
|
10
|
-
import '../../../emitter-
|
|
10
|
+
import '../../../emitter-BWtGHYn0.cjs';
|
|
11
11
|
import '../../../internals/helpers/promise.cjs';
|
|
12
12
|
import 'promise-based-task';
|
|
13
13
|
import '../../../cache/base.cjs';
|
|
@@ -7,7 +7,7 @@ import '../../../internals/types.js';
|
|
|
7
7
|
import '../../../internals/helpers/guards.js';
|
|
8
8
|
import '../../../internals/serializable.js';
|
|
9
9
|
import '../../../context.js';
|
|
10
|
-
import '../../../emitter-
|
|
10
|
+
import '../../../emitter-l0W9gC1A.js';
|
|
11
11
|
import '../../../internals/helpers/promise.js';
|
|
12
12
|
import 'promise-based-task';
|
|
13
13
|
import '../../../cache/base.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as BaseAgent, b as AgentMeta, B as BaseAgentRunOptions } from '../../../base-
|
|
1
|
+
import { a as BaseAgent, b as AgentMeta, B as BaseAgentRunOptions } from '../../../base-Csr9guq2.cjs';
|
|
2
2
|
import { GetRunContext } from '../../../context.cjs';
|
|
3
|
-
import { C as Callback, E as Emitter } from '../../../emitter-
|
|
3
|
+
import { C as Callback, E as Emitter } from '../../../emitter-BWtGHYn0.cjs';
|
|
4
4
|
import { BaseMemory } from '../../../memory/base.cjs';
|
|
5
5
|
import { Message, UserMessage } from '../../../backend/message.cjs';
|
|
6
6
|
import { StreamlitAgentTemplates } from './prompts.cjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as BaseAgent, b as AgentMeta, B as BaseAgentRunOptions } from '../../../base-
|
|
1
|
+
import { a as BaseAgent, b as AgentMeta, B as BaseAgentRunOptions } from '../../../base-DHhpWHQm.js';
|
|
2
2
|
import { GetRunContext } from '../../../context.js';
|
|
3
|
-
import { C as Callback, E as Emitter } from '../../../emitter-
|
|
3
|
+
import { C as Callback, E as Emitter } from '../../../emitter-l0W9gC1A.js';
|
|
4
4
|
import { BaseMemory } from '../../../memory/base.js';
|
|
5
5
|
import { Message, UserMessage } from '../../../backend/message.js';
|
|
6
6
|
import { StreamlitAgentTemplates } from './prompts.js';
|
|
@@ -32,9 +32,9 @@ var R__namespace = /*#__PURE__*/_interopNamespace(R);
|
|
|
32
32
|
|
|
33
33
|
var __defProp = Object.defineProperty;
|
|
34
34
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
35
|
-
class
|
|
35
|
+
class ReActAgent extends base_cjs.BaseAgent {
|
|
36
36
|
static {
|
|
37
|
-
__name(this, "
|
|
37
|
+
__name(this, "ReActAgent");
|
|
38
38
|
}
|
|
39
39
|
input;
|
|
40
40
|
emitter;
|
|
@@ -43,7 +43,7 @@ class BeeAgent extends base_cjs.BaseAgent {
|
|
|
43
43
|
super(), this.input = input, this.emitter = emitter_cjs.Emitter.root.child({
|
|
44
44
|
namespace: [
|
|
45
45
|
"agent",
|
|
46
|
-
"
|
|
46
|
+
"react"
|
|
47
47
|
],
|
|
48
48
|
creator: this
|
|
49
49
|
});
|
|
@@ -81,7 +81,7 @@ class BeeAgent extends base_cjs.BaseAgent {
|
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
return {
|
|
84
|
-
name: "
|
|
84
|
+
name: "ReAct",
|
|
85
85
|
tools,
|
|
86
86
|
description: "The Bee framework demonstrates its ability to auto-correct and adapt in real-time, improving the overall reliability and resilience of the system.",
|
|
87
87
|
...tools.length > 0 && {
|
|
@@ -188,6 +188,6 @@ class BeeAgent extends base_cjs.BaseAgent {
|
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
exports.
|
|
191
|
+
exports.ReActAgent = ReActAgent;
|
|
192
192
|
//# sourceMappingURL=agent.cjs.map
|
|
193
193
|
//# sourceMappingURL=agent.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["agent.ts"],"names":["ReActAgent","BaseAgent","emitter","runner","constructor","input","Emitter","root","child","namespace","creator","duplicate","tools","find","a","i","arr","b","j","name","toUpperCase","ValueError","modelId","llm","toLowerCase","tag","GraniteRunner","DeepThinkRunner","includes","DefaultRunner","register","memory","meta","slice","description","length","extraDescription","map","tool","join","_run","options","run","execution","maxRetriesPerStep","totalMaxRetries","maxIterations","init","finalMessage","state","signal","createIteration","tool_name","tool_input","output","success","add","AssistantMessage","templates","assistant","render","thought","filter","R","isTruthy","toolName","toolInput","call","JSON","stringify","toolOutput","finalAnswer","final_answer","assign","tool_output","key","emit","data","update","value","parsedValue","createdAt","Date","iterations","prompt","UserMessage","result","createSnapshot"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n ReActAgentExecutionConfig,\n ReActAgentTemplates,\n ReActAgentCallbacks,\n ReActAgentRunInput,\n ReActAgentRunOptions,\n ReActAgentRunOutput,\n} from \"@/agents/react/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { assign } from \"@/internals/helpers/object.js\";\nimport * as R from \"remeda\";\nimport { BaseRunner } from \"@/agents/react/runners/base.js\";\nimport { GraniteRunner } from \"@/agents/react/runners/granite/runner.js\";\nimport { DeepThinkRunner } from \"@/agents/react/runners/deep-think/runner.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { DefaultRunner } from \"@/agents/react/runners/default/runner.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport type ReActAgentTemplateFactory<K extends keyof ReActAgentTemplates> = (\n template: ReActAgentTemplates[K],\n) => ReActAgentTemplates[K];\n\nexport interface ReActAgentInput {\n llm: ChatModel;\n tools: AnyTool[];\n memory: BaseMemory;\n meta?: Omit<AgentMeta, \"tools\">;\n templates?: Partial<{\n [K in keyof ReActAgentTemplates]: ReActAgentTemplates[K] | ReActAgentTemplateFactory<K>;\n }>;\n execution?: ReActAgentExecutionConfig;\n stream?: boolean;\n}\n\nexport class ReActAgent extends BaseAgent<\n ReActAgentRunInput,\n ReActAgentRunOutput,\n ReActAgentRunOptions\n> {\n public readonly emitter = Emitter.root.child<ReActAgentCallbacks>({\n namespace: [\"agent\", \"react\"],\n creator: this,\n });\n\n protected runner: new (...args: ConstructorParameters<typeof BaseRunner>) => BaseRunner;\n\n constructor(protected readonly input: ReActAgentInput) {\n super();\n\n const duplicate = input.tools.find((a, i, arr) =>\n arr.find((b, j) => i !== j && a.name.toUpperCase() === b.name.toUpperCase()),\n );\n if (duplicate) {\n throw new ValueError(\n `Agent's tools must all have different names. Conflicting tool: ${duplicate.name}.`,\n );\n }\n\n const modelId = this.input.llm.modelId.toLowerCase();\n this.runner =\n [\n { tag: \"granite\", runner: GraniteRunner },\n { tag: \"deepseek-r1\", runner: DeepThinkRunner },\n ].find(({ tag }) => modelId.includes(tag))?.runner ?? DefaultRunner;\n }\n\n static {\n this.register();\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n get memory() {\n return this.input.memory;\n }\n\n get meta(): AgentMeta {\n const tools = this.input.tools.slice();\n\n if (this.input.meta) {\n return { ...this.input.meta, tools };\n }\n\n return {\n name: \"ReAct\",\n tools,\n description:\n \"The Bee framework demonstrates its ability to auto-correct and adapt in real-time, improving the overall reliability and resilience of the system.\",\n ...(tools.length > 0 && {\n extraDescription: [\n `Tools that I can use to accomplish given task.`,\n ...tools.map((tool) => `Tool '${tool.name}': ${tool.description}.`),\n ].join(\"\\n\"),\n }),\n };\n }\n\n protected async _run(\n input: ReActAgentRunInput,\n options: ReActAgentRunOptions = {},\n run: GetRunContext<typeof this>,\n ): Promise<ReActAgentRunOutput> {\n const runner = new this.runner(\n this.input,\n {\n ...options,\n execution: this.input.execution ??\n options?.execution ?? {\n maxRetriesPerStep: 3,\n totalMaxRetries: 20,\n maxIterations: 10,\n },\n },\n run,\n );\n await runner.init(input);\n\n let finalMessage: Message | undefined;\n while (!finalMessage) {\n const { state, meta, emitter, signal } = await runner.createIteration();\n\n if (state.tool_name && state.tool_input) {\n const { output, success } = await runner.tool({\n state,\n emitter,\n meta,\n signal,\n });\n await runner.memory.add(\n new AssistantMessage(\n runner.templates.assistant.render({\n thought: [state.thought].filter(R.isTruthy),\n toolName: [state.tool_name].filter(R.isTruthy),\n toolInput: [state.tool_input].filter(R.isTruthy).map((call) => JSON.stringify(call)),\n toolOutput: [output],\n finalAnswer: [state.final_answer].filter(R.isTruthy),\n }),\n { success },\n ),\n );\n assign(state, { tool_output: output });\n\n for (const key of [\"partialUpdate\", \"update\"] as const) {\n await emitter.emit(key, {\n data: state,\n update: { key: \"tool_output\", value: output, parsedValue: output },\n meta: { success, ...meta },\n memory: runner.memory,\n });\n }\n }\n if (state.final_answer) {\n finalMessage = new AssistantMessage(state.final_answer, {\n createdAt: new Date(),\n });\n await runner.memory.add(finalMessage);\n await emitter.emit(\"success\", {\n data: finalMessage,\n iterations: runner.iterations,\n memory: runner.memory,\n meta,\n });\n }\n }\n\n if (input.prompt !== null) {\n await this.input.memory.add(\n new UserMessage(input.prompt, {\n createdAt: run.createdAt,\n }),\n );\n }\n\n await this.input.memory.add(finalMessage);\n return { result: finalMessage, iterations: runner.iterations, memory: runner.memory };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: this.input,\n emitter: this.emitter,\n runner: this.runner,\n };\n }\n}\n"]}
|