File

src/engine/debug/engine.debug.ts

Description

Rules engine debugger object to emit debug events

Index

Properties
Methods
Accessors

Constructor

constructor(options?: EngineDebuggerOptions)

Instantiate a rules engine debugger

Parameters :
Name Type Optional Description
options EngineDebuggerOptions Yes

Options to configure the debugger

Properties

Public Readonly debugEvents$
Type : Observable<DebugEvent>

Stream emitting a debug event when is fired; timeline is kept

Methods

Public activeRulesetsChange
activeRulesetsChange(ruleSetExecutorMap: Record<string | RulesetExecutor>, restrictiveRuleSets?: string[])

Computes and emits an 'ActiveRulesets' debug event when the active rulesets are changing

Parameters :
Name Type Optional Description
ruleSetExecutorMap Record<string | RulesetExecutor> No

map off all rulesets executors

restrictiveRuleSets string[] Yes

ids of the rulesets to activate; if not provided all registered rulesets will be considered as active

Returns : void
Public addAvailableFactsSnapshotEvent
addAvailableFactsSnapshotEvent(_id: string, factValue$: Observable)

Emits a 'AvailableFactsSnapshot' debug event when a fact value is updated

Parameters :
Name Type Optional
_id string No
factValue$ Observable<any> No
Returns : void
Public addAvailableRulesets
addAvailableRulesets(rulesets: Ruleset[])

Emits an 'AvailableRulesets' debug event when rulesets are registered to the rules engine

Parameters :
Name Type Optional
rulesets Ruleset[] No
Returns : void
Public addRulesetExecutionErrorEvent
addRulesetExecutionErrorEvent(ruleset: Ruleset, rulesetInputFacts: string[], executionCounter: number, runtimeFactValues: Record<string | Facts>, rulesetTriggers: Record<string | Record<string, EvaluationReason>>, rulesExecutions: RuleEvaluation[])

Emits a 'RulesetExecutionError' debug event at the output of a failing ruleset execution

Parameters :
Name Type Optional
ruleset Ruleset No
rulesetInputFacts string[] No
executionCounter number No
runtimeFactValues Record<string | Facts> No
rulesetTriggers Record<string | Record<string, EvaluationReason>> No
rulesExecutions RuleEvaluation[] No
Returns : void
Public addRulesetExecutionEvent
addRulesetExecutionEvent(ruleset: Ruleset, executionCounter: number, rulesetInputFacts: string[], allOutputActions: ActionBlock[], runtimeFactValues: Record<string | Facts>, rulesetTriggers: Record<string | Record<string, EvaluationReason>>, rulesExecutions: RuleEvaluation[])

Emits a 'RulesetExecution' debug event at the output of a successful ruleset execution

Parameters :
Name Type Optional
ruleset Ruleset No
executionCounter number No
rulesetInputFacts string[] No
allOutputActions ActionBlock[] No
runtimeFactValues Record<string | Facts> No
rulesetTriggers Record<string | Record<string, EvaluationReason>> No
rulesExecutions RuleEvaluation[] No
Returns : void
Public allActionsChange
allActionsChange(actions: ActionBlock[])

Emits an 'AllActions' debug event each time the rules engine outputs the list of actions

Parameters :
Name Type Optional Description
actions ActionBlock[] No

list of outputted actions

Returns : void
Public Async getFactsSnapshot
getFactsSnapshot(factsNames: string[])

Returns a list of fact name and value pairs

Parameters :
Name Type Optional Description
factsNames string[] No

List of facts names to get the value for

Returns : unknown
Public handleDebugRulesetExecutionInfo
handleDebugRulesetExecutionInfo(currRes: RuleEvaluationOutput[], prevRes: RuleEvaluationOutput[] | undefined, allExecutionsValid: boolean, rulesetInputFacts: string[], runtimeFactValues: Record<string | Facts>, executionCounter: number, ruleset: Ruleset)

Handle ruleset execution debug info

Parameters :
Name Type Optional
currRes RuleEvaluationOutput[] No
prevRes RuleEvaluationOutput[] | undefined No
allExecutionsValid boolean No
rulesetInputFacts string[] No
runtimeFactValues Record<string | Facts> No
executionCounter number No
ruleset Ruleset No
Returns : { executionCounter: number; rulesetOutputExecution: any; allExecutionsValid: boolean; rulesetTriggers: any; }
Public registerRuleEngine
registerRuleEngine(rulesEngine: RulesEngine)

Plug the debugger to a Rule Engine

Parameters :
Name Type Optional
rulesEngine RulesEngine No
Returns : void

Accessors

rulesEngine
getrulesEngine()

Retrieved the rules engine plugged to the debugger

results matching ""

    No results matching ""