Class: LittleGhost::Runtime::Hook

Inherits:
Object
  • Object
show all
Defined in:
lib/little_ghost/runtime/hook.rb

Overview

Hooks let applications prepare runs, select session history, transform interjections, and map errors to caller-safe messages.

Hooks are instantiated once per Runtime in configuration order. Override only the methods needed and return the supplied value when leaving it unchanged.

class TenantHook < LittleGhost::Runtime::Hook
def prepare_run(run)
  run.register(TenantConnection.new(run.invocation.actor_id))
  run
end
end

Direct Known Subclasses

LittleGhost::Runtime::Hooks::Artifacts

Instance Method Summary collapse

Instance Method Details

#error_message(_error, _run) ⇒ Object

Returns a caller-safe error message, or nil to defer to later hooks and the runtime default. Avoid exposing secrets or internal exception text.



38
# File 'lib/little_ghost/runtime/hook.rb', line 38

def error_message(_error, _run) = nil

#prepare_execution(run) ⇒ Object

Prepares a Run after its Workspace and Sandbox have opened, but before session history or the entrypoint Agent is built. Hooks may safely store run-scoped files here.



26
# File 'lib/little_ghost/runtime/hook.rb', line 26

def prepare_execution(run) = run

#prepare_interjection(_run, payload) ⇒ Object

Transforms an interjection payload before it reaches the agent.



29
# File 'lib/little_ghost/runtime/hook.rb', line 29

def prepare_interjection(_run, payload) = payload

#prepare_run(run) ⇒ Object

Prepares a newly built Run. Resources registered on the run share its lifecycle and close in reverse order.



21
# File 'lib/little_ghost/runtime/hook.rb', line 21

def prepare_run(run) = run

#session_history(_run, stored:, fallback:) ⇒ Object

Returns the history to use for this run, or nil to defer to later hooks and the session default. stored is empty when the session is new; fallback contains messages supplied by the invocation.



34
# File 'lib/little_ghost/runtime/hook.rb', line 34

def session_history(_run, stored:, fallback:) = nil