{
    "summary": "Order processing flow with type-based branching",
    "value": {
        "modules": [
            {
                "id": "get_orders",
                "summary": "Fetch list of orders",
                "value": {
                    "type": "rawscript",
                    "language": "bun",
                    "content": "export async function main() {\n  // Mock orders from database\n  return [\n    { id: \"ORD-001\", type: \"express\", items: 3, total: 150 },\n    { id: \"ORD-002\", type: \"standard\", items: 5, total: 280 },\n    { id: \"ORD-003\", type: \"pickup\", items: 2, total: 75 },\n    { id: \"ORD-004\", type: \"express\", items: 1, total: 50 }\n  ];\n}",
                    "input_transforms": {}
                }
            },
            {
                "id": "loop_orders",
                "summary": "Process each order",
                "value": {
                    "type": "forloopflow",
                    "iterator": {
                        "type": "javascript",
                        "expr": "results.get_orders"
                    },
                    "skip_failures": false,
                    "parallel": false,
                    "modules": [
                        {
                            "id": "branch_order_type",
                            "summary": "Branch based on order type",
                            "value": {
                                "type": "branchone",
                                "branches": [
                                    {
                                        "summary": "Express Order",
                                        "expr": "flow_input.iter.value.type === 'express'",
                                        "modules": [
                                            {
                                                "id": "handle_express",
                                                "summary": "Handle express order",
                                                "value": {
                                                    "type": "rawscript",
                                                    "language": "bun",
                                                    "content": "export async function main(order: any) {\n  // Mark as priority and calculate express shipping\n  const expressShippingCost = 15.99;\n  return {\n    orderId: order.id,\n    priority: true,\n    shippingCost: expressShippingCost,\n    shippingType: \"express\",\n    estimatedDays: 1\n  };\n}",
                                                    "input_transforms": {
                                                        "order": {
                                                            "type": "javascript",
                                                            "expr": "flow_input.iter.value"
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    },
                                    {
                                        "summary": "Standard Order",
                                        "expr": "flow_input.iter.value.type === 'standard'",
                                        "modules": [
                                            {
                                                "id": "handle_standard",
                                                "summary": "Handle standard order",
                                                "value": {
                                                    "type": "rawscript",
                                                    "language": "bun",
                                                    "content": "export async function main(order: any) {\n  // Calculate standard shipping cost\n  const standardShippingCost = 5.99;\n  return {\n    orderId: order.id,\n    priority: false,\n    shippingCost: standardShippingCost,\n    shippingType: \"standard\",\n    estimatedDays: 5\n  };\n}",
                                                    "input_transforms": {
                                                        "order": {
                                                            "type": "javascript",
                                                            "expr": "flow_input.iter.value"
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    },
                                    {
                                        "summary": "Pickup Order",
                                        "expr": "flow_input.iter.value.type === 'pickup'",
                                        "modules": [
                                            {
                                                "id": "handle_pickup",
                                                "summary": "Handle pickup order",
                                                "value": {
                                                    "type": "rawscript",
                                                    "language": "bun",
                                                    "content": "export async function main(order: any) {\n  // Mark as no shipping required\n  return {\n    orderId: order.id,\n    priority: false,\n    shippingCost: 0,\n    shippingType: \"pickup\",\n    estimatedDays: 0,\n    pickupLocation: \"Store #1\"\n  };\n}",
                                                    "input_transforms": {
                                                        "order": {
                                                            "type": "javascript",
                                                            "expr": "flow_input.iter.value"
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                ],
                                "default": [
                                    {
                                        "id": "process_order",
                                        "summary": "Process unknown order type",
                                        "value": {
                                            "type": "rawscript",
                                            "language": "bun",
                                            "content": "export async function main(order: any) {\n  console.log(`Processing order ${order.id} with unknown type`);\n  return {\n    orderId: order.id,\n    processed: true,\n    shippingType: \"unknown\",\n    timestamp: new Date().toISOString()\n  };\n}",
                                            "input_transforms": {
                                                "order": {
                                                    "type": "javascript",
                                                    "expr": "flow_input.iter.value"
                                                }
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            },
            {
                "id": "summarize",
                "summary": "Return processing summary",
                "value": {
                    "type": "rawscript",
                    "language": "bun",
                    "content": "export async function main(results: any[]) {\n  return {\n    totalProcessed: results.length,\n    processedAt: new Date().toISOString()\n  };\n}",
                    "input_transforms": {
                        "results": {
                            "type": "javascript",
                            "expr": "results.loop_orders"
                        }
                    }
                }
            }
        ]
    },
    "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "required": [],
        "type": "object"
    }
}
