import { buildTaskContext, compactTaskContext, contextSizeReport } from "./task-context-lib.mjs"; const index = process.argv.indexOf("--task"); const task = index >= 0 ? process.argv[index + 1] : undefined; const bundle = buildTaskContext(task); const report = contextSizeReport(bundle); if (!report.withinBudget) { // Never send an oversized task package to the caller. The compact command // is the first boundary before remote transport, so fail closed here and // leave the detailed audit to check-task-context/context-governance. process.stderr.write(`task-context-over-budget task=${bundle.context.task} contentTokens=${report.totalTokens} envelopeTokens=${report.serializedContextTokens}/${report.reservedEnvelopeTokens} estimatedTokens=${report.estimatedContextTokens}\n`); process.exitCode = 1; } else { process.stdout.write(`${JSON.stringify({ ...compactTaskContext(bundle.context), size: report }, null, 2)}\n`); }