@timeback/qti 0.1.5 → 0.1.6-beta.20260223234236

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/errors.js CHANGED
@@ -884,6 +884,28 @@ var BEYONDAI_PATHS = {
884
884
  },
885
885
  powerpath: {
886
886
  base: "/powerpath"
887
+ },
888
+ clr: {
889
+ credentials: "/ims/clr/v2p0/credentials",
890
+ discovery: "/ims/clr/v2p0/discovery"
891
+ },
892
+ case: {
893
+ base: "/ims/case/v1p1"
894
+ },
895
+ webhooks: {
896
+ webhookList: "/webhooks/",
897
+ webhookGet: "/webhooks/{id}",
898
+ webhookCreate: "/webhooks/",
899
+ webhookUpdate: "/webhooks/{id}",
900
+ webhookDelete: "/webhooks/{id}",
901
+ webhookActivate: "/webhooks/{id}/activate",
902
+ webhookDeactivate: "/webhooks/{id}/deactivate",
903
+ webhookFilterList: "/webhook-filters/",
904
+ webhookFilterGet: "/webhook-filters/{id}",
905
+ webhookFilterCreate: "/webhook-filters/",
906
+ webhookFilterUpdate: "/webhook-filters/{id}",
907
+ webhookFilterDelete: "/webhook-filters/{id}",
908
+ webhookFiltersByWebhook: "/webhook-filters/webhook/{webhookId}"
887
909
  }
888
910
  };
889
911
  var LEARNWITHAI_PATHS = {
@@ -899,8 +921,11 @@ var LEARNWITHAI_PATHS = {
899
921
  gradebook: "/gradebook/1.0",
900
922
  resources: "/resources/1.0"
901
923
  },
924
+ webhooks: null,
902
925
  edubridge: null,
903
- powerpath: null
926
+ powerpath: null,
927
+ clr: null,
928
+ case: null
904
929
  };
905
930
  var PLATFORM_PATHS = {
906
931
  BEYOND_AI: BEYONDAI_PATHS,
@@ -922,8 +947,11 @@ function resolvePathProfiles(pathProfile, customPaths) {
922
947
  return {
923
948
  caliper: customPaths?.caliper ?? basePaths.caliper,
924
949
  oneroster: customPaths?.oneroster ?? basePaths.oneroster,
950
+ webhooks: customPaths?.webhooks ?? basePaths.webhooks,
925
951
  edubridge: customPaths?.edubridge ?? basePaths.edubridge,
926
- powerpath: customPaths?.powerpath ?? basePaths.powerpath
952
+ powerpath: customPaths?.powerpath ?? basePaths.powerpath,
953
+ clr: customPaths?.clr ?? basePaths.clr,
954
+ case: customPaths?.case ?? basePaths.case
927
955
  };
928
956
  }
929
957
 
@@ -963,10 +991,22 @@ class TimebackProvider {
963
991
  baseUrl: platformEndpoints.api[env],
964
992
  authUrl: this.authUrl
965
993
  },
994
+ clr: {
995
+ baseUrl: platformEndpoints.api[env],
996
+ authUrl: this.authUrl
997
+ },
998
+ case: {
999
+ baseUrl: platformEndpoints.api[env],
1000
+ authUrl: this.authUrl
1001
+ },
966
1002
  caliper: {
967
1003
  baseUrl: platformEndpoints.caliper[env],
968
1004
  authUrl: this.authUrl
969
1005
  },
1006
+ webhooks: {
1007
+ baseUrl: platformEndpoints.caliper[env],
1008
+ authUrl: this.authUrl
1009
+ },
970
1010
  qti: {
971
1011
  baseUrl: platformEndpoints.qti[env],
972
1012
  authUrl: this.authUrl
@@ -980,7 +1020,10 @@ class TimebackProvider {
980
1020
  oneroster: { baseUrl: config.baseUrl, authUrl: this.authUrl },
981
1021
  edubridge: { baseUrl: config.baseUrl, authUrl: this.authUrl },
982
1022
  powerpath: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1023
+ clr: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1024
+ case: { baseUrl: config.baseUrl, authUrl: this.authUrl },
983
1025
  caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1026
+ webhooks: { baseUrl: config.baseUrl, authUrl: this.authUrl },
984
1027
  qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
985
1028
  };
986
1029
  } else if (isServicesConfig(config)) {
@@ -999,10 +1042,19 @@ class TimebackProvider {
999
1042
  } else {
1000
1043
  throw new Error("Invalid provider configuration");
1001
1044
  }
1045
+ for (const service of Object.keys(this.pathProfiles)) {
1046
+ if (this.pathProfiles[service] === null) {
1047
+ delete this.endpoints[service];
1048
+ }
1049
+ }
1002
1050
  }
1003
1051
  getEndpoint(service) {
1004
1052
  const endpoint = this.endpoints[service];
1005
1053
  if (!endpoint) {
1054
+ const pathKey = service;
1055
+ if (pathKey in this.pathProfiles && this.pathProfiles[pathKey] === null) {
1056
+ throw new Error(`Service "${service}" is not supported on ${this.platform ?? "this"} platform.`);
1057
+ }
1006
1058
  throw new Error(`Service "${service}" is not configured in this provider`);
1007
1059
  }
1008
1060
  return endpoint;
package/dist/index.js CHANGED
@@ -884,6 +884,28 @@ var BEYONDAI_PATHS = {
884
884
  },
885
885
  powerpath: {
886
886
  base: "/powerpath"
887
+ },
888
+ clr: {
889
+ credentials: "/ims/clr/v2p0/credentials",
890
+ discovery: "/ims/clr/v2p0/discovery"
891
+ },
892
+ case: {
893
+ base: "/ims/case/v1p1"
894
+ },
895
+ webhooks: {
896
+ webhookList: "/webhooks/",
897
+ webhookGet: "/webhooks/{id}",
898
+ webhookCreate: "/webhooks/",
899
+ webhookUpdate: "/webhooks/{id}",
900
+ webhookDelete: "/webhooks/{id}",
901
+ webhookActivate: "/webhooks/{id}/activate",
902
+ webhookDeactivate: "/webhooks/{id}/deactivate",
903
+ webhookFilterList: "/webhook-filters/",
904
+ webhookFilterGet: "/webhook-filters/{id}",
905
+ webhookFilterCreate: "/webhook-filters/",
906
+ webhookFilterUpdate: "/webhook-filters/{id}",
907
+ webhookFilterDelete: "/webhook-filters/{id}",
908
+ webhookFiltersByWebhook: "/webhook-filters/webhook/{webhookId}"
887
909
  }
888
910
  };
889
911
  var LEARNWITHAI_PATHS = {
@@ -899,8 +921,11 @@ var LEARNWITHAI_PATHS = {
899
921
  gradebook: "/gradebook/1.0",
900
922
  resources: "/resources/1.0"
901
923
  },
924
+ webhooks: null,
902
925
  edubridge: null,
903
- powerpath: null
926
+ powerpath: null,
927
+ clr: null,
928
+ case: null
904
929
  };
905
930
  var PLATFORM_PATHS = {
906
931
  BEYOND_AI: BEYONDAI_PATHS,
@@ -922,8 +947,11 @@ function resolvePathProfiles(pathProfile, customPaths) {
922
947
  return {
923
948
  caliper: customPaths?.caliper ?? basePaths.caliper,
924
949
  oneroster: customPaths?.oneroster ?? basePaths.oneroster,
950
+ webhooks: customPaths?.webhooks ?? basePaths.webhooks,
925
951
  edubridge: customPaths?.edubridge ?? basePaths.edubridge,
926
- powerpath: customPaths?.powerpath ?? basePaths.powerpath
952
+ powerpath: customPaths?.powerpath ?? basePaths.powerpath,
953
+ clr: customPaths?.clr ?? basePaths.clr,
954
+ case: customPaths?.case ?? basePaths.case
927
955
  };
928
956
  }
929
957
 
@@ -963,10 +991,22 @@ class TimebackProvider {
963
991
  baseUrl: platformEndpoints.api[env],
964
992
  authUrl: this.authUrl
965
993
  },
994
+ clr: {
995
+ baseUrl: platformEndpoints.api[env],
996
+ authUrl: this.authUrl
997
+ },
998
+ case: {
999
+ baseUrl: platformEndpoints.api[env],
1000
+ authUrl: this.authUrl
1001
+ },
966
1002
  caliper: {
967
1003
  baseUrl: platformEndpoints.caliper[env],
968
1004
  authUrl: this.authUrl
969
1005
  },
1006
+ webhooks: {
1007
+ baseUrl: platformEndpoints.caliper[env],
1008
+ authUrl: this.authUrl
1009
+ },
970
1010
  qti: {
971
1011
  baseUrl: platformEndpoints.qti[env],
972
1012
  authUrl: this.authUrl
@@ -980,7 +1020,10 @@ class TimebackProvider {
980
1020
  oneroster: { baseUrl: config.baseUrl, authUrl: this.authUrl },
981
1021
  edubridge: { baseUrl: config.baseUrl, authUrl: this.authUrl },
982
1022
  powerpath: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1023
+ clr: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1024
+ case: { baseUrl: config.baseUrl, authUrl: this.authUrl },
983
1025
  caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1026
+ webhooks: { baseUrl: config.baseUrl, authUrl: this.authUrl },
984
1027
  qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
985
1028
  };
986
1029
  } else if (isServicesConfig(config)) {
@@ -999,10 +1042,19 @@ class TimebackProvider {
999
1042
  } else {
1000
1043
  throw new Error("Invalid provider configuration");
1001
1044
  }
1045
+ for (const service of Object.keys(this.pathProfiles)) {
1046
+ if (this.pathProfiles[service] === null) {
1047
+ delete this.endpoints[service];
1048
+ }
1049
+ }
1002
1050
  }
1003
1051
  getEndpoint(service) {
1004
1052
  const endpoint = this.endpoints[service];
1005
1053
  if (!endpoint) {
1054
+ const pathKey = service;
1055
+ if (pathKey in this.pathProfiles && this.pathProfiles[pathKey] === null) {
1056
+ throw new Error(`Service "${service}" is not supported on ${this.platform ?? "this"} platform.`);
1057
+ }
1006
1058
  throw new Error(`Service "${service}" is not configured in this provider`);
1007
1059
  }
1008
1060
  return endpoint;
@@ -15736,6 +15788,213 @@ var CaliperListEventsParams = exports_external.object({
15736
15788
  actorId: exports_external.string().min(1).optional(),
15737
15789
  actorEmail: exports_external.email().optional()
15738
15790
  }).strict();
15791
+ // ../../types/src/zod/webhooks.ts
15792
+ var WebhookCreateInput = exports_external.object({
15793
+ name: exports_external.string().min(1, "name must be a non-empty string"),
15794
+ targetUrl: exports_external.url("targetUrl must be a valid URL"),
15795
+ secret: exports_external.string().min(1, "secret must be a non-empty string"),
15796
+ active: exports_external.boolean(),
15797
+ sensor: exports_external.string().nullable().optional(),
15798
+ description: exports_external.string().nullable().optional()
15799
+ }).strict();
15800
+ var WebhookFilterType = exports_external.enum(["string", "number", "boolean"]);
15801
+ var WebhookFilterOperation = exports_external.enum([
15802
+ "eq",
15803
+ "neq",
15804
+ "gt",
15805
+ "gte",
15806
+ "lt",
15807
+ "lte",
15808
+ "contains",
15809
+ "notContains",
15810
+ "in",
15811
+ "notIn",
15812
+ "startsWith",
15813
+ "endsWith",
15814
+ "regexp"
15815
+ ]);
15816
+ var WebhookFilterCreateInput = exports_external.object({
15817
+ webhookId: exports_external.string().min(1, "webhookId must be a non-empty string"),
15818
+ filterKey: exports_external.string().min(1, "filterKey must be a non-empty string"),
15819
+ filterValue: exports_external.string().min(1, "filterValue must be a non-empty string"),
15820
+ filterType: WebhookFilterType,
15821
+ filterOperator: WebhookFilterOperation,
15822
+ active: exports_external.boolean()
15823
+ }).strict();
15824
+ // ../../types/src/zod/case.ts
15825
+ var NonEmptyString = exports_external.string().trim().min(1);
15826
+ var InputNodeURISchema = exports_external.object({
15827
+ title: NonEmptyString,
15828
+ identifier: NonEmptyString,
15829
+ uri: NonEmptyString
15830
+ });
15831
+ var CFDocumentInputSchema = exports_external.object({
15832
+ identifier: NonEmptyString,
15833
+ uri: NonEmptyString,
15834
+ lastChangeDateTime: NonEmptyString,
15835
+ title: NonEmptyString,
15836
+ creator: NonEmptyString,
15837
+ officialSourceURL: exports_external.string().optional(),
15838
+ publisher: exports_external.string().optional(),
15839
+ description: exports_external.string().optional(),
15840
+ language: exports_external.string().optional(),
15841
+ version: exports_external.string().optional(),
15842
+ caseVersion: exports_external.string().optional(),
15843
+ adoptionStatus: exports_external.string().optional(),
15844
+ statusStartDate: exports_external.string().optional(),
15845
+ statusEndDate: exports_external.string().optional(),
15846
+ licenseUri: exports_external.string().optional(),
15847
+ notes: exports_external.string().optional(),
15848
+ subject: exports_external.array(exports_external.string()).optional(),
15849
+ extensions: exports_external.unknown().optional()
15850
+ });
15851
+ var CFItemInputSchema = exports_external.object({
15852
+ identifier: NonEmptyString,
15853
+ uri: NonEmptyString,
15854
+ lastChangeDateTime: NonEmptyString,
15855
+ fullStatement: NonEmptyString,
15856
+ alternativeLabel: exports_external.string().optional(),
15857
+ CFItemType: exports_external.string().optional(),
15858
+ cfItemType: exports_external.string().optional(),
15859
+ humanCodingScheme: exports_external.string().optional(),
15860
+ listEnumeration: exports_external.string().optional(),
15861
+ abbreviatedStatement: exports_external.string().optional(),
15862
+ conceptKeywords: exports_external.array(exports_external.string()).optional(),
15863
+ notes: exports_external.string().optional(),
15864
+ subject: exports_external.array(exports_external.string()).optional(),
15865
+ language: exports_external.string().optional(),
15866
+ educationLevel: exports_external.array(exports_external.string()).optional(),
15867
+ CFItemTypeURI: exports_external.unknown().optional(),
15868
+ licenseURI: exports_external.unknown().optional(),
15869
+ statusStartDate: exports_external.string().optional(),
15870
+ statusEndDate: exports_external.string().optional(),
15871
+ extensions: exports_external.unknown().optional()
15872
+ });
15873
+ var CFAssociationInputSchema = exports_external.object({
15874
+ identifier: NonEmptyString,
15875
+ uri: NonEmptyString,
15876
+ lastChangeDateTime: NonEmptyString,
15877
+ associationType: NonEmptyString,
15878
+ originNodeURI: InputNodeURISchema,
15879
+ destinationNodeURI: InputNodeURISchema,
15880
+ sequenceNumber: exports_external.number().optional(),
15881
+ extensions: exports_external.unknown().optional()
15882
+ });
15883
+ var CFDefinitionsSchema = exports_external.object({
15884
+ CFItemTypes: exports_external.array(exports_external.unknown()).optional(),
15885
+ CFSubjects: exports_external.array(exports_external.unknown()).optional(),
15886
+ CFConcepts: exports_external.array(exports_external.unknown()).optional(),
15887
+ CFLicenses: exports_external.array(exports_external.unknown()).optional(),
15888
+ CFAssociationGroupings: exports_external.array(exports_external.unknown()).optional(),
15889
+ extensions: exports_external.unknown().optional()
15890
+ });
15891
+ var CasePackageInput = exports_external.object({
15892
+ CFDocument: CFDocumentInputSchema,
15893
+ CFItems: exports_external.array(CFItemInputSchema),
15894
+ CFAssociations: exports_external.array(CFAssociationInputSchema),
15895
+ CFDefinitions: CFDefinitionsSchema.optional(),
15896
+ extensions: exports_external.unknown().optional()
15897
+ });
15898
+ // ../../types/src/zod/clr.ts
15899
+ var NonEmptyString2 = exports_external.string().trim().min(1);
15900
+ var NonEmptyStringArray = exports_external.array(exports_external.string()).min(1);
15901
+ var ClrImageSchema = exports_external.object({
15902
+ id: NonEmptyString2,
15903
+ type: exports_external.literal("Image"),
15904
+ caption: exports_external.string().optional()
15905
+ });
15906
+ var ClrProfileSchema = exports_external.object({
15907
+ id: NonEmptyString2,
15908
+ type: NonEmptyStringArray,
15909
+ name: exports_external.string().optional(),
15910
+ url: exports_external.string().optional(),
15911
+ phone: exports_external.string().optional(),
15912
+ description: exports_external.string().optional(),
15913
+ image: ClrImageSchema.optional(),
15914
+ email: exports_external.string().optional()
15915
+ });
15916
+ var ClrProofSchema = exports_external.object({
15917
+ type: NonEmptyString2,
15918
+ proofPurpose: NonEmptyString2,
15919
+ verificationMethod: NonEmptyString2,
15920
+ created: NonEmptyString2,
15921
+ proofValue: NonEmptyString2,
15922
+ cryptosuite: exports_external.string().optional()
15923
+ });
15924
+ var ClrCredentialSchemaSchema = exports_external.object({
15925
+ id: NonEmptyString2,
15926
+ type: exports_external.literal("1EdTechJsonSchemaValidator2019")
15927
+ });
15928
+ var AchievementCriteriaSchema = exports_external.object({
15929
+ id: exports_external.string().optional(),
15930
+ narrative: exports_external.string().optional()
15931
+ });
15932
+ var AchievementSchema = exports_external.object({
15933
+ id: NonEmptyString2,
15934
+ type: NonEmptyStringArray,
15935
+ name: NonEmptyString2,
15936
+ description: NonEmptyString2,
15937
+ criteria: AchievementCriteriaSchema,
15938
+ image: ClrImageSchema.optional(),
15939
+ achievementType: exports_external.string().optional(),
15940
+ creator: ClrProfileSchema.optional()
15941
+ });
15942
+ var IdentityObjectSchema = exports_external.object({
15943
+ type: exports_external.literal("IdentityObject"),
15944
+ identityHash: NonEmptyString2,
15945
+ identityType: NonEmptyString2,
15946
+ hashed: exports_external.boolean(),
15947
+ salt: exports_external.string().optional()
15948
+ });
15949
+ var AssociationTypeSchema = exports_external.enum([
15950
+ "exactMatchOf",
15951
+ "isChildOf",
15952
+ "isParentOf",
15953
+ "isPartOf",
15954
+ "isPeerOf",
15955
+ "isRelatedTo",
15956
+ "precedes",
15957
+ "replacedBy"
15958
+ ]);
15959
+ var AssociationSchema = exports_external.object({
15960
+ type: exports_external.literal("Association"),
15961
+ associationType: AssociationTypeSchema,
15962
+ sourceId: NonEmptyString2,
15963
+ targetId: NonEmptyString2
15964
+ });
15965
+ var VerifiableCredentialSchema = exports_external.object({
15966
+ "@context": NonEmptyStringArray,
15967
+ id: NonEmptyString2,
15968
+ type: NonEmptyStringArray,
15969
+ issuer: ClrProfileSchema,
15970
+ validFrom: NonEmptyString2,
15971
+ validUntil: exports_external.string().optional(),
15972
+ credentialSubject: exports_external.object({
15973
+ id: exports_external.string().optional()
15974
+ }),
15975
+ proof: exports_external.array(ClrProofSchema).optional()
15976
+ });
15977
+ var ClrCredentialSubjectSchema = exports_external.object({
15978
+ id: exports_external.string().optional(),
15979
+ type: NonEmptyStringArray,
15980
+ identifier: exports_external.array(IdentityObjectSchema).optional(),
15981
+ achievement: exports_external.array(AchievementSchema).optional(),
15982
+ verifiableCredential: exports_external.array(VerifiableCredentialSchema).min(1),
15983
+ association: exports_external.array(AssociationSchema).optional()
15984
+ });
15985
+ var ClrCredentialInput = exports_external.object({
15986
+ "@context": NonEmptyStringArray,
15987
+ id: NonEmptyString2,
15988
+ type: NonEmptyStringArray,
15989
+ issuer: ClrProfileSchema,
15990
+ name: NonEmptyString2,
15991
+ description: exports_external.string().optional(),
15992
+ validFrom: NonEmptyString2,
15993
+ validUntil: exports_external.string().optional(),
15994
+ credentialSubject: ClrCredentialSubjectSchema,
15995
+ proof: exports_external.array(ClrProofSchema).optional(),
15996
+ credentialSchema: exports_external.array(ClrCredentialSchemaSchema).optional()
15997
+ });
15739
15998
  // ../../types/src/zod/config.ts
15740
15999
  var CourseIds = exports_external.object({
15741
16000
  staging: exports_external.string().meta({ description: "Course ID in staging environment" }).optional(),
@@ -15811,7 +16070,12 @@ var TimebackConfig = exports_external.object({
15811
16070
  }).optional(),
15812
16071
  courses: exports_external.array(CourseConfig).min(1, "At least one course is required").meta({ description: "Courses available in this app" }),
15813
16072
  sensor: exports_external.url().meta({ description: "Default Caliper sensor endpoint URL for all courses" }).optional(),
15814
- launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional()
16073
+ launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional(),
16074
+ studio: exports_external.object({
16075
+ telemetry: exports_external.boolean().meta({
16076
+ description: "Enable anonymous usage telemetry for Studio (default: true)"
16077
+ }).optional().default(true)
16078
+ }).meta({ description: "Studio-specific configuration" }).optional()
15815
16079
  }).meta({
15816
16080
  id: "TimebackConfig",
15817
16081
  title: "Timeback Config",
@@ -15897,10 +16161,10 @@ var EduBridgeEnrollmentAnalyticsResponse = exports_external.object({
15897
16161
  facts: EduBridgeAnalyticsFacts,
15898
16162
  factsByApp: exports_external.unknown()
15899
16163
  });
15900
- var NonEmptyString = exports_external.string().trim().min(1);
16164
+ var NonEmptyString3 = exports_external.string().trim().min(1);
15901
16165
  var EmailOrStudentId = exports_external.object({
15902
16166
  email: exports_external.email().optional(),
15903
- studentId: NonEmptyString.optional()
16167
+ studentId: NonEmptyString3.optional()
15904
16168
  }).superRefine((value, ctx) => {
15905
16169
  if (!value.email && !value.studentId) {
15906
16170
  ctx.addIssue({
@@ -15916,16 +16180,16 @@ var EmailOrStudentId = exports_external.object({
15916
16180
  }
15917
16181
  });
15918
16182
  var SubjectTrackInput = exports_external.object({
15919
- subject: NonEmptyString,
15920
- grade: NonEmptyString,
15921
- courseId: NonEmptyString,
15922
- orgSourcedId: NonEmptyString.optional()
16183
+ subject: NonEmptyString3,
16184
+ grade: NonEmptyString3,
16185
+ courseId: NonEmptyString3,
16186
+ orgSourcedId: NonEmptyString3.optional()
15923
16187
  });
15924
16188
  var EdubridgeListEnrollmentsParams = exports_external.object({
15925
- userId: NonEmptyString
16189
+ userId: NonEmptyString3
15926
16190
  });
15927
16191
  var EdubridgeEnrollOptions = exports_external.object({
15928
- sourcedId: NonEmptyString.optional(),
16192
+ sourcedId: NonEmptyString3.optional(),
15929
16193
  role: EnrollmentRole.optional(),
15930
16194
  beginDate: EdubridgeDateString.optional(),
15931
16195
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
@@ -15939,7 +16203,7 @@ var EdubridgeUsersListParams = exports_external.object({
15939
16203
  filter: exports_external.string().optional(),
15940
16204
  search: exports_external.string().optional(),
15941
16205
  roles: exports_external.array(OneRosterUserRole).min(1),
15942
- orgSourcedIds: exports_external.array(NonEmptyString).optional()
16206
+ orgSourcedIds: exports_external.array(NonEmptyString3).optional()
15943
16207
  });
15944
16208
  var EdubridgeActivityParams = EmailOrStudentId.extend({
15945
16209
  startDate: EdubridgeDateString,
@@ -15951,17 +16215,94 @@ var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
15951
16215
  timezone: exports_external.string().optional()
15952
16216
  });
15953
16217
  var EdubridgeEnrollmentFactsParams = exports_external.object({
15954
- enrollmentId: NonEmptyString,
16218
+ enrollmentId: NonEmptyString3,
15955
16219
  startDate: EdubridgeDateString.optional(),
15956
16220
  endDate: EdubridgeDateString.optional(),
15957
16221
  timezone: exports_external.string().optional()
15958
16222
  });
16223
+ // ../../types/src/zod/masterytrack.ts
16224
+ var NonEmptyString4 = exports_external.string().trim().min(1);
16225
+ var MasteryTrackAuthorizerInput = exports_external.object({
16226
+ email: exports_external.email()
16227
+ });
16228
+ var MasteryTrackInventorySearchParams = exports_external.object({
16229
+ name: NonEmptyString4.optional(),
16230
+ timeback_id: NonEmptyString4.optional(),
16231
+ grade: NonEmptyString4.optional(),
16232
+ subject: NonEmptyString4.optional(),
16233
+ all: exports_external.boolean().optional()
16234
+ });
16235
+ var MasteryTrackAssignmentInput = exports_external.object({
16236
+ student_email: exports_external.email(),
16237
+ timeback_id: NonEmptyString4.optional(),
16238
+ subject: NonEmptyString4.optional(),
16239
+ grade_rank: exports_external.number().int().min(0).max(12).optional(),
16240
+ assessment_line_item_sourced_id: NonEmptyString4.optional(),
16241
+ assessment_result_sourced_id: NonEmptyString4.optional()
16242
+ }).superRefine((value, ctx) => {
16243
+ const hasTimebackId = !!value.timeback_id;
16244
+ const hasSubject = !!value.subject;
16245
+ const hasGradeRank = value.grade_rank !== undefined;
16246
+ if (!hasTimebackId && !hasSubject) {
16247
+ ctx.addIssue({
16248
+ code: exports_external.ZodIssueCode.custom,
16249
+ message: "must provide either timeback_id or subject",
16250
+ path: ["timeback_id"]
16251
+ });
16252
+ ctx.addIssue({
16253
+ code: exports_external.ZodIssueCode.custom,
16254
+ message: "must provide either timeback_id or subject",
16255
+ path: ["subject"]
16256
+ });
16257
+ }
16258
+ if (hasGradeRank && !hasSubject) {
16259
+ ctx.addIssue({
16260
+ code: exports_external.ZodIssueCode.custom,
16261
+ message: "grade_rank requires subject",
16262
+ path: ["grade_rank"]
16263
+ });
16264
+ }
16265
+ const hasLineItem = !!value.assessment_line_item_sourced_id;
16266
+ const hasResultId = !!value.assessment_result_sourced_id;
16267
+ if (hasLineItem !== hasResultId) {
16268
+ ctx.addIssue({
16269
+ code: exports_external.ZodIssueCode.custom,
16270
+ message: "assessment_line_item_sourced_id and assessment_result_sourced_id must be provided together",
16271
+ path: hasLineItem ? ["assessment_result_sourced_id"] : ["assessment_line_item_sourced_id"]
16272
+ });
16273
+ }
16274
+ });
16275
+ var MasteryTrackInvalidateAssignmentInput = exports_external.object({
16276
+ student_email: exports_external.email(),
16277
+ assignment_id: exports_external.number().int().positive().optional(),
16278
+ timeback_id: NonEmptyString4.optional(),
16279
+ subject: NonEmptyString4.optional(),
16280
+ grade_rank: exports_external.number().int().min(0).max(12).optional()
16281
+ }).superRefine((value, ctx) => {
16282
+ const byAssignment = value.assignment_id !== undefined;
16283
+ const byTimeback = !!value.timeback_id;
16284
+ const bySubjectGrade = !!value.subject && value.grade_rank !== undefined;
16285
+ if (!byAssignment && !byTimeback && !bySubjectGrade) {
16286
+ ctx.addIssue({
16287
+ code: exports_external.ZodIssueCode.custom,
16288
+ message: "Either assignment_id, timeback_id, or (subject and grade_rank) is required",
16289
+ path: ["assignment_id"]
16290
+ });
16291
+ }
16292
+ if (value.grade_rank !== undefined && !value.subject) {
16293
+ ctx.addIssue({
16294
+ code: exports_external.ZodIssueCode.custom,
16295
+ message: "grade_rank requires subject",
16296
+ path: ["grade_rank"]
16297
+ });
16298
+ }
16299
+ });
15959
16300
  // ../../types/src/zod/oneroster.ts
15960
- var NonEmptyString2 = exports_external.string().min(1);
16301
+ var NonEmptyString5 = exports_external.string().min(1);
15961
16302
  var Status = exports_external.enum(["active", "tobedeleted"]);
15962
16303
  var Metadata = exports_external.record(exports_external.string(), exports_external.unknown()).nullable().optional();
15963
16304
  var Ref = exports_external.object({
15964
- sourcedId: NonEmptyString2,
16305
+ sourcedId: NonEmptyString5,
15965
16306
  type: exports_external.string().optional(),
15966
16307
  href: exports_external.string().optional()
15967
16308
  }).strict();
@@ -15976,58 +16317,58 @@ var OneRosterUserRoleInput = exports_external.object({
15976
16317
  endDate: OneRosterDateString.optional()
15977
16318
  }).strict();
15978
16319
  var OneRosterUserCreateInput = exports_external.object({
15979
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16320
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
15980
16321
  status: Status.optional(),
15981
16322
  enabledUser: exports_external.boolean(),
15982
- givenName: NonEmptyString2.describe("givenName must be a non-empty string"),
15983
- familyName: NonEmptyString2.describe("familyName must be a non-empty string"),
15984
- middleName: NonEmptyString2.optional(),
15985
- username: NonEmptyString2.optional(),
16323
+ givenName: NonEmptyString5.describe("givenName must be a non-empty string"),
16324
+ familyName: NonEmptyString5.describe("familyName must be a non-empty string"),
16325
+ middleName: NonEmptyString5.optional(),
16326
+ username: NonEmptyString5.optional(),
15986
16327
  email: exports_external.email().optional(),
15987
16328
  roles: exports_external.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
15988
16329
  userIds: exports_external.array(exports_external.object({
15989
- type: NonEmptyString2,
15990
- identifier: NonEmptyString2
16330
+ type: NonEmptyString5,
16331
+ identifier: NonEmptyString5
15991
16332
  }).strict()).optional(),
15992
16333
  agents: exports_external.array(Ref).optional(),
15993
16334
  grades: exports_external.array(TimebackGrade).optional(),
15994
- identifier: NonEmptyString2.optional(),
15995
- sms: NonEmptyString2.optional(),
15996
- phone: NonEmptyString2.optional(),
15997
- pronouns: NonEmptyString2.optional(),
15998
- password: NonEmptyString2.optional(),
16335
+ identifier: NonEmptyString5.optional(),
16336
+ sms: NonEmptyString5.optional(),
16337
+ phone: NonEmptyString5.optional(),
16338
+ pronouns: NonEmptyString5.optional(),
16339
+ password: NonEmptyString5.optional(),
15999
16340
  metadata: Metadata
16000
16341
  }).strict();
16001
16342
  var OneRosterCourseCreateInput = exports_external.object({
16002
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16343
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
16003
16344
  status: Status.optional(),
16004
- title: NonEmptyString2.describe("title must be a non-empty string"),
16345
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16005
16346
  org: Ref,
16006
- courseCode: NonEmptyString2.optional(),
16347
+ courseCode: NonEmptyString5.optional(),
16007
16348
  subjects: exports_external.array(TimebackSubject).optional(),
16008
16349
  grades: exports_external.array(TimebackGrade).optional(),
16009
- level: NonEmptyString2.optional(),
16350
+ level: NonEmptyString5.optional(),
16010
16351
  metadata: Metadata
16011
16352
  }).strict();
16012
16353
  var OneRosterClassCreateInput = exports_external.object({
16013
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16354
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
16014
16355
  status: Status.optional(),
16015
- title: NonEmptyString2.describe("title must be a non-empty string"),
16356
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16016
16357
  terms: exports_external.array(Ref).min(1, "terms must have at least one item"),
16017
16358
  course: Ref,
16018
16359
  org: Ref,
16019
- classCode: NonEmptyString2.optional(),
16360
+ classCode: NonEmptyString5.optional(),
16020
16361
  classType: exports_external.enum(["homeroom", "scheduled"]).optional(),
16021
- location: NonEmptyString2.optional(),
16362
+ location: NonEmptyString5.optional(),
16022
16363
  grades: exports_external.array(TimebackGrade).optional(),
16023
16364
  subjects: exports_external.array(TimebackSubject).optional(),
16024
- subjectCodes: exports_external.array(NonEmptyString2).optional(),
16025
- periods: exports_external.array(NonEmptyString2).optional(),
16365
+ subjectCodes: exports_external.array(NonEmptyString5).optional(),
16366
+ periods: exports_external.array(NonEmptyString5).optional(),
16026
16367
  metadata: Metadata
16027
16368
  }).strict();
16028
16369
  var StringBoolean = exports_external.enum(["true", "false"]);
16029
16370
  var OneRosterEnrollmentCreateInput = exports_external.object({
16030
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16371
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
16031
16372
  status: Status.optional(),
16032
16373
  user: Ref,
16033
16374
  class: Ref,
@@ -16039,15 +16380,15 @@ var OneRosterEnrollmentCreateInput = exports_external.object({
16039
16380
  metadata: Metadata
16040
16381
  }).strict();
16041
16382
  var OneRosterCategoryCreateInput = exports_external.object({
16042
- sourcedId: NonEmptyString2.optional(),
16043
- title: NonEmptyString2.describe("title must be a non-empty string"),
16383
+ sourcedId: NonEmptyString5.optional(),
16384
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16044
16385
  status: Status,
16045
16386
  weight: exports_external.number().nullable().optional(),
16046
16387
  metadata: Metadata
16047
16388
  }).strict();
16048
16389
  var OneRosterLineItemCreateInput = exports_external.object({
16049
- sourcedId: NonEmptyString2.optional(),
16050
- title: NonEmptyString2.describe("title must be a non-empty string"),
16390
+ sourcedId: NonEmptyString5.optional(),
16391
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16051
16392
  class: Ref,
16052
16393
  school: Ref,
16053
16394
  category: Ref,
@@ -16061,7 +16402,7 @@ var OneRosterLineItemCreateInput = exports_external.object({
16061
16402
  metadata: Metadata
16062
16403
  }).strict();
16063
16404
  var OneRosterResultCreateInput = exports_external.object({
16064
- sourcedId: NonEmptyString2.optional(),
16405
+ sourcedId: NonEmptyString5.optional(),
16065
16406
  lineItem: Ref,
16066
16407
  student: Ref,
16067
16408
  class: Ref.optional(),
@@ -16080,15 +16421,15 @@ var OneRosterResultCreateInput = exports_external.object({
16080
16421
  metadata: Metadata
16081
16422
  }).strict();
16082
16423
  var OneRosterScoreScaleCreateInput = exports_external.object({
16083
- sourcedId: NonEmptyString2.optional(),
16084
- title: NonEmptyString2.describe("title must be a non-empty string"),
16424
+ sourcedId: NonEmptyString5.optional(),
16425
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16085
16426
  status: Status.optional(),
16086
16427
  type: exports_external.string().optional(),
16087
16428
  class: Ref.optional(),
16088
16429
  course: Ref.nullable().optional(),
16089
16430
  scoreScaleValue: exports_external.array(exports_external.object({
16090
- itemValueLHS: NonEmptyString2,
16091
- itemValueRHS: NonEmptyString2,
16431
+ itemValueLHS: NonEmptyString5,
16432
+ itemValueRHS: NonEmptyString5,
16092
16433
  value: exports_external.string().optional(),
16093
16434
  description: exports_external.string().optional()
16094
16435
  }).strict()).optional(),
@@ -16097,10 +16438,10 @@ var OneRosterScoreScaleCreateInput = exports_external.object({
16097
16438
  metadata: Metadata
16098
16439
  }).strict();
16099
16440
  var OneRosterAssessmentLineItemCreateInput = exports_external.object({
16100
- sourcedId: NonEmptyString2.optional(),
16441
+ sourcedId: NonEmptyString5.optional(),
16101
16442
  status: Status.optional(),
16102
16443
  dateLastModified: IsoDateTimeString.optional(),
16103
- title: NonEmptyString2.describe("title must be a non-empty string"),
16444
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16104
16445
  description: exports_external.string().nullable().optional(),
16105
16446
  class: Ref.nullable().optional(),
16106
16447
  parentAssessmentLineItem: Ref.nullable().optional(),
@@ -16126,7 +16467,7 @@ var LearningObjectiveScoreSetSchema = exports_external.array(exports_external.ob
16126
16467
  learningObjectiveResults: exports_external.array(LearningObjectiveResult)
16127
16468
  }));
16128
16469
  var OneRosterAssessmentResultCreateInput = exports_external.object({
16129
- sourcedId: NonEmptyString2.optional(),
16470
+ sourcedId: NonEmptyString5.optional(),
16130
16471
  status: Status.optional(),
16131
16472
  dateLastModified: IsoDateTimeString.optional(),
16132
16473
  metadata: Metadata,
@@ -16152,53 +16493,53 @@ var OneRosterAssessmentResultCreateInput = exports_external.object({
16152
16493
  missing: exports_external.string().nullable().optional()
16153
16494
  }).strict();
16154
16495
  var OneRosterOrgCreateInput = exports_external.object({
16155
- sourcedId: NonEmptyString2.optional(),
16496
+ sourcedId: NonEmptyString5.optional(),
16156
16497
  status: Status.optional(),
16157
- name: NonEmptyString2.describe("name must be a non-empty string"),
16498
+ name: NonEmptyString5.describe("name must be a non-empty string"),
16158
16499
  type: OrganizationType,
16159
- identifier: NonEmptyString2.optional(),
16500
+ identifier: NonEmptyString5.optional(),
16160
16501
  parent: Ref.optional(),
16161
16502
  metadata: Metadata
16162
16503
  }).strict();
16163
16504
  var OneRosterSchoolCreateInput = exports_external.object({
16164
- sourcedId: NonEmptyString2.optional(),
16505
+ sourcedId: NonEmptyString5.optional(),
16165
16506
  status: Status.optional(),
16166
- name: NonEmptyString2.describe("name must be a non-empty string"),
16507
+ name: NonEmptyString5.describe("name must be a non-empty string"),
16167
16508
  type: exports_external.literal("school").optional(),
16168
- identifier: NonEmptyString2.optional(),
16509
+ identifier: NonEmptyString5.optional(),
16169
16510
  parent: Ref.optional(),
16170
16511
  metadata: Metadata
16171
16512
  }).strict();
16172
16513
  var OneRosterAcademicSessionCreateInput = exports_external.object({
16173
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16514
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
16174
16515
  status: Status,
16175
- title: NonEmptyString2.describe("title must be a non-empty string"),
16516
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16176
16517
  startDate: OneRosterDateString,
16177
16518
  endDate: OneRosterDateString,
16178
16519
  type: exports_external.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
16179
- schoolYear: NonEmptyString2.describe("schoolYear must be a non-empty string"),
16520
+ schoolYear: NonEmptyString5.describe("schoolYear must be a non-empty string"),
16180
16521
  org: Ref,
16181
16522
  parent: Ref.optional(),
16182
16523
  children: exports_external.array(Ref).optional(),
16183
16524
  metadata: Metadata
16184
16525
  }).strict();
16185
16526
  var OneRosterComponentResourceCreateInput = exports_external.object({
16186
- sourcedId: NonEmptyString2.optional(),
16187
- title: NonEmptyString2.describe("title must be a non-empty string"),
16527
+ sourcedId: NonEmptyString5.optional(),
16528
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16188
16529
  courseComponent: Ref,
16189
16530
  resource: Ref,
16190
16531
  status: Status,
16191
16532
  metadata: Metadata
16192
16533
  }).strict();
16193
16534
  var OneRosterCourseComponentCreateInput = exports_external.object({
16194
- sourcedId: NonEmptyString2.optional(),
16195
- title: NonEmptyString2.describe("title must be a non-empty string"),
16535
+ sourcedId: NonEmptyString5.optional(),
16536
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16196
16537
  course: Ref,
16197
16538
  status: Status,
16198
16539
  metadata: Metadata
16199
16540
  }).strict();
16200
16541
  var OneRosterEnrollInput = exports_external.object({
16201
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16542
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
16202
16543
  role: exports_external.enum(["student", "teacher"]),
16203
16544
  primary: StringBoolean.optional(),
16204
16545
  beginDate: OneRosterDateString.optional(),
@@ -16206,16 +16547,16 @@ var OneRosterEnrollInput = exports_external.object({
16206
16547
  metadata: Metadata
16207
16548
  }).strict();
16208
16549
  var OneRosterAgentInput = exports_external.object({
16209
- agentSourcedId: NonEmptyString2.describe("agentSourcedId must be a non-empty string")
16550
+ agentSourcedId: NonEmptyString5.describe("agentSourcedId must be a non-empty string")
16210
16551
  }).strict();
16211
16552
  var OneRosterCredentialInput = exports_external.object({
16212
- type: NonEmptyString2.describe("type must be a non-empty string"),
16213
- username: NonEmptyString2.describe("username must be a non-empty string"),
16553
+ type: NonEmptyString5.describe("type must be a non-empty string"),
16554
+ username: NonEmptyString5.describe("username must be a non-empty string"),
16214
16555
  password: exports_external.string().optional(),
16215
16556
  metadata: Metadata
16216
16557
  }).strict();
16217
16558
  var OneRosterDemographicsCreateInput = exports_external.object({
16218
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string")
16559
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string")
16219
16560
  }).loose();
16220
16561
  var CommonResourceMetadataSchema = exports_external.object({
16221
16562
  type: ResourceType,
@@ -16287,9 +16628,9 @@ var ResourceMetadataSchema = exports_external.discriminatedUnion("type", [
16287
16628
  AssessmentBankMetadataSchema
16288
16629
  ]);
16289
16630
  var OneRosterResourceCreateInput = exports_external.object({
16290
- sourcedId: NonEmptyString2.optional(),
16291
- title: NonEmptyString2.describe("title must be a non-empty string"),
16292
- vendorResourceId: NonEmptyString2.describe("vendorResourceId must be a non-empty string"),
16631
+ sourcedId: NonEmptyString5.optional(),
16632
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16633
+ vendorResourceId: NonEmptyString5.describe("vendorResourceId must be a non-empty string"),
16293
16634
  roles: exports_external.array(exports_external.enum(["primary", "secondary"])).optional(),
16294
16635
  importance: exports_external.enum(["primary", "secondary"]).optional(),
16295
16636
  vendorId: exports_external.string().optional(),
@@ -16298,18 +16639,18 @@ var OneRosterResourceCreateInput = exports_external.object({
16298
16639
  metadata: ResourceMetadataSchema.nullable().optional()
16299
16640
  }).strict();
16300
16641
  var CourseStructureItem = exports_external.object({
16301
- url: NonEmptyString2.describe("courseStructure.url must be a non-empty string"),
16302
- skillCode: NonEmptyString2.describe("courseStructure.skillCode must be a non-empty string"),
16303
- lessonCode: NonEmptyString2.describe("courseStructure.lessonCode must be a non-empty string"),
16304
- title: NonEmptyString2.describe("courseStructure.title must be a non-empty string"),
16305
- "unit-title": NonEmptyString2.describe("courseStructure.unit-title must be a non-empty string"),
16306
- status: NonEmptyString2.describe("courseStructure.status must be a non-empty string"),
16642
+ url: NonEmptyString5.describe("courseStructure.url must be a non-empty string"),
16643
+ skillCode: NonEmptyString5.describe("courseStructure.skillCode must be a non-empty string"),
16644
+ lessonCode: NonEmptyString5.describe("courseStructure.lessonCode must be a non-empty string"),
16645
+ title: NonEmptyString5.describe("courseStructure.title must be a non-empty string"),
16646
+ "unit-title": NonEmptyString5.describe("courseStructure.unit-title must be a non-empty string"),
16647
+ status: NonEmptyString5.describe("courseStructure.status must be a non-empty string"),
16307
16648
  xp: exports_external.number()
16308
16649
  }).loose();
16309
16650
  var OneRosterCourseStructureInput = exports_external.object({
16310
16651
  course: exports_external.object({
16311
- sourcedId: NonEmptyString2.describe("course.sourcedId must be a non-empty string").optional(),
16312
- title: NonEmptyString2.describe("course.title must be a non-empty string"),
16652
+ sourcedId: NonEmptyString5.describe("course.sourcedId must be a non-empty string").optional(),
16653
+ title: NonEmptyString5.describe("course.title must be a non-empty string"),
16313
16654
  org: Ref,
16314
16655
  status: Status,
16315
16656
  metadata: Metadata
@@ -16321,7 +16662,7 @@ var OneRosterBulkResultItem = exports_external.object({
16321
16662
  }).loose();
16322
16663
  var OneRosterBulkResultsInput = exports_external.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
16323
16664
  // ../../types/src/zod/powerpath.ts
16324
- var NonEmptyString3 = exports_external.string().trim().min(1);
16665
+ var NonEmptyString6 = exports_external.string().trim().min(1);
16325
16666
  var ToolProvider = exports_external.enum(["edulastic", "mastery-track"]);
16326
16667
  var LessonTypeRequired = exports_external.enum([
16327
16668
  "powerpath-100",
@@ -16334,14 +16675,14 @@ var LessonTypeRequired = exports_external.enum([
16334
16675
  var GradeArray = exports_external.array(TimebackGrade);
16335
16676
  var ResourceMetadata = exports_external.record(exports_external.string(), exports_external.unknown()).optional();
16336
16677
  var ExternalTestBase = exports_external.object({
16337
- courseId: NonEmptyString3,
16338
- lessonTitle: NonEmptyString3.optional(),
16678
+ courseId: NonEmptyString6,
16679
+ lessonTitle: NonEmptyString6.optional(),
16339
16680
  launchUrl: exports_external.url().optional(),
16340
16681
  toolProvider: ToolProvider,
16341
- unitTitle: NonEmptyString3.optional(),
16342
- courseComponentSourcedId: NonEmptyString3.optional(),
16343
- vendorId: NonEmptyString3.optional(),
16344
- description: NonEmptyString3.optional(),
16682
+ unitTitle: NonEmptyString6.optional(),
16683
+ courseComponentSourcedId: NonEmptyString6.optional(),
16684
+ vendorId: NonEmptyString6.optional(),
16685
+ description: NonEmptyString6.optional(),
16345
16686
  resourceMetadata: ResourceMetadata.nullable().optional(),
16346
16687
  grades: GradeArray
16347
16688
  });
@@ -16351,26 +16692,26 @@ var ExternalTestOut = ExternalTestBase.extend({
16351
16692
  });
16352
16693
  var ExternalPlacement = ExternalTestBase.extend({
16353
16694
  lessonType: exports_external.literal("placement"),
16354
- courseIdOnFail: NonEmptyString3.optional(),
16695
+ courseIdOnFail: NonEmptyString6.optional(),
16355
16696
  xp: exports_external.number().optional()
16356
16697
  });
16357
16698
  var InternalTestBase = exports_external.object({
16358
- courseId: NonEmptyString3,
16699
+ courseId: NonEmptyString6,
16359
16700
  lessonType: LessonTypeRequired,
16360
- lessonTitle: NonEmptyString3.optional(),
16361
- unitTitle: NonEmptyString3.optional(),
16362
- courseComponentSourcedId: NonEmptyString3.optional(),
16701
+ lessonTitle: NonEmptyString6.optional(),
16702
+ unitTitle: NonEmptyString6.optional(),
16703
+ courseComponentSourcedId: NonEmptyString6.optional(),
16363
16704
  resourceMetadata: ResourceMetadata.nullable().optional(),
16364
16705
  xp: exports_external.number().optional(),
16365
16706
  grades: GradeArray.optional(),
16366
- courseIdOnFail: NonEmptyString3.optional()
16707
+ courseIdOnFail: NonEmptyString6.optional()
16367
16708
  });
16368
16709
  var PowerPathCreateInternalTestInput = exports_external.union([
16369
16710
  InternalTestBase.extend({
16370
16711
  testType: exports_external.literal("qti"),
16371
16712
  qti: exports_external.object({
16372
16713
  url: exports_external.url(),
16373
- title: NonEmptyString3.optional(),
16714
+ title: NonEmptyString6.optional(),
16374
16715
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16375
16716
  })
16376
16717
  }),
@@ -16379,28 +16720,28 @@ var PowerPathCreateInternalTestInput = exports_external.union([
16379
16720
  assessmentBank: exports_external.object({
16380
16721
  resources: exports_external.array(exports_external.object({
16381
16722
  url: exports_external.url(),
16382
- title: NonEmptyString3.optional(),
16723
+ title: NonEmptyString6.optional(),
16383
16724
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16384
16725
  }))
16385
16726
  })
16386
16727
  })
16387
16728
  ]);
16388
16729
  var PowerPathCreateNewAttemptInput = exports_external.object({
16389
- student: NonEmptyString3,
16390
- lesson: NonEmptyString3
16730
+ student: NonEmptyString6,
16731
+ lesson: NonEmptyString6
16391
16732
  });
16392
16733
  var PowerPathFinalStudentAssessmentResponseInput = exports_external.object({
16393
- student: NonEmptyString3,
16394
- lesson: NonEmptyString3
16734
+ student: NonEmptyString6,
16735
+ lesson: NonEmptyString6
16395
16736
  });
16396
16737
  var PowerPathLessonPlansCreateInput = exports_external.object({
16397
- courseId: NonEmptyString3,
16398
- userId: NonEmptyString3,
16399
- classId: NonEmptyString3.optional()
16738
+ courseId: NonEmptyString6,
16739
+ userId: NonEmptyString6,
16740
+ classId: NonEmptyString6.optional()
16400
16741
  });
16401
16742
  var LessonPlanTarget = exports_external.object({
16402
16743
  type: exports_external.enum(["component", "resource"]),
16403
- id: NonEmptyString3
16744
+ id: NonEmptyString6
16404
16745
  });
16405
16746
  var PowerPathLessonPlanOperationInput = exports_external.union([
16406
16747
  exports_external.object({
@@ -16413,8 +16754,8 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16413
16754
  exports_external.object({
16414
16755
  type: exports_external.literal("add-custom-resource"),
16415
16756
  payload: exports_external.object({
16416
- resource_id: NonEmptyString3,
16417
- parent_component_id: NonEmptyString3,
16757
+ resource_id: NonEmptyString6,
16758
+ parent_component_id: NonEmptyString6,
16418
16759
  skipped: exports_external.boolean().optional()
16419
16760
  })
16420
16761
  }),
@@ -16422,14 +16763,14 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16422
16763
  type: exports_external.literal("move-item-before"),
16423
16764
  payload: exports_external.object({
16424
16765
  target: LessonPlanTarget,
16425
- reference_id: NonEmptyString3
16766
+ reference_id: NonEmptyString6
16426
16767
  })
16427
16768
  }),
16428
16769
  exports_external.object({
16429
16770
  type: exports_external.literal("move-item-after"),
16430
16771
  payload: exports_external.object({
16431
16772
  target: LessonPlanTarget,
16432
- reference_id: NonEmptyString3
16773
+ reference_id: NonEmptyString6
16433
16774
  })
16434
16775
  }),
16435
16776
  exports_external.object({
@@ -16448,135 +16789,135 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16448
16789
  type: exports_external.literal("change-item-parent"),
16449
16790
  payload: exports_external.object({
16450
16791
  target: LessonPlanTarget,
16451
- new_parent_id: NonEmptyString3,
16792
+ new_parent_id: NonEmptyString6,
16452
16793
  position: exports_external.enum(["start", "end"]).optional()
16453
16794
  })
16454
16795
  })
16455
16796
  ]);
16456
16797
  var PowerPathLessonPlanOperationsInput = exports_external.object({
16457
16798
  operation: exports_external.array(PowerPathLessonPlanOperationInput),
16458
- reason: NonEmptyString3.optional()
16799
+ reason: NonEmptyString6.optional()
16459
16800
  });
16460
16801
  var PowerPathLessonPlanUpdateStudentItemResponseInput = exports_external.object({
16461
- studentId: NonEmptyString3,
16462
- componentResourceId: NonEmptyString3,
16802
+ studentId: NonEmptyString6,
16803
+ componentResourceId: NonEmptyString6,
16463
16804
  result: exports_external.object({
16464
16805
  status: exports_external.enum(["active", "tobedeleted"]),
16465
16806
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16466
16807
  score: exports_external.number().optional(),
16467
- textScore: NonEmptyString3.optional(),
16468
- scoreDate: NonEmptyString3,
16808
+ textScore: NonEmptyString6.optional(),
16809
+ scoreDate: NonEmptyString6,
16469
16810
  scorePercentile: exports_external.number().optional(),
16470
16811
  scoreStatus: ScoreStatus,
16471
- comment: NonEmptyString3.optional(),
16812
+ comment: NonEmptyString6.optional(),
16472
16813
  learningObjectiveSet: exports_external.array(exports_external.object({
16473
- source: NonEmptyString3,
16814
+ source: NonEmptyString6,
16474
16815
  learningObjectiveResults: exports_external.array(exports_external.object({
16475
- learningObjectiveId: NonEmptyString3,
16816
+ learningObjectiveId: NonEmptyString6,
16476
16817
  score: exports_external.number().optional(),
16477
- textScore: NonEmptyString3.optional()
16818
+ textScore: NonEmptyString6.optional()
16478
16819
  }))
16479
16820
  })).optional(),
16480
- inProgress: NonEmptyString3.optional(),
16481
- incomplete: NonEmptyString3.optional(),
16482
- late: NonEmptyString3.optional(),
16483
- missing: NonEmptyString3.optional()
16821
+ inProgress: NonEmptyString6.optional(),
16822
+ incomplete: NonEmptyString6.optional(),
16823
+ late: NonEmptyString6.optional(),
16824
+ missing: NonEmptyString6.optional()
16484
16825
  })
16485
16826
  });
16486
16827
  var PowerPathMakeExternalTestAssignmentInput = exports_external.object({
16487
- student: NonEmptyString3,
16488
- lesson: NonEmptyString3,
16489
- applicationName: NonEmptyString3.optional(),
16490
- testId: NonEmptyString3.optional(),
16828
+ student: NonEmptyString6,
16829
+ lesson: NonEmptyString6,
16830
+ applicationName: NonEmptyString6.optional(),
16831
+ testId: NonEmptyString6.optional(),
16491
16832
  skipCourseEnrollment: exports_external.boolean().optional()
16492
16833
  });
16493
16834
  var PowerPathPlacementResetUserPlacementInput = exports_external.object({
16494
- student: NonEmptyString3,
16835
+ student: NonEmptyString6,
16495
16836
  subject: TimebackSubject
16496
16837
  });
16497
16838
  var PowerPathResetAttemptInput = exports_external.object({
16498
- student: NonEmptyString3,
16499
- lesson: NonEmptyString3
16839
+ student: NonEmptyString6,
16840
+ lesson: NonEmptyString6
16500
16841
  });
16501
16842
  var PowerPathScreeningResetSessionInput = exports_external.object({
16502
- userId: NonEmptyString3
16843
+ userId: NonEmptyString6
16503
16844
  });
16504
16845
  var PowerPathScreeningAssignTestInput = exports_external.object({
16505
- userId: NonEmptyString3,
16846
+ userId: NonEmptyString6,
16506
16847
  subject: exports_external.enum(["Math", "Reading", "Language", "Science"])
16507
16848
  });
16508
16849
  var PowerPathTestAssignmentsCreateInput = exports_external.object({
16509
- student: NonEmptyString3,
16850
+ student: NonEmptyString6,
16510
16851
  subject: TimebackSubject,
16511
16852
  grade: TimebackGrade,
16512
- testName: NonEmptyString3.optional()
16853
+ testName: NonEmptyString6.optional()
16513
16854
  });
16514
16855
  var PowerPathTestAssignmentsUpdateInput = exports_external.object({
16515
- testName: NonEmptyString3
16856
+ testName: NonEmptyString6
16516
16857
  });
16517
16858
  var PowerPathTestAssignmentItemInput = exports_external.object({
16518
- student: NonEmptyString3,
16859
+ student: NonEmptyString6,
16519
16860
  subject: TimebackSubject,
16520
16861
  grade: TimebackGrade,
16521
- testName: NonEmptyString3.optional()
16862
+ testName: NonEmptyString6.optional()
16522
16863
  });
16523
16864
  var PowerPathTestAssignmentsBulkInput = exports_external.object({
16524
16865
  items: exports_external.array(PowerPathTestAssignmentItemInput)
16525
16866
  });
16526
16867
  var PowerPathTestAssignmentsImportInput = exports_external.object({
16527
16868
  spreadsheetUrl: exports_external.url(),
16528
- sheet: NonEmptyString3
16869
+ sheet: NonEmptyString6
16529
16870
  });
16530
16871
  var PowerPathTestAssignmentsListParams = exports_external.object({
16531
- student: NonEmptyString3,
16872
+ student: NonEmptyString6,
16532
16873
  status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16533
- subject: NonEmptyString3.optional(),
16874
+ subject: NonEmptyString6.optional(),
16534
16875
  grade: TimebackGrade.optional(),
16535
16876
  limit: exports_external.number().int().positive().max(3000).optional(),
16536
16877
  offset: exports_external.number().int().nonnegative().optional()
16537
16878
  });
16538
16879
  var PowerPathTestAssignmentsAdminParams = exports_external.object({
16539
- student: NonEmptyString3.optional(),
16880
+ student: NonEmptyString6.optional(),
16540
16881
  status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16541
- subject: NonEmptyString3.optional(),
16882
+ subject: NonEmptyString6.optional(),
16542
16883
  grade: TimebackGrade.optional(),
16543
16884
  limit: exports_external.number().int().positive().max(3000).optional(),
16544
16885
  offset: exports_external.number().int().nonnegative().optional()
16545
16886
  });
16546
16887
  var PowerPathUpdateStudentQuestionResponseInput = exports_external.object({
16547
- student: NonEmptyString3,
16548
- question: NonEmptyString3,
16549
- response: exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)]).optional(),
16550
- responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)])).optional(),
16551
- lesson: NonEmptyString3
16888
+ student: NonEmptyString6,
16889
+ question: NonEmptyString6,
16890
+ response: exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)]).optional(),
16891
+ responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)])).optional(),
16892
+ lesson: NonEmptyString6
16552
16893
  });
16553
16894
  var PowerPathGetAssessmentProgressParams = exports_external.object({
16554
- student: NonEmptyString3,
16555
- lesson: NonEmptyString3,
16895
+ student: NonEmptyString6,
16896
+ lesson: NonEmptyString6,
16556
16897
  attempt: exports_external.number().int().positive().optional()
16557
16898
  });
16558
16899
  var PowerPathGetNextQuestionParams = exports_external.object({
16559
- student: NonEmptyString3,
16560
- lesson: NonEmptyString3
16900
+ student: NonEmptyString6,
16901
+ lesson: NonEmptyString6
16561
16902
  });
16562
16903
  var PowerPathGetAttemptsParams = exports_external.object({
16563
- student: NonEmptyString3,
16564
- lesson: NonEmptyString3
16904
+ student: NonEmptyString6,
16905
+ lesson: NonEmptyString6
16565
16906
  });
16566
16907
  var PowerPathTestOutParams = exports_external.object({
16567
- student: NonEmptyString3,
16568
- lesson: NonEmptyString3.optional(),
16908
+ student: NonEmptyString6,
16909
+ lesson: NonEmptyString6.optional(),
16569
16910
  finalized: exports_external.boolean().optional(),
16570
- toolProvider: NonEmptyString3.optional(),
16911
+ toolProvider: NonEmptyString6.optional(),
16571
16912
  attempt: exports_external.number().int().positive().optional()
16572
16913
  });
16573
16914
  var PowerPathImportExternalTestAssignmentResultsParams = exports_external.object({
16574
- student: NonEmptyString3,
16575
- lesson: NonEmptyString3,
16576
- applicationName: NonEmptyString3.optional()
16915
+ student: NonEmptyString6,
16916
+ lesson: NonEmptyString6,
16917
+ applicationName: NonEmptyString6.optional()
16577
16918
  });
16578
16919
  var PowerPathPlacementQueryParams = exports_external.object({
16579
- student: NonEmptyString3,
16920
+ student: NonEmptyString6,
16580
16921
  subject: TimebackSubject
16581
16922
  });
16582
16923
  var PowerPathSyllabusQueryParams = exports_external.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeback/qti",
3
- "version": "0.1.5",
3
+ "version": "0.1.6-beta.20260223234236",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {