The executing agent (per-agent compaction knobs + summary prompt override)
The agent's type (type-level defaults) — null only for typeless programmatic runs
OptionalBranchThe branch whose path is compacted; null or omitted is the trunk.
The resolved budget (see ConversationCompactionManager.ResolveEffectiveBudget)
The conversation whose window may need compacting
Token estimator for context messages — supplied by the caller so trigger math uses the SAME heuristic BaseAgent uses for in-turn context management (no drift).
OptionalExcludeDetail rows to omit from the assembled window — e.g. the in-flight agent-response placeholder row, whose Message the resolver may still be writing concurrently with a post-turn pass. Without this, the boundary could land on that row and the summary write's Load→Save (generated spUpdate writes all columns) could clobber it.
OptionalExecutionThe run's execution scope (configuration, runtime keys, credential scope) for the summary
prompt, so it runs on the same credentials as the run that triggered it. ContextUser still
names the user.
OptionalOnFires with the summary AIPromptRun ID as soon as the run record exists (step TargetLogID wiring)
OptionalProviderProvider for the boundary-row entity write (falls back to the global provider)
OptionalVerboseVerbose diagnostics (LogStatusEx verboseOnly)
Inputs to ConversationCompactionManager.CompactIfNeeded.