@timeback/caliper 0.1.6 → 0.1.7-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.
Files changed (2) hide show
  1. package/dist/index.js +514 -164
  2. package/package.json +3 -2
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;
@@ -15739,6 +15791,213 @@ var CaliperListEventsParams = exports_external.object({
15739
15791
  actorId: exports_external.string().min(1).optional(),
15740
15792
  actorEmail: exports_external.email().optional()
15741
15793
  }).strict();
15794
+ // ../../types/src/zod/webhooks.ts
15795
+ var WebhookCreateInput = exports_external.object({
15796
+ name: exports_external.string().min(1, "name must be a non-empty string"),
15797
+ targetUrl: exports_external.url("targetUrl must be a valid URL"),
15798
+ secret: exports_external.string().min(1, "secret must be a non-empty string"),
15799
+ active: exports_external.boolean(),
15800
+ sensor: exports_external.string().nullable().optional(),
15801
+ description: exports_external.string().nullable().optional()
15802
+ }).strict();
15803
+ var WebhookFilterType = exports_external.enum(["string", "number", "boolean"]);
15804
+ var WebhookFilterOperation = exports_external.enum([
15805
+ "eq",
15806
+ "neq",
15807
+ "gt",
15808
+ "gte",
15809
+ "lt",
15810
+ "lte",
15811
+ "contains",
15812
+ "notContains",
15813
+ "in",
15814
+ "notIn",
15815
+ "startsWith",
15816
+ "endsWith",
15817
+ "regexp"
15818
+ ]);
15819
+ var WebhookFilterCreateInput = exports_external.object({
15820
+ webhookId: exports_external.string().min(1, "webhookId must be a non-empty string"),
15821
+ filterKey: exports_external.string().min(1, "filterKey must be a non-empty string"),
15822
+ filterValue: exports_external.string().min(1, "filterValue must be a non-empty string"),
15823
+ filterType: WebhookFilterType,
15824
+ filterOperator: WebhookFilterOperation,
15825
+ active: exports_external.boolean()
15826
+ }).strict();
15827
+ // ../../types/src/zod/case.ts
15828
+ var NonEmptyString = exports_external.string().trim().min(1);
15829
+ var InputNodeURISchema = exports_external.object({
15830
+ title: NonEmptyString,
15831
+ identifier: NonEmptyString,
15832
+ uri: NonEmptyString
15833
+ });
15834
+ var CFDocumentInputSchema = exports_external.object({
15835
+ identifier: NonEmptyString,
15836
+ uri: NonEmptyString,
15837
+ lastChangeDateTime: NonEmptyString,
15838
+ title: NonEmptyString,
15839
+ creator: NonEmptyString,
15840
+ officialSourceURL: exports_external.string().optional(),
15841
+ publisher: exports_external.string().optional(),
15842
+ description: exports_external.string().optional(),
15843
+ language: exports_external.string().optional(),
15844
+ version: exports_external.string().optional(),
15845
+ caseVersion: exports_external.string().optional(),
15846
+ adoptionStatus: exports_external.string().optional(),
15847
+ statusStartDate: exports_external.string().optional(),
15848
+ statusEndDate: exports_external.string().optional(),
15849
+ licenseUri: exports_external.string().optional(),
15850
+ notes: exports_external.string().optional(),
15851
+ subject: exports_external.array(exports_external.string()).optional(),
15852
+ extensions: exports_external.unknown().optional()
15853
+ });
15854
+ var CFItemInputSchema = exports_external.object({
15855
+ identifier: NonEmptyString,
15856
+ uri: NonEmptyString,
15857
+ lastChangeDateTime: NonEmptyString,
15858
+ fullStatement: NonEmptyString,
15859
+ alternativeLabel: exports_external.string().optional(),
15860
+ CFItemType: exports_external.string().optional(),
15861
+ cfItemType: exports_external.string().optional(),
15862
+ humanCodingScheme: exports_external.string().optional(),
15863
+ listEnumeration: exports_external.string().optional(),
15864
+ abbreviatedStatement: exports_external.string().optional(),
15865
+ conceptKeywords: exports_external.array(exports_external.string()).optional(),
15866
+ notes: exports_external.string().optional(),
15867
+ subject: exports_external.array(exports_external.string()).optional(),
15868
+ language: exports_external.string().optional(),
15869
+ educationLevel: exports_external.array(exports_external.string()).optional(),
15870
+ CFItemTypeURI: exports_external.unknown().optional(),
15871
+ licenseURI: exports_external.unknown().optional(),
15872
+ statusStartDate: exports_external.string().optional(),
15873
+ statusEndDate: exports_external.string().optional(),
15874
+ extensions: exports_external.unknown().optional()
15875
+ });
15876
+ var CFAssociationInputSchema = exports_external.object({
15877
+ identifier: NonEmptyString,
15878
+ uri: NonEmptyString,
15879
+ lastChangeDateTime: NonEmptyString,
15880
+ associationType: NonEmptyString,
15881
+ originNodeURI: InputNodeURISchema,
15882
+ destinationNodeURI: InputNodeURISchema,
15883
+ sequenceNumber: exports_external.number().optional(),
15884
+ extensions: exports_external.unknown().optional()
15885
+ });
15886
+ var CFDefinitionsSchema = exports_external.object({
15887
+ CFItemTypes: exports_external.array(exports_external.unknown()).optional(),
15888
+ CFSubjects: exports_external.array(exports_external.unknown()).optional(),
15889
+ CFConcepts: exports_external.array(exports_external.unknown()).optional(),
15890
+ CFLicenses: exports_external.array(exports_external.unknown()).optional(),
15891
+ CFAssociationGroupings: exports_external.array(exports_external.unknown()).optional(),
15892
+ extensions: exports_external.unknown().optional()
15893
+ });
15894
+ var CasePackageInput = exports_external.object({
15895
+ CFDocument: CFDocumentInputSchema,
15896
+ CFItems: exports_external.array(CFItemInputSchema),
15897
+ CFAssociations: exports_external.array(CFAssociationInputSchema),
15898
+ CFDefinitions: CFDefinitionsSchema.optional(),
15899
+ extensions: exports_external.unknown().optional()
15900
+ });
15901
+ // ../../types/src/zod/clr.ts
15902
+ var NonEmptyString2 = exports_external.string().trim().min(1);
15903
+ var NonEmptyStringArray = exports_external.array(exports_external.string()).min(1);
15904
+ var ClrImageSchema = exports_external.object({
15905
+ id: NonEmptyString2,
15906
+ type: exports_external.literal("Image"),
15907
+ caption: exports_external.string().optional()
15908
+ });
15909
+ var ClrProfileSchema = exports_external.object({
15910
+ id: NonEmptyString2,
15911
+ type: NonEmptyStringArray,
15912
+ name: exports_external.string().optional(),
15913
+ url: exports_external.string().optional(),
15914
+ phone: exports_external.string().optional(),
15915
+ description: exports_external.string().optional(),
15916
+ image: ClrImageSchema.optional(),
15917
+ email: exports_external.string().optional()
15918
+ });
15919
+ var ClrProofSchema = exports_external.object({
15920
+ type: NonEmptyString2,
15921
+ proofPurpose: NonEmptyString2,
15922
+ verificationMethod: NonEmptyString2,
15923
+ created: NonEmptyString2,
15924
+ proofValue: NonEmptyString2,
15925
+ cryptosuite: exports_external.string().optional()
15926
+ });
15927
+ var ClrCredentialSchemaSchema = exports_external.object({
15928
+ id: NonEmptyString2,
15929
+ type: exports_external.literal("1EdTechJsonSchemaValidator2019")
15930
+ });
15931
+ var AchievementCriteriaSchema = exports_external.object({
15932
+ id: exports_external.string().optional(),
15933
+ narrative: exports_external.string().optional()
15934
+ });
15935
+ var AchievementSchema = exports_external.object({
15936
+ id: NonEmptyString2,
15937
+ type: NonEmptyStringArray,
15938
+ name: NonEmptyString2,
15939
+ description: NonEmptyString2,
15940
+ criteria: AchievementCriteriaSchema,
15941
+ image: ClrImageSchema.optional(),
15942
+ achievementType: exports_external.string().optional(),
15943
+ creator: ClrProfileSchema.optional()
15944
+ });
15945
+ var IdentityObjectSchema = exports_external.object({
15946
+ type: exports_external.literal("IdentityObject"),
15947
+ identityHash: NonEmptyString2,
15948
+ identityType: NonEmptyString2,
15949
+ hashed: exports_external.boolean(),
15950
+ salt: exports_external.string().optional()
15951
+ });
15952
+ var AssociationTypeSchema = exports_external.enum([
15953
+ "exactMatchOf",
15954
+ "isChildOf",
15955
+ "isParentOf",
15956
+ "isPartOf",
15957
+ "isPeerOf",
15958
+ "isRelatedTo",
15959
+ "precedes",
15960
+ "replacedBy"
15961
+ ]);
15962
+ var AssociationSchema = exports_external.object({
15963
+ type: exports_external.literal("Association"),
15964
+ associationType: AssociationTypeSchema,
15965
+ sourceId: NonEmptyString2,
15966
+ targetId: NonEmptyString2
15967
+ });
15968
+ var VerifiableCredentialSchema = exports_external.object({
15969
+ "@context": NonEmptyStringArray,
15970
+ id: NonEmptyString2,
15971
+ type: NonEmptyStringArray,
15972
+ issuer: ClrProfileSchema,
15973
+ validFrom: NonEmptyString2,
15974
+ validUntil: exports_external.string().optional(),
15975
+ credentialSubject: exports_external.object({
15976
+ id: exports_external.string().optional()
15977
+ }),
15978
+ proof: exports_external.array(ClrProofSchema).optional()
15979
+ });
15980
+ var ClrCredentialSubjectSchema = exports_external.object({
15981
+ id: exports_external.string().optional(),
15982
+ type: NonEmptyStringArray,
15983
+ identifier: exports_external.array(IdentityObjectSchema).optional(),
15984
+ achievement: exports_external.array(AchievementSchema).optional(),
15985
+ verifiableCredential: exports_external.array(VerifiableCredentialSchema).min(1),
15986
+ association: exports_external.array(AssociationSchema).optional()
15987
+ });
15988
+ var ClrCredentialInput = exports_external.object({
15989
+ "@context": NonEmptyStringArray,
15990
+ id: NonEmptyString2,
15991
+ type: NonEmptyStringArray,
15992
+ issuer: ClrProfileSchema,
15993
+ name: NonEmptyString2,
15994
+ description: exports_external.string().optional(),
15995
+ validFrom: NonEmptyString2,
15996
+ validUntil: exports_external.string().optional(),
15997
+ credentialSubject: ClrCredentialSubjectSchema,
15998
+ proof: exports_external.array(ClrProofSchema).optional(),
15999
+ credentialSchema: exports_external.array(ClrCredentialSchemaSchema).optional()
16000
+ });
15742
16001
  // ../../types/src/zod/config.ts
15743
16002
  var CourseIds = exports_external.object({
15744
16003
  staging: exports_external.string().meta({ description: "Course ID in staging environment" }).optional(),
@@ -15814,7 +16073,12 @@ var TimebackConfig = exports_external.object({
15814
16073
  }).optional(),
15815
16074
  courses: exports_external.array(CourseConfig).min(1, "At least one course is required").meta({ description: "Courses available in this app" }),
15816
16075
  sensor: exports_external.url().meta({ description: "Default Caliper sensor endpoint URL for all courses" }).optional(),
15817
- launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional()
16076
+ launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional(),
16077
+ studio: exports_external.object({
16078
+ telemetry: exports_external.boolean().meta({
16079
+ description: "Enable anonymous usage telemetry for Studio (default: true)"
16080
+ }).optional().default(true)
16081
+ }).meta({ description: "Studio-specific configuration" }).optional()
15818
16082
  }).meta({
15819
16083
  id: "TimebackConfig",
15820
16084
  title: "Timeback Config",
@@ -15900,10 +16164,10 @@ var EduBridgeEnrollmentAnalyticsResponse = exports_external.object({
15900
16164
  facts: EduBridgeAnalyticsFacts,
15901
16165
  factsByApp: exports_external.unknown()
15902
16166
  });
15903
- var NonEmptyString = exports_external.string().trim().min(1);
16167
+ var NonEmptyString3 = exports_external.string().trim().min(1);
15904
16168
  var EmailOrStudentId = exports_external.object({
15905
16169
  email: exports_external.email().optional(),
15906
- studentId: NonEmptyString.optional()
16170
+ studentId: NonEmptyString3.optional()
15907
16171
  }).superRefine((value, ctx) => {
15908
16172
  if (!value.email && !value.studentId) {
15909
16173
  ctx.addIssue({
@@ -15919,16 +16183,16 @@ var EmailOrStudentId = exports_external.object({
15919
16183
  }
15920
16184
  });
15921
16185
  var SubjectTrackInput = exports_external.object({
15922
- subject: NonEmptyString,
15923
- grade: NonEmptyString,
15924
- courseId: NonEmptyString,
15925
- orgSourcedId: NonEmptyString.optional()
16186
+ subject: NonEmptyString3,
16187
+ grade: NonEmptyString3,
16188
+ courseId: NonEmptyString3,
16189
+ orgSourcedId: NonEmptyString3.optional()
15926
16190
  });
15927
16191
  var EdubridgeListEnrollmentsParams = exports_external.object({
15928
- userId: NonEmptyString
16192
+ userId: NonEmptyString3
15929
16193
  });
15930
16194
  var EdubridgeEnrollOptions = exports_external.object({
15931
- sourcedId: NonEmptyString.optional(),
16195
+ sourcedId: NonEmptyString3.optional(),
15932
16196
  role: EnrollmentRole.optional(),
15933
16197
  beginDate: EdubridgeDateString.optional(),
15934
16198
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
@@ -15942,7 +16206,7 @@ var EdubridgeUsersListParams = exports_external.object({
15942
16206
  filter: exports_external.string().optional(),
15943
16207
  search: exports_external.string().optional(),
15944
16208
  roles: exports_external.array(OneRosterUserRole).min(1),
15945
- orgSourcedIds: exports_external.array(NonEmptyString).optional()
16209
+ orgSourcedIds: exports_external.array(NonEmptyString3).optional()
15946
16210
  });
15947
16211
  var EdubridgeActivityParams = EmailOrStudentId.extend({
15948
16212
  startDate: EdubridgeDateString,
@@ -15954,17 +16218,94 @@ var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
15954
16218
  timezone: exports_external.string().optional()
15955
16219
  });
15956
16220
  var EdubridgeEnrollmentFactsParams = exports_external.object({
15957
- enrollmentId: NonEmptyString,
16221
+ enrollmentId: NonEmptyString3,
15958
16222
  startDate: EdubridgeDateString.optional(),
15959
16223
  endDate: EdubridgeDateString.optional(),
15960
16224
  timezone: exports_external.string().optional()
15961
16225
  });
16226
+ // ../../types/src/zod/masterytrack.ts
16227
+ var NonEmptyString4 = exports_external.string().trim().min(1);
16228
+ var MasteryTrackAuthorizerInput = exports_external.object({
16229
+ email: exports_external.email()
16230
+ });
16231
+ var MasteryTrackInventorySearchParams = exports_external.object({
16232
+ name: NonEmptyString4.optional(),
16233
+ timeback_id: NonEmptyString4.optional(),
16234
+ grade: NonEmptyString4.optional(),
16235
+ subject: NonEmptyString4.optional(),
16236
+ all: exports_external.boolean().optional()
16237
+ });
16238
+ var MasteryTrackAssignmentInput = exports_external.object({
16239
+ student_email: exports_external.email(),
16240
+ timeback_id: NonEmptyString4.optional(),
16241
+ subject: NonEmptyString4.optional(),
16242
+ grade_rank: exports_external.number().int().min(0).max(12).optional(),
16243
+ assessment_line_item_sourced_id: NonEmptyString4.optional(),
16244
+ assessment_result_sourced_id: NonEmptyString4.optional()
16245
+ }).superRefine((value, ctx) => {
16246
+ const hasTimebackId = !!value.timeback_id;
16247
+ const hasSubject = !!value.subject;
16248
+ const hasGradeRank = value.grade_rank !== undefined;
16249
+ if (!hasTimebackId && !hasSubject) {
16250
+ ctx.addIssue({
16251
+ code: exports_external.ZodIssueCode.custom,
16252
+ message: "must provide either timeback_id or subject",
16253
+ path: ["timeback_id"]
16254
+ });
16255
+ ctx.addIssue({
16256
+ code: exports_external.ZodIssueCode.custom,
16257
+ message: "must provide either timeback_id or subject",
16258
+ path: ["subject"]
16259
+ });
16260
+ }
16261
+ if (hasGradeRank && !hasSubject) {
16262
+ ctx.addIssue({
16263
+ code: exports_external.ZodIssueCode.custom,
16264
+ message: "grade_rank requires subject",
16265
+ path: ["grade_rank"]
16266
+ });
16267
+ }
16268
+ const hasLineItem = !!value.assessment_line_item_sourced_id;
16269
+ const hasResultId = !!value.assessment_result_sourced_id;
16270
+ if (hasLineItem !== hasResultId) {
16271
+ ctx.addIssue({
16272
+ code: exports_external.ZodIssueCode.custom,
16273
+ message: "assessment_line_item_sourced_id and assessment_result_sourced_id must be provided together",
16274
+ path: hasLineItem ? ["assessment_result_sourced_id"] : ["assessment_line_item_sourced_id"]
16275
+ });
16276
+ }
16277
+ });
16278
+ var MasteryTrackInvalidateAssignmentInput = exports_external.object({
16279
+ student_email: exports_external.email(),
16280
+ assignment_id: exports_external.number().int().positive().optional(),
16281
+ timeback_id: NonEmptyString4.optional(),
16282
+ subject: NonEmptyString4.optional(),
16283
+ grade_rank: exports_external.number().int().min(0).max(12).optional()
16284
+ }).superRefine((value, ctx) => {
16285
+ const byAssignment = value.assignment_id !== undefined;
16286
+ const byTimeback = !!value.timeback_id;
16287
+ const bySubjectGrade = !!value.subject && value.grade_rank !== undefined;
16288
+ if (!byAssignment && !byTimeback && !bySubjectGrade) {
16289
+ ctx.addIssue({
16290
+ code: exports_external.ZodIssueCode.custom,
16291
+ message: "Either assignment_id, timeback_id, or (subject and grade_rank) is required",
16292
+ path: ["assignment_id"]
16293
+ });
16294
+ }
16295
+ if (value.grade_rank !== undefined && !value.subject) {
16296
+ ctx.addIssue({
16297
+ code: exports_external.ZodIssueCode.custom,
16298
+ message: "grade_rank requires subject",
16299
+ path: ["grade_rank"]
16300
+ });
16301
+ }
16302
+ });
15962
16303
  // ../../types/src/zod/oneroster.ts
15963
- var NonEmptyString2 = exports_external.string().min(1);
16304
+ var NonEmptyString5 = exports_external.string().min(1);
15964
16305
  var Status = exports_external.enum(["active", "tobedeleted"]);
15965
16306
  var Metadata = exports_external.record(exports_external.string(), exports_external.unknown()).nullable().optional();
15966
16307
  var Ref = exports_external.object({
15967
- sourcedId: NonEmptyString2,
16308
+ sourcedId: NonEmptyString5,
15968
16309
  type: exports_external.string().optional(),
15969
16310
  href: exports_external.string().optional()
15970
16311
  }).strict();
@@ -15979,58 +16320,58 @@ var OneRosterUserRoleInput = exports_external.object({
15979
16320
  endDate: OneRosterDateString.optional()
15980
16321
  }).strict();
15981
16322
  var OneRosterUserCreateInput = exports_external.object({
15982
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16323
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
15983
16324
  status: Status.optional(),
15984
16325
  enabledUser: exports_external.boolean(),
15985
- givenName: NonEmptyString2.describe("givenName must be a non-empty string"),
15986
- familyName: NonEmptyString2.describe("familyName must be a non-empty string"),
15987
- middleName: NonEmptyString2.optional(),
15988
- username: NonEmptyString2.optional(),
16326
+ givenName: NonEmptyString5.describe("givenName must be a non-empty string"),
16327
+ familyName: NonEmptyString5.describe("familyName must be a non-empty string"),
16328
+ middleName: NonEmptyString5.optional(),
16329
+ username: NonEmptyString5.optional(),
15989
16330
  email: exports_external.email().optional(),
15990
16331
  roles: exports_external.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
15991
16332
  userIds: exports_external.array(exports_external.object({
15992
- type: NonEmptyString2,
15993
- identifier: NonEmptyString2
16333
+ type: NonEmptyString5,
16334
+ identifier: NonEmptyString5
15994
16335
  }).strict()).optional(),
15995
16336
  agents: exports_external.array(Ref).optional(),
15996
16337
  grades: exports_external.array(TimebackGrade).optional(),
15997
- identifier: NonEmptyString2.optional(),
15998
- sms: NonEmptyString2.optional(),
15999
- phone: NonEmptyString2.optional(),
16000
- pronouns: NonEmptyString2.optional(),
16001
- password: NonEmptyString2.optional(),
16338
+ identifier: NonEmptyString5.optional(),
16339
+ sms: NonEmptyString5.optional(),
16340
+ phone: NonEmptyString5.optional(),
16341
+ pronouns: NonEmptyString5.optional(),
16342
+ password: NonEmptyString5.optional(),
16002
16343
  metadata: Metadata
16003
16344
  }).strict();
16004
16345
  var OneRosterCourseCreateInput = exports_external.object({
16005
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16346
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
16006
16347
  status: Status.optional(),
16007
- title: NonEmptyString2.describe("title must be a non-empty string"),
16348
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16008
16349
  org: Ref,
16009
- courseCode: NonEmptyString2.optional(),
16350
+ courseCode: NonEmptyString5.optional(),
16010
16351
  subjects: exports_external.array(TimebackSubject).optional(),
16011
16352
  grades: exports_external.array(TimebackGrade).optional(),
16012
- level: NonEmptyString2.optional(),
16353
+ level: NonEmptyString5.optional(),
16013
16354
  metadata: Metadata
16014
16355
  }).strict();
16015
16356
  var OneRosterClassCreateInput = exports_external.object({
16016
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16357
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
16017
16358
  status: Status.optional(),
16018
- title: NonEmptyString2.describe("title must be a non-empty string"),
16359
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16019
16360
  terms: exports_external.array(Ref).min(1, "terms must have at least one item"),
16020
16361
  course: Ref,
16021
16362
  org: Ref,
16022
- classCode: NonEmptyString2.optional(),
16363
+ classCode: NonEmptyString5.optional(),
16023
16364
  classType: exports_external.enum(["homeroom", "scheduled"]).optional(),
16024
- location: NonEmptyString2.optional(),
16365
+ location: NonEmptyString5.optional(),
16025
16366
  grades: exports_external.array(TimebackGrade).optional(),
16026
16367
  subjects: exports_external.array(TimebackSubject).optional(),
16027
- subjectCodes: exports_external.array(NonEmptyString2).optional(),
16028
- periods: exports_external.array(NonEmptyString2).optional(),
16368
+ subjectCodes: exports_external.array(NonEmptyString5).optional(),
16369
+ periods: exports_external.array(NonEmptyString5).optional(),
16029
16370
  metadata: Metadata
16030
16371
  }).strict();
16031
16372
  var StringBoolean = exports_external.enum(["true", "false"]);
16032
16373
  var OneRosterEnrollmentCreateInput = exports_external.object({
16033
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16374
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
16034
16375
  status: Status.optional(),
16035
16376
  user: Ref,
16036
16377
  class: Ref,
@@ -16042,15 +16383,15 @@ var OneRosterEnrollmentCreateInput = exports_external.object({
16042
16383
  metadata: Metadata
16043
16384
  }).strict();
16044
16385
  var OneRosterCategoryCreateInput = exports_external.object({
16045
- sourcedId: NonEmptyString2.optional(),
16046
- title: NonEmptyString2.describe("title must be a non-empty string"),
16386
+ sourcedId: NonEmptyString5.optional(),
16387
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16047
16388
  status: Status,
16048
16389
  weight: exports_external.number().nullable().optional(),
16049
16390
  metadata: Metadata
16050
16391
  }).strict();
16051
16392
  var OneRosterLineItemCreateInput = exports_external.object({
16052
- sourcedId: NonEmptyString2.optional(),
16053
- title: NonEmptyString2.describe("title must be a non-empty string"),
16393
+ sourcedId: NonEmptyString5.optional(),
16394
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16054
16395
  class: Ref,
16055
16396
  school: Ref,
16056
16397
  category: Ref,
@@ -16064,7 +16405,7 @@ var OneRosterLineItemCreateInput = exports_external.object({
16064
16405
  metadata: Metadata
16065
16406
  }).strict();
16066
16407
  var OneRosterResultCreateInput = exports_external.object({
16067
- sourcedId: NonEmptyString2.optional(),
16408
+ sourcedId: NonEmptyString5.optional(),
16068
16409
  lineItem: Ref,
16069
16410
  student: Ref,
16070
16411
  class: Ref.optional(),
@@ -16083,15 +16424,15 @@ var OneRosterResultCreateInput = exports_external.object({
16083
16424
  metadata: Metadata
16084
16425
  }).strict();
16085
16426
  var OneRosterScoreScaleCreateInput = exports_external.object({
16086
- sourcedId: NonEmptyString2.optional(),
16087
- title: NonEmptyString2.describe("title must be a non-empty string"),
16427
+ sourcedId: NonEmptyString5.optional(),
16428
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16088
16429
  status: Status.optional(),
16089
16430
  type: exports_external.string().optional(),
16090
16431
  class: Ref.optional(),
16091
16432
  course: Ref.nullable().optional(),
16092
16433
  scoreScaleValue: exports_external.array(exports_external.object({
16093
- itemValueLHS: NonEmptyString2,
16094
- itemValueRHS: NonEmptyString2,
16434
+ itemValueLHS: NonEmptyString5,
16435
+ itemValueRHS: NonEmptyString5,
16095
16436
  value: exports_external.string().optional(),
16096
16437
  description: exports_external.string().optional()
16097
16438
  }).strict()).optional(),
@@ -16100,10 +16441,10 @@ var OneRosterScoreScaleCreateInput = exports_external.object({
16100
16441
  metadata: Metadata
16101
16442
  }).strict();
16102
16443
  var OneRosterAssessmentLineItemCreateInput = exports_external.object({
16103
- sourcedId: NonEmptyString2.optional(),
16444
+ sourcedId: NonEmptyString5.optional(),
16104
16445
  status: Status.optional(),
16105
16446
  dateLastModified: IsoDateTimeString.optional(),
16106
- title: NonEmptyString2.describe("title must be a non-empty string"),
16447
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16107
16448
  description: exports_external.string().nullable().optional(),
16108
16449
  class: Ref.nullable().optional(),
16109
16450
  parentAssessmentLineItem: Ref.nullable().optional(),
@@ -16129,7 +16470,7 @@ var LearningObjectiveScoreSetSchema = exports_external.array(exports_external.ob
16129
16470
  learningObjectiveResults: exports_external.array(LearningObjectiveResult)
16130
16471
  }));
16131
16472
  var OneRosterAssessmentResultCreateInput = exports_external.object({
16132
- sourcedId: NonEmptyString2.optional(),
16473
+ sourcedId: NonEmptyString5.optional(),
16133
16474
  status: Status.optional(),
16134
16475
  dateLastModified: IsoDateTimeString.optional(),
16135
16476
  metadata: Metadata,
@@ -16155,53 +16496,53 @@ var OneRosterAssessmentResultCreateInput = exports_external.object({
16155
16496
  missing: exports_external.string().nullable().optional()
16156
16497
  }).strict();
16157
16498
  var OneRosterOrgCreateInput = exports_external.object({
16158
- sourcedId: NonEmptyString2.optional(),
16499
+ sourcedId: NonEmptyString5.optional(),
16159
16500
  status: Status.optional(),
16160
- name: NonEmptyString2.describe("name must be a non-empty string"),
16501
+ name: NonEmptyString5.describe("name must be a non-empty string"),
16161
16502
  type: OrganizationType,
16162
- identifier: NonEmptyString2.optional(),
16503
+ identifier: NonEmptyString5.optional(),
16163
16504
  parent: Ref.optional(),
16164
16505
  metadata: Metadata
16165
16506
  }).strict();
16166
16507
  var OneRosterSchoolCreateInput = exports_external.object({
16167
- sourcedId: NonEmptyString2.optional(),
16508
+ sourcedId: NonEmptyString5.optional(),
16168
16509
  status: Status.optional(),
16169
- name: NonEmptyString2.describe("name must be a non-empty string"),
16510
+ name: NonEmptyString5.describe("name must be a non-empty string"),
16170
16511
  type: exports_external.literal("school").optional(),
16171
- identifier: NonEmptyString2.optional(),
16512
+ identifier: NonEmptyString5.optional(),
16172
16513
  parent: Ref.optional(),
16173
16514
  metadata: Metadata
16174
16515
  }).strict();
16175
16516
  var OneRosterAcademicSessionCreateInput = exports_external.object({
16176
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16517
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
16177
16518
  status: Status,
16178
- title: NonEmptyString2.describe("title must be a non-empty string"),
16519
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16179
16520
  startDate: OneRosterDateString,
16180
16521
  endDate: OneRosterDateString,
16181
16522
  type: exports_external.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
16182
- schoolYear: NonEmptyString2.describe("schoolYear must be a non-empty string"),
16523
+ schoolYear: NonEmptyString5.describe("schoolYear must be a non-empty string"),
16183
16524
  org: Ref,
16184
16525
  parent: Ref.optional(),
16185
16526
  children: exports_external.array(Ref).optional(),
16186
16527
  metadata: Metadata
16187
16528
  }).strict();
16188
16529
  var OneRosterComponentResourceCreateInput = exports_external.object({
16189
- sourcedId: NonEmptyString2.optional(),
16190
- title: NonEmptyString2.describe("title must be a non-empty string"),
16530
+ sourcedId: NonEmptyString5.optional(),
16531
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16191
16532
  courseComponent: Ref,
16192
16533
  resource: Ref,
16193
16534
  status: Status,
16194
16535
  metadata: Metadata
16195
16536
  }).strict();
16196
16537
  var OneRosterCourseComponentCreateInput = exports_external.object({
16197
- sourcedId: NonEmptyString2.optional(),
16198
- title: NonEmptyString2.describe("title must be a non-empty string"),
16538
+ sourcedId: NonEmptyString5.optional(),
16539
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16199
16540
  course: Ref,
16200
16541
  status: Status,
16201
16542
  metadata: Metadata
16202
16543
  }).strict();
16203
16544
  var OneRosterEnrollInput = exports_external.object({
16204
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16545
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
16205
16546
  role: exports_external.enum(["student", "teacher"]),
16206
16547
  primary: StringBoolean.optional(),
16207
16548
  beginDate: OneRosterDateString.optional(),
@@ -16209,16 +16550,16 @@ var OneRosterEnrollInput = exports_external.object({
16209
16550
  metadata: Metadata
16210
16551
  }).strict();
16211
16552
  var OneRosterAgentInput = exports_external.object({
16212
- agentSourcedId: NonEmptyString2.describe("agentSourcedId must be a non-empty string")
16553
+ agentSourcedId: NonEmptyString5.describe("agentSourcedId must be a non-empty string")
16213
16554
  }).strict();
16214
16555
  var OneRosterCredentialInput = exports_external.object({
16215
- type: NonEmptyString2.describe("type must be a non-empty string"),
16216
- username: NonEmptyString2.describe("username must be a non-empty string"),
16556
+ type: NonEmptyString5.describe("type must be a non-empty string"),
16557
+ username: NonEmptyString5.describe("username must be a non-empty string"),
16217
16558
  password: exports_external.string().optional(),
16218
16559
  metadata: Metadata
16219
16560
  }).strict();
16220
16561
  var OneRosterDemographicsCreateInput = exports_external.object({
16221
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string")
16562
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string")
16222
16563
  }).loose();
16223
16564
  var CommonResourceMetadataSchema = exports_external.object({
16224
16565
  type: ResourceType,
@@ -16290,9 +16631,9 @@ var ResourceMetadataSchema = exports_external.discriminatedUnion("type", [
16290
16631
  AssessmentBankMetadataSchema
16291
16632
  ]);
16292
16633
  var OneRosterResourceCreateInput = exports_external.object({
16293
- sourcedId: NonEmptyString2.optional(),
16294
- title: NonEmptyString2.describe("title must be a non-empty string"),
16295
- vendorResourceId: NonEmptyString2.describe("vendorResourceId must be a non-empty string"),
16634
+ sourcedId: NonEmptyString5.optional(),
16635
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16636
+ vendorResourceId: NonEmptyString5.describe("vendorResourceId must be a non-empty string"),
16296
16637
  roles: exports_external.array(exports_external.enum(["primary", "secondary"])).optional(),
16297
16638
  importance: exports_external.enum(["primary", "secondary"]).optional(),
16298
16639
  vendorId: exports_external.string().optional(),
@@ -16301,18 +16642,18 @@ var OneRosterResourceCreateInput = exports_external.object({
16301
16642
  metadata: ResourceMetadataSchema.nullable().optional()
16302
16643
  }).strict();
16303
16644
  var CourseStructureItem = exports_external.object({
16304
- url: NonEmptyString2.describe("courseStructure.url must be a non-empty string"),
16305
- skillCode: NonEmptyString2.describe("courseStructure.skillCode must be a non-empty string"),
16306
- lessonCode: NonEmptyString2.describe("courseStructure.lessonCode must be a non-empty string"),
16307
- title: NonEmptyString2.describe("courseStructure.title must be a non-empty string"),
16308
- "unit-title": NonEmptyString2.describe("courseStructure.unit-title must be a non-empty string"),
16309
- status: NonEmptyString2.describe("courseStructure.status must be a non-empty string"),
16645
+ url: NonEmptyString5.describe("courseStructure.url must be a non-empty string"),
16646
+ skillCode: NonEmptyString5.describe("courseStructure.skillCode must be a non-empty string"),
16647
+ lessonCode: NonEmptyString5.describe("courseStructure.lessonCode must be a non-empty string"),
16648
+ title: NonEmptyString5.describe("courseStructure.title must be a non-empty string"),
16649
+ "unit-title": NonEmptyString5.describe("courseStructure.unit-title must be a non-empty string"),
16650
+ status: NonEmptyString5.describe("courseStructure.status must be a non-empty string"),
16310
16651
  xp: exports_external.number()
16311
16652
  }).loose();
16312
16653
  var OneRosterCourseStructureInput = exports_external.object({
16313
16654
  course: exports_external.object({
16314
- sourcedId: NonEmptyString2.describe("course.sourcedId must be a non-empty string").optional(),
16315
- title: NonEmptyString2.describe("course.title must be a non-empty string"),
16655
+ sourcedId: NonEmptyString5.describe("course.sourcedId must be a non-empty string").optional(),
16656
+ title: NonEmptyString5.describe("course.title must be a non-empty string"),
16316
16657
  org: Ref,
16317
16658
  status: Status,
16318
16659
  metadata: Metadata
@@ -16324,7 +16665,7 @@ var OneRosterBulkResultItem = exports_external.object({
16324
16665
  }).loose();
16325
16666
  var OneRosterBulkResultsInput = exports_external.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
16326
16667
  // ../../types/src/zod/powerpath.ts
16327
- var NonEmptyString3 = exports_external.string().trim().min(1);
16668
+ var NonEmptyString6 = exports_external.string().trim().min(1);
16328
16669
  var ToolProvider = exports_external.enum(["edulastic", "mastery-track"]);
16329
16670
  var LessonTypeRequired = exports_external.enum([
16330
16671
  "powerpath-100",
@@ -16337,14 +16678,14 @@ var LessonTypeRequired = exports_external.enum([
16337
16678
  var GradeArray = exports_external.array(TimebackGrade);
16338
16679
  var ResourceMetadata = exports_external.record(exports_external.string(), exports_external.unknown()).optional();
16339
16680
  var ExternalTestBase = exports_external.object({
16340
- courseId: NonEmptyString3,
16341
- lessonTitle: NonEmptyString3.optional(),
16681
+ courseId: NonEmptyString6,
16682
+ lessonTitle: NonEmptyString6.optional(),
16342
16683
  launchUrl: exports_external.url().optional(),
16343
16684
  toolProvider: ToolProvider,
16344
- unitTitle: NonEmptyString3.optional(),
16345
- courseComponentSourcedId: NonEmptyString3.optional(),
16346
- vendorId: NonEmptyString3.optional(),
16347
- description: NonEmptyString3.optional(),
16685
+ unitTitle: NonEmptyString6.optional(),
16686
+ courseComponentSourcedId: NonEmptyString6.optional(),
16687
+ vendorId: NonEmptyString6.optional(),
16688
+ description: NonEmptyString6.optional(),
16348
16689
  resourceMetadata: ResourceMetadata.nullable().optional(),
16349
16690
  grades: GradeArray
16350
16691
  });
@@ -16354,26 +16695,26 @@ var ExternalTestOut = ExternalTestBase.extend({
16354
16695
  });
16355
16696
  var ExternalPlacement = ExternalTestBase.extend({
16356
16697
  lessonType: exports_external.literal("placement"),
16357
- courseIdOnFail: NonEmptyString3.optional(),
16698
+ courseIdOnFail: NonEmptyString6.optional(),
16358
16699
  xp: exports_external.number().optional()
16359
16700
  });
16360
16701
  var InternalTestBase = exports_external.object({
16361
- courseId: NonEmptyString3,
16702
+ courseId: NonEmptyString6,
16362
16703
  lessonType: LessonTypeRequired,
16363
- lessonTitle: NonEmptyString3.optional(),
16364
- unitTitle: NonEmptyString3.optional(),
16365
- courseComponentSourcedId: NonEmptyString3.optional(),
16704
+ lessonTitle: NonEmptyString6.optional(),
16705
+ unitTitle: NonEmptyString6.optional(),
16706
+ courseComponentSourcedId: NonEmptyString6.optional(),
16366
16707
  resourceMetadata: ResourceMetadata.nullable().optional(),
16367
16708
  xp: exports_external.number().optional(),
16368
16709
  grades: GradeArray.optional(),
16369
- courseIdOnFail: NonEmptyString3.optional()
16710
+ courseIdOnFail: NonEmptyString6.optional()
16370
16711
  });
16371
16712
  var PowerPathCreateInternalTestInput = exports_external.union([
16372
16713
  InternalTestBase.extend({
16373
16714
  testType: exports_external.literal("qti"),
16374
16715
  qti: exports_external.object({
16375
16716
  url: exports_external.url(),
16376
- title: NonEmptyString3.optional(),
16717
+ title: NonEmptyString6.optional(),
16377
16718
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16378
16719
  })
16379
16720
  }),
@@ -16382,28 +16723,28 @@ var PowerPathCreateInternalTestInput = exports_external.union([
16382
16723
  assessmentBank: exports_external.object({
16383
16724
  resources: exports_external.array(exports_external.object({
16384
16725
  url: exports_external.url(),
16385
- title: NonEmptyString3.optional(),
16726
+ title: NonEmptyString6.optional(),
16386
16727
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16387
16728
  }))
16388
16729
  })
16389
16730
  })
16390
16731
  ]);
16391
16732
  var PowerPathCreateNewAttemptInput = exports_external.object({
16392
- student: NonEmptyString3,
16393
- lesson: NonEmptyString3
16733
+ student: NonEmptyString6,
16734
+ lesson: NonEmptyString6
16394
16735
  });
16395
16736
  var PowerPathFinalStudentAssessmentResponseInput = exports_external.object({
16396
- student: NonEmptyString3,
16397
- lesson: NonEmptyString3
16737
+ student: NonEmptyString6,
16738
+ lesson: NonEmptyString6
16398
16739
  });
16399
16740
  var PowerPathLessonPlansCreateInput = exports_external.object({
16400
- courseId: NonEmptyString3,
16401
- userId: NonEmptyString3,
16402
- classId: NonEmptyString3.optional()
16741
+ courseId: NonEmptyString6,
16742
+ userId: NonEmptyString6,
16743
+ classId: NonEmptyString6.optional()
16403
16744
  });
16404
16745
  var LessonPlanTarget = exports_external.object({
16405
16746
  type: exports_external.enum(["component", "resource"]),
16406
- id: NonEmptyString3
16747
+ id: NonEmptyString6
16407
16748
  });
16408
16749
  var PowerPathLessonPlanOperationInput = exports_external.union([
16409
16750
  exports_external.object({
@@ -16416,8 +16757,8 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16416
16757
  exports_external.object({
16417
16758
  type: exports_external.literal("add-custom-resource"),
16418
16759
  payload: exports_external.object({
16419
- resource_id: NonEmptyString3,
16420
- parent_component_id: NonEmptyString3,
16760
+ resource_id: NonEmptyString6,
16761
+ parent_component_id: NonEmptyString6,
16421
16762
  skipped: exports_external.boolean().optional()
16422
16763
  })
16423
16764
  }),
@@ -16425,14 +16766,14 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16425
16766
  type: exports_external.literal("move-item-before"),
16426
16767
  payload: exports_external.object({
16427
16768
  target: LessonPlanTarget,
16428
- reference_id: NonEmptyString3
16769
+ reference_id: NonEmptyString6
16429
16770
  })
16430
16771
  }),
16431
16772
  exports_external.object({
16432
16773
  type: exports_external.literal("move-item-after"),
16433
16774
  payload: exports_external.object({
16434
16775
  target: LessonPlanTarget,
16435
- reference_id: NonEmptyString3
16776
+ reference_id: NonEmptyString6
16436
16777
  })
16437
16778
  }),
16438
16779
  exports_external.object({
@@ -16451,135 +16792,135 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16451
16792
  type: exports_external.literal("change-item-parent"),
16452
16793
  payload: exports_external.object({
16453
16794
  target: LessonPlanTarget,
16454
- new_parent_id: NonEmptyString3,
16795
+ new_parent_id: NonEmptyString6,
16455
16796
  position: exports_external.enum(["start", "end"]).optional()
16456
16797
  })
16457
16798
  })
16458
16799
  ]);
16459
16800
  var PowerPathLessonPlanOperationsInput = exports_external.object({
16460
16801
  operation: exports_external.array(PowerPathLessonPlanOperationInput),
16461
- reason: NonEmptyString3.optional()
16802
+ reason: NonEmptyString6.optional()
16462
16803
  });
16463
16804
  var PowerPathLessonPlanUpdateStudentItemResponseInput = exports_external.object({
16464
- studentId: NonEmptyString3,
16465
- componentResourceId: NonEmptyString3,
16805
+ studentId: NonEmptyString6,
16806
+ componentResourceId: NonEmptyString6,
16466
16807
  result: exports_external.object({
16467
16808
  status: exports_external.enum(["active", "tobedeleted"]),
16468
16809
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16469
16810
  score: exports_external.number().optional(),
16470
- textScore: NonEmptyString3.optional(),
16471
- scoreDate: NonEmptyString3,
16811
+ textScore: NonEmptyString6.optional(),
16812
+ scoreDate: NonEmptyString6,
16472
16813
  scorePercentile: exports_external.number().optional(),
16473
16814
  scoreStatus: ScoreStatus,
16474
- comment: NonEmptyString3.optional(),
16815
+ comment: NonEmptyString6.optional(),
16475
16816
  learningObjectiveSet: exports_external.array(exports_external.object({
16476
- source: NonEmptyString3,
16817
+ source: NonEmptyString6,
16477
16818
  learningObjectiveResults: exports_external.array(exports_external.object({
16478
- learningObjectiveId: NonEmptyString3,
16819
+ learningObjectiveId: NonEmptyString6,
16479
16820
  score: exports_external.number().optional(),
16480
- textScore: NonEmptyString3.optional()
16821
+ textScore: NonEmptyString6.optional()
16481
16822
  }))
16482
16823
  })).optional(),
16483
- inProgress: NonEmptyString3.optional(),
16484
- incomplete: NonEmptyString3.optional(),
16485
- late: NonEmptyString3.optional(),
16486
- missing: NonEmptyString3.optional()
16824
+ inProgress: NonEmptyString6.optional(),
16825
+ incomplete: NonEmptyString6.optional(),
16826
+ late: NonEmptyString6.optional(),
16827
+ missing: NonEmptyString6.optional()
16487
16828
  })
16488
16829
  });
16489
16830
  var PowerPathMakeExternalTestAssignmentInput = exports_external.object({
16490
- student: NonEmptyString3,
16491
- lesson: NonEmptyString3,
16492
- applicationName: NonEmptyString3.optional(),
16493
- testId: NonEmptyString3.optional(),
16831
+ student: NonEmptyString6,
16832
+ lesson: NonEmptyString6,
16833
+ applicationName: NonEmptyString6.optional(),
16834
+ testId: NonEmptyString6.optional(),
16494
16835
  skipCourseEnrollment: exports_external.boolean().optional()
16495
16836
  });
16496
16837
  var PowerPathPlacementResetUserPlacementInput = exports_external.object({
16497
- student: NonEmptyString3,
16838
+ student: NonEmptyString6,
16498
16839
  subject: TimebackSubject
16499
16840
  });
16500
16841
  var PowerPathResetAttemptInput = exports_external.object({
16501
- student: NonEmptyString3,
16502
- lesson: NonEmptyString3
16842
+ student: NonEmptyString6,
16843
+ lesson: NonEmptyString6
16503
16844
  });
16504
16845
  var PowerPathScreeningResetSessionInput = exports_external.object({
16505
- userId: NonEmptyString3
16846
+ userId: NonEmptyString6
16506
16847
  });
16507
16848
  var PowerPathScreeningAssignTestInput = exports_external.object({
16508
- userId: NonEmptyString3,
16849
+ userId: NonEmptyString6,
16509
16850
  subject: exports_external.enum(["Math", "Reading", "Language", "Science"])
16510
16851
  });
16511
16852
  var PowerPathTestAssignmentsCreateInput = exports_external.object({
16512
- student: NonEmptyString3,
16853
+ student: NonEmptyString6,
16513
16854
  subject: TimebackSubject,
16514
16855
  grade: TimebackGrade,
16515
- testName: NonEmptyString3.optional()
16856
+ testName: NonEmptyString6.optional()
16516
16857
  });
16517
16858
  var PowerPathTestAssignmentsUpdateInput = exports_external.object({
16518
- testName: NonEmptyString3
16859
+ testName: NonEmptyString6
16519
16860
  });
16520
16861
  var PowerPathTestAssignmentItemInput = exports_external.object({
16521
- student: NonEmptyString3,
16862
+ student: NonEmptyString6,
16522
16863
  subject: TimebackSubject,
16523
16864
  grade: TimebackGrade,
16524
- testName: NonEmptyString3.optional()
16865
+ testName: NonEmptyString6.optional()
16525
16866
  });
16526
16867
  var PowerPathTestAssignmentsBulkInput = exports_external.object({
16527
16868
  items: exports_external.array(PowerPathTestAssignmentItemInput)
16528
16869
  });
16529
16870
  var PowerPathTestAssignmentsImportInput = exports_external.object({
16530
16871
  spreadsheetUrl: exports_external.url(),
16531
- sheet: NonEmptyString3
16872
+ sheet: NonEmptyString6
16532
16873
  });
16533
16874
  var PowerPathTestAssignmentsListParams = exports_external.object({
16534
- student: NonEmptyString3,
16875
+ student: NonEmptyString6,
16535
16876
  status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16536
- subject: NonEmptyString3.optional(),
16877
+ subject: NonEmptyString6.optional(),
16537
16878
  grade: TimebackGrade.optional(),
16538
16879
  limit: exports_external.number().int().positive().max(3000).optional(),
16539
16880
  offset: exports_external.number().int().nonnegative().optional()
16540
16881
  });
16541
16882
  var PowerPathTestAssignmentsAdminParams = exports_external.object({
16542
- student: NonEmptyString3.optional(),
16883
+ student: NonEmptyString6.optional(),
16543
16884
  status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16544
- subject: NonEmptyString3.optional(),
16885
+ subject: NonEmptyString6.optional(),
16545
16886
  grade: TimebackGrade.optional(),
16546
16887
  limit: exports_external.number().int().positive().max(3000).optional(),
16547
16888
  offset: exports_external.number().int().nonnegative().optional()
16548
16889
  });
16549
16890
  var PowerPathUpdateStudentQuestionResponseInput = exports_external.object({
16550
- student: NonEmptyString3,
16551
- question: NonEmptyString3,
16552
- response: exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)]).optional(),
16553
- responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)])).optional(),
16554
- lesson: NonEmptyString3
16891
+ student: NonEmptyString6,
16892
+ question: NonEmptyString6,
16893
+ response: exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)]).optional(),
16894
+ responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)])).optional(),
16895
+ lesson: NonEmptyString6
16555
16896
  });
16556
16897
  var PowerPathGetAssessmentProgressParams = exports_external.object({
16557
- student: NonEmptyString3,
16558
- lesson: NonEmptyString3,
16898
+ student: NonEmptyString6,
16899
+ lesson: NonEmptyString6,
16559
16900
  attempt: exports_external.number().int().positive().optional()
16560
16901
  });
16561
16902
  var PowerPathGetNextQuestionParams = exports_external.object({
16562
- student: NonEmptyString3,
16563
- lesson: NonEmptyString3
16903
+ student: NonEmptyString6,
16904
+ lesson: NonEmptyString6
16564
16905
  });
16565
16906
  var PowerPathGetAttemptsParams = exports_external.object({
16566
- student: NonEmptyString3,
16567
- lesson: NonEmptyString3
16907
+ student: NonEmptyString6,
16908
+ lesson: NonEmptyString6
16568
16909
  });
16569
16910
  var PowerPathTestOutParams = exports_external.object({
16570
- student: NonEmptyString3,
16571
- lesson: NonEmptyString3.optional(),
16911
+ student: NonEmptyString6,
16912
+ lesson: NonEmptyString6.optional(),
16572
16913
  finalized: exports_external.boolean().optional(),
16573
- toolProvider: NonEmptyString3.optional(),
16914
+ toolProvider: NonEmptyString6.optional(),
16574
16915
  attempt: exports_external.number().int().positive().optional()
16575
16916
  });
16576
16917
  var PowerPathImportExternalTestAssignmentResultsParams = exports_external.object({
16577
- student: NonEmptyString3,
16578
- lesson: NonEmptyString3,
16579
- applicationName: NonEmptyString3.optional()
16918
+ student: NonEmptyString6,
16919
+ lesson: NonEmptyString6,
16920
+ applicationName: NonEmptyString6.optional()
16580
16921
  });
16581
16922
  var PowerPathPlacementQueryParams = exports_external.object({
16582
- student: NonEmptyString3,
16923
+ student: NonEmptyString6,
16583
16924
  subject: TimebackSubject
16584
16925
  });
16585
16926
  var PowerPathSyllabusQueryParams = exports_external.object({
@@ -16670,7 +17011,7 @@ var QtiItemMetadata = exports_external.object({
16670
17011
  grade: TimebackGrade.optional(),
16671
17012
  difficulty: QtiDifficulty.optional(),
16672
17013
  learningObjectiveSet: exports_external.array(QtiLearningObjectiveSet).optional()
16673
- }).strict();
17014
+ }).loose();
16674
17015
  var QtiModalFeedback = exports_external.object({
16675
17016
  outcomeIdentifier: exports_external.string().min(1),
16676
17017
  identifier: exports_external.string().min(1),
@@ -16707,7 +17048,12 @@ var QtiPaginationParams = exports_external.object({
16707
17048
  sort: exports_external.string().optional(),
16708
17049
  order: exports_external.enum(["asc", "desc"]).optional()
16709
17050
  }).strict();
16710
- var QtiAssessmentItemCreateInput = exports_external.object({
17051
+ var QtiAssessmentItemXmlCreateInput = exports_external.object({
17052
+ format: exports_external.string().pipe(exports_external.literal("xml")),
17053
+ xml: exports_external.string().min(1),
17054
+ metadata: QtiItemMetadata.optional()
17055
+ }).strict();
17056
+ var QtiAssessmentItemJsonCreateInput = exports_external.object({
16711
17057
  identifier: exports_external.string().min(1),
16712
17058
  title: exports_external.string().min(1),
16713
17059
  type: QtiAssessmentItemType,
@@ -16722,6 +17068,10 @@ var QtiAssessmentItemCreateInput = exports_external.object({
16722
17068
  feedbackInline: exports_external.array(QtiFeedbackInline).optional(),
16723
17069
  feedbackBlock: exports_external.array(QtiFeedbackBlock).optional()
16724
17070
  }).strict();
17071
+ var QtiAssessmentItemCreateInput = exports_external.union([
17072
+ QtiAssessmentItemXmlCreateInput,
17073
+ QtiAssessmentItemJsonCreateInput
17074
+ ]);
16725
17075
  var QtiAssessmentItemUpdateInput = exports_external.object({
16726
17076
  identifier: exports_external.string().min(1).optional(),
16727
17077
  title: exports_external.string().min(1),
@@ -16758,9 +17108,9 @@ var QtiAssessmentSection = exports_external.object({
16758
17108
  }).strict();
16759
17109
  var QtiTestPart = exports_external.object({
16760
17110
  identifier: exports_external.string().min(1),
16761
- navigationMode: QtiNavigationMode,
16762
- submissionMode: QtiSubmissionMode,
16763
- "qti-assessment-section": exports_external.union([QtiAssessmentSection, exports_external.array(QtiAssessmentSection)])
17111
+ navigationMode: exports_external.string().pipe(QtiNavigationMode),
17112
+ submissionMode: exports_external.string().pipe(QtiSubmissionMode),
17113
+ "qti-assessment-section": exports_external.array(QtiAssessmentSection)
16764
17114
  }).strict();
16765
17115
  var QtiReorderItemsInput = exports_external.object({
16766
17116
  items: exports_external.array(QtiAssessmentItemRef).min(1)
@@ -16778,7 +17128,7 @@ var QtiAssessmentTestCreateInput = exports_external.object({
16778
17128
  maxAttempts: exports_external.number().optional(),
16779
17129
  toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
16780
17130
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16781
- "qti-test-part": QtiTestPart,
17131
+ "qti-test-part": exports_external.array(QtiTestPart),
16782
17132
  "qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
16783
17133
  }).strict();
16784
17134
  var QtiAssessmentTestUpdateInput = exports_external.object({
@@ -16791,7 +17141,7 @@ var QtiAssessmentTestUpdateInput = exports_external.object({
16791
17141
  maxAttempts: exports_external.number().optional(),
16792
17142
  toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
16793
17143
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16794
- "qti-test-part": QtiTestPart,
17144
+ "qti-test-part": exports_external.array(QtiTestPart),
16795
17145
  "qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
16796
17146
  }).strict();
16797
17147
  var QtiStimulusCreateInput = exports_external.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeback/caliper",
3
- "version": "0.1.6",
3
+ "version": "0.1.7-beta.20260223234236",
4
4
  "description": "Caliper Analytics client SDK for Timeback",
5
5
  "type": "module",
6
6
  "exports": {
@@ -20,7 +20,8 @@
20
20
  ],
21
21
  "scripts": {
22
22
  "build": "bun build.ts",
23
- "test": "bun test --no-env-file unit.test.ts"
23
+ "test": "bun test --no-env-file unit.test.ts",
24
+ "test:e2e": "bun test --no-env-file e2e.test.ts"
24
25
  },
25
26
  "dependencies": {
26
27
  "zod": "^4.2.1"