Included monitor in execution contract and hardened its functions

This commit is contained in:
Lyncoln
2026-10-23 00:49:04 -04:00
parent 868e13b4cc
commit 7419f94c97
2 changed files with 32 additions and 12 deletions
+8
View File
@@ -1,18 +1,26 @@
from core.execution.action import buildAction from core.execution.action import buildAction
from core.execution.operation import buildOperation from core.execution.operation import buildOperation
from core.execution.monitor import buildMonitor
from core.runtime import manageFailure from core.runtime import manageFailure
def executeContract(module, outputs): def executeContract(module, outputs):
if module.kind == "operation": if module.kind == "operation":
outputs, responses = buildOperation(module, outputs) outputs, responses = buildOperation(module, outputs)
return outputs, responses return outputs, responses
elif module.kind == "action": elif module.kind == "action":
outputs, response = buildAction(module, outputs) outputs, response = buildAction(module, outputs)
return outputs, response return outputs, response
elif module.kind == "monitor":
outputs, response= buildMonitor(module, outputs)
return outputs, response
#except Exception as error: #except Exception as error:
#outputs = manageFailure(error, module) #outputs = manageFailure(error, module)
+22 -10
View File
@@ -1,25 +1,37 @@
from core.execution.executioncontract import executeContract #from core.execution.executioncontract import executeContract
from core.execution.action import buildAction from core.execution.action import buildAction
from core.execution.operation import buildOperation
from core.apirequest import executeRequest from core.apirequest import executeRequest
from core.runtime.resolver import resolveItem from core.runtime.resolver import resolveItem
from core.runtime.applyconditions import applyConditions from core.runtime.applyconditions import applyConditions
from plugins.rmass.actions import login, refresh_tokens #from plugins.rmass.actions import login, refresh_tokens
from core.runtime import buildOutput from core.runtime import buildOutput
from core.runtime.savedata import loadSave
outputs = {} outputs = {}
resolved = {} resolved = {}
def buildMonitor(monitor, outputs): def buildMonitor(monitor, outputs):
outputs = loadSave(monitor, outputs)
outputs, response = buildAction(refresh_tokens, outputs) response, outputs = executeRequest(monitor, outputs, resolved)
outputs, response = buildAction(monitor, outputs)
responsedata = response.json()
readitems = resolveItem(monitor, responsedata)
readitems = resolveItem(monitor, response.json())
match, filter = applyConditions(monitor, readitems, outputs) match, filter = applyConditions(monitor, readitems, outputs)
outputs = buildOutput(response, monitor, outputs) outputs = buildOutput(response, monitor, outputs)
if match:
#print("FILTERING")
outputs = executeContract(filter["execute"], outputs)
response, outputs = executeRequest(monitor, outputs, outputs)
return outputs if match:
module = filter["execute"]
if module.kind == "action":
outputs, response = buildAction(module, outputs)
if module.kind == "operation":
outputs, responses = buildOperation(module, outputs)
response = responses
return outputs, response