diff options
| author | agarwalravikant <[email protected]> | 2025-08-06 23:16:42 +0530 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-06 17:46:42 +0000 |
| commit | 882a97aff998b2f19731e9966d135f1db5a59914 (patch) | |
| tree | 3102860476bfbaafd2e9b835829533f20618b6b9 /packages/core/src/telemetry | |
| parent | fde9849d48e3b92377aca2eecfd390ebce288692 (diff) | |
Fix to send user tool confirmation decision for yolo or non interacti… (#5677)
Co-authored-by: Ravikant Agarwal <[email protected]>
Diffstat (limited to 'packages/core/src/telemetry')
| -rw-r--r-- | packages/core/src/telemetry/metrics.ts | 2 | ||||
| -rw-r--r-- | packages/core/src/telemetry/types.ts | 4 | ||||
| -rw-r--r-- | packages/core/src/telemetry/uiTelemetry.test.ts | 6 | ||||
| -rw-r--r-- | packages/core/src/telemetry/uiTelemetry.ts | 4 |
4 files changed, 14 insertions, 2 deletions
diff --git a/packages/core/src/telemetry/metrics.ts b/packages/core/src/telemetry/metrics.ts index 124bc602..103f7f71 100644 --- a/packages/core/src/telemetry/metrics.ts +++ b/packages/core/src/telemetry/metrics.ts @@ -100,7 +100,7 @@ export function recordToolCallMetrics( functionName: string, durationMs: number, success: boolean, - decision?: 'accept' | 'reject' | 'modify', + decision?: 'accept' | 'reject' | 'modify' | 'auto_accept', ): void { if (!toolCallCounter || !toolCallLatencyHistogram || !isMetricsInitialized) return; diff --git a/packages/core/src/telemetry/types.ts b/packages/core/src/telemetry/types.ts index 668421f0..db84e2da 100644 --- a/packages/core/src/telemetry/types.ts +++ b/packages/core/src/telemetry/types.ts @@ -14,6 +14,7 @@ export enum ToolCallDecision { ACCEPT = 'accept', REJECT = 'reject', MODIFY = 'modify', + AUTO_ACCEPT = 'auto_accept', } export function getDecisionFromOutcome( @@ -21,10 +22,11 @@ export function getDecisionFromOutcome( ): ToolCallDecision { switch (outcome) { case ToolConfirmationOutcome.ProceedOnce: + return ToolCallDecision.ACCEPT; case ToolConfirmationOutcome.ProceedAlways: case ToolConfirmationOutcome.ProceedAlwaysServer: case ToolConfirmationOutcome.ProceedAlwaysTool: - return ToolCallDecision.ACCEPT; + return ToolCallDecision.AUTO_ACCEPT; case ToolConfirmationOutcome.ModifyWithEditor: return ToolCallDecision.MODIFY; case ToolConfirmationOutcome.Cancel: diff --git a/packages/core/src/telemetry/uiTelemetry.test.ts b/packages/core/src/telemetry/uiTelemetry.test.ts index bce54ad8..221804d2 100644 --- a/packages/core/src/telemetry/uiTelemetry.test.ts +++ b/packages/core/src/telemetry/uiTelemetry.test.ts @@ -104,6 +104,7 @@ describe('UiTelemetryService', () => { [ToolCallDecision.ACCEPT]: 0, [ToolCallDecision.REJECT]: 0, [ToolCallDecision.MODIFY]: 0, + [ToolCallDecision.AUTO_ACCEPT]: 0, }, byName: {}, }, @@ -362,6 +363,7 @@ describe('UiTelemetryService', () => { [ToolCallDecision.ACCEPT]: 1, [ToolCallDecision.REJECT]: 0, [ToolCallDecision.MODIFY]: 0, + [ToolCallDecision.AUTO_ACCEPT]: 0, }, }); }); @@ -395,6 +397,7 @@ describe('UiTelemetryService', () => { [ToolCallDecision.ACCEPT]: 0, [ToolCallDecision.REJECT]: 1, [ToolCallDecision.MODIFY]: 0, + [ToolCallDecision.AUTO_ACCEPT]: 0, }, }); }); @@ -434,11 +437,13 @@ describe('UiTelemetryService', () => { [ToolCallDecision.ACCEPT]: 0, [ToolCallDecision.REJECT]: 0, [ToolCallDecision.MODIFY]: 0, + [ToolCallDecision.AUTO_ACCEPT]: 0, }); expect(tools.byName['test_tool'].decisions).toEqual({ [ToolCallDecision.ACCEPT]: 0, [ToolCallDecision.REJECT]: 0, [ToolCallDecision.MODIFY]: 0, + [ToolCallDecision.AUTO_ACCEPT]: 0, }); }); @@ -483,6 +488,7 @@ describe('UiTelemetryService', () => { [ToolCallDecision.ACCEPT]: 1, [ToolCallDecision.REJECT]: 1, [ToolCallDecision.MODIFY]: 0, + [ToolCallDecision.AUTO_ACCEPT]: 0, }, }); }); diff --git a/packages/core/src/telemetry/uiTelemetry.ts b/packages/core/src/telemetry/uiTelemetry.ts index 2713ac65..fbf5b8dc 100644 --- a/packages/core/src/telemetry/uiTelemetry.ts +++ b/packages/core/src/telemetry/uiTelemetry.ts @@ -32,6 +32,7 @@ export interface ToolCallStats { [ToolCallDecision.ACCEPT]: number; [ToolCallDecision.REJECT]: number; [ToolCallDecision.MODIFY]: number; + [ToolCallDecision.AUTO_ACCEPT]: number; }; } @@ -62,6 +63,7 @@ export interface SessionMetrics { [ToolCallDecision.ACCEPT]: number; [ToolCallDecision.REJECT]: number; [ToolCallDecision.MODIFY]: number; + [ToolCallDecision.AUTO_ACCEPT]: number; }; byName: Record<string, ToolCallStats>; }; @@ -94,6 +96,7 @@ const createInitialMetrics = (): SessionMetrics => ({ [ToolCallDecision.ACCEPT]: 0, [ToolCallDecision.REJECT]: 0, [ToolCallDecision.MODIFY]: 0, + [ToolCallDecision.AUTO_ACCEPT]: 0, }, byName: {}, }, @@ -192,6 +195,7 @@ export class UiTelemetryService extends EventEmitter { [ToolCallDecision.ACCEPT]: 0, [ToolCallDecision.REJECT]: 0, [ToolCallDecision.MODIFY]: 0, + [ToolCallDecision.AUTO_ACCEPT]: 0, }, }; } |
