BuyVerse / Solution /basic_workflow.html
abdo-Mansour's picture
done
b8ee1a5
<html>
<head>
<meta charset="utf-8">
<script src="lib/bindings/utils.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<center>
<h1></h1>
</center>
<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous"
/>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"
></script>
<center>
<h1></h1>
</center>
<style type="text/css">
#mynetwork {
width: 100%;
height: 750px;
background-color: #ffffff;
border: 1px solid lightgray;
position: relative;
float: left;
}
</style>
</head>
<body>
<div class="card" style="width: 100%">
<div id="mynetwork" class="card-body"></div>
</div>
<script type="text/javascript">
// initialize global variables.
var edges;
var nodes;
var allNodes;
var allEdges;
var nodeColors;
var originalNodes;
var network;
var container;
var options, data;
var filter = {
item : '',
property : '',
value : []
};
// This method is responsible for drawing the graph, returns the drawn network
function drawGraph() {
var container = document.getElementById('mynetwork');
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"color": "#ADD8E6", "id": "_done", "label": "_done", "shape": "box"}, {"color": "#FFA07A", "id": "StopEvent", "label": "StopEvent", "shape": "ellipse"}, {"color": "#ADD8E6", "id": "aggregate_tool_results", "label": "aggregate_tool_results", "shape": "box"}, {"color": "#90EE90", "id": "ToolCallResult", "label": "ToolCallResult", "shape": "ellipse"}, {"color": "#90EE90", "id": "AgentInput", "label": "AgentInput", "shape": "ellipse"}, {"color": "#ADD8E6", "id": "call_tool", "label": "call_tool", "shape": "box"}, {"color": "#90EE90", "id": "ToolCall", "label": "ToolCall", "shape": "ellipse"}, {"color": "#ADD8E6", "id": "init_run", "label": "init_run", "shape": "box"}, {"color": "#E27AFF", "id": "AgentWorkflowStartEvent", "label": "AgentWorkflowStartEvent", "shape": "ellipse"}, {"color": "#ADD8E6", "id": "parse_agent_output", "label": "parse_agent_output", "shape": "box"}, {"color": "#90EE90", "id": "AgentOutput", "label": "AgentOutput", "shape": "ellipse"}, {"color": "#ADD8E6", "id": "run_agent_step", "label": "run_agent_step", "shape": "box"}, {"color": "#90EE90", "id": "AgentSetup", "label": "AgentSetup", "shape": "ellipse"}, {"color": "#ADD8E6", "id": "setup_agent", "label": "setup_agent", "shape": "box"}]);
edges = new vis.DataSet([{"arrows": "to", "from": "StopEvent", "to": "_done"}, {"arrows": "to", "from": "aggregate_tool_results", "to": "AgentInput"}, {"arrows": "to", "from": "aggregate_tool_results", "to": "StopEvent"}, {"arrows": "to", "from": "ToolCallResult", "to": "aggregate_tool_results"}, {"arrows": "to", "from": "call_tool", "to": "ToolCallResult"}, {"arrows": "to", "from": "ToolCall", "to": "call_tool"}, {"arrows": "to", "from": "init_run", "to": "AgentInput"}, {"arrows": "to", "from": "AgentWorkflowStartEvent", "to": "init_run"}, {"arrows": "to", "from": "parse_agent_output", "to": "StopEvent"}, {"arrows": "to", "from": "parse_agent_output", "to": "ToolCall"}, {"arrows": "to", "from": "AgentOutput", "to": "parse_agent_output"}, {"arrows": "to", "from": "run_agent_step", "to": "AgentOutput"}, {"arrows": "to", "from": "AgentSetup", "to": "run_agent_step"}, {"arrows": "to", "from": "setup_agent", "to": "AgentSetup"}, {"arrows": "to", "from": "AgentInput", "to": "setup_agent"}]);
nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
for (nodeId in allNodes) {
nodeColors[nodeId] = allNodes[nodeId].color;
}
allEdges = edges.get({ returnType: "Object" });
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};
var options = {
"configure": {
"enabled": false
},
"edges": {
"color": {
"inherit": true
},
"smooth": {
"enabled": true,
"type": "dynamic"
}
},
"interaction": {
"dragNodes": true,
"hideEdgesOnDrag": false,
"hideNodesOnDrag": false
},
"physics": {
"enabled": true,
"stabilization": {
"enabled": true,
"fit": true,
"iterations": 1000,
"onlyDynamicEdges": false,
"updateInterval": 50
}
}
};
network = new vis.Network(container, data, options);
return network;
}
drawGraph();
</script>
</body>
</html>