@cuylabs/agent-core 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -8
- package/dist/builder-RcTZuYnO.d.ts +34 -0
- package/dist/capabilities/index.d.ts +97 -0
- package/dist/capabilities/index.js +46 -0
- package/dist/chunk-6TDTQJ4P.js +116 -0
- package/dist/chunk-7MUFEN4K.js +559 -0
- package/dist/chunk-BDBZ3SLK.js +745 -0
- package/dist/chunk-DWYX7ASF.js +26 -0
- package/dist/chunk-FG4MD5MU.js +54 -0
- package/dist/chunk-IMGQOTU2.js +2019 -0
- package/dist/chunk-IVUJDISU.js +556 -0
- package/dist/chunk-LRHOS4ZN.js +584 -0
- package/dist/chunk-OTUGSCED.js +691 -0
- package/dist/chunk-P6YF7USR.js +182 -0
- package/dist/chunk-QAQADS4X.js +258 -0
- package/dist/chunk-QWFMX226.js +879 -0
- package/dist/{chunk-6VKLWNRE.js → chunk-SDSBEQXG.js} +1 -132
- package/dist/chunk-VBWWUHWI.js +724 -0
- package/dist/chunk-VEKUXUVF.js +41 -0
- package/dist/chunk-X635CM2F.js +305 -0
- package/dist/chunk-YUUJK53A.js +91 -0
- package/dist/chunk-ZXAKHMWH.js +283 -0
- package/dist/config-D2xeGEHK.d.ts +52 -0
- package/dist/context/index.d.ts +259 -0
- package/dist/context/index.js +26 -0
- package/dist/identifiers-BLUxFqV_.d.ts +12 -0
- package/dist/index-p0kOsVsE.d.ts +1067 -0
- package/dist/index-tmhaADz5.d.ts +198 -0
- package/dist/index.d.ts +210 -5736
- package/dist/index.js +2126 -7766
- package/dist/mcp/index.d.ts +26 -0
- package/dist/mcp/index.js +14 -0
- package/dist/messages-BYWGn8TY.d.ts +110 -0
- package/dist/middleware/index.d.ts +7 -0
- package/dist/middleware/index.js +12 -0
- package/dist/models/index.d.ts +33 -0
- package/dist/models/index.js +12 -0
- package/dist/network-D76DS5ot.d.ts +5 -0
- package/dist/prompt/index.d.ts +224 -0
- package/dist/prompt/index.js +45 -0
- package/dist/reasoning/index.d.ts +71 -0
- package/dist/reasoning/index.js +47 -0
- package/dist/registry-CuRWWtcT.d.ts +164 -0
- package/dist/resolver-DOfZ-xuk.d.ts +254 -0
- package/dist/runner-C7aMP_x3.d.ts +596 -0
- package/dist/runtime/index.d.ts +357 -0
- package/dist/runtime/index.js +64 -0
- package/dist/session-manager-Uawm2Le7.d.ts +274 -0
- package/dist/skill/index.d.ts +103 -0
- package/dist/skill/index.js +39 -0
- package/dist/storage/index.d.ts +167 -0
- package/dist/storage/index.js +50 -0
- package/dist/sub-agent/index.d.ts +14 -0
- package/dist/sub-agent/index.js +15 -0
- package/dist/tool/index.d.ts +173 -1
- package/dist/tool/index.js +12 -3
- package/dist/tool-DYp6-cC3.d.ts +239 -0
- package/dist/tool-pFAnJc5Y.d.ts +419 -0
- package/dist/tracker-DClqYqTj.d.ts +96 -0
- package/dist/tracking/index.d.ts +109 -0
- package/dist/tracking/index.js +20 -0
- package/dist/types-CQaXbRsS.d.ts +47 -0
- package/dist/types-MM1JoX5T.d.ts +810 -0
- package/dist/types-VQgymC1N.d.ts +156 -0
- package/package.json +89 -5
- package/dist/index-BlSTfS-W.d.ts +0 -470
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { Tool } from 'ai';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* MCP (Model Context Protocol) types for @cuylabs/agent-core.
|
|
5
|
+
*
|
|
6
|
+
* Keep these contracts separate from the manager implementation so the shared
|
|
7
|
+
* type layer does not depend on connection logic or optional SDK imports.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Stdio transport configuration for local MCP servers.
|
|
11
|
+
*/
|
|
12
|
+
interface StdioTransportConfig {
|
|
13
|
+
transport: "stdio";
|
|
14
|
+
/** Command to execute */
|
|
15
|
+
command: string;
|
|
16
|
+
/** Command arguments */
|
|
17
|
+
args?: string[];
|
|
18
|
+
/** Environment variables */
|
|
19
|
+
env?: Record<string, string>;
|
|
20
|
+
/** Working directory */
|
|
21
|
+
cwd?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* HTTP transport configuration for remote MCP servers.
|
|
25
|
+
*/
|
|
26
|
+
interface HttpTransportConfig {
|
|
27
|
+
transport: "http";
|
|
28
|
+
/** Server URL */
|
|
29
|
+
url: string;
|
|
30
|
+
/** HTTP headers (e.g. Authorization) */
|
|
31
|
+
headers?: Record<string, string>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* SSE transport configuration for remote MCP servers.
|
|
35
|
+
*/
|
|
36
|
+
interface SseTransportConfig {
|
|
37
|
+
transport: "sse";
|
|
38
|
+
/** Server URL */
|
|
39
|
+
url: string;
|
|
40
|
+
/** HTTP headers (e.g. Authorization) */
|
|
41
|
+
headers?: Record<string, string>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* MCP server configuration.
|
|
45
|
+
*/
|
|
46
|
+
type MCPServerConfig = (StdioTransportConfig | HttpTransportConfig | SseTransportConfig) & {
|
|
47
|
+
/** Whether this server is enabled (default: true) */
|
|
48
|
+
enabled?: boolean;
|
|
49
|
+
/** Connection timeout in ms (default: 30000) */
|
|
50
|
+
timeout?: number;
|
|
51
|
+
/** Human-readable name for the server */
|
|
52
|
+
name?: string;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* MCP manager configuration - map of server name to config.
|
|
56
|
+
*/
|
|
57
|
+
type MCPConfig = Record<string, MCPServerConfig>;
|
|
58
|
+
/**
|
|
59
|
+
* Server connection status.
|
|
60
|
+
*/
|
|
61
|
+
type MCPServerStatus = {
|
|
62
|
+
status: "disconnected";
|
|
63
|
+
} | {
|
|
64
|
+
status: "connecting";
|
|
65
|
+
} | {
|
|
66
|
+
status: "connected";
|
|
67
|
+
toolCount: number;
|
|
68
|
+
} | {
|
|
69
|
+
status: "error";
|
|
70
|
+
error: string;
|
|
71
|
+
} | {
|
|
72
|
+
status: "disabled";
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* MCP resource descriptor.
|
|
76
|
+
*/
|
|
77
|
+
interface MCPResource {
|
|
78
|
+
uri: string;
|
|
79
|
+
name: string;
|
|
80
|
+
description?: string;
|
|
81
|
+
mimeType?: string;
|
|
82
|
+
server: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* MCP prompt descriptor.
|
|
86
|
+
*/
|
|
87
|
+
interface MCPPrompt {
|
|
88
|
+
name: string;
|
|
89
|
+
description?: string;
|
|
90
|
+
arguments?: Array<{
|
|
91
|
+
name: string;
|
|
92
|
+
description?: string;
|
|
93
|
+
required?: boolean;
|
|
94
|
+
}>;
|
|
95
|
+
server: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* MCP manager - handles connections to multiple MCP servers.
|
|
99
|
+
*/
|
|
100
|
+
interface MCPManager {
|
|
101
|
+
/**
|
|
102
|
+
* Connect to all configured servers.
|
|
103
|
+
*/
|
|
104
|
+
connect(): Promise<Map<string, MCPServerStatus>>;
|
|
105
|
+
/**
|
|
106
|
+
* Get all tools from connected servers, ready for AI SDK use.
|
|
107
|
+
*/
|
|
108
|
+
getTools(): Promise<Record<string, Tool>>;
|
|
109
|
+
/**
|
|
110
|
+
* Get status of a specific server.
|
|
111
|
+
*/
|
|
112
|
+
getStatus(serverName: string): MCPServerStatus;
|
|
113
|
+
/**
|
|
114
|
+
* Get status of all servers.
|
|
115
|
+
*/
|
|
116
|
+
getAllStatus(): Map<string, MCPServerStatus>;
|
|
117
|
+
/**
|
|
118
|
+
* List available resources from all connected servers.
|
|
119
|
+
*/
|
|
120
|
+
listResources(): Promise<MCPResource[]>;
|
|
121
|
+
/**
|
|
122
|
+
* Read a resource by URI.
|
|
123
|
+
*/
|
|
124
|
+
readResource(uri: string): Promise<{
|
|
125
|
+
contents: Array<{
|
|
126
|
+
uri: string;
|
|
127
|
+
text?: string;
|
|
128
|
+
blob?: string;
|
|
129
|
+
mimeType?: string;
|
|
130
|
+
}>;
|
|
131
|
+
}>;
|
|
132
|
+
/**
|
|
133
|
+
* List available prompts from all connected servers.
|
|
134
|
+
*/
|
|
135
|
+
listPrompts(): Promise<MCPPrompt[]>;
|
|
136
|
+
/**
|
|
137
|
+
* Get a prompt with optional arguments.
|
|
138
|
+
*/
|
|
139
|
+
getPrompt(serverName: string, promptName: string, args?: Record<string, unknown>): Promise<{
|
|
140
|
+
description?: string;
|
|
141
|
+
messages: Array<{
|
|
142
|
+
role: string;
|
|
143
|
+
content: unknown;
|
|
144
|
+
}>;
|
|
145
|
+
}>;
|
|
146
|
+
/**
|
|
147
|
+
* Close all connections.
|
|
148
|
+
*/
|
|
149
|
+
close(): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Check whether any configured server is connected.
|
|
152
|
+
*/
|
|
153
|
+
isConnected(): boolean;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export type { HttpTransportConfig as H, MCPConfig as M, SseTransportConfig as S, MCPManager as a, MCPPrompt as b, MCPResource as c, MCPServerConfig as d, MCPServerStatus as e, StdioTransportConfig as f };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cuylabs/agent-core",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Embeddable AI agent infrastructure
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Embeddable AI agent infrastructure — execution, sessions, tools, skills, sub-agents, tracing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -15,6 +15,66 @@
|
|
|
15
15
|
"types": "./dist/tool/index.d.ts",
|
|
16
16
|
"import": "./dist/tool/index.js",
|
|
17
17
|
"default": "./dist/tool/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./runtime": {
|
|
20
|
+
"types": "./dist/runtime/index.d.ts",
|
|
21
|
+
"import": "./dist/runtime/index.js",
|
|
22
|
+
"default": "./dist/runtime/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./tracking": {
|
|
25
|
+
"types": "./dist/tracking/index.d.ts",
|
|
26
|
+
"import": "./dist/tracking/index.js",
|
|
27
|
+
"default": "./dist/tracking/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./middleware": {
|
|
30
|
+
"types": "./dist/middleware/index.d.ts",
|
|
31
|
+
"import": "./dist/middleware/index.js",
|
|
32
|
+
"default": "./dist/middleware/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./prompt": {
|
|
35
|
+
"types": "./dist/prompt/index.d.ts",
|
|
36
|
+
"import": "./dist/prompt/index.js",
|
|
37
|
+
"default": "./dist/prompt/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./skill": {
|
|
40
|
+
"types": "./dist/skill/index.d.ts",
|
|
41
|
+
"import": "./dist/skill/index.js",
|
|
42
|
+
"default": "./dist/skill/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./sub-agent": {
|
|
45
|
+
"types": "./dist/sub-agent/index.d.ts",
|
|
46
|
+
"import": "./dist/sub-agent/index.js",
|
|
47
|
+
"default": "./dist/sub-agent/index.js"
|
|
48
|
+
},
|
|
49
|
+
"./storage": {
|
|
50
|
+
"types": "./dist/storage/index.d.ts",
|
|
51
|
+
"import": "./dist/storage/index.js",
|
|
52
|
+
"default": "./dist/storage/index.js"
|
|
53
|
+
},
|
|
54
|
+
"./context": {
|
|
55
|
+
"types": "./dist/context/index.d.ts",
|
|
56
|
+
"import": "./dist/context/index.js",
|
|
57
|
+
"default": "./dist/context/index.js"
|
|
58
|
+
},
|
|
59
|
+
"./reasoning": {
|
|
60
|
+
"types": "./dist/reasoning/index.d.ts",
|
|
61
|
+
"import": "./dist/reasoning/index.js",
|
|
62
|
+
"default": "./dist/reasoning/index.js"
|
|
63
|
+
},
|
|
64
|
+
"./capabilities": {
|
|
65
|
+
"types": "./dist/capabilities/index.d.ts",
|
|
66
|
+
"import": "./dist/capabilities/index.js",
|
|
67
|
+
"default": "./dist/capabilities/index.js"
|
|
68
|
+
},
|
|
69
|
+
"./models": {
|
|
70
|
+
"types": "./dist/models/index.d.ts",
|
|
71
|
+
"import": "./dist/models/index.js",
|
|
72
|
+
"default": "./dist/models/index.js"
|
|
73
|
+
},
|
|
74
|
+
"./mcp": {
|
|
75
|
+
"types": "./dist/mcp/index.d.ts",
|
|
76
|
+
"import": "./dist/mcp/index.js",
|
|
77
|
+
"default": "./dist/mcp/index.js"
|
|
18
78
|
}
|
|
19
79
|
},
|
|
20
80
|
"files": [
|
|
@@ -33,6 +93,10 @@
|
|
|
33
93
|
"@ai-sdk/openai": "^3.0.0",
|
|
34
94
|
"@ai-sdk/openai-compatible": "^2.0.0",
|
|
35
95
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
96
|
+
"@opentelemetry/api": "^1.9.0",
|
|
97
|
+
"@opentelemetry/resources": "^2.0.0",
|
|
98
|
+
"@opentelemetry/sdk-trace-node": "^2.0.0",
|
|
99
|
+
"@opentelemetry/semantic-conventions": "^1.30.0",
|
|
36
100
|
"dockerode": "^4.0.9"
|
|
37
101
|
},
|
|
38
102
|
"peerDependenciesMeta": {
|
|
@@ -56,16 +120,36 @@
|
|
|
56
120
|
},
|
|
57
121
|
"dockerode": {
|
|
58
122
|
"optional": true
|
|
123
|
+
},
|
|
124
|
+
"@opentelemetry/api": {
|
|
125
|
+
"optional": true
|
|
126
|
+
},
|
|
127
|
+
"@opentelemetry/resources": {
|
|
128
|
+
"optional": true
|
|
129
|
+
},
|
|
130
|
+
"@opentelemetry/sdk-trace-node": {
|
|
131
|
+
"optional": true
|
|
132
|
+
},
|
|
133
|
+
"@opentelemetry/semantic-conventions": {
|
|
134
|
+
"optional": true
|
|
59
135
|
}
|
|
60
136
|
},
|
|
61
137
|
"devDependencies": {
|
|
62
138
|
"@ai-sdk/anthropic": "^3.0.35",
|
|
139
|
+
"@ai-sdk/google": "^3.0.30",
|
|
63
140
|
"@ai-sdk/mcp": "^1.0.19",
|
|
64
141
|
"@ai-sdk/openai": "^3.0.25",
|
|
65
|
-
"@ai-sdk/google": "^3.0.30",
|
|
66
142
|
"@ai-sdk/openai-compatible": "^2.0.30",
|
|
67
143
|
"@ai-sdk/provider-utils": "^4.0.15",
|
|
144
|
+
"@arizeai/openinference-vercel": "^2.7.1",
|
|
68
145
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
146
|
+
"@opentelemetry/api": "^1.9.0",
|
|
147
|
+
"@opentelemetry/exporter-trace-otlp-grpc": "^0.213.0",
|
|
148
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
|
|
149
|
+
"@opentelemetry/exporter-zipkin": "^2.6.0",
|
|
150
|
+
"@opentelemetry/resources": "^2.6.0",
|
|
151
|
+
"@opentelemetry/sdk-trace-node": "^2.6.0",
|
|
152
|
+
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
69
153
|
"@types/dockerode": "^3.3.47",
|
|
70
154
|
"@types/node": "^22.0.0",
|
|
71
155
|
"dotenv": "^17.2.3",
|
|
@@ -95,8 +179,8 @@
|
|
|
95
179
|
"access": "public"
|
|
96
180
|
},
|
|
97
181
|
"scripts": {
|
|
98
|
-
"build": "tsup src/index.ts src/tool/index.ts --format esm --dts --clean",
|
|
99
|
-
"dev": "tsup src/index.ts src/tool/index.ts --format esm --dts --watch",
|
|
182
|
+
"build": "tsup src/index.ts src/tool/index.ts src/runtime/index.ts src/tracking/index.ts src/middleware/index.ts src/prompt/index.ts src/skill/index.ts src/sub-agent/index.ts src/storage/index.ts src/context/index.ts src/reasoning/index.ts src/capabilities/index.ts src/models/index.ts src/mcp/index.ts --format esm --dts --clean",
|
|
183
|
+
"dev": "tsup src/index.ts src/tool/index.ts src/runtime/index.ts src/tracking/index.ts src/middleware/index.ts src/prompt/index.ts src/skill/index.ts src/sub-agent/index.ts src/storage/index.ts src/context/index.ts src/reasoning/index.ts src/capabilities/index.ts src/models/index.ts src/mcp/index.ts --format esm --dts --watch",
|
|
100
184
|
"test": "vitest run",
|
|
101
185
|
"test:watch": "vitest",
|
|
102
186
|
"typecheck": "tsc --noEmit",
|