@playcademy/sdk 0.17.0 → 0.17.1-beta.1
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.d.ts +1 -0
- package/dist/index.js +15 -2
- package/dist/internal.d.ts +1 -1
- package/dist/internal.js +15 -2
- package/dist/server/edge.d.ts +3 -0
- package/dist/server/edge.js +8 -1
- package/dist/server.d.ts +3 -0
- package/dist/server.js +8 -1
- package/dist/types.d.ts +2 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1564,6 +1564,7 @@ declare class PlaycademyClient extends PlaycademyBaseClient {
|
|
|
1564
1564
|
save: (attemptId: string, input: _playcademy_types.SaveAssessmentInput) => Promise<_playcademy_types.AssessmentSaveResult>;
|
|
1565
1565
|
submitItem: (attemptId: string, input: _playcademy_types.SubmitAssessmentItemInput) => Promise<_playcademy_types.SubmitAssessmentItemResult>;
|
|
1566
1566
|
submit: (attemptId: string, input: _playcademy_types.SubmitAssessmentInput) => Promise<_playcademy_types.AssessmentSubmitResult>;
|
|
1567
|
+
finalize: (attemptId: string, input: _playcademy_types.FinalizeAssessmentInput) => Promise<_playcademy_types.AssessmentFinalizeResult>;
|
|
1567
1568
|
};
|
|
1568
1569
|
readonly user: TimebackUser;
|
|
1569
1570
|
readonly currentRunId: string | undefined;
|
package/dist/index.js
CHANGED
|
@@ -3094,7 +3094,7 @@ function createTimebackNamespace(client) {
|
|
|
3094
3094
|
if (pendingAssessmentSubmissions.has(snapshot.attemptId)) {
|
|
3095
3095
|
return snapshot;
|
|
3096
3096
|
}
|
|
3097
|
-
if (snapshot.status
|
|
3097
|
+
if (snapshot.status !== "in_progress") {
|
|
3098
3098
|
await engine.activity.finishAssessment(snapshot.attemptId);
|
|
3099
3099
|
clearAssessmentTrackingWarnings(snapshot.attemptId);
|
|
3100
3100
|
return snapshot;
|
|
@@ -3278,6 +3278,19 @@ function createTimebackNamespace(client) {
|
|
|
3278
3278
|
}
|
|
3279
3279
|
throw error;
|
|
3280
3280
|
}
|
|
3281
|
+
},
|
|
3282
|
+
finalize: async (attemptId, input) => {
|
|
3283
|
+
assertPlatformMode(client, "timeback.assessments.finalize()");
|
|
3284
|
+
if (!attemptId?.trim()) {
|
|
3285
|
+
throw new Error("attemptId is required");
|
|
3286
|
+
}
|
|
3287
|
+
if (!input.submissionId?.trim()) {
|
|
3288
|
+
throw new Error("submissionId is required");
|
|
3289
|
+
}
|
|
3290
|
+
if (!Number.isFinite(input.xpAwarded) || input.xpAwarded < 0) {
|
|
3291
|
+
throw new Error("xpAwarded must be a finite, non-negative number");
|
|
3292
|
+
}
|
|
3293
|
+
return client["requestGameBackend"](`${ASSESSMENTS_ROUTE}/${encodeURIComponent(attemptId)}/finalize`, "POST", input, undefined, { retryPolicy: ASSESSMENT_SUBMIT_RETRY_POLICY });
|
|
3281
3294
|
}
|
|
3282
3295
|
},
|
|
3283
3296
|
get user() {
|
|
@@ -3684,7 +3697,7 @@ async function request({
|
|
|
3684
3697
|
return rawText && rawText.length > 0 ? rawText : undefined;
|
|
3685
3698
|
}
|
|
3686
3699
|
// src/version.ts
|
|
3687
|
-
var SDK_VERSION = "0.17.
|
|
3700
|
+
var SDK_VERSION = "0.17.1-beta.1";
|
|
3688
3701
|
|
|
3689
3702
|
// src/clients/base.ts
|
|
3690
3703
|
class PlaycademyBaseClient {
|
package/dist/internal.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SchemaInfo } from '@playcademy/cloudflare';
|
|
2
2
|
import { GamePermission, AUTH_PROVIDER_IDS } from '@playcademy/constants';
|
|
3
3
|
import { TimebackGrade, TimebackSubject, ELevel, HeartbeatRequest, EndActivityRequest, EndActivityScoreData, EndActivityResponse, TimebackCourseConfig, CourseConfig, OrganizationConfig, ComponentConfig, ResourceConfig, ComponentResourceConfig } from '@playcademy/types/timeback';
|
|
4
|
-
export { AssessmentAttemptSnapshot, AssessmentFlow, AssessmentItemSubmission, AssessmentResponseUpdate, AssessmentResponseValue, AssessmentResponses, AssessmentSaveResult, AssessmentScore, AssessmentStandardRef, AssessmentSubmitResult, ConventionalAssessmentAttemptSnapshot, ConventionalAssessmentSubmitResult, DiagnosticAssessmentItemReceipt, DiagnosticAssessmentSubmitResult, DiagnosticRoutingSnapshot, DiagnosticRoutingTrackSnapshot, ELevel, PlatformRoutedDiagnosticAttemptSnapshot, PlatformRoutedDiagnosticSelectionContext, PlayableAssessment, PlayableAssessmentChoice, PlayableAssessmentGraphic, PlayableAssessmentHotspot, PlayableAssessmentInteraction, PlayableAssessmentItem, PlayableContentNode, SaveAssessmentInput, StartAssessmentInput, StartDiagnosticAssessmentInput, SubmitAssessmentInput, SubmitAssessmentItemInput, SubmitAssessmentItemResult, SubmitDiagnosticAssessmentItemInput, SubmitDiagnosticAssessmentItemResult } from '@playcademy/types/timeback';
|
|
4
|
+
export { AssessmentAttemptSnapshot, AssessmentFinalizeResult, AssessmentFlow, AssessmentItemSubmission, AssessmentResponseUpdate, AssessmentResponseValue, AssessmentResponses, AssessmentSaveResult, AssessmentScore, AssessmentStandardRef, AssessmentSubmitResult, ConventionalAssessmentAttemptSnapshot, ConventionalAssessmentSubmitResult, DiagnosticAssessmentItemReceipt, DiagnosticAssessmentSubmitResult, DiagnosticRoutingSnapshot, DiagnosticRoutingTrackSnapshot, ELevel, FinalizeAssessmentInput, PlatformRoutedDiagnosticAttemptSnapshot, PlatformRoutedDiagnosticSelectionContext, PlayableAssessment, PlayableAssessmentAttemptSnapshot, PlayableAssessmentChoice, PlayableAssessmentGraphic, PlayableAssessmentHotspot, PlayableAssessmentInteraction, PlayableAssessmentItem, PlayableContentNode, SaveAssessmentInput, SettledAssessmentAttemptSnapshot, StartAssessmentInput, StartDiagnosticAssessmentInput, SubmitAssessmentInput, SubmitAssessmentItemInput, SubmitAssessmentItemResult, SubmitDiagnosticAssessmentItemInput, SubmitDiagnosticAssessmentItemResult } from '@playcademy/types/timeback';
|
|
5
5
|
import * as _playcademy_types from '@playcademy/types';
|
|
6
6
|
import { GameManifest, LocalDayContext } from '@playcademy/types';
|
|
7
7
|
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';
|
package/dist/internal.js
CHANGED
|
@@ -3094,7 +3094,7 @@ function createTimebackNamespace(client) {
|
|
|
3094
3094
|
if (pendingAssessmentSubmissions.has(snapshot.attemptId)) {
|
|
3095
3095
|
return snapshot;
|
|
3096
3096
|
}
|
|
3097
|
-
if (snapshot.status
|
|
3097
|
+
if (snapshot.status !== "in_progress") {
|
|
3098
3098
|
await engine.activity.finishAssessment(snapshot.attemptId);
|
|
3099
3099
|
clearAssessmentTrackingWarnings(snapshot.attemptId);
|
|
3100
3100
|
return snapshot;
|
|
@@ -3278,6 +3278,19 @@ function createTimebackNamespace(client) {
|
|
|
3278
3278
|
}
|
|
3279
3279
|
throw error;
|
|
3280
3280
|
}
|
|
3281
|
+
},
|
|
3282
|
+
finalize: async (attemptId, input) => {
|
|
3283
|
+
assertPlatformMode(client, "timeback.assessments.finalize()");
|
|
3284
|
+
if (!attemptId?.trim()) {
|
|
3285
|
+
throw new Error("attemptId is required");
|
|
3286
|
+
}
|
|
3287
|
+
if (!input.submissionId?.trim()) {
|
|
3288
|
+
throw new Error("submissionId is required");
|
|
3289
|
+
}
|
|
3290
|
+
if (!Number.isFinite(input.xpAwarded) || input.xpAwarded < 0) {
|
|
3291
|
+
throw new Error("xpAwarded must be a finite, non-negative number");
|
|
3292
|
+
}
|
|
3293
|
+
return client["requestGameBackend"](`${ASSESSMENTS_ROUTE}/${encodeURIComponent(attemptId)}/finalize`, "POST", input, undefined, { retryPolicy: ASSESSMENT_SUBMIT_RETRY_POLICY });
|
|
3281
3294
|
}
|
|
3282
3295
|
},
|
|
3283
3296
|
get user() {
|
|
@@ -4579,7 +4592,7 @@ async function request({
|
|
|
4579
4592
|
return rawText && rawText.length > 0 ? rawText : undefined;
|
|
4580
4593
|
}
|
|
4581
4594
|
// src/version.ts
|
|
4582
|
-
var SDK_VERSION = "0.17.
|
|
4595
|
+
var SDK_VERSION = "0.17.1-beta.1";
|
|
4583
4596
|
|
|
4584
4597
|
// src/clients/base.ts
|
|
4585
4598
|
class PlaycademyBaseClient {
|
package/dist/server/edge.d.ts
CHANGED
|
@@ -378,6 +378,9 @@ declare class PlaycademyClient {
|
|
|
378
378
|
submit: (studentId: string, attemptId: string, input: _playcademy_types.SubmitAssessmentRequest, context: {
|
|
379
379
|
sensorUrl: string;
|
|
380
380
|
}) => Promise<_playcademy_types.AssessmentSubmitResult>;
|
|
381
|
+
finalize: (studentId: string, attemptId: string, input: _playcademy_types.FinalizeAssessmentInput, context: {
|
|
382
|
+
sensorUrl: string;
|
|
383
|
+
}) => Promise<_playcademy_types.AssessmentFinalizeResult>;
|
|
381
384
|
};
|
|
382
385
|
endActivity: (studentId: string, payload: _playcademy_types.EndActivityPayload) => Promise<_playcademy_types.EndActivityResponse>;
|
|
383
386
|
getStudentXp: (studentId: string, options?: {
|
package/dist/server/edge.js
CHANGED
|
@@ -117,6 +117,13 @@ function createTimebackNamespace(client) {
|
|
|
117
117
|
studentId,
|
|
118
118
|
appName: client.config.name,
|
|
119
119
|
sensorUrl: context.sensorUrl
|
|
120
|
+
}),
|
|
121
|
+
finalize: (studentId, attemptId, input, context) => client["request"](`/api/timeback/assessments/${encodeURIComponent(attemptId)}/finalize`, "POST", {
|
|
122
|
+
...input,
|
|
123
|
+
gameId: client.gameId,
|
|
124
|
+
studentId,
|
|
125
|
+
appName: client.config.name,
|
|
126
|
+
sensorUrl: context.sensorUrl
|
|
120
127
|
})
|
|
121
128
|
},
|
|
122
129
|
endActivity: async (studentId, payload) => {
|
|
@@ -315,7 +322,7 @@ function extractApiErrorInfo(error) {
|
|
|
315
322
|
}
|
|
316
323
|
|
|
317
324
|
// src/version.ts
|
|
318
|
-
var SDK_VERSION = "0.17.
|
|
325
|
+
var SDK_VERSION = "0.17.1-beta.1";
|
|
319
326
|
|
|
320
327
|
// src/server/request.ts
|
|
321
328
|
async function makeApiRequest(opts) {
|
package/dist/server.d.ts
CHANGED
|
@@ -378,6 +378,9 @@ declare class PlaycademyClient$1 {
|
|
|
378
378
|
submit: (studentId: string, attemptId: string, input: _playcademy_types.SubmitAssessmentRequest, context: {
|
|
379
379
|
sensorUrl: string;
|
|
380
380
|
}) => Promise<_playcademy_types.AssessmentSubmitResult>;
|
|
381
|
+
finalize: (studentId: string, attemptId: string, input: _playcademy_types.FinalizeAssessmentInput, context: {
|
|
382
|
+
sensorUrl: string;
|
|
383
|
+
}) => Promise<_playcademy_types.AssessmentFinalizeResult>;
|
|
381
384
|
};
|
|
382
385
|
endActivity: (studentId: string, payload: _playcademy_types.EndActivityPayload) => Promise<_playcademy_types.EndActivityResponse>;
|
|
383
386
|
getStudentXp: (studentId: string, options?: {
|
package/dist/server.js
CHANGED
|
@@ -306,6 +306,13 @@ function createTimebackNamespace(client) {
|
|
|
306
306
|
studentId,
|
|
307
307
|
appName: client.config.name,
|
|
308
308
|
sensorUrl: context.sensorUrl
|
|
309
|
+
}),
|
|
310
|
+
finalize: (studentId, attemptId, input, context) => client["request"](`/api/timeback/assessments/${encodeURIComponent(attemptId)}/finalize`, "POST", {
|
|
311
|
+
...input,
|
|
312
|
+
gameId: client.gameId,
|
|
313
|
+
studentId,
|
|
314
|
+
appName: client.config.name,
|
|
315
|
+
sensorUrl: context.sensorUrl
|
|
309
316
|
})
|
|
310
317
|
},
|
|
311
318
|
endActivity: async (studentId, payload) => {
|
|
@@ -504,7 +511,7 @@ function extractApiErrorInfo(error) {
|
|
|
504
511
|
}
|
|
505
512
|
|
|
506
513
|
// src/version.ts
|
|
507
|
-
var SDK_VERSION = "0.17.
|
|
514
|
+
var SDK_VERSION = "0.17.1-beta.1";
|
|
508
515
|
|
|
509
516
|
// src/server/request.ts
|
|
510
517
|
async function makeApiRequest(opts) {
|
package/dist/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ 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, ELevel, EndActivityRequest, HeartbeatRequest, EndActivityScoreData, EndActivityResponse } from '@playcademy/types/timeback';
|
|
5
|
-
export { AssessmentAttemptSnapshot, AssessmentFlow, AssessmentItemSubmission, AssessmentResponseUpdate, AssessmentResponseValue, AssessmentResponses, AssessmentSaveResult, AssessmentScore, AssessmentStandardRef, AssessmentSubmitResult, ConventionalAssessmentAttemptSnapshot, ConventionalAssessmentSubmitResult, DiagnosticAssessmentItemReceipt, DiagnosticAssessmentSubmitResult, DiagnosticRoutingSnapshot, DiagnosticRoutingTrackSnapshot, ELevel, PlatformRoutedDiagnosticAttemptSnapshot, PlatformRoutedDiagnosticSelectionContext, PlayableAssessment, PlayableAssessmentChoice, PlayableAssessmentGraphic, PlayableAssessmentHotspot, PlayableAssessmentInteraction, PlayableAssessmentItem, PlayableContentNode, SaveAssessmentInput, StartAssessmentInput, StartDiagnosticAssessmentInput, SubmitAssessmentInput, SubmitAssessmentItemInput, SubmitAssessmentItemResult, SubmitDiagnosticAssessmentItemInput, SubmitDiagnosticAssessmentItemResult } from '@playcademy/types/timeback';
|
|
5
|
+
export { AssessmentAttemptSnapshot, AssessmentFinalizeResult, AssessmentFlow, AssessmentItemSubmission, AssessmentResponseUpdate, AssessmentResponseValue, AssessmentResponses, AssessmentSaveResult, AssessmentScore, AssessmentStandardRef, AssessmentSubmitResult, ConventionalAssessmentAttemptSnapshot, ConventionalAssessmentSubmitResult, DiagnosticAssessmentItemReceipt, DiagnosticAssessmentSubmitResult, DiagnosticRoutingSnapshot, DiagnosticRoutingTrackSnapshot, ELevel, FinalizeAssessmentInput, PlatformRoutedDiagnosticAttemptSnapshot, PlatformRoutedDiagnosticSelectionContext, PlayableAssessment, PlayableAssessmentAttemptSnapshot, PlayableAssessmentChoice, PlayableAssessmentGraphic, PlayableAssessmentHotspot, PlayableAssessmentInteraction, PlayableAssessmentItem, PlayableContentNode, SaveAssessmentInput, SettledAssessmentAttemptSnapshot, StartAssessmentInput, StartDiagnosticAssessmentInput, SubmitAssessmentInput, SubmitAssessmentItemInput, SubmitAssessmentItemResult, SubmitDiagnosticAssessmentItemInput, SubmitDiagnosticAssessmentItemResult } from '@playcademy/types/timeback';
|
|
6
6
|
import { TimebackUserRole, UserEnrollment, UserOrganization, UserInfo } from '@playcademy/types/user';
|
|
7
7
|
import { GamePermission, AUTH_PROVIDER_IDS } from '@playcademy/constants';
|
|
8
8
|
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
@@ -2020,6 +2020,7 @@ declare class PlaycademyClient extends PlaycademyBaseClient {
|
|
|
2020
2020
|
save: (attemptId: string, input: _playcademy_types.SaveAssessmentInput) => Promise<_playcademy_types.AssessmentSaveResult>;
|
|
2021
2021
|
submitItem: (attemptId: string, input: _playcademy_types.SubmitAssessmentItemInput) => Promise<_playcademy_types.SubmitAssessmentItemResult>;
|
|
2022
2022
|
submit: (attemptId: string, input: _playcademy_types.SubmitAssessmentInput) => Promise<_playcademy_types.AssessmentSubmitResult>;
|
|
2023
|
+
finalize: (attemptId: string, input: _playcademy_types.FinalizeAssessmentInput) => Promise<_playcademy_types.AssessmentFinalizeResult>;
|
|
2023
2024
|
};
|
|
2024
2025
|
readonly user: TimebackUser;
|
|
2025
2026
|
readonly currentRunId: string | undefined;
|