opc-agent 4.1.1 → 4.1.3

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 (744) hide show
  1. package/dist/analytics/index.d.ts.map +1 -0
  2. package/dist/analytics/index.js.map +1 -0
  3. package/dist/channels/dingtalk.d.ts.map +1 -0
  4. package/dist/channels/dingtalk.js.map +1 -0
  5. package/dist/channels/discord.d.ts.map +1 -0
  6. package/dist/channels/discord.js.map +1 -0
  7. package/dist/channels/email.d.ts.map +1 -0
  8. package/dist/channels/email.js.map +1 -0
  9. package/dist/channels/feishu.d.ts.map +1 -0
  10. package/dist/channels/feishu.js.map +1 -0
  11. package/dist/channels/googlechat.d.ts.map +1 -0
  12. package/dist/channels/googlechat.js.map +1 -0
  13. package/dist/channels/imessage.d.ts.map +1 -0
  14. package/dist/channels/imessage.js.map +1 -0
  15. package/dist/channels/index.d.ts.map +1 -0
  16. package/dist/channels/index.js.map +1 -0
  17. package/dist/channels/irc.d.ts.map +1 -0
  18. package/dist/channels/irc.js.map +1 -0
  19. package/dist/channels/line.d.ts.map +1 -0
  20. package/dist/channels/line.js.map +1 -0
  21. package/dist/channels/matrix.d.ts.map +1 -0
  22. package/dist/channels/matrix.js.map +1 -0
  23. package/dist/channels/mattermost.d.ts.map +1 -0
  24. package/dist/channels/mattermost.js.map +1 -0
  25. package/dist/channels/msteams.d.ts.map +1 -0
  26. package/dist/channels/msteams.js.map +1 -0
  27. package/dist/channels/nostr.d.ts.map +1 -0
  28. package/dist/channels/nostr.js.map +1 -0
  29. package/dist/channels/qq.d.ts.map +1 -0
  30. package/dist/channels/qq.js.map +1 -0
  31. package/dist/channels/signal.d.ts.map +1 -0
  32. package/dist/channels/signal.js.map +1 -0
  33. package/dist/channels/slack.d.ts.map +1 -0
  34. package/dist/channels/slack.js.map +1 -0
  35. package/dist/channels/sms.d.ts.map +1 -0
  36. package/dist/channels/sms.js.map +1 -0
  37. package/dist/channels/telegram.d.ts.map +1 -0
  38. package/dist/channels/telegram.js.map +1 -0
  39. package/dist/channels/twitch.d.ts.map +1 -0
  40. package/dist/channels/twitch.js.map +1 -0
  41. package/dist/channels/voice-call.d.ts.map +1 -0
  42. package/dist/channels/voice-call.js.map +1 -0
  43. package/dist/channels/voice.d.ts.map +1 -0
  44. package/dist/channels/voice.js.map +1 -0
  45. package/dist/channels/web.d.ts.map +1 -0
  46. package/dist/channels/web.js +8 -2
  47. package/dist/channels/web.js.map +1 -0
  48. package/dist/channels/webhook.d.ts.map +1 -0
  49. package/dist/channels/webhook.js.map +1 -0
  50. package/dist/channels/websocket.d.ts.map +1 -0
  51. package/dist/channels/websocket.js.map +1 -0
  52. package/dist/channels/wechat.d.ts.map +1 -0
  53. package/dist/channels/wechat.js.map +1 -0
  54. package/dist/channels/whatsapp.d.ts.map +1 -0
  55. package/dist/channels/whatsapp.js.map +1 -0
  56. package/dist/cli/chat.d.ts.map +1 -0
  57. package/dist/cli/chat.js.map +1 -0
  58. package/dist/cli/setup.d.ts.map +1 -0
  59. package/dist/cli/setup.js.map +1 -0
  60. package/dist/cli.d.ts.map +1 -0
  61. package/dist/cli.js +261 -85
  62. package/dist/cli.js.map +1 -0
  63. package/dist/core/a2a.d.ts.map +1 -0
  64. package/dist/core/a2a.js.map +1 -0
  65. package/dist/core/agent.d.ts.map +1 -0
  66. package/dist/core/agent.js.map +1 -0
  67. package/dist/core/analytics-engine.d.ts.map +1 -0
  68. package/dist/core/analytics-engine.js.map +1 -0
  69. package/dist/core/api-server.d.ts.map +1 -0
  70. package/dist/core/api-server.js.map +1 -0
  71. package/dist/core/audio.d.ts.map +1 -0
  72. package/dist/core/audio.js.map +1 -0
  73. package/dist/core/auth.d.ts.map +1 -0
  74. package/dist/core/auth.js.map +1 -0
  75. package/dist/core/cache.d.ts.map +1 -0
  76. package/dist/core/cache.js.map +1 -0
  77. package/dist/core/collaboration.d.ts.map +1 -0
  78. package/dist/core/collaboration.js.map +1 -0
  79. package/dist/core/compose.d.ts.map +1 -0
  80. package/dist/core/compose.js.map +1 -0
  81. package/dist/core/config.d.ts.map +1 -0
  82. package/dist/core/config.js.map +1 -0
  83. package/dist/core/context-discovery.d.ts.map +1 -0
  84. package/dist/core/context-discovery.js.map +1 -0
  85. package/dist/core/context-refs.d.ts.map +1 -0
  86. package/dist/core/context-refs.js.map +1 -0
  87. package/dist/core/errors.d.ts.map +1 -0
  88. package/dist/core/errors.js.map +1 -0
  89. package/dist/core/gateway.d.ts.map +1 -0
  90. package/dist/core/gateway.js.map +1 -0
  91. package/dist/core/heartbeat.d.ts.map +1 -0
  92. package/dist/core/heartbeat.js.map +1 -0
  93. package/dist/core/hitl.d.ts.map +1 -0
  94. package/dist/core/hitl.js.map +1 -0
  95. package/dist/core/hooks.d.ts.map +1 -0
  96. package/dist/core/hooks.js.map +1 -0
  97. package/dist/core/ide-bridge.d.ts.map +1 -0
  98. package/dist/core/ide-bridge.js.map +1 -0
  99. package/dist/core/knowledge.d.ts.map +1 -0
  100. package/dist/core/knowledge.js.map +1 -0
  101. package/dist/core/logger.d.ts.map +1 -0
  102. package/dist/core/logger.js.map +1 -0
  103. package/dist/core/node-network.d.ts.map +1 -0
  104. package/dist/core/node-network.js.map +1 -0
  105. package/dist/core/orchestrator.d.ts.map +1 -0
  106. package/dist/core/orchestrator.js.map +1 -0
  107. package/dist/core/performance.d.ts.map +1 -0
  108. package/dist/core/performance.js.map +1 -0
  109. package/dist/core/profiles.d.ts.map +1 -0
  110. package/dist/core/profiles.js.map +1 -0
  111. package/dist/core/rate-limiter.d.ts.map +1 -0
  112. package/dist/core/rate-limiter.js.map +1 -0
  113. package/dist/core/room.d.ts.map +1 -0
  114. package/dist/core/room.js.map +1 -0
  115. package/dist/core/runtime.d.ts.map +1 -0
  116. package/dist/core/runtime.js +37 -15
  117. package/dist/core/runtime.js.map +1 -0
  118. package/dist/core/sandbox.d.ts.map +1 -0
  119. package/dist/core/sandbox.js.map +1 -0
  120. package/dist/core/scheduler.d.ts.map +1 -0
  121. package/dist/core/scheduler.js.map +1 -0
  122. package/dist/core/security.d.ts.map +1 -0
  123. package/dist/core/security.js.map +1 -0
  124. package/dist/core/session-manager.d.ts.map +1 -0
  125. package/dist/core/session-manager.js.map +1 -0
  126. package/dist/core/streaming.d.ts.map +1 -0
  127. package/dist/core/streaming.js.map +1 -0
  128. package/dist/core/subagent.d.ts.map +1 -0
  129. package/dist/core/subagent.js.map +1 -0
  130. package/dist/core/types.d.ts.map +1 -0
  131. package/dist/core/types.js.map +1 -0
  132. package/dist/core/versioning.d.ts.map +1 -0
  133. package/dist/core/versioning.js.map +1 -0
  134. package/dist/core/vision.d.ts.map +1 -0
  135. package/dist/core/vision.js.map +1 -0
  136. package/dist/core/watch.d.ts.map +1 -0
  137. package/dist/core/watch.js.map +1 -0
  138. package/dist/core/workflow-graph.d.ts.map +1 -0
  139. package/dist/core/workflow-graph.js.map +1 -0
  140. package/dist/core/workflow.d.ts.map +1 -0
  141. package/dist/core/workflow.js.map +1 -0
  142. package/dist/daemon.d.ts.map +1 -0
  143. package/dist/daemon.js.map +1 -0
  144. package/dist/deploy/hermes.d.ts.map +1 -0
  145. package/dist/deploy/hermes.js.map +1 -0
  146. package/dist/deploy/index.d.ts.map +1 -0
  147. package/dist/deploy/index.js.map +1 -0
  148. package/dist/deploy/openclaw.d.ts.map +1 -0
  149. package/dist/deploy/openclaw.js.map +1 -0
  150. package/dist/doctor.d.ts +1 -0
  151. package/dist/doctor.d.ts.map +1 -0
  152. package/dist/doctor.js +105 -10
  153. package/dist/doctor.js.map +1 -0
  154. package/dist/eval/index.d.ts.map +1 -0
  155. package/dist/eval/index.js.map +1 -0
  156. package/dist/hub/brain-seed.d.ts.map +1 -0
  157. package/dist/hub/brain-seed.js.map +1 -0
  158. package/dist/hub/client.d.ts.map +1 -0
  159. package/dist/hub/client.js.map +1 -0
  160. package/dist/i18n/index.d.ts.map +1 -0
  161. package/dist/i18n/index.js.map +1 -0
  162. package/dist/index.d.ts.map +1 -0
  163. package/dist/index.js.map +1 -0
  164. package/dist/mcp/servers/calculator-mcp.d.ts.map +1 -0
  165. package/dist/mcp/servers/calculator-mcp.js.map +1 -0
  166. package/dist/mcp/servers/crypto-mcp.d.ts.map +1 -0
  167. package/dist/mcp/servers/crypto-mcp.js.map +1 -0
  168. package/dist/mcp/servers/database-mcp.d.ts.map +1 -0
  169. package/dist/mcp/servers/database-mcp.js.map +1 -0
  170. package/dist/mcp/servers/datetime-mcp.d.ts.map +1 -0
  171. package/dist/mcp/servers/datetime-mcp.js.map +1 -0
  172. package/dist/mcp/servers/filesystem.d.ts.map +1 -0
  173. package/dist/mcp/servers/filesystem.js.map +1 -0
  174. package/dist/mcp/servers/github-mcp.d.ts.map +1 -0
  175. package/dist/mcp/servers/github-mcp.js.map +1 -0
  176. package/dist/mcp/servers/index.d.ts.map +1 -0
  177. package/dist/mcp/servers/index.js.map +1 -0
  178. package/dist/mcp/servers/json-mcp.d.ts.map +1 -0
  179. package/dist/mcp/servers/json-mcp.js.map +1 -0
  180. package/dist/mcp/servers/memory-mcp.d.ts.map +1 -0
  181. package/dist/mcp/servers/memory-mcp.js.map +1 -0
  182. package/dist/mcp/servers/regex-mcp.d.ts.map +1 -0
  183. package/dist/mcp/servers/regex-mcp.js.map +1 -0
  184. package/dist/mcp/servers/web-mcp.d.ts.map +1 -0
  185. package/dist/mcp/servers/web-mcp.js.map +1 -0
  186. package/dist/memory/context-compressor.d.ts.map +1 -0
  187. package/dist/memory/context-compressor.js.map +1 -0
  188. package/dist/memory/deepbrain.d.ts +1 -1
  189. package/dist/memory/deepbrain.d.ts.map +1 -0
  190. package/dist/memory/deepbrain.js +95 -4
  191. package/dist/memory/deepbrain.js.map +1 -0
  192. package/dist/memory/index.d.ts.map +1 -0
  193. package/dist/memory/index.js.map +1 -0
  194. package/dist/memory/seed-loader.d.ts.map +1 -0
  195. package/dist/memory/seed-loader.js.map +1 -0
  196. package/dist/memory/user-profiler.d.ts.map +1 -0
  197. package/dist/memory/user-profiler.js.map +1 -0
  198. package/dist/plugins/content-filter.d.ts.map +1 -0
  199. package/dist/plugins/content-filter.js.map +1 -0
  200. package/dist/plugins/index.d.ts.map +1 -0
  201. package/dist/plugins/index.js.map +1 -0
  202. package/dist/plugins/logger.d.ts.map +1 -0
  203. package/dist/plugins/logger.js.map +1 -0
  204. package/dist/plugins/rate-limiter.d.ts.map +1 -0
  205. package/dist/plugins/rate-limiter.js.map +1 -0
  206. package/dist/protocols/a2a/client.d.ts.map +1 -0
  207. package/dist/protocols/a2a/client.js.map +1 -0
  208. package/dist/protocols/a2a/index.d.ts.map +1 -0
  209. package/dist/protocols/a2a/index.js.map +1 -0
  210. package/dist/protocols/a2a/server.d.ts.map +1 -0
  211. package/dist/protocols/a2a/server.js.map +1 -0
  212. package/dist/protocols/a2a/types.d.ts.map +1 -0
  213. package/dist/protocols/a2a/types.js.map +1 -0
  214. package/dist/protocols/a2a/utils.d.ts.map +1 -0
  215. package/dist/protocols/a2a/utils.js.map +1 -0
  216. package/dist/protocols/agui/client.d.ts.map +1 -0
  217. package/dist/protocols/agui/client.js.map +1 -0
  218. package/dist/protocols/agui/index.d.ts.map +1 -0
  219. package/dist/protocols/agui/index.js.map +1 -0
  220. package/dist/protocols/agui/server.d.ts.map +1 -0
  221. package/dist/protocols/agui/server.js.map +1 -0
  222. package/dist/protocols/agui/types.d.ts.map +1 -0
  223. package/dist/protocols/agui/types.js.map +1 -0
  224. package/dist/protocols/index.d.ts.map +1 -0
  225. package/dist/protocols/index.js.map +1 -0
  226. package/dist/protocols/mcp/agent-tools.d.ts.map +1 -0
  227. package/dist/protocols/mcp/agent-tools.js.map +1 -0
  228. package/dist/protocols/mcp/index.d.ts.map +1 -0
  229. package/dist/protocols/mcp/index.js.map +1 -0
  230. package/dist/protocols/mcp/server.d.ts.map +1 -0
  231. package/dist/protocols/mcp/server.js.map +1 -0
  232. package/dist/protocols/mcp/types.d.ts.map +1 -0
  233. package/dist/protocols/mcp/types.js.map +1 -0
  234. package/dist/providers/index.d.ts.map +1 -0
  235. package/dist/providers/index.js.map +1 -0
  236. package/dist/publish/index.d.ts.map +1 -0
  237. package/dist/publish/index.js.map +1 -0
  238. package/dist/scheduler/cron-engine.d.ts.map +1 -0
  239. package/dist/scheduler/cron-engine.js +3 -36
  240. package/dist/scheduler/cron-engine.js.map +1 -0
  241. package/dist/scheduler/index.d.ts.map +1 -0
  242. package/dist/scheduler/index.js.map +1 -0
  243. package/dist/schema/oad.d.ts.map +1 -0
  244. package/dist/schema/oad.js.map +1 -0
  245. package/dist/security/approval.d.ts.map +1 -0
  246. package/dist/security/approval.js.map +1 -0
  247. package/dist/security/approvals.d.ts.map +1 -0
  248. package/dist/security/approvals.js.map +1 -0
  249. package/dist/security/elevated.d.ts.map +1 -0
  250. package/dist/security/elevated.js.map +1 -0
  251. package/dist/security/guardrails.d.ts.map +1 -0
  252. package/dist/security/guardrails.js.map +1 -0
  253. package/dist/security/index.d.ts.map +1 -0
  254. package/dist/security/index.js.map +1 -0
  255. package/dist/security/keys.d.ts.map +1 -0
  256. package/dist/security/keys.js.map +1 -0
  257. package/dist/security/secrets.d.ts.map +1 -0
  258. package/dist/security/secrets.js.map +1 -0
  259. package/dist/skills/auto-learn.d.ts.map +1 -0
  260. package/dist/skills/auto-learn.js.map +1 -0
  261. package/dist/skills/base.d.ts.map +1 -0
  262. package/dist/skills/base.js.map +1 -0
  263. package/dist/skills/builtin/index.d.ts.map +1 -0
  264. package/dist/skills/builtin/index.js.map +1 -0
  265. package/dist/skills/document.d.ts.map +1 -0
  266. package/dist/skills/document.js.map +1 -0
  267. package/dist/skills/http.d.ts.map +1 -0
  268. package/dist/skills/http.js.map +1 -0
  269. package/dist/skills/index.d.ts.map +1 -0
  270. package/dist/skills/index.js.map +1 -0
  271. package/dist/skills/marketplace.d.ts.map +1 -0
  272. package/dist/skills/marketplace.js.map +1 -0
  273. package/dist/skills/scheduler.d.ts.map +1 -0
  274. package/dist/skills/scheduler.js.map +1 -0
  275. package/dist/skills/types.d.ts.map +1 -0
  276. package/dist/skills/types.js.map +1 -0
  277. package/dist/skills/webhook-trigger.d.ts.map +1 -0
  278. package/dist/skills/webhook-trigger.js.map +1 -0
  279. package/dist/studio/server.d.ts.map +1 -0
  280. package/dist/studio/server.js.map +1 -0
  281. package/dist/studio/templates-data.d.ts.map +1 -0
  282. package/dist/studio/templates-data.js.map +1 -0
  283. package/dist/telemetry/index.d.ts.map +1 -0
  284. package/dist/telemetry/index.js.map +1 -0
  285. package/dist/templates/code-reviewer.d.ts.map +1 -0
  286. package/dist/templates/code-reviewer.js.map +1 -0
  287. package/dist/templates/content-writer.d.ts.map +1 -0
  288. package/dist/templates/content-writer.js.map +1 -0
  289. package/dist/templates/customer-service.d.ts.map +1 -0
  290. package/dist/templates/customer-service.js.map +1 -0
  291. package/dist/templates/data-analyst.d.ts.map +1 -0
  292. package/dist/templates/data-analyst.js.map +1 -0
  293. package/dist/templates/executive-assistant.d.ts.map +1 -0
  294. package/dist/templates/executive-assistant.js.map +1 -0
  295. package/dist/templates/financial-advisor.d.ts.map +1 -0
  296. package/dist/templates/financial-advisor.js.map +1 -0
  297. package/dist/templates/hr-recruiter.d.ts.map +1 -0
  298. package/dist/templates/hr-recruiter.js.map +1 -0
  299. package/dist/templates/knowledge-base.d.ts.map +1 -0
  300. package/dist/templates/knowledge-base.js.map +1 -0
  301. package/dist/templates/legal-assistant.d.ts.map +1 -0
  302. package/dist/templates/legal-assistant.js.map +1 -0
  303. package/dist/templates/project-manager.d.ts.map +1 -0
  304. package/dist/templates/project-manager.js.map +1 -0
  305. package/dist/templates/sales-assistant.d.ts.map +1 -0
  306. package/dist/templates/sales-assistant.js.map +1 -0
  307. package/dist/templates/teacher.d.ts.map +1 -0
  308. package/dist/templates/teacher.js.map +1 -0
  309. package/dist/testing/index.d.ts.map +1 -0
  310. package/dist/testing/index.js.map +1 -0
  311. package/dist/tools/builtin/browser.d.ts.map +1 -0
  312. package/dist/tools/builtin/browser.js.map +1 -0
  313. package/dist/tools/builtin/datetime.d.ts.map +1 -0
  314. package/dist/tools/builtin/datetime.js.map +1 -0
  315. package/dist/tools/builtin/file.d.ts.map +1 -0
  316. package/dist/tools/builtin/file.js.map +1 -0
  317. package/dist/tools/builtin/home-assistant.d.ts.map +1 -0
  318. package/dist/tools/builtin/home-assistant.js.map +1 -0
  319. package/dist/tools/builtin/index.d.ts.map +1 -0
  320. package/dist/tools/builtin/index.js.map +1 -0
  321. package/dist/tools/builtin/rl-tools.d.ts.map +1 -0
  322. package/dist/tools/builtin/rl-tools.js.map +1 -0
  323. package/dist/tools/builtin/shell.d.ts.map +1 -0
  324. package/dist/tools/builtin/shell.js.map +1 -0
  325. package/dist/tools/builtin/vision.d.ts.map +1 -0
  326. package/dist/tools/builtin/vision.js.map +1 -0
  327. package/dist/tools/builtin/web-search.d.ts.map +1 -0
  328. package/dist/tools/builtin/web-search.js.map +1 -0
  329. package/dist/tools/builtin/web.d.ts.map +1 -0
  330. package/dist/tools/builtin/web.js.map +1 -0
  331. package/dist/tools/calculator.d.ts.map +1 -0
  332. package/dist/tools/calculator.js.map +1 -0
  333. package/dist/tools/datetime.d.ts.map +1 -0
  334. package/dist/tools/datetime.js.map +1 -0
  335. package/dist/tools/document-processor.d.ts.map +1 -0
  336. package/dist/tools/document-processor.js.map +1 -0
  337. package/dist/tools/gateway.d.ts.map +1 -0
  338. package/dist/tools/gateway.js.map +1 -0
  339. package/dist/tools/image-generator.d.ts.map +1 -0
  340. package/dist/tools/image-generator.js.map +1 -0
  341. package/dist/tools/integrations/calendar.d.ts.map +1 -0
  342. package/dist/tools/integrations/calendar.js.map +1 -0
  343. package/dist/tools/integrations/code-exec.d.ts.map +1 -0
  344. package/dist/tools/integrations/code-exec.js.map +1 -0
  345. package/dist/tools/integrations/csv-analyzer.d.ts.map +1 -0
  346. package/dist/tools/integrations/csv-analyzer.js.map +1 -0
  347. package/dist/tools/integrations/database.d.ts.map +1 -0
  348. package/dist/tools/integrations/database.js.map +1 -0
  349. package/dist/tools/integrations/email-send.d.ts.map +1 -0
  350. package/dist/tools/integrations/email-send.js.map +1 -0
  351. package/dist/tools/integrations/git-tool.d.ts.map +1 -0
  352. package/dist/tools/integrations/git-tool.js.map +1 -0
  353. package/dist/tools/integrations/github-tool.d.ts.map +1 -0
  354. package/dist/tools/integrations/github-tool.js.map +1 -0
  355. package/dist/tools/integrations/image-gen.d.ts.map +1 -0
  356. package/dist/tools/integrations/image-gen.js.map +1 -0
  357. package/dist/tools/integrations/index.d.ts.map +1 -0
  358. package/dist/tools/integrations/index.js.map +1 -0
  359. package/dist/tools/integrations/jira.d.ts.map +1 -0
  360. package/dist/tools/integrations/jira.js.map +1 -0
  361. package/dist/tools/integrations/notion.d.ts.map +1 -0
  362. package/dist/tools/integrations/notion.js.map +1 -0
  363. package/dist/tools/integrations/npm-tool.d.ts.map +1 -0
  364. package/dist/tools/integrations/npm-tool.js.map +1 -0
  365. package/dist/tools/integrations/pdf-reader.d.ts.map +1 -0
  366. package/dist/tools/integrations/pdf-reader.js.map +1 -0
  367. package/dist/tools/integrations/slack.d.ts.map +1 -0
  368. package/dist/tools/integrations/slack.js.map +1 -0
  369. package/dist/tools/integrations/summarizer.d.ts.map +1 -0
  370. package/dist/tools/integrations/summarizer.js.map +1 -0
  371. package/dist/tools/integrations/translator.d.ts.map +1 -0
  372. package/dist/tools/integrations/translator.js.map +1 -0
  373. package/dist/tools/integrations/trello.d.ts.map +1 -0
  374. package/dist/tools/integrations/trello.js.map +1 -0
  375. package/dist/tools/integrations/vector-search.d.ts.map +1 -0
  376. package/dist/tools/integrations/vector-search.js.map +1 -0
  377. package/dist/tools/integrations/web-scraper.d.ts.map +1 -0
  378. package/dist/tools/integrations/web-scraper.js.map +1 -0
  379. package/dist/tools/integrations/web-search.d.ts.map +1 -0
  380. package/dist/tools/integrations/web-search.js.map +1 -0
  381. package/dist/tools/integrations/webhook.d.ts.map +1 -0
  382. package/dist/tools/integrations/webhook.js.map +1 -0
  383. package/dist/tools/json-transform.d.ts.map +1 -0
  384. package/dist/tools/json-transform.js.map +1 -0
  385. package/dist/tools/mcp-client.d.ts.map +1 -0
  386. package/dist/tools/mcp-client.js.map +1 -0
  387. package/dist/tools/mcp.d.ts.map +1 -0
  388. package/dist/tools/mcp.js.map +1 -0
  389. package/dist/tools/text-analysis.d.ts.map +1 -0
  390. package/dist/tools/text-analysis.js.map +1 -0
  391. package/dist/tools/web-scraper.d.ts.map +1 -0
  392. package/dist/tools/web-scraper.js.map +1 -0
  393. package/dist/tools/web-search.d.ts.map +1 -0
  394. package/dist/tools/web-search.js.map +1 -0
  395. package/dist/traces/index.d.ts.map +1 -0
  396. package/dist/traces/index.js.map +1 -0
  397. package/dist/ui/components.d.ts.map +1 -0
  398. package/dist/ui/components.js.map +1 -0
  399. package/package.json +1 -1
  400. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -20
  401. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  402. package/.github/PULL_REQUEST_TEMPLATE.md +0 -13
  403. package/.github/workflows/ci.yml +0 -24
  404. package/docs/.vitepress/config.ts +0 -103
  405. package/docs/api/cli.md +0 -48
  406. package/docs/api/oad-schema.md +0 -64
  407. package/docs/api/sdk.md +0 -80
  408. package/docs/guide/concepts.md +0 -51
  409. package/docs/guide/configuration.md +0 -79
  410. package/docs/guide/deployment.md +0 -42
  411. package/docs/guide/getting-started.md +0 -44
  412. package/docs/guide/templates.md +0 -28
  413. package/docs/guide/testing.md +0 -84
  414. package/docs/index.md +0 -27
  415. package/docs/zh/api/cli.md +0 -54
  416. package/docs/zh/api/oad-schema.md +0 -87
  417. package/docs/zh/api/sdk.md +0 -102
  418. package/docs/zh/guide/concepts.md +0 -104
  419. package/docs/zh/guide/configuration.md +0 -135
  420. package/docs/zh/guide/deployment.md +0 -81
  421. package/docs/zh/guide/getting-started.md +0 -82
  422. package/docs/zh/guide/templates.md +0 -84
  423. package/docs/zh/guide/testing.md +0 -88
  424. package/docs/zh/index.md +0 -27
  425. package/fix-sidebar.mjs +0 -188
  426. package/serve-studio.js +0 -13
  427. package/serve-test.js +0 -25
  428. package/src/analytics/index.ts +0 -66
  429. package/src/channels/dingtalk.ts +0 -46
  430. package/src/channels/discord.ts +0 -192
  431. package/src/channels/email.ts +0 -351
  432. package/src/channels/feishu.ts +0 -349
  433. package/src/channels/googlechat.ts +0 -42
  434. package/src/channels/imessage.ts +0 -32
  435. package/src/channels/index.ts +0 -15
  436. package/src/channels/irc.ts +0 -82
  437. package/src/channels/line.ts +0 -33
  438. package/src/channels/matrix.ts +0 -34
  439. package/src/channels/mattermost.ts +0 -57
  440. package/src/channels/msteams.ts +0 -33
  441. package/src/channels/nostr.ts +0 -33
  442. package/src/channels/qq.ts +0 -34
  443. package/src/channels/signal.ts +0 -33
  444. package/src/channels/slack.ts +0 -217
  445. package/src/channels/sms.ts +0 -34
  446. package/src/channels/telegram.ts +0 -616
  447. package/src/channels/twitch.ts +0 -65
  448. package/src/channels/voice-call.ts +0 -100
  449. package/src/channels/voice.ts +0 -471
  450. package/src/channels/web.ts +0 -632
  451. package/src/channels/webhook.ts +0 -199
  452. package/src/channels/websocket.ts +0 -399
  453. package/src/channels/wechat.ts +0 -329
  454. package/src/channels/whatsapp.ts +0 -33
  455. package/src/cli/chat.ts +0 -99
  456. package/src/cli/setup.ts +0 -314
  457. package/src/cli.ts +0 -2723
  458. package/src/core/a2a.ts +0 -203
  459. package/src/core/agent.ts +0 -476
  460. package/src/core/analytics-engine.ts +0 -186
  461. package/src/core/api-server.ts +0 -277
  462. package/src/core/audio.ts +0 -98
  463. package/src/core/auth.ts +0 -57
  464. package/src/core/cache.ts +0 -141
  465. package/src/core/collaboration.ts +0 -275
  466. package/src/core/compose.ts +0 -77
  467. package/src/core/config.ts +0 -14
  468. package/src/core/context-discovery.ts +0 -85
  469. package/src/core/context-refs.ts +0 -140
  470. package/src/core/errors.ts +0 -148
  471. package/src/core/gateway.ts +0 -106
  472. package/src/core/heartbeat.ts +0 -51
  473. package/src/core/hitl.ts +0 -138
  474. package/src/core/hooks.ts +0 -105
  475. package/src/core/ide-bridge.ts +0 -133
  476. package/src/core/knowledge.ts +0 -255
  477. package/src/core/logger.ts +0 -57
  478. package/src/core/node-network.ts +0 -86
  479. package/src/core/orchestrator.ts +0 -215
  480. package/src/core/performance.ts +0 -187
  481. package/src/core/profiles.ts +0 -122
  482. package/src/core/rate-limiter.ts +0 -128
  483. package/src/core/room.ts +0 -109
  484. package/src/core/runtime.ts +0 -410
  485. package/src/core/sandbox.ts +0 -344
  486. package/src/core/scheduler.ts +0 -187
  487. package/src/core/security.ts +0 -171
  488. package/src/core/session-manager.ts +0 -137
  489. package/src/core/streaming.ts +0 -195
  490. package/src/core/subagent.ts +0 -98
  491. package/src/core/types.ts +0 -68
  492. package/src/core/versioning.ts +0 -106
  493. package/src/core/vision.ts +0 -180
  494. package/src/core/watch.ts +0 -178
  495. package/src/core/workflow-graph.ts +0 -365
  496. package/src/core/workflow.ts +0 -235
  497. package/src/daemon.ts +0 -96
  498. package/src/deploy/hermes.ts +0 -156
  499. package/src/deploy/index.ts +0 -255
  500. package/src/deploy/openclaw.ts +0 -190
  501. package/src/doctor.ts +0 -156
  502. package/src/eval/index.ts +0 -211
  503. package/src/eval/suites/basic.json +0 -16
  504. package/src/eval/suites/memory.json +0 -12
  505. package/src/eval/suites/safety.json +0 -14
  506. package/src/hub/brain-seed.ts +0 -54
  507. package/src/hub/client.ts +0 -60
  508. package/src/i18n/index.ts +0 -216
  509. package/src/index.ts +0 -283
  510. package/src/mcp/servers/calculator-mcp.ts +0 -65
  511. package/src/mcp/servers/crypto-mcp.ts +0 -73
  512. package/src/mcp/servers/database-mcp.ts +0 -72
  513. package/src/mcp/servers/datetime-mcp.ts +0 -69
  514. package/src/mcp/servers/filesystem.ts +0 -66
  515. package/src/mcp/servers/github-mcp.ts +0 -58
  516. package/src/mcp/servers/index.ts +0 -63
  517. package/src/mcp/servers/json-mcp.ts +0 -102
  518. package/src/mcp/servers/memory-mcp.ts +0 -56
  519. package/src/mcp/servers/regex-mcp.ts +0 -53
  520. package/src/mcp/servers/web-mcp.ts +0 -49
  521. package/src/memory/context-compressor.ts +0 -189
  522. package/src/memory/deepbrain.ts +0 -108
  523. package/src/memory/index.ts +0 -41
  524. package/src/memory/seed-loader.ts +0 -212
  525. package/src/memory/user-profiler.ts +0 -215
  526. package/src/plugins/content-filter.ts +0 -23
  527. package/src/plugins/index.ts +0 -339
  528. package/src/plugins/logger.ts +0 -18
  529. package/src/plugins/rate-limiter.ts +0 -38
  530. package/src/protocols/a2a/client.ts +0 -132
  531. package/src/protocols/a2a/index.ts +0 -8
  532. package/src/protocols/a2a/server.ts +0 -333
  533. package/src/protocols/a2a/types.ts +0 -88
  534. package/src/protocols/a2a/utils.ts +0 -50
  535. package/src/protocols/agui/client.ts +0 -83
  536. package/src/protocols/agui/index.ts +0 -4
  537. package/src/protocols/agui/server.ts +0 -218
  538. package/src/protocols/agui/types.ts +0 -153
  539. package/src/protocols/index.ts +0 -2
  540. package/src/protocols/mcp/agent-tools.ts +0 -134
  541. package/src/protocols/mcp/index.ts +0 -8
  542. package/src/protocols/mcp/server.ts +0 -262
  543. package/src/protocols/mcp/types.ts +0 -69
  544. package/src/providers/index.ts +0 -632
  545. package/src/publish/index.ts +0 -376
  546. package/src/scheduler/cron-engine.ts +0 -191
  547. package/src/scheduler/index.ts +0 -2
  548. package/src/schema/oad.ts +0 -217
  549. package/src/security/approval.ts +0 -131
  550. package/src/security/approvals.ts +0 -143
  551. package/src/security/elevated.ts +0 -105
  552. package/src/security/guardrails.ts +0 -248
  553. package/src/security/index.ts +0 -9
  554. package/src/security/keys.ts +0 -87
  555. package/src/security/secrets.ts +0 -129
  556. package/src/skills/auto-learn.ts +0 -262
  557. package/src/skills/base.ts +0 -16
  558. package/src/skills/builtin/index.ts +0 -408
  559. package/src/skills/document.ts +0 -100
  560. package/src/skills/http.ts +0 -35
  561. package/src/skills/index.ts +0 -27
  562. package/src/skills/marketplace.ts +0 -113
  563. package/src/skills/scheduler.ts +0 -80
  564. package/src/skills/types.ts +0 -42
  565. package/src/skills/webhook-trigger.ts +0 -59
  566. package/src/studio/server.ts +0 -1791
  567. package/src/studio/templates-data.ts +0 -178
  568. package/src/studio-ui/index.html +0 -3076
  569. package/src/telemetry/index.ts +0 -324
  570. package/src/templates/code-reviewer.ts +0 -30
  571. package/src/templates/content-writer.ts +0 -58
  572. package/src/templates/customer-service.ts +0 -76
  573. package/src/templates/data-analyst.ts +0 -66
  574. package/src/templates/executive-assistant.ts +0 -71
  575. package/src/templates/financial-advisor.ts +0 -60
  576. package/src/templates/hr-recruiter.ts +0 -58
  577. package/src/templates/knowledge-base.ts +0 -27
  578. package/src/templates/legal-assistant.ts +0 -71
  579. package/src/templates/project-manager.ts +0 -58
  580. package/src/templates/sales-assistant.ts +0 -75
  581. package/src/templates/teacher.ts +0 -75
  582. package/src/testing/index.ts +0 -181
  583. package/src/tools/builtin/browser.ts +0 -299
  584. package/src/tools/builtin/datetime.ts +0 -41
  585. package/src/tools/builtin/file.ts +0 -107
  586. package/src/tools/builtin/home-assistant.ts +0 -116
  587. package/src/tools/builtin/index.ts +0 -37
  588. package/src/tools/builtin/rl-tools.ts +0 -243
  589. package/src/tools/builtin/shell.ts +0 -43
  590. package/src/tools/builtin/vision.ts +0 -64
  591. package/src/tools/builtin/web-search.ts +0 -126
  592. package/src/tools/builtin/web.ts +0 -35
  593. package/src/tools/calculator.ts +0 -73
  594. package/src/tools/datetime.ts +0 -149
  595. package/src/tools/document-processor.ts +0 -213
  596. package/src/tools/gateway.ts +0 -220
  597. package/src/tools/image-generator.ts +0 -150
  598. package/src/tools/integrations/calendar.ts +0 -73
  599. package/src/tools/integrations/code-exec.ts +0 -39
  600. package/src/tools/integrations/csv-analyzer.ts +0 -92
  601. package/src/tools/integrations/database.ts +0 -44
  602. package/src/tools/integrations/email-send.ts +0 -76
  603. package/src/tools/integrations/git-tool.ts +0 -42
  604. package/src/tools/integrations/github-tool.ts +0 -76
  605. package/src/tools/integrations/image-gen.ts +0 -56
  606. package/src/tools/integrations/index.ts +0 -92
  607. package/src/tools/integrations/jira.ts +0 -83
  608. package/src/tools/integrations/notion.ts +0 -71
  609. package/src/tools/integrations/npm-tool.ts +0 -48
  610. package/src/tools/integrations/pdf-reader.ts +0 -58
  611. package/src/tools/integrations/slack.ts +0 -65
  612. package/src/tools/integrations/summarizer.ts +0 -49
  613. package/src/tools/integrations/translator.ts +0 -48
  614. package/src/tools/integrations/trello.ts +0 -60
  615. package/src/tools/integrations/vector-search.ts +0 -42
  616. package/src/tools/integrations/web-scraper.ts +0 -47
  617. package/src/tools/integrations/web-search.ts +0 -58
  618. package/src/tools/integrations/webhook.ts +0 -38
  619. package/src/tools/json-transform.ts +0 -187
  620. package/src/tools/mcp-client.ts +0 -131
  621. package/src/tools/mcp.ts +0 -76
  622. package/src/tools/text-analysis.ts +0 -116
  623. package/src/tools/web-scraper.ts +0 -179
  624. package/src/tools/web-search.ts +0 -180
  625. package/src/traces/index.ts +0 -132
  626. package/src/types/agent-workstation.d.ts +0 -2
  627. package/src/ui/components.ts +0 -127
  628. package/srv-err.txt +0 -0
  629. package/srv-out.txt +0 -1
  630. package/test-agent/Dockerfile +0 -9
  631. package/test-agent/README.md +0 -50
  632. package/test-agent/agent.yaml +0 -23
  633. package/test-agent/docker-compose.yml +0 -11
  634. package/test-agent/oad.yaml +0 -31
  635. package/test-agent/package-lock.json +0 -1492
  636. package/test-agent/package.json +0 -18
  637. package/test-agent/src/index.ts +0 -24
  638. package/test-agent/src/skills/echo.ts +0 -15
  639. package/test-agent/tsconfig.json +0 -25
  640. package/test-full.js +0 -43
  641. package/test-sidebar.js +0 -22
  642. package/test-studio3.js +0 -75
  643. package/test-studio4.js +0 -41
  644. package/tests/a2a-protocol.test.ts +0 -285
  645. package/tests/a2a.test.ts +0 -66
  646. package/tests/agent.test.ts +0 -72
  647. package/tests/agui-protocol.test.ts +0 -246
  648. package/tests/analytics.test.ts +0 -50
  649. package/tests/api-server.test.ts +0 -148
  650. package/tests/approvals.test.ts +0 -89
  651. package/tests/audio.test.ts +0 -40
  652. package/tests/auto-learn.test.ts +0 -105
  653. package/tests/brain-seed-extended.test.ts +0 -490
  654. package/tests/brain-seed.test.ts +0 -239
  655. package/tests/browser.test.ts +0 -179
  656. package/tests/builtin-tools.test.ts +0 -83
  657. package/tests/channel.test.ts +0 -39
  658. package/tests/channels/discord.test.ts +0 -79
  659. package/tests/channels/email.test.ts +0 -148
  660. package/tests/channels/feishu.test.ts +0 -123
  661. package/tests/channels/telegram.test.ts +0 -129
  662. package/tests/channels/websocket.test.ts +0 -53
  663. package/tests/channels/wechat.test.ts +0 -170
  664. package/tests/channels-extra.test.ts +0 -45
  665. package/tests/chat-cli.test.ts +0 -160
  666. package/tests/cli.test.ts +0 -46
  667. package/tests/collaboration.test.ts +0 -319
  668. package/tests/context-compressor.test.ts +0 -172
  669. package/tests/context-refs.test.ts +0 -121
  670. package/tests/cron-engine.test.ts +0 -101
  671. package/tests/daemon.test.ts +0 -135
  672. package/tests/deepbrain-wire.test.ts +0 -234
  673. package/tests/deploy-and-dag.test.ts +0 -196
  674. package/tests/doctor.test.ts +0 -38
  675. package/tests/document-processor.test.ts +0 -69
  676. package/tests/e2e-nocode.test.ts +0 -442
  677. package/tests/e2e.test.ts +0 -134
  678. package/tests/elevated.test.ts +0 -69
  679. package/tests/errors.test.ts +0 -83
  680. package/tests/eval.test.ts +0 -173
  681. package/tests/gateway.test.ts +0 -63
  682. package/tests/guardrails.test.ts +0 -177
  683. package/tests/hitl.test.ts +0 -71
  684. package/tests/home-assistant.test.ts +0 -40
  685. package/tests/hooks.test.ts +0 -79
  686. package/tests/i18n.test.ts +0 -41
  687. package/tests/ide-bridge.test.ts +0 -38
  688. package/tests/image-generator.test.ts +0 -84
  689. package/tests/init-role.test.ts +0 -124
  690. package/tests/integrations.test.ts +0 -249
  691. package/tests/mcp-client.test.ts +0 -92
  692. package/tests/mcp-server.test.ts +0 -178
  693. package/tests/mcp-servers.test.ts +0 -260
  694. package/tests/mcp.test.ts +0 -54
  695. package/tests/node-network.test.ts +0 -74
  696. package/tests/oad.test.ts +0 -68
  697. package/tests/performance.test.ts +0 -115
  698. package/tests/plugin-a2a-enhanced.test.ts +0 -230
  699. package/tests/plugin.test.ts +0 -74
  700. package/tests/profiles.test.ts +0 -61
  701. package/tests/publish.test.ts +0 -231
  702. package/tests/rl-tools.test.ts +0 -93
  703. package/tests/room.test.ts +0 -106
  704. package/tests/runtime.test.ts +0 -42
  705. package/tests/sandbox-manager.test.ts +0 -46
  706. package/tests/sandbox.test.ts +0 -46
  707. package/tests/scheduler.test.ts +0 -200
  708. package/tests/secrets.test.ts +0 -107
  709. package/tests/security-enhanced.test.ts +0 -233
  710. package/tests/security.test.ts +0 -60
  711. package/tests/settings-api.test.ts +0 -148
  712. package/tests/setup.test.ts +0 -73
  713. package/tests/skill-learner.test.ts +0 -161
  714. package/tests/streaming.test.ts +0 -109
  715. package/tests/studio.test.ts +0 -402
  716. package/tests/subagent.test.ts +0 -193
  717. package/tests/telegram-discord.test.ts +0 -60
  718. package/tests/telemetry.test.ts +0 -186
  719. package/tests/templates.test.ts +0 -77
  720. package/tests/tools/builtin-extended.test.ts +0 -138
  721. package/tests/user-profiler.test.ts +0 -169
  722. package/tests/v070.test.ts +0 -76
  723. package/tests/v090-features.test.ts +0 -254
  724. package/tests/versioning.test.ts +0 -75
  725. package/tests/vision.test.ts +0 -61
  726. package/tests/voice-call.test.ts +0 -47
  727. package/tests/voice-enhanced.test.ts +0 -169
  728. package/tests/voice-interaction.test.ts +0 -38
  729. package/tests/voice.test.ts +0 -61
  730. package/tests/web-search.test.ts +0 -155
  731. package/tests/webhook.test.ts +0 -29
  732. package/tests/workflow-graph.test.ts +0 -279
  733. package/tests/workflow.test.ts +0 -143
  734. package/tmp-js-test.js +0 -1532
  735. package/tmp-sc.js +0 -1716
  736. package/tutorial/customer-service-agent/README.md +0 -612
  737. package/tutorial/customer-service-agent/SOUL.md +0 -26
  738. package/tutorial/customer-service-agent/agent.yaml +0 -63
  739. package/tutorial/customer-service-agent/package.json +0 -19
  740. package/tutorial/customer-service-agent/src/index.ts +0 -69
  741. package/tutorial/customer-service-agent/src/skills/faq.ts +0 -27
  742. package/tutorial/customer-service-agent/src/skills/ticket.ts +0 -22
  743. package/tutorial/customer-service-agent/tsconfig.json +0 -14
  744. package/vitest.config.ts +0 -9
@@ -1,92 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { MCPClient } from '../src/tools/mcp-client';
3
-
4
- describe('MCPClient', () => {
5
- it('starts with no process', () => {
6
- const client = new MCPClient();
7
- expect((client as any).process).toBeNull();
8
- });
9
-
10
- it('starts with empty buffer', () => {
11
- const client = new MCPClient();
12
- expect((client as any).buffer).toBe('');
13
- });
14
-
15
- it('starts not connected', () => {
16
- const client = new MCPClient();
17
- expect((client as any).connected).toBe(false);
18
- });
19
-
20
- it('nextId starts at 1', () => {
21
- const client = new MCPClient();
22
- expect((client as any).nextId).toBe(1);
23
- });
24
-
25
- it('pending map starts empty', () => {
26
- const client = new MCPClient();
27
- expect((client as any).pending.size).toBe(0);
28
- });
29
-
30
- it('config starts null', () => {
31
- const client = new MCPClient();
32
- expect((client as any).config).toBeNull();
33
- });
34
-
35
- it('processBuffer handles complete JSON line', () => {
36
- const client = new MCPClient();
37
- const resolve = vi.fn();
38
- const reject = vi.fn();
39
- (client as any).pending.set(1, { resolve, reject });
40
- (client as any).buffer = '{"id":1,"result":{"tools":[]}}\n';
41
- (client as any).processBuffer();
42
- expect(resolve).toHaveBeenCalledWith({ tools: [] });
43
- expect((client as any).pending.size).toBe(0);
44
- });
45
-
46
- it('processBuffer handles error response', () => {
47
- const client = new MCPClient();
48
- const resolve = vi.fn();
49
- const reject = vi.fn();
50
- (client as any).pending.set(2, { resolve, reject });
51
- (client as any).buffer = '{"id":2,"error":{"message":"not found"}}\n';
52
- (client as any).processBuffer();
53
- expect(reject).toHaveBeenCalled();
54
- expect(reject.mock.calls[0][0].message).toBe('not found');
55
- });
56
-
57
- it('processBuffer handles partial message (no newline)', () => {
58
- const client = new MCPClient();
59
- const resolve = vi.fn();
60
- (client as any).pending.set(1, { resolve, reject: vi.fn() });
61
- (client as any).buffer = '{"id":1,"result":';
62
- (client as any).processBuffer();
63
- expect(resolve).not.toHaveBeenCalled();
64
- // Partial stays in buffer
65
- expect((client as any).buffer).toBe('{"id":1,"result":');
66
- });
67
-
68
- it('processBuffer handles multiple responses in one chunk', () => {
69
- const client = new MCPClient();
70
- const r1 = vi.fn(), r2 = vi.fn();
71
- (client as any).pending.set(1, { resolve: r1, reject: vi.fn() });
72
- (client as any).pending.set(2, { resolve: r2, reject: vi.fn() });
73
- (client as any).buffer = '{"id":1,"result":"a"}\n{"id":2,"result":"b"}\n';
74
- (client as any).processBuffer();
75
- expect(r1).toHaveBeenCalledWith('a');
76
- expect(r2).toHaveBeenCalledWith('b');
77
- });
78
-
79
- it('processBuffer ignores non-JSON lines', () => {
80
- const client = new MCPClient();
81
- (client as any).buffer = 'not json at all\n';
82
- // Should not throw
83
- (client as any).processBuffer();
84
- });
85
-
86
- it('processBuffer ignores responses without matching id', () => {
87
- const client = new MCPClient();
88
- (client as any).buffer = '{"id":999,"result":"orphan"}\n';
89
- // Should not throw
90
- (client as any).processBuffer();
91
- });
92
- });
@@ -1,178 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import { MCPServer } from '../src/protocols/mcp/server';
3
- import { agentToMCPTools, agentToMCPResources } from '../src/protocols/mcp/agent-tools';
4
- import type { MCPServerToolDefinition, JsonRpcRequest } from '../src/protocols/mcp/types';
5
-
6
- function makeRequest(method: string, params?: any, id: number = 1): JsonRpcRequest {
7
- return { jsonrpc: '2.0', id, method, params };
8
- }
9
-
10
- describe('MCPServer', () => {
11
- let server: MCPServer;
12
- const echoTool: MCPServerToolDefinition = {
13
- name: 'echo',
14
- description: 'Echo back input',
15
- inputSchema: {
16
- type: 'object',
17
- properties: { text: { type: 'string' } },
18
- required: ['text'],
19
- },
20
- handler: async (args) => `Echo: ${args.text}`,
21
- };
22
-
23
- beforeEach(() => {
24
- server = new MCPServer({ name: 'test-server', version: '1.0.0', tools: [echoTool] });
25
- });
26
-
27
- it('initialize response has capabilities', async () => {
28
- const res = await server.handleMessage(makeRequest('initialize', {
29
- protocolVersion: '2024-11-05',
30
- capabilities: {},
31
- clientInfo: { name: 'test', version: '1.0' },
32
- }));
33
- expect(res).toBeDefined();
34
- expect(res!.result.protocolVersion).toBe('2024-11-05');
35
- expect(res!.result.capabilities.tools).toBeDefined();
36
- expect(res!.result.serverInfo.name).toBe('test-server');
37
- });
38
-
39
- it('tools/list returns registered tools', async () => {
40
- const res = await server.handleMessage(makeRequest('tools/list'));
41
- expect(res!.result.tools).toHaveLength(1);
42
- expect(res!.result.tools[0].name).toBe('echo');
43
- expect(res!.result.tools[0].description).toBe('Echo back input');
44
- expect(res!.result.tools[0].inputSchema).toBeDefined();
45
- });
46
-
47
- it('tools/call executes handler and returns content', async () => {
48
- const res = await server.handleMessage(makeRequest('tools/call', {
49
- name: 'echo', arguments: { text: 'hello' },
50
- }));
51
- expect(res!.result.content).toHaveLength(1);
52
- expect(res!.result.content[0].text).toBe('Echo: hello');
53
- });
54
-
55
- it('tools/call returns error for missing tool', async () => {
56
- const res = await server.handleMessage(makeRequest('tools/call', {
57
- name: 'nonexistent', arguments: {},
58
- }));
59
- expect(res!.error).toBeDefined();
60
- expect(res!.error!.code).toBe(-32001);
61
- });
62
-
63
- it('tools/call validates required params', async () => {
64
- const res = await server.handleMessage(makeRequest('tools/call', {
65
- name: 'echo', arguments: {},
66
- }));
67
- expect(res!.error).toBeDefined();
68
- expect(res!.error!.code).toBe(-32602);
69
- expect(res!.error!.message).toContain('text');
70
- });
71
-
72
- it('resources/list returns registered resources', async () => {
73
- server.addResource({
74
- uri: 'test://doc', name: 'TestDoc', description: 'A doc', mimeType: 'text/plain',
75
- handler: async () => 'Hello content',
76
- });
77
- const res = await server.handleMessage(makeRequest('resources/list'));
78
- expect(res!.result.resources).toHaveLength(1);
79
- expect(res!.result.resources[0].uri).toBe('test://doc');
80
- });
81
-
82
- it('resources/read returns resource content', async () => {
83
- server.addResource({
84
- uri: 'test://doc', name: 'TestDoc', mimeType: 'text/plain',
85
- handler: async () => 'Hello content',
86
- });
87
- const res = await server.handleMessage(makeRequest('resources/read', { uri: 'test://doc' }));
88
- expect(res!.result.contents[0].text).toBe('Hello content');
89
- });
90
-
91
- it('resources/read returns error for unknown resource', async () => {
92
- const res = await server.handleMessage(makeRequest('resources/read', { uri: 'nope://x' }));
93
- expect(res!.error).toBeDefined();
94
- expect(res!.error!.code).toBe(-32002);
95
- });
96
-
97
- it('unknown method returns METHOD_NOT_FOUND', async () => {
98
- const res = await server.handleMessage(makeRequest('foo/bar'));
99
- expect(res!.error).toBeDefined();
100
- expect(res!.error!.code).toBe(-32601);
101
- });
102
-
103
- it('JSON-RPC format: response has jsonrpc 2.0 and matching id', async () => {
104
- const res = await server.handleMessage(makeRequest('tools/list', {}, 42));
105
- expect(res!.jsonrpc).toBe('2.0');
106
- expect(res!.id).toBe(42);
107
- });
108
-
109
- it('notification (no id) returns null', async () => {
110
- const res = await server.handleMessage({
111
- jsonrpc: '2.0', method: 'notifications/initialized', params: {},
112
- } as any);
113
- expect(res).toBeNull();
114
- });
115
-
116
- it('prompts/list returns prompts', async () => {
117
- server.addPrompt({
118
- name: 'summarize', description: 'Summarize text',
119
- arguments: [{ name: 'text', required: true }],
120
- });
121
- const res = await server.handleMessage(makeRequest('prompts/list'));
122
- expect(res!.result.prompts).toHaveLength(1);
123
- expect(res!.result.prompts[0].name).toBe('summarize');
124
- });
125
-
126
- it('addTool/removeTool works dynamically', () => {
127
- expect(server.getToolCount()).toBe(1);
128
- server.addTool({ name: 'test2', description: 't', inputSchema: {}, handler: async () => 'ok' });
129
- expect(server.getToolCount()).toBe(2);
130
- server.removeTool('test2');
131
- expect(server.getToolCount()).toBe(1);
132
- });
133
- });
134
-
135
- describe('agentToMCPTools', () => {
136
- it('generates correct tools from agent', () => {
137
- const agent = { name: 'test-agent' };
138
- const tools = agentToMCPTools(agent);
139
- expect(tools.length).toBeGreaterThanOrEqual(3);
140
- const names = tools.map(t => t.name);
141
- expect(names).toContain('chat');
142
- expect(names).toContain('memory_search');
143
- expect(names).toContain('memory_store');
144
- });
145
-
146
- it('chat tool has correct schema', () => {
147
- const tools = agentToMCPTools({ name: 'bot' });
148
- const chat = tools.find(t => t.name === 'chat')!;
149
- expect(chat.inputSchema.required).toContain('message');
150
- expect(chat.description).toContain('bot');
151
- });
152
-
153
- it('exposes agent skills as tools', () => {
154
- const agent = {
155
- name: 'skilled',
156
- skills: [{ name: 'translate', description: 'Translate text', execute: async () => 'done' }],
157
- };
158
- const tools = agentToMCPTools(agent);
159
- const skillTool = tools.find(t => t.name === 'skill_translate');
160
- expect(skillTool).toBeDefined();
161
- expect(skillTool!.description).toContain('Translate');
162
- });
163
- });
164
-
165
- describe('agentToMCPResources', () => {
166
- it('returns empty array for non-existent dir', () => {
167
- const resources = agentToMCPResources({}, '/tmp/nonexistent-agent-dir-xyz');
168
- expect(resources).toEqual([]);
169
- });
170
-
171
- it('exposes agent files that exist', () => {
172
- // Use current project dir which has files
173
- const path = require('path');
174
- const resources = agentToMCPResources({}, path.resolve(__dirname, '..'));
175
- // At minimum no crash; might find some files
176
- expect(Array.isArray(resources)).toBe(true);
177
- });
178
- });
@@ -1,260 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { listMCPServers, getMCPServer } from '../src/mcp/servers';
3
- import { createFilesystemServer } from '../src/mcp/servers/filesystem';
4
- import { createDatabaseServer } from '../src/mcp/servers/database-mcp';
5
- import { createMemoryServer } from '../src/mcp/servers/memory-mcp';
6
- import { createCalculatorServer } from '../src/mcp/servers/calculator-mcp';
7
- import { createDateTimeServer } from '../src/mcp/servers/datetime-mcp';
8
- import { createJsonServer } from '../src/mcp/servers/json-mcp';
9
- import { createRegexServer } from '../src/mcp/servers/regex-mcp';
10
- import { createCryptoServer } from '../src/mcp/servers/crypto-mcp';
11
- import { generateChatWidget } from '../src/ui/components';
12
- import * as fs from 'fs';
13
- import * as path from 'path';
14
- import * as os from 'os';
15
-
16
- // ─── Registry Tests ─────────────────────────────────
17
- describe('MCP Server Registry', () => {
18
- it('lists 10 servers', () => {
19
- const servers = listMCPServers();
20
- expect(servers).toHaveLength(10);
21
- });
22
-
23
- it('each server has name, description, version, toolCount', () => {
24
- for (const s of listMCPServers()) {
25
- expect(s.name).toBeTruthy();
26
- expect(s.description).toBeTruthy();
27
- expect(s.version).toBeTruthy();
28
- expect(s.toolCount).toBeGreaterThan(0);
29
- }
30
- });
31
-
32
- it('getMCPServer returns valid config', () => {
33
- const config = getMCPServer('calculator');
34
- expect(config.name).toBe('calculator');
35
- expect(config.tools!.length).toBeGreaterThan(0);
36
- });
37
-
38
- it('getMCPServer throws for unknown', () => {
39
- expect(() => getMCPServer('nonexistent')).toThrow('not found');
40
- });
41
- });
42
-
43
- // ─── Filesystem Server ──────────────────────────────
44
- describe('Filesystem MCP', () => {
45
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mcp-fs-'));
46
- const server = createFilesystemServer(tmpDir);
47
-
48
- it('tools/list returns 5 tools', () => {
49
- expect(server.tools).toHaveLength(5);
50
- expect(server.tools!.map(t => t.name)).toContain('fs_read');
51
- });
52
-
53
- it('fs_write + fs_read round-trip', async () => {
54
- const write = server.tools!.find(t => t.name === 'fs_write')!;
55
- const read = server.tools!.find(t => t.name === 'fs_read')!;
56
- await write.handler({ path: 'test.txt', content: 'hello mcp' });
57
- const result = await read.handler({ path: 'test.txt' });
58
- expect(result.content).toBe('hello mcp');
59
- });
60
-
61
- it('fs_list returns entries', async () => {
62
- const list = server.tools!.find(t => t.name === 'fs_list')!;
63
- const result = await list.handler({});
64
- expect(result.entries.length).toBeGreaterThan(0);
65
- });
66
- });
67
-
68
- // ─── Database MCP ───────────────────────────────────
69
- describe('Database MCP', () => {
70
- const server = createDatabaseServer();
71
-
72
- it('tools/list returns 5 tools', () => {
73
- expect(server.tools).toHaveLength(5);
74
- });
75
-
76
- it('create table, insert, query', async () => {
77
- const create = server.tools!.find(t => t.name === 'db_create_table')!;
78
- const insert = server.tools!.find(t => t.name === 'db_insert')!;
79
- const query = server.tools!.find(t => t.name === 'db_query')!;
80
- await create.handler({ table: 'users', columns: ['name', 'age'] });
81
- await insert.handler({ table: 'users', values: { name: 'Alice', age: 30 } });
82
- const result = await query.handler({ table: 'users' });
83
- expect(result.count).toBe(1);
84
- expect(result.rows[0].name).toBe('Alice');
85
- });
86
- });
87
-
88
- // ─── Memory MCP ─────────────────────────────────────
89
- describe('Memory MCP', () => {
90
- const server = createMemoryServer();
91
-
92
- it('store and recall', async () => {
93
- const store = server.tools!.find(t => t.name === 'memory_store')!;
94
- const recall = server.tools!.find(t => t.name === 'memory_recall')!;
95
- await store.handler({ key: 'foo', value: 'bar', tags: ['test'] });
96
- const result = await recall.handler({ key: 'foo' });
97
- expect(result.found).toBe(true);
98
- expect(result.value).toBe('bar');
99
- });
100
-
101
- it('search by tag', async () => {
102
- const search = server.tools!.find(t => t.name === 'memory_search')!;
103
- const result = await search.handler({ tag: 'test' });
104
- expect(result.count).toBeGreaterThan(0);
105
- });
106
- });
107
-
108
- // ─── Calculator MCP ─────────────────────────────────
109
- describe('Calculator MCP', () => {
110
- const server = createCalculatorServer();
111
-
112
- it('evaluate expression', async () => {
113
- const calc = server.tools!.find(t => t.name === 'calc_evaluate')!;
114
- const result = await calc.handler({ expression: '2 + 3 * 4' });
115
- expect(result.result).toBe(14);
116
- });
117
-
118
- it('convert temperature', async () => {
119
- const conv = server.tools!.find(t => t.name === 'calc_convert')!;
120
- const result = await conv.handler({ value: 100, from: 'C', to: 'F' });
121
- expect(result.result).toBe(212);
122
- });
123
- });
124
-
125
- // ─── DateTime MCP ───────────────────────────────────
126
- describe('DateTime MCP', () => {
127
- const server = createDateTimeServer();
128
-
129
- it('dt_now returns iso string', async () => {
130
- const now = server.tools!.find(t => t.name === 'dt_now')!;
131
- const result = await now.handler({});
132
- expect(result.iso).toBeTruthy();
133
- });
134
-
135
- it('dt_diff calculates correctly', async () => {
136
- const diff = server.tools!.find(t => t.name === 'dt_diff')!;
137
- const result = await diff.handler({ from: '2024-01-01', to: '2024-01-02', unit: 'days' });
138
- expect(result.difference).toBe(1);
139
- });
140
- });
141
-
142
- // ─── JSON MCP ───────────────────────────────────────
143
- describe('JSON MCP', () => {
144
- const server = createJsonServer();
145
-
146
- it('json_query dot-notation', async () => {
147
- const query = server.tools!.find(t => t.name === 'json_query')!;
148
- const result = await query.handler({ data: { users: [{ name: 'Alice' }] }, path: 'users.0.name' });
149
- expect(result.results).toContain('Alice');
150
- });
151
-
152
- it('json_validate', async () => {
153
- const validate = server.tools!.find(t => t.name === 'json_validate')!;
154
- expect((await validate.handler({ data: '{"a":1}' })).valid).toBe(true);
155
- expect((await validate.handler({ data: 'not json' })).valid).toBe(false);
156
- });
157
-
158
- it('json_diff finds differences', async () => {
159
- const diff = server.tools!.find(t => t.name === 'json_diff')!;
160
- const result = await diff.handler({ a: { x: 1 }, b: { x: 2 } });
161
- expect(result.equal).toBe(false);
162
- expect(result.differences).toHaveLength(1);
163
- });
164
- });
165
-
166
- // ─── Regex MCP ──────────────────────────────────────
167
- describe('Regex MCP', () => {
168
- const server = createRegexServer();
169
-
170
- it('regex_test', async () => {
171
- const test = server.tools!.find(t => t.name === 'regex_test')!;
172
- expect((await test.handler({ pattern: '\\d+', text: 'abc123' })).matches).toBe(true);
173
- expect((await test.handler({ pattern: '\\d+', text: 'abc' })).matches).toBe(false);
174
- });
175
-
176
- it('regex_match finds all', async () => {
177
- const match = server.tools!.find(t => t.name === 'regex_match')!;
178
- const result = await match.handler({ pattern: '\\d+', text: 'a1b22c333' });
179
- expect(result.count).toBe(3);
180
- });
181
-
182
- it('regex_replace', async () => {
183
- const replace = server.tools!.find(t => t.name === 'regex_replace')!;
184
- const result = await replace.handler({ pattern: '\\d', text: 'a1b2', replacement: 'X' });
185
- expect(result.result).toBe('aXbX');
186
- });
187
- });
188
-
189
- // ─── Crypto MCP ─────────────────────────────────────
190
- describe('Crypto MCP', () => {
191
- const server = createCryptoServer();
192
-
193
- it('crypto_hash sha256', async () => {
194
- const hash = server.tools!.find(t => t.name === 'crypto_hash')!;
195
- const result = await hash.handler({ text: 'hello' });
196
- expect(result.hash).toBeTruthy();
197
- expect(result.algorithm).toBe('sha256');
198
- });
199
-
200
- it('crypto_random uuid', async () => {
201
- const random = server.tools!.find(t => t.name === 'crypto_random')!;
202
- const result = await random.handler({ type: 'uuid' });
203
- expect(result.value).toMatch(/^[0-9a-f-]{36}$/);
204
- });
205
-
206
- it('crypto_encrypt + decrypt round-trip', async () => {
207
- const encrypt = server.tools!.find(t => t.name === 'crypto_encrypt')!;
208
- const decrypt = server.tools!.find(t => t.name === 'crypto_decrypt')!;
209
- const enc = await encrypt.handler({ text: 'secret', password: 'pass123' });
210
- const dec = await decrypt.handler({ encrypted: enc.encrypted, password: 'pass123', iv: enc.iv, tag: enc.tag });
211
- expect(dec.decrypted).toBe('secret');
212
- });
213
- });
214
-
215
- // ─── Chat Widget ────────────────────────────────────
216
- describe('Chat Widget', () => {
217
- it('generates valid HTML string', () => {
218
- const html = generateChatWidget({ endpoint: '/api/chat' });
219
- expect(html).toContain('<!DOCTYPE html>');
220
- expect(html).toContain('/api/chat');
221
- expect(html).toContain('OPC Chat');
222
- });
223
-
224
- it('respects custom title and theme', () => {
225
- const html = generateChatWidget({ endpoint: '/chat', theme: 'light', title: 'My Bot' });
226
- expect(html).toContain('My Bot');
227
- expect(html).toContain('#ffffff');
228
- });
229
-
230
- it('dark theme uses dark colors', () => {
231
- const html = generateChatWidget({ endpoint: '/chat', theme: 'dark' });
232
- expect(html).toContain('#1a1a2e');
233
- });
234
- });
235
-
236
- // ─── Playground API (static check) ──────────────────
237
- describe('Playground page', () => {
238
- it('studio-ui index.html contains playground page', () => {
239
- const html = fs.readFileSync(path.join(__dirname, '../src/studio-ui/index.html'), 'utf-8');
240
- expect(html).toContain('id="page-playground"');
241
- expect(html).toContain('pg-model');
242
- expect(html).toContain('pgSend');
243
- });
244
- });
245
-
246
- // ─── All MCP servers have proper tool schemas ───────
247
- describe('MCP tool schemas', () => {
248
- it('every tool has name, description, inputSchema, handler', () => {
249
- const servers = listMCPServers();
250
- for (const info of servers) {
251
- const config = getMCPServer(info.name);
252
- for (const tool of config.tools || []) {
253
- expect(tool.name).toBeTruthy();
254
- expect(tool.description).toBeTruthy();
255
- expect(tool.inputSchema).toBeTruthy();
256
- expect(typeof tool.handler).toBe('function');
257
- }
258
- }
259
- });
260
- });
package/tests/mcp.test.ts DELETED
@@ -1,54 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { MCPToolRegistry, createMCPTool } from '../src/tools/mcp';
3
-
4
- describe('MCP Tool System', () => {
5
- it('should register and list tools', () => {
6
- const registry = new MCPToolRegistry();
7
- const tool = createMCPTool('calculator', 'Basic calculator', {
8
- type: 'object',
9
- properties: { expression: { type: 'string' } },
10
- }, async (input) => ({ content: `Result: ${input.expression}` }));
11
-
12
- registry.register(tool);
13
- expect(registry.has('calculator')).toBe(true);
14
- expect(registry.list().length).toBe(1);
15
- expect(registry.list()[0].name).toBe('calculator');
16
- });
17
-
18
- it('should execute a tool', async () => {
19
- const registry = new MCPToolRegistry();
20
- registry.register(createMCPTool('echo', 'Echo tool', {}, async (input) => ({
21
- content: `Echo: ${input.text}`,
22
- })));
23
-
24
- const result = await registry.execute('echo', { text: 'hello' });
25
- expect(result.content).toBe('Echo: hello');
26
- expect(result.isError).toBeUndefined();
27
- });
28
-
29
- it('should return error for missing tool', async () => {
30
- const registry = new MCPToolRegistry();
31
- const result = await registry.execute('nonexistent', {});
32
- expect(result.isError).toBe(true);
33
- expect(result.content).toContain('not found');
34
- });
35
-
36
- it('should handle tool execution errors', async () => {
37
- const registry = new MCPToolRegistry();
38
- registry.register(createMCPTool('failing', 'Fails', {}, async () => {
39
- throw new Error('boom');
40
- }));
41
-
42
- const result = await registry.execute('failing', {});
43
- expect(result.isError).toBe(true);
44
- expect(result.content).toContain('boom');
45
- });
46
-
47
- it('should unregister tools', () => {
48
- const registry = new MCPToolRegistry();
49
- registry.register(createMCPTool('temp', 'Temp', {}, async () => ({ content: '' })));
50
- expect(registry.has('temp')).toBe(true);
51
- registry.unregister('temp');
52
- expect(registry.has('temp')).toBe(false);
53
- });
54
- });
@@ -1,74 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import { NodeNetwork } from '../src/core/node-network';
3
-
4
- describe('NodeNetwork', () => {
5
- let network: NodeNetwork;
6
-
7
- beforeEach(() => { network = new NodeNetwork(); });
8
-
9
- it('should add a node', () => {
10
- const node = network.addNode({ name: 'pi-1', type: 'pi', host: '192.168.1.10' });
11
- expect(node.id).toBeTruthy();
12
- expect(node.name).toBe('pi-1');
13
- expect(network.listNodes().length).toBe(1);
14
- });
15
-
16
- it('should remove a node', () => {
17
- const node = network.addNode({ name: 'test' });
18
- network.removeNode(node.id);
19
- expect(network.listNodes().length).toBe(0);
20
- });
21
-
22
- it('should throw on removing unknown node', () => {
23
- expect(() => network.removeNode('unknown')).toThrow('not found');
24
- });
25
-
26
- it('should get node by id', () => {
27
- const node = network.addNode({ name: 'desktop-1' });
28
- expect(network.getNode(node.id)?.name).toBe('desktop-1');
29
- expect(network.getNode('nonexistent')).toBeNull();
30
- });
31
-
32
- it('should pair a node', async () => {
33
- const node = network.addNode({ name: 'phone', type: 'phone', status: 'pairing' });
34
- const result = await network.pair(node.id, 'ABC123');
35
- expect(result).toBe(true);
36
- expect(network.getNode(node.id)?.status).toBe('online');
37
- });
38
-
39
- it('should fail pairing with short code', async () => {
40
- const node = network.addNode({ name: 'phone', status: 'pairing' });
41
- const result = await network.pair(node.id, 'ab');
42
- expect(result).toBe(false);
43
- });
44
-
45
- it('should send command to online node', async () => {
46
- const node = network.addNode({ name: 'vps', status: 'online' });
47
- const result = await network.sendCommand(node.id, 'uptime');
48
- expect(result.command).toBe('uptime');
49
- expect(result.status).toBe('sent');
50
- });
51
-
52
- it('should throw sending to offline node', async () => {
53
- const node = network.addNode({ name: 'offline', status: 'offline' });
54
- await expect(network.sendCommand(node.id, 'test')).rejects.toThrow('offline');
55
- });
56
-
57
- it('should broadcast to online nodes', async () => {
58
- network.addNode({ name: 'n1', status: 'online' });
59
- network.addNode({ name: 'n2', status: 'online' });
60
- network.addNode({ name: 'n3', status: 'offline' });
61
- const results = await network.broadcast('ping');
62
- expect(results.size).toBe(2);
63
- });
64
-
65
- it('should health check all nodes', async () => {
66
- network.addNode({ name: 'up', status: 'online' });
67
- network.addNode({ name: 'down', status: 'offline' });
68
- const health = await network.healthCheck();
69
- expect(health.size).toBe(2);
70
- const vals = Array.from(health.values());
71
- expect(vals).toContain(true);
72
- expect(vals).toContain(false);
73
- });
74
- });