CLICompactionMiddleware()SummarizationToolMiddlewareAdd explicit forced compaction and runtime model selection for dcode.
The SDK tool's normal, model-initiated behavior remains unchanged. The
private force input is used only by the user-initiated /offload path,
which must compact whenever messages exceed the retention window even when
the conversation has not reached the SDK's proactive eligibility gate.