16 lines
939 B
JavaScript
16 lines
939 B
JavaScript
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`);
|
|
}
|