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,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
- });