// SaveMyToken local lab. Run with Node.js 22 or newer. import assert from "node:assert/strict"; // Supplied token counts, not a tokenizer or measured provider usage. const windowSize = 1000, outputReserve = 200, fixedInput = 150; const available = windowSize - outputReserve - fixedInput; const items = [ { id: "constraints", tokens: 120 }, { id: "current-task", tokens: 180 }, { id: "evidence", tokens: 250 }, { id: "old-chatter", tokens: 400 }, ]; let used = 0; const kept = items.filter(item => { if (used + item.tokens > available) return false; used += item.tokens; return true; }); assert.ok(used + fixedInput + outputReserve <= windowSize); assert.equal(used, 550); console.log("Available input budget:", available); console.log("Kept:", kept.map(item => item.id).join(", ")); console.log("Unallocated tokens:", available - used);