From 07aabd91a4915153bcf67c0172be004f3500fb5d Mon Sep 17 00:00:00 2001 From: Loewy Date: Wed, 29 Jul 2026 17:19:50 -0700 Subject: [PATCH] Generate Session Coach feedback schema --- src/index.tsx | 21 +++++++++++++++++ src/schema.gql | 64 ++++++++++++++++++++++++++++++++------------------ 2 files changed, 62 insertions(+), 23 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 8d2e120..474d1ec 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2579,6 +2579,7 @@ export type Mutation = { startChallenge: ChallengeEntry; submitCancellationFeedback: Scalars["Boolean"]["output"]; submitChallengeEntry: ChallengeEntry; + submitSessionCoachFeedback: SessionCoachFeedbackGql; syncAppleSubscription: SyncAppleSubscriptionResultGql; undismissChallenge: Scalars["Boolean"]["output"]; unfollowUser: UserGql; @@ -2840,6 +2841,12 @@ export type MutationSubmitChallengeEntryArgs = { videoId: Scalars["ID"]["input"]; }; +export type MutationSubmitSessionCoachFeedbackArgs = { + generationId: Scalars["ID"]["input"]; + response: SessionCoachFeedbackResponseEnum; + videoId: Scalars["Int"]["input"]; +}; + export type MutationSyncAppleSubscriptionArgs = { input: SyncAppleSubscriptionInputGql; }; @@ -3685,6 +3692,19 @@ export type SessionCoachEvidenceGql = { score: Scalars["Float"]["output"]; }; +export type SessionCoachFeedbackGql = { + __typename?: "SessionCoachFeedbackGQL"; + response: SessionCoachFeedbackResponseEnum; + updatedAt: Scalars["DateTime"]["output"]; +}; + +export enum SessionCoachFeedbackResponseEnum { + AlreadyWorkingOnThis = "ALREADY_WORKING_ON_THIS", + Helpful = "HELPFUL", + NotEnoughEvidence = "NOT_ENOUGH_EVIDENCE", + WrongFocus = "WRONG_FOCUS", +} + export type SessionCoachGql = { __typename?: "SessionCoachGQL"; agentGeneration?: Maybe; @@ -3737,6 +3757,7 @@ export type SessionCoachGenerationGql = { createdAt: Scalars["DateTime"]["output"]; decision?: Maybe; diagnostics?: Maybe; + feedback?: Maybe; id: Scalars["ID"]["output"]; state: SessionCoachGenerationStateEnum; }; diff --git a/src/schema.gql b/src/schema.gql index 1f74d9f..f52ca69 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -249,11 +249,6 @@ input CreatePoolHallCameraInput { claimTermsText: String = null } -input CreateShotShareLinkInput { - shotIds: [Int!]! - paddingSeconds: Float = null -} - input CreatePoolHallInput { name: String! address: String = null @@ -264,6 +259,11 @@ input CreatePoolHallInput { timezone: String = null } +input CreateShotShareLinkInput { + shotIds: [Int!]! + paddingSeconds: Float = null +} + type CreateSubscriptionResultGQL { checkoutUrl: String! sessionId: String! @@ -536,19 +536,6 @@ type GetUploadLinksReturn { stream: UploadStreamGQL } -type SegmentUploadLink { - segmentIndex: Int! - uploadUrl: String! - headers: [Header]! -} - -type UploadLinkBatch { - links: [SegmentUploadLink!]! - alreadyUploaded: [Int!]! -} - -union UploadLinkBatchGetUploadLinkErrors = UploadLinkBatch | GetUploadLinkErrors - type HLSPlaylistGQL { videoId: Int! m3u8Text: String! @@ -741,6 +728,11 @@ type Mutation { shotId: Int! fieldsToEdit: EditableShotFieldInputGQL! ): EditShotReturn! + submitSessionCoachFeedback( + videoId: Int! + generationId: ID! + response: SessionCoachFeedbackResponseEnum! + ): SessionCoachFeedbackGQL! requestSessionCoachGeneration(videoId: Int!): SessionCoachGQL! getProfileImageUploadLink( fileExt: String = ".png" @@ -1314,6 +1306,12 @@ type SegmentAlreadyUploadedErr { segmentId: Int! } +type SegmentUploadLink { + segmentIndex: Int! + uploadUrl: String! + headers: [Header]! +} + type SerializedShotPathsGQL { b64EncodedBuffer: String } @@ -1394,6 +1392,18 @@ type SessionCoachEvidenceGQL { baselineMakePercentage: Float } +type SessionCoachFeedbackGQL { + response: SessionCoachFeedbackResponseEnum! + updatedAt: DateTime! +} + +enum SessionCoachFeedbackResponseEnum { + HELPFUL + WRONG_FOCUS + ALREADY_WORKING_ON_THIS + NOT_ENOUGH_EVIDENCE +} + type SessionCoachGQL { videoId: Int! processingId: Int @@ -1445,6 +1455,7 @@ type SessionCoachGenerationGQL { completedAt: DateTime decision: SessionCoachDecisionGQL diagnostics: SessionCoachGenerationDiagnosticsGQL + feedback: SessionCoachFeedbackGQL } enum SessionCoachGenerationStateEnum { @@ -1466,6 +1477,11 @@ enum SessionCoachStateEnum { FAILED } +type ShareLinkGQL { + slug: String! + url: String! +} + type ShotAnnotationGQL { shotId: Int! type: ShotAnnotationTypeGQL! @@ -1800,6 +1816,13 @@ type UploadLink { headers: [Header]! } +type UploadLinkBatch { + links: [SegmentUploadLink!]! + alreadyUploaded: [Int!]! +} + +union UploadLinkBatchGetUploadLinkErrors = UploadLinkBatch | GetUploadLinkErrors + union UploadLinkGetProfileUploadLinkErrors = UploadLink | GetProfileUploadLinkErrors @@ -1919,11 +1942,6 @@ type UserSubscriptionStatusGQL { stripeSubscriptionId: String } -type ShareLinkGQL { - slug: String! - url: String! -} - type VideoExportJobGQL { id: Int! videoId: Int!