machinaos 0.0.1 → 0.0.7

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 (422) hide show
  1. package/.env.template +71 -71
  2. package/LICENSE +21 -21
  3. package/README.md +163 -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/install.ps1 +308 -0
  114. package/install.sh +343 -0
  115. package/package.json +81 -70
  116. package/scripts/build.js +174 -51
  117. package/scripts/clean.js +40 -40
  118. package/scripts/start.js +234 -210
  119. package/scripts/stop.js +301 -325
  120. package/server/.dockerignore +44 -44
  121. package/server/Dockerfile +45 -45
  122. package/server/constants.py +244 -249
  123. package/server/core/cache.py +460 -460
  124. package/server/core/config.py +127 -127
  125. package/server/core/container.py +98 -98
  126. package/server/core/database.py +1296 -1210
  127. package/server/core/logging.py +313 -313
  128. package/server/main.py +288 -288
  129. package/server/middleware/__init__.py +5 -5
  130. package/server/middleware/auth.py +89 -89
  131. package/server/models/auth.py +52 -52
  132. package/server/models/cache.py +24 -24
  133. package/server/models/database.py +235 -210
  134. package/server/models/nodes.py +435 -455
  135. package/server/pyproject.toml +75 -72
  136. package/server/requirements.txt +83 -83
  137. package/server/routers/android.py +294 -294
  138. package/server/routers/auth.py +203 -203
  139. package/server/routers/database.py +150 -150
  140. package/server/routers/maps.py +141 -141
  141. package/server/routers/nodejs_compat.py +288 -288
  142. package/server/routers/webhook.py +90 -90
  143. package/server/routers/websocket.py +2239 -2127
  144. package/server/routers/whatsapp.py +761 -761
  145. package/server/routers/workflow.py +199 -199
  146. package/server/services/ai.py +2444 -2414
  147. package/server/services/android_service.py +588 -588
  148. package/server/services/auth.py +130 -130
  149. package/server/services/chat_client.py +160 -160
  150. package/server/services/deployment/manager.py +706 -706
  151. package/server/services/event_waiter.py +675 -785
  152. package/server/services/execution/executor.py +1351 -1351
  153. package/server/services/execution/models.py +1 -1
  154. package/server/services/handlers/__init__.py +122 -126
  155. package/server/services/handlers/ai.py +390 -355
  156. package/server/services/handlers/android.py +69 -260
  157. package/server/services/handlers/code.py +278 -278
  158. package/server/services/handlers/http.py +193 -193
  159. package/server/services/handlers/tools.py +146 -32
  160. package/server/services/handlers/triggers.py +107 -107
  161. package/server/services/handlers/utility.py +822 -822
  162. package/server/services/handlers/whatsapp.py +423 -476
  163. package/server/services/maps.py +288 -288
  164. package/server/services/memory_store.py +103 -103
  165. package/server/services/node_executor.py +372 -375
  166. package/server/services/scheduler.py +155 -155
  167. package/server/services/skill_loader.py +1 -1
  168. package/server/services/status_broadcaster.py +834 -826
  169. package/server/services/temporal/__init__.py +23 -23
  170. package/server/services/temporal/activities.py +344 -344
  171. package/server/services/temporal/client.py +76 -76
  172. package/server/services/temporal/executor.py +147 -147
  173. package/server/services/temporal/worker.py +251 -251
  174. package/server/services/temporal/workflow.py +355 -355
  175. package/server/services/temporal/ws_client.py +236 -236
  176. package/server/services/text.py +110 -110
  177. package/server/services/user_auth.py +172 -172
  178. package/server/services/websocket_client.py +29 -29
  179. package/server/services/workflow.py +597 -597
  180. package/server/skills/android-skill/SKILL.md +4 -4
  181. package/server/skills/code-skill/SKILL.md +123 -89
  182. package/server/skills/maps-skill/SKILL.md +3 -3
  183. package/server/skills/memory-skill/SKILL.md +1 -1
  184. package/server/skills/web-search-skill/SKILL.md +154 -0
  185. package/server/skills/whatsapp-skill/SKILL.md +3 -3
  186. package/server/uv.lock +461 -100
  187. package/server/whatsapp-rpc/.dockerignore +30 -30
  188. package/server/whatsapp-rpc/Dockerfile +44 -44
  189. package/server/whatsapp-rpc/Dockerfile.web +17 -17
  190. package/server/whatsapp-rpc/README.md +139 -139
  191. package/server/whatsapp-rpc/bin/whatsapp-rpc-server +0 -0
  192. package/server/whatsapp-rpc/cli.js +95 -95
  193. package/server/whatsapp-rpc/configs/config.yaml +6 -6
  194. package/server/whatsapp-rpc/docker-compose.yml +35 -35
  195. package/server/whatsapp-rpc/docs/API.md +410 -410
  196. package/server/whatsapp-rpc/node_modules/.package-lock.json +259 -0
  197. package/server/whatsapp-rpc/node_modules/chalk/license +9 -0
  198. package/server/whatsapp-rpc/node_modules/chalk/package.json +83 -0
  199. package/server/whatsapp-rpc/node_modules/chalk/readme.md +297 -0
  200. package/server/whatsapp-rpc/node_modules/chalk/source/index.d.ts +325 -0
  201. package/server/whatsapp-rpc/node_modules/chalk/source/index.js +225 -0
  202. package/server/whatsapp-rpc/node_modules/chalk/source/utilities.js +33 -0
  203. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  204. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  205. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  206. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  207. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  208. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  209. package/server/whatsapp-rpc/node_modules/commander/LICENSE +22 -0
  210. package/server/whatsapp-rpc/node_modules/commander/Readme.md +1148 -0
  211. package/server/whatsapp-rpc/node_modules/commander/esm.mjs +16 -0
  212. package/server/whatsapp-rpc/node_modules/commander/index.js +26 -0
  213. package/server/whatsapp-rpc/node_modules/commander/lib/argument.js +145 -0
  214. package/server/whatsapp-rpc/node_modules/commander/lib/command.js +2179 -0
  215. package/server/whatsapp-rpc/node_modules/commander/lib/error.js +43 -0
  216. package/server/whatsapp-rpc/node_modules/commander/lib/help.js +462 -0
  217. package/server/whatsapp-rpc/node_modules/commander/lib/option.js +329 -0
  218. package/server/whatsapp-rpc/node_modules/commander/lib/suggestSimilar.js +100 -0
  219. package/server/whatsapp-rpc/node_modules/commander/package-support.json +16 -0
  220. package/server/whatsapp-rpc/node_modules/commander/package.json +80 -0
  221. package/server/whatsapp-rpc/node_modules/commander/typings/esm.d.mts +3 -0
  222. package/server/whatsapp-rpc/node_modules/commander/typings/index.d.ts +884 -0
  223. package/server/whatsapp-rpc/node_modules/cross-spawn/LICENSE +21 -0
  224. package/server/whatsapp-rpc/node_modules/cross-spawn/README.md +89 -0
  225. package/server/whatsapp-rpc/node_modules/cross-spawn/index.js +39 -0
  226. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/enoent.js +59 -0
  227. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/parse.js +91 -0
  228. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/escape.js +47 -0
  229. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  230. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  231. package/server/whatsapp-rpc/node_modules/cross-spawn/package.json +73 -0
  232. package/server/whatsapp-rpc/node_modules/execa/index.d.ts +955 -0
  233. package/server/whatsapp-rpc/node_modules/execa/index.js +309 -0
  234. package/server/whatsapp-rpc/node_modules/execa/lib/command.js +119 -0
  235. package/server/whatsapp-rpc/node_modules/execa/lib/error.js +87 -0
  236. package/server/whatsapp-rpc/node_modules/execa/lib/kill.js +102 -0
  237. package/server/whatsapp-rpc/node_modules/execa/lib/pipe.js +42 -0
  238. package/server/whatsapp-rpc/node_modules/execa/lib/promise.js +36 -0
  239. package/server/whatsapp-rpc/node_modules/execa/lib/stdio.js +49 -0
  240. package/server/whatsapp-rpc/node_modules/execa/lib/stream.js +133 -0
  241. package/server/whatsapp-rpc/node_modules/execa/lib/verbose.js +19 -0
  242. package/server/whatsapp-rpc/node_modules/execa/license +9 -0
  243. package/server/whatsapp-rpc/node_modules/execa/package.json +90 -0
  244. package/server/whatsapp-rpc/node_modules/execa/readme.md +822 -0
  245. package/server/whatsapp-rpc/node_modules/get-stream/license +9 -0
  246. package/server/whatsapp-rpc/node_modules/get-stream/package.json +53 -0
  247. package/server/whatsapp-rpc/node_modules/get-stream/readme.md +291 -0
  248. package/server/whatsapp-rpc/node_modules/get-stream/source/array-buffer.js +84 -0
  249. package/server/whatsapp-rpc/node_modules/get-stream/source/array.js +32 -0
  250. package/server/whatsapp-rpc/node_modules/get-stream/source/buffer.js +20 -0
  251. package/server/whatsapp-rpc/node_modules/get-stream/source/contents.js +101 -0
  252. package/server/whatsapp-rpc/node_modules/get-stream/source/index.d.ts +119 -0
  253. package/server/whatsapp-rpc/node_modules/get-stream/source/index.js +5 -0
  254. package/server/whatsapp-rpc/node_modules/get-stream/source/string.js +36 -0
  255. package/server/whatsapp-rpc/node_modules/get-stream/source/utils.js +11 -0
  256. package/server/whatsapp-rpc/node_modules/get-them-args/LICENSE +21 -0
  257. package/server/whatsapp-rpc/node_modules/get-them-args/README.md +95 -0
  258. package/server/whatsapp-rpc/node_modules/get-them-args/index.js +97 -0
  259. package/server/whatsapp-rpc/node_modules/get-them-args/package.json +36 -0
  260. package/server/whatsapp-rpc/node_modules/human-signals/LICENSE +201 -0
  261. package/server/whatsapp-rpc/node_modules/human-signals/README.md +168 -0
  262. package/server/whatsapp-rpc/node_modules/human-signals/build/src/core.js +273 -0
  263. package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.d.ts +73 -0
  264. package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.js +70 -0
  265. package/server/whatsapp-rpc/node_modules/human-signals/build/src/realtime.js +16 -0
  266. package/server/whatsapp-rpc/node_modules/human-signals/build/src/signals.js +34 -0
  267. package/server/whatsapp-rpc/node_modules/human-signals/package.json +61 -0
  268. package/server/whatsapp-rpc/node_modules/is-stream/index.d.ts +81 -0
  269. package/server/whatsapp-rpc/node_modules/is-stream/index.js +29 -0
  270. package/server/whatsapp-rpc/node_modules/is-stream/license +9 -0
  271. package/server/whatsapp-rpc/node_modules/is-stream/package.json +44 -0
  272. package/server/whatsapp-rpc/node_modules/is-stream/readme.md +60 -0
  273. package/server/whatsapp-rpc/node_modules/isexe/LICENSE +15 -0
  274. package/server/whatsapp-rpc/node_modules/isexe/README.md +51 -0
  275. package/server/whatsapp-rpc/node_modules/isexe/index.js +57 -0
  276. package/server/whatsapp-rpc/node_modules/isexe/mode.js +41 -0
  277. package/server/whatsapp-rpc/node_modules/isexe/package.json +31 -0
  278. package/server/whatsapp-rpc/node_modules/isexe/test/basic.js +221 -0
  279. package/server/whatsapp-rpc/node_modules/isexe/windows.js +42 -0
  280. package/server/whatsapp-rpc/node_modules/kill-port/.editorconfig +12 -0
  281. package/server/whatsapp-rpc/node_modules/kill-port/.gitattributes +1 -0
  282. package/server/whatsapp-rpc/node_modules/kill-port/LICENSE +21 -0
  283. package/server/whatsapp-rpc/node_modules/kill-port/README.md +140 -0
  284. package/server/whatsapp-rpc/node_modules/kill-port/cli.js +25 -0
  285. package/server/whatsapp-rpc/node_modules/kill-port/example.js +21 -0
  286. package/server/whatsapp-rpc/node_modules/kill-port/index.js +46 -0
  287. package/server/whatsapp-rpc/node_modules/kill-port/logo.png +0 -0
  288. package/server/whatsapp-rpc/node_modules/kill-port/package.json +41 -0
  289. package/server/whatsapp-rpc/node_modules/kill-port/pnpm-lock.yaml +4606 -0
  290. package/server/whatsapp-rpc/node_modules/kill-port/test.js +16 -0
  291. package/server/whatsapp-rpc/node_modules/merge-stream/LICENSE +21 -0
  292. package/server/whatsapp-rpc/node_modules/merge-stream/README.md +78 -0
  293. package/server/whatsapp-rpc/node_modules/merge-stream/index.js +41 -0
  294. package/server/whatsapp-rpc/node_modules/merge-stream/package.json +19 -0
  295. package/server/whatsapp-rpc/node_modules/mimic-fn/index.d.ts +52 -0
  296. package/server/whatsapp-rpc/node_modules/mimic-fn/index.js +71 -0
  297. package/server/whatsapp-rpc/node_modules/mimic-fn/license +9 -0
  298. package/server/whatsapp-rpc/node_modules/mimic-fn/package.json +45 -0
  299. package/server/whatsapp-rpc/node_modules/mimic-fn/readme.md +90 -0
  300. package/server/whatsapp-rpc/node_modules/npm-run-path/index.d.ts +90 -0
  301. package/server/whatsapp-rpc/node_modules/npm-run-path/index.js +52 -0
  302. package/server/whatsapp-rpc/node_modules/npm-run-path/license +9 -0
  303. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.d.ts +31 -0
  304. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.js +12 -0
  305. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/license +9 -0
  306. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/package.json +41 -0
  307. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/readme.md +57 -0
  308. package/server/whatsapp-rpc/node_modules/npm-run-path/package.json +49 -0
  309. package/server/whatsapp-rpc/node_modules/npm-run-path/readme.md +104 -0
  310. package/server/whatsapp-rpc/node_modules/onetime/index.d.ts +59 -0
  311. package/server/whatsapp-rpc/node_modules/onetime/index.js +41 -0
  312. package/server/whatsapp-rpc/node_modules/onetime/license +9 -0
  313. package/server/whatsapp-rpc/node_modules/onetime/package.json +45 -0
  314. package/server/whatsapp-rpc/node_modules/onetime/readme.md +94 -0
  315. package/server/whatsapp-rpc/node_modules/path-key/index.d.ts +40 -0
  316. package/server/whatsapp-rpc/node_modules/path-key/index.js +16 -0
  317. package/server/whatsapp-rpc/node_modules/path-key/license +9 -0
  318. package/server/whatsapp-rpc/node_modules/path-key/package.json +39 -0
  319. package/server/whatsapp-rpc/node_modules/path-key/readme.md +61 -0
  320. package/server/whatsapp-rpc/node_modules/shebang-command/index.js +19 -0
  321. package/server/whatsapp-rpc/node_modules/shebang-command/license +9 -0
  322. package/server/whatsapp-rpc/node_modules/shebang-command/package.json +34 -0
  323. package/server/whatsapp-rpc/node_modules/shebang-command/readme.md +34 -0
  324. package/server/whatsapp-rpc/node_modules/shebang-regex/index.d.ts +22 -0
  325. package/server/whatsapp-rpc/node_modules/shebang-regex/index.js +2 -0
  326. package/server/whatsapp-rpc/node_modules/shebang-regex/license +9 -0
  327. package/server/whatsapp-rpc/node_modules/shebang-regex/package.json +35 -0
  328. package/server/whatsapp-rpc/node_modules/shebang-regex/readme.md +33 -0
  329. package/server/whatsapp-rpc/node_modules/shell-exec/LICENSE +21 -0
  330. package/server/whatsapp-rpc/node_modules/shell-exec/README.md +60 -0
  331. package/server/whatsapp-rpc/node_modules/shell-exec/index.js +47 -0
  332. package/server/whatsapp-rpc/node_modules/shell-exec/package.json +29 -0
  333. package/server/whatsapp-rpc/node_modules/signal-exit/LICENSE.txt +16 -0
  334. package/server/whatsapp-rpc/node_modules/signal-exit/README.md +74 -0
  335. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  336. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  337. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  338. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  339. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  340. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  341. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js +279 -0
  342. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  343. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/package.json +3 -0
  344. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  345. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  346. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  347. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  348. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  349. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  350. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  351. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  352. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  353. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  354. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js +275 -0
  355. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  356. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/package.json +3 -0
  357. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  358. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  359. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  360. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  361. package/server/whatsapp-rpc/node_modules/signal-exit/package.json +106 -0
  362. package/server/whatsapp-rpc/node_modules/strip-final-newline/index.js +14 -0
  363. package/server/whatsapp-rpc/node_modules/strip-final-newline/license +9 -0
  364. package/server/whatsapp-rpc/node_modules/strip-final-newline/package.json +43 -0
  365. package/server/whatsapp-rpc/node_modules/strip-final-newline/readme.md +35 -0
  366. package/server/whatsapp-rpc/node_modules/which/CHANGELOG.md +166 -0
  367. package/server/whatsapp-rpc/node_modules/which/LICENSE +15 -0
  368. package/server/whatsapp-rpc/node_modules/which/README.md +54 -0
  369. package/server/whatsapp-rpc/node_modules/which/bin/node-which +52 -0
  370. package/server/whatsapp-rpc/node_modules/which/package.json +43 -0
  371. package/server/whatsapp-rpc/node_modules/which/which.js +125 -0
  372. package/server/whatsapp-rpc/package-lock.json +272 -0
  373. package/server/whatsapp-rpc/package.json +30 -30
  374. package/server/whatsapp-rpc/schema.json +1294 -1294
  375. package/server/whatsapp-rpc/scripts/clean.cjs +66 -66
  376. package/server/whatsapp-rpc/scripts/cli.js +162 -162
  377. package/server/whatsapp-rpc/src/go/whatsapp/history.go +166 -166
  378. package/server/whatsapp-rpc/src/python/pyproject.toml +15 -15
  379. package/server/whatsapp-rpc/src/python/whatsapp_rpc/__init__.py +4 -4
  380. package/server/whatsapp-rpc/src/python/whatsapp_rpc/client.py +427 -427
  381. package/server/whatsapp-rpc/web/app.py +609 -609
  382. package/server/whatsapp-rpc/web/requirements.txt +6 -6
  383. package/server/whatsapp-rpc/web/rpc_client.py +427 -427
  384. package/server/whatsapp-rpc/web/static/openapi.yaml +59 -59
  385. package/server/whatsapp-rpc/web/templates/base.html +149 -149
  386. package/server/whatsapp-rpc/web/templates/contacts.html +240 -240
  387. package/server/whatsapp-rpc/web/templates/dashboard.html +319 -319
  388. package/server/whatsapp-rpc/web/templates/groups.html +328 -328
  389. package/server/whatsapp-rpc/web/templates/messages.html +465 -465
  390. package/server/whatsapp-rpc/web/templates/messaging.html +680 -680
  391. package/server/whatsapp-rpc/web/templates/send.html +258 -258
  392. package/server/whatsapp-rpc/web/templates/settings.html +459 -459
  393. package/client/src/components/ui/AndroidSettingsPanel.tsx +0 -401
  394. package/client/src/components/ui/WhatsAppSettingsPanel.tsx +0 -345
  395. package/client/src/nodeDefinitions/androidDeviceNodes.ts +0 -140
  396. package/docker-compose.prod.yml +0 -107
  397. package/docker-compose.yml +0 -104
  398. package/docs-MachinaOs/README.md +0 -85
  399. package/docs-MachinaOs/deployment/docker.mdx +0 -228
  400. package/docs-MachinaOs/deployment/production.mdx +0 -345
  401. package/docs-MachinaOs/docs.json +0 -75
  402. package/docs-MachinaOs/faq.mdx +0 -309
  403. package/docs-MachinaOs/favicon.svg +0 -5
  404. package/docs-MachinaOs/installation.mdx +0 -160
  405. package/docs-MachinaOs/introduction.mdx +0 -114
  406. package/docs-MachinaOs/logo/dark.svg +0 -6
  407. package/docs-MachinaOs/logo/light.svg +0 -6
  408. package/docs-MachinaOs/nodes/ai-agent.mdx +0 -216
  409. package/docs-MachinaOs/nodes/ai-models.mdx +0 -240
  410. package/docs-MachinaOs/nodes/android.mdx +0 -411
  411. package/docs-MachinaOs/nodes/overview.mdx +0 -181
  412. package/docs-MachinaOs/nodes/schedulers.mdx +0 -316
  413. package/docs-MachinaOs/nodes/webhooks.mdx +0 -330
  414. package/docs-MachinaOs/nodes/whatsapp.mdx +0 -305
  415. package/docs-MachinaOs/quickstart.mdx +0 -119
  416. package/docs-MachinaOs/tutorials/ai-agent-workflow.mdx +0 -177
  417. package/docs-MachinaOs/tutorials/android-automation.mdx +0 -242
  418. package/docs-MachinaOs/tutorials/first-workflow.mdx +0 -134
  419. package/docs-MachinaOs/tutorials/whatsapp-automation.mdx +0 -185
  420. package/nul +0 -0
  421. package/scripts/check-ports.ps1 +0 -33
  422. package/scripts/kill-port.ps1 +0 -154
@@ -1,316 +0,0 @@
1
- ---
2
- title: Schedulers & Triggers
3
- description: Start workflows on schedules, timers, and manual triggers
4
- ---
5
-
6
- # Schedulers & Triggers
7
-
8
- Control when and how workflows start execution.
9
-
10
- ## Available Nodes
11
-
12
- | Node | Type | Purpose |
13
- |------|------|---------|
14
- | Workflow Trigger | Trigger | Manual workflow start |
15
- | Cron Scheduler | Trigger | Run on cron schedule |
16
- | Timer | Action | Delay execution |
17
- | Python Executor | Action | Run Python code |
18
-
19
- ---
20
-
21
- ## Workflow Trigger
22
-
23
- Manually start a workflow with the Run button.
24
-
25
- ### Use Cases
26
-
27
- - Testing workflows during development
28
- - On-demand execution
29
- - Entry point for manual processes
30
-
31
- ### Output
32
-
33
- ```json
34
- {
35
- "triggered_at": "2024-01-15T10:30:00Z",
36
- "trigger_type": "manual"
37
- }
38
- ```
39
-
40
- <Info>
41
- Every workflow needs at least one trigger node to start execution.
42
- </Info>
43
-
44
- ---
45
-
46
- ## Cron Scheduler
47
-
48
- Run workflows on a schedule using cron expressions.
49
-
50
- ### Parameters
51
-
52
- <ParamField path="cronExpression" type="string" required>
53
- Cron expression defining the schedule
54
- </ParamField>
55
-
56
- <ParamField path="timezone" type="string" default="UTC">
57
- Timezone for schedule execution
58
- </ParamField>
59
-
60
- ### Cron Expression Format
61
-
62
- ```
63
- * * * * *
64
- │ │ │ │ │
65
- │ │ │ │ └── Day of week (0-7, Sun=0 or 7)
66
- │ │ │ └──── Month (1-12)
67
- │ │ └────── Day of month (1-31)
68
- │ └──────── Hour (0-23)
69
- └────────── Minute (0-59)
70
- ```
71
-
72
- ### Common Expressions
73
-
74
- | Expression | Description |
75
- |------------|-------------|
76
- | `* * * * *` | Every minute |
77
- | `*/5 * * * *` | Every 5 minutes |
78
- | `0 * * * *` | Every hour |
79
- | `0 0 * * *` | Daily at midnight |
80
- | `0 9 * * 1-5` | Weekdays at 9am |
81
- | `0 0 1 * *` | First day of month |
82
- | `0 12 * * 0` | Sundays at noon |
83
-
84
- ### Output
85
-
86
- ```json
87
- {
88
- "triggered_at": "2024-01-15T09:00:00Z",
89
- "trigger_type": "cron",
90
- "expression": "0 9 * * *",
91
- "next_run": "2024-01-16T09:00:00Z"
92
- }
93
- ```
94
-
95
- ### Example: Daily Report
96
-
97
- ```
98
- [Cron (0 9 * * *)] --> [HTTP Request] --> [AI Summary] --> [WhatsApp Send]
99
- (fetch data) (send report)
100
- ```
101
-
102
- ---
103
-
104
- ## Timer
105
-
106
- Add a delay between nodes.
107
-
108
- ### Parameters
109
-
110
- <ParamField path="delay" type="number" required>
111
- Delay duration
112
- </ParamField>
113
-
114
- <ParamField path="unit" type="select" default="seconds">
115
- Time unit: seconds, minutes, hours
116
- </ParamField>
117
-
118
- ### Use Cases
119
-
120
- - Rate limiting API calls
121
- - Waiting for external processes
122
- - Scheduling sequential actions
123
-
124
- ### Example: Rate-Limited API Calls
125
-
126
- ```
127
- [For Each Item] --> [HTTP Request] --> [Timer (1s)] --> [Next Item]
128
- ```
129
-
130
- ### Output
131
-
132
- ```json
133
- {
134
- "delayed": true,
135
- "duration_ms": 5000,
136
- "completed_at": "2024-01-15T10:30:05Z"
137
- }
138
- ```
139
-
140
- ---
141
-
142
- ## Python Executor
143
-
144
- Run custom Python code within workflows.
145
-
146
- ### Parameters
147
-
148
- <ParamField path="code" type="code" required>
149
- Python code to execute
150
- </ParamField>
151
-
152
- ### Available Variables
153
-
154
- | Variable | Description |
155
- |----------|-------------|
156
- | `input_data` | Data from connected input node |
157
- | `output` | Dictionary to set as node output |
158
-
159
- ### Example: Data Processing
160
-
161
- ```python
162
- # Access input data
163
- message = input_data.get("text", "")
164
-
165
- # Process
166
- word_count = len(message.split())
167
- has_question = "?" in message
168
-
169
- # Set output
170
- output = {
171
- "word_count": word_count,
172
- "has_question": has_question,
173
- "summary": f"Message has {word_count} words"
174
- }
175
- ```
176
-
177
- ### Example: Conditional Logic
178
-
179
- ```python
180
- level = input_data.get("battery_level", 100)
181
- is_charging = input_data.get("is_charging", False)
182
-
183
- if level < 20 and not is_charging:
184
- output = {
185
- "action": "alert",
186
- "message": f"Low battery: {level}%"
187
- }
188
- else:
189
- output = {
190
- "action": "none"
191
- }
192
- ```
193
-
194
- ### Example: API Response Formatting
195
-
196
- ```python
197
- import json
198
-
199
- # Parse response
200
- data = input_data.get("data", {})
201
- items = data.get("items", [])
202
-
203
- # Format for output
204
- formatted = []
205
- for item in items:
206
- formatted.append({
207
- "name": item.get("name"),
208
- "price": f"${item.get('price', 0):.2f}"
209
- })
210
-
211
- output = {
212
- "count": len(formatted),
213
- "items": formatted
214
- }
215
- ```
216
-
217
- ### Available Libraries
218
-
219
- The Python executor includes common libraries:
220
- - `json` - JSON parsing
221
- - `datetime` - Date/time handling
222
- - `re` - Regular expressions
223
- - `math` - Mathematical functions
224
-
225
- <Warning>
226
- Code runs in a sandboxed environment. File system and network access are restricted.
227
- </Warning>
228
-
229
- ---
230
-
231
- ## Combining Schedulers
232
-
233
- ### Schedule with Delay
234
-
235
- ```
236
- [Cron (hourly)] --> [HTTP Request] --> [Timer (5s)] --> [HTTP Request #2]
237
- ```
238
-
239
- ### Multiple Schedules
240
-
241
- Deploy workflows with different schedules:
242
-
243
- ```
244
- Workflow 1: [Cron (daily)] --> [Daily Report]
245
- Workflow 2: [Cron (hourly)] --> [Hourly Check]
246
- Workflow 3: [Webhook] --> [On-Demand Action]
247
- ```
248
-
249
- ---
250
-
251
- ## Workflow States
252
-
253
- After deployment, trigger nodes show their state:
254
-
255
- | State | Color | Description |
256
- |-------|-------|-------------|
257
- | Idle | Default | Waiting for next trigger |
258
- | Waiting | Cyan | Actively waiting for event |
259
- | Running | Purple | Workflow executing |
260
-
261
- ---
262
-
263
- ## Tips
264
-
265
- <Tip>
266
- Test cron expressions at [crontab.guru](https://crontab.guru) before deploying.
267
- </Tip>
268
-
269
- <Tip>
270
- Use **Python Executor** for conditional logic instead of multiple workflow branches.
271
- </Tip>
272
-
273
- <Tip>
274
- Add **Timer** nodes when calling rate-limited APIs repeatedly.
275
- </Tip>
276
-
277
- <Warning>
278
- Cron schedules are in **UTC** by default. Set timezone if needed.
279
- </Warning>
280
-
281
- ---
282
-
283
- ## Troubleshooting
284
-
285
- <Accordion title="Cron not triggering">
286
- - Verify workflow is **deployed** (not just saved)
287
- - Check cron expression syntax
288
- - Ensure timezone is correct
289
- - Check server logs for errors
290
- </Accordion>
291
-
292
- <Accordion title="Python code fails">
293
- - Check for syntax errors
294
- - Verify `input_data` has expected fields
295
- - Use `try/except` for error handling
296
- - Print debug info with `print()` (shows in logs)
297
- </Accordion>
298
-
299
- <Accordion title="Timer not working">
300
- - Ensure delay value is positive
301
- - Check unit (seconds vs minutes)
302
- - Verify node is connected properly
303
- </Accordion>
304
-
305
- ---
306
-
307
- ## Related
308
-
309
- <CardGroup cols={2}>
310
- <Card title="Webhooks" icon="webhook" href="/nodes/webhooks">
311
- Trigger workflows via HTTP
312
- </Card>
313
- <Card title="WhatsApp" icon="whatsapp" href="/nodes/whatsapp">
314
- Message-triggered workflows
315
- </Card>
316
- </CardGroup>
@@ -1,330 +0,0 @@
1
- ---
2
- title: Webhooks & HTTP
3
- description: HTTP requests and webhook handling nodes
4
- ---
5
-
6
- # Webhooks & HTTP
7
-
8
- Make HTTP requests to external APIs and receive incoming webhooks.
9
-
10
- ## Available Nodes
11
-
12
- | Node | Type | Purpose |
13
- |------|------|---------|
14
- | HTTP Request | Action | Make outgoing HTTP calls |
15
- | Webhook Trigger | Trigger | Receive incoming HTTP requests |
16
- | Webhook Response | Action | Send custom response to webhook caller |
17
-
18
- ---
19
-
20
- ## HTTP Request
21
-
22
- Make HTTP requests to external APIs and services.
23
-
24
- ### Parameters
25
-
26
- <ParamField path="url" type="string" required>
27
- The URL to request. Supports template variables.
28
- </ParamField>
29
-
30
- <ParamField path="method" type="select" default="GET">
31
- HTTP method: GET, POST, PUT, DELETE, PATCH
32
- </ParamField>
33
-
34
- <ParamField path="headers" type="json">
35
- Request headers as JSON object
36
- </ParamField>
37
-
38
- <ParamField path="body" type="string">
39
- Request body (for POST, PUT, PATCH)
40
- </ParamField>
41
-
42
- <ParamField path="timeout" type="number" default="30">
43
- Request timeout in seconds
44
- </ParamField>
45
-
46
- ### Output
47
-
48
- ```json
49
- {
50
- "status": 200,
51
- "statusText": "OK",
52
- "headers": {
53
- "content-type": "application/json"
54
- },
55
- "data": {
56
- "result": "response data"
57
- }
58
- }
59
- ```
60
-
61
- ### Examples
62
-
63
- **GET Request:**
64
- ```
65
- URL: https://api.example.com/users/{{input.user_id}}
66
- Method: GET
67
- Headers: {"Authorization": "Bearer {{input.token}}"}
68
- ```
69
-
70
- **POST Request:**
71
- ```
72
- URL: https://api.example.com/orders
73
- Method: POST
74
- Headers: {"Content-Type": "application/json"}
75
- Body: {"product": "{{input.product}}", "quantity": {{input.qty}}}
76
- ```
77
-
78
- **External API Integration:**
79
- ```
80
- URL: https://api.openweathermap.org/data/2.5/weather?q={{input.city}}&appid=YOUR_KEY
81
- Method: GET
82
- ```
83
-
84
- ---
85
-
86
- ## Webhook Trigger
87
-
88
- Receive incoming HTTP requests at a dynamic endpoint.
89
-
90
- ### Parameters
91
-
92
- <ParamField path="path" type="string" required>
93
- The webhook path (e.g., "orders" creates /webhook/orders)
94
- </ParamField>
95
-
96
- <ParamField path="method" type="select" default="POST">
97
- HTTP method filter: GET, POST, PUT, DELETE, PATCH, or ANY
98
- </ParamField>
99
-
100
- <ParamField path="authentication" type="select" default="none">
101
- Auth method: none, basic, bearer, api_key
102
- </ParamField>
103
-
104
- ### Webhook URL
105
-
106
- Your webhook will be available at:
107
- ```
108
- http://localhost:3010/webhook/{path}
109
- ```
110
-
111
- For production:
112
- ```
113
- https://your-domain.com/webhook/{path}
114
- ```
115
-
116
- ### Output
117
-
118
- ```json
119
- {
120
- "method": "POST",
121
- "path": "/webhook/orders",
122
- "headers": {
123
- "content-type": "application/json",
124
- "user-agent": "curl/7.68.0"
125
- },
126
- "query": {
127
- "source": "website"
128
- },
129
- "body": {
130
- "order_id": "12345",
131
- "items": ["item1", "item2"]
132
- },
133
- "timestamp": "2024-01-15T10:30:00Z"
134
- }
135
- ```
136
-
137
- ### Authentication Options
138
-
139
- | Type | Description | Header |
140
- |------|-------------|--------|
141
- | None | No authentication | - |
142
- | Basic | Username:password base64 | `Authorization: Basic ...` |
143
- | Bearer | Token authentication | `Authorization: Bearer ...` |
144
- | API Key | Custom API key | `X-API-Key: ...` |
145
-
146
- ---
147
-
148
- ## Webhook Response
149
-
150
- Send a custom response back to the webhook caller.
151
-
152
- ### Parameters
153
-
154
- <ParamField path="statusCode" type="number" default="200">
155
- HTTP status code to return
156
- </ParamField>
157
-
158
- <ParamField path="body" type="string">
159
- Response body. Supports template variables.
160
- </ParamField>
161
-
162
- <ParamField path="contentType" type="select" default="application/json">
163
- Content-Type header: application/json, text/plain, text/html
164
- </ParamField>
165
-
166
- ### Example Responses
167
-
168
- **Success Response:**
169
- ```
170
- Status Code: 200
171
- Body: {"success": true, "message": "Order received", "id": "{{generated.id}}"}
172
- Content Type: application/json
173
- ```
174
-
175
- **Error Response:**
176
- ```
177
- Status Code: 400
178
- Body: {"error": "Invalid request", "details": "{{validation.error}}"}
179
- Content Type: application/json
180
- ```
181
-
182
- **HTML Response:**
183
- ```
184
- Status Code: 200
185
- Body: <html><body><h1>Thank you!</h1></body></html>
186
- Content Type: text/html
187
- ```
188
-
189
- ---
190
-
191
- ## Common Workflows
192
-
193
- ### API Endpoint
194
-
195
- Create a simple API endpoint:
196
-
197
- ```
198
- [Webhook Trigger] --> [Python Executor] --> [Webhook Response]
199
- (path: api) (process data) (return result)
200
- ```
201
-
202
- **Test:**
203
- ```bash
204
- curl -X POST http://localhost:3010/webhook/api \
205
- -H "Content-Type: application/json" \
206
- -d '{"action": "calculate", "value": 100}'
207
- ```
208
-
209
- ### Third-Party Integration
210
-
211
- Receive events from external services:
212
-
213
- ```
214
- [Webhook Trigger] --> [HTTP Request] --> [WhatsApp Send]
215
- (stripe/github) (fetch details) (notify admin)
216
- ```
217
-
218
- ### Data Pipeline
219
-
220
- Forward data to multiple destinations:
221
-
222
- ```
223
- [Webhook Trigger] --> [HTTP Request #1] (Database API)
224
- |
225
- --> [HTTP Request #2] (Analytics)
226
- |
227
- --> [WhatsApp Send] (Notification)
228
- ```
229
-
230
- ### AI-Powered API
231
-
232
- Create an AI endpoint:
233
-
234
- ```
235
- [Webhook Trigger] --> [OpenAI Chat] --> [Webhook Response]
236
- ```
237
-
238
- **Prompt:** `{{webhookTrigger.body.prompt}}`
239
-
240
- **Response:** `{{openaiChatModel.response}}`
241
-
242
- ---
243
-
244
- ## Testing Webhooks
245
-
246
- ### Using curl
247
-
248
- ```bash
249
- # GET request
250
- curl http://localhost:3010/webhook/test
251
-
252
- # POST with JSON
253
- curl -X POST http://localhost:3010/webhook/orders \
254
- -H "Content-Type: application/json" \
255
- -d '{"item": "Widget", "quantity": 5}'
256
-
257
- # With authentication
258
- curl -X POST http://localhost:3010/webhook/secure \
259
- -H "Authorization: Bearer your-token" \
260
- -d '{"data": "value"}'
261
- ```
262
-
263
- ### Using HTTPie
264
-
265
- ```bash
266
- http POST localhost:3010/webhook/test item=Widget quantity:=5
267
- ```
268
-
269
- ### External Testing
270
-
271
- Use services like:
272
- - [webhook.site](https://webhook.site) - Test outgoing webhooks
273
- - [ngrok](https://ngrok.com) - Expose local webhooks publicly
274
-
275
- ---
276
-
277
- ## Tips
278
-
279
- <Tip>
280
- Use **meaningful paths** that describe the purpose: `/webhook/orders`, `/webhook/stripe-events`
281
- </Tip>
282
-
283
- <Tip>
284
- Always **validate incoming data** before processing with Python Executor or similar.
285
- </Tip>
286
-
287
- <Tip>
288
- Return **appropriate status codes**: 200 (success), 400 (bad request), 500 (server error)
289
- </Tip>
290
-
291
- <Warning>
292
- In production, always enable authentication on webhooks that modify data.
293
- </Warning>
294
-
295
- ---
296
-
297
- ## Troubleshooting
298
-
299
- <Accordion title="Webhook not receiving requests">
300
- - Verify workflow is **deployed** (not just saved)
301
- - Check the path is correct (no leading slash)
302
- - Ensure backend is running on correct port
303
- - Check firewall/network settings
304
- </Accordion>
305
-
306
- <Accordion title="HTTP Request fails">
307
- - Verify URL is correct and accessible
308
- - Check headers (especially Content-Type)
309
- - Look for CORS issues if calling from browser
310
- - Check timeout setting for slow APIs
311
- </Accordion>
312
-
313
- <Accordion title="Response not sent">
314
- - Ensure Webhook Response is connected to workflow
315
- - Verify template variables resolve correctly
316
- - Check status code is valid (100-599)
317
- </Accordion>
318
-
319
- ---
320
-
321
- ## Related
322
-
323
- <CardGroup cols={2}>
324
- <Card title="Quick Start" icon="rocket" href="/quickstart">
325
- Build a webhook workflow
326
- </Card>
327
- <Card title="Python Executor" icon="code" href="/nodes/schedulers">
328
- Process webhook data
329
- </Card>
330
- </CardGroup>