opc-agent 4.1.2 → 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 (738) 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.map +1 -0
  47. package/dist/channels/webhook.d.ts.map +1 -0
  48. package/dist/channels/webhook.js.map +1 -0
  49. package/dist/channels/websocket.d.ts.map +1 -0
  50. package/dist/channels/websocket.js.map +1 -0
  51. package/dist/channels/wechat.d.ts.map +1 -0
  52. package/dist/channels/wechat.js.map +1 -0
  53. package/dist/channels/whatsapp.d.ts.map +1 -0
  54. package/dist/channels/whatsapp.js.map +1 -0
  55. package/dist/cli/chat.d.ts.map +1 -0
  56. package/dist/cli/chat.js.map +1 -0
  57. package/dist/cli/setup.d.ts.map +1 -0
  58. package/dist/cli/setup.js.map +1 -0
  59. package/dist/cli.d.ts.map +1 -0
  60. package/dist/cli.js +72 -11
  61. package/dist/cli.js.map +1 -0
  62. package/dist/core/a2a.d.ts.map +1 -0
  63. package/dist/core/a2a.js.map +1 -0
  64. package/dist/core/agent.d.ts.map +1 -0
  65. package/dist/core/agent.js.map +1 -0
  66. package/dist/core/analytics-engine.d.ts.map +1 -0
  67. package/dist/core/analytics-engine.js.map +1 -0
  68. package/dist/core/api-server.d.ts.map +1 -0
  69. package/dist/core/api-server.js.map +1 -0
  70. package/dist/core/audio.d.ts.map +1 -0
  71. package/dist/core/audio.js.map +1 -0
  72. package/dist/core/auth.d.ts.map +1 -0
  73. package/dist/core/auth.js.map +1 -0
  74. package/dist/core/cache.d.ts.map +1 -0
  75. package/dist/core/cache.js.map +1 -0
  76. package/dist/core/collaboration.d.ts.map +1 -0
  77. package/dist/core/collaboration.js.map +1 -0
  78. package/dist/core/compose.d.ts.map +1 -0
  79. package/dist/core/compose.js.map +1 -0
  80. package/dist/core/config.d.ts.map +1 -0
  81. package/dist/core/config.js.map +1 -0
  82. package/dist/core/context-discovery.d.ts.map +1 -0
  83. package/dist/core/context-discovery.js.map +1 -0
  84. package/dist/core/context-refs.d.ts.map +1 -0
  85. package/dist/core/context-refs.js.map +1 -0
  86. package/dist/core/errors.d.ts.map +1 -0
  87. package/dist/core/errors.js.map +1 -0
  88. package/dist/core/gateway.d.ts.map +1 -0
  89. package/dist/core/gateway.js.map +1 -0
  90. package/dist/core/heartbeat.d.ts.map +1 -0
  91. package/dist/core/heartbeat.js.map +1 -0
  92. package/dist/core/hitl.d.ts.map +1 -0
  93. package/dist/core/hitl.js.map +1 -0
  94. package/dist/core/hooks.d.ts.map +1 -0
  95. package/dist/core/hooks.js.map +1 -0
  96. package/dist/core/ide-bridge.d.ts.map +1 -0
  97. package/dist/core/ide-bridge.js.map +1 -0
  98. package/dist/core/knowledge.d.ts.map +1 -0
  99. package/dist/core/knowledge.js.map +1 -0
  100. package/dist/core/logger.d.ts.map +1 -0
  101. package/dist/core/logger.js.map +1 -0
  102. package/dist/core/node-network.d.ts.map +1 -0
  103. package/dist/core/node-network.js.map +1 -0
  104. package/dist/core/orchestrator.d.ts.map +1 -0
  105. package/dist/core/orchestrator.js.map +1 -0
  106. package/dist/core/performance.d.ts.map +1 -0
  107. package/dist/core/performance.js.map +1 -0
  108. package/dist/core/profiles.d.ts.map +1 -0
  109. package/dist/core/profiles.js.map +1 -0
  110. package/dist/core/rate-limiter.d.ts.map +1 -0
  111. package/dist/core/rate-limiter.js.map +1 -0
  112. package/dist/core/room.d.ts.map +1 -0
  113. package/dist/core/room.js.map +1 -0
  114. package/dist/core/runtime.d.ts.map +1 -0
  115. package/dist/core/runtime.js.map +1 -0
  116. package/dist/core/sandbox.d.ts.map +1 -0
  117. package/dist/core/sandbox.js.map +1 -0
  118. package/dist/core/scheduler.d.ts.map +1 -0
  119. package/dist/core/scheduler.js.map +1 -0
  120. package/dist/core/security.d.ts.map +1 -0
  121. package/dist/core/security.js.map +1 -0
  122. package/dist/core/session-manager.d.ts.map +1 -0
  123. package/dist/core/session-manager.js.map +1 -0
  124. package/dist/core/streaming.d.ts.map +1 -0
  125. package/dist/core/streaming.js.map +1 -0
  126. package/dist/core/subagent.d.ts.map +1 -0
  127. package/dist/core/subagent.js.map +1 -0
  128. package/dist/core/types.d.ts.map +1 -0
  129. package/dist/core/types.js.map +1 -0
  130. package/dist/core/versioning.d.ts.map +1 -0
  131. package/dist/core/versioning.js.map +1 -0
  132. package/dist/core/vision.d.ts.map +1 -0
  133. package/dist/core/vision.js.map +1 -0
  134. package/dist/core/watch.d.ts.map +1 -0
  135. package/dist/core/watch.js.map +1 -0
  136. package/dist/core/workflow-graph.d.ts.map +1 -0
  137. package/dist/core/workflow-graph.js.map +1 -0
  138. package/dist/core/workflow.d.ts.map +1 -0
  139. package/dist/core/workflow.js.map +1 -0
  140. package/dist/daemon.d.ts.map +1 -0
  141. package/dist/daemon.js.map +1 -0
  142. package/dist/deploy/hermes.d.ts.map +1 -0
  143. package/dist/deploy/hermes.js.map +1 -0
  144. package/dist/deploy/index.d.ts.map +1 -0
  145. package/dist/deploy/index.js.map +1 -0
  146. package/dist/deploy/openclaw.d.ts.map +1 -0
  147. package/dist/deploy/openclaw.js.map +1 -0
  148. package/dist/doctor.d.ts.map +1 -0
  149. package/dist/doctor.js.map +1 -0
  150. package/dist/eval/index.d.ts.map +1 -0
  151. package/dist/eval/index.js.map +1 -0
  152. package/dist/hub/brain-seed.d.ts.map +1 -0
  153. package/dist/hub/brain-seed.js.map +1 -0
  154. package/dist/hub/client.d.ts.map +1 -0
  155. package/dist/hub/client.js.map +1 -0
  156. package/dist/i18n/index.d.ts.map +1 -0
  157. package/dist/i18n/index.js.map +1 -0
  158. package/dist/index.d.ts.map +1 -0
  159. package/dist/index.js.map +1 -0
  160. package/dist/mcp/servers/calculator-mcp.d.ts.map +1 -0
  161. package/dist/mcp/servers/calculator-mcp.js.map +1 -0
  162. package/dist/mcp/servers/crypto-mcp.d.ts.map +1 -0
  163. package/dist/mcp/servers/crypto-mcp.js.map +1 -0
  164. package/dist/mcp/servers/database-mcp.d.ts.map +1 -0
  165. package/dist/mcp/servers/database-mcp.js.map +1 -0
  166. package/dist/mcp/servers/datetime-mcp.d.ts.map +1 -0
  167. package/dist/mcp/servers/datetime-mcp.js.map +1 -0
  168. package/dist/mcp/servers/filesystem.d.ts.map +1 -0
  169. package/dist/mcp/servers/filesystem.js.map +1 -0
  170. package/dist/mcp/servers/github-mcp.d.ts.map +1 -0
  171. package/dist/mcp/servers/github-mcp.js.map +1 -0
  172. package/dist/mcp/servers/index.d.ts.map +1 -0
  173. package/dist/mcp/servers/index.js.map +1 -0
  174. package/dist/mcp/servers/json-mcp.d.ts.map +1 -0
  175. package/dist/mcp/servers/json-mcp.js.map +1 -0
  176. package/dist/mcp/servers/memory-mcp.d.ts.map +1 -0
  177. package/dist/mcp/servers/memory-mcp.js.map +1 -0
  178. package/dist/mcp/servers/regex-mcp.d.ts.map +1 -0
  179. package/dist/mcp/servers/regex-mcp.js.map +1 -0
  180. package/dist/mcp/servers/web-mcp.d.ts.map +1 -0
  181. package/dist/mcp/servers/web-mcp.js.map +1 -0
  182. package/dist/memory/context-compressor.d.ts.map +1 -0
  183. package/dist/memory/context-compressor.js.map +1 -0
  184. package/dist/memory/deepbrain.d.ts.map +1 -0
  185. package/dist/memory/deepbrain.js.map +1 -0
  186. package/dist/memory/index.d.ts.map +1 -0
  187. package/dist/memory/index.js.map +1 -0
  188. package/dist/memory/seed-loader.d.ts.map +1 -0
  189. package/dist/memory/seed-loader.js.map +1 -0
  190. package/dist/memory/user-profiler.d.ts.map +1 -0
  191. package/dist/memory/user-profiler.js.map +1 -0
  192. package/dist/plugins/content-filter.d.ts.map +1 -0
  193. package/dist/plugins/content-filter.js.map +1 -0
  194. package/dist/plugins/index.d.ts.map +1 -0
  195. package/dist/plugins/index.js.map +1 -0
  196. package/dist/plugins/logger.d.ts.map +1 -0
  197. package/dist/plugins/logger.js.map +1 -0
  198. package/dist/plugins/rate-limiter.d.ts.map +1 -0
  199. package/dist/plugins/rate-limiter.js.map +1 -0
  200. package/dist/protocols/a2a/client.d.ts.map +1 -0
  201. package/dist/protocols/a2a/client.js.map +1 -0
  202. package/dist/protocols/a2a/index.d.ts.map +1 -0
  203. package/dist/protocols/a2a/index.js.map +1 -0
  204. package/dist/protocols/a2a/server.d.ts.map +1 -0
  205. package/dist/protocols/a2a/server.js.map +1 -0
  206. package/dist/protocols/a2a/types.d.ts.map +1 -0
  207. package/dist/protocols/a2a/types.js.map +1 -0
  208. package/dist/protocols/a2a/utils.d.ts.map +1 -0
  209. package/dist/protocols/a2a/utils.js.map +1 -0
  210. package/dist/protocols/agui/client.d.ts.map +1 -0
  211. package/dist/protocols/agui/client.js.map +1 -0
  212. package/dist/protocols/agui/index.d.ts.map +1 -0
  213. package/dist/protocols/agui/index.js.map +1 -0
  214. package/dist/protocols/agui/server.d.ts.map +1 -0
  215. package/dist/protocols/agui/server.js.map +1 -0
  216. package/dist/protocols/agui/types.d.ts.map +1 -0
  217. package/dist/protocols/agui/types.js.map +1 -0
  218. package/dist/protocols/index.d.ts.map +1 -0
  219. package/dist/protocols/index.js.map +1 -0
  220. package/dist/protocols/mcp/agent-tools.d.ts.map +1 -0
  221. package/dist/protocols/mcp/agent-tools.js.map +1 -0
  222. package/dist/protocols/mcp/index.d.ts.map +1 -0
  223. package/dist/protocols/mcp/index.js.map +1 -0
  224. package/dist/protocols/mcp/server.d.ts.map +1 -0
  225. package/dist/protocols/mcp/server.js.map +1 -0
  226. package/dist/protocols/mcp/types.d.ts.map +1 -0
  227. package/dist/protocols/mcp/types.js.map +1 -0
  228. package/dist/providers/index.d.ts.map +1 -0
  229. package/dist/providers/index.js.map +1 -0
  230. package/dist/publish/index.d.ts.map +1 -0
  231. package/dist/publish/index.js.map +1 -0
  232. package/dist/scheduler/cron-engine.d.ts.map +1 -0
  233. package/dist/scheduler/cron-engine.js.map +1 -0
  234. package/dist/scheduler/index.d.ts.map +1 -0
  235. package/dist/scheduler/index.js.map +1 -0
  236. package/dist/schema/oad.d.ts.map +1 -0
  237. package/dist/schema/oad.js.map +1 -0
  238. package/dist/security/approval.d.ts.map +1 -0
  239. package/dist/security/approval.js.map +1 -0
  240. package/dist/security/approvals.d.ts.map +1 -0
  241. package/dist/security/approvals.js.map +1 -0
  242. package/dist/security/elevated.d.ts.map +1 -0
  243. package/dist/security/elevated.js.map +1 -0
  244. package/dist/security/guardrails.d.ts.map +1 -0
  245. package/dist/security/guardrails.js.map +1 -0
  246. package/dist/security/index.d.ts.map +1 -0
  247. package/dist/security/index.js.map +1 -0
  248. package/dist/security/keys.d.ts.map +1 -0
  249. package/dist/security/keys.js.map +1 -0
  250. package/dist/security/secrets.d.ts.map +1 -0
  251. package/dist/security/secrets.js.map +1 -0
  252. package/dist/skills/auto-learn.d.ts.map +1 -0
  253. package/dist/skills/auto-learn.js.map +1 -0
  254. package/dist/skills/base.d.ts.map +1 -0
  255. package/dist/skills/base.js.map +1 -0
  256. package/dist/skills/builtin/index.d.ts.map +1 -0
  257. package/dist/skills/builtin/index.js.map +1 -0
  258. package/dist/skills/document.d.ts.map +1 -0
  259. package/dist/skills/document.js.map +1 -0
  260. package/dist/skills/http.d.ts.map +1 -0
  261. package/dist/skills/http.js.map +1 -0
  262. package/dist/skills/index.d.ts.map +1 -0
  263. package/dist/skills/index.js.map +1 -0
  264. package/dist/skills/marketplace.d.ts.map +1 -0
  265. package/dist/skills/marketplace.js.map +1 -0
  266. package/dist/skills/scheduler.d.ts.map +1 -0
  267. package/dist/skills/scheduler.js.map +1 -0
  268. package/dist/skills/types.d.ts.map +1 -0
  269. package/dist/skills/types.js.map +1 -0
  270. package/dist/skills/webhook-trigger.d.ts.map +1 -0
  271. package/dist/skills/webhook-trigger.js.map +1 -0
  272. package/dist/studio/server.d.ts.map +1 -0
  273. package/dist/studio/server.js.map +1 -0
  274. package/dist/studio/templates-data.d.ts.map +1 -0
  275. package/dist/studio/templates-data.js.map +1 -0
  276. package/dist/telemetry/index.d.ts.map +1 -0
  277. package/dist/telemetry/index.js.map +1 -0
  278. package/dist/templates/code-reviewer.d.ts.map +1 -0
  279. package/dist/templates/code-reviewer.js.map +1 -0
  280. package/dist/templates/content-writer.d.ts.map +1 -0
  281. package/dist/templates/content-writer.js.map +1 -0
  282. package/dist/templates/customer-service.d.ts.map +1 -0
  283. package/dist/templates/customer-service.js.map +1 -0
  284. package/dist/templates/data-analyst.d.ts.map +1 -0
  285. package/dist/templates/data-analyst.js.map +1 -0
  286. package/dist/templates/executive-assistant.d.ts.map +1 -0
  287. package/dist/templates/executive-assistant.js.map +1 -0
  288. package/dist/templates/financial-advisor.d.ts.map +1 -0
  289. package/dist/templates/financial-advisor.js.map +1 -0
  290. package/dist/templates/hr-recruiter.d.ts.map +1 -0
  291. package/dist/templates/hr-recruiter.js.map +1 -0
  292. package/dist/templates/knowledge-base.d.ts.map +1 -0
  293. package/dist/templates/knowledge-base.js.map +1 -0
  294. package/dist/templates/legal-assistant.d.ts.map +1 -0
  295. package/dist/templates/legal-assistant.js.map +1 -0
  296. package/dist/templates/project-manager.d.ts.map +1 -0
  297. package/dist/templates/project-manager.js.map +1 -0
  298. package/dist/templates/sales-assistant.d.ts.map +1 -0
  299. package/dist/templates/sales-assistant.js.map +1 -0
  300. package/dist/templates/teacher.d.ts.map +1 -0
  301. package/dist/templates/teacher.js.map +1 -0
  302. package/dist/testing/index.d.ts.map +1 -0
  303. package/dist/testing/index.js.map +1 -0
  304. package/dist/tools/builtin/browser.d.ts.map +1 -0
  305. package/dist/tools/builtin/browser.js.map +1 -0
  306. package/dist/tools/builtin/datetime.d.ts.map +1 -0
  307. package/dist/tools/builtin/datetime.js.map +1 -0
  308. package/dist/tools/builtin/file.d.ts.map +1 -0
  309. package/dist/tools/builtin/file.js.map +1 -0
  310. package/dist/tools/builtin/home-assistant.d.ts.map +1 -0
  311. package/dist/tools/builtin/home-assistant.js.map +1 -0
  312. package/dist/tools/builtin/index.d.ts.map +1 -0
  313. package/dist/tools/builtin/index.js.map +1 -0
  314. package/dist/tools/builtin/rl-tools.d.ts.map +1 -0
  315. package/dist/tools/builtin/rl-tools.js.map +1 -0
  316. package/dist/tools/builtin/shell.d.ts.map +1 -0
  317. package/dist/tools/builtin/shell.js.map +1 -0
  318. package/dist/tools/builtin/vision.d.ts.map +1 -0
  319. package/dist/tools/builtin/vision.js.map +1 -0
  320. package/dist/tools/builtin/web-search.d.ts.map +1 -0
  321. package/dist/tools/builtin/web-search.js.map +1 -0
  322. package/dist/tools/builtin/web.d.ts.map +1 -0
  323. package/dist/tools/builtin/web.js.map +1 -0
  324. package/dist/tools/calculator.d.ts.map +1 -0
  325. package/dist/tools/calculator.js.map +1 -0
  326. package/dist/tools/datetime.d.ts.map +1 -0
  327. package/dist/tools/datetime.js.map +1 -0
  328. package/dist/tools/document-processor.d.ts.map +1 -0
  329. package/dist/tools/document-processor.js.map +1 -0
  330. package/dist/tools/gateway.d.ts.map +1 -0
  331. package/dist/tools/gateway.js.map +1 -0
  332. package/dist/tools/image-generator.d.ts.map +1 -0
  333. package/dist/tools/image-generator.js.map +1 -0
  334. package/dist/tools/integrations/calendar.d.ts.map +1 -0
  335. package/dist/tools/integrations/calendar.js.map +1 -0
  336. package/dist/tools/integrations/code-exec.d.ts.map +1 -0
  337. package/dist/tools/integrations/code-exec.js.map +1 -0
  338. package/dist/tools/integrations/csv-analyzer.d.ts.map +1 -0
  339. package/dist/tools/integrations/csv-analyzer.js.map +1 -0
  340. package/dist/tools/integrations/database.d.ts.map +1 -0
  341. package/dist/tools/integrations/database.js.map +1 -0
  342. package/dist/tools/integrations/email-send.d.ts.map +1 -0
  343. package/dist/tools/integrations/email-send.js.map +1 -0
  344. package/dist/tools/integrations/git-tool.d.ts.map +1 -0
  345. package/dist/tools/integrations/git-tool.js.map +1 -0
  346. package/dist/tools/integrations/github-tool.d.ts.map +1 -0
  347. package/dist/tools/integrations/github-tool.js.map +1 -0
  348. package/dist/tools/integrations/image-gen.d.ts.map +1 -0
  349. package/dist/tools/integrations/image-gen.js.map +1 -0
  350. package/dist/tools/integrations/index.d.ts.map +1 -0
  351. package/dist/tools/integrations/index.js.map +1 -0
  352. package/dist/tools/integrations/jira.d.ts.map +1 -0
  353. package/dist/tools/integrations/jira.js.map +1 -0
  354. package/dist/tools/integrations/notion.d.ts.map +1 -0
  355. package/dist/tools/integrations/notion.js.map +1 -0
  356. package/dist/tools/integrations/npm-tool.d.ts.map +1 -0
  357. package/dist/tools/integrations/npm-tool.js.map +1 -0
  358. package/dist/tools/integrations/pdf-reader.d.ts.map +1 -0
  359. package/dist/tools/integrations/pdf-reader.js.map +1 -0
  360. package/dist/tools/integrations/slack.d.ts.map +1 -0
  361. package/dist/tools/integrations/slack.js.map +1 -0
  362. package/dist/tools/integrations/summarizer.d.ts.map +1 -0
  363. package/dist/tools/integrations/summarizer.js.map +1 -0
  364. package/dist/tools/integrations/translator.d.ts.map +1 -0
  365. package/dist/tools/integrations/translator.js.map +1 -0
  366. package/dist/tools/integrations/trello.d.ts.map +1 -0
  367. package/dist/tools/integrations/trello.js.map +1 -0
  368. package/dist/tools/integrations/vector-search.d.ts.map +1 -0
  369. package/dist/tools/integrations/vector-search.js.map +1 -0
  370. package/dist/tools/integrations/web-scraper.d.ts.map +1 -0
  371. package/dist/tools/integrations/web-scraper.js.map +1 -0
  372. package/dist/tools/integrations/web-search.d.ts.map +1 -0
  373. package/dist/tools/integrations/web-search.js.map +1 -0
  374. package/dist/tools/integrations/webhook.d.ts.map +1 -0
  375. package/dist/tools/integrations/webhook.js.map +1 -0
  376. package/dist/tools/json-transform.d.ts.map +1 -0
  377. package/dist/tools/json-transform.js.map +1 -0
  378. package/dist/tools/mcp-client.d.ts.map +1 -0
  379. package/dist/tools/mcp-client.js.map +1 -0
  380. package/dist/tools/mcp.d.ts.map +1 -0
  381. package/dist/tools/mcp.js.map +1 -0
  382. package/dist/tools/text-analysis.d.ts.map +1 -0
  383. package/dist/tools/text-analysis.js.map +1 -0
  384. package/dist/tools/web-scraper.d.ts.map +1 -0
  385. package/dist/tools/web-scraper.js.map +1 -0
  386. package/dist/tools/web-search.d.ts.map +1 -0
  387. package/dist/tools/web-search.js.map +1 -0
  388. package/dist/traces/index.d.ts.map +1 -0
  389. package/dist/traces/index.js.map +1 -0
  390. package/dist/ui/components.d.ts.map +1 -0
  391. package/dist/ui/components.js.map +1 -0
  392. package/package.json +1 -1
  393. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -20
  394. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  395. package/.github/PULL_REQUEST_TEMPLATE.md +0 -13
  396. package/.github/workflows/ci.yml +0 -24
  397. package/USABILITY-ISSUES.md +0 -73
  398. package/docs/.vitepress/config.ts +0 -103
  399. package/docs/api/cli.md +0 -48
  400. package/docs/api/oad-schema.md +0 -64
  401. package/docs/api/sdk.md +0 -80
  402. package/docs/guide/concepts.md +0 -51
  403. package/docs/guide/configuration.md +0 -79
  404. package/docs/guide/deployment.md +0 -42
  405. package/docs/guide/getting-started.md +0 -44
  406. package/docs/guide/templates.md +0 -28
  407. package/docs/guide/testing.md +0 -84
  408. package/docs/index.md +0 -27
  409. package/docs/zh/api/cli.md +0 -54
  410. package/docs/zh/api/oad-schema.md +0 -87
  411. package/docs/zh/api/sdk.md +0 -102
  412. package/docs/zh/guide/concepts.md +0 -104
  413. package/docs/zh/guide/configuration.md +0 -135
  414. package/docs/zh/guide/deployment.md +0 -81
  415. package/docs/zh/guide/getting-started.md +0 -82
  416. package/docs/zh/guide/templates.md +0 -84
  417. package/docs/zh/guide/testing.md +0 -88
  418. package/docs/zh/index.md +0 -27
  419. package/fix-sidebar.mjs +0 -188
  420. package/serve-studio.js +0 -13
  421. package/serve-test.js +0 -25
  422. package/src/analytics/index.ts +0 -66
  423. package/src/channels/dingtalk.ts +0 -46
  424. package/src/channels/discord.ts +0 -192
  425. package/src/channels/email.ts +0 -351
  426. package/src/channels/feishu.ts +0 -349
  427. package/src/channels/googlechat.ts +0 -42
  428. package/src/channels/imessage.ts +0 -32
  429. package/src/channels/index.ts +0 -15
  430. package/src/channels/irc.ts +0 -82
  431. package/src/channels/line.ts +0 -33
  432. package/src/channels/matrix.ts +0 -34
  433. package/src/channels/mattermost.ts +0 -57
  434. package/src/channels/msteams.ts +0 -33
  435. package/src/channels/nostr.ts +0 -33
  436. package/src/channels/qq.ts +0 -34
  437. package/src/channels/signal.ts +0 -33
  438. package/src/channels/slack.ts +0 -217
  439. package/src/channels/sms.ts +0 -34
  440. package/src/channels/telegram.ts +0 -616
  441. package/src/channels/twitch.ts +0 -65
  442. package/src/channels/voice-call.ts +0 -100
  443. package/src/channels/voice.ts +0 -471
  444. package/src/channels/web.ts +0 -638
  445. package/src/channels/webhook.ts +0 -199
  446. package/src/channels/websocket.ts +0 -399
  447. package/src/channels/wechat.ts +0 -329
  448. package/src/channels/whatsapp.ts +0 -33
  449. package/src/cli/chat.ts +0 -99
  450. package/src/cli/setup.ts +0 -314
  451. package/src/cli.ts +0 -2826
  452. package/src/core/a2a.ts +0 -203
  453. package/src/core/agent.ts +0 -476
  454. package/src/core/analytics-engine.ts +0 -186
  455. package/src/core/api-server.ts +0 -277
  456. package/src/core/audio.ts +0 -98
  457. package/src/core/auth.ts +0 -57
  458. package/src/core/cache.ts +0 -141
  459. package/src/core/collaboration.ts +0 -275
  460. package/src/core/compose.ts +0 -77
  461. package/src/core/config.ts +0 -14
  462. package/src/core/context-discovery.ts +0 -85
  463. package/src/core/context-refs.ts +0 -140
  464. package/src/core/errors.ts +0 -148
  465. package/src/core/gateway.ts +0 -106
  466. package/src/core/heartbeat.ts +0 -51
  467. package/src/core/hitl.ts +0 -138
  468. package/src/core/hooks.ts +0 -105
  469. package/src/core/ide-bridge.ts +0 -133
  470. package/src/core/knowledge.ts +0 -255
  471. package/src/core/logger.ts +0 -57
  472. package/src/core/node-network.ts +0 -86
  473. package/src/core/orchestrator.ts +0 -215
  474. package/src/core/performance.ts +0 -187
  475. package/src/core/profiles.ts +0 -122
  476. package/src/core/rate-limiter.ts +0 -128
  477. package/src/core/room.ts +0 -109
  478. package/src/core/runtime.ts +0 -435
  479. package/src/core/sandbox.ts +0 -344
  480. package/src/core/scheduler.ts +0 -187
  481. package/src/core/security.ts +0 -171
  482. package/src/core/session-manager.ts +0 -137
  483. package/src/core/streaming.ts +0 -195
  484. package/src/core/subagent.ts +0 -98
  485. package/src/core/types.ts +0 -68
  486. package/src/core/versioning.ts +0 -106
  487. package/src/core/vision.ts +0 -180
  488. package/src/core/watch.ts +0 -178
  489. package/src/core/workflow-graph.ts +0 -365
  490. package/src/core/workflow.ts +0 -235
  491. package/src/daemon.ts +0 -96
  492. package/src/deploy/hermes.ts +0 -156
  493. package/src/deploy/index.ts +0 -255
  494. package/src/deploy/openclaw.ts +0 -190
  495. package/src/doctor.ts +0 -243
  496. package/src/eval/index.ts +0 -211
  497. package/src/eval/suites/basic.json +0 -16
  498. package/src/eval/suites/memory.json +0 -12
  499. package/src/eval/suites/safety.json +0 -14
  500. package/src/hub/brain-seed.ts +0 -54
  501. package/src/hub/client.ts +0 -60
  502. package/src/i18n/index.ts +0 -216
  503. package/src/index.ts +0 -283
  504. package/src/mcp/servers/calculator-mcp.ts +0 -65
  505. package/src/mcp/servers/crypto-mcp.ts +0 -73
  506. package/src/mcp/servers/database-mcp.ts +0 -72
  507. package/src/mcp/servers/datetime-mcp.ts +0 -69
  508. package/src/mcp/servers/filesystem.ts +0 -66
  509. package/src/mcp/servers/github-mcp.ts +0 -58
  510. package/src/mcp/servers/index.ts +0 -63
  511. package/src/mcp/servers/json-mcp.ts +0 -102
  512. package/src/mcp/servers/memory-mcp.ts +0 -56
  513. package/src/mcp/servers/regex-mcp.ts +0 -53
  514. package/src/mcp/servers/web-mcp.ts +0 -49
  515. package/src/memory/context-compressor.ts +0 -189
  516. package/src/memory/deepbrain.ts +0 -202
  517. package/src/memory/index.ts +0 -41
  518. package/src/memory/seed-loader.ts +0 -212
  519. package/src/memory/user-profiler.ts +0 -215
  520. package/src/plugins/content-filter.ts +0 -23
  521. package/src/plugins/index.ts +0 -339
  522. package/src/plugins/logger.ts +0 -18
  523. package/src/plugins/rate-limiter.ts +0 -38
  524. package/src/protocols/a2a/client.ts +0 -132
  525. package/src/protocols/a2a/index.ts +0 -8
  526. package/src/protocols/a2a/server.ts +0 -333
  527. package/src/protocols/a2a/types.ts +0 -88
  528. package/src/protocols/a2a/utils.ts +0 -50
  529. package/src/protocols/agui/client.ts +0 -83
  530. package/src/protocols/agui/index.ts +0 -4
  531. package/src/protocols/agui/server.ts +0 -218
  532. package/src/protocols/agui/types.ts +0 -153
  533. package/src/protocols/index.ts +0 -2
  534. package/src/protocols/mcp/agent-tools.ts +0 -134
  535. package/src/protocols/mcp/index.ts +0 -8
  536. package/src/protocols/mcp/server.ts +0 -262
  537. package/src/protocols/mcp/types.ts +0 -69
  538. package/src/providers/index.ts +0 -632
  539. package/src/publish/index.ts +0 -376
  540. package/src/scheduler/cron-engine.ts +0 -191
  541. package/src/scheduler/index.ts +0 -2
  542. package/src/schema/oad.ts +0 -217
  543. package/src/security/approval.ts +0 -131
  544. package/src/security/approvals.ts +0 -143
  545. package/src/security/elevated.ts +0 -105
  546. package/src/security/guardrails.ts +0 -248
  547. package/src/security/index.ts +0 -9
  548. package/src/security/keys.ts +0 -87
  549. package/src/security/secrets.ts +0 -129
  550. package/src/skills/auto-learn.ts +0 -262
  551. package/src/skills/base.ts +0 -16
  552. package/src/skills/builtin/index.ts +0 -408
  553. package/src/skills/document.ts +0 -100
  554. package/src/skills/http.ts +0 -35
  555. package/src/skills/index.ts +0 -27
  556. package/src/skills/marketplace.ts +0 -113
  557. package/src/skills/scheduler.ts +0 -80
  558. package/src/skills/types.ts +0 -42
  559. package/src/skills/webhook-trigger.ts +0 -59
  560. package/src/studio/server.ts +0 -1791
  561. package/src/studio/templates-data.ts +0 -178
  562. package/src/studio-ui/index.html +0 -3076
  563. package/src/telemetry/index.ts +0 -324
  564. package/src/templates/code-reviewer.ts +0 -30
  565. package/src/templates/content-writer.ts +0 -58
  566. package/src/templates/customer-service.ts +0 -76
  567. package/src/templates/data-analyst.ts +0 -66
  568. package/src/templates/executive-assistant.ts +0 -71
  569. package/src/templates/financial-advisor.ts +0 -60
  570. package/src/templates/hr-recruiter.ts +0 -58
  571. package/src/templates/knowledge-base.ts +0 -27
  572. package/src/templates/legal-assistant.ts +0 -71
  573. package/src/templates/project-manager.ts +0 -58
  574. package/src/templates/sales-assistant.ts +0 -75
  575. package/src/templates/teacher.ts +0 -75
  576. package/src/testing/index.ts +0 -181
  577. package/src/tools/builtin/browser.ts +0 -299
  578. package/src/tools/builtin/datetime.ts +0 -41
  579. package/src/tools/builtin/file.ts +0 -107
  580. package/src/tools/builtin/home-assistant.ts +0 -116
  581. package/src/tools/builtin/index.ts +0 -37
  582. package/src/tools/builtin/rl-tools.ts +0 -243
  583. package/src/tools/builtin/shell.ts +0 -43
  584. package/src/tools/builtin/vision.ts +0 -64
  585. package/src/tools/builtin/web-search.ts +0 -126
  586. package/src/tools/builtin/web.ts +0 -35
  587. package/src/tools/calculator.ts +0 -73
  588. package/src/tools/datetime.ts +0 -149
  589. package/src/tools/document-processor.ts +0 -213
  590. package/src/tools/gateway.ts +0 -220
  591. package/src/tools/image-generator.ts +0 -150
  592. package/src/tools/integrations/calendar.ts +0 -73
  593. package/src/tools/integrations/code-exec.ts +0 -39
  594. package/src/tools/integrations/csv-analyzer.ts +0 -92
  595. package/src/tools/integrations/database.ts +0 -44
  596. package/src/tools/integrations/email-send.ts +0 -76
  597. package/src/tools/integrations/git-tool.ts +0 -42
  598. package/src/tools/integrations/github-tool.ts +0 -76
  599. package/src/tools/integrations/image-gen.ts +0 -56
  600. package/src/tools/integrations/index.ts +0 -92
  601. package/src/tools/integrations/jira.ts +0 -83
  602. package/src/tools/integrations/notion.ts +0 -71
  603. package/src/tools/integrations/npm-tool.ts +0 -48
  604. package/src/tools/integrations/pdf-reader.ts +0 -58
  605. package/src/tools/integrations/slack.ts +0 -65
  606. package/src/tools/integrations/summarizer.ts +0 -49
  607. package/src/tools/integrations/translator.ts +0 -48
  608. package/src/tools/integrations/trello.ts +0 -60
  609. package/src/tools/integrations/vector-search.ts +0 -42
  610. package/src/tools/integrations/web-scraper.ts +0 -47
  611. package/src/tools/integrations/web-search.ts +0 -58
  612. package/src/tools/integrations/webhook.ts +0 -38
  613. package/src/tools/json-transform.ts +0 -187
  614. package/src/tools/mcp-client.ts +0 -131
  615. package/src/tools/mcp.ts +0 -76
  616. package/src/tools/text-analysis.ts +0 -116
  617. package/src/tools/web-scraper.ts +0 -179
  618. package/src/tools/web-search.ts +0 -180
  619. package/src/traces/index.ts +0 -132
  620. package/src/types/agent-workstation.d.ts +0 -2
  621. package/src/ui/components.ts +0 -127
  622. package/srv-err.txt +0 -0
  623. package/srv-out.txt +0 -1
  624. package/test-agent/Dockerfile +0 -9
  625. package/test-agent/README.md +0 -50
  626. package/test-agent/agent.yaml +0 -23
  627. package/test-agent/docker-compose.yml +0 -11
  628. package/test-agent/oad.yaml +0 -31
  629. package/test-agent/package-lock.json +0 -1492
  630. package/test-agent/package.json +0 -18
  631. package/test-agent/src/index.ts +0 -24
  632. package/test-agent/src/skills/echo.ts +0 -15
  633. package/test-agent/tsconfig.json +0 -25
  634. package/test-full.js +0 -43
  635. package/test-sidebar.js +0 -22
  636. package/test-studio3.js +0 -75
  637. package/test-studio4.js +0 -41
  638. package/tests/a2a-protocol.test.ts +0 -285
  639. package/tests/a2a.test.ts +0 -66
  640. package/tests/agent.test.ts +0 -72
  641. package/tests/agui-protocol.test.ts +0 -246
  642. package/tests/analytics.test.ts +0 -50
  643. package/tests/api-server.test.ts +0 -148
  644. package/tests/approvals.test.ts +0 -89
  645. package/tests/audio.test.ts +0 -40
  646. package/tests/auto-learn.test.ts +0 -105
  647. package/tests/brain-seed-extended.test.ts +0 -490
  648. package/tests/brain-seed.test.ts +0 -239
  649. package/tests/browser.test.ts +0 -179
  650. package/tests/builtin-tools.test.ts +0 -83
  651. package/tests/channel.test.ts +0 -39
  652. package/tests/channels/discord.test.ts +0 -79
  653. package/tests/channels/email.test.ts +0 -148
  654. package/tests/channels/feishu.test.ts +0 -123
  655. package/tests/channels/telegram.test.ts +0 -129
  656. package/tests/channels/websocket.test.ts +0 -53
  657. package/tests/channels/wechat.test.ts +0 -170
  658. package/tests/channels-extra.test.ts +0 -45
  659. package/tests/chat-cli.test.ts +0 -160
  660. package/tests/cli.test.ts +0 -46
  661. package/tests/collaboration.test.ts +0 -319
  662. package/tests/context-compressor.test.ts +0 -172
  663. package/tests/context-refs.test.ts +0 -121
  664. package/tests/cron-engine.test.ts +0 -101
  665. package/tests/daemon.test.ts +0 -135
  666. package/tests/deepbrain-wire.test.ts +0 -234
  667. package/tests/deploy-and-dag.test.ts +0 -196
  668. package/tests/doctor.test.ts +0 -38
  669. package/tests/document-processor.test.ts +0 -69
  670. package/tests/e2e-nocode.test.ts +0 -442
  671. package/tests/e2e.test.ts +0 -134
  672. package/tests/elevated.test.ts +0 -69
  673. package/tests/errors.test.ts +0 -83
  674. package/tests/eval.test.ts +0 -173
  675. package/tests/gateway.test.ts +0 -63
  676. package/tests/guardrails.test.ts +0 -177
  677. package/tests/hitl.test.ts +0 -71
  678. package/tests/home-assistant.test.ts +0 -40
  679. package/tests/hooks.test.ts +0 -79
  680. package/tests/i18n.test.ts +0 -41
  681. package/tests/ide-bridge.test.ts +0 -38
  682. package/tests/image-generator.test.ts +0 -84
  683. package/tests/init-role.test.ts +0 -124
  684. package/tests/integrations.test.ts +0 -249
  685. package/tests/mcp-client.test.ts +0 -92
  686. package/tests/mcp-server.test.ts +0 -178
  687. package/tests/mcp-servers.test.ts +0 -260
  688. package/tests/mcp.test.ts +0 -54
  689. package/tests/node-network.test.ts +0 -74
  690. package/tests/oad.test.ts +0 -68
  691. package/tests/performance.test.ts +0 -115
  692. package/tests/plugin-a2a-enhanced.test.ts +0 -230
  693. package/tests/plugin.test.ts +0 -74
  694. package/tests/profiles.test.ts +0 -61
  695. package/tests/publish.test.ts +0 -231
  696. package/tests/rl-tools.test.ts +0 -93
  697. package/tests/room.test.ts +0 -106
  698. package/tests/runtime.test.ts +0 -42
  699. package/tests/sandbox-manager.test.ts +0 -46
  700. package/tests/sandbox.test.ts +0 -46
  701. package/tests/scheduler.test.ts +0 -200
  702. package/tests/secrets.test.ts +0 -107
  703. package/tests/security-enhanced.test.ts +0 -233
  704. package/tests/security.test.ts +0 -60
  705. package/tests/settings-api.test.ts +0 -148
  706. package/tests/setup.test.ts +0 -73
  707. package/tests/skill-learner.test.ts +0 -161
  708. package/tests/streaming.test.ts +0 -109
  709. package/tests/studio.test.ts +0 -402
  710. package/tests/subagent.test.ts +0 -193
  711. package/tests/telegram-discord.test.ts +0 -60
  712. package/tests/telemetry.test.ts +0 -186
  713. package/tests/templates.test.ts +0 -77
  714. package/tests/tools/builtin-extended.test.ts +0 -138
  715. package/tests/user-profiler.test.ts +0 -169
  716. package/tests/v070.test.ts +0 -76
  717. package/tests/v090-features.test.ts +0 -254
  718. package/tests/versioning.test.ts +0 -75
  719. package/tests/vision.test.ts +0 -61
  720. package/tests/voice-call.test.ts +0 -47
  721. package/tests/voice-enhanced.test.ts +0 -169
  722. package/tests/voice-interaction.test.ts +0 -38
  723. package/tests/voice.test.ts +0 -61
  724. package/tests/web-search.test.ts +0 -155
  725. package/tests/webhook.test.ts +0 -29
  726. package/tests/workflow-graph.test.ts +0 -279
  727. package/tests/workflow.test.ts +0 -143
  728. package/tmp-js-test.js +0 -1532
  729. package/tmp-sc.js +0 -1716
  730. package/tutorial/customer-service-agent/README.md +0 -612
  731. package/tutorial/customer-service-agent/SOUL.md +0 -26
  732. package/tutorial/customer-service-agent/agent.yaml +0 -63
  733. package/tutorial/customer-service-agent/package.json +0 -19
  734. package/tutorial/customer-service-agent/src/index.ts +0 -69
  735. package/tutorial/customer-service-agent/src/skills/faq.ts +0 -27
  736. package/tutorial/customer-service-agent/src/skills/ticket.ts +0 -22
  737. package/tutorial/customer-service-agent/tsconfig.json +0 -14
  738. 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
- });