Update schema for ground truth admin workflow
All checks were successful
Tests / Tests (pull_request) Successful in 11s

This commit is contained in:
2026-03-18 12:10:52 -07:00
parent cd6a33bfed
commit 9c97e46d57
2 changed files with 276 additions and 0 deletions

View File

@@ -224,6 +224,14 @@ export type CreateBucketSetInput = {
keyName: Scalars["String"]["input"]; keyName: Scalars["String"]["input"];
}; };
export type CreateGroundTruthShotInputGql = {
endFrame: Scalars["Int"]["input"];
make?: InputMaybe<Scalars["Boolean"]["input"]>;
notes?: InputMaybe<Scalars["String"]["input"]>;
processingId: Scalars["Int"]["input"];
startFrame: Scalars["Int"]["input"];
};
export type CreateSubscriptionResultGql = { export type CreateSubscriptionResultGql = {
__typename?: "CreateSubscriptionResultGQL"; __typename?: "CreateSubscriptionResultGQL";
checkoutUrl: Scalars["String"]["output"]; checkoutUrl: Scalars["String"]["output"];
@@ -269,6 +277,11 @@ export type DatetimeRangeAggregationInput = {
startDatetime?: InputMaybe<Scalars["DateTime"]["input"]>; startDatetime?: InputMaybe<Scalars["DateTime"]["input"]>;
}; };
export type DeleteGroundTruthShotReturn = {
__typename?: "DeleteGroundTruthShotReturn";
deletedShotId: Scalars["Int"]["output"];
};
export type DeployedConfigGql = { export type DeployedConfigGql = {
__typename?: "DeployedConfigGQL"; __typename?: "DeployedConfigGQL";
allowNewUsers: Scalars["Boolean"]["output"]; allowNewUsers: Scalars["Boolean"]["output"];
@@ -308,9 +321,12 @@ export type EditUserInputGql = {
export type EditableShotFieldInputGql = { export type EditableShotFieldInputGql = {
backcut?: InputMaybe<Scalars["Boolean"]["input"]>; backcut?: InputMaybe<Scalars["Boolean"]["input"]>;
excludeFromStats?: InputMaybe<Scalars["Boolean"]["input"]>; excludeFromStats?: InputMaybe<Scalars["Boolean"]["input"]>;
intendedBallId?: InputMaybe<Scalars["Int"]["input"]>;
intendedPocketId?: InputMaybe<PocketIdentifier>;
intendedPocketType?: InputMaybe<PocketEnum>; intendedPocketType?: InputMaybe<PocketEnum>;
make?: InputMaybe<Scalars["Boolean"]["input"]>; make?: InputMaybe<Scalars["Boolean"]["input"]>;
notes?: InputMaybe<Scalars["String"]["input"]>; notes?: InputMaybe<Scalars["String"]["input"]>;
pathMetadataIndex?: InputMaybe<Scalars["Int"]["input"]>;
shotDirection?: InputMaybe<ShotDirectionEnum>; shotDirection?: InputMaybe<ShotDirectionEnum>;
spinType?: InputMaybe<SpinTypeEnum>; spinType?: InputMaybe<SpinTypeEnum>;
targetPocketAngleDirection?: InputMaybe<ShotDirectionEnum>; targetPocketAngleDirection?: InputMaybe<ShotDirectionEnum>;
@@ -351,6 +367,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -395,6 +412,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -439,6 +457,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -483,6 +502,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -527,6 +547,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -571,6 +592,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -615,6 +637,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -659,6 +682,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -703,6 +727,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -747,6 +772,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -791,6 +817,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -835,6 +862,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -879,6 +907,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -923,6 +952,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -967,6 +997,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1011,6 +1042,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1055,6 +1087,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1099,6 +1132,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1143,6 +1177,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1187,6 +1222,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1231,6 +1267,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1275,6 +1312,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1319,6 +1357,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1363,6 +1402,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1407,6 +1447,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1451,6 +1492,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1495,6 +1537,7 @@ export type FilterInput =
missAngleInDegrees: FloatRangeFilter; missAngleInDegrees: FloatRangeFilter;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1539,6 +1582,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter: FilterInput; notFilter: FilterInput;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1583,6 +1627,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters: Array<FilterInput>; orFilters: Array<FilterInput>;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1627,6 +1672,52 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId: Array<Scalars["Int"]["input"]>;
runId?: never;
runLength?: never;
shotDirection?: never;
spinType?: never;
tableSize?: never;
tags?: never;
targetPocketAngle?: never;
targetPocketAngleDirection?: never;
targetPocketDistance?: never;
totalDistance?: never;
userId?: never;
username?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
backcut?: never;
bankAngle?: never;
bankDistance?: never;
createdAt?: never;
cueAngleAfterObject?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
cueSpeedAfterObject?: never;
difficulty?: never;
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
marginOfErrorInDegrees?: never;
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId: Array<Scalars["Int"]["input"]>; runId: Array<Scalars["Int"]["input"]>;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1671,6 +1762,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength: FloatRangeFilter; runLength: FloatRangeFilter;
shotDirection?: never; shotDirection?: never;
@@ -1715,6 +1807,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection: Array<ShotDirectionEnum>; shotDirection: Array<ShotDirectionEnum>;
@@ -1759,6 +1852,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1803,6 +1897,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1847,6 +1942,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1891,6 +1987,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1935,6 +2032,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -1979,6 +2077,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -2023,6 +2122,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -2067,6 +2167,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -2111,6 +2212,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -2155,6 +2257,7 @@ export type FilterInput =
missAngleInDegrees?: never; missAngleInDegrees?: never;
notFilter?: never; notFilter?: never;
orFilters?: never; orFilters?: never;
processingId?: never;
runId?: never; runId?: never;
runLength?: never; runLength?: never;
shotDirection?: never; shotDirection?: never;
@@ -2346,10 +2449,12 @@ export type Mutation = {
commentOnVideo: Scalars["Boolean"]["output"]; commentOnVideo: Scalars["Boolean"]["output"];
createBucketSet: BucketSetGql; createBucketSet: BucketSetGql;
createChallenge: Challenge; createChallenge: Challenge;
createGroundTruthShot: ShotGql;
createRuleSet: RuleSet; createRuleSet: RuleSet;
createSubscription: CreateSubscriptionResultGql; createSubscription: CreateSubscriptionResultGql;
createUploadStream: CreateUploadStreamReturn; createUploadStream: CreateUploadStreamReturn;
deleteComment: Scalars["Boolean"]["output"]; deleteComment: Scalars["Boolean"]["output"];
deleteGroundTruthShot: DeleteGroundTruthShotReturn;
deleteNotification: Scalars["Boolean"]["output"]; deleteNotification: Scalars["Boolean"]["output"];
deleteTags: Scalars["Boolean"]["output"]; deleteTags: Scalars["Boolean"]["output"];
deleteUser: Scalars["Boolean"]["output"]; deleteUser: Scalars["Boolean"]["output"];
@@ -2364,12 +2469,14 @@ export type Mutation = {
findPrerecordTableLayout?: Maybe<HomographyInfoGql>; findPrerecordTableLayout?: Maybe<HomographyInfoGql>;
followUser: UserGql; followUser: UserGql;
getHlsInitUploadLink: GetUploadLinkReturn; getHlsInitUploadLink: GetUploadLinkReturn;
getOrCreateGroundTruthProcessing: VideoProcessingGql;
getProfileImageUploadLink: GetProfileUploadLinkReturn; getProfileImageUploadLink: GetProfileUploadLinkReturn;
getUploadLink: GetUploadLinkReturn; getUploadLink: GetUploadLinkReturn;
inviteUsersToChallenge: Array<ChallengeInvitation>; inviteUsersToChallenge: Array<ChallengeInvitation>;
markAllNotificationsAsRead: Scalars["Boolean"]["output"]; markAllNotificationsAsRead: Scalars["Boolean"]["output"];
markNotificationAsRead: Scalars["Boolean"]["output"]; markNotificationAsRead: Scalars["Boolean"]["output"];
markNotificationsAsRead: Scalars["Boolean"]["output"]; markNotificationsAsRead: Scalars["Boolean"]["output"];
promoteGroundTruthProcessing: VideoProcessingGql;
reactToVideo: Scalars["Boolean"]["output"]; reactToVideo: Scalars["Boolean"]["output"];
recalculateChallengeEntry: ChallengeEntry; recalculateChallengeEntry: ChallengeEntry;
reportContent: Scalars["Boolean"]["output"]; reportContent: Scalars["Boolean"]["output"];
@@ -2377,11 +2484,13 @@ export type Mutation = {
retireTags: Scalars["Boolean"]["output"]; retireTags: Scalars["Boolean"]["output"];
setLoggerLevel: Scalars["Boolean"]["output"]; setLoggerLevel: Scalars["Boolean"]["output"];
setSegmentDuration: Scalars["Boolean"]["output"]; setSegmentDuration: Scalars["Boolean"]["output"];
splitGroundTruthShot: SplitGroundTruthShotReturn;
startChallenge: ChallengeEntry; startChallenge: ChallengeEntry;
submitCancellationFeedback: Scalars["Boolean"]["output"]; submitCancellationFeedback: Scalars["Boolean"]["output"];
submitChallengeEntry: ChallengeEntry; submitChallengeEntry: ChallengeEntry;
undismissChallenge: Scalars["Boolean"]["output"]; undismissChallenge: Scalars["Boolean"]["output"];
unfollowUser: UserGql; unfollowUser: UserGql;
updateGroundTruthShotFrameRange: ShotGql;
updateShotAnnotations: UpdateShotAnnotationReturn; updateShotAnnotations: UpdateShotAnnotationReturn;
}; };
@@ -2422,6 +2531,10 @@ export type MutationCreateChallengeArgs = {
startDate: Scalars["DateTime"]["input"]; startDate: Scalars["DateTime"]["input"];
}; };
export type MutationCreateGroundTruthShotArgs = {
input: CreateGroundTruthShotInputGql;
};
export type MutationCreateRuleSetArgs = { export type MutationCreateRuleSetArgs = {
description?: InputMaybe<Scalars["String"]["input"]>; description?: InputMaybe<Scalars["String"]["input"]>;
name: Scalars["String"]["input"]; name: Scalars["String"]["input"];
@@ -2441,6 +2554,10 @@ export type MutationDeleteCommentArgs = {
videoId: Scalars["Int"]["input"]; videoId: Scalars["Int"]["input"];
}; };
export type MutationDeleteGroundTruthShotArgs = {
shotId: Scalars["Int"]["input"];
};
export type MutationDeleteNotificationArgs = { export type MutationDeleteNotificationArgs = {
notificationId: Scalars["Int"]["input"]; notificationId: Scalars["Int"]["input"];
}; };
@@ -2495,6 +2612,11 @@ export type MutationGetHlsInitUploadLinkArgs = {
videoId: Scalars["Int"]["input"]; videoId: Scalars["Int"]["input"];
}; };
export type MutationGetOrCreateGroundTruthProcessingArgs = {
sourceProcessingId?: InputMaybe<Scalars["Int"]["input"]>;
videoId: Scalars["Int"]["input"];
};
export type MutationGetProfileImageUploadLinkArgs = { export type MutationGetProfileImageUploadLinkArgs = {
fileExt?: InputMaybe<Scalars["String"]["input"]>; fileExt?: InputMaybe<Scalars["String"]["input"]>;
}; };
@@ -2517,6 +2639,10 @@ export type MutationMarkNotificationsAsReadArgs = {
notificationIds: Array<Scalars["Int"]["input"]>; notificationIds: Array<Scalars["Int"]["input"]>;
}; };
export type MutationPromoteGroundTruthProcessingArgs = {
processingId: Scalars["Int"]["input"];
};
export type MutationReactToVideoArgs = { export type MutationReactToVideoArgs = {
reaction?: InputMaybe<ReactionEnum>; reaction?: InputMaybe<ReactionEnum>;
videoId: Scalars["Int"]["input"]; videoId: Scalars["Int"]["input"];
@@ -2552,6 +2678,12 @@ export type MutationSetSegmentDurationArgs = {
videoId: Scalars["Int"]["input"]; videoId: Scalars["Int"]["input"];
}; };
export type MutationSplitGroundTruthShotArgs = {
notes?: InputMaybe<Scalars["String"]["input"]>;
shotId: Scalars["Int"]["input"];
splitFrame: Scalars["Int"]["input"];
};
export type MutationStartChallengeArgs = { export type MutationStartChallengeArgs = {
challengeId: Scalars["ID"]["input"]; challengeId: Scalars["ID"]["input"];
}; };
@@ -2575,6 +2707,13 @@ export type MutationUnfollowUserArgs = {
followedUserId: Scalars["Int"]["input"]; followedUserId: Scalars["Int"]["input"];
}; };
export type MutationUpdateGroundTruthShotFrameRangeArgs = {
endFrame?: InputMaybe<Scalars["Int"]["input"]>;
notes?: InputMaybe<Scalars["String"]["input"]>;
shotId: Scalars["Int"]["input"];
startFrame?: InputMaybe<Scalars["Int"]["input"]>;
};
export type MutationUpdateShotAnnotationsArgs = { export type MutationUpdateShotAnnotationsArgs = {
annotations: Array<UpdateAnnotationInputGql>; annotations: Array<UpdateAnnotationInputGql>;
shotId: Scalars["Int"]["input"]; shotId: Scalars["Int"]["input"];
@@ -2702,6 +2841,7 @@ export enum ProcessingStatusEnum {
export type Query = { export type Query = {
__typename?: "Query"; __typename?: "Query";
assessVideoProcessing: VideoProcessingAssessmentGql;
challenge?: Maybe<Challenge>; challenge?: Maybe<Challenge>;
challengeLeaderboard: Array<ChallengeEntry>; challengeLeaderboard: Array<ChallengeEntry>;
challenges: Array<Challenge>; challenges: Array<Challenge>;
@@ -2733,6 +2873,7 @@ export type Query = {
getUsersMatching: Array<UserGql>; getUsersMatching: Array<UserGql>;
getVideo: VideoGql; getVideo: VideoGql;
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>; getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
getVideoProcessings: Array<VideoProcessingGql>;
getVideos: Array<VideoGql>; getVideos: Array<VideoGql>;
isChallengeDismissed: Scalars["Boolean"]["output"]; isChallengeDismissed: Scalars["Boolean"]["output"];
myChallengeEntries: Array<ChallengeEntry>; myChallengeEntries: Array<ChallengeEntry>;
@@ -2744,6 +2885,11 @@ export type Query = {
waitFor: Scalars["Float"]["output"]; waitFor: Scalars["Float"]["output"];
}; };
export type QueryAssessVideoProcessingArgs = {
groundTruthProcessingId?: InputMaybe<Scalars["Int"]["input"]>;
processingId: Scalars["Int"]["input"];
};
export type QueryChallengeArgs = { export type QueryChallengeArgs = {
id: Scalars["ID"]["input"]; id: Scalars["ID"]["input"];
}; };
@@ -2799,7 +2945,9 @@ export type QueryGetOrderedShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"]; countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput; filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>; ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
includeExcluded?: Scalars["Boolean"]["input"];
limit?: Scalars["Int"]["input"]; limit?: Scalars["Int"]["input"];
processingId?: InputMaybe<Scalars["Int"]["input"]>;
shotsOrdering?: InputMaybe<GetShotsOrdering>; shotsOrdering?: InputMaybe<GetShotsOrdering>;
}; };
@@ -2823,7 +2971,9 @@ export type QueryGetShotAnnotationTypesArgs = {
export type QueryGetShotsArgs = { export type QueryGetShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"]; countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput; filterInput: FilterInput;
includeExcluded?: Scalars["Boolean"]["input"];
limit?: Scalars["Int"]["input"]; limit?: Scalars["Int"]["input"];
processingId?: InputMaybe<Scalars["Int"]["input"]>;
shotsPagination?: InputMaybe<GetShotsPagination>; shotsPagination?: InputMaybe<GetShotsPagination>;
}; };
@@ -2835,7 +2985,9 @@ export type QueryGetShotsWithMetadataArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"]; countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput; filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>; ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
includeExcluded?: Scalars["Boolean"]["input"];
limit?: Scalars["Int"]["input"]; limit?: Scalars["Int"]["input"];
processingId?: InputMaybe<Scalars["Int"]["input"]>;
shotsPagination?: InputMaybe<GetShotsPagination>; shotsPagination?: InputMaybe<GetShotsPagination>;
}; };
@@ -2889,6 +3041,10 @@ export type QueryGetVideoMakePercentageIntervalsArgs = {
videoId: Scalars["ID"]["input"]; videoId: Scalars["ID"]["input"];
}; };
export type QueryGetVideoProcessingsArgs = {
videoId: Scalars["Int"]["input"];
};
export type QueryGetVideosArgs = { export type QueryGetVideosArgs = {
videoIds: Array<Scalars["Int"]["input"]>; videoIds: Array<Scalars["Int"]["input"]>;
}; };
@@ -3185,6 +3341,12 @@ export enum SpinTypeEnum {
Unknown = "UNKNOWN", Unknown = "UNKNOWN",
} }
export type SplitGroundTruthShotReturn = {
__typename?: "SplitGroundTruthShotReturn";
createdShot: ShotGql;
originalShot: ShotGql;
};
export type StreamErrorGql = { export type StreamErrorGql = {
__typename?: "StreamErrorGQL"; __typename?: "StreamErrorGQL";
message: Scalars["String"]["output"]; message: Scalars["String"]["output"];
@@ -3493,6 +3655,39 @@ export type VideoMetadataInput = {
videoName?: InputMaybe<Scalars["String"]["input"]>; videoName?: InputMaybe<Scalars["String"]["input"]>;
}; };
export type VideoProcessingAssessmentGql = {
__typename?: "VideoProcessingAssessmentGQL";
correctlyFlaggedFalsePositivePairs: Array<VideoProcessingAssessmentShotPairGql>;
correctlyFlaggedFalsePositives: Scalars["Int"]["output"];
extraFlaggedFalsePositiveShotIds: Array<Scalars["Int"]["output"]>;
extraFlaggedFalsePositives: Scalars["Int"]["output"];
groundTruthFalsePositiveCount: Scalars["Int"]["output"];
groundTruthPositiveShotCount: Scalars["Int"]["output"];
groundTruthProcessingId: Scalars["Int"]["output"];
groundTruthShotCount: Scalars["Int"]["output"];
groundTruthShotsFlaggedFalsePositive: Scalars["Int"]["output"];
groundTruthShotsFlaggedFalsePositivePairs: Array<VideoProcessingAssessmentShotPairGql>;
makeDisagreementPairs: Array<VideoProcessingAssessmentShotPairGql>;
makeDisagreements: Scalars["Int"]["output"];
matchedGroundTruthPairs: Array<VideoProcessingAssessmentShotPairGql>;
matchedGroundTruthShots: Scalars["Int"]["output"];
missedGroundTruthShotIds: Array<Scalars["Int"]["output"]>;
missedGroundTruthShots: Scalars["Int"]["output"];
processingId: Scalars["Int"]["output"];
sourceFalsePositiveCount: Scalars["Int"]["output"];
sourceShotCount: Scalars["Int"]["output"];
unexpectedShotIds: Array<Scalars["Int"]["output"]>;
unexpectedShots: Scalars["Int"]["output"];
unflaggedFalsePositivePairs: Array<VideoProcessingAssessmentShotPairGql>;
unflaggedFalsePositives: Scalars["Int"]["output"];
};
export type VideoProcessingAssessmentShotPairGql = {
__typename?: "VideoProcessingAssessmentShotPairGQL";
groundTruthShotId: Scalars["Int"]["output"];
processingShotId: Scalars["Int"]["output"];
};
export type VideoProcessingErrorGql = { export type VideoProcessingErrorGql = {
__typename?: "VideoProcessingErrorGQL"; __typename?: "VideoProcessingErrorGQL";
endSegmentIndex?: Maybe<Scalars["Int"]["output"]>; endSegmentIndex?: Maybe<Scalars["Int"]["output"]>;

View File

@@ -61,6 +61,8 @@ type Query {
shotsOrdering: GetShotsOrdering = null shotsOrdering: GetShotsOrdering = null
limit: Int! = 500 limit: Int! = 500
countRespectsLimit: Boolean! = false countRespectsLimit: Boolean! = false
processingId: Int = null
includeExcluded: Boolean! = false
): GetShotsResult! ): GetShotsResult!
getShotsWithMetadata( getShotsWithMetadata(
filterInput: FilterInput! filterInput: FilterInput!
@@ -68,12 +70,16 @@ type Query {
shotsPagination: GetShotsPagination = null shotsPagination: GetShotsPagination = null
limit: Int! = 500 limit: Int! = 500
countRespectsLimit: Boolean! = false countRespectsLimit: Boolean! = false
processingId: Int = null
includeExcluded: Boolean! = false
): GetShotsResult! ): GetShotsResult!
getShots( getShots(
filterInput: FilterInput! filterInput: FilterInput!
shotsPagination: GetShotsPagination = null shotsPagination: GetShotsPagination = null
limit: Int! = 500 limit: Int! = 500
countRespectsLimit: Boolean! = false countRespectsLimit: Boolean! = false
processingId: Int = null
includeExcluded: Boolean! = false
): [ShotGQL!]! ): [ShotGQL!]!
getShotsByIds(ids: [Int!]!): [ShotGQL!]! getShotsByIds(ids: [Int!]!): [ShotGQL!]!
getUser(userId: Int!): UserGQL getUser(userId: Int!): UserGQL
@@ -108,6 +114,11 @@ type Query {
getUserTags(includeRetiredTags: Boolean = false): [TagGQL!]! getUserTags(includeRetiredTags: Boolean = false): [TagGQL!]!
getVideo(videoId: Int!, debuggingJson: JSON = null): VideoGQL! getVideo(videoId: Int!, debuggingJson: JSON = null): VideoGQL!
getVideos(videoIds: [Int!]!): [VideoGQL!]! getVideos(videoIds: [Int!]!): [VideoGQL!]!
getVideoProcessings(videoId: Int!): [VideoProcessingGQL!]!
assessVideoProcessing(
processingId: Int!
groundTruthProcessingId: Int = null
): VideoProcessingAssessmentGQL!
} }
type AggregateResultGQL { type AggregateResultGQL {
@@ -209,6 +220,7 @@ input FilterInput @oneOf {
intendedPocketType: [PocketEnum!] intendedPocketType: [PocketEnum!]
shotDirection: [ShotDirectionEnum!] shotDirection: [ShotDirectionEnum!]
videoId: [Int!] videoId: [Int!]
processingId: [Int!]
userId: [Int!] userId: [Int!]
runId: [Int!] runId: [Int!]
username: [String!] username: [String!]
@@ -1015,6 +1027,37 @@ scalar JSON
url: "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf" url: "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
) )
type VideoProcessingAssessmentGQL {
processingId: Int!
groundTruthProcessingId: Int!
sourceShotCount: Int!
sourceFalsePositiveCount: Int!
groundTruthShotCount: Int!
groundTruthPositiveShotCount: Int!
groundTruthFalsePositiveCount: Int!
matchedGroundTruthShots: Int!
missedGroundTruthShots: Int!
unexpectedShots: Int!
correctlyFlaggedFalsePositives: Int!
unflaggedFalsePositives: Int!
extraFlaggedFalsePositives: Int!
groundTruthShotsFlaggedFalsePositive: Int!
makeDisagreements: Int!
matchedGroundTruthPairs: [VideoProcessingAssessmentShotPairGQL!]!
missedGroundTruthShotIds: [Int!]!
unexpectedShotIds: [Int!]!
correctlyFlaggedFalsePositivePairs: [VideoProcessingAssessmentShotPairGQL!]!
unflaggedFalsePositivePairs: [VideoProcessingAssessmentShotPairGQL!]!
extraFlaggedFalsePositiveShotIds: [Int!]!
groundTruthShotsFlaggedFalsePositivePairs: [VideoProcessingAssessmentShotPairGQL!]!
makeDisagreementPairs: [VideoProcessingAssessmentShotPairGQL!]!
}
type VideoProcessingAssessmentShotPairGQL {
processingShotId: Int!
groundTruthShotId: Int!
}
type Mutation { type Mutation {
createBucketSet(params: CreateBucketSetInput!): BucketSetGQL! createBucketSet(params: CreateBucketSetInput!): BucketSetGQL!
createRuleSet(name: String!, description: String = null): RuleSet! createRuleSet(name: String!, description: String = null): RuleSet!
@@ -1076,6 +1119,19 @@ type Mutation {
shotId: Int! shotId: Int!
fieldsToEdit: EditableShotFieldInputGQL! fieldsToEdit: EditableShotFieldInputGQL!
): EditShotReturn! ): EditShotReturn!
createGroundTruthShot(input: CreateGroundTruthShotInputGQL!): ShotGQL!
updateGroundTruthShotFrameRange(
shotId: Int!
startFrame: Int = null
endFrame: Int = null
notes: String = null
): ShotGQL!
splitGroundTruthShot(
shotId: Int!
splitFrame: Int!
notes: String = null
): SplitGroundTruthShotReturn!
deleteGroundTruthShot(shotId: Int!): DeleteGroundTruthShotReturn!
getProfileImageUploadLink( getProfileImageUploadLink(
fileExt: String = ".png" fileExt: String = ".png"
): GetProfileUploadLinkReturn! ): GetProfileUploadLinkReturn!
@@ -1098,6 +1154,11 @@ type Mutation {
videoMetadata: VideoMetadataInput! videoMetadata: VideoMetadataInput!
expectedDurationSeconds: Float = null expectedDurationSeconds: Float = null
): CreateUploadStreamReturn! ): CreateUploadStreamReturn!
getOrCreateGroundTruthProcessing(
videoId: Int!
sourceProcessingId: Int = null
): VideoProcessingGQL!
promoteGroundTruthProcessing(processingId: Int!): VideoProcessingGQL!
getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn! getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn!
getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn! getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn!
setSegmentDuration( setSegmentDuration(
@@ -1174,12 +1235,32 @@ input EditableShotFieldInputGQL {
shotDirection: ShotDirectionEnum shotDirection: ShotDirectionEnum
spinType: SpinTypeEnum spinType: SpinTypeEnum
targetPocketAngleDirection: ShotDirectionEnum targetPocketAngleDirection: ShotDirectionEnum
intendedBallId: Int
intendedPocketId: PocketIdentifier
pathMetadataIndex: Int
make: Boolean make: Boolean
backcut: Boolean backcut: Boolean
excludeFromStats: Boolean excludeFromStats: Boolean
notes: String notes: String
} }
input CreateGroundTruthShotInputGQL {
processingId: Int!
startFrame: Int!
endFrame: Int!
make: Boolean
notes: String
}
type SplitGroundTruthShotReturn {
originalShot: ShotGQL!
createdShot: ShotGQL!
}
type DeleteGroundTruthShotReturn {
deletedShotId: Int!
}
type GetProfileUploadLinkReturn { type GetProfileUploadLinkReturn {
value: UploadLinkGetProfileUploadLinkErrors! value: UploadLinkGetProfileUploadLinkErrors!
} }