fix(analytics): use feedbackAgentProviderIdToTracking and assistantFeedbackModelId for feedback events

Wire API-mode agent ids (anthropic-api → anthropic) and agentName-parsed
model ids through the feedback emit path. Previously the feedback props used
agentIdToTracking (no anthropic-api case) and assistantModelDetail (no
agentName fallback), causing model_id='default' and agent_provider_id='other'
for API-mode agents.

Generated-By: looper 0.9.2 (runner=fixer, agent=claude-code)
This commit is contained in:
lefarcen 2026-05-29 00:24:04 +08:00
parent e3da0fdef1
commit 0c1b304409
2 changed files with 8 additions and 8 deletions

View file

@ -20,10 +20,10 @@ import {
trackFeedbackSubmitResult,
} from "../analytics/events";
import {
agentIdToTracking,
feedbackAgentProviderIdToTracking,
modelIdForTracking,
normalizeCustomReason,
type TrackingCliProviderId,
type TrackingFeedbackProviderId,
type TrackingFeedbackReasonCode,
type TrackingFeedbackRatingWithNone,
type TrackingProjectKind,
@ -648,8 +648,8 @@ export function AssistantMessage({
runId={message.runId ?? null}
assistantMessageId={message.id}
producedFileCount={displayedProduced.length}
agentProviderId={agentIdToTracking(message.agentId)}
modelId={modelIdForTracking(assistantModelDetail(message))}
agentProviderId={feedbackAgentProviderIdToTracking(message.agentId) ?? 'other'}
modelId={modelIdForTracking(assistantFeedbackModelId(message))}
hasDesignSystemContext={hasDesignSystemContext}
footerProps={{
streaming,
@ -871,7 +871,7 @@ function AssistantFeedback({
conversationId: string | null;
runId: string | null;
assistantMessageId: string;
agentProviderId: TrackingCliProviderId;
agentProviderId: TrackingFeedbackProviderId;
modelId: string;
producedFileCount: number;
}) {

View file

@ -1334,7 +1334,7 @@ export interface AssistantFeedbackButtonClickProps {
conversation_id: string | null;
assistant_message_id: string;
run_id: string;
agent_provider_id: TrackingCliProviderId;
agent_provider_id: TrackingFeedbackProviderId;
model_id: string;
// For `clear_feedback_rating`, `rating` carries the rating that was
// cleared (not the previous-before-clear value, which lives in
@ -1355,7 +1355,7 @@ export interface AssistantFeedbackReasonSubmitClickProps {
conversation_id: string | null;
assistant_message_id: string;
run_id: string;
agent_provider_id: TrackingCliProviderId;
agent_provider_id: TrackingFeedbackProviderId;
model_id: string;
rating: 'positive' | 'negative';
reason?: string;
@ -1866,7 +1866,7 @@ export interface FeedbackSubmitResultProps {
conversation_id: string | null;
assistant_message_id: string;
run_id: string;
agent_provider_id: TrackingCliProviderId;
agent_provider_id: TrackingFeedbackProviderId;
model_id: string;
rating: 'positive' | 'negative';
reason?: string;