442
443
private _closeActive(): void {
445
return;
446
}
447
const a = this._active;
448
>
const state = a.pendingToolUseIds.size === 0 ? TurnState.Complete : TurnState.Cancelled;
claudeReplayMapper.ts
449
>
const startedAt = a.startedAt === undefined ? undefined : Date.parse(a.startedAt);
450
>
const endedAt = a.lastResponseAt === undefined ? undefined : Date.parse(a.lastResponseAt);
451
>
const duration = startedAt !== undefined && endedAt !== undefined && Number.isFinite(startedAt) && Number.isFinite(endedAt)
452
? Math.max(0, endedAt - startedAt)
453
: undefined;
455
>
id: a.id,
456
>
startedAt: a.startedAt,
457
>
duration,
458
>
message: { text: a.userText, origin: { kind: MessageKind.User } },
459
>
responseParts: a.responseParts,
460
>
usage: undefined,
461
>
state,
462
>
};
463
>
this._turns.push(turn);
464
>
this._active = undefined;
465
>
}
466
}
467