machinaos 0.0.76 → 0.0.78
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/README.md +143 -107
- package/client/dist/assets/ActionBar-Du2MSFSz.js +1 -0
- package/client/dist/assets/ApiKeyInput-k2LBmBjb.js +1 -0
- package/client/dist/assets/ApiKeyPanel-C_bV9U0X.js +1 -0
- package/client/dist/assets/ApiUsageSection-CmVfwZzL.js +1 -0
- package/client/dist/assets/EmailPanel-CeKIMGu-.js +1 -0
- package/client/dist/assets/OAuthPanel-KA3t3Q2K.js +1 -0
- package/client/dist/assets/QrPairingPanel-NgNpJNuk.js +1 -0
- package/client/dist/assets/RateLimitSection-Du5YNVIA.js +1 -0
- package/client/dist/assets/StatusCard-DNLyayXc.js +1 -0
- package/client/dist/assets/index-DQ0nwhec.js +257 -0
- package/client/dist/assets/index-DxmbVskS.css +1 -0
- package/client/dist/assets/vendor-flow-CZmBvHRo.js +1 -0
- package/client/dist/assets/vendor-icons-CVrPjN2Q.js +22 -0
- package/client/dist/assets/vendor-markdown-CRou3yQ5.js +62 -0
- package/client/dist/assets/vendor-misc-C4VxKHs5.js +1 -0
- package/client/dist/assets/vendor-query-SzWcOU0G.js +1 -0
- package/client/dist/assets/vendor-radix-Dnos29jG.js +56 -0
- package/client/dist/assets/vendor-react-DvWIbVx0.js +1 -0
- package/client/dist/index.html +37 -3
- package/client/index.html +28 -1
- package/client/package.json +44 -40
- package/client/src/App.tsx +2 -0
- package/client/src/Dashboard.tsx +157 -45
- package/client/src/ParameterPanel.tsx +3 -5
- package/client/src/adapters/nodeSpecToDescription.ts +1 -0
- package/client/src/assets/icons/NodeIcon.tsx +32 -0
- package/client/src/assets/icons/index.ts +4 -0
- package/client/src/assets/icons/stripe.svg +1 -0
- package/client/src/assets/icons/themedGlyphs.ts +404 -0
- package/client/src/components/AIAgentNode.tsx +77 -53
- package/client/src/components/GenericNode.tsx +34 -52
- package/client/src/components/OutputPanel.tsx +64 -147
- package/client/src/components/ParameterRenderer.tsx +5 -3
- package/client/src/components/SkillEditorModal.tsx +9 -18
- package/client/src/components/SquareNode.tsx +97 -115
- package/client/src/components/StartNode.tsx +32 -42
- package/client/src/components/SvgFilterDefs.tsx +54 -0
- package/client/src/components/TeamMonitorNode.tsx +12 -14
- package/client/src/components/ToolkitNode.tsx +35 -60
- package/client/src/components/TriggerNode.tsx +43 -77
- package/client/src/components/__tests__/CredentialsModal.test.tsx +49 -45
- package/client/src/components/credentials/CredentialsModal.tsx +98 -30
- package/client/src/components/credentials/CredentialsPalette.tsx +73 -5
- package/client/src/components/credentials/catalogueAdapter.ts +17 -1
- package/client/src/components/credentials/panels/ApiKeyPanel.tsx +102 -37
- package/client/src/components/credentials/panels/EmailPanel.tsx +7 -19
- package/client/src/components/credentials/panels/OAuthPanel.tsx +5 -1
- package/client/src/components/credentials/panels/QrPairingPanel.tsx +1 -3
- package/client/src/components/credentials/primitives/ActionBar.tsx +7 -11
- package/client/src/components/credentials/primitives/OAuthConnect.tsx +19 -28
- package/client/src/components/credentials/sections/ProviderDefaultsSection.tsx +24 -3
- package/client/src/components/credentials/types.ts +12 -2
- package/client/src/components/credentials/useCredentialPanel.ts +43 -19
- package/client/src/components/icons/AIProviderIcons.tsx +16 -0
- package/client/src/components/onboarding/OnboardingWizard.tsx +23 -63
- package/client/src/components/onboarding/nodeRoleClasses.ts +23 -0
- package/client/src/components/onboarding/steps/CanvasStep.tsx +15 -21
- package/client/src/components/onboarding/steps/ConceptsStep.tsx +2 -11
- package/client/src/components/onboarding/steps/GetStartedStep.tsx +2 -10
- package/client/src/components/parameterPanel/InputSection.tsx +9 -7
- package/client/src/components/parameterPanel/MasterSkillEditor.tsx +84 -198
- package/client/src/components/parameterPanel/MiddleSection.tsx +57 -80
- package/client/src/components/parameterPanel/ToolSchemaEditor.tsx +31 -25
- package/client/src/components/parameterPanel/__tests__/InputSection.test.tsx +7 -2
- package/client/src/components/ui/AIResultModal.tsx +1 -1
- package/client/src/components/ui/CollapsibleSection.tsx +9 -5
- package/client/src/components/ui/CommandPalette.tsx +147 -0
- package/client/src/components/ui/CommandPaletteHost.tsx +189 -0
- package/client/src/components/ui/ComponentItem.tsx +13 -7
- package/client/src/components/ui/ComponentPalette.tsx +24 -13
- package/client/src/components/ui/ConsolePanel.tsx +19 -11
- package/client/src/components/ui/DropCap.tsx +28 -0
- package/client/src/components/ui/EditableNodeLabel.tsx +10 -2
- package/client/src/components/ui/InputNodesPanel.tsx +1 -1
- package/client/src/components/ui/Modal.tsx +38 -6
- package/client/src/components/ui/OutputDisplayPanel.tsx +1 -1
- package/client/src/components/ui/SettingsPanel.tsx +42 -13
- package/client/src/components/ui/StatusBar.tsx +108 -0
- package/client/src/components/ui/ThemeSwitcher.tsx +109 -0
- package/client/src/components/ui/TopToolbar.tsx +42 -25
- package/client/src/components/ui/WorkflowSidebar.tsx +32 -16
- package/client/src/components/ui/action-button.tsx +40 -15
- package/client/src/components/ui/button.tsx +24 -1
- package/client/src/components/ui/dropdown-menu.tsx +24 -2
- package/client/src/components/ui/input.tsx +19 -2
- package/client/src/components/ui/select.tsx +15 -0
- package/client/src/components/ui/textarea.tsx +15 -2
- package/client/src/contexts/AuthContext.tsx +148 -109
- package/client/src/contexts/ThemeContext.tsx +93 -17
- package/client/src/contexts/WebSocketContext.tsx +373 -206
- package/client/src/contexts/__tests__/AuthContext.test.tsx +221 -0
- package/client/src/hooks/__tests__/useDragVariable.test.ts +7 -1
- package/client/src/hooks/__tests__/useWorkflowOpsListener.test.ts +142 -0
- package/client/src/hooks/useAppTheme.ts +209 -7
- package/client/src/hooks/useAutoSkillEdges.ts +7 -2
- package/client/src/hooks/useCatalogueQuery.ts +67 -1
- package/client/src/hooks/useDragVariable.ts +1 -1
- package/client/src/hooks/useNodeAllowlist.ts +115 -8
- package/client/src/hooks/useOnboarding.ts +20 -8
- package/client/src/hooks/useParameterPanel.ts +2 -1
- package/client/src/hooks/useReactFlowNodes.ts +2 -1
- package/client/src/hooks/useSound.ts +185 -0
- package/client/src/hooks/useWorkflowManagement.ts +6 -8
- package/client/src/hooks/useWorkflowOpsListener.ts +90 -0
- package/client/src/index.css +65 -3
- package/client/src/lib/__tests__/connectionConfig.test.ts +91 -0
- package/client/src/lib/aiModelProviders.ts +8 -0
- package/client/src/lib/connectionConfig.ts +107 -0
- package/client/src/lib/queryPersist.ts +13 -5
- package/client/src/lib/sound.ts +393 -0
- package/client/src/main.tsx +20 -0
- package/client/src/store/useAppStore.ts +26 -0
- package/client/src/styles/canvasAnimations.ts +37 -36
- package/client/src/styles/theme.ts +36 -20
- package/client/src/test/setup.ts +1 -0
- package/client/src/themes/atomic.css +253 -0
- package/client/src/themes/base.css +373 -0
- package/client/src/themes/cyber.css +890 -0
- package/client/src/themes/dark.css +70 -0
- package/client/src/themes/edo.css +246 -0
- package/client/src/themes/greek.css +293 -0
- package/client/src/themes/light.css +78 -0
- package/client/src/themes/plague.css +253 -0
- package/client/src/themes/renaissance.css +727 -0
- package/client/src/themes/rot.css +249 -0
- package/client/src/themes/steampunk.css +272 -0
- package/client/src/themes/surveillance.css +289 -0
- package/client/src/themes/wasteland.css +250 -0
- package/client/src/types/INodeProperties.ts +5 -0
- package/client/src/types/NodeTypes.ts +11 -1
- package/client/src/types/__tests__/cloudEvents.test.ts +99 -0
- package/client/src/types/cloudEvents.ts +78 -0
- package/client/src/vite-env.d.ts +7 -0
- package/client/tsconfig.json +1 -1
- package/client/vite.config.js +62 -2
- package/install.ps1 +1 -1
- package/install.sh +1 -1
- package/machina/commands/build.py +51 -7
- package/machina/pyproject.toml +4 -0
- package/machina/supervisor.py +12 -2
- package/machina/tree.py +71 -21
- package/package.json +4 -4
- package/scripts/install.js +16 -1
- package/server/config/ai_cli_providers.json +54 -0
- package/server/config/credential_providers.json +109 -2
- package/server/config/llm_defaults.json +24 -0
- package/server/config/model_registry.json +338 -499
- package/server/config/node_allowlist.json +16 -1
- package/server/config/pricing.json +8 -0
- package/server/constants.py +38 -15
- package/server/core/container.py +2 -2
- package/server/core/credentials_database.py +35 -2
- package/server/core/logging.py +4 -3
- package/server/main.py +99 -13
- package/server/models/node_metadata.py +1 -0
- package/server/nodejs/package.json +8 -6
- package/server/nodejs/src/index.ts +22 -5
- package/server/nodes/README.md +31 -4
- package/server/nodes/agent/_inline.py +2 -0
- package/server/nodes/agent/_specialized.py +6 -3
- package/server/nodes/agent/ai_agent.py +13 -3
- package/server/nodes/agent/chat_agent.py +6 -3
- package/server/nodes/agent/claude_code_agent.py +287 -75
- package/server/nodes/agent/codex_agent.py +239 -0
- package/server/nodes/agent/deep_agent.py +3 -3
- package/server/nodes/agent/rlm_agent.py +3 -3
- package/server/nodes/android/__init__.py +31 -1
- package/server/nodes/android/_base.py +9 -5
- package/server/{services/android_service.py → nodes/android/_dispatcher.py} +2 -2
- package/server/nodes/android/_handlers.py +154 -0
- package/server/nodes/android/_option_loaders.py +44 -0
- package/server/nodes/android/_refresh.py +127 -0
- package/server/{services/android → nodes/android/_relay}/client.py +4 -4
- package/server/{routers/android.py → nodes/android/_router.py} +27 -8
- package/server/nodes/browser/browser.py +2 -2
- package/server/nodes/code/_base.py +6 -2
- package/server/nodes/code/_claude_code.py +134 -0
- package/server/nodes/document/embedding_generator.py +3 -3
- package/server/nodes/document/http_scraper.py +3 -3
- package/server/nodes/document/vector_store.py +5 -5
- package/server/nodes/email/__init__.py +11 -1
- package/server/nodes/email/_filters.py +21 -0
- package/server/{services/himalaya_service.py → nodes/email/_himalaya.py} +6 -10
- package/server/{services/email_service.py → nodes/email/_service.py} +9 -13
- package/server/nodes/email/email_read.py +1 -1
- package/server/nodes/email/email_receive.py +54 -5
- package/server/nodes/email/email_send.py +1 -1
- package/server/nodes/filesystem/shell.py +24 -1
- package/server/nodes/google/__init__.py +55 -1
- package/server/{services/handlers/google_auth.py → nodes/google/_auth_helper.py} +8 -5
- package/server/nodes/google/_base.py +2 -2
- package/server/nodes/google/_credentials.py +5 -5
- package/server/nodes/google/_filters.py +25 -0
- package/server/nodes/google/_handlers.py +57 -0
- package/server/{services/google_oauth.py → nodes/google/_oauth.py} +195 -162
- package/server/nodes/google/_option_loaders.py +107 -0
- package/server/nodes/google/_refresh.py +66 -0
- package/server/nodes/google/_router.py +131 -0
- package/server/nodes/google/gmail_receive.py +41 -4
- package/server/nodes/groups.py +1 -0
- package/server/nodes/location/_credentials.py +45 -1
- package/server/{services/maps.py → nodes/location/_service.py} +18 -3
- package/server/nodes/location/gmaps_create.py +4 -4
- package/server/nodes/location/gmaps_locations.py +4 -4
- package/server/nodes/location/gmaps_nearby_places.py +4 -4
- package/server/nodes/model/_base.py +8 -3
- package/server/nodes/model/_credentials.py +96 -8
- package/server/nodes/model/_local_validator.py +345 -0
- package/server/nodes/model/lmstudio_chat_model.py +23 -0
- package/server/nodes/model/ollama_chat_model.py +25 -0
- package/server/nodes/proxy/_usage.py +2 -2
- package/server/nodes/proxy/proxy_config.py +14 -14
- package/server/nodes/proxy/proxy_request.py +4 -4
- package/server/nodes/scraper/_credentials.py +29 -1
- package/server/nodes/scraper/apify_actor.py +9 -9
- package/server/nodes/scraper/crawlee_scraper.py +5 -5
- package/server/nodes/search/brave_search.py +4 -0
- package/server/nodes/search/perplexity_search.py +9 -0
- package/server/nodes/search/serper_search.py +3 -0
- package/server/nodes/skill/simple_memory.py +12 -0
- package/server/nodes/social/_base.py +2 -2
- package/server/nodes/stripe/__init__.py +46 -0
- package/server/nodes/stripe/_credentials.py +33 -0
- package/server/nodes/stripe/_handlers.py +270 -0
- package/server/nodes/stripe/_install.py +127 -0
- package/server/nodes/stripe/_source.py +174 -0
- package/server/nodes/stripe/stripe_action.py +81 -0
- package/server/nodes/stripe/stripe_receive.py +92 -0
- package/server/nodes/telegram/_credentials.py +52 -1
- package/server/nodes/telegram/_handlers.py +19 -18
- package/server/nodes/telegram/_service.py +134 -32
- package/server/nodes/telegram/telegram_send.py +5 -6
- package/server/nodes/text/file_handler.py +2 -2
- package/server/nodes/text/text_generator.py +2 -2
- package/server/nodes/tool/agent_builder.py +630 -0
- package/server/nodes/tool/task_manager.py +144 -2
- package/server/nodes/twitter/__init__.py +38 -1
- package/server/nodes/twitter/_base.py +7 -7
- package/server/nodes/twitter/_credentials.py +1 -1
- package/server/nodes/twitter/_filters.py +37 -0
- package/server/nodes/twitter/_handlers.py +77 -0
- package/server/nodes/twitter/_oauth.py +124 -0
- package/server/nodes/twitter/_refresh.py +78 -0
- package/server/nodes/twitter/_router.py +29 -0
- package/server/nodes/twitter/twitter_receive.py +4 -0
- package/server/nodes/visuals.json +64 -19
- package/server/nodes/whatsapp/__init__.py +45 -5
- package/server/nodes/whatsapp/_base.py +3 -3
- package/server/nodes/whatsapp/_filters.py +137 -0
- package/server/nodes/whatsapp/_handlers.py +167 -0
- package/server/nodes/whatsapp/_option_loaders.py +68 -0
- package/server/nodes/whatsapp/_refresh.py +62 -0
- package/server/nodes/whatsapp/_runtime.py +1 -1
- package/server/pyproject.toml +29 -7
- package/server/routers/schemas.py +2 -2
- package/server/routers/webhook.py +26 -9
- package/server/routers/websocket.py +149 -810
- package/server/services/ai.py +89 -8
- package/server/services/auth.py +220 -43
- package/server/services/claude_oauth.py +126 -100
- package/server/services/cli_agent/__init__.py +78 -0
- package/server/services/cli_agent/_handlers.py +237 -0
- package/server/services/cli_agent/config.py +112 -0
- package/server/services/cli_agent/factory.py +48 -0
- package/server/services/cli_agent/lockfile.py +141 -0
- package/server/services/cli_agent/mcp_server.py +482 -0
- package/server/services/cli_agent/protocol.py +173 -0
- package/server/services/cli_agent/providers/__init__.py +9 -0
- package/server/services/cli_agent/providers/anthropic_claude.py +419 -0
- package/server/services/cli_agent/providers/google_gemini.py +80 -0
- package/server/services/cli_agent/providers/openai_codex.py +310 -0
- package/server/services/cli_agent/service.py +607 -0
- package/server/services/cli_agent/session.py +618 -0
- package/server/services/cli_agent/types.py +227 -0
- package/server/services/cli_agent/workflow_tools.py +233 -0
- package/server/services/credential_registry.py +26 -1
- package/server/services/deployment/manager.py +26 -145
- package/server/services/deployment/poll_registry.py +59 -0
- package/server/services/event_waiter.py +76 -246
- package/server/services/events/__init__.py +54 -0
- package/server/services/events/cli.py +78 -0
- package/server/services/events/daemon.py +163 -0
- package/server/services/events/envelope.py +281 -0
- package/server/services/events/lifecycle.py +99 -0
- package/server/services/events/oauth_lifecycle.py +534 -0
- package/server/services/events/polling.py +60 -0
- package/server/services/events/push.py +36 -0
- package/server/services/events/source.py +63 -0
- package/server/services/events/triggers.py +118 -0
- package/server/services/events/verifiers/__init__.py +25 -0
- package/server/services/events/verifiers/base.py +28 -0
- package/server/services/events/verifiers/github.py +25 -0
- package/server/services/events/verifiers/hmac_basic.py +32 -0
- package/server/services/events/verifiers/standard_webhooks.py +47 -0
- package/server/services/events/verifiers/stripe.py +42 -0
- package/server/services/events/webhook.py +105 -0
- package/server/services/handlers/tools.py +28 -186
- package/server/services/llm/config.py +7 -0
- package/server/services/llm/factory.py +8 -2
- package/server/services/memory/__init__.py +52 -0
- package/server/services/memory/jsonl.py +80 -0
- package/server/services/memory/markdown.py +65 -0
- package/server/services/memory/state.py +112 -0
- package/server/services/memory/vector_store.py +40 -0
- package/server/services/model_registry.py +76 -0
- package/server/services/node_allowlist.py +71 -15
- package/server/services/node_executor.py +2 -2
- package/server/services/node_output_schemas.py +21 -10
- package/server/services/node_spec.py +1 -1
- package/server/services/oauth_utils.py +1 -1
- package/server/services/plugin/__init__.py +2 -0
- package/server/services/plugin/base.py +44 -2
- package/server/services/plugin/credential.py +288 -1
- package/server/services/plugin/deps.py +105 -0
- package/server/services/plugin/edge_walker.py +12 -4
- package/server/services/plugin/oauth.py +381 -0
- package/server/services/plugin/polling.py +247 -0
- package/server/services/plugin/registry.py +145 -0
- package/server/services/plugin/singleton.py +65 -0
- package/server/services/plugin/ws.py +81 -0
- package/server/services/process_service.py +31 -2
- package/server/services/status_broadcaster.py +155 -238
- package/server/services/temporal/workflow.py +7 -7
- package/server/services/workflow.py +21 -3
- package/server/services/ws_handler_registry.py +111 -28
- package/server/skills/GUIDE.md +16 -1
- package/server/skills/assistant/agent-builder-skill/SKILL.md +166 -0
- package/server/skills/payments_agent/stripe-skill/SKILL.md +306 -0
- package/server/tests/credentials/test_auth_service.py +16 -9
- package/server/tests/credentials/test_credential_broadcasts.py +219 -0
- package/server/tests/credentials/test_google_oauth.py +6 -6
- package/server/tests/credentials/test_oauth_utils.py +1 -1
- package/server/tests/credentials/test_twitter_oauth.py +2 -2
- package/server/tests/credentials/test_websocket_handlers.py +44 -20
- package/server/tests/llm/test_factory.py +1 -0
- package/server/tests/llm/test_wiring.py +5 -1
- package/server/tests/nodes/_compat.py +24 -24
- package/server/tests/nodes/test_agent_builder.py +439 -0
- package/server/tests/nodes/test_ai_tools.py +18 -14
- package/server/tests/nodes/test_code_fs_process.py +17 -8
- package/server/tests/nodes/test_email.py +10 -9
- package/server/tests/nodes/test_google_workspace.py +2 -2
- package/server/tests/nodes/test_specialized_agents.py +100 -53
- package/server/tests/nodes/test_stripe_plugin.py +293 -0
- package/server/tests/nodes/test_telegram_social.py +4 -4
- package/server/tests/nodes/test_twitter.py +1 -1
- package/server/tests/nodes/test_web_automation.py +2 -2
- package/server/tests/nodes/test_whatsapp.py +9 -9
- package/server/tests/services/cli_agent/__init__.py +0 -0
- package/server/tests/services/cli_agent/test_mcp_server.py +432 -0
- package/server/tests/services/cli_agent/test_providers.py +358 -0
- package/server/tests/services/cli_agent/test_service.py +298 -0
- package/server/tests/services/memory/__init__.py +0 -0
- package/server/tests/services/memory/test_jsonl.py +188 -0
- package/server/tests/services/test_events.py +333 -0
- package/server/tests/test_node_spec.py +56 -16
- package/server/tests/test_plugin_helpers.py +116 -0
- package/server/tests/test_plugin_self_containment.py +486 -0
- package/server/tests/test_status_broadcasts.py +425 -0
- package/workflows/{AI Assistant_workflow-1777421105154-0m4snkzjf.json → AI Assistant_workflow-1778504793388-ou1m1tz2x.json } +70 -266
- package/workflows/{AI Employee_workflow-1777720598005-u4cm858dv.json → AI Employee_example_workflow-1777720598005-u4cm858dv.json } +112 -112
- package/workflows/Claude Assistant_workflow-1778380124051-mdibn807c.json +709 -0
- package/client/dist/assets/ActionBar-vzPpSR77.js +0 -1
- package/client/dist/assets/ApiKeyInput-Ds7AKFe8.js +0 -1
- package/client/dist/assets/ApiKeyPanel-gfblELep.js +0 -1
- package/client/dist/assets/ApiUsageSection-BMNWTe2r.js +0 -1
- package/client/dist/assets/EmailPanel-B1Om64p5.js +0 -1
- package/client/dist/assets/OAuthPanel-CXyQYGBz.js +0 -1
- package/client/dist/assets/QrPairingPanel-BgNuI1we.js +0 -1
- package/client/dist/assets/RateLimitSection-YYK8sx1T.js +0 -1
- package/client/dist/assets/StatusCard-DuYA5hJR.js +0 -1
- package/client/dist/assets/index-D9tZfgvi.js +0 -363
- package/client/dist/assets/index-al7snTkG.css +0 -1
- package/client/src/components/credentials/providers.tsx +0 -177
- package/server/routers/google.py +0 -277
- package/server/routers/maps.py +0 -142
- package/server/routers/twitter.py +0 -365
- package/server/services/claude_code_service.py +0 -106
- package/server/services/memory.py +0 -159
- package/server/services/node_option_loaders/__init__.py +0 -77
- package/server/services/node_option_loaders/android_loaders.py +0 -55
- package/server/services/node_option_loaders/google_loaders.py +0 -97
- package/server/services/node_option_loaders/whatsapp_loaders.py +0 -69
- package/server/services/twitter_oauth.py +0 -411
- package/server/services/websocket_client.py +0 -29
- /package/server/{services/android → nodes/android/_relay}/__init__.py +0 -0
- /package/server/{services/android → nodes/android/_relay}/broadcaster.py +0 -0
- /package/server/{services/android → nodes/android/_relay}/manager.py +0 -0
- /package/server/{services/android → nodes/android/_relay}/protocol.py +0 -0
- /package/server/{services/browser_service.py → nodes/browser/_service.py} +0 -0
- /package/server/{services/whatsapp_service.py → nodes/whatsapp/_service.py} +0 -0
- /package/server/skills/{task_agent → assistant}/write-todos-skill/SKILL.md +0 -0
|
@@ -0,0 +1,709 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "workflow-1778380124051-mdibn807c",
|
|
3
|
+
"name": "Claude Assistant",
|
|
4
|
+
"nodes": [
|
|
5
|
+
{
|
|
6
|
+
"id": "chatTrigger-1776209118671",
|
|
7
|
+
"type": "chatTrigger",
|
|
8
|
+
"position": {
|
|
9
|
+
"x": 920,
|
|
10
|
+
"y": 480
|
|
11
|
+
},
|
|
12
|
+
"data": {
|
|
13
|
+
"label": "Chat Trigger"
|
|
14
|
+
},
|
|
15
|
+
"width": 110,
|
|
16
|
+
"height": 82,
|
|
17
|
+
"selected": false,
|
|
18
|
+
"positionAbsolute": {
|
|
19
|
+
"x": 920,
|
|
20
|
+
"y": 480
|
|
21
|
+
},
|
|
22
|
+
"dragging": true
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "console-1776209125037",
|
|
26
|
+
"type": "console",
|
|
27
|
+
"position": {
|
|
28
|
+
"x": 1760,
|
|
29
|
+
"y": 520
|
|
30
|
+
},
|
|
31
|
+
"data": {
|
|
32
|
+
"label": "Console"
|
|
33
|
+
},
|
|
34
|
+
"width": 69,
|
|
35
|
+
"height": 82,
|
|
36
|
+
"selected": false,
|
|
37
|
+
"positionAbsolute": {
|
|
38
|
+
"x": 1760,
|
|
39
|
+
"y": 520
|
|
40
|
+
},
|
|
41
|
+
"dragging": false
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "simpleMemory-1776209197835",
|
|
45
|
+
"type": "simpleMemory",
|
|
46
|
+
"position": {
|
|
47
|
+
"x": 1160,
|
|
48
|
+
"y": 720
|
|
49
|
+
},
|
|
50
|
+
"data": {
|
|
51
|
+
"label": "Simple Memory"
|
|
52
|
+
},
|
|
53
|
+
"width": 120,
|
|
54
|
+
"height": 95,
|
|
55
|
+
"selected": false,
|
|
56
|
+
"positionAbsolute": {
|
|
57
|
+
"x": 1160,
|
|
58
|
+
"y": 720
|
|
59
|
+
},
|
|
60
|
+
"dragging": false
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "writeTodos-1776209200927",
|
|
64
|
+
"type": "writeTodos",
|
|
65
|
+
"position": {
|
|
66
|
+
"x": 1480,
|
|
67
|
+
"y": 720
|
|
68
|
+
},
|
|
69
|
+
"data": {
|
|
70
|
+
"label": "Write Todos"
|
|
71
|
+
},
|
|
72
|
+
"width": 104,
|
|
73
|
+
"height": 82,
|
|
74
|
+
"selected": false,
|
|
75
|
+
"positionAbsolute": {
|
|
76
|
+
"x": 1480,
|
|
77
|
+
"y": 720
|
|
78
|
+
},
|
|
79
|
+
"dragging": true
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "telegramReceive-1777443980609",
|
|
83
|
+
"type": "telegramReceive",
|
|
84
|
+
"position": {
|
|
85
|
+
"x": 920,
|
|
86
|
+
"y": 340
|
|
87
|
+
},
|
|
88
|
+
"data": {
|
|
89
|
+
"label": "Telegram Receive"
|
|
90
|
+
},
|
|
91
|
+
"width": 120,
|
|
92
|
+
"height": 95,
|
|
93
|
+
"selected": false,
|
|
94
|
+
"positionAbsolute": {
|
|
95
|
+
"x": 920,
|
|
96
|
+
"y": 340
|
|
97
|
+
},
|
|
98
|
+
"dragging": false
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "telegramSend-1777443981868",
|
|
102
|
+
"type": "telegramSend",
|
|
103
|
+
"position": {
|
|
104
|
+
"x": 1720,
|
|
105
|
+
"y": 380
|
|
106
|
+
},
|
|
107
|
+
"data": {
|
|
108
|
+
"label": "Telegram Send"
|
|
109
|
+
},
|
|
110
|
+
"width": 120,
|
|
111
|
+
"height": 95,
|
|
112
|
+
"selected": false,
|
|
113
|
+
"positionAbsolute": {
|
|
114
|
+
"x": 1720,
|
|
115
|
+
"y": 380
|
|
116
|
+
},
|
|
117
|
+
"dragging": false
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "masterSkill-1778380286486-616",
|
|
121
|
+
"type": "masterSkill",
|
|
122
|
+
"position": {
|
|
123
|
+
"x": 1280,
|
|
124
|
+
"y": 720
|
|
125
|
+
},
|
|
126
|
+
"data": {
|
|
127
|
+
"label": "Master Skill"
|
|
128
|
+
},
|
|
129
|
+
"width": 109,
|
|
130
|
+
"height": 82,
|
|
131
|
+
"selected": false,
|
|
132
|
+
"positionAbsolute": {
|
|
133
|
+
"x": 1280,
|
|
134
|
+
"y": 720
|
|
135
|
+
},
|
|
136
|
+
"dragging": true
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": "claude_code_agent-1778411902299",
|
|
140
|
+
"type": "claude_code_agent",
|
|
141
|
+
"position": {
|
|
142
|
+
"x": 1300,
|
|
143
|
+
"y": 380
|
|
144
|
+
},
|
|
145
|
+
"data": {
|
|
146
|
+
"label": "Claude Code"
|
|
147
|
+
},
|
|
148
|
+
"width": 300,
|
|
149
|
+
"height": 200,
|
|
150
|
+
"selected": false,
|
|
151
|
+
"positionAbsolute": {
|
|
152
|
+
"x": 1300,
|
|
153
|
+
"y": 380
|
|
154
|
+
},
|
|
155
|
+
"dragging": false
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "duckduckgoSearch-1778506339533",
|
|
159
|
+
"type": "duckduckgoSearch",
|
|
160
|
+
"position": {
|
|
161
|
+
"x": 1680,
|
|
162
|
+
"y": 720
|
|
163
|
+
},
|
|
164
|
+
"data": {
|
|
165
|
+
"label": "DuckDuckGo Search"
|
|
166
|
+
},
|
|
167
|
+
"width": 120,
|
|
168
|
+
"height": 95,
|
|
169
|
+
"selected": false,
|
|
170
|
+
"positionAbsolute": {
|
|
171
|
+
"x": 1680,
|
|
172
|
+
"y": 720
|
|
173
|
+
},
|
|
174
|
+
"dragging": false
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "processManager-1778506349726",
|
|
178
|
+
"type": "processManager",
|
|
179
|
+
"position": {
|
|
180
|
+
"x": 1580,
|
|
181
|
+
"y": 720
|
|
182
|
+
},
|
|
183
|
+
"data": {
|
|
184
|
+
"label": "Process Manager"
|
|
185
|
+
},
|
|
186
|
+
"width": 120,
|
|
187
|
+
"height": 95,
|
|
188
|
+
"selected": false,
|
|
189
|
+
"positionAbsolute": {
|
|
190
|
+
"x": 1580,
|
|
191
|
+
"y": 720
|
|
192
|
+
},
|
|
193
|
+
"dragging": false
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"id": "browser-1778506353729",
|
|
197
|
+
"type": "browser",
|
|
198
|
+
"position": {
|
|
199
|
+
"x": 1820,
|
|
200
|
+
"y": 720
|
|
201
|
+
},
|
|
202
|
+
"data": {
|
|
203
|
+
"label": "Browser"
|
|
204
|
+
},
|
|
205
|
+
"width": 74,
|
|
206
|
+
"height": 82,
|
|
207
|
+
"selected": false,
|
|
208
|
+
"positionAbsolute": {
|
|
209
|
+
"x": 1820,
|
|
210
|
+
"y": 720
|
|
211
|
+
},
|
|
212
|
+
"dragging": false
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"id": "fileModify-1778506360537",
|
|
216
|
+
"type": "fileModify",
|
|
217
|
+
"position": {
|
|
218
|
+
"x": 1920,
|
|
219
|
+
"y": 720
|
|
220
|
+
},
|
|
221
|
+
"data": {
|
|
222
|
+
"label": "File Modify"
|
|
223
|
+
},
|
|
224
|
+
"width": 96,
|
|
225
|
+
"height": 82,
|
|
226
|
+
"selected": false,
|
|
227
|
+
"positionAbsolute": {
|
|
228
|
+
"x": 1920,
|
|
229
|
+
"y": 720
|
|
230
|
+
},
|
|
231
|
+
"dragging": false
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"id": "fileRead-1778506361175",
|
|
235
|
+
"type": "fileRead",
|
|
236
|
+
"position": {
|
|
237
|
+
"x": 2040,
|
|
238
|
+
"y": 720
|
|
239
|
+
},
|
|
240
|
+
"data": {
|
|
241
|
+
"label": "File Read"
|
|
242
|
+
},
|
|
243
|
+
"width": 77,
|
|
244
|
+
"height": 82,
|
|
245
|
+
"selected": false,
|
|
246
|
+
"positionAbsolute": {
|
|
247
|
+
"x": 2040,
|
|
248
|
+
"y": 720
|
|
249
|
+
},
|
|
250
|
+
"dragging": false
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"id": "fsSearch-1778506361835",
|
|
254
|
+
"type": "fsSearch",
|
|
255
|
+
"position": {
|
|
256
|
+
"x": 2140,
|
|
257
|
+
"y": 720
|
|
258
|
+
},
|
|
259
|
+
"data": {
|
|
260
|
+
"label": "FS Search"
|
|
261
|
+
},
|
|
262
|
+
"width": 81,
|
|
263
|
+
"height": 82,
|
|
264
|
+
"selected": false,
|
|
265
|
+
"positionAbsolute": {
|
|
266
|
+
"x": 2140,
|
|
267
|
+
"y": 720
|
|
268
|
+
},
|
|
269
|
+
"dragging": false
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": "shell-1778506362485",
|
|
273
|
+
"type": "shell",
|
|
274
|
+
"position": {
|
|
275
|
+
"x": 2240,
|
|
276
|
+
"y": 720
|
|
277
|
+
},
|
|
278
|
+
"data": {
|
|
279
|
+
"label": "Shell"
|
|
280
|
+
},
|
|
281
|
+
"width": 60,
|
|
282
|
+
"height": 82,
|
|
283
|
+
"selected": false,
|
|
284
|
+
"positionAbsolute": {
|
|
285
|
+
"x": 2240,
|
|
286
|
+
"y": 720
|
|
287
|
+
},
|
|
288
|
+
"dragging": true
|
|
289
|
+
}
|
|
290
|
+
],
|
|
291
|
+
"edges": [
|
|
292
|
+
{
|
|
293
|
+
"type": "smoothstep",
|
|
294
|
+
"animated": true,
|
|
295
|
+
"style": {
|
|
296
|
+
"stroke": "#8be9fd",
|
|
297
|
+
"strokeWidth": 3
|
|
298
|
+
},
|
|
299
|
+
"source": "telegramReceive-1777443980609",
|
|
300
|
+
"sourceHandle": "output-main",
|
|
301
|
+
"target": "claude_code_agent-1778411902299",
|
|
302
|
+
"targetHandle": "input-main",
|
|
303
|
+
"id": "reactflow__edge-telegramReceive-1777443980609output-main-claude_code_agent-1778411902299input-main",
|
|
304
|
+
"selected": false
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"type": "smoothstep",
|
|
308
|
+
"animated": true,
|
|
309
|
+
"style": {
|
|
310
|
+
"stroke": "#8be9fd",
|
|
311
|
+
"strokeWidth": 3
|
|
312
|
+
},
|
|
313
|
+
"source": "chatTrigger-1776209118671",
|
|
314
|
+
"sourceHandle": "output-main",
|
|
315
|
+
"target": "claude_code_agent-1778411902299",
|
|
316
|
+
"targetHandle": "input-main",
|
|
317
|
+
"id": "reactflow__edge-chatTrigger-1776209118671output-main-claude_code_agent-1778411902299input-main",
|
|
318
|
+
"selected": false
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"type": "smoothstep",
|
|
322
|
+
"animated": true,
|
|
323
|
+
"style": {
|
|
324
|
+
"stroke": "#8be9fd",
|
|
325
|
+
"strokeWidth": 3
|
|
326
|
+
},
|
|
327
|
+
"source": "claude_code_agent-1778411902299",
|
|
328
|
+
"sourceHandle": "output-main",
|
|
329
|
+
"target": "telegramSend-1777443981868",
|
|
330
|
+
"targetHandle": "input-main",
|
|
331
|
+
"id": "reactflow__edge-claude_code_agent-1778411902299output-main-telegramSend-1777443981868input-main",
|
|
332
|
+
"selected": false
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"type": "smoothstep",
|
|
336
|
+
"animated": true,
|
|
337
|
+
"style": {
|
|
338
|
+
"stroke": "#8be9fd",
|
|
339
|
+
"strokeWidth": 3
|
|
340
|
+
},
|
|
341
|
+
"source": "claude_code_agent-1778411902299",
|
|
342
|
+
"sourceHandle": "output-main",
|
|
343
|
+
"target": "console-1776209125037",
|
|
344
|
+
"targetHandle": "input-main",
|
|
345
|
+
"id": "reactflow__edge-claude_code_agent-1778411902299output-main-console-1776209125037input-main",
|
|
346
|
+
"selected": false
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"type": "smoothstep",
|
|
350
|
+
"animated": true,
|
|
351
|
+
"style": {
|
|
352
|
+
"stroke": "#8be9fd",
|
|
353
|
+
"strokeWidth": 3
|
|
354
|
+
},
|
|
355
|
+
"source": "simpleMemory-1776209197835",
|
|
356
|
+
"sourceHandle": "output-tool",
|
|
357
|
+
"target": "claude_code_agent-1778411902299",
|
|
358
|
+
"targetHandle": "input-memory",
|
|
359
|
+
"id": "reactflow__edge-simpleMemory-1776209197835output-tool-claude_code_agent-1778411902299input-memory",
|
|
360
|
+
"selected": false
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"type": "smoothstep",
|
|
364
|
+
"animated": true,
|
|
365
|
+
"style": {
|
|
366
|
+
"stroke": "#8be9fd",
|
|
367
|
+
"strokeWidth": 3
|
|
368
|
+
},
|
|
369
|
+
"source": "masterSkill-1778380286486-616",
|
|
370
|
+
"sourceHandle": "output-tool",
|
|
371
|
+
"target": "claude_code_agent-1778411902299",
|
|
372
|
+
"targetHandle": "input-skill",
|
|
373
|
+
"id": "reactflow__edge-masterSkill-1778380286486-616output-tool-claude_code_agent-1778411902299input-skill",
|
|
374
|
+
"selected": false
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"type": "smoothstep",
|
|
378
|
+
"animated": true,
|
|
379
|
+
"style": {
|
|
380
|
+
"stroke": "#8be9fd",
|
|
381
|
+
"strokeWidth": 3
|
|
382
|
+
},
|
|
383
|
+
"source": "writeTodos-1776209200927",
|
|
384
|
+
"sourceHandle": "output-tool",
|
|
385
|
+
"target": "claude_code_agent-1778411902299",
|
|
386
|
+
"targetHandle": "input-tools",
|
|
387
|
+
"id": "reactflow__edge-writeTodos-1776209200927output-tool-claude_code_agent-1778411902299input-tools",
|
|
388
|
+
"selected": false
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"type": "smoothstep",
|
|
392
|
+
"animated": true,
|
|
393
|
+
"style": {
|
|
394
|
+
"stroke": "#8be9fd",
|
|
395
|
+
"strokeWidth": 3
|
|
396
|
+
},
|
|
397
|
+
"source": "browser-1778506353729",
|
|
398
|
+
"sourceHandle": "output-tool",
|
|
399
|
+
"target": "claude_code_agent-1778411902299",
|
|
400
|
+
"targetHandle": "input-tools",
|
|
401
|
+
"id": "reactflow__edge-browser-1778506353729output-tool-claude_code_agent-1778411902299input-tools",
|
|
402
|
+
"selected": false
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"type": "smoothstep",
|
|
406
|
+
"animated": true,
|
|
407
|
+
"style": {
|
|
408
|
+
"stroke": "#8be9fd",
|
|
409
|
+
"strokeWidth": 3
|
|
410
|
+
},
|
|
411
|
+
"source": "processManager-1778506349726",
|
|
412
|
+
"sourceHandle": "output-tool",
|
|
413
|
+
"target": "claude_code_agent-1778411902299",
|
|
414
|
+
"targetHandle": "input-tools",
|
|
415
|
+
"id": "reactflow__edge-processManager-1778506349726output-tool-claude_code_agent-1778411902299input-tools",
|
|
416
|
+
"selected": false
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"type": "smoothstep",
|
|
420
|
+
"animated": true,
|
|
421
|
+
"style": {
|
|
422
|
+
"stroke": "#8be9fd",
|
|
423
|
+
"strokeWidth": 3
|
|
424
|
+
},
|
|
425
|
+
"source": "duckduckgoSearch-1778506339533",
|
|
426
|
+
"sourceHandle": "output-tool",
|
|
427
|
+
"target": "claude_code_agent-1778411902299",
|
|
428
|
+
"targetHandle": "input-tools",
|
|
429
|
+
"id": "reactflow__edge-duckduckgoSearch-1778506339533output-tool-claude_code_agent-1778411902299input-tools",
|
|
430
|
+
"selected": false
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"type": "smoothstep",
|
|
434
|
+
"animated": true,
|
|
435
|
+
"style": {
|
|
436
|
+
"stroke": "#8be9fd",
|
|
437
|
+
"strokeWidth": 3
|
|
438
|
+
},
|
|
439
|
+
"source": "fileModify-1778506360537",
|
|
440
|
+
"sourceHandle": "output-tool",
|
|
441
|
+
"target": "claude_code_agent-1778411902299",
|
|
442
|
+
"targetHandle": "input-tools",
|
|
443
|
+
"id": "reactflow__edge-fileModify-1778506360537output-tool-claude_code_agent-1778411902299input-tools",
|
|
444
|
+
"selected": false
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"type": "smoothstep",
|
|
448
|
+
"animated": true,
|
|
449
|
+
"style": {
|
|
450
|
+
"stroke": "#8be9fd",
|
|
451
|
+
"strokeWidth": 3
|
|
452
|
+
},
|
|
453
|
+
"source": "fileRead-1778506361175",
|
|
454
|
+
"sourceHandle": "output-tool",
|
|
455
|
+
"target": "claude_code_agent-1778411902299",
|
|
456
|
+
"targetHandle": "input-tools",
|
|
457
|
+
"id": "reactflow__edge-fileRead-1778506361175output-tool-claude_code_agent-1778411902299input-tools",
|
|
458
|
+
"selected": false
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"type": "smoothstep",
|
|
462
|
+
"animated": true,
|
|
463
|
+
"style": {
|
|
464
|
+
"stroke": "#8be9fd",
|
|
465
|
+
"strokeWidth": 3
|
|
466
|
+
},
|
|
467
|
+
"source": "fsSearch-1778506361835",
|
|
468
|
+
"sourceHandle": "output-tool",
|
|
469
|
+
"target": "claude_code_agent-1778411902299",
|
|
470
|
+
"targetHandle": "input-tools",
|
|
471
|
+
"id": "reactflow__edge-fsSearch-1778506361835output-tool-claude_code_agent-1778411902299input-tools",
|
|
472
|
+
"selected": false
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"type": "smoothstep",
|
|
476
|
+
"animated": true,
|
|
477
|
+
"style": {
|
|
478
|
+
"stroke": "#8be9fd",
|
|
479
|
+
"strokeWidth": 3
|
|
480
|
+
},
|
|
481
|
+
"source": "shell-1778506362485",
|
|
482
|
+
"sourceHandle": "output-tool",
|
|
483
|
+
"target": "claude_code_agent-1778411902299",
|
|
484
|
+
"targetHandle": "input-tools",
|
|
485
|
+
"id": "reactflow__edge-shell-1778506362485output-tool-claude_code_agent-1778411902299input-tools",
|
|
486
|
+
"selected": false
|
|
487
|
+
}
|
|
488
|
+
],
|
|
489
|
+
"createdAt": "2026-05-09T20:58:45.194Z",
|
|
490
|
+
"lastModified": "2026-05-11T13:33:48.934Z",
|
|
491
|
+
"version": "0.0.72",
|
|
492
|
+
"nodeParameters": {
|
|
493
|
+
"console-1776209125037": {
|
|
494
|
+
"label": "Console",
|
|
495
|
+
"log_mode": "field",
|
|
496
|
+
"field_path": "{{aiagent.response}}",
|
|
497
|
+
"expression": "",
|
|
498
|
+
"format": "json",
|
|
499
|
+
"fieldPath": ""
|
|
500
|
+
},
|
|
501
|
+
"simpleMemory-1776209197835": {
|
|
502
|
+
"session_id": "",
|
|
503
|
+
"window_size": 100,
|
|
504
|
+
"memory_content": "# Conversation History\n\n*No messages yet.*\n",
|
|
505
|
+
"long_term_enabled": false,
|
|
506
|
+
"retrieval_count": 3,
|
|
507
|
+
"last_session_id": null,
|
|
508
|
+
"sessionId": "",
|
|
509
|
+
"windowSize": 100,
|
|
510
|
+
"longTermEnabled": false,
|
|
511
|
+
"retrievalCount": 3
|
|
512
|
+
},
|
|
513
|
+
"telegramReceive-1777443980609": {
|
|
514
|
+
"content_type_filter": "text",
|
|
515
|
+
"sender_filter": "self",
|
|
516
|
+
"chat_id": "",
|
|
517
|
+
"from_user": "",
|
|
518
|
+
"keywords": "",
|
|
519
|
+
"ignore_bots": true,
|
|
520
|
+
"label": "Telegram Receive"
|
|
521
|
+
},
|
|
522
|
+
"telegramSend-1777443981868": {
|
|
523
|
+
"recipient_type": "self",
|
|
524
|
+
"chat_id": "",
|
|
525
|
+
"message_type": "text",
|
|
526
|
+
"text": "{{aiagent.response}}",
|
|
527
|
+
"media_url": "",
|
|
528
|
+
"caption": "",
|
|
529
|
+
"latitude": null,
|
|
530
|
+
"longitude": null,
|
|
531
|
+
"phone_number": "",
|
|
532
|
+
"first_name": "",
|
|
533
|
+
"last_name": "",
|
|
534
|
+
"parse_mode": "Auto",
|
|
535
|
+
"silent": false,
|
|
536
|
+
"reply_to_message_id": 0,
|
|
537
|
+
"label": "Telegram Send"
|
|
538
|
+
},
|
|
539
|
+
"masterSkill-1778380286486-616": {
|
|
540
|
+
"skills_config": {
|
|
541
|
+
"perplexity-search-skill": {
|
|
542
|
+
"enabled": true,
|
|
543
|
+
"instructions": "",
|
|
544
|
+
"isCustomized": false
|
|
545
|
+
},
|
|
546
|
+
"write-todos-skill": {
|
|
547
|
+
"enabled": true,
|
|
548
|
+
"instructions": "",
|
|
549
|
+
"isCustomized": false
|
|
550
|
+
},
|
|
551
|
+
"duckduckgo-search-skill": {
|
|
552
|
+
"enabled": true,
|
|
553
|
+
"instructions": "",
|
|
554
|
+
"isCustomized": false
|
|
555
|
+
},
|
|
556
|
+
"browser-skill": {
|
|
557
|
+
"enabled": true,
|
|
558
|
+
"instructions": "",
|
|
559
|
+
"isCustomized": false
|
|
560
|
+
},
|
|
561
|
+
"fs-search-skill": {
|
|
562
|
+
"enabled": true,
|
|
563
|
+
"instructions": "",
|
|
564
|
+
"isCustomized": false
|
|
565
|
+
},
|
|
566
|
+
"shell-skill": {
|
|
567
|
+
"enabled": true,
|
|
568
|
+
"instructions": "",
|
|
569
|
+
"isCustomized": false
|
|
570
|
+
},
|
|
571
|
+
"file-read-skill": {
|
|
572
|
+
"enabled": true,
|
|
573
|
+
"instructions": "",
|
|
574
|
+
"isCustomized": false
|
|
575
|
+
},
|
|
576
|
+
"file-modify-skill": {
|
|
577
|
+
"enabled": true,
|
|
578
|
+
"instructions": "",
|
|
579
|
+
"isCustomized": false
|
|
580
|
+
},
|
|
581
|
+
"process-manager-skill": {
|
|
582
|
+
"enabled": true,
|
|
583
|
+
"instructions": "",
|
|
584
|
+
"isCustomized": false
|
|
585
|
+
},
|
|
586
|
+
"python-skill": {
|
|
587
|
+
"enabled": false,
|
|
588
|
+
"instructions": "",
|
|
589
|
+
"isCustomized": false
|
|
590
|
+
},
|
|
591
|
+
"twitter-user-skill": {
|
|
592
|
+
"enabled": true,
|
|
593
|
+
"instructions": "",
|
|
594
|
+
"isCustomized": false
|
|
595
|
+
},
|
|
596
|
+
"twitter-search-skill": {
|
|
597
|
+
"enabled": true,
|
|
598
|
+
"instructions": "",
|
|
599
|
+
"isCustomized": false
|
|
600
|
+
},
|
|
601
|
+
"whatsapp-db-skill": {
|
|
602
|
+
"enabled": true,
|
|
603
|
+
"instructions": "",
|
|
604
|
+
"isCustomized": false
|
|
605
|
+
},
|
|
606
|
+
"memory-skill": {
|
|
607
|
+
"enabled": true,
|
|
608
|
+
"instructions": "# Memory Management Skill\n\nThis skill enables you to manage conversation memory using the SimpleMemory node's markdown-based storage system.\n\n## Memory Architecture\n\n### Short-Term Memory (Markdown)\n- Visible and editable in the SimpleMemory node's UI\n- Stored as markdown with timestamped entries\n- Window-based: keeps last N message pairs (configurable)\n- Format: `### **Human** (timestamp)` and `### **Assistant** (timestamp)`\n\n### Long-Term Memory (Vector DB)\n- Automatically archives messages that exceed the window\n- Semantic search for relevant past conversations\n- Enabled via `longTermEnabled` in SimpleMemory node\n\n## Capabilities\n\n1. **View History**: See recent conversation in markdown format\n2. **Save Notes**: Add explicit notes/memories to the conversation\n3. **Search Memory**: Find relevant past conversations semantically\n4. **Clear Memory**: Reset conversation history\n\n## When to Use\n\n**Save information when:**\n- User says \"remember this\" or \"don't forget\"\n- Important context is shared for future use\n- User wants to note something specific\n\n**Recall information when:**\n- User asks \"do you remember...\"\n- Context from earlier is needed\n- User references previous discussions\n\n**View history when:**\n- User wants to see conversation log\n- Debugging or reviewing past exchanges\n\n## Tool Reference\n\n### memory-save\nAdd a note or memory entry to the conversation history.\n\nParameters:\n- `content` (required): Information to remember\n- `role` (optional): \"note\" (default) or \"context\"\n\nExample:\n```json\n{\n \"content\": \"User's favorite color is blue\",\n \"role\": \"note\"\n}\n```\n\n### memory-get\nGet recent conversation history or search for specific content.\n\nParameters:\n- `count` (optional): Number of recent messages (default: 10)\n- `search` (optional): Search term to find specific memories\n\nExample - Recent history:\n```json\n{\n \"count\": 5\n}\n```\n\nExample - Search:\n```json\n{\n \"search\": \"favorite color\"\n}\n```\n\n### memory-clear\nClear conversation history.\n\nParameters:\n- `confirm` (required): Must be true to clear\n\nExample:\n```json\n{\n \"confirm\": true\n}\n```\n\n### memory-view\nView the current conversation history in markdown format.\n\nParameters: None\n\nReturns the full markdown content of the conversation history.\n\n### memory-search\nSemantic search in long-term memory (if enabled).\n\nParameters:\n- `query` (required): Search query\n- `count` (optional): Number of results (default: 3)\n\nExample:\n```json\n{\n \"query\": \"what did we discuss about the project\",\n \"count\": 5\n}\n```\n\n## Markdown Format\n\nThe conversation history uses this format:\n\n```markdown\n# Conversation History\n\n### **Human** (2025-01-30 10:15:32)\nHello, how are you?\n\n### **Assistant** (2025-01-30 10:15:35)\nI'm doing well! How can I help you today?\n\n### **Note** (2025-01-30 10:16:00)\nUser prefers formal language.\n```\n\n## Integration with SimpleMemory Node\n\nWhen connected to a Zeenie:\n1. Conversation is automatically logged to markdown\n2. Window size limits short-term memory\n3. Overflow archives to vector DB (if long-term enabled)\n4. You can view/edit the markdown in the node's parameter panel\n\n## Best Practices\n\n1. Use memory-save for explicit user requests to remember\n2. Use memory-search for semantic recall of past discussions\n3. Don't save sensitive information without user consent\n4. The markdown is editable - users can manually curate their history\n",
|
|
609
|
+
"isCustomized": false
|
|
610
|
+
},
|
|
611
|
+
"humanify-skill": {
|
|
612
|
+
"enabled": true,
|
|
613
|
+
"instructions": "# Humanify Output Skill\n\nFormat your responses for human readability. Output clean, pretty text that's easy to scan and understand - not raw markdown syntax or code-heavy formatting.\n\n## Core Principles\n\n1. **Plain Language First**: Write naturally, as if speaking to someone\n2. **Visual Clarity**: Use spacing, indentation, and structure for scannability\n3. **No Raw Syntax**: Avoid showing markdown symbols, JSON, or code unless specifically requested\n4. **Progressive Detail**: Lead with key information, details follow\n\n## Formatting Guidelines\n\n### Instead of Markdown Headers\n```\nBad: ## Section Title\nGood: SECTION TITLE\n -------------\n```\n\n### Instead of Bullet Lists with Symbols\n```\nBad: - Item one\n - Item two\n\nGood: Item one\n Item two\n\n or: * Item one\n * Item two\n```\n\n### Instead of Code Blocks for Data\n```\nBad: ```json\n {\"name\": \"John\", \"age\": 30}\n ```\n\nGood: Name: John\n Age: 30\n```\n\n### Instead of Tables with Pipes\n```\nBad: | Name | Value |\n |------|-------|\n | Foo | 123 |\n\nGood: Name Value\n ---- -----\n Foo 123\n```\n\n### Instead of Raw URLs\n```\nBad: Check https://example.com/very/long/path/to/resource\n\nGood: Check the resource page (link available)\n or: Resource: example.com\n```\n\n## Response Patterns\n\n### For Status Updates\n```\nStatus: Complete\nTime: 2.3 seconds\nResult: Successfully processed 15 items\n\nDetails:\n Processed: 15\n Skipped: 2\n Errors: 0\n```\n\n### For Lists of Items\n```\nFound 3 matching files:\n\n 1. config.json\n Location: /app/settings\n Modified: Today\n\n 2. config.backup.json\n Location: /app/backups\n Modified: Yesterday\n\n 3. config.old.json\n Location: /archive\n Modified: Last week\n```\n\n### For Explanations\n```\nThe function calculates the total by:\n\n First, it gathers all input values\n Then, it filters out any invalid entries\n Finally, it sums the remaining numbers\n\nNote: Empty inputs are treated as zero.\n```\n\n### For Errors or Warnings\n```\nCould not complete the request.\n\nReason: The file was not found at the specified location.\n\nSuggestions:\n Check if the file path is correct\n Verify the file exists\n Ensure you have read permissions\n```\n\n### For Confirmations\n```\nDone! Created new user account.\n\n Username: jsmith\n Email: john@example.com\n Role: Editor\n\nNext: The user will receive a welcome email shortly.\n```\n\n## When to Use Each Style\n\n### Use Pretty Formatting When:\n- Showing results or status\n- Explaining concepts\n- Listing options or items\n- Providing instructions\n- Displaying data summaries\n\n### Keep Technical Formatting When:\n- User explicitly requests code/markdown\n- Showing code that needs to be copied\n- Displaying configuration files\n- Technical documentation\n- API responses that need exact format\n\n## Typography Tips\n\n### Visual Separators\n```\nSection breaks: ---------------\nLight dividers: . . . . . . . .\nBox drawing: +-------------+\n | Content |\n +-------------+\n```\n\n### Emphasis Without Markdown\n```\nInstead of **bold**: Use CAPS or spacing\nInstead of *italic*: Use quotes or context\nInstead of `code`: Use clear naming\n```\n\n### Spacing for Clarity\n```\nGroup related items with spacing:\n\n Primary Actions\n Save changes\n Submit form\n\n Secondary Actions\n Cancel\n Reset\n```\n\n## Examples\n\n### Bad (Raw Markdown)\n```\n### Results\n- **Found**: 5 files\n- **Size**: 2.3MB\n- **Status**: `complete`\n\nSee [documentation](https://docs.example.com) for more info.\n```\n\n### Good (Humanified)\n```\nRESULTS\n-------\nFound: 5 files\nSize: 2.3 MB\nStatus: Complete\n\nSee the documentation for more details.\n```\n\n## Remember\n\nThe goal is communication, not formatting. Choose the clearest way to convey information to a human reader. When in doubt, write it as you would explain it to a colleague standing next to you.\n",
|
|
614
|
+
"isCustomized": false
|
|
615
|
+
},
|
|
616
|
+
"compaction-skill": {
|
|
617
|
+
"enabled": true,
|
|
618
|
+
"instructions": "# Memory Compaction Skill\n\nYou have the ability to compact conversation memory when it grows too large. Compaction transforms verbose conversation history into a structured summary that preserves essential context while reducing token usage.\n\n## When to Compact\n\nCompact memory when:\n- The system indicates token threshold is approaching\n- Conversation history becomes repetitive or verbose\n- You need to preserve important context but reduce size\n- Starting a new phase of work after completing a major task\n\n## Compaction Summary Structure\n\nWhen compacting, create a summary with these 5 sections:\n\n### 1. Task Overview\nWhat the user is trying to accomplish. Include:\n- Primary goal or objective\n- Key constraints or requirements\n- Scope of the work\n\n### 2. Current State\nWhat's been completed and what's in progress:\n- Completed tasks and their outcomes\n- Work currently in flight\n- Pending decisions or blockers\n\n### 3. Important Discoveries\nKey findings, decisions, or problems encountered:\n- Technical discoveries or insights\n- Decisions made and their rationale\n- Problems encountered and solutions applied\n- User preferences learned\n\n### 4. Next Steps\nWhat needs to happen next:\n- Immediate actions required\n- Planned approach for remaining work\n- Dependencies or prerequisites\n\n### 5. Context to Preserve\nCritical details that must be retained:\n- Specific values, IDs, or references\n- User preferences or constraints\n- Technical details needed for continuity\n- Any warnings or caveats\n\n## Compaction Format\n\nOutput the compacted summary in this format:\n\n```markdown\n# Conversation Summary (Compacted)\n*Generated: [ISO timestamp]*\n\n## Task Overview\n[1-3 sentences describing the goal]\n\n## Current State\n- [Completed item 1]\n- [Completed item 2]\n- [In progress: description]\n\n## Important Discoveries\n- [Discovery 1 with context]\n- [Decision made: rationale]\n- [Problem solved: approach]\n\n## Next Steps\n1. [Next action]\n2. [Following action]\n\n## Context to Preserve\n- [Critical detail 1]\n- [Critical detail 2]\n```\n\n## Best Practices\n\n1. **Be Concise**: Each section should be brief but complete\n2. **Preserve Specifics**: Keep exact values, names, and references\n3. **Capture Decisions**: Record WHY decisions were made, not just WHAT\n4. **Include Failures**: Document what didn't work to avoid repetition\n5. **Maintain Continuity**: Summary should allow seamless continuation\n\n## What NOT to Include\n\n- Verbose back-and-forth dialogue\n- Redundant information\n- Superseded decisions (only keep final decisions)\n- Exploratory tangents that didn't lead anywhere\n- Standard pleasantries or acknowledgments\n\n## Example Compaction\n\n**Before** (verbose history):\n```\nHuman: Can you help me debug this Python function?\nAI: Of course! Please share the function.\nHuman: Here's the function: def calculate(x): return x * 2\nAI: I see the function. What issue are you experiencing?\nHuman: It returns None sometimes\nAI: That's interesting. Can you show me an example input?\nHuman: calculate(\"5\") returns None\nAI: Ah, I see the issue! When you pass a string...\n[continues for 50+ messages]\n```\n\n**After** (compacted):\n```markdown\n# Conversation Summary (Compacted)\n*Generated: 2025-02-13T10:30:00Z*\n\n## Task Overview\nDebug Python function `calculate(x)` that returns None for some inputs.\n\n## Current State\n- Identified root cause: string inputs cause implicit None return\n- Implemented fix with type checking and conversion\n- Tests passing for int, float, and string inputs\n\n## Important Discoveries\n- Original function had no type validation\n- String multiplication in Python doesn't raise error but behaves unexpectedly\n- User prefers explicit error messages over silent failures\n\n## Next Steps\n1. Add input validation for edge cases (None, empty string)\n2. Write unit tests for the fixed function\n\n## Context to Preserve\n- Function location: `utils/math_helpers.py:45`\n- User wants to maintain backward compatibility\n- Prefer raising ValueError over returning None\n```\n\n## Integration with Memory System\n\nWhen compaction is triggered:\n1. The compacted summary replaces the current memory content\n2. New conversation messages are appended after the summary\n3. The summary header indicates when compaction occurred\n\nThis allows conversation to continue naturally while maintaining reduced token usage.\n",
|
|
619
|
+
"isCustomized": false
|
|
620
|
+
},
|
|
621
|
+
"assistant-personality": {
|
|
622
|
+
"enabled": true,
|
|
623
|
+
"instructions": "# Assistant Personality\n\nYou are a helpful, harmless, and honest AI assistant. Your goal is to assist users with their requests while being truthful and avoiding harmful content.\n\n## Core Principles\n\n1. **Helpfulness**: Provide clear, accurate, and useful information\n2. **Honesty**: Be truthful about your capabilities and limitations\n3. **Safety**: Avoid generating harmful, illegal, or unethical content\n\n## Task Planning\n\nWhen a request involves **3 or more steps**, use the `write_todos` tool to plan and track your work before acting:\n\n1. **Plan first** -- call `write_todos` with a list of actionable steps, mark the first `in_progress`\n2. **Work, then update** -- after each step, call `write_todos` again to mark it `completed` and the next `in_progress`\n3. **Revise as you go** -- add new tasks, remove irrelevant ones, reword as needed\n4. **Complete all** -- keep working until every task is `completed`\n\nFor simple requests (1-2 steps), skip the todo list and respond directly.\n\n## Communication Style\n\n- Be concise but thorough\n- Use clear, simple language\n- Break down complex topics into understandable parts\n- Ask clarifying questions when needed\n- Admit when you don't know something\n\n## Response Guidelines\n\nWhen responding to users:\n1. Understand the intent behind their question\n2. For complex tasks: plan with `write_todos` first, then execute step by step\n3. For simple questions: respond directly\n4. Include relevant context or caveats\n5. Suggest follow-up actions if appropriate\n",
|
|
624
|
+
"isCustomized": false
|
|
625
|
+
},
|
|
626
|
+
"agent-builder-skill": {
|
|
627
|
+
"enabled": false,
|
|
628
|
+
"instructions": "",
|
|
629
|
+
"isCustomized": false
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
},
|
|
633
|
+
"claude_code_agent-1778411902299": {
|
|
634
|
+
"tasks": null,
|
|
635
|
+
"prompt": "{{telegramreceive.text}}",
|
|
636
|
+
"model": "claude-sonnet-4-6",
|
|
637
|
+
"system_prompt": null,
|
|
638
|
+
"working_directory": null,
|
|
639
|
+
"max_parallel": 5,
|
|
640
|
+
"allowed_credentials": null,
|
|
641
|
+
"label": "Claude Code"
|
|
642
|
+
},
|
|
643
|
+
"duckduckgoSearch-1778506339533": {
|
|
644
|
+
"max_results": 5,
|
|
645
|
+
"label": "DuckDuckGo Search"
|
|
646
|
+
},
|
|
647
|
+
"processManager-1778506349726": {
|
|
648
|
+
"operation": "list",
|
|
649
|
+
"name": "",
|
|
650
|
+
"command": "",
|
|
651
|
+
"cwd": "",
|
|
652
|
+
"input_text": "",
|
|
653
|
+
"stream": "stdout",
|
|
654
|
+
"tail": 100,
|
|
655
|
+
"label": "Process Manager"
|
|
656
|
+
},
|
|
657
|
+
"browser-1778506353729": {
|
|
658
|
+
"operation": "navigate",
|
|
659
|
+
"url": "",
|
|
660
|
+
"selector": "",
|
|
661
|
+
"text": "",
|
|
662
|
+
"value": "",
|
|
663
|
+
"expression": "",
|
|
664
|
+
"direction": "down",
|
|
665
|
+
"amount": 500,
|
|
666
|
+
"commands": "[]",
|
|
667
|
+
"full_page": false,
|
|
668
|
+
"annotate": false,
|
|
669
|
+
"screenshot_format": "png",
|
|
670
|
+
"screenshot_quality": 85,
|
|
671
|
+
"session": "",
|
|
672
|
+
"browser": "chrome",
|
|
673
|
+
"executable_path": "",
|
|
674
|
+
"headed": true,
|
|
675
|
+
"new_window": true,
|
|
676
|
+
"auto_connect": false,
|
|
677
|
+
"chrome_profile": "",
|
|
678
|
+
"user_agent": "",
|
|
679
|
+
"proxy": "",
|
|
680
|
+
"action_delay": 0,
|
|
681
|
+
"timeout": 30,
|
|
682
|
+
"label": "Browser"
|
|
683
|
+
},
|
|
684
|
+
"fileModify-1778506360537": {
|
|
685
|
+
"operation": "write",
|
|
686
|
+
"content": "",
|
|
687
|
+
"old_string": "",
|
|
688
|
+
"new_string": "",
|
|
689
|
+
"replace_all": false,
|
|
690
|
+
"label": "File Modify"
|
|
691
|
+
},
|
|
692
|
+
"fileRead-1778506361175": {
|
|
693
|
+
"offset": 0,
|
|
694
|
+
"limit": 2000,
|
|
695
|
+
"label": "File Read"
|
|
696
|
+
},
|
|
697
|
+
"fsSearch-1778506361835": {
|
|
698
|
+
"mode": "ls",
|
|
699
|
+
"path": ".",
|
|
700
|
+
"pattern": "",
|
|
701
|
+
"label": "FS Search"
|
|
702
|
+
},
|
|
703
|
+
"shell-1778506362485": {
|
|
704
|
+
"cwd": "",
|
|
705
|
+
"timeout": 30,
|
|
706
|
+
"label": "Shell"
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|