beeai-framework 0.1.17 → 0.1.18
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/dist/adapters/a2a/agents/agent.cjs +296 -0
- package/dist/adapters/a2a/agents/agent.cjs.map +1 -0
- package/dist/adapters/a2a/agents/agent.d.cts +55 -0
- package/dist/adapters/a2a/agents/agent.d.ts +55 -0
- package/dist/adapters/a2a/agents/agent.js +294 -0
- package/dist/adapters/a2a/agents/agent.js.map +1 -0
- package/dist/adapters/a2a/agents/events.cjs +4 -0
- package/dist/adapters/a2a/agents/events.cjs.map +1 -0
- package/dist/adapters/a2a/agents/events.d.cts +23 -0
- package/dist/adapters/a2a/agents/events.d.ts +23 -0
- package/dist/adapters/a2a/agents/events.js +3 -0
- package/dist/adapters/a2a/agents/events.js.map +1 -0
- package/dist/adapters/a2a/agents/types.cjs +4 -0
- package/dist/adapters/a2a/agents/types.cjs.map +1 -0
- package/dist/adapters/a2a/agents/types.d.cts +45 -0
- package/dist/adapters/a2a/agents/types.d.ts +45 -0
- package/dist/adapters/a2a/agents/types.js +3 -0
- package/dist/adapters/a2a/agents/types.js.map +1 -0
- package/dist/adapters/a2a/agents/utils.cjs +41 -0
- package/dist/adapters/a2a/agents/utils.cjs.map +1 -0
- package/dist/adapters/a2a/agents/utils.d.cts +15 -0
- package/dist/adapters/a2a/agents/utils.d.ts +15 -0
- package/dist/adapters/a2a/agents/utils.js +39 -0
- package/dist/adapters/a2a/agents/utils.js.map +1 -0
- package/dist/adapters/a2a/serve/agent_executor.cjs +233 -0
- package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -0
- package/dist/adapters/a2a/serve/agent_executor.d.cts +55 -0
- package/dist/adapters/a2a/serve/agent_executor.d.ts +55 -0
- package/dist/adapters/a2a/serve/agent_executor.js +229 -0
- package/dist/adapters/a2a/serve/agent_executor.js.map +1 -0
- package/dist/adapters/a2a/serve/server.cjs +112 -0
- package/dist/adapters/a2a/serve/server.cjs.map +1 -0
- package/dist/adapters/a2a/serve/server.d.cts +56 -0
- package/dist/adapters/a2a/serve/server.d.ts +56 -0
- package/dist/adapters/a2a/serve/server.js +105 -0
- package/dist/adapters/a2a/serve/server.js.map +1 -0
- package/dist/adapters/acp/agents/agent.d.cts +1 -1
- package/dist/adapters/acp/agents/agent.d.ts +1 -1
- package/dist/adapters/beeai_platform/agents/agent.d.cts +1 -1
- package/dist/adapters/beeai_platform/agents/agent.d.ts +1 -1
- package/dist/adapters/mcp/serve/server.cjs.map +1 -1
- package/dist/adapters/mcp/serve/server.d.cts +2 -2
- package/dist/adapters/mcp/serve/server.d.ts +2 -2
- package/dist/adapters/mcp/serve/server.js.map +1 -1
- package/dist/{agent-Cqh2zuKJ.d.cts → agent-Bhm6xSfI.d.cts} +1 -1
- package/dist/{agent-CUzHyTQd.d.ts → agent-CmCmnEDX.d.ts} +1 -1
- package/dist/agents/base.d.cts +1 -1
- package/dist/agents/base.d.ts +1 -1
- package/dist/agents/experimental/replan/agent.d.cts +1 -1
- package/dist/agents/experimental/replan/agent.d.ts +1 -1
- package/dist/agents/experimental/streamlit/agent.d.cts +1 -1
- package/dist/agents/experimental/streamlit/agent.d.ts +1 -1
- package/dist/agents/react/agent.d.cts +2 -2
- package/dist/agents/react/agent.d.ts +2 -2
- package/dist/agents/react/prompts.d.cts +1 -1
- package/dist/agents/react/prompts.d.ts +1 -1
- package/dist/agents/react/runners/base.d.cts +2 -2
- package/dist/agents/react/runners/base.d.ts +2 -2
- package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -1
- package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
- package/dist/agents/react/runners/deep-think/runner.d.cts +3 -3
- package/dist/agents/react/runners/deep-think/runner.d.ts +3 -3
- package/dist/agents/react/runners/default/runner.d.cts +3 -3
- package/dist/agents/react/runners/default/runner.d.ts +3 -3
- package/dist/agents/react/runners/granite/prompts.d.cts +1 -1
- package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
- package/dist/agents/react/runners/granite/runner.d.cts +3 -3
- package/dist/agents/react/runners/granite/runner.d.ts +3 -3
- package/dist/agents/toolCalling/agent.d.cts +1 -1
- package/dist/agents/toolCalling/agent.d.ts +1 -1
- package/dist/agents/types.d.cts +1 -1
- package/dist/agents/types.d.ts +1 -1
- package/dist/backend/message.cjs.map +1 -1
- package/dist/backend/message.d.cts +1 -1
- package/dist/backend/message.d.ts +1 -1
- package/dist/backend/message.js.map +1 -1
- package/dist/{base-Bc-Xv1jG.d.cts → base-BP7v-NSL.d.cts} +1 -1
- package/dist/{base-BrMAtrc_.d.ts → base-BsY2baWy.d.ts} +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/serve/server.cjs +12 -5
- package/dist/serve/server.cjs.map +1 -1
- package/dist/serve/server.d.cts +4 -3
- package/dist/serve/server.d.ts +4 -3
- package/dist/serve/server.js +12 -5
- package/dist/serve/server.js.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist/workflows/agent.d.cts +38 -38
- package/dist/workflows/agent.d.ts +38 -38
- package/package.json +6 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var server_cjs = require('../../../serve/server.cjs');
|
|
4
|
+
var server = require('@a2a-js/sdk/server');
|
|
5
|
+
var agent_executor_cjs = require('./agent_executor.cjs');
|
|
6
|
+
var sdk = require('@a2a-js/sdk');
|
|
7
|
+
var express = require('@a2a-js/sdk/server/express');
|
|
8
|
+
var express$1 = require('express');
|
|
9
|
+
var agent_cjs = require('../../../agents/toolCalling/agent.cjs');
|
|
10
|
+
var errors_cjs = require('../../../errors.cjs');
|
|
11
|
+
var logger_cjs = require('../../../logger/logger.cjs');
|
|
12
|
+
var agent_cjs$1 = require('../../../agents/react/agent.cjs');
|
|
13
|
+
|
|
14
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
|
|
16
|
+
var express__default = /*#__PURE__*/_interopDefault(express$1);
|
|
17
|
+
|
|
18
|
+
var __defProp = Object.defineProperty;
|
|
19
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
20
|
+
const logger = logger_cjs.Logger.root.child({
|
|
21
|
+
name: "A2A server"
|
|
22
|
+
});
|
|
23
|
+
class A2AServerConfig {
|
|
24
|
+
static {
|
|
25
|
+
__name(this, "A2AServerConfig");
|
|
26
|
+
}
|
|
27
|
+
host = "0.0.0.0";
|
|
28
|
+
port = 9999;
|
|
29
|
+
protocol = "jsonrpc";
|
|
30
|
+
}
|
|
31
|
+
class A2AServer extends server_cjs.Server {
|
|
32
|
+
static {
|
|
33
|
+
__name(this, "A2AServer");
|
|
34
|
+
}
|
|
35
|
+
constructor(config = new A2AServerConfig()) {
|
|
36
|
+
super(config);
|
|
37
|
+
}
|
|
38
|
+
register(input, metadata) {
|
|
39
|
+
if (this.members.length != 0) {
|
|
40
|
+
throw new errors_cjs.ValueError("A2AServer only supports one agent.");
|
|
41
|
+
} else {
|
|
42
|
+
super.register(input, metadata);
|
|
43
|
+
}
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
registerMany(_) {
|
|
47
|
+
throw new errors_cjs.ValueError("RegisterMany is not implemented for A2AServer");
|
|
48
|
+
}
|
|
49
|
+
async serve() {
|
|
50
|
+
if (this.members.length === 0) {
|
|
51
|
+
throw new errors_cjs.ValueError("No agents registered to the server.");
|
|
52
|
+
}
|
|
53
|
+
const member = this.members[0];
|
|
54
|
+
const factory = this.getFactory(member);
|
|
55
|
+
const config = this.metadataByInput.get(member) || {};
|
|
56
|
+
const executor = await factory(member, config);
|
|
57
|
+
const agentCard = this.createAgentCard(config, member);
|
|
58
|
+
const taskStore = config.taskStore || new server.InMemoryTaskStore();
|
|
59
|
+
const requestHandler = new server.DefaultRequestHandler(agentCard, taskStore, executor, config.eventBusManager, config.pushNotificationStore, config.pushNotificationSender);
|
|
60
|
+
const appBuilder = new express.A2AExpressApp(requestHandler);
|
|
61
|
+
const expressApp = appBuilder.setupRoutes(express__default.default());
|
|
62
|
+
expressApp.listen(this.config.port, this.config.host, () => {
|
|
63
|
+
logger.info(`[${agentCard.name}] Server started on http://${this.config.host}:${this.config.port}`);
|
|
64
|
+
logger.info(`[${agentCard.name}] Agent Card: http://${this.config.host}:${this.config.port}/${sdk.AGENT_CARD_PATH}`);
|
|
65
|
+
logger.info(`[${agentCard.name}] Press Ctrl+C to stop the server`);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
createAgentCard(config, agent) {
|
|
69
|
+
return {
|
|
70
|
+
name: config.name || agent.meta.name,
|
|
71
|
+
description: config.description || agent.meta.description,
|
|
72
|
+
url: config.url || `http://${this.config.host}:${this.config.port}`,
|
|
73
|
+
version: config.version || "1.0.0",
|
|
74
|
+
protocolVersion: "0.1.0",
|
|
75
|
+
provider: config.provider,
|
|
76
|
+
defaultInputModes: config.defaultInputModes || [
|
|
77
|
+
"text"
|
|
78
|
+
],
|
|
79
|
+
defaultOutputModes: config.defaultOutputModes || [
|
|
80
|
+
"text",
|
|
81
|
+
"task-status"
|
|
82
|
+
],
|
|
83
|
+
capabilities: config.capabilities || {
|
|
84
|
+
streaming: true,
|
|
85
|
+
pushNotifications: false,
|
|
86
|
+
stateTransitionHistory: false
|
|
87
|
+
},
|
|
88
|
+
skills: config.skills || [
|
|
89
|
+
{
|
|
90
|
+
id: agent.meta.name,
|
|
91
|
+
name: agent.meta.name,
|
|
92
|
+
description: agent.meta.description,
|
|
93
|
+
tags: []
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
supportsAuthenticatedExtendedCard: false
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const toolCallingAgentFactory = /* @__PURE__ */ __name(async (agent, _) => {
|
|
101
|
+
return new agent_executor_cjs.ToolCallingAgentExecutor(agent);
|
|
102
|
+
}, "toolCallingAgentFactory");
|
|
103
|
+
A2AServer.registerFactory(agent_cjs.ToolCallingAgent, toolCallingAgentFactory);
|
|
104
|
+
const ReActAgentFactory = /* @__PURE__ */ __name(async (agent, _) => {
|
|
105
|
+
return new agent_executor_cjs.ReActAgentExecutor(agent);
|
|
106
|
+
}, "ReActAgentFactory");
|
|
107
|
+
A2AServer.registerFactory(agent_cjs$1.ReActAgent, ReActAgentFactory);
|
|
108
|
+
|
|
109
|
+
exports.A2AServer = A2AServer;
|
|
110
|
+
exports.A2AServerConfig = A2AServerConfig;
|
|
111
|
+
//# sourceMappingURL=server.cjs.map
|
|
112
|
+
//# sourceMappingURL=server.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/a2a/serve/server.ts"],"names":["logger","Logger","root","child","name","A2AServerConfig","host","port","protocol","A2AServer","Server","config","register","input","metadata","members","length","ValueError","registerMany","_","serve","member","factory","getFactory","metadataByInput","get","executor","agentCard","createAgentCard","taskStore","InMemoryTaskStore","requestHandler","DefaultRequestHandler","eventBusManager","pushNotificationStore","pushNotificationSender","appBuilder","A2AExpressApp","expressApp","setupRoutes","express","listen","info","AGENT_CARD_PATH","agent","meta","description","url","version","protocolVersion","provider","defaultInputModes","defaultOutputModes","capabilities","streaming","pushNotifications","stateTransitionHistory","skills","id","tags","supportsAuthenticatedExtendedCard","toolCallingAgentFactory","ToolCallingAgentExecutor","registerFactory","ToolCallingAgent","ReActAgentFactory","ReActAgentExecutor","ReActAgent"],"mappings":"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","file":"server.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AnyAgent } from \"@/agents/types.js\";\nimport { Server } from \"@/serve/server.js\";\nimport {\n InMemoryTaskStore,\n TaskStore,\n AgentExecutor,\n DefaultRequestHandler,\n PushNotificationSender,\n ExecutionEventBusManager,\n PushNotificationStore,\n} from \"@a2a-js/sdk/server\";\nimport { ReActAgentExecutor, ToolCallingAgentExecutor } from \"./agent_executor.js\";\nimport {\n AGENT_CARD_PATH,\n AgentCapabilities,\n AgentCard,\n AgentProvider,\n AgentSkill,\n} from \"@a2a-js/sdk\";\nimport { A2AExpressApp } from \"@a2a-js/sdk/server/express\";\nimport express from \"express\";\nimport { ToolCallingAgent } from \"@/agents/toolCalling/agent.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { Logger } from \"@/logger/logger.js\";\nimport { ReActAgent } from \"@/agents/react/agent.js\";\n\nconst logger = Logger.root.child({\n name: \"A2A server\",\n});\n\nexport class A2AServerConfig {\n host = \"0.0.0.0\";\n port = 9999;\n protocol: \"jsonrpc\" = \"jsonrpc\" as const;\n}\n\ninterface A2AServerMetadata {\n name?: string;\n description?: string;\n url?: string;\n version?: string;\n provider?: AgentProvider;\n defaultInputModes?: string[];\n defaultOutputModes?: string[];\n capabilities?: AgentCapabilities;\n skills?: AgentSkill[];\n taskStore?: TaskStore;\n eventBusManager?: ExecutionEventBusManager;\n pushNotificationStore?: PushNotificationStore;\n pushNotificationSender?: PushNotificationSender;\n}\n\nexport class A2AServer extends Server<AnyAgent, AgentExecutor, A2AServerConfig, A2AServerMetadata> {\n constructor(config: A2AServerConfig = new A2AServerConfig()) {\n super(config);\n }\n\n public register(input: AnyAgent, metadata?: A2AServerMetadata) {\n if (this.members.length != 0) {\n throw new ValueError(\"A2AServer only supports one agent.\");\n } else {\n super.register(input, metadata);\n }\n return this;\n }\n\n public registerMany(_: AnyAgent[]): this {\n throw new ValueError(\"RegisterMany is not implemented for A2AServer\");\n }\n\n public async serve(): Promise<void> {\n if (this.members.length === 0) {\n throw new ValueError(\"No agents registered to the server.\");\n }\n\n const member = this.members[0];\n const factory = this.getFactory(member);\n const config = this.metadataByInput.get(member) || {};\n const executor = await factory(member, config);\n const agentCard = this.createAgentCard(config, member);\n\n const taskStore: TaskStore = config.taskStore || new InMemoryTaskStore();\n\n const requestHandler = new DefaultRequestHandler(\n agentCard,\n taskStore,\n executor,\n config.eventBusManager,\n config.pushNotificationStore,\n config.pushNotificationSender,\n );\n\n const appBuilder = new A2AExpressApp(requestHandler);\n const expressApp = appBuilder.setupRoutes(express());\n\n expressApp.listen(this.config.port, this.config.host, () => {\n logger.info(\n `[${agentCard.name}] Server started on http://${this.config.host}:${this.config.port}`,\n );\n logger.info(\n `[${agentCard.name}] Agent Card: http://${this.config.host}:${this.config.port}/${AGENT_CARD_PATH}`,\n );\n logger.info(`[${agentCard.name}] Press Ctrl+C to stop the server`);\n });\n }\n\n private createAgentCard(config: A2AServerMetadata, agent: AnyAgent): AgentCard {\n return {\n name: config.name || agent.meta.name,\n description: config.description || agent.meta.description,\n url: config.url || `http://${this.config.host}:${this.config.port}`,\n version: config.version || \"1.0.0\",\n protocolVersion: \"0.1.0\",\n provider: config.provider,\n defaultInputModes: config.defaultInputModes || [\"text\"],\n defaultOutputModes: config.defaultOutputModes || [\"text\", \"task-status\"],\n capabilities: config.capabilities || {\n streaming: true,\n pushNotifications: false,\n stateTransitionHistory: false,\n },\n skills: config.skills || [\n {\n id: agent.meta.name,\n name: agent.meta.name,\n description: agent.meta.description,\n tags: [],\n },\n ],\n supportsAuthenticatedExtendedCard: false,\n };\n }\n}\n\nconst toolCallingAgentFactory = async (\n agent: AnyAgent,\n _?: A2AServerMetadata,\n): Promise<ToolCallingAgentExecutor> => {\n return new ToolCallingAgentExecutor(agent);\n};\n\nA2AServer.registerFactory(ToolCallingAgent, toolCallingAgentFactory);\n\nconst ReActAgentFactory = async (\n agent: AnyAgent,\n _?: A2AServerMetadata,\n): Promise<ReActAgentExecutor> => {\n return new ReActAgentExecutor(agent);\n};\n\nA2AServer.registerFactory(ReActAgent, ReActAgentFactory);\n"]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { c as AnyAgent } from '../../../base-BP7v-NSL.cjs';
|
|
2
|
+
import { Server } from '../../../serve/server.cjs';
|
|
3
|
+
import { AgentExecutor, TaskStore, ExecutionEventBusManager, PushNotificationStore, PushNotificationSender } from '@a2a-js/sdk/server';
|
|
4
|
+
import { AgentProvider, AgentCapabilities, AgentSkill } from '@a2a-js/sdk';
|
|
5
|
+
import '../../../context.cjs';
|
|
6
|
+
import '../../../emitter-DWEsd-ud.cjs';
|
|
7
|
+
import '../../../internals/types.cjs';
|
|
8
|
+
import '../../../internals/helpers/guards.cjs';
|
|
9
|
+
import '../../../internals/serializable.cjs';
|
|
10
|
+
import '../../../internals/helpers/promise.cjs';
|
|
11
|
+
import '../../../errors.cjs';
|
|
12
|
+
import '../../../memory/base.cjs';
|
|
13
|
+
import '../../../backend/message.cjs';
|
|
14
|
+
import 'ai';
|
|
15
|
+
import '../../../tools/base.cjs';
|
|
16
|
+
import 'ajv';
|
|
17
|
+
import 'promise-based-task';
|
|
18
|
+
import '../../../cache/base.cjs';
|
|
19
|
+
import '../../../internals/helpers/schema.cjs';
|
|
20
|
+
import 'zod';
|
|
21
|
+
import 'zod-to-json-schema';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
25
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
declare class A2AServerConfig {
|
|
29
|
+
host: string;
|
|
30
|
+
port: number;
|
|
31
|
+
protocol: "jsonrpc";
|
|
32
|
+
}
|
|
33
|
+
interface A2AServerMetadata {
|
|
34
|
+
name?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
url?: string;
|
|
37
|
+
version?: string;
|
|
38
|
+
provider?: AgentProvider;
|
|
39
|
+
defaultInputModes?: string[];
|
|
40
|
+
defaultOutputModes?: string[];
|
|
41
|
+
capabilities?: AgentCapabilities;
|
|
42
|
+
skills?: AgentSkill[];
|
|
43
|
+
taskStore?: TaskStore;
|
|
44
|
+
eventBusManager?: ExecutionEventBusManager;
|
|
45
|
+
pushNotificationStore?: PushNotificationStore;
|
|
46
|
+
pushNotificationSender?: PushNotificationSender;
|
|
47
|
+
}
|
|
48
|
+
declare class A2AServer extends Server<AnyAgent, AgentExecutor, A2AServerConfig, A2AServerMetadata> {
|
|
49
|
+
constructor(config?: A2AServerConfig);
|
|
50
|
+
register(input: AnyAgent, metadata?: A2AServerMetadata): this;
|
|
51
|
+
registerMany(_: AnyAgent[]): this;
|
|
52
|
+
serve(): Promise<void>;
|
|
53
|
+
private createAgentCard;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { A2AServer, A2AServerConfig };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { c as AnyAgent } from '../../../base-BsY2baWy.js';
|
|
2
|
+
import { Server } from '../../../serve/server.js';
|
|
3
|
+
import { AgentExecutor, TaskStore, ExecutionEventBusManager, PushNotificationStore, PushNotificationSender } from '@a2a-js/sdk/server';
|
|
4
|
+
import { AgentProvider, AgentCapabilities, AgentSkill } from '@a2a-js/sdk';
|
|
5
|
+
import '../../../context.js';
|
|
6
|
+
import '../../../emitter-C9nwGLt6.js';
|
|
7
|
+
import '../../../internals/types.js';
|
|
8
|
+
import '../../../internals/helpers/guards.js';
|
|
9
|
+
import '../../../internals/serializable.js';
|
|
10
|
+
import '../../../internals/helpers/promise.js';
|
|
11
|
+
import '../../../errors.js';
|
|
12
|
+
import '../../../memory/base.js';
|
|
13
|
+
import '../../../backend/message.js';
|
|
14
|
+
import 'ai';
|
|
15
|
+
import '../../../tools/base.js';
|
|
16
|
+
import 'ajv';
|
|
17
|
+
import 'promise-based-task';
|
|
18
|
+
import '../../../cache/base.js';
|
|
19
|
+
import '../../../internals/helpers/schema.js';
|
|
20
|
+
import 'zod';
|
|
21
|
+
import 'zod-to-json-schema';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Copyright 2025 © BeeAI a Series of LF Projects, LLC
|
|
25
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
declare class A2AServerConfig {
|
|
29
|
+
host: string;
|
|
30
|
+
port: number;
|
|
31
|
+
protocol: "jsonrpc";
|
|
32
|
+
}
|
|
33
|
+
interface A2AServerMetadata {
|
|
34
|
+
name?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
url?: string;
|
|
37
|
+
version?: string;
|
|
38
|
+
provider?: AgentProvider;
|
|
39
|
+
defaultInputModes?: string[];
|
|
40
|
+
defaultOutputModes?: string[];
|
|
41
|
+
capabilities?: AgentCapabilities;
|
|
42
|
+
skills?: AgentSkill[];
|
|
43
|
+
taskStore?: TaskStore;
|
|
44
|
+
eventBusManager?: ExecutionEventBusManager;
|
|
45
|
+
pushNotificationStore?: PushNotificationStore;
|
|
46
|
+
pushNotificationSender?: PushNotificationSender;
|
|
47
|
+
}
|
|
48
|
+
declare class A2AServer extends Server<AnyAgent, AgentExecutor, A2AServerConfig, A2AServerMetadata> {
|
|
49
|
+
constructor(config?: A2AServerConfig);
|
|
50
|
+
register(input: AnyAgent, metadata?: A2AServerMetadata): this;
|
|
51
|
+
registerMany(_: AnyAgent[]): this;
|
|
52
|
+
serve(): Promise<void>;
|
|
53
|
+
private createAgentCard;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { A2AServer, A2AServerConfig };
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Server } from '../../../serve/server.js';
|
|
2
|
+
import { InMemoryTaskStore, DefaultRequestHandler } from '@a2a-js/sdk/server';
|
|
3
|
+
import { ToolCallingAgentExecutor, ReActAgentExecutor } from './agent_executor.js';
|
|
4
|
+
import { AGENT_CARD_PATH } from '@a2a-js/sdk';
|
|
5
|
+
import { A2AExpressApp } from '@a2a-js/sdk/server/express';
|
|
6
|
+
import express from 'express';
|
|
7
|
+
import { ToolCallingAgent } from '../../../agents/toolCalling/agent.js';
|
|
8
|
+
import { ValueError } from '../../../errors.js';
|
|
9
|
+
import { Logger } from '../../../logger/logger.js';
|
|
10
|
+
import { ReActAgent } from '../../../agents/react/agent.js';
|
|
11
|
+
|
|
12
|
+
var __defProp = Object.defineProperty;
|
|
13
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
14
|
+
const logger = Logger.root.child({
|
|
15
|
+
name: "A2A server"
|
|
16
|
+
});
|
|
17
|
+
class A2AServerConfig {
|
|
18
|
+
static {
|
|
19
|
+
__name(this, "A2AServerConfig");
|
|
20
|
+
}
|
|
21
|
+
host = "0.0.0.0";
|
|
22
|
+
port = 9999;
|
|
23
|
+
protocol = "jsonrpc";
|
|
24
|
+
}
|
|
25
|
+
class A2AServer extends Server {
|
|
26
|
+
static {
|
|
27
|
+
__name(this, "A2AServer");
|
|
28
|
+
}
|
|
29
|
+
constructor(config = new A2AServerConfig()) {
|
|
30
|
+
super(config);
|
|
31
|
+
}
|
|
32
|
+
register(input, metadata) {
|
|
33
|
+
if (this.members.length != 0) {
|
|
34
|
+
throw new ValueError("A2AServer only supports one agent.");
|
|
35
|
+
} else {
|
|
36
|
+
super.register(input, metadata);
|
|
37
|
+
}
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
registerMany(_) {
|
|
41
|
+
throw new ValueError("RegisterMany is not implemented for A2AServer");
|
|
42
|
+
}
|
|
43
|
+
async serve() {
|
|
44
|
+
if (this.members.length === 0) {
|
|
45
|
+
throw new ValueError("No agents registered to the server.");
|
|
46
|
+
}
|
|
47
|
+
const member = this.members[0];
|
|
48
|
+
const factory = this.getFactory(member);
|
|
49
|
+
const config = this.metadataByInput.get(member) || {};
|
|
50
|
+
const executor = await factory(member, config);
|
|
51
|
+
const agentCard = this.createAgentCard(config, member);
|
|
52
|
+
const taskStore = config.taskStore || new InMemoryTaskStore();
|
|
53
|
+
const requestHandler = new DefaultRequestHandler(agentCard, taskStore, executor, config.eventBusManager, config.pushNotificationStore, config.pushNotificationSender);
|
|
54
|
+
const appBuilder = new A2AExpressApp(requestHandler);
|
|
55
|
+
const expressApp = appBuilder.setupRoutes(express());
|
|
56
|
+
expressApp.listen(this.config.port, this.config.host, () => {
|
|
57
|
+
logger.info(`[${agentCard.name}] Server started on http://${this.config.host}:${this.config.port}`);
|
|
58
|
+
logger.info(`[${agentCard.name}] Agent Card: http://${this.config.host}:${this.config.port}/${AGENT_CARD_PATH}`);
|
|
59
|
+
logger.info(`[${agentCard.name}] Press Ctrl+C to stop the server`);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
createAgentCard(config, agent) {
|
|
63
|
+
return {
|
|
64
|
+
name: config.name || agent.meta.name,
|
|
65
|
+
description: config.description || agent.meta.description,
|
|
66
|
+
url: config.url || `http://${this.config.host}:${this.config.port}`,
|
|
67
|
+
version: config.version || "1.0.0",
|
|
68
|
+
protocolVersion: "0.1.0",
|
|
69
|
+
provider: config.provider,
|
|
70
|
+
defaultInputModes: config.defaultInputModes || [
|
|
71
|
+
"text"
|
|
72
|
+
],
|
|
73
|
+
defaultOutputModes: config.defaultOutputModes || [
|
|
74
|
+
"text",
|
|
75
|
+
"task-status"
|
|
76
|
+
],
|
|
77
|
+
capabilities: config.capabilities || {
|
|
78
|
+
streaming: true,
|
|
79
|
+
pushNotifications: false,
|
|
80
|
+
stateTransitionHistory: false
|
|
81
|
+
},
|
|
82
|
+
skills: config.skills || [
|
|
83
|
+
{
|
|
84
|
+
id: agent.meta.name,
|
|
85
|
+
name: agent.meta.name,
|
|
86
|
+
description: agent.meta.description,
|
|
87
|
+
tags: []
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
supportsAuthenticatedExtendedCard: false
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const toolCallingAgentFactory = /* @__PURE__ */ __name(async (agent, _) => {
|
|
95
|
+
return new ToolCallingAgentExecutor(agent);
|
|
96
|
+
}, "toolCallingAgentFactory");
|
|
97
|
+
A2AServer.registerFactory(ToolCallingAgent, toolCallingAgentFactory);
|
|
98
|
+
const ReActAgentFactory = /* @__PURE__ */ __name(async (agent, _) => {
|
|
99
|
+
return new ReActAgentExecutor(agent);
|
|
100
|
+
}, "ReActAgentFactory");
|
|
101
|
+
A2AServer.registerFactory(ReActAgent, ReActAgentFactory);
|
|
102
|
+
|
|
103
|
+
export { A2AServer, A2AServerConfig };
|
|
104
|
+
//# sourceMappingURL=server.js.map
|
|
105
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/a2a/serve/server.ts"],"names":["logger","Logger","root","child","name","A2AServerConfig","host","port","protocol","A2AServer","Server","config","register","input","metadata","members","length","ValueError","registerMany","_","serve","member","factory","getFactory","metadataByInput","get","executor","agentCard","createAgentCard","taskStore","InMemoryTaskStore","requestHandler","DefaultRequestHandler","eventBusManager","pushNotificationStore","pushNotificationSender","appBuilder","A2AExpressApp","expressApp","setupRoutes","express","listen","info","AGENT_CARD_PATH","agent","meta","description","url","version","protocolVersion","provider","defaultInputModes","defaultOutputModes","capabilities","streaming","pushNotifications","stateTransitionHistory","skills","id","tags","supportsAuthenticatedExtendedCard","toolCallingAgentFactory","ToolCallingAgentExecutor","registerFactory","ToolCallingAgent","ReActAgentFactory","ReActAgentExecutor","ReActAgent"],"mappings":";;;;;;;;;;;;;AA+BA,MAAMA,MAAAA,GAASC,MAAAA,CAAOC,IAAAA,CAAKC,KAAAA,CAAM;EAC/BC,IAAAA,EAAM;AACR,CAAA,CAAA;AAEO,MAAMC,eAAAA,CAAAA;EAnCb;;;EAoCEC,IAAAA,GAAO,SAAA;EACPC,IAAAA,GAAO,IAAA;EACPC,QAAAA,GAAsB,SAAA;AACxB;AAkBO,MAAMC,kBAAkBC,MAAAA,CAAAA;EAzD/B;;;EA0DE,WAAA,CAAYC,MAAAA,GAA0B,IAAIN,eAAAA,EAAAA,EAAmB;AAC3D,IAAA,KAAA,CAAMM,MAAAA,CAAAA;AACR;AAEOC,EAAAA,QAAAA,CAASC,OAAiBC,QAAAA,EAA8B;AAC7D,IAAA,IAAI,IAAA,CAAKC,OAAAA,CAAQC,MAAAA,IAAU,CAAA,EAAG;AAC5B,MAAA,MAAM,IAAIC,WAAW,oCAAA,CAAA;KACvB,MAAO;AACL,MAAA,KAAA,CAAML,QAAAA,CAASC,OAAOC,QAAAA,CAAAA;AACxB;AACA,IAAA,OAAO,IAAA;AACT;AAEOI,EAAAA,YAAAA,CAAaC,CAAAA,EAAqB;AACvC,IAAA,MAAM,IAAIF,WAAW,+CAAA,CAAA;AACvB;AAEA,EAAA,MAAaG,KAAAA,GAAuB;AAClC,IAAA,IAAI,IAAA,CAAKL,OAAAA,CAAQC,MAAAA,KAAW,CAAA,EAAG;AAC7B,MAAA,MAAM,IAAIC,WAAW,qCAAA,CAAA;AACvB;AAEA,IAAA,MAAMI,MAAAA,GAAS,IAAA,CAAKN,OAAAA,CAAQ,CAAA,CAAA;AAC5B,IAAA,MAAMO,OAAAA,GAAU,IAAA,CAAKC,UAAAA,CAAWF,MAAAA,CAAAA;AAChC,IAAA,MAAMV,SAAS,IAAA,CAAKa,eAAAA,CAAgBC,GAAAA,CAAIJ,MAAAA,KAAW,EAAC;AACpD,IAAA,MAAMK,QAAAA,GAAW,MAAMJ,OAAAA,CAAQD,MAAAA,EAAQV,MAAAA,CAAAA;AACvC,IAAA,MAAMgB,SAAAA,GAAY,IAAA,CAAKC,eAAAA,CAAgBjB,MAAAA,EAAQU,MAAAA,CAAAA;AAE/C,IAAA,MAAMQ,SAAAA,GAAuBlB,MAAAA,CAAOkB,SAAAA,IAAa,IAAIC,iBAAAA,EAAAA;AAErD,IAAA,MAAMC,cAAAA,GAAiB,IAAIC,qBAAAA,CACzBL,SAAAA,EACAE,SAAAA,EACAH,QAAAA,EACAf,MAAAA,CAAOsB,eAAAA,EACPtB,MAAAA,CAAOuB,qBAAAA,EACPvB,MAAAA,CAAOwB,sBAAsB,CAAA;AAG/B,IAAA,MAAMC,UAAAA,GAAa,IAAIC,aAAAA,CAAcN,cAAAA,CAAAA;AACrC,IAAA,MAAMO,UAAAA,GAAaF,UAAAA,CAAWG,WAAAA,CAAYC,OAAAA,EAAAA,CAAAA;AAE1CF,IAAAA,UAAAA,CAAWG,OAAO,IAAA,CAAK9B,MAAAA,CAAOJ,MAAM,IAAA,CAAKI,MAAAA,CAAOL,MAAM,MAAA;AACpDN,MAAAA,MAAAA,CAAO0C,IAAAA,CACL,CAAA,CAAA,EAAIf,SAAAA,CAAUvB,IAAI,CAAA,2BAAA,EAA8B,IAAA,CAAKO,MAAAA,CAAOL,IAAI,CAAA,CAAA,EAAI,IAAA,CAAKK,MAAAA,CAAOJ,IAAI,CAAA,CAAE,CAAA;AAExFP,MAAAA,MAAAA,CAAO0C,IAAAA,CACL,CAAA,CAAA,EAAIf,SAAAA,CAAUvB,IAAI,wBAAwB,IAAA,CAAKO,MAAAA,CAAOL,IAAI,CAAA,CAAA,EAAI,IAAA,CAAKK,MAAAA,CAAOJ,IAAI,CAAA,CAAA,EAAIoC,eAAAA,CAAAA,CAAiB,CAAA;AAErG3C,MAAAA,MAAAA,CAAO0C,IAAAA,CAAK,CAAA,CAAA,EAAIf,SAAAA,CAAUvB,IAAI,CAAA,iCAAA,CAAmC,CAAA;KACnE,CAAA;AACF;AAEQwB,EAAAA,eAAAA,CAAgBjB,QAA2BiC,KAAAA,EAA4B;AAC7E,IAAA,OAAO;MACLxC,IAAAA,EAAMO,MAAAA,CAAOP,IAAAA,IAAQwC,KAAAA,CAAMC,IAAAA,CAAKzC,IAAAA;MAChC0C,WAAAA,EAAanC,MAAAA,CAAOmC,WAAAA,IAAeF,KAAAA,CAAMC,IAAAA,CAAKC,WAAAA;MAC9CC,GAAAA,EAAKpC,MAAAA,CAAOoC,OAAO,CAAA,OAAA,EAAU,IAAA,CAAKpC,OAAOL,IAAI,CAAA,CAAA,EAAI,IAAA,CAAKK,MAAAA,CAAOJ,IAAI,CAAA,CAAA;AACjEyC,MAAAA,OAAAA,EAASrC,OAAOqC,OAAAA,IAAW,OAAA;MAC3BC,eAAAA,EAAiB,OAAA;AACjBC,MAAAA,QAAAA,EAAUvC,MAAAA,CAAOuC,QAAAA;AACjBC,MAAAA,iBAAAA,EAAmBxC,OAAOwC,iBAAAA,IAAqB;AAAC,QAAA;;AAChDC,MAAAA,kBAAAA,EAAoBzC,OAAOyC,kBAAAA,IAAsB;AAAC,QAAA,MAAA;AAAQ,QAAA;;AAC1DC,MAAAA,YAAAA,EAAc1C,OAAO0C,YAAAA,IAAgB;QACnCC,SAAAA,EAAW,IAAA;QACXC,iBAAAA,EAAmB,KAAA;QACnBC,sBAAAA,EAAwB;AAC1B,OAAA;AACAC,MAAAA,MAAAA,EAAQ9C,OAAO8C,MAAAA,IAAU;AACvB,QAAA;AACEC,UAAAA,EAAAA,EAAId,MAAMC,IAAAA,CAAKzC,IAAAA;AACfA,UAAAA,IAAAA,EAAMwC,MAAMC,IAAAA,CAAKzC,IAAAA;AACjB0C,UAAAA,WAAAA,EAAaF,MAAMC,IAAAA,CAAKC,WAAAA;AACxBa,UAAAA,IAAAA,EAAM;AACR;;MAEFC,iCAAAA,EAAmC;AACrC,KAAA;AACF;AACF;AAEA,MAAMC,uBAAAA,mBAA0B,MAAA,CAAA,OAC9BjB,KAAAA,EACAzB,CAAAA,KAAAA;AAEA,EAAA,OAAO,IAAI2C,yBAAyBlB,KAAAA,CAAAA;AACtC,CAAA,EALgC,yBAAA,CAAA;AAOhCnC,SAAAA,CAAUsD,eAAAA,CAAgBC,kBAAkBH,uBAAAA,CAAAA;AAE5C,MAAMI,iBAAAA,mBAAoB,MAAA,CAAA,OACxBrB,KAAAA,EACAzB,CAAAA,KAAAA;AAEA,EAAA,OAAO,IAAI+C,mBAAmBtB,KAAAA,CAAAA;AAChC,CAAA,EAL0B,mBAAA,CAAA;AAO1BnC,SAAAA,CAAUsD,eAAAA,CAAgBI,YAAYF,iBAAAA,CAAAA","file":"server.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AnyAgent } from \"@/agents/types.js\";\nimport { Server } from \"@/serve/server.js\";\nimport {\n InMemoryTaskStore,\n TaskStore,\n AgentExecutor,\n DefaultRequestHandler,\n PushNotificationSender,\n ExecutionEventBusManager,\n PushNotificationStore,\n} from \"@a2a-js/sdk/server\";\nimport { ReActAgentExecutor, ToolCallingAgentExecutor } from \"./agent_executor.js\";\nimport {\n AGENT_CARD_PATH,\n AgentCapabilities,\n AgentCard,\n AgentProvider,\n AgentSkill,\n} from \"@a2a-js/sdk\";\nimport { A2AExpressApp } from \"@a2a-js/sdk/server/express\";\nimport express from \"express\";\nimport { ToolCallingAgent } from \"@/agents/toolCalling/agent.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { Logger } from \"@/logger/logger.js\";\nimport { ReActAgent } from \"@/agents/react/agent.js\";\n\nconst logger = Logger.root.child({\n name: \"A2A server\",\n});\n\nexport class A2AServerConfig {\n host = \"0.0.0.0\";\n port = 9999;\n protocol: \"jsonrpc\" = \"jsonrpc\" as const;\n}\n\ninterface A2AServerMetadata {\n name?: string;\n description?: string;\n url?: string;\n version?: string;\n provider?: AgentProvider;\n defaultInputModes?: string[];\n defaultOutputModes?: string[];\n capabilities?: AgentCapabilities;\n skills?: AgentSkill[];\n taskStore?: TaskStore;\n eventBusManager?: ExecutionEventBusManager;\n pushNotificationStore?: PushNotificationStore;\n pushNotificationSender?: PushNotificationSender;\n}\n\nexport class A2AServer extends Server<AnyAgent, AgentExecutor, A2AServerConfig, A2AServerMetadata> {\n constructor(config: A2AServerConfig = new A2AServerConfig()) {\n super(config);\n }\n\n public register(input: AnyAgent, metadata?: A2AServerMetadata) {\n if (this.members.length != 0) {\n throw new ValueError(\"A2AServer only supports one agent.\");\n } else {\n super.register(input, metadata);\n }\n return this;\n }\n\n public registerMany(_: AnyAgent[]): this {\n throw new ValueError(\"RegisterMany is not implemented for A2AServer\");\n }\n\n public async serve(): Promise<void> {\n if (this.members.length === 0) {\n throw new ValueError(\"No agents registered to the server.\");\n }\n\n const member = this.members[0];\n const factory = this.getFactory(member);\n const config = this.metadataByInput.get(member) || {};\n const executor = await factory(member, config);\n const agentCard = this.createAgentCard(config, member);\n\n const taskStore: TaskStore = config.taskStore || new InMemoryTaskStore();\n\n const requestHandler = new DefaultRequestHandler(\n agentCard,\n taskStore,\n executor,\n config.eventBusManager,\n config.pushNotificationStore,\n config.pushNotificationSender,\n );\n\n const appBuilder = new A2AExpressApp(requestHandler);\n const expressApp = appBuilder.setupRoutes(express());\n\n expressApp.listen(this.config.port, this.config.host, () => {\n logger.info(\n `[${agentCard.name}] Server started on http://${this.config.host}:${this.config.port}`,\n );\n logger.info(\n `[${agentCard.name}] Agent Card: http://${this.config.host}:${this.config.port}/${AGENT_CARD_PATH}`,\n );\n logger.info(`[${agentCard.name}] Press Ctrl+C to stop the server`);\n });\n }\n\n private createAgentCard(config: A2AServerMetadata, agent: AnyAgent): AgentCard {\n return {\n name: config.name || agent.meta.name,\n description: config.description || agent.meta.description,\n url: config.url || `http://${this.config.host}:${this.config.port}`,\n version: config.version || \"1.0.0\",\n protocolVersion: \"0.1.0\",\n provider: config.provider,\n defaultInputModes: config.defaultInputModes || [\"text\"],\n defaultOutputModes: config.defaultOutputModes || [\"text\", \"task-status\"],\n capabilities: config.capabilities || {\n streaming: true,\n pushNotifications: false,\n stateTransitionHistory: false,\n },\n skills: config.skills || [\n {\n id: agent.meta.name,\n name: agent.meta.name,\n description: agent.meta.description,\n tags: [],\n },\n ],\n supportsAuthenticatedExtendedCard: false,\n };\n }\n}\n\nconst toolCallingAgentFactory = async (\n agent: AnyAgent,\n _?: A2AServerMetadata,\n): Promise<ToolCallingAgentExecutor> => {\n return new ToolCallingAgentExecutor(agent);\n};\n\nA2AServer.registerFactory(ToolCallingAgent, toolCallingAgentFactory);\n\nconst ReActAgentFactory = async (\n agent: AnyAgent,\n _?: A2AServerMetadata,\n): Promise<ReActAgentExecutor> => {\n return new ReActAgentExecutor(agent);\n};\n\nA2AServer.registerFactory(ReActAgent, ReActAgentFactory);\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { E as Emitter } from '../../../emitter-DWEsd-ud.cjs';
|
|
2
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
2
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BP7v-NSL.cjs';
|
|
3
3
|
import { GetRunContext } from '../../../context.cjs';
|
|
4
4
|
import { Message } from '../../../backend/message.cjs';
|
|
5
5
|
import { BaseMemory } from '../../../memory/base.cjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { E as Emitter } from '../../../emitter-C9nwGLt6.js';
|
|
2
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
2
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BsY2baWy.js';
|
|
3
3
|
import { GetRunContext } from '../../../context.js';
|
|
4
4
|
import { Message } from '../../../backend/message.js';
|
|
5
5
|
import { BaseMemory } from '../../../memory/base.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ACPAgentEvents } from '../../acp/agents/events.cjs';
|
|
2
2
|
import { ACPAgentInput } from '../../acp/agents/types.cjs';
|
|
3
3
|
import { E as Emitter } from '../../../emitter-DWEsd-ud.cjs';
|
|
4
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
4
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BP7v-NSL.cjs';
|
|
5
5
|
import { GetRunContext } from '../../../context.cjs';
|
|
6
6
|
import { BaseMemory } from '../../../memory/base.cjs';
|
|
7
7
|
import { BeeAIPlatformAgentRunInput, BeeAIPlatformAgentRunOutput, BeeAIPlatformAgentInput } from './types.cjs';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ACPAgentEvents } from '../../acp/agents/events.js';
|
|
2
2
|
import { ACPAgentInput } from '../../acp/agents/types.js';
|
|
3
3
|
import { E as Emitter } from '../../../emitter-C9nwGLt6.js';
|
|
4
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
4
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BsY2baWy.js';
|
|
5
5
|
import { GetRunContext } from '../../../context.js';
|
|
6
6
|
import { BaseMemory } from '../../../memory/base.js';
|
|
7
7
|
import { BeeAIPlatformAgentRunInput, BeeAIPlatformAgentRunOutput, BeeAIPlatformAgentInput } from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/mcp/serve/server.ts"],"names":["MCPServerConfig","transport","hostname","port","name","version","settings","partial","Object","assign","MCPServer","Server","server","config","McpServer","serve","member","members","factory","getFactory","entry","type","tool","description","paramsSchema","callback","prompt","argsSchema","resource","uri","template","ValueError","runServer","connect","StdioServerTransport","factories","has","Tool","get","toolFactory","schema","inputSchema","ZodType","shape","args","result","run","content","text","getTextContent","registerFactory"],"mappings":"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","file":"server.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueError } from \"@/errors.js\";\nimport { Server } from \"@/serve/server.js\";\nimport { ServerOptions } from \"@modelcontextprotocol/sdk/server/index.js\";\nimport {\n McpServer,\n PromptCallback,\n ReadResourceCallback,\n ReadResourceTemplateCallback,\n ResourceTemplate,\n ToolCallback,\n} from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { runServer } from \"./http_server.js\";\nimport { ZodRawShape, ZodType } from \"zod\";\nimport { ToolAnnotations } from \"@modelcontextprotocol/sdk/types.js\";\n\ntype MCPServerPrompt =\n | {\n type: \"prompt\";\n name: string;\n description: string;\n callback: PromptCallback;\n }\n | {\n type: \"prompt\";\n name: string;\n description: string;\n argsSchema: ZodRawShape;\n callback: PromptCallback<ZodRawShape>;\n };\n\ntype MCPServerResource =\n | {\n type: \"resource\";\n name: string;\n uri: string;\n callback: ReadResourceCallback;\n }\n | {\n type: \"resource\";\n name: string;\n template: ResourceTemplate;\n callback: ReadResourceTemplateCallback;\n };\n\ninterface MCPServerTool {\n type: \"tool\";\n name: string;\n description: string;\n paramsSchema: ZodRawShape | ToolAnnotations;\n callback: ToolCallback<ZodRawShape>;\n}\n\ntype MCPServerEntry = MCPServerPrompt | MCPServerResource | MCPServerTool;\n\n// Configuration for the MCPServer.\nexport class MCPServerConfig {\n transport: \"stdio\" | \"sse\" = \"stdio\";\n hostname = \"127.0.0.1\";\n port = 3000;\n name = \"MCP Server\";\n version = \"1.0.0\";\n settings?: ServerOptions;\n\n constructor(partial?: Partial<MCPServerConfig>) {\n if (partial) {\n Object.assign(this, partial);\n }\n }\n}\n\nexport class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig> {\n protected server: McpServer;\n\n constructor(config?: MCPServerConfig) {\n super(config || new MCPServerConfig());\n this.server = new McpServer({\n name: this.config.name,\n version: this.config.version,\n ...this.config.settings,\n });\n }\n\n async serve() {\n for (const member of this.members) {\n const factory = this.getFactory(member);\n const entry = await factory(member);\n\n switch (entry.type) {\n case \"tool\":\n this.server.tool(entry.name, entry.description, entry.paramsSchema, entry.callback);\n break;\n case \"prompt\":\n if (\"argsSchema\" in entry) {\n this.server.prompt(entry.name, entry.description, entry.argsSchema, entry.callback);\n } else {\n this.server.prompt(entry.name, entry.description, entry.callback);\n }\n break;\n case \"resource\":\n if (\"uri\" in entry) {\n this.server.resource(entry.name, entry.uri, entry.callback);\n } else {\n this.server.resource(entry.name, entry.template, entry.callback);\n }\n break;\n default:\n throw new ValueError(\"Input type is not supported by this server.\");\n }\n }\n\n if (this.config.transport === \"sse\") {\n runServer(this.server, this.config.hostname, this.config.port);\n } else {\n await this.server.connect(new StdioServerTransport());\n }\n }\n\n getFactory(member: any) {\n const factories = (this.constructor as typeof Server).factories;\n return !factories.has(member.constructor) && member instanceof Tool && factories.has(Tool)\n ? factories.get(Tool)!\n : super.getFactory(member);\n }\n}\n\nasync function toolFactory(tool: AnyTool): Promise<MCPServerEntry> {\n const schema = await tool.inputSchema();\n if (!(schema instanceof ZodType)) {\n throw new ValueError(\"JsonSchema is not supported for MCP tools.\");\n }\n const paramsSchema = schema.shape;\n return {\n type: \"tool\",\n name: tool.name,\n description: tool.description,\n paramsSchema: paramsSchema,\n callback: async (...args: Parameters<typeof tool.run>) => {\n const result = await tool.run(...args);\n return {\n content: [\n {\n type: \"text\",\n text: result.getTextContent(),\n },\n ],\n };\n },\n };\n}\n\nMCPServer.registerFactory(Tool, toolFactory);\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/mcp/serve/server.ts"],"names":["MCPServerConfig","transport","hostname","port","name","version","settings","partial","Object","assign","MCPServer","Server","server","config","McpServer","serve","member","members","factory","getFactory","entry","type","tool","description","paramsSchema","callback","prompt","argsSchema","resource","uri","template","ValueError","runServer","connect","StdioServerTransport","factories","has","Tool","get","toolFactory","schema","inputSchema","ZodType","shape","args","result","run","content","text","getTextContent","registerFactory"],"mappings":"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","file":"server.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueError } from \"@/errors.js\";\nimport { Server } from \"@/serve/server.js\";\nimport { ServerOptions } from \"@modelcontextprotocol/sdk/server/index.js\";\nimport {\n McpServer,\n PromptCallback,\n ReadResourceCallback,\n ReadResourceTemplateCallback,\n ResourceTemplate,\n ToolCallback,\n} from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { runServer } from \"./http_server.js\";\nimport { ZodRawShape, ZodType } from \"zod\";\nimport { ToolAnnotations } from \"@modelcontextprotocol/sdk/types.js\";\n\ntype MCPServerPrompt =\n | {\n type: \"prompt\";\n name: string;\n description: string;\n callback: PromptCallback;\n }\n | {\n type: \"prompt\";\n name: string;\n description: string;\n argsSchema: ZodRawShape;\n callback: PromptCallback<ZodRawShape>;\n };\n\ntype MCPServerResource =\n | {\n type: \"resource\";\n name: string;\n uri: string;\n callback: ReadResourceCallback;\n }\n | {\n type: \"resource\";\n name: string;\n template: ResourceTemplate;\n callback: ReadResourceTemplateCallback;\n };\n\ninterface MCPServerTool {\n type: \"tool\";\n name: string;\n description: string;\n paramsSchema: ZodRawShape | ToolAnnotations;\n callback: ToolCallback<ZodRawShape>;\n}\n\ntype MCPServerEntry = MCPServerPrompt | MCPServerResource | MCPServerTool;\n\n// Configuration for the MCPServer.\nexport class MCPServerConfig {\n transport: \"stdio\" | \"sse\" = \"stdio\";\n hostname = \"127.0.0.1\";\n port = 3000;\n name = \"MCP Server\";\n version = \"1.0.0\";\n settings?: ServerOptions;\n\n constructor(partial?: Partial<MCPServerConfig>) {\n if (partial) {\n Object.assign(this, partial);\n }\n }\n}\n\nexport class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig, never> {\n protected server: McpServer;\n\n constructor(config?: MCPServerConfig) {\n super(config || new MCPServerConfig());\n this.server = new McpServer({\n name: this.config.name,\n version: this.config.version,\n ...this.config.settings,\n });\n }\n\n async serve() {\n for (const member of this.members) {\n const factory = this.getFactory(member);\n const entry = await factory(member);\n\n switch (entry.type) {\n case \"tool\":\n this.server.tool(entry.name, entry.description, entry.paramsSchema, entry.callback);\n break;\n case \"prompt\":\n if (\"argsSchema\" in entry) {\n this.server.prompt(entry.name, entry.description, entry.argsSchema, entry.callback);\n } else {\n this.server.prompt(entry.name, entry.description, entry.callback);\n }\n break;\n case \"resource\":\n if (\"uri\" in entry) {\n this.server.resource(entry.name, entry.uri, entry.callback);\n } else {\n this.server.resource(entry.name, entry.template, entry.callback);\n }\n break;\n default:\n throw new ValueError(\"Input type is not supported by this server.\");\n }\n }\n\n if (this.config.transport === \"sse\") {\n runServer(this.server, this.config.hostname, this.config.port);\n } else {\n await this.server.connect(new StdioServerTransport());\n }\n }\n\n getFactory(member: any) {\n const factories = (this.constructor as typeof Server).factories;\n return !factories.has(member.constructor) && member instanceof Tool && factories.has(Tool)\n ? factories.get(Tool)!\n : super.getFactory(member);\n }\n}\n\nasync function toolFactory(tool: AnyTool): Promise<MCPServerEntry> {\n const schema = await tool.inputSchema();\n if (!(schema instanceof ZodType)) {\n throw new ValueError(\"JsonSchema is not supported for MCP tools.\");\n }\n const paramsSchema = schema.shape;\n return {\n type: \"tool\",\n name: tool.name,\n description: tool.description,\n paramsSchema: paramsSchema,\n callback: async (...args: Parameters<typeof tool.run>) => {\n const result = await tool.run(...args);\n return {\n content: [\n {\n type: \"text\",\n text: result.getTextContent(),\n },\n ],\n };\n },\n };\n}\n\nMCPServer.registerFactory(Tool, toolFactory);\n"]}
|
|
@@ -49,11 +49,11 @@ declare class MCPServerConfig {
|
|
|
49
49
|
settings?: ServerOptions;
|
|
50
50
|
constructor(partial?: Partial<MCPServerConfig>);
|
|
51
51
|
}
|
|
52
|
-
declare class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig> {
|
|
52
|
+
declare class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig, never> {
|
|
53
53
|
protected server: McpServer;
|
|
54
54
|
constructor(config?: MCPServerConfig);
|
|
55
55
|
serve(): Promise<void>;
|
|
56
|
-
getFactory(member: any): (input: TInput) => Promise<TInternal>;
|
|
56
|
+
getFactory(member: any): (input: TInput, config?: Record<string, any>) => Promise<TInternal>;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
export { MCPServer, MCPServerConfig };
|
|
@@ -49,11 +49,11 @@ declare class MCPServerConfig {
|
|
|
49
49
|
settings?: ServerOptions;
|
|
50
50
|
constructor(partial?: Partial<MCPServerConfig>);
|
|
51
51
|
}
|
|
52
|
-
declare class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig> {
|
|
52
|
+
declare class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig, never> {
|
|
53
53
|
protected server: McpServer;
|
|
54
54
|
constructor(config?: MCPServerConfig);
|
|
55
55
|
serve(): Promise<void>;
|
|
56
|
-
getFactory(member: any): (input: TInput) => Promise<TInternal>;
|
|
56
|
+
getFactory(member: any): (input: TInput, config?: Record<string, any>) => Promise<TInternal>;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
export { MCPServer, MCPServerConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapters/mcp/serve/server.ts"],"names":["MCPServerConfig","transport","hostname","port","name","version","settings","partial","Object","assign","MCPServer","Server","server","config","McpServer","serve","member","members","factory","getFactory","entry","type","tool","description","paramsSchema","callback","prompt","argsSchema","resource","uri","template","ValueError","runServer","connect","StdioServerTransport","factories","has","Tool","get","toolFactory","schema","inputSchema","ZodType","shape","args","result","run","content","text","getTextContent","registerFactory"],"mappings":"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","file":"server.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueError } from \"@/errors.js\";\nimport { Server } from \"@/serve/server.js\";\nimport { ServerOptions } from \"@modelcontextprotocol/sdk/server/index.js\";\nimport {\n McpServer,\n PromptCallback,\n ReadResourceCallback,\n ReadResourceTemplateCallback,\n ResourceTemplate,\n ToolCallback,\n} from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { runServer } from \"./http_server.js\";\nimport { ZodRawShape, ZodType } from \"zod\";\nimport { ToolAnnotations } from \"@modelcontextprotocol/sdk/types.js\";\n\ntype MCPServerPrompt =\n | {\n type: \"prompt\";\n name: string;\n description: string;\n callback: PromptCallback;\n }\n | {\n type: \"prompt\";\n name: string;\n description: string;\n argsSchema: ZodRawShape;\n callback: PromptCallback<ZodRawShape>;\n };\n\ntype MCPServerResource =\n | {\n type: \"resource\";\n name: string;\n uri: string;\n callback: ReadResourceCallback;\n }\n | {\n type: \"resource\";\n name: string;\n template: ResourceTemplate;\n callback: ReadResourceTemplateCallback;\n };\n\ninterface MCPServerTool {\n type: \"tool\";\n name: string;\n description: string;\n paramsSchema: ZodRawShape | ToolAnnotations;\n callback: ToolCallback<ZodRawShape>;\n}\n\ntype MCPServerEntry = MCPServerPrompt | MCPServerResource | MCPServerTool;\n\n// Configuration for the MCPServer.\nexport class MCPServerConfig {\n transport: \"stdio\" | \"sse\" = \"stdio\";\n hostname = \"127.0.0.1\";\n port = 3000;\n name = \"MCP Server\";\n version = \"1.0.0\";\n settings?: ServerOptions;\n\n constructor(partial?: Partial<MCPServerConfig>) {\n if (partial) {\n Object.assign(this, partial);\n }\n }\n}\n\nexport class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig> {\n protected server: McpServer;\n\n constructor(config?: MCPServerConfig) {\n super(config || new MCPServerConfig());\n this.server = new McpServer({\n name: this.config.name,\n version: this.config.version,\n ...this.config.settings,\n });\n }\n\n async serve() {\n for (const member of this.members) {\n const factory = this.getFactory(member);\n const entry = await factory(member);\n\n switch (entry.type) {\n case \"tool\":\n this.server.tool(entry.name, entry.description, entry.paramsSchema, entry.callback);\n break;\n case \"prompt\":\n if (\"argsSchema\" in entry) {\n this.server.prompt(entry.name, entry.description, entry.argsSchema, entry.callback);\n } else {\n this.server.prompt(entry.name, entry.description, entry.callback);\n }\n break;\n case \"resource\":\n if (\"uri\" in entry) {\n this.server.resource(entry.name, entry.uri, entry.callback);\n } else {\n this.server.resource(entry.name, entry.template, entry.callback);\n }\n break;\n default:\n throw new ValueError(\"Input type is not supported by this server.\");\n }\n }\n\n if (this.config.transport === \"sse\") {\n runServer(this.server, this.config.hostname, this.config.port);\n } else {\n await this.server.connect(new StdioServerTransport());\n }\n }\n\n getFactory(member: any) {\n const factories = (this.constructor as typeof Server).factories;\n return !factories.has(member.constructor) && member instanceof Tool && factories.has(Tool)\n ? factories.get(Tool)!\n : super.getFactory(member);\n }\n}\n\nasync function toolFactory(tool: AnyTool): Promise<MCPServerEntry> {\n const schema = await tool.inputSchema();\n if (!(schema instanceof ZodType)) {\n throw new ValueError(\"JsonSchema is not supported for MCP tools.\");\n }\n const paramsSchema = schema.shape;\n return {\n type: \"tool\",\n name: tool.name,\n description: tool.description,\n paramsSchema: paramsSchema,\n callback: async (...args: Parameters<typeof tool.run>) => {\n const result = await tool.run(...args);\n return {\n content: [\n {\n type: \"text\",\n text: result.getTextContent(),\n },\n ],\n };\n },\n };\n}\n\nMCPServer.registerFactory(Tool, toolFactory);\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/adapters/mcp/serve/server.ts"],"names":["MCPServerConfig","transport","hostname","port","name","version","settings","partial","Object","assign","MCPServer","Server","server","config","McpServer","serve","member","members","factory","getFactory","entry","type","tool","description","paramsSchema","callback","prompt","argsSchema","resource","uri","template","ValueError","runServer","connect","StdioServerTransport","factories","has","Tool","get","toolFactory","schema","inputSchema","ZodType","shape","args","result","run","content","text","getTextContent","registerFactory"],"mappings":";;;;;;;;;;AA8DO,MAAMA,eAAAA,CAAAA;EA9Db;;;EA+DEC,SAAAA,GAA6B,OAAA;EAC7BC,QAAAA,GAAW,WAAA;EACXC,IAAAA,GAAO,GAAA;EACPC,IAAAA,GAAO,YAAA;EACPC,OAAAA,GAAU,OAAA;AACVC,EAAAA,QAAAA;AAEA,EAAA,WAAA,CAAYC,OAAAA,EAAoC;AAC9C,IAAA,IAAIA,OAAAA,EAAS;AACXC,MAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,OAAAA,CAAAA;AACtB;AACF;AACF;AAEO,MAAMG,kBAAkBC,MAAAA,CAAAA;EA7E/B;;;AA8EYC,EAAAA,MAAAA;AAEV,EAAA,WAAA,CAAYC,MAAAA,EAA0B;AACpC,IAAA,KAAA,CAAMA,MAAAA,IAAU,IAAIb,eAAAA,EAAAA,CAAAA;AACpB,IAAA,IAAA,CAAKY,MAAAA,GAAS,IAAIE,SAAAA,CAAU;AAC1BV,MAAAA,IAAAA,EAAM,KAAKS,MAAAA,CAAOT,IAAAA;AAClBC,MAAAA,OAAAA,EAAS,KAAKQ,MAAAA,CAAOR,OAAAA;AACrB,MAAA,GAAG,KAAKQ,MAAAA,CAAOP;KACjB,CAAA;AACF;AAEA,EAAA,MAAMS,KAAAA,GAAQ;AACZ,IAAA,KAAA,MAAWC,MAAAA,IAAU,KAAKC,OAAAA,EAAS;AACjC,MAAA,MAAMC,OAAAA,GAAU,IAAA,CAAKC,UAAAA,CAAWH,MAAAA,CAAAA;AAChC,MAAA,MAAMI,KAAAA,GAAQ,MAAMF,OAAAA,CAAQF,MAAAA,CAAAA;AAE5B,MAAA,QAAQI,MAAMC,IAAAA;QACZ,KAAK,MAAA;AACH,UAAA,IAAA,CAAKT,MAAAA,CAAOU,KAAKF,KAAAA,CAAMhB,IAAAA,EAAMgB,MAAMG,WAAAA,EAAaH,KAAAA,CAAMI,YAAAA,EAAcJ,KAAAA,CAAMK,QAAQ,CAAA;AAClF,UAAA;QACF,KAAK,QAAA;AACH,UAAA,IAAI,gBAAgBL,KAAAA,EAAO;AACzB,YAAA,IAAA,CAAKR,MAAAA,CAAOc,OAAON,KAAAA,CAAMhB,IAAAA,EAAMgB,MAAMG,WAAAA,EAAaH,KAAAA,CAAMO,UAAAA,EAAYP,KAAAA,CAAMK,QAAQ,CAAA;WACpF,MAAO;AACL,YAAA,IAAA,CAAKb,OAAOc,MAAAA,CAAON,KAAAA,CAAMhB,MAAMgB,KAAAA,CAAMG,WAAAA,EAAaH,MAAMK,QAAQ,CAAA;AAClE;AACA,UAAA;QACF,KAAK,UAAA;AACH,UAAA,IAAI,SAASL,KAAAA,EAAO;AAClB,YAAA,IAAA,CAAKR,OAAOgB,QAAAA,CAASR,KAAAA,CAAMhB,MAAMgB,KAAAA,CAAMS,GAAAA,EAAKT,MAAMK,QAAQ,CAAA;WAC5D,MAAO;AACL,YAAA,IAAA,CAAKb,OAAOgB,QAAAA,CAASR,KAAAA,CAAMhB,MAAMgB,KAAAA,CAAMU,QAAAA,EAAUV,MAAMK,QAAQ,CAAA;AACjE;AACA,UAAA;AACF,QAAA;AACE,UAAA,MAAM,IAAIM,WAAW,6CAAA,CAAA;AACzB;AACF;AAEA,IAAA,IAAI,IAAA,CAAKlB,MAAAA,CAAOZ,SAAAA,KAAc,KAAA,EAAO;AACnC+B,MAAAA,SAAAA,CAAU,KAAKpB,MAAAA,EAAQ,IAAA,CAAKC,OAAOX,QAAAA,EAAU,IAAA,CAAKW,OAAOV,IAAI,CAAA;KAC/D,MAAO;AACL,MAAA,MAAM,IAAA,CAAKS,MAAAA,CAAOqB,OAAAA,CAAQ,IAAIC,sBAAAA,CAAAA;AAChC;AACF;AAEAf,EAAAA,UAAAA,CAAWH,MAAAA,EAAa;AACtB,IAAA,MAAMmB,SAAAA,GAAa,KAAK,WAAA,CAA8BA,SAAAA;AACtD,IAAA,OAAO,CAACA,SAAAA,CAAUC,GAAAA,CAAIpB,OAAO,WAAW,CAAA,IAAKA,kBAAkBqB,IAAAA,IAAQF,SAAAA,CAAUC,GAAAA,CAAIC,IAAAA,IACjFF,SAAAA,CAAUG,GAAAA,CAAID,IAAAA,CAAAA,GACd,KAAA,CAAMlB,WAAWH,MAAAA,CAAAA;AACvB;AACF;AAEA,eAAeuB,YAAYjB,IAAAA,EAAa;AACtC,EAAA,MAAMkB,MAAAA,GAAS,MAAMlB,IAAAA,CAAKmB,WAAAA,EAAW;AACrC,EAAA,IAAI,EAAED,kBAAkBE,OAAAA,CAAAA,EAAU;AAChC,IAAA,MAAM,IAAIX,WAAW,4CAAA,CAAA;AACvB;AACA,EAAA,MAAMP,eAAegB,MAAAA,CAAOG,KAAAA;AAC5B,EAAA,OAAO;IACLtB,IAAAA,EAAM,MAAA;AACNjB,IAAAA,IAAAA,EAAMkB,IAAAA,CAAKlB,IAAAA;AACXmB,IAAAA,WAAAA,EAAaD,IAAAA,CAAKC,WAAAA;AAClBC,IAAAA,YAAAA;AACAC,IAAAA,QAAAA,mCAAoBmB,IAAAA,KAAAA;AAClB,MAAA,MAAMC,MAAAA,GAAS,MAAMvB,IAAAA,CAAKwB,GAAAA,CAAG,GAAIF,IAAAA,CAAAA;AACjC,MAAA,OAAO;QACLG,OAAAA,EAAS;AACP,UAAA;YACE1B,IAAAA,EAAM,MAAA;AACN2B,YAAAA,IAAAA,EAAMH,OAAOI,cAAAA;AACf;;AAEJ,OAAA;KACF,EAVU,UAAA;AAWZ,GAAA;AACF;AAvBeV,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAyBf7B,SAAAA,CAAUwC,eAAAA,CAAgBb,MAAME,WAAAA,CAAAA","file":"server.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueError } from \"@/errors.js\";\nimport { Server } from \"@/serve/server.js\";\nimport { ServerOptions } from \"@modelcontextprotocol/sdk/server/index.js\";\nimport {\n McpServer,\n PromptCallback,\n ReadResourceCallback,\n ReadResourceTemplateCallback,\n ResourceTemplate,\n ToolCallback,\n} from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { runServer } from \"./http_server.js\";\nimport { ZodRawShape, ZodType } from \"zod\";\nimport { ToolAnnotations } from \"@modelcontextprotocol/sdk/types.js\";\n\ntype MCPServerPrompt =\n | {\n type: \"prompt\";\n name: string;\n description: string;\n callback: PromptCallback;\n }\n | {\n type: \"prompt\";\n name: string;\n description: string;\n argsSchema: ZodRawShape;\n callback: PromptCallback<ZodRawShape>;\n };\n\ntype MCPServerResource =\n | {\n type: \"resource\";\n name: string;\n uri: string;\n callback: ReadResourceCallback;\n }\n | {\n type: \"resource\";\n name: string;\n template: ResourceTemplate;\n callback: ReadResourceTemplateCallback;\n };\n\ninterface MCPServerTool {\n type: \"tool\";\n name: string;\n description: string;\n paramsSchema: ZodRawShape | ToolAnnotations;\n callback: ToolCallback<ZodRawShape>;\n}\n\ntype MCPServerEntry = MCPServerPrompt | MCPServerResource | MCPServerTool;\n\n// Configuration for the MCPServer.\nexport class MCPServerConfig {\n transport: \"stdio\" | \"sse\" = \"stdio\";\n hostname = \"127.0.0.1\";\n port = 3000;\n name = \"MCP Server\";\n version = \"1.0.0\";\n settings?: ServerOptions;\n\n constructor(partial?: Partial<MCPServerConfig>) {\n if (partial) {\n Object.assign(this, partial);\n }\n }\n}\n\nexport class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig, never> {\n protected server: McpServer;\n\n constructor(config?: MCPServerConfig) {\n super(config || new MCPServerConfig());\n this.server = new McpServer({\n name: this.config.name,\n version: this.config.version,\n ...this.config.settings,\n });\n }\n\n async serve() {\n for (const member of this.members) {\n const factory = this.getFactory(member);\n const entry = await factory(member);\n\n switch (entry.type) {\n case \"tool\":\n this.server.tool(entry.name, entry.description, entry.paramsSchema, entry.callback);\n break;\n case \"prompt\":\n if (\"argsSchema\" in entry) {\n this.server.prompt(entry.name, entry.description, entry.argsSchema, entry.callback);\n } else {\n this.server.prompt(entry.name, entry.description, entry.callback);\n }\n break;\n case \"resource\":\n if (\"uri\" in entry) {\n this.server.resource(entry.name, entry.uri, entry.callback);\n } else {\n this.server.resource(entry.name, entry.template, entry.callback);\n }\n break;\n default:\n throw new ValueError(\"Input type is not supported by this server.\");\n }\n }\n\n if (this.config.transport === \"sse\") {\n runServer(this.server, this.config.hostname, this.config.port);\n } else {\n await this.server.connect(new StdioServerTransport());\n }\n }\n\n getFactory(member: any) {\n const factories = (this.constructor as typeof Server).factories;\n return !factories.has(member.constructor) && member instanceof Tool && factories.has(Tool)\n ? factories.get(Tool)!\n : super.getFactory(member);\n }\n}\n\nasync function toolFactory(tool: AnyTool): Promise<MCPServerEntry> {\n const schema = await tool.inputSchema();\n if (!(schema instanceof ZodType)) {\n throw new ValueError(\"JsonSchema is not supported for MCP tools.\");\n }\n const paramsSchema = schema.shape;\n return {\n type: \"tool\",\n name: tool.name,\n description: tool.description,\n paramsSchema: paramsSchema,\n callback: async (...args: Parameters<typeof tool.run>) => {\n const result = await tool.run(...args);\n return {\n content: [\n {\n type: \"text\",\n text: result.getTextContent(),\n },\n ],\n };\n },\n };\n}\n\nMCPServer.registerFactory(Tool, toolFactory);\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GetRunContext, RunContext } from './context.cjs';
|
|
2
|
-
import { b as AgentMeta, a as BaseAgent } from './base-
|
|
2
|
+
import { b as AgentMeta, a as BaseAgent } from './base-BP7v-NSL.cjs';
|
|
3
3
|
import { AnyTool } from './tools/base.cjs';
|
|
4
4
|
import { BaseMemory } from './memory/base.cjs';
|
|
5
5
|
import { E as Emitter } from './emitter-DWEsd-ud.cjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GetRunContext, RunContext } from './context.js';
|
|
2
|
-
import { b as AgentMeta, a as BaseAgent } from './base-
|
|
2
|
+
import { b as AgentMeta, a as BaseAgent } from './base-BsY2baWy.js';
|
|
3
3
|
import { AnyTool } from './tools/base.js';
|
|
4
4
|
import { BaseMemory } from './memory/base.js';
|
|
5
5
|
import { E as Emitter } from './emitter-C9nwGLt6.js';
|
package/dist/agents/base.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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-BP7v-NSL.cjs';
|
|
4
4
|
import '../internals/serializable.cjs';
|
|
5
5
|
import '../emitter-DWEsd-ud.cjs';
|
|
6
6
|
import '../memory/base.cjs';
|
package/dist/agents/base.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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-BsY2baWy.js';
|
|
4
4
|
import '../internals/serializable.js';
|
|
5
5
|
import '../emitter-C9nwGLt6.js';
|
|
6
6
|
import '../memory/base.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as Callback, E as Emitter } from '../../../emitter-DWEsd-ud.cjs';
|
|
2
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
2
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BP7v-NSL.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
1
|
import { C as Callback, E as Emitter } from '../../../emitter-C9nwGLt6.js';
|
|
2
|
-
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-
|
|
2
|
+
import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-BsY2baWy.js';
|
|
3
3
|
import { GetRunContext } from '../../../context.js';
|
|
4
4
|
import { Message } from '../../../backend/message.js';
|
|
5
5
|
import { RePlanState } from './prompts.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
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-BP7v-NSL.cjs';
|
|
2
2
|
import { GetRunContext } from '../../../context.cjs';
|
|
3
3
|
import { C as Callback, E as Emitter } from '../../../emitter-DWEsd-ud.cjs';
|
|
4
4
|
import { BaseMemory } from '../../../memory/base.cjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
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-BsY2baWy.js';
|
|
2
2
|
import { GetRunContext } from '../../../context.js';
|
|
3
3
|
import { C as Callback, E as Emitter } from '../../../emitter-C9nwGLt6.js';
|
|
4
4
|
import { BaseMemory } from '../../../memory/base.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import '../../context.cjs';
|
|
2
|
-
import '../../base-
|
|
2
|
+
import '../../base-BP7v-NSL.cjs';
|
|
3
3
|
import '../../tools/base.cjs';
|
|
4
4
|
import '../../memory/base.cjs';
|
|
5
5
|
import '../../emitter-DWEsd-ud.cjs';
|
|
6
6
|
import './types.cjs';
|
|
7
|
-
export { a as ReActAgent, R as ReActAgentInput, d as ReActAgentTemplateFactory } from '../../agent-
|
|
7
|
+
export { a as ReActAgent, R as ReActAgentInput, d as ReActAgentTemplateFactory } from '../../agent-Bhm6xSfI.cjs';
|
|
8
8
|
import '../../chat-CR4yfOR9.cjs';
|
|
9
9
|
import '../../internals/serializable.cjs';
|
|
10
10
|
import '../../internals/types.cjs';
|