From 08916264ea26750f1619d71a360ed33056173f47 Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Tue, 2 Dec 2025 15:03:03 +0200 Subject: [PATCH] adding the block and resolve issue #39 --- .../service-rule-design.component.html | 1 + .../service-rule-design.component.ts | 20 ++++++++++- src/assets/blockly/custom_blocks.js | 34 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.html b/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.html index 3e47d75..d43e091 100644 --- a/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.html +++ b/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.html @@ -345,6 +345,7 @@ + diff --git a/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.ts b/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.ts index c1ab3f5..6020392 100644 --- a/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.ts +++ b/src/app/p_services/admin/lifeCycleManagement/service-rule-design/service-rule-design.component.ts @@ -1421,7 +1421,24 @@ export class ServiceRuleDesignComponent implements OnInit { return [code, Blockly.Java.ORDER_ATOMIC]; }; - + Blockly.Java['askAgent'] = function(block: any) { + // Variable getter. + console.log('askAgent') + + var agentName = Blockly.Java.valueToCode(block, 'agentName', + Blockly.Java.ORDER_NONE) || null; + var chattext = Blockly.Java.valueToCode(block, 'text', + Blockly.Java.ORDER_NONE) || null; + var defaultText = Blockly.Java.valueToCode(block, 'defaultText', + Blockly.Java.ORDER_NONE) || null; + var timeOut = Blockly.Java.valueToCode(block, 'timeOut', + Blockly.Java.ORDER_NONE) || null; + + var code = 'askAgent(' + agentName + ',' + chattext + ',' + defaultText + ',' + timeOut + ')'; + return [code, Blockly.Java.ORDER_ATOMIC]; + }; + + Blockly.Java['createServiceOrderJson'] = function(block: any) { // Variable getter. console.log('createServiceOrderJson') @@ -1433,6 +1450,7 @@ export class ServiceRuleDesignComponent implements OnInit { return [code, Blockly.Java.ORDER_ATOMIC]; }; + Blockly.Java['variables_get'] = function(block: any) { // Variable getter. console.log('Variable getter CUSTOM') diff --git a/src/assets/blockly/custom_blocks.js b/src/assets/blockly/custom_blocks.js index a3a0cb5..c2500e3 100644 --- a/src/assets/blockly/custom_blocks.js +++ b/src/assets/blockly/custom_blocks.js @@ -794,7 +794,39 @@ Blockly.Blocks['string_to_float'] = { * ****************************************************************************/ + Blockly.Blocks['askAgent'] = { + init: function() { + + this.appendDummyInput() + .appendField("Ask agent"); + + this.appendValueInput("agentName") + .setCheck("String") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField("Agent Name"); + + this.appendValueInput("text") + .setCheck("String") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField("Text"); + + this.appendValueInput("defaultText") + .setCheck("String") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField("Default Text"); + + this.appendValueInput("timeOut") + .setCheck("Number") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField("TimeOut (ms)"); + this.setOutput(true, 'String'); + + this.setColour(230); + this.setTooltip("Ask the locally configured LLM agent a question. The response will be the text answer from the agent. On error will return the default text"); + this.setHelpUrl(""); + } + }; @@ -849,6 +881,7 @@ Blockly.Blocks['string_to_float'] = { }; + /*************************************************************************** * * OSM RELATED @@ -1032,6 +1065,7 @@ Blockly.Blocks['string_to_float'] = { } }; + Blockly.Blocks['valueFromJsonPath'] = { init: function() { this.appendValueInput("jsoninput") -- GitLab