Files
deepseek-harness/packages/compact
creatixchu 09b7fcfd4f Merge latest master into PR 555
# Conflicts:
#	docs/architecture.i18n.yaml
#	docs/core-data-structures/core.i18n.yaml
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
#	packages/client/runtime/README.i18n.yaml
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/src/client/chat/MessageItem.tsx
#	packages/compact/compact-basic/README.i18n.yaml
#	packages/ui/tui/README.i18n.yaml
2026-07-31 19:39:22 +08:00
..

compact/ — compaction capability family

English | 中文

A compaction capability family (see capability seams): an abstract interface, a summarizing backend, a model-free tool-result pruning companion, and a human command adapter. All product packages.

Package Role ctx key
compact/ Abstract compaction seam (interface + compact/* events + CompactionResult) ctx.compact
compact-basic/ A backend: ctx.tokenMeter pressure + token-budget retention + llm.stream() summarization (registers ctx.compact)
compact-tool-result-prune/ Optional model-free head/middle/tail rewriting before summary compaction ctx.toolResultPrune
command-compact/ Human /compact command over the backend-independent compactNow() seam (registers on ctx.commands)

The interface lives at compact/compact/, the backend at compact/compact-basic/, deterministic pruning at compact/compact-tool-result-prune/, and the command at compact/command-compact/. Unlike the bash seam, the interface depends on dsh-session and dsh-llm because its verbs are defined over a Session and its output uses ContentBlock. That deviation is recorded in the compaction capability-seam Agent Note. Token measurement remains a reusable LLM-family service; a template- or model-backed compactor can replace compact-basic without changing the meter, pruner, command, or automatic callers.