@johpaz/hive-agents 0.0.35 → 0.0.36

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 (440) hide show
  1. package/README.md +64 -39
  2. package/dist/hive.js +3127 -3104
  3. package/dist/ui/assets/{AgentCreateForm-B4eK7efF.js → AgentCreateForm-tJZv9FZC.js} +1 -1
  4. package/dist/ui/assets/{AgentDetailPage-BD2uoJWk.js → AgentDetailPage-Du-mRcAX.js} +1 -1
  5. package/dist/ui/assets/AgentNewPage-DIFYd_Ys.js +1 -0
  6. package/dist/ui/assets/{AgentsPage-4JUZXvkA.js → AgentsPage-YvSgWRiw.js} +6 -6
  7. package/dist/ui/assets/CanvasPage-DtMwGvxf.js +33 -0
  8. package/dist/ui/assets/{ChannelsPage-BUn7-nhV.js → ChannelsPage-BdBXWHjj.js} +1 -1
  9. package/dist/ui/assets/DashboardPage-ghl1ZguH.js +6 -0
  10. package/dist/ui/assets/{LoginPage-C8j_urUD.js → LoginPage-CAmSI9Vy.js} +1 -1
  11. package/dist/ui/assets/LogsPage-DAPBHkwK.js +1 -0
  12. package/dist/ui/assets/MeetingPage-WjjGOqqU.js +1 -0
  13. package/dist/ui/assets/{NotFound-Drh-sJPN.js → NotFound-BMeQSGcG.js} +1 -1
  14. package/dist/ui/assets/ProvidersPage-Ct6HsAi1.js +1 -0
  15. package/dist/ui/assets/{RecoverPage-DNb1Pr8h.js → RecoverPage-DpW3l-yv.js} +1 -1
  16. package/dist/ui/assets/SettingsPage-DBJ7_E6C.js +9 -0
  17. package/dist/ui/assets/SetupPage-DKmLVUaj.js +1 -0
  18. package/dist/ui/assets/{WebChatPage-R-YOwA4F.js → WebChatPage-CVRcKept.js} +2 -2
  19. package/dist/ui/assets/accordion-C5d5Rm5z.js +1 -0
  20. package/dist/ui/assets/{alert-U8FsgWi7.js → alert-C-NE-P3s.js} +1 -1
  21. package/dist/ui/assets/{alert-dialog-CRdMkkmk.js → alert-dialog-C5mzbHdP.js} +1 -1
  22. package/dist/ui/assets/{badge-Cli1jnH5.js → badge-ChpACfWO.js} +1 -1
  23. package/dist/ui/assets/chevron-up-BYhk0K2J.js +1 -0
  24. package/dist/ui/assets/{dialog-DQ3s-LuO.js → dialog-QnZ0ad8O.js} +1 -1
  25. package/dist/ui/assets/dropdown-menu-BK-CO3Od.js +1 -0
  26. package/dist/ui/assets/{es-DcMjrpbA.js → es-NQNoaWDx.js} +1 -1
  27. package/dist/ui/assets/index-B2fCYtTS.css +2 -0
  28. package/dist/ui/assets/index-DMCjjdqf.js +116 -0
  29. package/dist/ui/assets/{label-0BvGVXvZ.js → label-D2H1IR_J.js} +1 -1
  30. package/dist/ui/assets/progress-BherYzY6.js +1 -0
  31. package/dist/ui/assets/scroll-area-DkeyX32e.js +1 -0
  32. package/dist/ui/assets/{slider-D47dOrRa.js → slider-CsiUDxc3.js} +1 -1
  33. package/dist/ui/assets/switch-BDwN8RYV.js +1 -0
  34. package/dist/ui/assets/{table-DhowbNxQ.js → table-CSc8ubon.js} +1 -1
  35. package/dist/ui/assets/terminal-DN38Q456.js +1 -0
  36. package/dist/ui/assets/useProviders-C6_QHsEi.js +1 -0
  37. package/dist/ui/assets/{vendor-radix-JY4ncZrD.js → vendor-radix-cw1bQaVC.js} +4 -4
  38. package/dist/ui/assets/{vendor-react-CscwQerf.js → vendor-react-D4s9E-zj.js} +1 -1
  39. package/dist/ui/dist/assets/AgentCreateForm-tJZv9FZC.js +1 -0
  40. package/dist/ui/dist/assets/AgentDetailPage-Du-mRcAX.js +1 -0
  41. package/dist/ui/dist/assets/AgentNewPage-DIFYd_Ys.js +1 -0
  42. package/dist/ui/dist/assets/AgentsPage-YvSgWRiw.js +10 -0
  43. package/dist/ui/dist/assets/CanvasPage-DtMwGvxf.js +33 -0
  44. package/dist/ui/dist/assets/ChannelsPage-BdBXWHjj.js +8 -0
  45. package/dist/ui/dist/assets/DashboardPage-ghl1ZguH.js +6 -0
  46. package/dist/ui/dist/assets/LoginPage-CAmSI9Vy.js +1 -0
  47. package/dist/ui/dist/assets/LogsPage-DAPBHkwK.js +1 -0
  48. package/dist/ui/dist/assets/MeetingPage-WjjGOqqU.js +1 -0
  49. package/dist/ui/dist/assets/NotFound-BMeQSGcG.js +1 -0
  50. package/dist/ui/dist/assets/ProvidersPage-Ct6HsAi1.js +1 -0
  51. package/dist/ui/dist/assets/RecoverPage-DpW3l-yv.js +1 -0
  52. package/dist/ui/dist/assets/SettingsPage-DBJ7_E6C.js +9 -0
  53. package/dist/ui/dist/assets/SetupPage-DKmLVUaj.js +1 -0
  54. package/dist/ui/dist/assets/WebChatPage-CVRcKept.js +16 -0
  55. package/dist/ui/dist/assets/accordion-C5d5Rm5z.js +1 -0
  56. package/dist/ui/dist/assets/activity-c3pNngT_.js +1 -0
  57. package/dist/ui/dist/assets/alert-C-NE-P3s.js +1 -0
  58. package/dist/ui/dist/assets/alert-dialog-C5mzbHdP.js +1 -0
  59. package/dist/ui/dist/assets/arrow-left-CBcbX5EZ.js +1 -0
  60. package/dist/ui/dist/assets/badge-ChpACfWO.js +1 -0
  61. package/dist/ui/dist/assets/calendar-B-KZ9RQO.js +1 -0
  62. package/dist/ui/dist/assets/card-CNf6BS2e.js +1 -0
  63. package/dist/ui/dist/assets/chevron-left-D4U-5A27.js +1 -0
  64. package/dist/ui/dist/assets/chevron-right-CR4Skrf3.js +1 -0
  65. package/dist/ui/dist/assets/chevron-up-BYhk0K2J.js +1 -0
  66. package/dist/ui/dist/assets/circle-alert-CyHDwUj8.js +1 -0
  67. package/dist/ui/dist/assets/circle-check-Bb54Ebmu.js +1 -0
  68. package/dist/ui/dist/assets/cpu-Cdgc_B1K.js +1 -0
  69. package/dist/ui/dist/assets/dialog-QnZ0ad8O.js +1 -0
  70. package/dist/ui/dist/assets/download-C3ifGMjJ.js +1 -0
  71. package/dist/ui/dist/assets/dropdown-menu-BK-CO3Od.js +1 -0
  72. package/dist/ui/dist/assets/es-NQNoaWDx.js +1 -0
  73. package/dist/ui/dist/assets/external-link-BvxYeTP1.js +1 -0
  74. package/dist/ui/dist/assets/eye-DqNTU_GD.js +1 -0
  75. package/dist/ui/dist/assets/file-text-BT_9S9SM.js +1 -0
  76. package/dist/ui/dist/assets/folder-open-BhH8y9ac.js +1 -0
  77. package/dist/ui/dist/assets/format-GVHeOyWI.js +1 -0
  78. package/dist/ui/dist/assets/gateway-url-COCbW0IR.js +1 -0
  79. package/dist/ui/dist/assets/gauge-D_TMa4i9.js +1 -0
  80. package/dist/ui/dist/assets/globe-DeCQTCDJ.js +1 -0
  81. package/dist/ui/dist/assets/hexagon-DsGOUl-H.js +1 -0
  82. package/dist/ui/dist/assets/history-BSG-Ypqf.js +1 -0
  83. package/dist/ui/dist/assets/index-B2fCYtTS.css +2 -0
  84. package/dist/ui/dist/assets/index-DMCjjdqf.js +116 -0
  85. package/dist/ui/dist/assets/info-NwLoa2Mj.js +1 -0
  86. package/dist/ui/dist/assets/key-3EP0dhkT.js +1 -0
  87. package/dist/ui/dist/assets/label-D2H1IR_J.js +1 -0
  88. package/dist/ui/dist/assets/loader-circle-CZNax6kS.js +1 -0
  89. package/dist/ui/dist/assets/lock-Ei1_J-Nq.js +1 -0
  90. package/dist/ui/dist/assets/pause-BUqah9Bi.js +1 -0
  91. package/dist/ui/dist/assets/play-NcZ4swwL.js +1 -0
  92. package/dist/ui/dist/assets/plus-CX1xyhp5.js +1 -0
  93. package/dist/ui/dist/assets/progress-BherYzY6.js +1 -0
  94. package/dist/ui/dist/assets/refresh-cw-DaYdjQFk.js +1 -0
  95. package/dist/ui/dist/assets/rolldown-runtime-S-ySWqyJ.js +1 -0
  96. package/dist/ui/dist/assets/save-CUdYyHNy.js +1 -0
  97. package/dist/ui/dist/assets/scroll-area-DkeyX32e.js +1 -0
  98. package/dist/ui/dist/assets/send-B0H5SEIE.js +1 -0
  99. package/dist/ui/dist/assets/settings-Ds4SqD8s.js +1 -0
  100. package/dist/ui/dist/assets/slider-CsiUDxc3.js +14 -0
  101. package/dist/ui/dist/assets/sparkles-yUEb-7oH.js +1 -0
  102. package/dist/ui/dist/assets/square-BD81nFtN.js +1 -0
  103. package/dist/ui/dist/assets/switch-BDwN8RYV.js +1 -0
  104. package/dist/ui/dist/assets/table-CSc8ubon.js +1 -0
  105. package/dist/ui/dist/assets/terminal-DN38Q456.js +1 -0
  106. package/dist/ui/dist/assets/textarea-CXgXWKrT.js +1 -0
  107. package/dist/ui/dist/assets/trash-2-CNjMkoq6.js +1 -0
  108. package/dist/ui/dist/assets/triangle-alert-C9Y8Ub4X.js +1 -0
  109. package/dist/ui/dist/assets/useProviders-C6_QHsEi.js +1 -0
  110. package/dist/ui/dist/assets/utils-3pnRFmFe.js +1 -0
  111. package/dist/ui/dist/assets/vendor-charts-Bu2lyBKP.js +65 -0
  112. package/dist/ui/dist/assets/vendor-query-DsWPbQdG.js +1 -0
  113. package/dist/ui/dist/assets/vendor-radix-cw1bQaVC.js +63 -0
  114. package/dist/ui/dist/assets/vendor-react-D4s9E-zj.js +1 -0
  115. package/dist/ui/dist/assets/vendor-router-C9pIYwbJ.js +3 -0
  116. package/dist/ui/dist/assets/volume-2-CeSXNDv4.js +1 -0
  117. package/dist/ui/dist/assets/zap-hlXjpSeA.js +1 -0
  118. package/dist/ui/dist/favicon.ico +0 -0
  119. package/dist/ui/dist/index.html +40 -0
  120. package/dist/ui/dist/placeholder.svg +1 -0
  121. package/dist/ui/index.html +6 -6
  122. package/package.json +137 -13
  123. package/packages/cli/src/adapters/binary.ts +461 -0
  124. package/packages/cli/src/adapters/bun-global.ts +378 -0
  125. package/packages/cli/src/adapters/config.ts +314 -0
  126. package/packages/cli/src/adapters/docker.ts +308 -0
  127. package/packages/cli/src/adapters/factory.ts +168 -0
  128. package/packages/cli/src/adapters/index.ts +80 -0
  129. package/packages/cli/src/adapters/types.ts +218 -0
  130. package/packages/cli/src/commands/agent-run.ts +168 -0
  131. package/packages/cli/src/commands/agents.ts +398 -0
  132. package/packages/cli/src/commands/chat.ts +142 -0
  133. package/packages/cli/src/commands/config.ts +49 -0
  134. package/packages/cli/src/commands/cron.ts +487 -0
  135. package/packages/cli/src/commands/dev.ts +58 -0
  136. package/packages/cli/src/commands/doctor.ts +320 -0
  137. package/packages/cli/src/commands/gateway.ts +719 -0
  138. package/packages/cli/src/commands/logs.ts +57 -0
  139. package/packages/cli/src/commands/mcp.ts +175 -0
  140. package/packages/cli/src/commands/message.ts +77 -0
  141. package/packages/cli/src/commands/migrate.ts +90 -0
  142. package/packages/cli/src/commands/onboard.ts +1656 -0
  143. package/packages/cli/src/commands/security.ts +144 -0
  144. package/packages/cli/src/commands/service.ts +50 -0
  145. package/packages/cli/src/commands/sessions.ts +116 -0
  146. package/packages/cli/src/commands/skills.ts +215 -0
  147. package/packages/cli/src/commands/update.ts +203 -0
  148. package/packages/cli/src/index.ts +210 -0
  149. package/packages/cli/src/ui-bundle.generated.ts +3 -0
  150. package/packages/cli/src/utils/token.ts +6 -0
  151. package/packages/core/src/agent/agent-loop.ts +691 -0
  152. package/packages/core/src/agent/compaction.ts +240 -0
  153. package/packages/core/src/agent/context-compiler.ts +467 -0
  154. package/packages/core/src/agent/context-guard.ts +91 -0
  155. package/packages/core/src/agent/conversation-store.ts +244 -0
  156. package/packages/core/src/agent/curator.ts +158 -0
  157. package/packages/core/src/agent/hooks.ts +166 -0
  158. package/packages/core/src/agent/llm-client.ts +167 -0
  159. package/packages/core/src/agent/llm-providers/anthropic.ts +212 -0
  160. package/packages/core/src/agent/llm-providers/deepseek.ts +8 -0
  161. package/packages/core/src/agent/llm-providers/gemini.ts +215 -0
  162. package/packages/core/src/agent/llm-providers/groq.ts +5 -0
  163. package/packages/core/src/agent/llm-providers/interface.ts +195 -0
  164. package/packages/core/src/agent/llm-providers/kimi.ts +8 -0
  165. package/packages/core/src/agent/llm-providers/local-llama.ts +37 -0
  166. package/packages/core/src/agent/llm-providers/mistral.ts +5 -0
  167. package/packages/core/src/agent/llm-providers/nvidia.ts +5 -0
  168. package/packages/core/src/agent/llm-providers/ollama.ts +175 -0
  169. package/packages/core/src/agent/llm-providers/openai-compat-base.ts +379 -0
  170. package/packages/core/src/agent/llm-providers/openai.ts +5 -0
  171. package/packages/core/src/agent/llm-providers/openrouter.ts +5 -0
  172. package/packages/core/src/agent/llm-providers/qwen.ts +5 -0
  173. package/packages/core/src/agent/native-tools.ts +31 -0
  174. package/packages/core/src/agent/playbook-selector.ts +147 -0
  175. package/packages/core/src/agent/prompt-builder.ts +169 -0
  176. package/packages/core/src/agent/providers/index.ts +204 -0
  177. package/packages/core/src/agent/providers.ts +1 -0
  178. package/packages/core/src/agent/reflector.ts +200 -0
  179. package/packages/core/src/agent/service.ts +267 -0
  180. package/packages/core/src/agent/skill-selector.ts +479 -0
  181. package/packages/core/src/agent/stuck-loop.ts +133 -0
  182. package/packages/core/src/agent/tool-selector.ts +569 -0
  183. package/packages/core/src/agent/tracer.ts +100 -0
  184. package/packages/core/src/auth/auth.ts +108 -0
  185. package/packages/core/src/auth/index.ts +1 -0
  186. package/packages/core/src/canvas/a2ui-tools.ts +255 -0
  187. package/packages/core/src/canvas/canvas-manager.ts +390 -0
  188. package/packages/core/src/canvas/canvas-tools.ts +448 -0
  189. package/packages/core/src/canvas/emitter.ts +149 -0
  190. package/packages/core/src/canvas/index.ts +3 -0
  191. package/packages/core/src/channels/base.ts +154 -0
  192. package/packages/core/src/channels/discord.ts +273 -0
  193. package/packages/core/src/channels/index.ts +7 -0
  194. package/packages/core/src/channels/manager.ts +450 -0
  195. package/packages/core/src/channels/slack.ts +323 -0
  196. package/packages/core/src/channels/telegram.ts +612 -0
  197. package/packages/core/src/channels/webchat.ts +139 -0
  198. package/packages/core/src/channels/whatsapp.ts +548 -0
  199. package/packages/core/src/config/index.ts +12 -0
  200. package/packages/core/src/config/loader.ts +569 -0
  201. package/packages/core/src/events/agent-bus.ts +460 -0
  202. package/packages/core/src/events/event-bus.ts +169 -0
  203. package/packages/core/src/gateway/channel-notify.ts +64 -0
  204. package/packages/core/src/gateway/helpers/cors.ts +32 -0
  205. package/packages/core/src/gateway/helpers/index.ts +4 -0
  206. package/packages/core/src/gateway/helpers/narration.ts +57 -0
  207. package/packages/core/src/gateway/helpers/path.ts +13 -0
  208. package/packages/core/src/gateway/helpers/redact.ts +61 -0
  209. package/packages/core/src/gateway/index.ts +5 -0
  210. package/packages/core/src/gateway/initializer.ts +363 -0
  211. package/packages/core/src/gateway/lane-queue.ts +169 -0
  212. package/packages/core/src/gateway/llm-local/client.ts +94 -0
  213. package/packages/core/src/gateway/llm-local/detector.ts +321 -0
  214. package/packages/core/src/gateway/llm-local/downloader.ts +216 -0
  215. package/packages/core/src/gateway/llm-local/index.ts +34 -0
  216. package/packages/core/src/gateway/llm-local/manager.ts +186 -0
  217. package/packages/core/src/gateway/llm-local/models.ts +149 -0
  218. package/packages/core/src/gateway/llm-local/server.ts +179 -0
  219. package/packages/core/src/gateway/resolver.ts +108 -0
  220. package/packages/core/src/gateway/router.ts +124 -0
  221. package/packages/core/src/gateway/routes/agents.ts +210 -0
  222. package/packages/core/src/gateway/routes/auth.ts +244 -0
  223. package/packages/core/src/gateway/routes/channels.ts +484 -0
  224. package/packages/core/src/gateway/routes/chat.ts +241 -0
  225. package/packages/core/src/gateway/routes/config.ts +12 -0
  226. package/packages/core/src/gateway/routes/cron-api.ts +544 -0
  227. package/packages/core/src/gateway/routes/ethics.ts +46 -0
  228. package/packages/core/src/gateway/routes/llm-local.ts +271 -0
  229. package/packages/core/src/gateway/routes/mcp.ts +319 -0
  230. package/packages/core/src/gateway/routes/meeting.ts +232 -0
  231. package/packages/core/src/gateway/routes/models.ts +163 -0
  232. package/packages/core/src/gateway/routes/multimodal.ts +93 -0
  233. package/packages/core/src/gateway/routes/providers.ts +220 -0
  234. package/packages/core/src/gateway/routes/setup.ts +441 -0
  235. package/packages/core/src/gateway/routes/skills.ts +115 -0
  236. package/packages/core/src/gateway/routes/system.ts +469 -0
  237. package/packages/core/src/gateway/routes/tasks.ts +44 -0
  238. package/packages/core/src/gateway/routes/tools.ts +59 -0
  239. package/packages/core/src/gateway/routes/tts-local.ts +388 -0
  240. package/packages/core/src/gateway/routes/users.ts +122 -0
  241. package/packages/core/src/gateway/routes/voice.ts +189 -0
  242. package/packages/core/src/gateway/routes/workspace.ts +281 -0
  243. package/packages/core/src/gateway/server.ts +2744 -0
  244. package/packages/core/src/gateway/session.ts +95 -0
  245. package/packages/core/src/gateway/slash-commands.ts +207 -0
  246. package/packages/core/src/gateway/tts/README.md +94 -0
  247. package/packages/core/src/gateway/tts/package.json +25 -0
  248. package/packages/core/src/gateway/tts/src/client.ts +59 -0
  249. package/packages/core/src/gateway/tts/src/detect.ts +42 -0
  250. package/packages/core/src/gateway/tts/src/index.ts +15 -0
  251. package/packages/core/src/gateway/tts/src/install.ts +129 -0
  252. package/packages/core/src/gateway/tts/src/models.ts +50 -0
  253. package/packages/core/src/gateway/tts/src/server.ts +252 -0
  254. package/packages/core/src/gateway/tts/voices/.gitkeep +0 -0
  255. package/packages/core/src/heartbeat/index.ts +157 -0
  256. package/packages/core/src/index.ts +56 -0
  257. package/packages/core/src/mcp/hot-reload.ts +148 -0
  258. package/packages/core/src/mcp/singleton.ts +21 -0
  259. package/packages/core/src/mcp/tool-sync.ts +176 -0
  260. package/packages/core/src/multimodal/index.ts +2 -0
  261. package/packages/core/src/multimodal/types.ts +28 -0
  262. package/packages/core/src/multimodal/vision-service.ts +283 -0
  263. package/packages/core/src/plugins/api.ts +128 -0
  264. package/packages/core/src/plugins/index.ts +2 -0
  265. package/packages/core/src/plugins/loader.ts +365 -0
  266. package/packages/core/src/resilience/circuit-breaker.ts +225 -0
  267. package/packages/core/src/scheduler/CronScheduler.ts +699 -0
  268. package/packages/core/src/scheduler/dag/AgentExecutor.ts +53 -0
  269. package/packages/core/src/scheduler/dag/DAGScheduler.ts +250 -0
  270. package/packages/core/src/scheduler/dag/EventBridge.ts +122 -0
  271. package/packages/core/src/scheduler/dag/TaskGraph.ts +192 -0
  272. package/packages/core/src/scheduler/dag/TaskNode.ts +97 -0
  273. package/packages/core/src/scheduler/dag/TaskResult.ts +22 -0
  274. package/packages/core/src/scheduler/dag/errors.ts +37 -0
  275. package/packages/core/src/scheduler/dag/index.ts +26 -0
  276. package/packages/core/src/scheduler/dag/presets/ResearchPreset.ts +97 -0
  277. package/packages/core/src/scheduler/dag/strategies/ParallelStrategy.ts +21 -0
  278. package/packages/core/src/scheduler/dag/strategies/PriorityStrategy.ts +46 -0
  279. package/packages/core/src/scheduler/index.ts +22 -0
  280. package/packages/core/src/scheduler/integration.ts +237 -0
  281. package/packages/core/src/scheduler/types.ts +164 -0
  282. package/packages/core/src/security/google-chat.ts +269 -0
  283. package/packages/core/src/security/index.ts +192 -0
  284. package/packages/core/src/security/pairing.ts +250 -0
  285. package/packages/core/src/security/rate-limit.ts +270 -0
  286. package/packages/core/src/security/signal.ts +321 -0
  287. package/packages/core/src/state/store.ts +312 -0
  288. package/packages/core/src/storage/crypto.ts +197 -0
  289. package/packages/core/src/storage/migrate.ts +147 -0
  290. package/packages/core/src/storage/onboarding.ts +1506 -0
  291. package/packages/core/src/storage/schema.ts +666 -0
  292. package/packages/core/src/storage/seed.ts +628 -0
  293. package/packages/core/src/storage/sqlite.ts +407 -0
  294. package/packages/core/src/storage/usage.ts +374 -0
  295. package/packages/core/src/tool-runtime/index.ts +476 -0
  296. package/packages/core/src/tool-runtime/tool-worker.ts +125 -0
  297. package/packages/core/src/tools/agents/get-available-models.ts +118 -0
  298. package/packages/core/src/tools/agents/index.ts +610 -0
  299. package/packages/core/src/tools/canvas/index.ts +420 -0
  300. package/packages/core/src/tools/cli/index.ts +142 -0
  301. package/packages/core/src/tools/core/index.ts +478 -0
  302. package/packages/core/src/tools/cron/index.ts +635 -0
  303. package/packages/core/src/tools/filesystem/fs-delete.ts +78 -0
  304. package/packages/core/src/tools/filesystem/fs-edit.ts +106 -0
  305. package/packages/core/src/tools/filesystem/fs-exists.ts +63 -0
  306. package/packages/core/src/tools/filesystem/fs-glob.ts +108 -0
  307. package/packages/core/src/tools/filesystem/fs-list.ts +129 -0
  308. package/packages/core/src/tools/filesystem/fs-read.ts +72 -0
  309. package/packages/core/src/tools/filesystem/fs-write.ts +67 -0
  310. package/packages/core/src/tools/filesystem/index.ts +34 -0
  311. package/packages/core/src/tools/filesystem/workspace-guard.ts +62 -0
  312. package/packages/core/src/tools/index.ts +197 -0
  313. package/packages/core/src/tools/meeting/index.ts +363 -0
  314. package/packages/core/src/tools/office/index.ts +47 -0
  315. package/packages/core/src/tools/office/office-escribir-docx.ts +192 -0
  316. package/packages/core/src/tools/office/office-escribir-pdf.ts +172 -0
  317. package/packages/core/src/tools/office/office-escribir-pptx.ts +174 -0
  318. package/packages/core/src/tools/office/office-escribir-xlsx.ts +116 -0
  319. package/packages/core/src/tools/office/office-leer-docx.ts +93 -0
  320. package/packages/core/src/tools/office/office-leer-pdf.ts +114 -0
  321. package/packages/core/src/tools/office/office-leer-pptx.ts +136 -0
  322. package/packages/core/src/tools/office/office-leer-xlsx.ts +124 -0
  323. package/packages/core/src/tools/types.ts +39 -0
  324. package/packages/core/src/tools/voice/index.ts +104 -0
  325. package/packages/core/src/tools/web/browser-click.ts +78 -0
  326. package/packages/core/src/tools/web/browser-extract.ts +139 -0
  327. package/packages/core/src/tools/web/browser-navigate.ts +106 -0
  328. package/packages/core/src/tools/web/browser-screenshot.ts +87 -0
  329. package/packages/core/src/tools/web/browser-script.ts +88 -0
  330. package/packages/core/src/tools/web/browser-service.ts +554 -0
  331. package/packages/core/src/tools/web/browser-type.ts +101 -0
  332. package/packages/core/src/tools/web/browser-wait.ts +136 -0
  333. package/packages/core/src/tools/web/index.ts +41 -0
  334. package/packages/core/src/tools/web/web-fetch.ts +78 -0
  335. package/packages/core/src/tools/web/web-search.ts +123 -0
  336. package/packages/core/src/utils/benchmark.ts +80 -0
  337. package/packages/core/src/utils/crypto.ts +73 -0
  338. package/packages/core/src/utils/date.ts +42 -0
  339. package/packages/core/src/utils/index.ts +5 -0
  340. package/packages/core/src/utils/logger.ts +389 -0
  341. package/packages/core/src/utils/retry.ts +70 -0
  342. package/packages/core/src/utils/toon.ts +253 -0
  343. package/packages/core/src/voice/index.ts +643 -0
  344. package/packages/mcp/src/config.ts +13 -0
  345. package/packages/mcp/src/index.ts +1 -0
  346. package/packages/mcp/src/logger.ts +47 -0
  347. package/packages/mcp/src/manager.ts +439 -0
  348. package/packages/mcp/src/transports/index.ts +67 -0
  349. package/packages/mcp/src/transports/sse.ts +238 -0
  350. package/packages/mcp/src/transports/websocket.ts +159 -0
  351. package/packages/skills/src/bundled/agents/agent_spawner/SKILL.md +167 -0
  352. package/packages/skills/src/bundled/agents/code_delegator/SKILL.md +156 -0
  353. package/packages/skills/src/bundled/agents/memory_manager/SKILL.md +143 -0
  354. package/packages/skills/src/bundled/agents/research_and_remember/SKILL.md +139 -0
  355. package/packages/skills/src/bundled/agents/task_orchestrator/SKILL.md +198 -0
  356. package/packages/skills/src/bundled/canvas/a2ui_dashboard/SKILL.md +176 -0
  357. package/packages/skills/src/bundled/canvas/a2ui_form/SKILL.md +202 -0
  358. package/packages/skills/src/bundled/canvas/a2ui_interactive/SKILL.md +206 -0
  359. package/packages/skills/src/bundled/canvas/canvas_dashboard/SKILL.md +146 -0
  360. package/packages/skills/src/bundled/canvas/canvas_interact/SKILL.md +148 -0
  361. package/packages/skills/src/bundled/canvas/canvas_report/SKILL.md +146 -0
  362. package/packages/skills/src/bundled/cli/cli_pipeline/SKILL.md +136 -0
  363. package/packages/skills/src/bundled/cli/cli_safe_exec/SKILL.md +125 -0
  364. package/packages/skills/src/bundled/cron_manager/SKILL.md +188 -0
  365. package/packages/skills/src/bundled/cron_reminder/SKILL.md +112 -0
  366. package/packages/skills/src/bundled/filesystem/file_manager/SKILL.md +118 -0
  367. package/packages/skills/src/bundled/filesystem/file_read_and_summarize/SKILL.md +108 -0
  368. package/packages/skills/src/bundled/filesystem/file_writer/SKILL.md +135 -0
  369. package/packages/skills/src/bundled/meeting/meeting_transcription/SKILL.md +213 -0
  370. package/packages/skills/src/bundled/office/office_document_manager/SKILL.md +262 -0
  371. package/packages/skills/src/bundled/search_knowledge/busqueda_fts5/SKILL.md +74 -0
  372. package/packages/skills/src/bundled/voice/voice_assistant/SKILL.md +174 -0
  373. package/packages/skills/src/bundled/voice/voice_input/SKILL.md +146 -0
  374. package/packages/skills/src/bundled/voice/voice_output/SKILL.md +151 -0
  375. package/packages/skills/src/bundled/web/browser_automate/SKILL.md +120 -0
  376. package/packages/skills/src/bundled/web/browser_scrape/SKILL.md +109 -0
  377. package/packages/skills/src/bundled/web/web_monitor/SKILL.md +127 -0
  378. package/packages/skills/src/bundled/web/web_research/SKILL.md +119 -0
  379. package/packages/skills/src/bundled-data.generated.ts +1964 -0
  380. package/packages/skills/src/index.ts +1 -0
  381. package/packages/skills/src/loader.ts +388 -0
  382. package/dist/ui/assets/AgentNewPage-GB-tVN50.js +0 -1
  383. package/dist/ui/assets/BridgePage-DDcDILKu.js +0 -1
  384. package/dist/ui/assets/CanvasPage-oOk2sGOD.js +0 -33
  385. package/dist/ui/assets/DashboardPage-DV_2qWYJ.js +0 -6
  386. package/dist/ui/assets/LogsPage-DayYjh01.js +0 -1
  387. package/dist/ui/assets/MeetingPage-C01uPuqj.js +0 -1
  388. package/dist/ui/assets/ProjectsPage-B8_am_Ib.js +0 -1
  389. package/dist/ui/assets/ProvidersPage-DBzi66e4.js +0 -1
  390. package/dist/ui/assets/SettingsPage-CFA_Tknl.js +0 -9
  391. package/dist/ui/assets/SetupPage-BrUWbhvT.js +0 -1
  392. package/dist/ui/assets/accordion-DdAEfIXR.js +0 -1
  393. package/dist/ui/assets/chevron-down-DIosfU_U.js +0 -1
  394. package/dist/ui/assets/chevron-up-CI-W21Fy.js +0 -1
  395. package/dist/ui/assets/circle-S0-ouLz-.js +0 -1
  396. package/dist/ui/assets/circle-minus-CE0iJrl8.js +0 -1
  397. package/dist/ui/assets/circle-x-jUJ5zZvQ.js +0 -1
  398. package/dist/ui/assets/dropdown-menu-C2CXM1VE.js +0 -1
  399. package/dist/ui/assets/index-BN0875JH.css +0 -2
  400. package/dist/ui/assets/index-CH6sBa3Q.js +0 -116
  401. package/dist/ui/assets/pencil-5VdSj-h5.js +0 -1
  402. package/dist/ui/assets/progress-JN30I5fF.js +0 -1
  403. package/dist/ui/assets/scroll-area-BQQPitM8.js +0 -1
  404. package/dist/ui/assets/search-ChPgnVKj.js +0 -1
  405. package/dist/ui/assets/switch-C7W2-KEx.js +0 -1
  406. package/dist/ui/assets/terminal-C-R5Fckz.js +0 -1
  407. package/dist/ui/assets/useProviders-TBnWn-Hq.js +0 -1
  408. /package/dist/ui/assets/{card-DFKnZ6ky.js → card-CNf6BS2e.js} +0 -0
  409. /package/dist/ui/assets/{circle-alert-KuAm2FWh.js → circle-alert-CyHDwUj8.js} +0 -0
  410. /package/dist/ui/assets/{circle-check-6Ard1-2z.js → circle-check-Bb54Ebmu.js} +0 -0
  411. /package/dist/ui/assets/{cpu-KDy6-FAI.js → cpu-Cdgc_B1K.js} +0 -0
  412. /package/dist/ui/assets/{download-Cjbk4Rek.js → download-C3ifGMjJ.js} +0 -0
  413. /package/dist/ui/assets/{external-link-HtrFM63g.js → external-link-BvxYeTP1.js} +0 -0
  414. /package/dist/ui/assets/{eye-D1dB40_o.js → eye-DqNTU_GD.js} +0 -0
  415. /package/dist/ui/assets/{file-text-CE58EfH0.js → file-text-BT_9S9SM.js} +0 -0
  416. /package/dist/ui/assets/{folder-open-DIPKeiI_.js → folder-open-BhH8y9ac.js} +0 -0
  417. /package/dist/ui/assets/{format-BwdV8bB5.js → format-GVHeOyWI.js} +0 -0
  418. /package/dist/ui/assets/{gateway-url-D5uj6Nxg.js → gateway-url-COCbW0IR.js} +0 -0
  419. /package/dist/ui/assets/{gauge-DmQmJHEg.js → gauge-D_TMa4i9.js} +0 -0
  420. /package/dist/ui/assets/{globe-_hUGxQF4.js → globe-DeCQTCDJ.js} +0 -0
  421. /package/dist/ui/assets/{hexagon-BaNGQlQj.js → hexagon-DsGOUl-H.js} +0 -0
  422. /package/dist/ui/assets/{history-BfZVGlZa.js → history-BSG-Ypqf.js} +0 -0
  423. /package/dist/ui/assets/{info-CBZ5-AlC.js → info-NwLoa2Mj.js} +0 -0
  424. /package/dist/ui/assets/{key-Bv5DdTPh.js → key-3EP0dhkT.js} +0 -0
  425. /package/dist/ui/assets/{loader-circle-C4hhXLgp.js → loader-circle-CZNax6kS.js} +0 -0
  426. /package/dist/ui/assets/{lock-CkZYexqw.js → lock-Ei1_J-Nq.js} +0 -0
  427. /package/dist/ui/assets/{pause-Bpy1_s7y.js → pause-BUqah9Bi.js} +0 -0
  428. /package/dist/ui/assets/{play-Cj4osqJZ.js → play-NcZ4swwL.js} +0 -0
  429. /package/dist/ui/assets/{plus-BQhgZN3A.js → plus-CX1xyhp5.js} +0 -0
  430. /package/dist/ui/assets/{refresh-cw-BfREHVQM.js → refresh-cw-DaYdjQFk.js} +0 -0
  431. /package/dist/ui/assets/{save-FFTD4dMp.js → save-CUdYyHNy.js} +0 -0
  432. /package/dist/ui/assets/{settings-BdHKUL92.js → settings-Ds4SqD8s.js} +0 -0
  433. /package/dist/ui/assets/{sparkles-r4uJbJAl.js → sparkles-yUEb-7oH.js} +0 -0
  434. /package/dist/ui/assets/{square-G7Hyufqm.js → square-BD81nFtN.js} +0 -0
  435. /package/dist/ui/assets/{textarea-5kyuD04X.js → textarea-CXgXWKrT.js} +0 -0
  436. /package/dist/ui/assets/{trash-2-DXVBRWfh.js → trash-2-CNjMkoq6.js} +0 -0
  437. /package/dist/ui/assets/{triangle-alert-Bu5seg9O.js → triangle-alert-C9Y8Ub4X.js} +0 -0
  438. /package/dist/ui/assets/{vendor-router-CCECILJ0.js → vendor-router-C9pIYwbJ.js} +0 -0
  439. /package/dist/ui/assets/{volume-2-s9DuS696.js → volume-2-CeSXNDv4.js} +0 -0
  440. /package/dist/ui/assets/{zap-BPHZzXKV.js → zap-hlXjpSeA.js} +0 -0
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: voice_assistant
3
+ description: "Full voice-to-voice interaction: transcribe user speech, process request, and respond with synthesized speech"
4
+ version: 1.0.0
5
+ author: Hive Team
6
+ icon: "🎙️🔊"
7
+ category: voice
8
+ permissions:
9
+ - voice_transcribe
10
+ - voice_speak
11
+ dependencies: []
12
+ tools: [voice_transcribe, voice_speak]
13
+
14
+ # Structured skill fields
15
+ triggers:
16
+ - "modo voz"
17
+ - "voice mode"
18
+ - "asistente de voz"
19
+ - "voice assistant"
20
+ - "hablá conmigo"
21
+ - "talk to me"
22
+ - "interacción por voz"
23
+ - "voice interaction"
24
+ - "respuesta hablada"
25
+ - "spoken response"
26
+ - "comando de voz"
27
+ - "voice command"
28
+ - "diálogo por voz"
29
+ - "voice dialogue"
30
+
31
+ preferred_agents: []
32
+
33
+ steps:
34
+ - step: 1
35
+ action: voice_transcribe
36
+ instruction: "Transcribe user's voice input to text"
37
+ params:
38
+ audio: "user audio input"
39
+ output: user_text
40
+
41
+ - step: 2
42
+ action: process_request
43
+ instruction: "Process transcribed text and generate appropriate response"
44
+ params:
45
+ text: "transcribed user request"
46
+ output: response_text
47
+
48
+ - step: 3
49
+ action: voice_speak
50
+ instruction: "Synthesize response text to speech"
51
+ params:
52
+ text: "response text"
53
+ voice_id: "configured voice"
54
+ output: response_audio
55
+
56
+ - step: 4
57
+ action: deliver_response
58
+ instruction: "Send synthesized speech back to user"
59
+ output: delivered
60
+
61
+ rules:
62
+ - "Maintain conversation context across voice exchanges"
63
+ - "Keep responses concise for voice (avoid long paragraphs)"
64
+ - "Use natural, conversational tone optimized for speech"
65
+ - "Handle interruptions gracefully (if streaming supported)"
66
+ - "Indicate when processing (typing indicators, sounds)"
67
+ - "Fallback to text if voice fails at any step"
68
+
69
+ output_format:
70
+ structure: audio_with_text
71
+ sections:
72
+ - "audio_response"
73
+ - "text_fallback"
74
+ - "conversation_context"
75
+ max_length: "Short, natural speech responses (30-60 seconds max)"
76
+
77
+ examples:
78
+ - user_input: "[audio] ¿Cuál es el clima hoy?"
79
+ expected_behavior: "Transcribe → process weather query → respond with voice synthesis"
80
+
81
+ - user_input: "[audio] Contame un chiste"
82
+ expected_behavior: "Transcribe → generate joke → speak response with appropriate timing"
83
+
84
+ - user_input: "activá el modo voz"
85
+ expected_behavior: "Enable voice mode → all future responses include audio synthesis"
86
+ ---
87
+
88
+ # Voice Assistant Skill
89
+
90
+ ## Cuándo se Activa
91
+
92
+ Esta skill se activa para interacción completa voz a voz: el usuario habla, el asistente procesa y responde con voz.
93
+
94
+ ## Herramientas Disponibles
95
+
96
+ | Tool | Qué hace | Cuándo usarla |
97
+ |------|----------|---------------|
98
+ | `voice_transcribe` | Audio → texto | Input del usuario |
99
+ | `voice_speak` | Texto → audio | Respuesta del asistente |
100
+
101
+ ## Workflow
102
+
103
+ ### Voice-to-Voice
104
+ ```javascript
105
+ // 1. Usuario habla
106
+ const userAudio = receiveAudio()
107
+
108
+ // 2. Transcribir
109
+ const userText = voice_transcribe({
110
+ audio: userAudio,
111
+ language: "auto"
112
+ })
113
+ // → "¿Cuál es el clima hoy?"
114
+
115
+ // 3. Procesar request
116
+ // - Entender intención
117
+ // - Ejecutar acción (ej. consultar API clima)
118
+ // - Generar respuesta
119
+ const responseText = "Hoy hay 25 grados y soleado en Buenos Aires"
120
+
121
+ // 4. Sintetizar respuesta
122
+ const responseAudio = voice_speak({
123
+ text: responseText,
124
+ voice_id: "eleven_flash_v2_5",
125
+ language: "es"
126
+ })
127
+
128
+ // 5. Enviar audio
129
+ sendAudio(responseAudio)
130
+ ```
131
+
132
+ ## Casos de Uso
133
+
134
+ | Caso | Flujo |
135
+ |------|-------|
136
+ | Pregunta simple | Transcribe → responde → sintetiza |
137
+ | Comando | Transcribe → ejecuta → confirma por voz |
138
+ | Diálogo | Mantener contexto entre exchanges |
139
+ | Wake word | Escuchar "hey bee" → activar → procesar |
140
+
141
+ ## Configuración
142
+
143
+ ### Wake Word
144
+ ```json
145
+ {
146
+ "voice_wake_word": "hey bee",
147
+ "voice_wake_enabled": true
148
+ }
149
+ ```
150
+
151
+ ### Canal Voice
152
+ ```json
153
+ {
154
+ "voice_enabled": true,
155
+ "tts_enabled": true,
156
+ "stt_provider": "groq-whisper",
157
+ "tts_provider": "elevenlabs",
158
+ "tts_voice_id": "eleven_flash_v2_5"
159
+ }
160
+ ```
161
+
162
+ ## Mejores Prácticas
163
+
164
+ - Respuestas cortas y naturales (<60s)
165
+ - Mantener contexto conversacional
166
+ - Indicadores de procesamiento
167
+ - Fallback a texto si falla voz
168
+
169
+ ## Errores a Evitar
170
+
171
+ - ❌ Respuestas muy largas para audio
172
+ - ❌ Perder contexto entre exchanges
173
+ - ❌ No indicar que está procesando
174
+ - ❌ No tener fallback si falla TTS/STT
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: voice_input
3
+ description: "Transcribe audio input to text using STT (Speech-to-Text) providers like Groq Whisper or OpenAI Whisper"
4
+ version: 1.0.0
5
+ author: Hive Team
6
+ icon: "🎙️"
7
+ category: voice
8
+ permissions:
9
+ - voice_transcribe
10
+ dependencies: []
11
+ tools: [voice_transcribe]
12
+
13
+ # Structured skill fields
14
+ triggers:
15
+ - "transcribí este audio"
16
+ - "transcribe audio"
17
+ - "convertí voz a texto"
18
+ - "convert voice to text"
19
+ - "qué dice el audio"
20
+ - "what does audio say"
21
+ - "escuchá esto"
22
+ - "listen to this"
23
+ - "audio a texto"
24
+ - "audio to text"
25
+ - "reconocimiento de voz"
26
+ - "speech recognition"
27
+ - "nota de voz"
28
+ - "voice note"
29
+
30
+ preferred_agents: []
31
+
32
+ steps:
33
+ - step: 1
34
+ action: receive_audio
35
+ instruction: "Receive audio file or stream from user"
36
+ params:
37
+ source: "file upload | voice message | stream"
38
+ output: audio_data
39
+
40
+ - step: 2
41
+ action: voice_transcribe
42
+ instruction: "Send audio to STT provider for transcription"
43
+ params:
44
+ audio: "audio buffer or file path"
45
+ language: "auto-detect or specified"
46
+ output: transcription
47
+
48
+ - step: 3
49
+ action: synthesize
50
+ instruction: "Format transcription with punctuation and structure"
51
+ output: formatted_text
52
+
53
+ - step: 4
54
+ action: deliver_result
55
+ instruction: "Return transcription to user"
56
+ output: delivered
57
+
58
+ rules:
59
+ - "Auto-detect language when not specified"
60
+ - "Add punctuation and capitalization for readability"
61
+ - "Indicate speaker changes if multi-speaker audio"
62
+ - "Mark unclear segments with [inaudible] or [unclear]"
63
+ - "Preserve original language unless translation requested"
64
+ - "Handle background noise gracefully — note if affects quality"
65
+
66
+ output_format:
67
+ structure: markdown
68
+ sections:
69
+ - "transcription"
70
+ - "language_detected"
71
+ - "duration"
72
+ - "confidence"
73
+ - "notes"
74
+ max_length: "Full transcription with timestamps if long"
75
+
76
+ examples:
77
+ - user_input: "[envía audio] transcribí esto"
78
+ expected_behavior: "voice_transcribe → return text transcription with punctuation"
79
+
80
+ - user_input: "convertí esta nota de voz a texto"
81
+ expected_behavior: "voice_transcribe → return formatted transcription"
82
+
83
+ - user_input: "qué dice este audio"
84
+ expected_behavior: "voice_transcribe → summarize if very long, full transcription if short"
85
+ ---
86
+
87
+ # Voice Input Skill
88
+
89
+ ## Cuándo se Activa
90
+
91
+ Esta skill se activa cuando el usuario envía audio y necesita transcripción a texto: notas de voz, grabaciones, comandos de voz.
92
+
93
+ ## Herramientas Disponibles
94
+
95
+ | Tool | Qué hace | Cuándo usarla |
96
+ |------|----------|---------------|
97
+ | `voice_transcribe` | Convierte audio → texto | Transcripción de cualquier audio |
98
+
99
+ ## Workflow
100
+
101
+ ### Transcripción
102
+ ```javascript
103
+ // 1. Recibir audio
104
+ // - File upload
105
+ // - Voice message (Telegram, WhatsApp)
106
+ // - Stream en vivo
107
+
108
+ // 2. Transcribir
109
+ const result = voice_transcribe({
110
+ audio: audioBuffer,
111
+ language: "es" // o "auto" para detectar
112
+ })
113
+
114
+ // 3. Formatear
115
+ // - Agregar puntuación
116
+ // - Capitalizar
117
+ // - Marcar speakers si hay múltiples
118
+
119
+ // 4. Entregar resultado
120
+ ```
121
+
122
+ ## Proveedores STT Soportados
123
+
124
+ | Provider | Modelos | Idiomas |
125
+ |----------|---------|---------|
126
+ | Groq | whisper-large-v3, turbo | Multi |
127
+ | OpenAI | whisper-1 | Multi |
128
+
129
+ ## Configuración por Canal
130
+
131
+ Cada canal puede configurar su proveedor STT preferido:
132
+ - `stt_provider`: "groq-whisper" | "openai-whisper"
133
+
134
+ ## Mejores Prácticas
135
+
136
+ - Detectar idioma automáticamente
137
+ - Agregar puntuación para legibilidad
138
+ - Marcar segmentos inaudibles
139
+ - Preservar idioma original
140
+
141
+ ## Errores a Evitar
142
+
143
+ - ❌ Traducir sin pedir (mantener idioma)
144
+ - ❌ Omitir puntuación
145
+ - ❌ No indicar baja confianza
146
+ - ❌ Ignorar ruido de fondo que afecta calidad
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: voice_output
3
+ description: "Convert text to synthesized speech using TTS (Text-to-Speech) providers like ElevenLabs, OpenAI TTS, or Gemini TTS"
4
+ version: 1.0.0
5
+ author: Hive Team
6
+ icon: "🔊"
7
+ category: voice
8
+ permissions:
9
+ - voice_speak
10
+ dependencies: []
11
+ tools: [voice_speak]
12
+
13
+ # Structured skill fields
14
+ triggers:
15
+ - "leé esto en voz alta"
16
+ - "read this aloud"
17
+ - "convertí a voz"
18
+ - "convert to speech"
19
+ - "hablá este texto"
20
+ - "speak this text"
21
+ - "texto a voz"
22
+ - "text to speech"
23
+ - "generá audio"
24
+ - "generate audio"
25
+ - "síntesis de voz"
26
+ - "voice synthesis"
27
+ - "escuchá la respuesta"
28
+ - "listen to response"
29
+
30
+ preferred_agents: []
31
+
32
+ steps:
33
+ - step: 1
34
+ action: receive_text
35
+ instruction: "Receive text content to convert to speech"
36
+ params:
37
+ text: "text to synthesize"
38
+ language: "language code (es, en, etc.)"
39
+ output: text_content
40
+
41
+ - step: 2
42
+ action: optimize_for_speech
43
+ instruction: "Preprocess text for natural speech (expand abbreviations, handle special chars)"
44
+ output: optimized_text
45
+
46
+ - step: 3
47
+ action: voice_speak
48
+ instruction: "Send text to TTS provider for synthesis"
49
+ params:
50
+ text: "optimized text"
51
+ voice_id: "configured voice ID"
52
+ language: "language code"
53
+ output: audio_buffer
54
+
55
+ - step: 4
56
+ action: deliver_audio
57
+ instruction: "Return synthesized audio to user via channel"
58
+ output: delivered
59
+
60
+ rules:
61
+ - "Use configured TTS provider for channel (tts_provider config)"
62
+ - "Respect user's voice preference if set (tts_voice_id)"
63
+ - "Preprocess text: expand numbers, dates, abbreviations for natural speech"
64
+ - "Handle SSML tags if present for prosody control"
65
+ - "Split long text into chunks if exceeds provider limits"
66
+ - "Cache frequently spoken responses to reduce API calls"
67
+
68
+ output_format:
69
+ structure: audio
70
+ sections:
71
+ - "audio_file"
72
+ - "duration"
73
+ - "voice_used"
74
+ - "language"
75
+ max_length: "Audio attachment or file path"
76
+
77
+ examples:
78
+ - user_input: "leé esta respuesta en voz alta"
79
+ expected_behavior: "voice_speak → return audio file with synthesized speech"
80
+
81
+ - user_input: "convertí este texto a audio"
82
+ expected_behavior: "voice_speak → generate and return audio file"
83
+
84
+ - user_input: "respondeme por voz"
85
+ expected_behavior: "Generate response text → voice_speak → send audio"
86
+ ---
87
+
88
+ # Voice Output Skill
89
+
90
+ ## Cuándo se Activa
91
+
92
+ Esta skill se activa cuando el usuario necesita convertir texto a voz: leer respuestas, generar audio, síntesis de voz.
93
+
94
+ ## Herramientas Disponibles
95
+
96
+ | Tool | Qué hace | Cuándo usarla |
97
+ |------|----------|---------------|
98
+ | `voice_speak` | Convierte texto → audio | Síntesis de voz |
99
+
100
+ ## Workflow
101
+
102
+ ### Text-to-Speech
103
+ ```javascript
104
+ // 1. Recibir texto
105
+ const text = "Hola, ¿cómo estás?"
106
+
107
+ // 2. Preprocesar
108
+ // - Expandir números: "5" → "cinco"
109
+ // - Expandir fechas: "01/01" → "primero de enero"
110
+ // - Expandir abbreviaturas: "Dr." → "Doctor"
111
+
112
+ // 3. Sintetizar
113
+ const audio = voice_speak({
114
+ text: optimizedText,
115
+ voice_id: "eleven_flash_v2_5", // o configured voice
116
+ language: "es"
117
+ })
118
+
119
+ // 4. Entregar audio
120
+ // - Enviar como archivo
121
+ // - Streaming si el canal lo soporta
122
+ ```
123
+
124
+ ## Proveedores TTS Soportados
125
+
126
+ | Provider | Modelos | Voces |
127
+ |----------|---------|-------|
128
+ | ElevenLabs | Flash V2.5, Turbo V2.5, Multilingual V2, V3 | 1000+ |
129
+ | OpenAI | tts-1, tts-1-hd, gpt-4o-mini-tts | 6+ |
130
+ | Gemini | 2.5 Flash TTS, 2.5 Pro TTS | Multi |
131
+ | Qwen | Qwen TTS Flash, Instruct | Multi |
132
+
133
+ ## Configuración por Canal
134
+
135
+ Cada canal configura su proveedor TTS:
136
+ - `tts_provider`: "elevenlabs" | "openai-tts" | "gemini-tts"
137
+ - `tts_voice_id`: ID específico de voz (ej. ElevenLabs voice ID)
138
+
139
+ ## Mejores Prácticas
140
+
141
+ - Preprocesar texto para naturalidad
142
+ - Usar voz configurada por usuario
143
+ - Cachear respuestas frecuentes
144
+ - Split de textos largos
145
+
146
+ ## Errores a Evitar
147
+
148
+ - ❌ Enviar texto crudo sin preprocesar
149
+ - ❌ Ignorar preferencia de voz
150
+ - ❌ No manejar límites de longitud
151
+ - ❌ No cachear (costo API)
@@ -0,0 +1,120 @@
1
+ ---
2
+ name: browser_automate
3
+ description: "Automate web workflows with navigation, clicks, form filling, and visual verification"
4
+ version: 1.0.0
5
+ author: Hive Team
6
+ icon: "🤖"
7
+ category: web
8
+ permissions:
9
+ - browser_control
10
+ dependencies: []
11
+ tools: [browser_navigate, browser_click, browser_type, browser_screenshot]
12
+
13
+ # Structured skill fields
14
+ triggers:
15
+ - "automatizá el navegador"
16
+ - "automate browser"
17
+ - "completá el formulario"
18
+ - "fill form"
19
+ - "hacé clic en"
20
+ - "click on"
21
+ - "iniciá sesión"
22
+ - "login"
23
+ - "registrate"
24
+ - "sign up"
25
+ - "interactuá con la web"
26
+ - "interact with website"
27
+ - "flujo web"
28
+ - "web workflow"
29
+
30
+ preferred_agents: []
31
+
32
+ steps:
33
+ - step: 1
34
+ action: browser_navigate
35
+ instruction: "Navigate to target URL and wait for page to fully load"
36
+ params:
37
+ url: "target URL"
38
+ output: page_loaded
39
+
40
+ - step: 2
41
+ action: browser_click
42
+ instruction: "Click on elements (buttons, links) to navigate or trigger actions"
43
+ params:
44
+ selector: "CSS selector for element"
45
+ output: click_result
46
+
47
+ - step: 3
48
+ action: browser_type
49
+ instruction: "Type text into form fields (inputs, textareas)"
50
+ params:
51
+ selector: "CSS selector for input"
52
+ text: "text to type"
53
+ output: type_result
54
+
55
+ - step: 4
56
+ action: browser_screenshot
57
+ instruction: "Take screenshot to verify state after interactions"
58
+ output: verification_screenshot
59
+
60
+ rules:
61
+ - "Wait for page to fully load after each navigation or significant interaction"
62
+ - "Use specific, stable CSS selectors (IDs preferred over classes)"
63
+ - "Take screenshots after critical steps for verification"
64
+ - "Handle errors gracefully — element may not exist or be interactable"
65
+ - "For multi-step flows, verify state after each step before proceeding"
66
+
67
+ output_format:
68
+ structure: markdown
69
+ sections:
70
+ - "workflow_steps"
71
+ - "final_state"
72
+ - "screenshot_path"
73
+ max_length: "Summary of automation flow"
74
+
75
+ examples:
76
+ - user_input: "automatizá el login en example.com"
77
+ expected_behavior: "Navigate → type credentials → click submit → screenshot verification"
78
+
79
+ - user_input: "completá el formulario de contacto"
80
+ expected_behavior: "Navigate → type name/email/message → click submit → verify submission"
81
+
82
+ - user_input: "hacé clic en todos los enlaces del menú"
83
+ expected_behavior: "Navigate → click each menu item → screenshot each page"
84
+ ---
85
+
86
+ # Browser Automate Skill
87
+
88
+ ## Cuándo se Activa
89
+
90
+ Esta skill se activa para automatizar flujos de interacción con aplicaciones web: logins, formularios, navegación programática.
91
+
92
+ ## Herramientas Disponibles
93
+
94
+ | Tool | Qué hace | Cuándo usarla |
95
+ |------|----------|---------------|
96
+ | `browser_navigate` | Navega a URL | Inicio de flujo |
97
+ | `browser_click` | Click en elementos | Botones, enlaces, triggers |
98
+ | `browser_type` | Escribe en inputs | Formularios, búsquedas |
99
+ | `browser_screenshot` | Captura estado | Verificación visual |
100
+
101
+ ## Workflow Típico
102
+
103
+ 1. **Navegar** → URL inicial
104
+ 2. **Interactuar** → click/type según flujo
105
+ 3. **Verificar** → screenshot después de acciones críticas
106
+ 4. **Repetir** → para flujos multi-paso
107
+
108
+ ## Mejores Prácticas
109
+
110
+ - Selectores estables (IDs > classes > XPath)
111
+ - Esperar carga después de navegación
112
+ - Verificar estado visual con screenshots
113
+ - Manejar errores de elementos no encontrados
114
+
115
+ ## Errores a Evitar
116
+
117
+ - ❌ Selectores frágiles que cambian
118
+ - ❌ No esperar carga de página
119
+ - ❌ Ignorar errores de elementos
120
+ - ❌ No verificar estado después de acciones
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: browser_scrape
3
+ description: "Navigate to web pages and capture rendered content including screenshots for dynamic sites"
4
+ version: 1.0.0
5
+ author: Hive Team
6
+ icon: "📸"
7
+ category: web
8
+ permissions:
9
+ - browser_control
10
+ dependencies: []
11
+ tools: [browser_navigate, browser_screenshot, web_fetch]
12
+
13
+ # Structured skill fields
14
+ triggers:
15
+ - "capturá el contenido"
16
+ - "scrape content"
17
+ - "obtené la página renderizada"
18
+ - "get rendered page"
19
+ - "sitios dinámicos"
20
+ - "dynamic sites"
21
+ - "web con javascript"
22
+ - "javascript websites"
23
+ - "tomá screenshot y contenido"
24
+ - "screenshot and content"
25
+
26
+ preferred_agents: []
27
+
28
+ steps:
29
+ - step: 1
30
+ action: browser_navigate
31
+ instruction: "Navigate to URL and wait for full page load including JavaScript rendering"
32
+ params:
33
+ url: "target URL"
34
+ output: page_loaded
35
+
36
+ - step: 2
37
+ action: browser_screenshot
38
+ instruction: "Take screenshot to capture visual state of rendered page"
39
+ output: screenshot
40
+
41
+ - step: 3
42
+ action: web_fetch
43
+ instruction: "Extract text content from rendered page as markdown"
44
+ output: extracted_content
45
+
46
+ - step: 4
47
+ action: synthesize
48
+ instruction: "Combine screenshot and text content for comprehensive capture"
49
+ output: scraped_data
50
+
51
+ rules:
52
+ - "Wait for full page load including JavaScript-rendered content"
53
+ - "Take screenshot before extracting text to capture initial state"
54
+ - "For infinite scroll pages, scroll down and capture multiple screenshots"
55
+ - "Respect website terms of service — no aggressive scraping"
56
+ - "Store both screenshot and text for complete record"
57
+
58
+ output_format:
59
+ structure: markdown
60
+ sections:
61
+ - "url"
62
+ - "screenshot_path"
63
+ - "extracted_content"
64
+ - "timestamp"
65
+ max_length: "Full content extraction"
66
+
67
+ examples:
68
+ - user_input: "capturá el contenido de https://example.com/dashboard"
69
+ expected_behavior: "browser_navigate → wait for JS render → browser_screenshot → browser_fetch → return both"
70
+
71
+ - user_input: "obtené la página renderizada de la app"
72
+ expected_behavior: "Navigate → wait for SPA to load → screenshot + fetch content"
73
+
74
+ - user_input: "scrapeá este sitio con javascript"
75
+ expected_behavior: "Full browser render → capture visual and text content"
76
+ ---
77
+
78
+ # Browser Scrape Skill
79
+
80
+ ## Cuándo se Activa
81
+
82
+ Esta skill se activa para sitios web dinámicos que requieren JavaScript rendering, donde el contenido no está disponible en HTML estático.
83
+
84
+ ## Herramientas Disponibles
85
+
86
+ | Tool | Qué hace | Cuándo usarla |
87
+ |------|----------|---------------|
88
+ | `browser_navigate` | Navega y renderiza página completa | Sitios con JavaScript/SPA |
89
+ | `browser_screenshot` | Captura estado visual | Evidencia de contenido renderizado |
90
+ | `web_fetch` | Extrae texto como markdown | Contenido textual de página renderizada |
91
+
92
+ ## Workflow
93
+
94
+ 1. **Navegar** → `browser_navigate({ url })` + esperar renderizado JS
95
+ 2. **Capturar visual** → `browser_screenshot()`
96
+ 3. **Extraer texto** → `web_fetch()`
97
+ 4. **Combinar** → screenshot + texto para scrape completo
98
+
99
+ ## Mejores Prácticas
100
+
101
+ - Esperar renderizado completo de JavaScript
102
+ - Para infinite scroll: hacer scroll y múltiples screenshots
103
+ - Capturar antes y después de interacciones si es dinámico
104
+
105
+ ## Errores a Evitar
106
+
107
+ - ❌ No esperar renderizado JavaScript
108
+ - ❌ Solo capturar HTML estático para sitios SPA
109
+ - ❌ Ignorar términos de servicio del sitio