Runner
Object Hierarchy:
Description:
public class Runner :
Base
Agent that runs a single skill. Builds system message (template + available skills + current skill) and user message (template or pass-
through); injects them and sends.
See also:
OLLMchat.Agent.Base
Content:
Properties:
- public List completed { get; }
Tasks that have gone through execution (unchanged reference data).
- public bool in_replay { get; set; }
True when running from a replay session. When set, Details and Tool
use the runner's chat_call (ReplayChat) instead of their own.
- public List pending { get; set; }
Tasks to be run (initial plan or new/revised from iteration). Only
this list is ever run.
- public ProgressList progress { get; }
- public bool replay_as_new { get; set; }
When false (default): hydrate task graph from the transcript; rely on
existing task_dir files on disk. When true: also mirror task-list markdown writes during replay (behaviour TBC — see on_replay
sketch agent-issues placeholders).
- public Definition skill { get; }
- public Factory sr_factory { get; }
- public Document? user_request { get; set; }
Used by task list flow (send_async); set from template
user_to_document().
- public bool writer_approval { get; set; }
True once user has approved running writer (modify) tasks this run.
Creation methods:
Methods:
- public string env ()
Used only in send_async when filling task_creation_initial (before
user_request exists).
- public PromptTemplate iteration_prompt (string previous_proposal_issues, List existing_proposed, string previous_proposed_md) throws Error
Build the task list iteration prompt (task_list_iteration.md). Uses
completed and existing_proposed (outstanding) and optional previous_proposed_md when retrying.
- public override void on_replay (Message m)
Apply one stored transcript message during GTK session restore.
Dispatches on replay_phase and message role; uses ResultParser on content-stream where live code would have used the LLM response
string.
- public async void replay (ArrayList<Message> messages)
Replay the task-list flow using the session's raw message list. Swaps
in ReplayChat and calls send_async so the same code path runs (task creation retry loop, parse, handle_task_list). ReplayChat returns
the next session content message on each send().
- public async void run_task_list_iteration (Cancellable? cancellable = null) throws Error
Task list iteration: send current list to LLM, parse response into
this.pending. On parse/validation failure restores this.pending = existing_proposed; uses raw LLM response as previous_proposed for
next retry. On failure after 5 tries, cancels the given cancellable so the whole request stops (no way to carry on).
- public override async void send_async (Message in_message, Cancellable? cancellable = null) throws Error
Entry point. Sends user request only; when finished calls
handle_task_list. Current file and open files come from this.project_manager.
- public PromptTemplate task_creation_prompt (string user_prompt, string previous_proposal, string previous_proposal_issues, Manager skill_catalog, ProjectManager project_manager) throws Error
Build the task creation prompt (task_creation_initial.md). Used by
send_async before user_request exists.
Signals:
Inherited Members:
All known members inherited from class OLLMchat.Agent.Base
All known members inherited from class GLib.Object
- @get
- @new
- @ref
- @set
- add_toggle_ref
- add_weak_pointer
- bind_property
- connect
- constructed
- disconnect
- dispose
- dup_data
- dup_qdata
- force_floating
- freeze_notify
- get_class
- get_data
- get_property
- get_qdata
- get_type
- getv
- interface_find_property
- interface_install_property
- interface_list_properties
- is_floating
- new_valist
- new_with_properties
- newv
- notify
- notify_property
- ref_count
- ref_sink
- remove_toggle_ref
- remove_weak_pointer
- replace_data
- replace_qdata
- set_data
- set_data_full
- set_property
- set_qdata
- set_qdata_full
- set_valist
- setv
- steal_data
- steal_qdata
- thaw_notify
- unref
- watch_closure
- weak_ref
- weak_unref
All known members inherited from interface OLLMchat.Agent.Interface