Various beans and context updates to protect from null pointer exceptions
This commit is contained in:
parent
44cced45e3
commit
be0ed8f22d
|
@ -11,8 +11,8 @@ const TreeOfThoughtVisual = ({ data }) => {
|
||||||
const svg = d3.select(svgRef.current);
|
const svg = d3.select(svgRef.current);
|
||||||
svg.selectAll("*").remove();
|
svg.selectAll("*").remove();
|
||||||
|
|
||||||
const width = 800;
|
const width = 1920;
|
||||||
const height = 600;
|
const height = 1080;
|
||||||
const margin = { top: 20, right: 90, bottom: 30, left: 90 };
|
const margin = { top: 20, right: 90, bottom: 30, left: 90 };
|
||||||
|
|
||||||
const treeLayout = d3.tree().size([height - margin.top - margin.bottom, width - margin.left - margin.right]);
|
const treeLayout = d3.tree().size([height - margin.top - margin.bottom, width - margin.left - margin.right]);
|
||||||
|
|
|
@ -70,7 +70,11 @@ public class IoASystem {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
ConfigurableApplicationContext context = SpringApplication.run(IoASystem.class, args);
|
ConfigurableApplicationContext context = SpringApplication.run(IoASystem.class, args);
|
||||||
|
IoASystem system = context.getBean(IoASystem.class);
|
||||||
|
system.processTasksAndAgents(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void processTasksAndAgents(ConfigurableApplicationContext context) {
|
||||||
AgentRegistry agentRegistry = context.getBean(AgentRegistry.class);
|
AgentRegistry agentRegistry = context.getBean(AgentRegistry.class);
|
||||||
TeamFormation teamFormation = context.getBean(TeamFormation.class);
|
TeamFormation teamFormation = context.getBean(TeamFormation.class);
|
||||||
TaskManager taskManager = context.getBean(TaskManager.class);
|
TaskManager taskManager = context.getBean(TaskManager.class);
|
||||||
|
|
|
@ -5,7 +5,6 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class WebSocketService {
|
public class WebSocketService {
|
||||||
|
|
||||||
private final SimpMessagingTemplate messagingTemplate;
|
private final SimpMessagingTemplate messagingTemplate;
|
||||||
|
|
||||||
public WebSocketService(SimpMessagingTemplate messagingTemplate) {
|
public WebSocketService(SimpMessagingTemplate messagingTemplate) {
|
||||||
|
@ -13,6 +12,10 @@ public class WebSocketService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendUpdate(String topic, Object payload) {
|
public void sendUpdate(String topic, Object payload) {
|
||||||
messagingTemplate.convertAndSend("/topic/" + topic, payload);
|
if (payload != null) {
|
||||||
|
messagingTemplate.convertAndSend("/topic/" + topic, payload);
|
||||||
|
} else {
|
||||||
|
System.out.println("Warning: Attempted to send null payload to topic: " + topic);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,12 +2,9 @@ package com.ioa.team;
|
||||||
|
|
||||||
import com.ioa.agent.AgentInfo;
|
import com.ioa.agent.AgentInfo;
|
||||||
import com.ioa.agent.AgentRegistry;
|
import com.ioa.agent.AgentRegistry;
|
||||||
import com.ioa.model.BedrockLanguageModel;
|
|
||||||
import com.ioa.task.Task;
|
import com.ioa.task.Task;
|
||||||
import com.ioa.util.TreeOfThought;
|
import com.ioa.util.TreeOfThought;
|
||||||
|
|
||||||
import com.ioa.service.WebSocketService;
|
import com.ioa.service.WebSocketService;
|
||||||
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -40,17 +37,22 @@ public class TeamFormation {
|
||||||
String reasoning = treeOfThought.reason(teamFormationTask, 3, 2);
|
String reasoning = treeOfThought.reason(teamFormationTask, 3, 2);
|
||||||
|
|
||||||
// Send update about the reasoning process
|
// Send update about the reasoning process
|
||||||
webSocketService.sendUpdate("team_formation_reasoning", reasoning);
|
if (reasoning != null && !reasoning.isEmpty()) {
|
||||||
|
webSocketService.sendUpdate("team_formation_reasoning", reasoning);
|
||||||
|
}
|
||||||
|
|
||||||
List<AgentInfo> team = parseTeamComposition(reasoning, potentialAgents);
|
List<AgentInfo> team = parseTeamComposition(reasoning, potentialAgents);
|
||||||
|
|
||||||
// Send update about the formed team
|
// Send update about the formed team
|
||||||
webSocketService.sendUpdate("team_formed", team);
|
if (team != null && !team.isEmpty()) {
|
||||||
|
webSocketService.sendUpdate("team_formed", team);
|
||||||
|
}
|
||||||
|
|
||||||
return team;
|
return team;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String formatAgentTools(List<AgentInfo> agents) {
|
private String formatAgentTools(List<AgentInfo> agents) {
|
||||||
return agents.stream()
|
return agents.stream()
|
||||||
.map(agent -> agent.getId() + " (capabilities: " + agent.getCapabilities() + ", tools: " + agent.getTools() + ")")
|
.map(agent -> agent.getId() + " (capabilities: " + agent.getCapabilities() + ", tools: " + agent.getTools() + ")")
|
||||||
|
|
|
@ -4,10 +4,7 @@ import com.ioa.model.BedrockLanguageModel;
|
||||||
import com.ioa.service.WebSocketService;
|
import com.ioa.service.WebSocketService;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class TreeOfThought {
|
public class TreeOfThought {
|
||||||
|
@ -22,7 +19,7 @@ public class TreeOfThought {
|
||||||
public String reason(String task, int depth, int branches) {
|
public String reason(String task, int depth, int branches) {
|
||||||
Map<String, Object> treeData = exploreThought(task, depth, branches, "Root");
|
Map<String, Object> treeData = exploreThought(task, depth, branches, "Root");
|
||||||
webSocketService.sendUpdate("tree_of_thought", treeData);
|
webSocketService.sendUpdate("tree_of_thought", treeData);
|
||||||
return (String) treeData.get("selection");
|
return (String) treeData.getOrDefault("selection", "No selection made");
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, Object> exploreThought(String task, int depth, int branches, String nodeName) {
|
private Map<String, Object> exploreThought(String task, int depth, int branches, String nodeName) {
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,15 +1,15 @@
|
||||||
{
|
{
|
||||||
"files": {
|
"files": {
|
||||||
"main.css": "/static/css/main.e6c13ad2.css",
|
"main.css": "/static/css/main.e6c13ad2.css",
|
||||||
"main.js": "/static/js/main.1af137e7.js",
|
"main.js": "/static/js/main.03144112.js",
|
||||||
"static/js/453.d855a71b.chunk.js": "/static/js/453.d855a71b.chunk.js",
|
"static/js/453.d855a71b.chunk.js": "/static/js/453.d855a71b.chunk.js",
|
||||||
"index.html": "/index.html",
|
"index.html": "/index.html",
|
||||||
"main.e6c13ad2.css.map": "/static/css/main.e6c13ad2.css.map",
|
"main.e6c13ad2.css.map": "/static/css/main.e6c13ad2.css.map",
|
||||||
"main.1af137e7.js.map": "/static/js/main.1af137e7.js.map",
|
"main.03144112.js.map": "/static/js/main.03144112.js.map",
|
||||||
"453.d855a71b.chunk.js.map": "/static/js/453.d855a71b.chunk.js.map"
|
"453.d855a71b.chunk.js.map": "/static/js/453.d855a71b.chunk.js.map"
|
||||||
},
|
},
|
||||||
"entrypoints": [
|
"entrypoints": [
|
||||||
"static/css/main.e6c13ad2.css",
|
"static/css/main.e6c13ad2.css",
|
||||||
"static/js/main.1af137e7.js"
|
"static/js/main.03144112.js"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1 +1 @@
|
||||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.1af137e7.js"></script><link href="/static/css/main.e6c13ad2.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.03144112.js"></script><link href="/static/css/main.e6c13ad2.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
3
target/classes/static/static/js/main.03144112.js
Normal file
3
target/classes/static/static/js/main.03144112.js
Normal file
File diff suppressed because one or more lines are too long
39
target/classes/static/static/js/main.03144112.js.LICENSE.txt
Normal file
39
target/classes/static/static/js/main.03144112.js.LICENSE.txt
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react-dom.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react-jsx-runtime.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* scheduler.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
1
target/classes/static/static/js/main.03144112.js.map
Normal file
1
target/classes/static/static/js/main.03144112.js.map
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user