kernl 0.1.1

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 (257) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/CHANGELOG.md +53 -0
  3. package/LICENSE +201 -0
  4. package/dist/agent.d.ts +43 -0
  5. package/dist/agent.d.ts.map +1 -0
  6. package/dist/agent.js +130 -0
  7. package/dist/context.d.ts +70 -0
  8. package/dist/context.d.ts.map +1 -0
  9. package/dist/context.js +111 -0
  10. package/dist/env.d.ts +45 -0
  11. package/dist/env.d.ts.map +1 -0
  12. package/dist/env.js +31 -0
  13. package/dist/error.d.ts +1 -0
  14. package/dist/error.d.ts.map +1 -0
  15. package/dist/error.js +1 -0
  16. package/dist/guardrail.d.ts +178 -0
  17. package/dist/guardrail.d.ts.map +1 -0
  18. package/dist/guardrail.js +34 -0
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +2 -0
  22. package/dist/kernel.d.ts +7 -0
  23. package/dist/kernel.d.ts.map +1 -0
  24. package/dist/kernel.js +7 -0
  25. package/dist/kernl.d.ts +18 -0
  26. package/dist/kernl.d.ts.map +1 -0
  27. package/dist/kernl.js +16 -0
  28. package/dist/lib/env.d.ts +43 -0
  29. package/dist/lib/env.d.ts.map +1 -0
  30. package/dist/lib/env.js +29 -0
  31. package/dist/lib/error.d.ts +88 -0
  32. package/dist/lib/error.d.ts.map +1 -0
  33. package/dist/lib/error.js +117 -0
  34. package/dist/lib/logger.d.ts +36 -0
  35. package/dist/lib/logger.d.ts.map +1 -0
  36. package/dist/lib/logger.js +43 -0
  37. package/dist/lib/serde/__tests__/codec.test.d.ts +2 -0
  38. package/dist/lib/serde/__tests__/codec.test.d.ts.map +1 -0
  39. package/dist/lib/serde/__tests__/codec.test.js +75 -0
  40. package/dist/lib/serde/codec.d.ts +12 -0
  41. package/dist/lib/serde/codec.d.ts.map +1 -0
  42. package/dist/lib/serde/codec.js +54 -0
  43. package/dist/lib/serde/json.d.ts +8 -0
  44. package/dist/lib/serde/json.d.ts.map +1 -0
  45. package/dist/lib/serde/json.js +13 -0
  46. package/dist/lib/serde/thread.d.ts +1 -0
  47. package/dist/lib/serde/thread.d.ts.map +1 -0
  48. package/dist/lib/serde/thread.js +172 -0
  49. package/dist/lib/serde/tool.d.ts +36 -0
  50. package/dist/lib/serde/tool.d.ts.map +1 -0
  51. package/dist/lib/serde/tool.js +1 -0
  52. package/dist/lib/utils.d.ts +19 -0
  53. package/dist/lib/utils.d.ts.map +1 -0
  54. package/dist/lib/utils.js +41 -0
  55. package/dist/lifecycle.d.ts +133 -0
  56. package/dist/lifecycle.d.ts.map +1 -0
  57. package/dist/lifecycle.js +29 -0
  58. package/dist/logger.d.ts +36 -0
  59. package/dist/logger.d.ts.map +1 -0
  60. package/dist/logger.js +43 -0
  61. package/dist/mcp/__tests__/base.test.d.ts +2 -0
  62. package/dist/mcp/__tests__/base.test.d.ts.map +1 -0
  63. package/dist/mcp/__tests__/base.test.js +268 -0
  64. package/dist/mcp/__tests__/fixtures/echo-server.d.ts +3 -0
  65. package/dist/mcp/__tests__/fixtures/echo-server.d.ts.map +1 -0
  66. package/dist/mcp/__tests__/fixtures/echo-server.js +92 -0
  67. package/dist/mcp/__tests__/fixtures/math-server.d.ts +3 -0
  68. package/dist/mcp/__tests__/fixtures/math-server.d.ts.map +1 -0
  69. package/dist/mcp/__tests__/fixtures/math-server.js +98 -0
  70. package/dist/mcp/__tests__/fixtures/server.d.ts +3 -0
  71. package/dist/mcp/__tests__/fixtures/server.d.ts.map +1 -0
  72. package/dist/mcp/__tests__/fixtures/server.js +162 -0
  73. package/dist/mcp/__tests__/fixtures/test-server.d.ts +3 -0
  74. package/dist/mcp/__tests__/fixtures/test-server.d.ts.map +1 -0
  75. package/dist/mcp/__tests__/fixtures/test-server.js +163 -0
  76. package/dist/mcp/__tests__/fixtures/utils.d.ts +17 -0
  77. package/dist/mcp/__tests__/fixtures/utils.d.ts.map +1 -0
  78. package/dist/mcp/__tests__/fixtures/utils.js +42 -0
  79. package/dist/mcp/__tests__/integration.test.d.ts +2 -0
  80. package/dist/mcp/__tests__/integration.test.d.ts.map +1 -0
  81. package/dist/mcp/__tests__/integration.test.js +360 -0
  82. package/dist/mcp/__tests__/stdio.test.d.ts +2 -0
  83. package/dist/mcp/__tests__/stdio.test.d.ts.map +1 -0
  84. package/dist/mcp/__tests__/stdio.test.js +180 -0
  85. package/dist/mcp/__tests__/test-utils.d.ts +17 -0
  86. package/dist/mcp/__tests__/test-utils.d.ts.map +1 -0
  87. package/dist/mcp/__tests__/test-utils.js +42 -0
  88. package/dist/mcp/__tests__/utils.test.d.ts +2 -0
  89. package/dist/mcp/__tests__/utils.test.d.ts.map +1 -0
  90. package/dist/mcp/__tests__/utils.test.js +300 -0
  91. package/dist/mcp/base.d.ts +88 -0
  92. package/dist/mcp/base.d.ts.map +1 -0
  93. package/dist/mcp/base.js +68 -0
  94. package/dist/mcp/http.d.ts +34 -0
  95. package/dist/mcp/http.d.ts.map +1 -0
  96. package/dist/mcp/http.js +100 -0
  97. package/dist/mcp/node.d.ts +60 -0
  98. package/dist/mcp/node.d.ts.map +1 -0
  99. package/dist/mcp/node.js +297 -0
  100. package/dist/mcp/sse.d.ts +34 -0
  101. package/dist/mcp/sse.d.ts.map +1 -0
  102. package/dist/mcp/sse.js +97 -0
  103. package/dist/mcp/stdio.d.ts +32 -0
  104. package/dist/mcp/stdio.d.ts.map +1 -0
  105. package/dist/mcp/stdio.js +96 -0
  106. package/dist/mcp/types.d.ts +172 -0
  107. package/dist/mcp/types.d.ts.map +1 -0
  108. package/dist/mcp/types.js +16 -0
  109. package/dist/mcp/utils.d.ts +23 -0
  110. package/dist/mcp/utils.d.ts.map +1 -0
  111. package/dist/mcp/utils.js +44 -0
  112. package/dist/model.d.ts +175 -0
  113. package/dist/model.d.ts.map +1 -0
  114. package/dist/model.js +1 -0
  115. package/dist/providers/ai.d.ts +1 -0
  116. package/dist/providers/ai.d.ts.map +1 -0
  117. package/dist/providers/ai.js +1 -0
  118. package/dist/providers/default.d.ts +16 -0
  119. package/dist/providers/default.d.ts.map +1 -0
  120. package/dist/providers/default.js +17 -0
  121. package/dist/providers/registry.d.ts +1 -0
  122. package/dist/providers/registry.d.ts.map +1 -0
  123. package/dist/providers/registry.js +1 -0
  124. package/dist/sched/scheduler.d.ts +20 -0
  125. package/dist/sched/scheduler.d.ts.map +1 -0
  126. package/dist/sched/scheduler.js +1 -0
  127. package/dist/sched/task.d.ts +92 -0
  128. package/dist/sched/task.d.ts.map +1 -0
  129. package/dist/sched/task.js +102 -0
  130. package/dist/serde/__tests__/codec.test.d.ts +2 -0
  131. package/dist/serde/__tests__/codec.test.d.ts.map +1 -0
  132. package/dist/serde/__tests__/codec.test.js +75 -0
  133. package/dist/serde/codec.d.ts +12 -0
  134. package/dist/serde/codec.d.ts.map +1 -0
  135. package/dist/serde/codec.js +54 -0
  136. package/dist/serde/json.d.ts +8 -0
  137. package/dist/serde/json.d.ts.map +1 -0
  138. package/dist/serde/json.js +13 -0
  139. package/dist/serde/thread.d.ts +687 -0
  140. package/dist/serde/thread.d.ts.map +1 -0
  141. package/dist/serde/thread.js +158 -0
  142. package/dist/serde/tool.d.ts +36 -0
  143. package/dist/serde/tool.d.ts.map +1 -0
  144. package/dist/serde/tool.js +1 -0
  145. package/dist/session.d.ts +1 -0
  146. package/dist/session.d.ts.map +1 -0
  147. package/dist/session.js +1 -0
  148. package/dist/task.d.ts +87 -0
  149. package/dist/task.d.ts.map +1 -0
  150. package/dist/task.js +97 -0
  151. package/dist/thread/__tests__/mock.d.ts +28 -0
  152. package/dist/thread/__tests__/mock.d.ts.map +1 -0
  153. package/dist/thread/__tests__/mock.js +74 -0
  154. package/dist/thread/__tests__/thread.test.d.ts +2 -0
  155. package/dist/thread/__tests__/thread.test.d.ts.map +1 -0
  156. package/dist/thread/__tests__/thread.test.js +1412 -0
  157. package/dist/thread/index.d.ts +2 -0
  158. package/dist/thread/index.d.ts.map +1 -0
  159. package/dist/thread/index.js +1 -0
  160. package/dist/thread/thread.d.ts +66 -0
  161. package/dist/thread/thread.d.ts.map +1 -0
  162. package/dist/thread/thread.js +472 -0
  163. package/dist/thread/utils.d.ts +19 -0
  164. package/dist/thread/utils.d.ts.map +1 -0
  165. package/dist/thread/utils.js +50 -0
  166. package/dist/tool/__tests__/fixtures.d.ts +45 -0
  167. package/dist/tool/__tests__/fixtures.d.ts.map +1 -0
  168. package/dist/tool/__tests__/fixtures.js +97 -0
  169. package/dist/tool/__tests__/tool.test.d.ts +2 -0
  170. package/dist/tool/__tests__/tool.test.d.ts.map +1 -0
  171. package/dist/tool/__tests__/tool.test.js +172 -0
  172. package/dist/tool/__tests__/toolkit.test.d.ts +2 -0
  173. package/dist/tool/__tests__/toolkit.test.d.ts.map +1 -0
  174. package/dist/tool/__tests__/toolkit.test.js +134 -0
  175. package/dist/tool/index.d.ts +4 -0
  176. package/dist/tool/index.d.ts.map +1 -0
  177. package/dist/tool/index.js +2 -0
  178. package/dist/tool/mcp.d.ts +75 -0
  179. package/dist/tool/mcp.d.ts.map +1 -0
  180. package/dist/tool/mcp.js +111 -0
  181. package/dist/tool/tool.d.ts +95 -0
  182. package/dist/tool/tool.d.ts.map +1 -0
  183. package/dist/tool/tool.js +176 -0
  184. package/dist/tool/toolkit.d.ts +121 -0
  185. package/dist/tool/toolkit.d.ts.map +1 -0
  186. package/dist/tool/toolkit.js +180 -0
  187. package/dist/tool/types.d.ts +187 -0
  188. package/dist/tool/types.d.ts.map +1 -0
  189. package/dist/tool/types.js +1 -0
  190. package/dist/tools.d.ts +362 -0
  191. package/dist/tools.d.ts.map +1 -0
  192. package/dist/tools.js +220 -0
  193. package/dist/trace/processor.d.ts +1 -0
  194. package/dist/trace/processor.d.ts.map +1 -0
  195. package/dist/trace/processor.js +1 -0
  196. package/dist/trace/traces.d.ts +1 -0
  197. package/dist/trace/traces.d.ts.map +1 -0
  198. package/dist/trace/traces.js +73 -0
  199. package/dist/trace/utils.d.ts +22 -0
  200. package/dist/trace/utils.d.ts.map +1 -0
  201. package/dist/trace/utils.js +30 -0
  202. package/dist/types/agent.d.ts +91 -0
  203. package/dist/types/agent.d.ts.map +1 -0
  204. package/dist/types/agent.js +1 -0
  205. package/dist/types/proto.d.ts +1551 -0
  206. package/dist/types/proto.d.ts.map +1 -0
  207. package/dist/types/proto.js +531 -0
  208. package/dist/types/thread.d.ts +71 -0
  209. package/dist/types/thread.d.ts.map +1 -0
  210. package/dist/types/thread.js +5 -0
  211. package/dist/usage.d.ts +43 -0
  212. package/dist/usage.d.ts.map +1 -0
  213. package/dist/usage.js +61 -0
  214. package/package.json +52 -0
  215. package/src/agent.ts +203 -0
  216. package/src/context.ts +265 -0
  217. package/src/guardrail.ts +277 -0
  218. package/src/index.ts +3 -0
  219. package/src/kernl.ts +22 -0
  220. package/src/lib/env.ts +36 -0
  221. package/src/lib/error.ts +158 -0
  222. package/src/lib/logger.ts +78 -0
  223. package/src/lib/serde/json.ts +18 -0
  224. package/src/lib/serde/thread.ts +188 -0
  225. package/src/lifecycle.ts +181 -0
  226. package/src/mcp/__tests__/base.test.ts +344 -0
  227. package/src/mcp/__tests__/fixtures/server.ts +179 -0
  228. package/src/mcp/__tests__/fixtures/utils.ts +58 -0
  229. package/src/mcp/__tests__/integration.test.ts +447 -0
  230. package/src/mcp/__tests__/stdio.test.ts +236 -0
  231. package/src/mcp/__tests__/utils.test.ts +360 -0
  232. package/src/mcp/base.ts +162 -0
  233. package/src/mcp/http.ts +147 -0
  234. package/src/mcp/sse.ts +137 -0
  235. package/src/mcp/stdio.ts +136 -0
  236. package/src/mcp/types.ts +202 -0
  237. package/src/mcp/utils.ts +62 -0
  238. package/src/task.ts +119 -0
  239. package/src/thread/__tests__/mock.ts +95 -0
  240. package/src/thread/__tests__/thread.test.ts +1574 -0
  241. package/src/thread/index.ts +1 -0
  242. package/src/thread/thread.ts +611 -0
  243. package/src/thread/utils.ts +67 -0
  244. package/src/tool/__tests__/fixtures.ts +106 -0
  245. package/src/tool/__tests__/tool.test.ts +235 -0
  246. package/src/tool/__tests__/toolkit.test.ts +174 -0
  247. package/src/tool/index.ts +10 -0
  248. package/src/tool/tool.ts +264 -0
  249. package/src/tool/toolkit.ts +234 -0
  250. package/src/tool/types.ts +243 -0
  251. package/src/trace/processor.ts +0 -0
  252. package/src/trace/traces.ts +86 -0
  253. package/src/trace/utils.ts +38 -0
  254. package/src/types/agent.ts +145 -0
  255. package/src/types/thread.ts +86 -0
  256. package/tsconfig.json +13 -0
  257. package/vitest.config.ts +14 -0
@@ -0,0 +1,162 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Simple test server combining math and string operations for MCP testing.
4
+ *
5
+ * Provides deterministic operations for comprehensive test coverage.
6
+ */
7
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
8
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
9
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
10
+ const server = new Server({
11
+ name: "test-server",
12
+ version: "1.0.0",
13
+ }, {
14
+ capabilities: {
15
+ tools: {},
16
+ },
17
+ });
18
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
19
+ tools: [
20
+ // Math tools
21
+ {
22
+ name: "add",
23
+ description: "Add two numbers",
24
+ inputSchema: {
25
+ type: "object",
26
+ properties: {
27
+ a: { type: "number", description: "First number" },
28
+ b: { type: "number", description: "Second number" },
29
+ },
30
+ required: ["a", "b"],
31
+ },
32
+ },
33
+ {
34
+ name: "multiply",
35
+ description: "Multiply two numbers",
36
+ inputSchema: {
37
+ type: "object",
38
+ properties: {
39
+ a: { type: "number", description: "First number" },
40
+ b: { type: "number", description: "Second number" },
41
+ },
42
+ required: ["a", "b"],
43
+ },
44
+ },
45
+ {
46
+ name: "divide",
47
+ description: "Divide two numbers",
48
+ inputSchema: {
49
+ type: "object",
50
+ properties: {
51
+ a: { type: "number", description: "Numerator" },
52
+ b: { type: "number", description: "Denominator" },
53
+ },
54
+ required: ["a", "b"],
55
+ },
56
+ },
57
+ // String tools
58
+ {
59
+ name: "echo",
60
+ description: "Echo back the input text",
61
+ inputSchema: {
62
+ type: "object",
63
+ properties: {
64
+ text: { type: "string", description: "Text to echo" },
65
+ },
66
+ required: ["text"],
67
+ },
68
+ },
69
+ {
70
+ name: "uppercase",
71
+ description: "Convert text to uppercase",
72
+ inputSchema: {
73
+ type: "object",
74
+ properties: {
75
+ text: { type: "string", description: "Text to convert" },
76
+ },
77
+ required: ["text"],
78
+ },
79
+ },
80
+ {
81
+ name: "reverse",
82
+ description: "Reverse the text",
83
+ inputSchema: {
84
+ type: "object",
85
+ properties: {
86
+ text: { type: "string", description: "Text to reverse" },
87
+ },
88
+ required: ["text"],
89
+ },
90
+ },
91
+ ],
92
+ }));
93
+ // Handle tool calls
94
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
95
+ const { name, arguments: args } = request.params;
96
+ switch (name) {
97
+ // Math operations
98
+ case "add":
99
+ return {
100
+ content: [
101
+ {
102
+ type: "text",
103
+ text: String(args.a + args.b),
104
+ },
105
+ ],
106
+ };
107
+ case "multiply":
108
+ return {
109
+ content: [
110
+ {
111
+ type: "text",
112
+ text: String(args.a * args.b),
113
+ },
114
+ ],
115
+ };
116
+ case "divide":
117
+ if (args.b === 0) {
118
+ throw new Error("Division by zero");
119
+ }
120
+ return {
121
+ content: [
122
+ {
123
+ type: "text",
124
+ text: String(args.a / args.b),
125
+ },
126
+ ],
127
+ };
128
+ // String operations
129
+ case "echo":
130
+ return {
131
+ content: [
132
+ {
133
+ type: "text",
134
+ text: args.text,
135
+ },
136
+ ],
137
+ };
138
+ case "uppercase":
139
+ return {
140
+ content: [
141
+ {
142
+ type: "text",
143
+ text: args.text.toUpperCase(),
144
+ },
145
+ ],
146
+ };
147
+ case "reverse":
148
+ return {
149
+ content: [
150
+ {
151
+ type: "text",
152
+ text: args.text.split("").reverse().join(""),
153
+ },
154
+ ],
155
+ };
156
+ default:
157
+ throw new Error(`Unknown tool: ${name}`);
158
+ }
159
+ });
160
+ // Start the server
161
+ const transport = new StdioServerTransport();
162
+ await server.connect(transport);
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=test-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-server.d.ts","sourceRoot":"","sources":["../../../../src/mcp/__tests__/fixtures/test-server.ts"],"names":[],"mappings":""}
@@ -0,0 +1,163 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Simple test server combining math and string operations for MCP testing.
4
+ *
5
+ * Provides deterministic operations for comprehensive test coverage.
6
+ */
7
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
8
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
9
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
10
+ const server = new Server({
11
+ name: "test-server",
12
+ version: "1.0.0",
13
+ }, {
14
+ capabilities: {
15
+ tools: {},
16
+ },
17
+ });
18
+ // List available tools
19
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
20
+ tools: [
21
+ // Math tools
22
+ {
23
+ name: "add",
24
+ description: "Add two numbers",
25
+ inputSchema: {
26
+ type: "object",
27
+ properties: {
28
+ a: { type: "number", description: "First number" },
29
+ b: { type: "number", description: "Second number" },
30
+ },
31
+ required: ["a", "b"],
32
+ },
33
+ },
34
+ {
35
+ name: "multiply",
36
+ description: "Multiply two numbers",
37
+ inputSchema: {
38
+ type: "object",
39
+ properties: {
40
+ a: { type: "number", description: "First number" },
41
+ b: { type: "number", description: "Second number" },
42
+ },
43
+ required: ["a", "b"],
44
+ },
45
+ },
46
+ {
47
+ name: "divide",
48
+ description: "Divide two numbers",
49
+ inputSchema: {
50
+ type: "object",
51
+ properties: {
52
+ a: { type: "number", description: "Numerator" },
53
+ b: { type: "number", description: "Denominator" },
54
+ },
55
+ required: ["a", "b"],
56
+ },
57
+ },
58
+ // String tools
59
+ {
60
+ name: "echo",
61
+ description: "Echo back the input text",
62
+ inputSchema: {
63
+ type: "object",
64
+ properties: {
65
+ text: { type: "string", description: "Text to echo" },
66
+ },
67
+ required: ["text"],
68
+ },
69
+ },
70
+ {
71
+ name: "uppercase",
72
+ description: "Convert text to uppercase",
73
+ inputSchema: {
74
+ type: "object",
75
+ properties: {
76
+ text: { type: "string", description: "Text to convert" },
77
+ },
78
+ required: ["text"],
79
+ },
80
+ },
81
+ {
82
+ name: "reverse",
83
+ description: "Reverse the text",
84
+ inputSchema: {
85
+ type: "object",
86
+ properties: {
87
+ text: { type: "string", description: "Text to reverse" },
88
+ },
89
+ required: ["text"],
90
+ },
91
+ },
92
+ ],
93
+ }));
94
+ // Handle tool calls
95
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
96
+ const { name, arguments: args } = request.params;
97
+ switch (name) {
98
+ // Math operations
99
+ case "add":
100
+ return {
101
+ content: [
102
+ {
103
+ type: "text",
104
+ text: String(args.a + args.b),
105
+ },
106
+ ],
107
+ };
108
+ case "multiply":
109
+ return {
110
+ content: [
111
+ {
112
+ type: "text",
113
+ text: String(args.a * args.b),
114
+ },
115
+ ],
116
+ };
117
+ case "divide":
118
+ if (args.b === 0) {
119
+ throw new Error("Division by zero");
120
+ }
121
+ return {
122
+ content: [
123
+ {
124
+ type: "text",
125
+ text: String(args.a / args.b),
126
+ },
127
+ ],
128
+ };
129
+ // String operations
130
+ case "echo":
131
+ return {
132
+ content: [
133
+ {
134
+ type: "text",
135
+ text: args.text,
136
+ },
137
+ ],
138
+ };
139
+ case "uppercase":
140
+ return {
141
+ content: [
142
+ {
143
+ type: "text",
144
+ text: args.text.toUpperCase(),
145
+ },
146
+ ],
147
+ };
148
+ case "reverse":
149
+ return {
150
+ content: [
151
+ {
152
+ type: "text",
153
+ text: args.text.split("").reverse().join(""),
154
+ },
155
+ ],
156
+ };
157
+ default:
158
+ throw new Error(`Unknown tool: ${name}`);
159
+ }
160
+ });
161
+ // Start the server
162
+ const transport = new StdioServerTransport();
163
+ await server.connect(transport);
@@ -0,0 +1,17 @@
1
+ import { MCPServerStdio } from "../../stdio";
2
+ /**
3
+ * Helper to run a test with an MCP server, ensuring cleanup.
4
+ */
5
+ export declare function withMCPServer<T>(serverPath: string, fn: (server: MCPServerStdio) => Promise<T>): Promise<T>;
6
+ /**
7
+ * Helper to create a server without auto-connecting.
8
+ */
9
+ export declare function createMCPServer(serverPath: string, options?: {
10
+ id?: string;
11
+ cacheToolsList?: boolean;
12
+ }): MCPServerStdio;
13
+ /**
14
+ * Wait for a condition to be true or timeout.
15
+ */
16
+ export declare function waitFor(condition: () => boolean | Promise<boolean>, timeout?: number, interval?: number): Promise<void>;
17
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp/__tests__/fixtures/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACtD,cAAc,CAOhB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC3C,OAAO,SAAO,EACd,QAAQ,SAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -0,0 +1,42 @@
1
+ import { MCPServerStdio } from "../../stdio";
2
+ /**
3
+ * Helper to run a test with an MCP server, ensuring cleanup.
4
+ */
5
+ export async function withMCPServer(serverPath, fn) {
6
+ const server = new MCPServerStdio({
7
+ id: "test-server",
8
+ command: "npx",
9
+ args: ["tsx", serverPath],
10
+ });
11
+ try {
12
+ await server.connect();
13
+ return await fn(server);
14
+ }
15
+ finally {
16
+ await server.close();
17
+ }
18
+ }
19
+ /**
20
+ * Helper to create a server without auto-connecting.
21
+ */
22
+ export function createMCPServer(serverPath, options = {}) {
23
+ return new MCPServerStdio({
24
+ id: options.id ?? "test-server",
25
+ command: "npx",
26
+ args: ["tsx", serverPath],
27
+ cacheToolsList: options.cacheToolsList,
28
+ });
29
+ }
30
+ /**
31
+ * Wait for a condition to be true or timeout.
32
+ */
33
+ export async function waitFor(condition, timeout = 5000, interval = 100) {
34
+ const startTime = Date.now();
35
+ while (Date.now() - startTime < timeout) {
36
+ if (await condition()) {
37
+ return;
38
+ }
39
+ await new Promise((resolve) => setTimeout(resolve, interval));
40
+ }
41
+ throw new Error(`Timeout waiting for condition after ${timeout}ms`);
42
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../../src/mcp/__tests__/integration.test.ts"],"names":[],"mappings":""}