summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/contexts/SessionContext.tsx
diff options
context:
space:
mode:
authoruttamkanodia14 <[email protected]>2025-07-10 00:19:30 +0530
committerGitHub <[email protected]>2025-07-09 18:49:30 +0000
commit063481faa4b1c86868689580ff0fbd8cb04141e3 (patch)
treef7b38f46a95cd22bbf15a7454963ba834e15d134 /packages/cli/src/ui/contexts/SessionContext.tsx
parent6c12f9e0d902c60fa5e01422018ce773c405da8d (diff)
Adding TurnId to Tool call and API responses and error logs. (#3039)
Co-authored-by: Scott Densmore <[email protected]>
Diffstat (limited to 'packages/cli/src/ui/contexts/SessionContext.tsx')
-rw-r--r--packages/cli/src/ui/contexts/SessionContext.tsx21
1 files changed, 20 insertions, 1 deletions
diff --git a/packages/cli/src/ui/contexts/SessionContext.tsx b/packages/cli/src/ui/contexts/SessionContext.tsx
index 320df324..942af8b5 100644
--- a/packages/cli/src/ui/contexts/SessionContext.tsx
+++ b/packages/cli/src/ui/contexts/SessionContext.tsx
@@ -6,6 +6,7 @@
import React, {
createContext,
+ useCallback,
useContext,
useState,
useMemo,
@@ -26,6 +27,7 @@ export interface SessionStatsState {
sessionStartTime: Date;
metrics: SessionMetrics;
lastPromptTokenCount: number;
+ promptCount: number;
}
export interface ComputedSessionStats {
@@ -46,6 +48,8 @@ export interface ComputedSessionStats {
// and the functions to update it.
interface SessionStatsContextValue {
stats: SessionStatsState;
+ startNewPrompt: () => void;
+ getPromptCount: () => number;
}
// --- Context Definition ---
@@ -63,6 +67,7 @@ export const SessionStatsProvider: React.FC<{ children: React.ReactNode }> = ({
sessionStartTime: new Date(),
metrics: uiTelemetryService.getMetrics(),
lastPromptTokenCount: 0,
+ promptCount: 0,
});
useEffect(() => {
@@ -92,11 +97,25 @@ export const SessionStatsProvider: React.FC<{ children: React.ReactNode }> = ({
};
}, []);
+ const startNewPrompt = useCallback(() => {
+ setStats((prevState) => ({
+ ...prevState,
+ promptCount: prevState.promptCount + 1,
+ }));
+ }, []);
+
+ const getPromptCount = useCallback(
+ () => stats.promptCount,
+ [stats.promptCount],
+ );
+
const value = useMemo(
() => ({
stats,
+ startNewPrompt,
+ getPromptCount,
}),
- [stats],
+ [stats, startNewPrompt, getPromptCount],
);
return (