diff --git a/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-260-schema-cli-workflows.snap b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-260-schema-cli-workflows.snap new file mode 100644 index 0000000000..e20400ad10 --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-260-schema-cli-workflows.snap @@ -0,0 +1,605 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "startData": { + "type": "object", + "properties": {} + }, + "resultData": { + "type": "object", + "properties": { + "runData": { + "type": "object", + "properties": { + "When clicking ‘Test workflow’": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": {} + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Code": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "location": { + "type": "string" + } + } + } + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Loop Over Items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "OpenAI Chat Model4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Hacker News3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeOutput": { + "type": "number" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeOutput", + "previousNodeRun" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + } + } + }, + "lastNodeExecuted": { + "type": "string" + } + } + }, + "executionData": { + "type": "object", + "properties": { + "contextData": { + "type": "object", + "properties": { + "node:Loop Over Items": { + "type": "object", + "properties": { + "currentRunIndex": { + "type": "number" + }, + "maxRunIndex": { + "type": "number" + }, + "sourceData": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + }, + "items": { + "type": "array", + "items": {} + }, + "processedItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "json": { + "type": "object", + "properties": { + "output": { + "type": "string" + } + } + }, + "pairedItem": { + "type": "object", + "properties": { + "sourceOverwrite": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + } + }, + "item": { + "type": "number" + } + } + } + }, + "required": [ + "json", + "pairedItem" + ] + } + }, + "noItemsLeft": { + "type": "boolean" + }, + "done": { + "type": "boolean" + } + } + } + } + }, + "nodeExecutionStack": { + "type": "array", + "items": {} + }, + "metadata": { + "type": "object", + "properties": { + "OpenAI Chat Model4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Hacker News3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + } + } + }, + "waitingExecution": { + "type": "object", + "properties": {} + }, + "waitingExecutionSource": { + "type": "object", + "properties": {} + } + } + } + } + }, + "mode": { + "type": "string" + }, + "startedAt": { + "type": "string" + }, + "stoppedAt": { + "type": "string" + }, + "status": { + "type": "string" + }, + "finished": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-261-schema-cli-workflows.snap b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-261-schema-cli-workflows.snap new file mode 100644 index 0000000000..b38d89ad5a --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-261-schema-cli-workflows.snap @@ -0,0 +1,603 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "startData": { + "type": "object", + "properties": {} + }, + "resultData": { + "type": "object", + "properties": { + "runData": { + "type": "object", + "properties": { + "When clicking ‘Test workflow’": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": {} + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Code": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "location": { + "type": "string" + } + } + } + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Loop Over Items4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "OpenAI Chat Model8": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Hacker News5": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent8": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeOutput": { + "type": "number" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeOutput" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + } + } + }, + "lastNodeExecuted": { + "type": "string" + } + } + }, + "executionData": { + "type": "object", + "properties": { + "contextData": { + "type": "object", + "properties": { + "node:Loop Over Items4": { + "type": "object", + "properties": { + "currentRunIndex": { + "type": "number" + }, + "maxRunIndex": { + "type": "number" + }, + "sourceData": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + }, + "items": { + "type": "array", + "items": {} + }, + "processedItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "json": { + "type": "object", + "properties": { + "output": { + "type": "string" + } + } + }, + "pairedItem": { + "type": "object", + "properties": { + "sourceOverwrite": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + } + }, + "item": { + "type": "number" + } + } + } + }, + "required": [ + "json", + "pairedItem" + ] + } + }, + "noItemsLeft": { + "type": "boolean" + }, + "done": { + "type": "boolean" + } + } + } + } + }, + "nodeExecutionStack": { + "type": "array", + "items": {} + }, + "metadata": { + "type": "object", + "properties": { + "OpenAI Chat Model8": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Hacker News5": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + } + } + }, + "waitingExecution": { + "type": "object", + "properties": {} + }, + "waitingExecutionSource": { + "type": "object", + "properties": {} + } + } + } + } + }, + "mode": { + "type": "string" + }, + "startedAt": { + "type": "string" + }, + "stoppedAt": { + "type": "string" + }, + "status": { + "type": "string" + }, + "finished": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-262-schema-cli-workflows.snap b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-262-schema-cli-workflows.snap new file mode 100644 index 0000000000..f2f9993ccc --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-262-schema-cli-workflows.snap @@ -0,0 +1,664 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "startData": { + "type": "object", + "properties": {} + }, + "resultData": { + "type": "object", + "properties": { + "runData": { + "type": "object", + "properties": { + "When clicking ‘Test workflow’": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": {} + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Code": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "location": { + "type": "string" + } + } + } + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Loop Over Items1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "Aggregate2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeOutput": { + "type": "number" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeOutput" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "OpenAI Chat Model5": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Hacker News4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent5": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + } + } + }, + "lastNodeExecuted": { + "type": "string" + } + } + }, + "executionData": { + "type": "object", + "properties": { + "contextData": { + "type": "object", + "properties": { + "node:Loop Over Items1": { + "type": "object", + "properties": { + "currentRunIndex": { + "type": "number" + }, + "maxRunIndex": { + "type": "number" + }, + "sourceData": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + }, + "items": { + "type": "array", + "items": {} + }, + "processedItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "json": { + "type": "object", + "properties": { + "output": { + "type": "string" + } + } + }, + "pairedItem": { + "type": "object", + "properties": { + "sourceOverwrite": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + } + }, + "item": { + "type": "number" + } + } + } + }, + "required": [ + "json", + "pairedItem" + ] + } + }, + "noItemsLeft": { + "type": "boolean" + }, + "done": { + "type": "boolean" + } + } + } + } + }, + "nodeExecutionStack": { + "type": "array", + "items": {} + }, + "metadata": { + "type": "object", + "properties": { + "OpenAI Chat Model5": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Hacker News4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + } + } + }, + "waitingExecution": { + "type": "object", + "properties": {} + }, + "waitingExecutionSource": { + "type": "object", + "properties": {} + } + } + } + } + }, + "mode": { + "type": "string" + }, + "startedAt": { + "type": "string" + }, + "stoppedAt": { + "type": "string" + }, + "status": { + "type": "string" + }, + "finished": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-263-schema-cli-workflows.snap b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-263-schema-cli-workflows.snap new file mode 100644 index 0000000000..92d84deb54 --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-263-schema-cli-workflows.snap @@ -0,0 +1,1056 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "startData": { + "type": "object", + "properties": {} + }, + "resultData": { + "type": "object", + "properties": { + "runData": { + "type": "object", + "properties": { + "When clicking ‘Test workflow’": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": {} + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Code": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "location": { + "type": "string" + } + } + } + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Loop Over Items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "OpenAI Chat Model4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Hacker News3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeOutput": { + "type": "number" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeOutput", + "previousNodeRun" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "Loop Over Items2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "OpenAI Chat Model6": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Call n8n Workflow Tool2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subExecution": { + "type": "object", + "properties": { + "executionId": { + "type": "string" + }, + "workflowId": { + "type": "string" + } + } + }, + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent6": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeOutput": { + "type": "number" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeOutput", + "previousNodeRun" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + } + } + }, + "lastNodeExecuted": { + "type": "string" + } + } + }, + "executionData": { + "type": "object", + "properties": { + "contextData": { + "type": "object", + "properties": { + "node:Loop Over Items": { + "type": "object", + "properties": { + "currentRunIndex": { + "type": "number" + }, + "maxRunIndex": { + "type": "number" + }, + "sourceData": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + }, + "items": { + "type": "array", + "items": {} + }, + "processedItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "json": { + "type": "object", + "properties": { + "output": { + "type": "string" + } + } + }, + "pairedItem": { + "type": "object", + "properties": { + "sourceOverwrite": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + } + }, + "item": { + "type": "number" + } + } + } + }, + "required": [ + "json", + "pairedItem" + ] + } + }, + "noItemsLeft": { + "type": "boolean" + }, + "done": { + "type": "boolean" + } + } + }, + "node:Loop Over Items2": { + "type": "object", + "properties": { + "currentRunIndex": { + "type": "number" + }, + "maxRunIndex": { + "type": "number" + }, + "sourceData": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + }, + "items": { + "type": "array", + "items": {} + }, + "processedItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "json": { + "type": "object", + "properties": { + "output": { + "type": "string" + } + } + }, + "pairedItem": { + "type": "object", + "properties": { + "sourceOverwrite": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + } + }, + "item": { + "type": "number" + } + } + } + }, + "required": [ + "json", + "pairedItem" + ] + } + }, + "noItemsLeft": { + "type": "boolean" + }, + "done": { + "type": "boolean" + } + } + } + } + }, + "nodeExecutionStack": { + "type": "array", + "items": {} + }, + "metadata": { + "type": "object", + "properties": { + "OpenAI Chat Model4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Hacker News3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "OpenAI Chat Model6": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Call n8n Workflow Tool2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + } + } + }, + "waitingExecution": { + "type": "object", + "properties": {} + }, + "waitingExecutionSource": { + "type": "object", + "properties": {} + } + } + } + } + }, + "mode": { + "type": "string" + }, + "startedAt": { + "type": "string" + }, + "stoppedAt": { + "type": "string" + }, + "status": { + "type": "string" + }, + "finished": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-264-schema-cli-workflows.snap b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-264-schema-cli-workflows.snap new file mode 100644 index 0000000000..221b529080 --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-264-schema-cli-workflows.snap @@ -0,0 +1,1174 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "startData": { + "type": "object", + "properties": {} + }, + "resultData": { + "type": "object", + "properties": { + "runData": { + "type": "object", + "properties": { + "When clicking ‘Test workflow’": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": {} + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Code": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "location": { + "type": "string" + } + } + } + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Loop Over Items1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "Aggregate2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeOutput": { + "type": "number" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeOutput" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "OpenAI Chat Model5": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Hacker News4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent5": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "Loop Over Items3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "Aggregate3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeOutput": { + "type": "number" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeOutput" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + }, + "OpenAI Chat Model7": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Call n8n Workflow Tool3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subExecution": { + "type": "object", + "properties": { + "executionId": { + "type": "string" + }, + "workflowId": { + "type": "string" + } + } + }, + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent7": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode" + ] + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + }, + "required": [ + "startTime", + "executionIndex", + "source", + "hints", + "executionTime", + "executionStatus", + "data" + ] + } + } + } + }, + "lastNodeExecuted": { + "type": "string" + } + } + }, + "executionData": { + "type": "object", + "properties": { + "contextData": { + "type": "object", + "properties": { + "node:Loop Over Items1": { + "type": "object", + "properties": { + "currentRunIndex": { + "type": "number" + }, + "maxRunIndex": { + "type": "number" + }, + "sourceData": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + }, + "items": { + "type": "array", + "items": {} + }, + "processedItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "json": { + "type": "object", + "properties": { + "output": { + "type": "string" + } + } + }, + "pairedItem": { + "type": "object", + "properties": { + "sourceOverwrite": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + } + }, + "item": { + "type": "number" + } + } + } + }, + "required": [ + "json", + "pairedItem" + ] + } + }, + "noItemsLeft": { + "type": "boolean" + }, + "done": { + "type": "boolean" + } + } + }, + "node:Loop Over Items3": { + "type": "object", + "properties": { + "currentRunIndex": { + "type": "number" + }, + "maxRunIndex": { + "type": "number" + }, + "sourceData": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + }, + "items": { + "type": "array", + "items": {} + }, + "processedItems": { + "type": "array", + "items": { + "type": "object", + "properties": { + "json": { + "type": "object", + "properties": { + "output": { + "type": "string" + } + } + }, + "pairedItem": { + "type": "object", + "properties": { + "sourceOverwrite": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + } + }, + "item": { + "type": "number" + } + } + } + }, + "required": [ + "json", + "pairedItem" + ] + } + }, + "noItemsLeft": { + "type": "boolean" + }, + "done": { + "type": "boolean" + } + } + } + } + }, + "nodeExecutionStack": { + "type": "array", + "items": {} + }, + "metadata": { + "type": "object", + "properties": { + "OpenAI Chat Model5": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Hacker News4": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "OpenAI Chat Model7": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Call n8n Workflow Tool3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + } + } + }, + "waitingExecution": { + "type": "object", + "properties": {} + }, + "waitingExecutionSource": { + "type": "object", + "properties": {} + } + } + } + } + }, + "mode": { + "type": "string" + }, + "startedAt": { + "type": "string" + }, + "stoppedAt": { + "type": "string" + }, + "status": { + "type": "string" + }, + "finished": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-265-schema-cli-workflows.snap b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-265-schema-cli-workflows.snap new file mode 100644 index 0000000000..62e2ea61a4 --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-265-schema-cli-workflows.snap @@ -0,0 +1,847 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "startData": { + "type": "object", + "properties": {} + }, + "resultData": { + "type": "object", + "properties": { + "runData": { + "type": "object", + "properties": { + "When clicking ‘Test workflow’": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": {} + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Code": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "location": { + "type": "string" + } + } + } + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Aggregate": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "OpenAI Chat Model1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Hacker News1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Aggregate1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "OpenAI Chat Model3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Call n8n Workflow Tool1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subExecution": { + "type": "object", + "properties": { + "executionId": { + "type": "string" + }, + "workflowId": { + "type": "string" + } + } + }, + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + } + } + }, + "lastNodeExecuted": { + "type": "string" + } + } + }, + "executionData": { + "type": "object", + "properties": { + "contextData": { + "type": "object", + "properties": {} + }, + "nodeExecutionStack": { + "type": "array", + "items": {} + }, + "metadata": { + "type": "object", + "properties": { + "OpenAI Chat Model1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Hacker News1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "OpenAI Chat Model3": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Call n8n Workflow Tool1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + } + } + }, + "waitingExecution": { + "type": "object", + "properties": {} + }, + "waitingExecutionSource": { + "type": "object", + "properties": {} + } + } + } + } + }, + "mode": { + "type": "string" + }, + "startedAt": { + "type": "string" + }, + "stoppedAt": { + "type": "string" + }, + "status": { + "type": "string" + }, + "finished": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-266-schema-cli-workflows.snap b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-266-schema-cli-workflows.snap new file mode 100644 index 0000000000..943df387c9 --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflow-tests.spec.ts-snapshots/workflow-266-schema-cli-workflows.snap @@ -0,0 +1,755 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "startData": { + "type": "object", + "properties": {} + }, + "resultData": { + "type": "object", + "properties": { + "runData": { + "type": "object", + "properties": { + "When clicking ‘Test workflow’": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": {} + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "Code1": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "location": { + "type": "string" + } + } + } + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "OpenAI Chat Model": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Hacker News": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + }, + "OpenAI Chat Model2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_languageModel": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "Call n8n Workflow Tool": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + }, + "previousNodeRun": { + "type": "number" + } + }, + "required": [ + "previousNode", + "previousNodeRun" + ] + } + }, + "data": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "inputOverride": { + "type": "object", + "properties": { + "ai_tool": { + "type": "array", + "items": { + "type": "array" + } + } + } + }, + "metadata": { + "type": "object", + "properties": { + "subExecution": { + "type": "object", + "properties": { + "executionId": { + "type": "string" + }, + "workflowId": { + "type": "string" + } + } + }, + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + } + } + }, + "required": [ + "startTime", + "executionTime", + "executionIndex", + "executionStatus", + "source", + "data", + "inputOverride", + "metadata" + ] + } + }, + "AI Agent2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "startTime": { + "type": "number" + }, + "executionIndex": { + "type": "number" + }, + "source": { + "type": "array", + "items": { + "type": "object", + "properties": { + "previousNode": { + "type": "string" + } + } + } + }, + "hints": { + "type": "array", + "items": {} + }, + "executionTime": { + "type": "number" + }, + "executionStatus": { + "type": "string" + }, + "data": { + "type": "object", + "properties": { + "main": { + "type": "array", + "items": { + "type": "array" + } + } + } + } + } + } + } + } + }, + "lastNodeExecuted": { + "type": "string" + } + } + }, + "executionData": { + "type": "object", + "properties": { + "contextData": { + "type": "object", + "properties": {} + }, + "nodeExecutionStack": { + "type": "array", + "items": {} + }, + "metadata": { + "type": "object", + "properties": { + "OpenAI Chat Model": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Hacker News": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "OpenAI Chat Model2": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + }, + "Call n8n Workflow Tool": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subRun": { + "type": "array", + "items": { + "type": "object", + "properties": { + "node": { + "type": "string" + }, + "runIndex": { + "type": "number" + } + }, + "required": [ + "node", + "runIndex" + ] + } + } + }, + "required": [ + "subRun" + ] + } + } + } + }, + "waitingExecution": { + "type": "object", + "properties": {} + }, + "waitingExecutionSource": { + "type": "object", + "properties": {} + } + } + } + } + }, + "mode": { + "type": "string" + }, + "startedAt": { + "type": "string" + }, + "stoppedAt": { + "type": "string" + }, + "status": { + "type": "string" + }, + "finished": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/packages/testing/playwright/tests/cli-workflows/workflows/260.json b/packages/testing/playwright/tests/cli-workflows/workflows/260.json new file mode 100644 index 0000000000..da14953016 --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflows/260.json @@ -0,0 +1,158 @@ +{ + "createdAt": "2021-01-21T10:32:07.628Z", + "updatedAt": "2021-06-04T10:25:41.024Z", + "id": "260", + "name": "Tools within loops", + "active": false, + "nodes": [ + { + "parameters": {}, + "type": "n8n-nodes-base.manualTrigger", + "typeVersion": 1, + "position": [-800, 992], + "id": "fa8ff0c4-b035-4c92-bdc2-033f903fca69", + "name": "When clicking ‘Test workflow’" + }, + { + "parameters": { + "jsCode": "const result = [\n 'n8n',\n 'make',\n 'zappier',\n 'workato'\n].map(i => ({ json: {name: i}}))\n\nreturn result;" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [-592, 992], + "id": "b82a0103-35c0-4f5c-9cd5-8c6b4e5e5f8a", + "name": "Code" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for {{ $json.name }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [192, 1008], + "id": "14cab782-d994-4ecf-9f73-8f527cd22f45", + "name": "AI Agent4" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [192, 1200], + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + }, + "id": "64d7e751-ff6e-4379-a94d-59a99ee42584", + "name": "OpenAI Chat Model4" + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keyword', ``, 'string') }}" + } + }, + "type": "n8n-nodes-base.hackerNewsTool", + "typeVersion": 1, + "position": [400, 1200], + "id": "39a1c821-da35-47ad-b50f-c14b937d4c65", + "name": "Hacker News3" + }, + { + "parameters": { + "options": {} + }, + "type": "n8n-nodes-base.splitInBatches", + "typeVersion": 3, + "position": [-96, 992], + "id": "3066da30-a2d9-408f-ad2e-8cf34842662c", + "name": "Loop Over Items" + } + ], + "connections": { + "When clicking ‘Test workflow’": { + "main": [ + [ + { + "node": "Code", + "type": "main", + "index": 0 + } + ] + ] + }, + "Code": { + "main": [ + [ + { + "node": "Loop Over Items", + "type": "main", + "index": 0 + } + ] + ] + }, + "AI Agent4": { + "main": [ + [ + { + "node": "Loop Over Items", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model4": { + "ai_languageModel": [ + [ + { + "node": "AI Agent4", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Hacker News3": { + "ai_tool": [ + [ + { + "node": "AI Agent4", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "Loop Over Items": { + "main": [ + [], + [ + { + "node": "AI Agent4", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "pinData": {}, + "meta": { + "instanceId": "107101a6ce59c5bf3eeb2d4822b83a698bdf29bbcf94739f2b775d94d4ea0aa1" + } +} diff --git a/packages/testing/playwright/tests/cli-workflows/workflows/261.json b/packages/testing/playwright/tests/cli-workflows/workflows/261.json new file mode 100644 index 0000000000..95272ea6a5 --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflows/261.json @@ -0,0 +1,160 @@ +{ + "createdAt": "2025-09-08T10:32:07.628Z", + "updatedAt": "2025-09-08T10:32:07.628Z", + "name": "Tools in Loops: Nodes as Tools, one invocation per item 2 items at a time", + "id": "261", + "active": false, + "nodes": [ + { + "parameters": {}, + "type": "n8n-nodes-base.manualTrigger", + "typeVersion": 1, + "position": [-640, 112], + "id": "7a325082-7672-4327-a8be-c5809a28fe49", + "name": "When clicking ‘Test workflow’" + }, + { + "parameters": { + "jsCode": "const result = [\n 'n8n',\n 'make',\n 'zappier',\n 'workato'\n].map(i => ({ json: {name: i}}))\n\nreturn result;" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [-464, 112], + "id": "7926764f-d960-43bc-a19a-cf2655c3c753", + "name": "Code" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for {{ $json.name }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [352, 112], + "id": "ad397dbe-eda4-45ee-b7d1-a737747da710", + "name": "AI Agent8" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [352, 304], + "id": "b8e27be1-989f-48a7-ab62-ea2b55089144", + "name": "OpenAI Chat Model8", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keyword', ``, 'string') }}" + } + }, + "type": "n8n-nodes-base.hackerNewsTool", + "typeVersion": 1, + "position": [576, 304], + "id": "1f80c02d-c58b-4fb5-a2a0-75dcf451cfdc", + "name": "Hacker News5" + }, + { + "parameters": { + "batchSize": 2, + "options": {} + }, + "type": "n8n-nodes-base.splitInBatches", + "typeVersion": 3, + "position": [64, 80], + "id": "7c0409e9-3d45-4e26-8a13-c66339690e6c", + "name": "Loop Over Items4" + } + ], + "pinData": {}, + "connections": { + "When clicking ‘Test workflow’": { + "main": [ + [ + { + "node": "Code", + "type": "main", + "index": 0 + } + ] + ] + }, + "Code": { + "main": [ + [ + { + "node": "Loop Over Items4", + "type": "main", + "index": 0 + } + ] + ] + }, + "AI Agent8": { + "main": [ + [ + { + "node": "Loop Over Items4", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model8": { + "ai_languageModel": [ + [ + { + "node": "AI Agent8", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Hacker News5": { + "ai_tool": [ + [ + { + "node": "AI Agent8", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "Loop Over Items4": { + "main": [ + [], + [ + { + "node": "AI Agent8", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "settings": null, + "versionId": null, + "meta": null, + "tags": [] +} diff --git a/packages/testing/playwright/tests/cli-workflows/workflows/262.json b/packages/testing/playwright/tests/cli-workflows/workflows/262.json new file mode 100644 index 0000000000..225c5c2a4f --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflows/262.json @@ -0,0 +1,182 @@ +{ + "createdAt": "2025-09-08T10:32:07.628Z", + "updatedAt": "2025-09-08T10:32:07.628Z", + "name": "Node as Tool, multiple invocations", + "id": "262", + "active": false, + "nodes": [ + { + "parameters": {}, + "type": "n8n-nodes-base.manualTrigger", + "typeVersion": 1, + "position": [-416, 160], + "id": "07aeb8f2-0a26-4139-8aa8-705371b41022", + "name": "When clicking ‘Test workflow’" + }, + { + "parameters": { + "jsCode": "const result = [\n 'n8n',\n 'make',\n 'zappier',\n 'workato'\n].map(i => ({ json: {name: i}}))\n\nreturn result;" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [-240, 160], + "id": "474f08ba-5246-4e8f-ad15-5dc274ff853a", + "name": "Code" + }, + { + "parameters": { + "aggregate": "aggregateAllItemData", + "options": {} + }, + "type": "n8n-nodes-base.aggregate", + "typeVersion": 1, + "position": [416, 192], + "id": "0ca75f27-d5b1-4aba-ba38-68feca64f8fa", + "name": "Aggregate2" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for following: {{ $json.data.map(i => i.name).join(', ') }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [640, 192], + "id": "5798b01b-cdc6-4366-8478-72f81a141259", + "name": "AI Agent5" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [592, 368], + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + }, + "id": "573ffe0c-0b67-406b-bb55-f11007093a58", + "name": "OpenAI Chat Model5" + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keyword', ``, 'string') }}" + } + }, + "type": "n8n-nodes-base.hackerNewsTool", + "typeVersion": 1, + "position": [864, 368], + "id": "38a26568-f181-4c40-a1bb-09ae5822c7cb", + "name": "Hacker News4" + }, + { + "parameters": { + "batchSize": 2, + "options": {} + }, + "type": "n8n-nodes-base.splitInBatches", + "typeVersion": 3, + "position": [192, 160], + "id": "857b6997-db66-499d-8d0e-1bad134a6ece", + "name": "Loop Over Items1" + } + ], + "pinData": {}, + "connections": { + "When clicking ‘Test workflow’": { + "main": [ + [ + { + "node": "Code", + "type": "main", + "index": 0 + } + ] + ] + }, + "Code": { + "main": [ + [ + { + "node": "Loop Over Items1", + "type": "main", + "index": 0 + } + ] + ] + }, + "Aggregate2": { + "main": [ + [ + { + "node": "AI Agent5", + "type": "main", + "index": 0 + } + ] + ] + }, + "AI Agent5": { + "main": [ + [ + { + "node": "Loop Over Items1", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model5": { + "ai_languageModel": [ + [ + { + "node": "AI Agent5", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Hacker News4": { + "ai_tool": [ + [ + { + "node": "AI Agent5", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "Loop Over Items1": { + "main": [ + [], + [ + { + "node": "Aggregate2", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "settings": null, + "versionId": null, + "meta": null, + "tags": [] +} diff --git a/packages/testing/playwright/tests/cli-workflows/workflows/263.json b/packages/testing/playwright/tests/cli-workflows/workflows/263.json new file mode 100644 index 0000000000..205edcf01e --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflows/263.json @@ -0,0 +1,354 @@ +{ + "createdAt": "2025-09-08T10:32:07.628Z", + "updatedAt": "2025-09-08T10:32:07.628Z", + "name": "Tool in Loop: One invocation per loop", + "id": "263", + "active": false, + "nodes": [ + { + "parameters": {}, + "type": "n8n-nodes-base.manualTrigger", + "typeVersion": 1, + "position": [-256, 144], + "id": "52da20fa-bbe2-4d33-ab5f-1540fe0da4fc", + "name": "When clicking ‘Test workflow’" + }, + { + "parameters": { + "jsCode": "const result = [\n 'n8n',\n 'make',\n 'zappier',\n 'workato'\n].map(i => ({ json: {name: i}}))\n\nreturn result;" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [-32, 128], + "id": "98b4a0eb-9e56-4eec-950d-9540049e3538", + "name": "Code" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for {{ $json.name }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [624, 192], + "id": "597f08a7-28cd-45a0-b85f-0de68e611a3b", + "name": "AI Agent4" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [624, 384], + "id": "efb63ea9-9b18-4594-a8d1-94ead7f6a83d", + "name": "OpenAI Chat Model4", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keyword', ``, 'string') }}" + } + }, + "type": "n8n-nodes-base.hackerNewsTool", + "typeVersion": 1, + "position": [832, 384], + "id": "0840f206-5210-4e7d-a8cb-e4704fe79971", + "name": "Hacker News3" + }, + { + "parameters": { + "content": "## Loop: Node as Tool, one invocation per item\n", + "height": 240, + "width": 660 + }, + "type": "n8n-nodes-base.stickyNote", + "position": [272, 96], + "typeVersion": 1, + "id": "318d0e5a-d529-4a0b-af6e-be91bf79ee90", + "name": "Sticky Note4" + }, + { + "parameters": { + "options": {} + }, + "type": "n8n-nodes-base.splitInBatches", + "typeVersion": 3, + "position": [336, 176], + "id": "ca1d455c-1c34-4d11-b9c0-6bd6a1c34a8c", + "name": "Loop Over Items" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for {{ $json.name }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [656, 672], + "id": "2135b360-4f86-4813-b517-33213033fce8", + "name": "AI Agent6" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [656, 864], + "id": "65799f6b-3d83-4d9c-87d8-ae0f13f0ebb4", + "name": "OpenAI Chat Model6", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "content": "## Loop: Workflow Tool, one invocation per item\n", + "height": 240, + "width": 660 + }, + "type": "n8n-nodes-base.stickyNote", + "position": [320, 576], + "typeVersion": 1, + "id": "8b02ceea-c9b7-408f-96e8-303e2d712f0a", + "name": "Sticky Note6" + }, + { + "parameters": { + "options": {} + }, + "type": "n8n-nodes-base.splitInBatches", + "typeVersion": 3, + "position": [384, 656], + "id": "6782930d-a545-47fd-a872-adfe98c97502", + "name": "Loop Over Items2" + }, + { + "parameters": { + "description": "Call this tool to search Hacker News", + "workflowId": { + "__rl": true, + "value": "={{ $workflow.id }}", + "mode": "id" + }, + "workflowInputs": { + "mappingMode": "defineBelow", + "value": { + "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('query', ``, 'string') }}" + }, + "matchingColumns": ["query"], + "schema": [ + { + "id": "query", + "displayName": "query", + "required": false, + "defaultMatch": false, + "display": true, + "canBeUsedToMatch": true, + "type": "string", + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + } + }, + "type": "@n8n/n8n-nodes-langchain.toolWorkflow", + "typeVersion": 2.2, + "position": [880, 864], + "id": "718d6149-d5da-41ad-8660-000ccf8a8e28", + "name": "Call n8n Workflow Tool2" + }, + { + "parameters": { + "workflowInputs": { + "values": [ + { + "name": "query" + } + ] + } + }, + "type": "n8n-nodes-base.executeWorkflowTrigger", + "typeVersion": 1.1, + "position": [464, -144], + "id": "d095d0a6-c44e-400a-baa2-37fcaf256181", + "name": "When Executed by Another Workflow" + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ $json.query }}" + } + }, + "type": "n8n-nodes-base.hackerNews", + "typeVersion": 1, + "position": [672, -144], + "id": "ab3d4c41-9bc3-482e-b9aa-f1b0b60f0d28", + "name": "Hacker News2" + } + ], + "pinData": {}, + "connections": { + "When clicking ‘Test workflow’": { + "main": [ + [ + { + "node": "Code", + "type": "main", + "index": 0 + } + ] + ] + }, + "Code": { + "main": [ + [ + { + "node": "Loop Over Items", + "type": "main", + "index": 0 + }, + { + "node": "Loop Over Items2", + "type": "main", + "index": 0 + } + ] + ] + }, + "AI Agent4": { + "main": [ + [ + { + "node": "Loop Over Items", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model4": { + "ai_languageModel": [ + [ + { + "node": "AI Agent4", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Hacker News3": { + "ai_tool": [ + [ + { + "node": "AI Agent4", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "Loop Over Items": { + "main": [ + [], + [ + { + "node": "AI Agent4", + "type": "main", + "index": 0 + } + ] + ] + }, + "AI Agent6": { + "main": [ + [ + { + "node": "Loop Over Items2", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model6": { + "ai_languageModel": [ + [ + { + "node": "AI Agent6", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Loop Over Items2": { + "main": [ + [], + [ + { + "node": "AI Agent6", + "type": "main", + "index": 0 + } + ] + ] + }, + "Call n8n Workflow Tool2": { + "ai_tool": [ + [ + { + "node": "AI Agent6", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "When Executed by Another Workflow": { + "main": [ + [ + { + "node": "Hacker News2", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "settings": null, + "versionId": null, + "meta": null, + "tags": [] +} diff --git a/packages/testing/playwright/tests/cli-workflows/workflows/264.json b/packages/testing/playwright/tests/cli-workflows/workflows/264.json new file mode 100644 index 0000000000..3089a40bc5 --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflows/264.json @@ -0,0 +1,376 @@ +{ + "createdAt": "2025-09-08T10:32:07.628Z", + "updatedAt": "2025-09-08T10:32:07.628Z", + "name": "Tool in Loop: Multiple invocation per loop", + "id": "264", + "active": false, + "nodes": [ + { + "parameters": { + "workflowInputs": { + "values": [ + { + "name": "query" + } + ] + } + }, + "type": "n8n-nodes-base.executeWorkflowTrigger", + "typeVersion": 1.1, + "position": [464, -144], + "id": "d095d0a6-c44e-400a-baa2-37fcaf256181", + "name": "When Executed by Another Workflow" + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ $json.query }}" + } + }, + "type": "n8n-nodes-base.hackerNews", + "typeVersion": 1, + "position": [672, -144], + "id": "ab3d4c41-9bc3-482e-b9aa-f1b0b60f0d28", + "name": "Hacker News2" + }, + { + "parameters": {}, + "type": "n8n-nodes-base.manualTrigger", + "typeVersion": 1, + "position": [-320, 336], + "id": "67e1134d-c712-4f91-85d0-8bedf577600c", + "name": "When clicking ‘Test workflow’" + }, + { + "parameters": { + "jsCode": "const result = [\n 'n8n',\n 'make',\n 'zappier',\n 'workato'\n].map(i => ({ json: {name: i}}))\n\nreturn result;" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [-96, 320], + "id": "5d7ccb8c-1556-42fb-a17d-18f54caba4a0", + "name": "Code" + }, + { + "parameters": { + "aggregate": "aggregateAllItemData", + "options": {} + }, + "type": "n8n-nodes-base.aggregate", + "typeVersion": 1, + "position": [496, 112], + "id": "826ae2ff-6ec0-4461-8ee1-337735f00767", + "name": "Aggregate2" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for following: {{ $json.data.map(i => i.name).join(', ') }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [720, 112], + "id": "6a5b7f81-728c-48f6-807d-c271f61d19d0", + "name": "AI Agent5" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [672, 288], + "id": "cf585783-1e0f-4432-9bd6-7359e0ee0999", + "name": "OpenAI Chat Model5", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keyword', ``, 'string') }}" + } + }, + "type": "n8n-nodes-base.hackerNewsTool", + "typeVersion": 1, + "position": [944, 288], + "id": "bb2d2150-c0f6-45a2-bf82-75bd99b3f2ed", + "name": "Hacker News4" + }, + { + "parameters": { + "batchSize": 2, + "options": {} + }, + "type": "n8n-nodes-base.splitInBatches", + "typeVersion": 3, + "position": [272, 80], + "id": "85e03712-3d29-4ed3-a236-d50f77cc63a3", + "name": "Loop Over Items1" + }, + { + "parameters": { + "aggregate": "aggregateAllItemData", + "options": {} + }, + "type": "n8n-nodes-base.aggregate", + "typeVersion": 1, + "position": [496, 544], + "id": "5b1944f3-aae9-4ce9-b059-ea98ad6a513f", + "name": "Aggregate3" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for following: {{ $json.data.map(i => i.name).join(', ') }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [720, 544], + "id": "83c78be6-d2eb-479e-8210-c20b5b1947ec", + "name": "AI Agent7" + }, + { + "parameters": { + "batchSize": 2, + "options": {} + }, + "type": "n8n-nodes-base.splitInBatches", + "typeVersion": 3, + "position": [272, 512], + "id": "d2038bcd-d60a-4280-acd9-dfe2aa57c7e8", + "name": "Loop Over Items3" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [656, 800], + "id": "ee951b3d-f7f8-4b28-99d2-2d8e45406117", + "name": "OpenAI Chat Model7", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "description": "Call this tool to search Hacker News", + "workflowId": { + "__rl": true, + "value": "={{ $workflow.id }}", + "mode": "id" + }, + "workflowInputs": { + "mappingMode": "defineBelow", + "value": { + "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('query', ``, 'string') }}" + }, + "matchingColumns": ["query"], + "schema": [ + { + "id": "query", + "displayName": "query", + "required": false, + "defaultMatch": false, + "display": true, + "canBeUsedToMatch": true, + "type": "string", + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + } + }, + "type": "@n8n/n8n-nodes-langchain.toolWorkflow", + "typeVersion": 2.2, + "position": [928, 800], + "id": "8679c23b-43ef-4d80-b18f-963b8d2e0cbf", + "name": "Call n8n Workflow Tool3" + } + ], + "pinData": {}, + "connections": { + "When Executed by Another Workflow": { + "main": [ + [ + { + "node": "Hacker News2", + "type": "main", + "index": 0 + } + ] + ] + }, + "When clicking ‘Test workflow’": { + "main": [ + [ + { + "node": "Code", + "type": "main", + "index": 0 + } + ] + ] + }, + "Code": { + "main": [ + [ + { + "node": "Loop Over Items1", + "type": "main", + "index": 0 + }, + { + "node": "Loop Over Items3", + "type": "main", + "index": 0 + } + ] + ] + }, + "Aggregate2": { + "main": [ + [ + { + "node": "AI Agent5", + "type": "main", + "index": 0 + } + ] + ] + }, + "AI Agent5": { + "main": [ + [ + { + "node": "Loop Over Items1", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model5": { + "ai_languageModel": [ + [ + { + "node": "AI Agent5", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Hacker News4": { + "ai_tool": [ + [ + { + "node": "AI Agent5", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "Loop Over Items1": { + "main": [ + [], + [ + { + "node": "Aggregate2", + "type": "main", + "index": 0 + } + ] + ] + }, + "Aggregate3": { + "main": [ + [ + { + "node": "AI Agent7", + "type": "main", + "index": 0 + } + ] + ] + }, + "AI Agent7": { + "main": [ + [ + { + "node": "Loop Over Items3", + "type": "main", + "index": 0 + } + ] + ] + }, + "Loop Over Items3": { + "main": [ + [], + [ + { + "node": "Aggregate3", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model7": { + "ai_languageModel": [ + [ + { + "node": "AI Agent7", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Call n8n Workflow Tool3": { + "ai_tool": [ + [ + { + "node": "AI Agent7", + "type": "ai_tool", + "index": 0 + } + ] + ] + } + }, + "settings": null, + "versionId": null, + "meta": null, + "tags": [] +} diff --git a/packages/testing/playwright/tests/cli-workflows/workflows/265.json b/packages/testing/playwright/tests/cli-workflows/workflows/265.json new file mode 100644 index 0000000000..481d1511bb --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflows/265.json @@ -0,0 +1,332 @@ +{ + "createdAt": "2025-09-08T10:32:07.628Z", + "updatedAt": "2025-09-08T10:32:07.628Z", + "name": "Tools: Multiple Invocations", + "id": "265", + "active": false, + "nodes": [ + { + "parameters": {}, + "type": "n8n-nodes-base.manualTrigger", + "typeVersion": 1, + "position": [-1024, 432], + "id": "7a8be1ce-c648-4695-9075-9ae348da968f", + "name": "When clicking ‘Test workflow’" + }, + { + "parameters": { + "jsCode": "const result = [\n 'n8n',\n 'make',\n 'zappier',\n 'workato'\n].map(i => ({ json: {name: i}}))\n\nreturn result;" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [-800, 416], + "id": "39ce5cb4-b557-424c-97ad-1f9126e7c45b", + "name": "Code" + }, + { + "parameters": { + "aggregate": "aggregateAllItemData", + "options": {} + }, + "type": "n8n-nodes-base.aggregate", + "typeVersion": 1, + "position": [-304, 176], + "id": "8e6d63b9-cb8b-4553-b3df-04424a51a5a2", + "name": "Aggregate" + }, + { + "parameters": { + "content": "## Node as Tool, multiple invocations\n", + "height": 240, + "width": 560 + }, + "type": "n8n-nodes-base.stickyNote", + "position": [-336, 96], + "typeVersion": 1, + "id": "93172a55-1b27-4e4a-8dce-def58cd08ebc", + "name": "Sticky Note1" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for following: {{ $json.data.map(i => i.name).join(', ') }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [-96, 176], + "id": "1d29875c-b16b-4866-b262-ca6cadc416d2", + "name": "AI Agent1" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [-128, 352], + "id": "25727c7c-0195-4405-918e-3fb9335933f4", + "name": "OpenAI Chat Model1", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keyword', ``, 'string') }}" + } + }, + "type": "n8n-nodes-base.hackerNewsTool", + "typeVersion": 1, + "position": [128, 352], + "id": "74491c5a-3d42-4a90-b716-085aae48d03b", + "name": "Hacker News1" + }, + { + "parameters": { + "aggregate": "aggregateAllItemData", + "options": {} + }, + "type": "n8n-nodes-base.aggregate", + "typeVersion": 1, + "position": [-384, 592], + "id": "4d2ebdc0-4826-464d-baf2-244ef6ae5754", + "name": "Aggregate1" + }, + { + "parameters": { + "content": "## Workflow Tool, multiple invocations\n", + "height": 240, + "width": 660 + }, + "type": "n8n-nodes-base.stickyNote", + "position": [-400, 512], + "typeVersion": 1, + "id": "920bda61-45e0-4dda-9533-1118547cf03c", + "name": "Sticky Note3" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for following: {{ $json.data.map(i => i.name).join(', ') }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [-160, 592], + "id": "db68e97c-807a-4e68-a765-8cd03b4bf0e4", + "name": "AI Agent3" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [-192, 768], + "id": "b64d6fda-91f3-446c-ad38-0b226ac843d1", + "name": "OpenAI Chat Model3", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "description": "Call this tool to search Hacker News", + "workflowId": { + "__rl": true, + "value": "={{ $workflow.id }}", + "mode": "id" + }, + "workflowInputs": { + "mappingMode": "defineBelow", + "value": { + "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('query', ``, 'string') }}" + }, + "matchingColumns": ["query"], + "schema": [ + { + "id": "query", + "displayName": "query", + "required": false, + "defaultMatch": false, + "display": true, + "canBeUsedToMatch": true, + "type": "string", + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + } + }, + "type": "@n8n/n8n-nodes-langchain.toolWorkflow", + "typeVersion": 2.2, + "position": [48, 784], + "id": "c9ad1851-dd8d-4ab8-b987-8649ae7bed6b", + "name": "Call n8n Workflow Tool1" + }, + { + "parameters": { + "workflowInputs": { + "values": [ + { + "name": "query" + } + ] + } + }, + "type": "n8n-nodes-base.executeWorkflowTrigger", + "typeVersion": 1.1, + "position": [-560, -288], + "id": "9e3e729b-16a8-4ff2-af41-ad86c44daf89", + "name": "When Executed by Another Workflow" + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ $json.query }}" + } + }, + "type": "n8n-nodes-base.hackerNews", + "typeVersion": 1, + "position": [-352, -288], + "id": "8d01727b-50bd-4990-807b-91c8dd3942ad", + "name": "Hacker News2" + } + ], + "pinData": {}, + "connections": { + "When clicking ‘Test workflow’": { + "main": [ + [ + { + "node": "Code", + "type": "main", + "index": 0 + } + ] + ] + }, + "Code": { + "main": [ + [ + { + "node": "Aggregate", + "type": "main", + "index": 0 + }, + { + "node": "Aggregate1", + "type": "main", + "index": 0 + } + ] + ] + }, + "Aggregate": { + "main": [ + [ + { + "node": "AI Agent1", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model1": { + "ai_languageModel": [ + [ + { + "node": "AI Agent1", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Hacker News1": { + "ai_tool": [ + [ + { + "node": "AI Agent1", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "Aggregate1": { + "main": [ + [ + { + "node": "AI Agent3", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model3": { + "ai_languageModel": [ + [ + { + "node": "AI Agent3", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Call n8n Workflow Tool1": { + "ai_tool": [ + [ + { + "node": "AI Agent3", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "When Executed by Another Workflow": { + "main": [ + [ + { + "node": "Hacker News2", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "settings": null, + "versionId": null, + "meta": null, + "tags": [] +} diff --git a/packages/testing/playwright/tests/cli-workflows/workflows/266.json b/packages/testing/playwright/tests/cli-workflows/workflows/266.json new file mode 100644 index 0000000000..928115299b --- /dev/null +++ b/packages/testing/playwright/tests/cli-workflows/workflows/266.json @@ -0,0 +1,288 @@ +{ + "createdAt": "2025-09-08T10:32:07.628Z", + "updatedAt": "2025-09-08T10:32:07.628Z", + "name": "Tools: One invocation per item", + "id": "266", + "active": false, + "nodes": [ + { + "parameters": { + "workflowInputs": { + "values": [ + { + "name": "query" + } + ] + } + }, + "type": "n8n-nodes-base.executeWorkflowTrigger", + "typeVersion": 1.1, + "position": [-560, -288], + "id": "9e3e729b-16a8-4ff2-af41-ad86c44daf89", + "name": "When Executed by Another Workflow" + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ $json.query }}" + } + }, + "type": "n8n-nodes-base.hackerNews", + "typeVersion": 1, + "position": [-352, -288], + "id": "8d01727b-50bd-4990-807b-91c8dd3942ad", + "name": "Hacker News2" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for {{ $json.name }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [-496, 128], + "id": "fe09dba9-ffe7-40cd-87f9-1eafeceae041", + "name": "AI Agent" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [-544, 304], + "id": "4e97ae72-f736-433d-bd30-9328d36090f8", + "name": "OpenAI Chat Model", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "resource": "all", + "limit": 1, + "additionalFields": { + "keyword": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Keyword', ``, 'string') }}" + } + }, + "type": "n8n-nodes-base.hackerNewsTool", + "typeVersion": 1, + "position": [-272, 304], + "id": "e6fd0d73-86fc-4d4d-addb-dca24a56ac75", + "name": "Hacker News" + }, + { + "parameters": { + "content": "## Node as Tool, one invocation per item\n", + "height": 240, + "width": 560 + }, + "type": "n8n-nodes-base.stickyNote", + "position": [-544, 16], + "typeVersion": 1, + "id": "797104a9-9e7a-4805-bbf6-92fd4d741e8f", + "name": "Sticky Note" + }, + { + "parameters": { + "promptType": "define", + "text": "=Search HackerNews for {{ $json.name }}", + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.agent", + "typeVersion": 2.2, + "position": [-528, 704], + "id": "d61ee92e-46a0-4b5a-ba9c-41963424bb58", + "name": "AI Agent2" + }, + { + "parameters": { + "model": { + "__rl": true, + "value": "gpt-4.1-nano", + "mode": "list", + "cachedResultName": "gpt-4.1-nano" + }, + "options": {} + }, + "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", + "typeVersion": 1.2, + "position": [-576, 880], + "id": "2d810ae4-f72a-4f46-a1a9-5b5f7a8678c2", + "name": "OpenAI Chat Model2", + "credentials": { + "openAiApi": { + "id": "Zak03cqeLUOsgkFI", + "name": "OpenAi account" + } + } + }, + { + "parameters": { + "content": "## Workflow Tool, one invocation per item\n", + "height": 240, + "width": 660 + }, + "type": "n8n-nodes-base.stickyNote", + "position": [-576, 592], + "typeVersion": 1, + "id": "21d03b34-8597-4c95-b207-1cd5df938f1c", + "name": "Sticky Note2" + }, + { + "parameters": { + "description": "Call this tool to search Hacker News", + "workflowId": { + "__rl": true, + "value": "={{ $workflow.id }}", + "mode": "id" + }, + "workflowInputs": { + "mappingMode": "defineBelow", + "value": { + "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('query', ``, 'string') }}" + }, + "matchingColumns": ["query"], + "schema": [ + { + "id": "query", + "displayName": "query", + "required": false, + "defaultMatch": false, + "display": true, + "canBeUsedToMatch": true, + "type": "string", + "removed": false + } + ], + "attemptToConvertTypes": false, + "convertFieldsToString": false + } + }, + "type": "@n8n/n8n-nodes-langchain.toolWorkflow", + "typeVersion": 2.2, + "position": [-352, 880], + "id": "df0a6e96-737b-43ee-a85f-8071c42d0e09", + "name": "Call n8n Workflow Tool" + }, + { + "parameters": { + "jsCode": "const result = [\n 'n8n',\n 'make',\n 'zappier',\n 'workato'\n].map(i => ({ json: {name: i}}))\n\nreturn result;" + }, + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [-1008, 464], + "id": "cd5ec001-3dd5-4e32-b30c-37bf1e43edfc", + "name": "Code1" + }, + { + "parameters": {}, + "type": "n8n-nodes-base.manualTrigger", + "typeVersion": 1, + "position": [-1200, 464], + "id": "c0b4f2dd-e778-4afc-8ebc-14c759d4f238", + "name": "When clicking ‘Test workflow’" + } + ], + "pinData": {}, + "connections": { + "When Executed by Another Workflow": { + "main": [ + [ + { + "node": "Hacker News2", + "type": "main", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model": { + "ai_languageModel": [ + [ + { + "node": "AI Agent", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Hacker News": { + "ai_tool": [ + [ + { + "node": "AI Agent", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "OpenAI Chat Model2": { + "ai_languageModel": [ + [ + { + "node": "AI Agent2", + "type": "ai_languageModel", + "index": 0 + } + ] + ] + }, + "Call n8n Workflow Tool": { + "ai_tool": [ + [ + { + "node": "AI Agent2", + "type": "ai_tool", + "index": 0 + } + ] + ] + }, + "Code1": { + "main": [ + [ + { + "node": "AI Agent", + "type": "main", + "index": 0 + }, + { + "node": "AI Agent2", + "type": "main", + "index": 0 + } + ] + ] + }, + "When clicking ‘Test workflow’": { + "main": [ + [ + { + "node": "Code1", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "settings": {}, + "versionId": null, + "meta": null, + "tags": [] +}