@timeback/core 0.1.5 → 0.1.6-beta.20260219190739

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/utils.js CHANGED
@@ -889,6 +889,28 @@ var BEYONDAI_PATHS = {
889
889
  },
890
890
  powerpath: {
891
891
  base: "/powerpath"
892
+ },
893
+ clr: {
894
+ credentials: "/ims/clr/v2p0/credentials",
895
+ discovery: "/ims/clr/v2p0/discovery"
896
+ },
897
+ case: {
898
+ base: "/ims/case/v1p1"
899
+ },
900
+ webhooks: {
901
+ webhookList: "/webhooks/",
902
+ webhookGet: "/webhooks/{id}",
903
+ webhookCreate: "/webhooks/",
904
+ webhookUpdate: "/webhooks/{id}",
905
+ webhookDelete: "/webhooks/{id}",
906
+ webhookActivate: "/webhooks/{id}/activate",
907
+ webhookDeactivate: "/webhooks/{id}/deactivate",
908
+ webhookFilterList: "/webhook-filters/",
909
+ webhookFilterGet: "/webhook-filters/{id}",
910
+ webhookFilterCreate: "/webhook-filters/",
911
+ webhookFilterUpdate: "/webhook-filters/{id}",
912
+ webhookFilterDelete: "/webhook-filters/{id}",
913
+ webhookFiltersByWebhook: "/webhook-filters/webhook/{webhookId}"
892
914
  }
893
915
  };
894
916
  var LEARNWITHAI_PATHS = {
@@ -904,8 +926,11 @@ var LEARNWITHAI_PATHS = {
904
926
  gradebook: "/gradebook/1.0",
905
927
  resources: "/resources/1.0"
906
928
  },
929
+ webhooks: null,
907
930
  edubridge: null,
908
- powerpath: null
931
+ powerpath: null,
932
+ clr: null,
933
+ case: null
909
934
  };
910
935
  var PLATFORM_PATHS = {
911
936
  BEYOND_AI: BEYONDAI_PATHS,
@@ -925,8 +950,11 @@ function resolvePathProfiles(pathProfile, customPaths) {
925
950
  return {
926
951
  caliper: customPaths?.caliper ?? basePaths.caliper,
927
952
  oneroster: customPaths?.oneroster ?? basePaths.oneroster,
953
+ webhooks: customPaths?.webhooks ?? basePaths.webhooks,
928
954
  edubridge: customPaths?.edubridge ?? basePaths.edubridge,
929
- powerpath: customPaths?.powerpath ?? basePaths.powerpath
955
+ powerpath: customPaths?.powerpath ?? basePaths.powerpath,
956
+ clr: customPaths?.clr ?? basePaths.clr,
957
+ case: customPaths?.case ?? basePaths.case
930
958
  };
931
959
  }
932
960
 
@@ -966,10 +994,22 @@ class TimebackProvider {
966
994
  baseUrl: platformEndpoints.api[env],
967
995
  authUrl: this.authUrl
968
996
  },
997
+ clr: {
998
+ baseUrl: platformEndpoints.api[env],
999
+ authUrl: this.authUrl
1000
+ },
1001
+ case: {
1002
+ baseUrl: platformEndpoints.api[env],
1003
+ authUrl: this.authUrl
1004
+ },
969
1005
  caliper: {
970
1006
  baseUrl: platformEndpoints.caliper[env],
971
1007
  authUrl: this.authUrl
972
1008
  },
1009
+ webhooks: {
1010
+ baseUrl: platformEndpoints.caliper[env],
1011
+ authUrl: this.authUrl
1012
+ },
973
1013
  qti: {
974
1014
  baseUrl: platformEndpoints.qti[env],
975
1015
  authUrl: this.authUrl
@@ -983,7 +1023,10 @@ class TimebackProvider {
983
1023
  oneroster: { baseUrl: config.baseUrl, authUrl: this.authUrl },
984
1024
  edubridge: { baseUrl: config.baseUrl, authUrl: this.authUrl },
985
1025
  powerpath: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1026
+ clr: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1027
+ case: { baseUrl: config.baseUrl, authUrl: this.authUrl },
986
1028
  caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1029
+ webhooks: { baseUrl: config.baseUrl, authUrl: this.authUrl },
987
1030
  qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
988
1031
  };
989
1032
  } else if (isServicesConfig(config)) {
@@ -1002,10 +1045,19 @@ class TimebackProvider {
1002
1045
  } else {
1003
1046
  throw new Error("Invalid provider configuration");
1004
1047
  }
1048
+ for (const service of Object.keys(this.pathProfiles)) {
1049
+ if (this.pathProfiles[service] === null) {
1050
+ delete this.endpoints[service];
1051
+ }
1052
+ }
1005
1053
  }
1006
1054
  getEndpoint(service) {
1007
1055
  const endpoint = this.endpoints[service];
1008
1056
  if (!endpoint) {
1057
+ const pathKey = service;
1058
+ if (pathKey in this.pathProfiles && this.pathProfiles[pathKey] === null) {
1059
+ throw new Error(`Service "${service}" is not supported on ${this.platform ?? "this"} platform.`);
1060
+ }
1009
1061
  throw new Error(`Service "${service}" is not configured in this provider`);
1010
1062
  }
1011
1063
  return endpoint;
@@ -15502,6 +15554,210 @@ var CaliperListEventsParams = exports_external.object({
15502
15554
  actorId: exports_external.string().min(1).optional(),
15503
15555
  actorEmail: exports_external.email().optional()
15504
15556
  }).strict();
15557
+ var WebhookCreateInput = exports_external.object({
15558
+ name: exports_external.string().min(1, "name must be a non-empty string"),
15559
+ targetUrl: exports_external.url("targetUrl must be a valid URL"),
15560
+ secret: exports_external.string().min(1, "secret must be a non-empty string"),
15561
+ active: exports_external.boolean(),
15562
+ sensor: exports_external.string().nullable().optional(),
15563
+ description: exports_external.string().nullable().optional()
15564
+ }).strict();
15565
+ var WebhookFilterType = exports_external.enum(["string", "number", "boolean"]);
15566
+ var WebhookFilterOperation = exports_external.enum([
15567
+ "eq",
15568
+ "neq",
15569
+ "gt",
15570
+ "gte",
15571
+ "lt",
15572
+ "lte",
15573
+ "contains",
15574
+ "notContains",
15575
+ "in",
15576
+ "notIn",
15577
+ "startsWith",
15578
+ "endsWith",
15579
+ "regexp"
15580
+ ]);
15581
+ var WebhookFilterCreateInput = exports_external.object({
15582
+ webhookId: exports_external.string().min(1, "webhookId must be a non-empty string"),
15583
+ filterKey: exports_external.string().min(1, "filterKey must be a non-empty string"),
15584
+ filterValue: exports_external.string().min(1, "filterValue must be a non-empty string"),
15585
+ filterType: WebhookFilterType,
15586
+ filterOperator: WebhookFilterOperation,
15587
+ active: exports_external.boolean()
15588
+ }).strict();
15589
+ var NonEmptyString = exports_external.string().trim().min(1);
15590
+ var InputNodeURISchema = exports_external.object({
15591
+ title: NonEmptyString,
15592
+ identifier: NonEmptyString,
15593
+ uri: NonEmptyString
15594
+ });
15595
+ var CFDocumentInputSchema = exports_external.object({
15596
+ identifier: NonEmptyString,
15597
+ uri: NonEmptyString,
15598
+ lastChangeDateTime: NonEmptyString,
15599
+ title: NonEmptyString,
15600
+ creator: NonEmptyString,
15601
+ officialSourceURL: exports_external.string().optional(),
15602
+ publisher: exports_external.string().optional(),
15603
+ description: exports_external.string().optional(),
15604
+ language: exports_external.string().optional(),
15605
+ version: exports_external.string().optional(),
15606
+ caseVersion: exports_external.string().optional(),
15607
+ adoptionStatus: exports_external.string().optional(),
15608
+ statusStartDate: exports_external.string().optional(),
15609
+ statusEndDate: exports_external.string().optional(),
15610
+ licenseUri: exports_external.string().optional(),
15611
+ notes: exports_external.string().optional(),
15612
+ subject: exports_external.array(exports_external.string()).optional(),
15613
+ extensions: exports_external.unknown().optional()
15614
+ });
15615
+ var CFItemInputSchema = exports_external.object({
15616
+ identifier: NonEmptyString,
15617
+ uri: NonEmptyString,
15618
+ lastChangeDateTime: NonEmptyString,
15619
+ fullStatement: NonEmptyString,
15620
+ alternativeLabel: exports_external.string().optional(),
15621
+ CFItemType: exports_external.string().optional(),
15622
+ cfItemType: exports_external.string().optional(),
15623
+ humanCodingScheme: exports_external.string().optional(),
15624
+ listEnumeration: exports_external.string().optional(),
15625
+ abbreviatedStatement: exports_external.string().optional(),
15626
+ conceptKeywords: exports_external.array(exports_external.string()).optional(),
15627
+ notes: exports_external.string().optional(),
15628
+ subject: exports_external.array(exports_external.string()).optional(),
15629
+ language: exports_external.string().optional(),
15630
+ educationLevel: exports_external.array(exports_external.string()).optional(),
15631
+ CFItemTypeURI: exports_external.unknown().optional(),
15632
+ licenseURI: exports_external.unknown().optional(),
15633
+ statusStartDate: exports_external.string().optional(),
15634
+ statusEndDate: exports_external.string().optional(),
15635
+ extensions: exports_external.unknown().optional()
15636
+ });
15637
+ var CFAssociationInputSchema = exports_external.object({
15638
+ identifier: NonEmptyString,
15639
+ uri: NonEmptyString,
15640
+ lastChangeDateTime: NonEmptyString,
15641
+ associationType: NonEmptyString,
15642
+ originNodeURI: InputNodeURISchema,
15643
+ destinationNodeURI: InputNodeURISchema,
15644
+ sequenceNumber: exports_external.number().optional(),
15645
+ extensions: exports_external.unknown().optional()
15646
+ });
15647
+ var CFDefinitionsSchema = exports_external.object({
15648
+ CFItemTypes: exports_external.array(exports_external.unknown()).optional(),
15649
+ CFSubjects: exports_external.array(exports_external.unknown()).optional(),
15650
+ CFConcepts: exports_external.array(exports_external.unknown()).optional(),
15651
+ CFLicenses: exports_external.array(exports_external.unknown()).optional(),
15652
+ CFAssociationGroupings: exports_external.array(exports_external.unknown()).optional(),
15653
+ extensions: exports_external.unknown().optional()
15654
+ });
15655
+ var CasePackageInput = exports_external.object({
15656
+ CFDocument: CFDocumentInputSchema,
15657
+ CFItems: exports_external.array(CFItemInputSchema),
15658
+ CFAssociations: exports_external.array(CFAssociationInputSchema),
15659
+ CFDefinitions: CFDefinitionsSchema.optional(),
15660
+ extensions: exports_external.unknown().optional()
15661
+ });
15662
+ var NonEmptyString2 = exports_external.string().trim().min(1);
15663
+ var NonEmptyStringArray = exports_external.array(exports_external.string()).min(1);
15664
+ var ClrImageSchema = exports_external.object({
15665
+ id: NonEmptyString2,
15666
+ type: exports_external.literal("Image"),
15667
+ caption: exports_external.string().optional()
15668
+ });
15669
+ var ClrProfileSchema = exports_external.object({
15670
+ id: NonEmptyString2,
15671
+ type: NonEmptyStringArray,
15672
+ name: exports_external.string().optional(),
15673
+ url: exports_external.string().optional(),
15674
+ phone: exports_external.string().optional(),
15675
+ description: exports_external.string().optional(),
15676
+ image: ClrImageSchema.optional(),
15677
+ email: exports_external.string().optional()
15678
+ });
15679
+ var ClrProofSchema = exports_external.object({
15680
+ type: NonEmptyString2,
15681
+ proofPurpose: NonEmptyString2,
15682
+ verificationMethod: NonEmptyString2,
15683
+ created: NonEmptyString2,
15684
+ proofValue: NonEmptyString2,
15685
+ cryptosuite: exports_external.string().optional()
15686
+ });
15687
+ var ClrCredentialSchemaSchema = exports_external.object({
15688
+ id: NonEmptyString2,
15689
+ type: exports_external.literal("1EdTechJsonSchemaValidator2019")
15690
+ });
15691
+ var AchievementCriteriaSchema = exports_external.object({
15692
+ id: exports_external.string().optional(),
15693
+ narrative: exports_external.string().optional()
15694
+ });
15695
+ var AchievementSchema = exports_external.object({
15696
+ id: NonEmptyString2,
15697
+ type: NonEmptyStringArray,
15698
+ name: NonEmptyString2,
15699
+ description: NonEmptyString2,
15700
+ criteria: AchievementCriteriaSchema,
15701
+ image: ClrImageSchema.optional(),
15702
+ achievementType: exports_external.string().optional(),
15703
+ creator: ClrProfileSchema.optional()
15704
+ });
15705
+ var IdentityObjectSchema = exports_external.object({
15706
+ type: exports_external.literal("IdentityObject"),
15707
+ identityHash: NonEmptyString2,
15708
+ identityType: NonEmptyString2,
15709
+ hashed: exports_external.boolean(),
15710
+ salt: exports_external.string().optional()
15711
+ });
15712
+ var AssociationTypeSchema = exports_external.enum([
15713
+ "exactMatchOf",
15714
+ "isChildOf",
15715
+ "isParentOf",
15716
+ "isPartOf",
15717
+ "isPeerOf",
15718
+ "isRelatedTo",
15719
+ "precedes",
15720
+ "replacedBy"
15721
+ ]);
15722
+ var AssociationSchema = exports_external.object({
15723
+ type: exports_external.literal("Association"),
15724
+ associationType: AssociationTypeSchema,
15725
+ sourceId: NonEmptyString2,
15726
+ targetId: NonEmptyString2
15727
+ });
15728
+ var VerifiableCredentialSchema = exports_external.object({
15729
+ "@context": NonEmptyStringArray,
15730
+ id: NonEmptyString2,
15731
+ type: NonEmptyStringArray,
15732
+ issuer: ClrProfileSchema,
15733
+ validFrom: NonEmptyString2,
15734
+ validUntil: exports_external.string().optional(),
15735
+ credentialSubject: exports_external.object({
15736
+ id: exports_external.string().optional()
15737
+ }),
15738
+ proof: exports_external.array(ClrProofSchema).optional()
15739
+ });
15740
+ var ClrCredentialSubjectSchema = exports_external.object({
15741
+ id: exports_external.string().optional(),
15742
+ type: NonEmptyStringArray,
15743
+ identifier: exports_external.array(IdentityObjectSchema).optional(),
15744
+ achievement: exports_external.array(AchievementSchema).optional(),
15745
+ verifiableCredential: exports_external.array(VerifiableCredentialSchema).min(1),
15746
+ association: exports_external.array(AssociationSchema).optional()
15747
+ });
15748
+ var ClrCredentialInput = exports_external.object({
15749
+ "@context": NonEmptyStringArray,
15750
+ id: NonEmptyString2,
15751
+ type: NonEmptyStringArray,
15752
+ issuer: ClrProfileSchema,
15753
+ name: NonEmptyString2,
15754
+ description: exports_external.string().optional(),
15755
+ validFrom: NonEmptyString2,
15756
+ validUntil: exports_external.string().optional(),
15757
+ credentialSubject: ClrCredentialSubjectSchema,
15758
+ proof: exports_external.array(ClrProofSchema).optional(),
15759
+ credentialSchema: exports_external.array(ClrCredentialSchemaSchema).optional()
15760
+ });
15505
15761
  var CourseIds = exports_external.object({
15506
15762
  staging: exports_external.string().meta({ description: "Course ID in staging environment" }).optional(),
15507
15763
  production: exports_external.string().meta({ description: "Course ID in production environment" }).optional()
@@ -15576,7 +15832,12 @@ var TimebackConfig = exports_external.object({
15576
15832
  }).optional(),
15577
15833
  courses: exports_external.array(CourseConfig).min(1, "At least one course is required").meta({ description: "Courses available in this app" }),
15578
15834
  sensor: exports_external.url().meta({ description: "Default Caliper sensor endpoint URL for all courses" }).optional(),
15579
- launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional()
15835
+ launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional(),
15836
+ studio: exports_external.object({
15837
+ telemetry: exports_external.boolean().meta({
15838
+ description: "Enable anonymous usage telemetry for Studio (default: true)"
15839
+ }).optional().default(true)
15840
+ }).meta({ description: "Studio-specific configuration" }).optional()
15580
15841
  }).meta({
15581
15842
  id: "TimebackConfig",
15582
15843
  title: "Timeback Config",
@@ -15661,10 +15922,10 @@ var EduBridgeEnrollmentAnalyticsResponse = exports_external.object({
15661
15922
  facts: EduBridgeAnalyticsFacts,
15662
15923
  factsByApp: exports_external.unknown()
15663
15924
  });
15664
- var NonEmptyString = exports_external.string().trim().min(1);
15925
+ var NonEmptyString3 = exports_external.string().trim().min(1);
15665
15926
  var EmailOrStudentId = exports_external.object({
15666
15927
  email: exports_external.email().optional(),
15667
- studentId: NonEmptyString.optional()
15928
+ studentId: NonEmptyString3.optional()
15668
15929
  }).superRefine((value, ctx) => {
15669
15930
  if (!value.email && !value.studentId) {
15670
15931
  ctx.addIssue({
@@ -15680,17 +15941,17 @@ var EmailOrStudentId = exports_external.object({
15680
15941
  }
15681
15942
  });
15682
15943
  var SubjectTrackInput = exports_external.object({
15683
- subject: NonEmptyString,
15684
- grade: NonEmptyString,
15685
- courseId: NonEmptyString,
15686
- orgSourcedId: NonEmptyString.optional()
15944
+ subject: NonEmptyString3,
15945
+ grade: NonEmptyString3,
15946
+ courseId: NonEmptyString3,
15947
+ orgSourcedId: NonEmptyString3.optional()
15687
15948
  });
15688
15949
  var SubjectTrackUpsertInput = SubjectTrackInput;
15689
15950
  var EdubridgeListEnrollmentsParams = exports_external.object({
15690
- userId: NonEmptyString
15951
+ userId: NonEmptyString3
15691
15952
  });
15692
15953
  var EdubridgeEnrollOptions = exports_external.object({
15693
- sourcedId: NonEmptyString.optional(),
15954
+ sourcedId: NonEmptyString3.optional(),
15694
15955
  role: EnrollmentRole.optional(),
15695
15956
  beginDate: EdubridgeDateString.optional(),
15696
15957
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
@@ -15704,7 +15965,7 @@ var EdubridgeUsersListParams = exports_external.object({
15704
15965
  filter: exports_external.string().optional(),
15705
15966
  search: exports_external.string().optional(),
15706
15967
  roles: exports_external.array(OneRosterUserRole).min(1),
15707
- orgSourcedIds: exports_external.array(NonEmptyString).optional()
15968
+ orgSourcedIds: exports_external.array(NonEmptyString3).optional()
15708
15969
  });
15709
15970
  var EdubridgeActivityParams = EmailOrStudentId.extend({
15710
15971
  startDate: EdubridgeDateString,
@@ -15716,16 +15977,92 @@ var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
15716
15977
  timezone: exports_external.string().optional()
15717
15978
  });
15718
15979
  var EdubridgeEnrollmentFactsParams = exports_external.object({
15719
- enrollmentId: NonEmptyString,
15980
+ enrollmentId: NonEmptyString3,
15720
15981
  startDate: EdubridgeDateString.optional(),
15721
15982
  endDate: EdubridgeDateString.optional(),
15722
15983
  timezone: exports_external.string().optional()
15723
15984
  });
15724
- var NonEmptyString2 = exports_external.string().min(1);
15985
+ var NonEmptyString4 = exports_external.string().trim().min(1);
15986
+ var MasteryTrackAuthorizerInput = exports_external.object({
15987
+ email: exports_external.email()
15988
+ });
15989
+ var MasteryTrackInventorySearchParams = exports_external.object({
15990
+ name: NonEmptyString4.optional(),
15991
+ timeback_id: NonEmptyString4.optional(),
15992
+ grade: NonEmptyString4.optional(),
15993
+ subject: NonEmptyString4.optional(),
15994
+ all: exports_external.boolean().optional()
15995
+ });
15996
+ var MasteryTrackAssignmentInput = exports_external.object({
15997
+ student_email: exports_external.email(),
15998
+ timeback_id: NonEmptyString4.optional(),
15999
+ subject: NonEmptyString4.optional(),
16000
+ grade_rank: exports_external.number().int().min(0).max(12).optional(),
16001
+ assessment_line_item_sourced_id: NonEmptyString4.optional(),
16002
+ assessment_result_sourced_id: NonEmptyString4.optional()
16003
+ }).superRefine((value, ctx) => {
16004
+ const hasTimebackId = !!value.timeback_id;
16005
+ const hasSubject = !!value.subject;
16006
+ const hasGradeRank = value.grade_rank !== undefined;
16007
+ if (!hasTimebackId && !hasSubject) {
16008
+ ctx.addIssue({
16009
+ code: exports_external.ZodIssueCode.custom,
16010
+ message: "must provide either timeback_id or subject",
16011
+ path: ["timeback_id"]
16012
+ });
16013
+ ctx.addIssue({
16014
+ code: exports_external.ZodIssueCode.custom,
16015
+ message: "must provide either timeback_id or subject",
16016
+ path: ["subject"]
16017
+ });
16018
+ }
16019
+ if (hasGradeRank && !hasSubject) {
16020
+ ctx.addIssue({
16021
+ code: exports_external.ZodIssueCode.custom,
16022
+ message: "grade_rank requires subject",
16023
+ path: ["grade_rank"]
16024
+ });
16025
+ }
16026
+ const hasLineItem = !!value.assessment_line_item_sourced_id;
16027
+ const hasResultId = !!value.assessment_result_sourced_id;
16028
+ if (hasLineItem !== hasResultId) {
16029
+ ctx.addIssue({
16030
+ code: exports_external.ZodIssueCode.custom,
16031
+ message: "assessment_line_item_sourced_id and assessment_result_sourced_id must be provided together",
16032
+ path: hasLineItem ? ["assessment_result_sourced_id"] : ["assessment_line_item_sourced_id"]
16033
+ });
16034
+ }
16035
+ });
16036
+ var MasteryTrackInvalidateAssignmentInput = exports_external.object({
16037
+ student_email: exports_external.email(),
16038
+ assignment_id: exports_external.number().int().positive().optional(),
16039
+ timeback_id: NonEmptyString4.optional(),
16040
+ subject: NonEmptyString4.optional(),
16041
+ grade_rank: exports_external.number().int().min(0).max(12).optional()
16042
+ }).superRefine((value, ctx) => {
16043
+ const byAssignment = value.assignment_id !== undefined;
16044
+ const byTimeback = !!value.timeback_id;
16045
+ const bySubjectGrade = !!value.subject && value.grade_rank !== undefined;
16046
+ if (!byAssignment && !byTimeback && !bySubjectGrade) {
16047
+ ctx.addIssue({
16048
+ code: exports_external.ZodIssueCode.custom,
16049
+ message: "Either assignment_id, timeback_id, or (subject and grade_rank) is required",
16050
+ path: ["assignment_id"]
16051
+ });
16052
+ }
16053
+ if (value.grade_rank !== undefined && !value.subject) {
16054
+ ctx.addIssue({
16055
+ code: exports_external.ZodIssueCode.custom,
16056
+ message: "grade_rank requires subject",
16057
+ path: ["grade_rank"]
16058
+ });
16059
+ }
16060
+ });
16061
+ var NonEmptyString5 = exports_external.string().min(1);
15725
16062
  var Status = exports_external.enum(["active", "tobedeleted"]);
15726
16063
  var Metadata = exports_external.record(exports_external.string(), exports_external.unknown()).nullable().optional();
15727
16064
  var Ref = exports_external.object({
15728
- sourcedId: NonEmptyString2,
16065
+ sourcedId: NonEmptyString5,
15729
16066
  type: exports_external.string().optional(),
15730
16067
  href: exports_external.string().optional()
15731
16068
  }).strict();
@@ -15740,58 +16077,58 @@ var OneRosterUserRoleInput = exports_external.object({
15740
16077
  endDate: OneRosterDateString.optional()
15741
16078
  }).strict();
15742
16079
  var OneRosterUserCreateInput = exports_external.object({
15743
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16080
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
15744
16081
  status: Status.optional(),
15745
16082
  enabledUser: exports_external.boolean(),
15746
- givenName: NonEmptyString2.describe("givenName must be a non-empty string"),
15747
- familyName: NonEmptyString2.describe("familyName must be a non-empty string"),
15748
- middleName: NonEmptyString2.optional(),
15749
- username: NonEmptyString2.optional(),
16083
+ givenName: NonEmptyString5.describe("givenName must be a non-empty string"),
16084
+ familyName: NonEmptyString5.describe("familyName must be a non-empty string"),
16085
+ middleName: NonEmptyString5.optional(),
16086
+ username: NonEmptyString5.optional(),
15750
16087
  email: exports_external.email().optional(),
15751
16088
  roles: exports_external.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
15752
16089
  userIds: exports_external.array(exports_external.object({
15753
- type: NonEmptyString2,
15754
- identifier: NonEmptyString2
16090
+ type: NonEmptyString5,
16091
+ identifier: NonEmptyString5
15755
16092
  }).strict()).optional(),
15756
16093
  agents: exports_external.array(Ref).optional(),
15757
16094
  grades: exports_external.array(TimebackGrade).optional(),
15758
- identifier: NonEmptyString2.optional(),
15759
- sms: NonEmptyString2.optional(),
15760
- phone: NonEmptyString2.optional(),
15761
- pronouns: NonEmptyString2.optional(),
15762
- password: NonEmptyString2.optional(),
16095
+ identifier: NonEmptyString5.optional(),
16096
+ sms: NonEmptyString5.optional(),
16097
+ phone: NonEmptyString5.optional(),
16098
+ pronouns: NonEmptyString5.optional(),
16099
+ password: NonEmptyString5.optional(),
15763
16100
  metadata: Metadata
15764
16101
  }).strict();
15765
16102
  var OneRosterCourseCreateInput = exports_external.object({
15766
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16103
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
15767
16104
  status: Status.optional(),
15768
- title: NonEmptyString2.describe("title must be a non-empty string"),
16105
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15769
16106
  org: Ref,
15770
- courseCode: NonEmptyString2.optional(),
16107
+ courseCode: NonEmptyString5.optional(),
15771
16108
  subjects: exports_external.array(TimebackSubject).optional(),
15772
16109
  grades: exports_external.array(TimebackGrade).optional(),
15773
- level: NonEmptyString2.optional(),
16110
+ level: NonEmptyString5.optional(),
15774
16111
  metadata: Metadata
15775
16112
  }).strict();
15776
16113
  var OneRosterClassCreateInput = exports_external.object({
15777
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16114
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
15778
16115
  status: Status.optional(),
15779
- title: NonEmptyString2.describe("title must be a non-empty string"),
16116
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15780
16117
  terms: exports_external.array(Ref).min(1, "terms must have at least one item"),
15781
16118
  course: Ref,
15782
16119
  org: Ref,
15783
- classCode: NonEmptyString2.optional(),
16120
+ classCode: NonEmptyString5.optional(),
15784
16121
  classType: exports_external.enum(["homeroom", "scheduled"]).optional(),
15785
- location: NonEmptyString2.optional(),
16122
+ location: NonEmptyString5.optional(),
15786
16123
  grades: exports_external.array(TimebackGrade).optional(),
15787
16124
  subjects: exports_external.array(TimebackSubject).optional(),
15788
- subjectCodes: exports_external.array(NonEmptyString2).optional(),
15789
- periods: exports_external.array(NonEmptyString2).optional(),
16125
+ subjectCodes: exports_external.array(NonEmptyString5).optional(),
16126
+ periods: exports_external.array(NonEmptyString5).optional(),
15790
16127
  metadata: Metadata
15791
16128
  }).strict();
15792
16129
  var StringBoolean = exports_external.enum(["true", "false"]);
15793
16130
  var OneRosterEnrollmentCreateInput = exports_external.object({
15794
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16131
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
15795
16132
  status: Status.optional(),
15796
16133
  user: Ref,
15797
16134
  class: Ref,
@@ -15803,15 +16140,15 @@ var OneRosterEnrollmentCreateInput = exports_external.object({
15803
16140
  metadata: Metadata
15804
16141
  }).strict();
15805
16142
  var OneRosterCategoryCreateInput = exports_external.object({
15806
- sourcedId: NonEmptyString2.optional(),
15807
- title: NonEmptyString2.describe("title must be a non-empty string"),
16143
+ sourcedId: NonEmptyString5.optional(),
16144
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15808
16145
  status: Status,
15809
16146
  weight: exports_external.number().nullable().optional(),
15810
16147
  metadata: Metadata
15811
16148
  }).strict();
15812
16149
  var OneRosterLineItemCreateInput = exports_external.object({
15813
- sourcedId: NonEmptyString2.optional(),
15814
- title: NonEmptyString2.describe("title must be a non-empty string"),
16150
+ sourcedId: NonEmptyString5.optional(),
16151
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15815
16152
  class: Ref,
15816
16153
  school: Ref,
15817
16154
  category: Ref,
@@ -15825,7 +16162,7 @@ var OneRosterLineItemCreateInput = exports_external.object({
15825
16162
  metadata: Metadata
15826
16163
  }).strict();
15827
16164
  var OneRosterResultCreateInput = exports_external.object({
15828
- sourcedId: NonEmptyString2.optional(),
16165
+ sourcedId: NonEmptyString5.optional(),
15829
16166
  lineItem: Ref,
15830
16167
  student: Ref,
15831
16168
  class: Ref.optional(),
@@ -15844,15 +16181,15 @@ var OneRosterResultCreateInput = exports_external.object({
15844
16181
  metadata: Metadata
15845
16182
  }).strict();
15846
16183
  var OneRosterScoreScaleCreateInput = exports_external.object({
15847
- sourcedId: NonEmptyString2.optional(),
15848
- title: NonEmptyString2.describe("title must be a non-empty string"),
16184
+ sourcedId: NonEmptyString5.optional(),
16185
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15849
16186
  status: Status.optional(),
15850
16187
  type: exports_external.string().optional(),
15851
16188
  class: Ref.optional(),
15852
16189
  course: Ref.nullable().optional(),
15853
16190
  scoreScaleValue: exports_external.array(exports_external.object({
15854
- itemValueLHS: NonEmptyString2,
15855
- itemValueRHS: NonEmptyString2,
16191
+ itemValueLHS: NonEmptyString5,
16192
+ itemValueRHS: NonEmptyString5,
15856
16193
  value: exports_external.string().optional(),
15857
16194
  description: exports_external.string().optional()
15858
16195
  }).strict()).optional(),
@@ -15861,10 +16198,10 @@ var OneRosterScoreScaleCreateInput = exports_external.object({
15861
16198
  metadata: Metadata
15862
16199
  }).strict();
15863
16200
  var OneRosterAssessmentLineItemCreateInput = exports_external.object({
15864
- sourcedId: NonEmptyString2.optional(),
16201
+ sourcedId: NonEmptyString5.optional(),
15865
16202
  status: Status.optional(),
15866
16203
  dateLastModified: IsoDateTimeString.optional(),
15867
- title: NonEmptyString2.describe("title must be a non-empty string"),
16204
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15868
16205
  description: exports_external.string().nullable().optional(),
15869
16206
  class: Ref.nullable().optional(),
15870
16207
  parentAssessmentLineItem: Ref.nullable().optional(),
@@ -15890,7 +16227,7 @@ var LearningObjectiveScoreSetSchema = exports_external.array(exports_external.ob
15890
16227
  learningObjectiveResults: exports_external.array(LearningObjectiveResult)
15891
16228
  }));
15892
16229
  var OneRosterAssessmentResultCreateInput = exports_external.object({
15893
- sourcedId: NonEmptyString2.optional(),
16230
+ sourcedId: NonEmptyString5.optional(),
15894
16231
  status: Status.optional(),
15895
16232
  dateLastModified: IsoDateTimeString.optional(),
15896
16233
  metadata: Metadata,
@@ -15916,53 +16253,53 @@ var OneRosterAssessmentResultCreateInput = exports_external.object({
15916
16253
  missing: exports_external.string().nullable().optional()
15917
16254
  }).strict();
15918
16255
  var OneRosterOrgCreateInput = exports_external.object({
15919
- sourcedId: NonEmptyString2.optional(),
16256
+ sourcedId: NonEmptyString5.optional(),
15920
16257
  status: Status.optional(),
15921
- name: NonEmptyString2.describe("name must be a non-empty string"),
16258
+ name: NonEmptyString5.describe("name must be a non-empty string"),
15922
16259
  type: OrganizationType,
15923
- identifier: NonEmptyString2.optional(),
16260
+ identifier: NonEmptyString5.optional(),
15924
16261
  parent: Ref.optional(),
15925
16262
  metadata: Metadata
15926
16263
  }).strict();
15927
16264
  var OneRosterSchoolCreateInput = exports_external.object({
15928
- sourcedId: NonEmptyString2.optional(),
16265
+ sourcedId: NonEmptyString5.optional(),
15929
16266
  status: Status.optional(),
15930
- name: NonEmptyString2.describe("name must be a non-empty string"),
16267
+ name: NonEmptyString5.describe("name must be a non-empty string"),
15931
16268
  type: exports_external.literal("school").optional(),
15932
- identifier: NonEmptyString2.optional(),
16269
+ identifier: NonEmptyString5.optional(),
15933
16270
  parent: Ref.optional(),
15934
16271
  metadata: Metadata
15935
16272
  }).strict();
15936
16273
  var OneRosterAcademicSessionCreateInput = exports_external.object({
15937
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16274
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
15938
16275
  status: Status,
15939
- title: NonEmptyString2.describe("title must be a non-empty string"),
16276
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15940
16277
  startDate: OneRosterDateString,
15941
16278
  endDate: OneRosterDateString,
15942
16279
  type: exports_external.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
15943
- schoolYear: NonEmptyString2.describe("schoolYear must be a non-empty string"),
16280
+ schoolYear: NonEmptyString5.describe("schoolYear must be a non-empty string"),
15944
16281
  org: Ref,
15945
16282
  parent: Ref.optional(),
15946
16283
  children: exports_external.array(Ref).optional(),
15947
16284
  metadata: Metadata
15948
16285
  }).strict();
15949
16286
  var OneRosterComponentResourceCreateInput = exports_external.object({
15950
- sourcedId: NonEmptyString2.optional(),
15951
- title: NonEmptyString2.describe("title must be a non-empty string"),
16287
+ sourcedId: NonEmptyString5.optional(),
16288
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15952
16289
  courseComponent: Ref,
15953
16290
  resource: Ref,
15954
16291
  status: Status,
15955
16292
  metadata: Metadata
15956
16293
  }).strict();
15957
16294
  var OneRosterCourseComponentCreateInput = exports_external.object({
15958
- sourcedId: NonEmptyString2.optional(),
15959
- title: NonEmptyString2.describe("title must be a non-empty string"),
16295
+ sourcedId: NonEmptyString5.optional(),
16296
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15960
16297
  course: Ref,
15961
16298
  status: Status,
15962
16299
  metadata: Metadata
15963
16300
  }).strict();
15964
16301
  var OneRosterEnrollInput = exports_external.object({
15965
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16302
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
15966
16303
  role: exports_external.enum(["student", "teacher"]),
15967
16304
  primary: StringBoolean.optional(),
15968
16305
  beginDate: OneRosterDateString.optional(),
@@ -15970,16 +16307,16 @@ var OneRosterEnrollInput = exports_external.object({
15970
16307
  metadata: Metadata
15971
16308
  }).strict();
15972
16309
  var OneRosterAgentInput = exports_external.object({
15973
- agentSourcedId: NonEmptyString2.describe("agentSourcedId must be a non-empty string")
16310
+ agentSourcedId: NonEmptyString5.describe("agentSourcedId must be a non-empty string")
15974
16311
  }).strict();
15975
16312
  var OneRosterCredentialInput = exports_external.object({
15976
- type: NonEmptyString2.describe("type must be a non-empty string"),
15977
- username: NonEmptyString2.describe("username must be a non-empty string"),
16313
+ type: NonEmptyString5.describe("type must be a non-empty string"),
16314
+ username: NonEmptyString5.describe("username must be a non-empty string"),
15978
16315
  password: exports_external.string().optional(),
15979
16316
  metadata: Metadata
15980
16317
  }).strict();
15981
16318
  var OneRosterDemographicsCreateInput = exports_external.object({
15982
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string")
16319
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string")
15983
16320
  }).loose();
15984
16321
  var CommonResourceMetadataSchema = exports_external.object({
15985
16322
  type: ResourceType,
@@ -16051,9 +16388,9 @@ var ResourceMetadataSchema = exports_external.discriminatedUnion("type", [
16051
16388
  AssessmentBankMetadataSchema
16052
16389
  ]);
16053
16390
  var OneRosterResourceCreateInput = exports_external.object({
16054
- sourcedId: NonEmptyString2.optional(),
16055
- title: NonEmptyString2.describe("title must be a non-empty string"),
16056
- vendorResourceId: NonEmptyString2.describe("vendorResourceId must be a non-empty string"),
16391
+ sourcedId: NonEmptyString5.optional(),
16392
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16393
+ vendorResourceId: NonEmptyString5.describe("vendorResourceId must be a non-empty string"),
16057
16394
  roles: exports_external.array(exports_external.enum(["primary", "secondary"])).optional(),
16058
16395
  importance: exports_external.enum(["primary", "secondary"]).optional(),
16059
16396
  vendorId: exports_external.string().optional(),
@@ -16062,18 +16399,18 @@ var OneRosterResourceCreateInput = exports_external.object({
16062
16399
  metadata: ResourceMetadataSchema.nullable().optional()
16063
16400
  }).strict();
16064
16401
  var CourseStructureItem = exports_external.object({
16065
- url: NonEmptyString2.describe("courseStructure.url must be a non-empty string"),
16066
- skillCode: NonEmptyString2.describe("courseStructure.skillCode must be a non-empty string"),
16067
- lessonCode: NonEmptyString2.describe("courseStructure.lessonCode must be a non-empty string"),
16068
- title: NonEmptyString2.describe("courseStructure.title must be a non-empty string"),
16069
- "unit-title": NonEmptyString2.describe("courseStructure.unit-title must be a non-empty string"),
16070
- status: NonEmptyString2.describe("courseStructure.status must be a non-empty string"),
16402
+ url: NonEmptyString5.describe("courseStructure.url must be a non-empty string"),
16403
+ skillCode: NonEmptyString5.describe("courseStructure.skillCode must be a non-empty string"),
16404
+ lessonCode: NonEmptyString5.describe("courseStructure.lessonCode must be a non-empty string"),
16405
+ title: NonEmptyString5.describe("courseStructure.title must be a non-empty string"),
16406
+ "unit-title": NonEmptyString5.describe("courseStructure.unit-title must be a non-empty string"),
16407
+ status: NonEmptyString5.describe("courseStructure.status must be a non-empty string"),
16071
16408
  xp: exports_external.number()
16072
16409
  }).loose();
16073
16410
  var OneRosterCourseStructureInput = exports_external.object({
16074
16411
  course: exports_external.object({
16075
- sourcedId: NonEmptyString2.describe("course.sourcedId must be a non-empty string").optional(),
16076
- title: NonEmptyString2.describe("course.title must be a non-empty string"),
16412
+ sourcedId: NonEmptyString5.describe("course.sourcedId must be a non-empty string").optional(),
16413
+ title: NonEmptyString5.describe("course.title must be a non-empty string"),
16077
16414
  org: Ref,
16078
16415
  status: Status,
16079
16416
  metadata: Metadata
@@ -16084,7 +16421,7 @@ var OneRosterBulkResultItem = exports_external.object({
16084
16421
  student: Ref
16085
16422
  }).loose();
16086
16423
  var OneRosterBulkResultsInput = exports_external.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
16087
- var NonEmptyString3 = exports_external.string().trim().min(1);
16424
+ var NonEmptyString6 = exports_external.string().trim().min(1);
16088
16425
  var ToolProvider = exports_external.enum(["edulastic", "mastery-track"]);
16089
16426
  var LessonTypeRequired = exports_external.enum([
16090
16427
  "powerpath-100",
@@ -16097,14 +16434,14 @@ var LessonTypeRequired = exports_external.enum([
16097
16434
  var GradeArray = exports_external.array(TimebackGrade);
16098
16435
  var ResourceMetadata = exports_external.record(exports_external.string(), exports_external.unknown()).optional();
16099
16436
  var ExternalTestBase = exports_external.object({
16100
- courseId: NonEmptyString3,
16101
- lessonTitle: NonEmptyString3.optional(),
16437
+ courseId: NonEmptyString6,
16438
+ lessonTitle: NonEmptyString6.optional(),
16102
16439
  launchUrl: exports_external.url().optional(),
16103
16440
  toolProvider: ToolProvider,
16104
- unitTitle: NonEmptyString3.optional(),
16105
- courseComponentSourcedId: NonEmptyString3.optional(),
16106
- vendorId: NonEmptyString3.optional(),
16107
- description: NonEmptyString3.optional(),
16441
+ unitTitle: NonEmptyString6.optional(),
16442
+ courseComponentSourcedId: NonEmptyString6.optional(),
16443
+ vendorId: NonEmptyString6.optional(),
16444
+ description: NonEmptyString6.optional(),
16108
16445
  resourceMetadata: ResourceMetadata.nullable().optional(),
16109
16446
  grades: GradeArray
16110
16447
  });
@@ -16114,26 +16451,26 @@ var ExternalTestOut = ExternalTestBase.extend({
16114
16451
  });
16115
16452
  var ExternalPlacement = ExternalTestBase.extend({
16116
16453
  lessonType: exports_external.literal("placement"),
16117
- courseIdOnFail: NonEmptyString3.optional(),
16454
+ courseIdOnFail: NonEmptyString6.optional(),
16118
16455
  xp: exports_external.number().optional()
16119
16456
  });
16120
16457
  var InternalTestBase = exports_external.object({
16121
- courseId: NonEmptyString3,
16458
+ courseId: NonEmptyString6,
16122
16459
  lessonType: LessonTypeRequired,
16123
- lessonTitle: NonEmptyString3.optional(),
16124
- unitTitle: NonEmptyString3.optional(),
16125
- courseComponentSourcedId: NonEmptyString3.optional(),
16460
+ lessonTitle: NonEmptyString6.optional(),
16461
+ unitTitle: NonEmptyString6.optional(),
16462
+ courseComponentSourcedId: NonEmptyString6.optional(),
16126
16463
  resourceMetadata: ResourceMetadata.nullable().optional(),
16127
16464
  xp: exports_external.number().optional(),
16128
16465
  grades: GradeArray.optional(),
16129
- courseIdOnFail: NonEmptyString3.optional()
16466
+ courseIdOnFail: NonEmptyString6.optional()
16130
16467
  });
16131
16468
  var PowerPathCreateInternalTestInput = exports_external.union([
16132
16469
  InternalTestBase.extend({
16133
16470
  testType: exports_external.literal("qti"),
16134
16471
  qti: exports_external.object({
16135
16472
  url: exports_external.url(),
16136
- title: NonEmptyString3.optional(),
16473
+ title: NonEmptyString6.optional(),
16137
16474
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16138
16475
  })
16139
16476
  }),
@@ -16142,28 +16479,28 @@ var PowerPathCreateInternalTestInput = exports_external.union([
16142
16479
  assessmentBank: exports_external.object({
16143
16480
  resources: exports_external.array(exports_external.object({
16144
16481
  url: exports_external.url(),
16145
- title: NonEmptyString3.optional(),
16482
+ title: NonEmptyString6.optional(),
16146
16483
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16147
16484
  }))
16148
16485
  })
16149
16486
  })
16150
16487
  ]);
16151
16488
  var PowerPathCreateNewAttemptInput = exports_external.object({
16152
- student: NonEmptyString3,
16153
- lesson: NonEmptyString3
16489
+ student: NonEmptyString6,
16490
+ lesson: NonEmptyString6
16154
16491
  });
16155
16492
  var PowerPathFinalStudentAssessmentResponseInput = exports_external.object({
16156
- student: NonEmptyString3,
16157
- lesson: NonEmptyString3
16493
+ student: NonEmptyString6,
16494
+ lesson: NonEmptyString6
16158
16495
  });
16159
16496
  var PowerPathLessonPlansCreateInput = exports_external.object({
16160
- courseId: NonEmptyString3,
16161
- userId: NonEmptyString3,
16162
- classId: NonEmptyString3.optional()
16497
+ courseId: NonEmptyString6,
16498
+ userId: NonEmptyString6,
16499
+ classId: NonEmptyString6.optional()
16163
16500
  });
16164
16501
  var LessonPlanTarget = exports_external.object({
16165
16502
  type: exports_external.enum(["component", "resource"]),
16166
- id: NonEmptyString3
16503
+ id: NonEmptyString6
16167
16504
  });
16168
16505
  var PowerPathLessonPlanOperationInput = exports_external.union([
16169
16506
  exports_external.object({
@@ -16176,8 +16513,8 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16176
16513
  exports_external.object({
16177
16514
  type: exports_external.literal("add-custom-resource"),
16178
16515
  payload: exports_external.object({
16179
- resource_id: NonEmptyString3,
16180
- parent_component_id: NonEmptyString3,
16516
+ resource_id: NonEmptyString6,
16517
+ parent_component_id: NonEmptyString6,
16181
16518
  skipped: exports_external.boolean().optional()
16182
16519
  })
16183
16520
  }),
@@ -16185,14 +16522,14 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16185
16522
  type: exports_external.literal("move-item-before"),
16186
16523
  payload: exports_external.object({
16187
16524
  target: LessonPlanTarget,
16188
- reference_id: NonEmptyString3
16525
+ reference_id: NonEmptyString6
16189
16526
  })
16190
16527
  }),
16191
16528
  exports_external.object({
16192
16529
  type: exports_external.literal("move-item-after"),
16193
16530
  payload: exports_external.object({
16194
16531
  target: LessonPlanTarget,
16195
- reference_id: NonEmptyString3
16532
+ reference_id: NonEmptyString6
16196
16533
  })
16197
16534
  }),
16198
16535
  exports_external.object({
@@ -16211,135 +16548,135 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16211
16548
  type: exports_external.literal("change-item-parent"),
16212
16549
  payload: exports_external.object({
16213
16550
  target: LessonPlanTarget,
16214
- new_parent_id: NonEmptyString3,
16551
+ new_parent_id: NonEmptyString6,
16215
16552
  position: exports_external.enum(["start", "end"]).optional()
16216
16553
  })
16217
16554
  })
16218
16555
  ]);
16219
16556
  var PowerPathLessonPlanOperationsInput = exports_external.object({
16220
16557
  operation: exports_external.array(PowerPathLessonPlanOperationInput),
16221
- reason: NonEmptyString3.optional()
16558
+ reason: NonEmptyString6.optional()
16222
16559
  });
16223
16560
  var PowerPathLessonPlanUpdateStudentItemResponseInput = exports_external.object({
16224
- studentId: NonEmptyString3,
16225
- componentResourceId: NonEmptyString3,
16561
+ studentId: NonEmptyString6,
16562
+ componentResourceId: NonEmptyString6,
16226
16563
  result: exports_external.object({
16227
16564
  status: exports_external.enum(["active", "tobedeleted"]),
16228
16565
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16229
16566
  score: exports_external.number().optional(),
16230
- textScore: NonEmptyString3.optional(),
16231
- scoreDate: NonEmptyString3,
16567
+ textScore: NonEmptyString6.optional(),
16568
+ scoreDate: NonEmptyString6,
16232
16569
  scorePercentile: exports_external.number().optional(),
16233
16570
  scoreStatus: ScoreStatus,
16234
- comment: NonEmptyString3.optional(),
16571
+ comment: NonEmptyString6.optional(),
16235
16572
  learningObjectiveSet: exports_external.array(exports_external.object({
16236
- source: NonEmptyString3,
16573
+ source: NonEmptyString6,
16237
16574
  learningObjectiveResults: exports_external.array(exports_external.object({
16238
- learningObjectiveId: NonEmptyString3,
16575
+ learningObjectiveId: NonEmptyString6,
16239
16576
  score: exports_external.number().optional(),
16240
- textScore: NonEmptyString3.optional()
16577
+ textScore: NonEmptyString6.optional()
16241
16578
  }))
16242
16579
  })).optional(),
16243
- inProgress: NonEmptyString3.optional(),
16244
- incomplete: NonEmptyString3.optional(),
16245
- late: NonEmptyString3.optional(),
16246
- missing: NonEmptyString3.optional()
16580
+ inProgress: NonEmptyString6.optional(),
16581
+ incomplete: NonEmptyString6.optional(),
16582
+ late: NonEmptyString6.optional(),
16583
+ missing: NonEmptyString6.optional()
16247
16584
  })
16248
16585
  });
16249
16586
  var PowerPathMakeExternalTestAssignmentInput = exports_external.object({
16250
- student: NonEmptyString3,
16251
- lesson: NonEmptyString3,
16252
- applicationName: NonEmptyString3.optional(),
16253
- testId: NonEmptyString3.optional(),
16587
+ student: NonEmptyString6,
16588
+ lesson: NonEmptyString6,
16589
+ applicationName: NonEmptyString6.optional(),
16590
+ testId: NonEmptyString6.optional(),
16254
16591
  skipCourseEnrollment: exports_external.boolean().optional()
16255
16592
  });
16256
16593
  var PowerPathPlacementResetUserPlacementInput = exports_external.object({
16257
- student: NonEmptyString3,
16594
+ student: NonEmptyString6,
16258
16595
  subject: TimebackSubject
16259
16596
  });
16260
16597
  var PowerPathResetAttemptInput = exports_external.object({
16261
- student: NonEmptyString3,
16262
- lesson: NonEmptyString3
16598
+ student: NonEmptyString6,
16599
+ lesson: NonEmptyString6
16263
16600
  });
16264
16601
  var PowerPathScreeningResetSessionInput = exports_external.object({
16265
- userId: NonEmptyString3
16602
+ userId: NonEmptyString6
16266
16603
  });
16267
16604
  var PowerPathScreeningAssignTestInput = exports_external.object({
16268
- userId: NonEmptyString3,
16605
+ userId: NonEmptyString6,
16269
16606
  subject: exports_external.enum(["Math", "Reading", "Language", "Science"])
16270
16607
  });
16271
16608
  var PowerPathTestAssignmentsCreateInput = exports_external.object({
16272
- student: NonEmptyString3,
16609
+ student: NonEmptyString6,
16273
16610
  subject: TimebackSubject,
16274
16611
  grade: TimebackGrade,
16275
- testName: NonEmptyString3.optional()
16612
+ testName: NonEmptyString6.optional()
16276
16613
  });
16277
16614
  var PowerPathTestAssignmentsUpdateInput = exports_external.object({
16278
- testName: NonEmptyString3
16615
+ testName: NonEmptyString6
16279
16616
  });
16280
16617
  var PowerPathTestAssignmentItemInput = exports_external.object({
16281
- student: NonEmptyString3,
16618
+ student: NonEmptyString6,
16282
16619
  subject: TimebackSubject,
16283
16620
  grade: TimebackGrade,
16284
- testName: NonEmptyString3.optional()
16621
+ testName: NonEmptyString6.optional()
16285
16622
  });
16286
16623
  var PowerPathTestAssignmentsBulkInput = exports_external.object({
16287
16624
  items: exports_external.array(PowerPathTestAssignmentItemInput)
16288
16625
  });
16289
16626
  var PowerPathTestAssignmentsImportInput = exports_external.object({
16290
16627
  spreadsheetUrl: exports_external.url(),
16291
- sheet: NonEmptyString3
16628
+ sheet: NonEmptyString6
16292
16629
  });
16293
16630
  var PowerPathTestAssignmentsListParams = exports_external.object({
16294
- student: NonEmptyString3,
16631
+ student: NonEmptyString6,
16295
16632
  status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16296
- subject: NonEmptyString3.optional(),
16633
+ subject: NonEmptyString6.optional(),
16297
16634
  grade: TimebackGrade.optional(),
16298
16635
  limit: exports_external.number().int().positive().max(3000).optional(),
16299
16636
  offset: exports_external.number().int().nonnegative().optional()
16300
16637
  });
16301
16638
  var PowerPathTestAssignmentsAdminParams = exports_external.object({
16302
- student: NonEmptyString3.optional(),
16639
+ student: NonEmptyString6.optional(),
16303
16640
  status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16304
- subject: NonEmptyString3.optional(),
16641
+ subject: NonEmptyString6.optional(),
16305
16642
  grade: TimebackGrade.optional(),
16306
16643
  limit: exports_external.number().int().positive().max(3000).optional(),
16307
16644
  offset: exports_external.number().int().nonnegative().optional()
16308
16645
  });
16309
16646
  var PowerPathUpdateStudentQuestionResponseInput = exports_external.object({
16310
- student: NonEmptyString3,
16311
- question: NonEmptyString3,
16312
- response: exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)]).optional(),
16313
- responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)])).optional(),
16314
- lesson: NonEmptyString3
16647
+ student: NonEmptyString6,
16648
+ question: NonEmptyString6,
16649
+ response: exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)]).optional(),
16650
+ responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)])).optional(),
16651
+ lesson: NonEmptyString6
16315
16652
  });
16316
16653
  var PowerPathGetAssessmentProgressParams = exports_external.object({
16317
- student: NonEmptyString3,
16318
- lesson: NonEmptyString3,
16654
+ student: NonEmptyString6,
16655
+ lesson: NonEmptyString6,
16319
16656
  attempt: exports_external.number().int().positive().optional()
16320
16657
  });
16321
16658
  var PowerPathGetNextQuestionParams = exports_external.object({
16322
- student: NonEmptyString3,
16323
- lesson: NonEmptyString3
16659
+ student: NonEmptyString6,
16660
+ lesson: NonEmptyString6
16324
16661
  });
16325
16662
  var PowerPathGetAttemptsParams = exports_external.object({
16326
- student: NonEmptyString3,
16327
- lesson: NonEmptyString3
16663
+ student: NonEmptyString6,
16664
+ lesson: NonEmptyString6
16328
16665
  });
16329
16666
  var PowerPathTestOutParams = exports_external.object({
16330
- student: NonEmptyString3,
16331
- lesson: NonEmptyString3.optional(),
16667
+ student: NonEmptyString6,
16668
+ lesson: NonEmptyString6.optional(),
16332
16669
  finalized: exports_external.boolean().optional(),
16333
- toolProvider: NonEmptyString3.optional(),
16670
+ toolProvider: NonEmptyString6.optional(),
16334
16671
  attempt: exports_external.number().int().positive().optional()
16335
16672
  });
16336
16673
  var PowerPathImportExternalTestAssignmentResultsParams = exports_external.object({
16337
- student: NonEmptyString3,
16338
- lesson: NonEmptyString3,
16339
- applicationName: NonEmptyString3.optional()
16674
+ student: NonEmptyString6,
16675
+ lesson: NonEmptyString6,
16676
+ applicationName: NonEmptyString6.optional()
16340
16677
  });
16341
16678
  var PowerPathPlacementQueryParams = exports_external.object({
16342
- student: NonEmptyString3,
16679
+ student: NonEmptyString6,
16343
16680
  subject: TimebackSubject
16344
16681
  });
16345
16682
  var PowerPathSyllabusQueryParams = exports_external.object({
@@ -16429,7 +16766,7 @@ var QtiItemMetadata = exports_external.object({
16429
16766
  grade: TimebackGrade.optional(),
16430
16767
  difficulty: QtiDifficulty.optional(),
16431
16768
  learningObjectiveSet: exports_external.array(QtiLearningObjectiveSet).optional()
16432
- }).strict();
16769
+ }).loose();
16433
16770
  var QtiModalFeedback = exports_external.object({
16434
16771
  outcomeIdentifier: exports_external.string().min(1),
16435
16772
  identifier: exports_external.string().min(1),
@@ -16466,7 +16803,12 @@ var QtiPaginationParams = exports_external.object({
16466
16803
  sort: exports_external.string().optional(),
16467
16804
  order: exports_external.enum(["asc", "desc"]).optional()
16468
16805
  }).strict();
16469
- var QtiAssessmentItemCreateInput = exports_external.object({
16806
+ var QtiAssessmentItemXmlCreateInput = exports_external.object({
16807
+ format: exports_external.string().pipe(exports_external.literal("xml")),
16808
+ xml: exports_external.string().min(1),
16809
+ metadata: QtiItemMetadata.optional()
16810
+ }).strict();
16811
+ var QtiAssessmentItemJsonCreateInput = exports_external.object({
16470
16812
  identifier: exports_external.string().min(1),
16471
16813
  title: exports_external.string().min(1),
16472
16814
  type: QtiAssessmentItemType,
@@ -16481,6 +16823,10 @@ var QtiAssessmentItemCreateInput = exports_external.object({
16481
16823
  feedbackInline: exports_external.array(QtiFeedbackInline).optional(),
16482
16824
  feedbackBlock: exports_external.array(QtiFeedbackBlock).optional()
16483
16825
  }).strict();
16826
+ var QtiAssessmentItemCreateInput = exports_external.union([
16827
+ QtiAssessmentItemXmlCreateInput,
16828
+ QtiAssessmentItemJsonCreateInput
16829
+ ]);
16484
16830
  var QtiAssessmentItemUpdateInput = exports_external.object({
16485
16831
  identifier: exports_external.string().min(1).optional(),
16486
16832
  title: exports_external.string().min(1),
@@ -16517,9 +16863,9 @@ var QtiAssessmentSection = exports_external.object({
16517
16863
  }).strict();
16518
16864
  var QtiTestPart = exports_external.object({
16519
16865
  identifier: exports_external.string().min(1),
16520
- navigationMode: QtiNavigationMode,
16521
- submissionMode: QtiSubmissionMode,
16522
- "qti-assessment-section": exports_external.union([QtiAssessmentSection, exports_external.array(QtiAssessmentSection)])
16866
+ navigationMode: exports_external.string().pipe(QtiNavigationMode),
16867
+ submissionMode: exports_external.string().pipe(QtiSubmissionMode),
16868
+ "qti-assessment-section": exports_external.array(QtiAssessmentSection)
16523
16869
  }).strict();
16524
16870
  var QtiReorderItemsInput = exports_external.object({
16525
16871
  items: exports_external.array(QtiAssessmentItemRef).min(1)
@@ -16537,7 +16883,7 @@ var QtiAssessmentTestCreateInput = exports_external.object({
16537
16883
  maxAttempts: exports_external.number().optional(),
16538
16884
  toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
16539
16885
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16540
- "qti-test-part": QtiTestPart,
16886
+ "qti-test-part": exports_external.array(QtiTestPart),
16541
16887
  "qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
16542
16888
  }).strict();
16543
16889
  var QtiAssessmentTestUpdateInput = exports_external.object({
@@ -16550,7 +16896,7 @@ var QtiAssessmentTestUpdateInput = exports_external.object({
16550
16896
  maxAttempts: exports_external.number().optional(),
16551
16897
  toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
16552
16898
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16553
- "qti-test-part": QtiTestPart,
16899
+ "qti-test-part": exports_external.array(QtiTestPart),
16554
16900
  "qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
16555
16901
  }).strict();
16556
16902
  var QtiStimulusCreateInput = exports_external.object({