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,376 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import * as crypto from 'crypto';
4
- import * as yaml from 'js-yaml';
5
- import { execSync } from 'child_process';
6
-
7
- // ─── Types ───────────────────────────────────────────────────
8
-
9
- export interface PackageManifest {
10
- name: string;
11
- version: string;
12
- description: string;
13
- author: string;
14
- license: string;
15
- agent: {
16
- model: string;
17
- provider: string;
18
- channels: string[];
19
- skills: string[];
20
- tools: string[];
21
- };
22
- files: string[];
23
- checksum: string;
24
- createdAt: string;
25
- }
26
-
27
- export interface PublishOptions {
28
- dryRun?: boolean;
29
- registry?: string;
30
- tag?: string;
31
- access?: 'public' | 'private';
32
- }
33
-
34
- // ─── Ignore patterns ────────────────────────────────────────
35
-
36
- const DEFAULT_IGNORE = [
37
- 'node_modules',
38
- '.git',
39
- '.env',
40
- '.opc',
41
- '*.log',
42
- 'dist',
43
- '.DS_Store',
44
- 'Thumbs.db',
45
- ];
46
-
47
- function loadIgnorePatterns(dir: string): string[] {
48
- const opcIgnore = path.join(dir, '.opcignore');
49
- const gitIgnore = path.join(dir, '.gitignore');
50
-
51
- let lines: string[] = [];
52
- if (fs.existsSync(opcIgnore)) {
53
- lines = fs.readFileSync(opcIgnore, 'utf-8').split('\n');
54
- } else if (fs.existsSync(gitIgnore)) {
55
- lines = fs.readFileSync(gitIgnore, 'utf-8').split('\n');
56
- }
57
-
58
- const patterns = lines
59
- .map(l => l.trim())
60
- .filter(l => l && !l.startsWith('#'));
61
-
62
- // Merge with defaults (deduplicate)
63
- const all = new Set([...DEFAULT_IGNORE, ...patterns]);
64
- return Array.from(all);
65
- }
66
-
67
- function matchesPattern(filePath: string, pattern: string): boolean {
68
- // Normalize separators
69
- const normalized = filePath.replace(/\\/g, '/');
70
- const p = pattern.replace(/\\/g, '/').replace(/\/$/, '');
71
-
72
- // Exact directory/file match
73
- if (normalized === p || normalized.startsWith(p + '/')) return true;
74
-
75
- // Basename match (e.g. ".env" matches any ".env" at any depth)
76
- const basename = path.basename(normalized);
77
- if (basename === p) return true;
78
-
79
- // Simple glob: *.ext
80
- if (p.startsWith('*.')) {
81
- const ext = p.slice(1); // e.g. ".log"
82
- if (basename.endsWith(ext)) return true;
83
- }
84
-
85
- // Directory at any depth: "tests/" pattern
86
- const segments = normalized.split('/');
87
- if (segments.includes(p)) return true;
88
-
89
- return false;
90
- }
91
-
92
- function isIgnored(filePath: string, patterns: string[]): boolean {
93
- return patterns.some(p => matchesPattern(filePath, p));
94
- }
95
-
96
- // ─── File walker ────────────────────────────────────────────
97
-
98
- function walkDir(dir: string, base: string, patterns: string[]): string[] {
99
- const results: string[] = [];
100
- const entries = fs.readdirSync(dir, { withFileTypes: true });
101
-
102
- for (const entry of entries) {
103
- const rel = path.join(base, entry.name).replace(/\\/g, '/');
104
- if (isIgnored(rel, patterns)) continue;
105
-
106
- if (entry.isDirectory()) {
107
- results.push(...walkDir(path.join(dir, entry.name), rel, patterns));
108
- } else if (entry.isFile()) {
109
- results.push(rel);
110
- }
111
- }
112
- return results;
113
- }
114
-
115
- // ─── AgentPackager ──────────────────────────────────────────
116
-
117
- export class AgentPackager {
118
- async validate(dir: string): Promise<{ valid: boolean; errors: string[]; warnings: string[] }> {
119
- const errors: string[] = [];
120
- const warnings: string[] = [];
121
-
122
- // Required files
123
- if (!fs.existsSync(path.join(dir, 'agent.yaml'))) {
124
- errors.push('Missing agent.yaml');
125
- }
126
- if (!fs.existsSync(path.join(dir, 'package.json'))) {
127
- errors.push('Missing package.json');
128
- }
129
-
130
- // Recommended files
131
- if (!fs.existsSync(path.join(dir, 'SOUL.md'))) {
132
- warnings.push('Missing SOUL.md (recommended)');
133
- }
134
- if (!fs.existsSync(path.join(dir, 'README.md'))) {
135
- warnings.push('Missing README.md');
136
- }
137
-
138
- // Validate agent.yaml content if it exists
139
- if (fs.existsSync(path.join(dir, 'agent.yaml'))) {
140
- try {
141
- const raw = fs.readFileSync(path.join(dir, 'agent.yaml'), 'utf-8');
142
- const config = yaml.load(raw) as any;
143
-
144
- if (!config?.metadata?.name) {
145
- errors.push('agent.yaml: missing metadata.name');
146
- } else {
147
- const name = config.metadata.name;
148
- if (name !== name.toLowerCase()) {
149
- errors.push('agent.yaml: metadata.name must be lowercase');
150
- }
151
- if (/\s/.test(name)) {
152
- errors.push('agent.yaml: metadata.name must not contain spaces');
153
- }
154
- }
155
-
156
- if (!config?.metadata?.version) {
157
- errors.push('agent.yaml: missing metadata.version');
158
- } else {
159
- const ver = config.metadata.version;
160
- if (!/^\d+\.\d+\.\d+/.test(ver)) {
161
- errors.push(`agent.yaml: invalid version format "${ver}" (expected semver)`);
162
- }
163
- }
164
- } catch (e) {
165
- errors.push(`agent.yaml: invalid YAML — ${e instanceof Error ? e.message : e}`);
166
- }
167
- }
168
-
169
- // Validate package.json
170
- if (fs.existsSync(path.join(dir, 'package.json'))) {
171
- try {
172
- JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf-8'));
173
- } catch {
174
- errors.push('package.json: invalid JSON');
175
- }
176
- }
177
-
178
- return { valid: errors.length === 0, errors, warnings };
179
- }
180
-
181
- async listFiles(dir: string): Promise<string[]> {
182
- const patterns = loadIgnorePatterns(dir);
183
- return walkDir(dir, '', patterns);
184
- }
185
-
186
- async pack(dir: string): Promise<{ path: string; manifest: PackageManifest }> {
187
- // 1. Validate
188
- const validation = await this.validate(dir);
189
- if (!validation.valid) {
190
- throw new Error(`Validation failed:\n ${validation.errors.join('\n ')}`);
191
- }
192
-
193
- // 2. Read configs
194
- const agentYaml = yaml.load(fs.readFileSync(path.join(dir, 'agent.yaml'), 'utf-8')) as any;
195
- const pkgJson = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf-8'));
196
-
197
- const meta = agentYaml.metadata ?? {};
198
- const spec = agentYaml.spec ?? {};
199
-
200
- // 3. Collect files
201
- const files = await this.listFiles(dir);
202
-
203
- // 4. Create manifest
204
- const manifest: PackageManifest = {
205
- name: meta.name ?? pkgJson.name ?? 'unknown',
206
- version: meta.version ?? pkgJson.version ?? '0.0.0',
207
- description: meta.description ?? pkgJson.description ?? '',
208
- author: meta.author ?? pkgJson.author ?? '',
209
- license: meta.license ?? pkgJson.license ?? 'UNLICENSED',
210
- agent: {
211
- model: spec.model ?? '',
212
- provider: spec.provider?.default ?? '',
213
- channels: (spec.channels ?? []).map((c: any) => c.type ?? String(c)),
214
- skills: (spec.skills ?? []).map((s: any) => s.name ?? String(s)),
215
- tools: (spec.tools ?? []).map((t: any) => t.name ?? String(t)),
216
- },
217
- files,
218
- checksum: '', // computed after tarball
219
- createdAt: new Date().toISOString(),
220
- };
221
-
222
- // Write manifest into dir temporarily
223
- const manifestPath = path.join(dir, 'manifest.json');
224
- fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
225
-
226
- // 5. Create tarball
227
- const tarName = `${manifest.name}-${manifest.version}.opc.tgz`;
228
- const outputPath = path.resolve(dir, '..', tarName);
229
-
230
- // Include manifest.json in file list
231
- const allFiles = ['manifest.json', ...files];
232
-
233
- try {
234
- // Try using system tar
235
- const fileListPath = path.join(dir, '.opc-filelist');
236
- fs.writeFileSync(fileListPath, allFiles.join('\n'));
237
-
238
- execSync(
239
- `tar czf "${outputPath}" -C "${dir}" -T "${fileListPath}"`,
240
- { stdio: 'pipe' },
241
- );
242
-
243
- // Cleanup temp files
244
- try { fs.unlinkSync(fileListPath); } catch { /* ignore */ }
245
- } catch {
246
- // Fallback: use node zlib + simple tar via exec
247
- // On Windows, try PowerShell Compress-Archive as .zip then rename
248
- try {
249
- const tempZip = outputPath.replace('.tgz', '.zip');
250
- const absFiles = allFiles.map(f => `"${path.join(dir, f)}"`).join(',');
251
- execSync(
252
- `powershell -NoProfile -Command "Compress-Archive -Path ${absFiles} -DestinationPath '${tempZip}' -Force"`,
253
- { stdio: 'pipe' },
254
- );
255
- // Rename .zip to .tgz (not ideal but functional)
256
- if (fs.existsSync(tempZip)) {
257
- fs.renameSync(tempZip, outputPath);
258
- }
259
- } catch (e2) {
260
- // Last resort: create a simple tar-like archive manually
261
- // Bundle all files as a JSON + base64 archive
262
- const archive: Record<string, string> = {};
263
- for (const f of allFiles) {
264
- const content = fs.readFileSync(path.join(dir, f));
265
- archive[f] = content.toString('base64');
266
- }
267
- const archiveJson = JSON.stringify(archive);
268
- const { gzipSync } = require('zlib');
269
- const compressed = gzipSync(Buffer.from(archiveJson));
270
- fs.writeFileSync(outputPath, compressed);
271
- }
272
- }
273
-
274
- // Cleanup manifest from source dir
275
- try { fs.unlinkSync(manifestPath); } catch { /* ignore */ }
276
-
277
- // 6. Calculate checksum
278
- const fileBuffer = fs.readFileSync(outputPath);
279
- manifest.checksum = crypto.createHash('sha256').update(fileBuffer).digest('hex');
280
-
281
- return { path: outputPath, manifest };
282
- }
283
- }
284
-
285
- // ─── AgentPublisher ─────────────────────────────────────────
286
-
287
- export class AgentPublisher {
288
- async publish(
289
- packagePath: string,
290
- manifest: PackageManifest,
291
- options: PublishOptions = {},
292
- ): Promise<{ success: boolean; url?: string }> {
293
- const tag = options.tag ?? 'latest';
294
- const access = options.access ?? 'public';
295
- const registry = options.registry ?? 'https://registry.npmjs.org';
296
-
297
- if (options.dryRun) {
298
- console.log('\n📦 Dry run — would publish:\n');
299
- console.log(` Name: ${manifest.name}`);
300
- console.log(` Version: ${manifest.version}`);
301
- console.log(` Tag: ${tag}`);
302
- console.log(` Access: ${access}`);
303
- console.log(` Registry: ${registry}`);
304
- console.log(` Files: ${manifest.files.length}`);
305
- console.log(` Checksum: ${manifest.checksum}`);
306
- console.log(` Package: ${packagePath}`);
307
- console.log();
308
- return { success: true };
309
- }
310
-
311
- // For now: placeholder — future OPC registry integration
312
- console.log(`\n📦 Publishing ${manifest.name}@${manifest.version} (tag: ${tag})...`);
313
- console.log(` Registry: ${registry}`);
314
- console.log(` Package: ${packagePath}`);
315
- console.log(` Checksum: ${manifest.checksum}`);
316
-
317
- // Future: actual npm publish or OPC registry API call
318
- // execSync(`npm publish "${packagePath}" --tag ${tag} --access ${access}`, { stdio: 'inherit' });
319
-
320
- console.log(`\n✅ Published ${manifest.name}@${manifest.version}`);
321
- return {
322
- success: true,
323
- url: `${registry}/${manifest.name}`,
324
- };
325
- }
326
- }
327
-
328
- // ─── AgentInstaller ─────────────────────────────────────────
329
-
330
- export class AgentInstaller {
331
- async install(source: string, targetDir: string): Promise<void> {
332
- if (!fs.existsSync(targetDir)) {
333
- fs.mkdirSync(targetDir, { recursive: true });
334
- }
335
-
336
- if (source.endsWith('.opc.tgz')) {
337
- // Extract tarball
338
- if (!fs.existsSync(source)) {
339
- throw new Error(`Package not found: ${source}`);
340
- }
341
-
342
- try {
343
- // Try system tar
344
- execSync(`tar xzf "${source}" -C "${targetDir}"`, { stdio: 'pipe' });
345
- } catch {
346
- // Fallback: try reading as gzipped JSON archive
347
- const { gunzipSync } = require('zlib');
348
- const compressed = fs.readFileSync(source);
349
- try {
350
- const decompressed = gunzipSync(compressed);
351
- const archive = JSON.parse(decompressed.toString());
352
- for (const [filePath, base64Content] of Object.entries(archive)) {
353
- const fullPath = path.join(targetDir, filePath);
354
- fs.mkdirSync(path.dirname(fullPath), { recursive: true });
355
- fs.writeFileSync(fullPath, Buffer.from(base64Content as string, 'base64'));
356
- }
357
- } catch {
358
- throw new Error('Failed to extract package — unsupported archive format');
359
- }
360
- }
361
-
362
- // Verify manifest
363
- const manifestPath = path.join(targetDir, 'manifest.json');
364
- if (fs.existsSync(manifestPath)) {
365
- const manifest: PackageManifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
366
- console.log(`✅ Installed ${manifest.name}@${manifest.version}`);
367
- } else {
368
- console.log('✅ Extracted package (no manifest found)');
369
- }
370
- } else {
371
- // npm install
372
- console.log(`📦 Installing from npm: ${source}`);
373
- execSync(`npm install "${source}"`, { cwd: targetDir, stdio: 'inherit' });
374
- }
375
- }
376
- }
@@ -1,191 +0,0 @@
1
- /**
2
- * Cron Engine — persistent scheduler with file-based storage.
3
- * Manages scheduled tasks with cron expressions, persists to ~/.opc/schedules.json,
4
- * and auto-recovers on startup.
5
- */
6
-
7
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
8
- import { join } from 'path';
9
- import * as os from 'os';
10
- import { parseCron, cronMatches, Scheduler } from '../core/scheduler';
11
- import type { CronJob, JobHandler } from '../core/scheduler';
12
-
13
- export interface ScheduleTask {
14
- id: string;
15
- name: string;
16
- schedule: string; // cron expression
17
- description: string; // natural language description
18
- frequency: 'daily' | 'weekly' | 'monthly' | 'custom';
19
- time?: string; // HH:mm for simple schedules
20
- outputChannel: 'telegram' | 'email' | 'web';
21
- enabled: boolean;
22
- createdAt: string;
23
- updatedAt: string;
24
- lastRun?: string;
25
- nextRun?: string;
26
- }
27
-
28
- export interface SchedulesStore {
29
- tasks: ScheduleTask[];
30
- }
31
-
32
- function getSchedulesPath(): string {
33
- const dir = join(os.homedir(), '.opc');
34
- if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
35
- return join(dir, 'schedules.json');
36
- }
37
-
38
- function loadSchedules(): SchedulesStore {
39
- const p = getSchedulesPath();
40
- if (existsSync(p)) {
41
- try { return JSON.parse(readFileSync(p, 'utf-8')); } catch { /* ignore */ }
42
- }
43
- return { tasks: [] };
44
- }
45
-
46
- function saveSchedules(store: SchedulesStore): void {
47
- writeFileSync(getSchedulesPath(), JSON.stringify(store, null, 2));
48
- }
49
-
50
- /** Convert frequency + time to cron expression */
51
- export function frequencyToCron(frequency: string, time?: string): string {
52
- const [hour, minute] = (time || '09:00').split(':').map(Number);
53
- switch (frequency) {
54
- case 'daily': return `${minute} ${hour} * * *`;
55
- case 'weekly': return `${minute} ${hour} * * 1`;
56
- case 'monthly': return `${minute} ${hour} 1 * *`;
57
- default: return '0 9 * * *'; // fallback
58
- }
59
- }
60
-
61
- /** Compute next run from a cron expression */
62
- function computeNextRun(cronExpr: string): string | undefined {
63
- try {
64
- const parsed = parseCron(cronExpr);
65
- const d = new Date();
66
- d.setSeconds(0, 0);
67
- d.setMinutes(d.getMinutes() + 1);
68
- for (let i = 0; i < 48 * 60; i++) {
69
- if (cronMatches(parsed, d)) return d.toISOString();
70
- d.setMinutes(d.getMinutes() + 1);
71
- }
72
- } catch { /* ignore */ }
73
- return undefined;
74
- }
75
-
76
- export class CronEngine {
77
- private scheduler: Scheduler;
78
- private store: SchedulesStore;
79
- private handler: JobHandler;
80
-
81
- constructor(handler?: JobHandler) {
82
- this.handler = handler || (async (job) => {
83
- console.log(`[cron-engine] Executing job: ${job.name} (${job.id})`);
84
- });
85
- this.scheduler = new Scheduler(this.handler);
86
- this.store = loadSchedules();
87
- }
88
-
89
- /** Initialize and recover persisted tasks */
90
- start(): void {
91
- for (const task of this.store.tasks) {
92
- if (task.enabled) {
93
- this.scheduler.addJob({
94
- id: task.id,
95
- name: task.name,
96
- schedule: task.schedule,
97
- task: task.description,
98
- enabled: true,
99
- });
100
- }
101
- }
102
- this.scheduler.start();
103
- console.log(`[cron-engine] Started with ${this.store.tasks.filter(t => t.enabled).length} active tasks`);
104
- }
105
-
106
- stop(): void {
107
- this.scheduler.stop();
108
- }
109
-
110
- listTasks(): ScheduleTask[] {
111
- // Refresh nextRun
112
- return this.store.tasks.map(t => ({
113
- ...t,
114
- nextRun: t.enabled ? computeNextRun(t.schedule) : undefined,
115
- }));
116
- }
117
-
118
- getTask(id: string): ScheduleTask | undefined {
119
- return this.store.tasks.find(t => t.id === id);
120
- }
121
-
122
- createTask(input: Omit<ScheduleTask, 'id' | 'createdAt' | 'updatedAt' | 'lastRun' | 'nextRun'>): ScheduleTask {
123
- const id = `sched-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
124
- const now = new Date().toISOString();
125
- const schedule = input.schedule || frequencyToCron(input.frequency, input.time);
126
- const task: ScheduleTask = {
127
- ...input,
128
- id,
129
- schedule,
130
- createdAt: now,
131
- updatedAt: now,
132
- nextRun: input.enabled ? computeNextRun(schedule) : undefined,
133
- };
134
- this.store.tasks.push(task);
135
- saveSchedules(this.store);
136
-
137
- if (task.enabled) {
138
- this.scheduler.addJob({
139
- id: task.id,
140
- name: task.name,
141
- schedule: task.schedule,
142
- task: task.description,
143
- enabled: true,
144
- });
145
- }
146
- return task;
147
- }
148
-
149
- updateTask(id: string, updates: Partial<ScheduleTask>): ScheduleTask | null {
150
- const idx = this.store.tasks.findIndex(t => t.id === id);
151
- if (idx === -1) return null;
152
-
153
- const task = { ...this.store.tasks[idx], ...updates, id, updatedAt: new Date().toISOString() };
154
- if (updates.frequency || updates.time) {
155
- task.schedule = updates.schedule || frequencyToCron(task.frequency, task.time);
156
- }
157
- task.nextRun = task.enabled ? computeNextRun(task.schedule) : undefined;
158
- this.store.tasks[idx] = task;
159
- saveSchedules(this.store);
160
-
161
- // Update scheduler
162
- this.scheduler.removeJob(id);
163
- if (task.enabled) {
164
- this.scheduler.addJob({
165
- id: task.id,
166
- name: task.name,
167
- schedule: task.schedule,
168
- task: task.description,
169
- enabled: true,
170
- });
171
- }
172
- return task;
173
- }
174
-
175
- deleteTask(id: string): boolean {
176
- const idx = this.store.tasks.findIndex(t => t.id === id);
177
- if (idx === -1) return false;
178
- this.store.tasks.splice(idx, 1);
179
- saveSchedules(this.store);
180
- this.scheduler.removeJob(id);
181
- return true;
182
- }
183
-
184
- async runTask(id: string): Promise<boolean> {
185
- const task = this.store.tasks.find(t => t.id === id);
186
- if (!task) return false;
187
- task.lastRun = new Date().toISOString();
188
- saveSchedules(this.store);
189
- return this.scheduler.runJob(id);
190
- }
191
- }
@@ -1,2 +0,0 @@
1
- export { CronEngine, frequencyToCron } from './cron-engine';
2
- export type { ScheduleTask, SchedulesStore } from './cron-engine';