@playcademy/sdk 0.15.1-beta.5 → 0.15.1-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/internal.d.ts +25 -50
- package/dist/internal.js +51 -16
- package/dist/server/edge.js +1 -1
- package/dist/server.js +1 -1
- package/dist/types.d.ts +1 -32
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2391,7 +2391,7 @@ async function request({
|
|
|
2391
2391
|
return rawText && rawText.length > 0 ? rawText : undefined;
|
|
2392
2392
|
}
|
|
2393
2393
|
// src/version.ts
|
|
2394
|
-
var SDK_VERSION = "0.15.1-beta.
|
|
2394
|
+
var SDK_VERSION = "0.15.1-beta.7";
|
|
2395
2395
|
|
|
2396
2396
|
// src/clients/base.ts
|
|
2397
2397
|
class PlaycademyBaseClient {
|
package/dist/internal.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SchemaInfo } from '@playcademy/cloudflare';
|
|
2
2
|
import { TimebackGrade, TimebackSubject, HeartbeatRequest, TimebackCourseConfig, CourseConfig, OrganizationConfig, ComponentConfig, ResourceConfig, ComponentResourceConfig } from '@playcademy/types/timeback';
|
|
3
|
-
export { QtiTestQuestionRef, QtiTestQuestionsResponse } from '@playcademy/types/timeback';
|
|
4
3
|
import * as _playcademy_types from '@playcademy/types';
|
|
5
4
|
import { GameManifest, LocalDayContext } from '@playcademy/types';
|
|
6
5
|
export { AuthenticatedUser, DeveloperStatusEnumType, DeveloperStatusResponse, DeveloperStatusValue, GameCourseMetrics, GameLeaderboardEntry, GameManifest, GameMetricComparisonKind, GameMetricComparisonMetric, GameMetricComparisonRow, GameMetricComparisonRowStatus, GameMetricsProxyResponse, GameMetricsResponse, GameMetricsUnsupportedReason, GamePlatform, GameRunMetrics, GameRunMetricsComparison, GameRunMetricsComparisonStatus, GameRunMetricsComparisonSummary, GameTimebackIntegration, GameType, GameUser, LeaderboardEntry, LeaderboardOptions, LeaderboardTimeframe, LocalDayContext, LocalDaySource, ManifestV1, ManifestV2, ManifestVersions, PopulateStudentResponse, UserEnrollment, UserInfo, UserOrganization, UserRank, UserRankResponse, UserRoleEnumType, UserScore, UserTimebackData } from '@playcademy/types';
|
|
@@ -2888,36 +2887,6 @@ interface PlatformTimebackUser extends PlatformTimebackUserContext {
|
|
|
2888
2887
|
force?: boolean;
|
|
2889
2888
|
}): Promise<PlatformTimebackUserContext>;
|
|
2890
2889
|
}
|
|
2891
|
-
interface AssessmentSummary {
|
|
2892
|
-
id: string;
|
|
2893
|
-
integrationId: string;
|
|
2894
|
-
qtiTestIdentifier: string;
|
|
2895
|
-
bankResourceId: string | null;
|
|
2896
|
-
bankActive: boolean;
|
|
2897
|
-
sortOrder: number;
|
|
2898
|
-
title: string;
|
|
2899
|
-
questionCount: number;
|
|
2900
|
-
isActive: boolean;
|
|
2901
|
-
}
|
|
2902
|
-
interface AssessmentRow {
|
|
2903
|
-
id: string;
|
|
2904
|
-
integrationId: string;
|
|
2905
|
-
qtiTestIdentifier: string;
|
|
2906
|
-
bankResourceId: string | null;
|
|
2907
|
-
bankActive: boolean;
|
|
2908
|
-
sortOrder: number;
|
|
2909
|
-
createdAt: string;
|
|
2910
|
-
}
|
|
2911
|
-
interface AssessmentBankStatus {
|
|
2912
|
-
bankIds: {
|
|
2913
|
-
component: string;
|
|
2914
|
-
resource: string;
|
|
2915
|
-
componentResource: string;
|
|
2916
|
-
};
|
|
2917
|
-
totalAssessments: number;
|
|
2918
|
-
activeAssessments: number;
|
|
2919
|
-
draftAssessments: number;
|
|
2920
|
-
}
|
|
2921
2890
|
|
|
2922
2891
|
/**
|
|
2923
2892
|
* @fileoverview Server SDK Type Definitions
|
|
@@ -3197,6 +3166,13 @@ declare function parseOAuthState(state: string): {
|
|
|
3197
3166
|
data?: Record<string, string>;
|
|
3198
3167
|
};
|
|
3199
3168
|
|
|
3169
|
+
interface QtiLibraryQueryOptions {
|
|
3170
|
+
query?: string;
|
|
3171
|
+
source?: 'playcademy';
|
|
3172
|
+
page?: number;
|
|
3173
|
+
limit?: number;
|
|
3174
|
+
}
|
|
3175
|
+
|
|
3200
3176
|
/**
|
|
3201
3177
|
* Internal Playcademy SDK client with all namespaces.
|
|
3202
3178
|
* For use by Cademy platform, CLI, and admin tools.
|
|
@@ -3553,26 +3529,29 @@ declare class PlaycademyInternalClient extends PlaycademyBaseClient {
|
|
|
3553
3529
|
reactivateEnrollment: (request: _playcademy_types.ReactivateEnrollmentRequest) => Promise<_playcademy_types.TimebackAdminMutationResponse>;
|
|
3554
3530
|
};
|
|
3555
3531
|
assessments: {
|
|
3556
|
-
list: (gameId: string, courseId: string) => Promise<AssessmentSummary[]>;
|
|
3532
|
+
list: (gameId: string, courseId: string) => Promise<_playcademy_types.AssessmentSummary[]>;
|
|
3557
3533
|
create: (gameId: string, courseId: string, data: {
|
|
3558
3534
|
title: string;
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
}>;
|
|
3566
|
-
|
|
3535
|
+
purpose: _playcademy_types.AssessmentPurpose;
|
|
3536
|
+
}) => Promise<_playcademy_types.AssessmentRow>;
|
|
3537
|
+
update: (gameId: string, courseId: string, testIdentifier: string, data: {
|
|
3538
|
+
title?: string;
|
|
3539
|
+
purpose?: _playcademy_types.AssessmentPurpose;
|
|
3540
|
+
status?: _playcademy_types.AssessmentStatus;
|
|
3541
|
+
}) => Promise<_playcademy_types.AssessmentRow>;
|
|
3542
|
+
reorder: (gameId: string, courseId: string, purpose: _playcademy_types.AssessmentPurpose, testIdentifiers: string[]) => Promise<{
|
|
3567
3543
|
success: boolean;
|
|
3568
3544
|
}>;
|
|
3569
|
-
|
|
3570
|
-
|
|
3545
|
+
remove: (gameId: string, courseId: string, testIdentifier: string) => Promise<{
|
|
3546
|
+
action: 'discarded' | 'archived';
|
|
3571
3547
|
}>;
|
|
3572
|
-
|
|
3573
|
-
|
|
3548
|
+
listTestLibrary: (gameId: string, courseId: string, options?: QtiLibraryQueryOptions) => Promise<_playcademy_types.QtiAssessmentTestListResponse>;
|
|
3549
|
+
copy: (gameId: string, courseId: string, testIdentifier: string, purpose: _playcademy_types.AssessmentPurpose) => Promise<_playcademy_types.AssessmentRow>;
|
|
3550
|
+
listQuestions: (gameId: string, courseId: string, testIdentifier: string) => Promise<_playcademy_types.QtiTestQuestionsResponse>;
|
|
3551
|
+
listQuestionLibrary: (gameId: string, courseId: string, options?: QtiLibraryQueryOptions) => Promise<_playcademy_types.QtiAssessmentItemListResponse>;
|
|
3552
|
+
createQuestion: (gameId: string, courseId: string, testIdentifier: string, data: _playcademy_types.QtiQuestionCreateInput) => Promise<_playcademy_types.QtiTestQuestionRef>;
|
|
3574
3553
|
updateQuestion: (gameId: string, courseId: string, testIdentifier: string, itemIdentifier: string, data: Record<string, unknown>) => Promise<unknown>;
|
|
3575
|
-
|
|
3554
|
+
removeQuestion: (gameId: string, courseId: string, testIdentifier: string, itemIdentifier: string) => Promise<{
|
|
3576
3555
|
success: boolean;
|
|
3577
3556
|
}>;
|
|
3578
3557
|
reorderQuestions: (gameId: string, courseId: string, testIdentifier: string, items: {
|
|
@@ -3582,10 +3561,6 @@ declare class PlaycademyInternalClient extends PlaycademyBaseClient {
|
|
|
3582
3561
|
}[]) => Promise<{
|
|
3583
3562
|
success: boolean;
|
|
3584
3563
|
}>;
|
|
3585
|
-
getBankStatus: (gameId: string, courseId: string) => Promise<AssessmentBankStatus>;
|
|
3586
|
-
destroyBank: (gameId: string, courseId: string) => Promise<{
|
|
3587
|
-
success: boolean;
|
|
3588
|
-
}>;
|
|
3589
3564
|
};
|
|
3590
3565
|
};
|
|
3591
3566
|
/** Auto-initializes a PlaycademyInternalClient with context from the environment */
|
|
@@ -3599,4 +3574,4 @@ declare class PlaycademyInternalClient extends PlaycademyBaseClient {
|
|
|
3599
3574
|
}
|
|
3600
3575
|
|
|
3601
3576
|
export { ApiError, MessageEvents, PlaycademyInternalClient as PlaycademyClient, PlaycademyError, PlaycademyInternalClient, extractApiErrorInfo, messaging };
|
|
3602
|
-
export type { ApiErrorCode, ApiErrorInfo,
|
|
3577
|
+
export type { ApiErrorCode, ApiErrorInfo, AuthCallbackPayload, AuthOptions, AuthProviderType, AuthResult, AuthServerMessage, AuthStateChangePayload, AuthStateUpdate, BetterAuthApiKey, BetterAuthApiKeyResponse, BetterAuthSignInResponse, BucketFile, ClientConfig, ClientEvents, CourseMastery, CourseXp, DemoEndOptions, DemoEndPayload, DevUploadEvent, DevUploadHooks, ErrorResponseBody, EventListeners, ExternalGame, FetchedGame, Game, GameContextPayload, GameCustomHostname, GameInitUser, GameRow as GameRecord, GameTokenResponse, GetHighestGradeMasteredOptions, GetMasteryOptions, GetXpOptions, HighestGradeMasteredResponse, HostedGame, InitErrorPayload, InitPayload, KVKeyEntry, KVKeyMetadata, KVSeedEntry, KVStatsResponse, KeyEventPayload, LoginResponse, MasteryResponse, MessageEventMap, PlatformTimebackUser, PlatformTimebackUserContext, PlaycademyMode, PlaycademyServerClientConfig, PlaycademyServerClientState, ScoreSubmission, StartActivityOptions, StartActivityResult, TelemetryPayload, TimebackEnrollment, TimebackHeartbeatRelayRequest, TimebackInitContext, TimebackOrganization, TimebackUser, TimebackUserContext, TimebackUserHighestGradeMastered, TimebackUserMastery, TimebackUserRefreshField, TimebackUserRefreshOptions, TimebackUserXp, TokenRefreshPayload, TokenType, UpsertGameMetadataInput, UserRow as User, XpResponse };
|
package/dist/internal.js
CHANGED
|
@@ -2792,6 +2792,55 @@ function createScoresNamespace2(client) {
|
|
|
2792
2792
|
}
|
|
2793
2793
|
};
|
|
2794
2794
|
}
|
|
2795
|
+
// src/namespaces/platform/assessments.ts
|
|
2796
|
+
function assessmentPath(...segments) {
|
|
2797
|
+
return `/timeback/assessments/${segments.map(encodeURIComponent).join("/")}`;
|
|
2798
|
+
}
|
|
2799
|
+
function buildQtiLibraryQueryString(options) {
|
|
2800
|
+
const params = new URLSearchParams;
|
|
2801
|
+
if (options.query) {
|
|
2802
|
+
params.set("q", options.query);
|
|
2803
|
+
}
|
|
2804
|
+
if (options.source) {
|
|
2805
|
+
params.set("source", options.source);
|
|
2806
|
+
}
|
|
2807
|
+
if (options.page) {
|
|
2808
|
+
params.set("page", String(options.page));
|
|
2809
|
+
}
|
|
2810
|
+
if (options.limit) {
|
|
2811
|
+
params.set("limit", String(options.limit));
|
|
2812
|
+
}
|
|
2813
|
+
const query = params.toString();
|
|
2814
|
+
return query ? `?${query}` : "";
|
|
2815
|
+
}
|
|
2816
|
+
function createAssessmentNamespace(client) {
|
|
2817
|
+
return {
|
|
2818
|
+
list: (gameId, courseId) => client["request"](assessmentPath(gameId, courseId), "GET"),
|
|
2819
|
+
create: (gameId, courseId, data) => client["request"](assessmentPath(gameId, courseId), "POST", { body: data }),
|
|
2820
|
+
update: (gameId, courseId, testIdentifier, data) => client["request"](assessmentPath(gameId, courseId, testIdentifier), "PATCH", {
|
|
2821
|
+
body: data
|
|
2822
|
+
}),
|
|
2823
|
+
reorder: (gameId, courseId, purpose, testIdentifiers) => client["request"](assessmentPath(gameId, courseId, "order"), "PUT", {
|
|
2824
|
+
body: { purpose, testIdentifiers }
|
|
2825
|
+
}),
|
|
2826
|
+
remove: (gameId, courseId, testIdentifier) => client["request"](assessmentPath(gameId, courseId, testIdentifier), "DELETE"),
|
|
2827
|
+
listTestLibrary: (gameId, courseId, options = {}) => client["request"](`${assessmentPath(gameId, courseId, "test-library")}${buildQtiLibraryQueryString(options)}`, "GET"),
|
|
2828
|
+
copy: (gameId, courseId, testIdentifier, purpose) => client["request"](assessmentPath(gameId, courseId, "copies"), "POST", {
|
|
2829
|
+
body: { testIdentifier, purpose }
|
|
2830
|
+
}),
|
|
2831
|
+
listQuestions: (gameId, courseId, testIdentifier) => client["request"](assessmentPath(gameId, courseId, testIdentifier, "questions"), "GET"),
|
|
2832
|
+
listQuestionLibrary: (gameId, courseId, options = {}) => client["request"](`${assessmentPath(gameId, courseId, "question-library")}${buildQtiLibraryQueryString(options)}`, "GET"),
|
|
2833
|
+
createQuestion: (gameId, courseId, testIdentifier, data) => client["request"](assessmentPath(gameId, courseId, testIdentifier, "questions"), "POST", {
|
|
2834
|
+
body: data
|
|
2835
|
+
}),
|
|
2836
|
+
updateQuestion: (gameId, courseId, testIdentifier, itemIdentifier, data) => client["request"](assessmentPath(gameId, courseId, testIdentifier, "questions", itemIdentifier), "PUT", { body: data }),
|
|
2837
|
+
removeQuestion: (gameId, courseId, testIdentifier, itemIdentifier) => client["request"](assessmentPath(gameId, courseId, testIdentifier, "questions", itemIdentifier), "DELETE"),
|
|
2838
|
+
reorderQuestions: (gameId, courseId, testIdentifier, items) => client["request"](assessmentPath(gameId, courseId, testIdentifier, "questions", "order"), "PUT", {
|
|
2839
|
+
body: { items }
|
|
2840
|
+
})
|
|
2841
|
+
};
|
|
2842
|
+
}
|
|
2843
|
+
|
|
2795
2844
|
// src/namespaces/platform/timeback.ts
|
|
2796
2845
|
var NOT_SUPPORTED = "Activity tracking is not available on the platform client. Use the game SDK instead.";
|
|
2797
2846
|
function createTimebackNamespace2(client) {
|
|
@@ -2966,21 +3015,7 @@ function createTimebackNamespace2(client) {
|
|
|
2966
3015
|
body: request
|
|
2967
3016
|
})
|
|
2968
3017
|
},
|
|
2969
|
-
assessments:
|
|
2970
|
-
list: (gameId, courseId) => client["request"](`/timeback/assessments/${gameId}/${courseId}`, "GET"),
|
|
2971
|
-
create: (gameId, courseId, data) => client["request"](`/timeback/assessments/${gameId}/${courseId}`, "POST", { body: data }),
|
|
2972
|
-
delete: (gameId, courseId, testIdentifier) => client["request"](`/timeback/assessments/${gameId}/${courseId}/${testIdentifier}`, "DELETE"),
|
|
2973
|
-
reorder: (gameId, courseId, identifiers) => client["request"](`/timeback/assessments/${gameId}/${courseId}/order`, "PUT", { body: { identifiers } }),
|
|
2974
|
-
activate: (gameId, courseId, testIdentifier) => client["request"](`/timeback/assessments/${gameId}/${courseId}/${testIdentifier}/activate`, "POST"),
|
|
2975
|
-
deactivate: (gameId, courseId, testIdentifier) => client["request"](`/timeback/assessments/${gameId}/${courseId}/${testIdentifier}/deactivate`, "POST"),
|
|
2976
|
-
listQuestions: (gameId, courseId, testIdentifier) => client["request"](`/timeback/assessments/${gameId}/${courseId}/${testIdentifier}/questions`, "GET"),
|
|
2977
|
-
createQuestion: (gameId, courseId, testIdentifier, data) => client["request"](`/timeback/assessments/${gameId}/${courseId}/${testIdentifier}/questions`, "POST", { body: data }),
|
|
2978
|
-
updateQuestion: (gameId, courseId, testIdentifier, itemIdentifier, data) => client["request"](`/timeback/assessments/${gameId}/${courseId}/${testIdentifier}/questions/${itemIdentifier}`, "PUT", { body: data }),
|
|
2979
|
-
deleteQuestion: (gameId, courseId, testIdentifier, itemIdentifier) => client["request"](`/timeback/assessments/${gameId}/${courseId}/${testIdentifier}/questions/${itemIdentifier}`, "DELETE"),
|
|
2980
|
-
reorderQuestions: (gameId, courseId, testIdentifier, items) => client["request"](`/timeback/assessments/${gameId}/${courseId}/${testIdentifier}/questions/order`, "PUT", { body: { items } }),
|
|
2981
|
-
getBankStatus: (gameId, courseId) => client["request"](`/timeback/assessments/${gameId}/${courseId}/bank`, "GET"),
|
|
2982
|
-
destroyBank: (gameId, courseId) => client["request"](`/timeback/assessments/${gameId}/${courseId}/bank`, "DELETE")
|
|
2983
|
-
}
|
|
3018
|
+
assessments: createAssessmentNamespace(client)
|
|
2984
3019
|
};
|
|
2985
3020
|
}
|
|
2986
3021
|
// src/core/auth/strategies.ts
|
|
@@ -3204,7 +3239,7 @@ async function request({
|
|
|
3204
3239
|
return rawText && rawText.length > 0 ? rawText : undefined;
|
|
3205
3240
|
}
|
|
3206
3241
|
// src/version.ts
|
|
3207
|
-
var SDK_VERSION = "0.15.1-beta.
|
|
3242
|
+
var SDK_VERSION = "0.15.1-beta.7";
|
|
3208
3243
|
|
|
3209
3244
|
// src/clients/base.ts
|
|
3210
3245
|
class PlaycademyBaseClient {
|
package/dist/server/edge.js
CHANGED
package/dist/server.js
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import * as _playcademy_types from '@playcademy/types';
|
|
|
2
2
|
import { GameManifest, LocalDayContext } from '@playcademy/types';
|
|
3
3
|
export { AuthenticatedUser, DeveloperStatusEnumType, DeveloperStatusResponse, DeveloperStatusValue, GameCourseMetrics, GameLeaderboardEntry, GameManifest, GameMetricComparisonKind, GameMetricComparisonMetric, GameMetricComparisonRow, GameMetricComparisonRowStatus, GameMetricsProxyResponse, GameMetricsResponse, GameMetricsUnsupportedReason, GamePlatform, GameRunMetrics, GameRunMetricsComparison, GameRunMetricsComparisonStatus, GameRunMetricsComparisonSummary, GameTimebackIntegration, GameType, GameUser, LeaderboardEntry, LeaderboardOptions, LeaderboardTimeframe, LocalDayContext, LocalDaySource, ManifestV1, ManifestV2, ManifestVersions, PopulateStudentResponse, UserEnrollment, UserInfo, UserOrganization, UserRank, UserRankResponse, UserRoleEnumType, UserScore, UserTimebackData } from '@playcademy/types';
|
|
4
4
|
import { TimebackCourseConfig, CourseConfig, OrganizationConfig, ComponentConfig, ResourceConfig, ComponentResourceConfig, TimebackGrade, TimebackSubject, HeartbeatRequest } from '@playcademy/types/timeback';
|
|
5
|
-
export { QtiTestQuestionRef, QtiTestQuestionsResponse } from '@playcademy/types/timeback';
|
|
6
5
|
import { TimebackUserRole, UserEnrollment, UserOrganization, UserInfo } from '@playcademy/types/user';
|
|
7
6
|
import { AUTH_PROVIDER_IDS } from '@playcademy/constants';
|
|
8
7
|
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
@@ -2252,36 +2251,6 @@ interface PlatformTimebackUser extends PlatformTimebackUserContext {
|
|
|
2252
2251
|
force?: boolean;
|
|
2253
2252
|
}): Promise<PlatformTimebackUserContext>;
|
|
2254
2253
|
}
|
|
2255
|
-
interface AssessmentSummary {
|
|
2256
|
-
id: string;
|
|
2257
|
-
integrationId: string;
|
|
2258
|
-
qtiTestIdentifier: string;
|
|
2259
|
-
bankResourceId: string | null;
|
|
2260
|
-
bankActive: boolean;
|
|
2261
|
-
sortOrder: number;
|
|
2262
|
-
title: string;
|
|
2263
|
-
questionCount: number;
|
|
2264
|
-
isActive: boolean;
|
|
2265
|
-
}
|
|
2266
|
-
interface AssessmentRow {
|
|
2267
|
-
id: string;
|
|
2268
|
-
integrationId: string;
|
|
2269
|
-
qtiTestIdentifier: string;
|
|
2270
|
-
bankResourceId: string | null;
|
|
2271
|
-
bankActive: boolean;
|
|
2272
|
-
sortOrder: number;
|
|
2273
|
-
createdAt: string;
|
|
2274
|
-
}
|
|
2275
|
-
interface AssessmentBankStatus {
|
|
2276
|
-
bankIds: {
|
|
2277
|
-
component: string;
|
|
2278
|
-
resource: string;
|
|
2279
|
-
componentResource: string;
|
|
2280
|
-
};
|
|
2281
|
-
totalAssessments: number;
|
|
2282
|
-
activeAssessments: number;
|
|
2283
|
-
draftAssessments: number;
|
|
2284
|
-
}
|
|
2285
2254
|
|
|
2286
2255
|
export { PlaycademyClient };
|
|
2287
|
-
export type {
|
|
2256
|
+
export type { AuthCallbackPayload, AuthOptions, AuthProviderType, AuthResult, AuthServerMessage, AuthStateChangePayload, AuthStateUpdate, BetterAuthApiKey, BetterAuthApiKeyResponse, BetterAuthSignInResponse, BucketFile, ClientConfig, ClientEvents, CourseMastery, CourseXp, DemoEndOptions, DemoEndPayload, DevUploadEvent, DevUploadHooks, EventListeners, ExternalGame, FetchedGame, Game, GameContextPayload, GameCustomHostname, GameInitUser, GameRow as GameRecord, GameTokenResponse, GetHighestGradeMasteredOptions, GetMasteryOptions, GetXpOptions, HighestGradeMasteredResponse, HostedGame, InitErrorPayload, InitPayload, KVKeyEntry, KVKeyMetadata, KVSeedEntry, KVStatsResponse, KeyEventPayload, LoginResponse, MasteryResponse, PlatformTimebackUser, PlatformTimebackUserContext, PlaycademyMode, PlaycademyServerClientConfig, PlaycademyServerClientState, ScoreSubmission, StartActivityOptions, StartActivityResult, TelemetryPayload, TimebackEnrollment, TimebackHeartbeatRelayRequest, TimebackInitContext, TimebackOrganization, TimebackUser, TimebackUserContext, TimebackUserHighestGradeMastered, TimebackUserMastery, TimebackUserRefreshField, TimebackUserRefreshOptions, TimebackUserXp, TokenRefreshPayload, TokenType, UpsertGameMetadataInput, UserRow as User, XpResponse };
|