@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.
Files changed (66) hide show
  1. package/README.md +57 -8
  2. package/dist/builder-RcTZuYnO.d.ts +34 -0
  3. package/dist/capabilities/index.d.ts +97 -0
  4. package/dist/capabilities/index.js +46 -0
  5. package/dist/chunk-6TDTQJ4P.js +116 -0
  6. package/dist/chunk-7MUFEN4K.js +559 -0
  7. package/dist/chunk-BDBZ3SLK.js +745 -0
  8. package/dist/chunk-DWYX7ASF.js +26 -0
  9. package/dist/chunk-FG4MD5MU.js +54 -0
  10. package/dist/chunk-IMGQOTU2.js +2019 -0
  11. package/dist/chunk-IVUJDISU.js +556 -0
  12. package/dist/chunk-LRHOS4ZN.js +584 -0
  13. package/dist/chunk-OTUGSCED.js +691 -0
  14. package/dist/chunk-P6YF7USR.js +182 -0
  15. package/dist/chunk-QAQADS4X.js +258 -0
  16. package/dist/chunk-QWFMX226.js +879 -0
  17. package/dist/{chunk-6VKLWNRE.js → chunk-SDSBEQXG.js} +1 -132
  18. package/dist/chunk-VBWWUHWI.js +724 -0
  19. package/dist/chunk-VEKUXUVF.js +41 -0
  20. package/dist/chunk-X635CM2F.js +305 -0
  21. package/dist/chunk-YUUJK53A.js +91 -0
  22. package/dist/chunk-ZXAKHMWH.js +283 -0
  23. package/dist/config-D2xeGEHK.d.ts +52 -0
  24. package/dist/context/index.d.ts +259 -0
  25. package/dist/context/index.js +26 -0
  26. package/dist/identifiers-BLUxFqV_.d.ts +12 -0
  27. package/dist/index-p0kOsVsE.d.ts +1067 -0
  28. package/dist/index-tmhaADz5.d.ts +198 -0
  29. package/dist/index.d.ts +210 -5736
  30. package/dist/index.js +2126 -7766
  31. package/dist/mcp/index.d.ts +26 -0
  32. package/dist/mcp/index.js +14 -0
  33. package/dist/messages-BYWGn8TY.d.ts +110 -0
  34. package/dist/middleware/index.d.ts +7 -0
  35. package/dist/middleware/index.js +12 -0
  36. package/dist/models/index.d.ts +33 -0
  37. package/dist/models/index.js +12 -0
  38. package/dist/network-D76DS5ot.d.ts +5 -0
  39. package/dist/prompt/index.d.ts +224 -0
  40. package/dist/prompt/index.js +45 -0
  41. package/dist/reasoning/index.d.ts +71 -0
  42. package/dist/reasoning/index.js +47 -0
  43. package/dist/registry-CuRWWtcT.d.ts +164 -0
  44. package/dist/resolver-DOfZ-xuk.d.ts +254 -0
  45. package/dist/runner-C7aMP_x3.d.ts +596 -0
  46. package/dist/runtime/index.d.ts +357 -0
  47. package/dist/runtime/index.js +64 -0
  48. package/dist/session-manager-Uawm2Le7.d.ts +274 -0
  49. package/dist/skill/index.d.ts +103 -0
  50. package/dist/skill/index.js +39 -0
  51. package/dist/storage/index.d.ts +167 -0
  52. package/dist/storage/index.js +50 -0
  53. package/dist/sub-agent/index.d.ts +14 -0
  54. package/dist/sub-agent/index.js +15 -0
  55. package/dist/tool/index.d.ts +173 -1
  56. package/dist/tool/index.js +12 -3
  57. package/dist/tool-DYp6-cC3.d.ts +239 -0
  58. package/dist/tool-pFAnJc5Y.d.ts +419 -0
  59. package/dist/tracker-DClqYqTj.d.ts +96 -0
  60. package/dist/tracking/index.d.ts +109 -0
  61. package/dist/tracking/index.js +20 -0
  62. package/dist/types-CQaXbRsS.d.ts +47 -0
  63. package/dist/types-MM1JoX5T.d.ts +810 -0
  64. package/dist/types-VQgymC1N.d.ts +156 -0
  65. package/package.json +89 -5
  66. 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.0",
4
- "description": "Embeddable AI agent infrastructure - streaming, sessions, resilience, capabilities",
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",