-------------------------------------------------------------------------------
---   Modular Simulator Controller System - Assistants Control Script       ---
---                                                                         ---
---   Author:     Oliver Juwig (TheBigO)                                    ---
---   License:    (2026) Creative Commons - BY-NC-SA                        ---
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
---                           Public Modules Section                        ---
-------------------------------------------------------------------------------

Interaction = {}
Reasoning = {}


-------------------------------------------------------------------------------
---                          Public Functions Section                       ---
-------------------------------------------------------------------------------

function Interaction.Ask(raceAssistant, question, ...)
	local arguments = table.pack(...)
	
	return extern("ask")(raceAssistant, question, table.unpack(arguments))
end

function Interaction.Command(raceAssistant, grammar, ...)
	local arguments = table.pack(...)
	
	return extern("command")(raceAssistant, grammar, table.unpack(arguments))
end

function Reasoning.RaiseEvent(raceAssistant, event, ...)
	local arguments = table.pack(...)
	
	return extern("raiseEvent")(raceAssistant, event, table.unpack(arguments))
end

function Reasoning.TriggerAction(raceAssistant, action, ...)
	local arguments = table.pack(...)
	
	return extern("triggerAction")(raceAssistant, action, table.unpack(arguments))
end