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 3e47d755a79b31367401bcb16d7db08c0246e0fa..d43e091d0073c09ea6d89b16e36d9e3281d66279 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 c1ab3f56841896119644d4adbfd78b370d73056c..602039246f1b76c10535104186fc25b028669175 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 a3a0cb5cf420a8059b3e4b352d4ded3a927aff94..c2500e39793fd0450c291e3b4d08eca50477172b 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")