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,254 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
- import { DingTalkChannel } from '../src/channels/dingtalk';
3
- import { MattermostChannel } from '../src/channels/mattermost';
4
- import { GoogleChatChannel } from '../src/channels/googlechat';
5
- import { TwitchChannel } from '../src/channels/twitch';
6
- import { IRCChannel } from '../src/channels/irc';
7
- import { ContextDiscovery } from '../src/core/context-discovery';
8
- import { SessionManager } from '../src/core/session-manager';
9
- import { HeartbeatManager } from '../src/core/heartbeat';
10
- import * as fs from 'fs';
11
- import * as path from 'path';
12
- import * as os from 'os';
13
-
14
- // ── Channel Tests (10) ──
15
-
16
- describe('DingTalkChannel', () => {
17
- it('should require webhookUrl', () => {
18
- expect(() => new DingTalkChannel({ webhookUrl: '' })).toThrow('webhookUrl');
19
- });
20
- it('should throw when sending before start', async () => {
21
- const ch = new DingTalkChannel({ webhookUrl: 'https://example.com/hook' });
22
- await expect(ch.send('chat', 'hi')).rejects.toThrow('not started');
23
- });
24
- });
25
-
26
- describe('MattermostChannel', () => {
27
- it('should require serverUrl and token', () => {
28
- expect(() => new MattermostChannel({ serverUrl: '', token: '' })).toThrow('serverUrl');
29
- });
30
- it('should throw when sending before start', async () => {
31
- const ch = new MattermostChannel({ serverUrl: 'https://mm.example.com', token: 'tok' });
32
- await expect(ch.send('ch1', 'hi')).rejects.toThrow('not started');
33
- });
34
- });
35
-
36
- describe('GoogleChatChannel', () => {
37
- it('should require webhookUrl', () => {
38
- expect(() => new GoogleChatChannel({ webhookUrl: '' })).toThrow('webhookUrl');
39
- });
40
- it('should throw when sending before start', async () => {
41
- const ch = new GoogleChatChannel({ webhookUrl: 'https://chat.googleapis.com/v1/spaces/x/messages?key=y' });
42
- await expect(ch.send('space', 'hi')).rejects.toThrow('not started');
43
- });
44
- });
45
-
46
- describe('TwitchChannel', () => {
47
- it('should require username, oauthToken, channels', () => {
48
- expect(() => new TwitchChannel({ username: '', oauthToken: '', channels: [] })).toThrow('username');
49
- });
50
- it('should throw when starting without tmi.js', async () => {
51
- const ch = new TwitchChannel({ username: 'bot', oauthToken: 'oauth:xxx', channels: ['#test'] });
52
- await expect(ch.start()).rejects.toThrow('tmi.js');
53
- });
54
- });
55
-
56
- describe('IRCChannel', () => {
57
- it('should require host, nick, channels', () => {
58
- expect(() => new IRCChannel({ host: '', nick: '', channels: [] })).toThrow('host');
59
- });
60
- it('should throw when starting without irc-framework', async () => {
61
- const ch = new IRCChannel({ host: 'irc.libera.chat', nick: 'bot', channels: ['#test'] });
62
- await expect(ch.start()).rejects.toThrow('irc-framework');
63
- });
64
- });
65
-
66
- // ── Context Discovery Tests (8) ──
67
-
68
- describe('ContextDiscovery', () => {
69
- let tmpDir: string;
70
- let cd: ContextDiscovery;
71
-
72
- beforeEach(() => {
73
- tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'ctx-'));
74
- cd = new ContextDiscovery();
75
- });
76
-
77
- afterEach(() => {
78
- cd.stopWatching();
79
- fs.rmSync(tmpDir, { recursive: true, force: true });
80
- });
81
-
82
- it('should discover AGENTS.md', () => {
83
- fs.writeFileSync(path.join(tmpDir, 'AGENTS.md'), '# Agents');
84
- const files = cd.discover(tmpDir);
85
- expect(files.length).toBe(1);
86
- expect(files[0].type).toBe('agents');
87
- });
88
-
89
- it('should discover multiple standard files', () => {
90
- fs.writeFileSync(path.join(tmpDir, 'SOUL.md'), '# Soul');
91
- fs.writeFileSync(path.join(tmpDir, 'USER.md'), '# User');
92
- const files = cd.discover(tmpDir);
93
- expect(files.length).toBe(2);
94
- });
95
-
96
- it('should return empty for no context files', () => {
97
- expect(cd.discover(tmpDir)).toEqual([]);
98
- });
99
-
100
- it('should load and merge files into prompt', () => {
101
- fs.writeFileSync(path.join(tmpDir, 'SOUL.md'), 'Be nice');
102
- fs.writeFileSync(path.join(tmpDir, 'TOOLS.md'), 'Use web');
103
- const files = cd.discover(tmpDir);
104
- const prompt = cd.load(files);
105
- expect(prompt).toContain('Be nice');
106
- expect(prompt).toContain('Use web');
107
- });
108
-
109
- it('should add and discover custom files', () => {
110
- const customPath = path.join(tmpDir, 'CUSTOM.md');
111
- fs.writeFileSync(customPath, '# Custom');
112
- cd.addCustomFile(customPath);
113
- const files = cd.discover(tmpDir);
114
- expect(files.some(f => f.type === 'custom' && f.content.includes('Custom'))).toBe(true);
115
- });
116
-
117
- it('should not duplicate custom files', () => {
118
- cd.addCustomFile('test.md');
119
- cd.addCustomFile('test.md');
120
- // Internal check - discover won't find it but custom list should have 1
121
- expect(cd.discover(tmpDir).filter(f => f.path.includes('test.md')).length).toBeLessThanOrEqual(1);
122
- });
123
-
124
- it('should assign correct types', () => {
125
- fs.writeFileSync(path.join(tmpDir, 'MEMORY.md'), 'mem');
126
- fs.writeFileSync(path.join(tmpDir, 'IDENTITY.md'), 'id');
127
- const files = cd.discover(tmpDir);
128
- expect(files.find(f => f.type === 'memory')).toBeTruthy();
129
- expect(files.find(f => f.type === 'identity')).toBeTruthy();
130
- });
131
-
132
- it('should handle watch without errors', () => {
133
- // Just ensure no throw
134
- cd.watch(tmpDir, () => {});
135
- cd.stopWatching();
136
- });
137
- });
138
-
139
- // ── Session Manager Tests (8) ──
140
-
141
- describe('SessionManager', () => {
142
- let sm: SessionManager;
143
- let tmpDir: string;
144
-
145
- beforeEach(() => {
146
- tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'sess-'));
147
- sm = new SessionManager(tmpDir);
148
- });
149
-
150
- afterEach(() => {
151
- fs.rmSync(tmpDir, { recursive: true, force: true });
152
- });
153
-
154
- it('should create a session', () => {
155
- const s = sm.create('agent1', 'telegram');
156
- expect(s.id).toBeTruthy();
157
- expect(s.agentId).toBe('agent1');
158
- });
159
-
160
- it('should get a session by id', () => {
161
- const s = sm.create('agent1', 'telegram');
162
- expect(sm.get(s.id)).toEqual(s);
163
- expect(sm.get('nonexistent')).toBeNull();
164
- });
165
-
166
- it('should add messages', () => {
167
- const s = sm.create('a', 'c');
168
- sm.addMessage(s.id, { id: '1', role: 'user', content: 'hi', timestamp: Date.now() });
169
- expect(sm.get(s.id)!.messages.length).toBe(1);
170
- });
171
-
172
- it('should list with filters', () => {
173
- sm.create('a1', 'telegram');
174
- sm.create('a2', 'discord');
175
- expect(sm.list({ agentId: 'a1' }).length).toBe(1);
176
- expect(sm.list({ channel: 'discord' }).length).toBe(1);
177
- });
178
-
179
- it('should compact sessions', async () => {
180
- const s = sm.create('a', 'c');
181
- for (let i = 0; i < 15; i++) {
182
- sm.addMessage(s.id, { id: `${i}`, role: 'user', content: `msg ${i}`, timestamp: Date.now() });
183
- }
184
- await sm.compact(s.id);
185
- expect(sm.get(s.id)!.messages.length).toBeLessThan(15);
186
- expect(sm.get(s.id)!.compactedAt).toBeTruthy();
187
- });
188
-
189
- it('should prune old sessions', () => {
190
- const s = sm.create('a', 'c');
191
- // Manually set old lastActivity
192
- (sm.get(s.id) as any).lastActivity = Date.now() - 999999;
193
- expect(sm.prune(1000)).toBe(1);
194
- });
195
-
196
- it('should fork and get lineage', () => {
197
- const parent = sm.create('a', 'c');
198
- const child = sm.fork(parent.id);
199
- expect(child.parentId).toBe(parent.id);
200
- const lineage = sm.getLineage(child.id);
201
- expect(lineage.length).toBe(2);
202
- expect(lineage[0].id).toBe(parent.id);
203
- });
204
-
205
- it('should export as markdown and save/load', () => {
206
- const s = sm.create('a', 'c');
207
- sm.addMessage(s.id, { id: '1', role: 'user', content: 'hello', timestamp: Date.now() });
208
- const md = sm.export(s.id);
209
- expect(md).toContain('hello');
210
- sm.save();
211
- const sm2 = new SessionManager(tmpDir);
212
- sm2.load();
213
- expect(sm2.get(s.id)).toBeTruthy();
214
- });
215
- });
216
-
217
- // ── Heartbeat Tests (4) ──
218
-
219
- describe('HeartbeatManager', () => {
220
- it('should require valid config', () => {
221
- expect(() => new HeartbeatManager({ interval: 0, checkFn: async () => 'ok' })).toThrow('interval');
222
- expect(() => new HeartbeatManager({ interval: 1000, checkFn: null as any })).toThrow('checkFn');
223
- });
224
-
225
- it('should start and stop', () => {
226
- const hb = new HeartbeatManager({ interval: 100, checkFn: async () => 'ok' });
227
- hb.start();
228
- hb.stop();
229
- // Double stop should be safe
230
- hb.stop();
231
- });
232
-
233
- it('should fire callbacks on beat', async () => {
234
- const hb = new HeartbeatManager({ interval: 100, checkFn: async () => 'alive' });
235
- const statuses: string[] = [];
236
- hb.onBeat(s => statuses.push(s));
237
- hb.start();
238
- await new Promise(r => setTimeout(r, 350));
239
- hb.stop();
240
- expect(statuses.length).toBeGreaterThanOrEqual(2);
241
- expect(statuses[0]).toBe('alive');
242
- });
243
-
244
- it('should report last beat', async () => {
245
- const hb = new HeartbeatManager({ interval: 100, checkFn: async () => 'ok' });
246
- expect(hb.getLastBeat()).toBeNull();
247
- hb.start();
248
- await new Promise(r => setTimeout(r, 200));
249
- hb.stop();
250
- const beat = hb.getLastBeat();
251
- expect(beat).toBeTruthy();
252
- expect(beat!.status).toBe('ok');
253
- });
254
- });
@@ -1,75 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
- import { VersionManager } from '../src/core/versioning';
3
- import * as fs from 'fs';
4
-
5
- const TEST_STORE = '.test-versions.json';
6
-
7
- describe('VersionManager', () => {
8
- let vm: VersionManager;
9
-
10
- beforeEach(() => {
11
- if (fs.existsSync(TEST_STORE)) fs.unlinkSync(TEST_STORE);
12
- vm = new VersionManager(TEST_STORE);
13
- });
14
-
15
- afterEach(() => {
16
- if (fs.existsSync(TEST_STORE)) fs.unlinkSync(TEST_STORE);
17
- });
18
-
19
- it('should save and list versions', () => {
20
- vm.snapshot('1.0.0', 'yaml-content-1', 'Initial');
21
- vm.snapshot('1.1.0', 'yaml-content-2', 'Update');
22
- const versions = vm.list();
23
- expect(versions).toHaveLength(2);
24
- expect(versions[0].version).toBe('1.0.0');
25
- });
26
-
27
- it('should get specific version', () => {
28
- vm.snapshot('1.0.0', 'content', 'Test');
29
- expect(vm.get('1.0.0')).toBeDefined();
30
- expect(vm.get('9.9.9')).toBeUndefined();
31
- });
32
-
33
- it('should get current version', () => {
34
- vm.snapshot('1.0.0', 'v1');
35
- vm.snapshot('2.0.0', 'v2');
36
- expect(vm.getCurrent()?.version).toBe('2.0.0');
37
- });
38
-
39
- it('should rollback to version', () => {
40
- vm.snapshot('1.0.0', 'old-yaml');
41
- vm.snapshot('2.0.0', 'new-yaml');
42
- const rolled = vm.rollback('1.0.0');
43
- expect(rolled).toBe('old-yaml');
44
- });
45
-
46
- it('should return null for unknown rollback', () => {
47
- expect(vm.rollback('9.9.9')).toBeNull();
48
- });
49
-
50
- it('should run migrations', () => {
51
- vm.registerMigration({
52
- fromVersion: '1.0.0',
53
- toVersion: '2.0.0',
54
- migrate: (oad) => ({ ...oad, upgraded: true }),
55
- });
56
- const result = vm.migrate({ data: 'test' }, '1.0.0', '2.0.0');
57
- expect((result as any).upgraded).toBe(true);
58
- });
59
-
60
- it('should throw on missing migration path', () => {
61
- expect(() => vm.migrate({}, '1.0.0', '5.0.0')).toThrow('No migration path');
62
- });
63
-
64
- it('should clear all versions', () => {
65
- vm.snapshot('1.0.0', 'content');
66
- vm.clear();
67
- expect(vm.list()).toHaveLength(0);
68
- });
69
-
70
- it('should persist to file', () => {
71
- vm.snapshot('1.0.0', 'persisted');
72
- const vm2 = new VersionManager(TEST_STORE);
73
- expect(vm2.list()).toHaveLength(1);
74
- });
75
- });
@@ -1,61 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { VisionManager, detectMimeType } from '../src/core/vision';
3
- import type { ImageInput, VisionResult } from '../src/core/vision';
4
-
5
- describe('VisionManager', () => {
6
- it('should create VisionManager with defaults', () => {
7
- const vm = new VisionManager();
8
- expect(vm).toBeDefined();
9
- });
10
-
11
- it('should create VisionManager with custom config', () => {
12
- const vm = new VisionManager({ model: 'gpt-4o-mini', maxImageSize: 5 * 1024 * 1024 });
13
- expect(vm).toBeDefined();
14
- });
15
-
16
- it('should detect PNG mime type', () => {
17
- const buf = Buffer.from([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A]);
18
- expect(detectMimeType(buf)).toBe('image/png');
19
- });
20
-
21
- it('should detect JPEG mime type', () => {
22
- const buf = Buffer.from([0xFF, 0xD8, 0xFF, 0xE0]);
23
- expect(detectMimeType(buf)).toBe('image/jpeg');
24
- });
25
-
26
- it('should detect GIF mime type', () => {
27
- const buf = Buffer.from([0x47, 0x49, 0x46, 0x38, 0x39, 0x61]);
28
- expect(detectMimeType(buf)).toBe('image/gif');
29
- });
30
-
31
- it('should detect WebP mime type', () => {
32
- const buf = Buffer.from([0x52, 0x49, 0x46, 0x46, 0x00, 0x00, 0x00, 0x00]);
33
- expect(detectMimeType(buf)).toBe('image/webp');
34
- });
35
-
36
- it('should return octet-stream for unknown', () => {
37
- const buf = Buffer.from([0x00, 0x01, 0x02]);
38
- expect(detectMimeType(buf)).toBe('application/octet-stream');
39
- });
40
-
41
- it('should prepare multimodal message with URL images', () => {
42
- const vm = new VisionManager();
43
- const images: ImageInput[] = [{ type: 'url', data: 'https://example.com/img.png' }];
44
- const msgs = vm.prepareMessage(images, 'Describe this');
45
- expect(msgs).toHaveLength(1);
46
- expect((msgs[0] as any).content).toHaveLength(2);
47
- expect((msgs[0] as any).content[0].type).toBe('text');
48
- expect((msgs[0] as any).content[1].type).toBe('image_url');
49
- });
50
-
51
- it('should throw on analyze without API key', async () => {
52
- const vm = new VisionManager({ apiKey: '' });
53
- const input: ImageInput = { type: 'url', data: 'https://example.com/img.png' };
54
- await expect(vm.analyze(input)).rejects.toThrow('Vision API key not configured');
55
- });
56
-
57
- it('should throw on compareImages with less than 2 images', async () => {
58
- const vm = new VisionManager({ apiKey: 'test' });
59
- await expect(vm.compareImages([{ type: 'url', data: 'https://example.com/1.png' }])).rejects.toThrow('at least 2');
60
- });
61
- });
@@ -1,47 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { VoiceCallManager } from '../src/channels/voice-call';
3
-
4
- describe('VoiceCallManager', () => {
5
- it('should create with config', () => {
6
- const mgr = new VoiceCallManager({ provider: 'twilio', credentials: { sid: 'x', token: 'y' } });
7
- expect(mgr).toBeInstanceOf(VoiceCallManager);
8
- });
9
-
10
- it('should throw without credentials on startCall', async () => {
11
- const mgr = new VoiceCallManager({ provider: 'twilio' });
12
- await expect(mgr.startCall('+1234')).rejects.toThrow('credentials');
13
- });
14
-
15
- it('should start and end a call', async () => {
16
- const mgr = new VoiceCallManager({ provider: 'webrtc', credentials: { key: 'val' } });
17
- const callId = await mgr.startCall('+1234');
18
- expect(callId).toBeTruthy();
19
- expect(mgr.getCallStatus(callId)).toBe('ringing');
20
- await mgr.endCall(callId);
21
- expect(mgr.getCallStatus(callId)).toBe('ended');
22
- });
23
-
24
- it('should handle incoming calls', async () => {
25
- const mgr = new VoiceCallManager({ provider: 'sip', credentials: { key: 'val' } });
26
- const result = await new Promise<{ callId: string; from: string }>((resolve) => {
27
- mgr.onIncoming((callId, from) => resolve({ callId, from }));
28
- mgr.simulateIncoming('+5678');
29
- });
30
- expect(result.callId).toBeTruthy();
31
- expect(result.from).toBe('+5678');
32
- });
33
-
34
- it('should list active calls', async () => {
35
- const mgr = new VoiceCallManager({ provider: 'twilio', credentials: { sid: 'x', token: 'y' } });
36
- const id1 = await mgr.startCall('+111');
37
- const id2 = await mgr.startCall('+222');
38
- expect(mgr.listActiveCalls().length).toBe(2);
39
- await mgr.endCall(id1);
40
- expect(mgr.listActiveCalls().length).toBe(1);
41
- });
42
-
43
- it('should throw on unknown callId', () => {
44
- const mgr = new VoiceCallManager({ provider: 'twilio', credentials: { sid: 'x' } });
45
- expect(() => mgr.getCallStatus('unknown')).toThrow('not found');
46
- });
47
- });
@@ -1,169 +0,0 @@
1
- import { describe, it, expect, vi } from 'vitest';
2
- import { VoiceChannel, createVoiceProviders, EdgeTTSProvider, WhisperSTTProvider, OpenAITTSProvider } from '../src/channels/voice';
3
- import type { STTProvider, TTSProvider, VoiceConfig } from '../src/channels/voice';
4
-
5
- describe('VoiceChannel Enhanced', () => {
6
- // ── VoiceConfig Parsing ───────────────────────────────────
7
-
8
- it('should parse VoiceConfig with edge-tts', () => {
9
- const config: VoiceConfig = {
10
- sttProvider: 'whisper',
11
- ttsProvider: 'edge-tts',
12
- voice: 'en-US-GuyNeural',
13
- language: 'en',
14
- };
15
- const { stt, tts } = createVoiceProviders(config);
16
- expect(stt).toBeUndefined(); // no API key
17
- expect(tts).toBeDefined();
18
- expect(tts!.name).toBe('edge-tts');
19
- });
20
-
21
- it('should parse VoiceConfig with whisper + openai-tts', () => {
22
- const config: VoiceConfig = {
23
- sttProvider: 'whisper',
24
- ttsProvider: 'openai-tts',
25
- sttApiKey: 'sk-test',
26
- ttsApiKey: 'sk-test',
27
- voice: 'nova',
28
- };
29
- const { stt, tts } = createVoiceProviders(config);
30
- expect(stt).toBeDefined();
31
- expect(stt!.name).toBe('whisper');
32
- expect(tts).toBeDefined();
33
- expect(tts!.name).toBe('openai-tts');
34
- });
35
-
36
- it('should return undefined for web-speech (node-only)', () => {
37
- const { stt } = createVoiceProviders({
38
- sttProvider: 'web-speech',
39
- ttsProvider: 'edge-tts',
40
- });
41
- expect(stt).toBeUndefined();
42
- });
43
-
44
- // ── Transcribe (mock) ─────────────────────────────────────
45
-
46
- it('should transcribe audio with mock STT provider', async () => {
47
- const mockSTT: STTProvider = {
48
- name: 'mock-stt',
49
- transcribe: vi.fn().mockResolvedValue('Hello world'),
50
- };
51
- const channel = new VoiceChannel({ sttProvider: mockSTT });
52
- const text = await channel.transcribe(Buffer.from('audio-data'));
53
- expect(text).toBe('Hello world');
54
- expect(mockSTT.transcribe).toHaveBeenCalled();
55
- });
56
-
57
- it('should throw if no STT provider for transcribe', async () => {
58
- const channel = new VoiceChannel();
59
- await expect(channel.transcribe(Buffer.from('audio'))).rejects.toThrow('No STT provider');
60
- });
61
-
62
- // ── Synthesize (mock) ─────────────────────────────────────
63
-
64
- it('should synthesize text with mock TTS provider', async () => {
65
- const mockTTS: TTSProvider = {
66
- name: 'mock-tts',
67
- synthesize: vi.fn().mockResolvedValue(Buffer.from('audio-output')),
68
- };
69
- const channel = new VoiceChannel({ ttsProvider: mockTTS });
70
- const audio = await channel.synthesize('Hello world');
71
- expect(audio).toEqual(Buffer.from('audio-output'));
72
- expect(mockTTS.synthesize).toHaveBeenCalledWith('Hello world', { voice: undefined });
73
- });
74
-
75
- it('should throw if no TTS provider for synthesize', async () => {
76
- const channel = new VoiceChannel();
77
- await expect(channel.synthesize('Hello')).rejects.toThrow('No TTS provider');
78
- });
79
-
80
- // ── Conversation Mode ─────────────────────────────────────
81
-
82
- it('should start and stop conversation mode', async () => {
83
- const channel = new VoiceChannel();
84
- await channel.startConversation(async (text) => `Echo: ${text}`);
85
- expect(channel.isConversationActive()).toBe(true);
86
- channel.stopConversation();
87
- expect(channel.isConversationActive()).toBe(false);
88
- });
89
-
90
- // ── processConversationTurn ───────────────────────────────
91
-
92
- it('should process a conversation turn', async () => {
93
- const mockSTT: STTProvider = {
94
- name: 'mock-stt',
95
- transcribe: vi.fn().mockResolvedValue('What time is it?'),
96
- };
97
- const mockTTS: TTSProvider = {
98
- name: 'mock-tts',
99
- synthesize: vi.fn().mockResolvedValue(Buffer.from('audio-response')),
100
- };
101
- const channel = new VoiceChannel({ sttProvider: mockSTT, ttsProvider: mockTTS });
102
-
103
- const result = await channel.processConversationTurn(
104
- Buffer.from('audio'),
105
- async (text) => `It is 3pm, you said: ${text}`,
106
- );
107
-
108
- expect(result.text).toBe('What time is it?');
109
- expect(result.response).toContain('3pm');
110
- expect(result.audioResponse).toBeDefined();
111
- });
112
-
113
- // ── processAudio with handler ─────────────────────────────
114
-
115
- it('should process audio end-to-end', async () => {
116
- const mockSTT: STTProvider = {
117
- name: 'mock-stt',
118
- transcribe: vi.fn().mockResolvedValue('Hello agent'),
119
- };
120
- const mockTTS: TTSProvider = {
121
- name: 'mock-tts',
122
- synthesize: vi.fn().mockResolvedValue(Buffer.from('tts-audio')),
123
- };
124
- const channel = new VoiceChannel({ sttProvider: mockSTT, ttsProvider: mockTTS });
125
- channel.onMessage(async (msg) => ({
126
- id: 'r1',
127
- role: 'assistant' as const,
128
- content: `Reply to: ${msg.content}`,
129
- timestamp: Date.now(),
130
- }));
131
-
132
- const result = await channel.processAudio(Buffer.from('raw-audio'));
133
- expect(result.text).toBe('Hello agent');
134
- expect(result.response).toBe('Reply to: Hello agent');
135
- expect(result.audioResponse).toBeDefined();
136
- });
137
-
138
- // ── Provider instances ────────────────────────────────────
139
-
140
- it('should create EdgeTTSProvider with default voice', () => {
141
- const provider = new EdgeTTSProvider();
142
- expect(provider.name).toBe('edge-tts');
143
- });
144
-
145
- it('should create EdgeTTSProvider with custom voice', () => {
146
- const provider = new EdgeTTSProvider('zh-CN-XiaoxiaoNeural');
147
- expect(provider.name).toBe('edge-tts');
148
- });
149
-
150
- // ── Channel lifecycle ─────────────────────────────────────
151
-
152
- it('should start and stop channel', async () => {
153
- const channel = new VoiceChannel();
154
- expect(channel.isRunning()).toBe(false);
155
- await channel.start();
156
- expect(channel.isRunning()).toBe(true);
157
- await channel.stop();
158
- expect(channel.isRunning()).toBe(false);
159
- });
160
-
161
- it('should set STT/TTS providers dynamically', () => {
162
- const channel = new VoiceChannel();
163
- const mockSTT: STTProvider = { name: 'test-stt', transcribe: vi.fn() };
164
- const mockTTS: TTSProvider = { name: 'test-tts', synthesize: vi.fn() };
165
- channel.setSTTProvider(mockSTT);
166
- channel.setTTSProvider(mockTTS);
167
- // No error means success
168
- });
169
- });
@@ -1,38 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
-
3
- /**
4
- * Voice interaction tests — browser-only APIs (Web Speech API).
5
- * These tests verify the integration logic rather than the browser APIs themselves.
6
- */
7
- describe('Voice Interaction', () => {
8
- it('should define voice feature flags', () => {
9
- // In a browser context, these would be available
10
- // Here we just verify our integration assumptions
11
- expect(typeof globalThis).toBe('object');
12
- });
13
-
14
- it('should handle missing SpeechRecognition gracefully', () => {
15
- // Simulate no SpeechRecognition API
16
- const SpeechRecognition = (globalThis as any).SpeechRecognition || (globalThis as any).webkitSpeechRecognition;
17
- expect(SpeechRecognition).toBeUndefined(); // Not available in Node
18
- });
19
-
20
- it('should handle missing speechSynthesis gracefully', () => {
21
- const synth = (globalThis as any).speechSynthesis;
22
- expect(synth).toBeUndefined(); // Not available in Node
23
- });
24
- });
25
-
26
- describe('Voice TTS button injection', () => {
27
- it('should create a button element with correct attributes', () => {
28
- // Simulate DOM creation logic
29
- const btn = {
30
- className: 'tts-btn',
31
- textContent: '🔊',
32
- title: 'Read aloud',
33
- };
34
- expect(btn.className).toBe('tts-btn');
35
- expect(btn.textContent).toBe('🔊');
36
- expect(btn.title).toBe('Read aloud');
37
- });
38
- });