@cloudbase/agent-examples-agents-server 0.0.2
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/CHANGELOG.md +901 -0
- package/README.md +82 -0
- package/dist/index.d.mts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +174 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +139 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +51 -0
package/README.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Agentic Chat Example Server
|
|
2
|
+
|
|
3
|
+
Follow these steps to run the LangGraph agent backend that powers the Agentic Chat example. Commands assume you are in the monorepo root unless noted.
|
|
4
|
+
|
|
5
|
+
## 1. Build the Monorepo Packages
|
|
6
|
+
|
|
7
|
+
From the TypeScript workspace root (`AG-Kit/typescript-sdk`):
|
|
8
|
+
|
|
9
|
+
- `pnpm install`
|
|
10
|
+
- `pnpm run build`
|
|
11
|
+
|
|
12
|
+
## 2. Prepare Server Environment Variables
|
|
13
|
+
|
|
14
|
+
In this directory (`AG-Kit/typescript-sdk/packages/examples/agents/server`):
|
|
15
|
+
|
|
16
|
+
- Copy `.env.example` to `.env` (or create `.env` manually)
|
|
17
|
+
- Set the required variables:
|
|
18
|
+
- `OPENAI_API_KEY`
|
|
19
|
+
- `OPENAI_MODEL`
|
|
20
|
+
- `OPENAI_BASE_URL`
|
|
21
|
+
|
|
22
|
+
## 3. Install, Build, and Start the Server
|
|
23
|
+
|
|
24
|
+
Still inside `AG-Kit/typescript-sdk/packages/examples/agents/server`, run:
|
|
25
|
+
|
|
26
|
+
- `pnpm install`
|
|
27
|
+
- `pnpm run build`
|
|
28
|
+
- `pnpm run start`
|
|
29
|
+
|
|
30
|
+
The server exposes endpoints under `/v1/aibot/bots/` that the web frontend consumes.
|
|
31
|
+
|
|
32
|
+
## Docker Deployment
|
|
33
|
+
|
|
34
|
+
### Prerequisites
|
|
35
|
+
|
|
36
|
+
Before building the Docker image, ensure you have:
|
|
37
|
+
|
|
38
|
+
1. **Built the entire monorepo locally**
|
|
39
|
+
```bash
|
|
40
|
+
# From the typescript-sdk root directory
|
|
41
|
+
cd ../../../
|
|
42
|
+
pnpm install
|
|
43
|
+
pnpm build
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
2. **Prepared Environment Variables**
|
|
47
|
+
```bash
|
|
48
|
+
# Copy and configure environment variables
|
|
49
|
+
cp .env.example .env
|
|
50
|
+
# Edit .env and set your OPENAI_API_KEY
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Building and Running with Docker
|
|
54
|
+
|
|
55
|
+
1. **Build the Docker Image**
|
|
56
|
+
```bash
|
|
57
|
+
# From the server directory
|
|
58
|
+
docker build -t ag-kit-server .
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
2. **Run the Container**
|
|
62
|
+
```bash
|
|
63
|
+
# Run with environment variables
|
|
64
|
+
docker run -p 9000:9000 \
|
|
65
|
+
-e OPENAI_API_KEY=your_api_key_here \
|
|
66
|
+
-e NODE_ENV=production \
|
|
67
|
+
ag-kit-server
|
|
68
|
+
|
|
69
|
+
# Or run with .env file
|
|
70
|
+
docker run -p 9000:9000 --env-file .env ag-kit-server
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
3. **Access the Server**
|
|
74
|
+
- Server will be available at `http://localhost:9000`
|
|
75
|
+
- Health check endpoint: `http://localhost:9000/health`
|
|
76
|
+
|
|
77
|
+
### Docker Features
|
|
78
|
+
|
|
79
|
+
- **Workspace Support**: Includes all workspace dependencies in the image
|
|
80
|
+
- **Pre-built**: All dependencies and built files are included
|
|
81
|
+
- **Performance**: Alpine Linux base image for smaller size
|
|
82
|
+
- **Simple**: No build process required in container
|
package/dist/index.d.mts
ADDED
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/index.ts
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
|
+
server: () => server_default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(index_exports);
|
|
36
|
+
var process2 = __toESM(require("process"));
|
|
37
|
+
|
|
38
|
+
// src/server.ts
|
|
39
|
+
var import_cors = __toESM(require("cors"));
|
|
40
|
+
var import_dotenv = __toESM(require("dotenv"));
|
|
41
|
+
var import_agent_adapter_langgraph = require("@cloudbase/agent-adapter-langgraph");
|
|
42
|
+
var import_agent_server = require("@cloudbase/agent-server");
|
|
43
|
+
var import_agent_adapter_llamaindex = require("@cloudbase/agent-adapter-llamaindex");
|
|
44
|
+
var import_agent_adapter_mastra = require("@cloudbase/agent-adapter-mastra");
|
|
45
|
+
var import_express = __toESM(require("express"));
|
|
46
|
+
var undici = __toESM(require("undici"));
|
|
47
|
+
var import_agent_examples_langgraph_agentic_chat = require("@cloudbase/agent-examples-langgraph-agentic-chat");
|
|
48
|
+
var import_agent_examples_langgraph_human_in_the_loop = require("@cloudbase/agent-examples-langgraph-human-in-the-loop");
|
|
49
|
+
var import_agent_examples_agkit_agents_agentic_chat = require("@cloudbase/agent-examples-agkit-agents-agentic-chat");
|
|
50
|
+
var import_agent_examples_agkit_agents_human_in_the_loop = require("@cloudbase/agent-examples-agkit-agents-human-in-the-loop");
|
|
51
|
+
var import_agent_examples_llamaindex_ts_multi_agent = require("@cloudbase/agent-examples-llamaindex-ts-multi-agent");
|
|
52
|
+
var import_agent_examples_mastra_agentic_chat = require("@cloudbase/agent-examples-mastra-agentic-chat");
|
|
53
|
+
var import_agent_examples_agkit_agents_mcp_knowledge_retrieval = require("@cloudbase/agent-examples-agkit-agents-mcp-knowledge-retrieval");
|
|
54
|
+
var import_agent_examples_agkit_agents_multi_agent = require("@cloudbase/agent-examples-agkit-agents-multi-agent");
|
|
55
|
+
var import_agent_examples_langchain_agentic_chat = require("@cloudbase/agent-examples-langchain-agentic-chat");
|
|
56
|
+
var import_agent_examples_openai_agent_sdk_agentic_chat = require("@cloudbase/agent-examples-openai-agent-sdk-agentic-chat");
|
|
57
|
+
var import_agent_adapter_openai_agent_sdk = require("@cloudbase/agent-adapter-openai-agent-sdk");
|
|
58
|
+
var import_agent_agents = require("@cloudbase/agent-agents");
|
|
59
|
+
var import_agent_examples_agkit_agents_manga_creator = require("@cloudbase/agent-examples-agkit-agents-manga-creator");
|
|
60
|
+
import_dotenv.default.config({ path: ".env" });
|
|
61
|
+
if (process.env.http_proxy) {
|
|
62
|
+
undici.setGlobalDispatcher(new undici.ProxyAgent(process.env.http_proxy));
|
|
63
|
+
}
|
|
64
|
+
var memory = new import_agent_agents.InMemoryMemory();
|
|
65
|
+
async function createApp() {
|
|
66
|
+
const app = (0, import_express.default)();
|
|
67
|
+
app.use((0, import_cors.default)());
|
|
68
|
+
const AGENTS = {
|
|
69
|
+
agentic_chat: () => {
|
|
70
|
+
return {
|
|
71
|
+
agent: new import_agent_adapter_langgraph.LanggraphAgent({
|
|
72
|
+
name: "agentic chat",
|
|
73
|
+
description: "An agent to showcase agentic chat ability.",
|
|
74
|
+
compiledWorkflow: import_agent_examples_langgraph_agentic_chat.agenticChatGraph
|
|
75
|
+
})
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
human_in_the_loop: () => {
|
|
79
|
+
return {
|
|
80
|
+
agent: new import_agent_adapter_langgraph.LanggraphAgent({
|
|
81
|
+
name: "human in the loop",
|
|
82
|
+
description: "An agent to showcase human in the loop ability.",
|
|
83
|
+
compiledWorkflow: import_agent_examples_langgraph_human_in_the_loop.humanInTheLoopGraph
|
|
84
|
+
})
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
agkit_agentic_chat: () => {
|
|
88
|
+
return {
|
|
89
|
+
agent: (0, import_agent_examples_agkit_agents_agentic_chat.createAgenticChatAgent)()
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
agkit_human_in_the_loop: () => {
|
|
93
|
+
return {
|
|
94
|
+
agent: (0, import_agent_examples_agkit_agents_human_in_the_loop.createHumanInTheLoopAgent)()
|
|
95
|
+
};
|
|
96
|
+
},
|
|
97
|
+
agkit_mcp_knowledge_retrieval: async () => {
|
|
98
|
+
const { agent, cleanup } = await (0, import_agent_examples_agkit_agents_mcp_knowledge_retrieval.createMCPKnowledgeRetrievalAgent)();
|
|
99
|
+
return {
|
|
100
|
+
agent,
|
|
101
|
+
cleanup
|
|
102
|
+
};
|
|
103
|
+
},
|
|
104
|
+
llamaindex_multi_agent: () => {
|
|
105
|
+
return {
|
|
106
|
+
agent: new import_agent_adapter_llamaindex.LlamaIndexAgent({
|
|
107
|
+
workflowFactory: import_agent_examples_llamaindex_ts_multi_agent.createWebReadingMultiAgent
|
|
108
|
+
})
|
|
109
|
+
};
|
|
110
|
+
},
|
|
111
|
+
mastra_agentic_chat: () => {
|
|
112
|
+
return {
|
|
113
|
+
agent: new import_agent_adapter_mastra.MastraAgent({
|
|
114
|
+
runnableFactory: import_agent_examples_mastra_agentic_chat.createAgenticChatAgent
|
|
115
|
+
})
|
|
116
|
+
};
|
|
117
|
+
},
|
|
118
|
+
agkit_multi_agent: () => {
|
|
119
|
+
return {
|
|
120
|
+
agent: (0, import_agent_examples_agkit_agents_multi_agent.createMultiAgentOrchestrator)()
|
|
121
|
+
};
|
|
122
|
+
},
|
|
123
|
+
langchain_agentic_chat: () => {
|
|
124
|
+
return {
|
|
125
|
+
agent: (0, import_agent_examples_langchain_agentic_chat.createAgent)()
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
openai_agentic_chat: () => {
|
|
129
|
+
return {
|
|
130
|
+
agent: new import_agent_adapter_openai_agent_sdk.OpenAIAgent({
|
|
131
|
+
...(0, import_agent_examples_openai_agent_sdk_agentic_chat.createOpenAIAgenticChatAgent)(),
|
|
132
|
+
memory
|
|
133
|
+
})
|
|
134
|
+
};
|
|
135
|
+
},
|
|
136
|
+
agkit_manga_creator: () => {
|
|
137
|
+
return {
|
|
138
|
+
agent: (0, import_agent_examples_agkit_agents_manga_creator.createMangaCreatorAgent)()
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
Object.entries(AGENTS).forEach(([key, agent]) => {
|
|
143
|
+
(0, import_agent_server.createExpressRoutes)({
|
|
144
|
+
basePath: `/${key}/`,
|
|
145
|
+
createAgent: agent,
|
|
146
|
+
express: app
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
return app;
|
|
150
|
+
}
|
|
151
|
+
var server_default = createApp;
|
|
152
|
+
|
|
153
|
+
// src/index.ts
|
|
154
|
+
var port = process2.env.PORT || 9e3;
|
|
155
|
+
async function startServer() {
|
|
156
|
+
const app = await server_default();
|
|
157
|
+
return new Promise((resolve, reject) => {
|
|
158
|
+
app.listen(port, (err) => {
|
|
159
|
+
if (err) {
|
|
160
|
+
reject(err);
|
|
161
|
+
} else {
|
|
162
|
+
resolve(app);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
startServer().then(() => {
|
|
168
|
+
console.log("Server running on port " + port);
|
|
169
|
+
}).catch(console.error);
|
|
170
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
171
|
+
0 && (module.exports = {
|
|
172
|
+
server
|
|
173
|
+
});
|
|
174
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/server.ts"],"sourcesContent":["import * as process from \"node:process\";\nexport { default as server } from \"./server.js\";\n\nimport createApp from \"./server.js\";\n\n\nconst port = process.env.PORT || 9000;\nasync function startServer() {\n const app = await createApp();\n\n return new Promise<Awaited<ReturnType<typeof createApp>>>((resolve, reject) => {\n app.listen(port, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve(app);\n }\n });\n });\n}\n\nstartServer().then(() => {\n console.log(\"Server running on port \" + port);\n}).catch(console.error);\n","import cors from \"cors\";\nimport dotenv from \"dotenv\";\nimport { LanggraphAgent } from \"@cloudbase/agent-adapter-langgraph\";\nimport { createExpressRoutes } from \"@cloudbase/agent-server\";\nimport { LlamaIndexAgent } from \"@cloudbase/agent-adapter-llamaindex\";\nimport { MastraAgent } from \"@cloudbase/agent-adapter-mastra\";\nimport express from \"express\";\nimport * as undici from 'undici'\nimport { agenticChatGraph } from \"@cloudbase/agent-examples-langgraph-agentic-chat\";\nimport { humanInTheLoopGraph } from \"@cloudbase/agent-examples-langgraph-human-in-the-loop\";\nimport { createAgenticChatAgent } from \"@cloudbase/agent-examples-agkit-agents-agentic-chat\";\nimport { createHumanInTheLoopAgent } from \"@cloudbase/agent-examples-agkit-agents-human-in-the-loop\";\nimport { createWebReadingMultiAgent } from \"@cloudbase/agent-examples-llamaindex-ts-multi-agent\";\nimport { createAgenticChatAgent as createMastraAgenticChatAgent } from \"@cloudbase/agent-examples-mastra-agentic-chat\";\nimport { createMCPKnowledgeRetrievalAgent } from \"@cloudbase/agent-examples-agkit-agents-mcp-knowledge-retrieval\";\nimport { createMultiAgentOrchestrator } from \"@cloudbase/agent-examples-agkit-agents-multi-agent\";\nimport { createAgent as createLangchainAgenticChatAgent } from \"@cloudbase/agent-examples-langchain-agentic-chat\";\nimport { createOpenAIAgenticChatAgent } from \"@cloudbase/agent-examples-openai-agent-sdk-agentic-chat\";\nimport { OpenAIAgent } from \"@cloudbase/agent-adapter-openai-agent-sdk\";\nimport { InMemoryMemory } from \"@cloudbase/agent-agents\";\nimport { createMangaCreatorAgent } from \"@cloudbase/agent-examples-agkit-agents-manga-creator\";\n\n// Load environment variables FIRST\ndotenv.config({ path: '.env' });\nif (process.env.http_proxy) {\n undici.setGlobalDispatcher(new undici.ProxyAgent(process.env.http_proxy));\n}\nconst memory = new InMemoryMemory();\nasync function createApp(): Promise<express.Express> {\n const app: express.Express = express();\n\n app.use(cors());\n\n\n const AGENTS = {\n agentic_chat: () => {\n return {\n agent: new LanggraphAgent({\n name: \"agentic chat\",\n description: \"An agent to showcase agentic chat ability.\",\n compiledWorkflow: agenticChatGraph,\n })\n }\n },\n\n human_in_the_loop: () => {\n return {\n agent: new LanggraphAgent({\n name: \"human in the loop\",\n description: \"An agent to showcase human in the loop ability.\",\n compiledWorkflow: humanInTheLoopGraph,\n })\n }\n },\n\n agkit_agentic_chat: () => {\n return {\n agent: createAgenticChatAgent(),\n }\n },\n\n agkit_human_in_the_loop: () => {\n return {\n agent: createHumanInTheLoopAgent(),\n }\n },\n\n agkit_mcp_knowledge_retrieval: async () => {\n const { agent, cleanup } = await createMCPKnowledgeRetrievalAgent();\n return {\n agent,\n cleanup\n }\n },\n llamaindex_multi_agent: () => {\n return {\n agent: new LlamaIndexAgent({\n workflowFactory: createWebReadingMultiAgent,\n })\n }\n },\n mastra_agentic_chat: () => {\n return {\n agent: new MastraAgent({\n runnableFactory: createMastraAgenticChatAgent,\n })\n }\n },\n\n agkit_multi_agent: () => {\n return {\n agent: createMultiAgentOrchestrator(),\n }\n },\n langchain_agentic_chat: () => {\n return {\n agent: createLangchainAgenticChatAgent(),\n }\n },\n openai_agentic_chat: () => {\n return {\n agent: new OpenAIAgent({\n ...createOpenAIAgenticChatAgent(),\n memory,\n }),\n }\n },\n agkit_manga_creator: () => {\n return {\n agent: createMangaCreatorAgent(),\n }\n },\n };\n\n Object.entries(AGENTS).forEach(([key, agent]) => {\n createExpressRoutes({\n basePath: `/${key}/`,\n createAgent: agent,\n express: app,\n });\n });\n\n return app;\n}\n\nexport default createApp;\n"],"mappings":"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","names":["process","dotenv","express","cors","createMastraAgenticChatAgent","createLangchainAgenticChatAgent"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
// src/index.ts
|
|
2
|
+
import * as process2 from "process";
|
|
3
|
+
|
|
4
|
+
// src/server.ts
|
|
5
|
+
import cors from "cors";
|
|
6
|
+
import dotenv from "dotenv";
|
|
7
|
+
import { LanggraphAgent } from "@cloudbase/agent-adapter-langgraph";
|
|
8
|
+
import { createExpressRoutes } from "@cloudbase/agent-server";
|
|
9
|
+
import { LlamaIndexAgent } from "@cloudbase/agent-adapter-llamaindex";
|
|
10
|
+
import { MastraAgent } from "@cloudbase/agent-adapter-mastra";
|
|
11
|
+
import express from "express";
|
|
12
|
+
import * as undici from "undici";
|
|
13
|
+
import { agenticChatGraph } from "@cloudbase/agent-examples-langgraph-agentic-chat";
|
|
14
|
+
import { humanInTheLoopGraph } from "@cloudbase/agent-examples-langgraph-human-in-the-loop";
|
|
15
|
+
import { createAgenticChatAgent } from "@cloudbase/agent-examples-agkit-agents-agentic-chat";
|
|
16
|
+
import { createHumanInTheLoopAgent } from "@cloudbase/agent-examples-agkit-agents-human-in-the-loop";
|
|
17
|
+
import { createWebReadingMultiAgent } from "@cloudbase/agent-examples-llamaindex-ts-multi-agent";
|
|
18
|
+
import { createAgenticChatAgent as createMastraAgenticChatAgent } from "@cloudbase/agent-examples-mastra-agentic-chat";
|
|
19
|
+
import { createMCPKnowledgeRetrievalAgent } from "@cloudbase/agent-examples-agkit-agents-mcp-knowledge-retrieval";
|
|
20
|
+
import { createMultiAgentOrchestrator } from "@cloudbase/agent-examples-agkit-agents-multi-agent";
|
|
21
|
+
import { createAgent as createLangchainAgenticChatAgent } from "@cloudbase/agent-examples-langchain-agentic-chat";
|
|
22
|
+
import { createOpenAIAgenticChatAgent } from "@cloudbase/agent-examples-openai-agent-sdk-agentic-chat";
|
|
23
|
+
import { OpenAIAgent } from "@cloudbase/agent-adapter-openai-agent-sdk";
|
|
24
|
+
import { InMemoryMemory } from "@cloudbase/agent-agents";
|
|
25
|
+
import { createMangaCreatorAgent } from "@cloudbase/agent-examples-agkit-agents-manga-creator";
|
|
26
|
+
dotenv.config({ path: ".env" });
|
|
27
|
+
if (process.env.http_proxy) {
|
|
28
|
+
undici.setGlobalDispatcher(new undici.ProxyAgent(process.env.http_proxy));
|
|
29
|
+
}
|
|
30
|
+
var memory = new InMemoryMemory();
|
|
31
|
+
async function createApp() {
|
|
32
|
+
const app = express();
|
|
33
|
+
app.use(cors());
|
|
34
|
+
const AGENTS = {
|
|
35
|
+
agentic_chat: () => {
|
|
36
|
+
return {
|
|
37
|
+
agent: new LanggraphAgent({
|
|
38
|
+
name: "agentic chat",
|
|
39
|
+
description: "An agent to showcase agentic chat ability.",
|
|
40
|
+
compiledWorkflow: agenticChatGraph
|
|
41
|
+
})
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
human_in_the_loop: () => {
|
|
45
|
+
return {
|
|
46
|
+
agent: new LanggraphAgent({
|
|
47
|
+
name: "human in the loop",
|
|
48
|
+
description: "An agent to showcase human in the loop ability.",
|
|
49
|
+
compiledWorkflow: humanInTheLoopGraph
|
|
50
|
+
})
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
agkit_agentic_chat: () => {
|
|
54
|
+
return {
|
|
55
|
+
agent: createAgenticChatAgent()
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
agkit_human_in_the_loop: () => {
|
|
59
|
+
return {
|
|
60
|
+
agent: createHumanInTheLoopAgent()
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
agkit_mcp_knowledge_retrieval: async () => {
|
|
64
|
+
const { agent, cleanup } = await createMCPKnowledgeRetrievalAgent();
|
|
65
|
+
return {
|
|
66
|
+
agent,
|
|
67
|
+
cleanup
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
llamaindex_multi_agent: () => {
|
|
71
|
+
return {
|
|
72
|
+
agent: new LlamaIndexAgent({
|
|
73
|
+
workflowFactory: createWebReadingMultiAgent
|
|
74
|
+
})
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
mastra_agentic_chat: () => {
|
|
78
|
+
return {
|
|
79
|
+
agent: new MastraAgent({
|
|
80
|
+
runnableFactory: createMastraAgenticChatAgent
|
|
81
|
+
})
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
agkit_multi_agent: () => {
|
|
85
|
+
return {
|
|
86
|
+
agent: createMultiAgentOrchestrator()
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
langchain_agentic_chat: () => {
|
|
90
|
+
return {
|
|
91
|
+
agent: createLangchainAgenticChatAgent()
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
openai_agentic_chat: () => {
|
|
95
|
+
return {
|
|
96
|
+
agent: new OpenAIAgent({
|
|
97
|
+
...createOpenAIAgenticChatAgent(),
|
|
98
|
+
memory
|
|
99
|
+
})
|
|
100
|
+
};
|
|
101
|
+
},
|
|
102
|
+
agkit_manga_creator: () => {
|
|
103
|
+
return {
|
|
104
|
+
agent: createMangaCreatorAgent()
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
Object.entries(AGENTS).forEach(([key, agent]) => {
|
|
109
|
+
createExpressRoutes({
|
|
110
|
+
basePath: `/${key}/`,
|
|
111
|
+
createAgent: agent,
|
|
112
|
+
express: app
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
return app;
|
|
116
|
+
}
|
|
117
|
+
var server_default = createApp;
|
|
118
|
+
|
|
119
|
+
// src/index.ts
|
|
120
|
+
var port = process2.env.PORT || 9e3;
|
|
121
|
+
async function startServer() {
|
|
122
|
+
const app = await server_default();
|
|
123
|
+
return new Promise((resolve, reject) => {
|
|
124
|
+
app.listen(port, (err) => {
|
|
125
|
+
if (err) {
|
|
126
|
+
reject(err);
|
|
127
|
+
} else {
|
|
128
|
+
resolve(app);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
startServer().then(() => {
|
|
134
|
+
console.log("Server running on port " + port);
|
|
135
|
+
}).catch(console.error);
|
|
136
|
+
export {
|
|
137
|
+
server_default as server
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/server.ts"],"sourcesContent":["import * as process from \"node:process\";\nexport { default as server } from \"./server.js\";\n\nimport createApp from \"./server.js\";\n\n\nconst port = process.env.PORT || 9000;\nasync function startServer() {\n const app = await createApp();\n\n return new Promise<Awaited<ReturnType<typeof createApp>>>((resolve, reject) => {\n app.listen(port, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve(app);\n }\n });\n });\n}\n\nstartServer().then(() => {\n console.log(\"Server running on port \" + port);\n}).catch(console.error);\n","import cors from \"cors\";\nimport dotenv from \"dotenv\";\nimport { LanggraphAgent } from \"@cloudbase/agent-adapter-langgraph\";\nimport { createExpressRoutes } from \"@cloudbase/agent-server\";\nimport { LlamaIndexAgent } from \"@cloudbase/agent-adapter-llamaindex\";\nimport { MastraAgent } from \"@cloudbase/agent-adapter-mastra\";\nimport express from \"express\";\nimport * as undici from 'undici'\nimport { agenticChatGraph } from \"@cloudbase/agent-examples-langgraph-agentic-chat\";\nimport { humanInTheLoopGraph } from \"@cloudbase/agent-examples-langgraph-human-in-the-loop\";\nimport { createAgenticChatAgent } from \"@cloudbase/agent-examples-agkit-agents-agentic-chat\";\nimport { createHumanInTheLoopAgent } from \"@cloudbase/agent-examples-agkit-agents-human-in-the-loop\";\nimport { createWebReadingMultiAgent } from \"@cloudbase/agent-examples-llamaindex-ts-multi-agent\";\nimport { createAgenticChatAgent as createMastraAgenticChatAgent } from \"@cloudbase/agent-examples-mastra-agentic-chat\";\nimport { createMCPKnowledgeRetrievalAgent } from \"@cloudbase/agent-examples-agkit-agents-mcp-knowledge-retrieval\";\nimport { createMultiAgentOrchestrator } from \"@cloudbase/agent-examples-agkit-agents-multi-agent\";\nimport { createAgent as createLangchainAgenticChatAgent } from \"@cloudbase/agent-examples-langchain-agentic-chat\";\nimport { createOpenAIAgenticChatAgent } from \"@cloudbase/agent-examples-openai-agent-sdk-agentic-chat\";\nimport { OpenAIAgent } from \"@cloudbase/agent-adapter-openai-agent-sdk\";\nimport { InMemoryMemory } from \"@cloudbase/agent-agents\";\nimport { createMangaCreatorAgent } from \"@cloudbase/agent-examples-agkit-agents-manga-creator\";\n\n// Load environment variables FIRST\ndotenv.config({ path: '.env' });\nif (process.env.http_proxy) {\n undici.setGlobalDispatcher(new undici.ProxyAgent(process.env.http_proxy));\n}\nconst memory = new InMemoryMemory();\nasync function createApp(): Promise<express.Express> {\n const app: express.Express = express();\n\n app.use(cors());\n\n\n const AGENTS = {\n agentic_chat: () => {\n return {\n agent: new LanggraphAgent({\n name: \"agentic chat\",\n description: \"An agent to showcase agentic chat ability.\",\n compiledWorkflow: agenticChatGraph,\n })\n }\n },\n\n human_in_the_loop: () => {\n return {\n agent: new LanggraphAgent({\n name: \"human in the loop\",\n description: \"An agent to showcase human in the loop ability.\",\n compiledWorkflow: humanInTheLoopGraph,\n })\n }\n },\n\n agkit_agentic_chat: () => {\n return {\n agent: createAgenticChatAgent(),\n }\n },\n\n agkit_human_in_the_loop: () => {\n return {\n agent: createHumanInTheLoopAgent(),\n }\n },\n\n agkit_mcp_knowledge_retrieval: async () => {\n const { agent, cleanup } = await createMCPKnowledgeRetrievalAgent();\n return {\n agent,\n cleanup\n }\n },\n llamaindex_multi_agent: () => {\n return {\n agent: new LlamaIndexAgent({\n workflowFactory: createWebReadingMultiAgent,\n })\n }\n },\n mastra_agentic_chat: () => {\n return {\n agent: new MastraAgent({\n runnableFactory: createMastraAgenticChatAgent,\n })\n }\n },\n\n agkit_multi_agent: () => {\n return {\n agent: createMultiAgentOrchestrator(),\n }\n },\n langchain_agentic_chat: () => {\n return {\n agent: createLangchainAgenticChatAgent(),\n }\n },\n openai_agentic_chat: () => {\n return {\n agent: new OpenAIAgent({\n ...createOpenAIAgenticChatAgent(),\n memory,\n }),\n }\n },\n agkit_manga_creator: () => {\n return {\n agent: createMangaCreatorAgent(),\n }\n },\n };\n\n Object.entries(AGENTS).forEach(([key, agent]) => {\n createExpressRoutes({\n basePath: `/${key}/`,\n createAgent: agent,\n express: app,\n });\n });\n\n return app;\n}\n\nexport default createApp;\n"],"mappings":"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","names":["process"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cloudbase/agent-examples-agents-server",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist/",
|
|
7
|
+
"README.md",
|
|
8
|
+
"CHANGELOG.md"
|
|
9
|
+
],
|
|
10
|
+
"main": "dist/index.js",
|
|
11
|
+
"keywords": [],
|
|
12
|
+
"author": "",
|
|
13
|
+
"license": "ISC",
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@types/cors": "^2.8.19",
|
|
16
|
+
"@types/express": "^5.0.3",
|
|
17
|
+
"tsup": "^8.5.0",
|
|
18
|
+
"tsx": "^4.20.6"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"cors": "^2.8.5",
|
|
22
|
+
"dotenv": "^16.4.5",
|
|
23
|
+
"express": "^5.1.0",
|
|
24
|
+
"proxy-agent": "^6.5.0",
|
|
25
|
+
"undici": "^7.16.0",
|
|
26
|
+
"@cloudbase/agent-adapter-langchain": "^0.0.2",
|
|
27
|
+
"@cloudbase/agent-adapter-llamaindex": "^0.0.2",
|
|
28
|
+
"@cloudbase/agent-adapter-mastra": "^0.0.2",
|
|
29
|
+
"@cloudbase/agent-adapter-langgraph": "^0.0.2",
|
|
30
|
+
"@cloudbase/agent-adapter-openai-agent-sdk": "^0.0.2",
|
|
31
|
+
"@cloudbase/agent-agents": "^0.0.2",
|
|
32
|
+
"@cloudbase/agent-examples-agkit-agents-human-in-the-loop": "^0.0.2",
|
|
33
|
+
"@cloudbase/agent-examples-agkit-agents-manga-creator": "^0.0.2",
|
|
34
|
+
"@cloudbase/agent-examples-agkit-agents-mcp-knowledge-retrieval": "^0.0.2",
|
|
35
|
+
"@cloudbase/agent-examples-langgraph-agentic-chat": "^0.0.2",
|
|
36
|
+
"@cloudbase/agent-examples-agkit-agents-multi-agent": "^0.0.2",
|
|
37
|
+
"@cloudbase/agent-examples-langchain-agentic-chat": "^0.0.2",
|
|
38
|
+
"@cloudbase/agent-examples-llamaindex-ts-multi-agent": "^0.0.2",
|
|
39
|
+
"@cloudbase/agent-examples-mastra-agentic-chat": "^0.0.2",
|
|
40
|
+
"@cloudbase/agent-examples-openai-agent-sdk-agentic-chat": "^0.0.2",
|
|
41
|
+
"@cloudbase/agent-examples-agkit-agents-agentic-chat": "^0.0.2",
|
|
42
|
+
"@cloudbase/agent-server": "^0.0.2",
|
|
43
|
+
"@cloudbase/agent-examples-langgraph-human-in-the-loop": "^0.0.2"
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
47
|
+
"build": "tsup --config tsup.config.ts",
|
|
48
|
+
"start": "node dist/index.js",
|
|
49
|
+
"dev": "npm run build && npm run start"
|
|
50
|
+
}
|
|
51
|
+
}
|