@meistrari/remy-cli 1.11.0 → 1.12.0

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/remy.js +54 -3
  2. package/package.json +1 -1
package/dist/remy.js CHANGED
@@ -32478,6 +32478,32 @@ var usageAgentEventSchema = agentTurnEventBaseSchema.extend({
32478
32478
  usage: agentUsageSchema
32479
32479
  }).strict()
32480
32480
  }).strict();
32481
+ var agentContextWindowSchema = zod_default2.discriminatedUnion("status", [
32482
+ zod_default2.object({
32483
+ status: zod_default2.literal("unknown")
32484
+ }).strict(),
32485
+ zod_default2.object({
32486
+ status: zod_default2.literal("known"),
32487
+ capacityTokens: zod_default2.number().int().positive().max(Number.MAX_SAFE_INTEGER),
32488
+ remainingPercent: zod_default2.number().int().min(0).max(100)
32489
+ }).strict()
32490
+ ]);
32491
+ var agentContextSnapshotSchema = zod_default2.discriminatedUnion("status", [
32492
+ zod_default2.object({
32493
+ status: zod_default2.literal("unknown")
32494
+ }).strict(),
32495
+ zod_default2.object({
32496
+ status: zod_default2.literal("observed"),
32497
+ usedTokens: zod_default2.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
32498
+ window: agentContextWindowSchema
32499
+ }).strict()
32500
+ ]);
32501
+ var contextUpdatedAgentEventSchema = agentTurnEventBaseSchema.extend({
32502
+ type: zod_default2.literal("context.updated"),
32503
+ payload: zod_default2.object({
32504
+ snapshot: agentContextSnapshotSchema
32505
+ }).strict()
32506
+ }).strict();
32481
32507
  var contextCompactionStartedAgentEventSchema = agentTurnEventBaseSchema.extend({
32482
32508
  type: zod_default2.literal("context.compaction.started"),
32483
32509
  payload: zod_default2.object({
@@ -32546,6 +32572,7 @@ var agentEventSchema = zod_default2.discriminatedUnion("type", [
32546
32572
  subagentProgressAgentEventSchema,
32547
32573
  subagentEndedAgentEventSchema,
32548
32574
  usageAgentEventSchema,
32575
+ contextUpdatedAgentEventSchema,
32549
32576
  contextCompactionStartedAgentEventSchema,
32550
32577
  contextCompactionCompletedAgentEventSchema,
32551
32578
  userInputRequestedAgentEventSchema,
@@ -32982,7 +33009,10 @@ var retainedSessionEventSchema = exports_external2.object({
32982
33009
  occurred_at: exports_external2.iso.datetime(),
32983
33010
  recorded_at: exports_external2.iso.datetime(),
32984
33011
  event: retainedEventBodySchema,
32985
- artifact: sessionArtifactEventSchema.optional()
33012
+ artifact: sessionArtifactEventSchema.optional(),
33013
+ context: exports_external2.object({
33014
+ main: agentContextSnapshotSchema
33015
+ }).strict().optional()
32986
33016
  }).strict();
32987
33017
  var ephemeralSessionEventSchema = exports_external2.object({
32988
33018
  occurred_at: exports_external2.iso.datetime(),
@@ -33810,6 +33840,9 @@ var wrappedSubagentEndedAgentEventSchema = subagentEndedAgentEventSchema.extend(
33810
33840
  var wrappedUsageAgentEventSchema = usageAgentEventSchema.extend({
33811
33841
  type: zod_default2.literal("agent.usage")
33812
33842
  }).strict();
33843
+ var wrappedContextUpdatedAgentEventSchema = contextUpdatedAgentEventSchema.extend({
33844
+ type: zod_default2.literal("agent.context.updated")
33845
+ }).strict();
33813
33846
  var wrappedContextCompactionStartedAgentEventSchema = contextCompactionStartedAgentEventSchema.extend({
33814
33847
  type: zod_default2.literal("agent.context.compaction.started")
33815
33848
  }).strict();
@@ -33847,6 +33880,7 @@ var wrappedAgentEventSchema = zod_default2.discriminatedUnion("type", [
33847
33880
  wrappedSubagentProgressAgentEventSchema,
33848
33881
  wrappedSubagentEndedAgentEventSchema,
33849
33882
  wrappedUsageAgentEventSchema,
33883
+ wrappedContextUpdatedAgentEventSchema,
33850
33884
  wrappedContextCompactionStartedAgentEventSchema,
33851
33885
  wrappedContextCompactionCompletedAgentEventSchema,
33852
33886
  wrappedUserInputRequestedAgentEventSchema,
@@ -33950,7 +33984,11 @@ function createSessionViewState({ detail, activeMessageId }) {
33950
33984
  workTurnBaselines: {},
33951
33985
  messageTurns: {},
33952
33986
  retainedTurnStarts: {},
33953
- retainedTurnEnds: {}
33987
+ retainedTurnEnds: {},
33988
+ context: {
33989
+ snapshot: { status: "unknown" },
33990
+ through: 0
33991
+ }
33954
33992
  };
33955
33993
  }
33956
33994
  function updateSessionDetail({ state, detail }) {
@@ -33981,8 +34019,11 @@ function projectRemoteSessionEvent({ state, frame }) {
33981
34019
  retainedEventId: frame.id,
33982
34020
  artifact: frame.data.artifact
33983
34021
  });
34022
+ const annotation = frame.data.context;
34023
+ const context = annotation && frame.data.history_sequence > projected.context.through ? { snapshot: annotation.main, through: frame.data.history_sequence } : projected.context;
33984
34024
  return {
33985
34025
  ...projected,
34026
+ context,
33986
34027
  lastRetainedEventId: frame.id,
33987
34028
  seenRetainedEventIds: { ...projected.seenRetainedEventIds, [frame.id]: true }
33988
34029
  };
@@ -34143,6 +34184,8 @@ function projectDurableAgentEvent({ state, event, occurredAt, retainedEventId })
34143
34184
  const agentEvent = parseDurableAgentEvent(event);
34144
34185
  if (agentEvent.type === "agent.message.ended")
34145
34186
  return projectAgentMessageEnded({ state, event: agentEvent, occurredAt });
34187
+ if (agentEvent.type === "agent.context.updated")
34188
+ return state;
34146
34189
  if (agentEvent.type === "agent.work.observed" && agentEvent.actor.type === "main")
34147
34190
  return projectAgentWorkObserved({ state, event: agentEvent, occurredAt });
34148
34191
  const stateWithTurnStart = agentEvent.type === "agent.turn.started" && agentEvent.actor.type === "main" ? {
@@ -37377,6 +37420,7 @@ function renderStatusBand({ state, working, elapsedMs, stopState, lifecycleReque
37377
37420
  const elapsed = (working || stopping) && elapsedMs !== undefined && elapsedMs > 0 ? ` ${formatElapsed(elapsedMs)}` : "";
37378
37421
  const connection = state.connectionStatus === "connected" ? dim4(fg6(PALETTE.dimText)("connected")) : fg6(PALETTE.approvalQuestion)("reconnecting\u2026");
37379
37422
  const sessionLabel = state.sessionNumber !== undefined ? `Session #${state.sessionNumber}` : `Session ${state.sessionId}`;
37423
+ const context = renderContextStatus(state.context.snapshot);
37380
37424
  const pullRequest = state.pullRequest;
37381
37425
  return new StyledText5([
37382
37426
  fg6(presentation.color)("\u25CF "),
@@ -37385,12 +37429,19 @@ function renderStatusBand({ state, working, elapsedMs, stopState, lifecycleReque
37385
37429
  bold4(fg6(presentation.color)(`${presentation.label}${elapsed}`)),
37386
37430
  dim4(fg6(PALETTE.dimText)(" \xB7 ")),
37387
37431
  connection,
37432
+ ...context ? [dim4(fg6(PALETTE.dimText)(` \xB7 ${context}`))] : [],
37388
37433
  ...pullRequest ? [
37389
37434
  dim4(fg6(PALETTE.dimText)(" \xB7 ")),
37390
37435
  bold4(fg6(statusColor(pullRequest.status))(`PR #${pullRequest.number} \xB7 ${pullRequest.draft ? "Draft" : sessionStatusLabel(pullRequest.status)}`))
37391
37436
  ] : []
37392
37437
  ]);
37393
37438
  }
37439
+ function renderContextStatus(snapshot) {
37440
+ if (snapshot.status === "unknown")
37441
+ return;
37442
+ const usedTokens = snapshot.usedTokens.toLocaleString("en-US");
37443
+ return snapshot.window.status === "known" ? `Context ${snapshot.window.remainingPercent}% left \xB7 ${usedTokens} used` : `Context ${usedTokens} used`;
37444
+ }
37394
37445
  function renderTerminalSessionBand({ aggregateStatus }) {
37395
37446
  const status = sessionStatusLabel(aggregateStatus).toLowerCase();
37396
37447
  return joinStyled([
@@ -37793,7 +37844,7 @@ var compactMarkRows = 9;
37793
37844
  var compactMinWidth = 48;
37794
37845
  var compactMinHeight = 20;
37795
37846
  var markBrightnessGain = 4.2;
37796
- var remyCliVersion = "1.11.0";
37847
+ var remyCliVersion = "1.12.0";
37797
37848
  async function showRemySplash({
37798
37849
  createRenderer = createRemyRenderer,
37799
37850
  durationMs = splashDurationMs,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meistrari/remy-cli",
3
- "version": "1.11.0",
3
+ "version": "1.12.0",
4
4
  "description": "Remy, the Coding Agent terminal client.",
5
5
  "type": "module",
6
6
  "bin": {