machinaos 0.0.1 → 0.0.6

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 (420) hide show
  1. package/.env.template +71 -71
  2. package/LICENSE +21 -21
  3. package/README.md +145 -87
  4. package/bin/cli.js +62 -106
  5. package/client/.dockerignore +45 -45
  6. package/client/Dockerfile +68 -68
  7. package/client/dist/assets/index-DFSC53FP.css +1 -0
  8. package/client/dist/assets/index-fJ-1gTf5.js +613 -0
  9. package/client/dist/index.html +14 -0
  10. package/client/eslint.config.js +34 -16
  11. package/client/nginx.conf +66 -66
  12. package/client/package.json +61 -48
  13. package/client/src/App.tsx +27 -27
  14. package/client/src/Dashboard.tsx +1200 -1172
  15. package/client/src/ParameterPanel.tsx +302 -300
  16. package/client/src/components/AIAgentNode.tsx +315 -321
  17. package/client/src/components/APIKeyValidator.tsx +117 -117
  18. package/client/src/components/ClaudeChatModelNode.tsx +17 -17
  19. package/client/src/components/CredentialsModal.tsx +1200 -306
  20. package/client/src/components/GeminiChatModelNode.tsx +17 -17
  21. package/client/src/components/GenericNode.tsx +356 -356
  22. package/client/src/components/LocationParameterPanel.tsx +153 -153
  23. package/client/src/components/ModelNode.tsx +285 -285
  24. package/client/src/components/OpenAIChatModelNode.tsx +17 -17
  25. package/client/src/components/OutputPanel.tsx +470 -470
  26. package/client/src/components/ParameterRenderer.tsx +1873 -1873
  27. package/client/src/components/SkillEditorModal.tsx +3 -3
  28. package/client/src/components/SquareNode.tsx +812 -796
  29. package/client/src/components/ToolkitNode.tsx +365 -365
  30. package/client/src/components/auth/LoginPage.tsx +247 -247
  31. package/client/src/components/auth/ProtectedRoute.tsx +59 -59
  32. package/client/src/components/base/BaseChatModelNode.tsx +270 -270
  33. package/client/src/components/icons/AIProviderIcons.tsx +50 -50
  34. package/client/src/components/maps/GoogleMapsPicker.tsx +136 -136
  35. package/client/src/components/maps/MapsPreviewPanel.tsx +109 -109
  36. package/client/src/components/maps/index.ts +25 -25
  37. package/client/src/components/parameterPanel/InputSection.tsx +1094 -1094
  38. package/client/src/components/parameterPanel/LocationPanelLayout.tsx +64 -64
  39. package/client/src/components/parameterPanel/MapsSection.tsx +91 -91
  40. package/client/src/components/parameterPanel/MiddleSection.tsx +867 -571
  41. package/client/src/components/parameterPanel/OutputSection.tsx +80 -80
  42. package/client/src/components/parameterPanel/ParameterPanelLayout.tsx +81 -81
  43. package/client/src/components/parameterPanel/ToolSchemaEditor.tsx +436 -436
  44. package/client/src/components/parameterPanel/index.ts +41 -41
  45. package/client/src/components/shared/DataPanel.tsx +142 -142
  46. package/client/src/components/shared/JSONTreeRenderer.tsx +105 -105
  47. package/client/src/components/ui/AIResultModal.tsx +203 -203
  48. package/client/src/components/ui/ApiKeyInput.tsx +93 -0
  49. package/client/src/components/ui/CodeEditor.tsx +81 -81
  50. package/client/src/components/ui/CollapsibleSection.tsx +87 -87
  51. package/client/src/components/ui/ComponentItem.tsx +153 -153
  52. package/client/src/components/ui/ComponentPalette.tsx +320 -320
  53. package/client/src/components/ui/ConsolePanel.tsx +151 -43
  54. package/client/src/components/ui/ErrorBoundary.tsx +195 -195
  55. package/client/src/components/ui/InputNodesPanel.tsx +203 -203
  56. package/client/src/components/ui/MapSelector.tsx +313 -313
  57. package/client/src/components/ui/Modal.tsx +151 -148
  58. package/client/src/components/ui/NodeOutputPanel.tsx +1150 -1150
  59. package/client/src/components/ui/OutputDisplayPanel.tsx +381 -381
  60. package/client/src/components/ui/QRCodeDisplay.tsx +182 -0
  61. package/client/src/components/ui/TopToolbar.tsx +736 -736
  62. package/client/src/components/ui/WorkflowSidebar.tsx +293 -293
  63. package/client/src/config/antdTheme.ts +186 -186
  64. package/client/src/contexts/AuthContext.tsx +221 -221
  65. package/client/src/contexts/ThemeContext.tsx +42 -42
  66. package/client/src/contexts/WebSocketContext.tsx +2144 -1971
  67. package/client/src/factories/baseChatModelFactory.ts +255 -255
  68. package/client/src/hooks/useAndroidOperations.ts +118 -164
  69. package/client/src/hooks/useApiKeyValidation.ts +106 -106
  70. package/client/src/hooks/useApiKeys.ts +238 -238
  71. package/client/src/hooks/useAppTheme.ts +17 -17
  72. package/client/src/hooks/useComponentPalette.ts +50 -50
  73. package/client/src/hooks/useDragAndDrop.ts +123 -123
  74. package/client/src/hooks/useDragVariable.ts +88 -88
  75. package/client/src/hooks/useExecution.ts +319 -313
  76. package/client/src/hooks/useParameterPanel.ts +176 -176
  77. package/client/src/hooks/useReactFlowNodes.ts +188 -188
  78. package/client/src/hooks/useToolSchema.ts +209 -209
  79. package/client/src/hooks/useWhatsApp.ts +196 -196
  80. package/client/src/hooks/useWorkflowManagement.ts +45 -45
  81. package/client/src/index.css +314 -314
  82. package/client/src/nodeDefinitions/aiAgentNodes.ts +335 -335
  83. package/client/src/nodeDefinitions/aiModelNodes.ts +340 -340
  84. package/client/src/nodeDefinitions/androidServiceNodes.ts +383 -383
  85. package/client/src/nodeDefinitions/chatNodes.ts +135 -135
  86. package/client/src/nodeDefinitions/codeNodes.ts +54 -54
  87. package/client/src/nodeDefinitions/index.ts +14 -14
  88. package/client/src/nodeDefinitions/locationNodes.ts +462 -462
  89. package/client/src/nodeDefinitions/schedulerNodes.ts +220 -220
  90. package/client/src/nodeDefinitions/skillNodes.ts +17 -5
  91. package/client/src/nodeDefinitions/utilityNodes.ts +284 -284
  92. package/client/src/nodeDefinitions/whatsappNodes.ts +821 -865
  93. package/client/src/nodeDefinitions.ts +101 -103
  94. package/client/src/services/dynamicParameterService.ts +95 -95
  95. package/client/src/services/execution/aiAgentExecutionService.ts +34 -34
  96. package/client/src/services/executionService.ts +227 -231
  97. package/client/src/services/workflowApi.ts +91 -91
  98. package/client/src/store/useAppStore.ts +578 -581
  99. package/client/src/styles/theme.ts +513 -508
  100. package/client/src/styles/zIndex.ts +16 -16
  101. package/client/src/types/ComponentTypes.ts +38 -38
  102. package/client/src/types/INodeProperties.ts +287 -287
  103. package/client/src/types/NodeTypes.ts +27 -27
  104. package/client/src/utils/formatters.ts +32 -32
  105. package/client/src/utils/googleMapsLoader.ts +139 -139
  106. package/client/src/utils/locationUtils.ts +84 -84
  107. package/client/src/utils/nodeUtils.ts +30 -30
  108. package/client/src/utils/workflow.ts +29 -29
  109. package/client/src/vite-env.d.ts +12 -12
  110. package/client/tailwind.config.js +59 -59
  111. package/client/tsconfig.json +25 -25
  112. package/client/vite.config.js +35 -35
  113. package/package.json +78 -70
  114. package/scripts/build.js +153 -45
  115. package/scripts/clean.js +40 -40
  116. package/scripts/start.js +234 -210
  117. package/scripts/stop.js +301 -325
  118. package/server/.dockerignore +44 -44
  119. package/server/Dockerfile +45 -45
  120. package/server/constants.py +244 -249
  121. package/server/core/cache.py +460 -460
  122. package/server/core/config.py +127 -127
  123. package/server/core/container.py +98 -98
  124. package/server/core/database.py +1296 -1210
  125. package/server/core/logging.py +313 -313
  126. package/server/main.py +288 -288
  127. package/server/middleware/__init__.py +5 -5
  128. package/server/middleware/auth.py +89 -89
  129. package/server/models/auth.py +52 -52
  130. package/server/models/cache.py +24 -24
  131. package/server/models/database.py +235 -210
  132. package/server/models/nodes.py +435 -455
  133. package/server/pyproject.toml +75 -72
  134. package/server/requirements.txt +83 -83
  135. package/server/routers/android.py +294 -294
  136. package/server/routers/auth.py +203 -203
  137. package/server/routers/database.py +150 -150
  138. package/server/routers/maps.py +141 -141
  139. package/server/routers/nodejs_compat.py +288 -288
  140. package/server/routers/webhook.py +90 -90
  141. package/server/routers/websocket.py +2239 -2127
  142. package/server/routers/whatsapp.py +761 -761
  143. package/server/routers/workflow.py +199 -199
  144. package/server/services/ai.py +2444 -2414
  145. package/server/services/android_service.py +588 -588
  146. package/server/services/auth.py +130 -130
  147. package/server/services/chat_client.py +160 -160
  148. package/server/services/deployment/manager.py +706 -706
  149. package/server/services/event_waiter.py +675 -785
  150. package/server/services/execution/executor.py +1351 -1351
  151. package/server/services/execution/models.py +1 -1
  152. package/server/services/handlers/__init__.py +122 -126
  153. package/server/services/handlers/ai.py +390 -355
  154. package/server/services/handlers/android.py +69 -260
  155. package/server/services/handlers/code.py +278 -278
  156. package/server/services/handlers/http.py +193 -193
  157. package/server/services/handlers/tools.py +146 -32
  158. package/server/services/handlers/triggers.py +107 -107
  159. package/server/services/handlers/utility.py +822 -822
  160. package/server/services/handlers/whatsapp.py +423 -476
  161. package/server/services/maps.py +288 -288
  162. package/server/services/memory_store.py +103 -103
  163. package/server/services/node_executor.py +372 -375
  164. package/server/services/scheduler.py +155 -155
  165. package/server/services/skill_loader.py +1 -1
  166. package/server/services/status_broadcaster.py +834 -826
  167. package/server/services/temporal/__init__.py +23 -23
  168. package/server/services/temporal/activities.py +344 -344
  169. package/server/services/temporal/client.py +76 -76
  170. package/server/services/temporal/executor.py +147 -147
  171. package/server/services/temporal/worker.py +251 -251
  172. package/server/services/temporal/workflow.py +355 -355
  173. package/server/services/temporal/ws_client.py +236 -236
  174. package/server/services/text.py +110 -110
  175. package/server/services/user_auth.py +172 -172
  176. package/server/services/websocket_client.py +29 -29
  177. package/server/services/workflow.py +597 -597
  178. package/server/skills/android-skill/SKILL.md +4 -4
  179. package/server/skills/code-skill/SKILL.md +123 -89
  180. package/server/skills/maps-skill/SKILL.md +3 -3
  181. package/server/skills/memory-skill/SKILL.md +1 -1
  182. package/server/skills/web-search-skill/SKILL.md +154 -0
  183. package/server/skills/whatsapp-skill/SKILL.md +3 -3
  184. package/server/uv.lock +461 -100
  185. package/server/whatsapp-rpc/.dockerignore +30 -30
  186. package/server/whatsapp-rpc/Dockerfile +44 -44
  187. package/server/whatsapp-rpc/Dockerfile.web +17 -17
  188. package/server/whatsapp-rpc/README.md +139 -139
  189. package/server/whatsapp-rpc/bin/whatsapp-rpc-server +0 -0
  190. package/server/whatsapp-rpc/cli.js +95 -95
  191. package/server/whatsapp-rpc/configs/config.yaml +6 -6
  192. package/server/whatsapp-rpc/docker-compose.yml +35 -35
  193. package/server/whatsapp-rpc/docs/API.md +410 -410
  194. package/server/whatsapp-rpc/node_modules/.package-lock.json +259 -0
  195. package/server/whatsapp-rpc/node_modules/chalk/license +9 -0
  196. package/server/whatsapp-rpc/node_modules/chalk/package.json +83 -0
  197. package/server/whatsapp-rpc/node_modules/chalk/readme.md +297 -0
  198. package/server/whatsapp-rpc/node_modules/chalk/source/index.d.ts +325 -0
  199. package/server/whatsapp-rpc/node_modules/chalk/source/index.js +225 -0
  200. package/server/whatsapp-rpc/node_modules/chalk/source/utilities.js +33 -0
  201. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  202. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  203. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  204. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  205. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  206. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  207. package/server/whatsapp-rpc/node_modules/commander/LICENSE +22 -0
  208. package/server/whatsapp-rpc/node_modules/commander/Readme.md +1148 -0
  209. package/server/whatsapp-rpc/node_modules/commander/esm.mjs +16 -0
  210. package/server/whatsapp-rpc/node_modules/commander/index.js +26 -0
  211. package/server/whatsapp-rpc/node_modules/commander/lib/argument.js +145 -0
  212. package/server/whatsapp-rpc/node_modules/commander/lib/command.js +2179 -0
  213. package/server/whatsapp-rpc/node_modules/commander/lib/error.js +43 -0
  214. package/server/whatsapp-rpc/node_modules/commander/lib/help.js +462 -0
  215. package/server/whatsapp-rpc/node_modules/commander/lib/option.js +329 -0
  216. package/server/whatsapp-rpc/node_modules/commander/lib/suggestSimilar.js +100 -0
  217. package/server/whatsapp-rpc/node_modules/commander/package-support.json +16 -0
  218. package/server/whatsapp-rpc/node_modules/commander/package.json +80 -0
  219. package/server/whatsapp-rpc/node_modules/commander/typings/esm.d.mts +3 -0
  220. package/server/whatsapp-rpc/node_modules/commander/typings/index.d.ts +884 -0
  221. package/server/whatsapp-rpc/node_modules/cross-spawn/LICENSE +21 -0
  222. package/server/whatsapp-rpc/node_modules/cross-spawn/README.md +89 -0
  223. package/server/whatsapp-rpc/node_modules/cross-spawn/index.js +39 -0
  224. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/enoent.js +59 -0
  225. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/parse.js +91 -0
  226. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/escape.js +47 -0
  227. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  228. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  229. package/server/whatsapp-rpc/node_modules/cross-spawn/package.json +73 -0
  230. package/server/whatsapp-rpc/node_modules/execa/index.d.ts +955 -0
  231. package/server/whatsapp-rpc/node_modules/execa/index.js +309 -0
  232. package/server/whatsapp-rpc/node_modules/execa/lib/command.js +119 -0
  233. package/server/whatsapp-rpc/node_modules/execa/lib/error.js +87 -0
  234. package/server/whatsapp-rpc/node_modules/execa/lib/kill.js +102 -0
  235. package/server/whatsapp-rpc/node_modules/execa/lib/pipe.js +42 -0
  236. package/server/whatsapp-rpc/node_modules/execa/lib/promise.js +36 -0
  237. package/server/whatsapp-rpc/node_modules/execa/lib/stdio.js +49 -0
  238. package/server/whatsapp-rpc/node_modules/execa/lib/stream.js +133 -0
  239. package/server/whatsapp-rpc/node_modules/execa/lib/verbose.js +19 -0
  240. package/server/whatsapp-rpc/node_modules/execa/license +9 -0
  241. package/server/whatsapp-rpc/node_modules/execa/package.json +90 -0
  242. package/server/whatsapp-rpc/node_modules/execa/readme.md +822 -0
  243. package/server/whatsapp-rpc/node_modules/get-stream/license +9 -0
  244. package/server/whatsapp-rpc/node_modules/get-stream/package.json +53 -0
  245. package/server/whatsapp-rpc/node_modules/get-stream/readme.md +291 -0
  246. package/server/whatsapp-rpc/node_modules/get-stream/source/array-buffer.js +84 -0
  247. package/server/whatsapp-rpc/node_modules/get-stream/source/array.js +32 -0
  248. package/server/whatsapp-rpc/node_modules/get-stream/source/buffer.js +20 -0
  249. package/server/whatsapp-rpc/node_modules/get-stream/source/contents.js +101 -0
  250. package/server/whatsapp-rpc/node_modules/get-stream/source/index.d.ts +119 -0
  251. package/server/whatsapp-rpc/node_modules/get-stream/source/index.js +5 -0
  252. package/server/whatsapp-rpc/node_modules/get-stream/source/string.js +36 -0
  253. package/server/whatsapp-rpc/node_modules/get-stream/source/utils.js +11 -0
  254. package/server/whatsapp-rpc/node_modules/get-them-args/LICENSE +21 -0
  255. package/server/whatsapp-rpc/node_modules/get-them-args/README.md +95 -0
  256. package/server/whatsapp-rpc/node_modules/get-them-args/index.js +97 -0
  257. package/server/whatsapp-rpc/node_modules/get-them-args/package.json +36 -0
  258. package/server/whatsapp-rpc/node_modules/human-signals/LICENSE +201 -0
  259. package/server/whatsapp-rpc/node_modules/human-signals/README.md +168 -0
  260. package/server/whatsapp-rpc/node_modules/human-signals/build/src/core.js +273 -0
  261. package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.d.ts +73 -0
  262. package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.js +70 -0
  263. package/server/whatsapp-rpc/node_modules/human-signals/build/src/realtime.js +16 -0
  264. package/server/whatsapp-rpc/node_modules/human-signals/build/src/signals.js +34 -0
  265. package/server/whatsapp-rpc/node_modules/human-signals/package.json +61 -0
  266. package/server/whatsapp-rpc/node_modules/is-stream/index.d.ts +81 -0
  267. package/server/whatsapp-rpc/node_modules/is-stream/index.js +29 -0
  268. package/server/whatsapp-rpc/node_modules/is-stream/license +9 -0
  269. package/server/whatsapp-rpc/node_modules/is-stream/package.json +44 -0
  270. package/server/whatsapp-rpc/node_modules/is-stream/readme.md +60 -0
  271. package/server/whatsapp-rpc/node_modules/isexe/LICENSE +15 -0
  272. package/server/whatsapp-rpc/node_modules/isexe/README.md +51 -0
  273. package/server/whatsapp-rpc/node_modules/isexe/index.js +57 -0
  274. package/server/whatsapp-rpc/node_modules/isexe/mode.js +41 -0
  275. package/server/whatsapp-rpc/node_modules/isexe/package.json +31 -0
  276. package/server/whatsapp-rpc/node_modules/isexe/test/basic.js +221 -0
  277. package/server/whatsapp-rpc/node_modules/isexe/windows.js +42 -0
  278. package/server/whatsapp-rpc/node_modules/kill-port/.editorconfig +12 -0
  279. package/server/whatsapp-rpc/node_modules/kill-port/.gitattributes +1 -0
  280. package/server/whatsapp-rpc/node_modules/kill-port/LICENSE +21 -0
  281. package/server/whatsapp-rpc/node_modules/kill-port/README.md +140 -0
  282. package/server/whatsapp-rpc/node_modules/kill-port/cli.js +25 -0
  283. package/server/whatsapp-rpc/node_modules/kill-port/example.js +21 -0
  284. package/server/whatsapp-rpc/node_modules/kill-port/index.js +46 -0
  285. package/server/whatsapp-rpc/node_modules/kill-port/logo.png +0 -0
  286. package/server/whatsapp-rpc/node_modules/kill-port/package.json +41 -0
  287. package/server/whatsapp-rpc/node_modules/kill-port/pnpm-lock.yaml +4606 -0
  288. package/server/whatsapp-rpc/node_modules/kill-port/test.js +16 -0
  289. package/server/whatsapp-rpc/node_modules/merge-stream/LICENSE +21 -0
  290. package/server/whatsapp-rpc/node_modules/merge-stream/README.md +78 -0
  291. package/server/whatsapp-rpc/node_modules/merge-stream/index.js +41 -0
  292. package/server/whatsapp-rpc/node_modules/merge-stream/package.json +19 -0
  293. package/server/whatsapp-rpc/node_modules/mimic-fn/index.d.ts +52 -0
  294. package/server/whatsapp-rpc/node_modules/mimic-fn/index.js +71 -0
  295. package/server/whatsapp-rpc/node_modules/mimic-fn/license +9 -0
  296. package/server/whatsapp-rpc/node_modules/mimic-fn/package.json +45 -0
  297. package/server/whatsapp-rpc/node_modules/mimic-fn/readme.md +90 -0
  298. package/server/whatsapp-rpc/node_modules/npm-run-path/index.d.ts +90 -0
  299. package/server/whatsapp-rpc/node_modules/npm-run-path/index.js +52 -0
  300. package/server/whatsapp-rpc/node_modules/npm-run-path/license +9 -0
  301. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.d.ts +31 -0
  302. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.js +12 -0
  303. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/license +9 -0
  304. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/package.json +41 -0
  305. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/readme.md +57 -0
  306. package/server/whatsapp-rpc/node_modules/npm-run-path/package.json +49 -0
  307. package/server/whatsapp-rpc/node_modules/npm-run-path/readme.md +104 -0
  308. package/server/whatsapp-rpc/node_modules/onetime/index.d.ts +59 -0
  309. package/server/whatsapp-rpc/node_modules/onetime/index.js +41 -0
  310. package/server/whatsapp-rpc/node_modules/onetime/license +9 -0
  311. package/server/whatsapp-rpc/node_modules/onetime/package.json +45 -0
  312. package/server/whatsapp-rpc/node_modules/onetime/readme.md +94 -0
  313. package/server/whatsapp-rpc/node_modules/path-key/index.d.ts +40 -0
  314. package/server/whatsapp-rpc/node_modules/path-key/index.js +16 -0
  315. package/server/whatsapp-rpc/node_modules/path-key/license +9 -0
  316. package/server/whatsapp-rpc/node_modules/path-key/package.json +39 -0
  317. package/server/whatsapp-rpc/node_modules/path-key/readme.md +61 -0
  318. package/server/whatsapp-rpc/node_modules/shebang-command/index.js +19 -0
  319. package/server/whatsapp-rpc/node_modules/shebang-command/license +9 -0
  320. package/server/whatsapp-rpc/node_modules/shebang-command/package.json +34 -0
  321. package/server/whatsapp-rpc/node_modules/shebang-command/readme.md +34 -0
  322. package/server/whatsapp-rpc/node_modules/shebang-regex/index.d.ts +22 -0
  323. package/server/whatsapp-rpc/node_modules/shebang-regex/index.js +2 -0
  324. package/server/whatsapp-rpc/node_modules/shebang-regex/license +9 -0
  325. package/server/whatsapp-rpc/node_modules/shebang-regex/package.json +35 -0
  326. package/server/whatsapp-rpc/node_modules/shebang-regex/readme.md +33 -0
  327. package/server/whatsapp-rpc/node_modules/shell-exec/LICENSE +21 -0
  328. package/server/whatsapp-rpc/node_modules/shell-exec/README.md +60 -0
  329. package/server/whatsapp-rpc/node_modules/shell-exec/index.js +47 -0
  330. package/server/whatsapp-rpc/node_modules/shell-exec/package.json +29 -0
  331. package/server/whatsapp-rpc/node_modules/signal-exit/LICENSE.txt +16 -0
  332. package/server/whatsapp-rpc/node_modules/signal-exit/README.md +74 -0
  333. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  334. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  335. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  336. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  337. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  338. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  339. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js +279 -0
  340. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  341. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/package.json +3 -0
  342. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  343. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  344. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  345. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  346. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  347. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  348. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  349. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  350. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  351. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  352. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js +275 -0
  353. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  354. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/package.json +3 -0
  355. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  356. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  357. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  358. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  359. package/server/whatsapp-rpc/node_modules/signal-exit/package.json +106 -0
  360. package/server/whatsapp-rpc/node_modules/strip-final-newline/index.js +14 -0
  361. package/server/whatsapp-rpc/node_modules/strip-final-newline/license +9 -0
  362. package/server/whatsapp-rpc/node_modules/strip-final-newline/package.json +43 -0
  363. package/server/whatsapp-rpc/node_modules/strip-final-newline/readme.md +35 -0
  364. package/server/whatsapp-rpc/node_modules/which/CHANGELOG.md +166 -0
  365. package/server/whatsapp-rpc/node_modules/which/LICENSE +15 -0
  366. package/server/whatsapp-rpc/node_modules/which/README.md +54 -0
  367. package/server/whatsapp-rpc/node_modules/which/bin/node-which +52 -0
  368. package/server/whatsapp-rpc/node_modules/which/package.json +43 -0
  369. package/server/whatsapp-rpc/node_modules/which/which.js +125 -0
  370. package/server/whatsapp-rpc/package-lock.json +272 -0
  371. package/server/whatsapp-rpc/package.json +30 -30
  372. package/server/whatsapp-rpc/schema.json +1294 -1294
  373. package/server/whatsapp-rpc/scripts/clean.cjs +66 -66
  374. package/server/whatsapp-rpc/scripts/cli.js +162 -162
  375. package/server/whatsapp-rpc/src/go/whatsapp/history.go +166 -166
  376. package/server/whatsapp-rpc/src/python/pyproject.toml +15 -15
  377. package/server/whatsapp-rpc/src/python/whatsapp_rpc/__init__.py +4 -4
  378. package/server/whatsapp-rpc/src/python/whatsapp_rpc/client.py +427 -427
  379. package/server/whatsapp-rpc/web/app.py +609 -609
  380. package/server/whatsapp-rpc/web/requirements.txt +6 -6
  381. package/server/whatsapp-rpc/web/rpc_client.py +427 -427
  382. package/server/whatsapp-rpc/web/static/openapi.yaml +59 -59
  383. package/server/whatsapp-rpc/web/templates/base.html +149 -149
  384. package/server/whatsapp-rpc/web/templates/contacts.html +240 -240
  385. package/server/whatsapp-rpc/web/templates/dashboard.html +319 -319
  386. package/server/whatsapp-rpc/web/templates/groups.html +328 -328
  387. package/server/whatsapp-rpc/web/templates/messages.html +465 -465
  388. package/server/whatsapp-rpc/web/templates/messaging.html +680 -680
  389. package/server/whatsapp-rpc/web/templates/send.html +258 -258
  390. package/server/whatsapp-rpc/web/templates/settings.html +459 -459
  391. package/client/src/components/ui/AndroidSettingsPanel.tsx +0 -401
  392. package/client/src/components/ui/WhatsAppSettingsPanel.tsx +0 -345
  393. package/client/src/nodeDefinitions/androidDeviceNodes.ts +0 -140
  394. package/docker-compose.prod.yml +0 -107
  395. package/docker-compose.yml +0 -104
  396. package/docs-MachinaOs/README.md +0 -85
  397. package/docs-MachinaOs/deployment/docker.mdx +0 -228
  398. package/docs-MachinaOs/deployment/production.mdx +0 -345
  399. package/docs-MachinaOs/docs.json +0 -75
  400. package/docs-MachinaOs/faq.mdx +0 -309
  401. package/docs-MachinaOs/favicon.svg +0 -5
  402. package/docs-MachinaOs/installation.mdx +0 -160
  403. package/docs-MachinaOs/introduction.mdx +0 -114
  404. package/docs-MachinaOs/logo/dark.svg +0 -6
  405. package/docs-MachinaOs/logo/light.svg +0 -6
  406. package/docs-MachinaOs/nodes/ai-agent.mdx +0 -216
  407. package/docs-MachinaOs/nodes/ai-models.mdx +0 -240
  408. package/docs-MachinaOs/nodes/android.mdx +0 -411
  409. package/docs-MachinaOs/nodes/overview.mdx +0 -181
  410. package/docs-MachinaOs/nodes/schedulers.mdx +0 -316
  411. package/docs-MachinaOs/nodes/webhooks.mdx +0 -330
  412. package/docs-MachinaOs/nodes/whatsapp.mdx +0 -305
  413. package/docs-MachinaOs/quickstart.mdx +0 -119
  414. package/docs-MachinaOs/tutorials/ai-agent-workflow.mdx +0 -177
  415. package/docs-MachinaOs/tutorials/android-automation.mdx +0 -242
  416. package/docs-MachinaOs/tutorials/first-workflow.mdx +0 -134
  417. package/docs-MachinaOs/tutorials/whatsapp-automation.mdx +0 -185
  418. package/nul +0 -0
  419. package/scripts/check-ports.ps1 +0 -33
  420. package/scripts/kill-port.ps1 +0 -154
@@ -13,12 +13,12 @@ This skill provides context for monitoring and controlling Android devices.
13
13
 
14
14
  ## How It Works
15
15
 
16
- This skill provides instructions and context. To execute Android actions, connect the **Android Toolkit** node to the Chat Agent's `input-tools` handle, then connect Android service nodes to the toolkit:
16
+ This skill provides instructions and context. To execute Android actions, connect the **Android Toolkit** node to the Zeenie's `input-tools` handle, then connect Android service nodes to the toolkit:
17
17
 
18
18
  ```
19
19
  [Battery Monitor] --+
20
20
  |
21
- [WiFi Automation] --+--> [Android Toolkit] --> [Chat Agent]
21
+ [WiFi Automation] --+--> [Android Toolkit] --> [Zeenie]
22
22
  |
23
23
  [Location] ---+
24
24
  ```
@@ -76,7 +76,7 @@ Before using Android tools, ensure:
76
76
 
77
77
  ## Setup Requirements
78
78
 
79
- 1. Connect this skill to Chat Agent's `input-skill` handle
80
- 2. Add **Android Toolkit** node and connect to Chat Agent's `input-tools` handle
79
+ 1. Connect this skill to Zeenie's `input-skill` handle
80
+ 2. Add **Android Toolkit** node and connect to Zeenie's `input-tools` handle
81
81
  3. Connect desired Android service nodes to the Android Toolkit
82
82
  4. Ensure Android device is paired (green status indicator)
@@ -1,140 +1,174 @@
1
1
  ---
2
2
  name: code-skill
3
3
  description: Execute Python or JavaScript code for calculations, data processing, and automation. Use when user needs to run code, do calculations, or process data.
4
- allowed-tools: code-python code-javascript
4
+ allowed-tools: python_code javascript_code
5
5
  metadata:
6
6
  author: machina
7
- version: "1.0"
7
+ version: "3.0"
8
8
  category: code
9
9
  ---
10
10
 
11
11
  # Code Execution
12
12
 
13
- This skill enables you to execute Python and JavaScript code for various tasks.
13
+ This skill enables you to execute Python and JavaScript code for various tasks using the `python_code` and `javascript_code` tools.
14
14
 
15
- ## Capabilities
15
+ ## Tool: python_code
16
16
 
17
- - Run Python code with full standard library
18
- - Execute JavaScript code
19
- - Perform complex calculations
20
- - Process and transform data
21
- - Generate outputs and visualizations
17
+ Execute Python code for calculations, data processing, and automation.
22
18
 
23
- ## Tool Reference
19
+ ### Parameters
24
20
 
25
- ### code-python
26
- Execute Python code.
21
+ | Parameter | Type | Required | Description |
22
+ |-----------|------|----------|-------------|
23
+ | `code` | string | Yes | Python code to execute. Set `output` variable with result. Use `print()` for console output. |
27
24
 
28
- Parameters:
29
- - `code` (required): Python code to execute
30
- - `input_data` (optional): Data to pass to the script (available as `input_data` variable)
25
+ ### Available Libraries
26
+ - Standard library: `math`, `json`, `datetime`, `timedelta`, `re`, `random`
27
+ - Collections: `Counter`, `defaultdict`
28
+ - All built-in functions
31
29
 
32
- Returns:
33
- - output: Script output (print statements)
34
- - result: Return value if any
35
- - error: Error message if execution failed
30
+ ### Variables Available
31
+ - `input_data` - Data from connected workflow nodes (dict)
32
+ - `output` - Set this variable to return a result
36
33
 
37
- ### code-javascript
38
- Execute JavaScript code.
34
+ ### Returns
39
35
 
40
- Parameters:
41
- - `code` (required): JavaScript code to execute
42
- - `input_data` (optional): Data to pass to the script
36
+ | Field | Type | Description |
37
+ |-------|------|-------------|
38
+ | `success` | boolean | Whether execution succeeded |
39
+ | `result` | any | Value of `output` variable if set |
40
+ | `output` | string | Captured print() statements |
41
+ | `error` | string | Error message if execution failed |
43
42
 
44
- Returns:
45
- - output: Console output
46
- - result: Return value
47
- - error: Error message if execution failed
43
+ ### Example Usage
44
+ ```python
45
+ # Calculate with data
46
+ data = input_data.get("numbers", [1, 2, 3])
47
+ total = sum(data)
48
+ average = total / len(data)
49
+ print(f"Total: {total}, Average: {average}")
50
+ output = {"total": total, "average": average}
51
+ ```
48
52
 
49
- ## Python Guidelines
53
+ ---
50
54
 
51
- ### Available Libraries
52
- - Standard library (math, json, datetime, re, etc.)
53
- - Data processing (collections, itertools)
54
- - String manipulation
55
+ ## Tool: javascript_code
55
56
 
56
- ### Input Data Access
57
- ```python
58
- # Access input data from previous nodes
59
- data = input_data # Available as global variable
60
- print(f"Received: {data}")
61
- ```
57
+ Execute JavaScript code for calculations, data processing, and JSON manipulation.
62
58
 
63
- ### Output
64
- ```python
65
- # Print for output display
66
- print("Hello, World!")
59
+ ### Parameters
67
60
 
68
- # Return value for downstream nodes
69
- result = {"status": "success", "value": 42}
70
- ```
61
+ | Parameter | Type | Required | Description |
62
+ |-----------|------|----------|-------------|
63
+ | `code` | string | Yes | JavaScript code to execute. Set `output` variable with result. Use `console.log()` for output. |
71
64
 
72
- ## JavaScript Guidelines
65
+ ### Variables Available
66
+ - `input_data` - Data from connected workflow nodes (object)
67
+ - `output` - Set this variable to return a result
73
68
 
74
- ### Input Data Access
75
- ```javascript
76
- // Access input data from previous nodes
77
- const data = input_data;
78
- console.log(`Received: ${JSON.stringify(data)}`);
79
- ```
69
+ ### Returns
80
70
 
81
- ### Output
82
- ```javascript
83
- // Console for output display
84
- console.log("Hello, World!");
71
+ | Field | Type | Description |
72
+ |-------|------|-------------|
73
+ | `success` | boolean | Whether execution succeeded |
74
+ | `result` | any | Value of `output` variable if set |
75
+ | `output` | string | Captured console.log() statements |
76
+ | `error` | string | Error message if execution failed |
85
77
 
86
- // Return value for downstream nodes
87
- return { status: "success", value: 42 };
78
+ ### Example Usage
79
+ ```javascript
80
+ // Process JSON data
81
+ const data = input_data.numbers || [1, 2, 3];
82
+ const total = data.reduce((a, b) => a + b, 0);
83
+ const average = total / data.length;
84
+ console.log(`Total: ${total}, Average: ${average}`);
85
+ output = { total, average };
88
86
  ```
89
87
 
88
+ ---
89
+
90
90
  ## Examples
91
91
 
92
+ ### Calculate a tip (Python)
92
93
  **User**: "Calculate 15% tip on $85.50"
93
- **Action**: Use code-python with:
94
- ```python
95
- bill = 85.50
96
- tip_percent = 15
97
- tip = bill * (tip_percent / 100)
98
- total = bill + tip
99
- print(f"Tip: ${tip:.2f}")
100
- print(f"Total: ${total:.2f}")
101
- ```
102
94
 
103
- **User**: "Convert this JSON to CSV"
104
- **Action**: Use code-python with:
105
- ```python
106
- import json
107
- import csv
108
- import io
109
-
110
- data = input_data # JSON from previous node
111
- output = io.StringIO()
112
- writer = csv.DictWriter(output, fieldnames=data[0].keys())
113
- writer.writeheader()
114
- writer.writerows(data)
115
- print(output.getvalue())
95
+ **Tool Call** (python_code):
96
+ ```json
97
+ {
98
+ "code": "bill = 85.50\ntip_percent = 15\ntip = bill * (tip_percent / 100)\ntotal = bill + tip\nprint(f\"Tip: ${tip:.2f}\")\nprint(f\"Total: ${total:.2f}\")\noutput = {\"tip\": tip, \"total\": total}"
99
+ }
116
100
  ```
117
101
 
102
+ ### Generate random numbers (Python)
118
103
  **User**: "Generate 5 random numbers between 1 and 100"
119
- **Action**: Use code-python with:
120
- ```python
121
- import random
122
- numbers = [random.randint(1, 100) for _ in range(5)]
123
- print(f"Random numbers: {numbers}")
104
+
105
+ **Tool Call** (python_code):
106
+ ```json
107
+ {
108
+ "code": "import random\nnumbers = [random.randint(1, 100) for _ in range(5)]\nprint(f\"Random numbers: {numbers}\")\noutput = numbers"
109
+ }
110
+ ```
111
+
112
+ ### Process JSON data (JavaScript)
113
+ **User**: "Sum all the values in this object"
114
+
115
+ **Tool Call** (javascript_code):
116
+ ```json
117
+ {
118
+ "code": "const values = Object.values(input_data);\nconst sum = values.reduce((a, b) => a + b, 0);\nconsole.log(`Sum: ${sum}`);\noutput = sum;"
119
+ }
124
120
  ```
125
121
 
122
+ ### Date calculations (Python)
123
+ **User**: "What date is 30 days from now?"
124
+
125
+ **Tool Call** (python_code):
126
+ ```json
127
+ {
128
+ "code": "from datetime import datetime, timedelta\ntoday = datetime.now()\nfuture = today + timedelta(days=30)\nresult = future.strftime('%Y-%m-%d')\nprint(f\"30 days from now: {result}\")\noutput = result"
129
+ }
130
+ ```
131
+
132
+ ### Array manipulation (JavaScript)
133
+ **User**: "Filter this array to only even numbers"
134
+
135
+ **Tool Call** (javascript_code):
136
+ ```json
137
+ {
138
+ "code": "const numbers = input_data.numbers || [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst evens = numbers.filter(n => n % 2 === 0);\nconsole.log(`Even numbers: ${evens}`);\noutput = evens;"
139
+ }
140
+ ```
141
+
142
+ ---
143
+
144
+ ## When to Use Each Tool
145
+
146
+ | Use Case | Recommended Tool |
147
+ |----------|------------------|
148
+ | Math calculations | `python_code` |
149
+ | Date/time operations | `python_code` |
150
+ | Data analysis | `python_code` |
151
+ | Random number generation | `python_code` |
152
+ | JSON manipulation | `javascript_code` |
153
+ | Array operations | Either |
154
+ | String processing | Either |
155
+
156
+ ---
157
+
126
158
  ## Security Guidelines
127
159
 
128
160
  1. **No file system access** outside designated directories
129
161
  2. **No network requests** from code (use http-skill instead)
130
162
  3. **No system commands** or shell access
131
- 4. **Limited execution time** (timeout after 30 seconds)
163
+ 4. **Limited execution time** (timeout configurable, default 30 seconds)
132
164
  5. **No sensitive data** in code outputs
133
165
 
134
166
  ## Best Practices
135
167
 
136
168
  1. Keep code simple and focused on one task
137
169
  2. Use descriptive variable names
138
- 3. Add comments for complex logic
139
- 4. Validate input data before processing
170
+ 3. Always set the `output` variable with your result
171
+ 4. Use `print()` / `console.log()` for debugging
140
172
  5. Handle potential errors gracefully
173
+ 6. Prefer Python for math, dates, and data processing
174
+ 7. Prefer JavaScript for JSON manipulation
@@ -13,7 +13,7 @@ This skill provides context for location-based capabilities using Google Maps se
13
13
 
14
14
  ## How It Works
15
15
 
16
- This skill provides instructions and context. To execute location actions, connect the appropriate **tool nodes** to the Chat Agent's `input-tools` handle:
16
+ This skill provides instructions and context. To execute location actions, connect the appropriate **tool nodes** to the Zeenie's `input-tools` handle:
17
17
 
18
18
  - **Add Locations** node - Geocode addresses to coordinates or reverse geocode
19
19
  - **Show Nearby Places** node - Search for nearby places
@@ -165,6 +165,6 @@ When presenting location results:
165
165
 
166
166
  ## Setup Requirements
167
167
 
168
- 1. Connect this skill to Chat Agent's `input-skill` handle
169
- 2. Connect location tool nodes to Chat Agent's `input-tools` handle
168
+ 1. Connect this skill to Zeenie's `input-skill` handle
169
+ 2. Connect location tool nodes to Zeenie's `input-tools` handle
170
170
  3. Ensure Google Maps API key is configured in credentials
@@ -140,7 +140,7 @@ User prefers formal language.
140
140
 
141
141
  ## Integration with SimpleMemory Node
142
142
 
143
- When connected to a Chat Agent:
143
+ When connected to a Zeenie:
144
144
  1. Conversation is automatically logged to markdown
145
145
  2. Window size limits short-term memory
146
146
  3. Overflow archives to vector DB (if long-term enabled)
@@ -0,0 +1,154 @@
1
+ ---
2
+ name: web-search-skill
3
+ description: Search the web for current information, news, facts, and real-time data that may not be in your training data.
4
+ allowed-tools: web_search
5
+ metadata:
6
+ author: machina
7
+ version: "1.0"
8
+ category: search
9
+ ---
10
+
11
+ # Web Search Skill
12
+
13
+ This skill enables you to search the web for current, up-to-date information.
14
+
15
+ ## How It Works
16
+
17
+ This skill provides instructions and context. To execute web searches, connect the **Web Search Tool** node to the Zeenie's `input-tools` handle.
18
+
19
+ ## web_search Tool
20
+
21
+ Search the web and get relevant results.
22
+
23
+ ### Schema Fields
24
+
25
+ | Field | Type | Required | Description |
26
+ |-------|------|----------|-------------|
27
+ | query | string | Yes | The search query to look up on the web |
28
+
29
+ ### Examples
30
+
31
+ **Basic search:**
32
+ ```json
33
+ {
34
+ "query": "latest news about artificial intelligence"
35
+ }
36
+ ```
37
+
38
+ **Factual search:**
39
+ ```json
40
+ {
41
+ "query": "population of Tokyo 2024"
42
+ }
43
+ ```
44
+
45
+ **Current events:**
46
+ ```json
47
+ {
48
+ "query": "weather forecast New York today"
49
+ }
50
+ ```
51
+
52
+ **Technical search:**
53
+ ```json
54
+ {
55
+ "query": "how to use Python asyncio gather"
56
+ }
57
+ ```
58
+
59
+ ### Response Format
60
+
61
+ ```json
62
+ {
63
+ "query": "artificial intelligence news",
64
+ "results": [
65
+ {
66
+ "title": "AI Breakthrough in Medical Research",
67
+ "snippet": "Researchers have developed a new AI model that can predict...",
68
+ "url": "https://example.com/ai-medical-research"
69
+ },
70
+ {
71
+ "title": "OpenAI Announces New Model",
72
+ "snippet": "The company revealed its latest advancement in...",
73
+ "url": "https://example.com/openai-announcement"
74
+ }
75
+ ],
76
+ "provider": "duckduckgo"
77
+ }
78
+ ```
79
+
80
+ ## When to Use Web Search
81
+
82
+ Use web search when the user asks about:
83
+
84
+ 1. **Current events and news** - Recent happenings, breaking news, current affairs
85
+ 2. **Real-time data** - Stock prices, weather, sports scores, exchange rates
86
+ 3. **Recent information** - Events, releases, or changes after your knowledge cutoff
87
+ 4. **Specific facts** - Population, statistics, dates that may have changed
88
+ 5. **Technical documentation** - Latest API docs, library versions, tutorials
89
+ 6. **Local information** - Business hours, addresses, phone numbers
90
+ 7. **Product information** - Prices, availability, reviews
91
+
92
+ ## When NOT to Use Web Search
93
+
94
+ Avoid searching when:
95
+
96
+ 1. **General knowledge** - Well-established facts that won't change
97
+ 2. **Simple calculations** - Use the calculator tool instead
98
+ 3. **Creative tasks** - Writing, brainstorming, analysis
99
+ 4. **Personal advice** - Relationship, life decisions
100
+ 5. **Subjective opinions** - Preferences, recommendations without factual basis
101
+
102
+ ## Search Query Best Practices
103
+
104
+ ### Do:
105
+ - Use specific, focused queries
106
+ - Include relevant keywords
107
+ - Add context like dates, locations, or names
108
+ - Break complex questions into simpler searches
109
+
110
+ ### Don't:
111
+ - Use overly long queries (keep under 10 words when possible)
112
+ - Include unnecessary words like "please" or "can you tell me"
113
+ - Ask questions as full sentences (use keywords instead)
114
+
115
+ ### Examples of Good vs Bad Queries
116
+
117
+ | Bad Query | Good Query |
118
+ |-----------|------------|
119
+ | "Can you please tell me what the weather is like in London today?" | "London weather today" |
120
+ | "I want to know about the latest iPhone model and its features" | "iPhone 15 Pro specifications" |
121
+ | "What is happening in the stock market right now?" | "stock market news today" |
122
+
123
+ ## Handling Results
124
+
125
+ 1. **Summarize** the key findings from search results
126
+ 2. **Cite sources** when providing specific information
127
+ 3. **Indicate uncertainty** if results are conflicting or unclear
128
+ 4. **Suggest follow-up searches** if the initial results are insufficient
129
+ 5. **Combine multiple searches** for comprehensive answers
130
+
131
+ ## Provider Information
132
+
133
+ The Web Search Tool supports multiple providers:
134
+
135
+ | Provider | API Key Required | Notes |
136
+ |----------|-----------------|-------|
137
+ | DuckDuckGo | No | Free, privacy-focused, good general results |
138
+ | Serper API | Yes | Google-powered, high quality, requires API key |
139
+ | Google Custom Search | Yes | Direct Google results, requires setup |
140
+
141
+ The default provider (DuckDuckGo) works without any API key.
142
+
143
+ ## Limitations
144
+
145
+ - Results depend on the search provider's index
146
+ - Some recent events may not be indexed immediately
147
+ - Paywalled content may show limited snippets
148
+ - Results are in English by default
149
+
150
+ ## Setup Requirements
151
+
152
+ 1. Connect this skill to Zeenie's `input-skill` handle
153
+ 2. Connect the Web Search Tool node to Zeenie's `input-tools` handle
154
+ 3. (Optional) Configure API key in the tool node for Serper or Google
@@ -13,7 +13,7 @@ This skill provides context for WhatsApp messaging capabilities.
13
13
 
14
14
  ## How It Works
15
15
 
16
- This skill provides instructions and context. To execute WhatsApp actions, connect the appropriate **tool nodes** to the Chat Agent's `input-tools` handle:
16
+ This skill provides instructions and context. To execute WhatsApp actions, connect the appropriate **tool nodes** to the Zeenie's `input-tools` handle:
17
17
 
18
18
  - **WhatsApp Send** node - Send messages to contacts or groups
19
19
  - **WhatsApp DB** node - Query contacts, groups, and chat history
@@ -278,6 +278,6 @@ Check WhatsApp registration status.
278
278
 
279
279
  ## Setup Requirements
280
280
 
281
- 1. Connect this skill to Chat Agent's `input-skill` handle
282
- 2. Connect WhatsApp tool nodes to Chat Agent's `input-tools` handle
281
+ 1. Connect this skill to Zeenie's `input-skill` handle
282
+ 2. Connect WhatsApp tool nodes to Zeenie's `input-tools` handle
283
283
  3. Ensure WhatsApp is connected (green status indicator)