-// ruler shows the model the size limit of a line. Models cannot count bytes,
-// and a sample line as the ruler gets its content copied.
-var ruler = strings.Repeat("-", nodeBytes)
-
-// Compactor builds the nodes of one agent with a model. A compaction is a call
-// like a turn, with the same system prompt and tools, so it reads them from the
-// prompt cache of the turns. The tools are never called. After them comes one
-// user message with the compaction view up to the node and the task.
-//
-// When the line is over nodeBytes, the next try sends the same view and task,
-// plus a note with the size of the newest line and its cut at the limit. A try
-// never sends the model's earlier reply or reasoning back, so every try has the
-// same cached prefix and about the same size. After at most compactionTries
-// tries, the shortest line is the node. A few bytes over the limit is fine,
-// because the view measures the real sizes. A call that fails before any line
-// fails the build, and the core tries it again at the next message.
-type Compactor struct {
- client *Client
- model ModelConfig
- instructions func() (string, error)
- tools []Tool
-}
+// compactorRuler shows the model the size limit of a line. Models cannot count
+// bytes, and a sample line as the ruler gets its content copied.
+var compactorRuler = strings.Repeat("-", nodeBytes)