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.
- package/.env.template +71 -71
- package/LICENSE +21 -21
- package/README.md +145 -87
- package/bin/cli.js +62 -106
- package/client/.dockerignore +45 -45
- package/client/Dockerfile +68 -68
- package/client/dist/assets/index-DFSC53FP.css +1 -0
- package/client/dist/assets/index-fJ-1gTf5.js +613 -0
- package/client/dist/index.html +14 -0
- package/client/eslint.config.js +34 -16
- package/client/nginx.conf +66 -66
- package/client/package.json +61 -48
- package/client/src/App.tsx +27 -27
- package/client/src/Dashboard.tsx +1200 -1172
- package/client/src/ParameterPanel.tsx +302 -300
- package/client/src/components/AIAgentNode.tsx +315 -321
- package/client/src/components/APIKeyValidator.tsx +117 -117
- package/client/src/components/ClaudeChatModelNode.tsx +17 -17
- package/client/src/components/CredentialsModal.tsx +1200 -306
- package/client/src/components/GeminiChatModelNode.tsx +17 -17
- package/client/src/components/GenericNode.tsx +356 -356
- package/client/src/components/LocationParameterPanel.tsx +153 -153
- package/client/src/components/ModelNode.tsx +285 -285
- package/client/src/components/OpenAIChatModelNode.tsx +17 -17
- package/client/src/components/OutputPanel.tsx +470 -470
- package/client/src/components/ParameterRenderer.tsx +1873 -1873
- package/client/src/components/SkillEditorModal.tsx +3 -3
- package/client/src/components/SquareNode.tsx +812 -796
- package/client/src/components/ToolkitNode.tsx +365 -365
- package/client/src/components/auth/LoginPage.tsx +247 -247
- package/client/src/components/auth/ProtectedRoute.tsx +59 -59
- package/client/src/components/base/BaseChatModelNode.tsx +270 -270
- package/client/src/components/icons/AIProviderIcons.tsx +50 -50
- package/client/src/components/maps/GoogleMapsPicker.tsx +136 -136
- package/client/src/components/maps/MapsPreviewPanel.tsx +109 -109
- package/client/src/components/maps/index.ts +25 -25
- package/client/src/components/parameterPanel/InputSection.tsx +1094 -1094
- package/client/src/components/parameterPanel/LocationPanelLayout.tsx +64 -64
- package/client/src/components/parameterPanel/MapsSection.tsx +91 -91
- package/client/src/components/parameterPanel/MiddleSection.tsx +867 -571
- package/client/src/components/parameterPanel/OutputSection.tsx +80 -80
- package/client/src/components/parameterPanel/ParameterPanelLayout.tsx +81 -81
- package/client/src/components/parameterPanel/ToolSchemaEditor.tsx +436 -436
- package/client/src/components/parameterPanel/index.ts +41 -41
- package/client/src/components/shared/DataPanel.tsx +142 -142
- package/client/src/components/shared/JSONTreeRenderer.tsx +105 -105
- package/client/src/components/ui/AIResultModal.tsx +203 -203
- package/client/src/components/ui/ApiKeyInput.tsx +93 -0
- package/client/src/components/ui/CodeEditor.tsx +81 -81
- package/client/src/components/ui/CollapsibleSection.tsx +87 -87
- package/client/src/components/ui/ComponentItem.tsx +153 -153
- package/client/src/components/ui/ComponentPalette.tsx +320 -320
- package/client/src/components/ui/ConsolePanel.tsx +151 -43
- package/client/src/components/ui/ErrorBoundary.tsx +195 -195
- package/client/src/components/ui/InputNodesPanel.tsx +203 -203
- package/client/src/components/ui/MapSelector.tsx +313 -313
- package/client/src/components/ui/Modal.tsx +151 -148
- package/client/src/components/ui/NodeOutputPanel.tsx +1150 -1150
- package/client/src/components/ui/OutputDisplayPanel.tsx +381 -381
- package/client/src/components/ui/QRCodeDisplay.tsx +182 -0
- package/client/src/components/ui/TopToolbar.tsx +736 -736
- package/client/src/components/ui/WorkflowSidebar.tsx +293 -293
- package/client/src/config/antdTheme.ts +186 -186
- package/client/src/contexts/AuthContext.tsx +221 -221
- package/client/src/contexts/ThemeContext.tsx +42 -42
- package/client/src/contexts/WebSocketContext.tsx +2144 -1971
- package/client/src/factories/baseChatModelFactory.ts +255 -255
- package/client/src/hooks/useAndroidOperations.ts +118 -164
- package/client/src/hooks/useApiKeyValidation.ts +106 -106
- package/client/src/hooks/useApiKeys.ts +238 -238
- package/client/src/hooks/useAppTheme.ts +17 -17
- package/client/src/hooks/useComponentPalette.ts +50 -50
- package/client/src/hooks/useDragAndDrop.ts +123 -123
- package/client/src/hooks/useDragVariable.ts +88 -88
- package/client/src/hooks/useExecution.ts +319 -313
- package/client/src/hooks/useParameterPanel.ts +176 -176
- package/client/src/hooks/useReactFlowNodes.ts +188 -188
- package/client/src/hooks/useToolSchema.ts +209 -209
- package/client/src/hooks/useWhatsApp.ts +196 -196
- package/client/src/hooks/useWorkflowManagement.ts +45 -45
- package/client/src/index.css +314 -314
- package/client/src/nodeDefinitions/aiAgentNodes.ts +335 -335
- package/client/src/nodeDefinitions/aiModelNodes.ts +340 -340
- package/client/src/nodeDefinitions/androidServiceNodes.ts +383 -383
- package/client/src/nodeDefinitions/chatNodes.ts +135 -135
- package/client/src/nodeDefinitions/codeNodes.ts +54 -54
- package/client/src/nodeDefinitions/index.ts +14 -14
- package/client/src/nodeDefinitions/locationNodes.ts +462 -462
- package/client/src/nodeDefinitions/schedulerNodes.ts +220 -220
- package/client/src/nodeDefinitions/skillNodes.ts +17 -5
- package/client/src/nodeDefinitions/utilityNodes.ts +284 -284
- package/client/src/nodeDefinitions/whatsappNodes.ts +821 -865
- package/client/src/nodeDefinitions.ts +101 -103
- package/client/src/services/dynamicParameterService.ts +95 -95
- package/client/src/services/execution/aiAgentExecutionService.ts +34 -34
- package/client/src/services/executionService.ts +227 -231
- package/client/src/services/workflowApi.ts +91 -91
- package/client/src/store/useAppStore.ts +578 -581
- package/client/src/styles/theme.ts +513 -508
- package/client/src/styles/zIndex.ts +16 -16
- package/client/src/types/ComponentTypes.ts +38 -38
- package/client/src/types/INodeProperties.ts +287 -287
- package/client/src/types/NodeTypes.ts +27 -27
- package/client/src/utils/formatters.ts +32 -32
- package/client/src/utils/googleMapsLoader.ts +139 -139
- package/client/src/utils/locationUtils.ts +84 -84
- package/client/src/utils/nodeUtils.ts +30 -30
- package/client/src/utils/workflow.ts +29 -29
- package/client/src/vite-env.d.ts +12 -12
- package/client/tailwind.config.js +59 -59
- package/client/tsconfig.json +25 -25
- package/client/vite.config.js +35 -35
- package/package.json +78 -70
- package/scripts/build.js +153 -45
- package/scripts/clean.js +40 -40
- package/scripts/start.js +234 -210
- package/scripts/stop.js +301 -325
- package/server/.dockerignore +44 -44
- package/server/Dockerfile +45 -45
- package/server/constants.py +244 -249
- package/server/core/cache.py +460 -460
- package/server/core/config.py +127 -127
- package/server/core/container.py +98 -98
- package/server/core/database.py +1296 -1210
- package/server/core/logging.py +313 -313
- package/server/main.py +288 -288
- package/server/middleware/__init__.py +5 -5
- package/server/middleware/auth.py +89 -89
- package/server/models/auth.py +52 -52
- package/server/models/cache.py +24 -24
- package/server/models/database.py +235 -210
- package/server/models/nodes.py +435 -455
- package/server/pyproject.toml +75 -72
- package/server/requirements.txt +83 -83
- package/server/routers/android.py +294 -294
- package/server/routers/auth.py +203 -203
- package/server/routers/database.py +150 -150
- package/server/routers/maps.py +141 -141
- package/server/routers/nodejs_compat.py +288 -288
- package/server/routers/webhook.py +90 -90
- package/server/routers/websocket.py +2239 -2127
- package/server/routers/whatsapp.py +761 -761
- package/server/routers/workflow.py +199 -199
- package/server/services/ai.py +2444 -2414
- package/server/services/android_service.py +588 -588
- package/server/services/auth.py +130 -130
- package/server/services/chat_client.py +160 -160
- package/server/services/deployment/manager.py +706 -706
- package/server/services/event_waiter.py +675 -785
- package/server/services/execution/executor.py +1351 -1351
- package/server/services/execution/models.py +1 -1
- package/server/services/handlers/__init__.py +122 -126
- package/server/services/handlers/ai.py +390 -355
- package/server/services/handlers/android.py +69 -260
- package/server/services/handlers/code.py +278 -278
- package/server/services/handlers/http.py +193 -193
- package/server/services/handlers/tools.py +146 -32
- package/server/services/handlers/triggers.py +107 -107
- package/server/services/handlers/utility.py +822 -822
- package/server/services/handlers/whatsapp.py +423 -476
- package/server/services/maps.py +288 -288
- package/server/services/memory_store.py +103 -103
- package/server/services/node_executor.py +372 -375
- package/server/services/scheduler.py +155 -155
- package/server/services/skill_loader.py +1 -1
- package/server/services/status_broadcaster.py +834 -826
- package/server/services/temporal/__init__.py +23 -23
- package/server/services/temporal/activities.py +344 -344
- package/server/services/temporal/client.py +76 -76
- package/server/services/temporal/executor.py +147 -147
- package/server/services/temporal/worker.py +251 -251
- package/server/services/temporal/workflow.py +355 -355
- package/server/services/temporal/ws_client.py +236 -236
- package/server/services/text.py +110 -110
- package/server/services/user_auth.py +172 -172
- package/server/services/websocket_client.py +29 -29
- package/server/services/workflow.py +597 -597
- package/server/skills/android-skill/SKILL.md +4 -4
- package/server/skills/code-skill/SKILL.md +123 -89
- package/server/skills/maps-skill/SKILL.md +3 -3
- package/server/skills/memory-skill/SKILL.md +1 -1
- package/server/skills/web-search-skill/SKILL.md +154 -0
- package/server/skills/whatsapp-skill/SKILL.md +3 -3
- package/server/uv.lock +461 -100
- package/server/whatsapp-rpc/.dockerignore +30 -30
- package/server/whatsapp-rpc/Dockerfile +44 -44
- package/server/whatsapp-rpc/Dockerfile.web +17 -17
- package/server/whatsapp-rpc/README.md +139 -139
- package/server/whatsapp-rpc/bin/whatsapp-rpc-server +0 -0
- package/server/whatsapp-rpc/cli.js +95 -95
- package/server/whatsapp-rpc/configs/config.yaml +6 -6
- package/server/whatsapp-rpc/docker-compose.yml +35 -35
- package/server/whatsapp-rpc/docs/API.md +410 -410
- package/server/whatsapp-rpc/node_modules/.package-lock.json +259 -0
- package/server/whatsapp-rpc/node_modules/chalk/license +9 -0
- package/server/whatsapp-rpc/node_modules/chalk/package.json +83 -0
- package/server/whatsapp-rpc/node_modules/chalk/readme.md +297 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/index.d.ts +325 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/index.js +225 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/utilities.js +33 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
- package/server/whatsapp-rpc/node_modules/commander/LICENSE +22 -0
- package/server/whatsapp-rpc/node_modules/commander/Readme.md +1148 -0
- package/server/whatsapp-rpc/node_modules/commander/esm.mjs +16 -0
- package/server/whatsapp-rpc/node_modules/commander/index.js +26 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/argument.js +145 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/command.js +2179 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/error.js +43 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/help.js +462 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/option.js +329 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/suggestSimilar.js +100 -0
- package/server/whatsapp-rpc/node_modules/commander/package-support.json +16 -0
- package/server/whatsapp-rpc/node_modules/commander/package.json +80 -0
- package/server/whatsapp-rpc/node_modules/commander/typings/esm.d.mts +3 -0
- package/server/whatsapp-rpc/node_modules/commander/typings/index.d.ts +884 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/README.md +89 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/index.js +39 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/parse.js +91 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/escape.js +47 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/package.json +73 -0
- package/server/whatsapp-rpc/node_modules/execa/index.d.ts +955 -0
- package/server/whatsapp-rpc/node_modules/execa/index.js +309 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/command.js +119 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/error.js +87 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/kill.js +102 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/pipe.js +42 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/promise.js +36 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/stdio.js +49 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/stream.js +133 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/verbose.js +19 -0
- package/server/whatsapp-rpc/node_modules/execa/license +9 -0
- package/server/whatsapp-rpc/node_modules/execa/package.json +90 -0
- package/server/whatsapp-rpc/node_modules/execa/readme.md +822 -0
- package/server/whatsapp-rpc/node_modules/get-stream/license +9 -0
- package/server/whatsapp-rpc/node_modules/get-stream/package.json +53 -0
- package/server/whatsapp-rpc/node_modules/get-stream/readme.md +291 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/array-buffer.js +84 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/array.js +32 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/buffer.js +20 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/contents.js +101 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/index.d.ts +119 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/index.js +5 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/string.js +36 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/utils.js +11 -0
- package/server/whatsapp-rpc/node_modules/get-them-args/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/get-them-args/README.md +95 -0
- package/server/whatsapp-rpc/node_modules/get-them-args/index.js +97 -0
- package/server/whatsapp-rpc/node_modules/get-them-args/package.json +36 -0
- package/server/whatsapp-rpc/node_modules/human-signals/LICENSE +201 -0
- package/server/whatsapp-rpc/node_modules/human-signals/README.md +168 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/core.js +273 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.d.ts +73 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.js +70 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/realtime.js +16 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/signals.js +34 -0
- package/server/whatsapp-rpc/node_modules/human-signals/package.json +61 -0
- package/server/whatsapp-rpc/node_modules/is-stream/index.d.ts +81 -0
- package/server/whatsapp-rpc/node_modules/is-stream/index.js +29 -0
- package/server/whatsapp-rpc/node_modules/is-stream/license +9 -0
- package/server/whatsapp-rpc/node_modules/is-stream/package.json +44 -0
- package/server/whatsapp-rpc/node_modules/is-stream/readme.md +60 -0
- package/server/whatsapp-rpc/node_modules/isexe/LICENSE +15 -0
- package/server/whatsapp-rpc/node_modules/isexe/README.md +51 -0
- package/server/whatsapp-rpc/node_modules/isexe/index.js +57 -0
- package/server/whatsapp-rpc/node_modules/isexe/mode.js +41 -0
- package/server/whatsapp-rpc/node_modules/isexe/package.json +31 -0
- package/server/whatsapp-rpc/node_modules/isexe/test/basic.js +221 -0
- package/server/whatsapp-rpc/node_modules/isexe/windows.js +42 -0
- package/server/whatsapp-rpc/node_modules/kill-port/.editorconfig +12 -0
- package/server/whatsapp-rpc/node_modules/kill-port/.gitattributes +1 -0
- package/server/whatsapp-rpc/node_modules/kill-port/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/kill-port/README.md +140 -0
- package/server/whatsapp-rpc/node_modules/kill-port/cli.js +25 -0
- package/server/whatsapp-rpc/node_modules/kill-port/example.js +21 -0
- package/server/whatsapp-rpc/node_modules/kill-port/index.js +46 -0
- package/server/whatsapp-rpc/node_modules/kill-port/logo.png +0 -0
- package/server/whatsapp-rpc/node_modules/kill-port/package.json +41 -0
- package/server/whatsapp-rpc/node_modules/kill-port/pnpm-lock.yaml +4606 -0
- package/server/whatsapp-rpc/node_modules/kill-port/test.js +16 -0
- package/server/whatsapp-rpc/node_modules/merge-stream/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/merge-stream/README.md +78 -0
- package/server/whatsapp-rpc/node_modules/merge-stream/index.js +41 -0
- package/server/whatsapp-rpc/node_modules/merge-stream/package.json +19 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/index.d.ts +52 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/index.js +71 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/license +9 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/package.json +45 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/readme.md +90 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/index.d.ts +90 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/index.js +52 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/license +9 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.d.ts +31 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.js +12 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/license +9 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/package.json +41 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/readme.md +57 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/package.json +49 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/readme.md +104 -0
- package/server/whatsapp-rpc/node_modules/onetime/index.d.ts +59 -0
- package/server/whatsapp-rpc/node_modules/onetime/index.js +41 -0
- package/server/whatsapp-rpc/node_modules/onetime/license +9 -0
- package/server/whatsapp-rpc/node_modules/onetime/package.json +45 -0
- package/server/whatsapp-rpc/node_modules/onetime/readme.md +94 -0
- package/server/whatsapp-rpc/node_modules/path-key/index.d.ts +40 -0
- package/server/whatsapp-rpc/node_modules/path-key/index.js +16 -0
- package/server/whatsapp-rpc/node_modules/path-key/license +9 -0
- package/server/whatsapp-rpc/node_modules/path-key/package.json +39 -0
- package/server/whatsapp-rpc/node_modules/path-key/readme.md +61 -0
- package/server/whatsapp-rpc/node_modules/shebang-command/index.js +19 -0
- package/server/whatsapp-rpc/node_modules/shebang-command/license +9 -0
- package/server/whatsapp-rpc/node_modules/shebang-command/package.json +34 -0
- package/server/whatsapp-rpc/node_modules/shebang-command/readme.md +34 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/index.d.ts +22 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/index.js +2 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/license +9 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/package.json +35 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/readme.md +33 -0
- package/server/whatsapp-rpc/node_modules/shell-exec/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/shell-exec/README.md +60 -0
- package/server/whatsapp-rpc/node_modules/shell-exec/index.js +47 -0
- package/server/whatsapp-rpc/node_modules/shell-exec/package.json +29 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/LICENSE.txt +16 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/README.md +74 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js +279 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/package.json +3 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js +275 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/package.json +3 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/package.json +106 -0
- package/server/whatsapp-rpc/node_modules/strip-final-newline/index.js +14 -0
- package/server/whatsapp-rpc/node_modules/strip-final-newline/license +9 -0
- package/server/whatsapp-rpc/node_modules/strip-final-newline/package.json +43 -0
- package/server/whatsapp-rpc/node_modules/strip-final-newline/readme.md +35 -0
- package/server/whatsapp-rpc/node_modules/which/CHANGELOG.md +166 -0
- package/server/whatsapp-rpc/node_modules/which/LICENSE +15 -0
- package/server/whatsapp-rpc/node_modules/which/README.md +54 -0
- package/server/whatsapp-rpc/node_modules/which/bin/node-which +52 -0
- package/server/whatsapp-rpc/node_modules/which/package.json +43 -0
- package/server/whatsapp-rpc/node_modules/which/which.js +125 -0
- package/server/whatsapp-rpc/package-lock.json +272 -0
- package/server/whatsapp-rpc/package.json +30 -30
- package/server/whatsapp-rpc/schema.json +1294 -1294
- package/server/whatsapp-rpc/scripts/clean.cjs +66 -66
- package/server/whatsapp-rpc/scripts/cli.js +162 -162
- package/server/whatsapp-rpc/src/go/whatsapp/history.go +166 -166
- package/server/whatsapp-rpc/src/python/pyproject.toml +15 -15
- package/server/whatsapp-rpc/src/python/whatsapp_rpc/__init__.py +4 -4
- package/server/whatsapp-rpc/src/python/whatsapp_rpc/client.py +427 -427
- package/server/whatsapp-rpc/web/app.py +609 -609
- package/server/whatsapp-rpc/web/requirements.txt +6 -6
- package/server/whatsapp-rpc/web/rpc_client.py +427 -427
- package/server/whatsapp-rpc/web/static/openapi.yaml +59 -59
- package/server/whatsapp-rpc/web/templates/base.html +149 -149
- package/server/whatsapp-rpc/web/templates/contacts.html +240 -240
- package/server/whatsapp-rpc/web/templates/dashboard.html +319 -319
- package/server/whatsapp-rpc/web/templates/groups.html +328 -328
- package/server/whatsapp-rpc/web/templates/messages.html +465 -465
- package/server/whatsapp-rpc/web/templates/messaging.html +680 -680
- package/server/whatsapp-rpc/web/templates/send.html +258 -258
- package/server/whatsapp-rpc/web/templates/settings.html +459 -459
- package/client/src/components/ui/AndroidSettingsPanel.tsx +0 -401
- package/client/src/components/ui/WhatsAppSettingsPanel.tsx +0 -345
- package/client/src/nodeDefinitions/androidDeviceNodes.ts +0 -140
- package/docker-compose.prod.yml +0 -107
- package/docker-compose.yml +0 -104
- package/docs-MachinaOs/README.md +0 -85
- package/docs-MachinaOs/deployment/docker.mdx +0 -228
- package/docs-MachinaOs/deployment/production.mdx +0 -345
- package/docs-MachinaOs/docs.json +0 -75
- package/docs-MachinaOs/faq.mdx +0 -309
- package/docs-MachinaOs/favicon.svg +0 -5
- package/docs-MachinaOs/installation.mdx +0 -160
- package/docs-MachinaOs/introduction.mdx +0 -114
- package/docs-MachinaOs/logo/dark.svg +0 -6
- package/docs-MachinaOs/logo/light.svg +0 -6
- package/docs-MachinaOs/nodes/ai-agent.mdx +0 -216
- package/docs-MachinaOs/nodes/ai-models.mdx +0 -240
- package/docs-MachinaOs/nodes/android.mdx +0 -411
- package/docs-MachinaOs/nodes/overview.mdx +0 -181
- package/docs-MachinaOs/nodes/schedulers.mdx +0 -316
- package/docs-MachinaOs/nodes/webhooks.mdx +0 -330
- package/docs-MachinaOs/nodes/whatsapp.mdx +0 -305
- package/docs-MachinaOs/quickstart.mdx +0 -119
- package/docs-MachinaOs/tutorials/ai-agent-workflow.mdx +0 -177
- package/docs-MachinaOs/tutorials/android-automation.mdx +0 -242
- package/docs-MachinaOs/tutorials/first-workflow.mdx +0 -134
- package/docs-MachinaOs/tutorials/whatsapp-automation.mdx +0 -185
- package/nul +0 -0
- package/scripts/check-ports.ps1 +0 -33
- package/scripts/kill-port.ps1 +0 -154
|
@@ -1,166 +1,166 @@
|
|
|
1
|
-
package whatsapp
|
|
2
|
-
|
|
3
|
-
import (
|
|
4
|
-
"database/sql"
|
|
5
|
-
"time"
|
|
6
|
-
|
|
7
|
-
"github.com/sirupsen/logrus"
|
|
8
|
-
_ "modernc.org/sqlite"
|
|
9
|
-
)
|
|
10
|
-
|
|
11
|
-
// HistoryStore handles message persistence for chat history
|
|
12
|
-
type HistoryStore struct {
|
|
13
|
-
db *sql.DB
|
|
14
|
-
logger *logrus.Logger
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// MessageRecord represents a stored message
|
|
18
|
-
type MessageRecord struct {
|
|
19
|
-
MessageID string `json:"message_id"`
|
|
20
|
-
ChatID string `json:"chat_id"`
|
|
21
|
-
Sender string `json:"sender"`
|
|
22
|
-
SenderPhone string `json:"sender_phone"`
|
|
23
|
-
MessageType string `json:"message_type"`
|
|
24
|
-
Text string `json:"text"`
|
|
25
|
-
Timestamp time.Time `json:"timestamp"`
|
|
26
|
-
IsGroup bool `json:"is_group"`
|
|
27
|
-
IsFromMe bool `json:"is_from_me"`
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// ChatHistoryResult is the response for chat_history queries
|
|
31
|
-
type ChatHistoryResult struct {
|
|
32
|
-
Messages []MessageRecord `json:"messages"`
|
|
33
|
-
Total int `json:"total"`
|
|
34
|
-
HasMore bool `json:"has_more"`
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// NewHistoryStore creates a new history store with SQLite persistence
|
|
38
|
-
func NewHistoryStore(dbPath string, logger *logrus.Logger) (*HistoryStore, error) {
|
|
39
|
-
// Use separate file for history to avoid conflicts with whatsmeow's session store
|
|
40
|
-
historyPath := dbPath + "_history"
|
|
41
|
-
db, err := sql.Open("sqlite", "file:"+historyPath+"?_journal_mode=WAL&_busy_timeout=5000")
|
|
42
|
-
if err != nil {
|
|
43
|
-
return nil, err
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
store := &HistoryStore{db: db, logger: logger}
|
|
47
|
-
if err := store.initTable(); err != nil {
|
|
48
|
-
return nil, err
|
|
49
|
-
}
|
|
50
|
-
return store, nil
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
func (h *HistoryStore) initTable() error {
|
|
54
|
-
_, err := h.db.Exec(`
|
|
55
|
-
CREATE TABLE IF NOT EXISTS message_history (
|
|
56
|
-
message_id TEXT PRIMARY KEY,
|
|
57
|
-
chat_id TEXT NOT NULL,
|
|
58
|
-
sender TEXT NOT NULL,
|
|
59
|
-
sender_phone TEXT,
|
|
60
|
-
message_type TEXT NOT NULL,
|
|
61
|
-
text TEXT,
|
|
62
|
-
timestamp INTEGER NOT NULL,
|
|
63
|
-
is_group INTEGER NOT NULL DEFAULT 0,
|
|
64
|
-
is_from_me INTEGER NOT NULL DEFAULT 0,
|
|
65
|
-
created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
|
66
|
-
);
|
|
67
|
-
CREATE INDEX IF NOT EXISTS idx_chat_id ON message_history(chat_id);
|
|
68
|
-
CREATE INDEX IF NOT EXISTS idx_timestamp ON message_history(timestamp DESC);
|
|
69
|
-
CREATE INDEX IF NOT EXISTS idx_sender_phone ON message_history(sender_phone);
|
|
70
|
-
`)
|
|
71
|
-
return err
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// StoreMessage persists a message to the history store
|
|
75
|
-
func (h *HistoryStore) StoreMessage(msg MessageRecord) error {
|
|
76
|
-
_, err := h.db.Exec(`
|
|
77
|
-
INSERT OR IGNORE INTO message_history
|
|
78
|
-
(message_id, chat_id, sender, sender_phone, message_type, text, timestamp, is_group, is_from_me)
|
|
79
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
80
|
-
`, msg.MessageID, msg.ChatID, msg.Sender, msg.SenderPhone, msg.MessageType,
|
|
81
|
-
msg.Text, msg.Timestamp.Unix(), boolToInt(msg.IsGroup), boolToInt(msg.IsFromMe))
|
|
82
|
-
return err
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// GetChatHistory retrieves messages for a chat with optional filters
|
|
86
|
-
func (h *HistoryStore) GetChatHistory(chatID string, limit, offset int, senderPhone string, textOnly bool) (*ChatHistoryResult, error) {
|
|
87
|
-
// Build query with filters
|
|
88
|
-
query := `SELECT message_id, chat_id, sender, sender_phone, message_type, text, timestamp, is_group, is_from_me
|
|
89
|
-
FROM message_history WHERE chat_id = ?`
|
|
90
|
-
args := []interface{}{chatID}
|
|
91
|
-
|
|
92
|
-
if senderPhone != "" {
|
|
93
|
-
query += " AND sender_phone = ?"
|
|
94
|
-
args = append(args, senderPhone)
|
|
95
|
-
}
|
|
96
|
-
if textOnly {
|
|
97
|
-
query += " AND message_type = 'text'"
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// Count total matching
|
|
101
|
-
countQuery := "SELECT COUNT(*) FROM message_history WHERE chat_id = ?"
|
|
102
|
-
countArgs := []interface{}{chatID}
|
|
103
|
-
if senderPhone != "" {
|
|
104
|
-
countQuery += " AND sender_phone = ?"
|
|
105
|
-
countArgs = append(countArgs, senderPhone)
|
|
106
|
-
}
|
|
107
|
-
if textOnly {
|
|
108
|
-
countQuery += " AND message_type = 'text'"
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
var total int
|
|
112
|
-
h.db.QueryRow(countQuery, countArgs...).Scan(&total)
|
|
113
|
-
|
|
114
|
-
// Get messages ordered by timestamp descending (newest first)
|
|
115
|
-
query += " ORDER BY timestamp DESC LIMIT ? OFFSET ?"
|
|
116
|
-
args = append(args, limit, offset)
|
|
117
|
-
|
|
118
|
-
rows, err := h.db.Query(query, args...)
|
|
119
|
-
if err != nil {
|
|
120
|
-
return nil, err
|
|
121
|
-
}
|
|
122
|
-
defer rows.Close()
|
|
123
|
-
|
|
124
|
-
messages := []MessageRecord{}
|
|
125
|
-
for rows.Next() {
|
|
126
|
-
var msg MessageRecord
|
|
127
|
-
var ts int64
|
|
128
|
-
var isGroup, isFromMe int
|
|
129
|
-
err := rows.Scan(&msg.MessageID, &msg.ChatID, &msg.Sender, &msg.SenderPhone,
|
|
130
|
-
&msg.MessageType, &msg.Text, &ts, &isGroup, &isFromMe)
|
|
131
|
-
if err != nil {
|
|
132
|
-
continue
|
|
133
|
-
}
|
|
134
|
-
msg.Timestamp = time.Unix(ts, 0)
|
|
135
|
-
msg.IsGroup = isGroup == 1
|
|
136
|
-
msg.IsFromMe = isFromMe == 1
|
|
137
|
-
messages = append(messages, msg)
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return &ChatHistoryResult{
|
|
141
|
-
Messages: messages,
|
|
142
|
-
Total: total,
|
|
143
|
-
HasMore: offset+len(messages) < total,
|
|
144
|
-
}, nil
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// Close closes the database connection
|
|
148
|
-
func (h *HistoryStore) Close() error {
|
|
149
|
-
if h.db != nil {
|
|
150
|
-
return h.db.Close()
|
|
151
|
-
}
|
|
152
|
-
return nil
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// ClearHistory deletes all messages from the history store
|
|
156
|
-
func (h *HistoryStore) ClearHistory() error {
|
|
157
|
-
_, err := h.db.Exec("DELETE FROM message_history")
|
|
158
|
-
return err
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
func boolToInt(b bool) int {
|
|
162
|
-
if b {
|
|
163
|
-
return 1
|
|
164
|
-
}
|
|
165
|
-
return 0
|
|
166
|
-
}
|
|
1
|
+
package whatsapp
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"database/sql"
|
|
5
|
+
"time"
|
|
6
|
+
|
|
7
|
+
"github.com/sirupsen/logrus"
|
|
8
|
+
_ "modernc.org/sqlite"
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
// HistoryStore handles message persistence for chat history
|
|
12
|
+
type HistoryStore struct {
|
|
13
|
+
db *sql.DB
|
|
14
|
+
logger *logrus.Logger
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// MessageRecord represents a stored message
|
|
18
|
+
type MessageRecord struct {
|
|
19
|
+
MessageID string `json:"message_id"`
|
|
20
|
+
ChatID string `json:"chat_id"`
|
|
21
|
+
Sender string `json:"sender"`
|
|
22
|
+
SenderPhone string `json:"sender_phone"`
|
|
23
|
+
MessageType string `json:"message_type"`
|
|
24
|
+
Text string `json:"text"`
|
|
25
|
+
Timestamp time.Time `json:"timestamp"`
|
|
26
|
+
IsGroup bool `json:"is_group"`
|
|
27
|
+
IsFromMe bool `json:"is_from_me"`
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// ChatHistoryResult is the response for chat_history queries
|
|
31
|
+
type ChatHistoryResult struct {
|
|
32
|
+
Messages []MessageRecord `json:"messages"`
|
|
33
|
+
Total int `json:"total"`
|
|
34
|
+
HasMore bool `json:"has_more"`
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// NewHistoryStore creates a new history store with SQLite persistence
|
|
38
|
+
func NewHistoryStore(dbPath string, logger *logrus.Logger) (*HistoryStore, error) {
|
|
39
|
+
// Use separate file for history to avoid conflicts with whatsmeow's session store
|
|
40
|
+
historyPath := dbPath + "_history"
|
|
41
|
+
db, err := sql.Open("sqlite", "file:"+historyPath+"?_journal_mode=WAL&_busy_timeout=5000")
|
|
42
|
+
if err != nil {
|
|
43
|
+
return nil, err
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
store := &HistoryStore{db: db, logger: logger}
|
|
47
|
+
if err := store.initTable(); err != nil {
|
|
48
|
+
return nil, err
|
|
49
|
+
}
|
|
50
|
+
return store, nil
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
func (h *HistoryStore) initTable() error {
|
|
54
|
+
_, err := h.db.Exec(`
|
|
55
|
+
CREATE TABLE IF NOT EXISTS message_history (
|
|
56
|
+
message_id TEXT PRIMARY KEY,
|
|
57
|
+
chat_id TEXT NOT NULL,
|
|
58
|
+
sender TEXT NOT NULL,
|
|
59
|
+
sender_phone TEXT,
|
|
60
|
+
message_type TEXT NOT NULL,
|
|
61
|
+
text TEXT,
|
|
62
|
+
timestamp INTEGER NOT NULL,
|
|
63
|
+
is_group INTEGER NOT NULL DEFAULT 0,
|
|
64
|
+
is_from_me INTEGER NOT NULL DEFAULT 0,
|
|
65
|
+
created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
|
66
|
+
);
|
|
67
|
+
CREATE INDEX IF NOT EXISTS idx_chat_id ON message_history(chat_id);
|
|
68
|
+
CREATE INDEX IF NOT EXISTS idx_timestamp ON message_history(timestamp DESC);
|
|
69
|
+
CREATE INDEX IF NOT EXISTS idx_sender_phone ON message_history(sender_phone);
|
|
70
|
+
`)
|
|
71
|
+
return err
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// StoreMessage persists a message to the history store
|
|
75
|
+
func (h *HistoryStore) StoreMessage(msg MessageRecord) error {
|
|
76
|
+
_, err := h.db.Exec(`
|
|
77
|
+
INSERT OR IGNORE INTO message_history
|
|
78
|
+
(message_id, chat_id, sender, sender_phone, message_type, text, timestamp, is_group, is_from_me)
|
|
79
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
80
|
+
`, msg.MessageID, msg.ChatID, msg.Sender, msg.SenderPhone, msg.MessageType,
|
|
81
|
+
msg.Text, msg.Timestamp.Unix(), boolToInt(msg.IsGroup), boolToInt(msg.IsFromMe))
|
|
82
|
+
return err
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// GetChatHistory retrieves messages for a chat with optional filters
|
|
86
|
+
func (h *HistoryStore) GetChatHistory(chatID string, limit, offset int, senderPhone string, textOnly bool) (*ChatHistoryResult, error) {
|
|
87
|
+
// Build query with filters
|
|
88
|
+
query := `SELECT message_id, chat_id, sender, sender_phone, message_type, text, timestamp, is_group, is_from_me
|
|
89
|
+
FROM message_history WHERE chat_id = ?`
|
|
90
|
+
args := []interface{}{chatID}
|
|
91
|
+
|
|
92
|
+
if senderPhone != "" {
|
|
93
|
+
query += " AND sender_phone = ?"
|
|
94
|
+
args = append(args, senderPhone)
|
|
95
|
+
}
|
|
96
|
+
if textOnly {
|
|
97
|
+
query += " AND message_type = 'text'"
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Count total matching
|
|
101
|
+
countQuery := "SELECT COUNT(*) FROM message_history WHERE chat_id = ?"
|
|
102
|
+
countArgs := []interface{}{chatID}
|
|
103
|
+
if senderPhone != "" {
|
|
104
|
+
countQuery += " AND sender_phone = ?"
|
|
105
|
+
countArgs = append(countArgs, senderPhone)
|
|
106
|
+
}
|
|
107
|
+
if textOnly {
|
|
108
|
+
countQuery += " AND message_type = 'text'"
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
var total int
|
|
112
|
+
h.db.QueryRow(countQuery, countArgs...).Scan(&total)
|
|
113
|
+
|
|
114
|
+
// Get messages ordered by timestamp descending (newest first)
|
|
115
|
+
query += " ORDER BY timestamp DESC LIMIT ? OFFSET ?"
|
|
116
|
+
args = append(args, limit, offset)
|
|
117
|
+
|
|
118
|
+
rows, err := h.db.Query(query, args...)
|
|
119
|
+
if err != nil {
|
|
120
|
+
return nil, err
|
|
121
|
+
}
|
|
122
|
+
defer rows.Close()
|
|
123
|
+
|
|
124
|
+
messages := []MessageRecord{}
|
|
125
|
+
for rows.Next() {
|
|
126
|
+
var msg MessageRecord
|
|
127
|
+
var ts int64
|
|
128
|
+
var isGroup, isFromMe int
|
|
129
|
+
err := rows.Scan(&msg.MessageID, &msg.ChatID, &msg.Sender, &msg.SenderPhone,
|
|
130
|
+
&msg.MessageType, &msg.Text, &ts, &isGroup, &isFromMe)
|
|
131
|
+
if err != nil {
|
|
132
|
+
continue
|
|
133
|
+
}
|
|
134
|
+
msg.Timestamp = time.Unix(ts, 0)
|
|
135
|
+
msg.IsGroup = isGroup == 1
|
|
136
|
+
msg.IsFromMe = isFromMe == 1
|
|
137
|
+
messages = append(messages, msg)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return &ChatHistoryResult{
|
|
141
|
+
Messages: messages,
|
|
142
|
+
Total: total,
|
|
143
|
+
HasMore: offset+len(messages) < total,
|
|
144
|
+
}, nil
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Close closes the database connection
|
|
148
|
+
func (h *HistoryStore) Close() error {
|
|
149
|
+
if h.db != nil {
|
|
150
|
+
return h.db.Close()
|
|
151
|
+
}
|
|
152
|
+
return nil
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// ClearHistory deletes all messages from the history store
|
|
156
|
+
func (h *HistoryStore) ClearHistory() error {
|
|
157
|
+
_, err := h.db.Exec("DELETE FROM message_history")
|
|
158
|
+
return err
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
func boolToInt(b bool) int {
|
|
162
|
+
if b {
|
|
163
|
+
return 1
|
|
164
|
+
}
|
|
165
|
+
return 0
|
|
166
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["setuptools>=61.0"]
|
|
3
|
-
build-backend = "setuptools.build_meta"
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
name = "whatsapp-rpc"
|
|
7
|
-
version = "1.0.0"
|
|
8
|
-
description = "Python client for WhatsApp RPC API"
|
|
9
|
-
requires-python = ">=3.8"
|
|
10
|
-
dependencies = [
|
|
11
|
-
"websockets>=12.0",
|
|
12
|
-
]
|
|
13
|
-
|
|
14
|
-
[tool.setuptools.packages.find]
|
|
15
|
-
where = ["."]
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "whatsapp-rpc"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "Python client for WhatsApp RPC API"
|
|
9
|
+
requires-python = ">=3.8"
|
|
10
|
+
dependencies = [
|
|
11
|
+
"websockets>=12.0",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
[tool.setuptools.packages.find]
|
|
15
|
+
where = ["."]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .client import WhatsAppRPCClient
|
|
2
|
-
|
|
3
|
-
__version__ = "1.0.0"
|
|
4
|
-
__all__ = ["WhatsAppRPCClient"]
|
|
1
|
+
from .client import WhatsAppRPCClient
|
|
2
|
+
|
|
3
|
+
__version__ = "1.0.0"
|
|
4
|
+
__all__ = ["WhatsAppRPCClient"]
|