### Basic Start Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/start-node.md Demonstrates a minimal configuration for a Corezoid Start node, serving as a process entry point. It includes essential fields like ID, object type, and the initial flow logic. ```json { "id": "start_node_example", // Unique node ID (example uses "61d552cb513aa04bc9698e3c") "obj_type": 1, // Object type for Start node "condition": { "logics": [ { "type": "go", // Logic block defining the next node in the flow "to_node_id": "first_node_in_process" // ID of the node immediately following Start (example uses "61d552d182ba963bce69adde") } ], "semaphors": [] // Optional semaphores for implementing timeouts or concurrency control }, "title": "Start", // Default title, should be made descriptive (e.g., "Start Order Processing") "description": "", // Optional description of the process "x": 492, // X coordinate on canvas "y": 100, // Y coordinate on canvas "extra": "{\"modeForm\":\"collapse\",\"icon\":\""}", // UI settings (icon is often empty or 'start') "options": null // Options like authentication are not set in this basic example } ``` -------------------------------- ### Get from Queue Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/get-from-queue-node.md This JSON configuration demonstrates how to set up a Get from Queue Node to retrieve tasks from a specific queue in another process. It includes parameters for target process and queue IDs, retrieval order, and error handling. ```json { "id": "get_queue_example", "obj_type": 0, "condition": { "logics": [ { "type": "api_get_task", "err_node_id": "error_condition_node", "order_by": "ASC", "conv_id": 1023406, "obj_to_id": null, "user_id": 56171, "node_id": "queue_node_id_in_target" }, { "type": "go", "to_node_id": "next_node_in_flow" } ], "semaphors": [] }, "title": "Get Task from Processing Queue", "description": "Retrieves the oldest task (ASC order) from the queue node 'queue_node_id_in_target' in Process 1023406.", "x": 392, "y": 200, "extra": "{\"modeForm\":\"expand\",\"icon\":\""", "options": null } ``` -------------------------------- ### Node Options Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/README.md Example of additional configuration options for a node. ```json {"save_task": true} ``` -------------------------------- ### Installing the Plugin Locally Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/CLAUDE.md Install the plugin globally on your local machine for testing purposes. ```bash npm install -g . claude plugin install @corezoid/corezoid-ai-plugin ``` -------------------------------- ### Copy Task Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/copy-task-node.md This JSON configuration demonstrates a typical setup for a Copy Task Node, including data mapping from the current task to the new task and specifying the target process and error handling node. ```json { "id": "copy_task_node_example", "obj_type": 0, "condition": { "logics": [ { "type": "api_copy", "mode": "create", "data": { "fieldA": "{{a}}" }, "data_type": { "fieldA": "string" }, "group": "all", "ref": "", "send_parent_data": false, "err_node_id": "error_condition_node", "conv_id": 1023393, "obj_to_id": null, "user_id": 56171 }, { "type": "go", "to_node_id": "next_node_in_flow" } ], "semaphors": [] }, "title": "Copy Task to Destination", "description": "Copies the task, mapping parameter 'a' to 'fieldA', to Process 1023393.", "x": 576, "y": 200, "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", "options": null } ``` -------------------------------- ### Basic Database Call Node Configuration Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/database-call-node.md This example shows a basic configuration for a Database Call Node, including a SELECT query and error handling setup. Ensure proper escaping for schema and table names. ```json { "id": "db_call_example", "obj_type": 0, "condition": { "logics": [ { "type": "db_call", "err_node_id": "error_node_id", "instance_id": 227, "query": "SELECT * FROM \"public\".\"alex\" LIMIT 100" }, { "type": "go", "to_node_id": "success_node_id" } ], "semaphors": [] }, "title": "Fetch Alex Records", "description": "Retrieves the first 100 records from the 'alex' table in the 'public' schema.", "x": 660, "y": 200, "extra": "{\"modeForm\":\"expand\",\"icon\":\""", "options": null } ``` -------------------------------- ### Call login tool Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/skills/corezoid-init/SKILL.md Call the login tool with no arguments to initiate the Corezoid environment setup. This tool guides the user through account URL, authentication, workspace, and stage selection. ```bash login() ``` -------------------------------- ### Data Initialization for Examples Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/set-parameters-built-in-functions.md Provides sample data structures used in the preceding examples for `oldtest`, `oldtest1`, `newtest`, and `b`. Ensure these match the expected input for the functions. ```json { "type": "set_param", "extra": { "oldtest": "[true, false]", "oldtest1": "[{\"test\":1},{\"test1\":2}]", "newtest": "[1, 2,3]", "b": "[{\"test\":\"3FF\"},{\"test\":30},{\"test\":[{\"a\":1}]},{\"test\":30.3},{\"test\":true}]" }, "extra_type": { "oldtest": "string", "oldtest1": "array", "newtest": "array", "b": "array" }, "err_node_id": "error_node_id" } ``` -------------------------------- ### Start Node Authentication Options Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/start-node.md Configure authentication for Start nodes. Options include no authentication (default), basic authentication with login credentials, or other types specified by the system. ```json "options": "{\"direct_url\":true,\"type_auth\":\"no_auth\"}" ``` ```json "options": "{\"direct_url\":true,\"type_auth\":\"basic\",\"login\":\"username\",\"secret\":\"password\"}" ``` -------------------------------- ### Install Plugin Locally for Claude Code Testing Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/PUBLISHING.md Commands to add the plugin from a local directory and install it for testing within the Claude Code environment. Ensure the MCP server starts and skills load correctly. ```bash claude plugin marketplace add ./ claude plugin install corezoid@corezoid ``` -------------------------------- ### Node Title Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/README.md Example of a display name for a node. ```string "Node Title" ``` -------------------------------- ### Define Process Parameters Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/process/algorithm-to-process-guide.md Example JSON structure for defining input and output parameters for a Corezoid process, including validation rules. ```json "params": [ { "name": "customer_id", "type": "string", "descr": "Unique customer identifier", "flags": ["required", "input"], "regex": "^[A-Z0-9]{8,12}$", "regex_error_text": "Customer ID must be 8-12 uppercase alphanumeric characters" }, { "name": "transaction_result", "type": "object", "descr": "Transaction processing result", "flags": ["output"], "regex": "", "regex_error_text": "" } ] ``` -------------------------------- ### Set Parameters Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/set-parameters-node.md This example shows how to configure a Set Parameters Node to set a new parameter 'b' based on the value of an existing parameter 'a'. It includes type definition and error handling. ```json { "id": "set_param_example", "obj_type": 0, "condition": { "logics": [ { "type": "set_param", "extra": { "b": "{{a}}" }, "extra_type": { "b": "string" }, "err_node_id": "error_node_id" }, { "type": "go", "to_node_id": "next_node_in_flow" } ], "semaphors": [] }, "title": "Set Parameter B from A", "description": "Sets the task parameter 'b' to the value of parameter 'a'.", "x": 716, "y": 444, "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", "options": null } ``` -------------------------------- ### Node Extra Property Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/README.md Example of a JSON string containing UI settings and additional parameters for a node. ```string "{\"modeForm\":\"collapse\",\"icon\":\"success\"}" ``` -------------------------------- ### Install Corezoid Plugin for Codex from GitHub Marketplace Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/README.md Installs the Corezoid plugin for Codex directly from its GitHub marketplace repository. ```bash codex plugin marketplace add corezoid/corezoid-ai-plugin codex plugin install corezoid@corezoid ``` -------------------------------- ### Install Corezoid Plugin for Codex from Local Clone Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/README.md Installs the Corezoid plugin for Codex from a local clone of the repository. ```bash git clone https://github.com/corezoid/corezoid-ai-plugin codex plugin marketplace add ./corezoid-ai-plugin codex plugin install corezoid@corezoid ``` -------------------------------- ### Reply to Process Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/reply-to-process-node.md A complete configuration example for a Reply to Process Node. It demonstrates returning a calculated 'res' value back to the calling process with specified data types and response modes. ```json { "id": "reply_node_example", // Unique node ID (example uses "61d549ae82ba963bce68a55f") "obj_type": 0, // Object type for Logic node "condition": { "logics": [ { "type": "api_rpc_reply", // Specifies this is a Reply to Process logic block "res_data": { // Data to be returned to the calling process "res": "{{res}}" // Returns the value of the 'res' parameter from the current task }, "res_data_type": { // Specifies the data type of the returned parameter "res": "string" // Assuming 'res' was calculated as a string or number convertible to string }, "mode": "key_value", // Response format mode "throw_exception": false // Do not throw an exception (indicates success) }, { "type": "go", // Logic block for the path after sending the reply "to_node_id": "final_node_id" // ID of the next node, typically a Final node (example uses "61d5497c513aa04bc968792a") } ], "semaphors": [] // Optional semaphores for implementing timeouts or concurrency control }, "title": "Return Result", // Descriptive title (example uses "return res;") "description": "Sends the calculated 'res' value back to the calling process.", // Optional description "x": 576, // X coordinate on canvas "y": 212, // Y coordinate on canvas "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", // UI settings "options": null // No specific options set } ``` -------------------------------- ### Basic End Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/end-node.md A comprehensive example of a 'Success' End Node configuration, illustrating key properties like ID, object type, condition settings, UI extras, and task saving options. ```json { "id": "final_node_example", // Unique node ID (example uses "61d552cb513aa04bc9698e3d") "obj_type": 2, // Object type for Final/End node "condition": { "logics": [], // End nodes have no outgoing logic "semaphors": [] // Optional semaphores for implementing timeouts or concurrency control }, "title": "Final", // Default title, should be made descriptive (e.g., "Process Completed Successfully") "description": "", // Optional description "x": 492, // X coordinate on canvas "y": 400, // Y coordinate on canvas "extra": "{\"modeForm\":\"collapse\",\"icon\":\"success\"}", // UI settings indicating a 'success' outcome "options": "{\"save_task\":true}" // Option to save the task data upon completion } ``` -------------------------------- ### Example Process with Diverse Output Parameter Types Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/process/process-output-parameters.md A complete Corezoid process configuration example showcasing the definition of various output parameter types: string, number, boolean, array, and object. ```json { "obj_type": 1, "obj_id": 1643034, "parent_id": 0, "title": "Process with Output Parameters", "description": "", "status": "active", "params": [ { "name": "a", "type": "string", "descr": "String output parameter", "flags": ["output"], "regex": "", "regex_error_text": "" }, { "name": "b", "type": "number", "descr": "Numeric output parameter", "flags": ["output"], "regex": "", "regex_error_text": "" }, { "name": "c", "type": "boolean", "descr": "Boolean output parameter", "flags": ["output"], "regex": "", "regex_error_text": "" }, { "name": "d", "type": "array", "descr": "Array output parameter", "flags": ["output"], "regex": "", "regex_error_text": "" }, { "name": "e", "type": "object", "descr": "Object output parameter", "flags": ["output"], "regex": "", "regex_error_text": "" } ], "scheme": { "nodes": [ // Process nodes here ] } } ``` -------------------------------- ### Node Position Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/README.md Example of coordinates for visual positioning of a node in the process editor. ```number "x": 500 ``` ```number "y": 300 ``` -------------------------------- ### Install Plugin Locally for Codex Testing Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/PUBLISHING.md Commands to add the plugin from a local directory and install it for testing within the Codex environment. After running these, restart Codex and verify the plugin installation and skill availability. ```bash codex plugin marketplace add ./ codex plugin install corezoid@corezoid ``` -------------------------------- ### Install Corezoid Plugin for Claude Code from Local Clone Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/README.md Installs the Corezoid plugin for Claude Code from a local clone of the repository. ```bash git clone https://github.com/corezoid/corezoid-ai-plugin claude plugin marketplace add ./corezoid-ai-plugin claude plugin install corezoid@corezoid ``` -------------------------------- ### Set Parameters Node - JSON Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/set-parameters-built-in-functions.md Example JSON configuration for a Set Parameters node, showcasing the use of various built-in functions for different data types. ```json { "type": "set_param", "mode": "key_value", "extra": { "random_number": "$.random(1, 100)", "current_date": "$.date(%y-%m-%d)", "calculated_value": "$.math({{base_value}}*1.2)", "hashed_password": "$.sha256_hex({{password}})", "doubled_numbers": "$.map(fun(x) -> x * 2 end, {{numbers}})", "filtered_users": "$.filter(fun(user) -> user.age >= 18 end, {{users}})" }, "extra_type": { "random_number": "number", "current_date": "string", "calculated_value": "number", "hashed_password": "string", "doubled_numbers": "array", "filtered_users": "array" } } ``` -------------------------------- ### Basic Task Structure Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/tasks/task-examples.md Demonstrates a standard Corezoid task with essential metadata and a simple data payload. ```json { "task_id": "TASK_67890", "ref": "REF_98765", "status": "processed", "user_id": "USER_54321", "create_time": 1617283200, "change_time": 1617283300, "node_id": "NODE_33333", "node_prev_id": "NODEPREV_44444", "data": { "customer_id": "12345", "amount": 100.5, "currency": "USD", "description": "Monthly subscription" } } ``` -------------------------------- ### Node Condition Logic Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/README.md Example of the routing logic for a node, specifying the next node to transition to. ```json {"logics": [{"type": "go", "to_node_id": "next_node_id"}]} ``` -------------------------------- ### Real-World Example: Reply Node Configuration Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/reply-to-process-node.md This is a complete example of a Reply to Process node configuration within a Corezoid process. It uses 'key_value' mode and includes a stringified complex object for the 'data' field. ```json { "id": "67ffa3bf82ba966c7f954281", "obj_type": 0, "condition": { "logics": [ { "type": "api_rpc_reply", "mode": "key_value", "res_data": { "result": "success", "data": "{\"positive_integers\":\"{{positive_integers}}\",\"negative_integers\":\"{{negative_integers}}\",\"strings\":\"{{strings}}\"}" }, "res_data_type": { "result": "string", "data": "object" }, "throw_exception": false }, { "type": "go", "to_node_id": "67ffa3bf513aa034c895b83c" } ], "semaphors": [] }, "title": "Reply with Result", "description": "Send result back to caller", "x": 500, "y": 500, "extra": "{\"modeForm\":\"expand\",\"icon\":\"\"}", "options": null } ``` -------------------------------- ### Task Creation Request Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/tasks/task-examples.md Provides an example of a request payload for creating a task in Corezoid, using the 'ops' array with a 'create' action. ```json { "ops": [ { "action": "user", "company_id": "12345", "conv_id": 67890, "data": { "customer_id": "CUS_12345", "amount": 100.5, "currency": "USD", "description": "Monthly subscription" }, "obj": "task", "ref": "REF_98765", "type": "create" } ] } ``` -------------------------------- ### Install Plugin from GitHub for Codex (Development) Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/PUBLISHING.md Commands to install the Corezoid AI plugin from GitHub, tracking the `main` branch for development versions in Codex. This allows testing the latest changes. ```bash codex plugin marketplace add corezoid/corezoid-ai-plugin --ref main codex plugin install corezoid@corezoid ``` -------------------------------- ### Natural Language Prompt: Create Folder Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/README.md Example of a natural language prompt to create a new folder within Corezoid. ```text Create a folder named "Services" in Corezoid. ``` -------------------------------- ### Basic Set Parameters Pattern Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/set-parameters-node.md Illustrates a fundamental workflow pattern starting with a 'Start Node', followed by a 'Set Parameters Node', and then continuing the process flow. ```text Start Node → Set Parameters Node → Continue Process Flow ``` -------------------------------- ### Install Plugin from GitHub for Codex (Stable) Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/PUBLISHING.md Commands to install the Corezoid AI plugin from GitHub, specifically targeting a tagged release (e.g., `vX.Y.Z`) for stable use in Codex. ```bash codex plugin marketplace add corezoid/corezoid-ai-plugin --ref vX.Y.Z codex plugin install corezoid@corezoid ``` -------------------------------- ### Example Response Data Configuration Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/reply-to-process-node.md Configure the key-value pairs to be returned to the calling process. Ensure values are properly formatted JSON. ```json "res_data": {"res": "{{res}}"} ``` -------------------------------- ### Check Go version Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/docs/Troubleshooting.md Ensure you have Go version 1.24 or later installed by running 'go version'. ```bash go version ``` -------------------------------- ### Complete Condition Node Implementation Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/condition-node.md A full example of a Condition Node routing tasks based on status and error types. Useful for complex decision-making in workflows. ```json { "id": "condition_node", "obj_type": 0, "condition": { "logics": [ { "type": "go_if_const", "conditions": [ { "param": "status", "const": "success", "fun": "eq", "cast": "string" } ], "to_node_id": "success_node" }, { "type": "go_if_const", "conditions": [ { "param": "__conveyor_api_return_type_error__", "const": "hardware", "fun": "eq", "cast": "string" } ], "to_node_id": "retry_node" }, { "type": "go", "to_node_id": "default_node" } ], "semaphors": [] }, "title": "Check Status", "description": "Route task based on status and error type", "x": 944, "y": 200, "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", "options": null } ``` -------------------------------- ### End Node Save Task Option Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/end-node.md Example of setting the 'options' parameter to explicitly enable task saving. Task data is preserved for reporting and analysis by default. ```json { "options": "{\"save_task\":true}" } ``` -------------------------------- ### Node Positioning Example 2 Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/node-structures.md Provides coordinates for simpler processes that do not include timeout handling. ```text Start: x=600, y=100 Code/Logic node: x=500, y=300 Call Process node: x=500, y=500 Reply Success: x=500, y=700 Final (success): x=600, y=900 Error node: x=800, y=300 (right of its parent) Reply Error: x=800, y=500 Final (error): x=900, y=700 ``` -------------------------------- ### Install Plugin from GitHub for Claude Code Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/PUBLISHING.md Instructions to install the Corezoid AI plugin from its GitHub repository for use in Claude Code. This command adds the plugin from the remote repository. ```bash claude plugin marketplace add corezoid/corezoid-ai-plugin claude plugin install corezoid@corezoid ``` -------------------------------- ### Copy Task Node - Mode Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/copy-task-node.md Sets the copy mode, typically 'create'. ```json "mode": "create" ``` -------------------------------- ### Manually Populate Project Configuration Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/skills/corezoid-init/SKILL.md For private on-prem instances, manually write project configuration details to .env in the COREZOID_WORK_DIR. This includes ACCOUNT_URL, COREZOID_API_URL, WORKSPACE_ID, and COREZOID_STAGE_ID. ```bash ACCOUNT_URL=https:// COREZOID_API_URL=https:// WORKSPACE_ID= COREZOID_STAGE_ID= ``` -------------------------------- ### Call Process Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/call-process-node.md Demonstrates a typical Call Process Node configuration for invoking another process and handling errors. It shows how to specify the target process and error handling paths. ```json { "id": "call_process_example", "obj_type": 0, "condition": { "logics": [ { "type": "api_rpc", "err_node_id": "error_condition_node", "extra": {}, "extra_type": {}, "group": "all", "conv_id": 1023395, "obj_to_id": null, "user_id": 56171, "convTitle": "Reply to process" }, { "type": "go", "to_node_id": "next_node_in_flow" } ], "semaphors": [] }, "title": "Call Reply Process", "description": "Calls Process 1023395 and waits for its reply.", "x": 576, "y": 200, "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", "options": null } ``` -------------------------------- ### Node Description Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/README.md Example of an optional descriptive text for a node's purpose. ```string "Node Description" ``` -------------------------------- ### Node ID Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/README.md Example of a unique identifier for a node within a Corezoid process. ```string "node_id" ``` -------------------------------- ### Node Object Type Examples Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/README.md Examples of numeric identifiers representing different node types in Corezoid. ```number 1 ``` ```number 2 ``` ```number 0 ``` -------------------------------- ### Waiting for Callback Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/waiting-for-callback-node.md Demonstrates a complete configuration for a Waiting for Callback Node, including logic for API callback, synchronous handling, data path, next node routing, and a time-based timeout semaphore. ```json { "id": "wait_callback_example", "obj_type": 0, "condition": { "logics": [ { "type": "api_callback", "is_sync": true, "obj_id_path": "data.test" }, { "type": "go", "to_node_id": "next_node_after_callback" } ], "semaphors": [ { "type": "time", "value": 86400, "dimension": "day", "to_node_id": "timeout_error_node" } ] }, "title": "Wait for External Trigger", "description": "Pauses the process until an external callback is received or a 1-day timeout occurs.", "x": 576, "y": 188, "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", "options": null } ``` -------------------------------- ### Start Node JSON Structure Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/node-structures.md This is the JSON structure for a Start node in Corezoid. It defines the initial node of a process. ```json { "id": "507f1f77bcf86cd799439011", "obj_type": 1, "condition": { "logics": [ { "type": "go", "to_node_id": "" } ], "semaphors": [] }, "title": "Start", "description": "", "x": 600, "y": 100, "extra": "{\"modeForm\":\"collapse\",\"icon\":\"\"}", "options": null } ``` -------------------------------- ### Git Call Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/git-call-node.md Demonstrates a detailed configuration for a Git Call Node, specifying repository, commit, language, error handling, and a timeout semaphore. ```json { "id": "git_call_example", "obj_type": 0, "condition": { "logics": [ { "type": "api_git", "version": 2, "lang": "js", "repo": "https://github.com/fresco117/test.git", "commit": "main", "err_node_id": "error_condition_node" }, { "type": "go", "to_node_id": "success_node_id" } ], "semaphors": [ { "type": "time", "value": 600, "dimension": "min", "to_node_id": "timeout_error_node" } ] }, "title": "Execute Script from Git", "description": "Pulls and executes the main branch script from the fresco117/test repository.", "x": 452, "y": 176, "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", "options": null } ``` -------------------------------- ### End Node Description Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/end-node.md Example of providing a custom text description for an End node. This can clarify the specific outcome or reason for termination. ```json { "description": "Process completion" } ``` -------------------------------- ### Natural Language Prompt: Push and Test Process Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/README.md Example of a natural language prompt to push an updated process to Corezoid and then run a test task with specific input data. ```text Push the updated payment process to Corezoid and run a test task with {"amount": 100, "currency": "USD"}. ``` -------------------------------- ### End Node Success Status Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/end-node.md Example of setting the 'extra' parameter for a successful End node. This determines the visual indicator and reporting status. ```json { "extra": "{\"modeForm\":\"collapse\",\"icon\":\"success\"}" } ``` -------------------------------- ### Mermaid Dependency Graph Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/skills/corezoid-review/SKILL.md Example of a Mermaid diagram to visualize direct process-to-process dependencies. This helps in understanding the call graph and potential coupling risks. ```markdown ```mermaid graph TD MainProcess["Process Name"] --> Dep1["@alias-name (conv_id=XXXXX)"] MainProcess --> Dep2["@alias2 (conv_id=YYYYY)"] Dep1 --> SubDep1["@sub-alias"] ``` ``` -------------------------------- ### Sum Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/sum-node.md This JSON configuration demonstrates how to set up a Sum Node to aggregate values from an incoming task parameter. It specifies the SumID and the value to be summed. ```json { "id": "67f9415d82ba966c7fbc3166", // Unique node ID "obj_type": 0, // Object type for Logic node "condition": { "logics": [ { "type": "api_sum", // Specifies this is a Sum logic block "extra": [ // Array defining the sum operation { "id": "1744388449151", // Internal ID for this sum operation "name": "sum", // The SumID (identifier for this specific sum) "value": "{{count}}" // The parameter from the task data to sum (dynamically referenced) } ] // Note: Reset interval and alert threshold are not configured here }, { "type": "go", // Logic block for the path after the sum operation "to_node_id": "67f9415882ba966c7fbc2dd3" // ID of the next node (Final node in this example) } ], "semaphors": [] // No semaphors used in this node }, "title": "", // Title was empty in the example, should be descriptive (e.g., "Sum Item Counts") "description": "", // Optional description "x": 624, // X coordinate on canvas "y": 212, // Y coordinate on canvas "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", // UI settings "options": null // No specific options set } ``` -------------------------------- ### End Node Error Status Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/end-node.md Example of setting the 'extra' parameter for an error End node. This indicates an error state for reporting and visual cues. ```json { "extra": "{\"modeForm\":\"collapse\",\"icon\":\"error\"}" } ``` -------------------------------- ### Basic Code Node Process Flow Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/code-node.md Illustrates a simple process flow starting with a Start Node, proceeding to a Code Node, and then continuing the process flow. ```text Start Node → Code Node → Continue Process Flow ``` -------------------------------- ### Basic Code Node Configuration with Error Handling Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/code-node.md Demonstrates a typical Code Node setup in JSON, including JavaScript source, error node redirection, and success path connection. Use this for setting task parameters. ```json { "id": "code_node_example", "obj_type": 0, "condition": { "logics": [ { "type": "api_code", "lang": "js", "src": "data.a = 1;\n", "err_node_id": "error_condition_node" }, { "type": "go", "to_node_id": "next_node_in_flow" } ], "semaphors": [] }, "title": "Set Parameter A", "description": "Sets the task parameter 'a' to the value 1.", "x": 720, "y": 256, "extra": "{\"modeForm\":\"expand\",\"icon\":\""}", "options": null } ``` -------------------------------- ### Natural Language Prompt: Review Process by Path Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/README.md Example of a natural language prompt to review a Corezoid process, identified by its file path, for common issues. ```text Review the process at 1278273_Business.folder/2778176_payment.conv.json for dead nodes, missing error handlers, and hardcoded values. ``` -------------------------------- ### Dependency Graph Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/skills/corezoid-review/SKILL.md Visual representation of process dependencies using Mermaid syntax. Useful for understanding the structure and flow of a Corezoid process. ```mermaid graph TD ... ``` -------------------------------- ### Set Parameters Node Usage Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/variables-guide.md Demonstrates how to reference environment variables for baseUrl and token within a Set Parameters node. Ensure variables are created and available in the workspace. ```json { "type": "set_param", "extra": { "baseUrl": "{{env_var[@payment-api-url]}}", "token": "{{env_var[@payment-api-token]}}" }, "extra_type": { "baseUrl": "string", "token": "string" }, "err_node_id": "" } ``` -------------------------------- ### Natural Language Prompt: Create Weather API Process Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/README.md Example of a natural language prompt to create a new Corezoid process that integrates with a weather API, including error handling. ```text Create a process that calls any weather API, handles errors, and sends the forecast back to the caller. ``` -------------------------------- ### Get Task Node JSON Structure Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/process/process-json-validation.md Use this structure for creating Get Task nodes. Ensure 'extra', 'extra_type', 'err_node_id', 'conv_id', and 'node_id' parameters are present and correctly configured. ```json { "type": "api_get_task", "conv_id": "source_process_id", "node_id": "source_node_id", "extra": { "param1": "value1" }, "extra_type": { "param1": "string" }, "err_node_id": "error_node_id" } ``` -------------------------------- ### Call Process Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/call-process-node.md This JSON configuration demonstrates the structure of a Call Process Node, including its ID, object type, condition logic, and display properties. It shows how to specify the 'api_rpc' type, target process ID, error node, parameters with their types, and grouping. ```json { "id": "call_process_node", "obj_type": 0, "condition": { "logics": [ { "type": "api_rpc", "conv_id": 9876543, "err_node_id": "error_node", "extra": { "param1": "value1", "param2": 2 }, "extra_type": { "param1": "string", "param2": "number" }, "group": "all" }, { "type": "go", "to_node_id": "next_node_id" } ], "semaphors": [] }, "title": "Call Process", "description": "Invoke another process", "x": 944, "y": 200, "extra": "{\"modeForm\":\"collapse\",\"icon\":\"\"}", "options": null } ``` -------------------------------- ### Compile MCP server Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/docs/Troubleshooting.md Check that the 'mcp-server' source compiles correctly by navigating to its directory and running 'go build ./...'. ```bash cd plugins/corezoid/mcp-server && go build ./... ``` -------------------------------- ### Count Semaphore Configuration for Start Node Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/start-node.md Implement rate limiting for incoming tasks using count semaphores in Start nodes. If the concurrent task threshold is reached, new tasks are sent to an escalation node. ```json "semaphors": [ { "type": "count", "value": 1000, "esc_node_id": "rate_limit_node_id" } ] ``` -------------------------------- ### Time Semaphore Configuration for Start Node Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/start-node.md Use time semaphores in Start nodes to schedule task processing. Tasks entering the process when the semaphore is active are routed to a specified node after a defined time period. ```json "semaphors": [ { "type": "time", "value": 60, "dimension": "sec", "to_node_id": "delayed_processing_node_id" } ] ``` -------------------------------- ### Start Node Default Configuration Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/start-node.md This is the default JSON configuration generated for a Start node in the Corezoid interface. It includes basic settings like node type, title, and default options for direct URL and authentication. ```json { "id": "start_node_id", "obj_type": 1, "condition": { "logics": [ { "type": "go", "to_node_id": null } ], "semaphors": [] }, "title": "Start", "description": "", "x": 100, "y": 200, "extra": "{\"modeForm\":\"collapse\",\"icon\":\"start\"}", "options": "{\"direct_url\":true,\"type_auth\":\"no_auth\"}" } ``` -------------------------------- ### Natural Language Prompt: Pull Workspace Processes Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/README.md Example of a natural language prompt to retrieve processes from a specific folder within a Corezoid workspace. ```text Pull my Corezoid workspace and show me what processes are in the Payments folder. ``` -------------------------------- ### API Call Node Configuration (GET Request) Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/api-call-node.md This JSON configuration defines a GET request to fetch blockchain ticker information. It includes settings for the request method, URL, error handling, and response mapping. Use this for making external API calls. ```json { "id": "api_call_get_node", // Unique node ID "obj_type": 0, // Object type for Logic node "condition": { "logics": [ { "type": "api", // Specifies this is an API Call logic block "err_node_id": "error_condition_node", // ID of the node to go to on error "format": "", // Request format type (empty string means "default") "method": "GET", // HTTP method "url": "https://blockchain.info/ticker", // Target API endpoint "extra": {}, "extra_type": {}, "max_threads": 5, // Maximum concurrent requests allowed for this node "debug_info": false, // Do not include extra debug info in the task "customize_response": false, // Use default response mapping (header and body) "response": { "header": "{{header}}", "body": "{{body}}" }, "response_type": { "header": "object", "body": "object" }, "extra_headers": { "Content-type": "test" }, "send_sys": true, // Include Corezoid system parameters in the request "cert_pem": "", // No client certificate used for signing "content_type": "application/json", // Expected response content type for parsing "rfc_format": true, // Use RFC standard response format "is_migrate": true // Internal flag }, { "type": "go", // Logic block for successful execution path "to_node_id": "success_reply_node" // ID of the next node on success } ], "semaphors": [] }, "title": "Get Blockchain Ticker", // Descriptive title "description": "Fetch current Bitcoin ticker info", // Optional description "x": 664, // X coordinate on canvas "y": 200, // Y coordinate on canvas "extra": "{\"modeForm\":\"expand\",\"icon\":\"\"}", // UI settings (expanded form, default icon) "options": null } ``` -------------------------------- ### Queue Type Parameter Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/queue-node.md Specifies the type of queue operation, which must be 'api_queue'. ```json "type": "api_queue" ``` -------------------------------- ### Set State Node Configuration Example Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/docs/nodes/set-state-node.md This JSON configuration defines a 'Set State Node' representing an 'Active' state in a user lifecycle. It includes transition logic based on task parameters. ```json { "id": "61d55218513aa04bc969791a", // Unique node ID representing the "Active" state "obj_type": 3, // Object type for State node "condition": { "logics": [ // Logic defining transitions *out* of this state { "type": "go_if_const", // Conditional transition "to_node_id": "64d3b1f2513aa04e113022a6", // Target state: "Blocked" "conditions": [ { "param": "a", // Check parameter 'a' in the task data "const": "1", // If 'a' equals 1... "fun": "eq", // ...using equals comparison... "cast": "number" // ...treating 'a' as a number. } ] }, { "type": "go", // Default transition (if condition above is false) "to_node_id": "61d55237513aa04bc9697cb1" // Target state: "Inactive" } ], "semaphors": [] // No semaphores used in this state node }, "title": "Active", // The name of the state this node represents "description": "", // Optional description of the state "x": 600, // X coordinate on canvas "y": 204, // Y coordinate on canvas "extra": "{\"modeForm\":\"expand\",\"icon\":\"\"}", // UI settings "options": null // No specific options set } ``` -------------------------------- ### List Workspaces Source: https://github.com/corezoid/corezoid-ai-plugin/blob/main/plugins/corezoid/skills/corezoid-init/SKILL.md Call the list-workspaces tool to retrieve a list of available workspaces. This is a prerequisite for selecting a workspace in chat-based setup mode. ```bash list-workspaces() ```