Compare commits

..

2 Commits

Author SHA1 Message Date
a68588585b Add multi-signal coach decision fields
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2026-07-22 20:54:13 -07:00
7c795cc5bf Expose Session Coach agent summary
All checks were successful
Tests / Tests (pull_request) Successful in 14s
2026-07-22 15:13:17 -07:00
6 changed files with 28 additions and 18 deletions

View File

@@ -274,7 +274,6 @@ export type CommentGql = {
id: Scalars["Int"]["output"]; id: Scalars["Int"]["output"];
message: Scalars["String"]["output"]; message: Scalars["String"]["output"];
replies: Array<CommentGql>; replies: Array<CommentGql>;
replyToCommentId?: Maybe<Scalars["Int"]["output"]>;
user: UserGql; user: UserGql;
}; };
@@ -3614,7 +3613,10 @@ export type SessionCoachDecisionGql = {
practiceAttemptCount?: Maybe<Scalars["Int"]["output"]>; practiceAttemptCount?: Maybe<Scalars["Int"]["output"]>;
practiceTarget?: Maybe<Scalars["String"]["output"]>; practiceTarget?: Maybe<Scalars["String"]["output"]>;
selectedCandidateId?: Maybe<Scalars["ID"]["output"]>; selectedCandidateId?: Maybe<Scalars["ID"]["output"]>;
sessionSummary?: Maybe<Scalars["String"]["output"]>;
suggestedAction?: Maybe<Scalars["String"]["output"]>; suggestedAction?: Maybe<Scalars["String"]["output"]>;
supportingCandidateIds: Array<Scalars["ID"]["output"]>;
supportingShotIds: Array<Scalars["Int"]["output"]>;
title?: Maybe<Scalars["String"]["output"]>; title?: Maybe<Scalars["String"]["output"]>;
}; };
@@ -3673,6 +3675,7 @@ export type SessionCoachGenerationDiagnosticsGql = {
promptVersion: Scalars["String"]["output"]; promptVersion: Scalars["String"]["output"];
providerKey: Scalars["String"]["output"]; providerKey: Scalars["String"]["output"];
startedAt?: Maybe<Scalars["DateTime"]["output"]>; startedAt?: Maybe<Scalars["DateTime"]["output"]>;
synthesisRationale?: Maybe<Scalars["String"]["output"]>;
updatedAt: Scalars["DateTime"]["output"]; updatedAt: Scalars["DateTime"]["output"];
}; };
@@ -5009,7 +5012,6 @@ export type GetFeedQuery = {
__typename?: "CommentGQL"; __typename?: "CommentGQL";
id: number; id: number;
message: string; message: string;
replyToCommentId?: number | null;
user: { user: {
__typename?: "UserGQL"; __typename?: "UserGQL";
id: number; id: number;
@@ -5125,7 +5127,6 @@ export type VideoCardFieldsFragment = {
__typename?: "CommentGQL"; __typename?: "CommentGQL";
id: number; id: number;
message: string; message: string;
replyToCommentId?: number | null;
user: { user: {
__typename?: "UserGQL"; __typename?: "UserGQL";
id: number; id: number;
@@ -5274,7 +5275,6 @@ export type GetVideoFeedQuery = {
__typename?: "CommentGQL"; __typename?: "CommentGQL";
id: number; id: number;
message: string; message: string;
replyToCommentId?: number | null;
user: { user: {
__typename?: "UserGQL"; __typename?: "UserGQL";
id: number; id: number;
@@ -6980,6 +6980,9 @@ export type GetSessionCoachQuery = {
decision?: { decision?: {
__typename?: "SessionCoachDecisionGQL"; __typename?: "SessionCoachDecisionGQL";
selectedCandidateId?: string | null; selectedCandidateId?: string | null;
supportingCandidateIds: Array<string>;
supportingShotIds: Array<number>;
sessionSummary?: string | null;
title?: string | null; title?: string | null;
body?: string | null; body?: string | null;
suggestedAction?: string | null; suggestedAction?: string | null;
@@ -7007,6 +7010,7 @@ export type GetSessionCoachQuery = {
startedAt?: any | null; startedAt?: any | null;
lastEnqueuedAt?: any | null; lastEnqueuedAt?: any | null;
abstentionReason?: string | null; abstentionReason?: string | null;
synthesisRationale?: string | null;
} | null; } | null;
} | null; } | null;
}; };
@@ -7030,6 +7034,9 @@ export type RequestSessionCoachGenerationMutation = {
decision?: { decision?: {
__typename?: "SessionCoachDecisionGQL"; __typename?: "SessionCoachDecisionGQL";
selectedCandidateId?: string | null; selectedCandidateId?: string | null;
supportingCandidateIds: Array<string>;
supportingShotIds: Array<number>;
sessionSummary?: string | null;
title?: string | null; title?: string | null;
body?: string | null; body?: string | null;
suggestedAction?: string | null; suggestedAction?: string | null;
@@ -7057,6 +7064,7 @@ export type RequestSessionCoachGenerationMutation = {
startedAt?: any | null; startedAt?: any | null;
lastEnqueuedAt?: any | null; lastEnqueuedAt?: any | null;
abstentionReason?: string | null; abstentionReason?: string | null;
synthesisRationale?: string | null;
} | null; } | null;
} | null; } | null;
}; };
@@ -7100,6 +7108,9 @@ export type SessionCoachGenerationFieldsFragment = {
decision?: { decision?: {
__typename?: "SessionCoachDecisionGQL"; __typename?: "SessionCoachDecisionGQL";
selectedCandidateId?: string | null; selectedCandidateId?: string | null;
supportingCandidateIds: Array<string>;
supportingShotIds: Array<number>;
sessionSummary?: string | null;
title?: string | null; title?: string | null;
body?: string | null; body?: string | null;
suggestedAction?: string | null; suggestedAction?: string | null;
@@ -7127,6 +7138,7 @@ export type SessionCoachGenerationFieldsFragment = {
startedAt?: any | null; startedAt?: any | null;
lastEnqueuedAt?: any | null; lastEnqueuedAt?: any | null;
abstentionReason?: string | null; abstentionReason?: string | null;
synthesisRationale?: string | null;
} | null; } | null;
}; };
@@ -8518,7 +8530,6 @@ export type GetVideoSocialDetailsByIdQuery = {
__typename?: "CommentGQL"; __typename?: "CommentGQL";
id: number; id: number;
message: string; message: string;
replyToCommentId?: number | null;
user: { user: {
__typename?: "UserGQL"; __typename?: "UserGQL";
id: number; id: number;
@@ -8626,7 +8637,6 @@ export type GetVideoCardQuery = {
__typename?: "CommentGQL"; __typename?: "CommentGQL";
id: number; id: number;
message: string; message: string;
replyToCommentId?: number | null;
user: { user: {
__typename?: "UserGQL"; __typename?: "UserGQL";
id: number; id: number;
@@ -9204,7 +9214,6 @@ export type GetUploadLinkMutation = {
}; };
stream?: { stream?: {
__typename?: "UploadStreamGQL"; __typename?: "UploadStreamGQL";
id: string;
uploadCompletionCursor: number; uploadCompletionCursor: number;
} | null; } | null;
}; };
@@ -9303,7 +9312,6 @@ export type UploadStreamWithDetailsFragment = {
startTime?: any | null; startTime?: any | null;
stream?: { stream?: {
__typename?: "UploadStreamGQL"; __typename?: "UploadStreamGQL";
id: string;
isCompleted: boolean; isCompleted: boolean;
lastIntendedSegmentBound?: number | null; lastIntendedSegmentBound?: number | null;
uploadCompletionCursor: number; uploadCompletionCursor: number;
@@ -9328,7 +9336,6 @@ export type GetUploadStreamsWithDetailsQuery = {
startTime?: any | null; startTime?: any | null;
stream?: { stream?: {
__typename?: "UploadStreamGQL"; __typename?: "UploadStreamGQL";
id: string;
isCompleted: boolean; isCompleted: boolean;
lastIntendedSegmentBound?: number | null; lastIntendedSegmentBound?: number | null;
uploadCompletionCursor: number; uploadCompletionCursor: number;
@@ -9430,7 +9437,6 @@ export const VideoCardFieldsFragmentDoc = gql`
replies { replies {
id id
message message
replyToCommentId
user { user {
...UserSocialsFields ...UserSocialsFields
} }
@@ -9618,6 +9624,9 @@ export const SessionCoachGenerationFieldsFragmentDoc = gql`
completedAt completedAt
decision { decision {
selectedCandidateId selectedCandidateId
supportingCandidateIds
supportingShotIds
sessionSummary
title title
body body
suggestedAction suggestedAction
@@ -9644,6 +9653,7 @@ export const SessionCoachGenerationFieldsFragmentDoc = gql`
startedAt startedAt
lastEnqueuedAt lastEnqueuedAt
abstentionReason abstentionReason
synthesisRationale
} }
} }
`; `;
@@ -9906,7 +9916,6 @@ export const UploadStreamWithDetailsFragmentDoc = gql`
name name
startTime startTime
stream { stream {
id
isCompleted isCompleted
lastIntendedSegmentBound lastIntendedSegmentBound
uploadCompletionCursor uploadCompletionCursor
@@ -18376,7 +18385,6 @@ export const GetVideoSocialDetailsByIdDocument = gql`
replies { replies {
id id
message message
replyToCommentId
user { user {
...UserSocialsFields ...UserSocialsFields
} }
@@ -19684,7 +19692,6 @@ export const GetUploadLinkDocument = gql`
} }
} }
stream { stream {
id
uploadCompletionCursor uploadCompletionCursor
} }
} }

View File

@@ -78,7 +78,6 @@ fragment VideoCardFields on VideoGQL {
replies { replies {
id id
message message
replyToCommentId
user { user {
...UserSocialsFields ...UserSocialsFields
} }

View File

@@ -69,6 +69,9 @@ fragment SessionCoachGenerationFields on SessionCoachGenerationGQL {
completedAt completedAt
decision { decision {
selectedCandidateId selectedCandidateId
supportingCandidateIds
supportingShotIds
sessionSummary
title title
body body
suggestedAction suggestedAction
@@ -95,5 +98,6 @@ fragment SessionCoachGenerationFields on SessionCoachGenerationGQL {
startedAt startedAt
lastEnqueuedAt lastEnqueuedAt
abstentionReason abstentionReason
synthesisRationale
} }
} }

View File

@@ -131,7 +131,6 @@ query GetVideoSocialDetailsById($videoId: Int!) {
replies { replies {
id id
message message
replyToCommentId
user { user {
...UserSocialsFields ...UserSocialsFields
} }

View File

@@ -48,7 +48,6 @@ mutation GetUploadLink($videoId: Int!, $segmentIndex: Int!) {
} }
} }
stream { stream {
id
uploadCompletionCursor uploadCompletionCursor
} }
} }
@@ -128,7 +127,6 @@ fragment UploadStreamWithDetails on VideoGQL {
name name
startTime startTime
stream { stream {
id
isCompleted isCompleted
lastIntendedSegmentBound lastIntendedSegmentBound
uploadCompletionCursor uploadCompletionCursor

View File

@@ -221,7 +221,6 @@ type CommentGQL {
user: UserGQL! user: UserGQL!
message: String! message: String!
replies: [CommentGQL!]! replies: [CommentGQL!]!
replyToCommentId: Int
} }
type CountLeaderboardGQL { type CountLeaderboardGQL {
@@ -1324,6 +1323,9 @@ enum SessionCoachCandidateKindEnum {
type SessionCoachDecisionGQL { type SessionCoachDecisionGQL {
selectedCandidateId: ID selectedCandidateId: ID
supportingCandidateIds: [ID!]!
supportingShotIds: [Int!]!
sessionSummary: String
title: String title: String
body: String body: String
suggestedAction: String suggestedAction: String
@@ -1386,6 +1388,7 @@ type SessionCoachGenerationDiagnosticsGQL {
startedAt: DateTime startedAt: DateTime
lastEnqueuedAt: DateTime lastEnqueuedAt: DateTime
abstentionReason: String abstentionReason: String
synthesisRationale: String
} }
type SessionCoachGenerationGQL { type SessionCoachGenerationGQL {