@tryarcanist/cli 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +14 -6
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -227,18 +227,20 @@ function flattenSessionEvents(raw) {
227
227
  for (const event of raw) {
228
228
  const data = event.data ?? {};
229
229
  if (event.type === "sandbox_compaction_start") {
230
- merged.push({ type: "compaction_start", id: `cs-${data.timestamp ?? merged.length}` });
230
+ merged.push({ type: "compaction_start", id: `cs-${data.timestamp ?? merged.length}`, ...data.contextTokens != null ? { contextTokens: data.contextTokens } : {} });
231
231
  continue;
232
232
  }
233
233
  if (event.type === "sandbox_compaction_complete") {
234
- merged.push({ type: "compaction_complete", id: `cc-${data.timestamp ?? merged.length}` });
234
+ merged.push({ type: "compaction_complete", id: `cc-${data.timestamp ?? merged.length}`, ...data.contextTokensBefore != null ? { contextTokensBefore: data.contextTokensBefore } : {}, ...data.contextTokensAfter != null ? { contextTokensAfter: data.contextTokensAfter } : {} });
235
235
  continue;
236
236
  }
237
237
  if (event.type === "sandbox_context_fill_warning") {
238
238
  merged.push({
239
239
  type: "context_fill_warning",
240
240
  id: `cfw-${data.timestamp ?? merged.length}`,
241
- fillPercent: Number(data.fillPercent ?? 0)
241
+ fillPercent: Number(data.fillPercent ?? 0),
242
+ ...data.contextTokens != null ? { contextTokens: data.contextTokens } : {},
243
+ ...data.contextWindow != null ? { contextWindow: data.contextWindow } : {}
242
244
  });
243
245
  continue;
244
246
  }
@@ -396,11 +398,17 @@ ${event.text}
396
398
  ${event.answer ? `**Answer:** ${event.answer}
397
399
  ` : ""}`;
398
400
  case "compaction_start":
399
- return "*[context compacted]*\n";
401
+ return event.contextTokens ? `*[compacting context at ${Math.round(event.contextTokens / 1e3)}k tokens]*
402
+ ` : "*[compacting context]*\n";
400
403
  case "compaction_complete":
401
- return "";
404
+ if (event.contextTokensBefore && event.contextTokensAfter && event.contextTokensBefore > 0) {
405
+ const savedPct = Math.round((1 - event.contextTokensAfter / event.contextTokensBefore) * 100);
406
+ return `*[context compacted: ${Math.round(event.contextTokensBefore / 1e3)}k \u2192 ${Math.round(event.contextTokensAfter / 1e3)}k (${savedPct}% saved)]*
407
+ `;
408
+ }
409
+ return "*[context compacted]*\n";
402
410
  case "context_fill_warning":
403
- return `*[context ${event.fillPercent}% full]*
411
+ return `*[context ${Math.round(event.fillPercent * 100)}% full]*
404
412
  `;
405
413
  case "tool_truncated":
406
414
  return `*[${event.tool} output truncated]*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryarcanist/cli",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "CLI for Arcanist — create and manage coding agent sessions",
5
5
  "type": "module",
6
6
  "bin": {