@playcademy/sdk 0.17.1-beta.1 → 0.17.1-beta.2

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 CHANGED
@@ -3290,6 +3290,15 @@ function createTimebackNamespace(client) {
3290
3290
  if (!Number.isFinite(input.xpAwarded) || input.xpAwarded < 0) {
3291
3291
  throw new Error("xpAwarded must be a finite, non-negative number");
3292
3292
  }
3293
+ if (input.masteredUnits !== undefined && input.masteredUnitsAbsolute !== undefined) {
3294
+ throw new Error("Provide either masteredUnits or masteredUnitsAbsolute, not both");
3295
+ }
3296
+ if (input.masteredUnits !== undefined && !Number.isFinite(input.masteredUnits)) {
3297
+ throw new Error("masteredUnits must be a finite number");
3298
+ }
3299
+ if (input.masteredUnitsAbsolute !== undefined && !Number.isInteger(input.masteredUnitsAbsolute)) {
3300
+ throw new Error("masteredUnitsAbsolute must be an integer");
3301
+ }
3293
3302
  return client["requestGameBackend"](`${ASSESSMENTS_ROUTE}/${encodeURIComponent(attemptId)}/finalize`, "POST", input, undefined, { retryPolicy: ASSESSMENT_SUBMIT_RETRY_POLICY });
3294
3303
  }
3295
3304
  },
@@ -3697,7 +3706,7 @@ async function request({
3697
3706
  return rawText && rawText.length > 0 ? rawText : undefined;
3698
3707
  }
3699
3708
  // src/version.ts
3700
- var SDK_VERSION = "0.17.1-beta.1";
3709
+ var SDK_VERSION = "0.17.1-beta.2";
3701
3710
 
3702
3711
  // src/clients/base.ts
3703
3712
  class PlaycademyBaseClient {
@@ -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, 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';
4
+ export { AssessmentAttemptSnapshot, AssessmentAwardRecord, AssessmentFinalizeResult, AssessmentFlow, AssessmentItemSubmission, AssessmentMasteryAward, 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';
@@ -3659,11 +3659,6 @@ interface QtiLibraryQueryOptions {
3659
3659
  page?: number;
3660
3660
  limit?: number;
3661
3661
  }
3662
- interface ReviewMappingUpdateResult {
3663
- itemCount: number;
3664
- standardCount: number;
3665
- sourceFingerprint: string;
3666
- }
3667
3662
 
3668
3663
  /**
3669
3664
  * Internal Playcademy SDK client with all namespaces.
@@ -4027,19 +4022,19 @@ declare class PlaycademyInternalClient extends PlaycademyBaseClient {
4027
4022
  create: (gameId: string, courseId: string, data: {
4028
4023
  assessmentKey: string;
4029
4024
  title: string;
4030
- purpose: Exclude<_playcademy_types.AssessmentPurpose, 'diagnostic'>;
4025
+ purpose: Exclude<_playcademy_types.AssessmentPurpose, 'diagnostic' | 'review'>;
4031
4026
  standard?: _playcademy_types.AssessmentStandardRef;
4032
4027
  }) => Promise<_playcademy_types.AssessmentRow>;
4033
4028
  attachExisting: (gameId: string, courseId: string, manifest: _playcademy_types.AssessmentAssociationImportManifest) => Promise<_playcademy_types.AssessmentAssociationImportResponse>;
4034
4029
  update: (gameId: string, courseId: string, testIdentifier: string, data: {
4035
4030
  title?: string;
4036
- purpose?: _playcademy_types.AssessmentPurpose;
4031
+ purpose?: Exclude<_playcademy_types.AssessmentPurpose, 'review'>;
4037
4032
  standard?: _playcademy_types.AssessmentStandardRef;
4038
4033
  diagnostic?: _playcademy_types.DiagnosticAssessmentDefinitionInput | null;
4039
4034
  status?: _playcademy_types.AssessmentStatus;
4040
4035
  }) => Promise<_playcademy_types.AssessmentRow>;
4041
- updateReviewMapping: (gameId: string, courseId: string, testIdentifier: string) => Promise<ReviewMappingUpdateResult>;
4042
- reorder: (gameId: string, courseId: string, purpose: _playcademy_types.AssessmentPurpose, testIdentifiers: string[]) => Promise<{
4036
+ syncReviewBank: (gameId: string, courseId: string) => Promise<_playcademy_types.ReviewBankSynchronizationResult>;
4037
+ reorder: (gameId: string, courseId: string, purpose: Exclude<_playcademy_types.AssessmentPurpose, 'review'>, testIdentifiers: string[]) => Promise<{
4043
4038
  success: boolean;
4044
4039
  }>;
4045
4040
  remove: (gameId: string, courseId: string, testIdentifier: string) => Promise<{
@@ -4049,7 +4044,7 @@ declare class PlaycademyInternalClient extends PlaycademyBaseClient {
4049
4044
  copy: (gameId: string, courseId: string, data: {
4050
4045
  testIdentifier: string;
4051
4046
  assessmentKey: string;
4052
- purpose: Exclude<_playcademy_types.AssessmentPurpose, 'diagnostic'>;
4047
+ purpose: Exclude<_playcademy_types.AssessmentPurpose, 'diagnostic' | 'review'>;
4053
4048
  standard?: _playcademy_types.AssessmentStandardRef;
4054
4049
  }) => Promise<_playcademy_types.AssessmentRow>;
4055
4050
  listQuestions: (gameId: string, courseId: string, testIdentifier: string) => Promise<_playcademy_types.QtiTestQuestionsResponse>;
package/dist/internal.js CHANGED
@@ -3290,6 +3290,15 @@ function createTimebackNamespace(client) {
3290
3290
  if (!Number.isFinite(input.xpAwarded) || input.xpAwarded < 0) {
3291
3291
  throw new Error("xpAwarded must be a finite, non-negative number");
3292
3292
  }
3293
+ if (input.masteredUnits !== undefined && input.masteredUnitsAbsolute !== undefined) {
3294
+ throw new Error("Provide either masteredUnits or masteredUnitsAbsolute, not both");
3295
+ }
3296
+ if (input.masteredUnits !== undefined && !Number.isFinite(input.masteredUnits)) {
3297
+ throw new Error("masteredUnits must be a finite number");
3298
+ }
3299
+ if (input.masteredUnitsAbsolute !== undefined && !Number.isInteger(input.masteredUnitsAbsolute)) {
3300
+ throw new Error("masteredUnitsAbsolute must be an integer");
3301
+ }
3293
3302
  return client["requestGameBackend"](`${ASSESSMENTS_ROUTE}/${encodeURIComponent(attemptId)}/finalize`, "POST", input, undefined, { retryPolicy: ASSESSMENT_SUBMIT_RETRY_POLICY });
3294
3303
  }
3295
3304
  },
@@ -4152,7 +4161,7 @@ function createAssessmentNamespace(client) {
4152
4161
  update: (gameId, courseId, testIdentifier, data) => client["request"](assessmentPath(gameId, courseId, testIdentifier), "PATCH", {
4153
4162
  body: data
4154
4163
  }),
4155
- updateReviewMapping: (gameId, courseId, testIdentifier) => client["request"](assessmentPath(gameId, courseId, testIdentifier, "review-mapping"), "POST"),
4164
+ syncReviewBank: (gameId, courseId) => client["request"](assessmentPath(gameId, courseId, "review-bank"), "POST"),
4156
4165
  reorder: (gameId, courseId, purpose, testIdentifiers) => client["request"](assessmentPath(gameId, courseId, "order"), "PUT", {
4157
4166
  body: { purpose, testIdentifiers }
4158
4167
  }),
@@ -4592,7 +4601,7 @@ async function request({
4592
4601
  return rawText && rawText.length > 0 ? rawText : undefined;
4593
4602
  }
4594
4603
  // src/version.ts
4595
- var SDK_VERSION = "0.17.1-beta.1";
4604
+ var SDK_VERSION = "0.17.1-beta.2";
4596
4605
 
4597
4606
  // src/clients/base.ts
4598
4607
  class PlaycademyBaseClient {
@@ -322,7 +322,7 @@ function extractApiErrorInfo(error) {
322
322
  }
323
323
 
324
324
  // src/version.ts
325
- var SDK_VERSION = "0.17.1-beta.1";
325
+ var SDK_VERSION = "0.17.1-beta.2";
326
326
 
327
327
  // src/server/request.ts
328
328
  async function makeApiRequest(opts) {
package/dist/server.js CHANGED
@@ -511,7 +511,7 @@ function extractApiErrorInfo(error) {
511
511
  }
512
512
 
513
513
  // src/version.ts
514
- var SDK_VERSION = "0.17.1-beta.1";
514
+ var SDK_VERSION = "0.17.1-beta.2";
515
515
 
516
516
  // src/server/request.ts
517
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, 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
+ export { AssessmentAttemptSnapshot, AssessmentAwardRecord, AssessmentFinalizeResult, AssessmentFlow, AssessmentItemSubmission, AssessmentMasteryAward, 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';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@playcademy/sdk",
3
- "version": "0.17.1-beta.1",
3
+ "version": "0.17.1-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {