diff --git a/js/gtUINodes.js b/js/gtUINodes.js index 1afef03..005a83d 100644 --- a/js/gtUINodes.js +++ b/js/gtUINodes.js @@ -602,10 +602,23 @@ app.registerExtension({ }; // Combine: Merge Texts - if ( nodeData.name === "Griptape Combine: Merge Texts" || nodeData.name === "Griptape Combine: Merge Inputs" ) { + if ( nodeData.name === "Griptape Combine: Merge Texts" || + nodeData.name === "Griptape Combine: Merge Inputs" || + nodeData.name === "Griptape Combine: Rules List" || + nodeData.name === "Griptape Combine: Tool List") { // Set the base name of the input node var input_name = "input_"; + + switch (nodeData.name) { + case 'Griptape Combine: Rules List': + input_name = "rules_"; + break; + case 'Griptape Combine: Tool List': + input_name = "tool_"; + break; + } + const onConnectionsChange = nodeType.prototype.onConnectionsChange; nodeType.prototype.onConnectionsChange = function (type, index, connected, link_info) { if(!link_info) diff --git a/nodes/agent/base_agent.py b/nodes/agent/base_agent.py index 1094d76..34c9416 100644 --- a/nodes/agent/base_agent.py +++ b/nodes/agent/base_agent.py @@ -16,7 +16,6 @@ class BaseAgent: def __init__(self): self.default_prompt = default_prompt self.agent = gtComfyAgent() - # self.agent.set_default_config() @classmethod def INPUT_TYPES(s): @@ -114,6 +113,7 @@ class BaseAgent: self.agent.tools = tools if len(rulesets) > 0: self.agent.rulesets = rulesets + print(self.agent.rulesets) # Warn for models model, simple_model = self.agent.model_check() diff --git a/nodes/combine_nodes.py b/nodes/combine_nodes.py index bea2c03..8a6193d 100644 --- a/nodes/combine_nodes.py +++ b/nodes/combine_nodes.py @@ -30,17 +30,13 @@ class MergeTexts: self, **kwargs, ): - # Join strings by newline - input_1 = kwargs.get("input_1", "") - del kwargs["input_1"] + merged_text = "" + inputs = [value for value in kwargs.values()] - if len(inputs) == 0: - return (input_1,) - else: - for input in inputs: - input_1 += "\n\n" + input - return (input_1,) + for input in inputs: + merged_text += "\n\n" + input + return (merged_text,) class gtUIMergeInputs: @@ -72,17 +68,11 @@ class gtUIMergeInputs: self, **kwargs, ): - # Join strings by newline - input_1 = kwargs.get("input_1", "") - del kwargs["input_1"] + concatenated_value = "" inputs = [value for value in kwargs.values()] - concatenated_value = str(input_1) - if len(inputs) == 0: - return (concatenated_value,) - else: - for input in inputs: - concatenated_value += "\n\n" + str(input) - return (concatenated_value,) + for input in inputs: + concatenated_value += "\n\n" + str(input) + return (concatenated_value,) class RulesList: @@ -100,11 +90,6 @@ class RulesList: return { "optional": { "rules_1": ("RULESET",), - "rules_2": ("RULESET",), - "rules_3": ("RULESET",), - "rules_4": ("RULESET",), - "rules_5": ("RULESET",), - "rules_6": ("RULESET",), } } @@ -114,27 +99,15 @@ class RulesList: CATEGORY = "Griptape/Agent Rules" - def create( - self, - rules_1=None, - rules_2=None, - rules_3=None, - rules_4=None, - rules_5=None, - rules_6=None, - ): - rule_list = [ - rule[0] - for rule in [ - rules_1, - rules_2, - rules_3, - rules_4, - rules_5, - rules_6, - ] - if rule is not None - ] + def create(self, **kwargs): + # Clear the rule_list + rule_list = [] + + rules = [value for value in kwargs.values()] + if len(rules) > 0: + for rule in rules: + rule_list.append(rule[0]) + # rule_list = [rule[0] for rule in [kwargs.values()] if rule is not None] return (rule_list,) @@ -153,11 +126,6 @@ class ToolList: return { "optional": { "tool_1": ("TOOL_LIST",), - "tool_2": ("TOOL_LIST",), - "tool_3": ("TOOL_LIST",), - "tool_4": ("TOOL_LIST",), - "tool_5": ("TOOL_LIST",), - "tool_6": ("TOOL_LIST",), } } @@ -167,25 +135,11 @@ class ToolList: CATEGORY = "Griptape/Agent Tools" - def create( - self, - tool_1=None, - tool_2=None, - tool_3=None, - tool_4=None, - tool_5=None, - tool_6=None, - ): - tool_list = [ - tool[0] - for tool in [ - tool_1, - tool_2, - tool_3, - tool_4, - tool_5, - tool_6, - ] - if tool is not None - ] + def create(self, **kwargs): + tool_list = [] + + tools = [value for value in kwargs.values()] + if len(tools) > 0: + for tool in tools: + tool_list.append(tool[0]) return (tool_list,)