createRun method
Creates a queued run of agentId for triggeringMessageId and appends
run.state_changed; returns the run document.
Implementation
JsonMap createRun({
required String agentId,
required String triggeringMessageId,
required String triggeredBy,
}) {
final m = messages[triggeringMessageId]!;
final id = nextId();
final run = <String, Object?>{
'id': id,
'thread_id': m['thread_id'],
'channel_id': m['channel_id'],
'agent_id': agentId,
'trigger_kind': 'message',
'triggering_message_id': triggeringMessageId,
'triggered_by': triggeredBy,
'state': 'queued',
'version': 1,
'billing_mode_expected': 'organization',
'metrics': <String, Object?>{},
'cost': {'amount_micros': 0, 'currency': 'EUR', 'is_estimate': true},
'steps': <String, Object?>{},
'followups': <String, Object?>{},
'queued_at': stamp(),
};
runs[id] = run;
_runStateEvent(run, triggerState: m['trigger_state'] as String?);
return run;
}