LemonCore.ExecutionCommand (lemon_core v0.1.0)

View Source

Queue-semantic-free execution command shared across router/runtime boundaries.

Router-owned callers build this core contract after resolving conversation, engine, model, cwd, resume, and metadata. Runtime implementations translate it into their private execution shape before scheduling work.

Summary

Types

conversation_key()

@type conversation_key() ::
  {:resume, binary(), binary()} | {:session, binary()} | term()

t()

@type t() :: %LemonCore.ExecutionCommand{
  conversation_key: conversation_key() | nil,
  cwd: String.t() | nil,
  engine_id: String.t() | nil,
  images: [map()],
  lane: atom() | nil,
  meta: map(),
  prompt: String.t() | nil,
  resume: LemonCore.ResumeToken.t() | nil,
  run_id: String.t() | nil,
  session_key: String.t() | nil,
  tool_policy: map() | nil
}

Functions

ensure_conversation_key(command)

@spec ensure_conversation_key(t()) :: t()

normalize_meta(meta)

@spec normalize_meta(term()) :: map()