Syntropy.TaskScheduler.AgentDispatch (syntropy v0.2.0)

Copy Markdown

Routes agent think and abort requests to the owning node.

Local agents are called through Syntropy.Agent; agents owned by other cluster nodes go through :rpc with provider-aware timeouts. Source-review runs bypass the agent process and call the provider directly so review evidence never persists into agent knowledge.

Summary

Functions

Best-effort abort of in-flight thinks for every selected agent.

Executes one agent think for agent_prompt.

RPC timeout for remote agent thinks: one provider call window plus padding.

Strips knowledge items from an agent payload for source-review provider calls.

Functions

abort_thinks(selected_agents)

@spec abort_thinks([map()]) :: :ok

Best-effort abort of in-flight thinks for every selected agent.

Killing the coordinator task tree does not stop LLM calls already running inside agent processes; each selected agent (local or remote) must abort its own in-flight think so cancelled runs stop burning provider budget.

dispatch_think(agent, agent_prompt, source_review?)

@spec dispatch_think(map(), String.t(), boolean()) ::
  {:ok, String.t()} | {:error, term()}

Executes one agent think for agent_prompt.

Source-review runs call the provider directly with a knowledge-stripped agent payload; other runs dispatch to the agent process on its owning node.

remote_agent_timeout_ms()

@spec remote_agent_timeout_ms() :: pos_integer()

RPC timeout for remote agent thinks: one provider call window plus padding.

source_review_agent_payload(agent)

@spec source_review_agent_payload(map()) :: map()

Strips knowledge items from an agent payload for source-review provider calls.